<?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>126814</bug_id>
          
          <creation_ts>2014-01-11 10:03:43 -0800</creation_ts>
          <short_desc>CTTE Timer and DeferrableOneShotTimer</short_desc>
          <delta_ts>2014-01-11 10:16:55 -0800</delta_ts>
          <reporter_accessible>1</reporter_accessible>
          <cclist_accessible>1</cclist_accessible>
          <classification_id>1</classification_id>
          <classification>Unclassified</classification>
          <product>WebKit</product>
          <component>New Bugs</component>
          <version>528+ (Nightly build)</version>
          <rep_platform>Unspecified</rep_platform>
          <op_sys>Unspecified</op_sys>
          <bug_status>RESOLVED</bug_status>
          <resolution>FIXED</resolution>
          
          
          <bug_file_loc></bug_file_loc>
          <status_whiteboard></status_whiteboard>
          <keywords></keywords>
          <priority>P2</priority>
          <bug_severity>Normal</bug_severity>
          <target_milestone>---</target_milestone>
          
          
          <everconfirmed>1</everconfirmed>
          <reporter name="Anders Carlsson">andersca</reporter>
          <assigned_to name="Anders Carlsson">andersca</assigned_to>
          <cc>commit-queue</cc>
          

      

      

      

          <comment_sort_order>oldest_to_newest</comment_sort_order>  
          <long_desc isprivate="0" >
    <commentid>966795</commentid>
    <comment_count>0</comment_count>
    <who name="Anders Carlsson">andersca</who>
    <bug_when>2014-01-11 10:03:43 -0800</bug_when>
    <thetext>CTTE Timer and DeferrableOneShotTimer</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>966797</commentid>
    <comment_count>1</comment_count>
      <attachid>220935</attachid>
    <who name="Anders Carlsson">andersca</who>
    <bug_when>2014-01-11 10:07:52 -0800</bug_when>
    <thetext>Created attachment 220935
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>966798</commentid>
    <comment_count>2</comment_count>
    <who name="WebKit Commit Bot">commit-queue</who>
    <bug_when>2014-01-11 10:10:31 -0800</bug_when>
    <thetext>Attachment 220935 did not pass style-queue:

Failed to run &quot;[&apos;Tools/Scripts/check-webkit-style&apos;, &apos;--diff-files&apos;, u&apos;Source/WebCore/ChangeLog&apos;, u&apos;Source/WebCore/Modules/encryptedmedia/MediaKeySession.cpp&apos;, u&apos;Source/WebCore/Modules/encryptedmedia/MediaKeySession.h&apos;, u&apos;Source/WebCore/Modules/geolocation/Geolocation.cpp&apos;, u&apos;Source/WebCore/Modules/geolocation/Geolocation.h&apos;, u&apos;Source/WebCore/Modules/indexeddb/IDBTransactionBackend.cpp&apos;, u&apos;Source/WebCore/Modules/indexeddb/IDBTransactionBackend.h&apos;, u&apos;Source/WebCore/Modules/mediasource/SourceBuffer.cpp&apos;, u&apos;Source/WebCore/Modules/mediasource/SourceBuffer.h&apos;, u&apos;Source/WebCore/Modules/notifications/Notification.cpp&apos;, u&apos;Source/WebCore/Modules/notifications/Notification.h&apos;, u&apos;Source/WebCore/Modules/notifications/NotificationCenter.cpp&apos;, u&apos;Source/WebCore/Modules/notifications/NotificationCenter.h&apos;, u&apos;Source/WebCore/accessibility/AXObjectCache.cpp&apos;, u&apos;Source/WebCore/accessibility/AXObjectCache.h&apos;, u&apos;Source/WebCore/css/CSSFontSelector.cpp&apos;, u&apos;Source/WebCore/css/CSSFontSelector.h&apos;, u&apos;Source/WebCore/css/CSSImageGeneratorValue.cpp&apos;, u&apos;Source/WebCore/css/CSSImageGeneratorValue.h&apos;, u&apos;Source/WebCore/dom/Document.cpp&apos;, u&apos;Source/WebCore/dom/Document.h&apos;, u&apos;Source/WebCore/dom/EventSender.h&apos;, u&apos;Source/WebCore/dom/GenericEventQueue.cpp&apos;, u&apos;Source/WebCore/dom/GenericEventQueue.h&apos;, u&apos;Source/WebCore/dom/ScriptRunner.cpp&apos;, u&apos;Source/WebCore/dom/ScriptRunner.h&apos;, u&apos;Source/WebCore/dom/ScriptedAnimationController.cpp&apos;, u&apos;Source/WebCore/dom/ScriptedAnimationController.h&apos;, u&apos;Source/WebCore/editing/AlternativeTextController.cpp&apos;, u&apos;Source/WebCore/editing/AlternativeTextController.h&apos;, u&apos;Source/WebCore/editing/FrameSelection.cpp&apos;, u&apos;Source/WebCore/editing/FrameSelection.h&apos;, u&apos;Source/WebCore/html/HTMLMediaElement.cpp&apos;, u&apos;Source/WebCore/html/HTMLMediaElement.h&apos;, u&apos;Source/WebCore/html/HTMLPlugInElement.cpp&apos;, u&apos;Source/WebCore/html/HTMLPlugInElement.h&apos;, u&apos;Source/WebCore/html/HTMLPlugInImageElement.cpp&apos;, u&apos;Source/WebCore/html/HTMLPlugInImageElement.h&apos;, u&apos;Source/WebCore/html/HTMLSourceElement.cpp&apos;, u&apos;Source/WebCore/html/HTMLSourceElement.h&apos;, u&apos;Source/WebCore/html/HTMLTrackElement.cpp&apos;, u&apos;Source/WebCore/html/HTMLTrackElement.h&apos;, u&apos;Source/WebCore/html/MediaController.cpp&apos;, u&apos;Source/WebCore/html/MediaController.h&apos;, u&apos;Source/WebCore/html/MediaDocument.cpp&apos;, u&apos;Source/WebCore/html/MediaDocument.h&apos;, u&apos;Source/WebCore/html/parser/HTMLParserScheduler.cpp&apos;, u&apos;Source/WebCore/html/parser/HTMLParserScheduler.h&apos;, u&apos;Source/WebCore/html/shadow/MediaControlElementTypes.cpp&apos;, u&apos;Source/WebCore/html/shadow/MediaControlElementTypes.h&apos;, u&apos;Source/WebCore/html/shadow/MediaControlElements.cpp&apos;, u&apos;Source/WebCore/html/shadow/MediaControlElements.h&apos;, u&apos;Source/WebCore/html/shadow/MediaControls.cpp&apos;, u&apos;Source/WebCore/html/shadow/MediaControls.h&apos;, u&apos;Source/WebCore/html/track/LoadableTextTrack.cpp&apos;, u&apos;Source/WebCore/html/track/LoadableTextTrack.h&apos;, u&apos;Source/WebCore/inspector/InspectorCSSAgent.cpp&apos;, u&apos;Source/WebCore/inspector/InspectorDOMAgent.cpp&apos;, u&apos;Source/WebCore/inspector/InspectorFrontendClientLocal.cpp&apos;, u&apos;Source/WebCore/loader/DocumentLoader.cpp&apos;, u&apos;Source/WebCore/loader/DocumentLoader.h&apos;, u&apos;Source/WebCore/loader/FrameLoader.cpp&apos;, u&apos;Source/WebCore/loader/FrameLoader.h&apos;, u&apos;Source/WebCore/loader/ImageLoader.cpp&apos;, u&apos;Source/WebCore/loader/ImageLoader.h&apos;, u&apos;Source/WebCore/loader/LinkLoader.cpp&apos;, u&apos;Source/WebCore/loader/LinkLoader.h&apos;, u&apos;Source/WebCore/loader/NavigationScheduler.cpp&apos;, u&apos;Source/WebCore/loader/NavigationScheduler.h&apos;, u&apos;Source/WebCore/loader/PingLoader.cpp&apos;, u&apos;Source/WebCore/loader/PingLoader.h&apos;, u&apos;Source/WebCore/loader/ProgressTracker.cpp&apos;, u&apos;Source/WebCore/loader/ProgressTracker.h&apos;, u&apos;Source/WebCore/loader/ResourceLoadScheduler.cpp&apos;, u&apos;Source/WebCore/loader/ResourceLoadScheduler.h&apos;, u&apos;Source/WebCore/loader/cache/CachedResource.cpp&apos;, u&apos;Source/WebCore/loader/cache/CachedResource.h&apos;, u&apos;Source/WebCore/loader/cache/CachedResourceLoader.cpp&apos;, u&apos;Source/WebCore/loader/cache/CachedResourceLoader.h&apos;, u&apos;Source/WebCore/loader/icon/IconDatabase.cpp&apos;, u&apos;Source/WebCore/loader/icon/IconDatabase.h&apos;, u&apos;Source/WebCore/page/AutoscrollController.cpp&apos;, u&apos;Source/WebCore/page/AutoscrollController.h&apos;, u&apos;Source/WebCore/page/CaptionUserPreferences.cpp&apos;, u&apos;Source/WebCore/page/CaptionUserPreferences.h&apos;, u&apos;Source/WebCore/page/DeviceController.cpp&apos;, u&apos;Source/WebCore/page/DeviceController.h&apos;, u&apos;Source/WebCore/page/EventHandler.cpp&apos;, u&apos;Source/WebCore/page/EventHandler.h&apos;, u&apos;Source/WebCore/page/EventSource.cpp&apos;, u&apos;Source/WebCore/page/EventSource.h&apos;, u&apos;Source/WebCore/page/FrameView.cpp&apos;, u&apos;Source/WebCore/page/FrameView.h&apos;, u&apos;Source/WebCore/page/PageThrottler.cpp&apos;, u&apos;Source/WebCore/page/PageThrottler.h&apos;, u&apos;Source/WebCore/page/animation/AnimationController.cpp&apos;, u&apos;Source/WebCore/page/animation/AnimationControllerPrivate.h&apos;, u&apos;Source/WebCore/platform/Scrollbar.cpp&apos;, u&apos;Source/WebCore/platform/Scrollbar.h&apos;, u&apos;Source/WebCore/platform/Timer.h&apos;, u&apos;Source/WebCore/platform/graphics/BitmapImage.cpp&apos;, u&apos;Source/WebCore/platform/graphics/BitmapImage.h&apos;, u&apos;Source/WebCore/platform/graphics/MediaPlayer.cpp&apos;, u&apos;Source/WebCore/platform/graphics/MediaPlayer.h&apos;, u&apos;Source/WebCore/platform/graphics/ca/mac/LayerPool.h&apos;, u&apos;Source/WebCore/platform/graphics/ca/mac/LayerPool.mm&apos;, u&apos;Source/WebCore/platform/graphics/cg/ImageBufferBackingStoreCache.cpp&apos;, u&apos;Source/WebCore/platform/graphics/cg/ImageBufferBackingStoreCache.h&apos;, u&apos;Source/WebCore/platform/graphics/cg/SubimageCacheWithTimer.cpp&apos;, u&apos;Source/WebCore/platform/graphics/cg/SubimageCacheWithTimer.h&apos;, u&apos;Source/WebCore/platform/graphics/mac/MediaPlayerPrivateQTKit.h&apos;, u&apos;Source/WebCore/platform/graphics/mac/MediaPlayerPrivateQTKit.mm&apos;, u&apos;Source/WebCore/platform/mac/ScrollAnimatorMac.h&apos;, u&apos;Source/WebCore/platform/mac/ScrollAnimatorMac.mm&apos;, u&apos;Source/WebCore/platform/mock/DeviceOrientationClientMock.cpp&apos;, u&apos;Source/WebCore/platform/mock/DeviceOrientationClientMock.h&apos;, u&apos;Source/WebCore/platform/network/NetworkStateNotifier.h&apos;, u&apos;Source/WebCore/platform/network/ResourceHandle.cpp&apos;, u&apos;Source/WebCore/platform/network/ResourceHandle.h&apos;, u&apos;Source/WebCore/platform/network/ResourceHandleInternal.h&apos;, u&apos;Source/WebCore/platform/network/mac/NetworkStateNotifierMac.cpp&apos;, u&apos;Source/WebCore/rendering/ImageQualityController.cpp&apos;, u&apos;Source/WebCore/rendering/ImageQualityController.h&apos;, u&apos;Source/WebCore/rendering/RenderButton.cpp&apos;, u&apos;Source/WebCore/rendering/RenderButton.h&apos;, u&apos;Source/WebCore/rendering/RenderLayerCompositor.cpp&apos;, u&apos;Source/WebCore/rendering/RenderLayerCompositor.h&apos;, u&apos;Source/WebCore/rendering/RenderMarquee.cpp&apos;, u&apos;Source/WebCore/rendering/RenderMarquee.h&apos;, u&apos;Source/WebCore/rendering/RenderNamedFlowThread.cpp&apos;, u&apos;Source/WebCore/rendering/RenderNamedFlowThread.h&apos;, u&apos;Source/WebCore/rendering/RenderProgress.cpp&apos;, u&apos;Source/WebCore/rendering/RenderProgress.h&apos;, &apos;--commit-queue&apos;]&quot; exit_code: 1
ERROR: Source/WebCore/Modules/geolocation/Geolocation.h:189:  enum members should use InterCaps with an initial capital letter.  [readability/enum_casing] [4]
Total errors found: 1 in 133 files


If any of these errors are false positives, please file a bug against check-webkit-style.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>966799</commentid>
    <comment_count>3</comment_count>
      <attachid>220935</attachid>
    <who name="Antti Koivisto">koivisto</who>
    <bug_when>2014-01-11 10:10:47 -0800</bug_when>
    <thetext>Comment on attachment 220935
Patch

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

&gt; Source/WebCore/platform/Timer.h:142
&gt; +    DeprecatedTimerFiredFunction m_deprecatedFunction;

Would be good to add a brief FIXME mentioning what this is about.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>966801</commentid>
    <comment_count>4</comment_count>
    <who name="Anders Carlsson">andersca</who>
    <bug_when>2014-01-11 10:15:00 -0800</bug_when>
    <thetext>Committed r161768: &lt;http://trac.webkit.org/changeset/161768&gt;</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>966803</commentid>
    <comment_count>5</comment_count>
      <attachid>220935</attachid>
    <who name="Antti Koivisto">koivisto</who>
    <bug_when>2014-01-11 10:16:55 -0800</bug_when>
    <thetext>Comment on attachment 220935
Patch

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

&gt; Source/WebCore/Modules/indexeddb/IDBTransactionBackend.h:99
&gt; -    void taskTimerFired(Timer&lt;IDBTransactionBackend&gt;*);
&gt; +    void taskTimerFired(Timer&lt;IDBTransactionBackend&gt;&amp;);

Maybe we can get rid of the whole timer argument as it is basically never used for anything substantive.</thetext>
  </long_desc>
      
          <attachment
              isobsolete="0"
              ispatch="1"
              isprivate="0"
          >
            <attachid>220935</attachid>
            <date>2014-01-11 10:07:52 -0800</date>
            <delta_ts>2014-01-11 10:16:55 -0800</delta_ts>
            <desc>Patch</desc>
            <filename>bug-126814-20140111100750.patch</filename>
            <type>text/plain</type>
            <size>124235</size>
            <attacher name="Anders Carlsson">andersca</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMTYxNzY3CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9D
aGFuZ2VMb2cgYi9Tb3VyY2UvV2ViQ29yZS9DaGFuZ2VMb2cKaW5kZXggNzc0ZTJlY2QwNDcxMDVi
N2RiM2I5ODM4YzU4MGI3OGZlMjdjNjQ5Ny4uM2IzZWFiNjU0OTkyODc5Nzg1OGMyYzYwYWYzN2Jk
OWM3ZDU5NzE1MCAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvQ2hhbmdlTG9nCisrKyBiL1Nv
dXJjZS9XZWJDb3JlL0NoYW5nZUxvZwpAQCAtMSwzICsxLDI1MiBAQAorMjAxNC0wMS0xMSAgQW5k
ZXJzIENhcmxzc29uICA8YW5kZXJzY2FAYXBwbGUuY29tPgorCisgICAgICAgIENUVEUgVGltZXIg
YW5kIERlZmVycmFibGVPbmVTaG90VGltZXIKKyAgICAgICAgaHR0cHM6Ly9idWdzLndlYmtpdC5v
cmcvc2hvd19idWcuY2dpP2lkPTEyNjgxNAorCisgICAgICAgIFJldmlld2VkIGJ5IE5PQk9EWSAo
T09QUyEpLgorCisgICAgICAgIEFkZCBuZXcgVGltZXIgYW5kIERlZmVycmFibGVPbmVTaG90VGlt
ZXIgY29uc3RydWN0b3JzIHdob3NlIG1lbWJlciBmdW5jdGlvbiBwb2ludGVycworICAgICAgICB0
YWtlIGEgcmVmZXJlbmNlIGluc3RlYWQgb2YgYSBwb2ludGVyLgorICAgICAgICBBbHNvLCBjb252
ZXJ0IGEgYnVuY2ggb2YgY2xhc3NlcyBvdmVyIHRvIHVzaW5nIHRoZXNlIG5ldyBjb25zdHJ1Y3Rv
cnMuCisKKyAgICAgICAgKiBNb2R1bGVzL2VuY3J5cHRlZG1lZGlhL01lZGlhS2V5U2Vzc2lvbi5j
cHA6CisgICAgICAgIChXZWJDb3JlOjpNZWRpYUtleVNlc3Npb246OmtleVJlcXVlc3RUaW1lckZp
cmVkKToKKyAgICAgICAgKFdlYkNvcmU6Ok1lZGlhS2V5U2Vzc2lvbjo6YWRkS2V5VGltZXJGaXJl
ZCk6CisgICAgICAgICogTW9kdWxlcy9lbmNyeXB0ZWRtZWRpYS9NZWRpYUtleVNlc3Npb24uaDoK
KyAgICAgICAgKiBNb2R1bGVzL2dlb2xvY2F0aW9uL0dlb2xvY2F0aW9uLmNwcDoKKyAgICAgICAg
KFdlYkNvcmU6Okdlb2xvY2F0aW9uOjpHZW9Ob3RpZmllcjo6dGltZXJGaXJlZCk6CisgICAgICAg
IChXZWJDb3JlOjpHZW9sb2NhdGlvbjo6cmVzdW1lVGltZXJGaXJlZCk6CisgICAgICAgICogTW9k
dWxlcy9nZW9sb2NhdGlvbi9HZW9sb2NhdGlvbi5oOgorICAgICAgICAqIE1vZHVsZXMvaW5kZXhl
ZGRiL0lEQlRyYW5zYWN0aW9uQmFja2VuZC5jcHA6CisgICAgICAgIChXZWJDb3JlOjpJREJUcmFu
c2FjdGlvbkJhY2tlbmQ6OnRhc2tUaW1lckZpcmVkKToKKyAgICAgICAgKiBNb2R1bGVzL2luZGV4
ZWRkYi9JREJUcmFuc2FjdGlvbkJhY2tlbmQuaDoKKyAgICAgICAgKiBNb2R1bGVzL21lZGlhc291
cmNlL1NvdXJjZUJ1ZmZlci5jcHA6CisgICAgICAgIChXZWJDb3JlOjpTb3VyY2VCdWZmZXI6OmFw
cGVuZEJ1ZmZlclRpbWVyRmlyZWQpOgorICAgICAgICAqIE1vZHVsZXMvbWVkaWFzb3VyY2UvU291
cmNlQnVmZmVyLmg6CisgICAgICAgICogTW9kdWxlcy9ub3RpZmljYXRpb25zL05vdGlmaWNhdGlv
bi5jcHA6CisgICAgICAgIChXZWJDb3JlOjpOb3RpZmljYXRpb246OnRhc2tUaW1lckZpcmVkKToK
KyAgICAgICAgKiBNb2R1bGVzL25vdGlmaWNhdGlvbnMvTm90aWZpY2F0aW9uLmg6CisgICAgICAg
ICogTW9kdWxlcy9ub3RpZmljYXRpb25zL05vdGlmaWNhdGlvbkNlbnRlci5jcHA6CisgICAgICAg
IChXZWJDb3JlOjpOb3RpZmljYXRpb25DZW50ZXI6Ok5vdGlmaWNhdGlvblJlcXVlc3RDYWxsYmFj
azo6dGltZXJGaXJlZCk6CisgICAgICAgICogTW9kdWxlcy9ub3RpZmljYXRpb25zL05vdGlmaWNh
dGlvbkNlbnRlci5oOgorICAgICAgICAqIGFjY2Vzc2liaWxpdHkvQVhPYmplY3RDYWNoZS5jcHA6
CisgICAgICAgIChXZWJDb3JlOjpBWE9iamVjdENhY2hlOjpub3RpZmljYXRpb25Qb3N0VGltZXJG
aXJlZCk6CisgICAgICAgICogYWNjZXNzaWJpbGl0eS9BWE9iamVjdENhY2hlLmg6CisgICAgICAg
ICogY3NzL0NTU0ZvbnRTZWxlY3Rvci5jcHA6CisgICAgICAgIChXZWJDb3JlOjpDU1NGb250U2Vs
ZWN0b3I6OmJlZ2luTG9hZFRpbWVyRmlyZWQpOgorICAgICAgICAqIGNzcy9DU1NGb250U2VsZWN0
b3IuaDoKKyAgICAgICAgKiBjc3MvQ1NTSW1hZ2VHZW5lcmF0b3JWYWx1ZS5jcHA6CisgICAgICAg
IChXZWJDb3JlOjpDU1NJbWFnZUdlbmVyYXRvclZhbHVlOjpDYWNoZWRHZW5lcmF0ZWRJbWFnZTo6
ZXZpY3Rpb25UaW1lckZpcmVkKToKKyAgICAgICAgKiBjc3MvQ1NTSW1hZ2VHZW5lcmF0b3JWYWx1
ZS5oOgorICAgICAgICAqIGRvbS9Eb2N1bWVudC5jcHA6CisgICAgICAgIChXZWJDb3JlOjpEb2N1
bWVudDo6dmlzdWFsVXBkYXRlc1N1cHByZXNzaW9uVGltZXJGaXJlZCk6CisgICAgICAgIChXZWJD
b3JlOjpEb2N1bWVudDo6c3R5bGVSZWNhbGNUaW1lckZpcmVkKToKKyAgICAgICAgKFdlYkNvcmU6
OkRvY3VtZW50OjpvcHRpbWl6ZWRTdHlsZVNoZWV0VXBkYXRlVGltZXJGaXJlZCk6CisgICAgICAg
IChXZWJDb3JlOjpEb2N1bWVudDo6c2hhcmVkT2JqZWN0UG9vbENsZWFyVGltZXJGaXJlZCk6Cisg
ICAgICAgIChXZWJDb3JlOjpEb2N1bWVudDo6c3R5bGVSZXNvbHZlclRocm93YXdheVRpbWVyRmly
ZWQpOgorICAgICAgICAoV2ViQ29yZTo6RG9jdW1lbnQ6OnVwZGF0ZUZvY3VzQXBwZWFyYW5jZVRp
bWVyRmlyZWQpOgorICAgICAgICAoV2ViQ29yZTo6RG9jdW1lbnQ6OnJlc2V0SGlkZGVuRm9jdXNF
bGVtZW50VGltZXIpOgorICAgICAgICAoV2ViQ29yZTo6RG9jdW1lbnQ6OnBlbmRpbmdUYXNrc1Rp
bWVyRmlyZWQpOgorICAgICAgICAoV2ViQ29yZTo6RG9jdW1lbnQ6OmZ1bGxTY3JlZW5DaGFuZ2VE
ZWxheVRpbWVyRmlyZWQpOgorICAgICAgICAoV2ViQ29yZTo6RG9jdW1lbnQ6OmxvYWRFdmVudERl
bGF5VGltZXJGaXJlZCk6CisgICAgICAgIChXZWJDb3JlOjpEb2N1bWVudDo6ZGlkQXNzb2NpYXRl
Rm9ybUNvbnRyb2xzVGltZXJGaXJlZCk6CisgICAgICAgICogZG9tL0RvY3VtZW50Lmg6CisgICAg
ICAgICogZG9tL0V2ZW50U2VuZGVyLmg6CisgICAgICAgIChXZWJDb3JlOjpFdmVudFNlbmRlcjo6
dGltZXJGaXJlZCk6CisgICAgICAgICogZG9tL0dlbmVyaWNFdmVudFF1ZXVlLmNwcDoKKyAgICAg
ICAgKFdlYkNvcmU6OkdlbmVyaWNFdmVudFF1ZXVlOjp0aW1lckZpcmVkKToKKyAgICAgICAgKiBk
b20vR2VuZXJpY0V2ZW50UXVldWUuaDoKKyAgICAgICAgKiBkb20vU2NyaXB0UnVubmVyLmNwcDoK
KyAgICAgICAgKFdlYkNvcmU6OlNjcmlwdFJ1bm5lcjo6dGltZXJGaXJlZCk6CisgICAgICAgICog
ZG9tL1NjcmlwdFJ1bm5lci5oOgorICAgICAgICAqIGRvbS9TY3JpcHRlZEFuaW1hdGlvbkNvbnRy
b2xsZXIuY3BwOgorICAgICAgICAoV2ViQ29yZTo6U2NyaXB0ZWRBbmltYXRpb25Db250cm9sbGVy
OjphbmltYXRpb25UaW1lckZpcmVkKToKKyAgICAgICAgKiBkb20vU2NyaXB0ZWRBbmltYXRpb25D
b250cm9sbGVyLmg6CisgICAgICAgICogZWRpdGluZy9BbHRlcm5hdGl2ZVRleHRDb250cm9sbGVy
LmNwcDoKKyAgICAgICAgKFdlYkNvcmU6OkFsdGVybmF0aXZlVGV4dENvbnRyb2xsZXI6OnRpbWVy
RmlyZWQpOgorICAgICAgICAqIGVkaXRpbmcvQWx0ZXJuYXRpdmVUZXh0Q29udHJvbGxlci5oOgor
ICAgICAgICAqIGVkaXRpbmcvRnJhbWVTZWxlY3Rpb24uY3BwOgorICAgICAgICAoV2ViQ29yZTo6
RnJhbWVTZWxlY3Rpb246OmNhcmV0QmxpbmtUaW1lckZpcmVkKToKKyAgICAgICAgKiBlZGl0aW5n
L0ZyYW1lU2VsZWN0aW9uLmg6CisgICAgICAgICogaHRtbC9IVE1MTWVkaWFFbGVtZW50LmNwcDoK
KyAgICAgICAgKFdlYkNvcmU6OkhUTUxNZWRpYUVsZW1lbnQ6OnBhcnNlQXR0cmlidXRlKToKKyAg
ICAgICAgKiBodG1sL0hUTUxNZWRpYUVsZW1lbnQuaDoKKyAgICAgICAgKiBodG1sL0hUTUxQbHVn
SW5FbGVtZW50LmNwcDoKKyAgICAgICAgKFdlYkNvcmU6OkhUTUxQbHVnSW5FbGVtZW50Ojpzd2Fw
UmVuZGVyZXJUaW1lckZpcmVkKToKKyAgICAgICAgKiBodG1sL0hUTUxQbHVnSW5FbGVtZW50Lmg6
CisgICAgICAgICogaHRtbC9IVE1MUGx1Z0luSW1hZ2VFbGVtZW50LmNwcDoKKyAgICAgICAgKFdl
YkNvcmU6OkhUTUxQbHVnSW5JbWFnZUVsZW1lbnQ6OnJlbW92ZVNuYXBzaG90VGltZXJGaXJlZCk6
CisgICAgICAgIChXZWJDb3JlOjpIVE1MUGx1Z0luSW1hZ2VFbGVtZW50OjpzaW11bGF0ZWRNb3Vz
ZUNsaWNrVGltZXJGaXJlZCk6CisgICAgICAgICogaHRtbC9IVE1MUGx1Z0luSW1hZ2VFbGVtZW50
Lmg6CisgICAgICAgICogaHRtbC9IVE1MU291cmNlRWxlbWVudC5jcHA6CisgICAgICAgIChXZWJD
b3JlOjpIVE1MU291cmNlRWxlbWVudDo6ZXJyb3JFdmVudFRpbWVyRmlyZWQpOgorICAgICAgICAq
IGh0bWwvSFRNTFNvdXJjZUVsZW1lbnQuaDoKKyAgICAgICAgKiBodG1sL0hUTUxUcmFja0VsZW1l
bnQuY3BwOgorICAgICAgICAoV2ViQ29yZTo6SFRNTFRyYWNrRWxlbWVudDo6bG9hZFRpbWVyRmly
ZWQpOgorICAgICAgICAqIGh0bWwvSFRNTFRyYWNrRWxlbWVudC5oOgorICAgICAgICAqIGh0bWwv
TWVkaWFDb250cm9sbGVyLmNwcDoKKyAgICAgICAgKE1lZGlhQ29udHJvbGxlcjo6YXN5bmNFdmVu
dFRpbWVyRmlyZWQpOgorICAgICAgICAoTWVkaWFDb250cm9sbGVyOjpjbGVhclBvc2l0aW9uVGlt
ZXJGaXJlZCk6CisgICAgICAgIChNZWRpYUNvbnRyb2xsZXI6OnRpbWV1cGRhdGVUaW1lckZpcmVk
KToKKyAgICAgICAgKiBodG1sL01lZGlhQ29udHJvbGxlci5oOgorICAgICAgICAqIGh0bWwvTWVk
aWFEb2N1bWVudC5jcHA6CisgICAgICAgIChXZWJDb3JlOjpNZWRpYURvY3VtZW50OjpyZXBsYWNl
TWVkaWFFbGVtZW50VGltZXJGaXJlZCk6CisgICAgICAgICogaHRtbC9NZWRpYURvY3VtZW50Lmg6
CisgICAgICAgICogaHRtbC9wYXJzZXIvSFRNTFBhcnNlclNjaGVkdWxlci5jcHA6CisgICAgICAg
IChXZWJDb3JlOjpIVE1MUGFyc2VyU2NoZWR1bGVyOjpjb250aW51ZU5leHRDaHVua1RpbWVyRmly
ZWQpOgorICAgICAgICAqIGh0bWwvcGFyc2VyL0hUTUxQYXJzZXJTY2hlZHVsZXIuaDoKKyAgICAg
ICAgKiBodG1sL3NoYWRvdy9NZWRpYUNvbnRyb2xFbGVtZW50VHlwZXMuY3BwOgorICAgICAgICAo
V2ViQ29yZTo6TWVkaWFDb250cm9sU2Vla0J1dHRvbkVsZW1lbnQ6OnNlZWtUaW1lckZpcmVkKToK
KyAgICAgICAgKiBodG1sL3NoYWRvdy9NZWRpYUNvbnRyb2xFbGVtZW50VHlwZXMuaDoKKyAgICAg
ICAgKiBodG1sL3NoYWRvdy9NZWRpYUNvbnRyb2xFbGVtZW50cy5jcHA6CisgICAgICAgIChXZWJD
b3JlOjpNZWRpYUNvbnRyb2xQYW5lbEVsZW1lbnQ6OnRyYW5zaXRpb25UaW1lckZpcmVkKToKKyAg
ICAgICAgKFdlYkNvcmU6Ok1lZGlhQ29udHJvbFRleHRUcmFja0NvbnRhaW5lckVsZW1lbnQ6OnVw
ZGF0ZVRpbWVyRmlyZWQpOgorICAgICAgICAqIGh0bWwvc2hhZG93L01lZGlhQ29udHJvbEVsZW1l
bnRzLmg6CisgICAgICAgICogaHRtbC9zaGFkb3cvTWVkaWFDb250cm9scy5jcHA6CisgICAgICAg
IChXZWJDb3JlOjpNZWRpYUNvbnRyb2xzOjpoaWRlRnVsbHNjcmVlbkNvbnRyb2xzVGltZXJGaXJl
ZCk6CisgICAgICAgICogaHRtbC9zaGFkb3cvTWVkaWFDb250cm9scy5oOgorICAgICAgICAqIGh0
bWwvdHJhY2svTG9hZGFibGVUZXh0VHJhY2suY3BwOgorICAgICAgICAoV2ViQ29yZTo6TG9hZGFi
bGVUZXh0VHJhY2s6OmxvYWRUaW1lckZpcmVkKToKKyAgICAgICAgKiBodG1sL3RyYWNrL0xvYWRh
YmxlVGV4dFRyYWNrLmg6CisgICAgICAgICogaW5zcGVjdG9yL0luc3BlY3RvckNTU0FnZW50LmNw
cDoKKyAgICAgICAgKFdlYkNvcmU6OlVwZGF0ZVJlZ2lvbkxheW91dFRhc2s6OlVwZGF0ZVJlZ2lv
bkxheW91dFRhc2spOgorICAgICAgICAoV2ViQ29yZTo6VXBkYXRlUmVnaW9uTGF5b3V0VGFzazo6
dGltZXJGaXJlZCk6CisgICAgICAgIChXZWJDb3JlOjpDaGFuZ2VSZWdpb25PdmVyc2V0VGFzazo6
Q2hhbmdlUmVnaW9uT3ZlcnNldFRhc2spOgorICAgICAgICAoV2ViQ29yZTo6Q2hhbmdlUmVnaW9u
T3ZlcnNldFRhc2s6OnRpbWVyRmlyZWQpOgorICAgICAgICAqIGluc3BlY3Rvci9JbnNwZWN0b3JE
T01BZ2VudC5jcHA6CisgICAgICAgIChXZWJDb3JlOjpSZXZhbGlkYXRlU3R5bGVBdHRyaWJ1dGVU
YXNrOjpSZXZhbGlkYXRlU3R5bGVBdHRyaWJ1dGVUYXNrKToKKyAgICAgICAgKFdlYkNvcmU6OlJl
dmFsaWRhdGVTdHlsZUF0dHJpYnV0ZVRhc2s6OnRpbWVyRmlyZWQpOgorICAgICAgICAqIGluc3Bl
Y3Rvci9JbnNwZWN0b3JGcm9udGVuZENsaWVudExvY2FsLmNwcDoKKyAgICAgICAgKFdlYkNvcmU6
Okluc3BlY3RvckJhY2tlbmREaXNwYXRjaFRhc2s6Okluc3BlY3RvckJhY2tlbmREaXNwYXRjaFRh
c2spOgorICAgICAgICAoV2ViQ29yZTo6SW5zcGVjdG9yQmFja2VuZERpc3BhdGNoVGFzazo6dGlt
ZXJGaXJlZCk6CisgICAgICAgICogbG9hZGVyL0RvY3VtZW50TG9hZGVyLmNwcDoKKyAgICAgICAg
KFdlYkNvcmU6OkRvY3VtZW50TG9hZGVyOjpzdWJzdGl0dXRlUmVzb3VyY2VEZWxpdmVyeVRpbWVy
RmlyZWQpOgorICAgICAgICAqIGxvYWRlci9Eb2N1bWVudExvYWRlci5oOgorICAgICAgICAqIGxv
YWRlci9GcmFtZUxvYWRlci5jcHA6CisgICAgICAgIChXZWJDb3JlOjpGcmFtZUxvYWRlcjo6Y2hl
Y2tUaW1lckZpcmVkKToKKyAgICAgICAgKiBsb2FkZXIvRnJhbWVMb2FkZXIuaDoKKyAgICAgICAg
KiBsb2FkZXIvSW1hZ2VMb2FkZXIuY3BwOgorICAgICAgICAoV2ViQ29yZTo6SW1hZ2VMb2FkZXI6
OnRpbWVyRmlyZWQpOgorICAgICAgICAqIGxvYWRlci9JbWFnZUxvYWRlci5oOgorICAgICAgICAq
IGxvYWRlci9MaW5rTG9hZGVyLmNwcDoKKyAgICAgICAgKFdlYkNvcmU6OkxpbmtMb2FkZXI6Omxp
bmtMb2FkVGltZXJGaXJlZCk6CisgICAgICAgIChXZWJDb3JlOjpMaW5rTG9hZGVyOjpsaW5rTG9h
ZGluZ0Vycm9yVGltZXJGaXJlZCk6CisgICAgICAgICogbG9hZGVyL0xpbmtMb2FkZXIuaDoKKyAg
ICAgICAgKiBsb2FkZXIvTmF2aWdhdGlvblNjaGVkdWxlci5jcHA6CisgICAgICAgIChXZWJDb3Jl
OjpOYXZpZ2F0aW9uU2NoZWR1bGVyOjp0aW1lckZpcmVkKToKKyAgICAgICAgKiBsb2FkZXIvTmF2
aWdhdGlvblNjaGVkdWxlci5oOgorICAgICAgICAqIGxvYWRlci9QaW5nTG9hZGVyLmNwcDoKKyAg
ICAgICAgKFdlYkNvcmU6OlBpbmdMb2FkZXI6OlBpbmdMb2FkZXIpOgorICAgICAgICAqIGxvYWRl
ci9QaW5nTG9hZGVyLmg6CisgICAgICAgIChXZWJDb3JlOjpQaW5nTG9hZGVyOjp0aW1lb3V0VGlt
ZXJGaXJlZCk6CisgICAgICAgICogbG9hZGVyL1Byb2dyZXNzVHJhY2tlci5jcHA6CisgICAgICAg
IChXZWJDb3JlOjpQcm9ncmVzc1RyYWNrZXI6OnByb2dyZXNzSGVhcnRiZWF0VGltZXJGaXJlZCk6
CisgICAgICAgICogbG9hZGVyL1Byb2dyZXNzVHJhY2tlci5oOgorICAgICAgICAqIGxvYWRlci9S
ZXNvdXJjZUxvYWRTY2hlZHVsZXIuY3BwOgorICAgICAgICAoV2ViQ29yZTo6UmVzb3VyY2VMb2Fk
U2NoZWR1bGVyOjpyZXF1ZXN0VGltZXJGaXJlZCk6CisgICAgICAgICogbG9hZGVyL1Jlc291cmNl
TG9hZFNjaGVkdWxlci5oOgorICAgICAgICAqIGxvYWRlci9jYWNoZS9DYWNoZWRSZXNvdXJjZS5j
cHA6CisgICAgICAgIChXZWJDb3JlOjpDYWNoZWRSZXNvdXJjZTo6ZGVjb2RlZERhdGFEZWxldGlv
blRpbWVyRmlyZWQpOgorICAgICAgICAoV2ViQ29yZTo6Q2FjaGVkUmVzb3VyY2U6OkNhY2hlZFJl
c291cmNlQ2FsbGJhY2s6OnRpbWVyRmlyZWQpOgorICAgICAgICAqIGxvYWRlci9jYWNoZS9DYWNo
ZWRSZXNvdXJjZS5oOgorICAgICAgICAqIGxvYWRlci9jYWNoZS9DYWNoZWRSZXNvdXJjZUxvYWRl
ci5jcHA6CisgICAgICAgIChXZWJDb3JlOjpDYWNoZWRSZXNvdXJjZUxvYWRlcjo6Z2FyYmFnZUNv
bGxlY3REb2N1bWVudFJlc291cmNlc1RpbWVyRmlyZWQpOgorICAgICAgICAqIGxvYWRlci9jYWNo
ZS9DYWNoZWRSZXNvdXJjZUxvYWRlci5oOgorICAgICAgICAqIGxvYWRlci9pY29uL0ljb25EYXRh
YmFzZS5jcHA6CisgICAgICAgIChXZWJDb3JlOjpJY29uRGF0YWJhc2U6OnN5bmNUaW1lckZpcmVk
KToKKyAgICAgICAgKiBsb2FkZXIvaWNvbi9JY29uRGF0YWJhc2UuaDoKKyAgICAgICAgKiBwYWdl
L0F1dG9zY3JvbGxDb250cm9sbGVyLmNwcDoKKyAgICAgICAgKFdlYkNvcmU6OkF1dG9zY3JvbGxD
b250cm9sbGVyOjphdXRvc2Nyb2xsVGltZXJGaXJlZCk6CisgICAgICAgICogcGFnZS9BdXRvc2Ny
b2xsQ29udHJvbGxlci5oOgorICAgICAgICAqIHBhZ2UvQ2FwdGlvblVzZXJQcmVmZXJlbmNlcy5j
cHA6CisgICAgICAgIChXZWJDb3JlOjpDYXB0aW9uVXNlclByZWZlcmVuY2VzOjp0aW1lckZpcmVk
KToKKyAgICAgICAgKiBwYWdlL0NhcHRpb25Vc2VyUHJlZmVyZW5jZXMuaDoKKyAgICAgICAgKiBw
YWdlL0RldmljZUNvbnRyb2xsZXIuY3BwOgorICAgICAgICAoV2ViQ29yZTo6RGV2aWNlQ29udHJv
bGxlcjo6ZmlyZURldmljZUV2ZW50KToKKyAgICAgICAgKiBwYWdlL0RldmljZUNvbnRyb2xsZXIu
aDoKKyAgICAgICAgKiBwYWdlL0V2ZW50SGFuZGxlci5jcHA6CisgICAgICAgIChXZWJDb3JlOjpF
dmVudEhhbmRsZXI6OmN1cnNvclVwZGF0ZVRpbWVyRmlyZWQpOgorICAgICAgICAoV2ViQ29yZTo6
RXZlbnRIYW5kbGVyOjphdXRvSGlkZUN1cnNvclRpbWVyRmlyZWQpOgorICAgICAgICAoV2ViQ29y
ZTo6RXZlbnRIYW5kbGVyOjpmYWtlTW91c2VNb3ZlRXZlbnRUaW1lckZpcmVkKToKKyAgICAgICAg
KFdlYkNvcmU6OkV2ZW50SGFuZGxlcjo6aG92ZXJUaW1lckZpcmVkKToKKyAgICAgICAgKiBwYWdl
L0V2ZW50SGFuZGxlci5oOgorICAgICAgICAqIHBhZ2UvRXZlbnRTb3VyY2UuY3BwOgorICAgICAg
ICAoV2ViQ29yZTo6RXZlbnRTb3VyY2U6OmNvbm5lY3RUaW1lckZpcmVkKToKKyAgICAgICAgKiBw
YWdlL0V2ZW50U291cmNlLmg6CisgICAgICAgICogcGFnZS9GcmFtZVZpZXcuY3BwOgorICAgICAg
ICAoV2ViQ29yZTo6RnJhbWVWaWV3OjpkZWZlcnJlZFJlcGFpbnRUaW1lckZpcmVkKToKKyAgICAg
ICAgKFdlYkNvcmU6OkZyYW1lVmlldzo6bGF5b3V0VGltZXJGaXJlZCk6CisgICAgICAgIChXZWJD
b3JlOjpGcmFtZVZpZXc6OnBvc3RMYXlvdXRUaW1lckZpcmVkKToKKyAgICAgICAgKiBwYWdlL0Zy
YW1lVmlldy5oOgorICAgICAgICAqIHBhZ2UvUGFnZVRocm90dGxlci5jcHA6CisgICAgICAgIChX
ZWJDb3JlOjpQYWdlVGhyb3R0bGVyOjp0aHJvdHRsZUh5c3RlcmVzaXNUaW1lckZpcmVkKToKKyAg
ICAgICAgKiBwYWdlL1BhZ2VUaHJvdHRsZXIuaDoKKyAgICAgICAgKiBwYWdlL2FuaW1hdGlvbi9B
bmltYXRpb25Db250cm9sbGVyLmNwcDoKKyAgICAgICAgKFdlYkNvcmU6OkFuaW1hdGlvbkNvbnRy
b2xsZXJQcml2YXRlOjp1cGRhdGVTdHlsZUlmTmVlZGVkRGlzcGF0Y2hlckZpcmVkKToKKyAgICAg
ICAgKFdlYkNvcmU6OkFuaW1hdGlvbkNvbnRyb2xsZXJQcml2YXRlOjphbmltYXRpb25UaW1lckZp
cmVkKToKKyAgICAgICAgKiBwYWdlL2FuaW1hdGlvbi9BbmltYXRpb25Db250cm9sbGVyUHJpdmF0
ZS5oOgorICAgICAgICAqIHBsYXRmb3JtL1Njcm9sbGJhci5jcHA6CisgICAgICAgIChXZWJDb3Jl
OjpTY3JvbGxiYXI6OmF1dG9zY3JvbGxUaW1lckZpcmVkKToKKyAgICAgICAgKiBwbGF0Zm9ybS9T
Y3JvbGxiYXIuaDoKKyAgICAgICAgKiBwbGF0Zm9ybS9UaW1lci5oOgorICAgICAgICAoV2ViQ29y
ZTo6VGltZXI6OlRpbWVyKToKKyAgICAgICAgKFdlYkNvcmU6OkRlZmVycmFibGVPbmVTaG90VGlt
ZXI6OkRlZmVycmFibGVPbmVTaG90VGltZXIpOgorICAgICAgICAqIHBsYXRmb3JtL2dyYXBoaWNz
L0JpdG1hcEltYWdlLmNwcDoKKyAgICAgICAgKFdlYkNvcmU6OkJpdG1hcEltYWdlOjphZHZhbmNl
QW5pbWF0aW9uKToKKyAgICAgICAgKiBwbGF0Zm9ybS9ncmFwaGljcy9CaXRtYXBJbWFnZS5oOgor
ICAgICAgICAqIHBsYXRmb3JtL2dyYXBoaWNzL01lZGlhUGxheWVyLmNwcDoKKyAgICAgICAgKFdl
YkNvcmU6Ok1lZGlhUGxheWVyOjpyZWxvYWRUaW1lckZpcmVkKToKKyAgICAgICAgKiBwbGF0Zm9y
bS9ncmFwaGljcy9NZWRpYVBsYXllci5oOgorICAgICAgICAqIHBsYXRmb3JtL2dyYXBoaWNzL2Nh
L21hYy9MYXllclBvb2wuaDoKKyAgICAgICAgKiBwbGF0Zm9ybS9ncmFwaGljcy9jYS9tYWMvTGF5
ZXJQb29sLm1tOgorICAgICAgICAoV2ViQ29yZTo6TGF5ZXJQb29sOjpwcnVuZVRpbWVyRmlyZWQp
OgorICAgICAgICAqIHBsYXRmb3JtL2dyYXBoaWNzL2NnL0ltYWdlQnVmZmVyQmFja2luZ1N0b3Jl
Q2FjaGUuY3BwOgorICAgICAgICAoV2ViQ29yZTo6SW1hZ2VCdWZmZXJCYWNraW5nU3RvcmVDYWNo
ZTo6dGltZXJGaXJlZCk6CisgICAgICAgICogcGxhdGZvcm0vZ3JhcGhpY3MvY2cvSW1hZ2VCdWZm
ZXJCYWNraW5nU3RvcmVDYWNoZS5oOgorICAgICAgICAqIHBsYXRmb3JtL2dyYXBoaWNzL2NnL1N1
YmltYWdlQ2FjaGVXaXRoVGltZXIuY3BwOgorICAgICAgICAoV2ViQ29yZTo6U3ViaW1hZ2VDYWNo
ZVdpdGhUaW1lcjo6aW52YWxpZGF0ZUNhY2hlVGltZXJGaXJlZCk6CisgICAgICAgICogcGxhdGZv
cm0vZ3JhcGhpY3MvY2cvU3ViaW1hZ2VDYWNoZVdpdGhUaW1lci5oOgorICAgICAgICAqIHBsYXRm
b3JtL2dyYXBoaWNzL21hYy9NZWRpYVBsYXllclByaXZhdGVRVEtpdC5oOgorICAgICAgICAqIHBs
YXRmb3JtL2dyYXBoaWNzL21hYy9NZWRpYVBsYXllclByaXZhdGVRVEtpdC5tbToKKyAgICAgICAg
KFdlYkNvcmU6Ok1lZGlhUGxheWVyUHJpdmF0ZVFUS2l0OjpzZWVrVGltZXJGaXJlZCk6CisgICAg
ICAgICogcGxhdGZvcm0vbWFjL1Njcm9sbEFuaW1hdG9yTWFjLmg6CisgICAgICAgICogcGxhdGZv
cm0vbWFjL1Njcm9sbEFuaW1hdG9yTWFjLm1tOgorICAgICAgICAoV2ViQ29yZTo6U2Nyb2xsQW5p
bWF0b3JNYWM6OnNuYXBSdWJiZXJCYW5kVGltZXJGaXJlZCk6CisgICAgICAgIChXZWJDb3JlOjpT
Y3JvbGxBbmltYXRvck1hYzo6aW5pdGlhbFNjcm9sbGJhclBhaW50VGltZXJGaXJlZCk6CisgICAg
ICAgIChXZWJDb3JlOjpTY3JvbGxBbmltYXRvck1hYzo6c2VuZENvbnRlbnRBcmVhU2Nyb2xsZWRU
aW1lckZpcmVkKToKKyAgICAgICAgKiBwbGF0Zm9ybS9tb2NrL0RldmljZU9yaWVudGF0aW9uQ2xp
ZW50TW9jay5jcHA6CisgICAgICAgIChXZWJDb3JlOjpEZXZpY2VPcmllbnRhdGlvbkNsaWVudE1v
Y2s6OnRpbWVyRmlyZWQpOgorICAgICAgICAqIHBsYXRmb3JtL21vY2svRGV2aWNlT3JpZW50YXRp
b25DbGllbnRNb2NrLmg6CisgICAgICAgICogcGxhdGZvcm0vbmV0d29yay9OZXR3b3JrU3RhdGVO
b3RpZmllci5oOgorICAgICAgICAqIHBsYXRmb3JtL25ldHdvcmsvUmVzb3VyY2VIYW5kbGUuY3Bw
OgorICAgICAgICAoV2ViQ29yZTo6UmVzb3VyY2VIYW5kbGU6OmZhaWx1cmVUaW1lckZpcmVkKToK
KyAgICAgICAgKiBwbGF0Zm9ybS9uZXR3b3JrL1Jlc291cmNlSGFuZGxlLmg6CisgICAgICAgICog
cGxhdGZvcm0vbmV0d29yay9SZXNvdXJjZUhhbmRsZUludGVybmFsLmg6CisgICAgICAgIChXZWJD
b3JlOjpSZXNvdXJjZUhhbmRsZUludGVybmFsOjpSZXNvdXJjZUhhbmRsZUludGVybmFsKToKKyAg
ICAgICAgKiBwbGF0Zm9ybS9uZXR3b3JrL21hYy9OZXR3b3JrU3RhdGVOb3RpZmllck1hYy5jcHA6
CisgICAgICAgIChXZWJDb3JlOjpOZXR3b3JrU3RhdGVOb3RpZmllcjo6bmV0d29ya1N0YXRlQ2hh
bmdlVGltZXJGaXJlZCk6CisgICAgICAgICogcmVuZGVyaW5nL0ltYWdlUXVhbGl0eUNvbnRyb2xs
ZXIuY3BwOgorICAgICAgICAoV2ViQ29yZTo6SW1hZ2VRdWFsaXR5Q29udHJvbGxlcjo6aGlnaFF1
YWxpdHlSZXBhaW50VGltZXJGaXJlZCk6CisgICAgICAgICogcmVuZGVyaW5nL0ltYWdlUXVhbGl0
eUNvbnRyb2xsZXIuaDoKKyAgICAgICAgKiByZW5kZXJpbmcvUmVuZGVyQnV0dG9uLmNwcDoKKyAg
ICAgICAgKFdlYkNvcmU6OlJlbmRlckJ1dHRvbjo6dGltZXJGaXJlZCk6CisgICAgICAgICogcmVu
ZGVyaW5nL1JlbmRlckJ1dHRvbi5oOgorICAgICAgICAqIHJlbmRlcmluZy9SZW5kZXJMYXllckNv
bXBvc2l0b3IuY3BwOgorICAgICAgICAoV2ViQ29yZTo6UmVuZGVyTGF5ZXJDb21wb3NpdG9yOjp1
cGRhdGVDb21wb3NpdGluZ0xheWVyc1RpbWVyRmlyZWQpOgorICAgICAgICAoV2ViQ29yZTo6UmVu
ZGVyTGF5ZXJDb21wb3NpdG9yOjpsYXllckZsdXNoVGltZXJGaXJlZCk6CisgICAgICAgIChXZWJD
b3JlOjpSZW5kZXJMYXllckNvbXBvc2l0b3I6OnBhaW50UmVsYXRlZE1pbGVzdG9uZXNUaW1lckZp
cmVkKToKKyAgICAgICAgKiByZW5kZXJpbmcvUmVuZGVyTGF5ZXJDb21wb3NpdG9yLmg6CisgICAg
ICAgICogcmVuZGVyaW5nL1JlbmRlck1hcnF1ZWUuY3BwOgorICAgICAgICAoV2ViQ29yZTo6UmVu
ZGVyTWFycXVlZTo6dGltZXJGaXJlZCk6CisgICAgICAgICogcmVuZGVyaW5nL1JlbmRlck1hcnF1
ZWUuaDoKKyAgICAgICAgKiByZW5kZXJpbmcvUmVuZGVyTmFtZWRGbG93VGhyZWFkLmNwcDoKKyAg
ICAgICAgKFdlYkNvcmU6OlJlbmRlck5hbWVkRmxvd1RocmVhZDo6cmVnaW9uTGF5b3V0VXBkYXRl
RXZlbnRUaW1lckZpcmVkKToKKyAgICAgICAgKFdlYkNvcmU6OlJlbmRlck5hbWVkRmxvd1RocmVh
ZDo6cmVnaW9uT3ZlcnNldENoYW5nZUV2ZW50VGltZXJGaXJlZCk6CisgICAgICAgICogcmVuZGVy
aW5nL1JlbmRlck5hbWVkRmxvd1RocmVhZC5oOgorICAgICAgICAqIHJlbmRlcmluZy9SZW5kZXJQ
cm9ncmVzcy5jcHA6CisgICAgICAgIChXZWJDb3JlOjpSZW5kZXJQcm9ncmVzczo6YW5pbWF0aW9u
VGltZXJGaXJlZCk6CisgICAgICAgICogcmVuZGVyaW5nL1JlbmRlclByb2dyZXNzLmg6CisKIDIw
MTQtMDEtMTEgIFNpbW9uIEZyYXNlciAgPHNpbW9uLmZyYXNlckBhcHBsZS5jb20+CiAKICAgICAg
ICAgI2lmZGVmIG91dCB0aGUgY29udGVudHMgb2YgVG91Y2gqIGZpbGVzIGZvciBpT1MuCmRpZmYg
LS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9Nb2R1bGVzL2VuY3J5cHRlZG1lZGlhL01lZGlhS2V5U2Vz
c2lvbi5jcHAgYi9Tb3VyY2UvV2ViQ29yZS9Nb2R1bGVzL2VuY3J5cHRlZG1lZGlhL01lZGlhS2V5
U2Vzc2lvbi5jcHAKaW5kZXggYTRiNjIzNTlkNDgzMzc5NjQ0ODNjZWUxMmE5ODUwMTUxMjYzYzU3
Yi4uYzU0MmEwY2Y2MTlhMTEwODNhMmMyYWJhNWU0NzY0NjQzZjg1ZDMwMyAxMDA2NDQKLS0tIGEv
U291cmNlL1dlYkNvcmUvTW9kdWxlcy9lbmNyeXB0ZWRtZWRpYS9NZWRpYUtleVNlc3Npb24uY3Bw
CisrKyBiL1NvdXJjZS9XZWJDb3JlL01vZHVsZXMvZW5jcnlwdGVkbWVkaWEvTWVkaWFLZXlTZXNz
aW9uLmNwcApAQCAtODIsNyArODIsNyBAQCB2b2lkIE1lZGlhS2V5U2Vzc2lvbjo6Z2VuZXJhdGVL
ZXlSZXF1ZXN0KGNvbnN0IFN0cmluZyYgbWltZVR5cGUsIFVpbnQ4QXJyYXkqIGluaQogICAgIG1f
a2V5UmVxdWVzdFRpbWVyLnN0YXJ0T25lU2hvdCgwKTsKIH0KIAotdm9pZCBNZWRpYUtleVNlc3Np
b246OmtleVJlcXVlc3RUaW1lckZpcmVkKFRpbWVyPE1lZGlhS2V5U2Vzc2lvbj4qKQordm9pZCBN
ZWRpYUtleVNlc3Npb246OmtleVJlcXVlc3RUaW1lckZpcmVkKFRpbWVyPE1lZGlhS2V5U2Vzc2lv
bj4mKQogewogICAgIEFTU0VSVChtX3BlbmRpbmdLZXlSZXF1ZXN0cy5zaXplKCkpOwogICAgIGlm
ICghbV9zZXNzaW9uKQpAQCAtMTU0LDcgKzE1NCw3IEBAIHZvaWQgTWVkaWFLZXlTZXNzaW9uOjp1
cGRhdGUoVWludDhBcnJheSoga2V5LCBFeGNlcHRpb25Db2RlJiBlYykKICAgICBtX2FkZEtleVRp
bWVyLnN0YXJ0T25lU2hvdCgwKTsKIH0KIAotdm9pZCBNZWRpYUtleVNlc3Npb246OmFkZEtleVRp
bWVyRmlyZWQoVGltZXI8TWVkaWFLZXlTZXNzaW9uPiopCit2b2lkIE1lZGlhS2V5U2Vzc2lvbjo6
YWRkS2V5VGltZXJGaXJlZChUaW1lcjxNZWRpYUtleVNlc3Npb24+JikKIHsKICAgICBBU1NFUlQo
bV9wZW5kaW5nS2V5cy5zaXplKCkpOwogICAgIGlmICghbV9zZXNzaW9uKQpkaWZmIC0tZ2l0IGEv
U291cmNlL1dlYkNvcmUvTW9kdWxlcy9lbmNyeXB0ZWRtZWRpYS9NZWRpYUtleVNlc3Npb24uaCBi
L1NvdXJjZS9XZWJDb3JlL01vZHVsZXMvZW5jcnlwdGVkbWVkaWEvTWVkaWFLZXlTZXNzaW9uLmgK
aW5kZXggZGJlMjA4MGJjOGI0N2UwMDAxMzExNzg2YjU4YzY4NWJkYTVkOTVhZS4uNGE5ZDRmM2M3
NDYwYWY3MTRkMDk4ZTNhNjQ2ZWI4NTgwZGUzOGExNSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNv
cmUvTW9kdWxlcy9lbmNyeXB0ZWRtZWRpYS9NZWRpYUtleVNlc3Npb24uaAorKysgYi9Tb3VyY2Uv
V2ViQ29yZS9Nb2R1bGVzL2VuY3J5cHRlZG1lZGlhL01lZGlhS2V5U2Vzc2lvbi5oCkBAIC03Nyw4
ICs3Nyw4IEBAIHB1YmxpYzoKIAogcHJvdGVjdGVkOgogICAgIE1lZGlhS2V5U2Vzc2lvbihTY3Jp
cHRFeGVjdXRpb25Db250ZXh0KiwgTWVkaWFLZXlzKiwgY29uc3QgU3RyaW5nJiBrZXlTeXN0ZW0p
OwotICAgIHZvaWQga2V5UmVxdWVzdFRpbWVyRmlyZWQoVGltZXI8TWVkaWFLZXlTZXNzaW9uPiop
OwotICAgIHZvaWQgYWRkS2V5VGltZXJGaXJlZChUaW1lcjxNZWRpYUtleVNlc3Npb24+Kik7Cisg
ICAgdm9pZCBrZXlSZXF1ZXN0VGltZXJGaXJlZChUaW1lcjxNZWRpYUtleVNlc3Npb24+Jik7Cisg
ICAgdm9pZCBhZGRLZXlUaW1lckZpcmVkKFRpbWVyPE1lZGlhS2V5U2Vzc2lvbj4mKTsKIAogICAg
IE1lZGlhS2V5cyogbV9rZXlzOwogICAgIFN0cmluZyBtX2tleVN5c3RlbTsKZGlmZiAtLWdpdCBh
L1NvdXJjZS9XZWJDb3JlL01vZHVsZXMvZ2VvbG9jYXRpb24vR2VvbG9jYXRpb24uY3BwIGIvU291
cmNlL1dlYkNvcmUvTW9kdWxlcy9nZW9sb2NhdGlvbi9HZW9sb2NhdGlvbi5jcHAKaW5kZXggMDQ3
MTJjMWI5Zjk5OTE2YTczNDFiY2U1MTMzYzQ2M2I4YTk0OWEwMC4uMTVjZDFiODBlN2EyMzgzZmFl
YTAxNGI4NjQ2ZjkwMDhjNmMyMGY1YyAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvTW9kdWxl
cy9nZW9sb2NhdGlvbi9HZW9sb2NhdGlvbi5jcHAKKysrIGIvU291cmNlL1dlYkNvcmUvTW9kdWxl
cy9nZW9sb2NhdGlvbi9HZW9sb2NhdGlvbi5jcHAKQEAgLTE0Miw3ICsxNDIsNyBAQCB2b2lkIEdl
b2xvY2F0aW9uOjpHZW9Ob3RpZmllcjo6c3RvcFRpbWVyKCkKICAgICBtX3RpbWVyLnN0b3AoKTsK
IH0KIAotdm9pZCBHZW9sb2NhdGlvbjo6R2VvTm90aWZpZXI6OnRpbWVyRmlyZWQoVGltZXI8R2Vv
Tm90aWZpZXI+KikKK3ZvaWQgR2VvbG9jYXRpb246Okdlb05vdGlmaWVyOjp0aW1lckZpcmVkKFRp
bWVyPEdlb05vdGlmaWVyPiYpCiB7CiAgICAgbV90aW1lci5zdG9wKCk7CiAKQEAgLTI5Nyw3ICsy
OTcsNyBAQCB2b2lkIEdlb2xvY2F0aW9uOjpyZXN1bWUoKQogICAgICAgICBtX3Jlc3VtZVRpbWVy
LnN0YXJ0T25lU2hvdCgwKTsKIH0KIAotdm9pZCBHZW9sb2NhdGlvbjo6cmVzdW1lVGltZXJGaXJl
ZChUaW1lcjxHZW9sb2NhdGlvbj4qKQordm9pZCBHZW9sb2NhdGlvbjo6cmVzdW1lVGltZXJGaXJl
ZChUaW1lcjxHZW9sb2NhdGlvbj4mKQogewogICAgIG1faXNTdXNwZW5kZWQgPSBmYWxzZTsKIApk
aWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvTW9kdWxlcy9nZW9sb2NhdGlvbi9HZW9sb2NhdGlv
bi5oIGIvU291cmNlL1dlYkNvcmUvTW9kdWxlcy9nZW9sb2NhdGlvbi9HZW9sb2NhdGlvbi5oCmlu
ZGV4IDQ2MWI0MTMxNzQ4NzYzOWRmZjY4ZWUyNThmZmYzYWRkYWEzOTg2YTcuLjI4Y2EyODU0NTMw
N2JhYTEyNjkzNTQyYjQwZDE0OGVkZjcyYjMwMmMgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3Jl
L01vZHVsZXMvZ2VvbG9jYXRpb24vR2VvbG9jYXRpb24uaAorKysgYi9Tb3VyY2UvV2ViQ29yZS9N
b2R1bGVzL2dlb2xvY2F0aW9uL0dlb2xvY2F0aW9uLmgKQEAgLTEwMCw3ICsxMDAsNyBAQCBwcml2
YXRlOgogCiAgICAgICAgIHZvaWQgc3RhcnRUaW1lcklmTmVlZGVkKCk7CiAgICAgICAgIHZvaWQg
c3RvcFRpbWVyKCk7Ci0gICAgICAgIHZvaWQgdGltZXJGaXJlZChUaW1lcjxHZW9Ob3RpZmllcj4q
KTsKKyAgICAgICAgdm9pZCB0aW1lckZpcmVkKFRpbWVyPEdlb05vdGlmaWVyPiYpOwogICAgICAg
ICBib29sIGhhc1plcm9UaW1lb3V0KCkgY29uc3Q7CiAKICAgICBwcml2YXRlOgpAQCAtMTg2LDcg
KzE4Niw3IEBAIHByaXZhdGU6CiAgICAgYm9vbCBtX2hhc0NoYW5nZWRQb3NpdGlvbjsKICAgICBS
ZWZQdHI8UG9zaXRpb25FcnJvcj4gbV9lcnJvcldhaXRpbmdGb3JSZXN1bWU7CiAKLSAgICB2b2lk
IHJlc3VtZVRpbWVyRmlyZWQoVGltZXI8R2VvbG9jYXRpb24+Kik7CisgICAgdm9pZCByZXN1bWVU
aW1lckZpcmVkKFRpbWVyPEdlb2xvY2F0aW9uPiYpOwogICAgIFRpbWVyPEdlb2xvY2F0aW9uPiBt
X3Jlc3VtZVRpbWVyOwogI2VuZGlmIC8vIFBMQVRGT1JNKElPUykKIApkaWZmIC0tZ2l0IGEvU291
cmNlL1dlYkNvcmUvTW9kdWxlcy9pbmRleGVkZGIvSURCVHJhbnNhY3Rpb25CYWNrZW5kLmNwcCBi
L1NvdXJjZS9XZWJDb3JlL01vZHVsZXMvaW5kZXhlZGRiL0lEQlRyYW5zYWN0aW9uQmFja2VuZC5j
cHAKaW5kZXggNGNjMmRhN2QxOWNlYTJjNjJmNTVkNDAwYzY2YmZjZGYyNDQzNDE0My4uYmZiODA4
ODE1YTdmMWJhZDQzYWYzNzhhZGUxZjRiYjYyOTY1MWNkYSAxMDA2NDQKLS0tIGEvU291cmNlL1dl
YkNvcmUvTW9kdWxlcy9pbmRleGVkZGIvSURCVHJhbnNhY3Rpb25CYWNrZW5kLmNwcAorKysgYi9T
b3VyY2UvV2ViQ29yZS9Nb2R1bGVzL2luZGV4ZWRkYi9JREJUcmFuc2FjdGlvbkJhY2tlbmQuY3Bw
CkBAIC0yNTYsNyArMjU2LDcgQEAgdm9pZCBJREJUcmFuc2FjdGlvbkJhY2tlbmQ6OmNvbW1pdCgp
CiAgICAgfSk7CiB9CiAKLXZvaWQgSURCVHJhbnNhY3Rpb25CYWNrZW5kOjp0YXNrVGltZXJGaXJl
ZChUaW1lcjxJREJUcmFuc2FjdGlvbkJhY2tlbmQ+KikKK3ZvaWQgSURCVHJhbnNhY3Rpb25CYWNr
ZW5kOjp0YXNrVGltZXJGaXJlZChUaW1lcjxJREJUcmFuc2FjdGlvbkJhY2tlbmQ+JikKIHsKICAg
ICBMT0coU3RvcmFnZUFQSSwgIklEQlRyYW5zYWN0aW9uQmFja2VuZDo6dGFza1RpbWVyRmlyZWQi
KTsKIApkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvTW9kdWxlcy9pbmRleGVkZGIvSURCVHJh
bnNhY3Rpb25CYWNrZW5kLmggYi9Tb3VyY2UvV2ViQ29yZS9Nb2R1bGVzL2luZGV4ZWRkYi9JREJU
cmFuc2FjdGlvbkJhY2tlbmQuaAppbmRleCA3MjQ0OTY1M2Q3MTQ2YmY4ZGE4MDdjMjUxYmFiZjlj
OTQ0OGQ2MTlmLi5iYjIwMGRkZTMyZmRkMzNiYTYyYjg2ZDczMGYxOTRiYWNkMmVhNjU0IDEwMDY0
NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9Nb2R1bGVzL2luZGV4ZWRkYi9JREJUcmFuc2FjdGlvbkJh
Y2tlbmQuaAorKysgYi9Tb3VyY2UvV2ViQ29yZS9Nb2R1bGVzL2luZGV4ZWRkYi9JREJUcmFuc2Fj
dGlvbkJhY2tlbmQuaApAQCAtOTYsNyArOTYsNyBAQCBwcml2YXRlOgogICAgIGJvb2wgaXNUYXNr
UXVldWVFbXB0eSgpIGNvbnN0OwogICAgIGJvb2wgaGFzUGVuZGluZ1Rhc2tzKCkgY29uc3Q7CiAK
LSAgICB2b2lkIHRhc2tUaW1lckZpcmVkKFRpbWVyPElEQlRyYW5zYWN0aW9uQmFja2VuZD4qKTsK
KyAgICB2b2lkIHRhc2tUaW1lckZpcmVkKFRpbWVyPElEQlRyYW5zYWN0aW9uQmFja2VuZD4mKTsK
ICAgICB2b2lkIGNsb3NlT3BlbkN1cnNvcnMoKTsKIAogICAgIGNvbnN0IEhhc2hTZXQ8aW50NjRf
dD4gbV9vYmplY3RTdG9yZUlkczsKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL01vZHVsZXMv
bWVkaWFzb3VyY2UvU291cmNlQnVmZmVyLmNwcCBiL1NvdXJjZS9XZWJDb3JlL01vZHVsZXMvbWVk
aWFzb3VyY2UvU291cmNlQnVmZmVyLmNwcAppbmRleCBlNTA0OWVkNzRkZjgwZGVkZmE1NzljMzI5
M2MyYTZkMWM2YzI1ZWJmLi5lNjQyMTc5ZjNmMzkxMDIwNWMxZjg0YzFiOTJmMmI3OTFlZjdiZjE0
IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9Nb2R1bGVzL21lZGlhc291cmNlL1NvdXJjZUJ1
ZmZlci5jcHAKKysrIGIvU291cmNlL1dlYkNvcmUvTW9kdWxlcy9tZWRpYXNvdXJjZS9Tb3VyY2VC
dWZmZXIuY3BwCkBAIC0zOTcsNyArMzk3LDcgQEAgdm9pZCBTb3VyY2VCdWZmZXI6OmFwcGVuZEJ1
ZmZlckludGVybmFsKHVuc2lnbmVkIGNoYXIqIGRhdGEsIHVuc2lnbmVkIHNpemUsIEV4Y2UKICAg
ICBtX2FwcGVuZEJ1ZmZlclRpbWVyLnN0YXJ0T25lU2hvdCgwKTsKIH0KIAotdm9pZCBTb3VyY2VC
dWZmZXI6OmFwcGVuZEJ1ZmZlclRpbWVyRmlyZWQoVGltZXI8U291cmNlQnVmZmVyPiopCit2b2lk
IFNvdXJjZUJ1ZmZlcjo6YXBwZW5kQnVmZmVyVGltZXJGaXJlZChUaW1lcjxTb3VyY2VCdWZmZXI+
JikKIHsKICAgICBBU1NFUlQobV91cGRhdGluZyk7CiAKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJD
b3JlL01vZHVsZXMvbWVkaWFzb3VyY2UvU291cmNlQnVmZmVyLmggYi9Tb3VyY2UvV2ViQ29yZS9N
b2R1bGVzL21lZGlhc291cmNlL1NvdXJjZUJ1ZmZlci5oCmluZGV4IGI4NTM1MWU1ZDk3ODM5MDQ3
NTc4Y2Q5MDIwNDEyMmE4NzhkZWNjOWEuLjQ3ZDdlMmY0MjQ3YTRmMWZiMTdjOWRkZmUxZWFjMTA3
MGIxNDcwZDQgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL01vZHVsZXMvbWVkaWFzb3VyY2Uv
U291cmNlQnVmZmVyLmgKKysrIGIvU291cmNlL1dlYkNvcmUvTW9kdWxlcy9tZWRpYXNvdXJjZS9T
b3VyY2VCdWZmZXIuaApAQCAtMTM0LDcgKzEzNCw3IEBAIHByaXZhdGU6CiAgICAgdm9pZCBzY2hl
ZHVsZUV2ZW50KGNvbnN0IEF0b21pY1N0cmluZyYgZXZlbnROYW1lKTsKIAogICAgIHZvaWQgYXBw
ZW5kQnVmZmVySW50ZXJuYWwodW5zaWduZWQgY2hhciosIHVuc2lnbmVkLCBFeGNlcHRpb25Db2Rl
Jik7Ci0gICAgdm9pZCBhcHBlbmRCdWZmZXJUaW1lckZpcmVkKFRpbWVyPFNvdXJjZUJ1ZmZlcj4q
KTsKKyAgICB2b2lkIGFwcGVuZEJ1ZmZlclRpbWVyRmlyZWQoVGltZXI8U291cmNlQnVmZmVyPiYp
OwogCiAgICAgdm9pZCBzZXRBY3RpdmUoYm9vbCk7CiAKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJD
b3JlL01vZHVsZXMvbm90aWZpY2F0aW9ucy9Ob3RpZmljYXRpb24uY3BwIGIvU291cmNlL1dlYkNv
cmUvTW9kdWxlcy9ub3RpZmljYXRpb25zL05vdGlmaWNhdGlvbi5jcHAKaW5kZXggZGVlOTY3ZTM4
NjJhYzljMDJjZTBkMjYzYzVlMDVkMzhlM2I5M2IyNC4uMjBjYzBjMzA5MzczMTQ0ZjdhZWU0MmVk
NWU5YjA1ZTRmM2I0YjE2YyAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvTW9kdWxlcy9ub3Rp
ZmljYXRpb25zL05vdGlmaWNhdGlvbi5jcHAKKysrIGIvU291cmNlL1dlYkNvcmUvTW9kdWxlcy9u
b3RpZmljYXRpb25zL05vdGlmaWNhdGlvbi5jcHAKQEAgLTIwMSwxMCArMjAxLDEwIEBAIHZvaWQg
Tm90aWZpY2F0aW9uOjpkaXNwYXRjaEVycm9yRXZlbnQoKQogfQogCiAjaWYgRU5BQkxFKE5PVElG
SUNBVElPTlMpCi12b2lkIE5vdGlmaWNhdGlvbjo6dGFza1RpbWVyRmlyZWQoVGltZXI8Tm90aWZp
Y2F0aW9uPiogdGltZXIpCit2b2lkIE5vdGlmaWNhdGlvbjo6dGFza1RpbWVyRmlyZWQoVGltZXI8
Tm90aWZpY2F0aW9uPiYgdGltZXIpCiB7CiAgICAgQVNTRVJUKHNjcmlwdEV4ZWN1dGlvbkNvbnRl
eHQoKS0+aXNEb2N1bWVudCgpKTsKLSAgICBBU1NFUlRfVU5VU0VEKHRpbWVyLCB0aW1lciA9PSBt
X3Rhc2tUaW1lci5nZXQoKSk7CisgICAgQVNTRVJUX1VOVVNFRCh0aW1lciwgJnRpbWVyID09IG1f
dGFza1RpbWVyLmdldCgpKTsKICAgICBzaG93KCk7CiB9CiAjZW5kaWYKZGlmZiAtLWdpdCBhL1Nv
dXJjZS9XZWJDb3JlL01vZHVsZXMvbm90aWZpY2F0aW9ucy9Ob3RpZmljYXRpb24uaCBiL1NvdXJj
ZS9XZWJDb3JlL01vZHVsZXMvbm90aWZpY2F0aW9ucy9Ob3RpZmljYXRpb24uaAppbmRleCA5MGJi
Y2QzNDhlMDQwYWY5MWE0MzVkZDc0NDE0Y2NmZDI4NTcxOWZkLi5hM2Q0MGU3YjEwNjE0MDAzMjky
Y2YxYjA4NWY0NDJiMGU3N2U1OGRjIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9Nb2R1bGVz
L25vdGlmaWNhdGlvbnMvTm90aWZpY2F0aW9uLmgKKysrIGIvU291cmNlL1dlYkNvcmUvTW9kdWxl
cy9ub3RpZmljYXRpb25zL05vdGlmaWNhdGlvbi5oCkBAIC0xNTksNyArMTU5LDcgQEAgcHJpdmF0
ZToKICAgICB2b2lkIGZpbmlzaExvYWRpbmdJY29uKCk7CiAKICNpZiBFTkFCTEUoTk9USUZJQ0FU
SU9OUykKLSAgICB2b2lkIHRhc2tUaW1lckZpcmVkKFRpbWVyPE5vdGlmaWNhdGlvbj4qKTsKKyAg
ICB2b2lkIHRhc2tUaW1lckZpcmVkKFRpbWVyPE5vdGlmaWNhdGlvbj4mKTsKICNlbmRpZgogCiAg
ICAgLy8gVGV4dCBub3RpZmljYXRpb25zLgpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvTW9k
dWxlcy9ub3RpZmljYXRpb25zL05vdGlmaWNhdGlvbkNlbnRlci5jcHAgYi9Tb3VyY2UvV2ViQ29y
ZS9Nb2R1bGVzL25vdGlmaWNhdGlvbnMvTm90aWZpY2F0aW9uQ2VudGVyLmNwcAppbmRleCA4Y2Ex
MTViNWM2NTAyMTIwZGRmOWJkMDRkYzdmYzliNDVhMDY5NmQwLi4xM2Y3N2RlNGFkNTUxZGJhNTA3
NTE5MWFhYWEwZGI2NmFhMDhiNWM5IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9Nb2R1bGVz
L25vdGlmaWNhdGlvbnMvTm90aWZpY2F0aW9uQ2VudGVyLmNwcAorKysgYi9Tb3VyY2UvV2ViQ29y
ZS9Nb2R1bGVzL25vdGlmaWNhdGlvbnMvTm90aWZpY2F0aW9uQ2VudGVyLmNwcApAQCAtMTI5LDcg
KzEyOSw3IEBAIHZvaWQgTm90aWZpY2F0aW9uQ2VudGVyOjpOb3RpZmljYXRpb25SZXF1ZXN0Q2Fs
bGJhY2s6OnN0YXJ0VGltZXIoKQogICAgIG1fdGltZXIuc3RhcnRPbmVTaG90KDApOwogfQogCi12
b2lkIE5vdGlmaWNhdGlvbkNlbnRlcjo6Tm90aWZpY2F0aW9uUmVxdWVzdENhbGxiYWNrOjp0aW1l
ckZpcmVkKFRpbWVyPE5vdGlmaWNhdGlvbkNlbnRlcjo6Tm90aWZpY2F0aW9uUmVxdWVzdENhbGxi
YWNrPiopCit2b2lkIE5vdGlmaWNhdGlvbkNlbnRlcjo6Tm90aWZpY2F0aW9uUmVxdWVzdENhbGxi
YWNrOjp0aW1lckZpcmVkKFRpbWVyPE5vdGlmaWNhdGlvbkNlbnRlcjo6Tm90aWZpY2F0aW9uUmVx
dWVzdENhbGxiYWNrPiYpCiB7CiAgICAgaWYgKG1fY2FsbGJhY2spCiAgICAgICAgIG1fY2FsbGJh
Y2stPmhhbmRsZUV2ZW50KCk7CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9Nb2R1bGVzL25v
dGlmaWNhdGlvbnMvTm90aWZpY2F0aW9uQ2VudGVyLmggYi9Tb3VyY2UvV2ViQ29yZS9Nb2R1bGVz
L25vdGlmaWNhdGlvbnMvTm90aWZpY2F0aW9uQ2VudGVyLmgKaW5kZXggZTdjZDI2Y2FmNmFkMWVl
MTU0YmIyY2UzOWI5N2RlZGMyOTY3ZGFlYi4uNTcxNWFlOTNkNzRlMmQ4YzdjZjIxYWNiNWZlYjA4
NjUxOTZlY2FlYyAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvTW9kdWxlcy9ub3RpZmljYXRp
b25zL05vdGlmaWNhdGlvbkNlbnRlci5oCisrKyBiL1NvdXJjZS9XZWJDb3JlL01vZHVsZXMvbm90
aWZpY2F0aW9ucy9Ob3RpZmljYXRpb25DZW50ZXIuaApAQCAtODEsNyArODEsNyBAQCBwcml2YXRl
OgogICAgIHB1YmxpYzoKICAgICAgICAgc3RhdGljIFBhc3NSZWZQdHI8Tm90aWZpY2F0aW9uUmVx
dWVzdENhbGxiYWNrPiBjcmVhdGVBbmRTdGFydFRpbWVyKE5vdGlmaWNhdGlvbkNlbnRlciosIFBh
c3NSZWZQdHI8Vm9pZENhbGxiYWNrPik7CiAgICAgICAgIHZvaWQgc3RhcnRUaW1lcigpOwotICAg
ICAgICB2b2lkIHRpbWVyRmlyZWQoVGltZXI8Tm90aWZpY2F0aW9uUmVxdWVzdENhbGxiYWNrPiop
OworICAgICAgICB2b2lkIHRpbWVyRmlyZWQoVGltZXI8Tm90aWZpY2F0aW9uUmVxdWVzdENhbGxi
YWNrPiYpOwogICAgIHByaXZhdGU6CiAgICAgICAgIE5vdGlmaWNhdGlvblJlcXVlc3RDYWxsYmFj
ayhOb3RpZmljYXRpb25DZW50ZXIqLCBQYXNzUmVmUHRyPFZvaWRDYWxsYmFjaz4pOwogCmRpZmYg
LS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9hY2Nlc3NpYmlsaXR5L0FYT2JqZWN0Q2FjaGUuY3BwIGIv
U291cmNlL1dlYkNvcmUvYWNjZXNzaWJpbGl0eS9BWE9iamVjdENhY2hlLmNwcAppbmRleCBlYTY0
MTZjMTlkMTA5YzY1YzNlNDY2MGE5MzdiMWE4N2ZiMTZlMzhiLi4zYjcwMGZjNWVjMmU4N2E1MjZi
YTQ1ODM5ZTQxYjBkZjRlMzdlZWMxIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9hY2Nlc3Np
YmlsaXR5L0FYT2JqZWN0Q2FjaGUuY3BwCisrKyBiL1NvdXJjZS9XZWJDb3JlL2FjY2Vzc2liaWxp
dHkvQVhPYmplY3RDYWNoZS5jcHAKQEAgLTYzOCw3ICs2MzgsNyBAQCB2b2lkIEFYT2JqZWN0Q2Fj
aGU6OmNoaWxkcmVuQ2hhbmdlZChBY2Nlc3NpYmlsaXR5T2JqZWN0KiBvYmopCiAgICAgb2JqLT5j
aGlsZHJlbkNoYW5nZWQoKTsKIH0KICAgICAKLXZvaWQgQVhPYmplY3RDYWNoZTo6bm90aWZpY2F0
aW9uUG9zdFRpbWVyRmlyZWQoVGltZXI8QVhPYmplY3RDYWNoZT4qKQordm9pZCBBWE9iamVjdENh
Y2hlOjpub3RpZmljYXRpb25Qb3N0VGltZXJGaXJlZChUaW1lcjxBWE9iamVjdENhY2hlPiYpCiB7
CiAgICAgUmVmPERvY3VtZW50PiBwcm90ZWN0b3JGb3JDYWNoZU93bmVyKG1fZG9jdW1lbnQpOwog
CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9hY2Nlc3NpYmlsaXR5L0FYT2JqZWN0Q2FjaGUu
aCBiL1NvdXJjZS9XZWJDb3JlL2FjY2Vzc2liaWxpdHkvQVhPYmplY3RDYWNoZS5oCmluZGV4IDk2
YjBmODU4ODViMWU0M2M0YTE3NmY2Nzg2ZmNhYWNlMzc5ODNkNGUuLjAxYzI3ZDA2YTBjNGM5NmNj
NjNiMzg4OWRhNzk2MjkyMDliMTEyYTEgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL2FjY2Vz
c2liaWxpdHkvQVhPYmplY3RDYWNoZS5oCisrKyBiL1NvdXJjZS9XZWJDb3JlL2FjY2Vzc2liaWxp
dHkvQVhPYmplY3RDYWNoZS5oCkBAIC0yMzYsNyArMjM2LDcgQEAgcHJpdmF0ZToKICAgICAKICAg
ICBUaW1lcjxBWE9iamVjdENhY2hlPiBtX25vdGlmaWNhdGlvblBvc3RUaW1lcjsKICAgICBWZWN0
b3I8c3RkOjpwYWlyPFJlZlB0cjxBY2Nlc3NpYmlsaXR5T2JqZWN0PiwgQVhOb3RpZmljYXRpb24+
PiBtX25vdGlmaWNhdGlvbnNUb1Bvc3Q7Ci0gICAgdm9pZCBub3RpZmljYXRpb25Qb3N0VGltZXJG
aXJlZChUaW1lcjxBWE9iamVjdENhY2hlPiopOworICAgIHZvaWQgbm90aWZpY2F0aW9uUG9zdFRp
bWVyRmlyZWQoVGltZXI8QVhPYmplY3RDYWNoZT4mKTsKICAgICAKICAgICBzdGF0aWMgQWNjZXNz
aWJpbGl0eU9iamVjdCogZm9jdXNlZEltYWdlTWFwVUlFbGVtZW50KEhUTUxBcmVhRWxlbWVudCop
OwogICAgIApkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvY3NzL0NTU0ZvbnRTZWxlY3Rvci5j
cHAgYi9Tb3VyY2UvV2ViQ29yZS9jc3MvQ1NTRm9udFNlbGVjdG9yLmNwcAppbmRleCA4NWQ2MDdh
MmRlNzhiYjYwYzhkMTg5NTFkNzdhOTgzOGIwYjcxODEwLi42NjdlMDY3MjNmM2YyZDgyMGEzYmJj
NmE0MmFkOTE5ZDM5MGVhMjZjIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9jc3MvQ1NTRm9u
dFNlbGVjdG9yLmNwcAorKysgYi9Tb3VyY2UvV2ViQ29yZS9jc3MvQ1NTRm9udFNlbGVjdG9yLmNw
cApAQCAtNTkwLDcgKzU5MCw3IEBAIHZvaWQgQ1NTRm9udFNlbGVjdG9yOjpiZWdpbkxvYWRpbmdG
b250U29vbihDYWNoZWRGb250KiBmb250KQogICAgIG1fYmVnaW5Mb2FkaW5nVGltZXIuc3RhcnRP
bmVTaG90KDApOwogfQogCi12b2lkIENTU0ZvbnRTZWxlY3Rvcjo6YmVnaW5Mb2FkVGltZXJGaXJl
ZChUaW1lcjxXZWJDb3JlOjpDU1NGb250U2VsZWN0b3I+KikKK3ZvaWQgQ1NTRm9udFNlbGVjdG9y
OjpiZWdpbkxvYWRUaW1lckZpcmVkKFRpbWVyPFdlYkNvcmU6OkNTU0ZvbnRTZWxlY3Rvcj4mKQog
ewogICAgIFZlY3RvcjxDYWNoZWRSZXNvdXJjZUhhbmRsZTxDYWNoZWRGb250Pj4gZm9udHNUb0Jl
Z2luTG9hZGluZzsKICAgICBmb250c1RvQmVnaW5Mb2FkaW5nLnN3YXAobV9mb250c1RvQmVnaW5M
b2FkaW5nKTsKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL2Nzcy9DU1NGb250U2VsZWN0b3Iu
aCBiL1NvdXJjZS9XZWJDb3JlL2Nzcy9DU1NGb250U2VsZWN0b3IuaAppbmRleCAyZmIwOWJjNDlh
MGQ4N2IxZGExOGNmNzkyYjdiMGU1ZmM3ZDc4NTFlLi5hYzMyMzE4ODM1MGZiN2FiMDFhOGM1MzFm
ZTM5YmVmZDk4ZDI1YjAxIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9jc3MvQ1NTRm9udFNl
bGVjdG9yLmgKKysrIGIvU291cmNlL1dlYkNvcmUvY3NzL0NTU0ZvbnRTZWxlY3Rvci5oCkBAIC04
NSw3ICs4NSw3IEBAIHByaXZhdGU6CiAKICAgICB2b2lkIGRpc3BhdGNoSW52YWxpZGF0aW9uQ2Fs
bGJhY2tzKCk7CiAKLSAgICB2b2lkIGJlZ2luTG9hZFRpbWVyRmlyZWQoVGltZXI8Q1NTRm9udFNl
bGVjdG9yPiopOworICAgIHZvaWQgYmVnaW5Mb2FkVGltZXJGaXJlZChUaW1lcjxDU1NGb250U2Vs
ZWN0b3I+Jik7CiAKICAgICBEb2N1bWVudCogbV9kb2N1bWVudDsKICAgICBIYXNoTWFwPFN0cmlu
ZywgT3duUHRyPFZlY3RvcjxSZWZQdHI8Q1NTRm9udEZhY2U+Pj4sIENhc2VGb2xkaW5nSGFzaD4g
bV9mb250RmFjZXM7CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9jc3MvQ1NTSW1hZ2VHZW5l
cmF0b3JWYWx1ZS5jcHAgYi9Tb3VyY2UvV2ViQ29yZS9jc3MvQ1NTSW1hZ2VHZW5lcmF0b3JWYWx1
ZS5jcHAKaW5kZXggYTgyOTdjNWFiMDk3MWM4ZGU3MjVhN2Q0OGI5NTg0YWYyMmQ2MWQ5YS4uMzBj
YTU5YzNkYThiNzFiYmY2OTlhNmJmZjg3MTEwZGU4OTBkNTdmYiAxMDA2NDQKLS0tIGEvU291cmNl
L1dlYkNvcmUvY3NzL0NTU0ltYWdlR2VuZXJhdG9yVmFsdWUuY3BwCisrKyBiL1NvdXJjZS9XZWJD
b3JlL2Nzcy9DU1NJbWFnZUdlbmVyYXRvclZhbHVlLmNwcApAQCAtOTksNyArOTksNyBAQCBDU1NJ
bWFnZUdlbmVyYXRvclZhbHVlOjpDYWNoZWRHZW5lcmF0ZWRJbWFnZTo6Q2FjaGVkR2VuZXJhdGVk
SW1hZ2UoQ1NTSW1hZ2VHZW5lcgogICAgIG1fZXZpY3Rpb25UaW1lci5yZXN0YXJ0KCk7CiB9CiAK
LXZvaWQgQ1NTSW1hZ2VHZW5lcmF0b3JWYWx1ZTo6Q2FjaGVkR2VuZXJhdGVkSW1hZ2U6OmV2aWN0
aW9uVGltZXJGaXJlZChEZWZlcnJhYmxlT25lU2hvdFRpbWVyPENhY2hlZEdlbmVyYXRlZEltYWdl
PiopCit2b2lkIENTU0ltYWdlR2VuZXJhdG9yVmFsdWU6OkNhY2hlZEdlbmVyYXRlZEltYWdlOjpl
dmljdGlvblRpbWVyRmlyZWQoRGVmZXJyYWJsZU9uZVNob3RUaW1lcjxDYWNoZWRHZW5lcmF0ZWRJ
bWFnZT4mKQogewogICAgIC8vIE5PVEU6IFRoaXMgaXMgZXNzZW50aWFsbHkgYSAiZGVsZXRlIHRo
aXMiLCB0aGUgb2JqZWN0IGlzIG5vIGxvbmdlciB2YWxpZCBhZnRlciB0aGlzIGxpbmUuCiAgICAg
bV9vd25lci5ldmljdENhY2hlZEdlbmVyYXRlZEltYWdlKG1fc2l6ZSk7CmRpZmYgLS1naXQgYS9T
b3VyY2UvV2ViQ29yZS9jc3MvQ1NTSW1hZ2VHZW5lcmF0b3JWYWx1ZS5oIGIvU291cmNlL1dlYkNv
cmUvY3NzL0NTU0ltYWdlR2VuZXJhdG9yVmFsdWUuaAppbmRleCA0NjFmM2Y0NDE0YmUyNWJhMjI4
ZmQzNzc4MGVhOGY4MDIwMWM3ZDMyLi4wYTZhMWI2ZmRkOTA2Y2Q0ZWM1ZjgzZDY3NzBjNGViMWI3
OWYwYTAzIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9jc3MvQ1NTSW1hZ2VHZW5lcmF0b3JW
YWx1ZS5oCisrKyBiL1NvdXJjZS9XZWJDb3JlL2Nzcy9DU1NJbWFnZUdlbmVyYXRvclZhbHVlLmgK
QEAgLTc2LDcgKzc2LDcgQEAgcHJpdmF0ZToKICAgICAgICAgdm9pZCBwdW50RXZpY3Rpb25UaW1l
cigpIHsgbV9ldmljdGlvblRpbWVyLnJlc3RhcnQoKTsgfQogCiAgICAgcHJpdmF0ZToKLSAgICAg
ICAgdm9pZCBldmljdGlvblRpbWVyRmlyZWQoRGVmZXJyYWJsZU9uZVNob3RUaW1lcjxDYWNoZWRH
ZW5lcmF0ZWRJbWFnZT4qKTsKKyAgICAgICAgdm9pZCBldmljdGlvblRpbWVyRmlyZWQoRGVmZXJy
YWJsZU9uZVNob3RUaW1lcjxDYWNoZWRHZW5lcmF0ZWRJbWFnZT4mKTsKIAogICAgICAgICBDU1NJ
bWFnZUdlbmVyYXRvclZhbHVlJiBtX293bmVyOwogICAgICAgICBJbnRTaXplIG1fc2l6ZTsKZGlm
ZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL2RvbS9Eb2N1bWVudC5jcHAgYi9Tb3VyY2UvV2ViQ29y
ZS9kb20vRG9jdW1lbnQuY3BwCmluZGV4IDMxODVlNzQ0N2ViZDE2MWU0MTg5NTk2YzlmMjQzYWZm
NmQ5MzYwMTYuLjZjNTc0YjI2MzViOTBiOGY1N2QyNmMyYWIzNzhiZmVlY2YzMjhkNzMgMTAwNjQ0
Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL2RvbS9Eb2N1bWVudC5jcHAKKysrIGIvU291cmNlL1dlYkNv
cmUvZG9tL0RvY3VtZW50LmNwcApAQCAtMTI1MSw3ICsxMjUxLDcgQEAgdm9pZCBEb2N1bWVudDo6
c2V0VmlzdWFsVXBkYXRlc0FsbG93ZWQoYm9vbCB2aXN1YWxVcGRhdGVzQWxsb3dlZCkKICAgICAg
ICAgZnJhbWUtPmxvYWRlcigpLmZvcmNlUGFnZVRyYW5zaXRpb25JZk5lZWRlZCgpOwogfQogCi12
b2lkIERvY3VtZW50Ojp2aXN1YWxVcGRhdGVzU3VwcHJlc3Npb25UaW1lckZpcmVkKFRpbWVyPERv
Y3VtZW50PiopCit2b2lkIERvY3VtZW50Ojp2aXN1YWxVcGRhdGVzU3VwcHJlc3Npb25UaW1lckZp
cmVkKFRpbWVyPERvY3VtZW50PiYpCiB7CiAgICAgQVNTRVJUKCFtX3Zpc3VhbFVwZGF0ZXNBbGxv
d2VkKTsKIApAQCAtMTY5OCw3ICsxNjk4LDcgQEAgYm9vbCBEb2N1bWVudDo6aGFzUGVuZGluZ0Zv
cmNlZFN0eWxlUmVjYWxjKCkgY29uc3QKICAgICByZXR1cm4gbV9zdHlsZVJlY2FsY1RpbWVyLmlz
QWN0aXZlKCkgJiYgbV9wZW5kaW5nU3R5bGVSZWNhbGNTaG91bGRGb3JjZTsKIH0KIAotdm9pZCBE
b2N1bWVudDo6c3R5bGVSZWNhbGNUaW1lckZpcmVkKFRpbWVyPERvY3VtZW50PiopCit2b2lkIERv
Y3VtZW50OjpzdHlsZVJlY2FsY1RpbWVyRmlyZWQoVGltZXI8RG9jdW1lbnQ+JikKIHsKICAgICB1
cGRhdGVTdHlsZUlmTmVlZGVkKCk7CiB9CkBAIC0zMTc4LDcgKzMxNzgsNyBAQCB2b2lkIERvY3Vt
ZW50OjpldmFsdWF0ZU1lZGlhUXVlcnlMaXN0KCkKICAgICAgICAgbV9tZWRpYVF1ZXJ5TWF0Y2hl
ci0+c3R5bGVSZXNvbHZlckNoYW5nZWQoKTsKIH0KIAotdm9pZCBEb2N1bWVudDo6b3B0aW1pemVk
U3R5bGVTaGVldFVwZGF0ZVRpbWVyRmlyZWQoVGltZXI8RG9jdW1lbnQ+KikKK3ZvaWQgRG9jdW1l
bnQ6Om9wdGltaXplZFN0eWxlU2hlZXRVcGRhdGVUaW1lckZpcmVkKFRpbWVyPERvY3VtZW50PiYp
CiB7CiAgICAgc3R5bGVSZXNvbHZlckNoYW5nZWQoUmVjYWxjU3R5bGVJZk5lZWRlZCk7CiB9CkBA
IC00NDYyLDcgKzQ0NjIsNyBAQCB2b2lkIERvY3VtZW50OjpmaW5pc2hlZFBhcnNpbmcoKQogICAg
IG1fY2FjaGVkUmVzb3VyY2VMb2FkZXItPmNsZWFyUHJlbG9hZHMoKTsKIH0KIAotdm9pZCBEb2N1
bWVudDo6c2hhcmVkT2JqZWN0UG9vbENsZWFyVGltZXJGaXJlZChUaW1lcjxEb2N1bWVudD4qKQor
dm9pZCBEb2N1bWVudDo6c2hhcmVkT2JqZWN0UG9vbENsZWFyVGltZXJGaXJlZChUaW1lcjxEb2N1
bWVudD4mKQogewogICAgIG1fc2hhcmVkT2JqZWN0UG9vbC5jbGVhcigpOwogfQpAQCAtNDQ3Miw3
ICs0NDcyLDcgQEAgdm9pZCBEb2N1bWVudDo6ZGlkQWNjZXNzU3R5bGVSZXNvbHZlcigpCiAgICAg
bV9zdHlsZVJlc29sdmVyVGhyb3dhd2F5VGltZXIucmVzdGFydCgpOwogfQogCi12b2lkIERvY3Vt
ZW50OjpzdHlsZVJlc29sdmVyVGhyb3dhd2F5VGltZXJGaXJlZChEZWZlcnJhYmxlT25lU2hvdFRp
bWVyPERvY3VtZW50PiopCit2b2lkIERvY3VtZW50OjpzdHlsZVJlc29sdmVyVGhyb3dhd2F5VGlt
ZXJGaXJlZChEZWZlcnJhYmxlT25lU2hvdFRpbWVyPERvY3VtZW50PiYpCiB7CiAgICAgQVNTRVJU
KCFtX2luU3R5bGVSZWNhbGMpOwogICAgIGNsZWFyU3R5bGVSZXNvbHZlcigpOwpAQCAtNDczNiw3
ICs0NzM2LDcgQEAgdm9pZCBEb2N1bWVudDo6cmVzZXRIaWRkZW5Gb2N1c0VsZW1lbnRTb29uKCkK
ICAgICAgICAgbV9yZXNldEhpZGRlbkZvY3VzRWxlbWVudFRpbWVyLnN0YXJ0T25lU2hvdCgwKTsK
IH0KIAotdm9pZCBEb2N1bWVudDo6dXBkYXRlRm9jdXNBcHBlYXJhbmNlVGltZXJGaXJlZChUaW1l
cjxEb2N1bWVudD4qKQordm9pZCBEb2N1bWVudDo6dXBkYXRlRm9jdXNBcHBlYXJhbmNlVGltZXJG
aXJlZChUaW1lcjxEb2N1bWVudD4mKQogewogICAgIEVsZW1lbnQqIGVsZW1lbnQgPSBmb2N1c2Vk
RWxlbWVudCgpOwogICAgIGlmICghZWxlbWVudCkKQEAgLTQ3NDcsNyArNDc0Nyw3IEBAIHZvaWQg
RG9jdW1lbnQ6OnVwZGF0ZUZvY3VzQXBwZWFyYW5jZVRpbWVyRmlyZWQoVGltZXI8RG9jdW1lbnQ+
KikKICAgICAgICAgZWxlbWVudC0+dXBkYXRlRm9jdXNBcHBlYXJhbmNlKG1fdXBkYXRlRm9jdXNB
cHBlYXJhbmNlUmVzdG9yZXNTZWxlY3Rpb24pOwogfQogCi12b2lkIERvY3VtZW50OjpyZXNldEhp
ZGRlbkZvY3VzRWxlbWVudFRpbWVyKFRpbWVyPERvY3VtZW50PiopCit2b2lkIERvY3VtZW50Ojpy
ZXNldEhpZGRlbkZvY3VzRWxlbWVudFRpbWVyKFRpbWVyPERvY3VtZW50PiYpCiB7CiAgICAgaWYg
KHZpZXcoKSAmJiB2aWV3KCktPm5lZWRzTGF5b3V0KCkpCiAgICAgICAgIHJldHVybjsKQEAgLTQ5
MTcsNyArNDkxNyw3IEBAIHZvaWQgRG9jdW1lbnQ6OnBvc3RUYXNrKFBhc3NPd25QdHI8VGFzaz4g
dGFzaykKICAgICBjYWxsT25NYWluVGhyZWFkKGRpZFJlY2VpdmVUYXNrLCBuZXcgUGVyZm9ybVRh
c2tDb250ZXh0KG1fd2Vha0ZhY3RvcnkuY3JlYXRlV2Vha1B0cigpLCB0YXNrKSk7CiB9CiAKLXZv
aWQgRG9jdW1lbnQ6OnBlbmRpbmdUYXNrc1RpbWVyRmlyZWQoVGltZXI8RG9jdW1lbnQ+KikKK3Zv
aWQgRG9jdW1lbnQ6OnBlbmRpbmdUYXNrc1RpbWVyRmlyZWQoVGltZXI8RG9jdW1lbnQ+JikKIHsK
ICAgICB3aGlsZSAoIW1fcGVuZGluZ1Rhc2tzLmlzRW1wdHkoKSkgewogICAgICAgICBPd25QdHI8
VGFzaz4gdGFzayA9IG1fcGVuZGluZ1Rhc2tzWzBdLnJlbGVhc2UoKTsKQEAgLTU0MzUsNyArNTQz
NSw3IEBAIHZvaWQgRG9jdW1lbnQ6OmZ1bGxTY3JlZW5SZW5kZXJlckRlc3Ryb3llZCgpCiAgICAg
bV9mdWxsU2NyZWVuUmVuZGVyZXIgPSBudWxscHRyOwogfQogCi12b2lkIERvY3VtZW50OjpmdWxs
U2NyZWVuQ2hhbmdlRGVsYXlUaW1lckZpcmVkKFRpbWVyPERvY3VtZW50PiopCit2b2lkIERvY3Vt
ZW50OjpmdWxsU2NyZWVuQ2hhbmdlRGVsYXlUaW1lckZpcmVkKFRpbWVyPERvY3VtZW50PiYpCiB7
CiAgICAgLy8gU2luY2Ugd2UgZGlzcGF0Y2ggZXZlbnRzIGluIHRoaXMgZnVuY3Rpb24sIGl0J3Mg
cG9zc2libGUgdGhhdCB0aGUKICAgICAvLyBkb2N1bWVudCB3aWxsIGJlIGRldGFjaGVkIGFuZCBH
QydkLiBXZSBwcm90ZWN0IGl0IGhlcmUgdG8gbWFrZSBzdXJlIHdlCkBAIC01NTczLDcgKzU1NzMs
NyBAQCB2b2lkIERvY3VtZW50OjpkZWNyZW1lbnRMb2FkRXZlbnREZWxheUNvdW50KCkKICAgICAg
ICAgbV9sb2FkRXZlbnREZWxheVRpbWVyLnN0YXJ0T25lU2hvdCgwKTsKIH0KIAotdm9pZCBEb2N1
bWVudDo6bG9hZEV2ZW50RGVsYXlUaW1lckZpcmVkKFRpbWVyPERvY3VtZW50PiopCit2b2lkIERv
Y3VtZW50Ojpsb2FkRXZlbnREZWxheVRpbWVyRmlyZWQoVGltZXI8RG9jdW1lbnQ+JikKIHsKICAg
ICBpZiAoZnJhbWUoKSkKICAgICAgICAgZnJhbWUoKS0+bG9hZGVyKCkuY2hlY2tDb21wbGV0ZWQo
KTsKQEAgLTYwODEsOSArNjA4MSwxMCBAQCB2b2lkIERvY3VtZW50OjpkaWRBc3NvY2lhdGVGb3Jt
Q29udHJvbChFbGVtZW50KiBlbGVtZW50KQogICAgICAgICBtX2RpZEFzc29jaWF0ZUZvcm1Db250
cm9sc1RpbWVyLnN0YXJ0T25lU2hvdCgwKTsKIH0KIAotdm9pZCBEb2N1bWVudDo6ZGlkQXNzb2Np
YXRlRm9ybUNvbnRyb2xzVGltZXJGaXJlZChUaW1lcjxEb2N1bWVudD4qIHRpbWVyKQordm9pZCBE
b2N1bWVudDo6ZGlkQXNzb2NpYXRlRm9ybUNvbnRyb2xzVGltZXJGaXJlZChUaW1lcjxEb2N1bWVu
dD4mIHRpbWVyKQogewotICAgIEFTU0VSVF9VTlVTRUQodGltZXIsIHRpbWVyID09ICZtX2RpZEFz
c29jaWF0ZUZvcm1Db250cm9sc1RpbWVyKTsKKyAgICBBU1NFUlRfVU5VU0VEKHRpbWVyLCAmdGlt
ZXIgPT0gJm1fZGlkQXNzb2NpYXRlRm9ybUNvbnRyb2xzVGltZXIpOworCiAgICAgaWYgKCFmcmFt
ZSgpIHx8ICFmcmFtZSgpLT5wYWdlKCkpCiAgICAgICAgIHJldHVybjsKIApkaWZmIC0tZ2l0IGEv
U291cmNlL1dlYkNvcmUvZG9tL0RvY3VtZW50LmggYi9Tb3VyY2UvV2ViQ29yZS9kb20vRG9jdW1l
bnQuaAppbmRleCAzMGQ0MmRjZDlhYWM3NWNjNzdkNzM4M2Q5YzkxMjAyZmMxZDMyODIwLi45MDhi
ZDMxMDQ1YTgzOThmNzQ1NTcxZDlhNjM3ZGJkMDdmM2Q2ZjEzIDEwMDY0NAotLS0gYS9Tb3VyY2Uv
V2ViQ29yZS9kb20vRG9jdW1lbnQuaAorKysgYi9Tb3VyY2UvV2ViQ29yZS9kb20vRG9jdW1lbnQu
aApAQCAtNzE2LDggKzcxNiw4IEBAIHB1YmxpYzoKICAgICB2b2lkIHVuc2NoZWR1bGVTdHlsZVJl
Y2FsYygpOwogICAgIGJvb2wgaGFzUGVuZGluZ1N0eWxlUmVjYWxjKCkgY29uc3Q7CiAgICAgYm9v
bCBoYXNQZW5kaW5nRm9yY2VkU3R5bGVSZWNhbGMoKSBjb25zdDsKLSAgICB2b2lkIHN0eWxlUmVj
YWxjVGltZXJGaXJlZChUaW1lcjxEb2N1bWVudD4qKTsKLSAgICB2b2lkIG9wdGltaXplZFN0eWxl
U2hlZXRVcGRhdGVUaW1lckZpcmVkKFRpbWVyPERvY3VtZW50PiopOworICAgIHZvaWQgc3R5bGVS
ZWNhbGNUaW1lckZpcmVkKFRpbWVyPERvY3VtZW50PiYpOworICAgIHZvaWQgb3B0aW1pemVkU3R5
bGVTaGVldFVwZGF0ZVRpbWVyRmlyZWQoVGltZXI8RG9jdW1lbnQ+Jik7CiAKICAgICB2b2lkIHJl
Z2lzdGVyTm9kZUxpc3QoTGl2ZU5vZGVMaXN0Jik7CiAgICAgdm9pZCB1bnJlZ2lzdGVyTm9kZUxp
c3QoTGl2ZU5vZGVMaXN0Jik7CkBAIC0xMDg5LDcgKzEwODksNyBAQCBwdWJsaWM6CiAgICAgUmVu
ZGVyRnVsbFNjcmVlbiogZnVsbFNjcmVlblJlbmRlcmVyKCkgY29uc3QgeyByZXR1cm4gbV9mdWxs
U2NyZWVuUmVuZGVyZXI7IH0KICAgICB2b2lkIGZ1bGxTY3JlZW5SZW5kZXJlckRlc3Ryb3llZCgp
OwogICAgIAotICAgIHZvaWQgZnVsbFNjcmVlbkNoYW5nZURlbGF5VGltZXJGaXJlZChUaW1lcjxE
b2N1bWVudD4qKTsKKyAgICB2b2lkIGZ1bGxTY3JlZW5DaGFuZ2VEZWxheVRpbWVyRmlyZWQoVGlt
ZXI8RG9jdW1lbnQ+Jik7CiAgICAgYm9vbCBmdWxsU2NyZWVuSXNBbGxvd2VkRm9yRWxlbWVudChF
bGVtZW50KikgY29uc3Q7CiAgICAgdm9pZCBmdWxsU2NyZWVuRWxlbWVudFJlbW92ZWQoKTsKICAg
ICB2b2lkIHJlbW92ZUZ1bGxTY3JlZW5FbGVtZW50T2ZTdWJ0cmVlKE5vZGUqLCBib29sIGFtb25n
Q2hpbGRyZW5Pbmx5ID0gZmFsc2UpOwpAQCAtMTI2NiwxMCArMTI2NiwxMCBAQCBwcml2YXRlOgog
ICAgIHZpcnR1YWwgZG91YmxlIHRpbWVyQWxpZ25tZW50SW50ZXJ2YWwoKSBjb25zdCBPVkVSUklE
RTsKIAogICAgIHZvaWQgdXBkYXRlVGl0bGUoY29uc3QgU3RyaW5nV2l0aERpcmVjdGlvbiYpOwot
ICAgIHZvaWQgdXBkYXRlRm9jdXNBcHBlYXJhbmNlVGltZXJGaXJlZChUaW1lcjxEb2N1bWVudD4q
KTsKKyAgICB2b2lkIHVwZGF0ZUZvY3VzQXBwZWFyYW5jZVRpbWVyRmlyZWQoVGltZXI8RG9jdW1l
bnQ+Jik7CiAgICAgdm9pZCB1cGRhdGVCYXNlVVJMKCk7CiAKLSAgICB2b2lkIHJlc2V0SGlkZGVu
Rm9jdXNFbGVtZW50VGltZXIoVGltZXI8RG9jdW1lbnQ+Kik7CisgICAgdm9pZCByZXNldEhpZGRl
bkZvY3VzRWxlbWVudFRpbWVyKFRpbWVyPERvY3VtZW50PiYpOwogCiAgICAgdm9pZCBidWlsZEFj
Y2Vzc0tleU1hcChUcmVlU2NvcGUqIHJvb3QpOwogCkBAIC0xMjc3LDkgKzEyNzcsOSBAQCBwcml2
YXRlOgogCiAgICAgdm9pZCBzZWFtbGVzc1BhcmVudFVwZGF0ZWRTdHlsZXNoZWV0cygpOwogCi0g
ICAgdm9pZCBsb2FkRXZlbnREZWxheVRpbWVyRmlyZWQoVGltZXI8RG9jdW1lbnQ+Kik7CisgICAg
dm9pZCBsb2FkRXZlbnREZWxheVRpbWVyRmlyZWQoVGltZXI8RG9jdW1lbnQ+Jik7CiAKLSAgICB2
b2lkIHBlbmRpbmdUYXNrc1RpbWVyRmlyZWQoVGltZXI8RG9jdW1lbnQ+Kik7CisgICAgdm9pZCBw
ZW5kaW5nVGFza3NUaW1lckZpcmVkKFRpbWVyPERvY3VtZW50PiYpOwogCiAgICAgc3RhdGljIHZv
aWQgZGlkUmVjZWl2ZVRhc2sodm9pZCopOwogICAgIApAQCAtMTMwMiwxMyArMTMwMiwxMyBAQCBw
cml2YXRlOgogCiAgICAgdm9pZCBzZXRWaXN1YWxVcGRhdGVzQWxsb3dlZChSZWFkeVN0YXRlKTsK
ICAgICB2b2lkIHNldFZpc3VhbFVwZGF0ZXNBbGxvd2VkKGJvb2wpOwotICAgIHZvaWQgdmlzdWFs
VXBkYXRlc1N1cHByZXNzaW9uVGltZXJGaXJlZChUaW1lcjxEb2N1bWVudD4qKTsKKyAgICB2b2lk
IHZpc3VhbFVwZGF0ZXNTdXBwcmVzc2lvblRpbWVyRmlyZWQoVGltZXI8RG9jdW1lbnQ+Jik7CiAK
ICAgICB2b2lkIGFkZExpc3RlbmVyVHlwZShMaXN0ZW5lclR5cGUgbGlzdGVuZXJUeXBlKSB7IG1f
bGlzdGVuZXJUeXBlcyB8PSBsaXN0ZW5lclR5cGU7IH0KIAotICAgIHZvaWQgZGlkQXNzb2NpYXRl
Rm9ybUNvbnRyb2xzVGltZXJGaXJlZChUaW1lcjxEb2N1bWVudD4qKTsKKyAgICB2b2lkIGRpZEFz
c29jaWF0ZUZvcm1Db250cm9sc1RpbWVyRmlyZWQoVGltZXI8RG9jdW1lbnQ+Jik7CiAKLSAgICB2
b2lkIHN0eWxlUmVzb2x2ZXJUaHJvd2F3YXlUaW1lckZpcmVkKERlZmVycmFibGVPbmVTaG90VGlt
ZXI8RG9jdW1lbnQ+Kik7CisgICAgdm9pZCBzdHlsZVJlc29sdmVyVGhyb3dhd2F5VGltZXJGaXJl
ZChEZWZlcnJhYmxlT25lU2hvdFRpbWVyPERvY3VtZW50PiYpOwogICAgIERlZmVycmFibGVPbmVT
aG90VGltZXI8RG9jdW1lbnQ+IG1fc3R5bGVSZXNvbHZlclRocm93YXdheVRpbWVyOwogCiAgICAg
T3duUHRyPFN0eWxlUmVzb2x2ZXI+IG1fc3R5bGVSZXNvbHZlcjsKQEAgLTE2MTcsNyArMTYxNyw3
IEBAIHByaXZhdGU6CiAgICAgUmVmUHRyPERPTVNlY3VyaXR5UG9saWN5PiBtX2RvbVNlY3VyaXR5
UG9saWN5OwogI2VuZGlmCiAKLSAgICB2b2lkIHNoYXJlZE9iamVjdFBvb2xDbGVhclRpbWVyRmly
ZWQoVGltZXI8RG9jdW1lbnQ+Kik7CisgICAgdm9pZCBzaGFyZWRPYmplY3RQb29sQ2xlYXJUaW1l
ckZpcmVkKFRpbWVyPERvY3VtZW50PiYpOwogICAgIFRpbWVyPERvY3VtZW50PiBtX3NoYXJlZE9i
amVjdFBvb2xDbGVhclRpbWVyOwogCiAgICAgT3duUHRyPERvY3VtZW50U2hhcmVkT2JqZWN0UG9v
bD4gbV9zaGFyZWRPYmplY3RQb29sOwpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvZG9tL0V2
ZW50U2VuZGVyLmggYi9Tb3VyY2UvV2ViQ29yZS9kb20vRXZlbnRTZW5kZXIuaAppbmRleCA4Mjky
NTBiNGQzYjIyMzZlYzlmODQzNDgzNTk3MmJjY2I1MGUwMTMzLi4yY2I1YWFmMThhODE0ZTFhNzFj
MmNiMTQ5MmM3NDJlYjU3MGY2NzM3IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9kb20vRXZl
bnRTZW5kZXIuaAorKysgYi9Tb3VyY2UvV2ViQ29yZS9kb20vRXZlbnRTZW5kZXIuaApAQCAtNDks
NyArNDksNyBAQCBwdWJsaWM6CiAjZW5kaWYKIAogcHJpdmF0ZToKLSAgICB2b2lkIHRpbWVyRmly
ZWQoVGltZXI8RXZlbnRTZW5kZXI8VD4+KikgeyBkaXNwYXRjaFBlbmRpbmdFdmVudHMoKTsgfQor
ICAgIHZvaWQgdGltZXJGaXJlZChUaW1lcjxFdmVudFNlbmRlcjxUPj4mKSB7IGRpc3BhdGNoUGVu
ZGluZ0V2ZW50cygpOyB9CiAKICAgICBBdG9taWNTdHJpbmcgbV9ldmVudFR5cGU7CiAgICAgVGlt
ZXI8RXZlbnRTZW5kZXI8VD4+IG1fdGltZXI7CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9k
b20vR2VuZXJpY0V2ZW50UXVldWUuY3BwIGIvU291cmNlL1dlYkNvcmUvZG9tL0dlbmVyaWNFdmVu
dFF1ZXVlLmNwcAppbmRleCA5MmQ3ZmE4NDlmNTU4NGMwNTIxODYyNmJmNjNkZDVmMzlhN2IxZjVh
Li5mMjc4ODU2NDIyY2VkMTIzODNmNzZhMTM5ZmE1Y2Y2MDA0NjYwZWEzIDEwMDY0NAotLS0gYS9T
b3VyY2UvV2ViQ29yZS9kb20vR2VuZXJpY0V2ZW50UXVldWUuY3BwCisrKyBiL1NvdXJjZS9XZWJD
b3JlL2RvbS9HZW5lcmljRXZlbnRRdWV1ZS5jcHAKQEAgLTU4LDcgKzU4LDcgQEAgYm9vbCBHZW5l
cmljRXZlbnRRdWV1ZTo6ZW5xdWV1ZUV2ZW50KFBhc3NSZWZQdHI8RXZlbnQ+IGV2ZW50KQogICAg
IHJldHVybiB0cnVlOwogfQogCi12b2lkIEdlbmVyaWNFdmVudFF1ZXVlOjp0aW1lckZpcmVkKFRp
bWVyPEdlbmVyaWNFdmVudFF1ZXVlPiopCit2b2lkIEdlbmVyaWNFdmVudFF1ZXVlOjp0aW1lckZp
cmVkKFRpbWVyPEdlbmVyaWNFdmVudFF1ZXVlPiYpCiB7CiAgICAgQVNTRVJUKCFtX3RpbWVyLmlz
QWN0aXZlKCkpOwogICAgIEFTU0VSVCghbV9wZW5kaW5nRXZlbnRzLmlzRW1wdHkoKSk7CmRpZmYg
LS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9kb20vR2VuZXJpY0V2ZW50UXVldWUuaCBiL1NvdXJjZS9X
ZWJDb3JlL2RvbS9HZW5lcmljRXZlbnRRdWV1ZS5oCmluZGV4IGFkNzZmMDIxMmViMGMzYzI2NGQ5
NzkwMGIzNDZkM2RmZGZiZmFiNGQuLmVhNjhhNWEzMmE5YTExZGQ4NDM5NWE1ZmVjYmE4YWFlODY4
YjVjMzcgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL2RvbS9HZW5lcmljRXZlbnRRdWV1ZS5o
CisrKyBiL1NvdXJjZS9XZWJDb3JlL2RvbS9HZW5lcmljRXZlbnRRdWV1ZS5oCkBAIC00OCw3ICs0
OCw3IEBAIHB1YmxpYzoKICAgICBib29sIGhhc1BlbmRpbmdFdmVudHMoKSBjb25zdDsKIAogcHJp
dmF0ZToKLSAgICB2b2lkIHRpbWVyRmlyZWQoVGltZXI8R2VuZXJpY0V2ZW50UXVldWU+Kik7Cisg
ICAgdm9pZCB0aW1lckZpcmVkKFRpbWVyPEdlbmVyaWNFdmVudFF1ZXVlPiYpOwogCiAgICAgRXZl
bnRUYXJnZXQmIG1fb3duZXI7CiAgICAgVmVjdG9yPFJlZlB0cjxFdmVudD4+IG1fcGVuZGluZ0V2
ZW50czsKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL2RvbS9TY3JpcHRSdW5uZXIuY3BwIGIv
U291cmNlL1dlYkNvcmUvZG9tL1NjcmlwdFJ1bm5lci5jcHAKaW5kZXggNjdmNmY3NzU4Yzg5ODgx
ZGZiNDZiOTk4ZDhkMDM1MzMyZDJlOWVhYS4uZjQ4OTEzZDBiNTAwM2EzNzk4OTNlN2RkZGY5ODcy
OWNiMzI3ZjhhZCAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvZG9tL1NjcmlwdFJ1bm5lci5j
cHAKKysrIGIvU291cmNlL1dlYkNvcmUvZG9tL1NjcmlwdFJ1bm5lci5jcHAKQEAgLTk3LDkgKzk3
LDkgQEAgdm9pZCBTY3JpcHRSdW5uZXI6Om5vdGlmeVNjcmlwdFJlYWR5KFNjcmlwdEVsZW1lbnQq
IHNjcmlwdEVsZW1lbnQsIEV4ZWN1dGlvblR5cGUKICAgICBtX3RpbWVyLnN0YXJ0T25lU2hvdCgw
KTsKIH0KIAotdm9pZCBTY3JpcHRSdW5uZXI6OnRpbWVyRmlyZWQoVGltZXI8U2NyaXB0UnVubmVy
PiogdGltZXIpCit2b2lkIFNjcmlwdFJ1bm5lcjo6dGltZXJGaXJlZChUaW1lcjxTY3JpcHRSdW5u
ZXI+JiB0aW1lcikKIHsKLSAgICBBU1NFUlRfVU5VU0VEKHRpbWVyLCB0aW1lciA9PSAmbV90aW1l
cik7CisgICAgQVNTRVJUX1VOVVNFRCh0aW1lciwgJnRpbWVyID09ICZtX3RpbWVyKTsKIAogICAg
IFJlZjxEb2N1bWVudD4gcHJvdGVjdChtX2RvY3VtZW50KTsKIApkaWZmIC0tZ2l0IGEvU291cmNl
L1dlYkNvcmUvZG9tL1NjcmlwdFJ1bm5lci5oIGIvU291cmNlL1dlYkNvcmUvZG9tL1NjcmlwdFJ1
bm5lci5oCmluZGV4IGMyNmQxOGE4OGI4YzhhNTAwN2VmOWQ1ZjA2ODI5ZDBiNmNhYWVmMGMuLmYy
M2U2ZGEwZmI2YjYwZTc5ZjM1ZjRjNTgwOWJiOWQ0MzBjYTYxNzEgMTAwNjQ0Ci0tLSBhL1NvdXJj
ZS9XZWJDb3JlL2RvbS9TY3JpcHRSdW5uZXIuaAorKysgYi9Tb3VyY2UvV2ViQ29yZS9kb20vU2Ny
aXB0UnVubmVyLmgKQEAgLTU1LDcgKzU1LDcgQEAgcHVibGljOgogICAgIHZvaWQgbm90aWZ5U2Ny
aXB0UmVhZHkoU2NyaXB0RWxlbWVudCosIEV4ZWN1dGlvblR5cGUpOwogCiBwcml2YXRlOgotICAg
IHZvaWQgdGltZXJGaXJlZChUaW1lcjxTY3JpcHRSdW5uZXI+Kik7CisgICAgdm9pZCB0aW1lckZp
cmVkKFRpbWVyPFNjcmlwdFJ1bm5lcj4mKTsKIAogICAgIERvY3VtZW50JiBtX2RvY3VtZW50Owog
ICAgIFZlY3RvcjxQZW5kaW5nU2NyaXB0PiBtX3NjcmlwdHNUb0V4ZWN1dGVJbk9yZGVyOwpkaWZm
IC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvZG9tL1NjcmlwdGVkQW5pbWF0aW9uQ29udHJvbGxlci5j
cHAgYi9Tb3VyY2UvV2ViQ29yZS9kb20vU2NyaXB0ZWRBbmltYXRpb25Db250cm9sbGVyLmNwcApp
bmRleCA2NWI5NWNiZTMzYzAzMTk5MTdiMzUyMjc4ODI1YTIwYmUxNWM0OTc2Li5jYTU4MmFkZGRj
NGIzMzVhNjg0OTc1MjQ5MWI0ZGI3ZTRjOWJmZjJjIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29y
ZS9kb20vU2NyaXB0ZWRBbmltYXRpb25Db250cm9sbGVyLmNwcAorKysgYi9Tb3VyY2UvV2ViQ29y
ZS9kb20vU2NyaXB0ZWRBbmltYXRpb25Db250cm9sbGVyLmNwcApAQCAtMjA5LDcgKzIwOSw3IEBA
IHZvaWQgU2NyaXB0ZWRBbmltYXRpb25Db250cm9sbGVyOjpzY2hlZHVsZUFuaW1hdGlvbigpCiB9
CiAKICNpZiBVU0UoUkVRVUVTVF9BTklNQVRJT05fRlJBTUVfVElNRVIpCi12b2lkIFNjcmlwdGVk
QW5pbWF0aW9uQ29udHJvbGxlcjo6YW5pbWF0aW9uVGltZXJGaXJlZChUaW1lcjxTY3JpcHRlZEFu
aW1hdGlvbkNvbnRyb2xsZXI+KikKK3ZvaWQgU2NyaXB0ZWRBbmltYXRpb25Db250cm9sbGVyOjph
bmltYXRpb25UaW1lckZpcmVkKFRpbWVyPFNjcmlwdGVkQW5pbWF0aW9uQ29udHJvbGxlcj4mKQog
ewogICAgIG1fbGFzdEFuaW1hdGlvbkZyYW1lVGltZU1vbm90b25pYyA9IG1vbm90b25pY2FsbHlJ
bmNyZWFzaW5nVGltZSgpOwogICAgIHNlcnZpY2VTY3JpcHRlZEFuaW1hdGlvbnMobV9sYXN0QW5p
bWF0aW9uRnJhbWVUaW1lTW9ub3RvbmljKTsKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL2Rv
bS9TY3JpcHRlZEFuaW1hdGlvbkNvbnRyb2xsZXIuaCBiL1NvdXJjZS9XZWJDb3JlL2RvbS9TY3Jp
cHRlZEFuaW1hdGlvbkNvbnRyb2xsZXIuaAppbmRleCBjMmUzZDcyYmY2ZDk1NDIxMDVhOWI5Njcy
MTZjYzFkMjUzMDEzN2MxLi42ZjVhYzc3MjcyMWFjYTQxMTIwNDZiZjk1ZDA4NTA5MzdiNTA1OWY4
IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9kb20vU2NyaXB0ZWRBbmltYXRpb25Db250cm9s
bGVyLmgKKysrIGIvU291cmNlL1dlYkNvcmUvZG9tL1NjcmlwdGVkQW5pbWF0aW9uQ29udHJvbGxl
ci5oCkBAIC04Miw3ICs4Miw3IEBAIHByaXZhdGU6CiAgICAgdm9pZCBzY2hlZHVsZUFuaW1hdGlv
bigpOwogCiAjaWYgVVNFKFJFUVVFU1RfQU5JTUFUSU9OX0ZSQU1FX1RJTUVSKQotICAgIHZvaWQg
YW5pbWF0aW9uVGltZXJGaXJlZChUaW1lcjxTY3JpcHRlZEFuaW1hdGlvbkNvbnRyb2xsZXI+Kik7
CisgICAgdm9pZCBhbmltYXRpb25UaW1lckZpcmVkKFRpbWVyPFNjcmlwdGVkQW5pbWF0aW9uQ29u
dHJvbGxlcj4mKTsKICAgICBUaW1lcjxTY3JpcHRlZEFuaW1hdGlvbkNvbnRyb2xsZXI+IG1fYW5p
bWF0aW9uVGltZXI7CiAgICAgZG91YmxlIG1fbGFzdEFuaW1hdGlvbkZyYW1lVGltZU1vbm90b25p
YzsKIApkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvZWRpdGluZy9BbHRlcm5hdGl2ZVRleHRD
b250cm9sbGVyLmNwcCBiL1NvdXJjZS9XZWJDb3JlL2VkaXRpbmcvQWx0ZXJuYXRpdmVUZXh0Q29u
dHJvbGxlci5jcHAKaW5kZXggMzdmYTc3OTZjM2I2MDIxM2ZkZDRiNmVlMGI1YWZhZTRiODI5NGRm
NS4uOWFlMDZlYTFmYTcwZDZmZWY5MjA1YmJlM2VlMjA4YzhjNDMxNmVhNiAxMDA2NDQKLS0tIGEv
U291cmNlL1dlYkNvcmUvZWRpdGluZy9BbHRlcm5hdGl2ZVRleHRDb250cm9sbGVyLmNwcAorKysg
Yi9Tb3VyY2UvV2ViQ29yZS9lZGl0aW5nL0FsdGVybmF0aXZlVGV4dENvbnRyb2xsZXIuY3BwCkBA
IC0zMjMsNyArMzIzLDcgQEAgdm9pZCBBbHRlcm5hdGl2ZVRleHRDb250cm9sbGVyOjpyZXNwb25k
VG9VbmFwcGxpZWRTcGVsbENvcnJlY3Rpb24oY29uc3QgVmlzaWJsZVMKICAgICBtYXJrZXJzLmFk
ZE1hcmtlcihyYW5nZS5nZXQoKSwgRG9jdW1lbnRNYXJrZXI6OlNwZWxsQ2hlY2tpbmdFeGVtcHRp
b24pOwogfQogCi12b2lkIEFsdGVybmF0aXZlVGV4dENvbnRyb2xsZXI6OnRpbWVyRmlyZWQoVGlt
ZXI8QWx0ZXJuYXRpdmVUZXh0Q29udHJvbGxlcj4qKQordm9pZCBBbHRlcm5hdGl2ZVRleHRDb250
cm9sbGVyOjp0aW1lckZpcmVkKFRpbWVyPEFsdGVybmF0aXZlVGV4dENvbnRyb2xsZXI+JikKIHsK
ICAgICBtX2lzRGlzbWlzc2VkQnlFZGl0aW5nID0gZmFsc2U7CiAgICAgc3dpdGNoIChtX2FsdGVy
bmF0aXZlVGV4dEluZm8udHlwZSkgewpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvZWRpdGlu
Zy9BbHRlcm5hdGl2ZVRleHRDb250cm9sbGVyLmggYi9Tb3VyY2UvV2ViQ29yZS9lZGl0aW5nL0Fs
dGVybmF0aXZlVGV4dENvbnRyb2xsZXIuaAppbmRleCA4YmU3OGMwZmVkNzllNTFmZjdlNzA3ZjE4
NjQxYTgzNGZjMWRlYWU5Li5jODQzZjYwM2RmNzUzMTY5NjQ0ZGNkZTJmOGU1YTYzY2RkZDNiODMz
IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9lZGl0aW5nL0FsdGVybmF0aXZlVGV4dENvbnRy
b2xsZXIuaAorKysgYi9Tb3VyY2UvV2ViQ29yZS9lZGl0aW5nL0FsdGVybmF0aXZlVGV4dENvbnRy
b2xsZXIuaApAQCAtMTM4LDcgKzEzOCw3IEBAIHByaXZhdGU6CiAjaWYgVVNFKEFVVE9DT1JSRUNU
SU9OX1BBTkVMKQogICAgIFN0cmluZyBkaXNtaXNzU29vbihSZWFzb25Gb3JEaXNtaXNzaW5nQWx0
ZXJuYXRpdmVUZXh0KTsKICAgICB2b2lkIGFwcGx5QWx0ZXJuYXRpdmVUZXh0VG9SYW5nZShjb25z
dCBSYW5nZSosIGNvbnN0IFN0cmluZyYgYWx0ZXJuYXRpdmUsIEFsdGVybmF0aXZlVGV4dFR5cGUs
IGNvbnN0IFZlY3RvcjxEb2N1bWVudE1hcmtlcjo6TWFya2VyVHlwZT4mKTsKLSAgICB2b2lkIHRp
bWVyRmlyZWQoVGltZXI8QWx0ZXJuYXRpdmVUZXh0Q29udHJvbGxlcj4qKTsKKyAgICB2b2lkIHRp
bWVyRmlyZWQoVGltZXI8QWx0ZXJuYXRpdmVUZXh0Q29udHJvbGxlcj4mKTsKICAgICB2b2lkIHJl
Y29yZEF1dG9jb3JyZWN0aW9uUmVzcG9uc2VSZXZlcnNlZChjb25zdCBTdHJpbmcmIHJlcGxhY2Vk
U3RyaW5nLCBjb25zdCBTdHJpbmcmIHJlcGxhY2VtZW50U3RyaW5nKTsKICAgICB2b2lkIHJlY29y
ZFNwZWxsY2hlY2tlclJlc3BvbnNlRm9yTW9kaWZpZWRDb3JyZWN0aW9uKFJhbmdlKiByYW5nZU9m
Q29ycmVjdGlvbiwgY29uc3QgU3RyaW5nJiBjb3JyZWN0ZWQsIGNvbnN0IFN0cmluZyYgY29ycmVj
dGlvbik7CiAgICAgU3RyaW5nIG1hcmtlckRlc2NyaXB0aW9uRm9yQXBwbGllZEFsdGVybmF0aXZl
VGV4dChBbHRlcm5hdGl2ZVRleHRUeXBlLCBEb2N1bWVudE1hcmtlcjo6TWFya2VyVHlwZSk7CmRp
ZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9lZGl0aW5nL0ZyYW1lU2VsZWN0aW9uLmNwcCBiL1Nv
dXJjZS9XZWJDb3JlL2VkaXRpbmcvRnJhbWVTZWxlY3Rpb24uY3BwCmluZGV4IGQ2NjlkZWM0Yjgz
N2M0Zjc3MWNmMTA0YWE4MmU3ZmFkMGIwN2JhYTMuLmQ1OWU3ZTk1MmM2NWIxMTljZTgwMzZjZWE1
NDg0YmI1NmI4NzI3NTYgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL2VkaXRpbmcvRnJhbWVT
ZWxlY3Rpb24uY3BwCisrKyBiL1NvdXJjZS9XZWJDb3JlL2VkaXRpbmcvRnJhbWVTZWxlY3Rpb24u
Y3BwCkBAIC0xOTAxLDcgKzE5MDEsNyBAQCB2b2lkIEZyYW1lU2VsZWN0aW9uOjpzZXRDYXJldFZp
c2liaWxpdHkoQ2FyZXRWaXNpYmlsaXR5IHZpc2liaWxpdHkpCiAgICAgdXBkYXRlQXBwZWFyYW5j
ZSgpOwogfQogCi12b2lkIEZyYW1lU2VsZWN0aW9uOjpjYXJldEJsaW5rVGltZXJGaXJlZChUaW1l
cjxGcmFtZVNlbGVjdGlvbj4qKQordm9pZCBGcmFtZVNlbGVjdGlvbjo6Y2FyZXRCbGlua1RpbWVy
RmlyZWQoVGltZXI8RnJhbWVTZWxlY3Rpb24+JikKIHsKICNpZiBFTkFCTEUoVEVYVF9DQVJFVCkK
ICAgICBBU1NFUlQoY2FyZXRJc1Zpc2libGUoKSk7CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29y
ZS9lZGl0aW5nL0ZyYW1lU2VsZWN0aW9uLmggYi9Tb3VyY2UvV2ViQ29yZS9lZGl0aW5nL0ZyYW1l
U2VsZWN0aW9uLmgKaW5kZXggZWE3ZDkwMmQ3MTVjOTNiZWFkMDM5Nzk5NTM1MzQ3NmM3NTczNDdh
NS4uNWEyM2RlZWMxYTllMmNiNGViMGYzNDUwNWU2NjQ3ZTg0OWIzYzA4OSAxMDA2NDQKLS0tIGEv
U291cmNlL1dlYkNvcmUvZWRpdGluZy9GcmFtZVNlbGVjdGlvbi5oCisrKyBiL1NvdXJjZS9XZWJD
b3JlL2VkaXRpbmcvRnJhbWVTZWxlY3Rpb24uaApAQCAtMzI0LDcgKzMyNCw3IEBAIHByaXZhdGU6
CiAgICAgdm9pZCBzZXRGb2N1c2VkRWxlbWVudElmTmVlZGVkKCk7CiAgICAgdm9pZCBmb2N1c2Vk
T3JBY3RpdmVTdGF0ZUNoYW5nZWQoKTsKIAotICAgIHZvaWQgY2FyZXRCbGlua1RpbWVyRmlyZWQo
VGltZXI8RnJhbWVTZWxlY3Rpb24+Kik7CisgICAgdm9pZCBjYXJldEJsaW5rVGltZXJGaXJlZChU
aW1lcjxGcmFtZVNlbGVjdGlvbj4mKTsKIAogICAgIHZvaWQgc2V0Q2FyZXRWaXNpYmlsaXR5KENh
cmV0VmlzaWJpbGl0eSk7CiAKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL2h0bWwvSFRNTE1l
ZGlhRWxlbWVudC5jcHAgYi9Tb3VyY2UvV2ViQ29yZS9odG1sL0hUTUxNZWRpYUVsZW1lbnQuY3Bw
CmluZGV4IDE3NGViNmY2ZTVkZjkxYzI2YjIxODhiZDMwOTJiYjcxOGZhNjdkMzguLjEwYmM5NTI3
YzVmNTVkNTYyNTNjMzFkN2RmNDJhNzk1Y2RiYzAxMDIgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJD
b3JlL2h0bWwvSFRNTE1lZGlhRWxlbWVudC5jcHAKKysrIGIvU291cmNlL1dlYkNvcmUvaHRtbC9I
VE1MTWVkaWFFbGVtZW50LmNwcApAQCAtODAwLDcgKzgwMCw3IEBAIHZvaWQgSFRNTE1lZGlhRWxl
bWVudDo6c2NoZWR1bGVFdmVudChjb25zdCBBdG9taWNTdHJpbmcmIGV2ZW50TmFtZSkKICAgICBt
X2FzeW5jRXZlbnRRdWV1ZS5lbnF1ZXVlRXZlbnQoZXZlbnQucmVsZWFzZSgpKTsKIH0KIAotdm9p
ZCBIVE1MTWVkaWFFbGVtZW50Ojpsb2FkVGltZXJGaXJlZChUaW1lcjxIVE1MTWVkaWFFbGVtZW50
PiopCit2b2lkIEhUTUxNZWRpYUVsZW1lbnQ6OmxvYWRUaW1lckZpcmVkKFRpbWVyPEhUTUxNZWRp
YUVsZW1lbnQ+JikKIHsKICAgICBSZWY8SFRNTE1lZGlhRWxlbWVudD4gcHJvdGVjdCgqdGhpcyk7
IC8vIGxvYWROZXh0U291cmNlQ2hpbGQgbWF5IGZpcmUgJ2JlZm9yZWxvYWQnLCB3aGljaCBjYW4g
bWFrZSBhcmJpdHJhcnkgRE9NIG11dGF0aW9ucy4KIApAQCAtMjE5NSw3ICsyMTk1LDcgQEAgdm9p
ZCBIVE1MTWVkaWFFbGVtZW50OjpzZXRNZWRpYUtleXMoTWVkaWFLZXlzKiBtZWRpYUtleXMpCiB9
CiAjZW5kaWYKIAotdm9pZCBIVE1MTWVkaWFFbGVtZW50Ojpwcm9ncmVzc0V2ZW50VGltZXJGaXJl
ZChUaW1lcjxIVE1MTWVkaWFFbGVtZW50PiopCit2b2lkIEhUTUxNZWRpYUVsZW1lbnQ6OnByb2dy
ZXNzRXZlbnRUaW1lckZpcmVkKFRpbWVyPEhUTUxNZWRpYUVsZW1lbnQ+JikKIHsKICAgICBBU1NF
UlQobV9wbGF5ZXIpOwogICAgIGlmIChtX25ldHdvcmtTdGF0ZSAhPSBORVRXT1JLX0xPQURJTkcp
CkBAIC0yOTczLDcgKzI5NzMsNyBAQCB2b2lkIEhUTUxNZWRpYUVsZW1lbnQ6OnN0YXJ0UGxheWJh
Y2tQcm9ncmVzc1RpbWVyKCkKICAgICBtX3BsYXliYWNrUHJvZ3Jlc3NUaW1lci5zdGFydFJlcGVh
dGluZyhtYXhUaW1ldXBkYXRlRXZlbnRGcmVxdWVuY3kpOwogfQogCi12b2lkIEhUTUxNZWRpYUVs
ZW1lbnQ6OnBsYXliYWNrUHJvZ3Jlc3NUaW1lckZpcmVkKFRpbWVyPEhUTUxNZWRpYUVsZW1lbnQ+
KikKK3ZvaWQgSFRNTE1lZGlhRWxlbWVudDo6cGxheWJhY2tQcm9ncmVzc1RpbWVyRmlyZWQoVGlt
ZXI8SFRNTE1lZGlhRWxlbWVudD4mKQogewogICAgIEFTU0VSVChtX3BsYXllcik7CiAKZGlmZiAt
LWdpdCBhL1NvdXJjZS9XZWJDb3JlL2h0bWwvSFRNTE1lZGlhRWxlbWVudC5oIGIvU291cmNlL1dl
YkNvcmUvaHRtbC9IVE1MTWVkaWFFbGVtZW50LmgKaW5kZXggNjQyYmU4NDQ0M2U2MzZmMzBhMjZi
MTVhZjY4MzQwNGQzMDYxODRjZi4uMzliMmI5YjNkZmM1ZWQ3MmQ2Mzk5OThmODA4NmU2MTU4ZGIx
MTA4ZSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvaHRtbC9IVE1MTWVkaWFFbGVtZW50LmgK
KysrIGIvU291cmNlL1dlYkNvcmUvaHRtbC9IVE1MTWVkaWFFbGVtZW50LmgKQEAgLTU4Myw5ICs1
ODMsOSBAQCBwcml2YXRlOgogCiAgICAgdmlydHVhbCBib29sIG1lZGlhUGxheWVyU2hvdWxkV2Fp
dEZvclJlc3BvbnNlVG9BdXRoZW50aWNhdGlvbkNoYWxsZW5nZShjb25zdCBBdXRoZW50aWNhdGlv
bkNoYWxsZW5nZSYpIE9WRVJSSURFOwogCi0gICAgdm9pZCBsb2FkVGltZXJGaXJlZChUaW1lcjxI
VE1MTWVkaWFFbGVtZW50PiopOwotICAgIHZvaWQgcHJvZ3Jlc3NFdmVudFRpbWVyRmlyZWQoVGlt
ZXI8SFRNTE1lZGlhRWxlbWVudD4qKTsKLSAgICB2b2lkIHBsYXliYWNrUHJvZ3Jlc3NUaW1lckZp
cmVkKFRpbWVyPEhUTUxNZWRpYUVsZW1lbnQ+Kik7CisgICAgdm9pZCBsb2FkVGltZXJGaXJlZChU
aW1lcjxIVE1MTWVkaWFFbGVtZW50PiYpOworICAgIHZvaWQgcHJvZ3Jlc3NFdmVudFRpbWVyRmly
ZWQoVGltZXI8SFRNTE1lZGlhRWxlbWVudD4mKTsKKyAgICB2b2lkIHBsYXliYWNrUHJvZ3Jlc3NU
aW1lckZpcmVkKFRpbWVyPEhUTUxNZWRpYUVsZW1lbnQ+Jik7CiAgICAgdm9pZCBzdGFydFBsYXli
YWNrUHJvZ3Jlc3NUaW1lcigpOwogICAgIHZvaWQgc3RhcnRQcm9ncmVzc0V2ZW50VGltZXIoKTsK
ICAgICB2b2lkIHN0b3BQZXJpb2RpY1RpbWVycygpOwpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNv
cmUvaHRtbC9IVE1MUGx1Z0luRWxlbWVudC5jcHAgYi9Tb3VyY2UvV2ViQ29yZS9odG1sL0hUTUxQ
bHVnSW5FbGVtZW50LmNwcAppbmRleCA1NzdkNGY1OTNlMGZmMzY5ZTVjMzIzYWExZmJkYTA1M2Qy
OWE4NzA2Li45MzY0M2M3YTZkZTI1ZjQ0YmM1OGQzY2RjZDVkZmI2NmVlODVkNTY0IDEwMDY0NAot
LS0gYS9Tb3VyY2UvV2ViQ29yZS9odG1sL0hUTUxQbHVnSW5FbGVtZW50LmNwcAorKysgYi9Tb3Vy
Y2UvV2ViQ29yZS9odG1sL0hUTUxQbHVnSW5FbGVtZW50LmNwcApAQCAtMjgyLDcgKzI4Miw3IEBA
IFJlbmRlclB0cjxSZW5kZXJFbGVtZW50PiBIVE1MUGx1Z0luRWxlbWVudDo6Y3JlYXRlRWxlbWVu
dFJlbmRlcmVyKFBhc3NSZWY8UmVuZGVyCiAgICAgcmV0dXJuIGNyZWF0ZVJlbmRlcmVyPFJlbmRl
ckVtYmVkZGVkT2JqZWN0PigqdGhpcywgc3RkOjptb3ZlKHN0eWxlKSk7CiB9CiAKLXZvaWQgSFRN
TFBsdWdJbkVsZW1lbnQ6OnN3YXBSZW5kZXJlclRpbWVyRmlyZWQoVGltZXI8SFRNTFBsdWdJbkVs
ZW1lbnQ+KikKK3ZvaWQgSFRNTFBsdWdJbkVsZW1lbnQ6OnN3YXBSZW5kZXJlclRpbWVyRmlyZWQo
VGltZXI8SFRNTFBsdWdJbkVsZW1lbnQ+JikKIHsKICAgICBBU1NFUlQoZGlzcGxheVN0YXRlKCkg
PT0gUHJlcGFyaW5nUGx1Z2luUmVwbGFjZW1lbnQgfHwgZGlzcGxheVN0YXRlKCkgPT0gRGlzcGxh
eWluZ1NuYXBzaG90KTsKICAgICBpZiAodXNlckFnZW50U2hhZG93Um9vdCgpKQpkaWZmIC0tZ2l0
IGEvU291cmNlL1dlYkNvcmUvaHRtbC9IVE1MUGx1Z0luRWxlbWVudC5oIGIvU291cmNlL1dlYkNv
cmUvaHRtbC9IVE1MUGx1Z0luRWxlbWVudC5oCmluZGV4IDEwZDYzN2FkNjRlNTc2ZjQ0NWJkMjI5
YzBkZDYwMzY4MjVjMTkxMjMuLmFmODM5ODM3OWM4ODQ4ZTMxYzZlZWNmMDJmZjExZmJmOWMxZmQ0
NjAgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL2h0bWwvSFRNTFBsdWdJbkVsZW1lbnQuaAor
KysgYi9Tb3VyY2UvV2ViQ29yZS9odG1sL0hUTUxQbHVnSW5FbGVtZW50LmgKQEAgLTEwOSw3ICsx
MDksNyBAQCBwcm90ZWN0ZWQ6CiAgICAgYm9vbCBtX2luQmVmb3JlTG9hZEV2ZW50SGFuZGxlcjsK
IAogcHJpdmF0ZToKLSAgICB2b2lkIHN3YXBSZW5kZXJlclRpbWVyRmlyZWQoVGltZXI8SFRNTFBs
dWdJbkVsZW1lbnQ+Kik7CisgICAgdm9pZCBzd2FwUmVuZGVyZXJUaW1lckZpcmVkKFRpbWVyPEhU
TUxQbHVnSW5FbGVtZW50PiYpOwogICAgIGJvb2wgc2hvdWxkT3ZlcnJpZGVQbHVnaW4oY29uc3Qg
U3RyaW5nJiB1cmwsIGNvbnN0IFN0cmluZyYgbWltZVR5cGUpOwogCiAgICAgYm9vbCBkaXNwYXRj
aEJlZm9yZUxvYWRFdmVudChjb25zdCBTdHJpbmcmIHNvdXJjZVVSTCk7IC8vIE5vdCBpbXBsZW1l
bnRlZCwgZ2VuZXJhdGVzIGEgY29tcGlsZSBlcnJvciBpZiBzdWJjbGFzc2VzIGNhbGwgdGhpcyBi
eSBtaXN0YWtlLgpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvaHRtbC9IVE1MUGx1Z0luSW1h
Z2VFbGVtZW50LmNwcCBiL1NvdXJjZS9XZWJDb3JlL2h0bWwvSFRNTFBsdWdJbkltYWdlRWxlbWVu
dC5jcHAKaW5kZXggZTZkYmM1ZjY2YzM0ZmM4NzQyZTU4YjJjZmU1NDY4Mzk1NzA1M2YzZi4uNTgw
ODEwYWU4ZTE2M2QzNTFjZjI3NDZjODM0NDdjMTQ4MWIzYzFlMiAxMDA2NDQKLS0tIGEvU291cmNl
L1dlYkNvcmUvaHRtbC9IVE1MUGx1Z0luSW1hZ2VFbGVtZW50LmNwcAorKysgYi9Tb3VyY2UvV2Vi
Q29yZS9odG1sL0hUTUxQbHVnSW5JbWFnZUVsZW1lbnQuY3BwCkBAIC00NTYsNyArNDU2LDcgQEAg
dm9pZCBIVE1MUGx1Z0luSW1hZ2VFbGVtZW50OjpjcmVhdGVTaGFkb3dJRnJhbWVTdWJ0cmVlKGNv
bnN0IFN0cmluZyYgc3JjKQogfQogI2VuZGlmCiAKLXZvaWQgSFRNTFBsdWdJbkltYWdlRWxlbWVu
dDo6cmVtb3ZlU25hcHNob3RUaW1lckZpcmVkKFRpbWVyPEhUTUxQbHVnSW5JbWFnZUVsZW1lbnQ+
KikKK3ZvaWQgSFRNTFBsdWdJbkltYWdlRWxlbWVudDo6cmVtb3ZlU25hcHNob3RUaW1lckZpcmVk
KFRpbWVyPEhUTUxQbHVnSW5JbWFnZUVsZW1lbnQ+JikKIHsKICAgICBtX3NuYXBzaG90SW1hZ2Ug
PSBudWxscHRyOwogICAgIG1faXNSZXN0YXJ0ZWRQbHVnaW4gPSBmYWxzZTsKQEAgLTU2OCw3ICs1
NjgsNyBAQCB2b2lkIEhUTUxQbHVnSW5JbWFnZUVsZW1lbnQ6OmRpc3BhdGNoUGVuZGluZ01vdXNl
Q2xpY2soKQogICAgIG1fc2ltdWxhdGVkTW91c2VDbGlja1RpbWVyLnJlc3RhcnQoKTsKIH0KIAot
dm9pZCBIVE1MUGx1Z0luSW1hZ2VFbGVtZW50OjpzaW11bGF0ZWRNb3VzZUNsaWNrVGltZXJGaXJl
ZChEZWZlcnJhYmxlT25lU2hvdFRpbWVyPEhUTUxQbHVnSW5JbWFnZUVsZW1lbnQ+KikKK3ZvaWQg
SFRNTFBsdWdJbkltYWdlRWxlbWVudDo6c2ltdWxhdGVkTW91c2VDbGlja1RpbWVyRmlyZWQoRGVm
ZXJyYWJsZU9uZVNob3RUaW1lcjxIVE1MUGx1Z0luSW1hZ2VFbGVtZW50PiYpCiB7CiAgICAgQVNT
RVJUKGRpc3BsYXlTdGF0ZSgpID09IFJlc3RhcnRpbmdXaXRoUGVuZGluZ01vdXNlQ2xpY2spOwog
ICAgIEFTU0VSVChtX3BlbmRpbmdDbGlja0V2ZW50RnJvbVNuYXBzaG90KTsKZGlmZiAtLWdpdCBh
L1NvdXJjZS9XZWJDb3JlL2h0bWwvSFRNTFBsdWdJbkltYWdlRWxlbWVudC5oIGIvU291cmNlL1dl
YkNvcmUvaHRtbC9IVE1MUGx1Z0luSW1hZ2VFbGVtZW50LmgKaW5kZXggZDQ0YTA3YzRlOTM2ZDNj
MjQ0ODIyZjcyOTJmM2ZiYjc2YzY4ZDUxYi4uMjVkMjA2NmVkNzcxMTAyOTVmNGU0ZGE1YzZmMWYw
NzUwMzAxZjViYyAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvaHRtbC9IVE1MUGx1Z0luSW1h
Z2VFbGVtZW50LmgKKysrIGIvU291cmNlL1dlYkNvcmUvaHRtbC9IVE1MUGx1Z0luSW1hZ2VFbGVt
ZW50LmgKQEAgLTE0MywxMyArMTQzLDEzIEBAIHByaXZhdGU6CiAKICAgICB2aXJ0dWFsIHZvaWQg
dXBkYXRlU25hcHNob3QoUGFzc1JlZlB0cjxJbWFnZT4pIE9WRVJSSURFOwogICAgIHZpcnR1YWwg
dm9pZCBkaXNwYXRjaFBlbmRpbmdNb3VzZUNsaWNrKCkgT1ZFUlJJREU7Ci0gICAgdm9pZCBzaW11
bGF0ZWRNb3VzZUNsaWNrVGltZXJGaXJlZChEZWZlcnJhYmxlT25lU2hvdFRpbWVyPEhUTUxQbHVn
SW5JbWFnZUVsZW1lbnQ+Kik7CisgICAgdm9pZCBzaW11bGF0ZWRNb3VzZUNsaWNrVGltZXJGaXJl
ZChEZWZlcnJhYmxlT25lU2hvdFRpbWVyPEhUTUxQbHVnSW5JbWFnZUVsZW1lbnQ+Jik7CiAKICAg
ICB2b2lkIHJlc3RhcnRTaW1pbGFyUGx1Z0lucygpOwogCiAgICAgdmlydHVhbCBib29sIGlzUGx1
Z0luSW1hZ2VFbGVtZW50KCkgY29uc3QgT1ZFUlJJREUgeyByZXR1cm4gdHJ1ZTsgfQogCi0gICAg
dm9pZCByZW1vdmVTbmFwc2hvdFRpbWVyRmlyZWQoVGltZXI8SFRNTFBsdWdJbkltYWdlRWxlbWVu
dD4qKTsKKyAgICB2b2lkIHJlbW92ZVNuYXBzaG90VGltZXJGaXJlZChUaW1lcjxIVE1MUGx1Z0lu
SW1hZ2VFbGVtZW50PiYpOwogCiAgICAgdmlydHVhbCB2b2lkIGRlZmF1bHRFdmVudEhhbmRsZXIo
RXZlbnQqKSBPVkVSUklERTsKIApkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvaHRtbC9IVE1M
U291cmNlRWxlbWVudC5jcHAgYi9Tb3VyY2UvV2ViQ29yZS9odG1sL0hUTUxTb3VyY2VFbGVtZW50
LmNwcAppbmRleCBmYTBkMjRkNjAyMmE4ZGMyMjhjMDdkYWNhODg3MzYzY2UzZDNiY2ZmLi40ZTBi
NGRhZTZiNDJmNmMyY2YwY2MxZmYwNzMwZDE3YmU3MTE0OGFkIDEwMDY0NAotLS0gYS9Tb3VyY2Uv
V2ViQ29yZS9odG1sL0hUTUxTb3VyY2VFbGVtZW50LmNwcAorKysgYi9Tb3VyY2UvV2ViQ29yZS9o
dG1sL0hUTUxTb3VyY2VFbGVtZW50LmNwcApAQCAtMTEwLDcgKzExMCw3IEBAIHZvaWQgSFRNTFNv
dXJjZUVsZW1lbnQ6OmNhbmNlbFBlbmRpbmdFcnJvckV2ZW50KCkKICAgICBtX2Vycm9yRXZlbnRU
aW1lci5zdG9wKCk7CiB9CiAKLXZvaWQgSFRNTFNvdXJjZUVsZW1lbnQ6OmVycm9yRXZlbnRUaW1l
ckZpcmVkKFRpbWVyPEhUTUxTb3VyY2VFbGVtZW50PiopCit2b2lkIEhUTUxTb3VyY2VFbGVtZW50
OjplcnJvckV2ZW50VGltZXJGaXJlZChUaW1lcjxIVE1MU291cmNlRWxlbWVudD4mKQogewogICAg
IExPRyhNZWRpYSwgIkhUTUxTb3VyY2VFbGVtZW50OjplcnJvckV2ZW50VGltZXJGaXJlZCAtICVw
IiwgdGhpcyk7CiAgICAgZGlzcGF0Y2hFdmVudChFdmVudDo6Y3JlYXRlKGV2ZW50TmFtZXMoKS5l
cnJvckV2ZW50LCBmYWxzZSwgdHJ1ZSkpOwpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvaHRt
bC9IVE1MU291cmNlRWxlbWVudC5oIGIvU291cmNlL1dlYkNvcmUvaHRtbC9IVE1MU291cmNlRWxl
bWVudC5oCmluZGV4IGFlOWVhZTJjNTI2YTljYTRhYWEyNjhiYTZkNjQwYWZhN2M1MDcyODcuLmE2
NWEwYmY3MjJjZDk3MzQ1N2FlYTgyOGI3YTdmNmFlZDQ4MTZmMzAgMTAwNjQ0Ci0tLSBhL1NvdXJj
ZS9XZWJDb3JlL2h0bWwvSFRNTFNvdXJjZUVsZW1lbnQuaAorKysgYi9Tb3VyY2UvV2ViQ29yZS9o
dG1sL0hUTUxTb3VyY2VFbGVtZW50LmgKQEAgLTUyLDcgKzUyLDcgQEAgcHJpdmF0ZToKICAgICB2
aXJ0dWFsIHZvaWQgcmVtb3ZlZEZyb20oQ29udGFpbmVyTm9kZSYpIE9WRVJSSURFOwogICAgIHZp
cnR1YWwgYm9vbCBpc1VSTEF0dHJpYnV0ZShjb25zdCBBdHRyaWJ1dGUmKSBjb25zdCBPVkVSUklE
RTsKIAotICAgIHZvaWQgZXJyb3JFdmVudFRpbWVyRmlyZWQoVGltZXI8SFRNTFNvdXJjZUVsZW1l
bnQ+Kik7CisgICAgdm9pZCBlcnJvckV2ZW50VGltZXJGaXJlZChUaW1lcjxIVE1MU291cmNlRWxl
bWVudD4mKTsKIAogICAgIFRpbWVyPEhUTUxTb3VyY2VFbGVtZW50PiBtX2Vycm9yRXZlbnRUaW1l
cjsKIH07CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9odG1sL0hUTUxUcmFja0VsZW1lbnQu
Y3BwIGIvU291cmNlL1dlYkNvcmUvaHRtbC9IVE1MVHJhY2tFbGVtZW50LmNwcAppbmRleCAxNTQy
YTU4NDc0ODYyNjY1YjViN2IzZjY2MWQyNWMwODNhZGM5YzEyLi4xNWI3OTk5N2E4NTFkN2E1Y2Fj
ZjA1NjJhOWFlYjE2ZTNmNWMyYjFlIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9odG1sL0hU
TUxUcmFja0VsZW1lbnQuY3BwCisrKyBiL1NvdXJjZS9XZWJDb3JlL2h0bWwvSFRNTFRyYWNrRWxl
bWVudC5jcHAKQEAgLTIwMCw3ICsyMDAsNyBAQCB2b2lkIEhUTUxUcmFja0VsZW1lbnQ6OnNjaGVk
dWxlTG9hZCgpCiAgICAgbV9sb2FkVGltZXIuc3RhcnRPbmVTaG90KDApOwogfQogCi12b2lkIEhU
TUxUcmFja0VsZW1lbnQ6OmxvYWRUaW1lckZpcmVkKFRpbWVyPEhUTUxUcmFja0VsZW1lbnQ+KikK
K3ZvaWQgSFRNTFRyYWNrRWxlbWVudDo6bG9hZFRpbWVyRmlyZWQoVGltZXI8SFRNTFRyYWNrRWxl
bWVudD4mKQogewogICAgIGlmICghZmFzdEhhc0F0dHJpYnV0ZShzcmNBdHRyKSkKICAgICAgICAg
cmV0dXJuOwpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvaHRtbC9IVE1MVHJhY2tFbGVtZW50
LmggYi9Tb3VyY2UvV2ViQ29yZS9odG1sL0hUTUxUcmFja0VsZW1lbnQuaAppbmRleCBiYzllMDVh
NGNmZmQ2YTVlNWJhMjdiYThhOGMxOTYwNTg1MjU4ZTdlLi4yYWVlZWM1NTU5MDNjN2RkNTA0NGRl
NTZlN2VlOTliODA5MzUxMDhlIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9odG1sL0hUTUxU
cmFja0VsZW1lbnQuaAorKysgYi9Tb3VyY2UvV2ViQ29yZS9odG1sL0hUTUxUcmFja0VsZW1lbnQu
aApAQCAtNzUsNyArNzUsNyBAQCBwcml2YXRlOgogCiAgICAgdmlydHVhbCBib29sIGlzVVJMQXR0
cmlidXRlKGNvbnN0IEF0dHJpYnV0ZSYpIGNvbnN0IE9WRVJSSURFOwogCi0gICAgdm9pZCBsb2Fk
VGltZXJGaXJlZChUaW1lcjxIVE1MVHJhY2tFbGVtZW50PiopOworICAgIHZvaWQgbG9hZFRpbWVy
RmlyZWQoVGltZXI8SFRNTFRyYWNrRWxlbWVudD4mKTsKIAogICAgIEhUTUxNZWRpYUVsZW1lbnQq
IG1lZGlhRWxlbWVudCgpIGNvbnN0OwogCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9odG1s
L01lZGlhQ29udHJvbGxlci5jcHAgYi9Tb3VyY2UvV2ViQ29yZS9odG1sL01lZGlhQ29udHJvbGxl
ci5jcHAKaW5kZXggYjA1Y2FkZmZlOTIwY2I2MWI3NzllZGIxMWJmM2ViZGU0YWVkZDAyMS4uZWI3
NDk4YzVlMTU5Njg4Nzk3NjFiMDlhMjA2NmM0NmUyYmZkMzVmYSAxMDA2NDQKLS0tIGEvU291cmNl
L1dlYkNvcmUvaHRtbC9NZWRpYUNvbnRyb2xsZXIuY3BwCisrKyBiL1NvdXJjZS9XZWJDb3JlL2h0
bWwvTWVkaWFDb250cm9sbGVyLmNwcApAQCAtNTM3LDcgKzUzNyw3IEBAIHZvaWQgTWVkaWFDb250
cm9sbGVyOjpzY2hlZHVsZUV2ZW50KGNvbnN0IEF0b21pY1N0cmluZyYgZXZlbnROYW1lKQogICAg
ICAgICBtX2FzeW5jRXZlbnRUaW1lci5zdGFydE9uZVNob3QoMCk7CiB9CiAKLXZvaWQgTWVkaWFD
b250cm9sbGVyOjphc3luY0V2ZW50VGltZXJGaXJlZChUaW1lcjxNZWRpYUNvbnRyb2xsZXI+KikK
K3ZvaWQgTWVkaWFDb250cm9sbGVyOjphc3luY0V2ZW50VGltZXJGaXJlZChUaW1lcjxNZWRpYUNv
bnRyb2xsZXI+JikKIHsKICAgICBWZWN0b3I8UmVmUHRyPEV2ZW50Pj4gcGVuZGluZ0V2ZW50czsK
IApAQCAtNTQ3LDcgKzU0Nyw3IEBAIHZvaWQgTWVkaWFDb250cm9sbGVyOjphc3luY0V2ZW50VGlt
ZXJGaXJlZChUaW1lcjxNZWRpYUNvbnRyb2xsZXI+KikKICAgICAgICAgZGlzcGF0Y2hFdmVudChw
ZW5kaW5nRXZlbnRzW2luZGV4XS5yZWxlYXNlKCksIElHTk9SRV9FWENFUFRJT04pOwogfQogCi12
b2lkIE1lZGlhQ29udHJvbGxlcjo6Y2xlYXJQb3NpdGlvblRpbWVyRmlyZWQoVGltZXI8TWVkaWFD
b250cm9sbGVyPiopCit2b2lkIE1lZGlhQ29udHJvbGxlcjo6Y2xlYXJQb3NpdGlvblRpbWVyRmly
ZWQoVGltZXI8TWVkaWFDb250cm9sbGVyPiYpCiB7CiAgICAgbV9wb3NpdGlvbiA9IE1lZGlhUGxh
eWVyOjppbnZhbGlkVGltZSgpOwogfQpAQCAtNjU5LDcgKzY1OSw3IEBAIHZvaWQgTWVkaWFDb250
cm9sbGVyOjpzdGFydFRpbWV1cGRhdGVUaW1lcigpCiAgICAgbV90aW1ldXBkYXRlVGltZXIuc3Rh
cnRSZXBlYXRpbmcobWF4VGltZXVwZGF0ZUV2ZW50RnJlcXVlbmN5KTsKIH0KIAotdm9pZCBNZWRp
YUNvbnRyb2xsZXI6OnRpbWV1cGRhdGVUaW1lckZpcmVkKFRpbWVyPE1lZGlhQ29udHJvbGxlcj4q
KQordm9pZCBNZWRpYUNvbnRyb2xsZXI6OnRpbWV1cGRhdGVUaW1lckZpcmVkKFRpbWVyPE1lZGlh
Q29udHJvbGxlcj4mKQogewogICAgIHNjaGVkdWxlVGltZXVwZGF0ZUV2ZW50KCk7CiB9CmRpZmYg
LS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9odG1sL01lZGlhQ29udHJvbGxlci5oIGIvU291cmNlL1dl
YkNvcmUvaHRtbC9NZWRpYUNvbnRyb2xsZXIuaAppbmRleCBkNDdkZDcxYjgzM2NjYzA0MzBmOGRj
MTI5ZTZmOGFiZjczNDIzMDlmLi44NjIzMjJlOGYwM2EwZmFlYmMxMWM3YzkyYjRmZmEwYmU5Mjc3
ZjFhIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9odG1sL01lZGlhQ29udHJvbGxlci5oCisr
KyBiL1NvdXJjZS9XZWJDb3JlL2h0bWwvTWVkaWFDb250cm9sbGVyLmgKQEAgLTEyMSwxMSArMTIx
LDExIEBAIHByaXZhdGU6CiAgICAgdm9pZCB1cGRhdGVNZWRpYUVsZW1lbnRzKCk7CiAgICAgdm9p
ZCBicmluZ0VsZW1lbnRVcFRvU3BlZWQoSFRNTE1lZGlhRWxlbWVudCopOwogICAgIHZvaWQgc2No
ZWR1bGVFdmVudChjb25zdCBBdG9taWNTdHJpbmcmIGV2ZW50TmFtZSk7Ci0gICAgdm9pZCBhc3lu
Y0V2ZW50VGltZXJGaXJlZChUaW1lcjxNZWRpYUNvbnRyb2xsZXI+Kik7Ci0gICAgdm9pZCBjbGVh
clBvc2l0aW9uVGltZXJGaXJlZChUaW1lcjxNZWRpYUNvbnRyb2xsZXI+Kik7CisgICAgdm9pZCBh
c3luY0V2ZW50VGltZXJGaXJlZChUaW1lcjxNZWRpYUNvbnRyb2xsZXI+Jik7CisgICAgdm9pZCBj
bGVhclBvc2l0aW9uVGltZXJGaXJlZChUaW1lcjxNZWRpYUNvbnRyb2xsZXI+Jik7CiAgICAgYm9v
bCBoYXNFbmRlZCgpIGNvbnN0OwogICAgIHZvaWQgc2NoZWR1bGVUaW1ldXBkYXRlRXZlbnQoKTsK
LSAgICB2b2lkIHRpbWV1cGRhdGVUaW1lckZpcmVkKFRpbWVyPE1lZGlhQ29udHJvbGxlcj4qKTsK
KyAgICB2b2lkIHRpbWV1cGRhdGVUaW1lckZpcmVkKFRpbWVyPE1lZGlhQ29udHJvbGxlcj4mKTsK
ICAgICB2b2lkIHN0YXJ0VGltZXVwZGF0ZVRpbWVyKCk7CiAKICAgICAvLyBFdmVudFRhcmdldApk
aWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvaHRtbC9NZWRpYURvY3VtZW50LmNwcCBiL1NvdXJj
ZS9XZWJDb3JlL2h0bWwvTWVkaWFEb2N1bWVudC5jcHAKaW5kZXggNjc4Y2Y0MWQxMTc3ODlhMTc2
ZjAwYWU0NGI5NGQ2MDJiNDlmM2YyYS4uNWNlMzg1ZDZkMTNkNjJmZmU5ZTZhMzY2ODllNTE0M2Y5
YzNjZDk3OSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvaHRtbC9NZWRpYURvY3VtZW50LmNw
cAorKysgYi9Tb3VyY2UvV2ViQ29yZS9odG1sL01lZGlhRG9jdW1lbnQuY3BwCkBAIC0yMDksNyAr
MjA5LDcgQEAgdm9pZCBNZWRpYURvY3VtZW50OjptZWRpYUVsZW1lbnRTYXdVbnN1cHBvcnRlZFRy
YWNrcygpCiAgICAgbV9yZXBsYWNlTWVkaWFFbGVtZW50VGltZXIuc3RhcnRPbmVTaG90KDApOwog
fQogCi12b2lkIE1lZGlhRG9jdW1lbnQ6OnJlcGxhY2VNZWRpYUVsZW1lbnRUaW1lckZpcmVkKFRp
bWVyPE1lZGlhRG9jdW1lbnQ+KikKK3ZvaWQgTWVkaWFEb2N1bWVudDo6cmVwbGFjZU1lZGlhRWxl
bWVudFRpbWVyRmlyZWQoVGltZXI8TWVkaWFEb2N1bWVudD4mKQogewogICAgIEhUTUxFbGVtZW50
KiBodG1sQm9keSA9IGJvZHkoKTsKICAgICBpZiAoIWh0bWxCb2R5KQpkaWZmIC0tZ2l0IGEvU291
cmNlL1dlYkNvcmUvaHRtbC9NZWRpYURvY3VtZW50LmggYi9Tb3VyY2UvV2ViQ29yZS9odG1sL01l
ZGlhRG9jdW1lbnQuaAppbmRleCA5Yjk3MmRmYzBmZmQyYTUxNDdmYjQ0M2Y2YmUwNGJiOTkxZDIy
MmYxLi5jMjAwNGI5MDM2NTk2OGVkZjUwMzJjNzExMDMzYzVhMjYxYTViOGQ5IDEwMDY0NAotLS0g
YS9Tb3VyY2UvV2ViQ29yZS9odG1sL01lZGlhRG9jdW1lbnQuaAorKysgYi9Tb3VyY2UvV2ViQ29y
ZS9odG1sL01lZGlhRG9jdW1lbnQuaApAQCAtNDksNyArNDksNyBAQCBwcml2YXRlOgogCiAgICAg
dmlydHVhbCB2b2lkIGRlZmF1bHRFdmVudEhhbmRsZXIoRXZlbnQqKTsKIAotICAgIHZvaWQgcmVw
bGFjZU1lZGlhRWxlbWVudFRpbWVyRmlyZWQoVGltZXI8TWVkaWFEb2N1bWVudD4qKTsKKyAgICB2
b2lkIHJlcGxhY2VNZWRpYUVsZW1lbnRUaW1lckZpcmVkKFRpbWVyPE1lZGlhRG9jdW1lbnQ+Jik7
CiAKICAgICBUaW1lcjxNZWRpYURvY3VtZW50PiBtX3JlcGxhY2VNZWRpYUVsZW1lbnRUaW1lcjsK
IH07CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9odG1sL3BhcnNlci9IVE1MUGFyc2VyU2No
ZWR1bGVyLmNwcCBiL1NvdXJjZS9XZWJDb3JlL2h0bWwvcGFyc2VyL0hUTUxQYXJzZXJTY2hlZHVs
ZXIuY3BwCmluZGV4IGE5MGRiYmJlZTcyMmY0NmNkMDFiN2E5Y2MxYTM3NDU3OTZlNmJhZWUuLjk3
NGZjYmVjOWU2NzJjY2MwMzE1N2I2OTcxZjg3ZTM5OTQyYTIzYWIgMTAwNjQ0Ci0tLSBhL1NvdXJj
ZS9XZWJDb3JlL2h0bWwvcGFyc2VyL0hUTUxQYXJzZXJTY2hlZHVsZXIuY3BwCisrKyBiL1NvdXJj
ZS9XZWJDb3JlL2h0bWwvcGFyc2VyL0hUTUxQYXJzZXJTY2hlZHVsZXIuY3BwCkBAIC0xMTEsMTAg
KzExMSwxMSBAQCBIVE1MUGFyc2VyU2NoZWR1bGVyOjp+SFRNTFBhcnNlclNjaGVkdWxlcigpCiAg
ICAgbV9jb250aW51ZU5leHRDaHVua1RpbWVyLnN0b3AoKTsKIH0KIAotdm9pZCBIVE1MUGFyc2Vy
U2NoZWR1bGVyOjpjb250aW51ZU5leHRDaHVua1RpbWVyRmlyZWQoVGltZXI8SFRNTFBhcnNlclNj
aGVkdWxlcj4qIHRpbWVyKQordm9pZCBIVE1MUGFyc2VyU2NoZWR1bGVyOjpjb250aW51ZU5leHRD
aHVua1RpbWVyRmlyZWQoVGltZXI8SFRNTFBhcnNlclNjaGVkdWxlcj4mIHRpbWVyKQogewogICAg
IEFTU0VSVCghbV9zdXNwZW5kZWQpOwotICAgIEFTU0VSVF9VTlVTRUQodGltZXIsIHRpbWVyID09
ICZtX2NvbnRpbnVlTmV4dENodW5rVGltZXIpOworICAgIEFTU0VSVF9VTlVTRUQodGltZXIsICZ0
aW1lciA9PSAmbV9jb250aW51ZU5leHRDaHVua1RpbWVyKTsKKwogICAgIC8vIEZJWE1FOiBUaGUg
dGltZXIgY2xhc3Mgc2hvdWxkIGhhbmRsZSB0aW1lciBwcmlvcml0aWVzIGluc3RlYWQgb2YgdGhp
cyBjb2RlLgogICAgIC8vIElmIGEgbGF5b3V0IGlzIHNjaGVkdWxlZCwgd2FpdCBhZ2FpbiB0byBs
ZXQgdGhlIGxheW91dCB0aW1lciBydW4gZmlyc3QuCiAgICAgaWYgKG1fcGFyc2VyLmRvY3VtZW50
KCktPmlzTGF5b3V0VGltZXJBY3RpdmUoKSkgewpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUv
aHRtbC9wYXJzZXIvSFRNTFBhcnNlclNjaGVkdWxlci5oIGIvU291cmNlL1dlYkNvcmUvaHRtbC9w
YXJzZXIvSFRNTFBhcnNlclNjaGVkdWxlci5oCmluZGV4IDgyYzk3YzM0ZDM3YjFmZWIzNTA0YjNi
ZDJhYThhZDRkNjIxZmRhM2QuLmE5MzU5NmJkZmM1MjE0ZTViYmE2N2M0OGRiOWVjNWVjOWZlYzZj
ZmMgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL2h0bWwvcGFyc2VyL0hUTUxQYXJzZXJTY2hl
ZHVsZXIuaAorKysgYi9Tb3VyY2UvV2ViQ29yZS9odG1sL3BhcnNlci9IVE1MUGFyc2VyU2NoZWR1
bGVyLmgKQEAgLTEwMyw3ICsxMDMsNyBAQCBwdWJsaWM6CiBwcml2YXRlOgogICAgIEhUTUxQYXJz
ZXJTY2hlZHVsZXIoSFRNTERvY3VtZW50UGFyc2VyJik7CiAKLSAgICB2b2lkIGNvbnRpbnVlTmV4
dENodW5rVGltZXJGaXJlZChUaW1lcjxIVE1MUGFyc2VyU2NoZWR1bGVyPiopOworICAgIHZvaWQg
Y29udGludWVOZXh0Q2h1bmtUaW1lckZpcmVkKFRpbWVyPEhUTUxQYXJzZXJTY2hlZHVsZXI+Jik7
CiAKICAgICBIVE1MRG9jdW1lbnRQYXJzZXImIG1fcGFyc2VyOwogCmRpZmYgLS1naXQgYS9Tb3Vy
Y2UvV2ViQ29yZS9odG1sL3NoYWRvdy9NZWRpYUNvbnRyb2xFbGVtZW50VHlwZXMuY3BwIGIvU291
cmNlL1dlYkNvcmUvaHRtbC9zaGFkb3cvTWVkaWFDb250cm9sRWxlbWVudFR5cGVzLmNwcAppbmRl
eCA1OTEyZWMzMzA5NDliOTE5Yjk1NjNjZmIzYmMyMDRjYTg2YmEzYmI5Li5kNjA0OWE1MDg3NDI0
YjA2NzRjYmVmMjBmOGFhMWYwZmMzZGUzMjY1IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9o
dG1sL3NoYWRvdy9NZWRpYUNvbnRyb2xFbGVtZW50VHlwZXMuY3BwCisrKyBiL1NvdXJjZS9XZWJD
b3JlL2h0bWwvc2hhZG93L01lZGlhQ29udHJvbEVsZW1lbnRUeXBlcy5jcHAKQEAgLTIzNSw3ICsy
MzUsNyBAQCBkb3VibGUgTWVkaWFDb250cm9sU2Vla0J1dHRvbkVsZW1lbnQ6Om5leHRSYXRlKCkg
Y29uc3QKICAgICByZXR1cm4gcmF0ZTsKIH0KIAotdm9pZCBNZWRpYUNvbnRyb2xTZWVrQnV0dG9u
RWxlbWVudDo6c2Vla1RpbWVyRmlyZWQoVGltZXI8TWVkaWFDb250cm9sU2Vla0J1dHRvbkVsZW1l
bnQ+KikKK3ZvaWQgTWVkaWFDb250cm9sU2Vla0J1dHRvbkVsZW1lbnQ6OnNlZWtUaW1lckZpcmVk
KFRpbWVyPE1lZGlhQ29udHJvbFNlZWtCdXR0b25FbGVtZW50PiYpCiB7CiAgICAgaWYgKG1fc2Vl
a1R5cGUgPT0gU2tpcCkgewogICAgICAgICBkb3VibGUgc2tpcFRpbWUgPSBpc0ZvcndhcmRCdXR0
b24oKSA/IGNTa2lwVGltZSA6IC1jU2tpcFRpbWU7CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29y
ZS9odG1sL3NoYWRvdy9NZWRpYUNvbnRyb2xFbGVtZW50VHlwZXMuaCBiL1NvdXJjZS9XZWJDb3Jl
L2h0bWwvc2hhZG93L01lZGlhQ29udHJvbEVsZW1lbnRUeXBlcy5oCmluZGV4IDliNGI1Zjg2ODY4
MmU4NTk0NjlkZDQ0ZWM2MGFkNTYxZTcxOThkZjYuLjY1YzBkNzAzN2FlZjZhNDhiZjllODcyYmIy
ZjgzYTZlZmE1ZmQyODkgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL2h0bWwvc2hhZG93L01l
ZGlhQ29udHJvbEVsZW1lbnRUeXBlcy5oCisrKyBiL1NvdXJjZS9XZWJDb3JlL2h0bWwvc2hhZG93
L01lZGlhQ29udHJvbEVsZW1lbnRUeXBlcy5oCkBAIC0xNzQsNyArMTc0LDcgQEAgcHJpdmF0ZToK
ICAgICB2b2lkIHN0YXJ0VGltZXIoKTsKICAgICB2b2lkIHN0b3BUaW1lcigpOwogICAgIGRvdWJs
ZSBuZXh0UmF0ZSgpIGNvbnN0OwotICAgIHZvaWQgc2Vla1RpbWVyRmlyZWQoVGltZXI8TWVkaWFD
b250cm9sU2Vla0J1dHRvbkVsZW1lbnQ+Kik7CisgICAgdm9pZCBzZWVrVGltZXJGaXJlZChUaW1l
cjxNZWRpYUNvbnRyb2xTZWVrQnV0dG9uRWxlbWVudD4mKTsKIAogICAgIGVudW0gQWN0aW9uVHlw
ZSB7IE5vdGhpbmcsIFBsYXksIFBhdXNlIH07CiAgICAgQWN0aW9uVHlwZSBtX2FjdGlvbk9uU3Rv
cDsKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL2h0bWwvc2hhZG93L01lZGlhQ29udHJvbEVs
ZW1lbnRzLmNwcCBiL1NvdXJjZS9XZWJDb3JlL2h0bWwvc2hhZG93L01lZGlhQ29udHJvbEVsZW1l
bnRzLmNwcAppbmRleCA0MjBmY2Y0ODBlMTdlNTNhZWNiNzg5MDU3ZTI5OWExYmNiMWZiZWZlLi45
MWRmMmQ5N2JjMmE1MjcyOWYyMGNjMzhkMDY4MzJmMGY4YzJiZGYwIDEwMDY0NAotLS0gYS9Tb3Vy
Y2UvV2ViQ29yZS9odG1sL3NoYWRvdy9NZWRpYUNvbnRyb2xFbGVtZW50cy5jcHAKKysrIGIvU291
cmNlL1dlYkNvcmUvaHRtbC9zaGFkb3cvTWVkaWFDb250cm9sRWxlbWVudHMuY3BwCkBAIC0xNTIs
NyArMTUyLDcgQEAgdm9pZCBNZWRpYUNvbnRyb2xQYW5lbEVsZW1lbnQ6OnN0b3BUaW1lcigpCiAg
ICAgICAgIG1fdHJhbnNpdGlvblRpbWVyLnN0b3AoKTsKIH0KIAotdm9pZCBNZWRpYUNvbnRyb2xQ
YW5lbEVsZW1lbnQ6OnRyYW5zaXRpb25UaW1lckZpcmVkKFRpbWVyPE1lZGlhQ29udHJvbFBhbmVs
RWxlbWVudD4qKQordm9pZCBNZWRpYUNvbnRyb2xQYW5lbEVsZW1lbnQ6OnRyYW5zaXRpb25UaW1l
ckZpcmVkKFRpbWVyPE1lZGlhQ29udHJvbFBhbmVsRWxlbWVudD4mKQogewogICAgIGlmICghbV9v
cGFxdWUpCiAgICAgICAgIGhpZGUoKTsKQEAgLTEzMTYsNyArMTMxNiw3IEBAIHZvaWQgTWVkaWFD
b250cm9sVGV4dFRyYWNrQ29udGFpbmVyRWxlbWVudDo6dXBkYXRlRGlzcGxheSgpCiAgICAgfQog
fQogCi12b2lkIE1lZGlhQ29udHJvbFRleHRUcmFja0NvbnRhaW5lckVsZW1lbnQ6OnVwZGF0ZVRp
bWVyRmlyZWQoVGltZXI8TWVkaWFDb250cm9sVGV4dFRyYWNrQ29udGFpbmVyRWxlbWVudD4qKQor
dm9pZCBNZWRpYUNvbnRyb2xUZXh0VHJhY2tDb250YWluZXJFbGVtZW50Ojp1cGRhdGVUaW1lckZp
cmVkKFRpbWVyPE1lZGlhQ29udHJvbFRleHRUcmFja0NvbnRhaW5lckVsZW1lbnQ+JikKIHsKICAg
ICBpZiAoIWRvY3VtZW50KCkucGFnZSgpKQogICAgICAgICByZXR1cm47CmRpZmYgLS1naXQgYS9T
b3VyY2UvV2ViQ29yZS9odG1sL3NoYWRvdy9NZWRpYUNvbnRyb2xFbGVtZW50cy5oIGIvU291cmNl
L1dlYkNvcmUvaHRtbC9zaGFkb3cvTWVkaWFDb250cm9sRWxlbWVudHMuaAppbmRleCBkZTg1NWRh
NDk3MTEyMmE2MzZmYmUwODgyMDdmZDc4OGU2ZGE0NDA2Li5lMDdmNjYyZmEzZmYwZjg5YzRjNWYy
YTUzNWJkMjEzNDkxNzhjYTc1IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9odG1sL3NoYWRv
dy9NZWRpYUNvbnRyb2xFbGVtZW50cy5oCisrKyBiL1NvdXJjZS9XZWJDb3JlL2h0bWwvc2hhZG93
L01lZGlhQ29udHJvbEVsZW1lbnRzLmgKQEAgLTY2LDcgKzY2LDcgQEAgcHJpdmF0ZToKIAogICAg
IHZvaWQgc3RhcnRUaW1lcigpOwogICAgIHZvaWQgc3RvcFRpbWVyKCk7Ci0gICAgdm9pZCB0cmFu
c2l0aW9uVGltZXJGaXJlZChUaW1lcjxNZWRpYUNvbnRyb2xQYW5lbEVsZW1lbnQ+Kik7CisgICAg
dm9pZCB0cmFuc2l0aW9uVGltZXJGaXJlZChUaW1lcjxNZWRpYUNvbnRyb2xQYW5lbEVsZW1lbnQ+
Jik7CiAKICAgICB2b2lkIHNldFBvc2l0aW9uKGNvbnN0IExheW91dFBvaW50Jik7CiAKQEAgLTQ3
Nyw3ICs0NzcsNyBAQCBwdWJsaWM6CiAgICAgc3RhdGljIGNvbnN0IEF0b21pY1N0cmluZyYgdGV4
dFRyYWNrQ29udGFpbmVyRWxlbWVudFNoYWRvd1BzZXVkb0lkKCk7CiAKIHByaXZhdGU6Ci0gICAg
dm9pZCB1cGRhdGVUaW1lckZpcmVkKFRpbWVyPE1lZGlhQ29udHJvbFRleHRUcmFja0NvbnRhaW5l
ckVsZW1lbnQ+Kik7CisgICAgdm9pZCB1cGRhdGVUaW1lckZpcmVkKFRpbWVyPE1lZGlhQ29udHJv
bFRleHRUcmFja0NvbnRhaW5lckVsZW1lbnQ+Jik7CiAKICAgICBleHBsaWNpdCBNZWRpYUNvbnRy
b2xUZXh0VHJhY2tDb250YWluZXJFbGVtZW50KERvY3VtZW50Jik7CiAgICAgdmlydHVhbCBjb25z
dCBBdG9taWNTdHJpbmcmIHNoYWRvd1BzZXVkb0lkKCkgY29uc3QgT1ZFUlJJREU7CmRpZmYgLS1n
aXQgYS9Tb3VyY2UvV2ViQ29yZS9odG1sL3NoYWRvdy9NZWRpYUNvbnRyb2xzLmNwcCBiL1NvdXJj
ZS9XZWJDb3JlL2h0bWwvc2hhZG93L01lZGlhQ29udHJvbHMuY3BwCmluZGV4IGJlZDY5YzM5ODZj
MjM3YzgzYWQzYTU0NDM2ZDM2ZDE3ZDllMDg1MmQuLjdiZmFmNDM2YzJhMTJiMzdjNjllNzhmZjg3
MzEyOWExOWZmNDc3Y2IgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL2h0bWwvc2hhZG93L01l
ZGlhQ29udHJvbHMuY3BwCisrKyBiL1NvdXJjZS9XZWJDb3JlL2h0bWwvc2hhZG93L01lZGlhQ29u
dHJvbHMuY3BwCkBAIC0zMjksNyArMzI5LDcgQEAgdm9pZCBNZWRpYUNvbnRyb2xzOjpkZWZhdWx0
RXZlbnRIYW5kbGVyKEV2ZW50KiBldmVudCkKICAgICB9CiB9CiAKLXZvaWQgTWVkaWFDb250cm9s
czo6aGlkZUZ1bGxzY3JlZW5Db250cm9sc1RpbWVyRmlyZWQoVGltZXI8TWVkaWFDb250cm9scz4q
KQordm9pZCBNZWRpYUNvbnRyb2xzOjpoaWRlRnVsbHNjcmVlbkNvbnRyb2xzVGltZXJGaXJlZChU
aW1lcjxNZWRpYUNvbnRyb2xzPiYpCiB7CiAgICAgaWYgKG1fbWVkaWFDb250cm9sbGVyLT5wYXVz
ZWQoKSkKICAgICAgICAgcmV0dXJuOwpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvaHRtbC9z
aGFkb3cvTWVkaWFDb250cm9scy5oIGIvU291cmNlL1dlYkNvcmUvaHRtbC9zaGFkb3cvTWVkaWFD
b250cm9scy5oCmluZGV4IDNhMDNhN2QxY2FhMWE1YzM2MzRkMzVlZTQxMTk4YTgzOTZiMTNlM2Iu
LmM5NWY2OTE5NWE1MDRmZGMwODMyNDBkZmI1NmZhNThlMDE3ZDE0MjAgMTAwNjQ0Ci0tLSBhL1Nv
dXJjZS9XZWJDb3JlL2h0bWwvc2hhZG93L01lZGlhQ29udHJvbHMuaAorKysgYi9Tb3VyY2UvV2Vi
Q29yZS9odG1sL3NoYWRvdy9NZWRpYUNvbnRyb2xzLmgKQEAgLTk3LDcgKzk3LDcgQEAgY2xhc3Mg
TWVkaWFDb250cm9scyA6IHB1YmxpYyBIVE1MRGl2RWxlbWVudCB7CiAgICAgdmlydHVhbCBib29s
IHdpbGxSZXNwb25kVG9Nb3VzZU1vdmVFdmVudHMoKSBPVkVSUklERSB7IHJldHVybiB0cnVlOyB9
CiAjZW5kaWYKIAotICAgIHZpcnR1YWwgdm9pZCBoaWRlRnVsbHNjcmVlbkNvbnRyb2xzVGltZXJG
aXJlZChUaW1lcjxNZWRpYUNvbnRyb2xzPiopOworICAgIHZpcnR1YWwgdm9pZCBoaWRlRnVsbHNj
cmVlbkNvbnRyb2xzVGltZXJGaXJlZChUaW1lcjxNZWRpYUNvbnRyb2xzPiYpOwogICAgIHZpcnR1
YWwgdm9pZCBzdGFydEhpZGVGdWxsc2NyZWVuQ29udHJvbHNUaW1lcigpOwogICAgIHZpcnR1YWwg
dm9pZCBzdG9wSGlkZUZ1bGxzY3JlZW5Db250cm9sc1RpbWVyKCk7CiAKZGlmZiAtLWdpdCBhL1Nv
dXJjZS9XZWJDb3JlL2h0bWwvdHJhY2svTG9hZGFibGVUZXh0VHJhY2suY3BwIGIvU291cmNlL1dl
YkNvcmUvaHRtbC90cmFjay9Mb2FkYWJsZVRleHRUcmFjay5jcHAKaW5kZXggNDk2N2QyNTc1MmFl
NzA0Yjk4NzBhYmRmNDYwZGU3MGU1YzIwYzZlZS4uMGMwNDIzMWI1NDZmN2EyM2IyYTdlODk0YjBi
YWE2ODZmM2VhMjk0ZCAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvaHRtbC90cmFjay9Mb2Fk
YWJsZVRleHRUcmFjay5jcHAKKysrIGIvU291cmNlL1dlYkNvcmUvaHRtbC90cmFjay9Mb2FkYWJs
ZVRleHRUcmFjay5jcHAKQEAgLTgxLDcgKzgxLDcgQEAgdm9pZCBMb2FkYWJsZVRleHRUcmFjazo6
c2V0VHJhY2tFbGVtZW50KEhUTUxUcmFja0VsZW1lbnQqIGVsZW1lbnQpCiAgICAgbV90cmFja0Vs
ZW1lbnQgPSBlbGVtZW50OwogfQogCi12b2lkIExvYWRhYmxlVGV4dFRyYWNrOjpsb2FkVGltZXJG
aXJlZChUaW1lcjxMb2FkYWJsZVRleHRUcmFjaz4qKQordm9pZCBMb2FkYWJsZVRleHRUcmFjazo6
bG9hZFRpbWVyRmlyZWQoVGltZXI8TG9hZGFibGVUZXh0VHJhY2s+JikKIHsKICAgICBpZiAobV9s
b2FkZXIpCiAgICAgICAgIG1fbG9hZGVyLT5jYW5jZWxMb2FkKCk7CmRpZmYgLS1naXQgYS9Tb3Vy
Y2UvV2ViQ29yZS9odG1sL3RyYWNrL0xvYWRhYmxlVGV4dFRyYWNrLmggYi9Tb3VyY2UvV2ViQ29y
ZS9odG1sL3RyYWNrL0xvYWRhYmxlVGV4dFRyYWNrLmgKaW5kZXggOGNhMjRiYjE4MzIxOWM5Mzg5
ZTc4NjJlZWI2N2RhYjkxZWM0Yjg1MS4uN2YyMzc2MDdkMjIzN2I4M2ZjMDUxM2Q0ZTk2ZTVlMDhh
NjFlYmNkOSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvaHRtbC90cmFjay9Mb2FkYWJsZVRl
eHRUcmFjay5oCisrKyBiL1NvdXJjZS9XZWJDb3JlL2h0bWwvdHJhY2svTG9hZGFibGVUZXh0VHJh
Y2suaApAQCAtNzksNyArNzksNyBAQCBwcml2YXRlOgogCiAgICAgTG9hZGFibGVUZXh0VHJhY2so
SFRNTFRyYWNrRWxlbWVudCosIGNvbnN0IFN0cmluZyYga2luZCwgY29uc3QgU3RyaW5nJiBsYWJl
bCwgY29uc3QgU3RyaW5nJiBsYW5ndWFnZSk7CiAKLSAgICB2b2lkIGxvYWRUaW1lckZpcmVkKFRp
bWVyPExvYWRhYmxlVGV4dFRyYWNrPiopOworICAgIHZvaWQgbG9hZFRpbWVyRmlyZWQoVGltZXI8
TG9hZGFibGVUZXh0VHJhY2s+Jik7CiAKICAgICBIVE1MVHJhY2tFbGVtZW50KiBtX3RyYWNrRWxl
bWVudDsKICAgICBUaW1lcjxMb2FkYWJsZVRleHRUcmFjaz4gbV9sb2FkVGltZXI7CmRpZmYgLS1n
aXQgYS9Tb3VyY2UvV2ViQ29yZS9pbnNwZWN0b3IvSW5zcGVjdG9yQ1NTQWdlbnQuY3BwIGIvU291
cmNlL1dlYkNvcmUvaW5zcGVjdG9yL0luc3BlY3RvckNTU0FnZW50LmNwcAppbmRleCA4M2M0MjM3
NmEzYWM1NjA2NTU3ZTA3OWM4NmViMDk0NWUwYTMwNjcwLi5iMzk1ZDE0ZmVjYWM5YWE5ZWRjOGMy
M2IxODVjZTNlNTBmZDEzM2ViIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9pbnNwZWN0b3Iv
SW5zcGVjdG9yQ1NTQWdlbnQuY3BwCisrKyBiL1NvdXJjZS9XZWJDb3JlL2luc3BlY3Rvci9JbnNw
ZWN0b3JDU1NBZ2VudC5jcHAKQEAgLTIzMiw3ICsyMzIsNyBAQCBwdWJsaWM6CiAgICAgdm9pZCBz
Y2hlZHVsZUZvcihXZWJLaXROYW1lZEZsb3cqLCBpbnQgZG9jdW1lbnROb2RlSWQpOwogICAgIHZv
aWQgdW5zY2hlZHVsZShXZWJLaXROYW1lZEZsb3cqKTsKICAgICB2b2lkIHJlc2V0KCk7Ci0gICAg
dm9pZCBvblRpbWVyKFRpbWVyPFVwZGF0ZVJlZ2lvbkxheW91dFRhc2s+Kik7CisgICAgdm9pZCB0
aW1lckZpcmVkKFRpbWVyPFVwZGF0ZVJlZ2lvbkxheW91dFRhc2s+Jik7CiAKIHByaXZhdGU6CiAg
ICAgSW5zcGVjdG9yQ1NTQWdlbnQqIG1fY3NzQWdlbnQ7CkBAIC0yNDIsNyArMjQyLDcgQEAgcHJp
dmF0ZToKIAogVXBkYXRlUmVnaW9uTGF5b3V0VGFzazo6VXBkYXRlUmVnaW9uTGF5b3V0VGFzayhJ
bnNwZWN0b3JDU1NBZ2VudCogY3NzQWdlbnQpCiAgICAgOiBtX2Nzc0FnZW50KGNzc0FnZW50KQot
ICAgICwgbV90aW1lcih0aGlzLCAmVXBkYXRlUmVnaW9uTGF5b3V0VGFzazo6b25UaW1lcikKKyAg
ICAsIG1fdGltZXIodGhpcywgJlVwZGF0ZVJlZ2lvbkxheW91dFRhc2s6OnRpbWVyRmlyZWQpCiB7
CiB9CiAKQEAgLTI2NSw3ICsyNjUsNyBAQCB2b2lkIFVwZGF0ZVJlZ2lvbkxheW91dFRhc2s6OnJl
c2V0KCkKICAgICBtX25hbWVkRmxvd3MuY2xlYXIoKTsKIH0KIAotdm9pZCBVcGRhdGVSZWdpb25M
YXlvdXRUYXNrOjpvblRpbWVyKFRpbWVyPFVwZGF0ZVJlZ2lvbkxheW91dFRhc2s+KikKK3ZvaWQg
VXBkYXRlUmVnaW9uTGF5b3V0VGFzazo6dGltZXJGaXJlZChUaW1lcjxVcGRhdGVSZWdpb25MYXlv
dXRUYXNrPiYpCiB7CiAgICAgLy8gVGhlIHRpbWVyIGlzIHN0b3BwZWQgb24gbV9jc3NBZ2VudCBk
ZXN0cnVjdGlvbiwgc28gdGhpcyBtZXRob2Qgd2lsbCBuZXZlciBiZSBjYWxsZWQgYWZ0ZXIgbV9j
c3NBZ2VudCBoYXMgYmVlbiBkZXN0cm95ZWQuCiAgICAgVmVjdG9yPHN0ZDo6cGFpcjxXZWJLaXRO
YW1lZEZsb3cqLCBpbnQ+PiBuYW1lZEZsb3dzOwpAQCAtMjkzLDcgKzI5Myw3IEBAIHB1YmxpYzoK
ICAgICB2b2lkIHNjaGVkdWxlRm9yKFdlYktpdE5hbWVkRmxvdyosIGludCBkb2N1bWVudE5vZGVJ
ZCk7CiAgICAgdm9pZCB1bnNjaGVkdWxlKFdlYktpdE5hbWVkRmxvdyopOwogICAgIHZvaWQgcmVz
ZXQoKTsKLSAgICB2b2lkIG9uVGltZXIoVGltZXI8Q2hhbmdlUmVnaW9uT3ZlcnNldFRhc2s+Kik7
CisgICAgdm9pZCB0aW1lckZpcmVkKFRpbWVyPENoYW5nZVJlZ2lvbk92ZXJzZXRUYXNrPiYpOwog
ICAgIAogcHJpdmF0ZToKICAgICBJbnNwZWN0b3JDU1NBZ2VudCogbV9jc3NBZ2VudDsKQEAgLTMw
Myw3ICszMDMsNyBAQCBwcml2YXRlOgogCiBDaGFuZ2VSZWdpb25PdmVyc2V0VGFzazo6Q2hhbmdl
UmVnaW9uT3ZlcnNldFRhc2soSW5zcGVjdG9yQ1NTQWdlbnQqIGNzc0FnZW50KQogICAgIDogbV9j
c3NBZ2VudChjc3NBZ2VudCkKLSAgICAsIG1fdGltZXIodGhpcywgJkNoYW5nZVJlZ2lvbk92ZXJz
ZXRUYXNrOjpvblRpbWVyKQorICAgICwgbV90aW1lcih0aGlzLCAmQ2hhbmdlUmVnaW9uT3ZlcnNl
dFRhc2s6OnRpbWVyRmlyZWQpCiB7CiB9CiAKQEAgLTMyNiw3ICszMjYsNyBAQCB2b2lkIENoYW5n
ZVJlZ2lvbk92ZXJzZXRUYXNrOjpyZXNldCgpCiAgICAgbV9uYW1lZEZsb3dzLmNsZWFyKCk7CiB9
CiAKLXZvaWQgQ2hhbmdlUmVnaW9uT3ZlcnNldFRhc2s6Om9uVGltZXIoVGltZXI8Q2hhbmdlUmVn
aW9uT3ZlcnNldFRhc2s+KikKK3ZvaWQgQ2hhbmdlUmVnaW9uT3ZlcnNldFRhc2s6OnRpbWVyRmly
ZWQoVGltZXI8Q2hhbmdlUmVnaW9uT3ZlcnNldFRhc2s+JikKIHsKICAgICAvLyBUaGUgdGltZXIg
aXMgc3RvcHBlZCBvbiBtX2Nzc0FnZW50IGRlc3RydWN0aW9uLCBzbyB0aGlzIG1ldGhvZCB3aWxs
IG5ldmVyIGJlIGNhbGxlZCBhZnRlciBtX2Nzc0FnZW50IGhhcyBiZWVuIGRlc3Ryb3llZC4KICAg
ICBmb3IgKEhhc2hNYXA8V2ViS2l0TmFtZWRGbG93KiwgaW50Pjo6aXRlcmF0b3IgaXQgPSBtX25h
bWVkRmxvd3MuYmVnaW4oKSwgZW5kID0gbV9uYW1lZEZsb3dzLmVuZCgpOyBpdCAhPSBlbmQ7ICsr
aXQpCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9pbnNwZWN0b3IvSW5zcGVjdG9yRE9NQWdl
bnQuY3BwIGIvU291cmNlL1dlYkNvcmUvaW5zcGVjdG9yL0luc3BlY3RvckRPTUFnZW50LmNwcApp
bmRleCBkZTc5ZDJhMTc2MGQ0YzBiZmFmMGZiNTI5ZjIyZDZjNDhiMDlkZTk1Li5hNTBkNjc0NTQ3
YmNhMjBmZGRiYjRmMDg1ZWU2NmY3NWY1NzhiY2QwIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29y
ZS9pbnNwZWN0b3IvSW5zcGVjdG9yRE9NQWdlbnQuY3BwCisrKyBiL1NvdXJjZS9XZWJDb3JlL2lu
c3BlY3Rvci9JbnNwZWN0b3JET01BZ2VudC5jcHAKQEAgLTE2OCw3ICsxNjgsNyBAQCBwdWJsaWM6
CiAgICAgUmV2YWxpZGF0ZVN0eWxlQXR0cmlidXRlVGFzayhJbnNwZWN0b3JET01BZ2VudCopOwog
ICAgIHZvaWQgc2NoZWR1bGVGb3IoRWxlbWVudCopOwogICAgIHZvaWQgcmVzZXQoKSB7IG1fdGlt
ZXIuc3RvcCgpOyB9Ci0gICAgdm9pZCBvblRpbWVyKFRpbWVyPFJldmFsaWRhdGVTdHlsZUF0dHJp
YnV0ZVRhc2s+Kik7CisgICAgdm9pZCB0aW1lckZpcmVkKFRpbWVyPFJldmFsaWRhdGVTdHlsZUF0
dHJpYnV0ZVRhc2s+Jik7CiAKIHByaXZhdGU6CiAgICAgSW5zcGVjdG9yRE9NQWdlbnQqIG1fZG9t
QWdlbnQ7CkBAIC0xNzgsNyArMTc4LDcgQEAgcHJpdmF0ZToKIAogUmV2YWxpZGF0ZVN0eWxlQXR0
cmlidXRlVGFzazo6UmV2YWxpZGF0ZVN0eWxlQXR0cmlidXRlVGFzayhJbnNwZWN0b3JET01BZ2Vu
dCogZG9tQWdlbnQpCiAgICAgOiBtX2RvbUFnZW50KGRvbUFnZW50KQotICAgICwgbV90aW1lcih0
aGlzLCAmUmV2YWxpZGF0ZVN0eWxlQXR0cmlidXRlVGFzazo6b25UaW1lcikKKyAgICAsIG1fdGlt
ZXIodGhpcywgJlJldmFsaWRhdGVTdHlsZUF0dHJpYnV0ZVRhc2s6OnRpbWVyRmlyZWQpCiB7CiB9
CiAKQEAgLTE4OSw3ICsxODksNyBAQCB2b2lkIFJldmFsaWRhdGVTdHlsZUF0dHJpYnV0ZVRhc2s6
OnNjaGVkdWxlRm9yKEVsZW1lbnQqIGVsZW1lbnQpCiAgICAgICAgIG1fdGltZXIuc3RhcnRPbmVT
aG90KDApOwogfQogCi12b2lkIFJldmFsaWRhdGVTdHlsZUF0dHJpYnV0ZVRhc2s6Om9uVGltZXIo
VGltZXI8UmV2YWxpZGF0ZVN0eWxlQXR0cmlidXRlVGFzaz4qKQordm9pZCBSZXZhbGlkYXRlU3R5
bGVBdHRyaWJ1dGVUYXNrOjp0aW1lckZpcmVkKFRpbWVyPFJldmFsaWRhdGVTdHlsZUF0dHJpYnV0
ZVRhc2s+JikKIHsKICAgICAvLyBUaGUgdGltZXIgaXMgc3RvcHBlZCBvbiBtX2RvbUFnZW50IGRl
c3RydWN0aW9uLCBzbyB0aGlzIG1ldGhvZCB3aWxsIG5ldmVyIGJlIGNhbGxlZCBhZnRlciBtX2Rv
bUFnZW50IGhhcyBiZWVuIGRlc3Ryb3llZC4KICAgICBWZWN0b3I8RWxlbWVudCo+IGVsZW1lbnRz
OwpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvaW5zcGVjdG9yL0luc3BlY3RvckZyb250ZW5k
Q2xpZW50TG9jYWwuY3BwIGIvU291cmNlL1dlYkNvcmUvaW5zcGVjdG9yL0luc3BlY3RvckZyb250
ZW5kQ2xpZW50TG9jYWwuY3BwCmluZGV4IDIzNzNlODIxMTk4NzlkMjEwOTY2NDc5N2JkYzcyZWEx
OTM3MzZiMDguLmE2Y2YwMjc0ZTA0ZDY5YjgzNjYwYjIwNmYwNzU4MzllNDMwNTVjZDkgMTAwNjQ0
Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL2luc3BlY3Rvci9JbnNwZWN0b3JGcm9udGVuZENsaWVudExv
Y2FsLmNwcAorKysgYi9Tb3VyY2UvV2ViQ29yZS9pbnNwZWN0b3IvSW5zcGVjdG9yRnJvbnRlbmRD
bGllbnRMb2NhbC5jcHAKQEAgLTc1LDcgKzc1LDcgQEAgY2xhc3MgSW5zcGVjdG9yQmFja2VuZERp
c3BhdGNoVGFzayB7CiBwdWJsaWM6CiAgICAgSW5zcGVjdG9yQmFja2VuZERpc3BhdGNoVGFzayhJ
bnNwZWN0b3JDb250cm9sbGVyKiBpbnNwZWN0b3JDb250cm9sbGVyKQogICAgICAgICA6IG1faW5z
cGVjdG9yQ29udHJvbGxlcihpbnNwZWN0b3JDb250cm9sbGVyKQotICAgICAgICAsIG1fdGltZXIo
dGhpcywgJkluc3BlY3RvckJhY2tlbmREaXNwYXRjaFRhc2s6Om9uVGltZXIpCisgICAgICAgICwg
bV90aW1lcih0aGlzLCAmSW5zcGVjdG9yQmFja2VuZERpc3BhdGNoVGFzazo6dGltZXJGaXJlZCkK
ICAgICB7CiAgICAgfQogCkBAIC05Miw3ICs5Miw3IEBAIHB1YmxpYzoKICAgICAgICAgbV90aW1l
ci5zdG9wKCk7CiAgICAgfQogCi0gICAgdm9pZCBvblRpbWVyKFRpbWVyPEluc3BlY3RvckJhY2tl
bmREaXNwYXRjaFRhc2s+KikKKyAgICB2b2lkIHRpbWVyRmlyZWQoVGltZXI8SW5zcGVjdG9yQmFj
a2VuZERpc3BhdGNoVGFzaz4mKQogICAgIHsKICAgICAgICAgaWYgKCFtX21lc3NhZ2VzLmlzRW1w
dHkoKSkgewogICAgICAgICAgICAgLy8gRGlzcGF0Y2ggY2FuIGxlYWQgdG8gdGhlIHRpbWVyIGRl
c3RydWN0aW9uIC0+IHNjaGVkdWxlIHRoZSBuZXh0IHNob3QgZmlyc3QuCmRpZmYgLS1naXQgYS9T
b3VyY2UvV2ViQ29yZS9sb2FkZXIvRG9jdW1lbnRMb2FkZXIuY3BwIGIvU291cmNlL1dlYkNvcmUv
bG9hZGVyL0RvY3VtZW50TG9hZGVyLmNwcAppbmRleCBiYTljYjBhZDYwMmU1MjdkZTBkZGIwY2I1
Y2I5OWI3ODUwNGY0NDk4Li4wNmJkNzU5ZDhkMTU4NWY1NGZjYTE1ZTEwNWFmNDM1YTg4Njg1NWMy
IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9sb2FkZXIvRG9jdW1lbnRMb2FkZXIuY3BwCisr
KyBiL1NvdXJjZS9XZWJDb3JlL2xvYWRlci9Eb2N1bWVudExvYWRlci5jcHAKQEAgLTExNDAsNyAr
MTE0MCw3IEBAIHZvaWQgRG9jdW1lbnRMb2FkZXI6OmRlbGl2ZXJTdWJzdGl0dXRlUmVzb3VyY2Vz
QWZ0ZXJEZWxheSgpCiAgICAgICAgIG1fc3Vic3RpdHV0ZVJlc291cmNlRGVsaXZlcnlUaW1lci5z
dGFydE9uZVNob3QoMCk7CiB9CiAKLXZvaWQgRG9jdW1lbnRMb2FkZXI6OnN1YnN0aXR1dGVSZXNv
dXJjZURlbGl2ZXJ5VGltZXJGaXJlZChUaW1lcjxEb2N1bWVudExvYWRlcj4qKQordm9pZCBEb2N1
bWVudExvYWRlcjo6c3Vic3RpdHV0ZVJlc291cmNlRGVsaXZlcnlUaW1lckZpcmVkKFRpbWVyPERv
Y3VtZW50TG9hZGVyPiYpCiB7CiAgICAgaWYgKG1fcGVuZGluZ1N1YnN0aXR1dGVSZXNvdXJjZXMu
aXNFbXB0eSgpKQogICAgICAgICByZXR1cm47CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9s
b2FkZXIvRG9jdW1lbnRMb2FkZXIuaCBiL1NvdXJjZS9XZWJDb3JlL2xvYWRlci9Eb2N1bWVudExv
YWRlci5oCmluZGV4IDE1MWQzNjk0ZDRkNTJmYWYwNzU5N2JkYzBhYmJmOWViNzkyNjU5YjEuLmM0
ZmYwNzNlNDEyYThhMmM4NThhNTE5ZTdkNGFhYTAxN2Q4MzVlMGEgMTAwNjQ0Ci0tLSBhL1NvdXJj
ZS9XZWJDb3JlL2xvYWRlci9Eb2N1bWVudExvYWRlci5oCisrKyBiL1NvdXJjZS9XZWJDb3JlL2xv
YWRlci9Eb2N1bWVudExvYWRlci5oCkBAIC0zMjMsNyArMzIzLDcgQEAgbmFtZXNwYWNlIFdlYkNv
cmUgewogICAgICAgICB2b2lkIHN0YXJ0RGF0YUxvYWRUaW1lcigpOwogCiAgICAgICAgIHZvaWQg
ZGVsaXZlclN1YnN0aXR1dGVSZXNvdXJjZXNBZnRlckRlbGF5KCk7Ci0gICAgICAgIHZvaWQgc3Vi
c3RpdHV0ZVJlc291cmNlRGVsaXZlcnlUaW1lckZpcmVkKFRpbWVyPERvY3VtZW50TG9hZGVyPiop
OworICAgICAgICB2b2lkIHN1YnN0aXR1dGVSZXNvdXJjZURlbGl2ZXJ5VGltZXJGaXJlZChUaW1l
cjxEb2N1bWVudExvYWRlcj4mKTsKIAogICAgICAgICB2b2lkIGNsZWFyTWFpblJlc291cmNlKCk7
CiAKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL2xvYWRlci9GcmFtZUxvYWRlci5jcHAgYi9T
b3VyY2UvV2ViQ29yZS9sb2FkZXIvRnJhbWVMb2FkZXIuY3BwCmluZGV4IGZhYTYxMjA3NTQ2M2Qw
OWM4ZTQ3NmQ4MzE5MzUxOTY0OGMyNGFjNGIuLmE1YjU3ZDlhMmFhOGMwNjcyMjUwOGVhODQ4OGM4
NzNhOTI3NjU2MzIgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL2xvYWRlci9GcmFtZUxvYWRl
ci5jcHAKKysrIGIvU291cmNlL1dlYkNvcmUvbG9hZGVyL0ZyYW1lTG9hZGVyLmNwcApAQCAtODUx
LDcgKzg1MSw3IEBAIHZvaWQgRnJhbWVMb2FkZXI6OmNoZWNrQ29tcGxldGVkKCkKICAgICAgICAg
bV9mcmFtZS52aWV3KCktPmhhbmRsZUxvYWRDb21wbGV0ZWQoKTsKIH0KIAotdm9pZCBGcmFtZUxv
YWRlcjo6Y2hlY2tUaW1lckZpcmVkKFRpbWVyPEZyYW1lTG9hZGVyPiopCit2b2lkIEZyYW1lTG9h
ZGVyOjpjaGVja1RpbWVyRmlyZWQoVGltZXI8RnJhbWVMb2FkZXI+JikKIHsKICAgICBSZWY8RnJh
bWU+IHByb3RlY3QobV9mcmFtZSk7CiAKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL2xvYWRl
ci9GcmFtZUxvYWRlci5oIGIvU291cmNlL1dlYkNvcmUvbG9hZGVyL0ZyYW1lTG9hZGVyLmgKaW5k
ZXggYjlmOTlkMTVhNDZiMDNmYzUxODVlNzZjZDE1Yzc5YzNlMzY5YWRkYS4uOTk4ZjhjNWY0N2Yx
ZDcxOTYzMGI1MGRhZjllZmY5NzQxZDI4YTU4OCAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUv
bG9hZGVyL0ZyYW1lTG9hZGVyLmgKKysrIGIvU291cmNlL1dlYkNvcmUvbG9hZGVyL0ZyYW1lTG9h
ZGVyLmgKQEAgLTMwMyw3ICszMDMsNyBAQCBwcml2YXRlOgogCiAgICAgYm9vbCBhbGxDaGlsZHJl
bkFyZUNvbXBsZXRlKCkgY29uc3Q7IC8vIGltbWVkaWF0ZSBjaGlsZHJlbiwgbm90IGFsbCBkZXNj
ZW5kYW50cwogCi0gICAgdm9pZCBjaGVja1RpbWVyRmlyZWQoVGltZXI8RnJhbWVMb2FkZXI+Kik7
CisgICAgdm9pZCBjaGVja1RpbWVyRmlyZWQoVGltZXI8RnJhbWVMb2FkZXI+Jik7CiAgICAgCiAg
ICAgdm9pZCBsb2FkU2FtZURvY3VtZW50SXRlbShIaXN0b3J5SXRlbSopOwogICAgIHZvaWQgbG9h
ZERpZmZlcmVudERvY3VtZW50SXRlbShIaXN0b3J5SXRlbSosIEZyYW1lTG9hZFR5cGUsIEZvcm1T
dWJtaXNzaW9uQ2FjaGVMb2FkUG9saWN5KTsKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL2xv
YWRlci9JbWFnZUxvYWRlci5jcHAgYi9Tb3VyY2UvV2ViQ29yZS9sb2FkZXIvSW1hZ2VMb2FkZXIu
Y3BwCmluZGV4IDg1ZjZiMjIyN2MyZThhMGE0NGYyYzU0MzI3NGYyYTZiZTE3Njc4OTguLjYwZWI5
NDY4OWI2ZDZjNTJmNmUxMTZmOTllMjgyYWY1YWI2YmEyYmQgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9X
ZWJDb3JlL2xvYWRlci9JbWFnZUxvYWRlci5jcHAKKysrIGIvU291cmNlL1dlYkNvcmUvbG9hZGVy
L0ltYWdlTG9hZGVyLmNwcApAQCAtMzc4LDcgKzM3OCw3IEBAIHZvaWQgSW1hZ2VMb2FkZXI6OnVw
ZGF0ZWRIYXNQZW5kaW5nRXZlbnQoKQogICAgIH0gICAKIH0KIAotdm9pZCBJbWFnZUxvYWRlcjo6
dGltZXJGaXJlZChUaW1lcjxJbWFnZUxvYWRlcj4qKQordm9pZCBJbWFnZUxvYWRlcjo6dGltZXJG
aXJlZChUaW1lcjxJbWFnZUxvYWRlcj4mKQogewogICAgIG1fZWxlbWVudC0+ZGVyZWYoKTsKIH0K
ZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL2xvYWRlci9JbWFnZUxvYWRlci5oIGIvU291cmNl
L1dlYkNvcmUvbG9hZGVyL0ltYWdlTG9hZGVyLmgKaW5kZXggMjcxZTk4Mjc1M2M4NzFjMWU1MjJk
YmEyMjFlOTAzODhjOTQ3MGY3MC4uNWNmN2QxMmRiMmVmNzBiMDlmNTc3NTY3ZjA3N2U0NGJlN2My
YWJlYiAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvbG9hZGVyL0ltYWdlTG9hZGVyLmgKKysr
IGIvU291cmNlL1dlYkNvcmUvbG9hZGVyL0ltYWdlTG9hZGVyLmgKQEAgLTg4LDcgKzg4LDcgQEAg
cHJpdmF0ZToKICAgICB2b2lkIHNldEltYWdlV2l0aG91dENvbnNpZGVyaW5nUGVuZGluZ0xvYWRF
dmVudChDYWNoZWRJbWFnZSopOwogICAgIHZvaWQgY2xlYXJGYWlsZWRMb2FkVVJMKCk7CiAKLSAg
ICB2b2lkIHRpbWVyRmlyZWQoVGltZXI8SW1hZ2VMb2FkZXI+Kik7CisgICAgdm9pZCB0aW1lckZp
cmVkKFRpbWVyPEltYWdlTG9hZGVyPiYpOwogCiAgICAgRWxlbWVudCogbV9lbGVtZW50OwogICAg
IENhY2hlZFJlc291cmNlSGFuZGxlPENhY2hlZEltYWdlPiBtX2ltYWdlOwpkaWZmIC0tZ2l0IGEv
U291cmNlL1dlYkNvcmUvbG9hZGVyL0xpbmtMb2FkZXIuY3BwIGIvU291cmNlL1dlYkNvcmUvbG9h
ZGVyL0xpbmtMb2FkZXIuY3BwCmluZGV4IDE3YzczM2QzZTMzM2NjZGQ0OGM5YWVmZTMyZjRiNjUy
NGQ3ZjY0NGEuLmU2M2JiZjBjMjJlNTZkNmNlYTE1YWYzMWZlN2Q4ZTM5YTQ5N2I3MjQgMTAwNjQ0
Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL2xvYWRlci9MaW5rTG9hZGVyLmNwcAorKysgYi9Tb3VyY2Uv
V2ViQ29yZS9sb2FkZXIvTGlua0xvYWRlci5jcHAKQEAgLTYwLDE1ICs2MCwxNSBAQCBMaW5rTG9h
ZGVyOjp+TGlua0xvYWRlcigpCiAgICAgICAgIG1fY2FjaGVkTGlua1Jlc291cmNlLT5yZW1vdmVD
bGllbnQodGhpcyk7CiB9CiAKLXZvaWQgTGlua0xvYWRlcjo6bGlua0xvYWRUaW1lckZpcmVkKFRp
bWVyPExpbmtMb2FkZXI+KiB0aW1lcikKK3ZvaWQgTGlua0xvYWRlcjo6bGlua0xvYWRUaW1lckZp
cmVkKFRpbWVyPExpbmtMb2FkZXI+JiB0aW1lcikKIHsKLSAgICBBU1NFUlRfVU5VU0VEKHRpbWVy
LCB0aW1lciA9PSAmbV9saW5rTG9hZFRpbWVyKTsKKyAgICBBU1NFUlRfVU5VU0VEKHRpbWVyLCAm
dGltZXIgPT0gJm1fbGlua0xvYWRUaW1lcik7CiAgICAgbV9jbGllbnQtPmxpbmtMb2FkZWQoKTsK
IH0KIAotdm9pZCBMaW5rTG9hZGVyOjpsaW5rTG9hZGluZ0Vycm9yVGltZXJGaXJlZChUaW1lcjxM
aW5rTG9hZGVyPiogdGltZXIpCit2b2lkIExpbmtMb2FkZXI6OmxpbmtMb2FkaW5nRXJyb3JUaW1l
ckZpcmVkKFRpbWVyPExpbmtMb2FkZXI+JiB0aW1lcikKIHsKLSAgICBBU1NFUlRfVU5VU0VEKHRp
bWVyLCB0aW1lciA9PSAmbV9saW5rTG9hZGluZ0Vycm9yVGltZXIpOworICAgIEFTU0VSVF9VTlVT
RUQodGltZXIsICZ0aW1lciA9PSAmbV9saW5rTG9hZGluZ0Vycm9yVGltZXIpOwogICAgIG1fY2xp
ZW50LT5saW5rTG9hZGluZ0Vycm9yZWQoKTsKIH0KIApkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNv
cmUvbG9hZGVyL0xpbmtMb2FkZXIuaCBiL1NvdXJjZS9XZWJDb3JlL2xvYWRlci9MaW5rTG9hZGVy
LmgKaW5kZXggMjc3ZWM0MzgyNzQ4NjZhMzZhYWJiNTRlNzkxOWNjYTBlMjE2NmM0Yi4uOWI1ZDhj
Yjc2Y2ZmMDM5MDY5MTQxMWVlNzg3YmVkNGM0YjE3NzJmZiAxMDA2NDQKLS0tIGEvU291cmNlL1dl
YkNvcmUvbG9hZGVyL0xpbmtMb2FkZXIuaAorKysgYi9Tb3VyY2UvV2ViQ29yZS9sb2FkZXIvTGlu
a0xvYWRlci5oCkBAIC01OSw4ICs1OSw4IEBAIHB1YmxpYzoKICAgICBib29sIGxvYWRMaW5rKGNv
bnN0IExpbmtSZWxBdHRyaWJ1dGUmLCBjb25zdCBTdHJpbmcmIHR5cGUsIGNvbnN0IFN0cmluZyYg
c2l6ZXMsIGNvbnN0IFVSTCYsIERvY3VtZW50Kik7CiAKIHByaXZhdGU6Ci0gICAgdm9pZCBsaW5r
TG9hZFRpbWVyRmlyZWQoVGltZXI8TGlua0xvYWRlcj4qKTsKLSAgICB2b2lkIGxpbmtMb2FkaW5n
RXJyb3JUaW1lckZpcmVkKFRpbWVyPExpbmtMb2FkZXI+Kik7CisgICAgdm9pZCBsaW5rTG9hZFRp
bWVyRmlyZWQoVGltZXI8TGlua0xvYWRlcj4mKTsKKyAgICB2b2lkIGxpbmtMb2FkaW5nRXJyb3JU
aW1lckZpcmVkKFRpbWVyPExpbmtMb2FkZXI+Jik7CiAKICAgICBMaW5rTG9hZGVyQ2xpZW50KiBt
X2NsaWVudDsKIApkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvbG9hZGVyL05hdmlnYXRpb25T
Y2hlZHVsZXIuY3BwIGIvU291cmNlL1dlYkNvcmUvbG9hZGVyL05hdmlnYXRpb25TY2hlZHVsZXIu
Y3BwCmluZGV4IGJkYmFkMjQ1ZDFiNTFlY2ZiYmRhNDY1OWI1MzdiYjQ2ZTdkYmZkNmMuLmUyNTFl
MDc1MmIyMGYzMmM0NGNlMzZkNmFjNmJlMThhZTE2ZmJkMWUgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9X
ZWJDb3JlL2xvYWRlci9OYXZpZ2F0aW9uU2NoZWR1bGVyLmNwcAorKysgYi9Tb3VyY2UvV2ViQ29y
ZS9sb2FkZXIvTmF2aWdhdGlvblNjaGVkdWxlci5jcHAKQEAgLTQxNiw3ICs0MTYsNyBAQCB2b2lk
IE5hdmlnYXRpb25TY2hlZHVsZXI6OnNjaGVkdWxlSGlzdG9yeU5hdmlnYXRpb24oaW50IHN0ZXBz
KQogICAgIHNjaGVkdWxlKHN0ZDo6bWFrZV91bmlxdWU8U2NoZWR1bGVkSGlzdG9yeU5hdmlnYXRp
b24+KHN0ZXBzKSk7CiB9CiAKLXZvaWQgTmF2aWdhdGlvblNjaGVkdWxlcjo6dGltZXJGaXJlZChU
aW1lcjxOYXZpZ2F0aW9uU2NoZWR1bGVyPiopCit2b2lkIE5hdmlnYXRpb25TY2hlZHVsZXI6OnRp
bWVyRmlyZWQoVGltZXI8TmF2aWdhdGlvblNjaGVkdWxlcj4mKQogewogICAgIGlmICghbV9mcmFt
ZS5wYWdlKCkpCiAgICAgICAgIHJldHVybjsKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL2xv
YWRlci9OYXZpZ2F0aW9uU2NoZWR1bGVyLmggYi9Tb3VyY2UvV2ViQ29yZS9sb2FkZXIvTmF2aWdh
dGlvblNjaGVkdWxlci5oCmluZGV4IDY1YWFlZGU2NDBlNDUyOTk1NDFmYjMyNDhlNGQxZjAxNTY2
ZDgyODQuLjc4NzU2ZDZjZmIzZDYyMTdhNjkyOWMzNDU0YWM3YjIwNTE2M2FhODAgMTAwNjQ0Ci0t
LSBhL1NvdXJjZS9XZWJDb3JlL2xvYWRlci9OYXZpZ2F0aW9uU2NoZWR1bGVyLmgKKysrIGIvU291
cmNlL1dlYkNvcmUvbG9hZGVyL05hdmlnYXRpb25TY2hlZHVsZXIuaApAQCAtODcsNyArODcsNyBA
QCBwcml2YXRlOgogICAgIGJvb2wgc2hvdWxkU2NoZWR1bGVOYXZpZ2F0aW9uKCkgY29uc3Q7CiAg
ICAgYm9vbCBzaG91bGRTY2hlZHVsZU5hdmlnYXRpb24oY29uc3QgU3RyaW5nJiB1cmwpIGNvbnN0
OwogCi0gICAgdm9pZCB0aW1lckZpcmVkKFRpbWVyPE5hdmlnYXRpb25TY2hlZHVsZXI+Kik7Cisg
ICAgdm9pZCB0aW1lckZpcmVkKFRpbWVyPE5hdmlnYXRpb25TY2hlZHVsZXI+Jik7CiAgICAgdm9p
ZCBzY2hlZHVsZShzdGQ6OnVuaXF1ZV9wdHI8U2NoZWR1bGVkTmF2aWdhdGlvbj4pOwogCiAgICAg
c3RhdGljIGJvb2wgbXVzdExvY2tCYWNrRm9yd2FyZExpc3QoRnJhbWUmIHRhcmdldEZyYW1lKTsK
ZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL2xvYWRlci9QaW5nTG9hZGVyLmNwcCBiL1NvdXJj
ZS9XZWJDb3JlL2xvYWRlci9QaW5nTG9hZGVyLmNwcAppbmRleCBhNjEzZWQxMzQxM2Q0ZGQ3NzNj
Y2MyZWJkNDkzMTU4MGZiYWM0ZTcxLi43MGYyYjI1NDhjMzA1MmVlMGU3NDBhZDlmY2U5MjBjYjhh
M2MwZWFjIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9sb2FkZXIvUGluZ0xvYWRlci5jcHAK
KysrIGIvU291cmNlL1dlYkNvcmUvbG9hZGVyL1BpbmdMb2FkZXIuY3BwCkBAIC0xMTQsNyArMTE0
LDcgQEAgdm9pZCBQaW5nTG9hZGVyOjpjcmVhdGVQaW5nTG9hZGVyKEZyYW1lKiBmcmFtZSwgUmVz
b3VyY2VSZXF1ZXN0JiByZXF1ZXN0KQogfQogCiBQaW5nTG9hZGVyOjpQaW5nTG9hZGVyKEZyYW1l
KiBmcmFtZSwgUmVzb3VyY2VSZXF1ZXN0JiByZXF1ZXN0KQotICAgIDogbV90aW1lb3V0KHRoaXMs
ICZQaW5nTG9hZGVyOjp0aW1lb3V0KQorICAgIDogbV90aW1lb3V0KHRoaXMsICZQaW5nTG9hZGVy
Ojp0aW1lb3V0VGltZXJGaXJlZCkKIHsKICAgICB1bnNpZ25lZCBsb25nIGlkZW50aWZpZXIgPSBm
cmFtZS0+cGFnZSgpLT5wcm9ncmVzcygpLmNyZWF0ZVVuaXF1ZUlkZW50aWZpZXIoKTsKICAgICAv
LyBGSVhNRTogV2h5IGFjdGl2ZURvY3VtZW50TG9hZGVyPyBJIHdvdWxkIGhhdmUgZXhwZWN0ZWQg
ZG9jdW1lbnRMb2FkZXIoKS4KZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL2xvYWRlci9QaW5n
TG9hZGVyLmggYi9Tb3VyY2UvV2ViQ29yZS9sb2FkZXIvUGluZ0xvYWRlci5oCmluZGV4IDM1OGQ2
MzUzODk4OTljMTJiODRmOTUzZTlhMzg4YTdkZTk1NzVhNDcuLjNkMzExMjcyNjU5OTA4MWQ4NGFi
YjlhNGI1ZjFmNTA5ZDRhNTVkOGQgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL2xvYWRlci9Q
aW5nTG9hZGVyLmgKKysrIGIvU291cmNlL1dlYkNvcmUvbG9hZGVyL1BpbmdMb2FkZXIuaApAQCAt
NjksNyArNjksNyBAQCBwcml2YXRlOgogICAgIHZpcnR1YWwgdm9pZCBkaWRGaW5pc2hMb2FkaW5n
KFJlc291cmNlSGFuZGxlKiwgZG91YmxlKSBPVkVSUklERSB7IGRlbGV0ZSB0aGlzOyB9CiAgICAg
dmlydHVhbCB2b2lkIGRpZEZhaWwoUmVzb3VyY2VIYW5kbGUqLCBjb25zdCBSZXNvdXJjZUVycm9y
JikgT1ZFUlJJREUgeyBkZWxldGUgdGhpczsgfQogICAgIHZpcnR1YWwgYm9vbCBzaG91bGRVc2VD
cmVkZW50aWFsU3RvcmFnZShSZXNvdXJjZUhhbmRsZSopICBPVkVSUklERSB7IHJldHVybiBtX3No
b3VsZFVzZUNyZWRlbnRpYWxTdG9yYWdlOyB9Ci0gICAgdm9pZCB0aW1lb3V0KFRpbWVyPFBpbmdM
b2FkZXI+KikgeyBkZWxldGUgdGhpczsgfQorICAgIHZvaWQgdGltZW91dFRpbWVyRmlyZWQoVGlt
ZXI8UGluZ0xvYWRlcj4mKSB7IGRlbGV0ZSB0aGlzOyB9CiAKICAgICBSZWZQdHI8UmVzb3VyY2VI
YW5kbGU+IG1faGFuZGxlOwogICAgIFRpbWVyPFBpbmdMb2FkZXI+IG1fdGltZW91dDsKZGlmZiAt
LWdpdCBhL1NvdXJjZS9XZWJDb3JlL2xvYWRlci9Qcm9ncmVzc1RyYWNrZXIuY3BwIGIvU291cmNl
L1dlYkNvcmUvbG9hZGVyL1Byb2dyZXNzVHJhY2tlci5jcHAKaW5kZXggMDBmN2JlNmE3YmM4OWRi
MThhMmM2YmE0ZTc2YWM3OGYxOGFkY2Q3YS4uNTAxZTFmNGFkZWRlZGMzMDBiMjkwOThhMTc0N2Q1
YWQwMGIyZmEwMSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvbG9hZGVyL1Byb2dyZXNzVHJh
Y2tlci5jcHAKKysrIGIvU291cmNlL1dlYkNvcmUvbG9hZGVyL1Byb2dyZXNzVHJhY2tlci5jcHAK
QEAgLTI5OCw3ICsyOTgsNyBAQCBib29sIFByb2dyZXNzVHJhY2tlcjo6aXNNYWluTG9hZFByb2dy
ZXNzaW5nKCkgY29uc3QKICAgICByZXR1cm4gbV9wcm9ncmVzc1ZhbHVlICYmIG1fcHJvZ3Jlc3NW
YWx1ZSA8IGZpbmFsUHJvZ3Jlc3NWYWx1ZSAmJiBtX2hlYXJ0YmVhdHNXaXRoTm9Qcm9ncmVzcyA8
IGxvYWRTdGFsbGVkSGVhcnRiZWF0Q291bnQ7CiB9CiAKLXZvaWQgUHJvZ3Jlc3NUcmFja2VyOjpw
cm9ncmVzc0hlYXJ0YmVhdFRpbWVyRmlyZWQoVGltZXI8UHJvZ3Jlc3NUcmFja2VyPiopCit2b2lk
IFByb2dyZXNzVHJhY2tlcjo6cHJvZ3Jlc3NIZWFydGJlYXRUaW1lckZpcmVkKFRpbWVyPFByb2dy
ZXNzVHJhY2tlcj4mKQogewogICAgIGlmIChtX3RvdGFsQnl0ZXNSZWNlaXZlZCA8IG1fdG90YWxC
eXRlc1JlY2VpdmVkQmVmb3JlUHJldmlvdXNIZWFydGJlYXQgKyBtaW51bXVtQnl0ZXNQZXJIZWFy
dGJlYXRGb3JQcm9ncmVzcykKICAgICAgICAgKyttX2hlYXJ0YmVhdHNXaXRoTm9Qcm9ncmVzczsK
ZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL2xvYWRlci9Qcm9ncmVzc1RyYWNrZXIuaCBiL1Nv
dXJjZS9XZWJDb3JlL2xvYWRlci9Qcm9ncmVzc1RyYWNrZXIuaAppbmRleCAyNGU5Mzc3YTFhYTlj
MjU4NDdkNTMzOGRjN2U1NGU1YzM2OTRhOGI1Li40M2QyYjgzZTU2ODRkZGEzZDA2ZmNjNTVhYWE0
YWZhMmUwMjAwYzJhIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9sb2FkZXIvUHJvZ3Jlc3NU
cmFja2VyLmgKKysrIGIvU291cmNlL1dlYkNvcmUvbG9hZGVyL1Byb2dyZXNzVHJhY2tlci5oCkBA
IC02Niw3ICs2Niw3IEBAIHByaXZhdGU6CiAgICAgdm9pZCByZXNldCgpOwogICAgIHZvaWQgZmlu
YWxQcm9ncmVzc0NvbXBsZXRlKCk7CiAKLSAgICB2b2lkIHByb2dyZXNzSGVhcnRiZWF0VGltZXJG
aXJlZChUaW1lcjxQcm9ncmVzc1RyYWNrZXI+Kik7CisgICAgdm9pZCBwcm9ncmVzc0hlYXJ0YmVh
dFRpbWVyRmlyZWQoVGltZXI8UHJvZ3Jlc3NUcmFja2VyPiYpOwogICAgIAogICAgIHN0YXRpYyB1
bnNpZ25lZCBsb25nIHNfdW5pcXVlSWRlbnRpZmllcjsKICAgICAKZGlmZiAtLWdpdCBhL1NvdXJj
ZS9XZWJDb3JlL2xvYWRlci9SZXNvdXJjZUxvYWRTY2hlZHVsZXIuY3BwIGIvU291cmNlL1dlYkNv
cmUvbG9hZGVyL1Jlc291cmNlTG9hZFNjaGVkdWxlci5jcHAKaW5kZXggZjU5ZDMxMTQ3YTA1YThj
ZjkzN2IxOWE5M2Q1MjcyNmMzNGM2ZGExOC4uYTU2ZjkyMjQxYmYyYWYwYTQ5NmU5YTQ2MjQ3NjE3
NmI5NmMwYmRhMiAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvbG9hZGVyL1Jlc291cmNlTG9h
ZFNjaGVkdWxlci5jcHAKKysrIGIvU291cmNlL1dlYkNvcmUvbG9hZGVyL1Jlc291cmNlTG9hZFNj
aGVkdWxlci5jcHAKQEAgLTMxMCw3ICszMTAsNyBAQCB2b2lkIFJlc291cmNlTG9hZFNjaGVkdWxl
cjo6c2NoZWR1bGVTZXJ2ZVBlbmRpbmdSZXF1ZXN0cygpCiAgICAgICAgIG1fcmVxdWVzdFRpbWVy
LnN0YXJ0T25lU2hvdCgwKTsKIH0KIAotdm9pZCBSZXNvdXJjZUxvYWRTY2hlZHVsZXI6OnJlcXVl
c3RUaW1lckZpcmVkKFRpbWVyPFJlc291cmNlTG9hZFNjaGVkdWxlcj4qKSAKK3ZvaWQgUmVzb3Vy
Y2VMb2FkU2NoZWR1bGVyOjpyZXF1ZXN0VGltZXJGaXJlZChUaW1lcjxSZXNvdXJjZUxvYWRTY2hl
ZHVsZXI+JikKIHsKICAgICBMT0coUmVzb3VyY2VMb2FkaW5nLCAiUmVzb3VyY2VMb2FkU2NoZWR1
bGVyOjpyZXF1ZXN0VGltZXJGaXJlZFxuIik7CiAgICAgc2VydmVQZW5kaW5nUmVxdWVzdHMoKTsK
ZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL2xvYWRlci9SZXNvdXJjZUxvYWRTY2hlZHVsZXIu
aCBiL1NvdXJjZS9XZWJDb3JlL2xvYWRlci9SZXNvdXJjZUxvYWRTY2hlZHVsZXIuaAppbmRleCA2
MDVmMzRjYzU4OWViNWU2M2Q3OTgyOGI0MWQyYjZkN2U5YmM2ZjUzLi45NjU0YWU4YjhhOGIyMTE0
NDAwOWYxNmQ4YjMzYTEyMWVjM2NhNmM5IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9sb2Fk
ZXIvUmVzb3VyY2VMb2FkU2NoZWR1bGVyLmgKKysrIGIvU291cmNlL1dlYkNvcmUvbG9hZGVyL1Jl
c291cmNlTG9hZFNjaGVkdWxlci5oCkBAIC03MSw3ICs3MSw3IEBAIHByb3RlY3RlZDoKIHByaXZh
dGU6CiAgICAgdm9pZCBzY2hlZHVsZUxvYWQoUmVzb3VyY2VMb2FkZXIqLCBSZXNvdXJjZUxvYWRQ
cmlvcml0eSk7CiAgICAgdm9pZCBzY2hlZHVsZVNlcnZlUGVuZGluZ1JlcXVlc3RzKCk7Ci0gICAg
dm9pZCByZXF1ZXN0VGltZXJGaXJlZChUaW1lcjxSZXNvdXJjZUxvYWRTY2hlZHVsZXI+Kik7Cisg
ICAgdm9pZCByZXF1ZXN0VGltZXJGaXJlZChUaW1lcjxSZXNvdXJjZUxvYWRTY2hlZHVsZXI+Jik7
CiAKICAgICBib29sIGlzU3VzcGVuZGluZ1BlbmRpbmdSZXF1ZXN0cygpIGNvbnN0IHsgcmV0dXJu
ICEhbV9zdXNwZW5kUGVuZGluZ1JlcXVlc3RzQ291bnQ7IH0KIApkaWZmIC0tZ2l0IGEvU291cmNl
L1dlYkNvcmUvbG9hZGVyL2NhY2hlL0NhY2hlZFJlc291cmNlLmNwcCBiL1NvdXJjZS9XZWJDb3Jl
L2xvYWRlci9jYWNoZS9DYWNoZWRSZXNvdXJjZS5jcHAKaW5kZXggMzlkZDgzOWI3NjRjYmNiMTVm
MTZiMzUxMDU1NmMzNThjZWQwNTg1Yy4uNTYzZDUwNmMyNzAxNzAyNGIxYWVmNGM4NzEwZmM4NzMy
ZGI4ZWUyMCAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvbG9hZGVyL2NhY2hlL0NhY2hlZFJl
c291cmNlLmNwcAorKysgYi9Tb3VyY2UvV2ViQ29yZS9sb2FkZXIvY2FjaGUvQ2FjaGVkUmVzb3Vy
Y2UuY3BwCkBAIC01MzksNyArNTM5LDcgQEAgdm9pZCBDYWNoZWRSZXNvdXJjZTo6ZGVzdHJveURl
Y29kZWREYXRhSWZOZWVkZWQoKQogICAgIG1fZGVjb2RlZERhdGFEZWxldGlvblRpbWVyLnJlc3Rh
cnQoKTsKIH0KIAotdm9pZCBDYWNoZWRSZXNvdXJjZTo6ZGVjb2RlZERhdGFEZWxldGlvblRpbWVy
RmlyZWQoRGVmZXJyYWJsZU9uZVNob3RUaW1lcjxDYWNoZWRSZXNvdXJjZT4qKQordm9pZCBDYWNo
ZWRSZXNvdXJjZTo6ZGVjb2RlZERhdGFEZWxldGlvblRpbWVyRmlyZWQoRGVmZXJyYWJsZU9uZVNo
b3RUaW1lcjxDYWNoZWRSZXNvdXJjZT4mKQogewogICAgIGRlc3Ryb3lEZWNvZGVkRGF0YSgpOwog
fQpAQCAtODg0LDcgKzg4NCw3IEBAIHZvaWQgQ2FjaGVkUmVzb3VyY2U6OkNhY2hlZFJlc291cmNl
Q2FsbGJhY2s6OmNhbmNlbCgpCiAgICAgICAgIG1fY2FsbGJhY2tUaW1lci5zdG9wKCk7CiB9CiAK
LXZvaWQgQ2FjaGVkUmVzb3VyY2U6OkNhY2hlZFJlc291cmNlQ2FsbGJhY2s6OnRpbWVyRmlyZWQo
VGltZXI8Q2FjaGVkUmVzb3VyY2VDYWxsYmFjaz4qKQordm9pZCBDYWNoZWRSZXNvdXJjZTo6Q2Fj
aGVkUmVzb3VyY2VDYWxsYmFjazo6dGltZXJGaXJlZChUaW1lcjxDYWNoZWRSZXNvdXJjZUNhbGxi
YWNrPiYpCiB7CiAgICAgbV9yZXNvdXJjZS0+ZGlkQWRkQ2xpZW50KG1fY2xpZW50KTsKIH0KZGlm
ZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL2xvYWRlci9jYWNoZS9DYWNoZWRSZXNvdXJjZS5oIGIv
U291cmNlL1dlYkNvcmUvbG9hZGVyL2NhY2hlL0NhY2hlZFJlc291cmNlLmgKaW5kZXggNzhmNmE1
MWIyN2M5YjE5MDQ4NzVhYjQ5NTg5NGJkODIzNWVlNzIwYi4uOTE3OTRmMjQ0MWQ0ZTlkZWM4MzIy
MjU1ZTkyNDRlYWM3MDUzM2Y2OCAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvbG9hZGVyL2Nh
Y2hlL0NhY2hlZFJlc291cmNlLmgKKysrIGIvU291cmNlL1dlYkNvcmUvbG9hZGVyL2NhY2hlL0Nh
Y2hlZFJlc291cmNlLmgKQEAgLTI4NCw3ICsyODQsNyBAQCBwcm90ZWN0ZWQ6CiAgICAgICAgIHZv
aWQgY2FuY2VsKCk7CiAgICAgcHJpdmF0ZToKICAgICAgICAgQ2FjaGVkUmVzb3VyY2VDYWxsYmFj
ayhDYWNoZWRSZXNvdXJjZSosIENhY2hlZFJlc291cmNlQ2xpZW50Kik7Ci0gICAgICAgIHZvaWQg
dGltZXJGaXJlZChUaW1lcjxDYWNoZWRSZXNvdXJjZUNhbGxiYWNrPiopOworICAgICAgICB2b2lk
IHRpbWVyRmlyZWQoVGltZXI8Q2FjaGVkUmVzb3VyY2VDYWxsYmFjaz4mKTsKIAogICAgICAgICBD
YWNoZWRSZXNvdXJjZSogbV9yZXNvdXJjZTsKICAgICAgICAgQ2FjaGVkUmVzb3VyY2VDbGllbnQq
IG1fY2xpZW50OwpAQCAtMzA4LDcgKzMwOCw3IEBAIHByb3RlY3RlZDoKIHByaXZhdGU6CiAgICAg
Ym9vbCBhZGRDbGllbnRUb1NldChDYWNoZWRSZXNvdXJjZUNsaWVudCopOwogCi0gICAgdm9pZCBk
ZWNvZGVkRGF0YURlbGV0aW9uVGltZXJGaXJlZChEZWZlcnJhYmxlT25lU2hvdFRpbWVyPENhY2hl
ZFJlc291cmNlPiopOworICAgIHZvaWQgZGVjb2RlZERhdGFEZWxldGlvblRpbWVyRmlyZWQoRGVm
ZXJyYWJsZU9uZVNob3RUaW1lcjxDYWNoZWRSZXNvdXJjZT4mKTsKIAogICAgIHZpcnR1YWwgUHVy
Z2VQcmlvcml0eSBwdXJnZVByaW9yaXR5KCkgY29uc3QgeyByZXR1cm4gUHVyZ2VEZWZhdWx0OyB9
CiAgICAgdmlydHVhbCBib29sIG1heVRyeVJlcGxhY2VFbmNvZGVkRGF0YSgpIGNvbnN0IHsgcmV0
dXJuIGZhbHNlOyB9CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9sb2FkZXIvY2FjaGUvQ2Fj
aGVkUmVzb3VyY2VMb2FkZXIuY3BwIGIvU291cmNlL1dlYkNvcmUvbG9hZGVyL2NhY2hlL0NhY2hl
ZFJlc291cmNlTG9hZGVyLmNwcAppbmRleCBkZjk5NmFkZjI0OWExNmVjNmY4NGU0ODM0ZDQwY2Qw
MWZmZmY4NWRmLi41NjZhMDczNjkxZGYyZjUyMWY3NmQ1ZTJhMTM2MWQ0ODBkNDI3ZTIwIDEwMDY0
NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9sb2FkZXIvY2FjaGUvQ2FjaGVkUmVzb3VyY2VMb2FkZXIu
Y3BwCisrKyBiL1NvdXJjZS9XZWJDb3JlL2xvYWRlci9jYWNoZS9DYWNoZWRSZXNvdXJjZUxvYWRl
ci5jcHAKQEAgLTc4MCw5ICs3ODAsOSBAQCB2b2lkIENhY2hlZFJlc291cmNlTG9hZGVyOjpsb2Fk
RG9uZShDYWNoZWRSZXNvdXJjZSogcmVzb3VyY2UsIGJvb2wgc2hvdWxkUGVyZm9ybQogLy8gYm9v
a2tlZXBpbmcgb24gQ2FjaGVkUmVzb3VyY2VzLCBzbyBpbnN0ZWFkIHBzZXVkby1HQyB0aGVtIC0t
IHdoZW4gdGhlCiAvLyByZWZlcmVuY2UgY291bnQgcmVhY2hlcyAxLCBtX2RvY3VtZW50UmVzb3Vy
Y2VzIGlzIHRoZSBvbmx5IHJlZmVyZW5jZSwgc28KIC8vIHJlbW92ZSBpdCBmcm9tIHRoZSBtYXAu
Ci12b2lkIENhY2hlZFJlc291cmNlTG9hZGVyOjpnYXJiYWdlQ29sbGVjdERvY3VtZW50UmVzb3Vy
Y2VzVGltZXJGaXJlZChUaW1lcjxDYWNoZWRSZXNvdXJjZUxvYWRlcj4qIHRpbWVyKQordm9pZCBD
YWNoZWRSZXNvdXJjZUxvYWRlcjo6Z2FyYmFnZUNvbGxlY3REb2N1bWVudFJlc291cmNlc1RpbWVy
RmlyZWQoVGltZXI8Q2FjaGVkUmVzb3VyY2VMb2FkZXI+JiB0aW1lcikKIHsKLSAgICBBU1NFUlRf
VU5VU0VEKHRpbWVyLCB0aW1lciA9PSAmbV9nYXJiYWdlQ29sbGVjdERvY3VtZW50UmVzb3VyY2Vz
VGltZXIpOworICAgIEFTU0VSVF9VTlVTRUQodGltZXIsICZ0aW1lciA9PSAmbV9nYXJiYWdlQ29s
bGVjdERvY3VtZW50UmVzb3VyY2VzVGltZXIpOwogICAgIGdhcmJhZ2VDb2xsZWN0RG9jdW1lbnRS
ZXNvdXJjZXMoKTsKIH0KIApkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvbG9hZGVyL2NhY2hl
L0NhY2hlZFJlc291cmNlTG9hZGVyLmggYi9Tb3VyY2UvV2ViQ29yZS9sb2FkZXIvY2FjaGUvQ2Fj
aGVkUmVzb3VyY2VMb2FkZXIuaAppbmRleCAzOWEwYTI1MWU0MDcyODVmM2YwNDQ3MTAzZWFkNDli
OTQ4ZWMxMTRlLi41OTdkNjEwZWFkNzhmZmU5NDliZWMyMjhmOWJkNDcwZmY0ZmFhYWJlIDEwMDY0
NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9sb2FkZXIvY2FjaGUvQ2FjaGVkUmVzb3VyY2VMb2FkZXIu
aAorKysgYi9Tb3VyY2UvV2ViQ29yZS9sb2FkZXIvY2FjaGUvQ2FjaGVkUmVzb3VyY2VMb2FkZXIu
aApAQCAtMTU2LDcgKzE1Niw3IEBAIHByaXZhdGU6CiAgICAgYm9vbCBzaG91bGRDb250aW51ZUFm
dGVyTm90aWZ5aW5nTG9hZGVkRnJvbU1lbW9yeUNhY2hlKENhY2hlZFJlc291cmNlKik7CiAgICAg
Ym9vbCBjaGVja0luc2VjdXJlQ29udGVudChDYWNoZWRSZXNvdXJjZTo6VHlwZSwgY29uc3QgVVJM
JikgY29uc3Q7CiAKLSAgICB2b2lkIGdhcmJhZ2VDb2xsZWN0RG9jdW1lbnRSZXNvdXJjZXNUaW1l
ckZpcmVkKFRpbWVyPENhY2hlZFJlc291cmNlTG9hZGVyPiopOworICAgIHZvaWQgZ2FyYmFnZUNv
bGxlY3REb2N1bWVudFJlc291cmNlc1RpbWVyRmlyZWQoVGltZXI8Q2FjaGVkUmVzb3VyY2VMb2Fk
ZXI+Jik7CiAgICAgdm9pZCBwZXJmb3JtUG9zdExvYWRBY3Rpb25zKCk7CiAKICAgICBib29sIGNs
aWVudERlZmVyc0ltYWdlKGNvbnN0IFVSTCYpIGNvbnN0OwpkaWZmIC0tZ2l0IGEvU291cmNlL1dl
YkNvcmUvbG9hZGVyL2ljb24vSWNvbkRhdGFiYXNlLmNwcCBiL1NvdXJjZS9XZWJDb3JlL2xvYWRl
ci9pY29uL0ljb25EYXRhYmFzZS5jcHAKaW5kZXggZmVkNGEyODJhN2U5OTM3M2VkY2I1Mzk3YTUz
MWU4MDZiNTMwY2ZjYS4uNTIyMjI4ODRlMGFkNjkxOWFlMWI2OWRkYTY4ZGJlY2EwNWU3MmEyMiAx
MDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvbG9hZGVyL2ljb24vSWNvbkRhdGFiYXNlLmNwcAor
KysgYi9Tb3VyY2UvV2ViQ29yZS9sb2FkZXIvaWNvbi9JY29uRGF0YWJhc2UuY3BwCkBAIC04Nzcs
NyArODc3LDcgQEAgdm9pZCBJY29uRGF0YWJhc2U6OnNjaGVkdWxlT3JEZWZlclN5bmNUaW1lcigp
CiAgICAgY2FsbE9uTWFpblRocmVhZChwZXJmb3JtU2NoZWR1bGVPckRlZmVyU3luY1RpbWVyT25N
YWluVGhyZWFkLCB0aGlzKTsKIH0KIAotdm9pZCBJY29uRGF0YWJhc2U6OnN5bmNUaW1lckZpcmVk
KFRpbWVyPEljb25EYXRhYmFzZT4qKQordm9pZCBJY29uRGF0YWJhc2U6OnN5bmNUaW1lckZpcmVk
KFRpbWVyPEljb25EYXRhYmFzZT4mKQogewogICAgIEFTU0VSVF9OT1RfU1lOQ19USFJFQUQoKTsK
ICAgICB3YWtlU3luY1RocmVhZCgpOwpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvbG9hZGVy
L2ljb24vSWNvbkRhdGFiYXNlLmggYi9Tb3VyY2UvV2ViQ29yZS9sb2FkZXIvaWNvbi9JY29uRGF0
YWJhc2UuaAppbmRleCAzZmVkZTMwY2IwNTUwOGY2YzE0ZWU3MTNjMDhjMGRkYjJmMGRlMDIyLi4x
YzM4YmQwYWE0NWM2MmYzYTA5ODg2ZWE0NGExZDAxZDgyYWI2ZjE3IDEwMDY0NAotLS0gYS9Tb3Vy
Y2UvV2ViQ29yZS9sb2FkZXIvaWNvbi9JY29uRGF0YWJhc2UuaAorKysgYi9Tb3VyY2UvV2ViQ29y
ZS9sb2FkZXIvaWNvbi9JY29uRGF0YWJhc2UuaApAQCAtMTI3LDcgKzEyNyw3IEBAIHByaXZhdGU6
CiAKICAgICB2b2lkIHdha2VTeW5jVGhyZWFkKCk7CiAgICAgdm9pZCBzY2hlZHVsZU9yRGVmZXJT
eW5jVGltZXIoKTsKLSAgICB2b2lkIHN5bmNUaW1lckZpcmVkKFRpbWVyPEljb25EYXRhYmFzZT4q
KTsKKyAgICB2b2lkIHN5bmNUaW1lckZpcmVkKFRpbWVyPEljb25EYXRhYmFzZT4mKTsKICAgICAK
ICAgICBUaW1lcjxJY29uRGF0YWJhc2U+IG1fc3luY1RpbWVyOwogICAgIFRocmVhZElkZW50aWZp
ZXIgbV9zeW5jVGhyZWFkOwpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvcGFnZS9BdXRvc2Ny
b2xsQ29udHJvbGxlci5jcHAgYi9Tb3VyY2UvV2ViQ29yZS9wYWdlL0F1dG9zY3JvbGxDb250cm9s
bGVyLmNwcAppbmRleCBjYzIzZGQyNDY5YTA2YjA3MWZmYTQ2Y2I1OGNlMDYxZTU1ZDEyOTI5Li5h
ZWM5YWZmZTVkNmFjN2RlM2IwOWFjODJjMTU1NDRmMGE3NjY0ZTEyIDEwMDY0NAotLS0gYS9Tb3Vy
Y2UvV2ViQ29yZS9wYWdlL0F1dG9zY3JvbGxDb250cm9sbGVyLmNwcAorKysgYi9Tb3VyY2UvV2Vi
Q29yZS9wYWdlL0F1dG9zY3JvbGxDb250cm9sbGVyLmNwcApAQCAtMjMxLDcgKzIzMSw3IEBAIGJv
b2wgQXV0b3Njcm9sbENvbnRyb2xsZXI6OnBhblNjcm9sbEluUHJvZ3Jlc3MoKSBjb25zdAogfQog
I2VuZGlmCiAKLXZvaWQgQXV0b3Njcm9sbENvbnRyb2xsZXI6OmF1dG9zY3JvbGxUaW1lckZpcmVk
KFRpbWVyPEF1dG9zY3JvbGxDb250cm9sbGVyPiopCit2b2lkIEF1dG9zY3JvbGxDb250cm9sbGVy
OjphdXRvc2Nyb2xsVGltZXJGaXJlZChUaW1lcjxBdXRvc2Nyb2xsQ29udHJvbGxlcj4mKQogewog
ICAgIGlmICghbV9hdXRvc2Nyb2xsUmVuZGVyZXIpIHsKICAgICAgICAgc3RvcEF1dG9zY3JvbGxU
aW1lcigpOwpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvcGFnZS9BdXRvc2Nyb2xsQ29udHJv
bGxlci5oIGIvU291cmNlL1dlYkNvcmUvcGFnZS9BdXRvc2Nyb2xsQ29udHJvbGxlci5oCmluZGV4
IGY1ZDRiZjA5YTYxYzhkY2Y5YjRjMzQ4MDIyMTYyNDRjY2M0ZGFiNmYuLjJjMzRjYjYyYWVlOTEz
OTI4NGEwZGM4ZDI0NTEyYmQxYjVhYmVjNWQgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL3Bh
Z2UvQXV0b3Njcm9sbENvbnRyb2xsZXIuaAorKysgYi9Tb3VyY2UvV2ViQ29yZS9wYWdlL0F1dG9z
Y3JvbGxDb250cm9sbGVyLmgKQEAgLTY5LDcgKzY5LDcgQEAgcHVibGljOgogI2VuZGlmCiAKIHBy
aXZhdGU6Ci0gICAgdm9pZCBhdXRvc2Nyb2xsVGltZXJGaXJlZChUaW1lcjxBdXRvc2Nyb2xsQ29u
dHJvbGxlcj4qKTsKKyAgICB2b2lkIGF1dG9zY3JvbGxUaW1lckZpcmVkKFRpbWVyPEF1dG9zY3Jv
bGxDb250cm9sbGVyPiYpOwogICAgIHZvaWQgc3RhcnRBdXRvc2Nyb2xsVGltZXIoKTsKICNpZiBF
TkFCTEUoUEFOX1NDUk9MTElORykKICAgICB2b2lkIHVwZGF0ZVBhblNjcm9sbFN0YXRlKEZyYW1l
VmlldyosIGNvbnN0IEludFBvaW50Jik7CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9wYWdl
L0NhcHRpb25Vc2VyUHJlZmVyZW5jZXMuY3BwIGIvU291cmNlL1dlYkNvcmUvcGFnZS9DYXB0aW9u
VXNlclByZWZlcmVuY2VzLmNwcAppbmRleCA3ZTI4NzZmNzc5ODMzNzlhMDBjN2M4MDg5MjYxYmY2
YmE5M2E2OGY5Li5hZGI1NzBlYTdhNmQ4NGY5OGY5MjljZTQ3NzU0YjNlNmY5ODdiMGE4IDEwMDY0
NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9wYWdlL0NhcHRpb25Vc2VyUHJlZmVyZW5jZXMuY3BwCisr
KyBiL1NvdXJjZS9XZWJDb3JlL3BhZ2UvQ2FwdGlvblVzZXJQcmVmZXJlbmNlcy5jcHAKQEAgLTUw
LDcgKzUwLDcgQEAgQ2FwdGlvblVzZXJQcmVmZXJlbmNlczo6fkNhcHRpb25Vc2VyUHJlZmVyZW5j
ZXMoKQogewogfQogCi12b2lkIENhcHRpb25Vc2VyUHJlZmVyZW5jZXM6OnRpbWVyRmlyZWQoVGlt
ZXI8Q2FwdGlvblVzZXJQcmVmZXJlbmNlcz4qKQordm9pZCBDYXB0aW9uVXNlclByZWZlcmVuY2Vz
Ojp0aW1lckZpcmVkKFRpbWVyPENhcHRpb25Vc2VyUHJlZmVyZW5jZXM+JikKIHsKICAgICBjYXB0
aW9uUHJlZmVyZW5jZXNDaGFuZ2VkKCk7CiB9CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9w
YWdlL0NhcHRpb25Vc2VyUHJlZmVyZW5jZXMuaCBiL1NvdXJjZS9XZWJDb3JlL3BhZ2UvQ2FwdGlv
blVzZXJQcmVmZXJlbmNlcy5oCmluZGV4IGFiMDQwMzBhOTZmNjkxY2I2NjRlZTI4ZjU0ZWViNDFm
YTVmYTQ4MjAuLjNlNWEzYjljNDBjMzQ1YjYzYjIxZjZkMjdkYThjZTYwODIxZWI3NjEgMTAwNjQ0
Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL3BhZ2UvQ2FwdGlvblVzZXJQcmVmZXJlbmNlcy5oCisrKyBi
L1NvdXJjZS9XZWJDb3JlL3BhZ2UvQ2FwdGlvblVzZXJQcmVmZXJlbmNlcy5oCkBAIC05Myw3ICs5
Myw3IEBAIHByb3RlY3RlZDoKICAgICB2b2lkIHVwZGF0ZUNhcHRpb25TdHlsZVNoZWV0T3Zlcmlk
ZSgpOwogCiBwcml2YXRlOgotICAgIHZvaWQgdGltZXJGaXJlZChUaW1lcjxDYXB0aW9uVXNlclBy
ZWZlcmVuY2VzPiopOworICAgIHZvaWQgdGltZXJGaXJlZChUaW1lcjxDYXB0aW9uVXNlclByZWZl
cmVuY2VzPiYpOwogICAgIHZvaWQgbm90aWZ5KCk7CiAKICAgICBQYWdlR3JvdXAmIG1fcGFnZUdy
b3VwOwpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvcGFnZS9EZXZpY2VDb250cm9sbGVyLmNw
cCBiL1NvdXJjZS9XZWJDb3JlL3BhZ2UvRGV2aWNlQ29udHJvbGxlci5jcHAKaW5kZXggMjkzZDJk
MDA2N2Y1NWE0NDEwNDg1ODliNzE0ZmMzNTA4ZjcwYWJhZS4uYTJiYWEyM2MwYmQyNzE4Y2FiYTdj
NmRjNjkyZmY3MWQ3ZGNmODViMSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvcGFnZS9EZXZp
Y2VDb250cm9sbGVyLmNwcAorKysgYi9Tb3VyY2UvV2ViQ29yZS9wYWdlL0RldmljZUNvbnRyb2xs
ZXIuY3BwCkBAIC04NCw5ICs4NCw5IEBAIHZvaWQgRGV2aWNlQ29udHJvbGxlcjo6ZGlzcGF0Y2hE
ZXZpY2VFdmVudChQYXNzUmVmUHRyPEV2ZW50PiBwcnBFdmVudCkKICAgICB9CiB9CiAKLXZvaWQg
RGV2aWNlQ29udHJvbGxlcjo6ZmlyZURldmljZUV2ZW50KFRpbWVyPERldmljZUNvbnRyb2xsZXI+
KiB0aW1lcikKK3ZvaWQgRGV2aWNlQ29udHJvbGxlcjo6ZmlyZURldmljZUV2ZW50KFRpbWVyPERl
dmljZUNvbnRyb2xsZXI+JiB0aW1lcikKIHsKLSAgICBBU1NFUlRfVU5VU0VEKHRpbWVyLCB0aW1l
ciA9PSAmbV90aW1lcik7CisgICAgQVNTRVJUX1VOVVNFRCh0aW1lciwgJnRpbWVyID09ICZtX3Rp
bWVyKTsKICAgICBBU1NFUlQoaGFzTGFzdERhdGEoKSk7CiAKICAgICBtX3RpbWVyLnN0b3AoKTsK
ZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL3BhZ2UvRGV2aWNlQ29udHJvbGxlci5oIGIvU291
cmNlL1dlYkNvcmUvcGFnZS9EZXZpY2VDb250cm9sbGVyLmgKaW5kZXggNTU1YjYzMGUzMWQ3MjFh
YzI2OWNiNWQ5ZjM3ZjgwMTFjZDk2YmNkZS4uNmE1YzI0MmRlMTM4NGY3MzNiZWUwMjcwMjQwMjIz
ZDY1NGY1MzUzYSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvcGFnZS9EZXZpY2VDb250cm9s
bGVyLmgKKysrIGIvU291cmNlL1dlYkNvcmUvcGFnZS9EZXZpY2VDb250cm9sbGVyLmgKQEAgLTU1
LDcgKzU1LDcgQEAgcHVibGljOgogICAgIHZpcnR1YWwgUGFzc1JlZlB0cjxFdmVudD4gZ2V0TGFz
dEV2ZW50KCkgeyByZXR1cm4gMDsgfQogCiBwcm90ZWN0ZWQ6Ci0gICAgdm9pZCBmaXJlRGV2aWNl
RXZlbnQoVGltZXI8RGV2aWNlQ29udHJvbGxlcj4qKTsKKyAgICB2b2lkIGZpcmVEZXZpY2VFdmVu
dChUaW1lcjxEZXZpY2VDb250cm9sbGVyPiYpOwogCiAgICAgSGFzaENvdW50ZWRTZXQ8UmVmUHRy
PERPTVdpbmRvdz4+IG1fbGlzdGVuZXJzOwogICAgIEhhc2hDb3VudGVkU2V0PFJlZlB0cjxET01X
aW5kb3c+PiBtX2xhc3RFdmVudExpc3RlbmVyczsKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3Jl
L3BhZ2UvRXZlbnRIYW5kbGVyLmNwcCBiL1NvdXJjZS9XZWJDb3JlL3BhZ2UvRXZlbnRIYW5kbGVy
LmNwcAppbmRleCBhZmZjN2QwZmY4MjBhY2I3NmRiMmU1Nzg1MTU0ZWJhZDkwYzRmN2RlLi4yNTE3
ZDAyMzhmMWQxYmJlNTYxZWM1OTFlNWU3YjM3YWM1ZGUyYTg1IDEwMDY0NAotLS0gYS9Tb3VyY2Uv
V2ViQ29yZS9wYWdlL0V2ZW50SGFuZGxlci5jcHAKKysrIGIvU291cmNlL1dlYkNvcmUvcGFnZS9F
dmVudEhhbmRsZXIuY3BwCkBAIC0xMjY2LDcgKzEyNjYsNyBAQCBib29sIEV2ZW50SGFuZGxlcjo6
dXNlSGFuZEN1cnNvcihOb2RlKiBub2RlLCBib29sIGlzT3ZlckxpbmssIGJvb2wgc2hpZnRLZXkp
CiAgICAgcmV0dXJuICgoaXNPdmVyTGluayB8fCBpc1N1Ym1pdEltYWdlKG5vZGUpKSAmJiAoIWVk
aXRhYmxlIHx8IGVkaXRhYmxlTGlua0VuYWJsZWQpKTsKIH0KIAotdm9pZCBFdmVudEhhbmRsZXI6
OmN1cnNvclVwZGF0ZVRpbWVyRmlyZWQoVGltZXI8RXZlbnRIYW5kbGVyPiopCit2b2lkIEV2ZW50
SGFuZGxlcjo6Y3Vyc29yVXBkYXRlVGltZXJGaXJlZChUaW1lcjxFdmVudEhhbmRsZXI+JikKIHsK
ICAgICBBU1NFUlQobV9mcmFtZS5kb2N1bWVudCgpKTsKICAgICB1cGRhdGVDdXJzb3IoKTsKQEAg
LTE1MTAsOSArMTUxMCw5IEBAIHZvaWQgRXZlbnRIYW5kbGVyOjpjYW5jZWxBdXRvSGlkZUN1cnNv
clRpbWVyKCkKICAgICAgICAgbV9hdXRvSGlkZUN1cnNvclRpbWVyLnN0b3AoKTsKIH0KIAotdm9p
ZCBFdmVudEhhbmRsZXI6OmF1dG9IaWRlQ3Vyc29yVGltZXJGaXJlZChUaW1lcjxFdmVudEhhbmRs
ZXI+KiB0aW1lcikKK3ZvaWQgRXZlbnRIYW5kbGVyOjphdXRvSGlkZUN1cnNvclRpbWVyRmlyZWQo
VGltZXI8RXZlbnRIYW5kbGVyPiYgdGltZXIpCiB7Ci0gICAgQVNTRVJUX1VOVVNFRCh0aW1lciwg
dGltZXIgPT0gJm1fYXV0b0hpZGVDdXJzb3JUaW1lcik7CisgICAgQVNTRVJUX1VOVVNFRCh0aW1l
ciwgJnRpbWVyID09ICZtX2F1dG9IaWRlQ3Vyc29yVGltZXIpOwogICAgIG1fY3VycmVudE1vdXNl
Q3Vyc29yID0gbm9uZUN1cnNvcigpOwogICAgIEZyYW1lVmlldyogdmlldyA9IG1fZnJhbWUudmll
dygpOwogICAgIGlmICh2aWV3ICYmIHZpZXctPmlzQWN0aXZlKCkpCkBAIC0yODI0LDkgKzI4MjQs
OSBAQCB2b2lkIEV2ZW50SGFuZGxlcjo6Y2FuY2VsRmFrZU1vdXNlTW92ZUV2ZW50KCkKICAgICBt
X2Zha2VNb3VzZU1vdmVFdmVudFRpbWVyLnN0b3AoKTsKIH0KIAotdm9pZCBFdmVudEhhbmRsZXI6
OmZha2VNb3VzZU1vdmVFdmVudFRpbWVyRmlyZWQoVGltZXI8RXZlbnRIYW5kbGVyPiogdGltZXIp
Cit2b2lkIEV2ZW50SGFuZGxlcjo6ZmFrZU1vdXNlTW92ZUV2ZW50VGltZXJGaXJlZChUaW1lcjxF
dmVudEhhbmRsZXI+JiB0aW1lcikKIHsKLSAgICBBU1NFUlRfVU5VU0VEKHRpbWVyLCB0aW1lciA9
PSAmbV9mYWtlTW91c2VNb3ZlRXZlbnRUaW1lcik7CisgICAgQVNTRVJUX1VOVVNFRCh0aW1lciwg
JnRpbWVyID09ICZtX2Zha2VNb3VzZU1vdmVFdmVudFRpbWVyKTsKICAgICBBU1NFUlQoIW1fbW91
c2VQcmVzc2VkKTsKIAogICAgIGlmICghbV9mcmFtZS5zZXR0aW5ncygpLmRldmljZVN1cHBvcnRz
TW91c2UoKSkKQEAgLTI4NTksNyArMjg1OSw3IEBAIHZvaWQgRXZlbnRIYW5kbGVyOjpyZXNpemVM
YXllckRlc3Ryb3llZCgpCiAgICAgbV9yZXNpemVMYXllciA9IDA7CiB9CiAKLXZvaWQgRXZlbnRI
YW5kbGVyOjpob3ZlclRpbWVyRmlyZWQoVGltZXI8RXZlbnRIYW5kbGVyPiopCit2b2lkIEV2ZW50
SGFuZGxlcjo6aG92ZXJUaW1lckZpcmVkKFRpbWVyPEV2ZW50SGFuZGxlcj4mKQogewogICAgIG1f
aG92ZXJUaW1lci5zdG9wKCk7CiAKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL3BhZ2UvRXZl
bnRIYW5kbGVyLmggYi9Tb3VyY2UvV2ViQ29yZS9wYWdlL0V2ZW50SGFuZGxlci5oCmluZGV4IDhl
ZDVkOTY3MWIyMDEzOTgwOTdmMjlkZGRjMjdjZTYyYjU1ZTg2N2QuLjBjZjg5M2Q4ZGFhZjE4OTFl
N2UzMzdjZTE5YzEyNmY0Y2M4NjQ3NjEgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL3BhZ2Uv
RXZlbnRIYW5kbGVyLmgKKysrIGIvU291cmNlL1dlYkNvcmUvcGFnZS9FdmVudEhhbmRsZXIuaApA
QCAtMzI3LDkgKzMyNyw5IEBAIHByaXZhdGU6CiAKICAgICBPcHRpb25hbEN1cnNvciBzZWxlY3RD
dXJzb3IoY29uc3QgSGl0VGVzdFJlc3VsdCYsIGJvb2wgc2hpZnRLZXkpOwogCi0gICAgdm9pZCBo
b3ZlclRpbWVyRmlyZWQoVGltZXI8RXZlbnRIYW5kbGVyPiopOworICAgIHZvaWQgaG92ZXJUaW1l
ckZpcmVkKFRpbWVyPEV2ZW50SGFuZGxlcj4mKTsKICNpZiBFTkFCTEUoQ1VSU09SX1NVUFBPUlQp
Ci0gICAgdm9pZCBjdXJzb3JVcGRhdGVUaW1lckZpcmVkKFRpbWVyPEV2ZW50SGFuZGxlcj4qKTsK
KyAgICB2b2lkIGN1cnNvclVwZGF0ZVRpbWVyRmlyZWQoVGltZXI8RXZlbnRIYW5kbGVyPiYpOwog
I2VuZGlmCiAKICAgICBib29sIGxvZ2ljYWxTY3JvbGxPdmVyZmxvdyhTY3JvbGxMb2dpY2FsRGly
ZWN0aW9uLCBTY3JvbGxHcmFudWxhcml0eSwgTm9kZSogc3RhcnRpbmdOb2RlID0gMCk7CkBAIC0z
NDgsNyArMzQ4LDcgQEAgcHJpdmF0ZToKICAgICBzdGF0aWMgYm9vbCBpc0tleWJvYXJkT3B0aW9u
VGFiKEtleWJvYXJkRXZlbnQqKTsKICAgICBzdGF0aWMgYm9vbCBldmVudEludmVydHNUYWJzVG9M
aW5rc0NsaWVudENhbGxSZXN1bHQoS2V5Ym9hcmRFdmVudCopOwogCi0gICAgdm9pZCBmYWtlTW91
c2VNb3ZlRXZlbnRUaW1lckZpcmVkKFRpbWVyPEV2ZW50SGFuZGxlcj4qKTsKKyAgICB2b2lkIGZh
a2VNb3VzZU1vdmVFdmVudFRpbWVyRmlyZWQoVGltZXI8RXZlbnRIYW5kbGVyPiYpOwogICAgIHZv
aWQgY2FuY2VsRmFrZU1vdXNlTW92ZUV2ZW50KCk7CiAKICAgICBib29sIGlzSW5zaWRlU2Nyb2xs
YmFyKGNvbnN0IEludFBvaW50JikgY29uc3Q7CkBAIC00NDEsNyArNDQxLDcgQEAgcHJpdmF0ZToK
ICNpZiBFTkFCTEUoQ1VSU09SX1ZJU0lCSUxJVFkpCiAgICAgdm9pZCBzdGFydEF1dG9IaWRlQ3Vy
c29yVGltZXIoKTsKICAgICB2b2lkIGNhbmNlbEF1dG9IaWRlQ3Vyc29yVGltZXIoKTsKLSAgICB2
b2lkIGF1dG9IaWRlQ3Vyc29yVGltZXJGaXJlZChUaW1lcjxFdmVudEhhbmRsZXI+Kik7CisgICAg
dm9pZCBhdXRvSGlkZUN1cnNvclRpbWVyRmlyZWQoVGltZXI8RXZlbnRIYW5kbGVyPiYpOwogI2Vu
ZGlmCiAKICAgICBGcmFtZSYgbV9mcmFtZTsKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL3Bh
Z2UvRXZlbnRTb3VyY2UuY3BwIGIvU291cmNlL1dlYkNvcmUvcGFnZS9FdmVudFNvdXJjZS5jcHAK
aW5kZXggM2ZmYzEyYjZkMzZlYWRhNzJhOWRmMjZkNmIzNGJmZjNkNGQyNGIwNi4uNjhjMGU2ZTE2
NDA2Nzk4NmQ2MmUxM2FiZTZmZDBhMDg2YTE0ODY1MiAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNv
cmUvcGFnZS9FdmVudFNvdXJjZS5jcHAKKysrIGIvU291cmNlL1dlYkNvcmUvcGFnZS9FdmVudFNv
dXJjZS5jcHAKQEAgLTE3MCw3ICsxNzAsNyBAQCB2b2lkIEV2ZW50U291cmNlOjpzY2hlZHVsZVJl
Y29ubmVjdCgpCiAgICAgZGlzcGF0Y2hFdmVudChFdmVudDo6Y3JlYXRlKGV2ZW50TmFtZXMoKS5l
cnJvckV2ZW50LCBmYWxzZSwgZmFsc2UpKTsKIH0KIAotdm9pZCBFdmVudFNvdXJjZTo6Y29ubmVj
dFRpbWVyRmlyZWQoVGltZXI8RXZlbnRTb3VyY2U+KikKK3ZvaWQgRXZlbnRTb3VyY2U6OmNvbm5l
Y3RUaW1lckZpcmVkKFRpbWVyPEV2ZW50U291cmNlPiYpCiB7CiAgICAgY29ubmVjdCgpOwogfQpk
aWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvcGFnZS9FdmVudFNvdXJjZS5oIGIvU291cmNlL1dl
YkNvcmUvcGFnZS9FdmVudFNvdXJjZS5oCmluZGV4IGNlYmM3M2FjNDY1ZmEzZTk0MDg3NTRkMWJi
MTg5MDU4MjQ1MTUzNjAuLjNmMDAyZWIzYzA5ZTE4Njg3ZmQyM2IwYzdlMDk3ZDgwOGI5ZDNmYmEg
MTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL3BhZ2UvRXZlbnRTb3VyY2UuaAorKysgYi9Tb3Vy
Y2UvV2ViQ29yZS9wYWdlL0V2ZW50U291cmNlLmgKQEAgLTk3LDcgKzk3LDcgQEAgcHJpdmF0ZToK
ICAgICB2b2lkIG5ldHdvcmtSZXF1ZXN0RW5kZWQoKTsKICAgICB2b2lkIHNjaGVkdWxlSW5pdGlh
bENvbm5lY3QoKTsKICAgICB2b2lkIHNjaGVkdWxlUmVjb25uZWN0KCk7Ci0gICAgdm9pZCBjb25u
ZWN0VGltZXJGaXJlZChUaW1lcjxFdmVudFNvdXJjZT4qKTsKKyAgICB2b2lkIGNvbm5lY3RUaW1l
ckZpcmVkKFRpbWVyPEV2ZW50U291cmNlPiYpOwogICAgIHZvaWQgYWJvcnRDb25uZWN0aW9uQXR0
ZW1wdCgpOwogICAgIHZvaWQgcGFyc2VFdmVudFN0cmVhbSgpOwogICAgIHZvaWQgcGFyc2VFdmVu
dFN0cmVhbUxpbmUodW5zaWduZWQgcG9zLCBpbnQgZmllbGRMZW5ndGgsIGludCBsaW5lTGVuZ3Ro
KTsKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL3BhZ2UvRnJhbWVWaWV3LmNwcCBiL1NvdXJj
ZS9XZWJDb3JlL3BhZ2UvRnJhbWVWaWV3LmNwcAppbmRleCBlN2JiZWRmZmFmODRjMmY3ZjkwNTc1
OWVhYjdlYTI1YjZkYTVkNDUwLi44YzA2NGZiNmNhNzNjYWQ2YzE5MTIzNWExYmJjN2E3MDRjODJm
ZTA4IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9wYWdlL0ZyYW1lVmlldy5jcHAKKysrIGIv
U291cmNlL1dlYkNvcmUvcGFnZS9GcmFtZVZpZXcuY3BwCkBAIC0yNDA0LDcgKzI0MDQsNyBAQCBk
b3VibGUgRnJhbWVWaWV3OjphZGp1c3RlZERlZmVycmVkUmVwYWludERlbGF5KCkgY29uc3QKICAg
ICByZXR1cm4gc3RkOjptYXg8ZG91YmxlPigwLCBtX2RlZmVycmVkUmVwYWludERlbGF5IC0gdGlt
ZVNpbmNlTGFzdFBhaW50KTsKIH0KICAgICAKLXZvaWQgRnJhbWVWaWV3OjpkZWZlcnJlZFJlcGFp
bnRUaW1lckZpcmVkKFRpbWVyPEZyYW1lVmlldz4qKQordm9pZCBGcmFtZVZpZXc6OmRlZmVycmVk
UmVwYWludFRpbWVyRmlyZWQoVGltZXI8RnJhbWVWaWV3PiYpCiB7CiAgICAgZG9EZWZlcnJlZFJl
cGFpbnRzKCk7CiB9CkBAIC0yNDMzLDcgKzI0MzMsNyBAQCB2b2lkIEZyYW1lVmlldzo6YWRqdXN0
VGlsZWRCYWNraW5nQ292ZXJhZ2UoKQogI2VuZGlmCiB9CiAKLXZvaWQgRnJhbWVWaWV3OjpsYXlv
dXRUaW1lckZpcmVkKFRpbWVyPEZyYW1lVmlldz4qKQordm9pZCBGcmFtZVZpZXc6OmxheW91dFRp
bWVyRmlyZWQoVGltZXI8RnJhbWVWaWV3PiYpCiB7CiAjaWZkZWYgSU5TVFJVTUVOVF9MQVlPVVRf
U0NIRURVTElORwogICAgIGlmICghZnJhbWUoKS5kb2N1bWVudCgpLT5vd25lckVsZW1lbnQoKSkK
QEAgLTI5MDgsNyArMjkwOCw3IEBAIHZvaWQgRnJhbWVWaWV3Ojp3aWxsRW5kTGl2ZVJlc2l6ZSgp
CiAgICAgYWRqdXN0VGlsZWRCYWNraW5nQ292ZXJhZ2UoKTsKIH0KIAotdm9pZCBGcmFtZVZpZXc6
OnBvc3RMYXlvdXRUaW1lckZpcmVkKFRpbWVyPEZyYW1lVmlldz4qKQordm9pZCBGcmFtZVZpZXc6
OnBvc3RMYXlvdXRUaW1lckZpcmVkKFRpbWVyPEZyYW1lVmlldz4mKQogewogICAgIHBlcmZvcm1Q
b3N0TGF5b3V0VGFza3MoKTsKIH0KZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL3BhZ2UvRnJh
bWVWaWV3LmggYi9Tb3VyY2UvV2ViQ29yZS9wYWdlL0ZyYW1lVmlldy5oCmluZGV4IDFjZjhhOTE2
NDIzMjk5NDVhYmRhYWU5MTk3OWI3ODgyNThlOTkzZTEuLjY2N2Q1ZTY4Njg3YmI2Mjk4NDBlOWEy
MTRmMTBiZTBiOWI5ZGRkMjUgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL3BhZ2UvRnJhbWVW
aWV3LmgKKysrIGIvU291cmNlL1dlYkNvcmUvcGFnZS9GcmFtZVZpZXcuaApAQCAtMTA0LDcgKzEw
NCw3IEBAIHB1YmxpYzoKIAogICAgIHZvaWQgbGF5b3V0KGJvb2wgYWxsb3dTdWJ0cmVlID0gdHJ1
ZSk7CiAgICAgYm9vbCBkaWRGaXJzdExheW91dCgpIGNvbnN0OwotICAgIHZvaWQgbGF5b3V0VGlt
ZXJGaXJlZChUaW1lcjxGcmFtZVZpZXc+Kik7CisgICAgdm9pZCBsYXlvdXRUaW1lckZpcmVkKFRp
bWVyPEZyYW1lVmlldz4mKTsKICAgICB2b2lkIHNjaGVkdWxlUmVsYXlvdXQoKTsKICAgICB2b2lk
IHNjaGVkdWxlUmVsYXlvdXRPZlN1YnRyZWUoUmVuZGVyRWxlbWVudCYpOwogICAgIHZvaWQgdW5z
Y2hlZHVsZVJlbGF5b3V0KCk7CkBAIC0yNjksNyArMjY5LDcgQEAgcHVibGljOgogCiAgICAgdm9p
ZCByZXN0b3JlU2Nyb2xsYmFyKCk7CiAKLSAgICB2b2lkIHBvc3RMYXlvdXRUaW1lckZpcmVkKFRp
bWVyPEZyYW1lVmlldz4qKTsKKyAgICB2b2lkIHBvc3RMYXlvdXRUaW1lckZpcmVkKFRpbWVyPEZy
YW1lVmlldz4mKTsKIAogICAgIGJvb2wgd2FzU2Nyb2xsZWRCeVVzZXIoKSBjb25zdDsKICAgICB2
b2lkIHNldFdhc1Njcm9sbGVkQnlVc2VyKGJvb2wpOwpAQCAtNTQ0LDcgKzU0NCw3IEBAIHByaXZh
dGU6CiAgICAgdmlydHVhbCB2b2lkIG5vdGlmeVBhZ2VUaGF0Q29udGVudEFyZWFXaWxsUGFpbnQo
KSBjb25zdCBPVkVSUklERTsKIAogICAgIGJvb2wgc2hvdWxkVXNlTG9hZFRpbWVEZWZlcnJlZFJl
cGFpbnREZWxheSgpIGNvbnN0OwotICAgIHZvaWQgZGVmZXJyZWRSZXBhaW50VGltZXJGaXJlZChU
aW1lcjxGcmFtZVZpZXc+Kik7CisgICAgdm9pZCBkZWZlcnJlZFJlcGFpbnRUaW1lckZpcmVkKFRp
bWVyPEZyYW1lVmlldz4mKTsKICAgICB2b2lkIGRvRGVmZXJyZWRSZXBhaW50cygpOwogICAgIHZv
aWQgdXBkYXRlRGVmZXJyZWRSZXBhaW50RGVsYXlBZnRlclJlcGFpbnQoKTsKICAgICBkb3VibGUg
YWRqdXN0ZWREZWZlcnJlZFJlcGFpbnREZWxheSgpIGNvbnN0OwpkaWZmIC0tZ2l0IGEvU291cmNl
L1dlYkNvcmUvcGFnZS9QYWdlVGhyb3R0bGVyLmNwcCBiL1NvdXJjZS9XZWJDb3JlL3BhZ2UvUGFn
ZVRocm90dGxlci5jcHAKaW5kZXggZGM1YmMyZTA3NTAwOTY2ODViOGE5MjQ2M2JjOTA0Yjc4NmRl
NGNlNy4uMjhjNjNmMWUxYjA0MDYxOTg3N2JiNzBkOTg5NDY0MzIwOGI1NmQ2MSAxMDA2NDQKLS0t
IGEvU291cmNlL1dlYkNvcmUvcGFnZS9QYWdlVGhyb3R0bGVyLmNwcAorKysgYi9Tb3VyY2UvV2Vi
Q29yZS9wYWdlL1BhZ2VUaHJvdHRsZXIuY3BwCkBAIC0xMzMsNyArMTMzLDcgQEAgdm9pZCBQYWdl
VGhyb3R0bGVyOjpzdGFydFRocm90dGxlSHlzdGVyZXNpc1RpbWVyKCkKICAgICAgICAgbV90aHJv
dHRsZUh5c3RlcmVzaXNUaW1lci5zdGFydE9uZVNob3Qoa1Rocm90dGxlSHlzdGVyZXNpc1NlY29u
ZHMpOwogfQogCi12b2lkIFBhZ2VUaHJvdHRsZXI6OnRocm90dGxlSHlzdGVyZXNpc1RpbWVyRmly
ZWQoVGltZXI8UGFnZVRocm90dGxlcj4qKQordm9pZCBQYWdlVGhyb3R0bGVyOjp0aHJvdHRsZUh5
c3RlcmVzaXNUaW1lckZpcmVkKFRpbWVyPFBhZ2VUaHJvdHRsZXI+JikKIHsKICAgICBBU1NFUlQo
IW1fYWN0aXZpdHlUb2tlbnMuc2l6ZSgpKTsKICAgICB0aHJvdHRsZVBhZ2UoKTsKZGlmZiAtLWdp
dCBhL1NvdXJjZS9XZWJDb3JlL3BhZ2UvUGFnZVRocm90dGxlci5oIGIvU291cmNlL1dlYkNvcmUv
cGFnZS9QYWdlVGhyb3R0bGVyLmgKaW5kZXggYzFmYTY3NjgyNGZkY2E4Y2FkZDczNTZhNmMxY2Vi
YjJlMzI1YTA4Ni4uZGM1N2YxMjEyMTMxNDE1YjUxMDYyMzJlZTEwNWY1YTM0MjcxOWRlMSAxMDA2
NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvcGFnZS9QYWdlVGhyb3R0bGVyLmgKKysrIGIvU291cmNl
L1dlYkNvcmUvcGFnZS9QYWdlVGhyb3R0bGVyLmgKQEAgLTY1LDcgKzY1LDcgQEAgcHJpdmF0ZToK
IAogICAgIHZvaWQgc3RhcnRUaHJvdHRsZUh5c3RlcmVzaXNUaW1lcigpOwogICAgIHZvaWQgc3Rv
cFRocm90dGxlSHlzdGVyZXNpc1RpbWVyKCk7Ci0gICAgdm9pZCB0aHJvdHRsZUh5c3RlcmVzaXNU
aW1lckZpcmVkKFRpbWVyPFBhZ2VUaHJvdHRsZXI+Kik7CisgICAgdm9pZCB0aHJvdHRsZUh5c3Rl
cmVzaXNUaW1lckZpcmVkKFRpbWVyPFBhZ2VUaHJvdHRsZXI+Jik7CiAKICAgICB2b2lkIHRocm90
dGxlUGFnZSgpOwogICAgIHZvaWQgdW50aHJvdHRsZVBhZ2UoKTsKZGlmZiAtLWdpdCBhL1NvdXJj
ZS9XZWJDb3JlL3BhZ2UvYW5pbWF0aW9uL0FuaW1hdGlvbkNvbnRyb2xsZXIuY3BwIGIvU291cmNl
L1dlYkNvcmUvcGFnZS9hbmltYXRpb24vQW5pbWF0aW9uQ29udHJvbGxlci5jcHAKaW5kZXggODMx
Yzg2MmUyODhlZTBmNGM5ZWEwNmIyYjcwZDg1Y2UwOGIxNDJkZS4uNWI4YzkwYjhhYjE3MDIyMjNm
ZDlhMzgwZTg1ZDJjZjQxZmZmMjgwOSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvcGFnZS9h
bmltYXRpb24vQW5pbWF0aW9uQ29udHJvbGxlci5jcHAKKysrIGIvU291cmNlL1dlYkNvcmUvcGFn
ZS9hbmltYXRpb24vQW5pbWF0aW9uQ29udHJvbGxlci5jcHAKQEAgLTE1NCw3ICsxNTQsNyBAQCB2
b2lkIEFuaW1hdGlvbkNvbnRyb2xsZXJQcml2YXRlOjp1cGRhdGVBbmltYXRpb25UaW1lcihTZXRD
aGFuZ2VkIGNhbGxTZXRDaGFuZ2VkLwogICAgIG1fYW5pbWF0aW9uVGltZXIuc3RhcnRPbmVTaG90
KHRpbWVUb05leHRTZXJ2aWNlKTsKIH0KIAotdm9pZCBBbmltYXRpb25Db250cm9sbGVyUHJpdmF0
ZTo6dXBkYXRlU3R5bGVJZk5lZWRlZERpc3BhdGNoZXJGaXJlZChUaW1lcjxBbmltYXRpb25Db250
cm9sbGVyUHJpdmF0ZT4qKQordm9pZCBBbmltYXRpb25Db250cm9sbGVyUHJpdmF0ZTo6dXBkYXRl
U3R5bGVJZk5lZWRlZERpc3BhdGNoZXJGaXJlZChUaW1lcjxBbmltYXRpb25Db250cm9sbGVyUHJp
dmF0ZT4mKQogewogICAgIGZpcmVFdmVudHNBbmRVcGRhdGVTdHlsZSgpOwogfQpAQCAtMjIxLDcg
KzIyMSw3IEBAIHZvaWQgQW5pbWF0aW9uQ29udHJvbGxlclByaXZhdGU6OmFuaW1hdGlvbkZyYW1l
Q2FsbGJhY2tGaXJlZCgpCiB9CiAjZW5kaWYKIAotdm9pZCBBbmltYXRpb25Db250cm9sbGVyUHJp
dmF0ZTo6YW5pbWF0aW9uVGltZXJGaXJlZChUaW1lcjxBbmltYXRpb25Db250cm9sbGVyUHJpdmF0
ZT4qKQordm9pZCBBbmltYXRpb25Db250cm9sbGVyUHJpdmF0ZTo6YW5pbWF0aW9uVGltZXJGaXJl
ZChUaW1lcjxBbmltYXRpb25Db250cm9sbGVyUHJpdmF0ZT4mKQogewogICAgIC8vIE1ha2Ugc3Vy
ZSBhbmltYXRpb25VcGRhdGVUaW1lIGlzIHVwZGF0ZWQsIHNvIHRoYXQgaXQgaXMgY3VycmVudCBl
dmVuIGlmIG5vCiAgICAgLy8gc3R5bGVDaGFuZ2UgaGFzIGhhcHBlbmVkIChlLmcuIGFjY2VsZXJh
dGVkIGFuaW1hdGlvbnMpCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9wYWdlL2FuaW1hdGlv
bi9BbmltYXRpb25Db250cm9sbGVyUHJpdmF0ZS5oIGIvU291cmNlL1dlYkNvcmUvcGFnZS9hbmlt
YXRpb24vQW5pbWF0aW9uQ29udHJvbGxlclByaXZhdGUuaAppbmRleCA1ZTgzMTJmNTUzNDQwNjQx
ZWExN2NiMTM5MzUwNzgzN2Y4YTVmODZiLi5mMDMwOTIyODA2ZjU3YzIwMjllNzEwZjE5MGI3MjAy
MTdiYTBjZjAxIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9wYWdlL2FuaW1hdGlvbi9Bbmlt
YXRpb25Db250cm9sbGVyUHJpdmF0ZS5oCisrKyBiL1NvdXJjZS9XZWJDb3JlL3BhZ2UvYW5pbWF0
aW9uL0FuaW1hdGlvbkNvbnRyb2xsZXJQcml2YXRlLmgKQEAgLTY3LDcgKzY3LDcgQEAgcHVibGlj
OgogICAgIENvbXBvc2l0ZUFuaW1hdGlvbiYgZW5zdXJlQ29tcG9zaXRlQW5pbWF0aW9uKFJlbmRl
ckVsZW1lbnQqKTsKICAgICBib29sIGNsZWFyKFJlbmRlckVsZW1lbnQqKTsKIAotICAgIHZvaWQg
dXBkYXRlU3R5bGVJZk5lZWRlZERpc3BhdGNoZXJGaXJlZChUaW1lcjxBbmltYXRpb25Db250cm9s
bGVyUHJpdmF0ZT4qKTsKKyAgICB2b2lkIHVwZGF0ZVN0eWxlSWZOZWVkZWREaXNwYXRjaGVyRmly
ZWQoVGltZXI8QW5pbWF0aW9uQ29udHJvbGxlclByaXZhdGU+Jik7CiAgICAgdm9pZCBzdGFydFVw
ZGF0ZVN0eWxlSWZOZWVkZWREaXNwYXRjaGVyKCk7CiAgICAgdm9pZCBhZGRFdmVudFRvRGlzcGF0
Y2goUGFzc1JlZlB0cjxFbGVtZW50PiBlbGVtZW50LCBjb25zdCBBdG9taWNTdHJpbmcmIGV2ZW50
VHlwZSwgY29uc3QgU3RyaW5nJiBuYW1lLCBkb3VibGUgZWxhcHNlZFRpbWUpOwogICAgIHZvaWQg
YWRkRWxlbWVudENoYW5nZVRvRGlzcGF0Y2goUGFzc1JlZjxFbGVtZW50Pik7CkBAIC0xMTMsNyAr
MTEzLDcgQEAgcHVibGljOgogICAgIHZvaWQgc2V0QWxsb3dzTmV3QW5pbWF0aW9uc1doaWxlU3Vz
cGVuZGVkKGJvb2wpOwogCiBwcml2YXRlOgotICAgIHZvaWQgYW5pbWF0aW9uVGltZXJGaXJlZChU
aW1lcjxBbmltYXRpb25Db250cm9sbGVyUHJpdmF0ZT4qKTsKKyAgICB2b2lkIGFuaW1hdGlvblRp
bWVyRmlyZWQoVGltZXI8QW5pbWF0aW9uQ29udHJvbGxlclByaXZhdGU+Jik7CiAKICAgICB2b2lk
IHN0eWxlQXZhaWxhYmxlKCk7CiAgICAgdm9pZCBmaXJlRXZlbnRzQW5kVXBkYXRlU3R5bGUoKTsK
ZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL1Njcm9sbGJhci5jcHAgYi9Tb3Vy
Y2UvV2ViQ29yZS9wbGF0Zm9ybS9TY3JvbGxiYXIuY3BwCmluZGV4IGVkMDViOTA3MjA0YmUxZjI3
M2VmYTY1NTM0NTBmOTE3NDNhM2U3ZTguLmRhM2NkMDNhMzYxZjg4OTkwMTdmZjQxMjY0MGY2YWVh
ODg2OGIyNmIgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL1Njcm9sbGJhci5j
cHAKKysrIGIvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vU2Nyb2xsYmFyLmNwcApAQCAtMTgzLDcg
KzE4Myw3IEBAIHZvaWQgU2Nyb2xsYmFyOjpwYWludChHcmFwaGljc0NvbnRleHQqIGNvbnRleHQs
IGNvbnN0IEludFJlY3QmIGRhbWFnZVJlY3QpCiAgICAgICAgIFdpZGdldDo6cGFpbnQoY29udGV4
dCwgZGFtYWdlUmVjdCk7CiB9CiAKLXZvaWQgU2Nyb2xsYmFyOjphdXRvc2Nyb2xsVGltZXJGaXJl
ZChUaW1lcjxTY3JvbGxiYXI+KikKK3ZvaWQgU2Nyb2xsYmFyOjphdXRvc2Nyb2xsVGltZXJGaXJl
ZChUaW1lcjxTY3JvbGxiYXI+JikKIHsKICAgICBhdXRvc2Nyb2xsUHJlc3NlZFBhcnQodGhlbWUo
KS0+YXV0b3Njcm9sbFRpbWVyRGVsYXkoKSk7CiB9CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29y
ZS9wbGF0Zm9ybS9TY3JvbGxiYXIuaCBiL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL1Njcm9sbGJh
ci5oCmluZGV4IGNkMWU4OTcwMzhlZWVhYjVkMTczM2EyNWY1NzRmZmE1NzAxNzI4YjkuLjM0MGNm
ZDE0ZjAyZWFkYTVmNDc1NDYxZjZiOWNjMWJiZmVmMzA1MzIgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9X
ZWJDb3JlL3BsYXRmb3JtL1Njcm9sbGJhci5oCisrKyBiL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3Jt
L1Njcm9sbGJhci5oCkBAIC0xNjMsNyArMTYzLDcgQEAgcHJvdGVjdGVkOgogICAgIHZpcnR1YWwg
dm9pZCB1cGRhdGVUaHVtYlBvc2l0aW9uKCk7CiAgICAgdmlydHVhbCB2b2lkIHVwZGF0ZVRodW1i
UHJvcG9ydGlvbigpOwogCi0gICAgdm9pZCBhdXRvc2Nyb2xsVGltZXJGaXJlZChUaW1lcjxTY3Jv
bGxiYXI+Kik7CisgICAgdm9pZCBhdXRvc2Nyb2xsVGltZXJGaXJlZChUaW1lcjxTY3JvbGxiYXI+
Jik7CiAgICAgdm9pZCBzdGFydFRpbWVySWZOZWVkZWQoZG91YmxlIGRlbGF5KTsKICAgICB2b2lk
IHN0b3BUaW1lcklmTmVlZGVkKCk7CiAgICAgdm9pZCBhdXRvc2Nyb2xsUHJlc3NlZFBhcnQoZG91
YmxlIGRlbGF5KTsKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL1RpbWVyLmgg
Yi9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9UaW1lci5oCmluZGV4IDE2MTRiZDEzYWNhNWQyNzZh
MjYxYTc0MGI5OGM0NWZhN2UzNTkwN2IuLmNkMzFlYTFiY2FlNmVjOTVhYjAwZGQ3NmQxOTM2MmZi
M2JkYzJiZTAgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL1RpbWVyLmgKKysr
IGIvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vVGltZXIuaApAQCAtMTEwLDE1ICsxMTAsMzYgQEAg
cHJpdmF0ZToKIAogdGVtcGxhdGUgPHR5cGVuYW1lIFRpbWVyRmlyZWRDbGFzcz4gY2xhc3MgVGlt
ZXIgOiBwdWJsaWMgVGltZXJCYXNlIHsKIHB1YmxpYzoKLSAgICB0eXBlZGVmIHZvaWQgKFRpbWVy
RmlyZWRDbGFzczo6KlRpbWVyRmlyZWRGdW5jdGlvbikoVGltZXIqKTsKKyAgICB0eXBlZGVmIHZv
aWQgKFRpbWVyRmlyZWRDbGFzczo6KlRpbWVyRmlyZWRGdW5jdGlvbikoVGltZXImKTsKKyAgICB0
eXBlZGVmIHZvaWQgKFRpbWVyRmlyZWRDbGFzczo6KkRlcHJlY2F0ZWRUaW1lckZpcmVkRnVuY3Rp
b24pKFRpbWVyKik7CiAKLSAgICBUaW1lcihUaW1lckZpcmVkQ2xhc3MqIG8sIFRpbWVyRmlyZWRG
dW5jdGlvbiBmKQotICAgICAgICA6IG1fb2JqZWN0KG8pLCBtX2Z1bmN0aW9uKGYpIHsgfQorICAg
IFRpbWVyKFRpbWVyRmlyZWRDbGFzcyogb2JqZWN0LCBUaW1lckZpcmVkRnVuY3Rpb24gZnVuY3Rp
b24pCisgICAgICAgIDogbV9vYmplY3Qob2JqZWN0KQorICAgICAgICAsIG1fZGVwcmVjYXRlZEZ1
bmN0aW9uKG51bGxwdHIpCisgICAgICAgICwgbV9mdW5jdGlvbihmdW5jdGlvbikKKyAgICB7Cisg
ICAgfQorCisgICAgVGltZXIoVGltZXJGaXJlZENsYXNzKiBvYmplY3QsIERlcHJlY2F0ZWRUaW1l
ckZpcmVkRnVuY3Rpb24gZnVuY3Rpb24pCisgICAgICAgIDogbV9vYmplY3Qob2JqZWN0KQorICAg
ICAgICAsIG1fZGVwcmVjYXRlZEZ1bmN0aW9uKGZ1bmN0aW9uKQorICAgICAgICAsIG1fZnVuY3Rp
b24obnVsbHB0cikKKyAgICB7CisgICAgfQogCiBwcml2YXRlOgotICAgIHZpcnR1YWwgdm9pZCBm
aXJlZCgpIE9WRVJSSURFIHsgKG1fb2JqZWN0LT4qbV9mdW5jdGlvbikodGhpcyk7IH0KKyAgICB2
aXJ0dWFsIHZvaWQgZmlyZWQoKSBPVkVSUklERQorICAgIHsKKyAgICAgICAgaWYgKG1fZGVwcmVj
YXRlZEZ1bmN0aW9uKSB7CisgICAgICAgICAgICAobV9vYmplY3QtPiptX2RlcHJlY2F0ZWRGdW5j
dGlvbikodGhpcyk7CisgICAgICAgICAgICByZXR1cm47CisgICAgICAgIH0KKworICAgICAgICAo
bV9vYmplY3QtPiptX2Z1bmN0aW9uKSgqdGhpcyk7CisgICAgfQogCiAgICAgVGltZXJGaXJlZENs
YXNzKiBtX29iamVjdDsKKyAgICBEZXByZWNhdGVkVGltZXJGaXJlZEZ1bmN0aW9uIG1fZGVwcmVj
YXRlZEZ1bmN0aW9uOwogICAgIFRpbWVyRmlyZWRGdW5jdGlvbiBtX2Z1bmN0aW9uOwogfTsKIApA
QCAtMTQxLDExICsxNjIsMjIgQEAgaW5saW5lIGJvb2wgVGltZXJCYXNlOjppc0FjdGl2ZSgpIGNv
bnN0CiAKIHRlbXBsYXRlIDx0eXBlbmFtZSBUaW1lckZpcmVkQ2xhc3M+IGNsYXNzIERlZmVycmFi
bGVPbmVTaG90VGltZXIgOiBwcm90ZWN0ZWQgVGltZXJCYXNlIHsKIHB1YmxpYzoKLSAgICB0eXBl
ZGVmIHZvaWQgKFRpbWVyRmlyZWRDbGFzczo6KlRpbWVyRmlyZWRGdW5jdGlvbikoRGVmZXJyYWJs
ZU9uZVNob3RUaW1lciopOworICAgIHR5cGVkZWYgdm9pZCAoVGltZXJGaXJlZENsYXNzOjoqVGlt
ZXJGaXJlZEZ1bmN0aW9uKShEZWZlcnJhYmxlT25lU2hvdFRpbWVyJik7CisgICAgdHlwZWRlZiB2
b2lkIChUaW1lckZpcmVkQ2xhc3M6OipEZXByZWNhdGVkVGltZXJGaXJlZEZ1bmN0aW9uKShEZWZl
cnJhYmxlT25lU2hvdFRpbWVyKik7CiAKLSAgICBEZWZlcnJhYmxlT25lU2hvdFRpbWVyKFRpbWVy
RmlyZWRDbGFzcyogbywgVGltZXJGaXJlZEZ1bmN0aW9uIGYsIGRvdWJsZSBkZWxheSkKLSAgICAg
ICAgOiBtX29iamVjdChvKQotICAgICAgICAsIG1fZnVuY3Rpb24oZikKKyAgICBEZWZlcnJhYmxl
T25lU2hvdFRpbWVyKFRpbWVyRmlyZWRDbGFzcyogb2JqZWN0LCBUaW1lckZpcmVkRnVuY3Rpb24g
ZnVuY3Rpb24sIGRvdWJsZSBkZWxheSkKKyAgICAgICAgOiBtX29iamVjdChvYmplY3QpCisgICAg
ICAgICwgbV9mdW5jdGlvbihmdW5jdGlvbikKKyAgICAgICAgLCBtX2RlcHJlY2F0ZWRGdW5jdGlv
bihudWxscHRyKQorICAgICAgICAsIG1fZGVsYXkoZGVsYXkpCisgICAgICAgICwgbV9zaG91bGRS
ZXN0YXJ0V2hlblRpbWVyRmlyZXMoZmFsc2UpCisgICAgeworICAgIH0KKworICAgIERlZmVycmFi
bGVPbmVTaG90VGltZXIoVGltZXJGaXJlZENsYXNzKiBvYmplY3QsIERlcHJlY2F0ZWRUaW1lckZp
cmVkRnVuY3Rpb24gZnVuY3Rpb24sIGRvdWJsZSBkZWxheSkKKyAgICAgICAgOiBtX29iamVjdChv
YmplY3QpCisgICAgICAgICwgbV9mdW5jdGlvbihudWxscHRyKQorICAgICAgICAsIG1fZGVwcmVj
YXRlZEZ1bmN0aW9uKGZ1bmN0aW9uKQogICAgICAgICAsIG1fZGVsYXkoZGVsYXkpCiAgICAgICAg
ICwgbV9zaG91bGRSZXN0YXJ0V2hlblRpbWVyRmlyZXMoZmFsc2UpCiAgICAgewpAQCAtMTgxLDEx
ICsyMTMsMTcgQEAgcHJpdmF0ZToKICAgICAgICAgICAgIHJldHVybjsKICAgICAgICAgfQogCi0g
ICAgICAgIChtX29iamVjdC0+Km1fZnVuY3Rpb24pKHRoaXMpOworICAgICAgICBpZiAobV9kZXBy
ZWNhdGVkRnVuY3Rpb24pIHsKKyAgICAgICAgICAgIChtX29iamVjdC0+Km1fZGVwcmVjYXRlZEZ1
bmN0aW9uKSh0aGlzKTsKKyAgICAgICAgICAgIHJldHVybjsKKyAgICAgICAgfQorCisgICAgICAg
IChtX29iamVjdC0+Km1fZnVuY3Rpb24pKCp0aGlzKTsKICAgICB9CiAKICAgICBUaW1lckZpcmVk
Q2xhc3MqIG1fb2JqZWN0OwogICAgIFRpbWVyRmlyZWRGdW5jdGlvbiBtX2Z1bmN0aW9uOworICAg
IERlcHJlY2F0ZWRUaW1lckZpcmVkRnVuY3Rpb24gbV9kZXByZWNhdGVkRnVuY3Rpb247CiAKICAg
ICBkb3VibGUgbV9kZWxheTsKICAgICBib29sIG1fc2hvdWxkUmVzdGFydFdoZW5UaW1lckZpcmVz
OwpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3MvQml0bWFwSW1h
Z2UuY3BwIGIvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3MvQml0bWFwSW1hZ2UuY3Bw
CmluZGV4IDQ3MDA4MmVkNWM1ZWYwMmE3MzNlNmQ5NDEyMWMwNDkyMDViZTBkMGUuLjI5ZjlkNWMx
Zjc3NGRkODE3MjkyZWJmM2RhNjZiMjg4YjA0OTUzM2YgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJD
b3JlL3BsYXRmb3JtL2dyYXBoaWNzL0JpdG1hcEltYWdlLmNwcAorKysgYi9Tb3VyY2UvV2ViQ29y
ZS9wbGF0Zm9ybS9ncmFwaGljcy9CaXRtYXBJbWFnZS5jcHAKQEAgLTY5Niw3ICs2OTYsNyBAQCB2
b2lkIEJpdG1hcEltYWdlOjpkcmF3UGF0dGVybihHcmFwaGljc0NvbnRleHQqIGN0eHQsIGNvbnN0
IEZsb2F0UmVjdCYgdGlsZVJlY3QsCiB9CiAKIAotdm9pZCBCaXRtYXBJbWFnZTo6YWR2YW5jZUFu
aW1hdGlvbihUaW1lcjxCaXRtYXBJbWFnZT4qKQordm9pZCBCaXRtYXBJbWFnZTo6YWR2YW5jZUFu
aW1hdGlvbihUaW1lcjxCaXRtYXBJbWFnZT4mKQogewogICAgIGludGVybmFsQWR2YW5jZUFuaW1h
dGlvbihmYWxzZSk7CiAgICAgLy8gQXQgdGhpcyBwb2ludCB0aGUgaW1hZ2UgcmVnaW9uIGhhcyBi
ZWVuIG1hcmtlZCBkaXJ0eSwgYW5kIGlmIGl0J3MKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3Jl
L3BsYXRmb3JtL2dyYXBoaWNzL0JpdG1hcEltYWdlLmggYi9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9y
bS9ncmFwaGljcy9CaXRtYXBJbWFnZS5oCmluZGV4IDg3ZDhiOGM2NjIyZmI5ZmMzYzJiZjAwNDY1
N2M3MDUzYmU0ZTlmM2YuLjE2ZGFmNDc2YWI4MTBkODYyMzNjNDY1NDhjMmEyNWM2NDhmMzRmNDQg
MTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNzL0JpdG1hcEltYWdl
LmgKKysrIGIvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3MvQml0bWFwSW1hZ2UuaApA
QCAtMjY5LDcgKzI2OSw3IEBAIHByb3RlY3RlZDoKICAgICBpbnQgcmVwZXRpdGlvbkNvdW50KGJv
b2wgaW1hZ2VLbm93blRvQmVDb21wbGV0ZSk7ICAvLyB8aW1hZ2VLbm93blRvQmVDb21wbGV0ZXwg
c2hvdWxkIGJlIHNldCBpZiB0aGUgY2FsbGVyIGtub3dzIHRoZSBlbnRpcmUgaW1hZ2UgaGFzIGJl
ZW4gZGVjb2RlZC4KICAgICBib29sIHNob3VsZEFuaW1hdGUoKTsKICAgICB2aXJ0dWFsIHZvaWQg
c3RhcnRBbmltYXRpb24oYm9vbCBjYXRjaFVwSWZOZWNlc3NhcnkgPSB0cnVlKSBPVkVSUklERTsK
LSAgICB2b2lkIGFkdmFuY2VBbmltYXRpb24oVGltZXI8Qml0bWFwSW1hZ2U+Kik7CisgICAgdm9p
ZCBhZHZhbmNlQW5pbWF0aW9uKFRpbWVyPEJpdG1hcEltYWdlPiYpOwogCiAgICAgLy8gRnVuY3Rp
b24gdGhhdCBkb2VzIHRoZSByZWFsIHdvcmsgb2YgYWR2YW5jaW5nIHRoZSBhbmltYXRpb24uICBX
aGVuCiAgICAgLy8gc2tpcHBpbmdGcmFtZXMgaXMgdHJ1ZSwgd2UncmUgaW4gdGhlIG1pZGRsZSBv
ZiBhIGxvb3AgdHJ5aW5nIHRvIHNraXAgb3ZlcgpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUv
cGxhdGZvcm0vZ3JhcGhpY3MvTWVkaWFQbGF5ZXIuY3BwIGIvU291cmNlL1dlYkNvcmUvcGxhdGZv
cm0vZ3JhcGhpY3MvTWVkaWFQbGF5ZXIuY3BwCmluZGV4IDg0OTUzMTVjOGZmMTFlZTZjZjBiNjU2
YmZjMzVkYTNkYzhiZmIyYTYuLjcxNjFkOWNlMzU3ODNhODNmODQxMTZlODU5OGMyNGE5YzlkM2Nm
MTAgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNzL01lZGlhUGxh
eWVyLmNwcAorKysgYi9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGljcy9NZWRpYVBsYXll
ci5jcHAKQEAgLTk1OSw3ICs5NTksNyBAQCB1bnNpZ25lZCBNZWRpYVBsYXllcjo6dmlkZW9EZWNv
ZGVkQnl0ZUNvdW50KCkgY29uc3QKICAgICByZXR1cm4gbV9wcml2YXRlLT52aWRlb0RlY29kZWRC
eXRlQ291bnQoKTsKIH0KIAotdm9pZCBNZWRpYVBsYXllcjo6cmVsb2FkVGltZXJGaXJlZChUaW1l
cjxNZWRpYVBsYXllcj4qKQordm9pZCBNZWRpYVBsYXllcjo6cmVsb2FkVGltZXJGaXJlZChUaW1l
cjxNZWRpYVBsYXllcj4mKQogewogICAgIG1fcHJpdmF0ZS0+Y2FuY2VsTG9hZCgpOwogICAgIGxv
YWRXaXRoTmV4dE1lZGlhRW5naW5lKG1fY3VycmVudE1lZGlhRW5naW5lKTsKZGlmZiAtLWdpdCBh
L1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNzL01lZGlhUGxheWVyLmggYi9Tb3VyY2Uv
V2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGljcy9NZWRpYVBsYXllci5oCmluZGV4IDIyN2U5ZTdkOWI2
ZGE0MDc5ODM0MWE0ZTg0N2JiNWViNDI2N2JlMmYuLmM2NDgwZTRiMGZkMDg4MjUwZjU2ZmRiYjU4
NDdlNzYzOGU1NTA2MjQgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2dyYXBo
aWNzL01lZGlhUGxheWVyLmgKKysrIGIvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3Mv
TWVkaWFQbGF5ZXIuaApAQCAtNTU1LDcgKzU1NSw3IEBAIHByaXZhdGU6CiAgICAgTWVkaWFQbGF5
ZXIoTWVkaWFQbGF5ZXJDbGllbnQqKTsKICAgICBNZWRpYVBsYXllckZhY3RvcnkqIG5leHRCZXN0
TWVkaWFFbmdpbmUoTWVkaWFQbGF5ZXJGYWN0b3J5KikgY29uc3Q7CiAgICAgdm9pZCBsb2FkV2l0
aE5leHRNZWRpYUVuZ2luZShNZWRpYVBsYXllckZhY3RvcnkqKTsKLSAgICB2b2lkIHJlbG9hZFRp
bWVyRmlyZWQoVGltZXI8TWVkaWFQbGF5ZXI+Kik7CisgICAgdm9pZCByZWxvYWRUaW1lckZpcmVk
KFRpbWVyPE1lZGlhUGxheWVyPiYpOwogCiAgICAgc3RhdGljIHZvaWQgaW5pdGlhbGl6ZU1lZGlh
RW5naW5lcygpOwogCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGlj
cy9jYS9tYWMvTGF5ZXJQb29sLmggYi9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGljcy9j
YS9tYWMvTGF5ZXJQb29sLmgKaW5kZXggODA4ODYxMGJlZjJiYjgxMzJiNWNiZTk3YmI4MWMyYjA5
MDkxYWUxOS4uMmZmYjQ4NWJlMDA0MzAzMmNkZmU1NjVkNjY5ZTE5YzcwZTE5NTQ4MiAxMDA2NDQK
LS0tIGEvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3MvY2EvbWFjL0xheWVyUG9vbC5o
CisrKyBiL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNzL2NhL21hYy9MYXllclBvb2wu
aApAQCAtNjAsNyArNjAsNyBAQCBwcml2YXRlOgogCiAgICAgYm9vbCBjYW5SZXVzZUxheWVyV2l0
aFNpemUoY29uc3QgSW50U2l6ZSYgc2l6ZSkgY29uc3QgeyByZXR1cm4gbV9tYXhCeXRlc0ZvclBv
b2wgJiYgIXNpemUuaXNFbXB0eSgpOyB9CiAgICAgdm9pZCBzY2hlZHVsZVBydW5lKCk7Ci0gICAg
dm9pZCBwcnVuZVRpbWVyRmlyZWQoVGltZXI8TGF5ZXJQb29sPiopOworICAgIHZvaWQgcHJ1bmVU
aW1lckZpcmVkKFRpbWVyPExheWVyUG9vbD4mKTsKIAogICAgIHR5cGVkZWYgZW51bSB7IExlYXZl
VW5jaGFuZ2VkLCBNYXJrQXNVc2VkIH0gQWNjZXNzVHlwZTsKICAgICBMYXllckxpc3QmIGxpc3RP
ZkxheWVyc1dpdGhTaXplKGNvbnN0IEludFNpemUmLCBBY2Nlc3NUeXBlID0gTGVhdmVVbmNoYW5n
ZWQpOwpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3MvY2EvbWFj
L0xheWVyUG9vbC5tbSBiL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNzL2NhL21hYy9M
YXllclBvb2wubW0KaW5kZXggMGI0Mjc0N2QwZTY3YTU2MzkyYWI5OWZkMmRjMGY2ZTNjZTExMWVl
Ny4uZGNmOGRkZmFlZjFmOTY4MDNlMmJmMjkxMTc2MmE2M2QxYmJhOWEzMiAxMDA2NDQKLS0tIGEv
U291cmNlL1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3MvY2EvbWFjL0xheWVyUG9vbC5tbQorKysg
Yi9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGljcy9jYS9tYWMvTGF5ZXJQb29sLm1tCkBA
IC0xMDYsNyArMTA2LDcgQEAgdm9pZCBMYXllclBvb2w6OnNjaGVkdWxlUHJ1bmUoKQogICAgIG1f
cHJ1bmVUaW1lci5zdGFydE9uZVNob3QoMSk7CiB9CiAKLXZvaWQgTGF5ZXJQb29sOjpwcnVuZVRp
bWVyRmlyZWQoVGltZXI8TGF5ZXJQb29sPiopCit2b2lkIExheWVyUG9vbDo6cHJ1bmVUaW1lckZp
cmVkKFRpbWVyPExheWVyUG9vbD4mKQogewogICAgIHVuc2lnbmVkIHNocmlua1RvID0gZGVjYXll
ZENhcGFjaXR5KCk7CiAgICAgd2hpbGUgKG1fdG90YWxCeXRlcyA+IHNocmlua1RvKSB7CmRpZmYg
LS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGljcy9jZy9JbWFnZUJ1ZmZlckJh
Y2tpbmdTdG9yZUNhY2hlLmNwcCBiL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNzL2Nn
L0ltYWdlQnVmZmVyQmFja2luZ1N0b3JlQ2FjaGUuY3BwCmluZGV4IDA3NDU5YzEwOTMxNjIzMzQ3
YjViZmI0MjU1N2Q5ZjhhOGQwNDA3MTAuLjZhYmQ0YTRiODUwMzJmYWZhMDM2YTVlMjBjMWU4YTUw
ZmVkNzE4OGUgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNzL2Nn
L0ltYWdlQnVmZmVyQmFja2luZ1N0b3JlQ2FjaGUuY3BwCisrKyBiL1NvdXJjZS9XZWJDb3JlL3Bs
YXRmb3JtL2dyYXBoaWNzL2NnL0ltYWdlQnVmZmVyQmFja2luZ1N0b3JlQ2FjaGUuY3BwCkBAIC0y
MDksNyArMjA5LDcgQEAgdm9pZCBJbWFnZUJ1ZmZlckJhY2tpbmdTdG9yZUNhY2hlOjpkZWFsbG9j
YXRlKElPU3VyZmFjZVJlZiBzdXJmYWNlKQogICAgIHNjaGVkdWxlUHVyZ2VUaW1lcigpOwogfQog
Ci12b2lkIEltYWdlQnVmZmVyQmFja2luZ1N0b3JlQ2FjaGU6OnRpbWVyRmlyZWQoRGVmZXJyYWJs
ZU9uZVNob3RUaW1lcjxJbWFnZUJ1ZmZlckJhY2tpbmdTdG9yZUNhY2hlPiopCit2b2lkIEltYWdl
QnVmZmVyQmFja2luZ1N0b3JlQ2FjaGU6OnRpbWVyRmlyZWQoRGVmZXJyYWJsZU9uZVNob3RUaW1l
cjxJbWFnZUJ1ZmZlckJhY2tpbmdTdG9yZUNhY2hlPiYpCiB7CiAgICAgd2hpbGUgKCFtX2NhY2hl
ZFN1cmZhY2VzLmlzRW1wdHkoKSkgewogICAgICAgICBDYWNoZWRTdXJmYWNlTWFwOjppdGVyYXRv
ciBpdGVyID0gbV9jYWNoZWRTdXJmYWNlcy5iZWdpbigpOwpkaWZmIC0tZ2l0IGEvU291cmNlL1dl
YkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3MvY2cvSW1hZ2VCdWZmZXJCYWNraW5nU3RvcmVDYWNoZS5o
IGIvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3MvY2cvSW1hZ2VCdWZmZXJCYWNraW5n
U3RvcmVDYWNoZS5oCmluZGV4IGQzZmEwN2E5NGE0ODc2OTQ0NWFiNDViMDdkOGMxM2JkMjdlMjBi
NjcuLjFkYTMwZGU2ODg0YTY3ZmViZjczNDkyYTc2YTNkYmYzZGYxMjYxOTEgMTAwNjQ0Ci0tLSBh
L1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNzL2NnL0ltYWdlQnVmZmVyQmFja2luZ1N0
b3JlQ2FjaGUuaAorKysgYi9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGljcy9jZy9JbWFn
ZUJ1ZmZlckJhY2tpbmdTdG9yZUNhY2hlLmgKQEAgLTk3LDcgKzk3LDcgQEAgcHJpdmF0ZToKICAg
ICBib29sIHRyeVRha2VGcm9tQ2FjaGUoY29uc3QgSW50U2l6ZSYsIENHQ29sb3JTcGFjZVJlZiwg
Ym9vbCBuZWVkRXhhY3RTaXplLCBJT1N1cmZhY2VBbmRDb250ZXh0V2l0aENyZWF0aW9uUGFyYW1z
JiBvdXRJbmZvKTsKICAgICBib29sIGlzQWNjZXB0YWJsZVN1cmZhY2UoY29uc3QgSU9TdXJmYWNl
QW5kQ29udGV4dFdpdGhDcmVhdGlvblBhcmFtcyYsIGNvbnN0IEludFNpemUmLCBDR0NvbG9yU3Bh
Y2VSZWYsIGJvb2wgbmVlZEV4YWN0U2l6ZSkgY29uc3Q7CiAKLSAgICB2b2lkIHRpbWVyRmlyZWQo
RGVmZXJyYWJsZU9uZVNob3RUaW1lcjxJbWFnZUJ1ZmZlckJhY2tpbmdTdG9yZUNhY2hlPiopOwor
ICAgIHZvaWQgdGltZXJGaXJlZChEZWZlcnJhYmxlT25lU2hvdFRpbWVyPEltYWdlQnVmZmVyQmFj
a2luZ1N0b3JlQ2FjaGU+Jik7CiAgICAgdm9pZCBzY2hlZHVsZVB1cmdlVGltZXIoKTsKIAogICAg
IERlZmVycmFibGVPbmVTaG90VGltZXI8SW1hZ2VCdWZmZXJCYWNraW5nU3RvcmVDYWNoZT4gbV9w
dXJnZVRpbWVyOwpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3Mv
Y2cvU3ViaW1hZ2VDYWNoZVdpdGhUaW1lci5jcHAgYi9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9n
cmFwaGljcy9jZy9TdWJpbWFnZUNhY2hlV2l0aFRpbWVyLmNwcAppbmRleCBlZTc5MjA1N2Q1NDM3
OWJjY2JjYmM2NmEyOThiZjFkZjZjZjM4MjU4Li5iZTMwNDAzODZkNzhlODJlODUxMjY5ZDYwOGZl
ZjU5ZWQxMGM4Y2FlIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGlj
cy9jZy9TdWJpbWFnZUNhY2hlV2l0aFRpbWVyLmNwcAorKysgYi9Tb3VyY2UvV2ViQ29yZS9wbGF0
Zm9ybS9ncmFwaGljcy9jZy9TdWJpbWFnZUNhY2hlV2l0aFRpbWVyLmNwcApAQCAtNjUsNyArNjUs
NyBAQCBTdWJpbWFnZUNhY2hlV2l0aFRpbWVyOjpTdWJpbWFnZUNhY2hlV2l0aFRpbWVyKCkKIHsK
IH0KIAotdm9pZCBTdWJpbWFnZUNhY2hlV2l0aFRpbWVyOjppbnZhbGlkYXRlQ2FjaGVUaW1lckZp
cmVkKERlZmVycmFibGVPbmVTaG90VGltZXI8U3ViaW1hZ2VDYWNoZVdpdGhUaW1lcj4qKQordm9p
ZCBTdWJpbWFnZUNhY2hlV2l0aFRpbWVyOjppbnZhbGlkYXRlQ2FjaGVUaW1lckZpcmVkKERlZmVy
cmFibGVPbmVTaG90VGltZXI8U3ViaW1hZ2VDYWNoZVdpdGhUaW1lcj4mKQogewogICAgIG1faW1h
Z2VzLmNsZWFyKCk7CiAgICAgbV9jYWNoZS5jbGVhcigpOwpkaWZmIC0tZ2l0IGEvU291cmNlL1dl
YkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3MvY2cvU3ViaW1hZ2VDYWNoZVdpdGhUaW1lci5oIGIvU291
cmNlL1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3MvY2cvU3ViaW1hZ2VDYWNoZVdpdGhUaW1lci5o
CmluZGV4IDU2M2RlZThlZjgwN2E2M2IyZGQ2MDMyNTBjNWVlMmYyNDMyMDg2ZjYuLmI1NGNkNDI1
MTlhOTdiZGFhYmQ4YWUxZmJiYzYyMDA0NmMyZjI3NWUgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJD
b3JlL3BsYXRmb3JtL2dyYXBoaWNzL2NnL1N1YmltYWdlQ2FjaGVXaXRoVGltZXIuaAorKysgYi9T
b3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGljcy9jZy9TdWJpbWFnZUNhY2hlV2l0aFRpbWVy
LmgKQEAgLTg4LDcgKzg4LDcgQEAgcHVibGljOgogICAgIHZvaWQgY2xlYXJJbWFnZShDR0ltYWdl
UmVmKTsKIAogcHJpdmF0ZToKLSAgICB2b2lkIGludmFsaWRhdGVDYWNoZVRpbWVyRmlyZWQoRGVm
ZXJyYWJsZU9uZVNob3RUaW1lcjxTdWJpbWFnZUNhY2hlV2l0aFRpbWVyPiopOworICAgIHZvaWQg
aW52YWxpZGF0ZUNhY2hlVGltZXJGaXJlZChEZWZlcnJhYmxlT25lU2hvdFRpbWVyPFN1YmltYWdl
Q2FjaGVXaXRoVGltZXI+Jik7CiAKICAgICBIYXNoQ291bnRlZFNldDxDR0ltYWdlUmVmPiBtX2lt
YWdlczsKICAgICBTdWJpbWFnZUNhY2hlIG1fY2FjaGU7CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2Vi
Q29yZS9wbGF0Zm9ybS9ncmFwaGljcy9tYWMvTWVkaWFQbGF5ZXJQcml2YXRlUVRLaXQuaCBiL1Nv
dXJjZS9XZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNzL21hYy9NZWRpYVBsYXllclByaXZhdGVRVEtp
dC5oCmluZGV4IDI4MmJlYTY1MTIyNTc0MGYwZjRkM2FlN2Q0NzgzZjdkYzg2Mjg1YTEuLjllYTQz
OGMzOWRkZGE4NzIwNmQzMWM4MWYyZWM3OGZjZjczZjcwMzYgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9X
ZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNzL21hYy9NZWRpYVBsYXllclByaXZhdGVRVEtpdC5oCisr
KyBiL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNzL21hYy9NZWRpYVBsYXllclByaXZh
dGVRVEtpdC5oCkBAIC0xNzMsNyArMTczLDcgQEAgcHJpdmF0ZToKICAgICB2b2lkIHVwZGF0ZVN0
YXRlcygpOwogICAgIHZvaWQgZG9TZWVrKCk7CiAgICAgdm9pZCBjYW5jZWxTZWVrKCk7Ci0gICAg
dm9pZCBzZWVrVGltZXJGaXJlZChUaW1lcjxNZWRpYVBsYXllclByaXZhdGVRVEtpdD4qKTsKKyAg
ICB2b2lkIHNlZWtUaW1lckZpcmVkKFRpbWVyPE1lZGlhUGxheWVyUHJpdmF0ZVFUS2l0PiYpOwog
ICAgIGZsb2F0IG1heFRpbWVMb2FkZWQoKSBjb25zdDsKICAgICB2b2lkIGRpc2FibGVVbnN1cHBv
cnRlZFRyYWNrcygpOwogICAgIApkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0v
Z3JhcGhpY3MvbWFjL01lZGlhUGxheWVyUHJpdmF0ZVFUS2l0Lm1tIGIvU291cmNlL1dlYkNvcmUv
cGxhdGZvcm0vZ3JhcGhpY3MvbWFjL01lZGlhUGxheWVyUHJpdmF0ZVFUS2l0Lm1tCmluZGV4IGRm
NWY3YjI5ZDVjZTc0ZjExNWEyMDM4NGNiYzE1ODRmZmRhNDc3MTMuLmQ5MjJjZWQzNTc4NWU1NTM3
ZGE5NDBiMzU4MTcxYTMxYjM1MTIwYjMgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL3BsYXRm
b3JtL2dyYXBoaWNzL21hYy9NZWRpYVBsYXllclByaXZhdGVRVEtpdC5tbQorKysgYi9Tb3VyY2Uv
V2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGljcy9tYWMvTWVkaWFQbGF5ZXJQcml2YXRlUVRLaXQubW0K
QEAgLTc5Nyw3ICs3OTcsNyBAQCB2b2lkIE1lZGlhUGxheWVyUHJpdmF0ZVFUS2l0OjpjYW5jZWxT
ZWVrKCkKICAgICBtX3NlZWtUaW1lci5zdG9wKCk7CiB9CiAKLXZvaWQgTWVkaWFQbGF5ZXJQcml2
YXRlUVRLaXQ6OnNlZWtUaW1lckZpcmVkKFRpbWVyPE1lZGlhUGxheWVyUHJpdmF0ZVFUS2l0Piop
Cit2b2lkIE1lZGlhUGxheWVyUHJpdmF0ZVFUS2l0OjpzZWVrVGltZXJGaXJlZChUaW1lcjxNZWRp
YVBsYXllclByaXZhdGVRVEtpdD4mKQogeyAgICAgICAgCiAgICAgaWYgKCFtZXRhRGF0YUF2YWls
YWJsZSgpfHwgIXNlZWtpbmcoKSB8fCBjdXJyZW50VGltZSgpID09IG1fc2Vla1RvKSB7CiAgICAg
ICAgIGNhbmNlbFNlZWsoKTsKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL21h
Yy9TY3JvbGxBbmltYXRvck1hYy5oIGIvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vbWFjL1Njcm9s
bEFuaW1hdG9yTWFjLmgKaW5kZXggNzExODQzYzU4NDMxMzliZWIzOTg2MGZiNzRkYmY2NzMzMGQx
MDUyMy4uMzNjOWYxNGZhMzZmZjA4YzU3ZTM3ZTY3ZmFjOGU0MzllYjdiOGEwNSAxMDA2NDQKLS0t
IGEvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vbWFjL1Njcm9sbEFuaW1hdG9yTWFjLmgKKysrIGIv
U291cmNlL1dlYkNvcmUvcGxhdGZvcm0vbWFjL1Njcm9sbEFuaW1hdG9yTWFjLmgKQEAgLTc4LDEw
ICs3OCwxMCBAQCBwcml2YXRlOgogICAgIFJldGFpblB0cjxXZWJTY3JvbGxiYXJQYWludGVyRGVs
ZWdhdGU+IG1faG9yaXpvbnRhbFNjcm9sbGJhclBhaW50ZXJEZWxlZ2F0ZTsKICAgICBSZXRhaW5Q
dHI8V2ViU2Nyb2xsYmFyUGFpbnRlckRlbGVnYXRlPiBtX3ZlcnRpY2FsU2Nyb2xsYmFyUGFpbnRl
ckRlbGVnYXRlOwogCi0gICAgdm9pZCBpbml0aWFsU2Nyb2xsYmFyUGFpbnRUaW1lckZpcmVkKFRp
bWVyPFNjcm9sbEFuaW1hdG9yTWFjPiopOworICAgIHZvaWQgaW5pdGlhbFNjcm9sbGJhclBhaW50
VGltZXJGaXJlZChUaW1lcjxTY3JvbGxBbmltYXRvck1hYz4mKTsKICAgICBUaW1lcjxTY3JvbGxB
bmltYXRvck1hYz4gbV9pbml0aWFsU2Nyb2xsYmFyUGFpbnRUaW1lcjsKIAotICAgIHZvaWQgc2Vu
ZENvbnRlbnRBcmVhU2Nyb2xsZWRUaW1lckZpcmVkKFRpbWVyPFNjcm9sbEFuaW1hdG9yTWFjPiop
OworICAgIHZvaWQgc2VuZENvbnRlbnRBcmVhU2Nyb2xsZWRUaW1lckZpcmVkKFRpbWVyPFNjcm9s
bEFuaW1hdG9yTWFjPiYpOwogICAgIFRpbWVyPFNjcm9sbEFuaW1hdG9yTWFjPiBtX3NlbmRDb250
ZW50QXJlYVNjcm9sbGVkVGltZXI7CiAgICAgRmxvYXRTaXplIG1fY29udGVudEFyZWFTY3JvbGxl
ZFRpbWVyU2Nyb2xsRGVsdGE7CiAKQEAgLTE1NSw3ICsxNTUsNyBAQCBwcml2YXRlOgogICAgIHZp
cnR1YWwgdm9pZCBhZGp1c3RTY3JvbGxQb3NpdGlvblRvQm91bmRzSWZOZWNlc3NhcnkoKSBPVkVS
UklERTsKIAogICAgIGJvb2wgcGlubmVkSW5EaXJlY3Rpb24oZmxvYXQgZGVsdGFYLCBmbG9hdCBk
ZWx0YVkpOwotICAgIHZvaWQgc25hcFJ1YmJlckJhbmRUaW1lckZpcmVkKFRpbWVyPFNjcm9sbEFu
aW1hdG9yTWFjPiopOworICAgIHZvaWQgc25hcFJ1YmJlckJhbmRUaW1lckZpcmVkKFRpbWVyPFNj
cm9sbEFuaW1hdG9yTWFjPiYpOwogCiAgICAgU2Nyb2xsRWxhc3RpY2l0eUNvbnRyb2xsZXIgbV9z
Y3JvbGxFbGFzdGljaXR5Q29udHJvbGxlcjsKICAgICBUaW1lcjxTY3JvbGxBbmltYXRvck1hYz4g
bV9zbmFwUnViYmVyQmFuZFRpbWVyOwpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvcGxhdGZv
cm0vbWFjL1Njcm9sbEFuaW1hdG9yTWFjLm1tIGIvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vbWFj
L1Njcm9sbEFuaW1hdG9yTWFjLm1tCmluZGV4IGQ4ZDAzZWJkNzI0M2FlYzIxZmU5NmMzYThkOGYy
ZjlmZGE3ZTI2OGMuLjYwNjFkYWQ2MzQ2Mjk5ZWM5Mjk0NTA2NzA1MmJjOGMzZTE5MGJhMWQgMTAw
NjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL21hYy9TY3JvbGxBbmltYXRvck1hYy5t
bQorKysgYi9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9tYWMvU2Nyb2xsQW5pbWF0b3JNYWMubW0K
QEAgLTEyMjksNyArMTIyOSw3IEBAIHZvaWQgU2Nyb2xsQW5pbWF0b3JNYWM6OnN0b3BTbmFwUnVi
YmVyYmFuZFRpbWVyKCkKICAgICBtX3NuYXBSdWJiZXJCYW5kVGltZXIuc3RvcCgpOwogfQogCi12
b2lkIFNjcm9sbEFuaW1hdG9yTWFjOjpzbmFwUnViYmVyQmFuZFRpbWVyRmlyZWQoVGltZXI8U2Ny
b2xsQW5pbWF0b3JNYWM+KikKK3ZvaWQgU2Nyb2xsQW5pbWF0b3JNYWM6OnNuYXBSdWJiZXJCYW5k
VGltZXJGaXJlZChUaW1lcjxTY3JvbGxBbmltYXRvck1hYz4mKQogewogICAgIG1fc2Nyb2xsRWxh
c3RpY2l0eUNvbnRyb2xsZXIuc25hcFJ1YmJlckJhbmRUaW1lckZpcmVkKCk7CiB9CkBAIC0xMzEw
LDcgKzEzMTAsNyBAQCB2b2lkIFNjcm9sbEFuaW1hdG9yTWFjOjpzdG9wU2Nyb2xsYmFyUGFpbnRU
aW1lcigpCiAgICAgbV9pbml0aWFsU2Nyb2xsYmFyUGFpbnRUaW1lci5zdG9wKCk7CiB9CiAKLXZv
aWQgU2Nyb2xsQW5pbWF0b3JNYWM6OmluaXRpYWxTY3JvbGxiYXJQYWludFRpbWVyRmlyZWQoVGlt
ZXI8U2Nyb2xsQW5pbWF0b3JNYWM+KikKK3ZvaWQgU2Nyb2xsQW5pbWF0b3JNYWM6OmluaXRpYWxT
Y3JvbGxiYXJQYWludFRpbWVyRmlyZWQoVGltZXI8U2Nyb2xsQW5pbWF0b3JNYWM+JikKIHsKICAg
ICAvLyBUbyBmb3JjZSB0aGUgc2Nyb2xsYmFycyB0byBmbGFzaCwgd2UgaGF2ZSB0byBjYWxsIGhp
ZGUgZmlyc3QuIE90aGVyd2lzZSwgdGhlIFNjcm9sbGJhclBhaW50ZXJDb250cm9sbGVyCiAgICAg
Ly8gbWlnaHQgdGhpbmsgdGhhdCB0aGUgc2Nyb2xsYmFycyBhcmUgYWxyZWFkeSBzaG93aW5nIGFu
ZCBiYWlsIGVhcmx5LgpAQCAtMTMzNCw3ICsxMzM0LDcgQEAgdm9pZCBTY3JvbGxBbmltYXRvck1h
Yzo6c2VuZENvbnRlbnRBcmVhU2Nyb2xsZWQoY29uc3QgRmxvYXRTaXplJiBkZWx0YSkKICAgICAg
ICAgW21fc2Nyb2xsYmFyUGFpbnRlckNvbnRyb2xsZXIgY29udGVudEFyZWFTY3JvbGxlZF07CiB9
CiAKLXZvaWQgU2Nyb2xsQW5pbWF0b3JNYWM6OnNlbmRDb250ZW50QXJlYVNjcm9sbGVkVGltZXJG
aXJlZChUaW1lcjxTY3JvbGxBbmltYXRvck1hYz4qKQordm9pZCBTY3JvbGxBbmltYXRvck1hYzo6
c2VuZENvbnRlbnRBcmVhU2Nyb2xsZWRUaW1lckZpcmVkKFRpbWVyPFNjcm9sbEFuaW1hdG9yTWFj
PiYpCiB7CiAgICAgc2VuZENvbnRlbnRBcmVhU2Nyb2xsZWQobV9jb250ZW50QXJlYVNjcm9sbGVk
VGltZXJTY3JvbGxEZWx0YSk7CiAgICAgbV9jb250ZW50QXJlYVNjcm9sbGVkVGltZXJTY3JvbGxE
ZWx0YSA9IEZsb2F0U2l6ZSgpOwpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0v
bW9jay9EZXZpY2VPcmllbnRhdGlvbkNsaWVudE1vY2suY3BwIGIvU291cmNlL1dlYkNvcmUvcGxh
dGZvcm0vbW9jay9EZXZpY2VPcmllbnRhdGlvbkNsaWVudE1vY2suY3BwCmluZGV4IGM3ZGI5MDk5
ZWUyZDk0OTFhZDJhMzQyM2RkMzZjYTIzNmY2OTAxMGYuLjk3MTZhN2U2YWE3ZGU4N2E0MWFiYTFl
MGI1NzU0ZjEzY2UzZGNiZTEgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL21v
Y2svRGV2aWNlT3JpZW50YXRpb25DbGllbnRNb2NrLmNwcAorKysgYi9Tb3VyY2UvV2ViQ29yZS9w
bGF0Zm9ybS9tb2NrL0RldmljZU9yaWVudGF0aW9uQ2xpZW50TW9jay5jcHAKQEAgLTYyLDkgKzYy
LDkgQEAgdm9pZCBEZXZpY2VPcmllbnRhdGlvbkNsaWVudE1vY2s6OnNldE9yaWVudGF0aW9uKFBh
c3NSZWZQdHI8RGV2aWNlT3JpZW50YXRpb25EYXQKICAgICAgICAgbV90aW1lci5zdGFydE9uZVNo
b3QoMCk7CiB9CiAKLXZvaWQgRGV2aWNlT3JpZW50YXRpb25DbGllbnRNb2NrOjp0aW1lckZpcmVk
KFRpbWVyPERldmljZU9yaWVudGF0aW9uQ2xpZW50TW9jaz4qIHRpbWVyKQordm9pZCBEZXZpY2VP
cmllbnRhdGlvbkNsaWVudE1vY2s6OnRpbWVyRmlyZWQoVGltZXI8RGV2aWNlT3JpZW50YXRpb25D
bGllbnRNb2NrPiYgdGltZXIpCiB7Ci0gICAgQVNTRVJUX1VOVVNFRCh0aW1lciwgdGltZXIgPT0g
Jm1fdGltZXIpOworICAgIEFTU0VSVF9VTlVTRUQodGltZXIsICZ0aW1lciA9PSAmbV90aW1lcik7
CiAgICAgbV90aW1lci5zdG9wKCk7CiAgICAgbV9jb250cm9sbGVyLT5kaWRDaGFuZ2VEZXZpY2VP
cmllbnRhdGlvbihtX29yaWVudGF0aW9uLmdldCgpKTsKIH0KZGlmZiAtLWdpdCBhL1NvdXJjZS9X
ZWJDb3JlL3BsYXRmb3JtL21vY2svRGV2aWNlT3JpZW50YXRpb25DbGllbnRNb2NrLmggYi9Tb3Vy
Y2UvV2ViQ29yZS9wbGF0Zm9ybS9tb2NrL0RldmljZU9yaWVudGF0aW9uQ2xpZW50TW9jay5oCmlu
ZGV4IDRkNTVkMjA3YTY0NTk0NTFmYTBjZDhhNDYwMGFiMmY5MWViYTlmNGQuLmZhNmY1YjZmMzUw
NzJmMzdhZjdkNWYzNzA3YTIzMzhlM2YwNDlmY2YgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3Jl
L3BsYXRmb3JtL21vY2svRGV2aWNlT3JpZW50YXRpb25DbGllbnRNb2NrLmgKKysrIGIvU291cmNl
L1dlYkNvcmUvcGxhdGZvcm0vbW9jay9EZXZpY2VPcmllbnRhdGlvbkNsaWVudE1vY2suaApAQCAt
NTQsNyArNTQsNyBAQCBwdWJsaWM6CiAgICAgdm9pZCBzZXRPcmllbnRhdGlvbihQYXNzUmVmUHRy
PERldmljZU9yaWVudGF0aW9uRGF0YT4pOwogCiBwcml2YXRlOgotICAgIHZvaWQgdGltZXJGaXJl
ZChUaW1lcjxEZXZpY2VPcmllbnRhdGlvbkNsaWVudE1vY2s+Kik7CisgICAgdm9pZCB0aW1lckZp
cmVkKFRpbWVyPERldmljZU9yaWVudGF0aW9uQ2xpZW50TW9jaz4mKTsKIAogICAgIFJlZlB0cjxE
ZXZpY2VPcmllbnRhdGlvbkRhdGE+IG1fb3JpZW50YXRpb247CiAgICAgRGV2aWNlT3JpZW50YXRp
b25Db250cm9sbGVyKiBtX2NvbnRyb2xsZXI7CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9w
bGF0Zm9ybS9uZXR3b3JrL05ldHdvcmtTdGF0ZU5vdGlmaWVyLmggYi9Tb3VyY2UvV2ViQ29yZS9w
bGF0Zm9ybS9uZXR3b3JrL05ldHdvcmtTdGF0ZU5vdGlmaWVyLmgKaW5kZXggNzMxMTZkNDZhMzc1
Y2JlNTAwY2RjN2MzODJlYzQyMDNlYjhhNjhjMS4uYzk3NGFjZTFiOTkzNWMyNmQ1MjRmM2YwMTc5
YmFkOTZmZjhmNmE4MyAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vbmV0d29y
ay9OZXR3b3JrU3RhdGVOb3RpZmllci5oCisrKyBiL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL25l
dHdvcmsvTmV0d29ya1N0YXRlTm90aWZpZXIuaApAQCAtNzUsNyArNzUsNyBAQCBwcml2YXRlOgog
ICAgIHZvaWQgdXBkYXRlU3RhdGUoKTsKIAogI2lmIFBMQVRGT1JNKE1BQykgJiYgIVBMQVRGT1JN
KElPUykKLSAgICB2b2lkIG5ldHdvcmtTdGF0ZUNoYW5nZVRpbWVyRmlyZWQoVGltZXI8TmV0d29y
a1N0YXRlTm90aWZpZXI+Kik7CisgICAgdm9pZCBuZXR3b3JrU3RhdGVDaGFuZ2VUaW1lckZpcmVk
KFRpbWVyPE5ldHdvcmtTdGF0ZU5vdGlmaWVyPiYpOwogCiAgICAgc3RhdGljIHZvaWQgZHluYW1p
Y1N0b3JlQ2FsbGJhY2soU0NEeW5hbWljU3RvcmVSZWYsIENGQXJyYXlSZWYgY2hhbmdlZEtleXMs
IHZvaWQgKmluZm8pOyAKIApkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vbmV0
d29yay9SZXNvdXJjZUhhbmRsZS5jcHAgYi9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9uZXR3b3Jr
L1Jlc291cmNlSGFuZGxlLmNwcAppbmRleCAwNjEzMzk4MTVhYjE4ZGNhYTU5YTU1ZjgzYzc0NThl
MDJhNjExMjUwLi4xYTM5OTRlYzgyZWZkYWFiOGRjZmFkZWY1YWFhODdmYmE1ZTNmOTM4IDEwMDY0
NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9uZXR3b3JrL1Jlc291cmNlSGFuZGxlLmNw
cAorKysgYi9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9uZXR3b3JrL1Jlc291cmNlSGFuZGxlLmNw
cApAQCAtMTA4LDcgKzEwOCw3IEBAIHZvaWQgUmVzb3VyY2VIYW5kbGU6OnNjaGVkdWxlRmFpbHVy
ZShGYWlsdXJlVHlwZSB0eXBlKQogICAgIGQtPm1fZmFpbHVyZVRpbWVyLnN0YXJ0T25lU2hvdCgw
KTsKIH0KIAotdm9pZCBSZXNvdXJjZUhhbmRsZTo6ZmlyZUZhaWx1cmUoVGltZXI8UmVzb3VyY2VI
YW5kbGU+KikKK3ZvaWQgUmVzb3VyY2VIYW5kbGU6OmZhaWx1cmVUaW1lckZpcmVkKFRpbWVyPFJl
c291cmNlSGFuZGxlPiYpCiB7CiAgICAgaWYgKCFjbGllbnQoKSkKICAgICAgICAgcmV0dXJuOwpk
aWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vbmV0d29yay9SZXNvdXJjZUhhbmRs
ZS5oIGIvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vbmV0d29yay9SZXNvdXJjZUhhbmRsZS5oCmlu
ZGV4IDViNjFjYWRiYTBkNDkzYmE1MTc3ZDg2ZDYxMjYxMTk3M2U5NGM2N2MuLmEyYTU2YjIzZTcx
ZjZkNTEzNWNmYzkwNmZiODg4YTY4MzMwYWQyZGMgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3Jl
L3BsYXRmb3JtL25ldHdvcmsvUmVzb3VyY2VIYW5kbGUuaAorKysgYi9Tb3VyY2UvV2ViQ29yZS9w
bGF0Zm9ybS9uZXR3b3JrL1Jlc291cmNlSGFuZGxlLmgKQEAgLTIyOCw3ICsyMjgsNyBAQCBwdWJs
aWM6CiAgICAgUmVzb3VyY2VSZXF1ZXN0JiBmaXJzdFJlcXVlc3QoKTsKICAgICBjb25zdCBTdHJp
bmcmIGxhc3RIVFRQTWV0aG9kKCkgY29uc3Q7CiAKLSAgICB2b2lkIGZpcmVGYWlsdXJlKFRpbWVy
PFJlc291cmNlSGFuZGxlPiopOworICAgIHZvaWQgZmFpbHVyZVRpbWVyRmlyZWQoVGltZXI8UmVz
b3VyY2VIYW5kbGU+Jik7CiAKICAgICBOZXR3b3JraW5nQ29udGV4dCogY29udGV4dCgpIGNvbnN0
OwogCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9uZXR3b3JrL1Jlc291cmNl
SGFuZGxlSW50ZXJuYWwuaCBiL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL25ldHdvcmsvUmVzb3Vy
Y2VIYW5kbGVJbnRlcm5hbC5oCmluZGV4IDc2NzFhMWU5MThkNjEyMDg0NGIzYTRjMTY2MDhiZDcw
NGFlYjc4NDQuLmYxOWQwNGRkOThmNGFhMmM3Y2E4Mzg1MjVhNGYxZGViN2Q2MWQ0MjggMTAwNjQ0
Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL25ldHdvcmsvUmVzb3VyY2VIYW5kbGVJbnRl
cm5hbC5oCisrKyBiL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL25ldHdvcmsvUmVzb3VyY2VIYW5k
bGVJbnRlcm5hbC5oCkBAIC0xMTgsNyArMTE4LDcgQEAgbmFtZXNwYWNlIFdlYkNvcmUgewogICAg
ICAgICAgICAgLCBtX2N1cnJlbnRNYWNDaGFsbGVuZ2UobmlsKQogI2VuZGlmCiAgICAgICAgICAg
ICAsIG1fc2NoZWR1bGVkRmFpbHVyZVR5cGUoUmVzb3VyY2VIYW5kbGU6Ok5vRmFpbHVyZSkKLSAg
ICAgICAgICAgICwgbV9mYWlsdXJlVGltZXIobG9hZGVyLCAmUmVzb3VyY2VIYW5kbGU6OmZpcmVG
YWlsdXJlKQorICAgICAgICAgICAgLCBtX2ZhaWx1cmVUaW1lcihsb2FkZXIsICZSZXNvdXJjZUhh
bmRsZTo6ZmFpbHVyZVRpbWVyRmlyZWQpCiAgICAgICAgIHsKICAgICAgICAgICAgIGNvbnN0IFVS
TCYgdXJsID0gbV9maXJzdFJlcXVlc3QudXJsKCk7CiAgICAgICAgICAgICBtX3VzZXIgPSB1cmwu
dXNlcigpOwpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vbmV0d29yay9tYWMv
TmV0d29ya1N0YXRlTm90aWZpZXJNYWMuY3BwIGIvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vbmV0
d29yay9tYWMvTmV0d29ya1N0YXRlTm90aWZpZXJNYWMuY3BwCmluZGV4IDM4NGQ0ZjIwZDdlODRi
OWM0MGRiYjY1YWQzNmU1NWZkNDY0ZjNhZWEuLmNlZjZmZWE2YWVlMjVkZGVjOGY3NDIxYjY3Mjgy
Nzg2ZjI5ZmU3NWUgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL25ldHdvcmsv
bWFjL05ldHdvcmtTdGF0ZU5vdGlmaWVyTWFjLmNwcAorKysgYi9Tb3VyY2UvV2ViQ29yZS9wbGF0
Zm9ybS9uZXR3b3JrL21hYy9OZXR3b3JrU3RhdGVOb3RpZmllck1hYy5jcHAKQEAgLTgxLDcgKzgx
LDcgQEAgdm9pZCBOZXR3b3JrU3RhdGVOb3RpZmllcjo6ZHluYW1pY1N0b3JlQ2FsbGJhY2soU0NE
eW5hbWljU3RvcmVSZWYsIENGQXJyYXlSZWYsIHYKICAgICBub3RpZmllci0+bV9uZXR3b3JrU3Rh
dGVDaGFuZ2VUaW1lci5zdGFydE9uZVNob3QoU3RhdGVDaGFuZ2VUaW1lckludGVydmFsKTsKIH0K
IAotdm9pZCBOZXR3b3JrU3RhdGVOb3RpZmllcjo6bmV0d29ya1N0YXRlQ2hhbmdlVGltZXJGaXJl
ZChUaW1lcjxOZXR3b3JrU3RhdGVOb3RpZmllcj4qKQordm9pZCBOZXR3b3JrU3RhdGVOb3RpZmll
cjo6bmV0d29ya1N0YXRlQ2hhbmdlVGltZXJGaXJlZChUaW1lcjxOZXR3b3JrU3RhdGVOb3RpZmll
cj4mKQogewogICAgIGJvb2wgb2xkT25MaW5lID0gbV9pc09uTGluZTsKICAgICAKZGlmZiAtLWdp
dCBhL1NvdXJjZS9XZWJDb3JlL3JlbmRlcmluZy9JbWFnZVF1YWxpdHlDb250cm9sbGVyLmNwcCBi
L1NvdXJjZS9XZWJDb3JlL3JlbmRlcmluZy9JbWFnZVF1YWxpdHlDb250cm9sbGVyLmNwcAppbmRl
eCBmZDZjNWRkNjM2NjVkMmNjMjRlMjliM2RiYTViZTdmNzcwZTJjNDQ3Li5lODJlZWQ2ZGM1YmRm
NWJjNzFjYjRjZTViMTljODk1N2U5MjEzMmJkIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9y
ZW5kZXJpbmcvSW1hZ2VRdWFsaXR5Q29udHJvbGxlci5jcHAKKysrIGIvU291cmNlL1dlYkNvcmUv
cmVuZGVyaW5nL0ltYWdlUXVhbGl0eUNvbnRyb2xsZXIuY3BwCkBAIC03NCw3ICs3NCw3IEBAIHZv
aWQgSW1hZ2VRdWFsaXR5Q29udHJvbGxlcjo6cmVtb3ZlT2JqZWN0KFJlbmRlckJveE1vZGVsT2Jq
ZWN0KiBvYmplY3QpCiAgICAgfQogfQogCi12b2lkIEltYWdlUXVhbGl0eUNvbnRyb2xsZXI6Omhp
Z2hRdWFsaXR5UmVwYWludFRpbWVyRmlyZWQoVGltZXI8SW1hZ2VRdWFsaXR5Q29udHJvbGxlcj4q
KQordm9pZCBJbWFnZVF1YWxpdHlDb250cm9sbGVyOjpoaWdoUXVhbGl0eVJlcGFpbnRUaW1lckZp
cmVkKFRpbWVyPEltYWdlUXVhbGl0eUNvbnRyb2xsZXI+JikKIHsKICAgICBpZiAobV9yZW5kZXJW
aWV3LmRvY3VtZW50QmVpbmdEZXN0cm95ZWQoKSkKICAgICAgICAgcmV0dXJuOwpkaWZmIC0tZ2l0
IGEvU291cmNlL1dlYkNvcmUvcmVuZGVyaW5nL0ltYWdlUXVhbGl0eUNvbnRyb2xsZXIuaCBiL1Nv
dXJjZS9XZWJDb3JlL3JlbmRlcmluZy9JbWFnZVF1YWxpdHlDb250cm9sbGVyLmgKaW5kZXggNzQ2
NDhkZTc0N2QzYmVmNGFmMDI5ZDY4M2RjMWQ3NTk4MDk2ODdiMS4uYTA2ZGYyYjVmOTg2OThkNTRl
MzJjOWYwZmZlZTBjMTJjOGM2YWQyYiAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvcmVuZGVy
aW5nL0ltYWdlUXVhbGl0eUNvbnRyb2xsZXIuaAorKysgYi9Tb3VyY2UvV2ViQ29yZS9yZW5kZXJp
bmcvSW1hZ2VRdWFsaXR5Q29udHJvbGxlci5oCkBAIC01NSw3ICs1NSw3IEBAIHByaXZhdGU6CiAK
ICAgICB2b2lkIHJlbW92ZUxheWVyKFJlbmRlckJveE1vZGVsT2JqZWN0KiwgTGF5ZXJTaXplTWFw
KiBpbm5lck1hcCwgY29uc3Qgdm9pZCogbGF5ZXIpOwogICAgIHZvaWQgc2V0KFJlbmRlckJveE1v
ZGVsT2JqZWN0KiwgTGF5ZXJTaXplTWFwKiBpbm5lck1hcCwgY29uc3Qgdm9pZCogbGF5ZXIsIGNv
bnN0IExheW91dFNpemUmKTsKLSAgICB2b2lkIGhpZ2hRdWFsaXR5UmVwYWludFRpbWVyRmlyZWQo
VGltZXI8SW1hZ2VRdWFsaXR5Q29udHJvbGxlcj4qKTsKKyAgICB2b2lkIGhpZ2hRdWFsaXR5UmVw
YWludFRpbWVyRmlyZWQoVGltZXI8SW1hZ2VRdWFsaXR5Q29udHJvbGxlcj4mKTsKICAgICB2b2lk
IHJlc3RhcnRUaW1lcigpOwogICAgIHZvaWQgcmVtb3ZlT2JqZWN0KFJlbmRlckJveE1vZGVsT2Jq
ZWN0Kik7CiAKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL3JlbmRlcmluZy9SZW5kZXJCdXR0
b24uY3BwIGIvU291cmNlL1dlYkNvcmUvcmVuZGVyaW5nL1JlbmRlckJ1dHRvbi5jcHAKaW5kZXgg
OGNmNzNmNjE5Y2ViNmM2MjQ0MDk1MmZlMGRhNDRjNWE2MjQ3MTlmNi4uNzc1NmE0MWI3MGM4Y2Y4
ZDE0NmZmMjgxNzhlMmUwODI2NzQ4MmUwOSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvcmVu
ZGVyaW5nL1JlbmRlckJ1dHRvbi5jcHAKKysrIGIvU291cmNlL1dlYkNvcmUvcmVuZGVyaW5nL1Jl
bmRlckJ1dHRvbi5jcHAKQEAgLTE4NCw3ICsxODQsNyBAQCBMYXlvdXRSZWN0IFJlbmRlckJ1dHRv
bjo6Y29udHJvbENsaXBSZWN0KGNvbnN0IExheW91dFBvaW50JiBhZGRpdGlvbmFsT2Zmc2V0KSBj
bwogICAgIHJldHVybiBMYXlvdXRSZWN0KGFkZGl0aW9uYWxPZmZzZXQueCgpICsgYm9yZGVyTGVm
dCgpLCBhZGRpdGlvbmFsT2Zmc2V0LnkoKSArIGJvcmRlclRvcCgpLCB3aWR0aCgpIC0gYm9yZGVy
TGVmdCgpIC0gYm9yZGVyUmlnaHQoKSwgaGVpZ2h0KCkgLSBib3JkZXJUb3AoKSAtIGJvcmRlckJv
dHRvbSgpKTsKIH0KIAotdm9pZCBSZW5kZXJCdXR0b246OnRpbWVyRmlyZWQoVGltZXI8UmVuZGVy
QnV0dG9uPiopCit2b2lkIFJlbmRlckJ1dHRvbjo6dGltZXJGaXJlZChUaW1lcjxSZW5kZXJCdXR0
b24+JikKIHsKICAgICAvLyBGSVhNRSBCdWcgMjUxMTA6IElkZWFsbHkgd2Ugd291bGQgc3RvcCBv
dXIgdGltZXIgd2hlbiBvdXIgRG9jdW1lbnQKICAgICAvLyBlbnRlcnMgdGhlIHBhZ2UgY2FjaGUu
IEJ1dCB3ZSBjdXJyZW50bHkgaGF2ZSBubyB3YXkgb2YgYmVpbmcgbm90aWZpZWQKZGlmZiAtLWdp
dCBhL1NvdXJjZS9XZWJDb3JlL3JlbmRlcmluZy9SZW5kZXJCdXR0b24uaCBiL1NvdXJjZS9XZWJD
b3JlL3JlbmRlcmluZy9SZW5kZXJCdXR0b24uaAppbmRleCA4MzU3OTBhNDA1MjVlN2NmOTgwYzQ5
ODBjNWU2YmE3MzQwODU4ZjZmLi5mZmVhNjUzYmNjNzgyNTZjM2Q3OWUzMGFiMTU0MjBjODI4NmEy
Njc2IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9yZW5kZXJpbmcvUmVuZGVyQnV0dG9uLmgK
KysrIGIvU291cmNlL1dlYkNvcmUvcmVuZGVyaW5nL1JlbmRlckJ1dHRvbi5oCkBAIC03NCw3ICs3
NCw3IEBAIHByaXZhdGU6CiAKICAgICB2aXJ0dWFsIGJvb2wgcmVxdWlyZXNGb3JjZWRTdHlsZVJl
Y2FsY1Byb3BhZ2F0aW9uKCkgY29uc3QgT1ZFUlJJREUgeyByZXR1cm4gdHJ1ZTsgfQogCi0gICAg
dm9pZCB0aW1lckZpcmVkKFRpbWVyPFJlbmRlckJ1dHRvbj4qKTsKKyAgICB2b2lkIHRpbWVyRmly
ZWQoVGltZXI8UmVuZGVyQnV0dG9uPiYpOwogCiAgICAgUmVuZGVyVGV4dEZyYWdtZW50KiBtX2J1
dHRvblRleHQ7CiAgICAgUmVuZGVyQmxvY2sqIG1faW5uZXI7CmRpZmYgLS1naXQgYS9Tb3VyY2Uv
V2ViQ29yZS9yZW5kZXJpbmcvUmVuZGVyTGF5ZXJDb21wb3NpdG9yLmNwcCBiL1NvdXJjZS9XZWJD
b3JlL3JlbmRlcmluZy9SZW5kZXJMYXllckNvbXBvc2l0b3IuY3BwCmluZGV4IDNjNDQ5MGRkMWRh
ZTY1ZDM4ODcwNDM3YzFjOTAzNmQyYzAxNjgwYmUuLjUzOTFiYTQxZjU0ZGExNmY3OTI0MGZhMDMw
MTc4OGJlMTg4YTlkNTAgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL3JlbmRlcmluZy9SZW5k
ZXJMYXllckNvbXBvc2l0b3IuY3BwCisrKyBiL1NvdXJjZS9XZWJDb3JlL3JlbmRlcmluZy9SZW5k
ZXJMYXllckNvbXBvc2l0b3IuY3BwCkBAIC01NzIsNyArNTcyLDcgQEAgdm9pZCBSZW5kZXJMYXll
ckNvbXBvc2l0b3I6OnNjaGVkdWxlQ29tcG9zaXRpbmdMYXllclVwZGF0ZSgpCiAgICAgICAgIG1f
dXBkYXRlQ29tcG9zaXRpbmdMYXllcnNUaW1lci5zdGFydE9uZVNob3QoMCk7CiB9CiAKLXZvaWQg
UmVuZGVyTGF5ZXJDb21wb3NpdG9yOjp1cGRhdGVDb21wb3NpdGluZ0xheWVyc1RpbWVyRmlyZWQo
VGltZXI8UmVuZGVyTGF5ZXJDb21wb3NpdG9yPiopCit2b2lkIFJlbmRlckxheWVyQ29tcG9zaXRv
cjo6dXBkYXRlQ29tcG9zaXRpbmdMYXllcnNUaW1lckZpcmVkKFRpbWVyPFJlbmRlckxheWVyQ29t
cG9zaXRvcj4mKQogewogICAgIHVwZGF0ZUNvbXBvc2l0aW5nTGF5ZXJzKENvbXBvc2l0aW5nVXBk
YXRlQWZ0ZXJMYXlvdXQpOwogfQpAQCAtMzY0OSwxNCArMzY0OSwxNCBAQCB2b2lkIFJlbmRlckxh
eWVyQ29tcG9zaXRvcjo6c3RhcnRJbml0aWFsTGF5ZXJGbHVzaFRpbWVySWZOZWVkZWQoKQogfQog
I2VuZGlmCiAKLXZvaWQgUmVuZGVyTGF5ZXJDb21wb3NpdG9yOjpsYXllckZsdXNoVGltZXJGaXJl
ZChUaW1lcjxSZW5kZXJMYXllckNvbXBvc2l0b3I+KikKK3ZvaWQgUmVuZGVyTGF5ZXJDb21wb3Np
dG9yOjpsYXllckZsdXNoVGltZXJGaXJlZChUaW1lcjxSZW5kZXJMYXllckNvbXBvc2l0b3I+JikK
IHsKICAgICBpZiAoIW1faGFzUGVuZGluZ0xheWVyRmx1c2gpCiAgICAgICAgIHJldHVybjsKICAg
ICBzY2hlZHVsZUxheWVyRmx1c2hOb3coKTsKIH0KIAotdm9pZCBSZW5kZXJMYXllckNvbXBvc2l0
b3I6OnBhaW50UmVsYXRlZE1pbGVzdG9uZXNUaW1lckZpcmVkKFRpbWVyPFJlbmRlckxheWVyQ29t
cG9zaXRvcj4qKQordm9pZCBSZW5kZXJMYXllckNvbXBvc2l0b3I6OnBhaW50UmVsYXRlZE1pbGVz
dG9uZXNUaW1lckZpcmVkKFRpbWVyPFJlbmRlckxheWVyQ29tcG9zaXRvcj4mKQogewogICAgIEZy
YW1lJiBmcmFtZSA9IG1fcmVuZGVyVmlldy5mcmFtZVZpZXcoKS5mcmFtZSgpOwogICAgIFBhZ2Uq
IHBhZ2UgPSBmcmFtZS5wYWdlKCk7CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9yZW5kZXJp
bmcvUmVuZGVyTGF5ZXJDb21wb3NpdG9yLmggYi9Tb3VyY2UvV2ViQ29yZS9yZW5kZXJpbmcvUmVu
ZGVyTGF5ZXJDb21wb3NpdG9yLmgKaW5kZXggZGFjNTQ2ZWYwZjhiMjM1ZjI3ZTcyNDBiYTViMmVh
YWJmODliNDBiZi4uZDk4NjE1Y2U1NzIzMzdiM2U3M2YzMTdlOWVmODc5OTA2OWE4NDcwZSAxMDA2
NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvcmVuZGVyaW5nL1JlbmRlckxheWVyQ29tcG9zaXRvci5o
CisrKyBiL1NvdXJjZS9XZWJDb3JlL3JlbmRlcmluZy9SZW5kZXJMYXllckNvbXBvc2l0b3IuaApA
QCAtMzM1LDcgKzMzNSw3IEBAIHByaXZhdGU6CiAgICAgdm9pZCBhZGRUb092ZXJsYXBNYXAoT3Zl
cmxhcE1hcCYsIFJlbmRlckxheWVyJiwgSW50UmVjdCYgbGF5ZXJCb3VuZHMsIGJvb2wmIGJvdW5k
c0NvbXB1dGVkKTsKICAgICB2b2lkIGFkZFRvT3ZlcmxhcE1hcFJlY3Vyc2l2ZShPdmVybGFwTWFw
JiwgUmVuZGVyTGF5ZXImLCBSZW5kZXJMYXllciogYW5jZXN0b3JMYXllciA9IG51bGxwdHIpOwog
Ci0gICAgdm9pZCB1cGRhdGVDb21wb3NpdGluZ0xheWVyc1RpbWVyRmlyZWQoVGltZXI8UmVuZGVy
TGF5ZXJDb21wb3NpdG9yPiopOworICAgIHZvaWQgdXBkYXRlQ29tcG9zaXRpbmdMYXllcnNUaW1l
ckZpcmVkKFRpbWVyPFJlbmRlckxheWVyQ29tcG9zaXRvcj4mKTsKIAogICAgIC8vIFJldHVybnMg
dHJ1ZSBpZiBhbnkgbGF5ZXIncyBjb21wb3NpdGluZyBjaGFuZ2VkCiAgICAgdm9pZCBjb21wdXRl
Q29tcG9zaXRpbmdSZXF1aXJlbWVudHMoUmVuZGVyTGF5ZXIqIGFuY2VzdG9yTGF5ZXIsIFJlbmRl
ckxheWVyJiwgT3ZlcmxhcE1hcCosIHN0cnVjdCBDb21wb3NpdGluZ1N0YXRlJiwgYm9vbCYgbGF5
ZXJzQ2hhbmdlZCwgYm9vbCYgZGVzY2VuZGFudEhhczNEVHJhbnNmb3JtKTsKQEAgLTQyNyw5ICs0
MjcsOSBAQCBwcml2YXRlOgogICAgIHZvaWQgc2NoZWR1bGVMYXllckZsdXNoTm93KCk7CiAgICAg
Ym9vbCBpc1Rocm90dGxpbmdMYXllckZsdXNoZXMoKSBjb25zdDsKICAgICB2b2lkIHN0YXJ0TGF5
ZXJGbHVzaFRpbWVySWZOZWVkZWQoKTsKLSAgICB2b2lkIGxheWVyRmx1c2hUaW1lckZpcmVkKFRp
bWVyPFJlbmRlckxheWVyQ29tcG9zaXRvcj4qKTsKKyAgICB2b2lkIGxheWVyRmx1c2hUaW1lckZp
cmVkKFRpbWVyPFJlbmRlckxheWVyQ29tcG9zaXRvcj4mKTsKIAotICAgIHZvaWQgcGFpbnRSZWxh
dGVkTWlsZXN0b25lc1RpbWVyRmlyZWQoVGltZXI8UmVuZGVyTGF5ZXJDb21wb3NpdG9yPiopOwor
ICAgIHZvaWQgcGFpbnRSZWxhdGVkTWlsZXN0b25lc1RpbWVyRmlyZWQoVGltZXI8UmVuZGVyTGF5
ZXJDb21wb3NpdG9yPiYpOwogCiAjaWYgIUxPR19ESVNBQkxFRAogICAgIGNvbnN0IGNoYXIqIGxv
Z1JlYXNvbnNGb3JDb21wb3NpdGluZyhjb25zdCBSZW5kZXJMYXllciYpOwpkaWZmIC0tZ2l0IGEv
U291cmNlL1dlYkNvcmUvcmVuZGVyaW5nL1JlbmRlck1hcnF1ZWUuY3BwIGIvU291cmNlL1dlYkNv
cmUvcmVuZGVyaW5nL1JlbmRlck1hcnF1ZWUuY3BwCmluZGV4IDZkMzAwM2IwMjIxOTdkM2EzOGNm
YzA4ZmM1MjBiMDQxNjM5MmYxMTIuLmJkZWE5NzkyOTI5NmRkMGE1NmIzNmFjYjkzYmJiOWFhOGRj
YjljYjIgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL3JlbmRlcmluZy9SZW5kZXJNYXJxdWVl
LmNwcAorKysgYi9Tb3VyY2UvV2ViQ29yZS9yZW5kZXJpbmcvUmVuZGVyTWFycXVlZS5jcHAKQEAg
LTI0MCw3ICsyNDAsNyBAQCB2b2lkIFJlbmRlck1hcnF1ZWU6OnVwZGF0ZU1hcnF1ZWVTdHlsZSgp
CiAgICAgICAgIG1fdGltZXIuc3RvcCgpOwogfQogCi12b2lkIFJlbmRlck1hcnF1ZWU6OnRpbWVy
RmlyZWQoVGltZXI8UmVuZGVyTWFycXVlZT4qKQordm9pZCBSZW5kZXJNYXJxdWVlOjp0aW1lckZp
cmVkKFRpbWVyPFJlbmRlck1hcnF1ZWU+JikKIHsKICAgICBpZiAobV9sYXllci0+cmVuZGVyZXIo
KS52aWV3KCkubmVlZHNMYXlvdXQoKSkKICAgICAgICAgcmV0dXJuOwpkaWZmIC0tZ2l0IGEvU291
cmNlL1dlYkNvcmUvcmVuZGVyaW5nL1JlbmRlck1hcnF1ZWUuaCBiL1NvdXJjZS9XZWJDb3JlL3Jl
bmRlcmluZy9SZW5kZXJNYXJxdWVlLmgKaW5kZXggOThmZGRiOTE1ZmMzMTY4YmZhNGZmMTZlOTNj
YmMzODljZDU1MTY3ZS4uMjUyZjljYzA5NWExZjEwNjUwMDRmMmZkMGRiZGQ5MzQzMTc2NDVkOCAx
MDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvcmVuZGVyaW5nL1JlbmRlck1hcnF1ZWUuaAorKysg
Yi9Tb3VyY2UvV2ViQ29yZS9yZW5kZXJpbmcvUmVuZGVyTWFycXVlZS5oCkBAIC03OSw3ICs3OSw3
IEBAIHB1YmxpYzoKICAgICB2b2lkIHVwZGF0ZU1hcnF1ZWVQb3NpdGlvbigpOwogCiBwcml2YXRl
OgotICAgIHZvaWQgdGltZXJGaXJlZChUaW1lcjxSZW5kZXJNYXJxdWVlPiopOworICAgIHZvaWQg
dGltZXJGaXJlZChUaW1lcjxSZW5kZXJNYXJxdWVlPiYpOwogCiAgICAgUmVuZGVyTGF5ZXIqIG1f
bGF5ZXI7CiAgICAgaW50IG1fY3VycmVudExvb3A7CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29y
ZS9yZW5kZXJpbmcvUmVuZGVyTmFtZWRGbG93VGhyZWFkLmNwcCBiL1NvdXJjZS9XZWJDb3JlL3Jl
bmRlcmluZy9SZW5kZXJOYW1lZEZsb3dUaHJlYWQuY3BwCmluZGV4IGYwYTI4MTUzOWE0YWQyNmIw
ODExNDY2ZTFlMTAzNmE0N2RiZjUwNTguLmNlYzUxNjM2MTY3YTRhYjY1ZDYzOWRjNmVhNDllMTBk
OThhMTQ4NDggMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL3JlbmRlcmluZy9SZW5kZXJOYW1l
ZEZsb3dUaHJlYWQuY3BwCisrKyBiL1NvdXJjZS9XZWJDb3JlL3JlbmRlcmluZy9SZW5kZXJOYW1l
ZEZsb3dUaHJlYWQuY3BwCkBAIC01MTAsMTQgKzUxMCwxNCBAQCB2b2lkIFJlbmRlck5hbWVkRmxv
d1RocmVhZDo6ZGlzcGF0Y2hSZWdpb25PdmVyc2V0Q2hhbmdlRXZlbnQoKQogICAgICAgICBtX3Jl
Z2lvbk92ZXJzZXRDaGFuZ2VFdmVudFRpbWVyLnN0YXJ0T25lU2hvdCgwKTsKIH0KIAotdm9pZCBS
ZW5kZXJOYW1lZEZsb3dUaHJlYWQ6OnJlZ2lvbkxheW91dFVwZGF0ZUV2ZW50VGltZXJGaXJlZChU
aW1lcjxSZW5kZXJOYW1lZEZsb3dUaHJlYWQ+KikKK3ZvaWQgUmVuZGVyTmFtZWRGbG93VGhyZWFk
OjpyZWdpb25MYXlvdXRVcGRhdGVFdmVudFRpbWVyRmlyZWQoVGltZXI8UmVuZGVyTmFtZWRGbG93
VGhyZWFkPiYpCiB7CiAgICAgQVNTRVJUKG1fbmFtZWRGbG93KTsKIAogICAgIG1fbmFtZWRGbG93
LT5kaXNwYXRjaFJlZ2lvbkxheW91dFVwZGF0ZUV2ZW50KCk7CiB9CiAKLXZvaWQgUmVuZGVyTmFt
ZWRGbG93VGhyZWFkOjpyZWdpb25PdmVyc2V0Q2hhbmdlRXZlbnRUaW1lckZpcmVkKFRpbWVyPFJl
bmRlck5hbWVkRmxvd1RocmVhZD4qKQordm9pZCBSZW5kZXJOYW1lZEZsb3dUaHJlYWQ6OnJlZ2lv
bk92ZXJzZXRDaGFuZ2VFdmVudFRpbWVyRmlyZWQoVGltZXI8UmVuZGVyTmFtZWRGbG93VGhyZWFk
PiYpCiB7CiAgICAgQVNTRVJUKG1fbmFtZWRGbG93KTsKICAgICAKZGlmZiAtLWdpdCBhL1NvdXJj
ZS9XZWJDb3JlL3JlbmRlcmluZy9SZW5kZXJOYW1lZEZsb3dUaHJlYWQuaCBiL1NvdXJjZS9XZWJD
b3JlL3JlbmRlcmluZy9SZW5kZXJOYW1lZEZsb3dUaHJlYWQuaAppbmRleCA4ZTAwZmVkNGY4NjBm
OTZiZGVkYzFhYjFmNjIwODZmODcwODM2MjU3Li5lYzRmODQyM2NhNTI2YWQ0YjdiNzJlNzY1MTQy
ZWNmMjA2Nzg3NGEzIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9yZW5kZXJpbmcvUmVuZGVy
TmFtZWRGbG93VGhyZWFkLmgKKysrIGIvU291cmNlL1dlYkNvcmUvcmVuZGVyaW5nL1JlbmRlck5h
bWVkRmxvd1RocmVhZC5oCkBAIC0xMTMsOCArMTEzLDggQEAgcHJpdmF0ZToKICAgICB2b2lkIGNo
ZWNrSW52YWxpZFJlZ2lvbnMoKTsKIAogICAgIGJvb2wgY2FuQmVEZXN0cm95ZWQoKSBjb25zdCB7
IHJldHVybiBtX2ludmFsaWRSZWdpb25MaXN0LmlzRW1wdHkoKSAmJiBtX3JlZ2lvbkxpc3QuaXNF
bXB0eSgpICYmIG1fY29udGVudEVsZW1lbnRzLmlzRW1wdHkoKTsgfQotICAgIHZvaWQgcmVnaW9u
TGF5b3V0VXBkYXRlRXZlbnRUaW1lckZpcmVkKFRpbWVyPFJlbmRlck5hbWVkRmxvd1RocmVhZD4q
KTsKLSAgICB2b2lkIHJlZ2lvbk92ZXJzZXRDaGFuZ2VFdmVudFRpbWVyRmlyZWQoVGltZXI8UmVu
ZGVyTmFtZWRGbG93VGhyZWFkPiopOworICAgIHZvaWQgcmVnaW9uTGF5b3V0VXBkYXRlRXZlbnRU
aW1lckZpcmVkKFRpbWVyPFJlbmRlck5hbWVkRmxvd1RocmVhZD4mKTsKKyAgICB2b2lkIHJlZ2lv
bk92ZXJzZXRDaGFuZ2VFdmVudFRpbWVyRmlyZWQoVGltZXI8UmVuZGVyTmFtZWRGbG93VGhyZWFk
PiYpOwogICAgIHZvaWQgY2xlYXJDb250ZW50RWxlbWVudHMoKTsKICAgICB2b2lkIHVwZGF0ZVdy
aXRpbmdNb2RlKCk7CiAKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL3JlbmRlcmluZy9SZW5k
ZXJQcm9ncmVzcy5jcHAgYi9Tb3VyY2UvV2ViQ29yZS9yZW5kZXJpbmcvUmVuZGVyUHJvZ3Jlc3Mu
Y3BwCmluZGV4IGYzNGUwYTQxY2Q3MmVjZjYzMjA0ZjFiYjg1M2NhYzViMzAzMDJiOGUuLjZhNDE5
N2FjYmQzNzMxZWM4Yjk3ODA3NDE1YmE5NmNkYjA0NTEzYzcgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9X
ZWJDb3JlL3JlbmRlcmluZy9SZW5kZXJQcm9ncmVzcy5jcHAKKysrIGIvU291cmNlL1dlYkNvcmUv
cmVuZGVyaW5nL1JlbmRlclByb2dyZXNzLmNwcApAQCAtODcsNyArODcsNyBAQCBib29sIFJlbmRl
clByb2dyZXNzOjppc0RldGVybWluYXRlKCkgY29uc3QKICAgICAgICAgICAgICYmIEhUTUxQcm9n
cmVzc0VsZW1lbnQ6OkludmFsaWRQb3NpdGlvbiAhPSBwb3NpdGlvbigpKTsKIH0KIAotdm9pZCBS
ZW5kZXJQcm9ncmVzczo6YW5pbWF0aW9uVGltZXJGaXJlZChUaW1lcjxSZW5kZXJQcm9ncmVzcz4q
KQordm9pZCBSZW5kZXJQcm9ncmVzczo6YW5pbWF0aW9uVGltZXJGaXJlZChUaW1lcjxSZW5kZXJQ
cm9ncmVzcz4mKQogewogICAgIHJlcGFpbnQoKTsKICAgICBpZiAoIW1fYW5pbWF0aW9uVGltZXIu
aXNBY3RpdmUoKSAmJiBtX2FuaW1hdGluZykKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL3Jl
bmRlcmluZy9SZW5kZXJQcm9ncmVzcy5oIGIvU291cmNlL1dlYkNvcmUvcmVuZGVyaW5nL1JlbmRl
clByb2dyZXNzLmgKaW5kZXggNzRlNDkxMmQzMWIxNzFjNzk3MWE2OGIyMDcyNTJjNzY2NDczZjIy
MC4uOWExNTNiYmYzMjA3ZjVjNjRmODA0OGFjMzlkMWM0ZGEwNTVlYzJkZiAxMDA2NDQKLS0tIGEv
U291cmNlL1dlYkNvcmUvcmVuZGVyaW5nL1JlbmRlclByb2dyZXNzLmgKKysrIGIvU291cmNlL1dl
YkNvcmUvcmVuZGVyaW5nL1JlbmRlclByb2dyZXNzLmgKQEAgLTQ5LDcgKzQ5LDcgQEAgcHJpdmF0
ZToKICAgICB2aXJ0dWFsIGJvb2wgY2FuQmVSZXBsYWNlZFdpdGhJbmxpbmVSdW5JbigpIGNvbnN0
IE9WRVJSSURFOwogICAgIHZpcnR1YWwgdm9pZCBjb21wdXRlTG9naWNhbEhlaWdodChMYXlvdXRV
bml0IGxvZ2ljYWxIZWlnaHQsIExheW91dFVuaXQgbG9naWNhbFRvcCwgTG9naWNhbEV4dGVudENv
bXB1dGVkVmFsdWVzJikgY29uc3QgT1ZFUlJJREU7CiAKLSAgICB2b2lkIGFuaW1hdGlvblRpbWVy
RmlyZWQoVGltZXI8UmVuZGVyUHJvZ3Jlc3M+Kik7CisgICAgdm9pZCBhbmltYXRpb25UaW1lckZp
cmVkKFRpbWVyPFJlbmRlclByb2dyZXNzPiYpOwogICAgIHZvaWQgdXBkYXRlQW5pbWF0aW9uU3Rh
dGUoKTsKIAogICAgIGRvdWJsZSBtX3Bvc2l0aW9uOwo=
</data>
<flag name="review"
          id="244750"
          type_id="1"
          status="+"
          setter="koivisto"
    />
          </attachment>
      

    </bug>

</bugzilla>