<?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>195914</bug_id>
          
          <creation_ts>2019-03-18 15:03:29 -0700</creation_ts>
          <short_desc>[ContentChangeObserver] Add support for observing implicit transitions</short_desc>
          <delta_ts>2019-03-21 11:33:16 -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>dino</cc>
    
    <cc>dstockwell</cc>
    
    <cc>ews-watchlist</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>1517945</commentid>
    <comment_count>0</comment_count>
    <who name="alan">zalan</who>
    <bug_when>2019-03-18 15:03:29 -0700</bug_when>
    <thetext>ssia</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1517948</commentid>
    <comment_count>1</comment_count>
      <attachid>365073</attachid>
    <who name="alan">zalan</who>
    <bug_when>2019-03-18 15:09:31 -0700</bug_when>
    <thetext>Created attachment 365073
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1517976</commentid>
    <comment_count>2</comment_count>
      <attachid>365080</attachid>
    <who name="alan">zalan</who>
    <bug_when>2019-03-18 15:51:09 -0700</bug_when>
    <thetext>Created attachment 365080
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1518006</commentid>
    <comment_count>3</comment_count>
      <attachid>365089</attachid>
    <who name="alan">zalan</who>
    <bug_when>2019-03-18 16:44:41 -0700</bug_when>
    <thetext>Created attachment 365089
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1518042</commentid>
    <comment_count>4</comment_count>
      <attachid>365089</attachid>
    <who name="Simon Fraser (smfr)">simon.fraser</who>
    <bug_when>2019-03-18 18:10:20 -0700</bug_when>
    <thetext>Comment on attachment 365089
Patch

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

&gt; Source/WebCore/page/ios/ContentChangeObserver.cpp:130
&gt; +void ContentChangeObserver::didFinishAnimationOrTransition(const RenderElement&amp; renderer)

You can be running transition on multiple properties on an element. it might transition margin-left for 10ms, and left for 200ms. What happens then? Seems like you need to track per CSS property ID.

You might also run one transition, then another animation, all with different properties.

&gt; Source/WebCore/rendering/RenderElement.cpp:2175
&gt; +    document().contentChangeObserver().didStartAnimationOrTransition(*this, propertyID, Seconds { timeOffset });

Is it a timeOffset or a duration?

&gt; Source/WebCore/rendering/RenderElement.cpp:2194
&gt; +        document().contentChangeObserver().didStartAnimationOrTransition(*this, animation-&gt;property(), Seconds { timeOffset });

Ditto. Is animation ever non-null?</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1518043</commentid>
    <comment_count>5</comment_count>
    <who name="alan">zalan</who>
    <bug_when>2019-03-18 18:13:39 -0700</bug_when>
    <thetext>(In reply to Simon Fraser (smfr) from comment #4)
&gt; Comment on attachment 365089 [details]
&gt; Patch
&gt; 
&gt; View in context:
&gt; https://bugs.webkit.org/attachment.cgi?id=365089&amp;action=review
&gt; 
&gt; &gt; Source/WebCore/page/ios/ContentChangeObserver.cpp:130
&gt; &gt; +void ContentChangeObserver::didFinishAnimationOrTransition(const RenderElement&amp; renderer)
&gt; 
&gt; You can be running transition on multiple properties on an element. it might
&gt; transition margin-left for 10ms, and left for 200ms. What happens then?
&gt; Seems like you need to track per CSS property ID.
&gt; 
&gt; You might also run one transition, then another animation, all with
&gt; different properties.
We track only one property at this point.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1518276</commentid>
    <comment_count>6</comment_count>
      <attachid>365162</attachid>
    <who name="alan">zalan</who>
    <bug_when>2019-03-19 08:30:40 -0700</bug_when>
    <thetext>Created attachment 365162
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1518299</commentid>
    <comment_count>7</comment_count>
      <attachid>365170</attachid>
    <who name="alan">zalan</who>
    <bug_when>2019-03-19 09:25:03 -0700</bug_when>
    <thetext>Created attachment 365170
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1519429</commentid>
    <comment_count>8</comment_count>
      <attachid>365470</attachid>
    <who name="alan">zalan</who>
    <bug_when>2019-03-20 20:25:04 -0700</bug_when>
    <thetext>Created attachment 365470
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1519431</commentid>
    <comment_count>9</comment_count>
    <who name="Radar WebKit Bug Importer">webkit-bug-importer</who>
    <bug_when>2019-03-20 20:27:03 -0700</bug_when>
    <thetext>&lt;rdar://problem/49091959&gt;</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1519432</commentid>
    <comment_count>10</comment_count>
      <attachid>365471</attachid>
    <who name="alan">zalan</who>
    <bug_when>2019-03-20 20:28:57 -0700</bug_when>
    <thetext>Created attachment 365471
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1519777</commentid>
    <comment_count>11</comment_count>
    <who name="alan">zalan</who>
    <bug_when>2019-03-21 11:33:16 -0700</bug_when>
    <thetext>Committed r243304: &lt;https://trac.webkit.org/changeset/243304&gt;</thetext>
  </long_desc>
      
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>365073</attachid>
            <date>2019-03-18 15:09:31 -0700</date>
            <delta_ts>2019-03-18 15:51:07 -0700</delta_ts>
            <desc>Patch</desc>
            <filename>bug-195914-20190318150931.patch</filename>
            <type>text/plain</type>
            <size>13433</size>
            <attacher name="alan">zalan</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMjQzMDQyCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9D
aGFuZ2VMb2cgYi9Tb3VyY2UvV2ViQ29yZS9DaGFuZ2VMb2cKaW5kZXggYTNjZDM0ZjE1ZGRiYjM4
YTZmNTgyN2M3YjRiOTg3YTFlNDFmNTUyNi4uOWExZWQyMTM0MmJmZTIxYzEyZGI1OGQ2YjZiZTNm
YzJjMThlMDViNiAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvQ2hhbmdlTG9nCisrKyBiL1Nv
dXJjZS9XZWJDb3JlL0NoYW5nZUxvZwpAQCAtMSwzICsxLDM5IEBACisyMDE5LTAzLTE4ICBaYWxh
biBCdWp0YXMgIDx6YWxhbkBhcHBsZS5jb20+CisKKyAgICAgICAgW0NvbnRlbnRDaGFuZ2VPYnNl
cnZlcl0gQWRkIHN1cHBvcnQgZm9yIG9ic2VydmluZyB0cmFuc2l0aW9ucyBhbmQgYW5pbWF0aW9u
cworICAgICAgICBodHRwczovL2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9MTk1OTE0
CisKKyAgICAgICAgUmV2aWV3ZWQgYnkgTk9CT0RZIChPT1BTISkuCisKKyAgICAgICAgVGhpcyBw
YXRjaCBpbnRyb2R1Y2VzIGFuIEFQSSBvbiBDb250ZW50Q2hhbmdlT2JzZXJ2ZXIgdG8gb2JzZXJ2
ZSBhbmltYXRpb25zIGFuZCB0cmFuc2l0aW9ucy4gSXQgaXMgbm90IGVuYWJsZWQgeWV0LgorCisg
ICAgICAgICogcGFnZS9pb3MvQ29udGVudENoYW5nZU9ic2VydmVyLmNwcDoKKyAgICAgICAgKFdl
YkNvcmU6OkNvbnRlbnRDaGFuZ2VPYnNlcnZlcjo6ZGlkSW5zdGFsbERPTVRpbWVyKToKKyAgICAg
ICAgKFdlYkNvcmU6OkNvbnRlbnRDaGFuZ2VPYnNlcnZlcjo6ZGlkU3RhcnRBbmltYXRpb25PclRy
YW5zaXRpb24pOgorICAgICAgICAoV2ViQ29yZTo6Q29udGVudENoYW5nZU9ic2VydmVyOjpkaWRG
aW5pc2hBbmltYXRpb25PclRyYW5zaXRpb24pOgorICAgICAgICAqIHBhZ2UvaW9zL0NvbnRlbnRD
aGFuZ2VPYnNlcnZlci5oOgorICAgICAgICAoV2ViQ29yZTo6Q29udGVudENoYW5nZU9ic2VydmVy
Ojppc09ic2VydmluZ0FuaW1hdGlvbnNBbmRUcmFuc2l0aW9ucyBjb25zdCk6CisgICAgICAgIChX
ZWJDb3JlOjpDb250ZW50Q2hhbmdlT2JzZXJ2ZXI6OmlzT2JzZXJ2ZWRQcm9wZXJ0eSBjb25zdCk6
CisgICAgICAgICogcmVuZGVyaW5nL1JlbmRlckVsZW1lbnQuY3BwOgorICAgICAgICAoV2ViQ29y
ZTo6UmVuZGVyRWxlbWVudDo6c3RhcnRUcmFuc2l0aW9uKToKKyAgICAgICAgKFdlYkNvcmU6OlJl
bmRlckVsZW1lbnQ6OnRyYW5zaXRpb25GaW5pc2hlZCk6CisgICAgICAgIChXZWJDb3JlOjpSZW5k
ZXJFbGVtZW50OjpzdGFydEFuaW1hdGlvbik6CisgICAgICAgIChXZWJDb3JlOjpSZW5kZXJFbGVt
ZW50OjphbmltYXRpb25GaW5pc2hlZCk6CisgICAgICAgICogcmVuZGVyaW5nL1JlbmRlckVsZW1l
bnQuaDoKKyAgICAgICAgKFdlYkNvcmU6OlJlbmRlckVsZW1lbnQ6OnN0YXJ0VHJhbnNpdGlvbik6
IERlbGV0ZWQuCisgICAgICAgIChXZWJDb3JlOjpSZW5kZXJFbGVtZW50Ojp0cmFuc2l0aW9uRmlu
aXNoZWQpOiBEZWxldGVkLgorICAgICAgICAoV2ViQ29yZTo6UmVuZGVyRWxlbWVudDo6c3RhcnRB
bmltYXRpb24pOiBEZWxldGVkLgorICAgICAgICAoV2ViQ29yZTo6UmVuZGVyRWxlbWVudDo6YW5p
bWF0aW9uRmluaXNoZWQpOiBEZWxldGVkLgorICAgICAgICAqIHJlbmRlcmluZy9SZW5kZXJMYXll
ck1vZGVsT2JqZWN0LmNwcDoKKyAgICAgICAgKFdlYkNvcmU6OlJlbmRlckxheWVyTW9kZWxPYmpl
Y3Q6OnN0YXJ0VHJhbnNpdGlvbik6CisgICAgICAgIChXZWJDb3JlOjpSZW5kZXJMYXllck1vZGVs
T2JqZWN0Ojp0cmFuc2l0aW9uUGF1c2VkKToKKyAgICAgICAgKFdlYkNvcmU6OlJlbmRlckxheWVy
TW9kZWxPYmplY3Q6OnRyYW5zaXRpb25GaW5pc2hlZCk6CisgICAgICAgIChXZWJDb3JlOjpSZW5k
ZXJMYXllck1vZGVsT2JqZWN0OjpzdGFydEFuaW1hdGlvbik6CisgICAgICAgIChXZWJDb3JlOjpS
ZW5kZXJMYXllck1vZGVsT2JqZWN0OjphbmltYXRpb25QYXVzZWQpOgorICAgICAgICAoV2ViQ29y
ZTo6UmVuZGVyTGF5ZXJNb2RlbE9iamVjdDo6YW5pbWF0aW9uU2Vla2VkKToKKyAgICAgICAgKFdl
YkNvcmU6OlJlbmRlckxheWVyTW9kZWxPYmplY3Q6OmFuaW1hdGlvbkZpbmlzaGVkKToKKyAgICAg
ICAgKFdlYkNvcmU6OlJlbmRlckxheWVyTW9kZWxPYmplY3Q6OnN1c3BlbmRBbmltYXRpb25zKToK
KwogMjAxOS0wMy0xOCAgWmFsYW4gQnVqdGFzICA8emFsYW5AYXBwbGUuY29tPgogCiAgICAgICAg
IENhbGwgdHJhbnNpdGlvbiBhbmQgYW5pbWF0aW9uIGNhbGxiYWNrcyBvbiBub24tY29tcG9zaXRl
ZCByZW5kZXJlcnMgdG9vLgpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvcGFnZS9pb3MvQ29u
dGVudENoYW5nZU9ic2VydmVyLmNwcCBiL1NvdXJjZS9XZWJDb3JlL3BhZ2UvaW9zL0NvbnRlbnRD
aGFuZ2VPYnNlcnZlci5jcHAKaW5kZXggOGJkZTJkMzdmYzMzMDNiNWU1ZWQ3NmYwYTI4MDNhOGE3
ZDY0NGZhNC4uNDI4ZGM5OTllYzg2NzhhMGM4YmI1Zjc2NzMwZmVhZGMxYjMzYjVmMiAxMDA2NDQK
LS0tIGEvU291cmNlL1dlYkNvcmUvcGFnZS9pb3MvQ29udGVudENoYW5nZU9ic2VydmVyLmNwcAor
KysgYi9Tb3VyY2UvV2ViQ29yZS9wYWdlL2lvcy9Db250ZW50Q2hhbmdlT2JzZXJ2ZXIuY3BwCkBA
IC0zOSw2ICszOSw4IEBACiAKIG5hbWVzcGFjZSBXZWJDb3JlIHsKIAorY29uc3QgU2Vjb25kcyBN
YXhpbXVtRGVsYXlGb3JUaW1lcnNBbmRBbmltYWl0b25UcmFuc2l0aW9ucyA9IDMwMF9tczsKKwog
Q29udGVudENoYW5nZU9ic2VydmVyOjpDb250ZW50Q2hhbmdlT2JzZXJ2ZXIoRG9jdW1lbnQmIGRv
Y3VtZW50KQogICAgIDogbV9kb2N1bWVudChkb2N1bWVudCkKICAgICAsIG1fY29udGVudE9ic2Vy
dmF0aW9uVGltZXIoW3RoaXNdIHsgY29tcGxldGVEdXJhdGlvbkJhc2VkQ29udGVudE9ic2VydmF0
aW9uKCk7IH0pCkBAIC04Nyw3ICs4OSw3IEBAIHZvaWQgQ29udGVudENoYW5nZU9ic2VydmVyOjpk
aWRJbnN0YWxsRE9NVGltZXIoY29uc3QgRE9NVGltZXImIHRpbWVyLCBTZWNvbmRzIHRpCiAgICAg
ICAgIHJldHVybjsKICAgICBpZiAobV9kb2N1bWVudC5hY3RpdmVET01PYmplY3RzQXJlU3VzcGVu
ZGVkKCkpCiAgICAgICAgIHJldHVybjsKLSAgICBpZiAodGltZW91dCA+IDMwMF9tcyB8fCAhc2lu
Z2xlU2hvdCkKKyAgICBpZiAodGltZW91dCA+IE1heGltdW1EZWxheUZvclRpbWVyc0FuZEFuaW1h
aXRvblRyYW5zaXRpb25zIHx8ICFzaW5nbGVTaG90KQogICAgICAgICByZXR1cm47CiAgICAgaWYg
KCFpc09ic2VydmluZ0RPTVRpbWVyU2NoZWR1bGluZygpKQogICAgICAgICByZXR1cm47CkBAIC0x
MDksNiArMTExLDMwIEBAIHZvaWQgQ29udGVudENoYW5nZU9ic2VydmVyOjpkaWRSZW1vdmVET01U
aW1lcihjb25zdCBET01UaW1lciYgdGltZXIpCiAgICAgYWRqdXN0T2JzZXJ2ZWRTdGF0ZShFdmVu
dDo6UmVtb3ZlZERPTVRpbWVyKTsKIH0KIAordm9pZCBDb250ZW50Q2hhbmdlT2JzZXJ2ZXI6OmRp
ZFN0YXJ0QW5pbWF0aW9uT3JUcmFuc2l0aW9uKGNvbnN0IFJlbmRlckVsZW1lbnQmIHJlbmRlcmVy
LCBDU1NQcm9wZXJ0eUlEIHByb3BlcnR5SUQsIFNlY29uZHMgZHVyYXRpb24pCit7CisgICAgaWYg
KCFtX2RvY3VtZW50LnNldHRpbmdzKCkuY29udGVudENoYW5nZU9ic2VydmVyRW5hYmxlZCgpKQor
ICAgICAgICByZXR1cm47CisgICAgaWYgKCFpc09ic2VydmluZ0FuaW1hdGlvbnNBbmRUcmFuc2l0
aW9ucygpKQorICAgICAgICByZXR1cm47CisgICAgaWYgKGhhc1Zpc2libGVDaGFuZ2VTdGF0ZSgp
KQorICAgICAgICByZXR1cm47CisgICAgaWYgKGR1cmF0aW9uID4gTWF4aW11bURlbGF5Rm9yVGlt
ZXJzQW5kQW5pbWFpdG9uVHJhbnNpdGlvbnMgfHwgIWlzT2JzZXJ2ZWRQcm9wZXJ0eShwcm9wZXJ0
eUlEKSkKKyAgICAgICAgcmV0dXJuOworICAgIExPRyhDb250ZW50T2JzZXJ2YXRpb24sICJkaWRT
dGFydEFuaW1hdGlvbk9yVHJhbnNpdGlvbjogYW5pbWF0aW9uIG9yIHRyYW5zaXRpb24gc3RhcnRl
ZC4iKTsKKworICAgIG1fcmVuZGVyZXJzV2l0aEFuaW1hdGlvbk9yVHJhbnNpdGlvbi5hZGQoJnJl
bmRlcmVyKTsKK30KKwordm9pZCBDb250ZW50Q2hhbmdlT2JzZXJ2ZXI6OmRpZEZpbmlzaEFuaW1h
dGlvbk9yVHJhbnNpdGlvbihjb25zdCBSZW5kZXJFbGVtZW50JiByZW5kZXJlcikKK3sKKyAgICBp
ZiAoIW1fcmVuZGVyZXJzV2l0aEFuaW1hdGlvbk9yVHJhbnNpdGlvbi5jb250YWlucygmcmVuZGVy
ZXIpKQorICAgICAgICByZXR1cm47CisgICAgTE9HKENvbnRlbnRPYnNlcnZhdGlvbiwgImRpZEZp
bmlzaEFuaW1hdGlvbk9yVHJhbnNpdGlvbjogYW5pbWF0aW9uIG9yIHRyYW5zaXRpb24gZmluaXNo
ZWQuIik7CisKKyAgICBtX3JlbmRlcmVyc1dpdGhBbmltYXRpb25PclRyYW5zaXRpb24ucmVtb3Zl
KCZyZW5kZXJlcik7Cit9CisKIHZvaWQgQ29udGVudENoYW5nZU9ic2VydmVyOjp3aWxsTm90UHJv
Y2VlZFdpdGhDbGljaygpCiB7CiAgICAgTE9HKENvbnRlbnRPYnNlcnZhdGlvbiwgIndpbGxOb3RQ
cm9jZWVkV2l0aENsaWNrOiBjbGljayB3aWxsIG5vdCBoYXBwZW4uIik7CmRpZmYgLS1naXQgYS9T
b3VyY2UvV2ViQ29yZS9wYWdlL2lvcy9Db250ZW50Q2hhbmdlT2JzZXJ2ZXIuaCBiL1NvdXJjZS9X
ZWJDb3JlL3BhZ2UvaW9zL0NvbnRlbnRDaGFuZ2VPYnNlcnZlci5oCmluZGV4IDZhZTE4MDI2MjFm
ODI0Njg1NGM0ZTFjZDliOTZmYTE1OTJmOWUxZmYuLmFiZWU3Y2M2NWU3YzJhOWQwMTE0OWFlMjFi
YzkzNzc0MDQ0MzM5OTUgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL3BhZ2UvaW9zL0NvbnRl
bnRDaGFuZ2VPYnNlcnZlci5oCisrKyBiL1NvdXJjZS9XZWJDb3JlL3BhZ2UvaW9zL0NvbnRlbnRD
aGFuZ2VPYnNlcnZlci5oCkBAIC0zMCw2ICszMCw3IEBACiAjaW5jbHVkZSAiUGxhdGZvcm1FdmVu
dC5oIgogI2luY2x1ZGUgIlRpbWVyLmgiCiAjaW5jbHVkZSAiV0tDb250ZW50T2JzZXJ2YXRpb24u
aCIKKyNpbmNsdWRlIDx3dGYvSGFzaFNldC5oPgogCiBuYW1lc3BhY2UgV2ViQ29yZSB7CiAKQEAg
LTQ1LDYgKzQ2LDEwIEBAIHB1YmxpYzoKIAogICAgIHZvaWQgZGlkSW5zdGFsbERPTVRpbWVyKGNv
bnN0IERPTVRpbWVyJiwgU2Vjb25kcyB0aW1lb3V0LCBib29sIHNpbmdsZVNob3QpOwogICAgIHZv
aWQgZGlkUmVtb3ZlRE9NVGltZXIoY29uc3QgRE9NVGltZXImKTsKKworICAgIHZvaWQgZGlkU3Rh
cnRBbmltYXRpb25PclRyYW5zaXRpb24oY29uc3QgUmVuZGVyRWxlbWVudCYsIENTU1Byb3BlcnR5
SUQsIFNlY29uZHMgZHVyYXRpb24pOworICAgIHZvaWQgZGlkRmluaXNoQW5pbWF0aW9uT3JUcmFu
c2l0aW9uKGNvbnN0IFJlbmRlckVsZW1lbnQmKTsKKwogICAgIFdFQkNPUkVfRVhQT1JUIHZvaWQg
d2lsbE5vdFByb2NlZWRXaXRoQ2xpY2soKTsKICAgICBXRUJDT1JFX0VYUE9SVCBzdGF0aWMgdm9p
ZCBkaWRSZWNvZ25pemVMb25nUHJlc3MoRnJhbWUmIG1haW5GcmFtZSk7CiAgICAgV0VCQ09SRV9F
WFBPUlQgc3RhdGljIHZvaWQgZGlkUHJldmVudERlZmF1bHRGb3JFdmVudChGcmFtZSYgbWFpbkZy
YW1lKTsKQEAgLTExMyw2ICsxMTgsOCBAQCBwcml2YXRlOgogCiAgICAgdm9pZCBzZXRTaG91bGRP
YnNlcnZlRE9NVGltZXJTY2hlZHVsaW5nKGJvb2wgb2JzZXJ2ZSkgeyBtX2lzT2JzZXJ2aW5nRE9N
VGltZXJTY2hlZHVsaW5nID0gb2JzZXJ2ZTsgfQogICAgIGJvb2wgaXNPYnNlcnZpbmdET01UaW1l
clNjaGVkdWxpbmcoKSBjb25zdCB7IHJldHVybiBtX2lzT2JzZXJ2aW5nRE9NVGltZXJTY2hlZHVs
aW5nOyB9CisgICAgYm9vbCBpc09ic2VydmluZ0FuaW1hdGlvbnNBbmRUcmFuc2l0aW9ucygpIGNv
bnN0IHsgcmV0dXJuIG1faXNPYnNlcnZpbmdBbmltYXRpb25zQW5kVHJhbnNpdGlvbnM7IH0KKyAg
ICBib29sIGlzT2JzZXJ2ZWRQcm9wZXJ0eShDU1NQcm9wZXJ0eUlEIHByb3BlcnR5SWQpIGNvbnN0
IHsgcmV0dXJuIHByb3BlcnR5SWQgPT0gQ1NTUHJvcGVydHlMZWZ0OyB9CiAgICAgdm9pZCBkb21U
aW1lckV4ZWN1dGVEaWRTdGFydChjb25zdCBET01UaW1lciYpOwogICAgIHZvaWQgZG9tVGltZXJF
eGVjdXRlRGlkRmluaXNoKGNvbnN0IERPTVRpbWVyJik7CiAgICAgdm9pZCByZWdpc3RlckRPTVRp
bWVyKGNvbnN0IERPTVRpbWVyJiB0aW1lcikgeyBtX0RPTVRpbWVyTGlzdC5hZGQoJnRpbWVyKTsg
fQpAQCAtMTY2LDYgKzE3Myw4IEBAIHByaXZhdGU6CiAgICAgRG9jdW1lbnQmIG1fZG9jdW1lbnQ7
CiAgICAgVGltZXIgbV9jb250ZW50T2JzZXJ2YXRpb25UaW1lcjsKICAgICBIYXNoU2V0PGNvbnN0
IERPTVRpbWVyKj4gbV9ET01UaW1lckxpc3Q7CisgICAgLy8gRklYTUU6IE1vdmUgb3ZlciB0byBX
ZWFrSGFzaFNldCB3aGVuIGl0IHN0YXJ0cyBzdXBwb3J0aW5nIGNvbnN0LgorICAgIEhhc2hTZXQ8
Y29uc3QgUmVuZGVyRWxlbWVudCo+IG1fcmVuZGVyZXJzV2l0aEFuaW1hdGlvbk9yVHJhbnNpdGlv
bjsKICAgICBib29sIG1fdG91Y2hFdmVudElzQmVpbmdEaXNwYXRjaGVkIHsgZmFsc2UgfTsKICAg
ICBib29sIG1faXNXYWl0aW5nRm9yU3R5bGVSZWNhbGMgeyBmYWxzZSB9OwogICAgIGJvb2wgbV9p
c0luT2JzZXJ2ZWRTdHlsZVJlY2FsYyB7IGZhbHNlIH07CkBAIC0xNzMsNiArMTgyLDcgQEAgcHJp
dmF0ZToKICAgICBib29sIG1fb2JzZXJ2ZWREb21UaW1lcklzQmVpbmdFeGVjdXRlZCB7IGZhbHNl
IH07CiAgICAgYm9vbCBtX21vdXNlTW92ZWRFdmVudElzQmVpbmdEaXNwYXRjaGVkIHsgZmFsc2Ug
fTsKICAgICBib29sIG1faXNCZXR3ZWVuVG91Y2hFbmRBbmRNb3VzZU1vdmVkIHsgZmFsc2UgfTsK
KyAgICBib29sIG1faXNPYnNlcnZpbmdBbmltYXRpb25zQW5kVHJhbnNpdGlvbnMgeyBmYWxzZSB9
OwogfTsKIAogaW5saW5lIHZvaWQgQ29udGVudENoYW5nZU9ic2VydmVyOjpzZXRIYXNOb0NoYW5n
ZVN0YXRlKCkKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL3JlbmRlcmluZy9SZW5kZXJFbGVt
ZW50LmNwcCBiL1NvdXJjZS9XZWJDb3JlL3JlbmRlcmluZy9SZW5kZXJFbGVtZW50LmNwcAppbmRl
eCAwMjJmZTNiYTAwZmJkNjExMTYxYTcxNDJkOTJhZWQ5YTY1MzliMmVmLi5jZjA5NGFkMzVhZGU3
MmM2ZDg4NzNhNzBhMTQ5Y2NjMmI2ZTkzMDE0IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9y
ZW5kZXJpbmcvUmVuZGVyRWxlbWVudC5jcHAKKysrIGIvU291cmNlL1dlYkNvcmUvcmVuZGVyaW5n
L1JlbmRlckVsZW1lbnQuY3BwCkBAIC0yNiw2ICsyNiw3IEBACiAjaW5jbHVkZSAiUmVuZGVyRWxl
bWVudC5oIgogCiAjaW5jbHVkZSAiQVhPYmplY3RDYWNoZS5oIgorI2luY2x1ZGUgIkNvbnRlbnRD
aGFuZ2VPYnNlcnZlci5oIgogI2luY2x1ZGUgIkNvbnRlbnREYXRhLmgiCiAjaW5jbHVkZSAiQ3Vy
c29yTGlzdC5oIgogI2luY2x1ZGUgIkVsZW1lbnRDaGlsZEl0ZXJhdG9yLmgiCkBAIC0yMTY4LDQg
KzIxNjksNDEgQEAgdm9pZCBSZW5kZXJFbGVtZW50OjpyZXNldFRleHRBdXRvc2l6aW5nKCkKIH0K
ICNlbmRpZiAvLyBFTkFCTEUoVEVYVF9BVVRPU0laSU5HKQogCitib29sIFJlbmRlckVsZW1lbnQ6
OnN0YXJ0VHJhbnNpdGlvbihkb3VibGUgdGltZU9mZnNldCwgQ1NTUHJvcGVydHlJRCBwcm9wZXJ0
eUlELCBjb25zdCBSZW5kZXJTdHlsZSosIGNvbnN0IFJlbmRlclN0eWxlKikKK3sgCisjaWYgUExB
VEZPUk0oSU9TX0ZBTUlMWSkKKyAgICBkb2N1bWVudCgpLmNvbnRlbnRDaGFuZ2VPYnNlcnZlcigp
LmRpZFN0YXJ0QW5pbWF0aW9uT3JUcmFuc2l0aW9uKCp0aGlzLCBwcm9wZXJ0eUlELCBTZWNvbmRz
IHsgdGltZU9mZnNldCB9KTsKKyNlbHNlCisgICAgVU5VU0VEX1BBUkFNKHRpbWVPZmZzZXQpOwor
ICAgIFVOVVNFRF9QQVJBTShwcm9wZXJ0eUlEKTsKKyNlbmRpZgorICAgIHJldHVybiBmYWxzZTsg
Cit9CisKK3ZvaWQgUmVuZGVyRWxlbWVudDo6dHJhbnNpdGlvbkZpbmlzaGVkKENTU1Byb3BlcnR5
SUQpCit7CisjaWYgUExBVEZPUk0oSU9TX0ZBTUlMWSkKKyAgICBkb2N1bWVudCgpLmNvbnRlbnRD
aGFuZ2VPYnNlcnZlcigpLmRpZEZpbmlzaEFuaW1hdGlvbk9yVHJhbnNpdGlvbigqdGhpcyk7Cisj
ZW5kaWYKK30KKworYm9vbCBSZW5kZXJFbGVtZW50OjpzdGFydEFuaW1hdGlvbihkb3VibGUgdGlt
ZU9mZnNldCwgY29uc3QgQW5pbWF0aW9uKiBhbmltYXRpb24sIGNvbnN0IEtleWZyYW1lTGlzdCYp
Cit7IAorI2lmIFBMQVRGT1JNKElPU19GQU1JTFkpCisgICAgaWYgKGFuaW1hdGlvbikKKyAgICAg
ICAgZG9jdW1lbnQoKS5jb250ZW50Q2hhbmdlT2JzZXJ2ZXIoKS5kaWRTdGFydEFuaW1hdGlvbk9y
VHJhbnNpdGlvbigqdGhpcywgYW5pbWF0aW9uLT5wcm9wZXJ0eSgpLCBTZWNvbmRzIHsgdGltZU9m
ZnNldCB9KTsKKyNlbHNlCisgICAgVU5VU0VEX1BBUkFNKHRpbWVPZmZzZXQpOworICAgIFVOVVNF
RF9QQVJBTShhbmltYXRpb24pOworI2VuZGlmCisgICAgcmV0dXJuIGZhbHNlOworfQorCit2b2lk
IFJlbmRlckVsZW1lbnQ6OmFuaW1hdGlvbkZpbmlzaGVkKGNvbnN0IFN0cmluZyYpCit7IAorI2lm
IFBMQVRGT1JNKElPU19GQU1JTFkpCisgICAgZG9jdW1lbnQoKS5jb250ZW50Q2hhbmdlT2JzZXJ2
ZXIoKS5kaWRGaW5pc2hBbmltYXRpb25PclRyYW5zaXRpb24oKnRoaXMpOworI2VuZGlmCit9CisK
IH0KZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL3JlbmRlcmluZy9SZW5kZXJFbGVtZW50Lmgg
Yi9Tb3VyY2UvV2ViQ29yZS9yZW5kZXJpbmcvUmVuZGVyRWxlbWVudC5oCmluZGV4IGRhZTU2ZDM4
ZjRkZGU3ZjIyNjI5Y2IyMTU3ODFmNDFlMjIzNjk1MzAuLjA4OWY5NmI5NGY0NzNiY2NkYTg1NDc3
YzYwYjZjYjYyNjc3YmE1YTQgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL3JlbmRlcmluZy9S
ZW5kZXJFbGVtZW50LmgKKysrIGIvU291cmNlL1dlYkNvcmUvcmVuZGVyaW5nL1JlbmRlckVsZW1l
bnQuaApAQCAtMjIyLDE0ICsyMjIsMTQgQEAgcHVibGljOgogICAgIFJlbmRlck9iamVjdCogYXR0
YWNoUmVuZGVyZXJJbnRlcm5hbChSZW5kZXJQdHI8UmVuZGVyT2JqZWN0PiBjaGlsZCwgUmVuZGVy
T2JqZWN0KiBiZWZvcmVDaGlsZCk7CiAgICAgUmVuZGVyUHRyPFJlbmRlck9iamVjdD4gZGV0YWNo
UmVuZGVyZXJJbnRlcm5hbChSZW5kZXJPYmplY3QmKTsKIAotICAgIHZpcnR1YWwgYm9vbCBzdGFy
dFRyYW5zaXRpb24oZG91YmxlIC8qIHRpbWVPZmZzZXQgKi8sIENTU1Byb3BlcnR5SUQsIGNvbnN0
IFJlbmRlclN0eWxlKiAvKiBmcm9tU3R5bGUgKi8sIGNvbnN0IFJlbmRlclN0eWxlKiAvKiB0b1N0
eWxlICovKSB7IHJldHVybiBmYWxzZTsgfQorICAgIHZpcnR1YWwgYm9vbCBzdGFydFRyYW5zaXRp
b24oZG91YmxlIHRpbWVPZmZzZXQsIENTU1Byb3BlcnR5SUQsIGNvbnN0IFJlbmRlclN0eWxlKiBm
cm9tU3R5bGUsIGNvbnN0IFJlbmRlclN0eWxlKiB0b1N0eWxlKTsKICAgICB2aXJ0dWFsIHZvaWQg
dHJhbnNpdGlvblBhdXNlZChkb3VibGUgLyogdGltZU9mZnNldCAqLywgQ1NTUHJvcGVydHlJRCkg
eyB9Ci0gICAgdmlydHVhbCB2b2lkIHRyYW5zaXRpb25GaW5pc2hlZChDU1NQcm9wZXJ0eUlEKSB7
IH0KKyAgICB2aXJ0dWFsIHZvaWQgdHJhbnNpdGlvbkZpbmlzaGVkKENTU1Byb3BlcnR5SUQpOwog
Ci0gICAgdmlydHVhbCBib29sIHN0YXJ0QW5pbWF0aW9uKGRvdWJsZSAvKiB0aW1lT2Zmc2V0ICov
LCBjb25zdCBBbmltYXRpb24qLCBjb25zdCBLZXlmcmFtZUxpc3QmKSB7IHJldHVybiBmYWxzZTsg
fQorICAgIHZpcnR1YWwgYm9vbCBzdGFydEFuaW1hdGlvbihkb3VibGUgdGltZU9mZnNldCwgY29u
c3QgQW5pbWF0aW9uKiwgY29uc3QgS2V5ZnJhbWVMaXN0Jik7CiAgICAgdmlydHVhbCB2b2lkIGFu
aW1hdGlvblBhdXNlZChkb3VibGUgLyogdGltZU9mZnNldCAqLywgY29uc3QgU3RyaW5nJiAvKiBu
YW1lICovKSB7IH0KICAgICB2aXJ0dWFsIHZvaWQgYW5pbWF0aW9uU2Vla2VkKGRvdWJsZSAvKiB0
aW1lT2Zmc2V0ICovLCBjb25zdCBTdHJpbmcmIC8qIG5hbWUgKi8pIHsgfQotICAgIHZpcnR1YWwg
dm9pZCBhbmltYXRpb25GaW5pc2hlZChjb25zdCBTdHJpbmcmIC8qIG5hbWUgKi8pIHsgfQorICAg
IHZpcnR1YWwgdm9pZCBhbmltYXRpb25GaW5pc2hlZChjb25zdCBTdHJpbmcmIG5hbWUpOwogCiAg
ICAgdmlydHVhbCB2b2lkIHN1c3BlbmRBbmltYXRpb25zKE1vbm90b25pY1RpbWUgPSBNb25vdG9u
aWNUaW1lKCkpIHsgfQogCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9yZW5kZXJpbmcvUmVu
ZGVyTGF5ZXJNb2RlbE9iamVjdC5jcHAgYi9Tb3VyY2UvV2ViQ29yZS9yZW5kZXJpbmcvUmVuZGVy
TGF5ZXJNb2RlbE9iamVjdC5jcHAKaW5kZXggNGMwMWU4ZTE2Yzc3N2Y5NTYyZGE5NDA3MWVlOWUy
NTA0ZjExZDJlYy4uNzEwZGFkM2Q1NjI3ZGY0MjQxYmI2ZDNjZWQxMThkMGNlZTg2MmJjNiAxMDA2
NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvcmVuZGVyaW5nL1JlbmRlckxheWVyTW9kZWxPYmplY3Qu
Y3BwCisrKyBiL1NvdXJjZS9XZWJDb3JlL3JlbmRlcmluZy9SZW5kZXJMYXllck1vZGVsT2JqZWN0
LmNwcApAQCAtMjg1LDEzICsyODUsMTUgQEAgdm9pZCBSZW5kZXJMYXllck1vZGVsT2JqZWN0Ojpj
b21wdXRlUmVwYWludExheW91dFJlY3RzKGNvbnN0IFJlbmRlckxheWVyTW9kZWxPYmoKIAogYm9v
bCBSZW5kZXJMYXllck1vZGVsT2JqZWN0OjpzdGFydFRyYW5zaXRpb24oZG91YmxlIHRpbWVPZmZz
ZXQsIENTU1Byb3BlcnR5SUQgcHJvcGVydHlJZCwgY29uc3QgUmVuZGVyU3R5bGUqIGZyb21TdHls
ZSwgY29uc3QgUmVuZGVyU3R5bGUqIHRvU3R5bGUpCiB7CisgICAgYXV0byBkaWRBbmltYXRlID0g
UmVuZGVyRWxlbWVudDo6c3RhcnRUcmFuc2l0aW9uKHRpbWVPZmZzZXQsIHByb3BlcnR5SWQsIGZy
b21TdHlsZSwgdG9TdHlsZSk7CiAgICAgaWYgKCFsYXllcigpIHx8ICFsYXllcigpLT5iYWNraW5n
KCkpCi0gICAgICAgIHJldHVybiBmYWxzZTsKKyAgICAgICAgcmV0dXJuIGRpZEFuaW1hdGU7CiAg
ICAgcmV0dXJuIGxheWVyKCktPmJhY2tpbmcoKS0+c3RhcnRUcmFuc2l0aW9uKHRpbWVPZmZzZXQs
IHByb3BlcnR5SWQsIGZyb21TdHlsZSwgdG9TdHlsZSk7CiB9CiAKIHZvaWQgUmVuZGVyTGF5ZXJN
b2RlbE9iamVjdDo6dHJhbnNpdGlvblBhdXNlZChkb3VibGUgdGltZU9mZnNldCwgQ1NTUHJvcGVy
dHlJRCBwcm9wZXJ0eUlkKQogeworICAgIFJlbmRlckVsZW1lbnQ6OnRyYW5zaXRpb25QYXVzZWQo
dGltZU9mZnNldCwgcHJvcGVydHlJZCk7CiAgICAgaWYgKCFsYXllcigpIHx8ICFsYXllcigpLT5i
YWNraW5nKCkpCiAgICAgICAgIHJldHVybjsKICAgICBsYXllcigpLT5iYWNraW5nKCktPnRyYW5z
aXRpb25QYXVzZWQodGltZU9mZnNldCwgcHJvcGVydHlJZCk7CkBAIC0yOTksNiArMzAxLDcgQEAg
dm9pZCBSZW5kZXJMYXllck1vZGVsT2JqZWN0Ojp0cmFuc2l0aW9uUGF1c2VkKGRvdWJsZSB0aW1l
T2Zmc2V0LCBDU1NQcm9wZXJ0eUlEIHAKIAogdm9pZCBSZW5kZXJMYXllck1vZGVsT2JqZWN0Ojp0
cmFuc2l0aW9uRmluaXNoZWQoQ1NTUHJvcGVydHlJRCBwcm9wZXJ0eUlkKQogeworICAgIFJlbmRl
ckVsZW1lbnQ6OnRyYW5zaXRpb25GaW5pc2hlZChwcm9wZXJ0eUlkKTsKICAgICBpZiAoIWxheWVy
KCkgfHwgIWxheWVyKCktPmJhY2tpbmcoKSkKICAgICAgICAgcmV0dXJuOwogICAgIGxheWVyKCkt
PmJhY2tpbmcoKS0+dHJhbnNpdGlvbkZpbmlzaGVkKHByb3BlcnR5SWQpOwpAQCAtMzA2LDEzICsz
MDksMTUgQEAgdm9pZCBSZW5kZXJMYXllck1vZGVsT2JqZWN0Ojp0cmFuc2l0aW9uRmluaXNoZWQo
Q1NTUHJvcGVydHlJRCBwcm9wZXJ0eUlkKQogCiBib29sIFJlbmRlckxheWVyTW9kZWxPYmplY3Q6
OnN0YXJ0QW5pbWF0aW9uKGRvdWJsZSB0aW1lT2Zmc2V0LCBjb25zdCBBbmltYXRpb24qIGFuaW1h
dGlvbiwgY29uc3QgS2V5ZnJhbWVMaXN0JiBrZXlmcmFtZXMpCiB7CisgICAgYXV0byBkaWRBbmlt
YXRlID0gUmVuZGVyRWxlbWVudDo6c3RhcnRBbmltYXRpb24odGltZU9mZnNldCwgYW5pbWF0aW9u
LCBrZXlmcmFtZXMpOwogICAgIGlmICghbGF5ZXIoKSB8fCAhbGF5ZXIoKS0+YmFja2luZygpKQot
ICAgICAgICByZXR1cm4gZmFsc2U7CisgICAgICAgIHJldHVybiBkaWRBbmltYXRlOwogICAgIHJl
dHVybiBsYXllcigpLT5iYWNraW5nKCktPnN0YXJ0QW5pbWF0aW9uKHRpbWVPZmZzZXQsIGFuaW1h
dGlvbiwga2V5ZnJhbWVzKTsKIH0KIAogdm9pZCBSZW5kZXJMYXllck1vZGVsT2JqZWN0Ojphbmlt
YXRpb25QYXVzZWQoZG91YmxlIHRpbWVPZmZzZXQsIGNvbnN0IFN0cmluZyYgbmFtZSkKIHsKKyAg
ICBSZW5kZXJFbGVtZW50OjphbmltYXRpb25QYXVzZWQodGltZU9mZnNldCwgbmFtZSk7CiAgICAg
aWYgKCFsYXllcigpIHx8ICFsYXllcigpLT5iYWNraW5nKCkpCiAgICAgICAgIHJldHVybjsKICAg
ICBsYXllcigpLT5iYWNraW5nKCktPmFuaW1hdGlvblBhdXNlZCh0aW1lT2Zmc2V0LCBuYW1lKTsK
QEAgLTMyMCw2ICszMjUsNyBAQCB2b2lkIFJlbmRlckxheWVyTW9kZWxPYmplY3Q6OmFuaW1hdGlv
blBhdXNlZChkb3VibGUgdGltZU9mZnNldCwgY29uc3QgU3RyaW5nJiBuYQogCiB2b2lkIFJlbmRl
ckxheWVyTW9kZWxPYmplY3Q6OmFuaW1hdGlvblNlZWtlZChkb3VibGUgdGltZU9mZnNldCwgY29u
c3QgU3RyaW5nJiBuYW1lKQogeworICAgIFJlbmRlckVsZW1lbnQ6OmFuaW1hdGlvblNlZWtlZCh0
aW1lT2Zmc2V0LCBuYW1lKTsKICAgICBpZiAoIWxheWVyKCkgfHwgIWxheWVyKCktPmJhY2tpbmco
KSkKICAgICAgICAgcmV0dXJuOwogICAgIGxheWVyKCktPmJhY2tpbmcoKS0+YW5pbWF0aW9uU2Vl
a2VkKHRpbWVPZmZzZXQsIG5hbWUpOwpAQCAtMzI3LDYgKzMzMyw3IEBAIHZvaWQgUmVuZGVyTGF5
ZXJNb2RlbE9iamVjdDo6YW5pbWF0aW9uU2Vla2VkKGRvdWJsZSB0aW1lT2Zmc2V0LCBjb25zdCBT
dHJpbmcmIG5hCiAKIHZvaWQgUmVuZGVyTGF5ZXJNb2RlbE9iamVjdDo6YW5pbWF0aW9uRmluaXNo
ZWQoY29uc3QgU3RyaW5nJiBuYW1lKQogeworICAgIFJlbmRlckVsZW1lbnQ6OmFuaW1hdGlvbkZp
bmlzaGVkKG5hbWUpOwogICAgIGlmICghbGF5ZXIoKSB8fCAhbGF5ZXIoKS0+YmFja2luZygpKQog
ICAgICAgICByZXR1cm47CiAgICAgbGF5ZXIoKS0+YmFja2luZygpLT5hbmltYXRpb25GaW5pc2hl
ZChuYW1lKTsKQEAgLTMzNCw2ICszNDEsNyBAQCB2b2lkIFJlbmRlckxheWVyTW9kZWxPYmplY3Q6
OmFuaW1hdGlvbkZpbmlzaGVkKGNvbnN0IFN0cmluZyYgbmFtZSkKIAogdm9pZCBSZW5kZXJMYXll
ck1vZGVsT2JqZWN0OjpzdXNwZW5kQW5pbWF0aW9ucyhNb25vdG9uaWNUaW1lIHRpbWUpCiB7Cisg
ICAgUmVuZGVyRWxlbWVudDo6c3VzcGVuZEFuaW1hdGlvbnModGltZSk7CiAgICAgaWYgKCFsYXll
cigpIHx8ICFsYXllcigpLT5iYWNraW5nKCkpCiAgICAgICAgIHJldHVybjsKICAgICBsYXllcigp
LT5iYWNraW5nKCktPnN1c3BlbmRBbmltYXRpb25zKHRpbWUpOwo=
</data>

          </attachment>
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>365080</attachid>
            <date>2019-03-18 15:51:09 -0700</date>
            <delta_ts>2019-03-18 16:42:29 -0700</delta_ts>
            <desc>Patch</desc>
            <filename>bug-195914-20190318155108.patch</filename>
            <type>text/plain</type>
            <size>13433</size>
            <attacher name="alan">zalan</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMjQzMTEyCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9D
aGFuZ2VMb2cgYi9Tb3VyY2UvV2ViQ29yZS9DaGFuZ2VMb2cKaW5kZXggMzgxYTcwN2VhMGUxOWFi
OWNlNzgwNzdhYWFhZmJiMDNiZDAwMTA1ZS4uZGQ3NGRkNzQwMmM0MTJmZDBjYzJhZTA5MzNlYWNi
OGI0Yjc0ZDRiZSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvQ2hhbmdlTG9nCisrKyBiL1Nv
dXJjZS9XZWJDb3JlL0NoYW5nZUxvZwpAQCAtMSwzICsxLDM5IEBACisyMDE5LTAzLTE4ICBaYWxh
biBCdWp0YXMgIDx6YWxhbkBhcHBsZS5jb20+CisKKyAgICAgICAgW0NvbnRlbnRDaGFuZ2VPYnNl
cnZlcl0gQWRkIHN1cHBvcnQgZm9yIG9ic2VydmluZyB0cmFuc2l0aW9ucyBhbmQgYW5pbWF0aW9u
cworICAgICAgICBodHRwczovL2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9MTk1OTE0
CisKKyAgICAgICAgUmV2aWV3ZWQgYnkgTk9CT0RZIChPT1BTISkuCisKKyAgICAgICAgVGhpcyBw
YXRjaCBpbnRyb2R1Y2VzIGFuIEFQSSBvbiBDb250ZW50Q2hhbmdlT2JzZXJ2ZXIgdG8gb2JzZXJ2
ZSBhbmltYXRpb25zIGFuZCB0cmFuc2l0aW9ucy4gSXQgaXMgbm90IGVuYWJsZWQgeWV0LgorCisg
ICAgICAgICogcGFnZS9pb3MvQ29udGVudENoYW5nZU9ic2VydmVyLmNwcDoKKyAgICAgICAgKFdl
YkNvcmU6OkNvbnRlbnRDaGFuZ2VPYnNlcnZlcjo6ZGlkSW5zdGFsbERPTVRpbWVyKToKKyAgICAg
ICAgKFdlYkNvcmU6OkNvbnRlbnRDaGFuZ2VPYnNlcnZlcjo6ZGlkU3RhcnRBbmltYXRpb25PclRy
YW5zaXRpb24pOgorICAgICAgICAoV2ViQ29yZTo6Q29udGVudENoYW5nZU9ic2VydmVyOjpkaWRG
aW5pc2hBbmltYXRpb25PclRyYW5zaXRpb24pOgorICAgICAgICAqIHBhZ2UvaW9zL0NvbnRlbnRD
aGFuZ2VPYnNlcnZlci5oOgorICAgICAgICAoV2ViQ29yZTo6Q29udGVudENoYW5nZU9ic2VydmVy
Ojppc09ic2VydmluZ0FuaW1hdGlvbnNBbmRUcmFuc2l0aW9ucyBjb25zdCk6CisgICAgICAgIChX
ZWJDb3JlOjpDb250ZW50Q2hhbmdlT2JzZXJ2ZXI6OmlzT2JzZXJ2ZWRQcm9wZXJ0eSBjb25zdCk6
CisgICAgICAgICogcmVuZGVyaW5nL1JlbmRlckVsZW1lbnQuY3BwOgorICAgICAgICAoV2ViQ29y
ZTo6UmVuZGVyRWxlbWVudDo6c3RhcnRUcmFuc2l0aW9uKToKKyAgICAgICAgKFdlYkNvcmU6OlJl
bmRlckVsZW1lbnQ6OnRyYW5zaXRpb25GaW5pc2hlZCk6CisgICAgICAgIChXZWJDb3JlOjpSZW5k
ZXJFbGVtZW50OjpzdGFydEFuaW1hdGlvbik6CisgICAgICAgIChXZWJDb3JlOjpSZW5kZXJFbGVt
ZW50OjphbmltYXRpb25GaW5pc2hlZCk6CisgICAgICAgICogcmVuZGVyaW5nL1JlbmRlckVsZW1l
bnQuaDoKKyAgICAgICAgKFdlYkNvcmU6OlJlbmRlckVsZW1lbnQ6OnN0YXJ0VHJhbnNpdGlvbik6
IERlbGV0ZWQuCisgICAgICAgIChXZWJDb3JlOjpSZW5kZXJFbGVtZW50Ojp0cmFuc2l0aW9uRmlu
aXNoZWQpOiBEZWxldGVkLgorICAgICAgICAoV2ViQ29yZTo6UmVuZGVyRWxlbWVudDo6c3RhcnRB
bmltYXRpb24pOiBEZWxldGVkLgorICAgICAgICAoV2ViQ29yZTo6UmVuZGVyRWxlbWVudDo6YW5p
bWF0aW9uRmluaXNoZWQpOiBEZWxldGVkLgorICAgICAgICAqIHJlbmRlcmluZy9SZW5kZXJMYXll
ck1vZGVsT2JqZWN0LmNwcDoKKyAgICAgICAgKFdlYkNvcmU6OlJlbmRlckxheWVyTW9kZWxPYmpl
Y3Q6OnN0YXJ0VHJhbnNpdGlvbik6CisgICAgICAgIChXZWJDb3JlOjpSZW5kZXJMYXllck1vZGVs
T2JqZWN0Ojp0cmFuc2l0aW9uUGF1c2VkKToKKyAgICAgICAgKFdlYkNvcmU6OlJlbmRlckxheWVy
TW9kZWxPYmplY3Q6OnRyYW5zaXRpb25GaW5pc2hlZCk6CisgICAgICAgIChXZWJDb3JlOjpSZW5k
ZXJMYXllck1vZGVsT2JqZWN0OjpzdGFydEFuaW1hdGlvbik6CisgICAgICAgIChXZWJDb3JlOjpS
ZW5kZXJMYXllck1vZGVsT2JqZWN0OjphbmltYXRpb25QYXVzZWQpOgorICAgICAgICAoV2ViQ29y
ZTo6UmVuZGVyTGF5ZXJNb2RlbE9iamVjdDo6YW5pbWF0aW9uU2Vla2VkKToKKyAgICAgICAgKFdl
YkNvcmU6OlJlbmRlckxheWVyTW9kZWxPYmplY3Q6OmFuaW1hdGlvbkZpbmlzaGVkKToKKyAgICAg
ICAgKFdlYkNvcmU6OlJlbmRlckxheWVyTW9kZWxPYmplY3Q6OnN1c3BlbmRBbmltYXRpb25zKToK
KwogMjAxOS0wMy0xOCAgWmFsYW4gQnVqdGFzICA8emFsYW5AYXBwbGUuY29tPgogCiAgICAgICAg
IENhbGwgdHJhbnNpdGlvbiBhbmQgYW5pbWF0aW9uIGNhbGxiYWNrcyBvbiBub24tY29tcG9zaXRl
ZCByZW5kZXJlcnMgdG9vLgpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvcGFnZS9pb3MvQ29u
dGVudENoYW5nZU9ic2VydmVyLmNwcCBiL1NvdXJjZS9XZWJDb3JlL3BhZ2UvaW9zL0NvbnRlbnRD
aGFuZ2VPYnNlcnZlci5jcHAKaW5kZXggOGJkZTJkMzdmYzMzMDNiNWU1ZWQ3NmYwYTI4MDNhOGE3
ZDY0NGZhNC4uNDI4ZGM5OTllYzg2NzhhMGM4YmI1Zjc2NzMwZmVhZGMxYjMzYjVmMiAxMDA2NDQK
LS0tIGEvU291cmNlL1dlYkNvcmUvcGFnZS9pb3MvQ29udGVudENoYW5nZU9ic2VydmVyLmNwcAor
KysgYi9Tb3VyY2UvV2ViQ29yZS9wYWdlL2lvcy9Db250ZW50Q2hhbmdlT2JzZXJ2ZXIuY3BwCkBA
IC0zOSw2ICszOSw4IEBACiAKIG5hbWVzcGFjZSBXZWJDb3JlIHsKIAorY29uc3QgU2Vjb25kcyBN
YXhpbXVtRGVsYXlGb3JUaW1lcnNBbmRBbmltYWl0b25UcmFuc2l0aW9ucyA9IDMwMF9tczsKKwog
Q29udGVudENoYW5nZU9ic2VydmVyOjpDb250ZW50Q2hhbmdlT2JzZXJ2ZXIoRG9jdW1lbnQmIGRv
Y3VtZW50KQogICAgIDogbV9kb2N1bWVudChkb2N1bWVudCkKICAgICAsIG1fY29udGVudE9ic2Vy
dmF0aW9uVGltZXIoW3RoaXNdIHsgY29tcGxldGVEdXJhdGlvbkJhc2VkQ29udGVudE9ic2VydmF0
aW9uKCk7IH0pCkBAIC04Nyw3ICs4OSw3IEBAIHZvaWQgQ29udGVudENoYW5nZU9ic2VydmVyOjpk
aWRJbnN0YWxsRE9NVGltZXIoY29uc3QgRE9NVGltZXImIHRpbWVyLCBTZWNvbmRzIHRpCiAgICAg
ICAgIHJldHVybjsKICAgICBpZiAobV9kb2N1bWVudC5hY3RpdmVET01PYmplY3RzQXJlU3VzcGVu
ZGVkKCkpCiAgICAgICAgIHJldHVybjsKLSAgICBpZiAodGltZW91dCA+IDMwMF9tcyB8fCAhc2lu
Z2xlU2hvdCkKKyAgICBpZiAodGltZW91dCA+IE1heGltdW1EZWxheUZvclRpbWVyc0FuZEFuaW1h
aXRvblRyYW5zaXRpb25zIHx8ICFzaW5nbGVTaG90KQogICAgICAgICByZXR1cm47CiAgICAgaWYg
KCFpc09ic2VydmluZ0RPTVRpbWVyU2NoZWR1bGluZygpKQogICAgICAgICByZXR1cm47CkBAIC0x
MDksNiArMTExLDMwIEBAIHZvaWQgQ29udGVudENoYW5nZU9ic2VydmVyOjpkaWRSZW1vdmVET01U
aW1lcihjb25zdCBET01UaW1lciYgdGltZXIpCiAgICAgYWRqdXN0T2JzZXJ2ZWRTdGF0ZShFdmVu
dDo6UmVtb3ZlZERPTVRpbWVyKTsKIH0KIAordm9pZCBDb250ZW50Q2hhbmdlT2JzZXJ2ZXI6OmRp
ZFN0YXJ0QW5pbWF0aW9uT3JUcmFuc2l0aW9uKGNvbnN0IFJlbmRlckVsZW1lbnQmIHJlbmRlcmVy
LCBDU1NQcm9wZXJ0eUlEIHByb3BlcnR5SUQsIFNlY29uZHMgZHVyYXRpb24pCit7CisgICAgaWYg
KCFtX2RvY3VtZW50LnNldHRpbmdzKCkuY29udGVudENoYW5nZU9ic2VydmVyRW5hYmxlZCgpKQor
ICAgICAgICByZXR1cm47CisgICAgaWYgKCFpc09ic2VydmluZ0FuaW1hdGlvbnNBbmRUcmFuc2l0
aW9ucygpKQorICAgICAgICByZXR1cm47CisgICAgaWYgKGhhc1Zpc2libGVDaGFuZ2VTdGF0ZSgp
KQorICAgICAgICByZXR1cm47CisgICAgaWYgKGR1cmF0aW9uID4gTWF4aW11bURlbGF5Rm9yVGlt
ZXJzQW5kQW5pbWFpdG9uVHJhbnNpdGlvbnMgfHwgIWlzT2JzZXJ2ZWRQcm9wZXJ0eShwcm9wZXJ0
eUlEKSkKKyAgICAgICAgcmV0dXJuOworICAgIExPRyhDb250ZW50T2JzZXJ2YXRpb24sICJkaWRT
dGFydEFuaW1hdGlvbk9yVHJhbnNpdGlvbjogYW5pbWF0aW9uIG9yIHRyYW5zaXRpb24gc3RhcnRl
ZC4iKTsKKworICAgIG1fcmVuZGVyZXJzV2l0aEFuaW1hdGlvbk9yVHJhbnNpdGlvbi5hZGQoJnJl
bmRlcmVyKTsKK30KKwordm9pZCBDb250ZW50Q2hhbmdlT2JzZXJ2ZXI6OmRpZEZpbmlzaEFuaW1h
dGlvbk9yVHJhbnNpdGlvbihjb25zdCBSZW5kZXJFbGVtZW50JiByZW5kZXJlcikKK3sKKyAgICBp
ZiAoIW1fcmVuZGVyZXJzV2l0aEFuaW1hdGlvbk9yVHJhbnNpdGlvbi5jb250YWlucygmcmVuZGVy
ZXIpKQorICAgICAgICByZXR1cm47CisgICAgTE9HKENvbnRlbnRPYnNlcnZhdGlvbiwgImRpZEZp
bmlzaEFuaW1hdGlvbk9yVHJhbnNpdGlvbjogYW5pbWF0aW9uIG9yIHRyYW5zaXRpb24gZmluaXNo
ZWQuIik7CisKKyAgICBtX3JlbmRlcmVyc1dpdGhBbmltYXRpb25PclRyYW5zaXRpb24ucmVtb3Zl
KCZyZW5kZXJlcik7Cit9CisKIHZvaWQgQ29udGVudENoYW5nZU9ic2VydmVyOjp3aWxsTm90UHJv
Y2VlZFdpdGhDbGljaygpCiB7CiAgICAgTE9HKENvbnRlbnRPYnNlcnZhdGlvbiwgIndpbGxOb3RQ
cm9jZWVkV2l0aENsaWNrOiBjbGljayB3aWxsIG5vdCBoYXBwZW4uIik7CmRpZmYgLS1naXQgYS9T
b3VyY2UvV2ViQ29yZS9wYWdlL2lvcy9Db250ZW50Q2hhbmdlT2JzZXJ2ZXIuaCBiL1NvdXJjZS9X
ZWJDb3JlL3BhZ2UvaW9zL0NvbnRlbnRDaGFuZ2VPYnNlcnZlci5oCmluZGV4IDZhZTE4MDI2MjFm
ODI0Njg1NGM0ZTFjZDliOTZmYTE1OTJmOWUxZmYuLmFiZWU3Y2M2NWU3YzJhOWQwMTE0OWFlMjFi
YzkzNzc0MDQ0MzM5OTUgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL3BhZ2UvaW9zL0NvbnRl
bnRDaGFuZ2VPYnNlcnZlci5oCisrKyBiL1NvdXJjZS9XZWJDb3JlL3BhZ2UvaW9zL0NvbnRlbnRD
aGFuZ2VPYnNlcnZlci5oCkBAIC0zMCw2ICszMCw3IEBACiAjaW5jbHVkZSAiUGxhdGZvcm1FdmVu
dC5oIgogI2luY2x1ZGUgIlRpbWVyLmgiCiAjaW5jbHVkZSAiV0tDb250ZW50T2JzZXJ2YXRpb24u
aCIKKyNpbmNsdWRlIDx3dGYvSGFzaFNldC5oPgogCiBuYW1lc3BhY2UgV2ViQ29yZSB7CiAKQEAg
LTQ1LDYgKzQ2LDEwIEBAIHB1YmxpYzoKIAogICAgIHZvaWQgZGlkSW5zdGFsbERPTVRpbWVyKGNv
bnN0IERPTVRpbWVyJiwgU2Vjb25kcyB0aW1lb3V0LCBib29sIHNpbmdsZVNob3QpOwogICAgIHZv
aWQgZGlkUmVtb3ZlRE9NVGltZXIoY29uc3QgRE9NVGltZXImKTsKKworICAgIHZvaWQgZGlkU3Rh
cnRBbmltYXRpb25PclRyYW5zaXRpb24oY29uc3QgUmVuZGVyRWxlbWVudCYsIENTU1Byb3BlcnR5
SUQsIFNlY29uZHMgZHVyYXRpb24pOworICAgIHZvaWQgZGlkRmluaXNoQW5pbWF0aW9uT3JUcmFu
c2l0aW9uKGNvbnN0IFJlbmRlckVsZW1lbnQmKTsKKwogICAgIFdFQkNPUkVfRVhQT1JUIHZvaWQg
d2lsbE5vdFByb2NlZWRXaXRoQ2xpY2soKTsKICAgICBXRUJDT1JFX0VYUE9SVCBzdGF0aWMgdm9p
ZCBkaWRSZWNvZ25pemVMb25nUHJlc3MoRnJhbWUmIG1haW5GcmFtZSk7CiAgICAgV0VCQ09SRV9F
WFBPUlQgc3RhdGljIHZvaWQgZGlkUHJldmVudERlZmF1bHRGb3JFdmVudChGcmFtZSYgbWFpbkZy
YW1lKTsKQEAgLTExMyw2ICsxMTgsOCBAQCBwcml2YXRlOgogCiAgICAgdm9pZCBzZXRTaG91bGRP
YnNlcnZlRE9NVGltZXJTY2hlZHVsaW5nKGJvb2wgb2JzZXJ2ZSkgeyBtX2lzT2JzZXJ2aW5nRE9N
VGltZXJTY2hlZHVsaW5nID0gb2JzZXJ2ZTsgfQogICAgIGJvb2wgaXNPYnNlcnZpbmdET01UaW1l
clNjaGVkdWxpbmcoKSBjb25zdCB7IHJldHVybiBtX2lzT2JzZXJ2aW5nRE9NVGltZXJTY2hlZHVs
aW5nOyB9CisgICAgYm9vbCBpc09ic2VydmluZ0FuaW1hdGlvbnNBbmRUcmFuc2l0aW9ucygpIGNv
bnN0IHsgcmV0dXJuIG1faXNPYnNlcnZpbmdBbmltYXRpb25zQW5kVHJhbnNpdGlvbnM7IH0KKyAg
ICBib29sIGlzT2JzZXJ2ZWRQcm9wZXJ0eShDU1NQcm9wZXJ0eUlEIHByb3BlcnR5SWQpIGNvbnN0
IHsgcmV0dXJuIHByb3BlcnR5SWQgPT0gQ1NTUHJvcGVydHlMZWZ0OyB9CiAgICAgdm9pZCBkb21U
aW1lckV4ZWN1dGVEaWRTdGFydChjb25zdCBET01UaW1lciYpOwogICAgIHZvaWQgZG9tVGltZXJF
eGVjdXRlRGlkRmluaXNoKGNvbnN0IERPTVRpbWVyJik7CiAgICAgdm9pZCByZWdpc3RlckRPTVRp
bWVyKGNvbnN0IERPTVRpbWVyJiB0aW1lcikgeyBtX0RPTVRpbWVyTGlzdC5hZGQoJnRpbWVyKTsg
fQpAQCAtMTY2LDYgKzE3Myw4IEBAIHByaXZhdGU6CiAgICAgRG9jdW1lbnQmIG1fZG9jdW1lbnQ7
CiAgICAgVGltZXIgbV9jb250ZW50T2JzZXJ2YXRpb25UaW1lcjsKICAgICBIYXNoU2V0PGNvbnN0
IERPTVRpbWVyKj4gbV9ET01UaW1lckxpc3Q7CisgICAgLy8gRklYTUU6IE1vdmUgb3ZlciB0byBX
ZWFrSGFzaFNldCB3aGVuIGl0IHN0YXJ0cyBzdXBwb3J0aW5nIGNvbnN0LgorICAgIEhhc2hTZXQ8
Y29uc3QgUmVuZGVyRWxlbWVudCo+IG1fcmVuZGVyZXJzV2l0aEFuaW1hdGlvbk9yVHJhbnNpdGlv
bjsKICAgICBib29sIG1fdG91Y2hFdmVudElzQmVpbmdEaXNwYXRjaGVkIHsgZmFsc2UgfTsKICAg
ICBib29sIG1faXNXYWl0aW5nRm9yU3R5bGVSZWNhbGMgeyBmYWxzZSB9OwogICAgIGJvb2wgbV9p
c0luT2JzZXJ2ZWRTdHlsZVJlY2FsYyB7IGZhbHNlIH07CkBAIC0xNzMsNiArMTgyLDcgQEAgcHJp
dmF0ZToKICAgICBib29sIG1fb2JzZXJ2ZWREb21UaW1lcklzQmVpbmdFeGVjdXRlZCB7IGZhbHNl
IH07CiAgICAgYm9vbCBtX21vdXNlTW92ZWRFdmVudElzQmVpbmdEaXNwYXRjaGVkIHsgZmFsc2Ug
fTsKICAgICBib29sIG1faXNCZXR3ZWVuVG91Y2hFbmRBbmRNb3VzZU1vdmVkIHsgZmFsc2UgfTsK
KyAgICBib29sIG1faXNPYnNlcnZpbmdBbmltYXRpb25zQW5kVHJhbnNpdGlvbnMgeyBmYWxzZSB9
OwogfTsKIAogaW5saW5lIHZvaWQgQ29udGVudENoYW5nZU9ic2VydmVyOjpzZXRIYXNOb0NoYW5n
ZVN0YXRlKCkKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL3JlbmRlcmluZy9SZW5kZXJFbGVt
ZW50LmNwcCBiL1NvdXJjZS9XZWJDb3JlL3JlbmRlcmluZy9SZW5kZXJFbGVtZW50LmNwcAppbmRl
eCAwMjJmZTNiYTAwZmJkNjExMTYxYTcxNDJkOTJhZWQ5YTY1MzliMmVmLi5jZjA5NGFkMzVhZGU3
MmM2ZDg4NzNhNzBhMTQ5Y2NjMmI2ZTkzMDE0IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9y
ZW5kZXJpbmcvUmVuZGVyRWxlbWVudC5jcHAKKysrIGIvU291cmNlL1dlYkNvcmUvcmVuZGVyaW5n
L1JlbmRlckVsZW1lbnQuY3BwCkBAIC0yNiw2ICsyNiw3IEBACiAjaW5jbHVkZSAiUmVuZGVyRWxl
bWVudC5oIgogCiAjaW5jbHVkZSAiQVhPYmplY3RDYWNoZS5oIgorI2luY2x1ZGUgIkNvbnRlbnRD
aGFuZ2VPYnNlcnZlci5oIgogI2luY2x1ZGUgIkNvbnRlbnREYXRhLmgiCiAjaW5jbHVkZSAiQ3Vy
c29yTGlzdC5oIgogI2luY2x1ZGUgIkVsZW1lbnRDaGlsZEl0ZXJhdG9yLmgiCkBAIC0yMTY4LDQg
KzIxNjksNDEgQEAgdm9pZCBSZW5kZXJFbGVtZW50OjpyZXNldFRleHRBdXRvc2l6aW5nKCkKIH0K
ICNlbmRpZiAvLyBFTkFCTEUoVEVYVF9BVVRPU0laSU5HKQogCitib29sIFJlbmRlckVsZW1lbnQ6
OnN0YXJ0VHJhbnNpdGlvbihkb3VibGUgdGltZU9mZnNldCwgQ1NTUHJvcGVydHlJRCBwcm9wZXJ0
eUlELCBjb25zdCBSZW5kZXJTdHlsZSosIGNvbnN0IFJlbmRlclN0eWxlKikKK3sgCisjaWYgUExB
VEZPUk0oSU9TX0ZBTUlMWSkKKyAgICBkb2N1bWVudCgpLmNvbnRlbnRDaGFuZ2VPYnNlcnZlcigp
LmRpZFN0YXJ0QW5pbWF0aW9uT3JUcmFuc2l0aW9uKCp0aGlzLCBwcm9wZXJ0eUlELCBTZWNvbmRz
IHsgdGltZU9mZnNldCB9KTsKKyNlbHNlCisgICAgVU5VU0VEX1BBUkFNKHRpbWVPZmZzZXQpOwor
ICAgIFVOVVNFRF9QQVJBTShwcm9wZXJ0eUlEKTsKKyNlbmRpZgorICAgIHJldHVybiBmYWxzZTsg
Cit9CisKK3ZvaWQgUmVuZGVyRWxlbWVudDo6dHJhbnNpdGlvbkZpbmlzaGVkKENTU1Byb3BlcnR5
SUQpCit7CisjaWYgUExBVEZPUk0oSU9TX0ZBTUlMWSkKKyAgICBkb2N1bWVudCgpLmNvbnRlbnRD
aGFuZ2VPYnNlcnZlcigpLmRpZEZpbmlzaEFuaW1hdGlvbk9yVHJhbnNpdGlvbigqdGhpcyk7Cisj
ZW5kaWYKK30KKworYm9vbCBSZW5kZXJFbGVtZW50OjpzdGFydEFuaW1hdGlvbihkb3VibGUgdGlt
ZU9mZnNldCwgY29uc3QgQW5pbWF0aW9uKiBhbmltYXRpb24sIGNvbnN0IEtleWZyYW1lTGlzdCYp
Cit7IAorI2lmIFBMQVRGT1JNKElPU19GQU1JTFkpCisgICAgaWYgKGFuaW1hdGlvbikKKyAgICAg
ICAgZG9jdW1lbnQoKS5jb250ZW50Q2hhbmdlT2JzZXJ2ZXIoKS5kaWRTdGFydEFuaW1hdGlvbk9y
VHJhbnNpdGlvbigqdGhpcywgYW5pbWF0aW9uLT5wcm9wZXJ0eSgpLCBTZWNvbmRzIHsgdGltZU9m
ZnNldCB9KTsKKyNlbHNlCisgICAgVU5VU0VEX1BBUkFNKHRpbWVPZmZzZXQpOworICAgIFVOVVNF
RF9QQVJBTShhbmltYXRpb24pOworI2VuZGlmCisgICAgcmV0dXJuIGZhbHNlOworfQorCit2b2lk
IFJlbmRlckVsZW1lbnQ6OmFuaW1hdGlvbkZpbmlzaGVkKGNvbnN0IFN0cmluZyYpCit7IAorI2lm
IFBMQVRGT1JNKElPU19GQU1JTFkpCisgICAgZG9jdW1lbnQoKS5jb250ZW50Q2hhbmdlT2JzZXJ2
ZXIoKS5kaWRGaW5pc2hBbmltYXRpb25PclRyYW5zaXRpb24oKnRoaXMpOworI2VuZGlmCit9CisK
IH0KZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL3JlbmRlcmluZy9SZW5kZXJFbGVtZW50Lmgg
Yi9Tb3VyY2UvV2ViQ29yZS9yZW5kZXJpbmcvUmVuZGVyRWxlbWVudC5oCmluZGV4IGRhZTU2ZDM4
ZjRkZGU3ZjIyNjI5Y2IyMTU3ODFmNDFlMjIzNjk1MzAuLjA4OWY5NmI5NGY0NzNiY2NkYTg1NDc3
YzYwYjZjYjYyNjc3YmE1YTQgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL3JlbmRlcmluZy9S
ZW5kZXJFbGVtZW50LmgKKysrIGIvU291cmNlL1dlYkNvcmUvcmVuZGVyaW5nL1JlbmRlckVsZW1l
bnQuaApAQCAtMjIyLDE0ICsyMjIsMTQgQEAgcHVibGljOgogICAgIFJlbmRlck9iamVjdCogYXR0
YWNoUmVuZGVyZXJJbnRlcm5hbChSZW5kZXJQdHI8UmVuZGVyT2JqZWN0PiBjaGlsZCwgUmVuZGVy
T2JqZWN0KiBiZWZvcmVDaGlsZCk7CiAgICAgUmVuZGVyUHRyPFJlbmRlck9iamVjdD4gZGV0YWNo
UmVuZGVyZXJJbnRlcm5hbChSZW5kZXJPYmplY3QmKTsKIAotICAgIHZpcnR1YWwgYm9vbCBzdGFy
dFRyYW5zaXRpb24oZG91YmxlIC8qIHRpbWVPZmZzZXQgKi8sIENTU1Byb3BlcnR5SUQsIGNvbnN0
IFJlbmRlclN0eWxlKiAvKiBmcm9tU3R5bGUgKi8sIGNvbnN0IFJlbmRlclN0eWxlKiAvKiB0b1N0
eWxlICovKSB7IHJldHVybiBmYWxzZTsgfQorICAgIHZpcnR1YWwgYm9vbCBzdGFydFRyYW5zaXRp
b24oZG91YmxlIHRpbWVPZmZzZXQsIENTU1Byb3BlcnR5SUQsIGNvbnN0IFJlbmRlclN0eWxlKiBm
cm9tU3R5bGUsIGNvbnN0IFJlbmRlclN0eWxlKiB0b1N0eWxlKTsKICAgICB2aXJ0dWFsIHZvaWQg
dHJhbnNpdGlvblBhdXNlZChkb3VibGUgLyogdGltZU9mZnNldCAqLywgQ1NTUHJvcGVydHlJRCkg
eyB9Ci0gICAgdmlydHVhbCB2b2lkIHRyYW5zaXRpb25GaW5pc2hlZChDU1NQcm9wZXJ0eUlEKSB7
IH0KKyAgICB2aXJ0dWFsIHZvaWQgdHJhbnNpdGlvbkZpbmlzaGVkKENTU1Byb3BlcnR5SUQpOwog
Ci0gICAgdmlydHVhbCBib29sIHN0YXJ0QW5pbWF0aW9uKGRvdWJsZSAvKiB0aW1lT2Zmc2V0ICov
LCBjb25zdCBBbmltYXRpb24qLCBjb25zdCBLZXlmcmFtZUxpc3QmKSB7IHJldHVybiBmYWxzZTsg
fQorICAgIHZpcnR1YWwgYm9vbCBzdGFydEFuaW1hdGlvbihkb3VibGUgdGltZU9mZnNldCwgY29u
c3QgQW5pbWF0aW9uKiwgY29uc3QgS2V5ZnJhbWVMaXN0Jik7CiAgICAgdmlydHVhbCB2b2lkIGFu
aW1hdGlvblBhdXNlZChkb3VibGUgLyogdGltZU9mZnNldCAqLywgY29uc3QgU3RyaW5nJiAvKiBu
YW1lICovKSB7IH0KICAgICB2aXJ0dWFsIHZvaWQgYW5pbWF0aW9uU2Vla2VkKGRvdWJsZSAvKiB0
aW1lT2Zmc2V0ICovLCBjb25zdCBTdHJpbmcmIC8qIG5hbWUgKi8pIHsgfQotICAgIHZpcnR1YWwg
dm9pZCBhbmltYXRpb25GaW5pc2hlZChjb25zdCBTdHJpbmcmIC8qIG5hbWUgKi8pIHsgfQorICAg
IHZpcnR1YWwgdm9pZCBhbmltYXRpb25GaW5pc2hlZChjb25zdCBTdHJpbmcmIG5hbWUpOwogCiAg
ICAgdmlydHVhbCB2b2lkIHN1c3BlbmRBbmltYXRpb25zKE1vbm90b25pY1RpbWUgPSBNb25vdG9u
aWNUaW1lKCkpIHsgfQogCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9yZW5kZXJpbmcvUmVu
ZGVyTGF5ZXJNb2RlbE9iamVjdC5jcHAgYi9Tb3VyY2UvV2ViQ29yZS9yZW5kZXJpbmcvUmVuZGVy
TGF5ZXJNb2RlbE9iamVjdC5jcHAKaW5kZXggNGMwMWU4ZTE2Yzc3N2Y5NTYyZGE5NDA3MWVlOWUy
NTA0ZjExZDJlYy4uNzEwZGFkM2Q1NjI3ZGY0MjQxYmI2ZDNjZWQxMThkMGNlZTg2MmJjNiAxMDA2
NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvcmVuZGVyaW5nL1JlbmRlckxheWVyTW9kZWxPYmplY3Qu
Y3BwCisrKyBiL1NvdXJjZS9XZWJDb3JlL3JlbmRlcmluZy9SZW5kZXJMYXllck1vZGVsT2JqZWN0
LmNwcApAQCAtMjg1LDEzICsyODUsMTUgQEAgdm9pZCBSZW5kZXJMYXllck1vZGVsT2JqZWN0Ojpj
b21wdXRlUmVwYWludExheW91dFJlY3RzKGNvbnN0IFJlbmRlckxheWVyTW9kZWxPYmoKIAogYm9v
bCBSZW5kZXJMYXllck1vZGVsT2JqZWN0OjpzdGFydFRyYW5zaXRpb24oZG91YmxlIHRpbWVPZmZz
ZXQsIENTU1Byb3BlcnR5SUQgcHJvcGVydHlJZCwgY29uc3QgUmVuZGVyU3R5bGUqIGZyb21TdHls
ZSwgY29uc3QgUmVuZGVyU3R5bGUqIHRvU3R5bGUpCiB7CisgICAgYXV0byBkaWRBbmltYXRlID0g
UmVuZGVyRWxlbWVudDo6c3RhcnRUcmFuc2l0aW9uKHRpbWVPZmZzZXQsIHByb3BlcnR5SWQsIGZy
b21TdHlsZSwgdG9TdHlsZSk7CiAgICAgaWYgKCFsYXllcigpIHx8ICFsYXllcigpLT5iYWNraW5n
KCkpCi0gICAgICAgIHJldHVybiBmYWxzZTsKKyAgICAgICAgcmV0dXJuIGRpZEFuaW1hdGU7CiAg
ICAgcmV0dXJuIGxheWVyKCktPmJhY2tpbmcoKS0+c3RhcnRUcmFuc2l0aW9uKHRpbWVPZmZzZXQs
IHByb3BlcnR5SWQsIGZyb21TdHlsZSwgdG9TdHlsZSk7CiB9CiAKIHZvaWQgUmVuZGVyTGF5ZXJN
b2RlbE9iamVjdDo6dHJhbnNpdGlvblBhdXNlZChkb3VibGUgdGltZU9mZnNldCwgQ1NTUHJvcGVy
dHlJRCBwcm9wZXJ0eUlkKQogeworICAgIFJlbmRlckVsZW1lbnQ6OnRyYW5zaXRpb25QYXVzZWQo
dGltZU9mZnNldCwgcHJvcGVydHlJZCk7CiAgICAgaWYgKCFsYXllcigpIHx8ICFsYXllcigpLT5i
YWNraW5nKCkpCiAgICAgICAgIHJldHVybjsKICAgICBsYXllcigpLT5iYWNraW5nKCktPnRyYW5z
aXRpb25QYXVzZWQodGltZU9mZnNldCwgcHJvcGVydHlJZCk7CkBAIC0yOTksNiArMzAxLDcgQEAg
dm9pZCBSZW5kZXJMYXllck1vZGVsT2JqZWN0Ojp0cmFuc2l0aW9uUGF1c2VkKGRvdWJsZSB0aW1l
T2Zmc2V0LCBDU1NQcm9wZXJ0eUlEIHAKIAogdm9pZCBSZW5kZXJMYXllck1vZGVsT2JqZWN0Ojp0
cmFuc2l0aW9uRmluaXNoZWQoQ1NTUHJvcGVydHlJRCBwcm9wZXJ0eUlkKQogeworICAgIFJlbmRl
ckVsZW1lbnQ6OnRyYW5zaXRpb25GaW5pc2hlZChwcm9wZXJ0eUlkKTsKICAgICBpZiAoIWxheWVy
KCkgfHwgIWxheWVyKCktPmJhY2tpbmcoKSkKICAgICAgICAgcmV0dXJuOwogICAgIGxheWVyKCkt
PmJhY2tpbmcoKS0+dHJhbnNpdGlvbkZpbmlzaGVkKHByb3BlcnR5SWQpOwpAQCAtMzA2LDEzICsz
MDksMTUgQEAgdm9pZCBSZW5kZXJMYXllck1vZGVsT2JqZWN0Ojp0cmFuc2l0aW9uRmluaXNoZWQo
Q1NTUHJvcGVydHlJRCBwcm9wZXJ0eUlkKQogCiBib29sIFJlbmRlckxheWVyTW9kZWxPYmplY3Q6
OnN0YXJ0QW5pbWF0aW9uKGRvdWJsZSB0aW1lT2Zmc2V0LCBjb25zdCBBbmltYXRpb24qIGFuaW1h
dGlvbiwgY29uc3QgS2V5ZnJhbWVMaXN0JiBrZXlmcmFtZXMpCiB7CisgICAgYXV0byBkaWRBbmlt
YXRlID0gUmVuZGVyRWxlbWVudDo6c3RhcnRBbmltYXRpb24odGltZU9mZnNldCwgYW5pbWF0aW9u
LCBrZXlmcmFtZXMpOwogICAgIGlmICghbGF5ZXIoKSB8fCAhbGF5ZXIoKS0+YmFja2luZygpKQot
ICAgICAgICByZXR1cm4gZmFsc2U7CisgICAgICAgIHJldHVybiBkaWRBbmltYXRlOwogICAgIHJl
dHVybiBsYXllcigpLT5iYWNraW5nKCktPnN0YXJ0QW5pbWF0aW9uKHRpbWVPZmZzZXQsIGFuaW1h
dGlvbiwga2V5ZnJhbWVzKTsKIH0KIAogdm9pZCBSZW5kZXJMYXllck1vZGVsT2JqZWN0Ojphbmlt
YXRpb25QYXVzZWQoZG91YmxlIHRpbWVPZmZzZXQsIGNvbnN0IFN0cmluZyYgbmFtZSkKIHsKKyAg
ICBSZW5kZXJFbGVtZW50OjphbmltYXRpb25QYXVzZWQodGltZU9mZnNldCwgbmFtZSk7CiAgICAg
aWYgKCFsYXllcigpIHx8ICFsYXllcigpLT5iYWNraW5nKCkpCiAgICAgICAgIHJldHVybjsKICAg
ICBsYXllcigpLT5iYWNraW5nKCktPmFuaW1hdGlvblBhdXNlZCh0aW1lT2Zmc2V0LCBuYW1lKTsK
QEAgLTMyMCw2ICszMjUsNyBAQCB2b2lkIFJlbmRlckxheWVyTW9kZWxPYmplY3Q6OmFuaW1hdGlv
blBhdXNlZChkb3VibGUgdGltZU9mZnNldCwgY29uc3QgU3RyaW5nJiBuYQogCiB2b2lkIFJlbmRl
ckxheWVyTW9kZWxPYmplY3Q6OmFuaW1hdGlvblNlZWtlZChkb3VibGUgdGltZU9mZnNldCwgY29u
c3QgU3RyaW5nJiBuYW1lKQogeworICAgIFJlbmRlckVsZW1lbnQ6OmFuaW1hdGlvblNlZWtlZCh0
aW1lT2Zmc2V0LCBuYW1lKTsKICAgICBpZiAoIWxheWVyKCkgfHwgIWxheWVyKCktPmJhY2tpbmco
KSkKICAgICAgICAgcmV0dXJuOwogICAgIGxheWVyKCktPmJhY2tpbmcoKS0+YW5pbWF0aW9uU2Vl
a2VkKHRpbWVPZmZzZXQsIG5hbWUpOwpAQCAtMzI3LDYgKzMzMyw3IEBAIHZvaWQgUmVuZGVyTGF5
ZXJNb2RlbE9iamVjdDo6YW5pbWF0aW9uU2Vla2VkKGRvdWJsZSB0aW1lT2Zmc2V0LCBjb25zdCBT
dHJpbmcmIG5hCiAKIHZvaWQgUmVuZGVyTGF5ZXJNb2RlbE9iamVjdDo6YW5pbWF0aW9uRmluaXNo
ZWQoY29uc3QgU3RyaW5nJiBuYW1lKQogeworICAgIFJlbmRlckVsZW1lbnQ6OmFuaW1hdGlvbkZp
bmlzaGVkKG5hbWUpOwogICAgIGlmICghbGF5ZXIoKSB8fCAhbGF5ZXIoKS0+YmFja2luZygpKQog
ICAgICAgICByZXR1cm47CiAgICAgbGF5ZXIoKS0+YmFja2luZygpLT5hbmltYXRpb25GaW5pc2hl
ZChuYW1lKTsKQEAgLTMzNCw2ICszNDEsNyBAQCB2b2lkIFJlbmRlckxheWVyTW9kZWxPYmplY3Q6
OmFuaW1hdGlvbkZpbmlzaGVkKGNvbnN0IFN0cmluZyYgbmFtZSkKIAogdm9pZCBSZW5kZXJMYXll
ck1vZGVsT2JqZWN0OjpzdXNwZW5kQW5pbWF0aW9ucyhNb25vdG9uaWNUaW1lIHRpbWUpCiB7Cisg
ICAgUmVuZGVyRWxlbWVudDo6c3VzcGVuZEFuaW1hdGlvbnModGltZSk7CiAgICAgaWYgKCFsYXll
cigpIHx8ICFsYXllcigpLT5iYWNraW5nKCkpCiAgICAgICAgIHJldHVybjsKICAgICBsYXllcigp
LT5iYWNraW5nKCktPnN1c3BlbmRBbmltYXRpb25zKHRpbWUpOwo=
</data>

          </attachment>
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>365089</attachid>
            <date>2019-03-18 16:44:41 -0700</date>
            <delta_ts>2019-03-18 19:07:30 -0700</delta_ts>
            <desc>Patch</desc>
            <filename>bug-195914-20190318164440.patch</filename>
            <type>text/plain</type>
            <size>13469</size>
            <attacher name="alan">zalan</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMjQzMTE0CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9D
aGFuZ2VMb2cgYi9Tb3VyY2UvV2ViQ29yZS9DaGFuZ2VMb2cKaW5kZXggYjM3YWEzYzcyNTNmODkz
MmZlZjk4ZGFiYThjNjIwN2NhYzE0MDhlNC4uYjE0YTY3MmYxZWNiZTMxMWVkZWY2MWY3NmY2MzQ1
ZjhkMTk1N2NmYiAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvQ2hhbmdlTG9nCisrKyBiL1Nv
dXJjZS9XZWJDb3JlL0NoYW5nZUxvZwpAQCAtMSwzICsxLDM5IEBACisyMDE5LTAzLTE4ICBaYWxh
biBCdWp0YXMgIDx6YWxhbkBhcHBsZS5jb20+CisKKyAgICAgICAgW0NvbnRlbnRDaGFuZ2VPYnNl
cnZlcl0gQWRkIHN1cHBvcnQgZm9yIG9ic2VydmluZyB0cmFuc2l0aW9ucyBhbmQgYW5pbWF0aW9u
cworICAgICAgICBodHRwczovL2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9MTk1OTE0
CisKKyAgICAgICAgUmV2aWV3ZWQgYnkgTk9CT0RZIChPT1BTISkuCisKKyAgICAgICAgVGhpcyBw
YXRjaCBpbnRyb2R1Y2VzIGFuIEFQSSBvbiBDb250ZW50Q2hhbmdlT2JzZXJ2ZXIgdG8gb2JzZXJ2
ZSBhbmltYXRpb25zIGFuZCB0cmFuc2l0aW9ucy4gSXQgaXMgbm90IGVuYWJsZWQgeWV0LgorCisg
ICAgICAgICogcGFnZS9pb3MvQ29udGVudENoYW5nZU9ic2VydmVyLmNwcDoKKyAgICAgICAgKFdl
YkNvcmU6OkNvbnRlbnRDaGFuZ2VPYnNlcnZlcjo6ZGlkSW5zdGFsbERPTVRpbWVyKToKKyAgICAg
ICAgKFdlYkNvcmU6OkNvbnRlbnRDaGFuZ2VPYnNlcnZlcjo6ZGlkU3RhcnRBbmltYXRpb25PclRy
YW5zaXRpb24pOgorICAgICAgICAoV2ViQ29yZTo6Q29udGVudENoYW5nZU9ic2VydmVyOjpkaWRG
aW5pc2hBbmltYXRpb25PclRyYW5zaXRpb24pOgorICAgICAgICAqIHBhZ2UvaW9zL0NvbnRlbnRD
aGFuZ2VPYnNlcnZlci5oOgorICAgICAgICAoV2ViQ29yZTo6Q29udGVudENoYW5nZU9ic2VydmVy
Ojppc09ic2VydmluZ0FuaW1hdGlvbnNBbmRUcmFuc2l0aW9ucyBjb25zdCk6CisgICAgICAgIChX
ZWJDb3JlOjpDb250ZW50Q2hhbmdlT2JzZXJ2ZXI6OmlzT2JzZXJ2ZWRQcm9wZXJ0eSBjb25zdCk6
CisgICAgICAgICogcmVuZGVyaW5nL1JlbmRlckVsZW1lbnQuY3BwOgorICAgICAgICAoV2ViQ29y
ZTo6UmVuZGVyRWxlbWVudDo6c3RhcnRUcmFuc2l0aW9uKToKKyAgICAgICAgKFdlYkNvcmU6OlJl
bmRlckVsZW1lbnQ6OnRyYW5zaXRpb25GaW5pc2hlZCk6CisgICAgICAgIChXZWJDb3JlOjpSZW5k
ZXJFbGVtZW50OjpzdGFydEFuaW1hdGlvbik6CisgICAgICAgIChXZWJDb3JlOjpSZW5kZXJFbGVt
ZW50OjphbmltYXRpb25GaW5pc2hlZCk6CisgICAgICAgICogcmVuZGVyaW5nL1JlbmRlckVsZW1l
bnQuaDoKKyAgICAgICAgKFdlYkNvcmU6OlJlbmRlckVsZW1lbnQ6OnN0YXJ0VHJhbnNpdGlvbik6
IERlbGV0ZWQuCisgICAgICAgIChXZWJDb3JlOjpSZW5kZXJFbGVtZW50Ojp0cmFuc2l0aW9uRmlu
aXNoZWQpOiBEZWxldGVkLgorICAgICAgICAoV2ViQ29yZTo6UmVuZGVyRWxlbWVudDo6c3RhcnRB
bmltYXRpb24pOiBEZWxldGVkLgorICAgICAgICAoV2ViQ29yZTo6UmVuZGVyRWxlbWVudDo6YW5p
bWF0aW9uRmluaXNoZWQpOiBEZWxldGVkLgorICAgICAgICAqIHJlbmRlcmluZy9SZW5kZXJMYXll
ck1vZGVsT2JqZWN0LmNwcDoKKyAgICAgICAgKFdlYkNvcmU6OlJlbmRlckxheWVyTW9kZWxPYmpl
Y3Q6OnN0YXJ0VHJhbnNpdGlvbik6CisgICAgICAgIChXZWJDb3JlOjpSZW5kZXJMYXllck1vZGVs
T2JqZWN0Ojp0cmFuc2l0aW9uUGF1c2VkKToKKyAgICAgICAgKFdlYkNvcmU6OlJlbmRlckxheWVy
TW9kZWxPYmplY3Q6OnRyYW5zaXRpb25GaW5pc2hlZCk6CisgICAgICAgIChXZWJDb3JlOjpSZW5k
ZXJMYXllck1vZGVsT2JqZWN0OjpzdGFydEFuaW1hdGlvbik6CisgICAgICAgIChXZWJDb3JlOjpS
ZW5kZXJMYXllck1vZGVsT2JqZWN0OjphbmltYXRpb25QYXVzZWQpOgorICAgICAgICAoV2ViQ29y
ZTo6UmVuZGVyTGF5ZXJNb2RlbE9iamVjdDo6YW5pbWF0aW9uU2Vla2VkKToKKyAgICAgICAgKFdl
YkNvcmU6OlJlbmRlckxheWVyTW9kZWxPYmplY3Q6OmFuaW1hdGlvbkZpbmlzaGVkKToKKyAgICAg
ICAgKFdlYkNvcmU6OlJlbmRlckxheWVyTW9kZWxPYmplY3Q6OnN1c3BlbmRBbmltYXRpb25zKToK
KwogMjAxOS0wMy0xOCAgU2FpZCBBYm91LUhhbGxhd2EgIDxzYWJvdWhhbGxhd2FAYXBwbGUuY29t
PgogCiAgICAgICAgIERlZmluZSB0aGUgdHlwZSBvZiBTVkdQcm9wZXJ0eU93bmVyUmVnaXN0cnkg
Zm9yIGFsbCBTVkcgZWxlbWVudHMKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL3BhZ2UvaW9z
L0NvbnRlbnRDaGFuZ2VPYnNlcnZlci5jcHAgYi9Tb3VyY2UvV2ViQ29yZS9wYWdlL2lvcy9Db250
ZW50Q2hhbmdlT2JzZXJ2ZXIuY3BwCmluZGV4IDhiZGUyZDM3ZmMzMzAzYjVlNWVkNzZmMGEyODAz
YThhN2Q2NDRmYTQuLmQ3ZGU5MDFhZjg3ZjZiZGM2ZmFlNTM5ZTllMTI1M2Y3YTE5NjJlY2EgMTAw
NjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL3BhZ2UvaW9zL0NvbnRlbnRDaGFuZ2VPYnNlcnZlci5j
cHAKKysrIGIvU291cmNlL1dlYkNvcmUvcGFnZS9pb3MvQ29udGVudENoYW5nZU9ic2VydmVyLmNw
cApAQCAtMzksNiArMzksOSBAQAogCiBuYW1lc3BhY2UgV2ViQ29yZSB7CiAKK3N0YXRpYyBjb25z
dCBTZWNvbmRzIG1heGltdW1EZWxheUZvclRpbWVycyB7IDMwMF9tcyB9Oworc3RhdGljIGNvbnN0
IFNlY29uZHMgbWF4aW11bURlbGF5Rm9yQW5pbWF0aW9uc0FuZFRyYW5zaXRpb25zIHsgMzAwX21z
IH07CisKIENvbnRlbnRDaGFuZ2VPYnNlcnZlcjo6Q29udGVudENoYW5nZU9ic2VydmVyKERvY3Vt
ZW50JiBkb2N1bWVudCkKICAgICA6IG1fZG9jdW1lbnQoZG9jdW1lbnQpCiAgICAgLCBtX2NvbnRl
bnRPYnNlcnZhdGlvblRpbWVyKFt0aGlzXSB7IGNvbXBsZXRlRHVyYXRpb25CYXNlZENvbnRlbnRP
YnNlcnZhdGlvbigpOyB9KQpAQCAtODcsNyArOTAsNyBAQCB2b2lkIENvbnRlbnRDaGFuZ2VPYnNl
cnZlcjo6ZGlkSW5zdGFsbERPTVRpbWVyKGNvbnN0IERPTVRpbWVyJiB0aW1lciwgU2Vjb25kcyB0
aQogICAgICAgICByZXR1cm47CiAgICAgaWYgKG1fZG9jdW1lbnQuYWN0aXZlRE9NT2JqZWN0c0Fy
ZVN1c3BlbmRlZCgpKQogICAgICAgICByZXR1cm47Ci0gICAgaWYgKHRpbWVvdXQgPiAzMDBfbXMg
fHwgIXNpbmdsZVNob3QpCisgICAgaWYgKHRpbWVvdXQgPiBtYXhpbXVtRGVsYXlGb3JUaW1lcnMg
fHwgIXNpbmdsZVNob3QpCiAgICAgICAgIHJldHVybjsKICAgICBpZiAoIWlzT2JzZXJ2aW5nRE9N
VGltZXJTY2hlZHVsaW5nKCkpCiAgICAgICAgIHJldHVybjsKQEAgLTEwOSw2ICsxMTIsMzAgQEAg
dm9pZCBDb250ZW50Q2hhbmdlT2JzZXJ2ZXI6OmRpZFJlbW92ZURPTVRpbWVyKGNvbnN0IERPTVRp
bWVyJiB0aW1lcikKICAgICBhZGp1c3RPYnNlcnZlZFN0YXRlKEV2ZW50OjpSZW1vdmVkRE9NVGlt
ZXIpOwogfQogCit2b2lkIENvbnRlbnRDaGFuZ2VPYnNlcnZlcjo6ZGlkU3RhcnRBbmltYXRpb25P
clRyYW5zaXRpb24oY29uc3QgUmVuZGVyRWxlbWVudCYgcmVuZGVyZXIsIENTU1Byb3BlcnR5SUQg
cHJvcGVydHlJRCwgU2Vjb25kcyBkdXJhdGlvbikKK3sKKyAgICBpZiAoIW1fZG9jdW1lbnQuc2V0
dGluZ3MoKS5jb250ZW50Q2hhbmdlT2JzZXJ2ZXJFbmFibGVkKCkpCisgICAgICAgIHJldHVybjsK
KyAgICBpZiAoIWlzT2JzZXJ2aW5nQW5pbWF0aW9uc0FuZFRyYW5zaXRpb25zKCkpCisgICAgICAg
IHJldHVybjsKKyAgICBpZiAoaGFzVmlzaWJsZUNoYW5nZVN0YXRlKCkpCisgICAgICAgIHJldHVy
bjsKKyAgICBpZiAoZHVyYXRpb24gPiBtYXhpbXVtRGVsYXlGb3JBbmltYXRpb25zQW5kVHJhbnNp
dGlvbnMgfHwgIWlzT2JzZXJ2ZWRQcm9wZXJ0eShwcm9wZXJ0eUlEKSkKKyAgICAgICAgcmV0dXJu
OworICAgIExPRyhDb250ZW50T2JzZXJ2YXRpb24sICJkaWRTdGFydEFuaW1hdGlvbk9yVHJhbnNp
dGlvbjogYW5pbWF0aW9uIG9yIHRyYW5zaXRpb24gc3RhcnRlZC4iKTsKKworICAgIG1fcmVuZGVy
ZXJzV2l0aEFuaW1hdGlvbk9yVHJhbnNpdGlvbi5hZGQoJnJlbmRlcmVyKTsKK30KKwordm9pZCBD
b250ZW50Q2hhbmdlT2JzZXJ2ZXI6OmRpZEZpbmlzaEFuaW1hdGlvbk9yVHJhbnNpdGlvbihjb25z
dCBSZW5kZXJFbGVtZW50JiByZW5kZXJlcikKK3sKKyAgICBpZiAoIW1fcmVuZGVyZXJzV2l0aEFu
aW1hdGlvbk9yVHJhbnNpdGlvbi5jb250YWlucygmcmVuZGVyZXIpKQorICAgICAgICByZXR1cm47
CisgICAgTE9HKENvbnRlbnRPYnNlcnZhdGlvbiwgImRpZEZpbmlzaEFuaW1hdGlvbk9yVHJhbnNp
dGlvbjogYW5pbWF0aW9uIG9yIHRyYW5zaXRpb24gZmluaXNoZWQuIik7CisKKyAgICBtX3JlbmRl
cmVyc1dpdGhBbmltYXRpb25PclRyYW5zaXRpb24ucmVtb3ZlKCZyZW5kZXJlcik7Cit9CisKIHZv
aWQgQ29udGVudENoYW5nZU9ic2VydmVyOjp3aWxsTm90UHJvY2VlZFdpdGhDbGljaygpCiB7CiAg
ICAgTE9HKENvbnRlbnRPYnNlcnZhdGlvbiwgIndpbGxOb3RQcm9jZWVkV2l0aENsaWNrOiBjbGlj
ayB3aWxsIG5vdCBoYXBwZW4uIik7CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9wYWdlL2lv
cy9Db250ZW50Q2hhbmdlT2JzZXJ2ZXIuaCBiL1NvdXJjZS9XZWJDb3JlL3BhZ2UvaW9zL0NvbnRl
bnRDaGFuZ2VPYnNlcnZlci5oCmluZGV4IDZhZTE4MDI2MjFmODI0Njg1NGM0ZTFjZDliOTZmYTE1
OTJmOWUxZmYuLmFiZWU3Y2M2NWU3YzJhOWQwMTE0OWFlMjFiYzkzNzc0MDQ0MzM5OTUgMTAwNjQ0
Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL3BhZ2UvaW9zL0NvbnRlbnRDaGFuZ2VPYnNlcnZlci5oCisr
KyBiL1NvdXJjZS9XZWJDb3JlL3BhZ2UvaW9zL0NvbnRlbnRDaGFuZ2VPYnNlcnZlci5oCkBAIC0z
MCw2ICszMCw3IEBACiAjaW5jbHVkZSAiUGxhdGZvcm1FdmVudC5oIgogI2luY2x1ZGUgIlRpbWVy
LmgiCiAjaW5jbHVkZSAiV0tDb250ZW50T2JzZXJ2YXRpb24uaCIKKyNpbmNsdWRlIDx3dGYvSGFz
aFNldC5oPgogCiBuYW1lc3BhY2UgV2ViQ29yZSB7CiAKQEAgLTQ1LDYgKzQ2LDEwIEBAIHB1Ymxp
YzoKIAogICAgIHZvaWQgZGlkSW5zdGFsbERPTVRpbWVyKGNvbnN0IERPTVRpbWVyJiwgU2Vjb25k
cyB0aW1lb3V0LCBib29sIHNpbmdsZVNob3QpOwogICAgIHZvaWQgZGlkUmVtb3ZlRE9NVGltZXIo
Y29uc3QgRE9NVGltZXImKTsKKworICAgIHZvaWQgZGlkU3RhcnRBbmltYXRpb25PclRyYW5zaXRp
b24oY29uc3QgUmVuZGVyRWxlbWVudCYsIENTU1Byb3BlcnR5SUQsIFNlY29uZHMgZHVyYXRpb24p
OworICAgIHZvaWQgZGlkRmluaXNoQW5pbWF0aW9uT3JUcmFuc2l0aW9uKGNvbnN0IFJlbmRlckVs
ZW1lbnQmKTsKKwogICAgIFdFQkNPUkVfRVhQT1JUIHZvaWQgd2lsbE5vdFByb2NlZWRXaXRoQ2xp
Y2soKTsKICAgICBXRUJDT1JFX0VYUE9SVCBzdGF0aWMgdm9pZCBkaWRSZWNvZ25pemVMb25nUHJl
c3MoRnJhbWUmIG1haW5GcmFtZSk7CiAgICAgV0VCQ09SRV9FWFBPUlQgc3RhdGljIHZvaWQgZGlk
UHJldmVudERlZmF1bHRGb3JFdmVudChGcmFtZSYgbWFpbkZyYW1lKTsKQEAgLTExMyw2ICsxMTgs
OCBAQCBwcml2YXRlOgogCiAgICAgdm9pZCBzZXRTaG91bGRPYnNlcnZlRE9NVGltZXJTY2hlZHVs
aW5nKGJvb2wgb2JzZXJ2ZSkgeyBtX2lzT2JzZXJ2aW5nRE9NVGltZXJTY2hlZHVsaW5nID0gb2Jz
ZXJ2ZTsgfQogICAgIGJvb2wgaXNPYnNlcnZpbmdET01UaW1lclNjaGVkdWxpbmcoKSBjb25zdCB7
IHJldHVybiBtX2lzT2JzZXJ2aW5nRE9NVGltZXJTY2hlZHVsaW5nOyB9CisgICAgYm9vbCBpc09i
c2VydmluZ0FuaW1hdGlvbnNBbmRUcmFuc2l0aW9ucygpIGNvbnN0IHsgcmV0dXJuIG1faXNPYnNl
cnZpbmdBbmltYXRpb25zQW5kVHJhbnNpdGlvbnM7IH0KKyAgICBib29sIGlzT2JzZXJ2ZWRQcm9w
ZXJ0eShDU1NQcm9wZXJ0eUlEIHByb3BlcnR5SWQpIGNvbnN0IHsgcmV0dXJuIHByb3BlcnR5SWQg
PT0gQ1NTUHJvcGVydHlMZWZ0OyB9CiAgICAgdm9pZCBkb21UaW1lckV4ZWN1dGVEaWRTdGFydChj
b25zdCBET01UaW1lciYpOwogICAgIHZvaWQgZG9tVGltZXJFeGVjdXRlRGlkRmluaXNoKGNvbnN0
IERPTVRpbWVyJik7CiAgICAgdm9pZCByZWdpc3RlckRPTVRpbWVyKGNvbnN0IERPTVRpbWVyJiB0
aW1lcikgeyBtX0RPTVRpbWVyTGlzdC5hZGQoJnRpbWVyKTsgfQpAQCAtMTY2LDYgKzE3Myw4IEBA
IHByaXZhdGU6CiAgICAgRG9jdW1lbnQmIG1fZG9jdW1lbnQ7CiAgICAgVGltZXIgbV9jb250ZW50
T2JzZXJ2YXRpb25UaW1lcjsKICAgICBIYXNoU2V0PGNvbnN0IERPTVRpbWVyKj4gbV9ET01UaW1l
ckxpc3Q7CisgICAgLy8gRklYTUU6IE1vdmUgb3ZlciB0byBXZWFrSGFzaFNldCB3aGVuIGl0IHN0
YXJ0cyBzdXBwb3J0aW5nIGNvbnN0LgorICAgIEhhc2hTZXQ8Y29uc3QgUmVuZGVyRWxlbWVudCo+
IG1fcmVuZGVyZXJzV2l0aEFuaW1hdGlvbk9yVHJhbnNpdGlvbjsKICAgICBib29sIG1fdG91Y2hF
dmVudElzQmVpbmdEaXNwYXRjaGVkIHsgZmFsc2UgfTsKICAgICBib29sIG1faXNXYWl0aW5nRm9y
U3R5bGVSZWNhbGMgeyBmYWxzZSB9OwogICAgIGJvb2wgbV9pc0luT2JzZXJ2ZWRTdHlsZVJlY2Fs
YyB7IGZhbHNlIH07CkBAIC0xNzMsNiArMTgyLDcgQEAgcHJpdmF0ZToKICAgICBib29sIG1fb2Jz
ZXJ2ZWREb21UaW1lcklzQmVpbmdFeGVjdXRlZCB7IGZhbHNlIH07CiAgICAgYm9vbCBtX21vdXNl
TW92ZWRFdmVudElzQmVpbmdEaXNwYXRjaGVkIHsgZmFsc2UgfTsKICAgICBib29sIG1faXNCZXR3
ZWVuVG91Y2hFbmRBbmRNb3VzZU1vdmVkIHsgZmFsc2UgfTsKKyAgICBib29sIG1faXNPYnNlcnZp
bmdBbmltYXRpb25zQW5kVHJhbnNpdGlvbnMgeyBmYWxzZSB9OwogfTsKIAogaW5saW5lIHZvaWQg
Q29udGVudENoYW5nZU9ic2VydmVyOjpzZXRIYXNOb0NoYW5nZVN0YXRlKCkKZGlmZiAtLWdpdCBh
L1NvdXJjZS9XZWJDb3JlL3JlbmRlcmluZy9SZW5kZXJFbGVtZW50LmNwcCBiL1NvdXJjZS9XZWJD
b3JlL3JlbmRlcmluZy9SZW5kZXJFbGVtZW50LmNwcAppbmRleCAwMjJmZTNiYTAwZmJkNjExMTYx
YTcxNDJkOTJhZWQ5YTY1MzliMmVmLi5jZjA5NGFkMzVhZGU3MmM2ZDg4NzNhNzBhMTQ5Y2NjMmI2
ZTkzMDE0IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9yZW5kZXJpbmcvUmVuZGVyRWxlbWVu
dC5jcHAKKysrIGIvU291cmNlL1dlYkNvcmUvcmVuZGVyaW5nL1JlbmRlckVsZW1lbnQuY3BwCkBA
IC0yNiw2ICsyNiw3IEBACiAjaW5jbHVkZSAiUmVuZGVyRWxlbWVudC5oIgogCiAjaW5jbHVkZSAi
QVhPYmplY3RDYWNoZS5oIgorI2luY2x1ZGUgIkNvbnRlbnRDaGFuZ2VPYnNlcnZlci5oIgogI2lu
Y2x1ZGUgIkNvbnRlbnREYXRhLmgiCiAjaW5jbHVkZSAiQ3Vyc29yTGlzdC5oIgogI2luY2x1ZGUg
IkVsZW1lbnRDaGlsZEl0ZXJhdG9yLmgiCkBAIC0yMTY4LDQgKzIxNjksNDEgQEAgdm9pZCBSZW5k
ZXJFbGVtZW50OjpyZXNldFRleHRBdXRvc2l6aW5nKCkKIH0KICNlbmRpZiAvLyBFTkFCTEUoVEVY
VF9BVVRPU0laSU5HKQogCitib29sIFJlbmRlckVsZW1lbnQ6OnN0YXJ0VHJhbnNpdGlvbihkb3Vi
bGUgdGltZU9mZnNldCwgQ1NTUHJvcGVydHlJRCBwcm9wZXJ0eUlELCBjb25zdCBSZW5kZXJTdHls
ZSosIGNvbnN0IFJlbmRlclN0eWxlKikKK3sgCisjaWYgUExBVEZPUk0oSU9TX0ZBTUlMWSkKKyAg
ICBkb2N1bWVudCgpLmNvbnRlbnRDaGFuZ2VPYnNlcnZlcigpLmRpZFN0YXJ0QW5pbWF0aW9uT3JU
cmFuc2l0aW9uKCp0aGlzLCBwcm9wZXJ0eUlELCBTZWNvbmRzIHsgdGltZU9mZnNldCB9KTsKKyNl
bHNlCisgICAgVU5VU0VEX1BBUkFNKHRpbWVPZmZzZXQpOworICAgIFVOVVNFRF9QQVJBTShwcm9w
ZXJ0eUlEKTsKKyNlbmRpZgorICAgIHJldHVybiBmYWxzZTsgCit9CisKK3ZvaWQgUmVuZGVyRWxl
bWVudDo6dHJhbnNpdGlvbkZpbmlzaGVkKENTU1Byb3BlcnR5SUQpCit7CisjaWYgUExBVEZPUk0o
SU9TX0ZBTUlMWSkKKyAgICBkb2N1bWVudCgpLmNvbnRlbnRDaGFuZ2VPYnNlcnZlcigpLmRpZEZp
bmlzaEFuaW1hdGlvbk9yVHJhbnNpdGlvbigqdGhpcyk7CisjZW5kaWYKK30KKworYm9vbCBSZW5k
ZXJFbGVtZW50OjpzdGFydEFuaW1hdGlvbihkb3VibGUgdGltZU9mZnNldCwgY29uc3QgQW5pbWF0
aW9uKiBhbmltYXRpb24sIGNvbnN0IEtleWZyYW1lTGlzdCYpCit7IAorI2lmIFBMQVRGT1JNKElP
U19GQU1JTFkpCisgICAgaWYgKGFuaW1hdGlvbikKKyAgICAgICAgZG9jdW1lbnQoKS5jb250ZW50
Q2hhbmdlT2JzZXJ2ZXIoKS5kaWRTdGFydEFuaW1hdGlvbk9yVHJhbnNpdGlvbigqdGhpcywgYW5p
bWF0aW9uLT5wcm9wZXJ0eSgpLCBTZWNvbmRzIHsgdGltZU9mZnNldCB9KTsKKyNlbHNlCisgICAg
VU5VU0VEX1BBUkFNKHRpbWVPZmZzZXQpOworICAgIFVOVVNFRF9QQVJBTShhbmltYXRpb24pOwor
I2VuZGlmCisgICAgcmV0dXJuIGZhbHNlOworfQorCit2b2lkIFJlbmRlckVsZW1lbnQ6OmFuaW1h
dGlvbkZpbmlzaGVkKGNvbnN0IFN0cmluZyYpCit7IAorI2lmIFBMQVRGT1JNKElPU19GQU1JTFkp
CisgICAgZG9jdW1lbnQoKS5jb250ZW50Q2hhbmdlT2JzZXJ2ZXIoKS5kaWRGaW5pc2hBbmltYXRp
b25PclRyYW5zaXRpb24oKnRoaXMpOworI2VuZGlmCit9CisKIH0KZGlmZiAtLWdpdCBhL1NvdXJj
ZS9XZWJDb3JlL3JlbmRlcmluZy9SZW5kZXJFbGVtZW50LmggYi9Tb3VyY2UvV2ViQ29yZS9yZW5k
ZXJpbmcvUmVuZGVyRWxlbWVudC5oCmluZGV4IGRhZTU2ZDM4ZjRkZGU3ZjIyNjI5Y2IyMTU3ODFm
NDFlMjIzNjk1MzAuLjA4OWY5NmI5NGY0NzNiY2NkYTg1NDc3YzYwYjZjYjYyNjc3YmE1YTQgMTAw
NjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL3JlbmRlcmluZy9SZW5kZXJFbGVtZW50LmgKKysrIGIv
U291cmNlL1dlYkNvcmUvcmVuZGVyaW5nL1JlbmRlckVsZW1lbnQuaApAQCAtMjIyLDE0ICsyMjIs
MTQgQEAgcHVibGljOgogICAgIFJlbmRlck9iamVjdCogYXR0YWNoUmVuZGVyZXJJbnRlcm5hbChS
ZW5kZXJQdHI8UmVuZGVyT2JqZWN0PiBjaGlsZCwgUmVuZGVyT2JqZWN0KiBiZWZvcmVDaGlsZCk7
CiAgICAgUmVuZGVyUHRyPFJlbmRlck9iamVjdD4gZGV0YWNoUmVuZGVyZXJJbnRlcm5hbChSZW5k
ZXJPYmplY3QmKTsKIAotICAgIHZpcnR1YWwgYm9vbCBzdGFydFRyYW5zaXRpb24oZG91YmxlIC8q
IHRpbWVPZmZzZXQgKi8sIENTU1Byb3BlcnR5SUQsIGNvbnN0IFJlbmRlclN0eWxlKiAvKiBmcm9t
U3R5bGUgKi8sIGNvbnN0IFJlbmRlclN0eWxlKiAvKiB0b1N0eWxlICovKSB7IHJldHVybiBmYWxz
ZTsgfQorICAgIHZpcnR1YWwgYm9vbCBzdGFydFRyYW5zaXRpb24oZG91YmxlIHRpbWVPZmZzZXQs
IENTU1Byb3BlcnR5SUQsIGNvbnN0IFJlbmRlclN0eWxlKiBmcm9tU3R5bGUsIGNvbnN0IFJlbmRl
clN0eWxlKiB0b1N0eWxlKTsKICAgICB2aXJ0dWFsIHZvaWQgdHJhbnNpdGlvblBhdXNlZChkb3Vi
bGUgLyogdGltZU9mZnNldCAqLywgQ1NTUHJvcGVydHlJRCkgeyB9Ci0gICAgdmlydHVhbCB2b2lk
IHRyYW5zaXRpb25GaW5pc2hlZChDU1NQcm9wZXJ0eUlEKSB7IH0KKyAgICB2aXJ0dWFsIHZvaWQg
dHJhbnNpdGlvbkZpbmlzaGVkKENTU1Byb3BlcnR5SUQpOwogCi0gICAgdmlydHVhbCBib29sIHN0
YXJ0QW5pbWF0aW9uKGRvdWJsZSAvKiB0aW1lT2Zmc2V0ICovLCBjb25zdCBBbmltYXRpb24qLCBj
b25zdCBLZXlmcmFtZUxpc3QmKSB7IHJldHVybiBmYWxzZTsgfQorICAgIHZpcnR1YWwgYm9vbCBz
dGFydEFuaW1hdGlvbihkb3VibGUgdGltZU9mZnNldCwgY29uc3QgQW5pbWF0aW9uKiwgY29uc3Qg
S2V5ZnJhbWVMaXN0Jik7CiAgICAgdmlydHVhbCB2b2lkIGFuaW1hdGlvblBhdXNlZChkb3VibGUg
LyogdGltZU9mZnNldCAqLywgY29uc3QgU3RyaW5nJiAvKiBuYW1lICovKSB7IH0KICAgICB2aXJ0
dWFsIHZvaWQgYW5pbWF0aW9uU2Vla2VkKGRvdWJsZSAvKiB0aW1lT2Zmc2V0ICovLCBjb25zdCBT
dHJpbmcmIC8qIG5hbWUgKi8pIHsgfQotICAgIHZpcnR1YWwgdm9pZCBhbmltYXRpb25GaW5pc2hl
ZChjb25zdCBTdHJpbmcmIC8qIG5hbWUgKi8pIHsgfQorICAgIHZpcnR1YWwgdm9pZCBhbmltYXRp
b25GaW5pc2hlZChjb25zdCBTdHJpbmcmIG5hbWUpOwogCiAgICAgdmlydHVhbCB2b2lkIHN1c3Bl
bmRBbmltYXRpb25zKE1vbm90b25pY1RpbWUgPSBNb25vdG9uaWNUaW1lKCkpIHsgfQogCmRpZmYg
LS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9yZW5kZXJpbmcvUmVuZGVyTGF5ZXJNb2RlbE9iamVjdC5j
cHAgYi9Tb3VyY2UvV2ViQ29yZS9yZW5kZXJpbmcvUmVuZGVyTGF5ZXJNb2RlbE9iamVjdC5jcHAK
aW5kZXggNGMwMWU4ZTE2Yzc3N2Y5NTYyZGE5NDA3MWVlOWUyNTA0ZjExZDJlYy4uNzEwZGFkM2Q1
NjI3ZGY0MjQxYmI2ZDNjZWQxMThkMGNlZTg2MmJjNiAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNv
cmUvcmVuZGVyaW5nL1JlbmRlckxheWVyTW9kZWxPYmplY3QuY3BwCisrKyBiL1NvdXJjZS9XZWJD
b3JlL3JlbmRlcmluZy9SZW5kZXJMYXllck1vZGVsT2JqZWN0LmNwcApAQCAtMjg1LDEzICsyODUs
MTUgQEAgdm9pZCBSZW5kZXJMYXllck1vZGVsT2JqZWN0Ojpjb21wdXRlUmVwYWludExheW91dFJl
Y3RzKGNvbnN0IFJlbmRlckxheWVyTW9kZWxPYmoKIAogYm9vbCBSZW5kZXJMYXllck1vZGVsT2Jq
ZWN0OjpzdGFydFRyYW5zaXRpb24oZG91YmxlIHRpbWVPZmZzZXQsIENTU1Byb3BlcnR5SUQgcHJv
cGVydHlJZCwgY29uc3QgUmVuZGVyU3R5bGUqIGZyb21TdHlsZSwgY29uc3QgUmVuZGVyU3R5bGUq
IHRvU3R5bGUpCiB7CisgICAgYXV0byBkaWRBbmltYXRlID0gUmVuZGVyRWxlbWVudDo6c3RhcnRU
cmFuc2l0aW9uKHRpbWVPZmZzZXQsIHByb3BlcnR5SWQsIGZyb21TdHlsZSwgdG9TdHlsZSk7CiAg
ICAgaWYgKCFsYXllcigpIHx8ICFsYXllcigpLT5iYWNraW5nKCkpCi0gICAgICAgIHJldHVybiBm
YWxzZTsKKyAgICAgICAgcmV0dXJuIGRpZEFuaW1hdGU7CiAgICAgcmV0dXJuIGxheWVyKCktPmJh
Y2tpbmcoKS0+c3RhcnRUcmFuc2l0aW9uKHRpbWVPZmZzZXQsIHByb3BlcnR5SWQsIGZyb21TdHls
ZSwgdG9TdHlsZSk7CiB9CiAKIHZvaWQgUmVuZGVyTGF5ZXJNb2RlbE9iamVjdDo6dHJhbnNpdGlv
blBhdXNlZChkb3VibGUgdGltZU9mZnNldCwgQ1NTUHJvcGVydHlJRCBwcm9wZXJ0eUlkKQogewor
ICAgIFJlbmRlckVsZW1lbnQ6OnRyYW5zaXRpb25QYXVzZWQodGltZU9mZnNldCwgcHJvcGVydHlJ
ZCk7CiAgICAgaWYgKCFsYXllcigpIHx8ICFsYXllcigpLT5iYWNraW5nKCkpCiAgICAgICAgIHJl
dHVybjsKICAgICBsYXllcigpLT5iYWNraW5nKCktPnRyYW5zaXRpb25QYXVzZWQodGltZU9mZnNl
dCwgcHJvcGVydHlJZCk7CkBAIC0yOTksNiArMzAxLDcgQEAgdm9pZCBSZW5kZXJMYXllck1vZGVs
T2JqZWN0Ojp0cmFuc2l0aW9uUGF1c2VkKGRvdWJsZSB0aW1lT2Zmc2V0LCBDU1NQcm9wZXJ0eUlE
IHAKIAogdm9pZCBSZW5kZXJMYXllck1vZGVsT2JqZWN0Ojp0cmFuc2l0aW9uRmluaXNoZWQoQ1NT
UHJvcGVydHlJRCBwcm9wZXJ0eUlkKQogeworICAgIFJlbmRlckVsZW1lbnQ6OnRyYW5zaXRpb25G
aW5pc2hlZChwcm9wZXJ0eUlkKTsKICAgICBpZiAoIWxheWVyKCkgfHwgIWxheWVyKCktPmJhY2tp
bmcoKSkKICAgICAgICAgcmV0dXJuOwogICAgIGxheWVyKCktPmJhY2tpbmcoKS0+dHJhbnNpdGlv
bkZpbmlzaGVkKHByb3BlcnR5SWQpOwpAQCAtMzA2LDEzICszMDksMTUgQEAgdm9pZCBSZW5kZXJM
YXllck1vZGVsT2JqZWN0Ojp0cmFuc2l0aW9uRmluaXNoZWQoQ1NTUHJvcGVydHlJRCBwcm9wZXJ0
eUlkKQogCiBib29sIFJlbmRlckxheWVyTW9kZWxPYmplY3Q6OnN0YXJ0QW5pbWF0aW9uKGRvdWJs
ZSB0aW1lT2Zmc2V0LCBjb25zdCBBbmltYXRpb24qIGFuaW1hdGlvbiwgY29uc3QgS2V5ZnJhbWVM
aXN0JiBrZXlmcmFtZXMpCiB7CisgICAgYXV0byBkaWRBbmltYXRlID0gUmVuZGVyRWxlbWVudDo6
c3RhcnRBbmltYXRpb24odGltZU9mZnNldCwgYW5pbWF0aW9uLCBrZXlmcmFtZXMpOwogICAgIGlm
ICghbGF5ZXIoKSB8fCAhbGF5ZXIoKS0+YmFja2luZygpKQotICAgICAgICByZXR1cm4gZmFsc2U7
CisgICAgICAgIHJldHVybiBkaWRBbmltYXRlOwogICAgIHJldHVybiBsYXllcigpLT5iYWNraW5n
KCktPnN0YXJ0QW5pbWF0aW9uKHRpbWVPZmZzZXQsIGFuaW1hdGlvbiwga2V5ZnJhbWVzKTsKIH0K
IAogdm9pZCBSZW5kZXJMYXllck1vZGVsT2JqZWN0OjphbmltYXRpb25QYXVzZWQoZG91YmxlIHRp
bWVPZmZzZXQsIGNvbnN0IFN0cmluZyYgbmFtZSkKIHsKKyAgICBSZW5kZXJFbGVtZW50Ojphbmlt
YXRpb25QYXVzZWQodGltZU9mZnNldCwgbmFtZSk7CiAgICAgaWYgKCFsYXllcigpIHx8ICFsYXll
cigpLT5iYWNraW5nKCkpCiAgICAgICAgIHJldHVybjsKICAgICBsYXllcigpLT5iYWNraW5nKCkt
PmFuaW1hdGlvblBhdXNlZCh0aW1lT2Zmc2V0LCBuYW1lKTsKQEAgLTMyMCw2ICszMjUsNyBAQCB2
b2lkIFJlbmRlckxheWVyTW9kZWxPYmplY3Q6OmFuaW1hdGlvblBhdXNlZChkb3VibGUgdGltZU9m
ZnNldCwgY29uc3QgU3RyaW5nJiBuYQogCiB2b2lkIFJlbmRlckxheWVyTW9kZWxPYmplY3Q6OmFu
aW1hdGlvblNlZWtlZChkb3VibGUgdGltZU9mZnNldCwgY29uc3QgU3RyaW5nJiBuYW1lKQogewor
ICAgIFJlbmRlckVsZW1lbnQ6OmFuaW1hdGlvblNlZWtlZCh0aW1lT2Zmc2V0LCBuYW1lKTsKICAg
ICBpZiAoIWxheWVyKCkgfHwgIWxheWVyKCktPmJhY2tpbmcoKSkKICAgICAgICAgcmV0dXJuOwog
ICAgIGxheWVyKCktPmJhY2tpbmcoKS0+YW5pbWF0aW9uU2Vla2VkKHRpbWVPZmZzZXQsIG5hbWUp
OwpAQCAtMzI3LDYgKzMzMyw3IEBAIHZvaWQgUmVuZGVyTGF5ZXJNb2RlbE9iamVjdDo6YW5pbWF0
aW9uU2Vla2VkKGRvdWJsZSB0aW1lT2Zmc2V0LCBjb25zdCBTdHJpbmcmIG5hCiAKIHZvaWQgUmVu
ZGVyTGF5ZXJNb2RlbE9iamVjdDo6YW5pbWF0aW9uRmluaXNoZWQoY29uc3QgU3RyaW5nJiBuYW1l
KQogeworICAgIFJlbmRlckVsZW1lbnQ6OmFuaW1hdGlvbkZpbmlzaGVkKG5hbWUpOwogICAgIGlm
ICghbGF5ZXIoKSB8fCAhbGF5ZXIoKS0+YmFja2luZygpKQogICAgICAgICByZXR1cm47CiAgICAg
bGF5ZXIoKS0+YmFja2luZygpLT5hbmltYXRpb25GaW5pc2hlZChuYW1lKTsKQEAgLTMzNCw2ICsz
NDEsNyBAQCB2b2lkIFJlbmRlckxheWVyTW9kZWxPYmplY3Q6OmFuaW1hdGlvbkZpbmlzaGVkKGNv
bnN0IFN0cmluZyYgbmFtZSkKIAogdm9pZCBSZW5kZXJMYXllck1vZGVsT2JqZWN0OjpzdXNwZW5k
QW5pbWF0aW9ucyhNb25vdG9uaWNUaW1lIHRpbWUpCiB7CisgICAgUmVuZGVyRWxlbWVudDo6c3Vz
cGVuZEFuaW1hdGlvbnModGltZSk7CiAgICAgaWYgKCFsYXllcigpIHx8ICFsYXllcigpLT5iYWNr
aW5nKCkpCiAgICAgICAgIHJldHVybjsKICAgICBsYXllcigpLT5iYWNraW5nKCktPnN1c3BlbmRB
bmltYXRpb25zKHRpbWUpOwo=
</data>

          </attachment>
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>365162</attachid>
            <date>2019-03-19 08:30:40 -0700</date>
            <delta_ts>2019-03-19 09:25:02 -0700</delta_ts>
            <desc>Patch</desc>
            <filename>bug-195914-20190319083039.patch</filename>
            <type>text/plain</type>
            <size>19505</size>
            <attacher name="alan">zalan</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMjQzMTI3CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9D
aGFuZ2VMb2cgYi9Tb3VyY2UvV2ViQ29yZS9DaGFuZ2VMb2cKaW5kZXggZTk1NmIxN2IyMmFlZTFh
Y2RhMDQyZDFjNzMwOGQ1Y2IzN2M5ODQ4OC4uNDhiOTIyZjY5YmI5OWU2ZmFmOWIxYjhhYzZlN2Y5
NTE1ZmM4MDMyYyAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvQ2hhbmdlTG9nCisrKyBiL1Nv
dXJjZS9XZWJDb3JlL0NoYW5nZUxvZwpAQCAtMSwzICsxLDM5IEBACisyMDE5LTAzLTE4ICBaYWxh
biBCdWp0YXMgIDx6YWxhbkBhcHBsZS5jb20+CisKKyAgICAgICAgW0NvbnRlbnRDaGFuZ2VPYnNl
cnZlcl0gQWRkIHN1cHBvcnQgZm9yIG9ic2VydmluZyB0cmFuc2l0aW9ucyBhbmQgYW5pbWF0aW9u
cworICAgICAgICBodHRwczovL2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9MTk1OTE0
CisKKyAgICAgICAgUmV2aWV3ZWQgYnkgTk9CT0RZIChPT1BTISkuCisKKyAgICAgICAgVGhpcyBw
YXRjaCBpbnRyb2R1Y2VzIGFuIEFQSSBvbiBDb250ZW50Q2hhbmdlT2JzZXJ2ZXIgdG8gb2JzZXJ2
ZSBhbmltYXRpb25zIGFuZCB0cmFuc2l0aW9ucy4gSXQgaXMgbm90IGVuYWJsZWQgeWV0LgorCisg
ICAgICAgICogcGFnZS9pb3MvQ29udGVudENoYW5nZU9ic2VydmVyLmNwcDoKKyAgICAgICAgKFdl
YkNvcmU6OkNvbnRlbnRDaGFuZ2VPYnNlcnZlcjo6ZGlkSW5zdGFsbERPTVRpbWVyKToKKyAgICAg
ICAgKFdlYkNvcmU6OkNvbnRlbnRDaGFuZ2VPYnNlcnZlcjo6ZGlkU3RhcnRBbmltYXRpb25PclRy
YW5zaXRpb24pOgorICAgICAgICAoV2ViQ29yZTo6Q29udGVudENoYW5nZU9ic2VydmVyOjpkaWRG
aW5pc2hBbmltYXRpb25PclRyYW5zaXRpb24pOgorICAgICAgICAqIHBhZ2UvaW9zL0NvbnRlbnRD
aGFuZ2VPYnNlcnZlci5oOgorICAgICAgICAoV2ViQ29yZTo6Q29udGVudENoYW5nZU9ic2VydmVy
Ojppc09ic2VydmluZ0FuaW1hdGlvbnNBbmRUcmFuc2l0aW9ucyBjb25zdCk6CisgICAgICAgIChX
ZWJDb3JlOjpDb250ZW50Q2hhbmdlT2JzZXJ2ZXI6OmlzT2JzZXJ2ZWRQcm9wZXJ0eSBjb25zdCk6
CisgICAgICAgICogcmVuZGVyaW5nL1JlbmRlckVsZW1lbnQuY3BwOgorICAgICAgICAoV2ViQ29y
ZTo6UmVuZGVyRWxlbWVudDo6c3RhcnRUcmFuc2l0aW9uKToKKyAgICAgICAgKFdlYkNvcmU6OlJl
bmRlckVsZW1lbnQ6OnRyYW5zaXRpb25GaW5pc2hlZCk6CisgICAgICAgIChXZWJDb3JlOjpSZW5k
ZXJFbGVtZW50OjpzdGFydEFuaW1hdGlvbik6CisgICAgICAgIChXZWJDb3JlOjpSZW5kZXJFbGVt
ZW50OjphbmltYXRpb25GaW5pc2hlZCk6CisgICAgICAgICogcmVuZGVyaW5nL1JlbmRlckVsZW1l
bnQuaDoKKyAgICAgICAgKFdlYkNvcmU6OlJlbmRlckVsZW1lbnQ6OnN0YXJ0VHJhbnNpdGlvbik6
IERlbGV0ZWQuCisgICAgICAgIChXZWJDb3JlOjpSZW5kZXJFbGVtZW50Ojp0cmFuc2l0aW9uRmlu
aXNoZWQpOiBEZWxldGVkLgorICAgICAgICAoV2ViQ29yZTo6UmVuZGVyRWxlbWVudDo6c3RhcnRB
bmltYXRpb24pOiBEZWxldGVkLgorICAgICAgICAoV2ViQ29yZTo6UmVuZGVyRWxlbWVudDo6YW5p
bWF0aW9uRmluaXNoZWQpOiBEZWxldGVkLgorICAgICAgICAqIHJlbmRlcmluZy9SZW5kZXJMYXll
ck1vZGVsT2JqZWN0LmNwcDoKKyAgICAgICAgKFdlYkNvcmU6OlJlbmRlckxheWVyTW9kZWxPYmpl
Y3Q6OnN0YXJ0VHJhbnNpdGlvbik6CisgICAgICAgIChXZWJDb3JlOjpSZW5kZXJMYXllck1vZGVs
T2JqZWN0Ojp0cmFuc2l0aW9uUGF1c2VkKToKKyAgICAgICAgKFdlYkNvcmU6OlJlbmRlckxheWVy
TW9kZWxPYmplY3Q6OnRyYW5zaXRpb25GaW5pc2hlZCk6CisgICAgICAgIChXZWJDb3JlOjpSZW5k
ZXJMYXllck1vZGVsT2JqZWN0OjpzdGFydEFuaW1hdGlvbik6CisgICAgICAgIChXZWJDb3JlOjpS
ZW5kZXJMYXllck1vZGVsT2JqZWN0OjphbmltYXRpb25QYXVzZWQpOgorICAgICAgICAoV2ViQ29y
ZTo6UmVuZGVyTGF5ZXJNb2RlbE9iamVjdDo6YW5pbWF0aW9uU2Vla2VkKToKKyAgICAgICAgKFdl
YkNvcmU6OlJlbmRlckxheWVyTW9kZWxPYmplY3Q6OmFuaW1hdGlvbkZpbmlzaGVkKToKKyAgICAg
ICAgKFdlYkNvcmU6OlJlbmRlckxheWVyTW9kZWxPYmplY3Q6OnN1c3BlbmRBbmltYXRpb25zKToK
KwogMjAxOS0wMy0xOCAgWmFsYW4gQnVqdGFzICA8emFsYW5AYXBwbGUuY29tPgogCiAgICAgICAg
IFJlbmRlckVsZW1lbnQ6OnN0YXJ0QW5pbWF0aW9uIHNob3VsZCB0YWtlIGNvbnN0IEFuaW1hdGlv
biYKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL2FuaW1hdGlvbi9LZXlmcmFtZUVmZmVjdC5j
cHAgYi9Tb3VyY2UvV2ViQ29yZS9hbmltYXRpb24vS2V5ZnJhbWVFZmZlY3QuY3BwCmluZGV4IDU0
MTM5ZDUwYjViNzBhMDg5ZjdiYWVjMzg1MTlhZmE5YTE4MTI0ZDcuLjc3MWU5MDI0NmUyYWZiNTNl
ZTRiZDRmNGRlNzNmZWE3MGMzZDAyZmEgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL2FuaW1h
dGlvbi9LZXlmcmFtZUVmZmVjdC5jcHAKKysrIGIvU291cmNlL1dlYkNvcmUvYW5pbWF0aW9uL0tl
eWZyYW1lRWZmZWN0LmNwcApAQCAtMTMzMyw3ICsxMzMzLDcgQEAgdm9pZCBLZXlmcmFtZUVmZmVj
dDo6YXBwbHlQZW5kaW5nQWNjZWxlcmF0ZWRBY3Rpb25zKCkKICAgICAgICAgICAgIGNvbXBvc2l0
ZWRSZW5kZXJlci0+YW5pbWF0aW9uU2Vla2VkKHRpbWVPZmZzZXQsIG1fYmxlbmRpbmdLZXlmcmFt
ZXMuYW5pbWF0aW9uTmFtZSgpKTsKICAgICAgICAgICAgIGJyZWFrOwogICAgICAgICBjYXNlIEFj
Y2VsZXJhdGVkQWN0aW9uOjpTdG9wOgotICAgICAgICAgICAgY29tcG9zaXRlZFJlbmRlcmVyLT5h
bmltYXRpb25GaW5pc2hlZChtX2JsZW5kaW5nS2V5ZnJhbWVzLmFuaW1hdGlvbk5hbWUoKSk7Cisg
ICAgICAgICAgICBjb21wb3NpdGVkUmVuZGVyZXItPmFuaW1hdGlvbkZpbmlzaGVkKG1fYmxlbmRp
bmdLZXlmcmFtZXMuYW5pbWF0aW9uTmFtZSgpLCBiYWNraW5nQW5pbWF0aW9uRm9yQ29tcG9zaXRl
ZFJlbmRlcmVyKCkuZ2V0KCkpOwogICAgICAgICAgICAgaWYgKCFtX3RhcmdldC0+ZG9jdW1lbnQo
KS5yZW5kZXJUcmVlQmVpbmdEZXN0cm95ZWQoKSkKICAgICAgICAgICAgICAgICBtX3RhcmdldC0+
aW52YWxpZGF0ZVN0eWxlQW5kTGF5ZXJDb21wb3NpdGlvbigpOwogICAgICAgICAgICAgYnJlYWs7
CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9wYWdlL2FuaW1hdGlvbi9JbXBsaWNpdEFuaW1h
dGlvbi5jcHAgYi9Tb3VyY2UvV2ViQ29yZS9wYWdlL2FuaW1hdGlvbi9JbXBsaWNpdEFuaW1hdGlv
bi5jcHAKaW5kZXggNDMzNGUzMDcxNjI5ZTA1NWY4M2U4NDEwZDM3Y2E0N2FkNWJiZDllZC4uZGQz
N2Q5OWU3YWJjYzAxZTBkYTEzMDBhYTFhMWU3ZDgyMjRhNTkxNiAxMDA2NDQKLS0tIGEvU291cmNl
L1dlYkNvcmUvcGFnZS9hbmltYXRpb24vSW1wbGljaXRBbmltYXRpb24uY3BwCisrKyBiL1NvdXJj
ZS9XZWJDb3JlL3BhZ2UvYW5pbWF0aW9uL0ltcGxpY2l0QW5pbWF0aW9uLmNwcApAQCAtMTQ1LDcg
KzE0NSw3IEBAIGJvb2wgSW1wbGljaXRBbmltYXRpb246OmFmZmVjdHNBY2NlbGVyYXRlZFByb3Bl
cnR5KCkgY29uc3QKIGJvb2wgSW1wbGljaXRBbmltYXRpb246OnN0YXJ0QW5pbWF0aW9uKGRvdWJs
ZSB0aW1lT2Zmc2V0KQogewogICAgIGlmIChhdXRvKiByZW5kZXJlciA9IHRoaXMtPnJlbmRlcmVy
KCkpCi0gICAgICAgIHJldHVybiByZW5kZXJlci0+c3RhcnRUcmFuc2l0aW9uKHRpbWVPZmZzZXQs
IG1fYW5pbWF0aW5nUHJvcGVydHksIG1fZnJvbVN0eWxlLmdldCgpLCBtX3RvU3R5bGUuZ2V0KCkp
OworICAgICAgICByZXR1cm4gcmVuZGVyZXItPnN0YXJ0VHJhbnNpdGlvbih0aW1lT2Zmc2V0LCBt
X2FuaW1hdGlvbi0+ZHVyYXRpb24oKSwgbV9hbmltYXRpbmdQcm9wZXJ0eSwgbV9mcm9tU3R5bGUu
Z2V0KCksIG1fdG9TdHlsZS5nZXQoKSk7CiAgICAgcmV0dXJuIGZhbHNlOwogfQogCmRpZmYgLS1n
aXQgYS9Tb3VyY2UvV2ViQ29yZS9wYWdlL2FuaW1hdGlvbi9LZXlmcmFtZUFuaW1hdGlvbi5jcHAg
Yi9Tb3VyY2UvV2ViQ29yZS9wYWdlL2FuaW1hdGlvbi9LZXlmcmFtZUFuaW1hdGlvbi5jcHAKaW5k
ZXggYWZiODY2OTQ4ZjBlNjEyZTJkZDM2Y2JkMjQyNmRmYzY2ZGZiNDJiYi4uNGE3ZGY2ZGEyOWQ4
YmY4NGJlNTMwNmI3ZWU2MjUyMzM0MDYwZjQ1OCAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUv
cGFnZS9hbmltYXRpb24vS2V5ZnJhbWVBbmltYXRpb24uY3BwCisrKyBiL1NvdXJjZS9XZWJDb3Jl
L3BhZ2UvYW5pbWF0aW9uL0tleWZyYW1lQW5pbWF0aW9uLmNwcApAQCAtMzE1LDcgKzMxNSw3IEBA
IHZvaWQgS2V5ZnJhbWVBbmltYXRpb246OmVuZEFuaW1hdGlvbihib29sIGZpbGxpbmdGb3J3YXJk
cykKICAgICAgICAgcmV0dXJuOwogCiAgICAgaWYgKGF1dG8qIHJlbmRlcmVyID0gdGhpcy0+cmVu
ZGVyZXIoKSkKLSAgICAgICAgcmVuZGVyZXItPmFuaW1hdGlvbkZpbmlzaGVkKG1fa2V5ZnJhbWVz
LmFuaW1hdGlvbk5hbWUoKSk7CisgICAgICAgIHJlbmRlcmVyLT5hbmltYXRpb25GaW5pc2hlZCht
X2tleWZyYW1lcy5hbmltYXRpb25OYW1lKCksIG1fYW5pbWF0aW9uLmdldCgpKTsKIAogICAgIC8v
IFJlc3RvcmUgdGhlIG9yaWdpbmFsICh1bmFuaW1hdGVkKSBzdHlsZQogICAgIGlmICghZmlsbGlu
Z0ZvcndhcmRzICYmICFwYXVzZWQoKSkKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL3BhZ2Uv
aW9zL0NvbnRlbnRDaGFuZ2VPYnNlcnZlci5jcHAgYi9Tb3VyY2UvV2ViQ29yZS9wYWdlL2lvcy9D
b250ZW50Q2hhbmdlT2JzZXJ2ZXIuY3BwCmluZGV4IDhiZGUyZDM3ZmMzMzAzYjVlNWVkNzZmMGEy
ODAzYThhN2Q2NDRmYTQuLjk1MmZiMTBlYmQyNWE4MTNmMTNkMzUzNjhlNjUyMjAwMDYwOWE1Y2Eg
MTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL3BhZ2UvaW9zL0NvbnRlbnRDaGFuZ2VPYnNlcnZl
ci5jcHAKKysrIGIvU291cmNlL1dlYkNvcmUvcGFnZS9pb3MvQ29udGVudENoYW5nZU9ic2VydmVy
LmNwcApAQCAtMzksNiArMzksOSBAQAogCiBuYW1lc3BhY2UgV2ViQ29yZSB7CiAKK3N0YXRpYyBj
b25zdCBTZWNvbmRzIG1heGltdW1EZWxheUZvclRpbWVycyB7IDMwMF9tcyB9Oworc3RhdGljIGNv
bnN0IFNlY29uZHMgbWF4aW11bURlbGF5Rm9yQW5pbWF0aW9uc0FuZFRyYW5zaXRpb25zIHsgMzAw
X21zIH07CisKIENvbnRlbnRDaGFuZ2VPYnNlcnZlcjo6Q29udGVudENoYW5nZU9ic2VydmVyKERv
Y3VtZW50JiBkb2N1bWVudCkKICAgICA6IG1fZG9jdW1lbnQoZG9jdW1lbnQpCiAgICAgLCBtX2Nv
bnRlbnRPYnNlcnZhdGlvblRpbWVyKFt0aGlzXSB7IGNvbXBsZXRlRHVyYXRpb25CYXNlZENvbnRl
bnRPYnNlcnZhdGlvbigpOyB9KQpAQCAtODcsNyArOTAsNyBAQCB2b2lkIENvbnRlbnRDaGFuZ2VP
YnNlcnZlcjo6ZGlkSW5zdGFsbERPTVRpbWVyKGNvbnN0IERPTVRpbWVyJiB0aW1lciwgU2Vjb25k
cyB0aQogICAgICAgICByZXR1cm47CiAgICAgaWYgKG1fZG9jdW1lbnQuYWN0aXZlRE9NT2JqZWN0
c0FyZVN1c3BlbmRlZCgpKQogICAgICAgICByZXR1cm47Ci0gICAgaWYgKHRpbWVvdXQgPiAzMDBf
bXMgfHwgIXNpbmdsZVNob3QpCisgICAgaWYgKHRpbWVvdXQgPiBtYXhpbXVtRGVsYXlGb3JUaW1l
cnMgfHwgIXNpbmdsZVNob3QpCiAgICAgICAgIHJldHVybjsKICAgICBpZiAoIWlzT2JzZXJ2aW5n
RE9NVGltZXJTY2hlZHVsaW5nKCkpCiAgICAgICAgIHJldHVybjsKQEAgLTEwOSw2ICsxMTIsNjUg
QEAgdm9pZCBDb250ZW50Q2hhbmdlT2JzZXJ2ZXI6OmRpZFJlbW92ZURPTVRpbWVyKGNvbnN0IERP
TVRpbWVyJiB0aW1lcikKICAgICBhZGp1c3RPYnNlcnZlZFN0YXRlKEV2ZW50OjpSZW1vdmVkRE9N
VGltZXIpOwogfQogCitib29sIENvbnRlbnRDaGFuZ2VPYnNlcnZlcjo6c2hvdWxkT2JzZXJ2ZVRy
YW5zaXRpb25PckFuaW1hdGlvbihDU1NQcm9wZXJ0eUlEIHByb3BlcnR5SUQsIFNlY29uZHMgdGlt
ZU9mZnNldCwgU2Vjb25kcyBkdXJhdGlvbikgY29uc3QKK3sKKyAgICBpZiAoIW1fZG9jdW1lbnQu
c2V0dGluZ3MoKS5jb250ZW50Q2hhbmdlT2JzZXJ2ZXJFbmFibGVkKCkpCisgICAgICAgIHJldHVy
biBmYWxzZTsKKyAgICBpZiAoIWlzT2JzZXJ2aW5nQW5pbWF0aW9uc0FuZFRyYW5zaXRpb25zKCkp
CisgICAgICAgIHJldHVybiBmYWxzZTsKKyAgICBpZiAoaGFzVmlzaWJsZUNoYW5nZVN0YXRlKCkp
CisgICAgICAgIHJldHVybiBmYWxzZTsKKyAgICBpZiAodGltZU9mZnNldCArIGR1cmF0aW9uID4g
bWF4aW11bURlbGF5Rm9yQW5pbWF0aW9uc0FuZFRyYW5zaXRpb25zKQorICAgICAgICByZXR1cm4g
ZmFsc2U7CisgICAgaWYgKCFpc09ic2VydmVkUHJvcGVydHkocHJvcGVydHlJRCkpCisgICAgICAg
IHJldHVybiBmYWxzZTsKKyAgICByZXR1cm4gdHJ1ZTsKK30KKwordm9pZCBDb250ZW50Q2hhbmdl
T2JzZXJ2ZXI6OmRpZFN0YXJ0VHJhbnNpdGlvbihjb25zdCBSZW5kZXJFbGVtZW50JiByZW5kZXJl
ciwgQ1NTUHJvcGVydHlJRCBwcm9wZXJ0eUlELCBTZWNvbmRzIHRpbWVPZmZzZXQsIFNlY29uZHMg
ZHVyYXRpb24pCit7CisgICAgaWYgKCFzaG91bGRPYnNlcnZlVHJhbnNpdGlvbk9yQW5pbWF0aW9u
KHByb3BlcnR5SUQsIHRpbWVPZmZzZXQsIGR1cmF0aW9uKSkKKyAgICAgICAgcmV0dXJuOworICAg
IExPRyhDb250ZW50T2JzZXJ2YXRpb24sICJkaWRTdGFydEFuaW1hdGlvbjogdHJhbnNpdGlvbiBz
dGFydGVkLiIpOworCisgICAgbV9yZW5kZXJlcnNXaXRoVHJhbnNpdGlvbi5hZGQoJnJlbmRlcmVy
KTsKK30KKwordm9pZCBDb250ZW50Q2hhbmdlT2JzZXJ2ZXI6OmRpZEZpbmlzaFRyYW5zaXRpb24o
Y29uc3QgUmVuZGVyRWxlbWVudCYgcmVuZGVyZXIsIENTU1Byb3BlcnR5SUQgcHJvcGVydHlJRCkK
K3sKKyAgICBpZiAoIWlzT2JzZXJ2ZWRQcm9wZXJ0eShwcm9wZXJ0eUlEKSkKKyAgICAgICAgcmV0
dXJuOworICAgIC8vIEZJWE1FOiBUaGlzIHdvcmtzIGFzIGxvbmcgYXMgd2Ugb2JzZXJ2ZSBvbmx5
IG9uZSBwcm9wZXJ0eS4KKyAgICBpZiAoIW1fcmVuZGVyZXJzV2l0aFRyYW5zaXRpb24uY29udGFp
bnMoJnJlbmRlcmVyKSkKKyAgICAgICAgcmV0dXJuOworICAgIExPRyhDb250ZW50T2JzZXJ2YXRp
b24sICJkaWRGaW5pc2hBbmltYXRpb246IGFuaW1hdGlvbiBmaW5pc2hlZC4iKTsKKworICAgIG1f
cmVuZGVyZXJzV2l0aFRyYW5zaXRpb24ucmVtb3ZlKCZyZW5kZXJlcik7Cit9CisKK3ZvaWQgQ29u
dGVudENoYW5nZU9ic2VydmVyOjpkaWRTdGFydEFuaW1hdGlvbihjb25zdCBSZW5kZXJFbGVtZW50
JiByZW5kZXJlciwgY29uc3QgQW5pbWF0aW9uJiBhbmltYXRpb24sIFNlY29uZHMgdGltZU9mZnNl
dCkKK3sKKyAgICBpZiAoIWFuaW1hdGlvbi5pc0R1cmF0aW9uU2V0KCkgfHwgIWFuaW1hdGlvbi5p
c1Byb3BlcnR5U2V0KCkpCisgICAgICAgIHJldHVybjsKKyAgICBpZiAoIXNob3VsZE9ic2VydmVU
cmFuc2l0aW9uT3JBbmltYXRpb24oYW5pbWF0aW9uLnByb3BlcnR5KCksIHRpbWVPZmZzZXQsIFNl
Y29uZHM6OmZyb21NaWxsaXNlY29uZHMoYW5pbWF0aW9uLmR1cmF0aW9uKCkpKSkKKyAgICAgICAg
cmV0dXJuOworICAgIExPRyhDb250ZW50T2JzZXJ2YXRpb24sICJkaWRTdGFydEFuaW1hdGlvbjog
YW5pbWF0aW9uIHN0YXJ0ZWQuIik7CisKKyAgICBtX3JlbmRlcmVyc1dpdGhBbmltYXRpb24uYWRk
KCZyZW5kZXJlcik7Cit9CisKK3ZvaWQgQ29udGVudENoYW5nZU9ic2VydmVyOjpkaWRGaW5pc2hB
bmltYXRpb24oY29uc3QgUmVuZGVyRWxlbWVudCYgcmVuZGVyZXIsIENTU1Byb3BlcnR5SUQgcHJv
cGVydHlJRCkKK3sKKyAgICBpZiAoIWlzT2JzZXJ2ZWRQcm9wZXJ0eShwcm9wZXJ0eUlEKSkKKyAg
ICAgICAgcmV0dXJuOworICAgIC8vIEZJWE1FOiBUaGlzIHdvcmtzIGFzIGxvbmcgYXMgd2Ugb2Jz
ZXJ2ZSBvbmx5IG9uZSBwcm9wZXJ0eS4KKyAgICBpZiAoIW1fcmVuZGVyZXJzV2l0aEFuaW1hdGlv
bi5jb250YWlucygmcmVuZGVyZXIpKQorICAgICAgICByZXR1cm47CisgICAgTE9HKENvbnRlbnRP
YnNlcnZhdGlvbiwgImRpZEZpbmlzaEFuaW1hdGlvbjogYW5pbWF0aW9uIGZpbmlzaGVkLiIpOwor
CisgICAgbV9yZW5kZXJlcnNXaXRoQW5pbWF0aW9uLnJlbW92ZSgmcmVuZGVyZXIpOworfQorCiB2
b2lkIENvbnRlbnRDaGFuZ2VPYnNlcnZlcjo6d2lsbE5vdFByb2NlZWRXaXRoQ2xpY2soKQogewog
ICAgIExPRyhDb250ZW50T2JzZXJ2YXRpb24sICJ3aWxsTm90UHJvY2VlZFdpdGhDbGljazogY2xp
Y2sgd2lsbCBub3QgaGFwcGVuLiIpOwpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvcGFnZS9p
b3MvQ29udGVudENoYW5nZU9ic2VydmVyLmggYi9Tb3VyY2UvV2ViQ29yZS9wYWdlL2lvcy9Db250
ZW50Q2hhbmdlT2JzZXJ2ZXIuaAppbmRleCA2YWUxODAyNjIxZjgyNDY4NTRjNGUxY2Q5Yjk2ZmEx
NTkyZjllMWZmLi5jOWFjODdmYmQ5YzBiNjFjYzI1M2ZlMDNmNjhlZGYzZDZlZDE3NjI1IDEwMDY0
NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9wYWdlL2lvcy9Db250ZW50Q2hhbmdlT2JzZXJ2ZXIuaAor
KysgYi9Tb3VyY2UvV2ViQ29yZS9wYWdlL2lvcy9Db250ZW50Q2hhbmdlT2JzZXJ2ZXIuaApAQCAt
MzAsOSArMzAsMTEgQEAKICNpbmNsdWRlICJQbGF0Zm9ybUV2ZW50LmgiCiAjaW5jbHVkZSAiVGlt
ZXIuaCIKICNpbmNsdWRlICJXS0NvbnRlbnRPYnNlcnZhdGlvbi5oIgorI2luY2x1ZGUgPHd0Zi9I
YXNoU2V0Lmg+CiAKIG5hbWVzcGFjZSBXZWJDb3JlIHsKIAorY2xhc3MgQW5pbWF0aW9uOwogY2xh
c3MgRE9NVGltZXI7CiBjbGFzcyBEb2N1bWVudDsKIApAQCAtNDUsNiArNDcsMTMgQEAgcHVibGlj
OgogCiAgICAgdm9pZCBkaWRJbnN0YWxsRE9NVGltZXIoY29uc3QgRE9NVGltZXImLCBTZWNvbmRz
IHRpbWVvdXQsIGJvb2wgc2luZ2xlU2hvdCk7CiAgICAgdm9pZCBkaWRSZW1vdmVET01UaW1lcihj
b25zdCBET01UaW1lciYpOworCisgICAgdm9pZCBkaWRTdGFydFRyYW5zaXRpb24oY29uc3QgUmVu
ZGVyRWxlbWVudCYsIENTU1Byb3BlcnR5SUQsIFNlY29uZHMgdGltZU9mZnNldCwgU2Vjb25kcyBk
dXJhdGlvbik7CisgICAgdm9pZCBkaWRGaW5pc2hUcmFuc2l0aW9uKGNvbnN0IFJlbmRlckVsZW1l
bnQmLCBDU1NQcm9wZXJ0eUlEKTsKKworICAgIHZvaWQgZGlkU3RhcnRBbmltYXRpb24oY29uc3Qg
UmVuZGVyRWxlbWVudCYsIGNvbnN0IEFuaW1hdGlvbiYsIFNlY29uZHMgdGltZU9mZnNldCk7Cisg
ICAgdm9pZCBkaWRGaW5pc2hBbmltYXRpb24oY29uc3QgUmVuZGVyRWxlbWVudCYsIENTU1Byb3Bl
cnR5SUQpOworCiAgICAgV0VCQ09SRV9FWFBPUlQgdm9pZCB3aWxsTm90UHJvY2VlZFdpdGhDbGlj
aygpOwogICAgIFdFQkNPUkVfRVhQT1JUIHN0YXRpYyB2b2lkIGRpZFJlY29nbml6ZUxvbmdQcmVz
cyhGcmFtZSYgbWFpbkZyYW1lKTsKICAgICBXRUJDT1JFX0VYUE9SVCBzdGF0aWMgdm9pZCBkaWRQ
cmV2ZW50RGVmYXVsdEZvckV2ZW50KEZyYW1lJiBtYWluRnJhbWUpOwpAQCAtMTAxLDYgKzExMCw4
IEBAIHB1YmxpYzoKICAgICB9OwogCiBwcml2YXRlOgorICAgIGJvb2wgc2hvdWxkT2JzZXJ2ZVRy
YW5zaXRpb25PckFuaW1hdGlvbihDU1NQcm9wZXJ0eUlELCBTZWNvbmRzIHRpbWVPZmZzZXQsIFNl
Y29uZHMgZHVyYXRpb24pIGNvbnN0OworCiAgICAgdm9pZCB0b3VjaEV2ZW50RGlkU3RhcnQoUGxh
dGZvcm1FdmVudDo6VHlwZSk7CiAgICAgdm9pZCB0b3VjaEV2ZW50RGlkRmluaXNoKCk7CiAKQEAg
LTExMyw2ICsxMjQsOCBAQCBwcml2YXRlOgogCiAgICAgdm9pZCBzZXRTaG91bGRPYnNlcnZlRE9N
VGltZXJTY2hlZHVsaW5nKGJvb2wgb2JzZXJ2ZSkgeyBtX2lzT2JzZXJ2aW5nRE9NVGltZXJTY2hl
ZHVsaW5nID0gb2JzZXJ2ZTsgfQogICAgIGJvb2wgaXNPYnNlcnZpbmdET01UaW1lclNjaGVkdWxp
bmcoKSBjb25zdCB7IHJldHVybiBtX2lzT2JzZXJ2aW5nRE9NVGltZXJTY2hlZHVsaW5nOyB9Cisg
ICAgYm9vbCBpc09ic2VydmluZ0FuaW1hdGlvbnNBbmRUcmFuc2l0aW9ucygpIGNvbnN0IHsgcmV0
dXJuIG1faXNPYnNlcnZpbmdBbmltYXRpb25zQW5kVHJhbnNpdGlvbnM7IH0KKyAgICBib29sIGlz
T2JzZXJ2ZWRQcm9wZXJ0eShDU1NQcm9wZXJ0eUlEIHByb3BlcnR5SWQpIGNvbnN0IHsgcmV0dXJu
IHByb3BlcnR5SWQgPT0gQ1NTUHJvcGVydHlMZWZ0OyB9CiAgICAgdm9pZCBkb21UaW1lckV4ZWN1
dGVEaWRTdGFydChjb25zdCBET01UaW1lciYpOwogICAgIHZvaWQgZG9tVGltZXJFeGVjdXRlRGlk
RmluaXNoKGNvbnN0IERPTVRpbWVyJik7CiAgICAgdm9pZCByZWdpc3RlckRPTVRpbWVyKGNvbnN0
IERPTVRpbWVyJiB0aW1lcikgeyBtX0RPTVRpbWVyTGlzdC5hZGQoJnRpbWVyKTsgfQpAQCAtMTY2
LDYgKzE3OSw5IEBAIHByaXZhdGU6CiAgICAgRG9jdW1lbnQmIG1fZG9jdW1lbnQ7CiAgICAgVGlt
ZXIgbV9jb250ZW50T2JzZXJ2YXRpb25UaW1lcjsKICAgICBIYXNoU2V0PGNvbnN0IERPTVRpbWVy
Kj4gbV9ET01UaW1lckxpc3Q7CisgICAgLy8gRklYTUU6IE1vdmUgb3ZlciB0byBXZWFrSGFzaFNl
dCB3aGVuIGl0IHN0YXJ0cyBzdXBwb3J0aW5nIGNvbnN0LgorICAgIEhhc2hTZXQ8Y29uc3QgUmVu
ZGVyRWxlbWVudCo+IG1fcmVuZGVyZXJzV2l0aEFuaW1hdGlvbjsKKyAgICBIYXNoU2V0PGNvbnN0
IFJlbmRlckVsZW1lbnQqPiBtX3JlbmRlcmVyc1dpdGhUcmFuc2l0aW9uOwogICAgIGJvb2wgbV90
b3VjaEV2ZW50SXNCZWluZ0Rpc3BhdGNoZWQgeyBmYWxzZSB9OwogICAgIGJvb2wgbV9pc1dhaXRp
bmdGb3JTdHlsZVJlY2FsYyB7IGZhbHNlIH07CiAgICAgYm9vbCBtX2lzSW5PYnNlcnZlZFN0eWxl
UmVjYWxjIHsgZmFsc2UgfTsKQEAgLTE3Myw2ICsxODksNyBAQCBwcml2YXRlOgogICAgIGJvb2wg
bV9vYnNlcnZlZERvbVRpbWVySXNCZWluZ0V4ZWN1dGVkIHsgZmFsc2UgfTsKICAgICBib29sIG1f
bW91c2VNb3ZlZEV2ZW50SXNCZWluZ0Rpc3BhdGNoZWQgeyBmYWxzZSB9OwogICAgIGJvb2wgbV9p
c0JldHdlZW5Ub3VjaEVuZEFuZE1vdXNlTW92ZWQgeyBmYWxzZSB9OworICAgIGJvb2wgbV9pc09i
c2VydmluZ0FuaW1hdGlvbnNBbmRUcmFuc2l0aW9ucyB7IGZhbHNlIH07CiB9OwogCiBpbmxpbmUg
dm9pZCBDb250ZW50Q2hhbmdlT2JzZXJ2ZXI6OnNldEhhc05vQ2hhbmdlU3RhdGUoKQpkaWZmIC0t
Z2l0IGEvU291cmNlL1dlYkNvcmUvcmVuZGVyaW5nL1JlbmRlckVsZW1lbnQuY3BwIGIvU291cmNl
L1dlYkNvcmUvcmVuZGVyaW5nL1JlbmRlckVsZW1lbnQuY3BwCmluZGV4IDAyMmZlM2JhMDBmYmQ2
MTExNjFhNzE0MmQ5MmFlZDlhNjUzOWIyZWYuLmNhYTVhYzFjNmIyYzJlOTQ3ZjUzOWE3YjE0OWQ0
OWU3MmE3MTc4YjIgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL3JlbmRlcmluZy9SZW5kZXJF
bGVtZW50LmNwcAorKysgYi9Tb3VyY2UvV2ViQ29yZS9yZW5kZXJpbmcvUmVuZGVyRWxlbWVudC5j
cHAKQEAgLTI2LDYgKzI2LDcgQEAKICNpbmNsdWRlICJSZW5kZXJFbGVtZW50LmgiCiAKICNpbmNs
dWRlICJBWE9iamVjdENhY2hlLmgiCisjaW5jbHVkZSAiQ29udGVudENoYW5nZU9ic2VydmVyLmgi
CiAjaW5jbHVkZSAiQ29udGVudERhdGEuaCIKICNpbmNsdWRlICJDdXJzb3JMaXN0LmgiCiAjaW5j
bHVkZSAiRWxlbWVudENoaWxkSXRlcmF0b3IuaCIKQEAgLTIxNjgsNCArMjE2OSw0NSBAQCB2b2lk
IFJlbmRlckVsZW1lbnQ6OnJlc2V0VGV4dEF1dG9zaXppbmcoKQogfQogI2VuZGlmIC8vIEVOQUJM
RShURVhUX0FVVE9TSVpJTkcpCiAKK2Jvb2wgUmVuZGVyRWxlbWVudDo6c3RhcnRUcmFuc2l0aW9u
KGRvdWJsZSB0aW1lT2Zmc2V0LCBkb3VibGUgZHVyYXRpb24sIENTU1Byb3BlcnR5SUQgcHJvcGVy
dHlJRCwgY29uc3QgUmVuZGVyU3R5bGUqLCBjb25zdCBSZW5kZXJTdHlsZSopCit7CisjaWYgUExB
VEZPUk0oSU9TX0ZBTUlMWSkKKyAgICBkb2N1bWVudCgpLmNvbnRlbnRDaGFuZ2VPYnNlcnZlcigp
LmRpZFN0YXJ0VHJhbnNpdGlvbigqdGhpcywgcHJvcGVydHlJRCwgU2Vjb25kczo6ZnJvbU1pbGxp
c2Vjb25kcyh0aW1lT2Zmc2V0KSwgU2Vjb25kczo6ZnJvbU1pbGxpc2Vjb25kcyhkdXJhdGlvbikp
OworI2Vsc2UKKyAgICBVTlVTRURfUEFSQU0odGltZU9mZnNldCk7CisgICAgVU5VU0VEX1BBUkFN
KGR1cmF0aW9uKTsKKyAgICBVTlVTRURfUEFSQU0ocHJvcGVydHlJRCk7CisjZW5kaWYKKyAgICBy
ZXR1cm4gZmFsc2U7Cit9CisKK3ZvaWQgUmVuZGVyRWxlbWVudDo6dHJhbnNpdGlvbkZpbmlzaGVk
KENTU1Byb3BlcnR5SUQgcHJvcGVydHlJRCkKK3sKKyNpZiBQTEFURk9STShJT1NfRkFNSUxZKQor
ICAgIGRvY3VtZW50KCkuY29udGVudENoYW5nZU9ic2VydmVyKCkuZGlkRmluaXNoVHJhbnNpdGlv
bigqdGhpcywgcHJvcGVydHlJRCk7CisjZWxzZQorICAgIFVOVVNFRF9QQVJBTShwcm9wZXJ0eUlE
KTsKKyNlbmRpZgorfQorCitib29sIFJlbmRlckVsZW1lbnQ6OnN0YXJ0QW5pbWF0aW9uKGRvdWJs
ZSB0aW1lT2Zmc2V0LCBjb25zdCBBbmltYXRpb24mIGFuaW1hdGlvbiwgY29uc3QgS2V5ZnJhbWVM
aXN0JikKK3sKKyNpZiBQTEFURk9STShJT1NfRkFNSUxZKQorICAgIGRvY3VtZW50KCkuY29udGVu
dENoYW5nZU9ic2VydmVyKCkuZGlkU3RhcnRBbmltYXRpb24oKnRoaXMsIGFuaW1hdGlvbiwgU2Vj
b25kcyB7IHRpbWVPZmZzZXQgfSk7CisjZWxzZQorICAgIFVOVVNFRF9QQVJBTSh0aW1lT2Zmc2V0
KTsKKyAgICBVTlVTRURfUEFSQU0oYW5pbWF0aW9uKTsKKyNlbmRpZgorICAgIHJldHVybiBmYWxz
ZTsKK30KKwordm9pZCBSZW5kZXJFbGVtZW50OjphbmltYXRpb25GaW5pc2hlZChjb25zdCBTdHJp
bmcmLCBjb25zdCBBbmltYXRpb24mIGFuaW1hdGlvbikKK3sKKyNpZiBQTEFURk9STShJT1NfRkFN
SUxZKQorICAgIGRvY3VtZW50KCkuY29udGVudENoYW5nZU9ic2VydmVyKCkuZGlkRmluaXNoQW5p
bWF0aW9uKCp0aGlzLCBhbmltYXRpb24ucHJvcGVydHkoKSk7CisjZWxzZQorICAgIFVOVVNFRF9Q
QVJBTShhbmltYXRpb24pOworI2VuZGlmCit9CisKIH0KZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJD
b3JlL3JlbmRlcmluZy9SZW5kZXJFbGVtZW50LmggYi9Tb3VyY2UvV2ViQ29yZS9yZW5kZXJpbmcv
UmVuZGVyRWxlbWVudC5oCmluZGV4IGYyOGRkMjQ1ZDk1NWUxNmJlNGQ2NTYwOTI3OTg0NGMzMThh
ODM3MDUuLmRmZjhmMThkZmYyNmQ2MTJmNDE1ODg4NjdkODYzNmU3MGU0NzA1N2YgMTAwNjQ0Ci0t
LSBhL1NvdXJjZS9XZWJDb3JlL3JlbmRlcmluZy9SZW5kZXJFbGVtZW50LmgKKysrIGIvU291cmNl
L1dlYkNvcmUvcmVuZGVyaW5nL1JlbmRlckVsZW1lbnQuaApAQCAtMjIyLDE0ICsyMjIsMTQgQEAg
cHVibGljOgogICAgIFJlbmRlck9iamVjdCogYXR0YWNoUmVuZGVyZXJJbnRlcm5hbChSZW5kZXJQ
dHI8UmVuZGVyT2JqZWN0PiBjaGlsZCwgUmVuZGVyT2JqZWN0KiBiZWZvcmVDaGlsZCk7CiAgICAg
UmVuZGVyUHRyPFJlbmRlck9iamVjdD4gZGV0YWNoUmVuZGVyZXJJbnRlcm5hbChSZW5kZXJPYmpl
Y3QmKTsKIAotICAgIHZpcnR1YWwgYm9vbCBzdGFydFRyYW5zaXRpb24oZG91YmxlIC8qIHRpbWVP
ZmZzZXQgKi8sIENTU1Byb3BlcnR5SUQsIGNvbnN0IFJlbmRlclN0eWxlKiAvKiBmcm9tU3R5bGUg
Ki8sIGNvbnN0IFJlbmRlclN0eWxlKiAvKiB0b1N0eWxlICovKSB7IHJldHVybiBmYWxzZTsgfQor
ICAgIHZpcnR1YWwgYm9vbCBzdGFydFRyYW5zaXRpb24oZG91YmxlIC8qIHRpbWVPZmZzZXQgKi8s
IGRvdWJsZSAvKiBkdXJhdGlvbiAqLywgQ1NTUHJvcGVydHlJRCwgY29uc3QgUmVuZGVyU3R5bGUq
IC8qIGZyb21TdHlsZSAqLywgY29uc3QgUmVuZGVyU3R5bGUqIC8qIHRvU3R5bGUgKi8pOwogICAg
IHZpcnR1YWwgdm9pZCB0cmFuc2l0aW9uUGF1c2VkKGRvdWJsZSAvKiB0aW1lT2Zmc2V0ICovLCBD
U1NQcm9wZXJ0eUlEKSB7IH0KLSAgICB2aXJ0dWFsIHZvaWQgdHJhbnNpdGlvbkZpbmlzaGVkKENT
U1Byb3BlcnR5SUQpIHsgfQorICAgIHZpcnR1YWwgdm9pZCB0cmFuc2l0aW9uRmluaXNoZWQoQ1NT
UHJvcGVydHlJRCk7CiAKLSAgICB2aXJ0dWFsIGJvb2wgc3RhcnRBbmltYXRpb24oZG91YmxlIC8q
IHRpbWVPZmZzZXQgKi8sIGNvbnN0IEFuaW1hdGlvbiYsIGNvbnN0IEtleWZyYW1lTGlzdCYpIHsg
cmV0dXJuIGZhbHNlOyB9CisgICAgdmlydHVhbCBib29sIHN0YXJ0QW5pbWF0aW9uKGRvdWJsZSAv
KiB0aW1lT2Zmc2V0ICovLCBjb25zdCBBbmltYXRpb24mLCBjb25zdCBLZXlmcmFtZUxpc3QmKTsK
ICAgICB2aXJ0dWFsIHZvaWQgYW5pbWF0aW9uUGF1c2VkKGRvdWJsZSAvKiB0aW1lT2Zmc2V0ICov
LCBjb25zdCBTdHJpbmcmIC8qIG5hbWUgKi8pIHsgfQogICAgIHZpcnR1YWwgdm9pZCBhbmltYXRp
b25TZWVrZWQoZG91YmxlIC8qIHRpbWVPZmZzZXQgKi8sIGNvbnN0IFN0cmluZyYgLyogbmFtZSAq
LykgeyB9Ci0gICAgdmlydHVhbCB2b2lkIGFuaW1hdGlvbkZpbmlzaGVkKGNvbnN0IFN0cmluZyYg
LyogbmFtZSAqLykgeyB9CisgICAgdmlydHVhbCB2b2lkIGFuaW1hdGlvbkZpbmlzaGVkKGNvbnN0
IFN0cmluZyYgLyogbmFtZSAqLywgY29uc3QgQW5pbWF0aW9uJik7CiAKICAgICB2aXJ0dWFsIHZv
aWQgc3VzcGVuZEFuaW1hdGlvbnMoTW9ub3RvbmljVGltZSA9IE1vbm90b25pY1RpbWUoKSkgeyB9
CiAKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL3JlbmRlcmluZy9SZW5kZXJMYXllck1vZGVs
T2JqZWN0LmNwcCBiL1NvdXJjZS9XZWJDb3JlL3JlbmRlcmluZy9SZW5kZXJMYXllck1vZGVsT2Jq
ZWN0LmNwcAppbmRleCA3MjVhNDdkYzIxZTFiZDhiZTgwODExMmViYjNjYTE2YWE2OTk3YTk4Li5j
MzQ5YmQzOTk5ZjliZDJjMzQ3ZWQ3MmNiYTBiNGQ2NjZjZjI3NTQ4IDEwMDY0NAotLS0gYS9Tb3Vy
Y2UvV2ViQ29yZS9yZW5kZXJpbmcvUmVuZGVyTGF5ZXJNb2RlbE9iamVjdC5jcHAKKysrIGIvU291
cmNlL1dlYkNvcmUvcmVuZGVyaW5nL1JlbmRlckxheWVyTW9kZWxPYmplY3QuY3BwCkBAIC0yODMs
MTUgKzI4MywxNyBAQCB2b2lkIFJlbmRlckxheWVyTW9kZWxPYmplY3Q6OmNvbXB1dGVSZXBhaW50
TGF5b3V0UmVjdHMoY29uc3QgUmVuZGVyTGF5ZXJNb2RlbE9iagogICAgICAgICBzZXRSZXBhaW50
TGF5b3V0UmVjdHMoUmVwYWludExheW91dFJlY3RzKCp0aGlzLCByZXBhaW50Q29udGFpbmVyLCBn
ZW9tZXRyeU1hcCkpOwogfQogCi1ib29sIFJlbmRlckxheWVyTW9kZWxPYmplY3Q6OnN0YXJ0VHJh
bnNpdGlvbihkb3VibGUgdGltZU9mZnNldCwgQ1NTUHJvcGVydHlJRCBwcm9wZXJ0eUlkLCBjb25z
dCBSZW5kZXJTdHlsZSogZnJvbVN0eWxlLCBjb25zdCBSZW5kZXJTdHlsZSogdG9TdHlsZSkKK2Jv
b2wgUmVuZGVyTGF5ZXJNb2RlbE9iamVjdDo6c3RhcnRUcmFuc2l0aW9uKGRvdWJsZSB0aW1lT2Zm
c2V0LCBkb3VibGUgZHVyYXRpb24sIENTU1Byb3BlcnR5SUQgcHJvcGVydHlJZCwgY29uc3QgUmVu
ZGVyU3R5bGUqIGZyb21TdHlsZSwgY29uc3QgUmVuZGVyU3R5bGUqIHRvU3R5bGUpCiB7CisgICAg
YXV0byBkaWRBbmltYXRlID0gUmVuZGVyRWxlbWVudDo6c3RhcnRUcmFuc2l0aW9uKHRpbWVPZmZz
ZXQsIGR1cmF0aW9uLCBwcm9wZXJ0eUlkLCBmcm9tU3R5bGUsIHRvU3R5bGUpOwogICAgIGlmICgh
bGF5ZXIoKSB8fCAhbGF5ZXIoKS0+YmFja2luZygpKQotICAgICAgICByZXR1cm4gZmFsc2U7Cisg
ICAgICAgIHJldHVybiBkaWRBbmltYXRlOwogICAgIHJldHVybiBsYXllcigpLT5iYWNraW5nKCkt
PnN0YXJ0VHJhbnNpdGlvbih0aW1lT2Zmc2V0LCBwcm9wZXJ0eUlkLCBmcm9tU3R5bGUsIHRvU3R5
bGUpOwogfQogCiB2b2lkIFJlbmRlckxheWVyTW9kZWxPYmplY3Q6OnRyYW5zaXRpb25QYXVzZWQo
ZG91YmxlIHRpbWVPZmZzZXQsIENTU1Byb3BlcnR5SUQgcHJvcGVydHlJZCkKIHsKKyAgICBSZW5k
ZXJFbGVtZW50Ojp0cmFuc2l0aW9uUGF1c2VkKHRpbWVPZmZzZXQsIHByb3BlcnR5SWQpOwogICAg
IGlmICghbGF5ZXIoKSB8fCAhbGF5ZXIoKS0+YmFja2luZygpKQogICAgICAgICByZXR1cm47CiAg
ICAgbGF5ZXIoKS0+YmFja2luZygpLT50cmFuc2l0aW9uUGF1c2VkKHRpbWVPZmZzZXQsIHByb3Bl
cnR5SWQpOwpAQCAtMjk5LDYgKzMwMSw3IEBAIHZvaWQgUmVuZGVyTGF5ZXJNb2RlbE9iamVjdDo6
dHJhbnNpdGlvblBhdXNlZChkb3VibGUgdGltZU9mZnNldCwgQ1NTUHJvcGVydHlJRCBwCiAKIHZv
aWQgUmVuZGVyTGF5ZXJNb2RlbE9iamVjdDo6dHJhbnNpdGlvbkZpbmlzaGVkKENTU1Byb3BlcnR5
SUQgcHJvcGVydHlJZCkKIHsKKyAgICBSZW5kZXJFbGVtZW50Ojp0cmFuc2l0aW9uRmluaXNoZWQo
cHJvcGVydHlJZCk7CiAgICAgaWYgKCFsYXllcigpIHx8ICFsYXllcigpLT5iYWNraW5nKCkpCiAg
ICAgICAgIHJldHVybjsKICAgICBsYXllcigpLT5iYWNraW5nKCktPnRyYW5zaXRpb25GaW5pc2hl
ZChwcm9wZXJ0eUlkKTsKQEAgLTMwNiwxMyArMzA5LDE1IEBAIHZvaWQgUmVuZGVyTGF5ZXJNb2Rl
bE9iamVjdDo6dHJhbnNpdGlvbkZpbmlzaGVkKENTU1Byb3BlcnR5SUQgcHJvcGVydHlJZCkKIAog
Ym9vbCBSZW5kZXJMYXllck1vZGVsT2JqZWN0OjpzdGFydEFuaW1hdGlvbihkb3VibGUgdGltZU9m
ZnNldCwgY29uc3QgQW5pbWF0aW9uJiBhbmltYXRpb24sIGNvbnN0IEtleWZyYW1lTGlzdCYga2V5
ZnJhbWVzKQogeworICAgIGF1dG8gZGlkQW5pbWF0ZSA9IFJlbmRlckVsZW1lbnQ6OnN0YXJ0QW5p
bWF0aW9uKHRpbWVPZmZzZXQsIGFuaW1hdGlvbiwga2V5ZnJhbWVzKTsKICAgICBpZiAoIWxheWVy
KCkgfHwgIWxheWVyKCktPmJhY2tpbmcoKSkKLSAgICAgICAgcmV0dXJuIGZhbHNlOworICAgICAg
ICByZXR1cm4gZGlkQW5pbWF0ZTsKICAgICByZXR1cm4gbGF5ZXIoKS0+YmFja2luZygpLT5zdGFy
dEFuaW1hdGlvbih0aW1lT2Zmc2V0LCBhbmltYXRpb24sIGtleWZyYW1lcyk7CiB9CiAKIHZvaWQg
UmVuZGVyTGF5ZXJNb2RlbE9iamVjdDo6YW5pbWF0aW9uUGF1c2VkKGRvdWJsZSB0aW1lT2Zmc2V0
LCBjb25zdCBTdHJpbmcmIG5hbWUpCiB7CisgICAgUmVuZGVyRWxlbWVudDo6YW5pbWF0aW9uUGF1
c2VkKHRpbWVPZmZzZXQsIG5hbWUpOwogICAgIGlmICghbGF5ZXIoKSB8fCAhbGF5ZXIoKS0+YmFj
a2luZygpKQogICAgICAgICByZXR1cm47CiAgICAgbGF5ZXIoKS0+YmFja2luZygpLT5hbmltYXRp
b25QYXVzZWQodGltZU9mZnNldCwgbmFtZSk7CkBAIC0zMjAsMTMgKzMyNSwxNSBAQCB2b2lkIFJl
bmRlckxheWVyTW9kZWxPYmplY3Q6OmFuaW1hdGlvblBhdXNlZChkb3VibGUgdGltZU9mZnNldCwg
Y29uc3QgU3RyaW5nJiBuYQogCiB2b2lkIFJlbmRlckxheWVyTW9kZWxPYmplY3Q6OmFuaW1hdGlv
blNlZWtlZChkb3VibGUgdGltZU9mZnNldCwgY29uc3QgU3RyaW5nJiBuYW1lKQogeworICAgIFJl
bmRlckVsZW1lbnQ6OmFuaW1hdGlvblNlZWtlZCh0aW1lT2Zmc2V0LCBuYW1lKTsKICAgICBpZiAo
IWxheWVyKCkgfHwgIWxheWVyKCktPmJhY2tpbmcoKSkKICAgICAgICAgcmV0dXJuOwogICAgIGxh
eWVyKCktPmJhY2tpbmcoKS0+YW5pbWF0aW9uU2Vla2VkKHRpbWVPZmZzZXQsIG5hbWUpOwogfQog
Ci12b2lkIFJlbmRlckxheWVyTW9kZWxPYmplY3Q6OmFuaW1hdGlvbkZpbmlzaGVkKGNvbnN0IFN0
cmluZyYgbmFtZSkKK3ZvaWQgUmVuZGVyTGF5ZXJNb2RlbE9iamVjdDo6YW5pbWF0aW9uRmluaXNo
ZWQoY29uc3QgU3RyaW5nJiBuYW1lLCBjb25zdCBBbmltYXRpb24mIGFuaW1hdGlvbikKIHsKKyAg
ICBSZW5kZXJFbGVtZW50OjphbmltYXRpb25GaW5pc2hlZChuYW1lLCBhbmltYXRpb24pOwogICAg
IGlmICghbGF5ZXIoKSB8fCAhbGF5ZXIoKS0+YmFja2luZygpKQogICAgICAgICByZXR1cm47CiAg
ICAgbGF5ZXIoKS0+YmFja2luZygpLT5hbmltYXRpb25GaW5pc2hlZChuYW1lKTsKQEAgLTMzNCw2
ICszNDEsNyBAQCB2b2lkIFJlbmRlckxheWVyTW9kZWxPYmplY3Q6OmFuaW1hdGlvbkZpbmlzaGVk
KGNvbnN0IFN0cmluZyYgbmFtZSkKIAogdm9pZCBSZW5kZXJMYXllck1vZGVsT2JqZWN0OjpzdXNw
ZW5kQW5pbWF0aW9ucyhNb25vdG9uaWNUaW1lIHRpbWUpCiB7CisgICAgUmVuZGVyRWxlbWVudDo6
c3VzcGVuZEFuaW1hdGlvbnModGltZSk7CiAgICAgaWYgKCFsYXllcigpIHx8ICFsYXllcigpLT5i
YWNraW5nKCkpCiAgICAgICAgIHJldHVybjsKICAgICBsYXllcigpLT5iYWNraW5nKCktPnN1c3Bl
bmRBbmltYXRpb25zKHRpbWUpOwpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvcmVuZGVyaW5n
L1JlbmRlckxheWVyTW9kZWxPYmplY3QuaCBiL1NvdXJjZS9XZWJDb3JlL3JlbmRlcmluZy9SZW5k
ZXJMYXllck1vZGVsT2JqZWN0LmgKaW5kZXggZDg3OTI0Mjc4YmFhZGI5ODk5MTI2YTZiNWFkZWM5
ZjAzYzZlZDdhNC4uNjJiNDg5Y2IxYzQ2MTgwYzBmZTRmNjNjMDIxOWZlMjRmNTZmOWQ5MiAxMDA2
NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvcmVuZGVyaW5nL1JlbmRlckxheWVyTW9kZWxPYmplY3Qu
aAorKysgYi9Tb3VyY2UvV2ViQ29yZS9yZW5kZXJpbmcvUmVuZGVyTGF5ZXJNb2RlbE9iamVjdC5o
CkBAIC02OSwxNCArNjksMTQgQEAgcHVibGljOgogICAgIHZvaWQgc2V0UmVwYWludExheW91dFJl
Y3RzKGNvbnN0IFJlcGFpbnRMYXlvdXRSZWN0cyYpOwogICAgIHZvaWQgY2xlYXJSZXBhaW50TGF5
b3V0UmVjdHMoKTsKIAotICAgIGJvb2wgc3RhcnRUcmFuc2l0aW9uKGRvdWJsZSB0aW1lT2Zmc2V0
LCBDU1NQcm9wZXJ0eUlELCBjb25zdCBSZW5kZXJTdHlsZSogZnJvbVN0eWxlLCBjb25zdCBSZW5k
ZXJTdHlsZSogdG9TdHlsZSkgb3ZlcnJpZGU7CisgICAgYm9vbCBzdGFydFRyYW5zaXRpb24oZG91
YmxlIHRpbWVPZmZzZXQsIGRvdWJsZSBkdXJhdGlvbiwgQ1NTUHJvcGVydHlJRCwgY29uc3QgUmVu
ZGVyU3R5bGUqIGZyb21TdHlsZSwgY29uc3QgUmVuZGVyU3R5bGUqIHRvU3R5bGUpIG92ZXJyaWRl
OwogICAgIHZvaWQgdHJhbnNpdGlvblBhdXNlZChkb3VibGUgdGltZU9mZnNldCwgQ1NTUHJvcGVy
dHlJRCkgb3ZlcnJpZGU7CiAgICAgdm9pZCB0cmFuc2l0aW9uRmluaXNoZWQoQ1NTUHJvcGVydHlJ
RCkgb3ZlcnJpZGU7CiAKICAgICBib29sIHN0YXJ0QW5pbWF0aW9uKGRvdWJsZSB0aW1lT2Zmc2V0
LCBjb25zdCBBbmltYXRpb24mLCBjb25zdCBLZXlmcmFtZUxpc3QmKSBvdmVycmlkZTsKICAgICB2
b2lkIGFuaW1hdGlvblBhdXNlZChkb3VibGUgdGltZU9mZnNldCwgY29uc3QgU3RyaW5nJiBuYW1l
KSBvdmVycmlkZTsKICAgICB2b2lkIGFuaW1hdGlvblNlZWtlZChkb3VibGUgdGltZU9mZnNldCwg
Y29uc3QgU3RyaW5nJiBuYW1lKSBvdmVycmlkZTsKLSAgICB2b2lkIGFuaW1hdGlvbkZpbmlzaGVk
KGNvbnN0IFN0cmluZyYgbmFtZSkgb3ZlcnJpZGU7CisgICAgdm9pZCBhbmltYXRpb25GaW5pc2hl
ZChjb25zdCBTdHJpbmcmIG5hbWUsIGNvbnN0IEFuaW1hdGlvbiYpIG92ZXJyaWRlOwogCiAgICAg
dm9pZCBzdXNwZW5kQW5pbWF0aW9ucyhNb25vdG9uaWNUaW1lID0gTW9ub3RvbmljVGltZSgpKSBv
dmVycmlkZTsKIAo=
</data>

          </attachment>
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>365170</attachid>
            <date>2019-03-19 09:25:03 -0700</date>
            <delta_ts>2019-03-20 19:31:20 -0700</delta_ts>
            <desc>Patch</desc>
            <filename>bug-195914-20190319092502.patch</filename>
            <type>text/plain</type>
            <size>19511</size>
            <attacher name="alan">zalan</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMjQzMTQwCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9D
aGFuZ2VMb2cgYi9Tb3VyY2UvV2ViQ29yZS9DaGFuZ2VMb2cKaW5kZXggZTEzMmQ1OThmMGFhZWZk
ZGU5M2IyMWFlZDU4OGMyZDFmNGE3Mjc3MS4uYmZkODI5NDIxNTlkYzY2M2E3Mjg0MzEyMDMwNDRj
YTBiNDBmMzgwNSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvQ2hhbmdlTG9nCisrKyBiL1Nv
dXJjZS9XZWJDb3JlL0NoYW5nZUxvZwpAQCAtMSwzICsxLDM5IEBACisyMDE5LTAzLTE5ICBaYWxh
biBCdWp0YXMgIDx6YWxhbkBhcHBsZS5jb20+CisKKyAgICAgICAgW0NvbnRlbnRDaGFuZ2VPYnNl
cnZlcl0gQWRkIHN1cHBvcnQgZm9yIG9ic2VydmluZyB0cmFuc2l0aW9ucyBhbmQgYW5pbWF0aW9u
cworICAgICAgICBodHRwczovL2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9MTk1OTE0
CisKKyAgICAgICAgUmV2aWV3ZWQgYnkgTk9CT0RZIChPT1BTISkuCisKKyAgICAgICAgVGhpcyBw
YXRjaCBpbnRyb2R1Y2VzIGFuIEFQSSBvbiBDb250ZW50Q2hhbmdlT2JzZXJ2ZXIgdG8gb2JzZXJ2
ZSBhbmltYXRpb25zIGFuZCB0cmFuc2l0aW9ucy4gSXQgaXMgbm90IGVuYWJsZWQgeWV0LgorCisg
ICAgICAgICogcGFnZS9pb3MvQ29udGVudENoYW5nZU9ic2VydmVyLmNwcDoKKyAgICAgICAgKFdl
YkNvcmU6OkNvbnRlbnRDaGFuZ2VPYnNlcnZlcjo6ZGlkSW5zdGFsbERPTVRpbWVyKToKKyAgICAg
ICAgKFdlYkNvcmU6OkNvbnRlbnRDaGFuZ2VPYnNlcnZlcjo6ZGlkU3RhcnRBbmltYXRpb25PclRy
YW5zaXRpb24pOgorICAgICAgICAoV2ViQ29yZTo6Q29udGVudENoYW5nZU9ic2VydmVyOjpkaWRG
aW5pc2hBbmltYXRpb25PclRyYW5zaXRpb24pOgorICAgICAgICAqIHBhZ2UvaW9zL0NvbnRlbnRD
aGFuZ2VPYnNlcnZlci5oOgorICAgICAgICAoV2ViQ29yZTo6Q29udGVudENoYW5nZU9ic2VydmVy
Ojppc09ic2VydmluZ0FuaW1hdGlvbnNBbmRUcmFuc2l0aW9ucyBjb25zdCk6CisgICAgICAgIChX
ZWJDb3JlOjpDb250ZW50Q2hhbmdlT2JzZXJ2ZXI6OmlzT2JzZXJ2ZWRQcm9wZXJ0eSBjb25zdCk6
CisgICAgICAgICogcmVuZGVyaW5nL1JlbmRlckVsZW1lbnQuY3BwOgorICAgICAgICAoV2ViQ29y
ZTo6UmVuZGVyRWxlbWVudDo6c3RhcnRUcmFuc2l0aW9uKToKKyAgICAgICAgKFdlYkNvcmU6OlJl
bmRlckVsZW1lbnQ6OnRyYW5zaXRpb25GaW5pc2hlZCk6CisgICAgICAgIChXZWJDb3JlOjpSZW5k
ZXJFbGVtZW50OjpzdGFydEFuaW1hdGlvbik6CisgICAgICAgIChXZWJDb3JlOjpSZW5kZXJFbGVt
ZW50OjphbmltYXRpb25GaW5pc2hlZCk6CisgICAgICAgICogcmVuZGVyaW5nL1JlbmRlckVsZW1l
bnQuaDoKKyAgICAgICAgKFdlYkNvcmU6OlJlbmRlckVsZW1lbnQ6OnN0YXJ0VHJhbnNpdGlvbik6
IERlbGV0ZWQuCisgICAgICAgIChXZWJDb3JlOjpSZW5kZXJFbGVtZW50Ojp0cmFuc2l0aW9uRmlu
aXNoZWQpOiBEZWxldGVkLgorICAgICAgICAoV2ViQ29yZTo6UmVuZGVyRWxlbWVudDo6c3RhcnRB
bmltYXRpb24pOiBEZWxldGVkLgorICAgICAgICAoV2ViQ29yZTo6UmVuZGVyRWxlbWVudDo6YW5p
bWF0aW9uRmluaXNoZWQpOiBEZWxldGVkLgorICAgICAgICAqIHJlbmRlcmluZy9SZW5kZXJMYXll
ck1vZGVsT2JqZWN0LmNwcDoKKyAgICAgICAgKFdlYkNvcmU6OlJlbmRlckxheWVyTW9kZWxPYmpl
Y3Q6OnN0YXJ0VHJhbnNpdGlvbik6CisgICAgICAgIChXZWJDb3JlOjpSZW5kZXJMYXllck1vZGVs
T2JqZWN0Ojp0cmFuc2l0aW9uUGF1c2VkKToKKyAgICAgICAgKFdlYkNvcmU6OlJlbmRlckxheWVy
TW9kZWxPYmplY3Q6OnRyYW5zaXRpb25GaW5pc2hlZCk6CisgICAgICAgIChXZWJDb3JlOjpSZW5k
ZXJMYXllck1vZGVsT2JqZWN0OjpzdGFydEFuaW1hdGlvbik6CisgICAgICAgIChXZWJDb3JlOjpS
ZW5kZXJMYXllck1vZGVsT2JqZWN0OjphbmltYXRpb25QYXVzZWQpOgorICAgICAgICAoV2ViQ29y
ZTo6UmVuZGVyTGF5ZXJNb2RlbE9iamVjdDo6YW5pbWF0aW9uU2Vla2VkKToKKyAgICAgICAgKFdl
YkNvcmU6OlJlbmRlckxheWVyTW9kZWxPYmplY3Q6OmFuaW1hdGlvbkZpbmlzaGVkKToKKyAgICAg
ICAgKFdlYkNvcmU6OlJlbmRlckxheWVyTW9kZWxPYmplY3Q6OnN1c3BlbmRBbmltYXRpb25zKToK
KwogMjAxOS0wMy0xOSAgWmFsYW4gQnVqdGFzICA8emFsYW5AYXBwbGUuY29tPgogCiAgICAgICAg
IFJlbmRlckVsZW1lbnQ6OnN0YXJ0QW5pbWF0aW9uL2FuaW1hdGlvbkZpbmlzaGVkIHNob3VsZCB0
YWtlIGNvbnN0IEFuaW1hdGlvbiYKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL2FuaW1hdGlv
bi9LZXlmcmFtZUVmZmVjdC5jcHAgYi9Tb3VyY2UvV2ViQ29yZS9hbmltYXRpb24vS2V5ZnJhbWVF
ZmZlY3QuY3BwCmluZGV4IDU0MTM5ZDUwYjViNzBhMDg5ZjdiYWVjMzg1MTlhZmE5YTE4MTI0ZDcu
LjM3ODUxZGFhMjJkYTI5MjdkMmJhY2YxMDdmMmNjZGYzMGY5MTFjNzAgMTAwNjQ0Ci0tLSBhL1Nv
dXJjZS9XZWJDb3JlL2FuaW1hdGlvbi9LZXlmcmFtZUVmZmVjdC5jcHAKKysrIGIvU291cmNlL1dl
YkNvcmUvYW5pbWF0aW9uL0tleWZyYW1lRWZmZWN0LmNwcApAQCAtMTMzMyw3ICsxMzMzLDcgQEAg
dm9pZCBLZXlmcmFtZUVmZmVjdDo6YXBwbHlQZW5kaW5nQWNjZWxlcmF0ZWRBY3Rpb25zKCkKICAg
ICAgICAgICAgIGNvbXBvc2l0ZWRSZW5kZXJlci0+YW5pbWF0aW9uU2Vla2VkKHRpbWVPZmZzZXQs
IG1fYmxlbmRpbmdLZXlmcmFtZXMuYW5pbWF0aW9uTmFtZSgpKTsKICAgICAgICAgICAgIGJyZWFr
OwogICAgICAgICBjYXNlIEFjY2VsZXJhdGVkQWN0aW9uOjpTdG9wOgotICAgICAgICAgICAgY29t
cG9zaXRlZFJlbmRlcmVyLT5hbmltYXRpb25GaW5pc2hlZChtX2JsZW5kaW5nS2V5ZnJhbWVzLmFu
aW1hdGlvbk5hbWUoKSk7CisgICAgICAgICAgICBjb21wb3NpdGVkUmVuZGVyZXItPmFuaW1hdGlv
bkZpbmlzaGVkKG1fYmxlbmRpbmdLZXlmcmFtZXMuYW5pbWF0aW9uTmFtZSgpLCBiYWNraW5nQW5p
bWF0aW9uRm9yQ29tcG9zaXRlZFJlbmRlcmVyKCkpOwogICAgICAgICAgICAgaWYgKCFtX3Rhcmdl
dC0+ZG9jdW1lbnQoKS5yZW5kZXJUcmVlQmVpbmdEZXN0cm95ZWQoKSkKICAgICAgICAgICAgICAg
ICBtX3RhcmdldC0+aW52YWxpZGF0ZVN0eWxlQW5kTGF5ZXJDb21wb3NpdGlvbigpOwogICAgICAg
ICAgICAgYnJlYWs7CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9wYWdlL2FuaW1hdGlvbi9J
bXBsaWNpdEFuaW1hdGlvbi5jcHAgYi9Tb3VyY2UvV2ViQ29yZS9wYWdlL2FuaW1hdGlvbi9JbXBs
aWNpdEFuaW1hdGlvbi5jcHAKaW5kZXggNDMzNGUzMDcxNjI5ZTA1NWY4M2U4NDEwZDM3Y2E0N2Fk
NWJiZDllZC4uZGQzN2Q5OWU3YWJjYzAxZTBkYTEzMDBhYTFhMWU3ZDgyMjRhNTkxNiAxMDA2NDQK
LS0tIGEvU291cmNlL1dlYkNvcmUvcGFnZS9hbmltYXRpb24vSW1wbGljaXRBbmltYXRpb24uY3Bw
CisrKyBiL1NvdXJjZS9XZWJDb3JlL3BhZ2UvYW5pbWF0aW9uL0ltcGxpY2l0QW5pbWF0aW9uLmNw
cApAQCAtMTQ1LDcgKzE0NSw3IEBAIGJvb2wgSW1wbGljaXRBbmltYXRpb246OmFmZmVjdHNBY2Nl
bGVyYXRlZFByb3BlcnR5KCkgY29uc3QKIGJvb2wgSW1wbGljaXRBbmltYXRpb246OnN0YXJ0QW5p
bWF0aW9uKGRvdWJsZSB0aW1lT2Zmc2V0KQogewogICAgIGlmIChhdXRvKiByZW5kZXJlciA9IHRo
aXMtPnJlbmRlcmVyKCkpCi0gICAgICAgIHJldHVybiByZW5kZXJlci0+c3RhcnRUcmFuc2l0aW9u
KHRpbWVPZmZzZXQsIG1fYW5pbWF0aW5nUHJvcGVydHksIG1fZnJvbVN0eWxlLmdldCgpLCBtX3Rv
U3R5bGUuZ2V0KCkpOworICAgICAgICByZXR1cm4gcmVuZGVyZXItPnN0YXJ0VHJhbnNpdGlvbih0
aW1lT2Zmc2V0LCBtX2FuaW1hdGlvbi0+ZHVyYXRpb24oKSwgbV9hbmltYXRpbmdQcm9wZXJ0eSwg
bV9mcm9tU3R5bGUuZ2V0KCksIG1fdG9TdHlsZS5nZXQoKSk7CiAgICAgcmV0dXJuIGZhbHNlOwog
fQogCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9wYWdlL2FuaW1hdGlvbi9LZXlmcmFtZUFu
aW1hdGlvbi5jcHAgYi9Tb3VyY2UvV2ViQ29yZS9wYWdlL2FuaW1hdGlvbi9LZXlmcmFtZUFuaW1h
dGlvbi5jcHAKaW5kZXggYWZiODY2OTQ4ZjBlNjEyZTJkZDM2Y2JkMjQyNmRmYzY2ZGZiNDJiYi4u
MjgzZDZlNjI4ZmM0NzUzMWU2NDBkODY0ZjNhNzM0ZTBjZTJjOGZiNCAxMDA2NDQKLS0tIGEvU291
cmNlL1dlYkNvcmUvcGFnZS9hbmltYXRpb24vS2V5ZnJhbWVBbmltYXRpb24uY3BwCisrKyBiL1Nv
dXJjZS9XZWJDb3JlL3BhZ2UvYW5pbWF0aW9uL0tleWZyYW1lQW5pbWF0aW9uLmNwcApAQCAtMzE1
LDcgKzMxNSw3IEBAIHZvaWQgS2V5ZnJhbWVBbmltYXRpb246OmVuZEFuaW1hdGlvbihib29sIGZp
bGxpbmdGb3J3YXJkcykKICAgICAgICAgcmV0dXJuOwogCiAgICAgaWYgKGF1dG8qIHJlbmRlcmVy
ID0gdGhpcy0+cmVuZGVyZXIoKSkKLSAgICAgICAgcmVuZGVyZXItPmFuaW1hdGlvbkZpbmlzaGVk
KG1fa2V5ZnJhbWVzLmFuaW1hdGlvbk5hbWUoKSk7CisgICAgICAgIHJlbmRlcmVyLT5hbmltYXRp
b25GaW5pc2hlZChtX2tleWZyYW1lcy5hbmltYXRpb25OYW1lKCksIG1fYW5pbWF0aW9uKTsKIAog
ICAgIC8vIFJlc3RvcmUgdGhlIG9yaWdpbmFsICh1bmFuaW1hdGVkKSBzdHlsZQogICAgIGlmICgh
ZmlsbGluZ0ZvcndhcmRzICYmICFwYXVzZWQoKSkKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3Jl
L3BhZ2UvaW9zL0NvbnRlbnRDaGFuZ2VPYnNlcnZlci5jcHAgYi9Tb3VyY2UvV2ViQ29yZS9wYWdl
L2lvcy9Db250ZW50Q2hhbmdlT2JzZXJ2ZXIuY3BwCmluZGV4IDhiZGUyZDM3ZmMzMzAzYjVlNWVk
NzZmMGEyODAzYThhN2Q2NDRmYTQuLjk1MmZiMTBlYmQyNWE4MTNmMTNkMzUzNjhlNjUyMjAwMDYw
OWE1Y2EgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL3BhZ2UvaW9zL0NvbnRlbnRDaGFuZ2VP
YnNlcnZlci5jcHAKKysrIGIvU291cmNlL1dlYkNvcmUvcGFnZS9pb3MvQ29udGVudENoYW5nZU9i
c2VydmVyLmNwcApAQCAtMzksNiArMzksOSBAQAogCiBuYW1lc3BhY2UgV2ViQ29yZSB7CiAKK3N0
YXRpYyBjb25zdCBTZWNvbmRzIG1heGltdW1EZWxheUZvclRpbWVycyB7IDMwMF9tcyB9Oworc3Rh
dGljIGNvbnN0IFNlY29uZHMgbWF4aW11bURlbGF5Rm9yQW5pbWF0aW9uc0FuZFRyYW5zaXRpb25z
IHsgMzAwX21zIH07CisKIENvbnRlbnRDaGFuZ2VPYnNlcnZlcjo6Q29udGVudENoYW5nZU9ic2Vy
dmVyKERvY3VtZW50JiBkb2N1bWVudCkKICAgICA6IG1fZG9jdW1lbnQoZG9jdW1lbnQpCiAgICAg
LCBtX2NvbnRlbnRPYnNlcnZhdGlvblRpbWVyKFt0aGlzXSB7IGNvbXBsZXRlRHVyYXRpb25CYXNl
ZENvbnRlbnRPYnNlcnZhdGlvbigpOyB9KQpAQCAtODcsNyArOTAsNyBAQCB2b2lkIENvbnRlbnRD
aGFuZ2VPYnNlcnZlcjo6ZGlkSW5zdGFsbERPTVRpbWVyKGNvbnN0IERPTVRpbWVyJiB0aW1lciwg
U2Vjb25kcyB0aQogICAgICAgICByZXR1cm47CiAgICAgaWYgKG1fZG9jdW1lbnQuYWN0aXZlRE9N
T2JqZWN0c0FyZVN1c3BlbmRlZCgpKQogICAgICAgICByZXR1cm47Ci0gICAgaWYgKHRpbWVvdXQg
PiAzMDBfbXMgfHwgIXNpbmdsZVNob3QpCisgICAgaWYgKHRpbWVvdXQgPiBtYXhpbXVtRGVsYXlG
b3JUaW1lcnMgfHwgIXNpbmdsZVNob3QpCiAgICAgICAgIHJldHVybjsKICAgICBpZiAoIWlzT2Jz
ZXJ2aW5nRE9NVGltZXJTY2hlZHVsaW5nKCkpCiAgICAgICAgIHJldHVybjsKQEAgLTEwOSw2ICsx
MTIsNjUgQEAgdm9pZCBDb250ZW50Q2hhbmdlT2JzZXJ2ZXI6OmRpZFJlbW92ZURPTVRpbWVyKGNv
bnN0IERPTVRpbWVyJiB0aW1lcikKICAgICBhZGp1c3RPYnNlcnZlZFN0YXRlKEV2ZW50OjpSZW1v
dmVkRE9NVGltZXIpOwogfQogCitib29sIENvbnRlbnRDaGFuZ2VPYnNlcnZlcjo6c2hvdWxkT2Jz
ZXJ2ZVRyYW5zaXRpb25PckFuaW1hdGlvbihDU1NQcm9wZXJ0eUlEIHByb3BlcnR5SUQsIFNlY29u
ZHMgdGltZU9mZnNldCwgU2Vjb25kcyBkdXJhdGlvbikgY29uc3QKK3sKKyAgICBpZiAoIW1fZG9j
dW1lbnQuc2V0dGluZ3MoKS5jb250ZW50Q2hhbmdlT2JzZXJ2ZXJFbmFibGVkKCkpCisgICAgICAg
IHJldHVybiBmYWxzZTsKKyAgICBpZiAoIWlzT2JzZXJ2aW5nQW5pbWF0aW9uc0FuZFRyYW5zaXRp
b25zKCkpCisgICAgICAgIHJldHVybiBmYWxzZTsKKyAgICBpZiAoaGFzVmlzaWJsZUNoYW5nZVN0
YXRlKCkpCisgICAgICAgIHJldHVybiBmYWxzZTsKKyAgICBpZiAodGltZU9mZnNldCArIGR1cmF0
aW9uID4gbWF4aW11bURlbGF5Rm9yQW5pbWF0aW9uc0FuZFRyYW5zaXRpb25zKQorICAgICAgICBy
ZXR1cm4gZmFsc2U7CisgICAgaWYgKCFpc09ic2VydmVkUHJvcGVydHkocHJvcGVydHlJRCkpCisg
ICAgICAgIHJldHVybiBmYWxzZTsKKyAgICByZXR1cm4gdHJ1ZTsKK30KKwordm9pZCBDb250ZW50
Q2hhbmdlT2JzZXJ2ZXI6OmRpZFN0YXJ0VHJhbnNpdGlvbihjb25zdCBSZW5kZXJFbGVtZW50JiBy
ZW5kZXJlciwgQ1NTUHJvcGVydHlJRCBwcm9wZXJ0eUlELCBTZWNvbmRzIHRpbWVPZmZzZXQsIFNl
Y29uZHMgZHVyYXRpb24pCit7CisgICAgaWYgKCFzaG91bGRPYnNlcnZlVHJhbnNpdGlvbk9yQW5p
bWF0aW9uKHByb3BlcnR5SUQsIHRpbWVPZmZzZXQsIGR1cmF0aW9uKSkKKyAgICAgICAgcmV0dXJu
OworICAgIExPRyhDb250ZW50T2JzZXJ2YXRpb24sICJkaWRTdGFydEFuaW1hdGlvbjogdHJhbnNp
dGlvbiBzdGFydGVkLiIpOworCisgICAgbV9yZW5kZXJlcnNXaXRoVHJhbnNpdGlvbi5hZGQoJnJl
bmRlcmVyKTsKK30KKwordm9pZCBDb250ZW50Q2hhbmdlT2JzZXJ2ZXI6OmRpZEZpbmlzaFRyYW5z
aXRpb24oY29uc3QgUmVuZGVyRWxlbWVudCYgcmVuZGVyZXIsIENTU1Byb3BlcnR5SUQgcHJvcGVy
dHlJRCkKK3sKKyAgICBpZiAoIWlzT2JzZXJ2ZWRQcm9wZXJ0eShwcm9wZXJ0eUlEKSkKKyAgICAg
ICAgcmV0dXJuOworICAgIC8vIEZJWE1FOiBUaGlzIHdvcmtzIGFzIGxvbmcgYXMgd2Ugb2JzZXJ2
ZSBvbmx5IG9uZSBwcm9wZXJ0eS4KKyAgICBpZiAoIW1fcmVuZGVyZXJzV2l0aFRyYW5zaXRpb24u
Y29udGFpbnMoJnJlbmRlcmVyKSkKKyAgICAgICAgcmV0dXJuOworICAgIExPRyhDb250ZW50T2Jz
ZXJ2YXRpb24sICJkaWRGaW5pc2hBbmltYXRpb246IGFuaW1hdGlvbiBmaW5pc2hlZC4iKTsKKwor
ICAgIG1fcmVuZGVyZXJzV2l0aFRyYW5zaXRpb24ucmVtb3ZlKCZyZW5kZXJlcik7Cit9CisKK3Zv
aWQgQ29udGVudENoYW5nZU9ic2VydmVyOjpkaWRTdGFydEFuaW1hdGlvbihjb25zdCBSZW5kZXJF
bGVtZW50JiByZW5kZXJlciwgY29uc3QgQW5pbWF0aW9uJiBhbmltYXRpb24sIFNlY29uZHMgdGlt
ZU9mZnNldCkKK3sKKyAgICBpZiAoIWFuaW1hdGlvbi5pc0R1cmF0aW9uU2V0KCkgfHwgIWFuaW1h
dGlvbi5pc1Byb3BlcnR5U2V0KCkpCisgICAgICAgIHJldHVybjsKKyAgICBpZiAoIXNob3VsZE9i
c2VydmVUcmFuc2l0aW9uT3JBbmltYXRpb24oYW5pbWF0aW9uLnByb3BlcnR5KCksIHRpbWVPZmZz
ZXQsIFNlY29uZHM6OmZyb21NaWxsaXNlY29uZHMoYW5pbWF0aW9uLmR1cmF0aW9uKCkpKSkKKyAg
ICAgICAgcmV0dXJuOworICAgIExPRyhDb250ZW50T2JzZXJ2YXRpb24sICJkaWRTdGFydEFuaW1h
dGlvbjogYW5pbWF0aW9uIHN0YXJ0ZWQuIik7CisKKyAgICBtX3JlbmRlcmVyc1dpdGhBbmltYXRp
b24uYWRkKCZyZW5kZXJlcik7Cit9CisKK3ZvaWQgQ29udGVudENoYW5nZU9ic2VydmVyOjpkaWRG
aW5pc2hBbmltYXRpb24oY29uc3QgUmVuZGVyRWxlbWVudCYgcmVuZGVyZXIsIENTU1Byb3BlcnR5
SUQgcHJvcGVydHlJRCkKK3sKKyAgICBpZiAoIWlzT2JzZXJ2ZWRQcm9wZXJ0eShwcm9wZXJ0eUlE
KSkKKyAgICAgICAgcmV0dXJuOworICAgIC8vIEZJWE1FOiBUaGlzIHdvcmtzIGFzIGxvbmcgYXMg
d2Ugb2JzZXJ2ZSBvbmx5IG9uZSBwcm9wZXJ0eS4KKyAgICBpZiAoIW1fcmVuZGVyZXJzV2l0aEFu
aW1hdGlvbi5jb250YWlucygmcmVuZGVyZXIpKQorICAgICAgICByZXR1cm47CisgICAgTE9HKENv
bnRlbnRPYnNlcnZhdGlvbiwgImRpZEZpbmlzaEFuaW1hdGlvbjogYW5pbWF0aW9uIGZpbmlzaGVk
LiIpOworCisgICAgbV9yZW5kZXJlcnNXaXRoQW5pbWF0aW9uLnJlbW92ZSgmcmVuZGVyZXIpOwor
fQorCiB2b2lkIENvbnRlbnRDaGFuZ2VPYnNlcnZlcjo6d2lsbE5vdFByb2NlZWRXaXRoQ2xpY2so
KQogewogICAgIExPRyhDb250ZW50T2JzZXJ2YXRpb24sICJ3aWxsTm90UHJvY2VlZFdpdGhDbGlj
azogY2xpY2sgd2lsbCBub3QgaGFwcGVuLiIpOwpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUv
cGFnZS9pb3MvQ29udGVudENoYW5nZU9ic2VydmVyLmggYi9Tb3VyY2UvV2ViQ29yZS9wYWdlL2lv
cy9Db250ZW50Q2hhbmdlT2JzZXJ2ZXIuaAppbmRleCA2YWUxODAyNjIxZjgyNDY4NTRjNGUxY2Q5
Yjk2ZmExNTkyZjllMWZmLi5jOWFjODdmYmQ5YzBiNjFjYzI1M2ZlMDNmNjhlZGYzZDZlZDE3NjI1
IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9wYWdlL2lvcy9Db250ZW50Q2hhbmdlT2JzZXJ2
ZXIuaAorKysgYi9Tb3VyY2UvV2ViQ29yZS9wYWdlL2lvcy9Db250ZW50Q2hhbmdlT2JzZXJ2ZXIu
aApAQCAtMzAsOSArMzAsMTEgQEAKICNpbmNsdWRlICJQbGF0Zm9ybUV2ZW50LmgiCiAjaW5jbHVk
ZSAiVGltZXIuaCIKICNpbmNsdWRlICJXS0NvbnRlbnRPYnNlcnZhdGlvbi5oIgorI2luY2x1ZGUg
PHd0Zi9IYXNoU2V0Lmg+CiAKIG5hbWVzcGFjZSBXZWJDb3JlIHsKIAorY2xhc3MgQW5pbWF0aW9u
OwogY2xhc3MgRE9NVGltZXI7CiBjbGFzcyBEb2N1bWVudDsKIApAQCAtNDUsNiArNDcsMTMgQEAg
cHVibGljOgogCiAgICAgdm9pZCBkaWRJbnN0YWxsRE9NVGltZXIoY29uc3QgRE9NVGltZXImLCBT
ZWNvbmRzIHRpbWVvdXQsIGJvb2wgc2luZ2xlU2hvdCk7CiAgICAgdm9pZCBkaWRSZW1vdmVET01U
aW1lcihjb25zdCBET01UaW1lciYpOworCisgICAgdm9pZCBkaWRTdGFydFRyYW5zaXRpb24oY29u
c3QgUmVuZGVyRWxlbWVudCYsIENTU1Byb3BlcnR5SUQsIFNlY29uZHMgdGltZU9mZnNldCwgU2Vj
b25kcyBkdXJhdGlvbik7CisgICAgdm9pZCBkaWRGaW5pc2hUcmFuc2l0aW9uKGNvbnN0IFJlbmRl
ckVsZW1lbnQmLCBDU1NQcm9wZXJ0eUlEKTsKKworICAgIHZvaWQgZGlkU3RhcnRBbmltYXRpb24o
Y29uc3QgUmVuZGVyRWxlbWVudCYsIGNvbnN0IEFuaW1hdGlvbiYsIFNlY29uZHMgdGltZU9mZnNl
dCk7CisgICAgdm9pZCBkaWRGaW5pc2hBbmltYXRpb24oY29uc3QgUmVuZGVyRWxlbWVudCYsIENT
U1Byb3BlcnR5SUQpOworCiAgICAgV0VCQ09SRV9FWFBPUlQgdm9pZCB3aWxsTm90UHJvY2VlZFdp
dGhDbGljaygpOwogICAgIFdFQkNPUkVfRVhQT1JUIHN0YXRpYyB2b2lkIGRpZFJlY29nbml6ZUxv
bmdQcmVzcyhGcmFtZSYgbWFpbkZyYW1lKTsKICAgICBXRUJDT1JFX0VYUE9SVCBzdGF0aWMgdm9p
ZCBkaWRQcmV2ZW50RGVmYXVsdEZvckV2ZW50KEZyYW1lJiBtYWluRnJhbWUpOwpAQCAtMTAxLDYg
KzExMCw4IEBAIHB1YmxpYzoKICAgICB9OwogCiBwcml2YXRlOgorICAgIGJvb2wgc2hvdWxkT2Jz
ZXJ2ZVRyYW5zaXRpb25PckFuaW1hdGlvbihDU1NQcm9wZXJ0eUlELCBTZWNvbmRzIHRpbWVPZmZz
ZXQsIFNlY29uZHMgZHVyYXRpb24pIGNvbnN0OworCiAgICAgdm9pZCB0b3VjaEV2ZW50RGlkU3Rh
cnQoUGxhdGZvcm1FdmVudDo6VHlwZSk7CiAgICAgdm9pZCB0b3VjaEV2ZW50RGlkRmluaXNoKCk7
CiAKQEAgLTExMyw2ICsxMjQsOCBAQCBwcml2YXRlOgogCiAgICAgdm9pZCBzZXRTaG91bGRPYnNl
cnZlRE9NVGltZXJTY2hlZHVsaW5nKGJvb2wgb2JzZXJ2ZSkgeyBtX2lzT2JzZXJ2aW5nRE9NVGlt
ZXJTY2hlZHVsaW5nID0gb2JzZXJ2ZTsgfQogICAgIGJvb2wgaXNPYnNlcnZpbmdET01UaW1lclNj
aGVkdWxpbmcoKSBjb25zdCB7IHJldHVybiBtX2lzT2JzZXJ2aW5nRE9NVGltZXJTY2hlZHVsaW5n
OyB9CisgICAgYm9vbCBpc09ic2VydmluZ0FuaW1hdGlvbnNBbmRUcmFuc2l0aW9ucygpIGNvbnN0
IHsgcmV0dXJuIG1faXNPYnNlcnZpbmdBbmltYXRpb25zQW5kVHJhbnNpdGlvbnM7IH0KKyAgICBi
b29sIGlzT2JzZXJ2ZWRQcm9wZXJ0eShDU1NQcm9wZXJ0eUlEIHByb3BlcnR5SWQpIGNvbnN0IHsg
cmV0dXJuIHByb3BlcnR5SWQgPT0gQ1NTUHJvcGVydHlMZWZ0OyB9CiAgICAgdm9pZCBkb21UaW1l
ckV4ZWN1dGVEaWRTdGFydChjb25zdCBET01UaW1lciYpOwogICAgIHZvaWQgZG9tVGltZXJFeGVj
dXRlRGlkRmluaXNoKGNvbnN0IERPTVRpbWVyJik7CiAgICAgdm9pZCByZWdpc3RlckRPTVRpbWVy
KGNvbnN0IERPTVRpbWVyJiB0aW1lcikgeyBtX0RPTVRpbWVyTGlzdC5hZGQoJnRpbWVyKTsgfQpA
QCAtMTY2LDYgKzE3OSw5IEBAIHByaXZhdGU6CiAgICAgRG9jdW1lbnQmIG1fZG9jdW1lbnQ7CiAg
ICAgVGltZXIgbV9jb250ZW50T2JzZXJ2YXRpb25UaW1lcjsKICAgICBIYXNoU2V0PGNvbnN0IERP
TVRpbWVyKj4gbV9ET01UaW1lckxpc3Q7CisgICAgLy8gRklYTUU6IE1vdmUgb3ZlciB0byBXZWFr
SGFzaFNldCB3aGVuIGl0IHN0YXJ0cyBzdXBwb3J0aW5nIGNvbnN0LgorICAgIEhhc2hTZXQ8Y29u
c3QgUmVuZGVyRWxlbWVudCo+IG1fcmVuZGVyZXJzV2l0aEFuaW1hdGlvbjsKKyAgICBIYXNoU2V0
PGNvbnN0IFJlbmRlckVsZW1lbnQqPiBtX3JlbmRlcmVyc1dpdGhUcmFuc2l0aW9uOwogICAgIGJv
b2wgbV90b3VjaEV2ZW50SXNCZWluZ0Rpc3BhdGNoZWQgeyBmYWxzZSB9OwogICAgIGJvb2wgbV9p
c1dhaXRpbmdGb3JTdHlsZVJlY2FsYyB7IGZhbHNlIH07CiAgICAgYm9vbCBtX2lzSW5PYnNlcnZl
ZFN0eWxlUmVjYWxjIHsgZmFsc2UgfTsKQEAgLTE3Myw2ICsxODksNyBAQCBwcml2YXRlOgogICAg
IGJvb2wgbV9vYnNlcnZlZERvbVRpbWVySXNCZWluZ0V4ZWN1dGVkIHsgZmFsc2UgfTsKICAgICBi
b29sIG1fbW91c2VNb3ZlZEV2ZW50SXNCZWluZ0Rpc3BhdGNoZWQgeyBmYWxzZSB9OwogICAgIGJv
b2wgbV9pc0JldHdlZW5Ub3VjaEVuZEFuZE1vdXNlTW92ZWQgeyBmYWxzZSB9OworICAgIGJvb2wg
bV9pc09ic2VydmluZ0FuaW1hdGlvbnNBbmRUcmFuc2l0aW9ucyB7IGZhbHNlIH07CiB9OwogCiBp
bmxpbmUgdm9pZCBDb250ZW50Q2hhbmdlT2JzZXJ2ZXI6OnNldEhhc05vQ2hhbmdlU3RhdGUoKQpk
aWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvcmVuZGVyaW5nL1JlbmRlckVsZW1lbnQuY3BwIGIv
U291cmNlL1dlYkNvcmUvcmVuZGVyaW5nL1JlbmRlckVsZW1lbnQuY3BwCmluZGV4IDAyMmZlM2Jh
MDBmYmQ2MTExNjFhNzE0MmQ5MmFlZDlhNjUzOWIyZWYuLmNhYTVhYzFjNmIyYzJlOTQ3ZjUzOWE3
YjE0OWQ0OWU3MmE3MTc4YjIgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL3JlbmRlcmluZy9S
ZW5kZXJFbGVtZW50LmNwcAorKysgYi9Tb3VyY2UvV2ViQ29yZS9yZW5kZXJpbmcvUmVuZGVyRWxl
bWVudC5jcHAKQEAgLTI2LDYgKzI2LDcgQEAKICNpbmNsdWRlICJSZW5kZXJFbGVtZW50LmgiCiAK
ICNpbmNsdWRlICJBWE9iamVjdENhY2hlLmgiCisjaW5jbHVkZSAiQ29udGVudENoYW5nZU9ic2Vy
dmVyLmgiCiAjaW5jbHVkZSAiQ29udGVudERhdGEuaCIKICNpbmNsdWRlICJDdXJzb3JMaXN0Lmgi
CiAjaW5jbHVkZSAiRWxlbWVudENoaWxkSXRlcmF0b3IuaCIKQEAgLTIxNjgsNCArMjE2OSw0NSBA
QCB2b2lkIFJlbmRlckVsZW1lbnQ6OnJlc2V0VGV4dEF1dG9zaXppbmcoKQogfQogI2VuZGlmIC8v
IEVOQUJMRShURVhUX0FVVE9TSVpJTkcpCiAKK2Jvb2wgUmVuZGVyRWxlbWVudDo6c3RhcnRUcmFu
c2l0aW9uKGRvdWJsZSB0aW1lT2Zmc2V0LCBkb3VibGUgZHVyYXRpb24sIENTU1Byb3BlcnR5SUQg
cHJvcGVydHlJRCwgY29uc3QgUmVuZGVyU3R5bGUqLCBjb25zdCBSZW5kZXJTdHlsZSopCit7Cisj
aWYgUExBVEZPUk0oSU9TX0ZBTUlMWSkKKyAgICBkb2N1bWVudCgpLmNvbnRlbnRDaGFuZ2VPYnNl
cnZlcigpLmRpZFN0YXJ0VHJhbnNpdGlvbigqdGhpcywgcHJvcGVydHlJRCwgU2Vjb25kczo6ZnJv
bU1pbGxpc2Vjb25kcyh0aW1lT2Zmc2V0KSwgU2Vjb25kczo6ZnJvbU1pbGxpc2Vjb25kcyhkdXJh
dGlvbikpOworI2Vsc2UKKyAgICBVTlVTRURfUEFSQU0odGltZU9mZnNldCk7CisgICAgVU5VU0VE
X1BBUkFNKGR1cmF0aW9uKTsKKyAgICBVTlVTRURfUEFSQU0ocHJvcGVydHlJRCk7CisjZW5kaWYK
KyAgICByZXR1cm4gZmFsc2U7Cit9CisKK3ZvaWQgUmVuZGVyRWxlbWVudDo6dHJhbnNpdGlvbkZp
bmlzaGVkKENTU1Byb3BlcnR5SUQgcHJvcGVydHlJRCkKK3sKKyNpZiBQTEFURk9STShJT1NfRkFN
SUxZKQorICAgIGRvY3VtZW50KCkuY29udGVudENoYW5nZU9ic2VydmVyKCkuZGlkRmluaXNoVHJh
bnNpdGlvbigqdGhpcywgcHJvcGVydHlJRCk7CisjZWxzZQorICAgIFVOVVNFRF9QQVJBTShwcm9w
ZXJ0eUlEKTsKKyNlbmRpZgorfQorCitib29sIFJlbmRlckVsZW1lbnQ6OnN0YXJ0QW5pbWF0aW9u
KGRvdWJsZSB0aW1lT2Zmc2V0LCBjb25zdCBBbmltYXRpb24mIGFuaW1hdGlvbiwgY29uc3QgS2V5
ZnJhbWVMaXN0JikKK3sKKyNpZiBQTEFURk9STShJT1NfRkFNSUxZKQorICAgIGRvY3VtZW50KCku
Y29udGVudENoYW5nZU9ic2VydmVyKCkuZGlkU3RhcnRBbmltYXRpb24oKnRoaXMsIGFuaW1hdGlv
biwgU2Vjb25kcyB7IHRpbWVPZmZzZXQgfSk7CisjZWxzZQorICAgIFVOVVNFRF9QQVJBTSh0aW1l
T2Zmc2V0KTsKKyAgICBVTlVTRURfUEFSQU0oYW5pbWF0aW9uKTsKKyNlbmRpZgorICAgIHJldHVy
biBmYWxzZTsKK30KKwordm9pZCBSZW5kZXJFbGVtZW50OjphbmltYXRpb25GaW5pc2hlZChjb25z
dCBTdHJpbmcmLCBjb25zdCBBbmltYXRpb24mIGFuaW1hdGlvbikKK3sKKyNpZiBQTEFURk9STShJ
T1NfRkFNSUxZKQorICAgIGRvY3VtZW50KCkuY29udGVudENoYW5nZU9ic2VydmVyKCkuZGlkRmlu
aXNoQW5pbWF0aW9uKCp0aGlzLCBhbmltYXRpb24ucHJvcGVydHkoKSk7CisjZWxzZQorICAgIFVO
VVNFRF9QQVJBTShhbmltYXRpb24pOworI2VuZGlmCit9CisKIH0KZGlmZiAtLWdpdCBhL1NvdXJj
ZS9XZWJDb3JlL3JlbmRlcmluZy9SZW5kZXJFbGVtZW50LmggYi9Tb3VyY2UvV2ViQ29yZS9yZW5k
ZXJpbmcvUmVuZGVyRWxlbWVudC5oCmluZGV4IGYyOGRkMjQ1ZDk1NWUxNmJlNGQ2NTYwOTI3OTg0
NGMzMThhODM3MDUuLmRmZjhmMThkZmYyNmQ2MTJmNDE1ODg4NjdkODYzNmU3MGU0NzA1N2YgMTAw
NjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL3JlbmRlcmluZy9SZW5kZXJFbGVtZW50LmgKKysrIGIv
U291cmNlL1dlYkNvcmUvcmVuZGVyaW5nL1JlbmRlckVsZW1lbnQuaApAQCAtMjIyLDE0ICsyMjIs
MTQgQEAgcHVibGljOgogICAgIFJlbmRlck9iamVjdCogYXR0YWNoUmVuZGVyZXJJbnRlcm5hbChS
ZW5kZXJQdHI8UmVuZGVyT2JqZWN0PiBjaGlsZCwgUmVuZGVyT2JqZWN0KiBiZWZvcmVDaGlsZCk7
CiAgICAgUmVuZGVyUHRyPFJlbmRlck9iamVjdD4gZGV0YWNoUmVuZGVyZXJJbnRlcm5hbChSZW5k
ZXJPYmplY3QmKTsKIAotICAgIHZpcnR1YWwgYm9vbCBzdGFydFRyYW5zaXRpb24oZG91YmxlIC8q
IHRpbWVPZmZzZXQgKi8sIENTU1Byb3BlcnR5SUQsIGNvbnN0IFJlbmRlclN0eWxlKiAvKiBmcm9t
U3R5bGUgKi8sIGNvbnN0IFJlbmRlclN0eWxlKiAvKiB0b1N0eWxlICovKSB7IHJldHVybiBmYWxz
ZTsgfQorICAgIHZpcnR1YWwgYm9vbCBzdGFydFRyYW5zaXRpb24oZG91YmxlIC8qIHRpbWVPZmZz
ZXQgKi8sIGRvdWJsZSAvKiBkdXJhdGlvbiAqLywgQ1NTUHJvcGVydHlJRCwgY29uc3QgUmVuZGVy
U3R5bGUqIC8qIGZyb21TdHlsZSAqLywgY29uc3QgUmVuZGVyU3R5bGUqIC8qIHRvU3R5bGUgKi8p
OwogICAgIHZpcnR1YWwgdm9pZCB0cmFuc2l0aW9uUGF1c2VkKGRvdWJsZSAvKiB0aW1lT2Zmc2V0
ICovLCBDU1NQcm9wZXJ0eUlEKSB7IH0KLSAgICB2aXJ0dWFsIHZvaWQgdHJhbnNpdGlvbkZpbmlz
aGVkKENTU1Byb3BlcnR5SUQpIHsgfQorICAgIHZpcnR1YWwgdm9pZCB0cmFuc2l0aW9uRmluaXNo
ZWQoQ1NTUHJvcGVydHlJRCk7CiAKLSAgICB2aXJ0dWFsIGJvb2wgc3RhcnRBbmltYXRpb24oZG91
YmxlIC8qIHRpbWVPZmZzZXQgKi8sIGNvbnN0IEFuaW1hdGlvbiYsIGNvbnN0IEtleWZyYW1lTGlz
dCYpIHsgcmV0dXJuIGZhbHNlOyB9CisgICAgdmlydHVhbCBib29sIHN0YXJ0QW5pbWF0aW9uKGRv
dWJsZSAvKiB0aW1lT2Zmc2V0ICovLCBjb25zdCBBbmltYXRpb24mLCBjb25zdCBLZXlmcmFtZUxp
c3QmKTsKICAgICB2aXJ0dWFsIHZvaWQgYW5pbWF0aW9uUGF1c2VkKGRvdWJsZSAvKiB0aW1lT2Zm
c2V0ICovLCBjb25zdCBTdHJpbmcmIC8qIG5hbWUgKi8pIHsgfQogICAgIHZpcnR1YWwgdm9pZCBh
bmltYXRpb25TZWVrZWQoZG91YmxlIC8qIHRpbWVPZmZzZXQgKi8sIGNvbnN0IFN0cmluZyYgLyog
bmFtZSAqLykgeyB9Ci0gICAgdmlydHVhbCB2b2lkIGFuaW1hdGlvbkZpbmlzaGVkKGNvbnN0IFN0
cmluZyYgLyogbmFtZSAqLykgeyB9CisgICAgdmlydHVhbCB2b2lkIGFuaW1hdGlvbkZpbmlzaGVk
KGNvbnN0IFN0cmluZyYgLyogbmFtZSAqLywgY29uc3QgQW5pbWF0aW9uJik7CiAKICAgICB2aXJ0
dWFsIHZvaWQgc3VzcGVuZEFuaW1hdGlvbnMoTW9ub3RvbmljVGltZSA9IE1vbm90b25pY1RpbWUo
KSkgeyB9CiAKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL3JlbmRlcmluZy9SZW5kZXJMYXll
ck1vZGVsT2JqZWN0LmNwcCBiL1NvdXJjZS9XZWJDb3JlL3JlbmRlcmluZy9SZW5kZXJMYXllck1v
ZGVsT2JqZWN0LmNwcAppbmRleCA3MjVhNDdkYzIxZTFiZDhiZTgwODExMmViYjNjYTE2YWE2OTk3
YTk4Li5jMzQ5YmQzOTk5ZjliZDJjMzQ3ZWQ3MmNiYTBiNGQ2NjZjZjI3NTQ4IDEwMDY0NAotLS0g
YS9Tb3VyY2UvV2ViQ29yZS9yZW5kZXJpbmcvUmVuZGVyTGF5ZXJNb2RlbE9iamVjdC5jcHAKKysr
IGIvU291cmNlL1dlYkNvcmUvcmVuZGVyaW5nL1JlbmRlckxheWVyTW9kZWxPYmplY3QuY3BwCkBA
IC0yODMsMTUgKzI4MywxNyBAQCB2b2lkIFJlbmRlckxheWVyTW9kZWxPYmplY3Q6OmNvbXB1dGVS
ZXBhaW50TGF5b3V0UmVjdHMoY29uc3QgUmVuZGVyTGF5ZXJNb2RlbE9iagogICAgICAgICBzZXRS
ZXBhaW50TGF5b3V0UmVjdHMoUmVwYWludExheW91dFJlY3RzKCp0aGlzLCByZXBhaW50Q29udGFp
bmVyLCBnZW9tZXRyeU1hcCkpOwogfQogCi1ib29sIFJlbmRlckxheWVyTW9kZWxPYmplY3Q6OnN0
YXJ0VHJhbnNpdGlvbihkb3VibGUgdGltZU9mZnNldCwgQ1NTUHJvcGVydHlJRCBwcm9wZXJ0eUlk
LCBjb25zdCBSZW5kZXJTdHlsZSogZnJvbVN0eWxlLCBjb25zdCBSZW5kZXJTdHlsZSogdG9TdHls
ZSkKK2Jvb2wgUmVuZGVyTGF5ZXJNb2RlbE9iamVjdDo6c3RhcnRUcmFuc2l0aW9uKGRvdWJsZSB0
aW1lT2Zmc2V0LCBkb3VibGUgZHVyYXRpb24sIENTU1Byb3BlcnR5SUQgcHJvcGVydHlJZCwgY29u
c3QgUmVuZGVyU3R5bGUqIGZyb21TdHlsZSwgY29uc3QgUmVuZGVyU3R5bGUqIHRvU3R5bGUpCiB7
CisgICAgYXV0byBkaWRBbmltYXRlID0gUmVuZGVyRWxlbWVudDo6c3RhcnRUcmFuc2l0aW9uKHRp
bWVPZmZzZXQsIGR1cmF0aW9uLCBwcm9wZXJ0eUlkLCBmcm9tU3R5bGUsIHRvU3R5bGUpOwogICAg
IGlmICghbGF5ZXIoKSB8fCAhbGF5ZXIoKS0+YmFja2luZygpKQotICAgICAgICByZXR1cm4gZmFs
c2U7CisgICAgICAgIHJldHVybiBkaWRBbmltYXRlOwogICAgIHJldHVybiBsYXllcigpLT5iYWNr
aW5nKCktPnN0YXJ0VHJhbnNpdGlvbih0aW1lT2Zmc2V0LCBwcm9wZXJ0eUlkLCBmcm9tU3R5bGUs
IHRvU3R5bGUpOwogfQogCiB2b2lkIFJlbmRlckxheWVyTW9kZWxPYmplY3Q6OnRyYW5zaXRpb25Q
YXVzZWQoZG91YmxlIHRpbWVPZmZzZXQsIENTU1Byb3BlcnR5SUQgcHJvcGVydHlJZCkKIHsKKyAg
ICBSZW5kZXJFbGVtZW50Ojp0cmFuc2l0aW9uUGF1c2VkKHRpbWVPZmZzZXQsIHByb3BlcnR5SWQp
OwogICAgIGlmICghbGF5ZXIoKSB8fCAhbGF5ZXIoKS0+YmFja2luZygpKQogICAgICAgICByZXR1
cm47CiAgICAgbGF5ZXIoKS0+YmFja2luZygpLT50cmFuc2l0aW9uUGF1c2VkKHRpbWVPZmZzZXQs
IHByb3BlcnR5SWQpOwpAQCAtMjk5LDYgKzMwMSw3IEBAIHZvaWQgUmVuZGVyTGF5ZXJNb2RlbE9i
amVjdDo6dHJhbnNpdGlvblBhdXNlZChkb3VibGUgdGltZU9mZnNldCwgQ1NTUHJvcGVydHlJRCBw
CiAKIHZvaWQgUmVuZGVyTGF5ZXJNb2RlbE9iamVjdDo6dHJhbnNpdGlvbkZpbmlzaGVkKENTU1By
b3BlcnR5SUQgcHJvcGVydHlJZCkKIHsKKyAgICBSZW5kZXJFbGVtZW50Ojp0cmFuc2l0aW9uRmlu
aXNoZWQocHJvcGVydHlJZCk7CiAgICAgaWYgKCFsYXllcigpIHx8ICFsYXllcigpLT5iYWNraW5n
KCkpCiAgICAgICAgIHJldHVybjsKICAgICBsYXllcigpLT5iYWNraW5nKCktPnRyYW5zaXRpb25G
aW5pc2hlZChwcm9wZXJ0eUlkKTsKQEAgLTMwNiwxMyArMzA5LDE1IEBAIHZvaWQgUmVuZGVyTGF5
ZXJNb2RlbE9iamVjdDo6dHJhbnNpdGlvbkZpbmlzaGVkKENTU1Byb3BlcnR5SUQgcHJvcGVydHlJ
ZCkKIAogYm9vbCBSZW5kZXJMYXllck1vZGVsT2JqZWN0OjpzdGFydEFuaW1hdGlvbihkb3VibGUg
dGltZU9mZnNldCwgY29uc3QgQW5pbWF0aW9uJiBhbmltYXRpb24sIGNvbnN0IEtleWZyYW1lTGlz
dCYga2V5ZnJhbWVzKQogeworICAgIGF1dG8gZGlkQW5pbWF0ZSA9IFJlbmRlckVsZW1lbnQ6OnN0
YXJ0QW5pbWF0aW9uKHRpbWVPZmZzZXQsIGFuaW1hdGlvbiwga2V5ZnJhbWVzKTsKICAgICBpZiAo
IWxheWVyKCkgfHwgIWxheWVyKCktPmJhY2tpbmcoKSkKLSAgICAgICAgcmV0dXJuIGZhbHNlOwor
ICAgICAgICByZXR1cm4gZGlkQW5pbWF0ZTsKICAgICByZXR1cm4gbGF5ZXIoKS0+YmFja2luZygp
LT5zdGFydEFuaW1hdGlvbih0aW1lT2Zmc2V0LCBhbmltYXRpb24sIGtleWZyYW1lcyk7CiB9CiAK
IHZvaWQgUmVuZGVyTGF5ZXJNb2RlbE9iamVjdDo6YW5pbWF0aW9uUGF1c2VkKGRvdWJsZSB0aW1l
T2Zmc2V0LCBjb25zdCBTdHJpbmcmIG5hbWUpCiB7CisgICAgUmVuZGVyRWxlbWVudDo6YW5pbWF0
aW9uUGF1c2VkKHRpbWVPZmZzZXQsIG5hbWUpOwogICAgIGlmICghbGF5ZXIoKSB8fCAhbGF5ZXIo
KS0+YmFja2luZygpKQogICAgICAgICByZXR1cm47CiAgICAgbGF5ZXIoKS0+YmFja2luZygpLT5h
bmltYXRpb25QYXVzZWQodGltZU9mZnNldCwgbmFtZSk7CkBAIC0zMjAsMTMgKzMyNSwxNSBAQCB2
b2lkIFJlbmRlckxheWVyTW9kZWxPYmplY3Q6OmFuaW1hdGlvblBhdXNlZChkb3VibGUgdGltZU9m
ZnNldCwgY29uc3QgU3RyaW5nJiBuYQogCiB2b2lkIFJlbmRlckxheWVyTW9kZWxPYmplY3Q6OmFu
aW1hdGlvblNlZWtlZChkb3VibGUgdGltZU9mZnNldCwgY29uc3QgU3RyaW5nJiBuYW1lKQogewor
ICAgIFJlbmRlckVsZW1lbnQ6OmFuaW1hdGlvblNlZWtlZCh0aW1lT2Zmc2V0LCBuYW1lKTsKICAg
ICBpZiAoIWxheWVyKCkgfHwgIWxheWVyKCktPmJhY2tpbmcoKSkKICAgICAgICAgcmV0dXJuOwog
ICAgIGxheWVyKCktPmJhY2tpbmcoKS0+YW5pbWF0aW9uU2Vla2VkKHRpbWVPZmZzZXQsIG5hbWUp
OwogfQogCi12b2lkIFJlbmRlckxheWVyTW9kZWxPYmplY3Q6OmFuaW1hdGlvbkZpbmlzaGVkKGNv
bnN0IFN0cmluZyYgbmFtZSkKK3ZvaWQgUmVuZGVyTGF5ZXJNb2RlbE9iamVjdDo6YW5pbWF0aW9u
RmluaXNoZWQoY29uc3QgU3RyaW5nJiBuYW1lLCBjb25zdCBBbmltYXRpb24mIGFuaW1hdGlvbikK
IHsKKyAgICBSZW5kZXJFbGVtZW50OjphbmltYXRpb25GaW5pc2hlZChuYW1lLCBhbmltYXRpb24p
OwogICAgIGlmICghbGF5ZXIoKSB8fCAhbGF5ZXIoKS0+YmFja2luZygpKQogICAgICAgICByZXR1
cm47CiAgICAgbGF5ZXIoKS0+YmFja2luZygpLT5hbmltYXRpb25GaW5pc2hlZChuYW1lKTsKQEAg
LTMzNCw2ICszNDEsNyBAQCB2b2lkIFJlbmRlckxheWVyTW9kZWxPYmplY3Q6OmFuaW1hdGlvbkZp
bmlzaGVkKGNvbnN0IFN0cmluZyYgbmFtZSkKIAogdm9pZCBSZW5kZXJMYXllck1vZGVsT2JqZWN0
OjpzdXNwZW5kQW5pbWF0aW9ucyhNb25vdG9uaWNUaW1lIHRpbWUpCiB7CisgICAgUmVuZGVyRWxl
bWVudDo6c3VzcGVuZEFuaW1hdGlvbnModGltZSk7CiAgICAgaWYgKCFsYXllcigpIHx8ICFsYXll
cigpLT5iYWNraW5nKCkpCiAgICAgICAgIHJldHVybjsKICAgICBsYXllcigpLT5iYWNraW5nKCkt
PnN1c3BlbmRBbmltYXRpb25zKHRpbWUpOwpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvcmVu
ZGVyaW5nL1JlbmRlckxheWVyTW9kZWxPYmplY3QuaCBiL1NvdXJjZS9XZWJDb3JlL3JlbmRlcmlu
Zy9SZW5kZXJMYXllck1vZGVsT2JqZWN0LmgKaW5kZXggZDg3OTI0Mjc4YmFhZGI5ODk5MTI2YTZi
NWFkZWM5ZjAzYzZlZDdhNC4uNjJiNDg5Y2IxYzQ2MTgwYzBmZTRmNjNjMDIxOWZlMjRmNTZmOWQ5
MiAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvcmVuZGVyaW5nL1JlbmRlckxheWVyTW9kZWxP
YmplY3QuaAorKysgYi9Tb3VyY2UvV2ViQ29yZS9yZW5kZXJpbmcvUmVuZGVyTGF5ZXJNb2RlbE9i
amVjdC5oCkBAIC02OSwxNCArNjksMTQgQEAgcHVibGljOgogICAgIHZvaWQgc2V0UmVwYWludExh
eW91dFJlY3RzKGNvbnN0IFJlcGFpbnRMYXlvdXRSZWN0cyYpOwogICAgIHZvaWQgY2xlYXJSZXBh
aW50TGF5b3V0UmVjdHMoKTsKIAotICAgIGJvb2wgc3RhcnRUcmFuc2l0aW9uKGRvdWJsZSB0aW1l
T2Zmc2V0LCBDU1NQcm9wZXJ0eUlELCBjb25zdCBSZW5kZXJTdHlsZSogZnJvbVN0eWxlLCBjb25z
dCBSZW5kZXJTdHlsZSogdG9TdHlsZSkgb3ZlcnJpZGU7CisgICAgYm9vbCBzdGFydFRyYW5zaXRp
b24oZG91YmxlIHRpbWVPZmZzZXQsIGRvdWJsZSBkdXJhdGlvbiwgQ1NTUHJvcGVydHlJRCwgY29u
c3QgUmVuZGVyU3R5bGUqIGZyb21TdHlsZSwgY29uc3QgUmVuZGVyU3R5bGUqIHRvU3R5bGUpIG92
ZXJyaWRlOwogICAgIHZvaWQgdHJhbnNpdGlvblBhdXNlZChkb3VibGUgdGltZU9mZnNldCwgQ1NT
UHJvcGVydHlJRCkgb3ZlcnJpZGU7CiAgICAgdm9pZCB0cmFuc2l0aW9uRmluaXNoZWQoQ1NTUHJv
cGVydHlJRCkgb3ZlcnJpZGU7CiAKICAgICBib29sIHN0YXJ0QW5pbWF0aW9uKGRvdWJsZSB0aW1l
T2Zmc2V0LCBjb25zdCBBbmltYXRpb24mLCBjb25zdCBLZXlmcmFtZUxpc3QmKSBvdmVycmlkZTsK
ICAgICB2b2lkIGFuaW1hdGlvblBhdXNlZChkb3VibGUgdGltZU9mZnNldCwgY29uc3QgU3RyaW5n
JiBuYW1lKSBvdmVycmlkZTsKICAgICB2b2lkIGFuaW1hdGlvblNlZWtlZChkb3VibGUgdGltZU9m
ZnNldCwgY29uc3QgU3RyaW5nJiBuYW1lKSBvdmVycmlkZTsKLSAgICB2b2lkIGFuaW1hdGlvbkZp
bmlzaGVkKGNvbnN0IFN0cmluZyYgbmFtZSkgb3ZlcnJpZGU7CisgICAgdm9pZCBhbmltYXRpb25G
aW5pc2hlZChjb25zdCBTdHJpbmcmIG5hbWUsIGNvbnN0IEFuaW1hdGlvbiYpIG92ZXJyaWRlOwog
CiAgICAgdm9pZCBzdXNwZW5kQW5pbWF0aW9ucyhNb25vdG9uaWNUaW1lID0gTW9ub3RvbmljVGlt
ZSgpKSBvdmVycmlkZTsKIAo=
</data>

          </attachment>
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>365470</attachid>
            <date>2019-03-20 20:25:04 -0700</date>
            <delta_ts>2019-03-20 20:28:55 -0700</delta_ts>
            <desc>Patch</desc>
            <filename>bug-195914-20190320202503.patch</filename>
            <type>text/plain</type>
            <size>10945</size>
            <attacher name="alan">zalan</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMjQzMjcxCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9D
aGFuZ2VMb2cgYi9Tb3VyY2UvV2ViQ29yZS9DaGFuZ2VMb2cKaW5kZXggNzA4NTNkMzEzN2Q4NGJh
MGNhNzE1MzQzZDdkZmMzMjEzODEwNmZmYS4uZmZlNGRhNzg5NjcxNmY1ZGZkYTI2Mjg2YjAwYzli
MzE1MzVkM2Q3ZCAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvQ2hhbmdlTG9nCisrKyBiL1Nv
dXJjZS9XZWJDb3JlL0NoYW5nZUxvZwpAQCAtMSwzICsxLDMzIEBACisyMDE5LTAzLTIwICBaYWxh
biBCdWp0YXMgIDx6YWxhbkBhcHBsZS5jb20+CisKKyAgICAgICAgW0NvbnRlbnRDaGFuZ2VPYnNl
cnZlcl0gQWRkIHN1cHBvcnQgZm9yIG9ic2VydmluZyBpbXBsaWNpdCB0cmFuc2l0aW9ucworICAg
ICAgICBodHRwczovL2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9MTk1OTE0CisKKyAg
ICAgICAgUmV2aWV3ZWQgYnkgTk9CT0RZIChPT1BTISkuCisKKyAgICAgICAgVGhpcyBwYXRjaCBp
cyBpbiBwcmVwYXJhdGlvbiBmb3Igb2JzZXJ2aW5nIGVsZW1lbnRzIHdpdGggcHJvcGVydHkgImxl
ZnQiIGltcGxpY2l0IHRyYW5zaXRpb25zLgorCisgICAgICAgIFRoaXMgaXMgbm90IGEgY29udGlu
dW91cyB0cmFja2luZywgd2UgYXJlIG9ubHkgaW50ZXJlc3RlZCBpbiB0aGUgc3RhcnQgYW5kIHRo
ZSBlbmQgc3RhdGUuCisgICAgICAgIFRoZSBpZGVhIGhlcmUgaXMgdG8gcmVnaXN0ZXIgaGlkZGVu
IGVsZW1lbnRzIG9ubHkgYW5kIGNoZWNrIGlmIHRoZXkgYmVjb21lIHZpc2libGUgYnkKKyAgICAg
ICAgdGhlIGVuZCBvZiB0aGUgdHJhbnNpdGlvbiAoYW5kIGlnbm9yZSBpZiB0aGUgdHJhbnNpdGlv
biBnZXRzICJjYW5jZWxlZCIpLgorCisgICAgICAgICogcGFnZS9hbmltYXRpb24vQW5pbWF0aW9u
QmFzZS5oOgorICAgICAgICAqIHBhZ2UvYW5pbWF0aW9uL0ltcGxpY2l0QW5pbWF0aW9uLmNwcDoK
KyAgICAgICAgKFdlYkNvcmU6OkltcGxpY2l0QW5pbWF0aW9uOjpJbXBsaWNpdEFuaW1hdGlvbik6
CisgICAgICAgIChXZWJDb3JlOjpJbXBsaWNpdEFuaW1hdGlvbjo6fkltcGxpY2l0QW5pbWF0aW9u
KToKKyAgICAgICAgKFdlYkNvcmU6OkltcGxpY2l0QW5pbWF0aW9uOjpjbGVhcik6CisgICAgICAg
IChXZWJDb3JlOjpJbXBsaWNpdEFuaW1hdGlvbjo6b25BbmltYXRpb25FbmQpOgorICAgICAgICAq
IHBhZ2UvYW5pbWF0aW9uL0ltcGxpY2l0QW5pbWF0aW9uLmg6CisgICAgICAgICogcGFnZS9pb3Mv
Q29udGVudENoYW5nZU9ic2VydmVyLmNwcDoKKyAgICAgICAgKFdlYkNvcmU6OkNvbnRlbnRDaGFu
Z2VPYnNlcnZlcjo6ZGlkQWRkVHJhbnNpdGlvbik6CisgICAgICAgIChXZWJDb3JlOjpDb250ZW50
Q2hhbmdlT2JzZXJ2ZXI6OnJlbW92ZVRyYW5zaXRpb25JZk5lZWRlZCk6CisgICAgICAgIChXZWJD
b3JlOjpDb250ZW50Q2hhbmdlT2JzZXJ2ZXI6OmRpZEZpbmlzaFRyYW5zaXRpb24pOgorICAgICAg
ICAoV2ViQ29yZTo6Q29udGVudENoYW5nZU9ic2VydmVyOjpkaWRSZW1vdmVUcmFuc2l0aW9uKToK
KyAgICAgICAgKFdlYkNvcmU6OkNvbnRlbnRDaGFuZ2VPYnNlcnZlcjo6ZGlkSW5zdGFsbERPTVRp
bWVyKToKKyAgICAgICAgKiBwYWdlL2lvcy9Db250ZW50Q2hhbmdlT2JzZXJ2ZXIuaDoKKyAgICAg
ICAgKFdlYkNvcmU6OkNvbnRlbnRDaGFuZ2VPYnNlcnZlcjo6aXNPYnNlcnZpbmdUcmFuc2l0aW9u
cyBjb25zdCk6CisgICAgICAgIChXZWJDb3JlOjpDb250ZW50Q2hhbmdlT2JzZXJ2ZXI6OmlzT2Jz
ZXJ2ZWRQcm9wZXJ0eUZvclRyYW5zaXRpb24gY29uc3QpOgorCiAyMDE5LTAzLTIwICBZb3Vlbm4g
RmFibGV0ICA8eW91ZW5uQGFwcGxlLmNvbT4KIAogICAgICAgICBJbmNsdWRlIFdBTCBhbmQgU0hN
IGZpbGUgc2l6ZSBpbiBJREIgZGF0YWJhc2Ugc2l6ZSBjb21wdXRhdGlvbgpkaWZmIC0tZ2l0IGEv
U291cmNlL1dlYkNvcmUvcGFnZS9hbmltYXRpb24vQW5pbWF0aW9uQmFzZS5oIGIvU291cmNlL1dl
YkNvcmUvcGFnZS9hbmltYXRpb24vQW5pbWF0aW9uQmFzZS5oCmluZGV4IGY3YWJiYWZlMDdlOTU5
MGUzMGI3NTVlY2M5YjZmNDZhOGJjNmY4M2IuLmI2MzVjYjI1NzY2YjU3NzA0YzIyODlkOWY5YzBj
ZTg3YmJkNDE4MTYgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL3BhZ2UvYW5pbWF0aW9uL0Fu
aW1hdGlvbkJhc2UuaAorKysgYi9Tb3VyY2UvV2ViQ29yZS9wYWdlL2FuaW1hdGlvbi9BbmltYXRp
b25CYXNlLmgKQEAgLTYxLDcgKzYxLDcgQEAgcHVibGljOgogICAgIEVsZW1lbnQqIGVsZW1lbnQo
KSBjb25zdCB7IHJldHVybiBtX2VsZW1lbnQuZ2V0KCk7IH0KICAgICBjb25zdCBSZW5kZXJTdHls
ZSYgY3VycmVudFN0eWxlKCkgY29uc3Qgb3ZlcnJpZGU7CiAgICAgUmVuZGVyRWxlbWVudCogcmVu
ZGVyZXIoKSBjb25zdCBvdmVycmlkZTsKLSAgICB2b2lkIGNsZWFyKCk7CisgICAgdmlydHVhbCB2
b2lkIGNsZWFyKCk7CiAKICAgICBkb3VibGUgZHVyYXRpb24oKSBjb25zdDsKIApkaWZmIC0tZ2l0
IGEvU291cmNlL1dlYkNvcmUvcGFnZS9hbmltYXRpb24vSW1wbGljaXRBbmltYXRpb24uY3BwIGIv
U291cmNlL1dlYkNvcmUvcGFnZS9hbmltYXRpb24vSW1wbGljaXRBbmltYXRpb24uY3BwCmluZGV4
IDQzMzRlMzA3MTYyOWUwNTVmODNlODQxMGQzN2NhNDdhZDViYmQ5ZWQuLmRlMGFmYTk2OTA4MzY1
ODc1YTkxYmZjN2Q5MDRiOTZjNWFlOGVjN2UgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL3Bh
Z2UvYW5pbWF0aW9uL0ltcGxpY2l0QW5pbWF0aW9uLmNwcAorKysgYi9Tb3VyY2UvV2ViQ29yZS9w
YWdlL2FuaW1hdGlvbi9JbXBsaWNpdEFuaW1hdGlvbi5jcHAKQEAgLTMyLDYgKzMyLDcgQEAKICNp
bmNsdWRlICJDU1NBbmltYXRpb25Db250cm9sbGVyUHJpdmF0ZS5oIgogI2luY2x1ZGUgIkNTU1By
b3BlcnR5QW5pbWF0aW9uLmgiCiAjaW5jbHVkZSAiQ29tcG9zaXRlQW5pbWF0aW9uLmgiCisjaW5j
bHVkZSAiQ29udGVudENoYW5nZU9ic2VydmVyLmgiCiAjaW5jbHVkZSAiRXZlbnROYW1lcy5oIgog
I2luY2x1ZGUgIkdlb21ldHJ5VXRpbGl0aWVzLmgiCiAjaW5jbHVkZSAiS2V5ZnJhbWVBbmltYXRp
b24uaCIKQEAgLTQ2LDExICs0NywxOCBAQCBJbXBsaWNpdEFuaW1hdGlvbjo6SW1wbGljaXRBbmlt
YXRpb24oY29uc3QgQW5pbWF0aW9uJiB0cmFuc2l0aW9uLCBDU1NQcm9wZXJ0eUlECiAgICAgLCBt
X3RyYW5zaXRpb25Qcm9wZXJ0eSh0cmFuc2l0aW9uLnByb3BlcnR5KCkpCiAgICAgLCBtX2FuaW1h
dGluZ1Byb3BlcnR5KGFuaW1hdGluZ1Byb3BlcnR5KQogeworI2lmIFBMQVRGT1JNKElPU19GQU1J
TFkpCisgICAgZWxlbWVudC5kb2N1bWVudCgpLmNvbnRlbnRDaGFuZ2VPYnNlcnZlcigpLmRpZEFk
ZFRyYW5zaXRpb24oZWxlbWVudCwgdHJhbnNpdGlvbik7CisjZW5kaWYKICAgICBBU1NFUlQoYW5p
bWF0aW5nUHJvcGVydHkgIT0gQ1NTUHJvcGVydHlJbnZhbGlkKTsKIH0KIAogSW1wbGljaXRBbmlt
YXRpb246On5JbXBsaWNpdEFuaW1hdGlvbigpCiB7CisjaWYgUExBVEZPUk0oSU9TX0ZBTUlMWSkK
KyAgICBpZiAoYXV0byogZWxlbWVudCA9IHRoaXMtPmVsZW1lbnQoKSkKKyAgICAgICAgZWxlbWVu
dC0+ZG9jdW1lbnQoKS5jb250ZW50Q2hhbmdlT2JzZXJ2ZXIoKS5kaWRSZW1vdmVUcmFuc2l0aW9u
KCplbGVtZW50LCBtX2FuaW1hdGluZ1Byb3BlcnR5KTsKKyNlbmRpZgogICAgIC8vIC8vIE1ha2Ug
c3VyZSB0byB0ZWxsIHRoZSByZW5kZXJlciB0aGF0IHdlIGFyZSBlbmRpbmcuIFRoaXMgd2lsbCBt
YWtlIHN1cmUgYW55IGFjY2VsZXJhdGVkIGFuaW1hdGlvbnMgYXJlIHJlbW92ZWQuCiAgICAgaWYg
KCFwb3N0QWN0aXZlKCkpCiAgICAgICAgIGVuZEFuaW1hdGlvbigpOwpAQCAtMTU4LDYgKzE2Niwx
NSBAQCB2b2lkIEltcGxpY2l0QW5pbWF0aW9uOjpwYXVzZUFuaW1hdGlvbihkb3VibGUgdGltZU9m
ZnNldCkKICAgICAgICAgc2V0TmVlZHNTdHlsZVJlY2FsYyhlbGVtZW50KCkpOwogfQogCit2b2lk
IEltcGxpY2l0QW5pbWF0aW9uOjpjbGVhcigpCit7CisjaWYgUExBVEZPUk0oSU9TX0ZBTUlMWSkK
KyAgICBpZiAoYXV0byogZWxlbWVudCA9IHRoaXMtPmVsZW1lbnQoKSkKKyAgICAgICAgZWxlbWVu
dC0+ZG9jdW1lbnQoKS5jb250ZW50Q2hhbmdlT2JzZXJ2ZXIoKS5kaWRSZW1vdmVUcmFuc2l0aW9u
KCplbGVtZW50LCBtX2FuaW1hdGluZ1Byb3BlcnR5KTsKKyNlbmRpZgorICAgIEFuaW1hdGlvbkJh
c2U6OmNsZWFyKCk7Cit9CisKIHZvaWQgSW1wbGljaXRBbmltYXRpb246OmVuZEFuaW1hdGlvbihi
b29sKQogewogICAgIGlmIChhdXRvKiByZW5kZXJlciA9IHRoaXMtPnJlbmRlcmVyKCkpCkBAIC0x
NjYsNiArMTgzLDEwIEBAIHZvaWQgSW1wbGljaXRBbmltYXRpb246OmVuZEFuaW1hdGlvbihib29s
KQogCiB2b2lkIEltcGxpY2l0QW5pbWF0aW9uOjpvbkFuaW1hdGlvbkVuZChkb3VibGUgZWxhcHNl
ZFRpbWUpCiB7CisjaWYgUExBVEZPUk0oSU9TX0ZBTUlMWSkKKyAgICBpZiAoYXV0byogZWxlbWVu
dCA9IHRoaXMtPmVsZW1lbnQoKSkKKyAgICAgICAgZWxlbWVudC0+ZG9jdW1lbnQoKS5jb250ZW50
Q2hhbmdlT2JzZXJ2ZXIoKS5kaWRGaW5pc2hUcmFuc2l0aW9uKCplbGVtZW50LCBtX2FuaW1hdGlu
Z1Byb3BlcnR5KTsKKyNlbmRpZgogICAgIC8vIElmIHdlIGhhdmUgYSBrZXlmcmFtZSBhbmltYXRp
b24gb24gdGhpcyBwcm9wZXJ0eSwgdGhpcyB0cmFuc2l0aW9uIGlzIGJlaW5nIG92ZXJyaWRkZW4u
IFRoZSBrZXlmcmFtZQogICAgIC8vIGFuaW1hdGlvbiBrZWVwcyBhbiB1bmFuaW1hdGVkIHN0eWxl
IGluIGNhc2UgYSB0cmFuc2l0aW9uIHN0YXJ0cyB3aGlsZSB0aGUga2V5ZnJhbWUgYW5pbWF0aW9u
IGlzCiAgICAgLy8gcnVubmluZy4gQnV0IG5vdyB0aGF0IHRoZSB0cmFuc2l0aW9uIGhhcyBjb21w
bGV0ZWQsIHdlIG5lZWQgdG8gdXBkYXRlIHRoaXMgc3R5bGUgd2l0aCBpdHMgbmV3CmRpZmYgLS1n
aXQgYS9Tb3VyY2UvV2ViQ29yZS9wYWdlL2FuaW1hdGlvbi9JbXBsaWNpdEFuaW1hdGlvbi5oIGIv
U291cmNlL1dlYkNvcmUvcGFnZS9hbmltYXRpb24vSW1wbGljaXRBbmltYXRpb24uaAppbmRleCAy
ZjI3OWE1OTgwYjMzMmMzZDc2MTFmMWQ0NDc2MjUxMzhkZDMxNDE0Li43MmQ0Y2JmMzMwZDZhOTNl
MGJiNzRjZTc2OTM3MzM2YmZkNDRlZWFkIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9wYWdl
L2FuaW1hdGlvbi9JbXBsaWNpdEFuaW1hdGlvbi5oCisrKyBiL1NvdXJjZS9XZWJDb3JlL3BhZ2Uv
YW5pbWF0aW9uL0ltcGxpY2l0QW5pbWF0aW9uLmgKQEAgLTc5LDYgKzc5LDggQEAgcHVibGljOgog
CiAgICAgY29uc3QgUmVuZGVyU3R5bGUmIHVuYW5pbWF0ZWRTdHlsZSgpIGNvbnN0IG92ZXJyaWRl
IHsgcmV0dXJuICptX2Zyb21TdHlsZTsgfQogCisgICAgdm9pZCBjbGVhcigpIG92ZXJyaWRlOwor
CiBwcm90ZWN0ZWQ6CiAgICAgYm9vbCBzaG91bGRTZW5kRXZlbnRGb3JMaXN0ZW5lcihEb2N1bWVu
dDo6TGlzdGVuZXJUeXBlKSBjb25zdDsgICAgCiAgICAgYm9vbCBzZW5kVHJhbnNpdGlvbkV2ZW50
KGNvbnN0IEF0b21pY1N0cmluZyYsIGRvdWJsZSBlbGFwc2VkVGltZSk7CmRpZmYgLS1naXQgYS9T
b3VyY2UvV2ViQ29yZS9wYWdlL2lvcy9Db250ZW50Q2hhbmdlT2JzZXJ2ZXIuY3BwIGIvU291cmNl
L1dlYkNvcmUvcGFnZS9pb3MvQ29udGVudENoYW5nZU9ic2VydmVyLmNwcAppbmRleCA4YmRlMmQz
N2ZjMzMwM2I1ZTVlZDc2ZjBhMjgwM2E4YTdkNjQ0ZmE0Li45YjdjNzI4ZmU4YTczYzA2NTIzOTc5
ZTY1MTY5MjYxZTY1ZmFmZTY1IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9wYWdlL2lvcy9D
b250ZW50Q2hhbmdlT2JzZXJ2ZXIuY3BwCisrKyBiL1NvdXJjZS9XZWJDb3JlL3BhZ2UvaW9zL0Nv
bnRlbnRDaGFuZ2VPYnNlcnZlci5jcHAKQEAgLTM5LDYgKzM5LDkgQEAKIAogbmFtZXNwYWNlIFdl
YkNvcmUgewogCitzdGF0aWMgY29uc3QgU2Vjb25kcyBtYXhpbXVtRGVsYXlGb3JUaW1lcnMgeyAz
MDBfbXMgfTsKK3N0YXRpYyBjb25zdCBTZWNvbmRzIG1heGltdW1EZWxheUZvclRyYW5zaXRpb25z
IHsgMzAwX21zIH07CisKIENvbnRlbnRDaGFuZ2VPYnNlcnZlcjo6Q29udGVudENoYW5nZU9ic2Vy
dmVyKERvY3VtZW50JiBkb2N1bWVudCkKICAgICA6IG1fZG9jdW1lbnQoZG9jdW1lbnQpCiAgICAg
LCBtX2NvbnRlbnRPYnNlcnZhdGlvblRpbWVyKFt0aGlzXSB7IGNvbXBsZXRlRHVyYXRpb25CYXNl
ZENvbnRlbnRPYnNlcnZhdGlvbigpOyB9KQpAQCAtODEsMTMgKzg0LDU0IEBAIHZvaWQgQ29udGVu
dENoYW5nZU9ic2VydmVyOjpjb21wbGV0ZUR1cmF0aW9uQmFzZWRDb250ZW50T2JzZXJ2YXRpb24o
KQogICAgIGFkanVzdE9ic2VydmVkU3RhdGUoRXZlbnQ6OkVuZGVkRml4ZWRPYnNlcnZhdGlvblRp
bWVXaW5kb3cpOwogfQogCit2b2lkIENvbnRlbnRDaGFuZ2VPYnNlcnZlcjo6ZGlkQWRkVHJhbnNp
dGlvbihjb25zdCBFbGVtZW50JiBlbGVtZW50LCBjb25zdCBBbmltYXRpb24mIHRyYW5zaXRpb24p
Cit7CisgICAgaWYgKCFtX2RvY3VtZW50LnNldHRpbmdzKCkuY29udGVudENoYW5nZU9ic2VydmVy
RW5hYmxlZCgpKQorICAgICAgICByZXR1cm47CisgICAgaWYgKGhhc1Zpc2libGVDaGFuZ2VTdGF0
ZSgpKQorICAgICAgICByZXR1cm47CisgICAgaWYgKCFpc09ic2VydmluZ1RyYW5zaXRpb25zKCkp
CisgICAgICAgIHJldHVybjsKKyAgICBpZiAoIXRyYW5zaXRpb24uaXNEdXJhdGlvblNldCgpIHx8
ICF0cmFuc2l0aW9uLmlzUHJvcGVydHlTZXQoKSkKKyAgICAgICAgcmV0dXJuOworICAgIGlmICgh
aXNPYnNlcnZlZFByb3BlcnR5Rm9yVHJhbnNpdGlvbih0cmFuc2l0aW9uLnByb3BlcnR5KCkpKQor
ICAgICAgICByZXR1cm47CisgICAgYXV0byB0cmFuc2l0aW9uRW5kID0gU2Vjb25kcyB7IHRyYW5z
aXRpb24uZHVyYXRpb24oKSArIHN0ZDo6bWF4PGRvdWJsZT4oMCwgdHJhbnNpdGlvbi5pc0RlbGF5
U2V0KCkgPyB0cmFuc2l0aW9uLmRlbGF5KCkgOiAwKSB9OworICAgIGlmICh0cmFuc2l0aW9uRW5k
ID4gbWF4aW11bURlbGF5Rm9yVHJhbnNpdGlvbnMpCisgICAgICAgIHJldHVybjsKKyAgICBMT0df
V0lUSF9TVFJFQU0oQ29udGVudE9ic2VydmF0aW9uLCBzdHJlYW0gPDwgImRpZEFkZFRyYW5zaXRp
b246IHRyYW5zaXRpb24gY3JlYXRlZCBvbiAiIDw8ICZlbGVtZW50IDw8ICIgKCIgPDwgdHJhbnNp
dGlvbkVuZC5taWxsaXNlY29uZHMoKSA8PCAibXMpLiIpOworCisgICAgbV9lbGVtZW50c1dpdGhU
cmFuc2l0aW9uLmFkZCgmZWxlbWVudCk7CisgICAgLy8gRklYTUU6IHJlcG9ydCBzdGF0ZSBjaGFu
Z2UuCit9CisKK3ZvaWQgQ29udGVudENoYW5nZU9ic2VydmVyOjpkaWRGaW5pc2hUcmFuc2l0aW9u
KGNvbnN0IEVsZW1lbnQmIGVsZW1lbnQsIENTU1Byb3BlcnR5SUQgcHJvcGVydHlJRCkKK3sKKyAg
ICBpZiAoIWlzT2JzZXJ2ZWRQcm9wZXJ0eUZvclRyYW5zaXRpb24ocHJvcGVydHlJRCkpCisgICAg
ICAgIHJldHVybjsKKyAgICBpZiAoIW1fZWxlbWVudHNXaXRoVHJhbnNpdGlvbi50YWtlKCZlbGVt
ZW50KSkKKyAgICAgICAgcmV0dXJuOworICAgIExPR19XSVRIX1NUUkVBTShDb250ZW50T2JzZXJ2
YXRpb24sIHN0cmVhbSA8PCAiZGlkRmluaXNoVHJhbnNpdGlvbjogdHJhbnNpdGlvbiBmaW5pc2hl
ZCAoIiA8PCAmZWxlbWVudCA8PCAiKS4iKTsKKyAgICAvLyBGSVhNRTogcmVwb3J0IHN0YXRlIGNo
YW5nZS4KK30KKwordm9pZCBDb250ZW50Q2hhbmdlT2JzZXJ2ZXI6OmRpZFJlbW92ZVRyYW5zaXRp
b24oY29uc3QgRWxlbWVudCYgZWxlbWVudCwgQ1NTUHJvcGVydHlJRCBwcm9wZXJ0eUlEKQorewor
ICAgIGlmICghaXNPYnNlcnZlZFByb3BlcnR5Rm9yVHJhbnNpdGlvbihwcm9wZXJ0eUlEKSkKKyAg
ICAgICAgcmV0dXJuOworICAgIGlmICghbV9lbGVtZW50c1dpdGhUcmFuc2l0aW9uLnRha2UoJmVs
ZW1lbnQpKQorICAgICAgICByZXR1cm47CisgICAgTE9HX1dJVEhfU1RSRUFNKENvbnRlbnRPYnNl
cnZhdGlvbiwgc3RyZWFtIDw8ICJkaWRSZW1vdmVUcmFuc2l0aW9uOiB0cmFuc2l0aW9uIGdvdCBp
bnRlcnJ1cHRlZCAoIiA8PCAmZWxlbWVudCA8PCAiKS4iKTsKKyAgICAvLyBGSVhNRTogcmVwb3J0
IHN0YXRlIGNoYW5nZS4KK30KKwogdm9pZCBDb250ZW50Q2hhbmdlT2JzZXJ2ZXI6OmRpZEluc3Rh
bGxET01UaW1lcihjb25zdCBET01UaW1lciYgdGltZXIsIFNlY29uZHMgdGltZW91dCwgYm9vbCBz
aW5nbGVTaG90KQogewogICAgIGlmICghbV9kb2N1bWVudC5zZXR0aW5ncygpLmNvbnRlbnRDaGFu
Z2VPYnNlcnZlckVuYWJsZWQoKSkKICAgICAgICAgcmV0dXJuOwogICAgIGlmIChtX2RvY3VtZW50
LmFjdGl2ZURPTU9iamVjdHNBcmVTdXNwZW5kZWQoKSkKICAgICAgICAgcmV0dXJuOwotICAgIGlm
ICh0aW1lb3V0ID4gMzAwX21zIHx8ICFzaW5nbGVTaG90KQorICAgIGlmICh0aW1lb3V0ID4gbWF4
aW11bURlbGF5Rm9yVGltZXJzIHx8ICFzaW5nbGVTaG90KQogICAgICAgICByZXR1cm47CiAgICAg
aWYgKCFpc09ic2VydmluZ0RPTVRpbWVyU2NoZWR1bGluZygpKQogICAgICAgICByZXR1cm47CmRp
ZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9wYWdlL2lvcy9Db250ZW50Q2hhbmdlT2JzZXJ2ZXIu
aCBiL1NvdXJjZS9XZWJDb3JlL3BhZ2UvaW9zL0NvbnRlbnRDaGFuZ2VPYnNlcnZlci5oCmluZGV4
IDZhZTE4MDI2MjFmODI0Njg1NGM0ZTFjZDliOTZmYTE1OTJmOWUxZmYuLmM3MTY4YzA5YjM2OGFh
NTJkZTBmMGI1Y2RkMDMyODk1MmMzNjMyZDEgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL3Bh
Z2UvaW9zL0NvbnRlbnRDaGFuZ2VPYnNlcnZlci5oCisrKyBiL1NvdXJjZS9XZWJDb3JlL3BhZ2Uv
aW9zL0NvbnRlbnRDaGFuZ2VPYnNlcnZlci5oCkBAIC0zMCw5ICszMCwxMSBAQAogI2luY2x1ZGUg
IlBsYXRmb3JtRXZlbnQuaCIKICNpbmNsdWRlICJUaW1lci5oIgogI2luY2x1ZGUgIldLQ29udGVu
dE9ic2VydmF0aW9uLmgiCisjaW5jbHVkZSA8d3RmL0hhc2hTZXQuaD4KIAogbmFtZXNwYWNlIFdl
YkNvcmUgewogCitjbGFzcyBBbmltYXRpb247CiBjbGFzcyBET01UaW1lcjsKIGNsYXNzIERvY3Vt
ZW50OwogCkBAIC00NSw2ICs0NywxMSBAQCBwdWJsaWM6CiAKICAgICB2b2lkIGRpZEluc3RhbGxE
T01UaW1lcihjb25zdCBET01UaW1lciYsIFNlY29uZHMgdGltZW91dCwgYm9vbCBzaW5nbGVTaG90
KTsKICAgICB2b2lkIGRpZFJlbW92ZURPTVRpbWVyKGNvbnN0IERPTVRpbWVyJik7CisKKyAgICB2
b2lkIGRpZEFkZFRyYW5zaXRpb24oY29uc3QgRWxlbWVudCYsIGNvbnN0IEFuaW1hdGlvbiYpOwor
ICAgIHZvaWQgZGlkRmluaXNoVHJhbnNpdGlvbihjb25zdCBFbGVtZW50JiwgQ1NTUHJvcGVydHlJ
RCk7CisgICAgdm9pZCBkaWRSZW1vdmVUcmFuc2l0aW9uKGNvbnN0IEVsZW1lbnQmLCBDU1NQcm9w
ZXJ0eUlEKTsKKwogICAgIFdFQkNPUkVfRVhQT1JUIHZvaWQgd2lsbE5vdFByb2NlZWRXaXRoQ2xp
Y2soKTsKICAgICBXRUJDT1JFX0VYUE9SVCBzdGF0aWMgdm9pZCBkaWRSZWNvZ25pemVMb25nUHJl
c3MoRnJhbWUmIG1haW5GcmFtZSk7CiAgICAgV0VCQ09SRV9FWFBPUlQgc3RhdGljIHZvaWQgZGlk
UHJldmVudERlZmF1bHRGb3JFdmVudChGcmFtZSYgbWFpbkZyYW1lKTsKQEAgLTExMyw2ICsxMjAs
OCBAQCBwcml2YXRlOgogCiAgICAgdm9pZCBzZXRTaG91bGRPYnNlcnZlRE9NVGltZXJTY2hlZHVs
aW5nKGJvb2wgb2JzZXJ2ZSkgeyBtX2lzT2JzZXJ2aW5nRE9NVGltZXJTY2hlZHVsaW5nID0gb2Jz
ZXJ2ZTsgfQogICAgIGJvb2wgaXNPYnNlcnZpbmdET01UaW1lclNjaGVkdWxpbmcoKSBjb25zdCB7
IHJldHVybiBtX2lzT2JzZXJ2aW5nRE9NVGltZXJTY2hlZHVsaW5nOyB9CisgICAgYm9vbCBpc09i
c2VydmluZ1RyYW5zaXRpb25zKCkgY29uc3QgeyByZXR1cm4gbV9pc09ic2VydmluZ1RyYW5zaXRp
b25zOyB9CisgICAgYm9vbCBpc09ic2VydmVkUHJvcGVydHlGb3JUcmFuc2l0aW9uKENTU1Byb3Bl
cnR5SUQgcHJvcGVydHlJZCkgY29uc3QgeyByZXR1cm4gcHJvcGVydHlJZCA9PSBDU1NQcm9wZXJ0
eUxlZnQ7IH0KICAgICB2b2lkIGRvbVRpbWVyRXhlY3V0ZURpZFN0YXJ0KGNvbnN0IERPTVRpbWVy
Jik7CiAgICAgdm9pZCBkb21UaW1lckV4ZWN1dGVEaWRGaW5pc2goY29uc3QgRE9NVGltZXImKTsK
ICAgICB2b2lkIHJlZ2lzdGVyRE9NVGltZXIoY29uc3QgRE9NVGltZXImIHRpbWVyKSB7IG1fRE9N
VGltZXJMaXN0LmFkZCgmdGltZXIpOyB9CkBAIC0xNjYsNiArMTc1LDggQEAgcHJpdmF0ZToKICAg
ICBEb2N1bWVudCYgbV9kb2N1bWVudDsKICAgICBUaW1lciBtX2NvbnRlbnRPYnNlcnZhdGlvblRp
bWVyOwogICAgIEhhc2hTZXQ8Y29uc3QgRE9NVGltZXIqPiBtX0RPTVRpbWVyTGlzdDsKKyAgICAv
LyBGSVhNRTogTW92ZSBvdmVyIHRvIFdlYWtIYXNoU2V0IHdoZW4gaXQgc3RhcnRzIHN1cHBvcnRp
bmcgY29uc3QuCisgICAgSGFzaFNldDxjb25zdCBFbGVtZW50Kj4gbV9lbGVtZW50c1dpdGhUcmFu
c2l0aW9uOwogICAgIGJvb2wgbV90b3VjaEV2ZW50SXNCZWluZ0Rpc3BhdGNoZWQgeyBmYWxzZSB9
OwogICAgIGJvb2wgbV9pc1dhaXRpbmdGb3JTdHlsZVJlY2FsYyB7IGZhbHNlIH07CiAgICAgYm9v
bCBtX2lzSW5PYnNlcnZlZFN0eWxlUmVjYWxjIHsgZmFsc2UgfTsKQEAgLTE3Myw2ICsxODQsNyBA
QCBwcml2YXRlOgogICAgIGJvb2wgbV9vYnNlcnZlZERvbVRpbWVySXNCZWluZ0V4ZWN1dGVkIHsg
ZmFsc2UgfTsKICAgICBib29sIG1fbW91c2VNb3ZlZEV2ZW50SXNCZWluZ0Rpc3BhdGNoZWQgeyBm
YWxzZSB9OwogICAgIGJvb2wgbV9pc0JldHdlZW5Ub3VjaEVuZEFuZE1vdXNlTW92ZWQgeyBmYWxz
ZSB9OworICAgIGJvb2wgbV9pc09ic2VydmluZ1RyYW5zaXRpb25zIHsgZmFsc2UgfTsKIH07CiAK
IGlubGluZSB2b2lkIENvbnRlbnRDaGFuZ2VPYnNlcnZlcjo6c2V0SGFzTm9DaGFuZ2VTdGF0ZSgp
Cg==
</data>

          </attachment>
          <attachment
              isobsolete="0"
              ispatch="1"
              isprivate="0"
          >
            <attachid>365471</attachid>
            <date>2019-03-20 20:28:57 -0700</date>
            <delta_ts>2019-03-21 11:03:18 -0700</delta_ts>
            <desc>Patch</desc>
            <filename>bug-195914-20190320202856.patch</filename>
            <type>text/plain</type>
            <size>10980</size>
            <attacher name="alan">zalan</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMjQzMjcxCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9D
aGFuZ2VMb2cgYi9Tb3VyY2UvV2ViQ29yZS9DaGFuZ2VMb2cKaW5kZXggNzA4NTNkMzEzN2Q4NGJh
MGNhNzE1MzQzZDdkZmMzMjEzODEwNmZmYS4uOTAwYWY5YTIzY2IzNWI3NjYzOWJiNDdiZTEzOTBk
MGQwNDkzMTk3YyAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvQ2hhbmdlTG9nCisrKyBiL1Nv
dXJjZS9XZWJDb3JlL0NoYW5nZUxvZwpAQCAtMSwzICsxLDM0IEBACisyMDE5LTAzLTIwICBaYWxh
biBCdWp0YXMgIDx6YWxhbkBhcHBsZS5jb20+CisKKyAgICAgICAgW0NvbnRlbnRDaGFuZ2VPYnNl
cnZlcl0gQWRkIHN1cHBvcnQgZm9yIG9ic2VydmluZyBpbXBsaWNpdCB0cmFuc2l0aW9ucworICAg
ICAgICBodHRwczovL2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9MTk1OTE0CisgICAg
ICAgIDxyZGFyOi8vcHJvYmxlbS80OTA5MTk1OT4KKworICAgICAgICBSZXZpZXdlZCBieSBOT0JP
RFkgKE9PUFMhKS4KKworICAgICAgICBUaGlzIHBhdGNoIGlzIGluIHByZXBhcmF0aW9uIGZvciBv
YnNlcnZpbmcgZWxlbWVudHMgd2l0aCBwcm9wZXJ0eSAibGVmdCIgaW1wbGljaXQgdHJhbnNpdGlv
bnMuCisKKyAgICAgICAgVGhpcyBpcyBub3QgYSBjb250aW51b3VzIHRyYWNraW5nLCB3ZSBhcmUg
b25seSBpbnRlcmVzdGVkIGluIHRoZSBzdGFydCBhbmQgdGhlIGVuZCBzdGF0ZS4KKyAgICAgICAg
VGhlIGlkZWEgaGVyZSBpcyB0byByZWdpc3RlciBoaWRkZW4gZWxlbWVudHMgb25seSBhbmQgY2hl
Y2sgaWYgdGhleSBiZWNvbWUgdmlzaWJsZSBieQorICAgICAgICB0aGUgZW5kIG9mIHRoZSB0cmFu
c2l0aW9uIChhbmQgaWdub3JlIGlmIHRoZSB0cmFuc2l0aW9uIGdldHMgImNhbmNlbGVkIikuCisK
KyAgICAgICAgKiBwYWdlL2FuaW1hdGlvbi9BbmltYXRpb25CYXNlLmg6CisgICAgICAgICogcGFn
ZS9hbmltYXRpb24vSW1wbGljaXRBbmltYXRpb24uY3BwOgorICAgICAgICAoV2ViQ29yZTo6SW1w
bGljaXRBbmltYXRpb246OkltcGxpY2l0QW5pbWF0aW9uKToKKyAgICAgICAgKFdlYkNvcmU6Oklt
cGxpY2l0QW5pbWF0aW9uOjp+SW1wbGljaXRBbmltYXRpb24pOgorICAgICAgICAoV2ViQ29yZTo6
SW1wbGljaXRBbmltYXRpb246OmNsZWFyKToKKyAgICAgICAgKFdlYkNvcmU6OkltcGxpY2l0QW5p
bWF0aW9uOjpvbkFuaW1hdGlvbkVuZCk6CisgICAgICAgICogcGFnZS9hbmltYXRpb24vSW1wbGlj
aXRBbmltYXRpb24uaDoKKyAgICAgICAgKiBwYWdlL2lvcy9Db250ZW50Q2hhbmdlT2JzZXJ2ZXIu
Y3BwOgorICAgICAgICAoV2ViQ29yZTo6Q29udGVudENoYW5nZU9ic2VydmVyOjpkaWRBZGRUcmFu
c2l0aW9uKToKKyAgICAgICAgKFdlYkNvcmU6OkNvbnRlbnRDaGFuZ2VPYnNlcnZlcjo6cmVtb3Zl
VHJhbnNpdGlvbklmTmVlZGVkKToKKyAgICAgICAgKFdlYkNvcmU6OkNvbnRlbnRDaGFuZ2VPYnNl
cnZlcjo6ZGlkRmluaXNoVHJhbnNpdGlvbik6CisgICAgICAgIChXZWJDb3JlOjpDb250ZW50Q2hh
bmdlT2JzZXJ2ZXI6OmRpZFJlbW92ZVRyYW5zaXRpb24pOgorICAgICAgICAoV2ViQ29yZTo6Q29u
dGVudENoYW5nZU9ic2VydmVyOjpkaWRJbnN0YWxsRE9NVGltZXIpOgorICAgICAgICAqIHBhZ2Uv
aW9zL0NvbnRlbnRDaGFuZ2VPYnNlcnZlci5oOgorICAgICAgICAoV2ViQ29yZTo6Q29udGVudENo
YW5nZU9ic2VydmVyOjppc09ic2VydmluZ1RyYW5zaXRpb25zIGNvbnN0KToKKyAgICAgICAgKFdl
YkNvcmU6OkNvbnRlbnRDaGFuZ2VPYnNlcnZlcjo6aXNPYnNlcnZlZFByb3BlcnR5Rm9yVHJhbnNp
dGlvbiBjb25zdCk6CisKIDIwMTktMDMtMjAgIFlvdWVubiBGYWJsZXQgIDx5b3Vlbm5AYXBwbGUu
Y29tPgogCiAgICAgICAgIEluY2x1ZGUgV0FMIGFuZCBTSE0gZmlsZSBzaXplIGluIElEQiBkYXRh
YmFzZSBzaXplIGNvbXB1dGF0aW9uCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9wYWdlL2Fu
aW1hdGlvbi9BbmltYXRpb25CYXNlLmggYi9Tb3VyY2UvV2ViQ29yZS9wYWdlL2FuaW1hdGlvbi9B
bmltYXRpb25CYXNlLmgKaW5kZXggZjdhYmJhZmUwN2U5NTkwZTMwYjc1NWVjYzliNmY0NmE4YmM2
ZjgzYi4uYjYzNWNiMjU3NjZiNTc3MDRjMjI4OWQ5ZjljMGNlODdiYmQ0MTgxNiAxMDA2NDQKLS0t
IGEvU291cmNlL1dlYkNvcmUvcGFnZS9hbmltYXRpb24vQW5pbWF0aW9uQmFzZS5oCisrKyBiL1Nv
dXJjZS9XZWJDb3JlL3BhZ2UvYW5pbWF0aW9uL0FuaW1hdGlvbkJhc2UuaApAQCAtNjEsNyArNjEs
NyBAQCBwdWJsaWM6CiAgICAgRWxlbWVudCogZWxlbWVudCgpIGNvbnN0IHsgcmV0dXJuIG1fZWxl
bWVudC5nZXQoKTsgfQogICAgIGNvbnN0IFJlbmRlclN0eWxlJiBjdXJyZW50U3R5bGUoKSBjb25z
dCBvdmVycmlkZTsKICAgICBSZW5kZXJFbGVtZW50KiByZW5kZXJlcigpIGNvbnN0IG92ZXJyaWRl
OwotICAgIHZvaWQgY2xlYXIoKTsKKyAgICB2aXJ0dWFsIHZvaWQgY2xlYXIoKTsKIAogICAgIGRv
dWJsZSBkdXJhdGlvbigpIGNvbnN0OwogCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9wYWdl
L2FuaW1hdGlvbi9JbXBsaWNpdEFuaW1hdGlvbi5jcHAgYi9Tb3VyY2UvV2ViQ29yZS9wYWdlL2Fu
aW1hdGlvbi9JbXBsaWNpdEFuaW1hdGlvbi5jcHAKaW5kZXggNDMzNGUzMDcxNjI5ZTA1NWY4M2U4
NDEwZDM3Y2E0N2FkNWJiZDllZC4uZGUwYWZhOTY5MDgzNjU4NzVhOTFiZmM3ZDkwNGI5NmM1YWU4
ZWM3ZSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvcGFnZS9hbmltYXRpb24vSW1wbGljaXRB
bmltYXRpb24uY3BwCisrKyBiL1NvdXJjZS9XZWJDb3JlL3BhZ2UvYW5pbWF0aW9uL0ltcGxpY2l0
QW5pbWF0aW9uLmNwcApAQCAtMzIsNiArMzIsNyBAQAogI2luY2x1ZGUgIkNTU0FuaW1hdGlvbkNv
bnRyb2xsZXJQcml2YXRlLmgiCiAjaW5jbHVkZSAiQ1NTUHJvcGVydHlBbmltYXRpb24uaCIKICNp
bmNsdWRlICJDb21wb3NpdGVBbmltYXRpb24uaCIKKyNpbmNsdWRlICJDb250ZW50Q2hhbmdlT2Jz
ZXJ2ZXIuaCIKICNpbmNsdWRlICJFdmVudE5hbWVzLmgiCiAjaW5jbHVkZSAiR2VvbWV0cnlVdGls
aXRpZXMuaCIKICNpbmNsdWRlICJLZXlmcmFtZUFuaW1hdGlvbi5oIgpAQCAtNDYsMTEgKzQ3LDE4
IEBAIEltcGxpY2l0QW5pbWF0aW9uOjpJbXBsaWNpdEFuaW1hdGlvbihjb25zdCBBbmltYXRpb24m
IHRyYW5zaXRpb24sIENTU1Byb3BlcnR5SUQKICAgICAsIG1fdHJhbnNpdGlvblByb3BlcnR5KHRy
YW5zaXRpb24ucHJvcGVydHkoKSkKICAgICAsIG1fYW5pbWF0aW5nUHJvcGVydHkoYW5pbWF0aW5n
UHJvcGVydHkpCiB7CisjaWYgUExBVEZPUk0oSU9TX0ZBTUlMWSkKKyAgICBlbGVtZW50LmRvY3Vt
ZW50KCkuY29udGVudENoYW5nZU9ic2VydmVyKCkuZGlkQWRkVHJhbnNpdGlvbihlbGVtZW50LCB0
cmFuc2l0aW9uKTsKKyNlbmRpZgogICAgIEFTU0VSVChhbmltYXRpbmdQcm9wZXJ0eSAhPSBDU1NQ
cm9wZXJ0eUludmFsaWQpOwogfQogCiBJbXBsaWNpdEFuaW1hdGlvbjo6fkltcGxpY2l0QW5pbWF0
aW9uKCkKIHsKKyNpZiBQTEFURk9STShJT1NfRkFNSUxZKQorICAgIGlmIChhdXRvKiBlbGVtZW50
ID0gdGhpcy0+ZWxlbWVudCgpKQorICAgICAgICBlbGVtZW50LT5kb2N1bWVudCgpLmNvbnRlbnRD
aGFuZ2VPYnNlcnZlcigpLmRpZFJlbW92ZVRyYW5zaXRpb24oKmVsZW1lbnQsIG1fYW5pbWF0aW5n
UHJvcGVydHkpOworI2VuZGlmCiAgICAgLy8gLy8gTWFrZSBzdXJlIHRvIHRlbGwgdGhlIHJlbmRl
cmVyIHRoYXQgd2UgYXJlIGVuZGluZy4gVGhpcyB3aWxsIG1ha2Ugc3VyZSBhbnkgYWNjZWxlcmF0
ZWQgYW5pbWF0aW9ucyBhcmUgcmVtb3ZlZC4KICAgICBpZiAoIXBvc3RBY3RpdmUoKSkKICAgICAg
ICAgZW5kQW5pbWF0aW9uKCk7CkBAIC0xNTgsNiArMTY2LDE1IEBAIHZvaWQgSW1wbGljaXRBbmlt
YXRpb246OnBhdXNlQW5pbWF0aW9uKGRvdWJsZSB0aW1lT2Zmc2V0KQogICAgICAgICBzZXROZWVk
c1N0eWxlUmVjYWxjKGVsZW1lbnQoKSk7CiB9CiAKK3ZvaWQgSW1wbGljaXRBbmltYXRpb246OmNs
ZWFyKCkKK3sKKyNpZiBQTEFURk9STShJT1NfRkFNSUxZKQorICAgIGlmIChhdXRvKiBlbGVtZW50
ID0gdGhpcy0+ZWxlbWVudCgpKQorICAgICAgICBlbGVtZW50LT5kb2N1bWVudCgpLmNvbnRlbnRD
aGFuZ2VPYnNlcnZlcigpLmRpZFJlbW92ZVRyYW5zaXRpb24oKmVsZW1lbnQsIG1fYW5pbWF0aW5n
UHJvcGVydHkpOworI2VuZGlmCisgICAgQW5pbWF0aW9uQmFzZTo6Y2xlYXIoKTsKK30KKwogdm9p
ZCBJbXBsaWNpdEFuaW1hdGlvbjo6ZW5kQW5pbWF0aW9uKGJvb2wpCiB7CiAgICAgaWYgKGF1dG8q
IHJlbmRlcmVyID0gdGhpcy0+cmVuZGVyZXIoKSkKQEAgLTE2Niw2ICsxODMsMTAgQEAgdm9pZCBJ
bXBsaWNpdEFuaW1hdGlvbjo6ZW5kQW5pbWF0aW9uKGJvb2wpCiAKIHZvaWQgSW1wbGljaXRBbmlt
YXRpb246Om9uQW5pbWF0aW9uRW5kKGRvdWJsZSBlbGFwc2VkVGltZSkKIHsKKyNpZiBQTEFURk9S
TShJT1NfRkFNSUxZKQorICAgIGlmIChhdXRvKiBlbGVtZW50ID0gdGhpcy0+ZWxlbWVudCgpKQor
ICAgICAgICBlbGVtZW50LT5kb2N1bWVudCgpLmNvbnRlbnRDaGFuZ2VPYnNlcnZlcigpLmRpZEZp
bmlzaFRyYW5zaXRpb24oKmVsZW1lbnQsIG1fYW5pbWF0aW5nUHJvcGVydHkpOworI2VuZGlmCiAg
ICAgLy8gSWYgd2UgaGF2ZSBhIGtleWZyYW1lIGFuaW1hdGlvbiBvbiB0aGlzIHByb3BlcnR5LCB0
aGlzIHRyYW5zaXRpb24gaXMgYmVpbmcgb3ZlcnJpZGRlbi4gVGhlIGtleWZyYW1lCiAgICAgLy8g
YW5pbWF0aW9uIGtlZXBzIGFuIHVuYW5pbWF0ZWQgc3R5bGUgaW4gY2FzZSBhIHRyYW5zaXRpb24g
c3RhcnRzIHdoaWxlIHRoZSBrZXlmcmFtZSBhbmltYXRpb24gaXMKICAgICAvLyBydW5uaW5nLiBC
dXQgbm93IHRoYXQgdGhlIHRyYW5zaXRpb24gaGFzIGNvbXBsZXRlZCwgd2UgbmVlZCB0byB1cGRh
dGUgdGhpcyBzdHlsZSB3aXRoIGl0cyBuZXcKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL3Bh
Z2UvYW5pbWF0aW9uL0ltcGxpY2l0QW5pbWF0aW9uLmggYi9Tb3VyY2UvV2ViQ29yZS9wYWdlL2Fu
aW1hdGlvbi9JbXBsaWNpdEFuaW1hdGlvbi5oCmluZGV4IDJmMjc5YTU5ODBiMzMyYzNkNzYxMWYx
ZDQ0NzYyNTEzOGRkMzE0MTQuLjcyZDRjYmYzMzBkNmE5M2UwYmI3NGNlNzY5MzczMzZiZmQ0NGVl
YWQgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL3BhZ2UvYW5pbWF0aW9uL0ltcGxpY2l0QW5p
bWF0aW9uLmgKKysrIGIvU291cmNlL1dlYkNvcmUvcGFnZS9hbmltYXRpb24vSW1wbGljaXRBbmlt
YXRpb24uaApAQCAtNzksNiArNzksOCBAQCBwdWJsaWM6CiAKICAgICBjb25zdCBSZW5kZXJTdHls
ZSYgdW5hbmltYXRlZFN0eWxlKCkgY29uc3Qgb3ZlcnJpZGUgeyByZXR1cm4gKm1fZnJvbVN0eWxl
OyB9CiAKKyAgICB2b2lkIGNsZWFyKCkgb3ZlcnJpZGU7CisKIHByb3RlY3RlZDoKICAgICBib29s
IHNob3VsZFNlbmRFdmVudEZvckxpc3RlbmVyKERvY3VtZW50OjpMaXN0ZW5lclR5cGUpIGNvbnN0
OyAgICAKICAgICBib29sIHNlbmRUcmFuc2l0aW9uRXZlbnQoY29uc3QgQXRvbWljU3RyaW5nJiwg
ZG91YmxlIGVsYXBzZWRUaW1lKTsKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL3BhZ2UvaW9z
L0NvbnRlbnRDaGFuZ2VPYnNlcnZlci5jcHAgYi9Tb3VyY2UvV2ViQ29yZS9wYWdlL2lvcy9Db250
ZW50Q2hhbmdlT2JzZXJ2ZXIuY3BwCmluZGV4IDhiZGUyZDM3ZmMzMzAzYjVlNWVkNzZmMGEyODAz
YThhN2Q2NDRmYTQuLjliN2M3MjhmZThhNzNjMDY1MjM5NzllNjUxNjkyNjFlNjVmYWZlNjUgMTAw
NjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL3BhZ2UvaW9zL0NvbnRlbnRDaGFuZ2VPYnNlcnZlci5j
cHAKKysrIGIvU291cmNlL1dlYkNvcmUvcGFnZS9pb3MvQ29udGVudENoYW5nZU9ic2VydmVyLmNw
cApAQCAtMzksNiArMzksOSBAQAogCiBuYW1lc3BhY2UgV2ViQ29yZSB7CiAKK3N0YXRpYyBjb25z
dCBTZWNvbmRzIG1heGltdW1EZWxheUZvclRpbWVycyB7IDMwMF9tcyB9Oworc3RhdGljIGNvbnN0
IFNlY29uZHMgbWF4aW11bURlbGF5Rm9yVHJhbnNpdGlvbnMgeyAzMDBfbXMgfTsKKwogQ29udGVu
dENoYW5nZU9ic2VydmVyOjpDb250ZW50Q2hhbmdlT2JzZXJ2ZXIoRG9jdW1lbnQmIGRvY3VtZW50
KQogICAgIDogbV9kb2N1bWVudChkb2N1bWVudCkKICAgICAsIG1fY29udGVudE9ic2VydmF0aW9u
VGltZXIoW3RoaXNdIHsgY29tcGxldGVEdXJhdGlvbkJhc2VkQ29udGVudE9ic2VydmF0aW9uKCk7
IH0pCkBAIC04MSwxMyArODQsNTQgQEAgdm9pZCBDb250ZW50Q2hhbmdlT2JzZXJ2ZXI6OmNvbXBs
ZXRlRHVyYXRpb25CYXNlZENvbnRlbnRPYnNlcnZhdGlvbigpCiAgICAgYWRqdXN0T2JzZXJ2ZWRT
dGF0ZShFdmVudDo6RW5kZWRGaXhlZE9ic2VydmF0aW9uVGltZVdpbmRvdyk7CiB9CiAKK3ZvaWQg
Q29udGVudENoYW5nZU9ic2VydmVyOjpkaWRBZGRUcmFuc2l0aW9uKGNvbnN0IEVsZW1lbnQmIGVs
ZW1lbnQsIGNvbnN0IEFuaW1hdGlvbiYgdHJhbnNpdGlvbikKK3sKKyAgICBpZiAoIW1fZG9jdW1l
bnQuc2V0dGluZ3MoKS5jb250ZW50Q2hhbmdlT2JzZXJ2ZXJFbmFibGVkKCkpCisgICAgICAgIHJl
dHVybjsKKyAgICBpZiAoaGFzVmlzaWJsZUNoYW5nZVN0YXRlKCkpCisgICAgICAgIHJldHVybjsK
KyAgICBpZiAoIWlzT2JzZXJ2aW5nVHJhbnNpdGlvbnMoKSkKKyAgICAgICAgcmV0dXJuOworICAg
IGlmICghdHJhbnNpdGlvbi5pc0R1cmF0aW9uU2V0KCkgfHwgIXRyYW5zaXRpb24uaXNQcm9wZXJ0
eVNldCgpKQorICAgICAgICByZXR1cm47CisgICAgaWYgKCFpc09ic2VydmVkUHJvcGVydHlGb3JU
cmFuc2l0aW9uKHRyYW5zaXRpb24ucHJvcGVydHkoKSkpCisgICAgICAgIHJldHVybjsKKyAgICBh
dXRvIHRyYW5zaXRpb25FbmQgPSBTZWNvbmRzIHsgdHJhbnNpdGlvbi5kdXJhdGlvbigpICsgc3Rk
OjptYXg8ZG91YmxlPigwLCB0cmFuc2l0aW9uLmlzRGVsYXlTZXQoKSA/IHRyYW5zaXRpb24uZGVs
YXkoKSA6IDApIH07CisgICAgaWYgKHRyYW5zaXRpb25FbmQgPiBtYXhpbXVtRGVsYXlGb3JUcmFu
c2l0aW9ucykKKyAgICAgICAgcmV0dXJuOworICAgIExPR19XSVRIX1NUUkVBTShDb250ZW50T2Jz
ZXJ2YXRpb24sIHN0cmVhbSA8PCAiZGlkQWRkVHJhbnNpdGlvbjogdHJhbnNpdGlvbiBjcmVhdGVk
IG9uICIgPDwgJmVsZW1lbnQgPDwgIiAoIiA8PCB0cmFuc2l0aW9uRW5kLm1pbGxpc2Vjb25kcygp
IDw8ICJtcykuIik7CisKKyAgICBtX2VsZW1lbnRzV2l0aFRyYW5zaXRpb24uYWRkKCZlbGVtZW50
KTsKKyAgICAvLyBGSVhNRTogcmVwb3J0IHN0YXRlIGNoYW5nZS4KK30KKwordm9pZCBDb250ZW50
Q2hhbmdlT2JzZXJ2ZXI6OmRpZEZpbmlzaFRyYW5zaXRpb24oY29uc3QgRWxlbWVudCYgZWxlbWVu
dCwgQ1NTUHJvcGVydHlJRCBwcm9wZXJ0eUlEKQoreworICAgIGlmICghaXNPYnNlcnZlZFByb3Bl
cnR5Rm9yVHJhbnNpdGlvbihwcm9wZXJ0eUlEKSkKKyAgICAgICAgcmV0dXJuOworICAgIGlmICgh
bV9lbGVtZW50c1dpdGhUcmFuc2l0aW9uLnRha2UoJmVsZW1lbnQpKQorICAgICAgICByZXR1cm47
CisgICAgTE9HX1dJVEhfU1RSRUFNKENvbnRlbnRPYnNlcnZhdGlvbiwgc3RyZWFtIDw8ICJkaWRG
aW5pc2hUcmFuc2l0aW9uOiB0cmFuc2l0aW9uIGZpbmlzaGVkICgiIDw8ICZlbGVtZW50IDw8ICIp
LiIpOworICAgIC8vIEZJWE1FOiByZXBvcnQgc3RhdGUgY2hhbmdlLgorfQorCit2b2lkIENvbnRl
bnRDaGFuZ2VPYnNlcnZlcjo6ZGlkUmVtb3ZlVHJhbnNpdGlvbihjb25zdCBFbGVtZW50JiBlbGVt
ZW50LCBDU1NQcm9wZXJ0eUlEIHByb3BlcnR5SUQpCit7CisgICAgaWYgKCFpc09ic2VydmVkUHJv
cGVydHlGb3JUcmFuc2l0aW9uKHByb3BlcnR5SUQpKQorICAgICAgICByZXR1cm47CisgICAgaWYg
KCFtX2VsZW1lbnRzV2l0aFRyYW5zaXRpb24udGFrZSgmZWxlbWVudCkpCisgICAgICAgIHJldHVy
bjsKKyAgICBMT0dfV0lUSF9TVFJFQU0oQ29udGVudE9ic2VydmF0aW9uLCBzdHJlYW0gPDwgImRp
ZFJlbW92ZVRyYW5zaXRpb246IHRyYW5zaXRpb24gZ290IGludGVycnVwdGVkICgiIDw8ICZlbGVt
ZW50IDw8ICIpLiIpOworICAgIC8vIEZJWE1FOiByZXBvcnQgc3RhdGUgY2hhbmdlLgorfQorCiB2
b2lkIENvbnRlbnRDaGFuZ2VPYnNlcnZlcjo6ZGlkSW5zdGFsbERPTVRpbWVyKGNvbnN0IERPTVRp
bWVyJiB0aW1lciwgU2Vjb25kcyB0aW1lb3V0LCBib29sIHNpbmdsZVNob3QpCiB7CiAgICAgaWYg
KCFtX2RvY3VtZW50LnNldHRpbmdzKCkuY29udGVudENoYW5nZU9ic2VydmVyRW5hYmxlZCgpKQog
ICAgICAgICByZXR1cm47CiAgICAgaWYgKG1fZG9jdW1lbnQuYWN0aXZlRE9NT2JqZWN0c0FyZVN1
c3BlbmRlZCgpKQogICAgICAgICByZXR1cm47Ci0gICAgaWYgKHRpbWVvdXQgPiAzMDBfbXMgfHwg
IXNpbmdsZVNob3QpCisgICAgaWYgKHRpbWVvdXQgPiBtYXhpbXVtRGVsYXlGb3JUaW1lcnMgfHwg
IXNpbmdsZVNob3QpCiAgICAgICAgIHJldHVybjsKICAgICBpZiAoIWlzT2JzZXJ2aW5nRE9NVGlt
ZXJTY2hlZHVsaW5nKCkpCiAgICAgICAgIHJldHVybjsKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJD
b3JlL3BhZ2UvaW9zL0NvbnRlbnRDaGFuZ2VPYnNlcnZlci5oIGIvU291cmNlL1dlYkNvcmUvcGFn
ZS9pb3MvQ29udGVudENoYW5nZU9ic2VydmVyLmgKaW5kZXggNmFlMTgwMjYyMWY4MjQ2ODU0YzRl
MWNkOWI5NmZhMTU5MmY5ZTFmZi4uYzcxNjhjMDliMzY4YWE1MmRlMGYwYjVjZGQwMzI4OTUyYzM2
MzJkMSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvcGFnZS9pb3MvQ29udGVudENoYW5nZU9i
c2VydmVyLmgKKysrIGIvU291cmNlL1dlYkNvcmUvcGFnZS9pb3MvQ29udGVudENoYW5nZU9ic2Vy
dmVyLmgKQEAgLTMwLDkgKzMwLDExIEBACiAjaW5jbHVkZSAiUGxhdGZvcm1FdmVudC5oIgogI2lu
Y2x1ZGUgIlRpbWVyLmgiCiAjaW5jbHVkZSAiV0tDb250ZW50T2JzZXJ2YXRpb24uaCIKKyNpbmNs
dWRlIDx3dGYvSGFzaFNldC5oPgogCiBuYW1lc3BhY2UgV2ViQ29yZSB7CiAKK2NsYXNzIEFuaW1h
dGlvbjsKIGNsYXNzIERPTVRpbWVyOwogY2xhc3MgRG9jdW1lbnQ7CiAKQEAgLTQ1LDYgKzQ3LDEx
IEBAIHB1YmxpYzoKIAogICAgIHZvaWQgZGlkSW5zdGFsbERPTVRpbWVyKGNvbnN0IERPTVRpbWVy
JiwgU2Vjb25kcyB0aW1lb3V0LCBib29sIHNpbmdsZVNob3QpOwogICAgIHZvaWQgZGlkUmVtb3Zl
RE9NVGltZXIoY29uc3QgRE9NVGltZXImKTsKKworICAgIHZvaWQgZGlkQWRkVHJhbnNpdGlvbihj
b25zdCBFbGVtZW50JiwgY29uc3QgQW5pbWF0aW9uJik7CisgICAgdm9pZCBkaWRGaW5pc2hUcmFu
c2l0aW9uKGNvbnN0IEVsZW1lbnQmLCBDU1NQcm9wZXJ0eUlEKTsKKyAgICB2b2lkIGRpZFJlbW92
ZVRyYW5zaXRpb24oY29uc3QgRWxlbWVudCYsIENTU1Byb3BlcnR5SUQpOworCiAgICAgV0VCQ09S
RV9FWFBPUlQgdm9pZCB3aWxsTm90UHJvY2VlZFdpdGhDbGljaygpOwogICAgIFdFQkNPUkVfRVhQ
T1JUIHN0YXRpYyB2b2lkIGRpZFJlY29nbml6ZUxvbmdQcmVzcyhGcmFtZSYgbWFpbkZyYW1lKTsK
ICAgICBXRUJDT1JFX0VYUE9SVCBzdGF0aWMgdm9pZCBkaWRQcmV2ZW50RGVmYXVsdEZvckV2ZW50
KEZyYW1lJiBtYWluRnJhbWUpOwpAQCAtMTEzLDYgKzEyMCw4IEBAIHByaXZhdGU6CiAKICAgICB2
b2lkIHNldFNob3VsZE9ic2VydmVET01UaW1lclNjaGVkdWxpbmcoYm9vbCBvYnNlcnZlKSB7IG1f
aXNPYnNlcnZpbmdET01UaW1lclNjaGVkdWxpbmcgPSBvYnNlcnZlOyB9CiAgICAgYm9vbCBpc09i
c2VydmluZ0RPTVRpbWVyU2NoZWR1bGluZygpIGNvbnN0IHsgcmV0dXJuIG1faXNPYnNlcnZpbmdE
T01UaW1lclNjaGVkdWxpbmc7IH0KKyAgICBib29sIGlzT2JzZXJ2aW5nVHJhbnNpdGlvbnMoKSBj
b25zdCB7IHJldHVybiBtX2lzT2JzZXJ2aW5nVHJhbnNpdGlvbnM7IH0KKyAgICBib29sIGlzT2Jz
ZXJ2ZWRQcm9wZXJ0eUZvclRyYW5zaXRpb24oQ1NTUHJvcGVydHlJRCBwcm9wZXJ0eUlkKSBjb25z
dCB7IHJldHVybiBwcm9wZXJ0eUlkID09IENTU1Byb3BlcnR5TGVmdDsgfQogICAgIHZvaWQgZG9t
VGltZXJFeGVjdXRlRGlkU3RhcnQoY29uc3QgRE9NVGltZXImKTsKICAgICB2b2lkIGRvbVRpbWVy
RXhlY3V0ZURpZEZpbmlzaChjb25zdCBET01UaW1lciYpOwogICAgIHZvaWQgcmVnaXN0ZXJET01U
aW1lcihjb25zdCBET01UaW1lciYgdGltZXIpIHsgbV9ET01UaW1lckxpc3QuYWRkKCZ0aW1lcik7
IH0KQEAgLTE2Niw2ICsxNzUsOCBAQCBwcml2YXRlOgogICAgIERvY3VtZW50JiBtX2RvY3VtZW50
OwogICAgIFRpbWVyIG1fY29udGVudE9ic2VydmF0aW9uVGltZXI7CiAgICAgSGFzaFNldDxjb25z
dCBET01UaW1lcio+IG1fRE9NVGltZXJMaXN0OworICAgIC8vIEZJWE1FOiBNb3ZlIG92ZXIgdG8g
V2Vha0hhc2hTZXQgd2hlbiBpdCBzdGFydHMgc3VwcG9ydGluZyBjb25zdC4KKyAgICBIYXNoU2V0
PGNvbnN0IEVsZW1lbnQqPiBtX2VsZW1lbnRzV2l0aFRyYW5zaXRpb247CiAgICAgYm9vbCBtX3Rv
dWNoRXZlbnRJc0JlaW5nRGlzcGF0Y2hlZCB7IGZhbHNlIH07CiAgICAgYm9vbCBtX2lzV2FpdGlu
Z0ZvclN0eWxlUmVjYWxjIHsgZmFsc2UgfTsKICAgICBib29sIG1faXNJbk9ic2VydmVkU3R5bGVS
ZWNhbGMgeyBmYWxzZSB9OwpAQCAtMTczLDYgKzE4NCw3IEBAIHByaXZhdGU6CiAgICAgYm9vbCBt
X29ic2VydmVkRG9tVGltZXJJc0JlaW5nRXhlY3V0ZWQgeyBmYWxzZSB9OwogICAgIGJvb2wgbV9t
b3VzZU1vdmVkRXZlbnRJc0JlaW5nRGlzcGF0Y2hlZCB7IGZhbHNlIH07CiAgICAgYm9vbCBtX2lz
QmV0d2VlblRvdWNoRW5kQW5kTW91c2VNb3ZlZCB7IGZhbHNlIH07CisgICAgYm9vbCBtX2lzT2Jz
ZXJ2aW5nVHJhbnNpdGlvbnMgeyBmYWxzZSB9OwogfTsKIAogaW5saW5lIHZvaWQgQ29udGVudENo
YW5nZU9ic2VydmVyOjpzZXRIYXNOb0NoYW5nZVN0YXRlKCkK
</data>
<flag name="review"
          id="382004"
          type_id="1"
          status="+"
          setter="simon.fraser"
    />
          </attachment>
      

    </bug>

</bugzilla>