<?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>133452</bug_id>
          
          <creation_ts>2014-06-02 09:47:05 -0700</creation_ts>
          <short_desc>[MSE][Mac] Media does not generate &apos;ended&apos; event when playing to duration.</short_desc>
          <delta_ts>2014-06-02 12:44:04 -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>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="Jer Noble">jer.noble</reporter>
          <assigned_to name="Jer Noble">jer.noble</assigned_to>
          <cc>commit-queue</cc>
    
    <cc>eric.carlson</cc>
    
    <cc>glenn</cc>
    
    <cc>philipj</cc>
    
    <cc>sergio</cc>
          

      

      

      

          <comment_sort_order>oldest_to_newest</comment_sort_order>  
          <long_desc isprivate="0" >
    <commentid>1012961</commentid>
    <comment_count>0</comment_count>
    <who name="Jer Noble">jer.noble</who>
    <bug_when>2014-06-02 09:47:05 -0700</bug_when>
    <thetext>[MSE][Mac] Media does not generate &apos;ended&apos; event when playing to duration.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1012966</commentid>
    <comment_count>1</comment_count>
      <attachid>232387</attachid>
    <who name="Jer Noble">jer.noble</who>
    <bug_when>2014-06-02 10:08:55 -0700</bug_when>
    <thetext>Created attachment 232387
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1012972</commentid>
    <comment_count>2</comment_count>
      <attachid>232387</attachid>
    <who name="Eric Carlson">eric.carlson</who>
    <bug_when>2014-06-02 10:47:09 -0700</bug_when>
    <thetext>Comment on attachment 232387
Patch

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

&gt; Source/WebCore/platform/graphics/avfoundation/objc/MediaPlayerPrivateMediaSourceAVFObjC.mm:325
&gt; +    if (currentMediaTime() &gt;= m_mediaSourcePrivate-&gt;duration()) {
&gt; +        effectiveRateChanged();
&gt; +        return;
&gt; +    }

Do you want to post a rate changed notification if this is called when the rate is non-zero?

&gt; Source/WebCore/platform/graphics/avfoundation/objc/MediaPlayerPrivateMediaSourceAVFObjC.mm:606
&gt; +    if (!m_mediaSourcePrivate)
&gt; +        return;
&gt; +
&gt; +    if (m_durationObserver)
&gt; +        [m_synchronizer removeTimeObserver:m_durationObserver.get()];

Is there any reason to keep the observer for the (potentially invalid) duration if m_mediaSourcePrivate is NULL?</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1012978</commentid>
    <comment_count>3</comment_count>
    <who name="Jer Noble">jer.noble</who>
    <bug_when>2014-06-02 11:32:13 -0700</bug_when>
    <thetext>(In reply to comment #2)
&gt; (From update of attachment 232387 [details])
&gt; View in context: https://bugs.webkit.org/attachment.cgi?id=232387&amp;action=review
&gt; 
&gt; &gt; Source/WebCore/platform/graphics/avfoundation/objc/MediaPlayerPrivateMediaSourceAVFObjC.mm:325
&gt; &gt; +    if (currentMediaTime() &gt;= m_mediaSourcePrivate-&gt;duration()) {
&gt; &gt; +        effectiveRateChanged();
&gt; &gt; +        return;
&gt; &gt; +    }
&gt; 
&gt; Do you want to post a rate changed notification if this is called when the rate is non-zero?

Well, it doesn&apos;t hurt anything, but I guess the explicit notification isn&apos;t necessary.

&gt; &gt; Source/WebCore/platform/graphics/avfoundation/objc/MediaPlayerPrivateMediaSourceAVFObjC.mm:606
&gt; &gt; +    if (!m_mediaSourcePrivate)
&gt; &gt; +        return;
&gt; &gt; +
&gt; &gt; +    if (m_durationObserver)
&gt; &gt; +        [m_synchronizer removeTimeObserver:m_durationObserver.get()];
&gt; 
&gt; Is there any reason to keep the observer for the (potentially invalid) duration if m_mediaSourcePrivate is NULL?

Nope, I&apos;ll switch the order of these stanzas.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1012979</commentid>
    <comment_count>4</comment_count>
      <attachid>232391</attachid>
    <who name="Jer Noble">jer.noble</who>
    <bug_when>2014-06-02 12:11:17 -0700</bug_when>
    <thetext>Created attachment 232391
Patch for landing</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1012983</commentid>
    <comment_count>5</comment_count>
    <who name="Jer Noble">jer.noble</who>
    <bug_when>2014-06-02 12:43:41 -0700</bug_when>
    <thetext>Committed r169536 &lt;http://trac.webkit.org/changeset/169536&gt;.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1012984</commentid>
    <comment_count>6</comment_count>
    <who name="Jer Noble">jer.noble</who>
    <bug_when>2014-06-02 12:44:04 -0700</bug_when>
    <thetext>GTK Build fix landed in r169537.</thetext>
  </long_desc>
      
          <attachment
              isobsolete="0"
              ispatch="1"
              isprivate="0"
          >
            <attachid>232387</attachid>
            <date>2014-06-02 10:08:55 -0700</date>
            <delta_ts>2014-06-02 10:47:08 -0700</delta_ts>
            <desc>Patch</desc>
            <filename>bug-133452-20140602100830.patch</filename>
            <type>text/plain</type>
            <size>18237</size>
            <attacher name="Jer Noble">jer.noble</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMTY5NTIyCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9D
aGFuZ2VMb2cgYi9Tb3VyY2UvV2ViQ29yZS9DaGFuZ2VMb2cKaW5kZXggYjk1MWYyMjgzNDAyMjJh
YzExMTllYTRjODM3N2Q0ZWEyNjY1MjZiMy4uMTlhNDI4ZGJkNjAyODMwZjljZDQ3YzJlNjEzYzMy
OWRmZDY2Yzg0YyAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvQ2hhbmdlTG9nCisrKyBiL1Nv
dXJjZS9XZWJDb3JlL0NoYW5nZUxvZwpAQCAtMSwzICsxLDQ3IEBACisyMDE0LTA2LTAyICBKZXIg
Tm9ibGUgIDxqZXIubm9ibGVAYXBwbGUuY29tPgorCisgICAgICAgIFtNU0VdW01hY10gTWVkaWEg
ZG9lcyBub3QgZ2VuZXJhdGUgJ2VuZGVkJyBldmVudCB3aGVuIHBsYXlpbmcgdG8gZHVyYXRpb24u
CisgICAgICAgIGh0dHBzOi8vYnVncy53ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD0xMzM0NTIK
KworICAgICAgICBSZXZpZXdlZCBieSBOT0JPRFkgKE9PUFMhKS4KKworICAgICAgICBBZGQgYSBi
b3VuZGFyeVRpbWVPYnNlcnZlciB0byB0aGUgQVZTYW1wbGVCdWZmZXJSZW5kZXJTeW5jaHJvbml6
ZXIgdG8gZGV0ZWN0IHdoZW4KKyAgICAgICAgcGxheWJhY2sgY3Jvc3NlcyB0aGUgZHVyYXRpb24g
Ym91bmRhcnksIGFuZCBwYXVzZSBpbiB0aGF0IGV2ZW50LiBBbHNvIHJlZnVzZSB0byBiZWdpbgor
ICAgICAgICBwbGF5YmFjayBpZiB0aGUgY3VycmVudFRpbWUgaXMgYmV5b25kIHRoZSBkdXJhdGlv
bi4gQWxzbywgcGF1c2UgcGxheWJhY2sgaWYgZHVyYXRpb24KKyAgICAgICAgYmVjb21lcyBsZXNz
IHRoYW4gY3VycmVudFRpbWUuCisKKyAgICAgICAgKiBwbGF0Zm9ybS9ncmFwaGljcy9hdmZvdW5k
YXRpb24vb2JqYy9NZWRpYVBsYXllclByaXZhdGVNZWRpYVNvdXJjZUFWRk9iakMuaDoKKyAgICAg
ICAgKiBwbGF0Zm9ybS9ncmFwaGljcy9hdmZvdW5kYXRpb24vb2JqYy9NZWRpYVBsYXllclByaXZh
dGVNZWRpYVNvdXJjZUFWRk9iakMubW06CisgICAgICAgIChXZWJDb3JlOjpNZWRpYVBsYXllclBy
aXZhdGVNZWRpYVNvdXJjZUFWRk9iakM6On5NZWRpYVBsYXllclByaXZhdGVNZWRpYVNvdXJjZUFW
Rk9iakMpOgorICAgICAgICAoV2ViQ29yZTo6TWVkaWFQbGF5ZXJQcml2YXRlTWVkaWFTb3VyY2VB
VkZPYmpDOjpwbGF5SW50ZXJuYWwpOgorICAgICAgICAoV2ViQ29yZTo6TWVkaWFQbGF5ZXJQcml2
YXRlTWVkaWFTb3VyY2VBVkZPYmpDOjpjdXJyZW50TWVkaWFUaW1lKToKKyAgICAgICAgKFdlYkNv
cmU6Ok1lZGlhUGxheWVyUHJpdmF0ZU1lZGlhU291cmNlQVZGT2JqQzo6Y3VycmVudFRpbWVEb3Vi
bGUpOgorICAgICAgICAoV2ViQ29yZTo6TWVkaWFQbGF5ZXJQcml2YXRlTWVkaWFTb3VyY2VBVkZP
YmpDOjpkdXJhdGlvbkNoYW5nZWQpOgorCisgICAgICAgIFVwZGF0ZSBNZWRpYVNvdXJjZTo6ZHVy
YXRpb24oKSBhbmQgOjpzZXREdXJhdGlvbigpIHRvIHRha2UgYW5kIGdpdmUgTWVkaWFUaW1lcyBy
YXRoZXIgdGhhbiBkb3VibGVzOgorICAgICAgICAqIE1vZHVsZXMvbWVkaWFzb3VyY2UvTWVkaWFT
b3VyY2UuY3BwOgorICAgICAgICAoV2ViQ29yZTo6TWVkaWFTb3VyY2U6OmR1cmF0aW9uKTogZG91
YmxlIC0+IE1lZGlhVGltZS4KKyAgICAgICAgKFdlYkNvcmU6Ok1lZGlhU291cmNlOjpzZXREdXJh
dGlvbik6IERpdHRvLgorICAgICAgICAoV2ViQ29yZTo6TWVkaWFTb3VyY2U6OnN0cmVhbUVuZGVk
V2l0aEVycm9yKTogRGl0dG8uCisgICAgICAgICogcGxhdGZvcm0vZ3JhcGhpY3MvTWVkaWFTb3Vy
Y2VQcml2YXRlLmg6IERpdHRvLgorICAgICAgICAqIHBsYXRmb3JtL2dyYXBoaWNzL2F2Zm91bmRh
dGlvbi9vYmpjL01lZGlhU291cmNlUHJpdmF0ZUFWRk9iakMuaDoKKyAgICAgICAgKiBwbGF0Zm9y
bS9ncmFwaGljcy9hdmZvdW5kYXRpb24vb2JqYy9NZWRpYVNvdXJjZVByaXZhdGVBVkZPYmpDLm1t
OgorICAgICAgICAoV2ViQ29yZTo6TWVkaWFTb3VyY2VQcml2YXRlQVZGT2JqQzo6TWVkaWFTb3Vy
Y2VQcml2YXRlQVZGT2JqQyk6IERpdHRvLgorICAgICAgICAoV2ViQ29yZTo6TWVkaWFTb3VyY2VQ
cml2YXRlQVZGT2JqQzo6ZHVyYXRpb24pOiBEaXR0by4KKyAgICAgICAgKFdlYkNvcmU6Ok1lZGlh
U291cmNlUHJpdmF0ZUFWRk9iakM6OnNldER1cmF0aW9uKTogRGl0dG8uCisgICAgICAgICogcGxh
dGZvcm0vbW9jay9tZWRpYXNvdXJjZS9Nb2NrTWVkaWFQbGF5ZXJNZWRpYVNvdXJjZS5jcHA6Cisg
ICAgICAgIChXZWJDb3JlOjpNb2NrTWVkaWFQbGF5ZXJNZWRpYVNvdXJjZTo6TW9ja01lZGlhUGxh
eWVyTWVkaWFTb3VyY2UpOiBEaXR0by4KKyAgICAgICAgKFdlYkNvcmU6Ok1vY2tNZWRpYVBsYXll
ck1lZGlhU291cmNlOjptYXhUaW1lU2Vla2FibGVEb3VibGUpOiBEaXR0by4KKyAgICAgICAgKFdl
YkNvcmU6Ok1vY2tNZWRpYVBsYXllck1lZGlhU291cmNlOjpkdXJhdGlvbkRvdWJsZSk6IERpdHRv
LgorICAgICAgICAoV2ViQ29yZTo6TW9ja01lZGlhUGxheWVyTWVkaWFTb3VyY2U6OmFkdmFuY2VD
dXJyZW50VGltZSk6IERpdHRvLgorICAgICAgICAoV2ViQ29yZTo6TW9ja01lZGlhUGxheWVyTWVk
aWFTb3VyY2U6OnVwZGF0ZUR1cmF0aW9uKTogRGl0dG8uCisgICAgICAgICogcGxhdGZvcm0vbW9j
ay9tZWRpYXNvdXJjZS9Nb2NrTWVkaWFQbGF5ZXJNZWRpYVNvdXJjZS5oOgorICAgICAgICAqIHBs
YXRmb3JtL21vY2svbWVkaWFzb3VyY2UvTW9ja01lZGlhU291cmNlUHJpdmF0ZS5jcHA6CisgICAg
ICAgIChXZWJDb3JlOjpNb2NrTWVkaWFTb3VyY2VQcml2YXRlOjpNb2NrTWVkaWFTb3VyY2VQcml2
YXRlKTogRGl0dG8uCisgICAgICAgIChXZWJDb3JlOjpNb2NrTWVkaWFTb3VyY2VQcml2YXRlOjpk
dXJhdGlvbik6IERpdHRvLgorICAgICAgICAoV2ViQ29yZTo6TW9ja01lZGlhU291cmNlUHJpdmF0
ZTo6c2V0RHVyYXRpb24pOiBEaXR0by4KKyAgICAgICAgKiBwbGF0Zm9ybS9tb2NrL21lZGlhc291
cmNlL01vY2tNZWRpYVNvdXJjZVByaXZhdGUuaDoKKwogMjAxNC0wNi0wMSAgSmVyIE5vYmxlICA8
amVyLm5vYmxlQGFwcGxlLmNvbT4KIAogICAgICAgICBbTVNFXSBBcHBlbmRzIG9mIG92ZXJsYXBw
aW5nIHNhbXBsZSBkYXRhIGRvIG5vdCBjbGVhciBleGlzdGluZyBzYW1wbGVzIHByb3Blcmx5Lgpk
aWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvTW9kdWxlcy9tZWRpYXNvdXJjZS9NZWRpYVNvdXJj
ZS5jcHAgYi9Tb3VyY2UvV2ViQ29yZS9Nb2R1bGVzL21lZGlhc291cmNlL01lZGlhU291cmNlLmNw
cAppbmRleCAxMjExNjYwZmI3YWEzNzljNDBmNmE5NDRhY2MzYTIxODUzZjI2YjAwLi40NWFlYWVh
ZWE1YWNlZThlMmU2MGNkYjg1OGUxZGQwOTZlYjVhYmRjIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2Vi
Q29yZS9Nb2R1bGVzL21lZGlhc291cmNlL01lZGlhU291cmNlLmNwcAorKysgYi9Tb3VyY2UvV2Vi
Q29yZS9Nb2R1bGVzL21lZGlhc291cmNlL01lZGlhU291cmNlLmNwcApAQCAtMTI4LDcgKzEyOCw3
IEBAIHZvaWQgTWVkaWFTb3VyY2U6OnJlbW92ZWRGcm9tUmVnaXN0cnkoKQogCiBkb3VibGUgTWVk
aWFTb3VyY2U6OmR1cmF0aW9uKCkgY29uc3QKIHsKLSAgICByZXR1cm4gaXNDbG9zZWQoKSA/IHN0
ZDo6bnVtZXJpY19saW1pdHM8ZmxvYXQ+OjpxdWlldF9OYU4oKSA6IG1fcHJpdmF0ZS0+ZHVyYXRp
b24oKTsKKyAgICByZXR1cm4gaXNDbG9zZWQoKSA/IHN0ZDo6bnVtZXJpY19saW1pdHM8ZmxvYXQ+
OjpxdWlldF9OYU4oKSA6IG1fcHJpdmF0ZS0+ZHVyYXRpb24oKS50b0RvdWJsZSgpOwogfQogCiBk
b3VibGUgTWVkaWFTb3VyY2U6OmN1cnJlbnRUaW1lKCkgY29uc3QKQEAgLTI2MCw3ICsyNjAsNyBA
QCB2b2lkIE1lZGlhU291cmNlOjpzZXREdXJhdGlvbihkb3VibGUgZHVyYXRpb24sIEV4Y2VwdGlv
bkNvZGUmIGVjKQogICAgICAgICBlYyA9IElOVkFMSURfU1RBVEVfRVJSOwogICAgICAgICByZXR1
cm47CiAgICAgfQotICAgIG1fcHJpdmF0ZS0+c2V0RHVyYXRpb24oZHVyYXRpb24pOworICAgIG1f
cHJpdmF0ZS0+c2V0RHVyYXRpb24oTWVkaWFUaW1lOjpjcmVhdGVXaXRoRG91YmxlKGR1cmF0aW9u
KSk7CiB9CiAKIApAQCAtMzI4LDcgKzMyOCw3IEBAIHZvaWQgTWVkaWFTb3VyY2U6OnN0cmVhbUVu
ZGVkV2l0aEVycm9yKGNvbnN0IEF0b21pY1N0cmluZyYgZXJyb3IsIEV4Y2VwdGlvbkNvZGUmCiAg
ICAgICAgIE1lZGlhVGltZSBtYXhFbmRUaW1lc3RhbXA7CiAgICAgICAgIGZvciAoYXV0byBpdCA9
IG1fc291cmNlQnVmZmVycy0+YmVnaW4oKSwgZW5kID0gbV9zb3VyY2VCdWZmZXJzLT5lbmQoKTsg
aXQgIT0gZW5kOyArK2l0KQogICAgICAgICAgICAgbWF4RW5kVGltZXN0YW1wID0gc3RkOjptYXgo
KCppdCktPmhpZ2hlc3RQcmVzZW50YXRpb25FbmRUaW1lc3RhbXAoKSwgbWF4RW5kVGltZXN0YW1w
KTsKLSAgICAgICAgbV9wcml2YXRlLT5zZXREdXJhdGlvbihtYXhFbmRUaW1lc3RhbXAudG9Eb3Vi
bGUoKSk7CisgICAgICAgIG1fcHJpdmF0ZS0+c2V0RHVyYXRpb24obWF4RW5kVGltZXN0YW1wKTsK
IAogICAgICAgICAvLyAyLiBOb3RpZnkgdGhlIG1lZGlhIGVsZW1lbnQgdGhhdCBpdCBub3cgaGFz
IGFsbCBvZiB0aGUgbWVkaWEgZGF0YS4KICAgICAgICAgbV9wcml2YXRlLT5tYXJrRW5kT2ZTdHJl
YW0oTWVkaWFTb3VyY2VQcml2YXRlOjpFb3NOb0Vycm9yKTsKZGlmZiAtLWdpdCBhL1NvdXJjZS9X
ZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNzL01lZGlhU291cmNlUHJpdmF0ZS5oIGIvU291cmNlL1dl
YkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3MvTWVkaWFTb3VyY2VQcml2YXRlLmgKaW5kZXggZjMyYWI3
YTgyMDk4Njg4NjgyZWY4MGVlOTIzMjk2MjlmNGQ3MzUyYS4uZGMyNGUzMWU2ZjIyZDUyN2Q2NWRh
N2IyZTk3MTVkNjg4ZDc0M2FlYyAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0v
Z3JhcGhpY3MvTWVkaWFTb3VyY2VQcml2YXRlLmgKKysrIGIvU291cmNlL1dlYkNvcmUvcGxhdGZv
cm0vZ3JhcGhpY3MvTWVkaWFTb3VyY2VQcml2YXRlLmgKQEAgLTUxLDggKzUxLDggQEAgcHVibGlj
OgogCiAgICAgZW51bSBBZGRTdGF0dXMgeyBPaywgTm90U3VwcG9ydGVkLCBSZWFjaGVkSWRMaW1p
dCB9OwogICAgIHZpcnR1YWwgQWRkU3RhdHVzIGFkZFNvdXJjZUJ1ZmZlcihjb25zdCBDb250ZW50
VHlwZSYsIFJlZlB0cjxTb3VyY2VCdWZmZXJQcml2YXRlPiYpID0gMDsKLSAgICB2aXJ0dWFsIGRv
dWJsZSBkdXJhdGlvbigpID0gMDsKLSAgICB2aXJ0dWFsIHZvaWQgc2V0RHVyYXRpb24oZG91Ymxl
KSA9IDA7CisgICAgdmlydHVhbCBNZWRpYVRpbWUgZHVyYXRpb24oKSA9IDA7CisgICAgdmlydHVh
bCB2b2lkIHNldER1cmF0aW9uKGNvbnN0IE1lZGlhVGltZSYpID0gMDsKICAgICBlbnVtIEVuZE9m
U3RyZWFtU3RhdHVzIHsgRW9zTm9FcnJvciwgRW9zTmV0d29ya0Vycm9yLCBFb3NEZWNvZGVFcnJv
ciB9OwogICAgIHZpcnR1YWwgdm9pZCBtYXJrRW5kT2ZTdHJlYW0oRW5kT2ZTdHJlYW1TdGF0dXMp
ID0gMDsKICAgICB2aXJ0dWFsIHZvaWQgdW5tYXJrRW5kT2ZTdHJlYW0oKSA9IDA7CmRpZmYgLS1n
aXQgYS9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGljcy9hdmZvdW5kYXRpb24vb2JqYy9N
ZWRpYVBsYXllclByaXZhdGVNZWRpYVNvdXJjZUFWRk9iakMuaCBiL1NvdXJjZS9XZWJDb3JlL3Bs
YXRmb3JtL2dyYXBoaWNzL2F2Zm91bmRhdGlvbi9vYmpjL01lZGlhUGxheWVyUHJpdmF0ZU1lZGlh
U291cmNlQVZGT2JqQy5oCmluZGV4IGU2M2U4Mzg2ZWNhNjc2YzFjNjBiNjkxYmEwMTg1ZGU3NTBi
N2I3MTUuLjgzNWFhMzEwZmM2MDU0ZGFjMDcyOWM3YjEwMzljODhiOTQxZjQyOTMgMTAwNjQ0Ci0t
LSBhL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNzL2F2Zm91bmRhdGlvbi9vYmpjL01l
ZGlhUGxheWVyUHJpdmF0ZU1lZGlhU291cmNlQVZGT2JqQy5oCisrKyBiL1NvdXJjZS9XZWJDb3Jl
L3BsYXRmb3JtL2dyYXBoaWNzL2F2Zm91bmRhdGlvbi9vYmpjL01lZGlhUGxheWVyUHJpdmF0ZU1l
ZGlhU291cmNlQVZGT2JqQy5oCkBAIC0xNTIsNiArMTUyLDggQEAgcHJpdmF0ZToKICAgICB2aXJ0
dWFsIHVuc2lnbmVkIGxvbmcgY29ycnVwdGVkVmlkZW9GcmFtZXMoKSBvdmVycmlkZTsKICAgICB2
aXJ0dWFsIGRvdWJsZSB0b3RhbEZyYW1lRGVsYXkoKSBvdmVycmlkZTsKIAorICAgIE1lZGlhVGlt
ZSBjdXJyZW50TWVkaWFUaW1lKCkgY29uc3Q7CisKICAgICB2b2lkIGVuc3VyZUxheWVyKCk7CiAg
ICAgdm9pZCBkZXN0cm95TGF5ZXIoKTsKIApAQCAtMTczLDYgKzE3NSw3IEBAIHByaXZhdGU6CiAg
ICAgVmVjdG9yPFJldGFpblB0cjxBVlNhbXBsZUJ1ZmZlckF1ZGlvUmVuZGVyZXI+PiBtX3NhbXBs
ZUJ1ZmZlckF1ZGlvUmVuZGVyZXJzOwogICAgIFJldGFpblB0cjxBVlNhbXBsZUJ1ZmZlclJlbmRl
clN5bmNocm9uaXplcj4gbV9zeW5jaHJvbml6ZXI7CiAgICAgUmV0YWluUHRyPGlkPiBtX3RpbWVK
dW1wZWRPYnNlcnZlcjsKKyAgICBSZXRhaW5QdHI8aWQ+IG1fZHVyYXRpb25PYnNlcnZlcjsKICAg
ICBNZWRpYVBsYXllcjo6TmV0d29ya1N0YXRlIG1fbmV0d29ya1N0YXRlOwogICAgIE1lZGlhUGxh
eWVyOjpSZWFkeVN0YXRlIG1fcmVhZHlTdGF0ZTsKICAgICBkb3VibGUgbV9yYXRlOwpkaWZmIC0t
Z2l0IGEvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3MvYXZmb3VuZGF0aW9uL29iamMv
TWVkaWFQbGF5ZXJQcml2YXRlTWVkaWFTb3VyY2VBVkZPYmpDLm1tIGIvU291cmNlL1dlYkNvcmUv
cGxhdGZvcm0vZ3JhcGhpY3MvYXZmb3VuZGF0aW9uL29iamMvTWVkaWFQbGF5ZXJQcml2YXRlTWVk
aWFTb3VyY2VBVkZPYmpDLm1tCmluZGV4IDU4NjU2NzY4MzBhOTFlYjllMjM1NWE4Y2U2YzYxZWM3
MTU5YjkyMzAuLjRhMzIyOTNhZTIyYWQxYmQ3M2I4MzJiODQ0YTI0MWJiNGEyMzg3NDAgMTAwNjQ0
Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNzL2F2Zm91bmRhdGlvbi9vYmpj
L01lZGlhUGxheWVyUHJpdmF0ZU1lZGlhU291cmNlQVZGT2JqQy5tbQorKysgYi9Tb3VyY2UvV2Vi
Q29yZS9wbGF0Zm9ybS9ncmFwaGljcy9hdmZvdW5kYXRpb24vb2JqYy9NZWRpYVBsYXllclByaXZh
dGVNZWRpYVNvdXJjZUFWRk9iakMubW0KQEAgLTM2LDYgKzM2LDcgQEAKICNpbXBvcnQgIlNvZnRM
aW5raW5nLmgiCiAjaW1wb3J0ICJXZWJDb3JlU3lzdGVtSW50ZXJmYWNlLmgiCiAjaW1wb3J0IDxB
VkZvdW5kYXRpb24vQVZBc3NldC5oPgorI2ltcG9ydCA8QVZGb3VuZGF0aW9uL0FWVGltZS5oPgog
I2ltcG9ydCA8Q29yZU1lZGlhL0NNU3luYy5oPgogI2ltcG9ydCA8UXVhcnR6Q29yZS9DQUxheWVy
Lmg+CiAjaW1wb3J0IDxvYmpjX3J1bnRpbWUuaD4KQEAgLTEwOSw2ICsxMTAsNyBAQCBTT0ZUX0xJ
TktfQ09OU1RBTlQoQ29yZU1lZGlhLCBrQ01UaW1lYmFzZU5vdGlmaWNhdGlvbl9FZmZlY3RpdmVS
YXRlQ2hhbmdlZCwgQ0ZTdAogLSAodm9pZClhZGRSZW5kZXJlcjooaWQpcmVuZGVyZXI7CiAtICh2
b2lkKXJlbW92ZVJlbmRlcmVyOihpZClyZW5kZXJlciBhdFRpbWU6KENNVGltZSl0aW1lIHdpdGhD
b21wbGV0aW9uSGFuZGxlcjoodm9pZCAoXikoQk9PTCBkaWRSZW1vdmVSZW5kZXJlcikpY29tcGxl
dGlvbkhhbmRsZXI7CiAtIChpZClhZGRQZXJpb2RpY1RpbWVPYnNlcnZlckZvckludGVydmFsOihD
TVRpbWUpaW50ZXJ2YWwgcXVldWU6KGRpc3BhdGNoX3F1ZXVlX3QpcXVldWUgdXNpbmdCbG9jazoo
dm9pZCAoXikoQ01UaW1lIHRpbWUpKWJsb2NrOworLSAoaWQpYWRkQm91bmRhcnlUaW1lT2JzZXJ2
ZXJGb3JUaW1lczooTlNBcnJheSAqKXRpbWVzIHF1ZXVlOihkaXNwYXRjaF9xdWV1ZV90KXF1ZXVl
IHVzaW5nQmxvY2s6KHZvaWQgKF4pKHZvaWQpKWJsb2NrOwogLSAodm9pZClyZW1vdmVUaW1lT2Jz
ZXJ2ZXI6KGlkKW9ic2VydmVyOwogQGVuZAogCkBAIC0xNjQsNiArMTY2LDcgQEAgTWVkaWFQbGF5
ZXJQcml2YXRlTWVkaWFTb3VyY2VBVkZPYmpDOjp+TWVkaWFQbGF5ZXJQcml2YXRlTWVkaWFTb3Vy
Y2VBVkZPYmpDKCkKICAgICBDTU5vdGlmaWNhdGlvbkNlbnRlclJlbW92ZUxpc3RlbmVyKG5jLCB0
aGlzLCBDTVRpbWViYXNlRWZmZWN0aXZlUmF0ZUNoYW5nZWRDYWxsYmFjaywga0NNVGltZWJhc2VO
b3RpZmljYXRpb25fRWZmZWN0aXZlUmF0ZUNoYW5nZWQsIHRpbWViYXNlKTsKIAogICAgIFttX3N5
bmNocm9uaXplciByZW1vdmVUaW1lT2JzZXJ2ZXI6bV90aW1lSnVtcGVkT2JzZXJ2ZXIuZ2V0KCld
OworICAgIFttX3N5bmNocm9uaXplciByZW1vdmVUaW1lT2JzZXJ2ZXI6bV9kdXJhdGlvbk9ic2Vy
dmVyLmdldCgpXTsKIH0KIAogI3ByYWdtYSBtYXJrIC0KQEAgLTMxNiw2ICszMTksMTEgQEAgdm9p
ZCBNZWRpYVBsYXllclByaXZhdGVNZWRpYVNvdXJjZUFWRk9iakM6OnBsYXkoKQogCiB2b2lkIE1l
ZGlhUGxheWVyUHJpdmF0ZU1lZGlhU291cmNlQVZGT2JqQzo6cGxheUludGVybmFsKCkKIHsKKyAg
ICBpZiAoY3VycmVudE1lZGlhVGltZSgpID49IG1fbWVkaWFTb3VyY2VQcml2YXRlLT5kdXJhdGlv
bigpKSB7CisgICAgICAgIGVmZmVjdGl2ZVJhdGVDaGFuZ2VkKCk7CisgICAgICAgIHJldHVybjsK
KyAgICB9CisKICAgICBtX3BsYXlpbmcgPSB0cnVlOwogICAgIFttX3N5bmNocm9uaXplciBzZXRS
YXRlOm1fcmF0ZV07CiB9CkBAIC0zODksOSArMzk3LDE0IEBAIGRvdWJsZSBNZWRpYVBsYXllclBy
aXZhdGVNZWRpYVNvdXJjZUFWRk9iakM6OmR1cmF0aW9uRG91YmxlKCkgY29uc3QKICAgICByZXR1
cm4gbV9tZWRpYVNvdXJjZS0+ZHVyYXRpb24oKTsKIH0KIAorTWVkaWFUaW1lIE1lZGlhUGxheWVy
UHJpdmF0ZU1lZGlhU291cmNlQVZGT2JqQzo6Y3VycmVudE1lZGlhVGltZSgpIGNvbnN0Cit7Cisg
ICAgcmV0dXJuIHN0ZDo6bWF4KE1lZGlhVGltZTo6emVyb1RpbWUoKSwgdG9NZWRpYVRpbWUoQ01U
aW1lYmFzZUdldFRpbWUoW21fc3luY2hyb25pemVyIHRpbWViYXNlXSkpKTsKK30KKwogZG91Ymxl
IE1lZGlhUGxheWVyUHJpdmF0ZU1lZGlhU291cmNlQVZGT2JqQzo6Y3VycmVudFRpbWVEb3VibGUo
KSBjb25zdAogewotICAgIHJldHVybiBzdGQ6Om1heDxkb3VibGU+KDAsIENNVGltZUdldFNlY29u
ZHMoQ01UaW1lYmFzZUdldFRpbWUoW21fc3luY2hyb25pemVyIHRpbWViYXNlXSkpKTsKKyAgICBy
ZXR1cm4gY3VycmVudE1lZGlhVGltZSgpLnRvRG91YmxlKCk7CiB9CiAKIGRvdWJsZSBNZWRpYVBs
YXllclByaXZhdGVNZWRpYVNvdXJjZUFWRk9iakM6OnN0YXJ0VGltZURvdWJsZSgpIGNvbnN0CkBA
IC01ODUsNiArNTk4LDIzIEBAIHZvaWQgTWVkaWFQbGF5ZXJQcml2YXRlTWVkaWFTb3VyY2VBVkZP
YmpDOjpkZXN0cm95TGF5ZXIoKQogdm9pZCBNZWRpYVBsYXllclByaXZhdGVNZWRpYVNvdXJjZUFW
Rk9iakM6OmR1cmF0aW9uQ2hhbmdlZCgpCiB7CiAgICAgbV9wbGF5ZXItPmR1cmF0aW9uQ2hhbmdl
ZCgpOworCisgICAgaWYgKCFtX21lZGlhU291cmNlUHJpdmF0ZSkKKyAgICAgICAgcmV0dXJuOwor
CisgICAgaWYgKG1fZHVyYXRpb25PYnNlcnZlcikKKyAgICAgICAgW21fc3luY2hyb25pemVyIHJl
bW92ZVRpbWVPYnNlcnZlcjptX2R1cmF0aW9uT2JzZXJ2ZXIuZ2V0KCldOworCisgICAgTWVkaWFU
aW1lIGR1cmF0aW9uID0gbV9tZWRpYVNvdXJjZVByaXZhdGUtPmR1cmF0aW9uKCk7CisgICAgYXV0
byB3ZWFrVGhpcyA9IGNyZWF0ZVdlYWtQdHIoKTsKKyAgICBOU0FycmF5KiB0aW1lcyA9IEBbW05T
VmFsdWUgdmFsdWVXaXRoQ01UaW1lOnRvQ01UaW1lKGR1cmF0aW9uKV1dOworICAgIG1fZHVyYXRp
b25PYnNlcnZlciA9IFttX3N5bmNocm9uaXplciBhZGRCb3VuZGFyeVRpbWVPYnNlcnZlckZvclRp
bWVzOnRpbWVzIHF1ZXVlOmRpc3BhdGNoX2dldF9tYWluX3F1ZXVlKCkgdXNpbmdCbG9jazpbd2Vh
a1RoaXNdIHsKKyAgICAgICAgaWYgKHdlYWtUaGlzKQorICAgICAgICAgICAgd2Vha1RoaXMtPnBh
dXNlSW50ZXJuYWwoKTsKKyAgICB9XTsKKworICAgIGlmIChtX3BsYXlpbmcgJiYgZHVyYXRpb24g
PD0gY3VycmVudE1lZGlhVGltZSgpKQorICAgICAgICBwYXVzZUludGVybmFsKCk7CiB9CiAKIHZv
aWQgTWVkaWFQbGF5ZXJQcml2YXRlTWVkaWFTb3VyY2VBVkZPYmpDOjplZmZlY3RpdmVSYXRlQ2hh
bmdlZCgpCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGljcy9hdmZv
dW5kYXRpb24vb2JqYy9NZWRpYVNvdXJjZVByaXZhdGVBVkZPYmpDLmggYi9Tb3VyY2UvV2ViQ29y
ZS9wbGF0Zm9ybS9ncmFwaGljcy9hdmZvdW5kYXRpb24vb2JqYy9NZWRpYVNvdXJjZVByaXZhdGVB
VkZPYmpDLmgKaW5kZXggZDY5YWQ4ZGZlMzUzODAwMTVlOTE3NTBmYmVjMTZlNzE3NmY1ZWE2Yi4u
MzRmZGFkYzY3YjEzMTBiOTM5ZTBiMWU4ODk2OWQ0NGMwZmE0YWU0ZCAxMDA2NDQKLS0tIGEvU291
cmNlL1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3MvYXZmb3VuZGF0aW9uL29iamMvTWVkaWFTb3Vy
Y2VQcml2YXRlQVZGT2JqQy5oCisrKyBiL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNz
L2F2Zm91bmRhdGlvbi9vYmpjL01lZGlhU291cmNlUHJpdmF0ZUFWRk9iakMuaApAQCAtNTcsOCAr
NTcsOCBAQCBwdWJsaWM6CiAgICAgY29uc3QgVmVjdG9yPFNvdXJjZUJ1ZmZlclByaXZhdGVBVkZP
YmpDKj4mIGFjdGl2ZVNvdXJjZUJ1ZmZlcnMoKSBjb25zdCB7IHJldHVybiBtX2FjdGl2ZVNvdXJj
ZUJ1ZmZlcnM7IH0KIAogICAgIHZpcnR1YWwgQWRkU3RhdHVzIGFkZFNvdXJjZUJ1ZmZlcihjb25z
dCBDb250ZW50VHlwZSYsIFJlZlB0cjxTb3VyY2VCdWZmZXJQcml2YXRlPiYpIG92ZXJyaWRlOwot
ICAgIHZpcnR1YWwgZG91YmxlIGR1cmF0aW9uKCkgb3ZlcnJpZGU7Ci0gICAgdmlydHVhbCB2b2lk
IHNldER1cmF0aW9uKGRvdWJsZSkgb3ZlcnJpZGU7CisgICAgdmlydHVhbCBNZWRpYVRpbWUgZHVy
YXRpb24oKSBvdmVycmlkZTsKKyAgICB2aXJ0dWFsIHZvaWQgc2V0RHVyYXRpb24oY29uc3QgTWVk
aWFUaW1lJikgb3ZlcnJpZGU7CiAgICAgdmlydHVhbCB2b2lkIG1hcmtFbmRPZlN0cmVhbShFbmRP
ZlN0cmVhbVN0YXR1cykgb3ZlcnJpZGU7CiAgICAgdmlydHVhbCB2b2lkIHVubWFya0VuZE9mU3Ry
ZWFtKCkgb3ZlcnJpZGU7CiAgICAgdmlydHVhbCBNZWRpYVBsYXllcjo6UmVhZHlTdGF0ZSByZWFk
eVN0YXRlKCkgY29uc3Qgb3ZlcnJpZGU7CkBAIC04OSw3ICs4OSw3IEBAIHByaXZhdGU6CiAgICAg
ZnJpZW5kIGNsYXNzIFNvdXJjZUJ1ZmZlclByaXZhdGVBVkZPYmpDOwogCiAgICAgTWVkaWFQbGF5
ZXJQcml2YXRlTWVkaWFTb3VyY2VBVkZPYmpDKiBtX3BsYXllcjsKLSAgICBkb3VibGUgbV9kdXJh
dGlvbjsKKyAgICBNZWRpYVRpbWUgbV9kdXJhdGlvbjsKICAgICBWZWN0b3I8UmVmUHRyPFNvdXJj
ZUJ1ZmZlclByaXZhdGVBVkZPYmpDPj4gbV9zb3VyY2VCdWZmZXJzOwogICAgIFZlY3RvcjxTb3Vy
Y2VCdWZmZXJQcml2YXRlQVZGT2JqQyo+IG1fYWN0aXZlU291cmNlQnVmZmVyczsKICAgICBEZXF1
ZTxTb3VyY2VCdWZmZXJQcml2YXRlQVZGT2JqQyo+IG1fc291cmNlQnVmZmVyc05lZWRpbmdTZXNz
aW9uczsKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNzL2F2Zm91
bmRhdGlvbi9vYmpjL01lZGlhU291cmNlUHJpdmF0ZUFWRk9iakMubW0gYi9Tb3VyY2UvV2ViQ29y
ZS9wbGF0Zm9ybS9ncmFwaGljcy9hdmZvdW5kYXRpb24vb2JqYy9NZWRpYVNvdXJjZVByaXZhdGVB
VkZPYmpDLm1tCmluZGV4IDdlNmZjYjNhYWUxMzlhOGU2OWEyYWU3Y2VlOGFiZWMxNDQ0ZWQzY2Iu
LmM4ZGIyMDkwNzJmNGRmYTZjZWVlM2RlYzRlNDQwN2E5ZWE0MzQ1NjkgMTAwNjQ0Ci0tLSBhL1Nv
dXJjZS9XZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNzL2F2Zm91bmRhdGlvbi9vYmpjL01lZGlhU291
cmNlUHJpdmF0ZUFWRk9iakMubW0KKysrIGIvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhp
Y3MvYXZmb3VuZGF0aW9uL29iamMvTWVkaWFTb3VyY2VQcml2YXRlQVZGT2JqQy5tbQpAQCAtNTAs
NyArNTAsNyBAQCBSZWZQdHI8TWVkaWFTb3VyY2VQcml2YXRlQVZGT2JqQz4gTWVkaWFTb3VyY2VQ
cml2YXRlQVZGT2JqQzo6Y3JlYXRlKE1lZGlhUGxheWVyUAogCiBNZWRpYVNvdXJjZVByaXZhdGVB
VkZPYmpDOjpNZWRpYVNvdXJjZVByaXZhdGVBVkZPYmpDKE1lZGlhUGxheWVyUHJpdmF0ZU1lZGlh
U291cmNlQVZGT2JqQyogcGFyZW50KQogICAgIDogbV9wbGF5ZXIocGFyZW50KQotICAgICwgbV9k
dXJhdGlvbihzdGQ6Om51bWVyaWNfbGltaXRzPGRvdWJsZT46OnF1aWV0X05hTigpKQorICAgICwg
bV9kdXJhdGlvbihNZWRpYVRpbWU6OmludmFsaWRUaW1lKCkpCiAgICAgLCBtX2lzRW5kZWQoZmFs
c2UpCiB7CiB9CkBAIC04OSwxMiArODksMTIgQEAgdm9pZCBNZWRpYVNvdXJjZVByaXZhdGVBVkZP
YmpDOjpyZW1vdmVTb3VyY2VCdWZmZXIoU291cmNlQnVmZmVyUHJpdmF0ZSogYnVmZmVyKQogICAg
IG1fc291cmNlQnVmZmVycy5yZW1vdmUocG9zKTsKIH0KIAotZG91YmxlIE1lZGlhU291cmNlUHJp
dmF0ZUFWRk9iakM6OmR1cmF0aW9uKCkKK01lZGlhVGltZSBNZWRpYVNvdXJjZVByaXZhdGVBVkZP
YmpDOjpkdXJhdGlvbigpCiB7CiAgICAgcmV0dXJuIG1fZHVyYXRpb247CiB9CiAKLXZvaWQgTWVk
aWFTb3VyY2VQcml2YXRlQVZGT2JqQzo6c2V0RHVyYXRpb24oZG91YmxlIGR1cmF0aW9uKQordm9p
ZCBNZWRpYVNvdXJjZVByaXZhdGVBVkZPYmpDOjpzZXREdXJhdGlvbihjb25zdCBNZWRpYVRpbWUm
IGR1cmF0aW9uKQogewogICAgIGlmIChkdXJhdGlvbiA9PSBtX2R1cmF0aW9uKQogICAgICAgICBy
ZXR1cm47CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9tb2NrL21lZGlhc291
cmNlL01vY2tNZWRpYVBsYXllck1lZGlhU291cmNlLmNwcCBiL1NvdXJjZS9XZWJDb3JlL3BsYXRm
b3JtL21vY2svbWVkaWFzb3VyY2UvTW9ja01lZGlhUGxheWVyTWVkaWFTb3VyY2UuY3BwCmluZGV4
IDViNjEzZjlkMTczMzlmOGI3ZDQzYTE1YWUwZWI1OWRkZmE4NzY0ZmQuLjcwNTQ5YzM0ZTE0M2Y1
MTIwOGVlMDgzZGY3ZGYwZjg4NWI2MjQwMzggMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL3Bs
YXRmb3JtL21vY2svbWVkaWFzb3VyY2UvTW9ja01lZGlhUGxheWVyTWVkaWFTb3VyY2UuY3BwCisr
KyBiL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL21vY2svbWVkaWFzb3VyY2UvTW9ja01lZGlhUGxh
eWVyTWVkaWFTb3VyY2UuY3BwCkBAIC04NCw3ICs4NCw3IEBAIE1lZGlhUGxheWVyOjpTdXBwb3J0
c1R5cGUgTW9ja01lZGlhUGxheWVyTWVkaWFTb3VyY2U6OnN1cHBvcnRzVHlwZShjb25zdCBNZWRp
YUVuCiBNb2NrTWVkaWFQbGF5ZXJNZWRpYVNvdXJjZTo6TW9ja01lZGlhUGxheWVyTWVkaWFTb3Vy
Y2UoTWVkaWFQbGF5ZXIqIHBsYXllcikKICAgICA6IG1fcGxheWVyKHBsYXllcikKICAgICAsIG1f
Y3VycmVudFRpbWUoTWVkaWFUaW1lOjp6ZXJvVGltZSgpKQotICAgICwgbV9kdXJhdGlvbigwKQor
ICAgICwgbV9kdXJhdGlvbihNZWRpYVRpbWU6Onplcm9UaW1lKCkpCiAgICAgLCBtX3JlYWR5U3Rh
dGUoTWVkaWFQbGF5ZXI6OkhhdmVOb3RoaW5nKQogICAgICwgbV9uZXR3b3JrU3RhdGUoTWVkaWFQ
bGF5ZXI6OkVtcHR5KQogICAgICwgbV9wbGF5aW5nKGZhbHNlKQpAQCAtMTYzLDcgKzE2Myw3IEBA
IE1lZGlhUGxheWVyOjpSZWFkeVN0YXRlIE1vY2tNZWRpYVBsYXllck1lZGlhU291cmNlOjpyZWFk
eVN0YXRlKCkgY29uc3QKIAogZG91YmxlIE1vY2tNZWRpYVBsYXllck1lZGlhU291cmNlOjptYXhU
aW1lU2Vla2FibGVEb3VibGUoKSBjb25zdAogewotICAgIHJldHVybiBtX2R1cmF0aW9uOworICAg
IHJldHVybiBtX2R1cmF0aW9uLnRvRG91YmxlKCk7CiB9CiAKIHN0ZDo6dW5pcXVlX3B0cjxQbGF0
Zm9ybVRpbWVSYW5nZXM+IE1vY2tNZWRpYVBsYXllck1lZGlhU291cmNlOjpidWZmZXJlZCgpIGNv
bnN0CkBAIC0xOTQsNyArMTk0LDcgQEAgZG91YmxlIE1vY2tNZWRpYVBsYXllck1lZGlhU291cmNl
OjpjdXJyZW50VGltZURvdWJsZSgpIGNvbnN0CiAKIGRvdWJsZSBNb2NrTWVkaWFQbGF5ZXJNZWRp
YVNvdXJjZTo6ZHVyYXRpb25Eb3VibGUoKSBjb25zdAogewotICAgIHJldHVybiBtX2R1cmF0aW9u
OworICAgIHJldHVybiBtX2R1cmF0aW9uLnRvRG91YmxlKCk7CiB9CiAKIHZvaWQgTW9ja01lZGlh
UGxheWVyTWVkaWFTb3VyY2U6OnNlZWtXaXRoVG9sZXJhbmNlKGRvdWJsZSB0aW1lLCBkb3VibGUg
bmVnYXRpdmVUb2xlcmFuY2UsIGRvdWJsZSBwb3NpdGl2ZVRvbGVyYW5jZSkKQEAgLTIyMSwxMSAr
MjIxLDExIEBAIHZvaWQgTW9ja01lZGlhUGxheWVyTWVkaWFTb3VyY2U6OmFkdmFuY2VDdXJyZW50
VGltZSgpCiAgICAgICAgIHJldHVybjsKIAogICAgIGJvb2wgaWdub3JlRXJyb3I7Ci0gICAgbV9j
dXJyZW50VGltZSA9IE1lZGlhVGltZTo6Y3JlYXRlV2l0aERvdWJsZShzdGQ6Om1pbihtX2R1cmF0
aW9uLCBidWZmZXJlZC0+ZW5kKHBvcywgaWdub3JlRXJyb3IpKSk7CisgICAgbV9jdXJyZW50VGlt
ZSA9IHN0ZDo6bWluKG1fZHVyYXRpb24sIE1lZGlhVGltZTo6Y3JlYXRlV2l0aERvdWJsZShidWZm
ZXJlZC0+ZW5kKHBvcywgaWdub3JlRXJyb3IpKSk7CiAgICAgbV9wbGF5ZXItPnRpbWVDaGFuZ2Vk
KCk7CiB9CiAKLXZvaWQgTW9ja01lZGlhUGxheWVyTWVkaWFTb3VyY2U6OnVwZGF0ZUR1cmF0aW9u
KGRvdWJsZSBkdXJhdGlvbikKK3ZvaWQgTW9ja01lZGlhUGxheWVyTWVkaWFTb3VyY2U6OnVwZGF0
ZUR1cmF0aW9uKGNvbnN0IE1lZGlhVGltZSYgZHVyYXRpb24pCiB7CiAgICAgaWYgKG1fZHVyYXRp
b24gPT0gZHVyYXRpb24pCiAgICAgICAgIHJldHVybjsKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJD
b3JlL3BsYXRmb3JtL21vY2svbWVkaWFzb3VyY2UvTW9ja01lZGlhUGxheWVyTWVkaWFTb3VyY2Uu
aCBiL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL21vY2svbWVkaWFzb3VyY2UvTW9ja01lZGlhUGxh
eWVyTWVkaWFTb3VyY2UuaAppbmRleCA0MDUzODM2ZTA5YzllY2I5MjUyN2RhYWM1YWZmNjhlNWQ5
NDMwNjVjLi45MmUxM2IxNjU5MmM1MWUyMWU0Njc0ZjU4MWY5YThmNmE2YmVmYTgxIDEwMDY0NAot
LS0gYS9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9tb2NrL21lZGlhc291cmNlL01vY2tNZWRpYVBs
YXllck1lZGlhU291cmNlLmgKKysrIGIvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vbW9jay9tZWRp
YXNvdXJjZS9Nb2NrTWVkaWFQbGF5ZXJNZWRpYVNvdXJjZS5oCkBAIC00Nyw3ICs0Nyw3IEBAIHB1
YmxpYzoKICAgICB2aXJ0dWFsIH5Nb2NrTWVkaWFQbGF5ZXJNZWRpYVNvdXJjZSgpOwogCiAgICAg
dm9pZCBhZHZhbmNlQ3VycmVudFRpbWUoKTsKLSAgICB2b2lkIHVwZGF0ZUR1cmF0aW9uKGRvdWJs
ZSk7CisgICAgdm9pZCB1cGRhdGVEdXJhdGlvbihjb25zdCBNZWRpYVRpbWUmKTsKIAogICAgIHZp
cnR1YWwgTWVkaWFQbGF5ZXI6OlJlYWR5U3RhdGUgcmVhZHlTdGF0ZSgpIGNvbnN0IG92ZXJyaWRl
OwogICAgIHZvaWQgc2V0UmVhZHlTdGF0ZShNZWRpYVBsYXllcjo6UmVhZHlTdGF0ZSk7CkBAIC04
Nyw3ICs4Nyw3IEBAIHByaXZhdGU6CiAgICAgUmVmUHRyPE1vY2tNZWRpYVNvdXJjZVByaXZhdGU+
IG1fbWVkaWFTb3VyY2VQcml2YXRlOwogCiAgICAgTWVkaWFUaW1lIG1fY3VycmVudFRpbWU7Ci0g
ICAgZG91YmxlIG1fZHVyYXRpb247CisgICAgTWVkaWFUaW1lIG1fZHVyYXRpb247CiAgICAgTWVk
aWFQbGF5ZXI6OlJlYWR5U3RhdGUgbV9yZWFkeVN0YXRlOwogICAgIE1lZGlhUGxheWVyOjpOZXR3
b3JrU3RhdGUgbV9uZXR3b3JrU3RhdGU7CiAgICAgYm9vbCBtX3BsYXlpbmc7CmRpZmYgLS1naXQg
YS9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9tb2NrL21lZGlhc291cmNlL01vY2tNZWRpYVNvdXJj
ZVByaXZhdGUuY3BwIGIvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vbW9jay9tZWRpYXNvdXJjZS9N
b2NrTWVkaWFTb3VyY2VQcml2YXRlLmNwcAppbmRleCAxOGQzZWFkYTUxOTgwZWIxZGIzMjk0ODhl
NzNjNTk4MDcyMThlMDM1Li43MjQ5MzczYWVlMzcwY2UxODgyMWRmMWZkZGY3NjAxMmNlNjQ1YTdk
IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9tb2NrL21lZGlhc291cmNlL01v
Y2tNZWRpYVNvdXJjZVByaXZhdGUuY3BwCisrKyBiL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL21v
Y2svbWVkaWFzb3VyY2UvTW9ja01lZGlhU291cmNlUHJpdmF0ZS5jcHAKQEAgLTQyLDcgKzQyLDcg
QEAgUmVmUHRyPE1vY2tNZWRpYVNvdXJjZVByaXZhdGU+IE1vY2tNZWRpYVNvdXJjZVByaXZhdGU6
OmNyZWF0ZShNb2NrTWVkaWFQbGF5ZXJNZWQKIAogTW9ja01lZGlhU291cmNlUHJpdmF0ZTo6TW9j
a01lZGlhU291cmNlUHJpdmF0ZShNb2NrTWVkaWFQbGF5ZXJNZWRpYVNvdXJjZSogcGFyZW50KQog
ICAgIDogbV9wbGF5ZXIocGFyZW50KQotICAgICwgbV9kdXJhdGlvbihzdGQ6Om51bWVyaWNfbGlt
aXRzPGZsb2F0Pjo6cXVpZXRfTmFOKCkpCisgICAgLCBtX2R1cmF0aW9uKE1lZGlhVGltZTo6aW52
YWxpZFRpbWUoKSkKICAgICAsIG1faXNFbmRlZChmYWxzZSkKICAgICAsIG1fdG90YWxWaWRlb0Zy
YW1lcygwKQogICAgICwgbV9kcm9wcGVkVmlkZW9GcmFtZXMoMCkKQEAgLTg0LDEyICs4NCwxMiBA
QCB2b2lkIE1vY2tNZWRpYVNvdXJjZVByaXZhdGU6OnJlbW92ZVNvdXJjZUJ1ZmZlcihTb3VyY2VC
dWZmZXJQcml2YXRlKiBidWZmZXIpCiAgICAgbV9zb3VyY2VCdWZmZXJzLnJlbW92ZShwb3MpOwog
fQogCi1kb3VibGUgTW9ja01lZGlhU291cmNlUHJpdmF0ZTo6ZHVyYXRpb24oKQorTWVkaWFUaW1l
IE1vY2tNZWRpYVNvdXJjZVByaXZhdGU6OmR1cmF0aW9uKCkKIHsKICAgICByZXR1cm4gbV9kdXJh
dGlvbjsKIH0KIAotdm9pZCBNb2NrTWVkaWFTb3VyY2VQcml2YXRlOjpzZXREdXJhdGlvbihkb3Vi
bGUgZHVyYXRpb24pCit2b2lkIE1vY2tNZWRpYVNvdXJjZVByaXZhdGU6OnNldER1cmF0aW9uKGNv
bnN0IE1lZGlhVGltZSYgZHVyYXRpb24pCiB7CiAgICAgaWYgKGR1cmF0aW9uID09IG1fZHVyYXRp
b24pCiAgICAgICAgIHJldHVybjsKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3Jt
L21vY2svbWVkaWFzb3VyY2UvTW9ja01lZGlhU291cmNlUHJpdmF0ZS5oIGIvU291cmNlL1dlYkNv
cmUvcGxhdGZvcm0vbW9jay9tZWRpYXNvdXJjZS9Nb2NrTWVkaWFTb3VyY2VQcml2YXRlLmgKaW5k
ZXggODBlOTFkNTY5MjhlMmQ4MDAyOWJiYjg5ZjZhNzY0NDVjMTAyMzgzZi4uZjc5YjExMDJkNTIy
MDRjZTYzM2Y2MDEwMWJhNmRkOWZhNDE3YzhlNSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUv
cGxhdGZvcm0vbW9jay9tZWRpYXNvdXJjZS9Nb2NrTWVkaWFTb3VyY2VQcml2YXRlLmgKKysrIGIv
U291cmNlL1dlYkNvcmUvcGxhdGZvcm0vbW9jay9tZWRpYXNvdXJjZS9Nb2NrTWVkaWFTb3VyY2VQ
cml2YXRlLmgKQEAgLTY3LDggKzY3LDggQEAgcHJpdmF0ZToKIAogICAgIC8vIE1lZGlhU291cmNl
UHJpdmF0ZSBPdmVycmlkZXMKICAgICB2aXJ0dWFsIEFkZFN0YXR1cyBhZGRTb3VyY2VCdWZmZXIo
Y29uc3QgQ29udGVudFR5cGUmLCBSZWZQdHI8U291cmNlQnVmZmVyUHJpdmF0ZT4mKSBvdmVycmlk
ZTsKLSAgICB2aXJ0dWFsIGRvdWJsZSBkdXJhdGlvbigpIG92ZXJyaWRlOwotICAgIHZpcnR1YWwg
dm9pZCBzZXREdXJhdGlvbihkb3VibGUpIG92ZXJyaWRlOworICAgIHZpcnR1YWwgTWVkaWFUaW1l
IGR1cmF0aW9uKCkgb3ZlcnJpZGU7CisgICAgdmlydHVhbCB2b2lkIHNldER1cmF0aW9uKGNvbnN0
IE1lZGlhVGltZSYpIG92ZXJyaWRlOwogICAgIHZpcnR1YWwgdm9pZCBtYXJrRW5kT2ZTdHJlYW0o
RW5kT2ZTdHJlYW1TdGF0dXMpIG92ZXJyaWRlOwogICAgIHZpcnR1YWwgdm9pZCB1bm1hcmtFbmRP
ZlN0cmVhbSgpIG92ZXJyaWRlOwogICAgIHZpcnR1YWwgTWVkaWFQbGF5ZXI6OlJlYWR5U3RhdGUg
cmVhZHlTdGF0ZSgpIGNvbnN0IG92ZXJyaWRlOwpAQCAtODAsNyArODAsNyBAQCBwcml2YXRlOgog
ICAgIGZyaWVuZCBjbGFzcyBNb2NrU291cmNlQnVmZmVyUHJpdmF0ZTsKIAogICAgIE1vY2tNZWRp
YVBsYXllck1lZGlhU291cmNlKiBtX3BsYXllcjsKLSAgICBkb3VibGUgbV9kdXJhdGlvbjsKKyAg
ICBNZWRpYVRpbWUgbV9kdXJhdGlvbjsKICAgICBWZWN0b3I8UmVmUHRyPE1vY2tTb3VyY2VCdWZm
ZXJQcml2YXRlPj4gbV9zb3VyY2VCdWZmZXJzOwogICAgIFZlY3RvcjxNb2NrU291cmNlQnVmZmVy
UHJpdmF0ZSo+IG1fYWN0aXZlU291cmNlQnVmZmVyczsKICAgICBib29sIG1faXNFbmRlZDsK
</data>
<flag name="review"
          id="256892"
          type_id="1"
          status="+"
          setter="eric.carlson"
    />
          </attachment>
          <attachment
              isobsolete="0"
              ispatch="1"
              isprivate="0"
          >
            <attachid>232391</attachid>
            <date>2014-06-02 12:11:17 -0700</date>
            <delta_ts>2014-06-02 12:11:17 -0700</delta_ts>
            <desc>Patch for landing</desc>
            <filename>bug-133452-20140602121052.patch</filename>
            <type>text/plain</type>
            <size>20378</size>
            <attacher name="Jer Noble">jer.noble</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMTY5NTM1CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9D
aGFuZ2VMb2cgYi9Tb3VyY2UvV2ViQ29yZS9DaGFuZ2VMb2cKaW5kZXggZGFmMTRhYTZkNTk4Mzgx
MDJlMTRlMmY0NjBmODIzYzhiY2NlOGYyNC4uNDc0MmI3NDA3MTI1NzhjMmUwNjUxZDU3ODAwZGU4
YTc4Y2RiNjE3NyAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvQ2hhbmdlTG9nCisrKyBiL1Nv
dXJjZS9XZWJDb3JlL0NoYW5nZUxvZwpAQCAtMSwzICsxLDUwIEBACisyMDE0LTA2LTAyICBKZXIg
Tm9ibGUgIDxqZXIubm9ibGVAYXBwbGUuY29tPgorCisgICAgICAgIFtNU0VdW01hY10gTWVkaWEg
ZG9lcyBub3QgZ2VuZXJhdGUgJ2VuZGVkJyBldmVudCB3aGVuIHBsYXlpbmcgdG8gZHVyYXRpb24u
CisgICAgICAgIGh0dHBzOi8vYnVncy53ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD0xMzM0NTIK
KworICAgICAgICBSZXZpZXdlZCBieSBFcmljIENhcmxzb24uCisKKyAgICAgICAgQWRkIGEgYm91
bmRhcnlUaW1lT2JzZXJ2ZXIgdG8gdGhlIEFWU2FtcGxlQnVmZmVyUmVuZGVyU3luY2hyb25pemVy
IHRvIGRldGVjdCB3aGVuCisgICAgICAgIHBsYXliYWNrIGNyb3NzZXMgdGhlIGR1cmF0aW9uIGJv
dW5kYXJ5LCBhbmQgcGF1c2UgaW4gdGhhdCBldmVudC4gQWxzbyByZWZ1c2UgdG8gYmVnaW4KKyAg
ICAgICAgcGxheWJhY2sgaWYgdGhlIGN1cnJlbnRUaW1lIGlzIGJleW9uZCB0aGUgZHVyYXRpb24u
IEFsc28sIHBhdXNlIHBsYXliYWNrIGlmIGR1cmF0aW9uCisgICAgICAgIGJlY29tZXMgbGVzcyB0
aGFuIGN1cnJlbnRUaW1lLgorCisgICAgICAgICogcGxhdGZvcm0vZ3JhcGhpY3MvYXZmb3VuZGF0
aW9uL29iamMvTWVkaWFQbGF5ZXJQcml2YXRlTWVkaWFTb3VyY2VBVkZPYmpDLmg6CisgICAgICAg
ICogcGxhdGZvcm0vZ3JhcGhpY3MvYXZmb3VuZGF0aW9uL29iamMvTWVkaWFQbGF5ZXJQcml2YXRl
TWVkaWFTb3VyY2VBVkZPYmpDLm1tOgorICAgICAgICAoV2ViQ29yZTo6TWVkaWFQbGF5ZXJQcml2
YXRlTWVkaWFTb3VyY2VBVkZPYmpDOjp+TWVkaWFQbGF5ZXJQcml2YXRlTWVkaWFTb3VyY2VBVkZP
YmpDKToKKyAgICAgICAgKFdlYkNvcmU6Ok1lZGlhUGxheWVyUHJpdmF0ZU1lZGlhU291cmNlQVZG
T2JqQzo6cGxheUludGVybmFsKToKKyAgICAgICAgKFdlYkNvcmU6Ok1lZGlhUGxheWVyUHJpdmF0
ZU1lZGlhU291cmNlQVZGT2JqQzo6Y3VycmVudE1lZGlhVGltZSk6CisgICAgICAgIChXZWJDb3Jl
OjpNZWRpYVBsYXllclByaXZhdGVNZWRpYVNvdXJjZUFWRk9iakM6OmN1cnJlbnRUaW1lRG91Ymxl
KToKKyAgICAgICAgKFdlYkNvcmU6Ok1lZGlhUGxheWVyUHJpdmF0ZU1lZGlhU291cmNlQVZGT2Jq
Qzo6ZHVyYXRpb25DaGFuZ2VkKToKKworICAgICAgICBVcGRhdGUgTWVkaWFTb3VyY2U6OmR1cmF0
aW9uKCkgYW5kIDo6c2V0RHVyYXRpb24oKSB0byB0YWtlIGFuZCBnaXZlIE1lZGlhVGltZXMgcmF0
aGVyIHRoYW4gZG91YmxlczoKKyAgICAgICAgKiBNb2R1bGVzL21lZGlhc291cmNlL01lZGlhU291
cmNlLmNwcDoKKyAgICAgICAgKFdlYkNvcmU6Ok1lZGlhU291cmNlOjpkdXJhdGlvbik6IGRvdWJs
ZSAtPiBNZWRpYVRpbWUuCisgICAgICAgIChXZWJDb3JlOjpNZWRpYVNvdXJjZTo6c2V0RHVyYXRp
b24pOiBEaXR0by4KKyAgICAgICAgKFdlYkNvcmU6Ok1lZGlhU291cmNlOjpzdHJlYW1FbmRlZFdp
dGhFcnJvcik6IERpdHRvLgorICAgICAgICAqIHBsYXRmb3JtL2dyYXBoaWNzL01lZGlhU291cmNl
UHJpdmF0ZS5oOiBEaXR0by4KKyAgICAgICAgKiBwbGF0Zm9ybS9ncmFwaGljcy9hdmZvdW5kYXRp
b24vb2JqYy9NZWRpYVNvdXJjZVByaXZhdGVBVkZPYmpDLmg6CisgICAgICAgICogcGxhdGZvcm0v
Z3JhcGhpY3MvYXZmb3VuZGF0aW9uL29iamMvTWVkaWFTb3VyY2VQcml2YXRlQVZGT2JqQy5tbToK
KyAgICAgICAgKFdlYkNvcmU6Ok1lZGlhU291cmNlUHJpdmF0ZUFWRk9iakM6Ok1lZGlhU291cmNl
UHJpdmF0ZUFWRk9iakMpOiBEaXR0by4KKyAgICAgICAgKFdlYkNvcmU6Ok1lZGlhU291cmNlUHJp
dmF0ZUFWRk9iakM6OmR1cmF0aW9uKTogRGl0dG8uCisgICAgICAgIChXZWJDb3JlOjpNZWRpYVNv
dXJjZVByaXZhdGVBVkZPYmpDOjpzZXREdXJhdGlvbik6IERpdHRvLgorICAgICAgICAqIHBsYXRm
b3JtL2dyYXBoaWNzL2dzdHJlYW1lci9NZWRpYVNvdXJjZUdTdHJlYW1lci5jcHA6CisgICAgICAg
IChXZWJDb3JlOjpNZWRpYVNvdXJjZUdTdHJlYW1lcjo6c2V0RHVyYXRpb24pOiBEaXR0by4KKyAg
ICAgICAgKiBwbGF0Zm9ybS9ncmFwaGljcy9nc3RyZWFtZXIvTWVkaWFTb3VyY2VHU3RyZWFtZXIu
aDoKKyAgICAgICAgKiBwbGF0Zm9ybS9tb2NrL21lZGlhc291cmNlL01vY2tNZWRpYVBsYXllck1l
ZGlhU291cmNlLmNwcDoKKyAgICAgICAgKFdlYkNvcmU6Ok1vY2tNZWRpYVBsYXllck1lZGlhU291
cmNlOjpNb2NrTWVkaWFQbGF5ZXJNZWRpYVNvdXJjZSk6IERpdHRvLgorICAgICAgICAoV2ViQ29y
ZTo6TW9ja01lZGlhUGxheWVyTWVkaWFTb3VyY2U6Om1heFRpbWVTZWVrYWJsZURvdWJsZSk6IERp
dHRvLgorICAgICAgICAoV2ViQ29yZTo6TW9ja01lZGlhUGxheWVyTWVkaWFTb3VyY2U6OmR1cmF0
aW9uRG91YmxlKTogRGl0dG8uCisgICAgICAgIChXZWJDb3JlOjpNb2NrTWVkaWFQbGF5ZXJNZWRp
YVNvdXJjZTo6YWR2YW5jZUN1cnJlbnRUaW1lKTogRGl0dG8uCisgICAgICAgIChXZWJDb3JlOjpN
b2NrTWVkaWFQbGF5ZXJNZWRpYVNvdXJjZTo6dXBkYXRlRHVyYXRpb24pOiBEaXR0by4KKyAgICAg
ICAgKiBwbGF0Zm9ybS9tb2NrL21lZGlhc291cmNlL01vY2tNZWRpYVBsYXllck1lZGlhU291cmNl
Lmg6CisgICAgICAgICogcGxhdGZvcm0vbW9jay9tZWRpYXNvdXJjZS9Nb2NrTWVkaWFTb3VyY2VQ
cml2YXRlLmNwcDoKKyAgICAgICAgKFdlYkNvcmU6Ok1vY2tNZWRpYVNvdXJjZVByaXZhdGU6Ok1v
Y2tNZWRpYVNvdXJjZVByaXZhdGUpOiBEaXR0by4KKyAgICAgICAgKFdlYkNvcmU6Ok1vY2tNZWRp
YVNvdXJjZVByaXZhdGU6OmR1cmF0aW9uKTogRGl0dG8uCisgICAgICAgIChXZWJDb3JlOjpNb2Nr
TWVkaWFTb3VyY2VQcml2YXRlOjpzZXREdXJhdGlvbik6IERpdHRvLgorICAgICAgICAqIHBsYXRm
b3JtL21vY2svbWVkaWFzb3VyY2UvTW9ja01lZGlhU291cmNlUHJpdmF0ZS5oOgorCiAyMDE0LTA2
LTAyICBaYWxhbiBCdWp0YXMgIDx6YWxhbkBhcHBsZS5jb20+CiAKICAgICAgICAgUmVuYW1lIElt
YWdlUGFpbnRpbmdDb250ZXh0IHRvIEltYWdlUGFpbnRpbmdPcHRpb25zLgpkaWZmIC0tZ2l0IGEv
U291cmNlL1dlYkNvcmUvTW9kdWxlcy9tZWRpYXNvdXJjZS9NZWRpYVNvdXJjZS5jcHAgYi9Tb3Vy
Y2UvV2ViQ29yZS9Nb2R1bGVzL21lZGlhc291cmNlL01lZGlhU291cmNlLmNwcAppbmRleCAxMjEx
NjYwZmI3YWEzNzljNDBmNmE5NDRhY2MzYTIxODUzZjI2YjAwLi40NWFlYWVhZWE1YWNlZThlMmU2
MGNkYjg1OGUxZGQwOTZlYjVhYmRjIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9Nb2R1bGVz
L21lZGlhc291cmNlL01lZGlhU291cmNlLmNwcAorKysgYi9Tb3VyY2UvV2ViQ29yZS9Nb2R1bGVz
L21lZGlhc291cmNlL01lZGlhU291cmNlLmNwcApAQCAtMTI4LDcgKzEyOCw3IEBAIHZvaWQgTWVk
aWFTb3VyY2U6OnJlbW92ZWRGcm9tUmVnaXN0cnkoKQogCiBkb3VibGUgTWVkaWFTb3VyY2U6OmR1
cmF0aW9uKCkgY29uc3QKIHsKLSAgICByZXR1cm4gaXNDbG9zZWQoKSA/IHN0ZDo6bnVtZXJpY19s
aW1pdHM8ZmxvYXQ+OjpxdWlldF9OYU4oKSA6IG1fcHJpdmF0ZS0+ZHVyYXRpb24oKTsKKyAgICBy
ZXR1cm4gaXNDbG9zZWQoKSA/IHN0ZDo6bnVtZXJpY19saW1pdHM8ZmxvYXQ+OjpxdWlldF9OYU4o
KSA6IG1fcHJpdmF0ZS0+ZHVyYXRpb24oKS50b0RvdWJsZSgpOwogfQogCiBkb3VibGUgTWVkaWFT
b3VyY2U6OmN1cnJlbnRUaW1lKCkgY29uc3QKQEAgLTI2MCw3ICsyNjAsNyBAQCB2b2lkIE1lZGlh
U291cmNlOjpzZXREdXJhdGlvbihkb3VibGUgZHVyYXRpb24sIEV4Y2VwdGlvbkNvZGUmIGVjKQog
ICAgICAgICBlYyA9IElOVkFMSURfU1RBVEVfRVJSOwogICAgICAgICByZXR1cm47CiAgICAgfQot
ICAgIG1fcHJpdmF0ZS0+c2V0RHVyYXRpb24oZHVyYXRpb24pOworICAgIG1fcHJpdmF0ZS0+c2V0
RHVyYXRpb24oTWVkaWFUaW1lOjpjcmVhdGVXaXRoRG91YmxlKGR1cmF0aW9uKSk7CiB9CiAKIApA
QCAtMzI4LDcgKzMyOCw3IEBAIHZvaWQgTWVkaWFTb3VyY2U6OnN0cmVhbUVuZGVkV2l0aEVycm9y
KGNvbnN0IEF0b21pY1N0cmluZyYgZXJyb3IsIEV4Y2VwdGlvbkNvZGUmCiAgICAgICAgIE1lZGlh
VGltZSBtYXhFbmRUaW1lc3RhbXA7CiAgICAgICAgIGZvciAoYXV0byBpdCA9IG1fc291cmNlQnVm
ZmVycy0+YmVnaW4oKSwgZW5kID0gbV9zb3VyY2VCdWZmZXJzLT5lbmQoKTsgaXQgIT0gZW5kOyAr
K2l0KQogICAgICAgICAgICAgbWF4RW5kVGltZXN0YW1wID0gc3RkOjptYXgoKCppdCktPmhpZ2hl
c3RQcmVzZW50YXRpb25FbmRUaW1lc3RhbXAoKSwgbWF4RW5kVGltZXN0YW1wKTsKLSAgICAgICAg
bV9wcml2YXRlLT5zZXREdXJhdGlvbihtYXhFbmRUaW1lc3RhbXAudG9Eb3VibGUoKSk7CisgICAg
ICAgIG1fcHJpdmF0ZS0+c2V0RHVyYXRpb24obWF4RW5kVGltZXN0YW1wKTsKIAogICAgICAgICAv
LyAyLiBOb3RpZnkgdGhlIG1lZGlhIGVsZW1lbnQgdGhhdCBpdCBub3cgaGFzIGFsbCBvZiB0aGUg
bWVkaWEgZGF0YS4KICAgICAgICAgbV9wcml2YXRlLT5tYXJrRW5kT2ZTdHJlYW0oTWVkaWFTb3Vy
Y2VQcml2YXRlOjpFb3NOb0Vycm9yKTsKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL3BsYXRm
b3JtL2dyYXBoaWNzL01lZGlhU291cmNlUHJpdmF0ZS5oIGIvU291cmNlL1dlYkNvcmUvcGxhdGZv
cm0vZ3JhcGhpY3MvTWVkaWFTb3VyY2VQcml2YXRlLmgKaW5kZXggZjMyYWI3YTgyMDk4Njg4Njgy
ZWY4MGVlOTIzMjk2MjlmNGQ3MzUyYS4uZGMyNGUzMWU2ZjIyZDUyN2Q2NWRhN2IyZTk3MTVkNjg4
ZDc0M2FlYyAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3MvTWVk
aWFTb3VyY2VQcml2YXRlLmgKKysrIGIvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3Mv
TWVkaWFTb3VyY2VQcml2YXRlLmgKQEAgLTUxLDggKzUxLDggQEAgcHVibGljOgogCiAgICAgZW51
bSBBZGRTdGF0dXMgeyBPaywgTm90U3VwcG9ydGVkLCBSZWFjaGVkSWRMaW1pdCB9OwogICAgIHZp
cnR1YWwgQWRkU3RhdHVzIGFkZFNvdXJjZUJ1ZmZlcihjb25zdCBDb250ZW50VHlwZSYsIFJlZlB0
cjxTb3VyY2VCdWZmZXJQcml2YXRlPiYpID0gMDsKLSAgICB2aXJ0dWFsIGRvdWJsZSBkdXJhdGlv
bigpID0gMDsKLSAgICB2aXJ0dWFsIHZvaWQgc2V0RHVyYXRpb24oZG91YmxlKSA9IDA7CisgICAg
dmlydHVhbCBNZWRpYVRpbWUgZHVyYXRpb24oKSA9IDA7CisgICAgdmlydHVhbCB2b2lkIHNldER1
cmF0aW9uKGNvbnN0IE1lZGlhVGltZSYpID0gMDsKICAgICBlbnVtIEVuZE9mU3RyZWFtU3RhdHVz
IHsgRW9zTm9FcnJvciwgRW9zTmV0d29ya0Vycm9yLCBFb3NEZWNvZGVFcnJvciB9OwogICAgIHZp
cnR1YWwgdm9pZCBtYXJrRW5kT2ZTdHJlYW0oRW5kT2ZTdHJlYW1TdGF0dXMpID0gMDsKICAgICB2
aXJ0dWFsIHZvaWQgdW5tYXJrRW5kT2ZTdHJlYW0oKSA9IDA7CmRpZmYgLS1naXQgYS9Tb3VyY2Uv
V2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGljcy9hdmZvdW5kYXRpb24vb2JqYy9NZWRpYVBsYXllclBy
aXZhdGVNZWRpYVNvdXJjZUFWRk9iakMuaCBiL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2dyYXBo
aWNzL2F2Zm91bmRhdGlvbi9vYmpjL01lZGlhUGxheWVyUHJpdmF0ZU1lZGlhU291cmNlQVZGT2Jq
Qy5oCmluZGV4IGU2M2U4Mzg2ZWNhNjc2YzFjNjBiNjkxYmEwMTg1ZGU3NTBiN2I3MTUuLjgzNWFh
MzEwZmM2MDU0ZGFjMDcyOWM3YjEwMzljODhiOTQxZjQyOTMgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9X
ZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNzL2F2Zm91bmRhdGlvbi9vYmpjL01lZGlhUGxheWVyUHJp
dmF0ZU1lZGlhU291cmNlQVZGT2JqQy5oCisrKyBiL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2dy
YXBoaWNzL2F2Zm91bmRhdGlvbi9vYmpjL01lZGlhUGxheWVyUHJpdmF0ZU1lZGlhU291cmNlQVZG
T2JqQy5oCkBAIC0xNTIsNiArMTUyLDggQEAgcHJpdmF0ZToKICAgICB2aXJ0dWFsIHVuc2lnbmVk
IGxvbmcgY29ycnVwdGVkVmlkZW9GcmFtZXMoKSBvdmVycmlkZTsKICAgICB2aXJ0dWFsIGRvdWJs
ZSB0b3RhbEZyYW1lRGVsYXkoKSBvdmVycmlkZTsKIAorICAgIE1lZGlhVGltZSBjdXJyZW50TWVk
aWFUaW1lKCkgY29uc3Q7CisKICAgICB2b2lkIGVuc3VyZUxheWVyKCk7CiAgICAgdm9pZCBkZXN0
cm95TGF5ZXIoKTsKIApAQCAtMTczLDYgKzE3NSw3IEBAIHByaXZhdGU6CiAgICAgVmVjdG9yPFJl
dGFpblB0cjxBVlNhbXBsZUJ1ZmZlckF1ZGlvUmVuZGVyZXI+PiBtX3NhbXBsZUJ1ZmZlckF1ZGlv
UmVuZGVyZXJzOwogICAgIFJldGFpblB0cjxBVlNhbXBsZUJ1ZmZlclJlbmRlclN5bmNocm9uaXpl
cj4gbV9zeW5jaHJvbml6ZXI7CiAgICAgUmV0YWluUHRyPGlkPiBtX3RpbWVKdW1wZWRPYnNlcnZl
cjsKKyAgICBSZXRhaW5QdHI8aWQ+IG1fZHVyYXRpb25PYnNlcnZlcjsKICAgICBNZWRpYVBsYXll
cjo6TmV0d29ya1N0YXRlIG1fbmV0d29ya1N0YXRlOwogICAgIE1lZGlhUGxheWVyOjpSZWFkeVN0
YXRlIG1fcmVhZHlTdGF0ZTsKICAgICBkb3VibGUgbV9yYXRlOwpkaWZmIC0tZ2l0IGEvU291cmNl
L1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3MvYXZmb3VuZGF0aW9uL29iamMvTWVkaWFQbGF5ZXJQ
cml2YXRlTWVkaWFTb3VyY2VBVkZPYmpDLm1tIGIvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vZ3Jh
cGhpY3MvYXZmb3VuZGF0aW9uL29iamMvTWVkaWFQbGF5ZXJQcml2YXRlTWVkaWFTb3VyY2VBVkZP
YmpDLm1tCmluZGV4IDU4NjU2NzY4MzBhOTFlYjllMjM1NWE4Y2U2YzYxZWM3MTU5YjkyMzAuLjI3
MjJmZDcxOTIzM2QxM2M5YTQ0YjU2YmQyMmQyYjQzOTRmZGQ3YWMgMTAwNjQ0Ci0tLSBhL1NvdXJj
ZS9XZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNzL2F2Zm91bmRhdGlvbi9vYmpjL01lZGlhUGxheWVy
UHJpdmF0ZU1lZGlhU291cmNlQVZGT2JqQy5tbQorKysgYi9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9y
bS9ncmFwaGljcy9hdmZvdW5kYXRpb24vb2JqYy9NZWRpYVBsYXllclByaXZhdGVNZWRpYVNvdXJj
ZUFWRk9iakMubW0KQEAgLTM2LDYgKzM2LDcgQEAKICNpbXBvcnQgIlNvZnRMaW5raW5nLmgiCiAj
aW1wb3J0ICJXZWJDb3JlU3lzdGVtSW50ZXJmYWNlLmgiCiAjaW1wb3J0IDxBVkZvdW5kYXRpb24v
QVZBc3NldC5oPgorI2ltcG9ydCA8QVZGb3VuZGF0aW9uL0FWVGltZS5oPgogI2ltcG9ydCA8Q29y
ZU1lZGlhL0NNU3luYy5oPgogI2ltcG9ydCA8UXVhcnR6Q29yZS9DQUxheWVyLmg+CiAjaW1wb3J0
IDxvYmpjX3J1bnRpbWUuaD4KQEAgLTEwOSw2ICsxMTAsNyBAQCBTT0ZUX0xJTktfQ09OU1RBTlQo
Q29yZU1lZGlhLCBrQ01UaW1lYmFzZU5vdGlmaWNhdGlvbl9FZmZlY3RpdmVSYXRlQ2hhbmdlZCwg
Q0ZTdAogLSAodm9pZClhZGRSZW5kZXJlcjooaWQpcmVuZGVyZXI7CiAtICh2b2lkKXJlbW92ZVJl
bmRlcmVyOihpZClyZW5kZXJlciBhdFRpbWU6KENNVGltZSl0aW1lIHdpdGhDb21wbGV0aW9uSGFu
ZGxlcjoodm9pZCAoXikoQk9PTCBkaWRSZW1vdmVSZW5kZXJlcikpY29tcGxldGlvbkhhbmRsZXI7
CiAtIChpZClhZGRQZXJpb2RpY1RpbWVPYnNlcnZlckZvckludGVydmFsOihDTVRpbWUpaW50ZXJ2
YWwgcXVldWU6KGRpc3BhdGNoX3F1ZXVlX3QpcXVldWUgdXNpbmdCbG9jazoodm9pZCAoXikoQ01U
aW1lIHRpbWUpKWJsb2NrOworLSAoaWQpYWRkQm91bmRhcnlUaW1lT2JzZXJ2ZXJGb3JUaW1lczoo
TlNBcnJheSAqKXRpbWVzIHF1ZXVlOihkaXNwYXRjaF9xdWV1ZV90KXF1ZXVlIHVzaW5nQmxvY2s6
KHZvaWQgKF4pKHZvaWQpKWJsb2NrOwogLSAodm9pZClyZW1vdmVUaW1lT2JzZXJ2ZXI6KGlkKW9i
c2VydmVyOwogQGVuZAogCkBAIC0xNjQsNiArMTY2LDcgQEAgTWVkaWFQbGF5ZXJQcml2YXRlTWVk
aWFTb3VyY2VBVkZPYmpDOjp+TWVkaWFQbGF5ZXJQcml2YXRlTWVkaWFTb3VyY2VBVkZPYmpDKCkK
ICAgICBDTU5vdGlmaWNhdGlvbkNlbnRlclJlbW92ZUxpc3RlbmVyKG5jLCB0aGlzLCBDTVRpbWVi
YXNlRWZmZWN0aXZlUmF0ZUNoYW5nZWRDYWxsYmFjaywga0NNVGltZWJhc2VOb3RpZmljYXRpb25f
RWZmZWN0aXZlUmF0ZUNoYW5nZWQsIHRpbWViYXNlKTsKIAogICAgIFttX3N5bmNocm9uaXplciBy
ZW1vdmVUaW1lT2JzZXJ2ZXI6bV90aW1lSnVtcGVkT2JzZXJ2ZXIuZ2V0KCldOworICAgIFttX3N5
bmNocm9uaXplciByZW1vdmVUaW1lT2JzZXJ2ZXI6bV9kdXJhdGlvbk9ic2VydmVyLmdldCgpXTsK
IH0KIAogI3ByYWdtYSBtYXJrIC0KQEAgLTMxNiw2ICszMTksOSBAQCB2b2lkIE1lZGlhUGxheWVy
UHJpdmF0ZU1lZGlhU291cmNlQVZGT2JqQzo6cGxheSgpCiAKIHZvaWQgTWVkaWFQbGF5ZXJQcml2
YXRlTWVkaWFTb3VyY2VBVkZPYmpDOjpwbGF5SW50ZXJuYWwoKQogeworICAgIGlmIChjdXJyZW50
TWVkaWFUaW1lKCkgPj0gbV9tZWRpYVNvdXJjZVByaXZhdGUtPmR1cmF0aW9uKCkpCisgICAgICAg
IHJldHVybjsKKwogICAgIG1fcGxheWluZyA9IHRydWU7CiAgICAgW21fc3luY2hyb25pemVyIHNl
dFJhdGU6bV9yYXRlXTsKIH0KQEAgLTM4OSw5ICszOTUsMTQgQEAgZG91YmxlIE1lZGlhUGxheWVy
UHJpdmF0ZU1lZGlhU291cmNlQVZGT2JqQzo6ZHVyYXRpb25Eb3VibGUoKSBjb25zdAogICAgIHJl
dHVybiBtX21lZGlhU291cmNlLT5kdXJhdGlvbigpOwogfQogCitNZWRpYVRpbWUgTWVkaWFQbGF5
ZXJQcml2YXRlTWVkaWFTb3VyY2VBVkZPYmpDOjpjdXJyZW50TWVkaWFUaW1lKCkgY29uc3QKK3sK
KyAgICByZXR1cm4gc3RkOjptYXgoTWVkaWFUaW1lOjp6ZXJvVGltZSgpLCB0b01lZGlhVGltZShD
TVRpbWViYXNlR2V0VGltZShbbV9zeW5jaHJvbml6ZXIgdGltZWJhc2VdKSkpOworfQorCiBkb3Vi
bGUgTWVkaWFQbGF5ZXJQcml2YXRlTWVkaWFTb3VyY2VBVkZPYmpDOjpjdXJyZW50VGltZURvdWJs
ZSgpIGNvbnN0CiB7Ci0gICAgcmV0dXJuIHN0ZDo6bWF4PGRvdWJsZT4oMCwgQ01UaW1lR2V0U2Vj
b25kcyhDTVRpbWViYXNlR2V0VGltZShbbV9zeW5jaHJvbml6ZXIgdGltZWJhc2VdKSkpOworICAg
IHJldHVybiBjdXJyZW50TWVkaWFUaW1lKCkudG9Eb3VibGUoKTsKIH0KIAogZG91YmxlIE1lZGlh
UGxheWVyUHJpdmF0ZU1lZGlhU291cmNlQVZGT2JqQzo6c3RhcnRUaW1lRG91YmxlKCkgY29uc3QK
QEAgLTU4NSw2ICs1OTYsMjMgQEAgdm9pZCBNZWRpYVBsYXllclByaXZhdGVNZWRpYVNvdXJjZUFW
Rk9iakM6OmRlc3Ryb3lMYXllcigpCiB2b2lkIE1lZGlhUGxheWVyUHJpdmF0ZU1lZGlhU291cmNl
QVZGT2JqQzo6ZHVyYXRpb25DaGFuZ2VkKCkKIHsKICAgICBtX3BsYXllci0+ZHVyYXRpb25DaGFu
Z2VkKCk7CisKKyAgICBpZiAobV9kdXJhdGlvbk9ic2VydmVyKQorICAgICAgICBbbV9zeW5jaHJv
bml6ZXIgcmVtb3ZlVGltZU9ic2VydmVyOm1fZHVyYXRpb25PYnNlcnZlci5nZXQoKV07CisKKyAg
ICBpZiAoIW1fbWVkaWFTb3VyY2VQcml2YXRlKQorICAgICAgICByZXR1cm47CisKKyAgICBNZWRp
YVRpbWUgZHVyYXRpb24gPSBtX21lZGlhU291cmNlUHJpdmF0ZS0+ZHVyYXRpb24oKTsKKyAgICBh
dXRvIHdlYWtUaGlzID0gY3JlYXRlV2Vha1B0cigpOworICAgIE5TQXJyYXkqIHRpbWVzID0gQFtb
TlNWYWx1ZSB2YWx1ZVdpdGhDTVRpbWU6dG9DTVRpbWUoZHVyYXRpb24pXV07CisgICAgbV9kdXJh
dGlvbk9ic2VydmVyID0gW21fc3luY2hyb25pemVyIGFkZEJvdW5kYXJ5VGltZU9ic2VydmVyRm9y
VGltZXM6dGltZXMgcXVldWU6ZGlzcGF0Y2hfZ2V0X21haW5fcXVldWUoKSB1c2luZ0Jsb2NrOlt3
ZWFrVGhpc10geworICAgICAgICBpZiAod2Vha1RoaXMpCisgICAgICAgICAgICB3ZWFrVGhpcy0+
cGF1c2VJbnRlcm5hbCgpOworICAgIH1dOworCisgICAgaWYgKG1fcGxheWluZyAmJiBkdXJhdGlv
biA8PSBjdXJyZW50TWVkaWFUaW1lKCkpCisgICAgICAgIHBhdXNlSW50ZXJuYWwoKTsKIH0KIAog
dm9pZCBNZWRpYVBsYXllclByaXZhdGVNZWRpYVNvdXJjZUFWRk9iakM6OmVmZmVjdGl2ZVJhdGVD
aGFuZ2VkKCkKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNzL2F2
Zm91bmRhdGlvbi9vYmpjL01lZGlhU291cmNlUHJpdmF0ZUFWRk9iakMuaCBiL1NvdXJjZS9XZWJD
b3JlL3BsYXRmb3JtL2dyYXBoaWNzL2F2Zm91bmRhdGlvbi9vYmpjL01lZGlhU291cmNlUHJpdmF0
ZUFWRk9iakMuaAppbmRleCBkNjlhZDhkZmUzNTM4MDAxNWU5MTc1MGZiZWMxNmU3MTc2ZjVlYTZi
Li4zNGZkYWRjNjdiMTMxMGI5MzllMGIxZTg4OTY5ZDQ0YzBmYTRhZTRkIDEwMDY0NAotLS0gYS9T
b3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGljcy9hdmZvdW5kYXRpb24vb2JqYy9NZWRpYVNv
dXJjZVByaXZhdGVBVkZPYmpDLmgKKysrIGIvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhp
Y3MvYXZmb3VuZGF0aW9uL29iamMvTWVkaWFTb3VyY2VQcml2YXRlQVZGT2JqQy5oCkBAIC01Nyw4
ICs1Nyw4IEBAIHB1YmxpYzoKICAgICBjb25zdCBWZWN0b3I8U291cmNlQnVmZmVyUHJpdmF0ZUFW
Rk9iakMqPiYgYWN0aXZlU291cmNlQnVmZmVycygpIGNvbnN0IHsgcmV0dXJuIG1fYWN0aXZlU291
cmNlQnVmZmVyczsgfQogCiAgICAgdmlydHVhbCBBZGRTdGF0dXMgYWRkU291cmNlQnVmZmVyKGNv
bnN0IENvbnRlbnRUeXBlJiwgUmVmUHRyPFNvdXJjZUJ1ZmZlclByaXZhdGU+Jikgb3ZlcnJpZGU7
Ci0gICAgdmlydHVhbCBkb3VibGUgZHVyYXRpb24oKSBvdmVycmlkZTsKLSAgICB2aXJ0dWFsIHZv
aWQgc2V0RHVyYXRpb24oZG91YmxlKSBvdmVycmlkZTsKKyAgICB2aXJ0dWFsIE1lZGlhVGltZSBk
dXJhdGlvbigpIG92ZXJyaWRlOworICAgIHZpcnR1YWwgdm9pZCBzZXREdXJhdGlvbihjb25zdCBN
ZWRpYVRpbWUmKSBvdmVycmlkZTsKICAgICB2aXJ0dWFsIHZvaWQgbWFya0VuZE9mU3RyZWFtKEVu
ZE9mU3RyZWFtU3RhdHVzKSBvdmVycmlkZTsKICAgICB2aXJ0dWFsIHZvaWQgdW5tYXJrRW5kT2ZT
dHJlYW0oKSBvdmVycmlkZTsKICAgICB2aXJ0dWFsIE1lZGlhUGxheWVyOjpSZWFkeVN0YXRlIHJl
YWR5U3RhdGUoKSBjb25zdCBvdmVycmlkZTsKQEAgLTg5LDcgKzg5LDcgQEAgcHJpdmF0ZToKICAg
ICBmcmllbmQgY2xhc3MgU291cmNlQnVmZmVyUHJpdmF0ZUFWRk9iakM7CiAKICAgICBNZWRpYVBs
YXllclByaXZhdGVNZWRpYVNvdXJjZUFWRk9iakMqIG1fcGxheWVyOwotICAgIGRvdWJsZSBtX2R1
cmF0aW9uOworICAgIE1lZGlhVGltZSBtX2R1cmF0aW9uOwogICAgIFZlY3RvcjxSZWZQdHI8U291
cmNlQnVmZmVyUHJpdmF0ZUFWRk9iakM+PiBtX3NvdXJjZUJ1ZmZlcnM7CiAgICAgVmVjdG9yPFNv
dXJjZUJ1ZmZlclByaXZhdGVBVkZPYmpDKj4gbV9hY3RpdmVTb3VyY2VCdWZmZXJzOwogICAgIERl
cXVlPFNvdXJjZUJ1ZmZlclByaXZhdGVBVkZPYmpDKj4gbV9zb3VyY2VCdWZmZXJzTmVlZGluZ1Nl
c3Npb25zOwpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3MvYXZm
b3VuZGF0aW9uL29iamMvTWVkaWFTb3VyY2VQcml2YXRlQVZGT2JqQy5tbSBiL1NvdXJjZS9XZWJD
b3JlL3BsYXRmb3JtL2dyYXBoaWNzL2F2Zm91bmRhdGlvbi9vYmpjL01lZGlhU291cmNlUHJpdmF0
ZUFWRk9iakMubW0KaW5kZXggN2U2ZmNiM2FhZTEzOWE4ZTY5YTJhZTdjZWU4YWJlYzE0NDRlZDNj
Yi4uYzhkYjIwOTA3MmY0ZGZhNmNlZWUzZGVjNGU0NDA3YTllYTQzNDU2OSAxMDA2NDQKLS0tIGEv
U291cmNlL1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3MvYXZmb3VuZGF0aW9uL29iamMvTWVkaWFT
b3VyY2VQcml2YXRlQVZGT2JqQy5tbQorKysgYi9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9ncmFw
aGljcy9hdmZvdW5kYXRpb24vb2JqYy9NZWRpYVNvdXJjZVByaXZhdGVBVkZPYmpDLm1tCkBAIC01
MCw3ICs1MCw3IEBAIFJlZlB0cjxNZWRpYVNvdXJjZVByaXZhdGVBVkZPYmpDPiBNZWRpYVNvdXJj
ZVByaXZhdGVBVkZPYmpDOjpjcmVhdGUoTWVkaWFQbGF5ZXJQCiAKIE1lZGlhU291cmNlUHJpdmF0
ZUFWRk9iakM6Ok1lZGlhU291cmNlUHJpdmF0ZUFWRk9iakMoTWVkaWFQbGF5ZXJQcml2YXRlTWVk
aWFTb3VyY2VBVkZPYmpDKiBwYXJlbnQpCiAgICAgOiBtX3BsYXllcihwYXJlbnQpCi0gICAgLCBt
X2R1cmF0aW9uKHN0ZDo6bnVtZXJpY19saW1pdHM8ZG91YmxlPjo6cXVpZXRfTmFOKCkpCisgICAg
LCBtX2R1cmF0aW9uKE1lZGlhVGltZTo6aW52YWxpZFRpbWUoKSkKICAgICAsIG1faXNFbmRlZChm
YWxzZSkKIHsKIH0KQEAgLTg5LDEyICs4OSwxMiBAQCB2b2lkIE1lZGlhU291cmNlUHJpdmF0ZUFW
Rk9iakM6OnJlbW92ZVNvdXJjZUJ1ZmZlcihTb3VyY2VCdWZmZXJQcml2YXRlKiBidWZmZXIpCiAg
ICAgbV9zb3VyY2VCdWZmZXJzLnJlbW92ZShwb3MpOwogfQogCi1kb3VibGUgTWVkaWFTb3VyY2VQ
cml2YXRlQVZGT2JqQzo6ZHVyYXRpb24oKQorTWVkaWFUaW1lIE1lZGlhU291cmNlUHJpdmF0ZUFW
Rk9iakM6OmR1cmF0aW9uKCkKIHsKICAgICByZXR1cm4gbV9kdXJhdGlvbjsKIH0KIAotdm9pZCBN
ZWRpYVNvdXJjZVByaXZhdGVBVkZPYmpDOjpzZXREdXJhdGlvbihkb3VibGUgZHVyYXRpb24pCit2
b2lkIE1lZGlhU291cmNlUHJpdmF0ZUFWRk9iakM6OnNldER1cmF0aW9uKGNvbnN0IE1lZGlhVGlt
ZSYgZHVyYXRpb24pCiB7CiAgICAgaWYgKGR1cmF0aW9uID09IG1fZHVyYXRpb24pCiAgICAgICAg
IHJldHVybjsKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNzL2dz
dHJlYW1lci9NZWRpYVNvdXJjZUdTdHJlYW1lci5jcHAgYi9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9y
bS9ncmFwaGljcy9nc3RyZWFtZXIvTWVkaWFTb3VyY2VHU3RyZWFtZXIuY3BwCmluZGV4IDlmNjFm
OWFlNTE4YTlkYzk5MWEwYTQ3MmEwMGUzYjQ3Yjg3Yzk0MzYuLjAxNTcwNjUzM2I3ZTJkMjRiYWU3
ODAxZTQ3ZmNlYjI1NWVhYmFmZjcgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3Jt
L2dyYXBoaWNzL2dzdHJlYW1lci9NZWRpYVNvdXJjZUdTdHJlYW1lci5jcHAKKysrIGIvU291cmNl
L1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3MvZ3N0cmVhbWVyL01lZGlhU291cmNlR1N0cmVhbWVy
LmNwcApAQCAtNjIsMTEgKzYyLDExIEBAIE1lZGlhU291cmNlR1N0cmVhbWVyOjpBZGRTdGF0dXMg
TWVkaWFTb3VyY2VHU3RyZWFtZXI6OmFkZFNvdXJjZUJ1ZmZlcihjb25zdCBDb250CiAgICAgcmV0
dXJuIE1lZGlhU291cmNlR1N0cmVhbWVyOjpPazsKIH0KIAotdm9pZCBNZWRpYVNvdXJjZUdTdHJl
YW1lcjo6c2V0RHVyYXRpb24oZG91YmxlIGR1cmF0aW9uKQordm9pZCBNZWRpYVNvdXJjZUdTdHJl
YW1lcjo6c2V0RHVyYXRpb24oY29uc3QgTWVkaWFUaW1lJiBkdXJhdGlvbikKIHsKICAgICBBU1NF
UlQobV9jbGllbnQpOwogICAgIG1fZHVyYXRpb24gPSBkdXJhdGlvbjsKLSAgICBtX2NsaWVudC0+
ZGlkUmVjZWl2ZUR1cmF0aW9uKGR1cmF0aW9uKTsKKyAgICBtX2NsaWVudC0+ZGlkUmVjZWl2ZUR1
cmF0aW9uKGR1cmF0aW9uLnRvRG91YmxlKCkpOwogfQogCiB2b2lkIE1lZGlhU291cmNlR1N0cmVh
bWVyOjptYXJrRW5kT2ZTdHJlYW0oRW5kT2ZTdHJlYW1TdGF0dXMpCmRpZmYgLS1naXQgYS9Tb3Vy
Y2UvV2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGljcy9nc3RyZWFtZXIvTWVkaWFTb3VyY2VHU3RyZWFt
ZXIuaCBiL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNzL2dzdHJlYW1lci9NZWRpYVNv
dXJjZUdTdHJlYW1lci5oCmluZGV4IDJiODdlOTNlZmVkZTFjZDA2ZDQ3YjA5ODNmOGU3OTA0N2Y4
NGY2N2YuLjI3NDZhMTZkODU2NDcwMTNhY2M0ZTg2Zjg4YmFmOWJkMDkzYzlmYmIgMTAwNjQ0Ci0t
LSBhL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNzL2dzdHJlYW1lci9NZWRpYVNvdXJj
ZUdTdHJlYW1lci5oCisrKyBiL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNzL2dzdHJl
YW1lci9NZWRpYVNvdXJjZUdTdHJlYW1lci5oCkBAIC00Myw4ICs0Myw4IEBAIHB1YmxpYzoKICAg
ICBzdGF0aWMgdm9pZCBvcGVuKE1lZGlhU291cmNlUHJpdmF0ZUNsaWVudCosIFdlYktpdE1lZGlh
U3JjKik7CiAgICAgfk1lZGlhU291cmNlR1N0cmVhbWVyKCk7CiAgICAgQWRkU3RhdHVzIGFkZFNv
dXJjZUJ1ZmZlcihjb25zdCBDb250ZW50VHlwZSYsIFJlZlB0cjxTb3VyY2VCdWZmZXJQcml2YXRl
PiYpOwotICAgIGRvdWJsZSBkdXJhdGlvbigpIHsgcmV0dXJuIG1fZHVyYXRpb247IH0KLSAgICB2
b2lkIHNldER1cmF0aW9uKGRvdWJsZSk7CisgICAgTWVkaWFUaW1lIGR1cmF0aW9uKCkgeyByZXR1
cm4gbV9kdXJhdGlvbjsgfQorICAgIHZvaWQgc2V0RHVyYXRpb24oY29uc3QgTWVkaWFUaW1lJik7
CiAgICAgdm9pZCBtYXJrRW5kT2ZTdHJlYW0oRW5kT2ZTdHJlYW1TdGF0dXMpOwogICAgIHZvaWQg
dW5tYXJrRW5kT2ZTdHJlYW0oKTsKICAgICBNZWRpYVBsYXllcjo6UmVhZHlTdGF0ZSByZWFkeVN0
YXRlKCkgY29uc3QgeyByZXR1cm4gbV9yZWFkeVN0YXRlOyB9CkBAIC01Myw3ICs1Myw3IEBAIHB1
YmxpYzoKIHByaXZhdGU6CiAgICAgUmVmUHRyPE1lZGlhU291cmNlQ2xpZW50R3N0cmVhbWVyPiBt
X2NsaWVudDsKICAgICBNZWRpYVNvdXJjZUdTdHJlYW1lcihXZWJLaXRNZWRpYVNyYyopOwotICAg
IGRvdWJsZSBtX2R1cmF0aW9uOworICAgIE1lZGlhVGltZSBtX2R1cmF0aW9uOwogICAgIE1lZGlh
UGxheWVyOjpSZWFkeVN0YXRlIG1fcmVhZHlTdGF0ZTsKIH07CiAKZGlmZiAtLWdpdCBhL1NvdXJj
ZS9XZWJDb3JlL3BsYXRmb3JtL21vY2svbWVkaWFzb3VyY2UvTW9ja01lZGlhUGxheWVyTWVkaWFT
b3VyY2UuY3BwIGIvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vbW9jay9tZWRpYXNvdXJjZS9Nb2Nr
TWVkaWFQbGF5ZXJNZWRpYVNvdXJjZS5jcHAKaW5kZXggNWI2MTNmOWQxNzMzOWY4YjdkNDNhMTVh
ZTBlYjU5ZGRmYTg3NjRmZC4uNzA1NDljMzRlMTQzZjUxMjA4ZWUwODNkZjdkZjBmODg1YjYyNDAz
OCAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vbW9jay9tZWRpYXNvdXJjZS9N
b2NrTWVkaWFQbGF5ZXJNZWRpYVNvdXJjZS5jcHAKKysrIGIvU291cmNlL1dlYkNvcmUvcGxhdGZv
cm0vbW9jay9tZWRpYXNvdXJjZS9Nb2NrTWVkaWFQbGF5ZXJNZWRpYVNvdXJjZS5jcHAKQEAgLTg0
LDcgKzg0LDcgQEAgTWVkaWFQbGF5ZXI6OlN1cHBvcnRzVHlwZSBNb2NrTWVkaWFQbGF5ZXJNZWRp
YVNvdXJjZTo6c3VwcG9ydHNUeXBlKGNvbnN0IE1lZGlhRW4KIE1vY2tNZWRpYVBsYXllck1lZGlh
U291cmNlOjpNb2NrTWVkaWFQbGF5ZXJNZWRpYVNvdXJjZShNZWRpYVBsYXllciogcGxheWVyKQog
ICAgIDogbV9wbGF5ZXIocGxheWVyKQogICAgICwgbV9jdXJyZW50VGltZShNZWRpYVRpbWU6Onpl
cm9UaW1lKCkpCi0gICAgLCBtX2R1cmF0aW9uKDApCisgICAgLCBtX2R1cmF0aW9uKE1lZGlhVGlt
ZTo6emVyb1RpbWUoKSkKICAgICAsIG1fcmVhZHlTdGF0ZShNZWRpYVBsYXllcjo6SGF2ZU5vdGhp
bmcpCiAgICAgLCBtX25ldHdvcmtTdGF0ZShNZWRpYVBsYXllcjo6RW1wdHkpCiAgICAgLCBtX3Bs
YXlpbmcoZmFsc2UpCkBAIC0xNjMsNyArMTYzLDcgQEAgTWVkaWFQbGF5ZXI6OlJlYWR5U3RhdGUg
TW9ja01lZGlhUGxheWVyTWVkaWFTb3VyY2U6OnJlYWR5U3RhdGUoKSBjb25zdAogCiBkb3VibGUg
TW9ja01lZGlhUGxheWVyTWVkaWFTb3VyY2U6Om1heFRpbWVTZWVrYWJsZURvdWJsZSgpIGNvbnN0
CiB7Ci0gICAgcmV0dXJuIG1fZHVyYXRpb247CisgICAgcmV0dXJuIG1fZHVyYXRpb24udG9Eb3Vi
bGUoKTsKIH0KIAogc3RkOjp1bmlxdWVfcHRyPFBsYXRmb3JtVGltZVJhbmdlcz4gTW9ja01lZGlh
UGxheWVyTWVkaWFTb3VyY2U6OmJ1ZmZlcmVkKCkgY29uc3QKQEAgLTE5NCw3ICsxOTQsNyBAQCBk
b3VibGUgTW9ja01lZGlhUGxheWVyTWVkaWFTb3VyY2U6OmN1cnJlbnRUaW1lRG91YmxlKCkgY29u
c3QKIAogZG91YmxlIE1vY2tNZWRpYVBsYXllck1lZGlhU291cmNlOjpkdXJhdGlvbkRvdWJsZSgp
IGNvbnN0CiB7Ci0gICAgcmV0dXJuIG1fZHVyYXRpb247CisgICAgcmV0dXJuIG1fZHVyYXRpb24u
dG9Eb3VibGUoKTsKIH0KIAogdm9pZCBNb2NrTWVkaWFQbGF5ZXJNZWRpYVNvdXJjZTo6c2Vla1dp
dGhUb2xlcmFuY2UoZG91YmxlIHRpbWUsIGRvdWJsZSBuZWdhdGl2ZVRvbGVyYW5jZSwgZG91Ymxl
IHBvc2l0aXZlVG9sZXJhbmNlKQpAQCAtMjIxLDExICsyMjEsMTEgQEAgdm9pZCBNb2NrTWVkaWFQ
bGF5ZXJNZWRpYVNvdXJjZTo6YWR2YW5jZUN1cnJlbnRUaW1lKCkKICAgICAgICAgcmV0dXJuOwog
CiAgICAgYm9vbCBpZ25vcmVFcnJvcjsKLSAgICBtX2N1cnJlbnRUaW1lID0gTWVkaWFUaW1lOjpj
cmVhdGVXaXRoRG91YmxlKHN0ZDo6bWluKG1fZHVyYXRpb24sIGJ1ZmZlcmVkLT5lbmQocG9zLCBp
Z25vcmVFcnJvcikpKTsKKyAgICBtX2N1cnJlbnRUaW1lID0gc3RkOjptaW4obV9kdXJhdGlvbiwg
TWVkaWFUaW1lOjpjcmVhdGVXaXRoRG91YmxlKGJ1ZmZlcmVkLT5lbmQocG9zLCBpZ25vcmVFcnJv
cikpKTsKICAgICBtX3BsYXllci0+dGltZUNoYW5nZWQoKTsKIH0KIAotdm9pZCBNb2NrTWVkaWFQ
bGF5ZXJNZWRpYVNvdXJjZTo6dXBkYXRlRHVyYXRpb24oZG91YmxlIGR1cmF0aW9uKQordm9pZCBN
b2NrTWVkaWFQbGF5ZXJNZWRpYVNvdXJjZTo6dXBkYXRlRHVyYXRpb24oY29uc3QgTWVkaWFUaW1l
JiBkdXJhdGlvbikKIHsKICAgICBpZiAobV9kdXJhdGlvbiA9PSBkdXJhdGlvbikKICAgICAgICAg
cmV0dXJuOwpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vbW9jay9tZWRpYXNv
dXJjZS9Nb2NrTWVkaWFQbGF5ZXJNZWRpYVNvdXJjZS5oIGIvU291cmNlL1dlYkNvcmUvcGxhdGZv
cm0vbW9jay9tZWRpYXNvdXJjZS9Nb2NrTWVkaWFQbGF5ZXJNZWRpYVNvdXJjZS5oCmluZGV4IDQw
NTM4MzZlMDljOWVjYjkyNTI3ZGFhYzVhZmY2OGU1ZDk0MzA2NWMuLjkyZTEzYjE2NTkyYzUxZTIx
ZTQ2NzRmNTgxZjlhOGY2YTZiZWZhODEgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL3BsYXRm
b3JtL21vY2svbWVkaWFzb3VyY2UvTW9ja01lZGlhUGxheWVyTWVkaWFTb3VyY2UuaAorKysgYi9T
b3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9tb2NrL21lZGlhc291cmNlL01vY2tNZWRpYVBsYXllck1l
ZGlhU291cmNlLmgKQEAgLTQ3LDcgKzQ3LDcgQEAgcHVibGljOgogICAgIHZpcnR1YWwgfk1vY2tN
ZWRpYVBsYXllck1lZGlhU291cmNlKCk7CiAKICAgICB2b2lkIGFkdmFuY2VDdXJyZW50VGltZSgp
OwotICAgIHZvaWQgdXBkYXRlRHVyYXRpb24oZG91YmxlKTsKKyAgICB2b2lkIHVwZGF0ZUR1cmF0
aW9uKGNvbnN0IE1lZGlhVGltZSYpOwogCiAgICAgdmlydHVhbCBNZWRpYVBsYXllcjo6UmVhZHlT
dGF0ZSByZWFkeVN0YXRlKCkgY29uc3Qgb3ZlcnJpZGU7CiAgICAgdm9pZCBzZXRSZWFkeVN0YXRl
KE1lZGlhUGxheWVyOjpSZWFkeVN0YXRlKTsKQEAgLTg3LDcgKzg3LDcgQEAgcHJpdmF0ZToKICAg
ICBSZWZQdHI8TW9ja01lZGlhU291cmNlUHJpdmF0ZT4gbV9tZWRpYVNvdXJjZVByaXZhdGU7CiAK
ICAgICBNZWRpYVRpbWUgbV9jdXJyZW50VGltZTsKLSAgICBkb3VibGUgbV9kdXJhdGlvbjsKKyAg
ICBNZWRpYVRpbWUgbV9kdXJhdGlvbjsKICAgICBNZWRpYVBsYXllcjo6UmVhZHlTdGF0ZSBtX3Jl
YWR5U3RhdGU7CiAgICAgTWVkaWFQbGF5ZXI6Ok5ldHdvcmtTdGF0ZSBtX25ldHdvcmtTdGF0ZTsK
ICAgICBib29sIG1fcGxheWluZzsKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3Jt
L21vY2svbWVkaWFzb3VyY2UvTW9ja01lZGlhU291cmNlUHJpdmF0ZS5jcHAgYi9Tb3VyY2UvV2Vi
Q29yZS9wbGF0Zm9ybS9tb2NrL21lZGlhc291cmNlL01vY2tNZWRpYVNvdXJjZVByaXZhdGUuY3Bw
CmluZGV4IDE4ZDNlYWRhNTE5ODBlYjFkYjMyOTQ4OGU3M2M1OTgwNzIxOGUwMzUuLjcyNDkzNzNh
ZWUzNzBjZTE4ODIxZGYxZmRkZjc2MDEyY2U2NDVhN2QgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJD
b3JlL3BsYXRmb3JtL21vY2svbWVkaWFzb3VyY2UvTW9ja01lZGlhU291cmNlUHJpdmF0ZS5jcHAK
KysrIGIvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vbW9jay9tZWRpYXNvdXJjZS9Nb2NrTWVkaWFT
b3VyY2VQcml2YXRlLmNwcApAQCAtNDIsNyArNDIsNyBAQCBSZWZQdHI8TW9ja01lZGlhU291cmNl
UHJpdmF0ZT4gTW9ja01lZGlhU291cmNlUHJpdmF0ZTo6Y3JlYXRlKE1vY2tNZWRpYVBsYXllck1l
ZAogCiBNb2NrTWVkaWFTb3VyY2VQcml2YXRlOjpNb2NrTWVkaWFTb3VyY2VQcml2YXRlKE1vY2tN
ZWRpYVBsYXllck1lZGlhU291cmNlKiBwYXJlbnQpCiAgICAgOiBtX3BsYXllcihwYXJlbnQpCi0g
ICAgLCBtX2R1cmF0aW9uKHN0ZDo6bnVtZXJpY19saW1pdHM8ZmxvYXQ+OjpxdWlldF9OYU4oKSkK
KyAgICAsIG1fZHVyYXRpb24oTWVkaWFUaW1lOjppbnZhbGlkVGltZSgpKQogICAgICwgbV9pc0Vu
ZGVkKGZhbHNlKQogICAgICwgbV90b3RhbFZpZGVvRnJhbWVzKDApCiAgICAgLCBtX2Ryb3BwZWRW
aWRlb0ZyYW1lcygwKQpAQCAtODQsMTIgKzg0LDEyIEBAIHZvaWQgTW9ja01lZGlhU291cmNlUHJp
dmF0ZTo6cmVtb3ZlU291cmNlQnVmZmVyKFNvdXJjZUJ1ZmZlclByaXZhdGUqIGJ1ZmZlcikKICAg
ICBtX3NvdXJjZUJ1ZmZlcnMucmVtb3ZlKHBvcyk7CiB9CiAKLWRvdWJsZSBNb2NrTWVkaWFTb3Vy
Y2VQcml2YXRlOjpkdXJhdGlvbigpCitNZWRpYVRpbWUgTW9ja01lZGlhU291cmNlUHJpdmF0ZTo6
ZHVyYXRpb24oKQogewogICAgIHJldHVybiBtX2R1cmF0aW9uOwogfQogCi12b2lkIE1vY2tNZWRp
YVNvdXJjZVByaXZhdGU6OnNldER1cmF0aW9uKGRvdWJsZSBkdXJhdGlvbikKK3ZvaWQgTW9ja01l
ZGlhU291cmNlUHJpdmF0ZTo6c2V0RHVyYXRpb24oY29uc3QgTWVkaWFUaW1lJiBkdXJhdGlvbikK
IHsKICAgICBpZiAoZHVyYXRpb24gPT0gbV9kdXJhdGlvbikKICAgICAgICAgcmV0dXJuOwpkaWZm
IC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vbW9jay9tZWRpYXNvdXJjZS9Nb2NrTWVk
aWFTb3VyY2VQcml2YXRlLmggYi9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9tb2NrL21lZGlhc291
cmNlL01vY2tNZWRpYVNvdXJjZVByaXZhdGUuaAppbmRleCA4MGU5MWQ1NjkyOGUyZDgwMDI5YmJi
ODlmNmE3NjQ0NWMxMDIzODNmLi5mNzliMTEwMmQ1MjIwNGNlNjMzZjYwMTAxYmE2ZGQ5ZmE0MTdj
OGU1IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9tb2NrL21lZGlhc291cmNl
L01vY2tNZWRpYVNvdXJjZVByaXZhdGUuaAorKysgYi9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9t
b2NrL21lZGlhc291cmNlL01vY2tNZWRpYVNvdXJjZVByaXZhdGUuaApAQCAtNjcsOCArNjcsOCBA
QCBwcml2YXRlOgogCiAgICAgLy8gTWVkaWFTb3VyY2VQcml2YXRlIE92ZXJyaWRlcwogICAgIHZp
cnR1YWwgQWRkU3RhdHVzIGFkZFNvdXJjZUJ1ZmZlcihjb25zdCBDb250ZW50VHlwZSYsIFJlZlB0
cjxTb3VyY2VCdWZmZXJQcml2YXRlPiYpIG92ZXJyaWRlOwotICAgIHZpcnR1YWwgZG91YmxlIGR1
cmF0aW9uKCkgb3ZlcnJpZGU7Ci0gICAgdmlydHVhbCB2b2lkIHNldER1cmF0aW9uKGRvdWJsZSkg
b3ZlcnJpZGU7CisgICAgdmlydHVhbCBNZWRpYVRpbWUgZHVyYXRpb24oKSBvdmVycmlkZTsKKyAg
ICB2aXJ0dWFsIHZvaWQgc2V0RHVyYXRpb24oY29uc3QgTWVkaWFUaW1lJikgb3ZlcnJpZGU7CiAg
ICAgdmlydHVhbCB2b2lkIG1hcmtFbmRPZlN0cmVhbShFbmRPZlN0cmVhbVN0YXR1cykgb3ZlcnJp
ZGU7CiAgICAgdmlydHVhbCB2b2lkIHVubWFya0VuZE9mU3RyZWFtKCkgb3ZlcnJpZGU7CiAgICAg
dmlydHVhbCBNZWRpYVBsYXllcjo6UmVhZHlTdGF0ZSByZWFkeVN0YXRlKCkgY29uc3Qgb3ZlcnJp
ZGU7CkBAIC04MCw3ICs4MCw3IEBAIHByaXZhdGU6CiAgICAgZnJpZW5kIGNsYXNzIE1vY2tTb3Vy
Y2VCdWZmZXJQcml2YXRlOwogCiAgICAgTW9ja01lZGlhUGxheWVyTWVkaWFTb3VyY2UqIG1fcGxh
eWVyOwotICAgIGRvdWJsZSBtX2R1cmF0aW9uOworICAgIE1lZGlhVGltZSBtX2R1cmF0aW9uOwog
ICAgIFZlY3RvcjxSZWZQdHI8TW9ja1NvdXJjZUJ1ZmZlclByaXZhdGU+PiBtX3NvdXJjZUJ1ZmZl
cnM7CiAgICAgVmVjdG9yPE1vY2tTb3VyY2VCdWZmZXJQcml2YXRlKj4gbV9hY3RpdmVTb3VyY2VC
dWZmZXJzOwogICAgIGJvb2wgbV9pc0VuZGVkOwo=
</data>

          </attachment>
      

    </bug>

</bugzilla>