<?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>212402</bug_id>
          
          <creation_ts>2020-05-27 01:45:15 -0700</creation_ts>
          <short_desc>RealtimeIncomingVideoSourceCocoa::OnFrame should use video frame timestamp</short_desc>
          <delta_ts>2020-05-28 01:41:18 -0700</delta_ts>
          <reporter_accessible>1</reporter_accessible>
          <cclist_accessible>1</cclist_accessible>
          <classification_id>1</classification_id>
          <classification>Unclassified</classification>
          <product>WebKit</product>
          <component>WebRTC</component>
          <version>WebKit Local Build</version>
          <rep_platform>Unspecified</rep_platform>
          <op_sys>Unspecified</op_sys>
          <bug_status>RESOLVED</bug_status>
          <resolution>FIXED</resolution>
          
          
          <bug_file_loc></bug_file_loc>
          <status_whiteboard></status_whiteboard>
          <keywords>InRadar</keywords>
          <priority>P2</priority>
          <bug_severity>Normal</bug_severity>
          <target_milestone>---</target_milestone>
          
          
          <everconfirmed>1</everconfirmed>
          <reporter name="youenn fablet">youennf</reporter>
          <assigned_to name="youenn fablet">youennf</assigned_to>
          <cc>eric.carlson</cc>
    
    <cc>ews-watchlist</cc>
    
    <cc>glenn</cc>
    
    <cc>hta</cc>
    
    <cc>jer.noble</cc>
    
    <cc>philipj</cc>
    
    <cc>sergio</cc>
    
    <cc>tommyw</cc>
    
    <cc>webkit-bug-importer</cc>
    
    <cc>youennf</cc>
          

      

      

      

          <comment_sort_order>oldest_to_newest</comment_sort_order>  
          <long_desc isprivate="0" >
    <commentid>1656318</commentid>
    <comment_count>0</comment_count>
    <who name="youenn fablet">youennf</who>
    <bug_when>2020-05-27 01:45:15 -0700</bug_when>
    <thetext>RealtimeIncomingVideoSourceCocoa::OnFrame should use video frame timestamp</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1656326</commentid>
    <comment_count>1</comment_count>
      <attachid>400317</attachid>
    <who name="youenn fablet">youennf</who>
    <bug_when>2020-05-27 02:45:31 -0700</bug_when>
    <thetext>Created attachment 400317
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1656335</commentid>
    <comment_count>2</comment_count>
      <attachid>400320</attachid>
    <who name="youenn fablet">youennf</who>
    <bug_when>2020-05-27 04:28:39 -0700</bug_when>
    <thetext>Created attachment 400320
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1656400</commentid>
    <comment_count>3</comment_count>
      <attachid>400320</attachid>
    <who name="Eric Carlson">eric.carlson</who>
    <bug_when>2020-05-27 09:59:37 -0700</bug_when>
    <thetext>Comment on attachment 400320
Patch

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

Nice simplification!

&gt; Source/WebCore/platform/graphics/avfoundation/objc/LocalSampleBufferDisplayLayer.mm:331
&gt;      while (!m_pendingVideoSampleQueue.isEmpty()) {
&gt; -        if (m_pendingVideoSampleQueue.first()-&gt;decodeTime() &gt; now)
&gt; +        auto presentationTime = m_pendingVideoSampleQueue.first()-&gt;presentationTime();
&gt; +        if (presentationTime.isValid() &amp;&amp; presentationTime &gt; now)
&gt;              break;
&gt;          m_pendingVideoSampleQueue.removeFirst();

Will this do the right thing with &apos;display immediately&apos; samples?</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1656550</commentid>
    <comment_count>4</comment_count>
    <who name="youenn fablet">youennf</who>
    <bug_when>2020-05-27 13:30:54 -0700</bug_when>
    <thetext>(In reply to Eric Carlson from comment #3)
&gt; Comment on attachment 400320 [details]
&gt; Patch
&gt; 
&gt; View in context:
&gt; https://bugs.webkit.org/attachment.cgi?id=400320&amp;action=review
&gt; 
&gt; Nice simplification!
&gt; 
&gt; &gt; Source/WebCore/platform/graphics/avfoundation/objc/LocalSampleBufferDisplayLayer.mm:331
&gt; &gt;      while (!m_pendingVideoSampleQueue.isEmpty()) {
&gt; &gt; -        if (m_pendingVideoSampleQueue.first()-&gt;decodeTime() &gt; now)
&gt; &gt; +        auto presentationTime = m_pendingVideoSampleQueue.first()-&gt;presentationTime();
&gt; &gt; +        if (presentationTime.isValid() &amp;&amp; presentationTime &gt; now)
&gt; &gt;              break;
&gt; &gt;          m_pendingVideoSampleQueue.removeFirst();
&gt; 
&gt; Will this do the right thing with &apos;display immediately&apos; samples?

There might indeed be an issue in general.
In practice, for WebRTC usage (which is the sole use of this class), we could probably further simplify and just use one sample as a buffer instead of a duque, since we want to use the newest sample for WebRTC.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1656787</commentid>
    <comment_count>5</comment_count>
    <who name="EWS">ews-feeder</who>
    <bug_when>2020-05-28 01:40:46 -0700</bug_when>
    <thetext>Committed r262238: &lt;https://trac.webkit.org/changeset/262238&gt;

All reviewed patches have been landed. Closing bug and clearing flags on attachment 400320.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1656788</commentid>
    <comment_count>6</comment_count>
    <who name="Radar WebKit Bug Importer">webkit-bug-importer</who>
    <bug_when>2020-05-28 01:41:18 -0700</bug_when>
    <thetext>&lt;rdar://problem/63710172&gt;</thetext>
  </long_desc>
      
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>400317</attachid>
            <date>2020-05-27 02:45:31 -0700</date>
            <delta_ts>2020-05-27 04:28:32 -0700</delta_ts>
            <desc>Patch</desc>
            <filename>bug-212402-20200527114528.patch</filename>
            <type>text/plain</type>
            <size>18992</size>
            <attacher name="youenn fablet">youennf</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMjYyMTM5CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9D
aGFuZ2VMb2cgYi9Tb3VyY2UvV2ViQ29yZS9DaGFuZ2VMb2cKaW5kZXggMTM5MmFiNzAzOTkyZmRj
NDcxYWE0YjhkNmUyNDJlYWIxMzNjMWQzNy4uNzg0MzUzZmIxODcwYzA5MGE1MGM5MDlkYjBmOGQ2
OWEzZTYzMzhmMCAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvQ2hhbmdlTG9nCisrKyBiL1Nv
dXJjZS9XZWJDb3JlL0NoYW5nZUxvZwpAQCAtMSwzICsxLDMyIEBACisyMDIwLTA1LTI3ICBZb3Vl
bm4gRmFibGV0ICA8eW91ZW5uQGFwcGxlLmNvbT4KKworICAgICAgICBSZWFsdGltZUluY29taW5n
VmlkZW9Tb3VyY2VDb2NvYTo6T25GcmFtZSBzaG91bGQgdXNlIHZpZGVvIGZyYW1lIHRpbWVzdGFt
cAorICAgICAgICBodHRwczovL2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9MjEyNDAy
CisKKyAgICAgICAgUmV2aWV3ZWQgYnkgTk9CT0RZIChPT1BTISkuCisKKyAgICAgICAgVXNlIHRp
bWVzdGFtcCBwcm92aWRlZCBmcm9tIHRoZSBsaWJ3ZWJydGMgYmFja2VuZCBpbnN0cmVhZCBvZiBt
YXJraW5nIHRoZSBmcmFtZXMgYXMgZGlzcGxheSBpbW1lZGlhdGVseS4KKyAgICAgICAgVXBkYXRl
IExvY2FsU2FtcGxlQnVmZmVyRGlzcGxheUxheWVyIHRvIG1hcmsgdGhlIGZyYW1lIGFzIGRpc3Bs
YXkgaW1tZWRpYXRlbHkgaWYgdGhlaXIgcHJlc2VudGF0aW9uIHRpbWUgaXMgaW4gdGhlIHBhc3Qg
c2luY2Ugd2UgZ3VhcmFudGVlIHRoZSBmcmFtZXMgYXJlIGluIG9yZGVyLgorCisgICAgICAgIFJl
bW92ZSB0aGUgb2Zmc2V0IGNvcnJlY3Rpb24gaW4gTWVkaWFQbGF5ZXJQcml2YXRlTWVkaWFTdHJl
YW1BVkZPYmpDLgorICAgICAgICBUaGlzIGRvZXMgbm90IHdvcmsgd2VsbCB3aGVuIHRoZSBkaXNw
bGF5IGxheWVyIGlzIGluIEdQVSBwcm9jZXNzIGFuZCBpdCBpcyBzaW1wbGVyIHRvIHVzZSB0aGUg
c3lzdGVtIGNsb2NrIHdoaWNoIGlzIHdoYXQgQVZTYW1wbGVCdWZmZXJEaXNwbGF5TGF5c2VyIGlz
IHVzaW5nIGlmIGNvbnRyb2xUaW1lYmFzZSBpcyBub3Qgc2V0LgorCisgICAgICAgIE1hbnVhbGx5
IHRlc3RlZC4KKworICAgICAgICAqIHBsYXRmb3JtL2dyYXBoaWNzL2F2Zm91bmRhdGlvbi9TYW1w
bGVCdWZmZXJEaXNwbGF5TGF5ZXIuaDoKKyAgICAgICAgKiBwbGF0Zm9ybS9ncmFwaGljcy9hdmZv
dW5kYXRpb24vb2JqYy9Mb2NhbFNhbXBsZUJ1ZmZlckRpc3BsYXlMYXllci5tbToKKyAgICAgICAg
KFdlYkNvcmU6OkxvY2FsU2FtcGxlQnVmZmVyRGlzcGxheUxheWVyOjplbnF1ZXVlU2FtcGxlKToK
KyAgICAgICAgKFdlYkNvcmU6OkxvY2FsU2FtcGxlQnVmZmVyRGlzcGxheUxheWVyOjpyZW1vdmVP
bGRTYW1wbGVzRnJvbVBlbmRpbmdRdWV1ZSk6CisgICAgICAgICogcGxhdGZvcm0vZ3JhcGhpY3Mv
YXZmb3VuZGF0aW9uL29iamMvTWVkaWFQbGF5ZXJQcml2YXRlTWVkaWFTdHJlYW1BVkZPYmpDLmg6
CisgICAgICAgICogcGxhdGZvcm0vZ3JhcGhpY3MvYXZmb3VuZGF0aW9uL29iamMvTWVkaWFQbGF5
ZXJQcml2YXRlTWVkaWFTdHJlYW1BVkZPYmpDLm1tOgorICAgICAgICAoV2ViQ29yZTo6TWVkaWFQ
bGF5ZXJQcml2YXRlTWVkaWFTdHJlYW1BVkZPYmpDOjplbnF1ZXVlVmlkZW9TYW1wbGUpOgorICAg
ICAgICAoV2ViQ29yZTo6TWVkaWFQbGF5ZXJQcml2YXRlTWVkaWFTdHJlYW1BVkZPYmpDOjp2aWRl
b1NhbXBsZUF2YWlsYWJsZSk6CisgICAgICAgIChXZWJDb3JlOjpNZWRpYVBsYXllclByaXZhdGVN
ZWRpYVN0cmVhbUFWRk9iakM6OnNhbXBsZUJ1ZmZlckRpc3BsYXlMYXllclN0YXR1c0RpZENoYW5n
ZSk6CisgICAgICAgIChXZWJDb3JlOjpNZWRpYVBsYXllclByaXZhdGVNZWRpYVN0cmVhbUFWRk9i
akM6OmFwcGxpY2F0aW9uRGlkQmVjb21lQWN0aXZlKToKKyAgICAgICAgKiBwbGF0Zm9ybS9tZWRp
YXN0cmVhbS9WaWRlb1RyYWNrUHJpdmF0ZU1lZGlhU3RyZWFtLmg6CisgICAgICAgICogcGxhdGZv
cm0vbWVkaWFzdHJlYW0vbWFjL1JlYWx0aW1lSW5jb21pbmdWaWRlb1NvdXJjZUNvY29hLm1tOgor
ICAgICAgICAoV2ViQ29yZTo6UmVhbHRpbWVJbmNvbWluZ1ZpZGVvU291cmNlQ29jb2E6Ok9uRnJh
bWUpOgorCiAyMDIwLTA1LTI2ICBZb3Vlbm4gRmFibGV0ICA8eW91ZW5uQGFwcGxlLmNvbT4KIAog
ICAgICAgICBWaWRlbyBmcmVlemVzIHdoZW4gYXR0YWNoaW5nIGEgbG9jYWwgTWVkaWFTdHJlYW0g
dG8gbXVsdGlwbGUgZWxlbWVudHMKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJLaXQvQ2hhbmdlTG9n
IGIvU291cmNlL1dlYktpdC9DaGFuZ2VMb2cKaW5kZXggNTA3MTg4OTVhYjRjNDg1MzE5Y2UyYmE2
N2NmZGI2M2IyYzI3NmE0ZC4uMGE5NzAzZWU5N2E3ZDNiYzg0NTE0MWRmMjVkZWY2YmM3MDQzOWZj
MiAxMDA2NDQKLS0tIGEvU291cmNlL1dlYktpdC9DaGFuZ2VMb2cKKysrIGIvU291cmNlL1dlYktp
dC9DaGFuZ2VMb2cKQEAgLTEsMyArMSwxNCBAQAorMjAyMC0wNS0yNyAgWW91ZW5uIEZhYmxldCAg
PHlvdWVubkBhcHBsZS5jb20+CisKKyAgICAgICAgUmVhbHRpbWVJbmNvbWluZ1ZpZGVvU291cmNl
Q29jb2E6Ok9uRnJhbWUgc2hvdWxkIHVzZSB2aWRlbyBmcmFtZSB0aW1lc3RhbXAKKyAgICAgICAg
aHR0cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hvd19idWcuY2dpP2lkPTIxMjQwMgorCisgICAgICAg
IFJldmlld2VkIGJ5IE5PQk9EWSAoT09QUyEpLgorCisgICAgICAgICogR1BVUHJvY2Vzcy93ZWJy
dGMvUmVtb3RlU2FtcGxlQnVmZmVyRGlzcGxheUxheWVyLmNwcDoKKyAgICAgICAgKFdlYktpdDo6
UmVtb3RlU2FtcGxlQnVmZmVyRGlzcGxheUxheWVyOjplbnF1ZXVlU2FtcGxlKToKKyAgICAgICAg
KiBHUFVQcm9jZXNzL3dlYnJ0Yy9SZW1vdGVTYW1wbGVCdWZmZXJEaXNwbGF5TGF5ZXIuaDoKKwog
MjAyMC0wNS0yNiAgQ2FybG9zIEdhcmNpYSBDYW1wb3MgIDxjZ2FyY2lhQGlnYWxpYS5jb20+CiAK
ICAgICAgICAgW0dUSzRdIEZpeCBjb250ZXh0IG1lbnUKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJD
b3JlL3BsYXRmb3JtL2dyYXBoaWNzL2F2Zm91bmRhdGlvbi9TYW1wbGVCdWZmZXJEaXNwbGF5TGF5
ZXIuaCBiL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNzL2F2Zm91bmRhdGlvbi9TYW1w
bGVCdWZmZXJEaXNwbGF5TGF5ZXIuaAppbmRleCBkMzQ0OTQxZTQ0OTdhNmYyNDA0MzJjN2ViMzc5
MWM3OGNlM2QyNzAxLi5kNGQ4ODJkZWYyMWMzYWZlNzc1ZmYzNTBmN2E2MjcxNDY3NTNiNmI3IDEw
MDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGljcy9hdmZvdW5kYXRpb24v
U2FtcGxlQnVmZmVyRGlzcGxheUxheWVyLmgKKysrIGIvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0v
Z3JhcGhpY3MvYXZmb3VuZGF0aW9uL1NhbXBsZUJ1ZmZlckRpc3BsYXlMYXllci5oCkBAIC00NCw3
ICs0NCw2IEBAIHB1YmxpYzoKICAgICBwdWJsaWM6CiAgICAgICAgIHZpcnR1YWwgfkNsaWVudCgp
ID0gZGVmYXVsdDsKICAgICAgICAgdmlydHVhbCB2b2lkIHNhbXBsZUJ1ZmZlckRpc3BsYXlMYXll
clN0YXR1c0RpZENoYW5nZShTYW1wbGVCdWZmZXJEaXNwbGF5TGF5ZXImKSA9IDA7Ci0gICAgICAg
IHZpcnR1YWwgV1RGOjpNZWRpYVRpbWUgc3RyZWFtVGltZSgpIGNvbnN0ID0gMDsKICAgICB9Owog
CiAgICAgV0VCQ09SRV9FWFBPUlQgc3RhdGljIHN0ZDo6dW5pcXVlX3B0cjxTYW1wbGVCdWZmZXJE
aXNwbGF5TGF5ZXI+IGNyZWF0ZShDbGllbnQmKTsKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3Jl
L3BsYXRmb3JtL2dyYXBoaWNzL2F2Zm91bmRhdGlvbi9vYmpjL0xvY2FsU2FtcGxlQnVmZmVyRGlz
cGxheUxheWVyLm1tIGIvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3MvYXZmb3VuZGF0
aW9uL29iamMvTG9jYWxTYW1wbGVCdWZmZXJEaXNwbGF5TGF5ZXIubW0KaW5kZXggMzRmYjkzOGMz
ZGZiMWVkNGVlMmY0ODdlNjNjNmMyYzNlMGY0OTVlMC4uNWZiODZjMjgzMWI4NzM4MTJiNDA1OTI0
MzhkNTFiMTFjOTBlZDE0MCAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vZ3Jh
cGhpY3MvYXZmb3VuZGF0aW9uL29iamMvTG9jYWxTYW1wbGVCdWZmZXJEaXNwbGF5TGF5ZXIubW0K
KysrIGIvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3MvYXZmb3VuZGF0aW9uL29iamMv
TG9jYWxTYW1wbGVCdWZmZXJEaXNwbGF5TGF5ZXIubW0KQEAgLTM4LDYgKzM4LDcgQEAKICNpbXBv
cnQgPFF1YXJ0ekNvcmUvQ0FUcmFuc2FjdGlvbi5oPgogCiAjaW1wb3J0IDx3dGYvTWFpblRocmVh
ZC5oPgorI2ltcG9ydCA8d3RmL01vbm90b25pY1RpbWUuaD4KICNpbXBvcnQgPHd0Zi9jZi9UeXBl
Q2FzdHNDRi5oPgogCiAjaW1wb3J0IDxwYWwvY29jb2EvQVZGb3VuZGF0aW9uU29mdExpbmsuaD4K
QEAgLTI4OCw2ICsyODksOCBAQCB2b2lkIExvY2FsU2FtcGxlQnVmZmVyRGlzcGxheUxheWVyOjpm
bHVzaEFuZFJlbW92ZUltYWdlKCkKICAgICBbbV9zYW1wbGVCdWZmZXJEaXNwbGF5TGF5ZXIgZmx1
c2hBbmRSZW1vdmVJbWFnZV07CiB9CiAKK3N0YXRpYyBjb25zdCBkb3VibGUgcmVuZGVyZXJMYXRl
bmN5ID0gMC4wMjsKKwogdm9pZCBMb2NhbFNhbXBsZUJ1ZmZlckRpc3BsYXlMYXllcjo6ZW5xdWV1
ZVNhbXBsZShNZWRpYVNhbXBsZSYgc2FtcGxlKQogewogICAgIGlmICghW21fc2FtcGxlQnVmZmVy
RGlzcGxheUxheWVyIGlzUmVhZHlGb3JNb3JlTWVkaWFEYXRhXSkgewpAQCAtMjk3LDExICszMDAs
MTIgQEAgdm9pZCBMb2NhbFNhbXBsZUJ1ZmZlckRpc3BsYXlMYXllcjo6ZW5xdWV1ZVNhbXBsZShN
ZWRpYVNhbXBsZSYgc2FtcGxlKQogICAgIH0KIAogICAgIGF1dG8gc2FtcGxlVG9FbnF1ZXVlID0g
c2FtcGxlLnBsYXRmb3JtU2FtcGxlKCkuc2FtcGxlLmNtU2FtcGxlQnVmZmVyOwotICAgIFJldGFp
blB0cjxDTVNhbXBsZUJ1ZmZlclJlZj4gbmV3U2FtcGxlQnVmZmVyOworICAgIGF1dG8gbm93ID0g
TWVkaWFUaW1lOjpjcmVhdGVXaXRoRG91YmxlKE1vbm90b25pY1RpbWU6Om5vdygpLnNlY29uZHNT
aW5jZUVwb2NoKCkudmFsdWUoKSArIHJlbmRlcmVyTGF0ZW5jeSk7CiAKICAgICAvLyBJZiBuZWVk
ZWQsIHdlIHNldCB0aGUgc2FtcGxlIGJ1ZmZlciB0byBrQ01TYW1wbGVBdHRhY2htZW50S2V5X0Rp
c3BsYXlJbW1lZGlhdGVseSBhcyBhIHdvcmthcm91bmQgdG8gcmRhcjovL3Byb2JsZW0vNDkyNzQw
ODMuCiAgICAgLy8gV2UgY2xvbmUgdGhlIHNhbXBsZSBidWZmZXIgYXMgbW9kaWZ5aW5nIHRoZSBh
dHRhY2htZW50cyBvZiBhIHNhbXBsZSBidWZmZXIgdXNlZCBlbHNld2hlcmUgKGVuY29kaW5nIGUu
Zy4pIG1heSBub3QgYmUgdGhyZWFkIHNhZmUuCi0gICAgaWYgKG1fcmVuZGVyUG9saWN5ID09IFJl
bmRlclBvbGljeTo6SW1tZWRpYXRlbHkpIHsKKyAgICBSZXRhaW5QdHI8Q01TYW1wbGVCdWZmZXJS
ZWY+IG5ld1NhbXBsZUJ1ZmZlcjsKKyAgICBpZiAobV9yZW5kZXJQb2xpY3kgPT0gUmVuZGVyUG9s
aWN5OjpJbW1lZGlhdGVseSB8fCBub3cgPj0gc2FtcGxlLnByZXNlbnRhdGlvblRpbWUoKSkgewog
ICAgICAgICBuZXdTYW1wbGVCdWZmZXIgPSBNZWRpYVNhbXBsZUFWRk9iakM6OmNsb25lU2FtcGxl
QnVmZmVyQW5kU2V0QXNEaXNwbGF5SW1tZWRpYXRlbHkoc2FtcGxlVG9FbnF1ZXVlKTsKICAgICAg
ICAgc2FtcGxlVG9FbnF1ZXVlID0gbmV3U2FtcGxlQnVmZmVyLmdldCgpOwogICAgIH0KQEAgLTMx
MSw3ICszMTUsNyBAQCB2b2lkIExvY2FsU2FtcGxlQnVmZmVyRGlzcGxheUxheWVyOjplbnF1ZXVl
U2FtcGxlKE1lZGlhU2FtcGxlJiBzYW1wbGUpCiAKIHZvaWQgTG9jYWxTYW1wbGVCdWZmZXJEaXNw
bGF5TGF5ZXI6OnJlbW92ZU9sZFNhbXBsZXNGcm9tUGVuZGluZ1F1ZXVlKCkKIHsKLSAgICBpZiAo
bV9wZW5kaW5nVmlkZW9TYW1wbGVRdWV1ZS5pc0VtcHR5KCkgfHwgIW1fY2xpZW50KQorICAgIGlm
IChtX3BlbmRpbmdWaWRlb1NhbXBsZVF1ZXVlLmlzRW1wdHkoKSkKICAgICAgICAgcmV0dXJuOwog
CiAgICAgaWYgKG1fcmVuZGVyUG9saWN5ID09IFJlbmRlclBvbGljeTo6SW1tZWRpYXRlbHkpIHsK
QEAgLTMxOSwxOSArMzIzLDExIEBAIHZvaWQgTG9jYWxTYW1wbGVCdWZmZXJEaXNwbGF5TGF5ZXI6
OnJlbW92ZU9sZFNhbXBsZXNGcm9tUGVuZGluZ1F1ZXVlKCkKICAgICAgICAgcmV0dXJuOwogICAg
IH0KIAotICAgIGF1dG8gZGVjb2RlVGltZSA9IG1fcGVuZGluZ1ZpZGVvU2FtcGxlUXVldWUuZmly
c3QoKS0+ZGVjb2RlVGltZSgpOwotICAgIGlmICghZGVjb2RlVGltZS5pc1ZhbGlkKCkgfHwgZGVj
b2RlVGltZSA8IE1lZGlhVGltZTo6emVyb1RpbWUoKSkgewotICAgICAgICB3aGlsZSAobV9wZW5k
aW5nVmlkZW9TYW1wbGVRdWV1ZS5zaXplKCkgPiA1KQotICAgICAgICAgICAgbV9wZW5kaW5nVmlk
ZW9TYW1wbGVRdWV1ZS5yZW1vdmVGaXJzdCgpOwotCi0gICAgICAgIHJldHVybjsKLSAgICB9Ci0K
LSAgICBNZWRpYVRpbWUgbm93ID0gbV9jbGllbnQtPnN0cmVhbVRpbWUoKTsKKyAgICBhdXRvIG5v
dyA9IE1lZGlhVGltZTo6Y3JlYXRlV2l0aERvdWJsZShNb25vdG9uaWNUaW1lOjpub3coKS5zZWNv
bmRzU2luY2VFcG9jaCgpLnZhbHVlKCkpOwogICAgIHdoaWxlICghbV9wZW5kaW5nVmlkZW9TYW1w
bGVRdWV1ZS5pc0VtcHR5KCkpIHsKLSAgICAgICAgaWYgKG1fcGVuZGluZ1ZpZGVvU2FtcGxlUXVl
dWUuZmlyc3QoKS0+ZGVjb2RlVGltZSgpID4gbm93KQorICAgICAgICBhdXRvIHByZXNlbnRhdGlv
blRpbWUgPSBtX3BlbmRpbmdWaWRlb1NhbXBsZVF1ZXVlLmZpcnN0KCktPnByZXNlbnRhdGlvblRp
bWUoKTsKKyAgICAgICAgaWYgKHByZXNlbnRhdGlvblRpbWUuaXNWYWxpZCgpICYmIHByZXNlbnRh
dGlvblRpbWUgPiBub3cpCiAgICAgICAgICAgICBicmVhazsKLSAgICAgICAgbV9wZW5kaW5nVmlk
ZW9TYW1wbGVRdWV1ZS5yZW1vdmVGaXJzdCgpOwogICAgIH0KIH0KIApkaWZmIC0tZ2l0IGEvU291
cmNlL1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3MvYXZmb3VuZGF0aW9uL29iamMvTWVkaWFQbGF5
ZXJQcml2YXRlTWVkaWFTdHJlYW1BVkZPYmpDLmggYi9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9n
cmFwaGljcy9hdmZvdW5kYXRpb24vb2JqYy9NZWRpYVBsYXllclByaXZhdGVNZWRpYVN0cmVhbUFW
Rk9iakMuaAppbmRleCBhZjdlNDhiMTcxYTgxNGU0NjliZjM3ZGJiOGNmMGNhMDJiMzY2YTY1Li44
NmJjYmEwNjcyOWEwOWZmYmY5YzUxZmM5MDRhMTM4OGU3NzBlZWNhIDEwMDY0NAotLS0gYS9Tb3Vy
Y2UvV2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGljcy9hdmZvdW5kYXRpb24vb2JqYy9NZWRpYVBsYXll
clByaXZhdGVNZWRpYVN0cmVhbUFWRk9iakMuaAorKysgYi9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9y
bS9ncmFwaGljcy9hdmZvdW5kYXRpb24vb2JqYy9NZWRpYVBsYXllclByaXZhdGVNZWRpYVN0cmVh
bUFWRk9iakMuaApAQCAtMTM3LDkgKzEzNyw3IEBAIHByaXZhdGU6CiAKICAgICB2b2lkIGZsdXNo
UmVuZGVyZXJzKCk7CiAKLSAgICBNZWRpYVRpbWUgY2FsY3VsYXRlVGltZWxpbmVPZmZzZXQoY29u
c3QgTWVkaWFTYW1wbGUmLCBkb3VibGUpOwotICAgIAotICAgIHZvaWQgZW5xdWV1ZUNvcnJlY3Rl
ZFZpZGVvU2FtcGxlKE1lZGlhU2FtcGxlJik7CisgICAgdm9pZCBlbnF1ZXVlVmlkZW9TYW1wbGUo
TWVkaWFTYW1wbGUmKTsKICAgICB2b2lkIHJlcXVlc3ROb3RpZmljYXRpb25XaGVuUmVhZHlGb3JW
aWRlb0RhdGEoKTsKIAogICAgIHZvaWQgcGFpbnQoR3JhcGhpY3NDb250ZXh0JiwgY29uc3QgRmxv
YXRSZWN0Jikgb3ZlcnJpZGU7CkBAIC0yMTAsNyArMjA4LDcgQEAgcHJpdmF0ZToKICAgICB2b2lk
IHNldFZpZGVvRnVsbHNjcmVlbkxheWVyKFBsYXRmb3JtTGF5ZXIqLCBXVEY6OkZ1bmN0aW9uPHZv
aWQoKT4mJiBjb21wbGV0aW9uSGFuZGxlcikgb3ZlcnJpZGU7CiAgICAgdm9pZCBzZXRWaWRlb0Z1
bGxzY3JlZW5GcmFtZShGbG9hdFJlY3QpIG92ZXJyaWRlOwogCi0gICAgTWVkaWFUaW1lIHN0cmVh
bVRpbWUoKSBjb25zdCBmaW5hbDsKKyAgICBNZWRpYVRpbWUgc3RyZWFtVGltZSgpIGNvbnN0Owog
CiAgICAgQXVkaW9Tb3VyY2VQcm92aWRlciogYXVkaW9Tb3VyY2VQcm92aWRlcigpIGZpbmFsOwog
CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGljcy9hdmZvdW5kYXRp
b24vb2JqYy9NZWRpYVBsYXllclByaXZhdGVNZWRpYVN0cmVhbUFWRk9iakMubW0gYi9Tb3VyY2Uv
V2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGljcy9hdmZvdW5kYXRpb24vb2JqYy9NZWRpYVBsYXllclBy
aXZhdGVNZWRpYVN0cmVhbUFWRk9iakMubW0KaW5kZXggZjg0Y2I0YWY1Y2JmMGVjYmM4YjFkMmUw
NmQwZThmM2JiNjQ3Njg5Yy4uYjQyYzAyY2NhOGM3OGIyMGU5M2EzMTFkZWZhY2Q2NGFkMTZlMTc4
OSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3MvYXZmb3VuZGF0
aW9uL29iamMvTWVkaWFQbGF5ZXJQcml2YXRlTWVkaWFTdHJlYW1BVkZPYmpDLm1tCisrKyBiL1Nv
dXJjZS9XZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNzL2F2Zm91bmRhdGlvbi9vYmpjL01lZGlhUGxh
eWVyUHJpdmF0ZU1lZGlhU3RyZWFtQVZGT2JqQy5tbQpAQCAtMTMxLDggKzEzMSw2IEBAIHVzaW5n
IG5hbWVzcGFjZSBQQUw7CiAjcHJhZ21hIG1hcmsgLQogI3ByYWdtYSBtYXJrIE1lZGlhUGxheWVy
UHJpdmF0ZU1lZGlhU3RyZWFtQVZGT2JqQwogCi1zdGF0aWMgY29uc3QgZG91YmxlIHJlbmRlcmVy
TGF0ZW5jeSA9IDAuMDI7Ci0KIE1lZGlhUGxheWVyUHJpdmF0ZU1lZGlhU3RyZWFtQVZGT2JqQzo6
TWVkaWFQbGF5ZXJQcml2YXRlTWVkaWFTdHJlYW1BVkZPYmpDKE1lZGlhUGxheWVyKiBwbGF5ZXIp
CiAgICAgOiBtX3BsYXllcihwbGF5ZXIpCiAgICAgLCBtX2Nsb2NrKFBBTDo6Q2xvY2s6OmNyZWF0
ZSgpKQpAQCAtMjI5LDE1ICsyMjcsNiBAQCBNZWRpYVBsYXllcjo6U3VwcG9ydHNUeXBlIE1lZGlh
UGxheWVyUHJpdmF0ZU1lZGlhU3RyZWFtQVZGT2JqQzo6c3VwcG9ydHNUeXBlKGNvbgogI3ByYWdt
YSBtYXJrIC0KICNwcmFnbWEgbWFyayBBVlNhbXBsZUJ1ZmZlciBNZXRob2RzCiAKLU1lZGlhVGlt
ZSBNZWRpYVBsYXllclByaXZhdGVNZWRpYVN0cmVhbUFWRk9iakM6OmNhbGN1bGF0ZVRpbWVsaW5l
T2Zmc2V0KGNvbnN0IE1lZGlhU2FtcGxlJiBzYW1wbGUsIGRvdWJsZSBsYXRlbmN5KQotewotICAg
IE1lZGlhVGltZSBzYW1wbGVUaW1lID0gc2FtcGxlLnByZXNlbnRhdGlvblRpbWUoKTsKLSAgICBN
ZWRpYVRpbWUgdGltZWxpbmVPZmZzZXQgPSBzdHJlYW1UaW1lKCkgLSBzYW1wbGVUaW1lICsgTWVk
aWFUaW1lOjpjcmVhdGVXaXRoRG91YmxlKGxhdGVuY3kpOwotICAgIGlmICh0aW1lbGluZU9mZnNl
dC50aW1lU2NhbGUoKSAhPSBzYW1wbGVUaW1lLnRpbWVTY2FsZSgpKQotICAgICAgICB0aW1lbGlu
ZU9mZnNldCA9IFBBTDo6dG9NZWRpYVRpbWUoQ01UaW1lQ29udmVydFNjYWxlKFBBTDo6dG9DTVRp
bWUodGltZWxpbmVPZmZzZXQpLCBzYW1wbGVUaW1lLnRpbWVTY2FsZSgpLCBrQ01UaW1lUm91bmRp
bmdNZXRob2RfRGVmYXVsdCkpOwotICAgIHJldHVybiB0aW1lbGluZU9mZnNldDsKLX0KLQogQ0dB
ZmZpbmVUcmFuc2Zvcm0gTWVkaWFQbGF5ZXJQcml2YXRlTWVkaWFTdHJlYW1BVkZPYmpDOjp2aWRl
b1RyYW5zZm9ybWF0aW9uTWF0cml4KE1lZGlhU2FtcGxlJiBzYW1wbGUsIGJvb2wgZm9yY2VVcGRh
dGUpCiB7CiAgICAgaWYgKCFmb3JjZVVwZGF0ZSAmJiBtX3RyYW5zZm9ybUlzVmFsaWQpCkBAIC0y
NjEsMjUgKzI1MCwxOCBAQCBDR0FmZmluZVRyYW5zZm9ybSBNZWRpYVBsYXllclByaXZhdGVNZWRp
YVN0cmVhbUFWRk9iakM6OnZpZGVvVHJhbnNmb3JtYXRpb25NYXRyaQogICAgIHJldHVybiBtX3Zp
ZGVvVHJhbnNmb3JtOwogfQogCi12b2lkIE1lZGlhUGxheWVyUHJpdmF0ZU1lZGlhU3RyZWFtQVZG
T2JqQzo6ZW5xdWV1ZUNvcnJlY3RlZFZpZGVvU2FtcGxlKE1lZGlhU2FtcGxlJiBzYW1wbGUpCit2
b2lkIE1lZGlhUGxheWVyUHJpdmF0ZU1lZGlhU3RyZWFtQVZGT2JqQzo6ZW5xdWV1ZVZpZGVvU2Ft
cGxlKE1lZGlhU2FtcGxlJiBzYW1wbGUpCiB7Ci0gICAgaWYgKG1fc2FtcGxlQnVmZmVyRGlzcGxh
eUxheWVyKSB7Ci0gICAgICAgIGlmIChtX3NhbXBsZUJ1ZmZlckRpc3BsYXlMYXllci0+ZGlkRmFp
bCgpKQotICAgICAgICAgICAgcmV0dXJuOwotCi0gICAgICAgIGlmIChzYW1wbGUudmlkZW9Sb3Rh
dGlvbigpICE9IG1fdmlkZW9Sb3RhdGlvbiB8fCBzYW1wbGUudmlkZW9NaXJyb3JlZCgpICE9IG1f
dmlkZW9NaXJyb3JlZCkgewotICAgICAgICAgICAgbV92aWRlb1JvdGF0aW9uID0gc2FtcGxlLnZp
ZGVvUm90YXRpb24oKTsKLSAgICAgICAgICAgIG1fdmlkZW9NaXJyb3JlZCA9IHNhbXBsZS52aWRl
b01pcnJvcmVkKCk7Ci0gICAgICAgICAgICBtX3NhbXBsZUJ1ZmZlckRpc3BsYXlMYXllci0+dXBk
YXRlQWZmaW5lVHJhbnNmb3JtKHZpZGVvVHJhbnNmb3JtYXRpb25NYXRyaXgoc2FtcGxlLCB0cnVl
KSk7Ci0gICAgICAgICAgICB1cGRhdGVEaXNwbGF5TGF5ZXIoKTsKLSAgICAgICAgfQotICAgICAg
ICBtX3NhbXBsZUJ1ZmZlckRpc3BsYXlMYXllci0+ZW5xdWV1ZVNhbXBsZShzYW1wbGUpOwotICAg
IH0KKyAgICBpZiAoIW1fc2FtcGxlQnVmZmVyRGlzcGxheUxheWVyIHx8IG1fc2FtcGxlQnVmZmVy
RGlzcGxheUxheWVyLT5kaWRGYWlsKCkpCisgICAgICAgIHJldHVybjsKIAotICAgIGlmICghbV9o
YXNFdmVyRW5xdWV1ZWRWaWRlb0ZyYW1lKSB7Ci0gICAgICAgIG1faGFzRXZlckVucXVldWVkVmlk
ZW9GcmFtZSA9IHRydWU7Ci0gICAgICAgIG1fcGxheWVyLT5maXJzdFZpZGVvRnJhbWVBdmFpbGFi
bGUoKTsKKyAgICBpZiAoc2FtcGxlLnZpZGVvUm90YXRpb24oKSAhPSBtX3ZpZGVvUm90YXRpb24g
fHwgc2FtcGxlLnZpZGVvTWlycm9yZWQoKSAhPSBtX3ZpZGVvTWlycm9yZWQpIHsKKyAgICAgICAg
bV92aWRlb1JvdGF0aW9uID0gc2FtcGxlLnZpZGVvUm90YXRpb24oKTsKKyAgICAgICAgbV92aWRl
b01pcnJvcmVkID0gc2FtcGxlLnZpZGVvTWlycm9yZWQoKTsKKyAgICAgICAgbV9zYW1wbGVCdWZm
ZXJEaXNwbGF5TGF5ZXItPnVwZGF0ZUFmZmluZVRyYW5zZm9ybSh2aWRlb1RyYW5zZm9ybWF0aW9u
TWF0cml4KHNhbXBsZSwgdHJ1ZSkpOworICAgICAgICB1cGRhdGVEaXNwbGF5TGF5ZXIoKTsKICAg
ICB9CisgICAgbV9zYW1wbGVCdWZmZXJEaXNwbGF5TGF5ZXItPmVucXVldWVTYW1wbGUoc2FtcGxl
KTsKIH0KIAogdm9pZCBNZWRpYVBsYXllclByaXZhdGVNZWRpYVN0cmVhbUFWRk9iakM6OnZpZGVv
U2FtcGxlQXZhaWxhYmxlKE1lZGlhU2FtcGxlJiBzYW1wbGUpCkBAIC0zMDUsMzAgKzI4NywxMyBA
QCB2b2lkIE1lZGlhUGxheWVyUHJpdmF0ZU1lZGlhU3RyZWFtQVZGT2JqQzo6dmlkZW9TYW1wbGVB
dmFpbGFibGUoTWVkaWFTYW1wbGUmIHNhbQogICAgIGlmIChtX2Rpc3BsYXlNb2RlICE9IExpdmVQ
cmV2aWV3ICYmICFtX3dhaXRpbmdGb3JGaXJzdEltYWdlKQogICAgICAgICByZXR1cm47CiAKLSAg
ICBNZWRpYVRpbWUgdGltZWxpbmVPZmZzZXQgPSBtX2FjdGl2ZVZpZGVvVHJhY2stPnRpbWVsaW5l
T2Zmc2V0KCk7Ci0gICAgaWYgKHRpbWVsaW5lT2Zmc2V0ID09IE1lZGlhVGltZTo6aW52YWxpZFRp
bWUoKSkgewotICAgICAgICB0aW1lbGluZU9mZnNldCA9IGNhbGN1bGF0ZVRpbWVsaW5lT2Zmc2V0
KHNhbXBsZSwgcmVuZGVyZXJMYXRlbmN5KTsKLSAgICAgICAgbV9hY3RpdmVWaWRlb1RyYWNrLT5z
ZXRUaW1lbGluZU9mZnNldCh0aW1lbGluZU9mZnNldCk7Ci0KLSAgICAgICAgSU5GT19MT0coTE9H
SURFTlRJRklFUiwgInRpbWVsaW5lIG9mZnNldCBmb3IgdHJhY2sgIiwgbV9hY3RpdmVWaWRlb1Ry
YWNrLT5zdHJlYW1UcmFjaygpLmlkKCksICIgc2V0IHRvICIsIHRpbWVsaW5lT2Zmc2V0KTsKLSAg
ICB9CisgICAgZW5xdWV1ZVZpZGVvU2FtcGxlKHNhbXBsZSk7CiAKLSAgICBERUJVR19MT0coTE9H
SURFTlRJRklFUiwgIm9yaWdpbmFsIHNhbXBsZSA9ICIsIHNhbXBsZSk7Ci0gICAgc2FtcGxlLm9m
ZnNldFRpbWVzdGFtcHNCeSh0aW1lbGluZU9mZnNldCk7Ci0gICAgREVCVUdfTE9HKExPR0lERU5U
SUZJRVIsICJ1cGRhdGVkIHNhbXBsZSA9ICIsIHNhbXBsZSk7Ci0KLSAgICBpZiAoV0lMTF9MT0co
V1RGTG9nTGV2ZWw6OkRlYnVnKSkgewotICAgICAgICBNZWRpYVRpbWUgbm93ID0gc3RyZWFtVGlt
ZSgpOwotICAgICAgICBkb3VibGUgZGVsdGEgPSAoc2FtcGxlLnByZXNlbnRhdGlvblRpbWUoKSAt
IG5vdykudG9Eb3VibGUoKTsKLSAgICAgICAgaWYgKGRlbHRhIDwgMCkKLSAgICAgICAgICAgIERF
QlVHX0xPRyhMT0dJREVOVElGSUVSLCAiKk5PVEUqIHNhbXBsZSBhdCB0aW1lIGlzICIsIG5vdywg
IiBpcyIsIC1kZWx0YSwgIiBzZWNvbmRzIGxhdGUiKTsKLSAgICAgICAgZWxzZSBpZiAoZGVsdGEg
PCAuMDEpCi0gICAgICAgICAgICBERUJVR19MT0coTE9HSURFTlRJRklFUiwgIipOT1RFKiBhdWRp
byBzYW1wbGUgYXQgdGltZSAiLCBub3csICIgaXMgb25seSAiLCBkZWx0YSwgIiBzZWNvbmRzIGVh
cmx5Iik7Ci0gICAgICAgIGVsc2UgaWYgKGRlbHRhID4gLjMpCi0gICAgICAgICAgICBERUJVR19M
T0coTE9HSURFTlRJRklFUiwgIipOT1RFKiBhdWRpbyBzYW1wbGUgYXQgdGltZSAiLCBub3csICIg
aXMgIiwgZGVsdGEsICIgc2Vjb25kcyBlYXJseSEiKTsKKyAgICBpZiAoIW1faGFzRXZlckVucXVl
dWVkVmlkZW9GcmFtZSkgeworICAgICAgICBtX2hhc0V2ZXJFbnF1ZXVlZFZpZGVvRnJhbWUgPSB0
cnVlOworICAgICAgICBtX3BsYXllci0+Zmlyc3RWaWRlb0ZyYW1lQXZhaWxhYmxlKCk7CiAgICAg
fQogCi0gICAgZW5xdWV1ZUNvcnJlY3RlZFZpZGVvU2FtcGxlKHNhbXBsZSk7CiAgICAgaWYgKG1f
d2FpdGluZ0ZvckZpcnN0SW1hZ2UpIHsKICAgICAgICAgbV93YWl0aW5nRm9yRmlyc3RJbWFnZSA9
IGZhbHNlOwogICAgICAgICB1cGRhdGVEaXNwbGF5TW9kZSgpOwpAQCAtMzQxLDEyICszMDYsOCBA
QCBBdWRpb1NvdXJjZVByb3ZpZGVyKiBNZWRpYVBsYXllclByaXZhdGVNZWRpYVN0cmVhbUFWRk9i
akM6OmF1ZGlvU291cmNlUHJvdmlkZXIoKQogICAgIHJldHVybiBudWxscHRyOwogfQogCi12b2lk
IE1lZGlhUGxheWVyUHJpdmF0ZU1lZGlhU3RyZWFtQVZGT2JqQzo6c2FtcGxlQnVmZmVyRGlzcGxh
eUxheWVyU3RhdHVzRGlkQ2hhbmdlKFNhbXBsZUJ1ZmZlckRpc3BsYXlMYXllciYgbGF5ZXIpCit2
b2lkIE1lZGlhUGxheWVyUHJpdmF0ZU1lZGlhU3RyZWFtQVZGT2JqQzo6c2FtcGxlQnVmZmVyRGlz
cGxheUxheWVyU3RhdHVzRGlkQ2hhbmdlKFNhbXBsZUJ1ZmZlckRpc3BsYXlMYXllciYpCiB7Ci0g
ICAgQVNTRVJUKCZsYXllciA9PSBtX3NhbXBsZUJ1ZmZlckRpc3BsYXlMYXllci5nZXQoKSk7Ci0g
ICAgVU5VU0VEX1BBUkFNKGxheWVyKTsKLSAgICBpZiAobV9hY3RpdmVWaWRlb1RyYWNrKQotICAg
ICAgICBtX2FjdGl2ZVZpZGVvVHJhY2stPnNldFRpbWVsaW5lT2Zmc2V0KE1lZGlhVGltZTo6aW52
YWxpZFRpbWUoKSk7CiB9CiAKIHZvaWQgTWVkaWFQbGF5ZXJQcml2YXRlTWVkaWFTdHJlYW1BVkZP
YmpDOjphcHBsaWNhdGlvbkRpZEJlY29tZUFjdGl2ZSgpCkBAIC0zNTQsNyArMzE1LDcgQEAgdm9p
ZCBNZWRpYVBsYXllclByaXZhdGVNZWRpYVN0cmVhbUFWRk9iakM6OmFwcGxpY2F0aW9uRGlkQmVj
b21lQWN0aXZlKCkKICAgICBpZiAobV9zYW1wbGVCdWZmZXJEaXNwbGF5TGF5ZXIgJiYgbV9zYW1w
bGVCdWZmZXJEaXNwbGF5TGF5ZXItPmRpZEZhaWwoKSkgewogICAgICAgICBmbHVzaFJlbmRlcmVy
cygpOwogICAgICAgICBpZiAobV9pbWFnZVBhaW50ZXIubWVkaWFTYW1wbGUpCi0gICAgICAgICAg
ICBlbnF1ZXVlQ29ycmVjdGVkVmlkZW9TYW1wbGUoKm1faW1hZ2VQYWludGVyLm1lZGlhU2FtcGxl
KTsKKyAgICAgICAgICAgIGVucXVldWVWaWRlb1NhbXBsZSgqbV9pbWFnZVBhaW50ZXIubWVkaWFT
YW1wbGUpOwogICAgICAgICB1cGRhdGVEaXNwbGF5TW9kZSgpOwogICAgIH0KIH0KZGlmZiAtLWdp
dCBhL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL21lZGlhc3RyZWFtL1ZpZGVvVHJhY2tQcml2YXRl
TWVkaWFTdHJlYW0uaCBiL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL21lZGlhc3RyZWFtL1ZpZGVv
VHJhY2tQcml2YXRlTWVkaWFTdHJlYW0uaAppbmRleCBkNGZkNDc1Njc3MWVkMzc0ODc1MTczYTg2
MTcwODcwYWI3Zjk4ZTFiLi4xMDU0MjM1ZTg4OTJiYjkxZmVjMDY0ZTI1YWY0ZWZjMWI3NzU2NGZm
IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9tZWRpYXN0cmVhbS9WaWRlb1Ry
YWNrUHJpdmF0ZU1lZGlhU3RyZWFtLmgKKysrIGIvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vbWVk
aWFzdHJlYW0vVmlkZW9UcmFja1ByaXZhdGVNZWRpYVN0cmVhbS5oCkBAIC00NCwxNSArNDQsMTEg
QEAgcHVibGljOgogCiAgICAgTWVkaWFTdHJlYW1UcmFja1ByaXZhdGUmIHN0cmVhbVRyYWNrKCkg
eyByZXR1cm4gbV9zdHJlYW1UcmFjay5nZXQoKTsgfQogCi0gICAgTWVkaWFUaW1lIHRpbWVsaW5l
T2Zmc2V0KCkgY29uc3QgeyByZXR1cm4gbV90aW1lbGluZU9mZnNldDsgfQotICAgIHZvaWQgc2V0
VGltZWxpbmVPZmZzZXQoY29uc3QgTWVkaWFUaW1lJiBvZmZzZXQpIHsgbV90aW1lbGluZU9mZnNl
dCA9IG9mZnNldDsgfQotCiBwcml2YXRlOgogICAgIFZpZGVvVHJhY2tQcml2YXRlTWVkaWFTdHJl
YW0oTWVkaWFTdHJlYW1UcmFja1ByaXZhdGUmIHRyYWNrKQogICAgICAgICA6IG1fc3RyZWFtVHJh
Y2sodHJhY2spCiAgICAgICAgICwgbV9pZCh0cmFjay5pZCgpKQogICAgICAgICAsIG1fbGFiZWwo
dHJhY2subGFiZWwoKSkKLSAgICAgICAgLCBtX3RpbWVsaW5lT2Zmc2V0KE1lZGlhVGltZTo6aW52
YWxpZFRpbWUoKSkKICAgICB7CiAgICAgfQogCkBAIC02Niw3ICs2Miw2IEBAIHByaXZhdGU6CiAg
ICAgQXRvbVN0cmluZyBtX2lkOwogICAgIEF0b21TdHJpbmcgbV9sYWJlbDsKICAgICBpbnQgbV9p
bmRleCB7IDAgfTsKLSAgICBNZWRpYVRpbWUgbV90aW1lbGluZU9mZnNldDsKIH07CiAKIH0KZGlm
ZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL21lZGlhc3RyZWFtL21hYy9SZWFsdGlt
ZUluY29taW5nVmlkZW9Tb3VyY2VDb2NvYS5tbSBiL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL21l
ZGlhc3RyZWFtL21hYy9SZWFsdGltZUluY29taW5nVmlkZW9Tb3VyY2VDb2NvYS5tbQppbmRleCBl
ZTk4MzZiMDEwNzc3YzNhN2ZkOTM2ZGQ1MTliYjJhOWEyNGIzODBiLi5mMjgwYjZlMWJhMjBmYmY2
MDMyYTBkYTY2ZTFhZmRmZDBkMzVlZjJiIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9wbGF0
Zm9ybS9tZWRpYXN0cmVhbS9tYWMvUmVhbHRpbWVJbmNvbWluZ1ZpZGVvU291cmNlQ29jb2EubW0K
KysrIGIvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vbWVkaWFzdHJlYW0vbWFjL1JlYWx0aW1lSW5j
b21pbmdWaWRlb1NvdXJjZUNvY29hLm1tCkBAIC0xNDIsMTAgKzE0Miw4IEBAIHZvaWQgUmVhbHRp
bWVJbmNvbWluZ1ZpZGVvU291cmNlQ29jb2E6Ok9uRnJhbWUoY29uc3Qgd2VicnRjOjpWaWRlb0Zy
YW1lJiBmcmFtZSkKICAgICAgICAgcmV0dXJuOwogICAgIH0KIAotICAgIC8vIEZJWE1FOiBDb252
ZXJ0IHRpbWluZyBpbmZvcm1hdGlvbiBmcm9tIFZpZGVvRnJhbWUgdG8gQ01TYW1wbGVUaW1pbmdJ
bmZvLgotICAgIC8vIEZvciB0aGUgbW9tZW50LCB3ZSB3aWxsIHByZXRlbmQgdGhhdCBmcmFtZXMg
c2hvdWxkIGJlIHJlbmRlcmVkIGFzYXAuCiAgICAgQ01TYW1wbGVUaW1pbmdJbmZvIHRpbWluZ0lu
Zm87Ci0gICAgdGltaW5nSW5mby5wcmVzZW50YXRpb25UaW1lU3RhbXAgPSBrQ01UaW1lSW52YWxp
ZDsKKyAgICB0aW1pbmdJbmZvLnByZXNlbnRhdGlvblRpbWVTdGFtcCA9IENNVGltZU1ha2UoZnJh
bWUudGltZXN0YW1wX3VzKCksIDEwMDAwMDApOwogICAgIHRpbWluZ0luZm8uZGVjb2RlVGltZVN0
YW1wID0ga0NNVGltZUludmFsaWQ7CiAgICAgdGltaW5nSW5mby5kdXJhdGlvbiA9IGtDTVRpbWVJ
bnZhbGlkOwogCkBAIC0xNjYsMTIgKzE2NCw2IEBAIHZvaWQgUmVhbHRpbWVJbmNvbWluZ1ZpZGVv
U291cmNlQ29jb2E6Ok9uRnJhbWUoY29uc3Qgd2VicnRjOjpWaWRlb0ZyYW1lJiBmcmFtZSkKIAog
ICAgIGF1dG8gc2FtcGxlID0gYWRvcHRDRihzYW1wbGVCdWZmZXIpOwogCi0gICAgQ0ZBcnJheVJl
ZiBhdHRhY2htZW50c0FycmF5ID0gQ01TYW1wbGVCdWZmZXJHZXRTYW1wbGVBdHRhY2htZW50c0Fy
cmF5KHNhbXBsZUJ1ZmZlciwgdHJ1ZSk7Ci0gICAgZm9yIChDRkluZGV4IGkgPSAwOyBpIDwgQ0ZB
cnJheUdldENvdW50KGF0dGFjaG1lbnRzQXJyYXkpOyArK2kpIHsKLSAgICAgICAgQ0ZNdXRhYmxl
RGljdGlvbmFyeVJlZiBhdHRhY2htZW50cyA9IGNoZWNrZWRfY2ZfY2FzdDxDRk11dGFibGVEaWN0
aW9uYXJ5UmVmPihDRkFycmF5R2V0VmFsdWVBdEluZGV4KGF0dGFjaG1lbnRzQXJyYXksIGkpKTsK
LSAgICAgICAgQ0ZEaWN0aW9uYXJ5U2V0VmFsdWUoYXR0YWNobWVudHMsIGtDTVNhbXBsZUF0dGFj
aG1lbnRLZXlfRGlzcGxheUltbWVkaWF0ZWx5LCBrQ0ZCb29sZWFuVHJ1ZSk7Ci0gICAgfQotCiAg
ICAgdW5zaWduZWQgd2lkdGggPSBmcmFtZS53aWR0aCgpOwogICAgIHVuc2lnbmVkIGhlaWdodCA9
IGZyYW1lLmhlaWdodCgpOwogCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0L0dQVVByb2Nlc3Mv
d2VicnRjL1JlbW90ZVNhbXBsZUJ1ZmZlckRpc3BsYXlMYXllci5jcHAgYi9Tb3VyY2UvV2ViS2l0
L0dQVVByb2Nlc3Mvd2VicnRjL1JlbW90ZVNhbXBsZUJ1ZmZlckRpc3BsYXlMYXllci5jcHAKaW5k
ZXggZDY5MTMwNGQyYzM4Yzk0OWQ2MWIzZWUxY2NhYzlmY2MwYzBkNzAyMS4uN2FjZjUxYTkzYjM0
NWQ4ZTQyNGY4OTA4NjE3OTVkM2I3OGVlMzk0OCAxMDA2NDQKLS0tIGEvU291cmNlL1dlYktpdC9H
UFVQcm9jZXNzL3dlYnJ0Yy9SZW1vdGVTYW1wbGVCdWZmZXJEaXNwbGF5TGF5ZXIuY3BwCisrKyBi
L1NvdXJjZS9XZWJLaXQvR1BVUHJvY2Vzcy93ZWJydGMvUmVtb3RlU2FtcGxlQnVmZmVyRGlzcGxh
eUxheWVyLmNwcApAQCAtOTgsOCArOTgsNiBAQCB2b2lkIFJlbW90ZVNhbXBsZUJ1ZmZlckRpc3Bs
YXlMYXllcjo6Zmx1c2hBbmRSZW1vdmVJbWFnZSgpCiAKIHZvaWQgUmVtb3RlU2FtcGxlQnVmZmVy
RGlzcGxheUxheWVyOjplbnF1ZXVlU2FtcGxlKFdlYkNvcmU6OlJlbW90ZVZpZGVvU2FtcGxlJiYg
cmVtb3RlU2FtcGxlKQogewotICAgIG1fbWVkaWFUaW1lID0gcmVtb3RlU2FtcGxlLnRpbWUoKTsK
LQogICAgIGlmICghbV9pbWFnZVRyYW5zZmVyU2Vzc2lvbiB8fCBtX2ltYWdlVHJhbnNmZXJTZXNz
aW9uLT5waXhlbEZvcm1hdCgpICE9IHJlbW90ZVNhbXBsZS52aWRlb0Zvcm1hdCgpKQogICAgICAg
ICBtX2ltYWdlVHJhbnNmZXJTZXNzaW9uID0gSW1hZ2VUcmFuc2ZlclNlc3Npb25WVDo6Y3JlYXRl
KHJlbW90ZVNhbXBsZS52aWRlb0Zvcm1hdCgpKTsKIApAQCAtMTMyLDEyICsxMzAsNiBAQCB2b2lk
IFJlbW90ZVNhbXBsZUJ1ZmZlckRpc3BsYXlMYXllcjo6c2FtcGxlQnVmZmVyRGlzcGxheUxheWVy
U3RhdHVzRGlkQ2hhbmdlKFdlYgogICAgIHNlbmQoTWVzc2FnZXM6OlNhbXBsZUJ1ZmZlckRpc3Bs
YXlMYXllcjo6U2V0RGlkRmFpbCB7IG1fc2FtcGxlQnVmZmVyRGlzcGxheUxheWVyLT5kaWRGYWls
KCkgfSk7CiB9CiAKLVdURjo6TWVkaWFUaW1lIFJlbW90ZVNhbXBsZUJ1ZmZlckRpc3BsYXlMYXll
cjo6c3RyZWFtVGltZSgpIGNvbnN0Ci17Ci0gICAgLy8gVGhpcyBpcyBvbmx5IGFuIGFwcHJveGlt
YXRpb24gd2hpY2ggd2lsbCBjbGVhciBhbGwgc2FtcGxlcyBlbnF1ZXVlZCBpbiBtX3NhbXBsZUJ1
ZmZlckRpc3BsYXlMYXllciBleGNlcHQgdGhlIG9uZSBiZWluZyBwdXNoZWQuCi0gICAgcmV0dXJu
IG1fbWVkaWFUaW1lOwotfQotCiB9CiAKICNlbmRpZiAvLyBQTEFURk9STShDT0NPQSkgJiYgRU5B
QkxFKEdQVV9QUk9DRVNTKSAmJiBFTkFCTEUoVklERU9fVFJBQ0spICYmIEVOQUJMRShNRURJQV9T
VFJFQU0pCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0L0dQVVByb2Nlc3Mvd2VicnRjL1JlbW90
ZVNhbXBsZUJ1ZmZlckRpc3BsYXlMYXllci5oIGIvU291cmNlL1dlYktpdC9HUFVQcm9jZXNzL3dl
YnJ0Yy9SZW1vdGVTYW1wbGVCdWZmZXJEaXNwbGF5TGF5ZXIuaAppbmRleCBiM2M1MGQyOTVlNjgy
Njc5ODYwNGM5YTRhYjU2ZDc1NmQzYzVhNDcyLi5jZmY5ZTZkM2VhY2Q4ZGYxMTVkOTRmMzFiM2M5
YmE4ZTU5MzQ0ZGRmIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViS2l0L0dQVVByb2Nlc3Mvd2VicnRj
L1JlbW90ZVNhbXBsZUJ1ZmZlckRpc3BsYXlMYXllci5oCisrKyBiL1NvdXJjZS9XZWJLaXQvR1BV
UHJvY2Vzcy93ZWJydGMvUmVtb3RlU2FtcGxlQnVmZmVyRGlzcGxheUxheWVyLmgKQEAgLTczLDE0
ICs3MywxMiBAQCBwcml2YXRlOgogCiAgICAgLy8gV2ViQ29yZTo6U2FtcGxlQnVmZmVyRGlzcGxh
eUxheWVyOjpDbGllbnQKICAgICB2b2lkIHNhbXBsZUJ1ZmZlckRpc3BsYXlMYXllclN0YXR1c0Rp
ZENoYW5nZShXZWJDb3JlOjpTYW1wbGVCdWZmZXJEaXNwbGF5TGF5ZXImKSBmaW5hbDsKLSAgICBX
VEY6Ok1lZGlhVGltZSBzdHJlYW1UaW1lKCkgY29uc3QgZmluYWw7CiAKICAgICBTYW1wbGVCdWZm
ZXJEaXNwbGF5TGF5ZXJJZGVudGlmaWVyIG1faWRlbnRpZmllcjsKICAgICBSZWY8SVBDOjpDb25u
ZWN0aW9uPiBtX2Nvbm5lY3Rpb247CiAgICAgc3RkOjp1bmlxdWVfcHRyPFdlYkNvcmU6OkltYWdl
VHJhbnNmZXJTZXNzaW9uVlQ+IG1faW1hZ2VUcmFuc2ZlclNlc3Npb247CiAgICAgc3RkOjp1bmlx
dWVfcHRyPFdlYkNvcmU6OkxvY2FsU2FtcGxlQnVmZmVyRGlzcGxheUxheWVyPiBtX3NhbXBsZUJ1
ZmZlckRpc3BsYXlMYXllcjsKICAgICBzdGQ6OnVuaXF1ZV9wdHI8TGF5ZXJIb3N0aW5nQ29udGV4
dD4gbV9sYXllckhvc3RpbmdDb250ZXh0OwotICAgIFdURjo6TWVkaWFUaW1lIG1fbWVkaWFUaW1l
OwogfTsKIAogfQo=
</data>

          </attachment>
          <attachment
              isobsolete="0"
              ispatch="1"
              isprivate="0"
          >
            <attachid>400320</attachid>
            <date>2020-05-27 04:28:39 -0700</date>
            <delta_ts>2020-05-28 01:40:47 -0700</delta_ts>
            <desc>Patch</desc>
            <filename>bug-212402-20200527132835.patch</filename>
            <type>text/plain</type>
            <size>18987</size>
            <attacher name="youenn fablet">youennf</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMjYyMTM5CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9D
aGFuZ2VMb2cgYi9Tb3VyY2UvV2ViQ29yZS9DaGFuZ2VMb2cKaW5kZXggMTM5MmFiNzAzOTkyZmRj
NDcxYWE0YjhkNmUyNDJlYWIxMzNjMWQzNy4uNzg0MzUzZmIxODcwYzA5MGE1MGM5MDlkYjBmOGQ2
OWEzZTYzMzhmMCAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvQ2hhbmdlTG9nCisrKyBiL1Nv
dXJjZS9XZWJDb3JlL0NoYW5nZUxvZwpAQCAtMSwzICsxLDMyIEBACisyMDIwLTA1LTI3ICBZb3Vl
bm4gRmFibGV0ICA8eW91ZW5uQGFwcGxlLmNvbT4KKworICAgICAgICBSZWFsdGltZUluY29taW5n
VmlkZW9Tb3VyY2VDb2NvYTo6T25GcmFtZSBzaG91bGQgdXNlIHZpZGVvIGZyYW1lIHRpbWVzdGFt
cAorICAgICAgICBodHRwczovL2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9MjEyNDAy
CisKKyAgICAgICAgUmV2aWV3ZWQgYnkgTk9CT0RZIChPT1BTISkuCisKKyAgICAgICAgVXNlIHRp
bWVzdGFtcCBwcm92aWRlZCBmcm9tIHRoZSBsaWJ3ZWJydGMgYmFja2VuZCBpbnN0cmVhZCBvZiBt
YXJraW5nIHRoZSBmcmFtZXMgYXMgZGlzcGxheSBpbW1lZGlhdGVseS4KKyAgICAgICAgVXBkYXRl
IExvY2FsU2FtcGxlQnVmZmVyRGlzcGxheUxheWVyIHRvIG1hcmsgdGhlIGZyYW1lIGFzIGRpc3Bs
YXkgaW1tZWRpYXRlbHkgaWYgdGhlaXIgcHJlc2VudGF0aW9uIHRpbWUgaXMgaW4gdGhlIHBhc3Qg
c2luY2Ugd2UgZ3VhcmFudGVlIHRoZSBmcmFtZXMgYXJlIGluIG9yZGVyLgorCisgICAgICAgIFJl
bW92ZSB0aGUgb2Zmc2V0IGNvcnJlY3Rpb24gaW4gTWVkaWFQbGF5ZXJQcml2YXRlTWVkaWFTdHJl
YW1BVkZPYmpDLgorICAgICAgICBUaGlzIGRvZXMgbm90IHdvcmsgd2VsbCB3aGVuIHRoZSBkaXNw
bGF5IGxheWVyIGlzIGluIEdQVSBwcm9jZXNzIGFuZCBpdCBpcyBzaW1wbGVyIHRvIHVzZSB0aGUg
c3lzdGVtIGNsb2NrIHdoaWNoIGlzIHdoYXQgQVZTYW1wbGVCdWZmZXJEaXNwbGF5TGF5c2VyIGlz
IHVzaW5nIGlmIGNvbnRyb2xUaW1lYmFzZSBpcyBub3Qgc2V0LgorCisgICAgICAgIE1hbnVhbGx5
IHRlc3RlZC4KKworICAgICAgICAqIHBsYXRmb3JtL2dyYXBoaWNzL2F2Zm91bmRhdGlvbi9TYW1w
bGVCdWZmZXJEaXNwbGF5TGF5ZXIuaDoKKyAgICAgICAgKiBwbGF0Zm9ybS9ncmFwaGljcy9hdmZv
dW5kYXRpb24vb2JqYy9Mb2NhbFNhbXBsZUJ1ZmZlckRpc3BsYXlMYXllci5tbToKKyAgICAgICAg
KFdlYkNvcmU6OkxvY2FsU2FtcGxlQnVmZmVyRGlzcGxheUxheWVyOjplbnF1ZXVlU2FtcGxlKToK
KyAgICAgICAgKFdlYkNvcmU6OkxvY2FsU2FtcGxlQnVmZmVyRGlzcGxheUxheWVyOjpyZW1vdmVP
bGRTYW1wbGVzRnJvbVBlbmRpbmdRdWV1ZSk6CisgICAgICAgICogcGxhdGZvcm0vZ3JhcGhpY3Mv
YXZmb3VuZGF0aW9uL29iamMvTWVkaWFQbGF5ZXJQcml2YXRlTWVkaWFTdHJlYW1BVkZPYmpDLmg6
CisgICAgICAgICogcGxhdGZvcm0vZ3JhcGhpY3MvYXZmb3VuZGF0aW9uL29iamMvTWVkaWFQbGF5
ZXJQcml2YXRlTWVkaWFTdHJlYW1BVkZPYmpDLm1tOgorICAgICAgICAoV2ViQ29yZTo6TWVkaWFQ
bGF5ZXJQcml2YXRlTWVkaWFTdHJlYW1BVkZPYmpDOjplbnF1ZXVlVmlkZW9TYW1wbGUpOgorICAg
ICAgICAoV2ViQ29yZTo6TWVkaWFQbGF5ZXJQcml2YXRlTWVkaWFTdHJlYW1BVkZPYmpDOjp2aWRl
b1NhbXBsZUF2YWlsYWJsZSk6CisgICAgICAgIChXZWJDb3JlOjpNZWRpYVBsYXllclByaXZhdGVN
ZWRpYVN0cmVhbUFWRk9iakM6OnNhbXBsZUJ1ZmZlckRpc3BsYXlMYXllclN0YXR1c0RpZENoYW5n
ZSk6CisgICAgICAgIChXZWJDb3JlOjpNZWRpYVBsYXllclByaXZhdGVNZWRpYVN0cmVhbUFWRk9i
akM6OmFwcGxpY2F0aW9uRGlkQmVjb21lQWN0aXZlKToKKyAgICAgICAgKiBwbGF0Zm9ybS9tZWRp
YXN0cmVhbS9WaWRlb1RyYWNrUHJpdmF0ZU1lZGlhU3RyZWFtLmg6CisgICAgICAgICogcGxhdGZv
cm0vbWVkaWFzdHJlYW0vbWFjL1JlYWx0aW1lSW5jb21pbmdWaWRlb1NvdXJjZUNvY29hLm1tOgor
ICAgICAgICAoV2ViQ29yZTo6UmVhbHRpbWVJbmNvbWluZ1ZpZGVvU291cmNlQ29jb2E6Ok9uRnJh
bWUpOgorCiAyMDIwLTA1LTI2ICBZb3Vlbm4gRmFibGV0ICA8eW91ZW5uQGFwcGxlLmNvbT4KIAog
ICAgICAgICBWaWRlbyBmcmVlemVzIHdoZW4gYXR0YWNoaW5nIGEgbG9jYWwgTWVkaWFTdHJlYW0g
dG8gbXVsdGlwbGUgZWxlbWVudHMKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJLaXQvQ2hhbmdlTG9n
IGIvU291cmNlL1dlYktpdC9DaGFuZ2VMb2cKaW5kZXggNTA3MTg4OTVhYjRjNDg1MzE5Y2UyYmE2
N2NmZGI2M2IyYzI3NmE0ZC4uMGE5NzAzZWU5N2E3ZDNiYzg0NTE0MWRmMjVkZWY2YmM3MDQzOWZj
MiAxMDA2NDQKLS0tIGEvU291cmNlL1dlYktpdC9DaGFuZ2VMb2cKKysrIGIvU291cmNlL1dlYktp
dC9DaGFuZ2VMb2cKQEAgLTEsMyArMSwxNCBAQAorMjAyMC0wNS0yNyAgWW91ZW5uIEZhYmxldCAg
PHlvdWVubkBhcHBsZS5jb20+CisKKyAgICAgICAgUmVhbHRpbWVJbmNvbWluZ1ZpZGVvU291cmNl
Q29jb2E6Ok9uRnJhbWUgc2hvdWxkIHVzZSB2aWRlbyBmcmFtZSB0aW1lc3RhbXAKKyAgICAgICAg
aHR0cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hvd19idWcuY2dpP2lkPTIxMjQwMgorCisgICAgICAg
IFJldmlld2VkIGJ5IE5PQk9EWSAoT09QUyEpLgorCisgICAgICAgICogR1BVUHJvY2Vzcy93ZWJy
dGMvUmVtb3RlU2FtcGxlQnVmZmVyRGlzcGxheUxheWVyLmNwcDoKKyAgICAgICAgKFdlYktpdDo6
UmVtb3RlU2FtcGxlQnVmZmVyRGlzcGxheUxheWVyOjplbnF1ZXVlU2FtcGxlKToKKyAgICAgICAg
KiBHUFVQcm9jZXNzL3dlYnJ0Yy9SZW1vdGVTYW1wbGVCdWZmZXJEaXNwbGF5TGF5ZXIuaDoKKwog
MjAyMC0wNS0yNiAgQ2FybG9zIEdhcmNpYSBDYW1wb3MgIDxjZ2FyY2lhQGlnYWxpYS5jb20+CiAK
ICAgICAgICAgW0dUSzRdIEZpeCBjb250ZXh0IG1lbnUKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJD
b3JlL3BsYXRmb3JtL2dyYXBoaWNzL2F2Zm91bmRhdGlvbi9TYW1wbGVCdWZmZXJEaXNwbGF5TGF5
ZXIuaCBiL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNzL2F2Zm91bmRhdGlvbi9TYW1w
bGVCdWZmZXJEaXNwbGF5TGF5ZXIuaAppbmRleCBkMzQ0OTQxZTQ0OTdhNmYyNDA0MzJjN2ViMzc5
MWM3OGNlM2QyNzAxLi5kNGQ4ODJkZWYyMWMzYWZlNzc1ZmYzNTBmN2E2MjcxNDY3NTNiNmI3IDEw
MDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGljcy9hdmZvdW5kYXRpb24v
U2FtcGxlQnVmZmVyRGlzcGxheUxheWVyLmgKKysrIGIvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0v
Z3JhcGhpY3MvYXZmb3VuZGF0aW9uL1NhbXBsZUJ1ZmZlckRpc3BsYXlMYXllci5oCkBAIC00NCw3
ICs0NCw2IEBAIHB1YmxpYzoKICAgICBwdWJsaWM6CiAgICAgICAgIHZpcnR1YWwgfkNsaWVudCgp
ID0gZGVmYXVsdDsKICAgICAgICAgdmlydHVhbCB2b2lkIHNhbXBsZUJ1ZmZlckRpc3BsYXlMYXll
clN0YXR1c0RpZENoYW5nZShTYW1wbGVCdWZmZXJEaXNwbGF5TGF5ZXImKSA9IDA7Ci0gICAgICAg
IHZpcnR1YWwgV1RGOjpNZWRpYVRpbWUgc3RyZWFtVGltZSgpIGNvbnN0ID0gMDsKICAgICB9Owog
CiAgICAgV0VCQ09SRV9FWFBPUlQgc3RhdGljIHN0ZDo6dW5pcXVlX3B0cjxTYW1wbGVCdWZmZXJE
aXNwbGF5TGF5ZXI+IGNyZWF0ZShDbGllbnQmKTsKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3Jl
L3BsYXRmb3JtL2dyYXBoaWNzL2F2Zm91bmRhdGlvbi9vYmpjL0xvY2FsU2FtcGxlQnVmZmVyRGlz
cGxheUxheWVyLm1tIGIvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3MvYXZmb3VuZGF0
aW9uL29iamMvTG9jYWxTYW1wbGVCdWZmZXJEaXNwbGF5TGF5ZXIubW0KaW5kZXggMzRmYjkzOGMz
ZGZiMWVkNGVlMmY0ODdlNjNjNmMyYzNlMGY0OTVlMC4uNTBjYjQ5YWQ3MTk0MzRjNzgyYmU3MmJi
OWNjOTk2OGYxMDdkZjllOSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vZ3Jh
cGhpY3MvYXZmb3VuZGF0aW9uL29iamMvTG9jYWxTYW1wbGVCdWZmZXJEaXNwbGF5TGF5ZXIubW0K
KysrIGIvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3MvYXZmb3VuZGF0aW9uL29iamMv
TG9jYWxTYW1wbGVCdWZmZXJEaXNwbGF5TGF5ZXIubW0KQEAgLTM4LDYgKzM4LDcgQEAKICNpbXBv
cnQgPFF1YXJ0ekNvcmUvQ0FUcmFuc2FjdGlvbi5oPgogCiAjaW1wb3J0IDx3dGYvTWFpblRocmVh
ZC5oPgorI2ltcG9ydCA8d3RmL01vbm90b25pY1RpbWUuaD4KICNpbXBvcnQgPHd0Zi9jZi9UeXBl
Q2FzdHNDRi5oPgogCiAjaW1wb3J0IDxwYWwvY29jb2EvQVZGb3VuZGF0aW9uU29mdExpbmsuaD4K
QEAgLTI4OCw2ICsyODksOCBAQCB2b2lkIExvY2FsU2FtcGxlQnVmZmVyRGlzcGxheUxheWVyOjpm
bHVzaEFuZFJlbW92ZUltYWdlKCkKICAgICBbbV9zYW1wbGVCdWZmZXJEaXNwbGF5TGF5ZXIgZmx1
c2hBbmRSZW1vdmVJbWFnZV07CiB9CiAKK3N0YXRpYyBjb25zdCBkb3VibGUgcmVuZGVyZXJMYXRl
bmN5ID0gMC4wMjsKKwogdm9pZCBMb2NhbFNhbXBsZUJ1ZmZlckRpc3BsYXlMYXllcjo6ZW5xdWV1
ZVNhbXBsZShNZWRpYVNhbXBsZSYgc2FtcGxlKQogewogICAgIGlmICghW21fc2FtcGxlQnVmZmVy
RGlzcGxheUxheWVyIGlzUmVhZHlGb3JNb3JlTWVkaWFEYXRhXSkgewpAQCAtMjk3LDExICszMDAs
MTIgQEAgdm9pZCBMb2NhbFNhbXBsZUJ1ZmZlckRpc3BsYXlMYXllcjo6ZW5xdWV1ZVNhbXBsZShN
ZWRpYVNhbXBsZSYgc2FtcGxlKQogICAgIH0KIAogICAgIGF1dG8gc2FtcGxlVG9FbnF1ZXVlID0g
c2FtcGxlLnBsYXRmb3JtU2FtcGxlKCkuc2FtcGxlLmNtU2FtcGxlQnVmZmVyOwotICAgIFJldGFp
blB0cjxDTVNhbXBsZUJ1ZmZlclJlZj4gbmV3U2FtcGxlQnVmZmVyOworICAgIGF1dG8gbm93ID0g
TWVkaWFUaW1lOjpjcmVhdGVXaXRoRG91YmxlKE1vbm90b25pY1RpbWU6Om5vdygpLnNlY29uZHNT
aW5jZUVwb2NoKCkudmFsdWUoKSArIHJlbmRlcmVyTGF0ZW5jeSk7CiAKICAgICAvLyBJZiBuZWVk
ZWQsIHdlIHNldCB0aGUgc2FtcGxlIGJ1ZmZlciB0byBrQ01TYW1wbGVBdHRhY2htZW50S2V5X0Rp
c3BsYXlJbW1lZGlhdGVseSBhcyBhIHdvcmthcm91bmQgdG8gcmRhcjovL3Byb2JsZW0vNDkyNzQw
ODMuCiAgICAgLy8gV2UgY2xvbmUgdGhlIHNhbXBsZSBidWZmZXIgYXMgbW9kaWZ5aW5nIHRoZSBh
dHRhY2htZW50cyBvZiBhIHNhbXBsZSBidWZmZXIgdXNlZCBlbHNld2hlcmUgKGVuY29kaW5nIGUu
Zy4pIG1heSBub3QgYmUgdGhyZWFkIHNhZmUuCi0gICAgaWYgKG1fcmVuZGVyUG9saWN5ID09IFJl
bmRlclBvbGljeTo6SW1tZWRpYXRlbHkpIHsKKyAgICBSZXRhaW5QdHI8Q01TYW1wbGVCdWZmZXJS
ZWY+IG5ld1NhbXBsZUJ1ZmZlcjsKKyAgICBpZiAobV9yZW5kZXJQb2xpY3kgPT0gUmVuZGVyUG9s
aWN5OjpJbW1lZGlhdGVseSB8fCBub3cgPj0gc2FtcGxlLnByZXNlbnRhdGlvblRpbWUoKSkgewog
ICAgICAgICBuZXdTYW1wbGVCdWZmZXIgPSBNZWRpYVNhbXBsZUFWRk9iakM6OmNsb25lU2FtcGxl
QnVmZmVyQW5kU2V0QXNEaXNwbGF5SW1tZWRpYXRlbHkoc2FtcGxlVG9FbnF1ZXVlKTsKICAgICAg
ICAgc2FtcGxlVG9FbnF1ZXVlID0gbmV3U2FtcGxlQnVmZmVyLmdldCgpOwogICAgIH0KQEAgLTMx
MSw3ICszMTUsNyBAQCB2b2lkIExvY2FsU2FtcGxlQnVmZmVyRGlzcGxheUxheWVyOjplbnF1ZXVl
U2FtcGxlKE1lZGlhU2FtcGxlJiBzYW1wbGUpCiAKIHZvaWQgTG9jYWxTYW1wbGVCdWZmZXJEaXNw
bGF5TGF5ZXI6OnJlbW92ZU9sZFNhbXBsZXNGcm9tUGVuZGluZ1F1ZXVlKCkKIHsKLSAgICBpZiAo
bV9wZW5kaW5nVmlkZW9TYW1wbGVRdWV1ZS5pc0VtcHR5KCkgfHwgIW1fY2xpZW50KQorICAgIGlm
IChtX3BlbmRpbmdWaWRlb1NhbXBsZVF1ZXVlLmlzRW1wdHkoKSkKICAgICAgICAgcmV0dXJuOwog
CiAgICAgaWYgKG1fcmVuZGVyUG9saWN5ID09IFJlbmRlclBvbGljeTo6SW1tZWRpYXRlbHkpIHsK
QEAgLTMxOSwxNyArMzIzLDEwIEBAIHZvaWQgTG9jYWxTYW1wbGVCdWZmZXJEaXNwbGF5TGF5ZXI6
OnJlbW92ZU9sZFNhbXBsZXNGcm9tUGVuZGluZ1F1ZXVlKCkKICAgICAgICAgcmV0dXJuOwogICAg
IH0KIAotICAgIGF1dG8gZGVjb2RlVGltZSA9IG1fcGVuZGluZ1ZpZGVvU2FtcGxlUXVldWUuZmly
c3QoKS0+ZGVjb2RlVGltZSgpOwotICAgIGlmICghZGVjb2RlVGltZS5pc1ZhbGlkKCkgfHwgZGVj
b2RlVGltZSA8IE1lZGlhVGltZTo6emVyb1RpbWUoKSkgewotICAgICAgICB3aGlsZSAobV9wZW5k
aW5nVmlkZW9TYW1wbGVRdWV1ZS5zaXplKCkgPiA1KQotICAgICAgICAgICAgbV9wZW5kaW5nVmlk
ZW9TYW1wbGVRdWV1ZS5yZW1vdmVGaXJzdCgpOwotCi0gICAgICAgIHJldHVybjsKLSAgICB9Ci0K
LSAgICBNZWRpYVRpbWUgbm93ID0gbV9jbGllbnQtPnN0cmVhbVRpbWUoKTsKKyAgICBhdXRvIG5v
dyA9IE1lZGlhVGltZTo6Y3JlYXRlV2l0aERvdWJsZShNb25vdG9uaWNUaW1lOjpub3coKS5zZWNv
bmRzU2luY2VFcG9jaCgpLnZhbHVlKCkpOwogICAgIHdoaWxlICghbV9wZW5kaW5nVmlkZW9TYW1w
bGVRdWV1ZS5pc0VtcHR5KCkpIHsKLSAgICAgICAgaWYgKG1fcGVuZGluZ1ZpZGVvU2FtcGxlUXVl
dWUuZmlyc3QoKS0+ZGVjb2RlVGltZSgpID4gbm93KQorICAgICAgICBhdXRvIHByZXNlbnRhdGlv
blRpbWUgPSBtX3BlbmRpbmdWaWRlb1NhbXBsZVF1ZXVlLmZpcnN0KCktPnByZXNlbnRhdGlvblRp
bWUoKTsKKyAgICAgICAgaWYgKHByZXNlbnRhdGlvblRpbWUuaXNWYWxpZCgpICYmIHByZXNlbnRh
dGlvblRpbWUgPiBub3cpCiAgICAgICAgICAgICBicmVhazsKICAgICAgICAgbV9wZW5kaW5nVmlk
ZW9TYW1wbGVRdWV1ZS5yZW1vdmVGaXJzdCgpOwogICAgIH0KZGlmZiAtLWdpdCBhL1NvdXJjZS9X
ZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNzL2F2Zm91bmRhdGlvbi9vYmpjL01lZGlhUGxheWVyUHJp
dmF0ZU1lZGlhU3RyZWFtQVZGT2JqQy5oIGIvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhp
Y3MvYXZmb3VuZGF0aW9uL29iamMvTWVkaWFQbGF5ZXJQcml2YXRlTWVkaWFTdHJlYW1BVkZPYmpD
LmgKaW5kZXggYWY3ZTQ4YjE3MWE4MTRlNDY5YmYzN2RiYjhjZjBjYTAyYjM2NmE2NS4uODZiY2Jh
MDY3MjlhMDlmZmJmOWM1MWZjOTA0YTEzODhlNzcwZWVjYSAxMDA2NDQKLS0tIGEvU291cmNlL1dl
YkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3MvYXZmb3VuZGF0aW9uL29iamMvTWVkaWFQbGF5ZXJQcml2
YXRlTWVkaWFTdHJlYW1BVkZPYmpDLmgKKysrIGIvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vZ3Jh
cGhpY3MvYXZmb3VuZGF0aW9uL29iamMvTWVkaWFQbGF5ZXJQcml2YXRlTWVkaWFTdHJlYW1BVkZP
YmpDLmgKQEAgLTEzNyw5ICsxMzcsNyBAQCBwcml2YXRlOgogCiAgICAgdm9pZCBmbHVzaFJlbmRl
cmVycygpOwogCi0gICAgTWVkaWFUaW1lIGNhbGN1bGF0ZVRpbWVsaW5lT2Zmc2V0KGNvbnN0IE1l
ZGlhU2FtcGxlJiwgZG91YmxlKTsKLSAgICAKLSAgICB2b2lkIGVucXVldWVDb3JyZWN0ZWRWaWRl
b1NhbXBsZShNZWRpYVNhbXBsZSYpOworICAgIHZvaWQgZW5xdWV1ZVZpZGVvU2FtcGxlKE1lZGlh
U2FtcGxlJik7CiAgICAgdm9pZCByZXF1ZXN0Tm90aWZpY2F0aW9uV2hlblJlYWR5Rm9yVmlkZW9E
YXRhKCk7CiAKICAgICB2b2lkIHBhaW50KEdyYXBoaWNzQ29udGV4dCYsIGNvbnN0IEZsb2F0UmVj
dCYpIG92ZXJyaWRlOwpAQCAtMjEwLDcgKzIwOCw3IEBAIHByaXZhdGU6CiAgICAgdm9pZCBzZXRW
aWRlb0Z1bGxzY3JlZW5MYXllcihQbGF0Zm9ybUxheWVyKiwgV1RGOjpGdW5jdGlvbjx2b2lkKCk+
JiYgY29tcGxldGlvbkhhbmRsZXIpIG92ZXJyaWRlOwogICAgIHZvaWQgc2V0VmlkZW9GdWxsc2Ny
ZWVuRnJhbWUoRmxvYXRSZWN0KSBvdmVycmlkZTsKIAotICAgIE1lZGlhVGltZSBzdHJlYW1UaW1l
KCkgY29uc3QgZmluYWw7CisgICAgTWVkaWFUaW1lIHN0cmVhbVRpbWUoKSBjb25zdDsKIAogICAg
IEF1ZGlvU291cmNlUHJvdmlkZXIqIGF1ZGlvU291cmNlUHJvdmlkZXIoKSBmaW5hbDsKIApkaWZm
IC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3MvYXZmb3VuZGF0aW9uL29i
amMvTWVkaWFQbGF5ZXJQcml2YXRlTWVkaWFTdHJlYW1BVkZPYmpDLm1tIGIvU291cmNlL1dlYkNv
cmUvcGxhdGZvcm0vZ3JhcGhpY3MvYXZmb3VuZGF0aW9uL29iamMvTWVkaWFQbGF5ZXJQcml2YXRl
TWVkaWFTdHJlYW1BVkZPYmpDLm1tCmluZGV4IGY4NGNiNGFmNWNiZjBlY2JjOGIxZDJlMDZkMGU4
ZjNiYjY0NzY4OWMuLmI0MmMwMmNjYThjNzhiMjBlOTNhMzExZGVmYWNkNjRhZDE2ZTE3ODkgMTAw
NjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNzL2F2Zm91bmRhdGlvbi9v
YmpjL01lZGlhUGxheWVyUHJpdmF0ZU1lZGlhU3RyZWFtQVZGT2JqQy5tbQorKysgYi9Tb3VyY2Uv
V2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGljcy9hdmZvdW5kYXRpb24vb2JqYy9NZWRpYVBsYXllclBy
aXZhdGVNZWRpYVN0cmVhbUFWRk9iakMubW0KQEAgLTEzMSw4ICsxMzEsNiBAQCB1c2luZyBuYW1l
c3BhY2UgUEFMOwogI3ByYWdtYSBtYXJrIC0KICNwcmFnbWEgbWFyayBNZWRpYVBsYXllclByaXZh
dGVNZWRpYVN0cmVhbUFWRk9iakMKIAotc3RhdGljIGNvbnN0IGRvdWJsZSByZW5kZXJlckxhdGVu
Y3kgPSAwLjAyOwotCiBNZWRpYVBsYXllclByaXZhdGVNZWRpYVN0cmVhbUFWRk9iakM6Ok1lZGlh
UGxheWVyUHJpdmF0ZU1lZGlhU3RyZWFtQVZGT2JqQyhNZWRpYVBsYXllciogcGxheWVyKQogICAg
IDogbV9wbGF5ZXIocGxheWVyKQogICAgICwgbV9jbG9jayhQQUw6OkNsb2NrOjpjcmVhdGUoKSkK
QEAgLTIyOSwxNSArMjI3LDYgQEAgTWVkaWFQbGF5ZXI6OlN1cHBvcnRzVHlwZSBNZWRpYVBsYXll
clByaXZhdGVNZWRpYVN0cmVhbUFWRk9iakM6OnN1cHBvcnRzVHlwZShjb24KICNwcmFnbWEgbWFy
ayAtCiAjcHJhZ21hIG1hcmsgQVZTYW1wbGVCdWZmZXIgTWV0aG9kcwogCi1NZWRpYVRpbWUgTWVk
aWFQbGF5ZXJQcml2YXRlTWVkaWFTdHJlYW1BVkZPYmpDOjpjYWxjdWxhdGVUaW1lbGluZU9mZnNl
dChjb25zdCBNZWRpYVNhbXBsZSYgc2FtcGxlLCBkb3VibGUgbGF0ZW5jeSkKLXsKLSAgICBNZWRp
YVRpbWUgc2FtcGxlVGltZSA9IHNhbXBsZS5wcmVzZW50YXRpb25UaW1lKCk7Ci0gICAgTWVkaWFU
aW1lIHRpbWVsaW5lT2Zmc2V0ID0gc3RyZWFtVGltZSgpIC0gc2FtcGxlVGltZSArIE1lZGlhVGlt
ZTo6Y3JlYXRlV2l0aERvdWJsZShsYXRlbmN5KTsKLSAgICBpZiAodGltZWxpbmVPZmZzZXQudGlt
ZVNjYWxlKCkgIT0gc2FtcGxlVGltZS50aW1lU2NhbGUoKSkKLSAgICAgICAgdGltZWxpbmVPZmZz
ZXQgPSBQQUw6OnRvTWVkaWFUaW1lKENNVGltZUNvbnZlcnRTY2FsZShQQUw6OnRvQ01UaW1lKHRp
bWVsaW5lT2Zmc2V0KSwgc2FtcGxlVGltZS50aW1lU2NhbGUoKSwga0NNVGltZVJvdW5kaW5nTWV0
aG9kX0RlZmF1bHQpKTsKLSAgICByZXR1cm4gdGltZWxpbmVPZmZzZXQ7Ci19Ci0KIENHQWZmaW5l
VHJhbnNmb3JtIE1lZGlhUGxheWVyUHJpdmF0ZU1lZGlhU3RyZWFtQVZGT2JqQzo6dmlkZW9UcmFu
c2Zvcm1hdGlvbk1hdHJpeChNZWRpYVNhbXBsZSYgc2FtcGxlLCBib29sIGZvcmNlVXBkYXRlKQog
ewogICAgIGlmICghZm9yY2VVcGRhdGUgJiYgbV90cmFuc2Zvcm1Jc1ZhbGlkKQpAQCAtMjYxLDI1
ICsyNTAsMTggQEAgQ0dBZmZpbmVUcmFuc2Zvcm0gTWVkaWFQbGF5ZXJQcml2YXRlTWVkaWFTdHJl
YW1BVkZPYmpDOjp2aWRlb1RyYW5zZm9ybWF0aW9uTWF0cmkKICAgICByZXR1cm4gbV92aWRlb1Ry
YW5zZm9ybTsKIH0KIAotdm9pZCBNZWRpYVBsYXllclByaXZhdGVNZWRpYVN0cmVhbUFWRk9iakM6
OmVucXVldWVDb3JyZWN0ZWRWaWRlb1NhbXBsZShNZWRpYVNhbXBsZSYgc2FtcGxlKQordm9pZCBN
ZWRpYVBsYXllclByaXZhdGVNZWRpYVN0cmVhbUFWRk9iakM6OmVucXVldWVWaWRlb1NhbXBsZShN
ZWRpYVNhbXBsZSYgc2FtcGxlKQogewotICAgIGlmIChtX3NhbXBsZUJ1ZmZlckRpc3BsYXlMYXll
cikgewotICAgICAgICBpZiAobV9zYW1wbGVCdWZmZXJEaXNwbGF5TGF5ZXItPmRpZEZhaWwoKSkK
LSAgICAgICAgICAgIHJldHVybjsKLQotICAgICAgICBpZiAoc2FtcGxlLnZpZGVvUm90YXRpb24o
KSAhPSBtX3ZpZGVvUm90YXRpb24gfHwgc2FtcGxlLnZpZGVvTWlycm9yZWQoKSAhPSBtX3ZpZGVv
TWlycm9yZWQpIHsKLSAgICAgICAgICAgIG1fdmlkZW9Sb3RhdGlvbiA9IHNhbXBsZS52aWRlb1Jv
dGF0aW9uKCk7Ci0gICAgICAgICAgICBtX3ZpZGVvTWlycm9yZWQgPSBzYW1wbGUudmlkZW9NaXJy
b3JlZCgpOwotICAgICAgICAgICAgbV9zYW1wbGVCdWZmZXJEaXNwbGF5TGF5ZXItPnVwZGF0ZUFm
ZmluZVRyYW5zZm9ybSh2aWRlb1RyYW5zZm9ybWF0aW9uTWF0cml4KHNhbXBsZSwgdHJ1ZSkpOwot
ICAgICAgICAgICAgdXBkYXRlRGlzcGxheUxheWVyKCk7Ci0gICAgICAgIH0KLSAgICAgICAgbV9z
YW1wbGVCdWZmZXJEaXNwbGF5TGF5ZXItPmVucXVldWVTYW1wbGUoc2FtcGxlKTsKLSAgICB9Cisg
ICAgaWYgKCFtX3NhbXBsZUJ1ZmZlckRpc3BsYXlMYXllciB8fCBtX3NhbXBsZUJ1ZmZlckRpc3Bs
YXlMYXllci0+ZGlkRmFpbCgpKQorICAgICAgICByZXR1cm47CiAKLSAgICBpZiAoIW1faGFzRXZl
ckVucXVldWVkVmlkZW9GcmFtZSkgewotICAgICAgICBtX2hhc0V2ZXJFbnF1ZXVlZFZpZGVvRnJh
bWUgPSB0cnVlOwotICAgICAgICBtX3BsYXllci0+Zmlyc3RWaWRlb0ZyYW1lQXZhaWxhYmxlKCk7
CisgICAgaWYgKHNhbXBsZS52aWRlb1JvdGF0aW9uKCkgIT0gbV92aWRlb1JvdGF0aW9uIHx8IHNh
bXBsZS52aWRlb01pcnJvcmVkKCkgIT0gbV92aWRlb01pcnJvcmVkKSB7CisgICAgICAgIG1fdmlk
ZW9Sb3RhdGlvbiA9IHNhbXBsZS52aWRlb1JvdGF0aW9uKCk7CisgICAgICAgIG1fdmlkZW9NaXJy
b3JlZCA9IHNhbXBsZS52aWRlb01pcnJvcmVkKCk7CisgICAgICAgIG1fc2FtcGxlQnVmZmVyRGlz
cGxheUxheWVyLT51cGRhdGVBZmZpbmVUcmFuc2Zvcm0odmlkZW9UcmFuc2Zvcm1hdGlvbk1hdHJp
eChzYW1wbGUsIHRydWUpKTsKKyAgICAgICAgdXBkYXRlRGlzcGxheUxheWVyKCk7CiAgICAgfQor
ICAgIG1fc2FtcGxlQnVmZmVyRGlzcGxheUxheWVyLT5lbnF1ZXVlU2FtcGxlKHNhbXBsZSk7CiB9
CiAKIHZvaWQgTWVkaWFQbGF5ZXJQcml2YXRlTWVkaWFTdHJlYW1BVkZPYmpDOjp2aWRlb1NhbXBs
ZUF2YWlsYWJsZShNZWRpYVNhbXBsZSYgc2FtcGxlKQpAQCAtMzA1LDMwICsyODcsMTMgQEAgdm9p
ZCBNZWRpYVBsYXllclByaXZhdGVNZWRpYVN0cmVhbUFWRk9iakM6OnZpZGVvU2FtcGxlQXZhaWxh
YmxlKE1lZGlhU2FtcGxlJiBzYW0KICAgICBpZiAobV9kaXNwbGF5TW9kZSAhPSBMaXZlUHJldmll
dyAmJiAhbV93YWl0aW5nRm9yRmlyc3RJbWFnZSkKICAgICAgICAgcmV0dXJuOwogCi0gICAgTWVk
aWFUaW1lIHRpbWVsaW5lT2Zmc2V0ID0gbV9hY3RpdmVWaWRlb1RyYWNrLT50aW1lbGluZU9mZnNl
dCgpOwotICAgIGlmICh0aW1lbGluZU9mZnNldCA9PSBNZWRpYVRpbWU6OmludmFsaWRUaW1lKCkp
IHsKLSAgICAgICAgdGltZWxpbmVPZmZzZXQgPSBjYWxjdWxhdGVUaW1lbGluZU9mZnNldChzYW1w
bGUsIHJlbmRlcmVyTGF0ZW5jeSk7Ci0gICAgICAgIG1fYWN0aXZlVmlkZW9UcmFjay0+c2V0VGlt
ZWxpbmVPZmZzZXQodGltZWxpbmVPZmZzZXQpOwotCi0gICAgICAgIElORk9fTE9HKExPR0lERU5U
SUZJRVIsICJ0aW1lbGluZSBvZmZzZXQgZm9yIHRyYWNrICIsIG1fYWN0aXZlVmlkZW9UcmFjay0+
c3RyZWFtVHJhY2soKS5pZCgpLCAiIHNldCB0byAiLCB0aW1lbGluZU9mZnNldCk7Ci0gICAgfQor
ICAgIGVucXVldWVWaWRlb1NhbXBsZShzYW1wbGUpOwogCi0gICAgREVCVUdfTE9HKExPR0lERU5U
SUZJRVIsICJvcmlnaW5hbCBzYW1wbGUgPSAiLCBzYW1wbGUpOwotICAgIHNhbXBsZS5vZmZzZXRU
aW1lc3RhbXBzQnkodGltZWxpbmVPZmZzZXQpOwotICAgIERFQlVHX0xPRyhMT0dJREVOVElGSUVS
LCAidXBkYXRlZCBzYW1wbGUgPSAiLCBzYW1wbGUpOwotCi0gICAgaWYgKFdJTExfTE9HKFdURkxv
Z0xldmVsOjpEZWJ1ZykpIHsKLSAgICAgICAgTWVkaWFUaW1lIG5vdyA9IHN0cmVhbVRpbWUoKTsK
LSAgICAgICAgZG91YmxlIGRlbHRhID0gKHNhbXBsZS5wcmVzZW50YXRpb25UaW1lKCkgLSBub3cp
LnRvRG91YmxlKCk7Ci0gICAgICAgIGlmIChkZWx0YSA8IDApCi0gICAgICAgICAgICBERUJVR19M
T0coTE9HSURFTlRJRklFUiwgIipOT1RFKiBzYW1wbGUgYXQgdGltZSBpcyAiLCBub3csICIgaXMi
LCAtZGVsdGEsICIgc2Vjb25kcyBsYXRlIik7Ci0gICAgICAgIGVsc2UgaWYgKGRlbHRhIDwgLjAx
KQotICAgICAgICAgICAgREVCVUdfTE9HKExPR0lERU5USUZJRVIsICIqTk9URSogYXVkaW8gc2Ft
cGxlIGF0IHRpbWUgIiwgbm93LCAiIGlzIG9ubHkgIiwgZGVsdGEsICIgc2Vjb25kcyBlYXJseSIp
OwotICAgICAgICBlbHNlIGlmIChkZWx0YSA+IC4zKQotICAgICAgICAgICAgREVCVUdfTE9HKExP
R0lERU5USUZJRVIsICIqTk9URSogYXVkaW8gc2FtcGxlIGF0IHRpbWUgIiwgbm93LCAiIGlzICIs
IGRlbHRhLCAiIHNlY29uZHMgZWFybHkhIik7CisgICAgaWYgKCFtX2hhc0V2ZXJFbnF1ZXVlZFZp
ZGVvRnJhbWUpIHsKKyAgICAgICAgbV9oYXNFdmVyRW5xdWV1ZWRWaWRlb0ZyYW1lID0gdHJ1ZTsK
KyAgICAgICAgbV9wbGF5ZXItPmZpcnN0VmlkZW9GcmFtZUF2YWlsYWJsZSgpOwogICAgIH0KIAot
ICAgIGVucXVldWVDb3JyZWN0ZWRWaWRlb1NhbXBsZShzYW1wbGUpOwogICAgIGlmIChtX3dhaXRp
bmdGb3JGaXJzdEltYWdlKSB7CiAgICAgICAgIG1fd2FpdGluZ0ZvckZpcnN0SW1hZ2UgPSBmYWxz
ZTsKICAgICAgICAgdXBkYXRlRGlzcGxheU1vZGUoKTsKQEAgLTM0MSwxMiArMzA2LDggQEAgQXVk
aW9Tb3VyY2VQcm92aWRlciogTWVkaWFQbGF5ZXJQcml2YXRlTWVkaWFTdHJlYW1BVkZPYmpDOjph
dWRpb1NvdXJjZVByb3ZpZGVyKCkKICAgICByZXR1cm4gbnVsbHB0cjsKIH0KIAotdm9pZCBNZWRp
YVBsYXllclByaXZhdGVNZWRpYVN0cmVhbUFWRk9iakM6OnNhbXBsZUJ1ZmZlckRpc3BsYXlMYXll
clN0YXR1c0RpZENoYW5nZShTYW1wbGVCdWZmZXJEaXNwbGF5TGF5ZXImIGxheWVyKQordm9pZCBN
ZWRpYVBsYXllclByaXZhdGVNZWRpYVN0cmVhbUFWRk9iakM6OnNhbXBsZUJ1ZmZlckRpc3BsYXlM
YXllclN0YXR1c0RpZENoYW5nZShTYW1wbGVCdWZmZXJEaXNwbGF5TGF5ZXImKQogewotICAgIEFT
U0VSVCgmbGF5ZXIgPT0gbV9zYW1wbGVCdWZmZXJEaXNwbGF5TGF5ZXIuZ2V0KCkpOwotICAgIFVO
VVNFRF9QQVJBTShsYXllcik7Ci0gICAgaWYgKG1fYWN0aXZlVmlkZW9UcmFjaykKLSAgICAgICAg
bV9hY3RpdmVWaWRlb1RyYWNrLT5zZXRUaW1lbGluZU9mZnNldChNZWRpYVRpbWU6OmludmFsaWRU
aW1lKCkpOwogfQogCiB2b2lkIE1lZGlhUGxheWVyUHJpdmF0ZU1lZGlhU3RyZWFtQVZGT2JqQzo6
YXBwbGljYXRpb25EaWRCZWNvbWVBY3RpdmUoKQpAQCAtMzU0LDcgKzMxNSw3IEBAIHZvaWQgTWVk
aWFQbGF5ZXJQcml2YXRlTWVkaWFTdHJlYW1BVkZPYmpDOjphcHBsaWNhdGlvbkRpZEJlY29tZUFj
dGl2ZSgpCiAgICAgaWYgKG1fc2FtcGxlQnVmZmVyRGlzcGxheUxheWVyICYmIG1fc2FtcGxlQnVm
ZmVyRGlzcGxheUxheWVyLT5kaWRGYWlsKCkpIHsKICAgICAgICAgZmx1c2hSZW5kZXJlcnMoKTsK
ICAgICAgICAgaWYgKG1faW1hZ2VQYWludGVyLm1lZGlhU2FtcGxlKQotICAgICAgICAgICAgZW5x
dWV1ZUNvcnJlY3RlZFZpZGVvU2FtcGxlKCptX2ltYWdlUGFpbnRlci5tZWRpYVNhbXBsZSk7Cisg
ICAgICAgICAgICBlbnF1ZXVlVmlkZW9TYW1wbGUoKm1faW1hZ2VQYWludGVyLm1lZGlhU2FtcGxl
KTsKICAgICAgICAgdXBkYXRlRGlzcGxheU1vZGUoKTsKICAgICB9CiB9CmRpZmYgLS1naXQgYS9T
b3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9tZWRpYXN0cmVhbS9WaWRlb1RyYWNrUHJpdmF0ZU1lZGlh
U3RyZWFtLmggYi9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9tZWRpYXN0cmVhbS9WaWRlb1RyYWNr
UHJpdmF0ZU1lZGlhU3RyZWFtLmgKaW5kZXggZDRmZDQ3NTY3NzFlZDM3NDg3NTE3M2E4NjE3MDg3
MGFiN2Y5OGUxYi4uMTA1NDIzNWU4ODkyYmI5MWZlYzA2NGUyNWFmNGVmYzFiNzc1NjRmZiAxMDA2
NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vbWVkaWFzdHJlYW0vVmlkZW9UcmFja1By
aXZhdGVNZWRpYVN0cmVhbS5oCisrKyBiL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL21lZGlhc3Ry
ZWFtL1ZpZGVvVHJhY2tQcml2YXRlTWVkaWFTdHJlYW0uaApAQCAtNDQsMTUgKzQ0LDExIEBAIHB1
YmxpYzoKIAogICAgIE1lZGlhU3RyZWFtVHJhY2tQcml2YXRlJiBzdHJlYW1UcmFjaygpIHsgcmV0
dXJuIG1fc3RyZWFtVHJhY2suZ2V0KCk7IH0KIAotICAgIE1lZGlhVGltZSB0aW1lbGluZU9mZnNl
dCgpIGNvbnN0IHsgcmV0dXJuIG1fdGltZWxpbmVPZmZzZXQ7IH0KLSAgICB2b2lkIHNldFRpbWVs
aW5lT2Zmc2V0KGNvbnN0IE1lZGlhVGltZSYgb2Zmc2V0KSB7IG1fdGltZWxpbmVPZmZzZXQgPSBv
ZmZzZXQ7IH0KLQogcHJpdmF0ZToKICAgICBWaWRlb1RyYWNrUHJpdmF0ZU1lZGlhU3RyZWFtKE1l
ZGlhU3RyZWFtVHJhY2tQcml2YXRlJiB0cmFjaykKICAgICAgICAgOiBtX3N0cmVhbVRyYWNrKHRy
YWNrKQogICAgICAgICAsIG1faWQodHJhY2suaWQoKSkKICAgICAgICAgLCBtX2xhYmVsKHRyYWNr
LmxhYmVsKCkpCi0gICAgICAgICwgbV90aW1lbGluZU9mZnNldChNZWRpYVRpbWU6OmludmFsaWRU
aW1lKCkpCiAgICAgewogICAgIH0KIApAQCAtNjYsNyArNjIsNiBAQCBwcml2YXRlOgogICAgIEF0
b21TdHJpbmcgbV9pZDsKICAgICBBdG9tU3RyaW5nIG1fbGFiZWw7CiAgICAgaW50IG1faW5kZXgg
eyAwIH07Ci0gICAgTWVkaWFUaW1lIG1fdGltZWxpbmVPZmZzZXQ7CiB9OwogCiB9CmRpZmYgLS1n
aXQgYS9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9tZWRpYXN0cmVhbS9tYWMvUmVhbHRpbWVJbmNv
bWluZ1ZpZGVvU291cmNlQ29jb2EubW0gYi9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9tZWRpYXN0
cmVhbS9tYWMvUmVhbHRpbWVJbmNvbWluZ1ZpZGVvU291cmNlQ29jb2EubW0KaW5kZXggZWU5ODM2
YjAxMDc3N2MzYTdmZDkzNmRkNTE5YmIyYTlhMjRiMzgwYi4uZjI4MGI2ZTFiYTIwZmJmNjAzMmEw
ZGE2NmUxYWZkZmQwZDM1ZWYyYiAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0v
bWVkaWFzdHJlYW0vbWFjL1JlYWx0aW1lSW5jb21pbmdWaWRlb1NvdXJjZUNvY29hLm1tCisrKyBi
L1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL21lZGlhc3RyZWFtL21hYy9SZWFsdGltZUluY29taW5n
VmlkZW9Tb3VyY2VDb2NvYS5tbQpAQCAtMTQyLDEwICsxNDIsOCBAQCB2b2lkIFJlYWx0aW1lSW5j
b21pbmdWaWRlb1NvdXJjZUNvY29hOjpPbkZyYW1lKGNvbnN0IHdlYnJ0Yzo6VmlkZW9GcmFtZSYg
ZnJhbWUpCiAgICAgICAgIHJldHVybjsKICAgICB9CiAKLSAgICAvLyBGSVhNRTogQ29udmVydCB0
aW1pbmcgaW5mb3JtYXRpb24gZnJvbSBWaWRlb0ZyYW1lIHRvIENNU2FtcGxlVGltaW5nSW5mby4K
LSAgICAvLyBGb3IgdGhlIG1vbWVudCwgd2Ugd2lsbCBwcmV0ZW5kIHRoYXQgZnJhbWVzIHNob3Vs
ZCBiZSByZW5kZXJlZCBhc2FwLgogICAgIENNU2FtcGxlVGltaW5nSW5mbyB0aW1pbmdJbmZvOwot
ICAgIHRpbWluZ0luZm8ucHJlc2VudGF0aW9uVGltZVN0YW1wID0ga0NNVGltZUludmFsaWQ7Cisg
ICAgdGltaW5nSW5mby5wcmVzZW50YXRpb25UaW1lU3RhbXAgPSBDTVRpbWVNYWtlKGZyYW1lLnRp
bWVzdGFtcF91cygpLCAxMDAwMDAwKTsKICAgICB0aW1pbmdJbmZvLmRlY29kZVRpbWVTdGFtcCA9
IGtDTVRpbWVJbnZhbGlkOwogICAgIHRpbWluZ0luZm8uZHVyYXRpb24gPSBrQ01UaW1lSW52YWxp
ZDsKIApAQCAtMTY2LDEyICsxNjQsNiBAQCB2b2lkIFJlYWx0aW1lSW5jb21pbmdWaWRlb1NvdXJj
ZUNvY29hOjpPbkZyYW1lKGNvbnN0IHdlYnJ0Yzo6VmlkZW9GcmFtZSYgZnJhbWUpCiAKICAgICBh
dXRvIHNhbXBsZSA9IGFkb3B0Q0Yoc2FtcGxlQnVmZmVyKTsKIAotICAgIENGQXJyYXlSZWYgYXR0
YWNobWVudHNBcnJheSA9IENNU2FtcGxlQnVmZmVyR2V0U2FtcGxlQXR0YWNobWVudHNBcnJheShz
YW1wbGVCdWZmZXIsIHRydWUpOwotICAgIGZvciAoQ0ZJbmRleCBpID0gMDsgaSA8IENGQXJyYXlH
ZXRDb3VudChhdHRhY2htZW50c0FycmF5KTsgKytpKSB7Ci0gICAgICAgIENGTXV0YWJsZURpY3Rp
b25hcnlSZWYgYXR0YWNobWVudHMgPSBjaGVja2VkX2NmX2Nhc3Q8Q0ZNdXRhYmxlRGljdGlvbmFy
eVJlZj4oQ0ZBcnJheUdldFZhbHVlQXRJbmRleChhdHRhY2htZW50c0FycmF5LCBpKSk7Ci0gICAg
ICAgIENGRGljdGlvbmFyeVNldFZhbHVlKGF0dGFjaG1lbnRzLCBrQ01TYW1wbGVBdHRhY2htZW50
S2V5X0Rpc3BsYXlJbW1lZGlhdGVseSwga0NGQm9vbGVhblRydWUpOwotICAgIH0KLQogICAgIHVu
c2lnbmVkIHdpZHRoID0gZnJhbWUud2lkdGgoKTsKICAgICB1bnNpZ25lZCBoZWlnaHQgPSBmcmFt
ZS5oZWlnaHQoKTsKIApkaWZmIC0tZ2l0IGEvU291cmNlL1dlYktpdC9HUFVQcm9jZXNzL3dlYnJ0
Yy9SZW1vdGVTYW1wbGVCdWZmZXJEaXNwbGF5TGF5ZXIuY3BwIGIvU291cmNlL1dlYktpdC9HUFVQ
cm9jZXNzL3dlYnJ0Yy9SZW1vdGVTYW1wbGVCdWZmZXJEaXNwbGF5TGF5ZXIuY3BwCmluZGV4IGQ2
OTEzMDRkMmMzOGM5NDlkNjFiM2VlMWNjYWM5ZmNjMGMwZDcwMjEuLjdhY2Y1MWE5M2IzNDVkOGU0
MjRmODkwODYxNzk1ZDNiNzhlZTM5NDggMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJLaXQvR1BVUHJv
Y2Vzcy93ZWJydGMvUmVtb3RlU2FtcGxlQnVmZmVyRGlzcGxheUxheWVyLmNwcAorKysgYi9Tb3Vy
Y2UvV2ViS2l0L0dQVVByb2Nlc3Mvd2VicnRjL1JlbW90ZVNhbXBsZUJ1ZmZlckRpc3BsYXlMYXll
ci5jcHAKQEAgLTk4LDggKzk4LDYgQEAgdm9pZCBSZW1vdGVTYW1wbGVCdWZmZXJEaXNwbGF5TGF5
ZXI6OmZsdXNoQW5kUmVtb3ZlSW1hZ2UoKQogCiB2b2lkIFJlbW90ZVNhbXBsZUJ1ZmZlckRpc3Bs
YXlMYXllcjo6ZW5xdWV1ZVNhbXBsZShXZWJDb3JlOjpSZW1vdGVWaWRlb1NhbXBsZSYmIHJlbW90
ZVNhbXBsZSkKIHsKLSAgICBtX21lZGlhVGltZSA9IHJlbW90ZVNhbXBsZS50aW1lKCk7Ci0KICAg
ICBpZiAoIW1faW1hZ2VUcmFuc2ZlclNlc3Npb24gfHwgbV9pbWFnZVRyYW5zZmVyU2Vzc2lvbi0+
cGl4ZWxGb3JtYXQoKSAhPSByZW1vdGVTYW1wbGUudmlkZW9Gb3JtYXQoKSkKICAgICAgICAgbV9p
bWFnZVRyYW5zZmVyU2Vzc2lvbiA9IEltYWdlVHJhbnNmZXJTZXNzaW9uVlQ6OmNyZWF0ZShyZW1v
dGVTYW1wbGUudmlkZW9Gb3JtYXQoKSk7CiAKQEAgLTEzMiwxMiArMTMwLDYgQEAgdm9pZCBSZW1v
dGVTYW1wbGVCdWZmZXJEaXNwbGF5TGF5ZXI6OnNhbXBsZUJ1ZmZlckRpc3BsYXlMYXllclN0YXR1
c0RpZENoYW5nZShXZWIKICAgICBzZW5kKE1lc3NhZ2VzOjpTYW1wbGVCdWZmZXJEaXNwbGF5TGF5
ZXI6OlNldERpZEZhaWwgeyBtX3NhbXBsZUJ1ZmZlckRpc3BsYXlMYXllci0+ZGlkRmFpbCgpIH0p
OwogfQogCi1XVEY6Ok1lZGlhVGltZSBSZW1vdGVTYW1wbGVCdWZmZXJEaXNwbGF5TGF5ZXI6OnN0
cmVhbVRpbWUoKSBjb25zdAotewotICAgIC8vIFRoaXMgaXMgb25seSBhbiBhcHByb3hpbWF0aW9u
IHdoaWNoIHdpbGwgY2xlYXIgYWxsIHNhbXBsZXMgZW5xdWV1ZWQgaW4gbV9zYW1wbGVCdWZmZXJE
aXNwbGF5TGF5ZXIgZXhjZXB0IHRoZSBvbmUgYmVpbmcgcHVzaGVkLgotICAgIHJldHVybiBtX21l
ZGlhVGltZTsKLX0KLQogfQogCiAjZW5kaWYgLy8gUExBVEZPUk0oQ09DT0EpICYmIEVOQUJMRShH
UFVfUFJPQ0VTUykgJiYgRU5BQkxFKFZJREVPX1RSQUNLKSAmJiBFTkFCTEUoTUVESUFfU1RSRUFN
KQpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYktpdC9HUFVQcm9jZXNzL3dlYnJ0Yy9SZW1vdGVTYW1w
bGVCdWZmZXJEaXNwbGF5TGF5ZXIuaCBiL1NvdXJjZS9XZWJLaXQvR1BVUHJvY2Vzcy93ZWJydGMv
UmVtb3RlU2FtcGxlQnVmZmVyRGlzcGxheUxheWVyLmgKaW5kZXggYjNjNTBkMjk1ZTY4MjY3OTg2
MDRjOWE0YWI1NmQ3NTZkM2M1YTQ3Mi4uY2ZmOWU2ZDNlYWNkOGRmMTE1ZDk0ZjMxYjNjOWJhOGU1
OTM0NGRkZiAxMDA2NDQKLS0tIGEvU291cmNlL1dlYktpdC9HUFVQcm9jZXNzL3dlYnJ0Yy9SZW1v
dGVTYW1wbGVCdWZmZXJEaXNwbGF5TGF5ZXIuaAorKysgYi9Tb3VyY2UvV2ViS2l0L0dQVVByb2Nl
c3Mvd2VicnRjL1JlbW90ZVNhbXBsZUJ1ZmZlckRpc3BsYXlMYXllci5oCkBAIC03MywxNCArNzMs
MTIgQEAgcHJpdmF0ZToKIAogICAgIC8vIFdlYkNvcmU6OlNhbXBsZUJ1ZmZlckRpc3BsYXlMYXll
cjo6Q2xpZW50CiAgICAgdm9pZCBzYW1wbGVCdWZmZXJEaXNwbGF5TGF5ZXJTdGF0dXNEaWRDaGFu
Z2UoV2ViQ29yZTo6U2FtcGxlQnVmZmVyRGlzcGxheUxheWVyJikgZmluYWw7Ci0gICAgV1RGOjpN
ZWRpYVRpbWUgc3RyZWFtVGltZSgpIGNvbnN0IGZpbmFsOwogCiAgICAgU2FtcGxlQnVmZmVyRGlz
cGxheUxheWVySWRlbnRpZmllciBtX2lkZW50aWZpZXI7CiAgICAgUmVmPElQQzo6Q29ubmVjdGlv
bj4gbV9jb25uZWN0aW9uOwogICAgIHN0ZDo6dW5pcXVlX3B0cjxXZWJDb3JlOjpJbWFnZVRyYW5z
ZmVyU2Vzc2lvblZUPiBtX2ltYWdlVHJhbnNmZXJTZXNzaW9uOwogICAgIHN0ZDo6dW5pcXVlX3B0
cjxXZWJDb3JlOjpMb2NhbFNhbXBsZUJ1ZmZlckRpc3BsYXlMYXllcj4gbV9zYW1wbGVCdWZmZXJE
aXNwbGF5TGF5ZXI7CiAgICAgc3RkOjp1bmlxdWVfcHRyPExheWVySG9zdGluZ0NvbnRleHQ+IG1f
bGF5ZXJIb3N0aW5nQ29udGV4dDsKLSAgICBXVEY6Ok1lZGlhVGltZSBtX21lZGlhVGltZTsKIH07
CiAKIH0K
</data>

          </attachment>
      

    </bug>

</bugzilla>