<?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>127571</bug_id>
          
          <creation_ts>2014-01-24 11:29:33 -0800</creation_ts>
          <short_desc>Get rid of monotonicallyIncreasingTimeMS and start using std::chrono instead</short_desc>
          <delta_ts>2014-01-24 16:49:50 -0800</delta_ts>
          <reporter_accessible>1</reporter_accessible>
          <cclist_accessible>1</cclist_accessible>
          <classification_id>1</classification_id>
          <classification>Unclassified</classification>
          <product>WebKit</product>
          <component>New Bugs</component>
          <version>528+ (Nightly build)</version>
          <rep_platform>Unspecified</rep_platform>
          <op_sys>Unspecified</op_sys>
          <bug_status>RESOLVED</bug_status>
          <resolution>FIXED</resolution>
          
          
          <bug_file_loc></bug_file_loc>
          <status_whiteboard></status_whiteboard>
          <keywords></keywords>
          <priority>P2</priority>
          <bug_severity>Normal</bug_severity>
          <target_milestone>---</target_milestone>
          
          
          <everconfirmed>1</everconfirmed>
          <reporter name="Anders Carlsson">andersca</reporter>
          <assigned_to name="Anders Carlsson">andersca</assigned_to>
          <cc>benjamin</cc>
    
    <cc>cmarcelo</cc>
    
    <cc>commit-queue</cc>
    
    <cc>esprehn+autocc</cc>
    
    <cc>kangil.han</cc>
          

      

      

      

          <comment_sort_order>oldest_to_newest</comment_sort_order>  
          <long_desc isprivate="0" >
    <commentid>971672</commentid>
    <comment_count>0</comment_count>
    <who name="Anders Carlsson">andersca</who>
    <bug_when>2014-01-24 11:29:33 -0800</bug_when>
    <thetext>Get rid of monotonicallyIncreasingTimeMS and start using std::chrono instead</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>971677</commentid>
    <comment_count>1</comment_count>
      <attachid>222129</attachid>
    <who name="Anders Carlsson">andersca</who>
    <bug_when>2014-01-24 11:39:13 -0800</bug_when>
    <thetext>Created attachment 222129
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>971679</commentid>
    <comment_count>2</comment_count>
    <who name="WebKit Commit Bot">commit-queue</who>
    <bug_when>2014-01-24 11:40:54 -0800</bug_when>
    <thetext>Attachment 222129 did not pass style-queue:


ERROR: Source/WTF/wtf/StdLibExtras.h:405:  Do not use &apos;using namespace std::literals::chrono_literals;&apos;.  [build/using_namespace] [4]
ERROR: Source/WTF/wtf/StdLibExtras.h:405:  std::literals::chrono_literals is incorrectly named. Don&apos;t use underscores in your identifier names.  [readability/naming/underscores] [4]
Total errors found: 2 in 15 files


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

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

&gt; Source/WTF/wtf/StdLibExtras.h:380
&gt; +    namespace literals {
&gt; +        namespace chrono_literals {
&gt; +            CONSTEXPR inline chrono::seconds operator&quot;&quot; _s(unsigned long long s)

We don&apos;t usually indent namespace content.

&gt; Source/WebCore/page/Settings.cpp:149
&gt; -static const int layoutScheduleThreshold = 250;
&gt; +static const auto layoutScheduleThreshold = 250_ms;

nice!</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>971693</commentid>
    <comment_count>4</comment_count>
      <attachid>222133</attachid>
    <who name="Anders Carlsson">andersca</who>
    <bug_when>2014-01-24 12:15:55 -0800</bug_when>
    <thetext>Created attachment 222133
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>971695</commentid>
    <comment_count>5</comment_count>
    <who name="WebKit Commit Bot">commit-queue</who>
    <bug_when>2014-01-24 12:17:55 -0800</bug_when>
    <thetext>Attachment 222133 did not pass style-queue:


ERROR: Source/WTF/wtf/StdLibExtras.h:408:  Do not use &apos;using namespace std::literals::chrono_literals;&apos;.  [build/using_namespace] [4]
ERROR: Source/WTF/wtf/StdLibExtras.h:408:  std::literals::chrono_literals is incorrectly named. Don&apos;t use underscores in your identifier names.  [readability/naming/underscores] [4]
Total errors found: 2 in 15 files


If any of these errors are false positives, please file a bug against check-webkit-style.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>971706</commentid>
    <comment_count>6</comment_count>
    <who name="Anders Carlsson">andersca</who>
    <bug_when>2014-01-24 12:37:20 -0800</bug_when>
    <thetext>Committed r162716: &lt;http://trac.webkit.org/changeset/162716&gt;</thetext>
  </long_desc>
      
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>222129</attachid>
            <date>2014-01-24 11:39:13 -0800</date>
            <delta_ts>2014-01-24 12:15:52 -0800</delta_ts>
            <desc>Patch</desc>
            <filename>bug-127571-20140124113912.patch</filename>
            <type>text/plain</type>
            <size>23745</size>
            <attacher name="Anders Carlsson">andersca</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMTYyNzA4CmRpZmYgLS1naXQgYS9Tb3VyY2UvV1RGL0NoYW5n
ZUxvZyBiL1NvdXJjZS9XVEYvQ2hhbmdlTG9nCmluZGV4IDg0YzdhMTgxOTNiYWU2YTUyOTY5ZWFh
ZTYxYjdmNTE0OGYwMDc2YTQuLjhmZTg4NWFmZjhhY2NhMmIxZDhhMmQyNzg1NTg0NjU0ZWU3NmQw
YmUgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XVEYvQ2hhbmdlTG9nCisrKyBiL1NvdXJjZS9XVEYvQ2hh
bmdlTG9nCkBAIC0xLDUgKzEsMjMgQEAKIDIwMTQtMDEtMjQgIEFuZGVycyBDYXJsc3NvbiAgPGFu
ZGVyc2NhQGFwcGxlLmNvbT4KIAorICAgICAgICBHZXQgcmlkIG9mIG1vbm90b25pY2FsbHlJbmNy
ZWFzaW5nVGltZU1TIGFuZCBzdGFydCB1c2luZyBzdGQ6OmNocm9ubyBpbnN0ZWFkCisgICAgICAg
IGh0dHBzOi8vYnVncy53ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD0xMjc1NzEKKworICAgICAg
ICBSZXZpZXdlZCBieSBOT0JPRFkgKE9PUFMhKS4KKworICAgICAgICAqIHd0Zi9Db21waWxlci5o
OgorICAgICAgICBBZGQgYSBDT05TVEVYUFIgZGVmaW5lIHNvIHdlIGNhbiBzdGlsbCB1c2UgY29u
c3RleHByIG9uIGNvbXBpbGVycyB0aGF0IGRvbid0IHN1cHBvcnQgdGhlbSAoTVNWQykuCisKKyAg
ICAgICAgKiB3dGYvQ3VycmVudFRpbWUuaDoKKyAgICAgICAgUmVtb3ZlIG1vbm90b25pY2FsbHlJ
bmNyZWFzaW5nVGltZU1TKCkuCisKKyAgICAgICAgKiB3dGYvU3RkTGliRXh0cmFzLmg6CisgICAg
ICAgIChzdGQ6OmxpdGVyYWxzOjpjaHJvbm9fbGl0ZXJhbHM6Om9wZXJhdG9yIF9zKToKKyAgICAg
ICAgKHN0ZDo6bGl0ZXJhbHM6OmNocm9ub19saXRlcmFsczo6b3BlcmF0b3IgX21zKToKKyAgICAg
ICAgQWRkIF9zIGFuZCBfbXMgbGl0ZXJhbHMuIE9uY2Ugd2Ugc3dpdGNoIG92ZXIgdG8gQysrMTQs
IHdlIGNhbiBkcm9wIHRoZW0gYW5kIGp1c3QgdXNlIHRoZSBidWlsdC1pbiBvbmVzLgorCisyMDE0
LTAxLTI0ICBBbmRlcnMgQ2FybHNzb24gIDxhbmRlcnNjYUBhcHBsZS5jb20+CisKICAgICAgICAg
VGhlIENYWF9FWFBMSUNJVF9DT05WRVJTSU9OUyBDT01QSUxFUl9TVVBQT1JUUyBtYWNybyBoYXMg
YmVlbiByZW1vdmVkLCBhbmQgYWxsCiAgICAgICAgIGNvbXBpbGVycyBzdXBwb3J0IGV4cGxpY2l0
IGNvbnZlcnNpb25zIG5vdyBzbyBzaW1wbHkgcmVtb3ZlIHRoZSAjaWZkZWYuCiAKZGlmZiAtLWdp
dCBhL1NvdXJjZS9XZWJDb3JlL0NoYW5nZUxvZyBiL1NvdXJjZS9XZWJDb3JlL0NoYW5nZUxvZwpp
bmRleCAwNGJhN2M2NGFlN2MyNzM5NDZjYjNmMGY2ODE0NTBkYzY4MGVmMGJlLi4xZTBmNjNjN2Vh
YzI4NDE0Yjg1NzM1MzQ0ZTcwOWI3YjEzN2E0NzcyIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29y
ZS9DaGFuZ2VMb2cKKysrIGIvU291cmNlL1dlYkNvcmUvQ2hhbmdlTG9nCkBAIC0xLDMgKzEsNDgg
QEAKKzIwMTQtMDEtMjQgIEFuZGVycyBDYXJsc3NvbiAgPGFuZGVyc2NhQGFwcGxlLmNvbT4KKwor
ICAgICAgICBHZXQgcmlkIG9mIG1vbm90b25pY2FsbHlJbmNyZWFzaW5nVGltZU1TIGFuZCBzdGFy
dCB1c2luZyBzdGQ6OmNocm9ubyBpbnN0ZWFkCisgICAgICAgIGh0dHBzOi8vYnVncy53ZWJraXQu
b3JnL3Nob3dfYnVnLmNnaT9pZD0xMjc1NzEKKworICAgICAgICBSZXZpZXdlZCBieSBOT0JPRFkg
KE9PUFMhKS4KKworICAgICAgICBXZWJDb3JlLmV4cC5pbjoKKyAgICAgICAgVXBkYXRlIHN5bWJv
bHMuCisKKyAgICAgICAgKiBkb20vRG9jdW1lbnQuY3BwOgorICAgICAgICAoV2ViQ29yZTo6RG9j
dW1lbnQ6OkRvY3VtZW50KToKKyAgICAgICAgKFdlYkNvcmU6OkRvY3VtZW50OjppbXBsaWNpdENs
b3NlKToKKyAgICAgICAgKFdlYkNvcmU6OkRvY3VtZW50OjpzZXRQYXJzaW5nKToKKyAgICAgICAg
KFdlYkNvcmU6OkRvY3VtZW50Ojppc0xheW91dFRpbWVyQWN0aXZlKToKKyAgICAgICAgKFdlYkNv
cmU6OkRvY3VtZW50OjptaW5pbXVtTGF5b3V0RGVsYXkpOgorICAgICAgICAoV2ViQ29yZTo6RG9j
dW1lbnQ6OmVsYXBzZWRUaW1lKToKKyAgICAgICAgKFdlYkNvcmU6OkRvY3VtZW50Ojp3cml0ZSk6
CisgICAgICAgIChXZWJDb3JlOjpEb2N1bWVudDo6c3R5bGVSZXNvbHZlckNoYW5nZWQpOgorICAg
ICAgICAqIGRvbS9Eb2N1bWVudC5oOgorICAgICAgICBVc2Ugc3RkOjpjaHJvbm8gaW5zdGVhZCBv
ZiBkb3VibGVzIGZvciB0aGUgdGltZXMgYW5kIGR1cmF0aW9ucy4KKworICAgICAgICAqIGZpbGVh
cGkvRmlsZVJlYWRlci5jcHA6CisgICAgICAgIChXZWJDb3JlOjpGaWxlUmVhZGVyOjpGaWxlUmVh
ZGVyKToKKyAgICAgICAgKFdlYkNvcmU6OkZpbGVSZWFkZXI6OmRpZFJlY2VpdmVEYXRhKToKKyAg
ICAgICAgKiBmaWxlYXBpL0ZpbGVSZWFkZXIuaDoKKyAgICAgICAgU3dpdGNoIG92ZXIgdG8gc3Rk
OjpjaHJvbm8uCisKKyAgICAgICAgKiBwYWdlL0ZyYW1lVmlldy5jcHA6CisgICAgICAgIChXZWJD
b3JlOjpGcmFtZVZpZXc6OmxheW91dCk6CisgICAgICAgIChXZWJDb3JlOjpGcmFtZVZpZXc6Omxh
eW91dFRpbWVyRmlyZWQpOgorICAgICAgICAoV2ViQ29yZTo6RnJhbWVWaWV3OjpzY2hlZHVsZVJl
bGF5b3V0KToKKyAgICAgICAgKFdlYkNvcmU6OkZyYW1lVmlldzo6c2NoZWR1bGVSZWxheW91dE9m
U3VidHJlZSk6CisgICAgICAgIFVwZGF0ZSBmb3IgRG9jdW1lbnQ6OmVsYXBzZWRUaW1lKCkgY2hh
bmdlcy4KKworICAgICAgICAqIHBhZ2UvU2V0dGluZ3MuY3BwOgorICAgICAgICAoV2ViQ29yZTo6
U2V0dGluZ3M6OnNldExheW91dEludGVydmFsKToKKyAgICAgICAgKiBwYWdlL1NldHRpbmdzLmg6
CisgICAgICAgIChXZWJDb3JlOjpTZXR0aW5nczo6bGF5b3V0SW50ZXJ2YWwpOgorICAgICAgICBD
aGFuZ2UgbGF5b3V0SW50ZXJ2YWwgdG8gYmUgc3RkOjpjaHJvbm86Om1pbGxpc2Vjb25kcyBpbnN0
ZWFkIG9mIGludC4KKworICAgICAgICAqIHBsYXRmb3JtL1RpbWVyLmg6CisgICAgICAgIChXZWJD
b3JlOjpUaW1lckJhc2U6OnN0YXJ0T25lU2hvdCk6CisgICAgICAgIEFkZCBhbiBvdmVybG9hZCB0
aGF0IHRha2VzIHN0ZDo6Y2hyb25vOjptaWxsaXNlY29uZHMuCisKIDIwMTQtMDEtMjQgIERhbmll
bCBCYXRlcyAgPGRhYmF0ZXNAYXBwbGUuY29tPgogCiAgICAgICAgIEZpeCB0aGUgV2luZG93cyBi
dWlsZCBhZnRlciA8aHR0cDovL3RyYWMud2Via2l0Lm9yZy9jaGFuZ2VzZXQvMTYyNzA0PgpkaWZm
IC0tZ2l0IGEvU291cmNlL1dlYktpdC9tYWMvQ2hhbmdlTG9nIGIvU291cmNlL1dlYktpdC9tYWMv
Q2hhbmdlTG9nCmluZGV4IDBhYjc3Y2M5MTQxMWIxNmUzYTgwMTVjNjIxNmZiZjY0ODNhNGJlMzEu
LjMwMjIzYzljYzMzZDk1ZTdjYjgyNDkyM2QxYzkxNjUxOTE3ZWRjZTMgMTAwNjQ0Ci0tLSBhL1Nv
dXJjZS9XZWJLaXQvbWFjL0NoYW5nZUxvZworKysgYi9Tb3VyY2UvV2ViS2l0L21hYy9DaGFuZ2VM
b2cKQEAgLTEsMyArMSwxNCBAQAorMjAxNC0wMS0yNCAgQW5kZXJzIENhcmxzc29uICA8YW5kZXJz
Y2FAYXBwbGUuY29tPgorCisgICAgICAgIEdldCByaWQgb2YgbW9ub3RvbmljYWxseUluY3JlYXNp
bmdUaW1lTVMgYW5kIHN0YXJ0IHVzaW5nIHN0ZDo6Y2hyb25vIGluc3RlYWQKKyAgICAgICAgaHR0
cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hvd19idWcuY2dpP2lkPTEyNzU3MQorCisgICAgICAgIFJl
dmlld2VkIGJ5IE5PQk9EWSAoT09QUyEpLgorCisgICAgICAgICogV2ViVmlldy9XZWJWaWV3Lm1t
OgorICAgICAgICAoLVtXZWJWaWV3IF9wcmVmZXJlbmNlc0NoYW5nZWQ6XSk6CisgICAgICAgIENv
bnZlcnQgdGhlIGxheW91dCBpbnRlcnZhbCB0byBzdGQ6OmNocm9ubzo6bWlsbGlzZWNvbmRzLgor
CiAyMDE0LTAxLTI0ICBaYW4gRG9iZXJzZWsgIDx6ZG9iZXJzZWtAaWdhbGlhLmNvbT4KIAogICAg
ICAgICBNb3ZlIEhpc3RvcnlJdGVtIHRvIHN0ZDo6dW5pcXVlX3B0cgpkaWZmIC0tZ2l0IGEvU291
cmNlL1dURi93dGYvQ29tcGlsZXIuaCBiL1NvdXJjZS9XVEYvd3RmL0NvbXBpbGVyLmgKaW5kZXgg
MTc5MWI2MzNjMTRkNTYyOGIwNjIzYmRiMTZhYzA0NjYwYjdhYmEzMi4uYTI5MWE1MjgwNWQyMjUw
YmRmNWQxMTgzMDgyNWNmYWU3NWYwOTQzYyAxMDA2NDQKLS0tIGEvU291cmNlL1dURi93dGYvQ29t
cGlsZXIuaAorKysgYi9Tb3VyY2UvV1RGL3d0Zi9Db21waWxlci5oCkBAIC00NSw2ICs0NSw3IEBA
CiAjZGVmaW5lIFdURl9DT01QSUxFUl9TVVBQT1JUU19DX1NUQVRJQ19BU1NFUlQgX19oYXNfZmVh
dHVyZShjX3N0YXRpY19hc3NlcnQpCiAjZGVmaW5lIFdURl9DT01QSUxFUl9TVVBQT1JUU19DWFhf
UkVGRVJFTkNFX1FVQUxJRklFRF9GVU5DVElPTlMgX19oYXNfZmVhdHVyZShjeHhfcmVmZXJlbmNl
X3F1YWxpZmllZF9mdW5jdGlvbnMpCiAjZGVmaW5lIFdURl9DT01QSUxFUl9TVVBQT1JUU19DWFhf
R0VORVJBTElaRURfSU5JVElBTElaRVJTIF9faGFzX2ZlYXR1cmUoY3h4X2dlbmVyYWxpemVkX2lu
aXRpYWxpemVycykKKyNkZWZpbmUgV1RGX0NPTVBJTEVSX1NVUFBPUlRTX0NYWF9DT05TVEVYUFIg
X19oYXNfZmVhdHVyZShjeHhfY29uc3RleHByKQogI2VuZGlmCiAKIC8qIENPTVBJTEVSKEdDQykg
LSBHTlUgQ29tcGlsZXIgQ29sbGVjdGlvbiAqLwpAQCAtNTUsNiArNTYsNyBAQAogI2RlZmluZSBX
VEZfQ09NUElMRVJfR0NDIDEKICNkZWZpbmUgR0NDX1ZFUlNJT04gKF9fR05VQ19fICogMTAwMDAg
KyBfX0dOVUNfTUlOT1JfXyAqIDEwMCArIF9fR05VQ19QQVRDSExFVkVMX18pCiAjZGVmaW5lIEdD
Q19WRVJTSU9OX0FUX0xFQVNUKG1ham9yLCBtaW5vciwgcGF0Y2gpIChHQ0NfVkVSU0lPTiA+PSAo
bWFqb3IgKiAxMDAwMCArIG1pbm9yICogMTAwICsgcGF0Y2gpKQorCiAjZW5kaWYKIAogLyogRGVm
aW5lIEdDQ19WRVJTSU9OX0FUX0xFQVNUIGZvciBhbGwgY29tcGlsZXJzLCBzbyB3ZSBjYW4gd3Jp
dGUgdGhpbmdzIGxpa2UgR0NDX1ZFUlNJT05fQVRfTEVBU1QoNCwgMSwgMCkuICovCkBAIC02Nyw2
ICs2OSwxMCBAQAogI2Vycm9yICJQbGVhc2UgdXNlIGEgbmV3ZXIgdmVyc2lvbiBvZiBHQ0MuIFdl
YktpdCByZXF1aXJlcyBHQ0MgNC43LjAgb3IgbmV3ZXIgdG8gY29tcGlsZS4iCiAjZW5kaWYKIAor
I2lmIENPTVBJTEVSKEdDQykgJiYgIUNPTVBJTEVSKENMQU5HKQorI2RlZmluZSBXVEZfQ09NUElM
RVJfU1VQUE9SVFNfQ1hYX0NPTlNURVhQUiAxCisjZW5kaWYKKwogI2lmIENPTVBJTEVSKEdDQykg
JiYgIUNPTVBJTEVSKENMQU5HKSAmJiBkZWZpbmVkKF9fU1REQ19WRVJTSU9OX18pICYmIF9fU1RE
Q19WRVJTSU9OX18gPj0gMjAxMTEyTAogI2RlZmluZSBXVEZfQ09NUElMRVJfU1VQUE9SVFNfQ19T
VEFUSUNfQVNTRVJUIDEKICNlbmRpZgpAQCAtMjU2LDQgKzI2MiwxMyBAQAogI2RlZmluZSBXQVJO
X1VOVVNFRF9SRVRVUk4KICNlbmRpZgogCisvKiBDT05TVEVYUFIgKi8KKyNpZiAhZGVmaW5lZChD
T05TVEVYUFIpICYmIENPTVBJTEVSX1NVUFBPUlRTKENYWF9DT05TVEVYUFIpCisjZGVmaW5lIENP
TlNURVhQUiBjb25zdGV4cHIKKyNlbmRpZgorCisjaWYgIWRlZmluZWQoQ09OU1RFWFBSKQorI2Rl
ZmluZSBDT05TVEVYUFIKKyNlbmRpZgorCiAjZW5kaWYgLyogV1RGX0NvbXBpbGVyX2ggKi8KZGlm
ZiAtLWdpdCBhL1NvdXJjZS9XVEYvd3RmL0N1cnJlbnRUaW1lLmggYi9Tb3VyY2UvV1RGL3d0Zi9D
dXJyZW50VGltZS5oCmluZGV4IGJmOWZiMzNhZmZiOTNjZTM3ZGNkNWI1YjdlNWVlNWIzYTNlMzMw
MDcuLjc4ZTU4MDE3ZjlhNGY2YjZmNWYyNTM4NjMxMWYwMmMxNTE4OTg5NjcgMTAwNjQ0Ci0tLSBh
L1NvdXJjZS9XVEYvd3RmL0N1cnJlbnRUaW1lLmgKKysrIGIvU291cmNlL1dURi93dGYvQ3VycmVu
dFRpbWUuaApAQCAtNTUsMTEgKzU1LDYgQEAgaW5saW5lIGRvdWJsZSBjdXJyZW50VGltZU1TKCkK
IC8vIE5UUCBvciBtYW51YWwgYWRqdXN0bWVudHMsIHNvIGl0IGlzIGJldHRlciBzdWl0ZWQgZm9y
IGVsYXBzZWQgdGltZSBtZWFzdXJlbWVudC4KIFdURl9FWFBPUlRfUFJJVkFURSBkb3VibGUgbW9u
b3RvbmljYWxseUluY3JlYXNpbmdUaW1lKCk7CiAKLWlubGluZSBkb3VibGUgbW9ub3RvbmljYWxs
eUluY3JlYXNpbmdUaW1lTVMoKQotewotICAgIHJldHVybiBtb25vdG9uaWNhbGx5SW5jcmVhc2lu
Z1RpbWUoKSAqIDEwMDAuMDsKLX0KLQogLy8gUmV0dXJucyB0aGUgY3VycmVudCBDUFUgdGltZSBv
ZiB0aGUgY3VycmVudCB0aHJlYWQgaW4gc2Vjb25kcy4KIC8vIFByZWNpc2lvbiB2YXJpZXMgZGVw
ZW5kaW5nIG9uIHBsYXRmb3JtIGJ1dCBpcyB1c3VhbGx5IGFzIGdvb2Qgb3IgYmV0dGVyCiAvLyB0
aGFuIGEgbWlsbGlzZWNvbmQuCkBAIC03Myw3ICs2OCw2IEBAIFdURl9FWFBPUlRfUFJJVkFURSBk
b3VibGUgY3VycmVudENQVVRpbWVNUygpOwogdXNpbmcgV1RGOjpjdXJyZW50VGltZTsKIHVzaW5n
IFdURjo6Y3VycmVudFRpbWVNUzsKIHVzaW5nIFdURjo6bW9ub3RvbmljYWxseUluY3JlYXNpbmdU
aW1lOwotdXNpbmcgV1RGOjptb25vdG9uaWNhbGx5SW5jcmVhc2luZ1RpbWVNUzsKIHVzaW5nIFdU
Rjo6Y3VycmVudENQVVRpbWU7CiAKICNlbmRpZiAvLyBDdXJyZW50VGltZV9oCmRpZmYgLS1naXQg
YS9Tb3VyY2UvV1RGL3d0Zi9TdGRMaWJFeHRyYXMuaCBiL1NvdXJjZS9XVEYvd3RmL1N0ZExpYkV4
dHJhcy5oCmluZGV4IGEwNGE0ZjU4M2JhMzAzMzNmYzQ2ODA2YzAzNjM1ZGQ2ZWQxYjJkODEuLmJm
ZWQ1Yzg0ODc0NDdlNmVkY2MwMGEzYmQ2NDJmZGU2NjE3OGFiYmUgMTAwNjQ0Ci0tLSBhL1NvdXJj
ZS9XVEYvd3RmL1N0ZExpYkV4dHJhcy5oCisrKyBiL1NvdXJjZS9XVEYvd3RmL1N0ZExpYkV4dHJh
cy5oCkBAIC0yNyw2ICsyNyw3IEBACiAjaWZuZGVmIFdURl9TdGRMaWJFeHRyYXNfaAogI2RlZmlu
ZSBXVEZfU3RkTGliRXh0cmFzX2gKIAorI2luY2x1ZGUgPGNocm9ubz4KICNpbmNsdWRlIDxtZW1v
cnk+CiAjaW5jbHVkZSA8d3RmL0Fzc2VydGlvbnMuaD4KICNpbmNsdWRlIDx3dGYvQ2hlY2tlZEFy
aXRobWV0aWMuaD4KQEAgLTM3MSw2ICszNzIsMjIgQEAgbmFtZXNwYWNlIHN0ZCB7CiAgICAgfTsK
IAogICAgIHRlbXBsYXRlPHNpemVfdCBsZW5ndGg+IHN0cnVjdCBtYWtlX2luZGV4X3NlcXVlbmNl
IDogcHVibGljIG1ha2VfaW5kZXhfc2VxdWVuY2VfaGVscGVyPGxlbmd0aD46OnR5cGUgeyB9Owor
CisgICAgLy8gVGhlc2UgbGl0ZXJhbHMgYXJlIGF2YWlsYWJsZSBpbiBDKysxNCwgc28gb25jZSB3
ZSByZXF1aXJlIEMrKzE0IGNvbXBpbGVycyB3ZSBjYW4gZ2V0IHJpZCBvZiB0aGVtIGhlcmUuCisg
ICAgLy8gKFVzZXItbGl0ZXJhbHMgbmVlZCB0byBoYXZlIGEgbGVhZGluZyB1bmRlcnNjb3JlIHNv
IHdlIGFkZCBpdCBoZXJlIC0gdGhlICJyZWFsIiBsaXRlcmFscyBkb24ndCBoYXZlIHVuZGVyc2Nv
cmVzKS4KKyAgICBuYW1lc3BhY2UgbGl0ZXJhbHMgeworICAgICAgICBuYW1lc3BhY2UgY2hyb25v
X2xpdGVyYWxzIHsKKyAgICAgICAgICAgIENPTlNURVhQUiBpbmxpbmUgY2hyb25vOjpzZWNvbmRz
IG9wZXJhdG9yIiIgX3ModW5zaWduZWQgbG9uZyBsb25nIHMpCisgICAgICAgICAgICB7CisgICAg
ICAgICAgICAgICAgcmV0dXJuIGNocm9ubzo6c2Vjb25kcyhzdGF0aWNfY2FzdDxjaHJvbm86OnNl
Y29uZHM6OnJlcD4ocykpOworICAgICAgICAgICAgfQorCisgICAgICAgICAgICBDT05TVEVYUFIg
Y2hyb25vOjptaWxsaXNlY29uZHMgb3BlcmF0b3IiIiBfbXModW5zaWduZWQgbG9uZyBsb25nIG1z
KQorICAgICAgICAgICAgeworICAgICAgICAgICAgICAgIHJldHVybiBjaHJvbm86Om1pbGxpc2Vj
b25kcyhzdGF0aWNfY2FzdDxjaHJvbm86Om1pbGxpc2Vjb25kczo6cmVwPihtcykpOworICAgICAg
ICAgICAgfQorICAgICAgICB9CisgICAgfQogfQogCiB1c2luZyBXVEY6OktCOwpAQCAtMzg0LDQg
KzQwMSw3IEBAIHVzaW5nIFdURjo6YXBwcm94aW1hdGVCaW5hcnlTZWFyY2g7CiB1c2luZyBXVEY6
OmJpdHdpc2VfY2FzdDsKIHVzaW5nIFdURjo6c2FmZUNhc3Q7CiAKKy8vIFdlIG5vcm1hbGx5IGRv
bid0IHdhbnQgdG8gYnJpbmcgaW4gZW50aXJlIHN0ZCBuYW1lc3BhY2VzLCBidXQgbGl0ZXJhbHMg
YXJlIGFuIGV4Y2VwdGlvbi4KK3VzaW5nIG5hbWVzcGFjZSBzdGQ6OmxpdGVyYWxzOjpjaHJvbm9f
bGl0ZXJhbHM7CisKICNlbmRpZiAvLyBXVEZfU3RkTGliRXh0cmFzX2gKZGlmZiAtLWdpdCBhL1Nv
dXJjZS9XZWJDb3JlL1dlYkNvcmUuZXhwLmluIGIvU291cmNlL1dlYkNvcmUvV2ViQ29yZS5leHAu
aW4KaW5kZXggMGI2NGNhMzEyZDAzOTdiYjJjMTZjYzdlZDk1OGM5MGRkNmM0MTFiYS4uZTNlYmU5
NTc2NDZhNzE2MWI2Y2E2MDlmMTUyOTM1MjFjYzAzNjc1NCAxMDA2NDQKLS0tIGEvU291cmNlL1dl
YkNvcmUvV2ViQ29yZS5leHAuaW4KKysrIGIvU291cmNlL1dlYkNvcmUvV2ViQ29yZS5leHAuaW4K
QEAgLTExODksNyArMTE4OSw3IEBAIF9fWk43V2ViQ29yZThTZXR0aW5nczE2c2V0SW1hZ2VzRW5h
YmxlZEViCiBfX1pON1dlYkNvcmU4U2V0dGluZ3MxNnNldFNjcmlwdEVuYWJsZWRFYgogX19aTjdX
ZWJDb3JlOFNldHRpbmdzMTZzZXRVc2VzUGFnZUNhY2hlRWIKIF9fWk43V2ViQ29yZThTZXR0aW5n
czE3c2V0UGx1Z2luc0VuYWJsZWRFYgotX19aTjdXZWJDb3JlOFNldHRpbmdzMTdzZXRMYXlvdXRJ
bnRlcnZhbEVpCitfX1pON1dlYkNvcmU4U2V0dGluZ3MxN3NldExheW91dEludGVydmFsRU5TdDNf
XzE2Y2hyb25vOGR1cmF0aW9uSXhOUzFfNXJhdGlvSUxsMUVMbDEwMDBFRUVFRQogX19aTjdXZWJD
b3JlOFNldHRpbmdzMThzZXREZWZhdWx0Rm9udFNpemVFaQogX19aTjdXZWJDb3JlOFNldHRpbmdz
MThzZXRGaXhlZEZvbnRGYW1pbHlFUktOM1dURjEyQXRvbWljU3RyaW5nRTExVVNjcmlwdENvZGUK
IF9fWk43V2ViQ29yZThTZXR0aW5nczE4c2V0TWluaW11bUZvbnRTaXplRWkKZGlmZiAtLWdpdCBh
L1NvdXJjZS9XZWJDb3JlL2RvbS9Eb2N1bWVudC5jcHAgYi9Tb3VyY2UvV2ViQ29yZS9kb20vRG9j
dW1lbnQuY3BwCmluZGV4IGE2MDAyNTEyYTE4Yjk5MWZjN2UzYWJiMjJjMTAzYWE0MTFiYjg0NWQu
LmNlYjVkYmRkYzZmOTFlYTI5YzIxNDUxOTFjZDE5OWY1MDcxMWRhMTYgMTAwNjQ0Ci0tLSBhL1Nv
dXJjZS9XZWJDb3JlL2RvbS9Eb2N1bWVudC5jcHAKKysrIGIvU291cmNlL1dlYkNvcmUvZG9tL0Rv
Y3VtZW50LmNwcApAQCAtNDQxLDcgKzQ0MSw3IEBAIERvY3VtZW50OjpEb2N1bWVudChGcmFtZSog
ZnJhbWUsIGNvbnN0IFVSTCYgdXJsLCB1bnNpZ25lZCBkb2N1bWVudENsYXNzZXMsIHVuc2lnCiAg
ICAgLCBtX2Nzc1RhcmdldChudWxscHRyKQogICAgICwgbV9wcm9jZXNzaW5nTG9hZEV2ZW50KGZh
bHNlKQogICAgICwgbV9sb2FkRXZlbnRGaW5pc2hlZChmYWxzZSkKLSAgICAsIG1fc3RhcnRUaW1l
KG1vbm90b25pY2FsbHlJbmNyZWFzaW5nVGltZU1TKCkpCisgICAgLCBtX3N0YXJ0VGltZShzdGQ6
OmNocm9ubzo6c3RlYWR5X2Nsb2NrOjpub3coKSkKICAgICAsIG1fb3Zlck1pbmltdW1MYXlvdXRU
aHJlc2hvbGQoZmFsc2UpCiAgICAgLCBtX3NjcmlwdFJ1bm5lcihzdGQ6Om1ha2VfdW5pcXVlPFNj
cmlwdFJ1bm5lcj4oKnRoaXMpKQogICAgICwgbV94bWxWZXJzaW9uKEFTQ0lJTGl0ZXJhbCgiMS4w
IikpCkBAIC0yNDI3LDcgKzI0MjcsNyBAQCB2b2lkIERvY3VtZW50OjppbXBsaWNpdENsb3NlKCkK
ICAgICAgICAgZi0+bG9hZGVyKCkuaGFuZGxlZE9ubG9hZEV2ZW50cygpOwogI2lmZGVmIElOU1RS
VU1FTlRfTEFZT1VUX1NDSEVEVUxJTkcKICAgICBpZiAoIW93bmVyRWxlbWVudCgpKQotICAgICAg
ICBwcmludGYoIm9ubG9hZCBmaXJlZCBhdCAlZFxuIiwgZWxhcHNlZFRpbWUoKSk7CisgICAgICAg
IHByaW50Zigib25sb2FkIGZpcmVkIGF0ICVsbGRcbiIsIGVsYXBzZWRUaW1lKCkuY291bnQoKSk7
CiAjZW5kaWYKIAogICAgIC8vIEFuIGV2ZW50IGhhbmRsZXIgbWF5IGhhdmUgcmVtb3ZlZCB0aGUg
ZnJhbWUKQEAgLTI0OTksNyArMjQ5OSw3IEBAIHZvaWQgRG9jdW1lbnQ6OnNldFBhcnNpbmcoYm9v
bCBiKQogCiAjaWZkZWYgSU5TVFJVTUVOVF9MQVlPVVRfU0NIRURVTElORwogICAgIGlmICghb3du
ZXJFbGVtZW50KCkgJiYgIW1fYlBhcnNpbmcpCi0gICAgICAgIHByaW50ZigiUGFyc2luZyBmaW5p
c2hlZCBhdCAlZFxuIiwgZWxhcHNlZFRpbWUoKSk7CisgICAgICAgIHByaW50ZigiUGFyc2luZyBm
aW5pc2hlZCBhdCAlbGxkXG4iLCBlbGFwc2VkVGltZSgpLmNvdW50KCkpOwogI2VuZGlmCiB9CiAK
QEAgLTI1MTcsMjQgKzI1MTcsMjYgQEAgYm9vbCBEb2N1bWVudDo6c2hvdWxkU2NoZWR1bGVMYXlv
dXQoKQogICAgIAogYm9vbCBEb2N1bWVudDo6aXNMYXlvdXRUaW1lckFjdGl2ZSgpCiB7Ci0gICAg
cmV0dXJuIHZpZXcoKSAmJiB2aWV3KCktPmxheW91dFBlbmRpbmcoKSAmJiAhbWluaW11bUxheW91
dERlbGF5KCk7CisgICAgcmV0dXJuIHZpZXcoKSAmJiB2aWV3KCktPmxheW91dFBlbmRpbmcoKSAm
JiAhbWluaW11bUxheW91dERlbGF5KCkuY291bnQoKTsKIH0KIAotaW50IERvY3VtZW50OjptaW5p
bXVtTGF5b3V0RGVsYXkoKQorc3RkOjpjaHJvbm86Om1pbGxpc2Vjb25kcyBEb2N1bWVudDo6bWlu
aW11bUxheW91dERlbGF5KCkKIHsKICAgICBpZiAobV9vdmVyTWluaW11bUxheW91dFRocmVzaG9s
ZCkKLSAgICAgICAgcmV0dXJuIDA7CisgICAgICAgIHJldHVybiAwX21zOwogICAgIAotICAgIGlu
dCBlbGFwc2VkID0gZWxhcHNlZFRpbWUoKTsKKyAgICBzdGQ6OmNocm9ubzo6bWlsbGlzZWNvbmRz
IGVsYXBzZWQgPSBlbGFwc2VkVGltZSgpOwogICAgIG1fb3Zlck1pbmltdW1MYXlvdXRUaHJlc2hv
bGQgPSBlbGFwc2VkID4gc2V0dGluZ3MoKS0+bGF5b3V0SW50ZXJ2YWwoKTsKIAogICAgIC8vIFdl
J2xsIHdhbnQgdG8gc2NoZWR1bGUgdGhlIHRpbWVyIHRvIGZpcmUgYXQgdGhlIG1pbmltdW0gbGF5
b3V0IHRocmVzaG9sZC4KLSAgICByZXR1cm4gc3RkOjptYXgoMCwgc2V0dGluZ3MoKS0+bGF5b3V0
SW50ZXJ2YWwoKSAtIGVsYXBzZWQpOworICAgIHJldHVybiBzdGQ6Om1heCgwX21zLCBzZXR0aW5n
cygpLT5sYXlvdXRJbnRlcnZhbCgpIC0gZWxhcHNlZCk7CiB9CiAKLWludCBEb2N1bWVudDo6ZWxh
cHNlZFRpbWUoKSBjb25zdAorc3RkOjpjaHJvbm86Om1pbGxpc2Vjb25kcyBEb2N1bWVudDo6ZWxh
cHNlZFRpbWUoKSBjb25zdAogewotICAgIHJldHVybiBzdGF0aWNfY2FzdDxpbnQ+KG1vbm90b25p
Y2FsbHlJbmNyZWFzaW5nVGltZU1TKCkgLSBtX3N0YXJ0VGltZSk7CisgICAgYXV0byBlbGFwc2Vk
VGltZSA9IHN0ZDo6Y2hyb25vOjpzdGVhZHlfY2xvY2s6Om5vdygpIC0gbV9zdGFydFRpbWU7CisK
KyAgICByZXR1cm4gc3RkOjpjaHJvbm86OmR1cmF0aW9uX2Nhc3Q8c3RkOjpjaHJvbm86Om1pbGxp
c2Vjb25kcz4oZWxhcHNlZFRpbWUpOwogfQogCiB2b2lkIERvY3VtZW50Ojp3cml0ZShjb25zdCBT
ZWdtZW50ZWRTdHJpbmcmIHRleHQsIERvY3VtZW50KiBvd25lckRvY3VtZW50KQpAQCAtMjU0OSw3
ICsyNTUxLDcgQEAgdm9pZCBEb2N1bWVudDo6d3JpdGUoY29uc3QgU2VnbWVudGVkU3RyaW5nJiB0
ZXh0LCBEb2N1bWVudCogb3duZXJEb2N1bWVudCkKIAogI2lmZGVmIElOU1RSVU1FTlRfTEFZT1VU
X1NDSEVEVUxJTkcKICAgICBpZiAoIW93bmVyRWxlbWVudCgpKQotICAgICAgICBwcmludGYoIkJl
Z2lubmluZyBhIGRvY3VtZW50LndyaXRlIGF0ICVkXG4iLCBlbGFwc2VkVGltZSgpKTsKKyAgICAg
ICAgcHJpbnRmKCJCZWdpbm5pbmcgYSBkb2N1bWVudC53cml0ZSBhdCAlbGxkXG4iLCBlbGFwc2Vk
VGltZSgpLmNvdW50KCkpOwogI2VuZGlmCiAKICAgICBib29sIGhhc0luc2VydGlvblBvaW50ID0g
bV9wYXJzZXIgJiYgbV9wYXJzZXItPmhhc0luc2VydGlvblBvaW50KCk7CkBAIC0yNTY0LDcgKzI1
NjYsNyBAQCB2b2lkIERvY3VtZW50Ojp3cml0ZShjb25zdCBTZWdtZW50ZWRTdHJpbmcmIHRleHQs
IERvY3VtZW50KiBvd25lckRvY3VtZW50KQogCiAjaWZkZWYgSU5TVFJVTUVOVF9MQVlPVVRfU0NI
RURVTElORwogICAgIGlmICghb3duZXJFbGVtZW50KCkpCi0gICAgICAgIHByaW50ZigiRW5kaW5n
IGEgZG9jdW1lbnQud3JpdGUgYXQgJWRcbiIsIGVsYXBzZWRUaW1lKCkpOworICAgICAgICBwcmlu
dGYoIkVuZGluZyBhIGRvY3VtZW50LndyaXRlIGF0ICVsbGRcbiIsIGVsYXBzZWRUaW1lKCkuY291
bnQoKSk7CiAjZW5kaWYgICAgCiB9CiAKQEAgLTMyMTEsNyArMzIxMyw3IEBAIHZvaWQgRG9jdW1l
bnQ6OnN0eWxlUmVzb2x2ZXJDaGFuZ2VkKFN0eWxlUmVzb2x2ZXJVcGRhdGVGbGFnIHVwZGF0ZUZs
YWcpCiAKICNpZmRlZiBJTlNUUlVNRU5UX0xBWU9VVF9TQ0hFRFVMSU5HCiAgICAgaWYgKCFvd25l
ckVsZW1lbnQoKSkKLSAgICAgICAgcHJpbnRmKCJCZWdpbm5pbmcgdXBkYXRlIG9mIHN0eWxlIHNl
bGVjdG9yIGF0IHRpbWUgJWQuXG4iLCBlbGFwc2VkVGltZSgpKTsKKyAgICAgICAgcHJpbnRmKCJC
ZWdpbm5pbmcgdXBkYXRlIG9mIHN0eWxlIHNlbGVjdG9yIGF0IHRpbWUgJWxsZC5cbiIsIGVsYXBz
ZWRUaW1lKCkuY291bnQoKSk7CiAjZW5kaWYKIAogICAgIERvY3VtZW50U3R5bGVTaGVldENvbGxl
Y3Rpb246OlVwZGF0ZUZsYWcgc3R5bGVTaGVldFVwZGF0ZSA9ICh1cGRhdGVGbGFnID09IFJlY2Fs
Y1N0eWxlSWZOZWVkZWQgfHwgdXBkYXRlRmxhZyA9PSBEZWZlclJlY2FsY1N0eWxlSWZOZWVkZWQp
CkBAIC0zMjQ4LDcgKzMyNTAsNyBAQCB2b2lkIERvY3VtZW50OjpzdHlsZVJlc29sdmVyQ2hhbmdl
ZChTdHlsZVJlc29sdmVyVXBkYXRlRmxhZyB1cGRhdGVGbGFnKQogCiAjaWZkZWYgSU5TVFJVTUVO
VF9MQVlPVVRfU0NIRURVTElORwogICAgIGlmICghb3duZXJFbGVtZW50KCkpCi0gICAgICAgIHBy
aW50ZigiRmluaXNoZWQgdXBkYXRlIG9mIHN0eWxlIHNlbGVjdG9yIGF0IHRpbWUgJWRcbiIsIGVs
YXBzZWRUaW1lKCkpOworICAgICAgICBwcmludGYoIkZpbmlzaGVkIHVwZGF0ZSBvZiBzdHlsZSBz
ZWxlY3RvciBhdCB0aW1lICVsbGRcbiIsIGVsYXBzZWRUaW1lKCkuY291bnQoKSk7CiAjZW5kaWYK
IAogICAgIGlmIChyZW5kZXJWaWV3KCkpIHsKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL2Rv
bS9Eb2N1bWVudC5oIGIvU291cmNlL1dlYkNvcmUvZG9tL0RvY3VtZW50LmgKaW5kZXggM2FlN2Y0
OWZiNDQzMmYyYWJlN2JhNDlkOGM5OTFiZmM4ZTRkODVkZS4uZTEzY2VhMGRmYzI0ZTdjMjc1NmQ3
YTMzNjZkMTJmYWZlNjlkYWFjZiAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvZG9tL0RvY3Vt
ZW50LmgKKysrIGIvU291cmNlL1dlYkNvcmUvZG9tL0RvY3VtZW50LmgKQEAgLTUxLDYgKzUxLDcg
QEAKICNpbmNsdWRlICJUcmVlU2NvcGUuaCIKICNpbmNsdWRlICJVc2VyQWN0aW9uRWxlbWVudFNl
dC5oIgogI2luY2x1ZGUgIlZpZXdwb3J0QXJndW1lbnRzLmgiCisjaW5jbHVkZSA8Y2hyb25vPgog
I2luY2x1ZGUgPHd0Zi9EZXF1ZS5oPgogI2luY2x1ZGUgPHd0Zi9IYXNoU2V0Lmg+CiAjaW5jbHVk
ZSA8d3RmL093blB0ci5oPgpAQCAtNjYxLDExICs2NjIsMTEgQEAgcHVibGljOgogICAgIHZvaWQg
c2V0UmVhZHlTdGF0ZShSZWFkeVN0YXRlKTsKICAgICB2b2lkIHNldFBhcnNpbmcoYm9vbCk7CiAg
ICAgYm9vbCBwYXJzaW5nKCkgY29uc3QgeyByZXR1cm4gbV9iUGFyc2luZzsgfQotICAgIGludCBt
aW5pbXVtTGF5b3V0RGVsYXkoKTsKKyAgICBzdGQ6OmNocm9ubzo6bWlsbGlzZWNvbmRzIG1pbmlt
dW1MYXlvdXREZWxheSgpOwogCiAgICAgYm9vbCBzaG91bGRTY2hlZHVsZUxheW91dCgpOwogICAg
IGJvb2wgaXNMYXlvdXRUaW1lckFjdGl2ZSgpOwotICAgIGludCBlbGFwc2VkVGltZSgpIGNvbnN0
OworICAgIHN0ZDo6Y2hyb25vOjptaWxsaXNlY29uZHMgZWxhcHNlZFRpbWUoKSBjb25zdDsKICAg
ICAKICAgICB2b2lkIHNldFRleHRDb2xvcihjb25zdCBDb2xvciYgY29sb3IpIHsgbV90ZXh0Q29s
b3IgPSBjb2xvcjsgfQogICAgIENvbG9yIHRleHRDb2xvcigpIGNvbnN0IHsgcmV0dXJuIG1fdGV4
dENvbG9yOyB9CkBAIC0xNDMzLDcgKzE0MzQsNyBAQCBwcml2YXRlOgogICAgIGJvb2wgbV9sb2Fk
RXZlbnRGaW5pc2hlZDsKIAogICAgIFJlZlB0cjxTZXJpYWxpemVkU2NyaXB0VmFsdWU+IG1fcGVu
ZGluZ1N0YXRlT2JqZWN0OwotICAgIGRvdWJsZSBtX3N0YXJ0VGltZTsKKyAgICBzdGQ6OmNocm9u
bzo6c3RlYWR5X2Nsb2NrOjp0aW1lX3BvaW50IG1fc3RhcnRUaW1lOwogICAgIGJvb2wgbV9vdmVy
TWluaW11bUxheW91dFRocmVzaG9sZDsKICAgICAKICAgICBzdGQ6OnVuaXF1ZV9wdHI8U2NyaXB0
UnVubmVyPiBtX3NjcmlwdFJ1bm5lcjsKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL2ZpbGVh
cGkvRmlsZVJlYWRlci5jcHAgYi9Tb3VyY2UvV2ViQ29yZS9maWxlYXBpL0ZpbGVSZWFkZXIuY3Bw
CmluZGV4IDRmNTg1NDhkYmRmZWNkOWU1OGJkN2VlMDY5YzlhMWExOTU2ZDU0ZjEuLmU1OWNjODIy
ZDcxNWQ1MThkNDRjYzM2Y2ZlNDUwMjQ3ZGRhMDY2MzQgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJD
b3JlL2ZpbGVhcGkvRmlsZVJlYWRlci5jcHAKKysrIGIvU291cmNlL1dlYkNvcmUvZmlsZWFwaS9G
aWxlUmVhZGVyLmNwcApAQCAtNDYsNyArNDYsNyBAQAogCiBuYW1lc3BhY2UgV2ViQ29yZSB7CiAK
LXN0YXRpYyBjb25zdCBkb3VibGUgcHJvZ3Jlc3NOb3RpZmljYXRpb25JbnRlcnZhbE1TID0gNTA7
CitzdGF0aWMgY29uc3QgYXV0byBwcm9ncmVzc05vdGlmaWNhdGlvbkludGVydmFsID0gNTBfbXM7
CiAKIFBhc3NSZWZQdHI8RmlsZVJlYWRlcj4gRmlsZVJlYWRlcjo6Y3JlYXRlKFNjcmlwdEV4ZWN1
dGlvbkNvbnRleHQmIGNvbnRleHQpCiB7CkBAIC02MCw3ICs2MCw2IEBAIEZpbGVSZWFkZXI6OkZp
bGVSZWFkZXIoU2NyaXB0RXhlY3V0aW9uQ29udGV4dCYgY29udGV4dCkKICAgICAsIG1fc3RhdGUo
RU1QVFkpCiAgICAgLCBtX2Fib3J0aW5nKGZhbHNlKQogICAgICwgbV9yZWFkVHlwZShGaWxlUmVh
ZGVyTG9hZGVyOjpSZWFkQXNCaW5hcnlTdHJpbmcpCi0gICAgLCBtX2xhc3RQcm9ncmVzc05vdGlm
aWNhdGlvblRpbWVNUygwKQogewogfQogCkBAIC0xOTksMTIgKzE5OCwxNSBAQCB2b2lkIEZpbGVS
ZWFkZXI6OmRpZFN0YXJ0TG9hZGluZygpCiB2b2lkIEZpbGVSZWFkZXI6OmRpZFJlY2VpdmVEYXRh
KCkKIHsKICAgICAvLyBGaXJlIHRoZSBwcm9ncmVzcyBldmVudCBhdCBsZWFzdCBldmVyeSA1MG1z
LgotICAgIGRvdWJsZSBub3cgPSBtb25vdG9uaWNhbGx5SW5jcmVhc2luZ1RpbWVNUygpOwotICAg
IGlmICghbV9sYXN0UHJvZ3Jlc3NOb3RpZmljYXRpb25UaW1lTVMpCi0gICAgICAgIG1fbGFzdFBy
b2dyZXNzTm90aWZpY2F0aW9uVGltZU1TID0gbm93OwotICAgIGVsc2UgaWYgKG5vdyAtIG1fbGFz
dFByb2dyZXNzTm90aWZpY2F0aW9uVGltZU1TID4gcHJvZ3Jlc3NOb3RpZmljYXRpb25JbnRlcnZh
bE1TKSB7CisgICAgYXV0byBub3cgPSBzdGQ6OmNocm9ubzo6c3RlYWR5X2Nsb2NrOjpub3coKTsK
KyAgICBpZiAoIW1fbGFzdFByb2dyZXNzTm90aWZpY2F0aW9uVGltZS50aW1lX3NpbmNlX2Vwb2No
KCkuY291bnQoKSkgeworICAgICAgICBtX2xhc3RQcm9ncmVzc05vdGlmaWNhdGlvblRpbWUgPSBu
b3c7CisgICAgICAgIHJldHVybjsKKyAgICB9CisKKyAgICBpZiAobm93IC0gbV9sYXN0UHJvZ3Jl
c3NOb3RpZmljYXRpb25UaW1lID4gcHJvZ3Jlc3NOb3RpZmljYXRpb25JbnRlcnZhbCkgewogICAg
ICAgICBmaXJlRXZlbnQoZXZlbnROYW1lcygpLnByb2dyZXNzRXZlbnQpOwotICAgICAgICBtX2xh
c3RQcm9ncmVzc05vdGlmaWNhdGlvblRpbWVNUyA9IG5vdzsKKyAgICAgICAgbV9sYXN0UHJvZ3Jl
c3NOb3RpZmljYXRpb25UaW1lID0gbm93OwogICAgIH0KIH0KIApkaWZmIC0tZ2l0IGEvU291cmNl
L1dlYkNvcmUvZmlsZWFwaS9GaWxlUmVhZGVyLmggYi9Tb3VyY2UvV2ViQ29yZS9maWxlYXBpL0Zp
bGVSZWFkZXIuaAppbmRleCBkZTVlYzQ4NzhkZTgyYTVhMjE2MjE5NmJmMWI1OGM0YzNjNmJhMWJh
Li43ODk3MDE2MzVhNzFkNWQ4MjdlYmVkZmQ1OTM3NmE5YjAwZTAyM2YxIDEwMDY0NAotLS0gYS9T
b3VyY2UvV2ViQ29yZS9maWxlYXBpL0ZpbGVSZWFkZXIuaAorKysgYi9Tb3VyY2UvV2ViQ29yZS9m
aWxlYXBpL0ZpbGVSZWFkZXIuaApAQCAtMzgsNiArMzgsNyBAQAogI2luY2x1ZGUgIkZpbGVFcnJv
ci5oIgogI2luY2x1ZGUgIkZpbGVSZWFkZXJMb2FkZXIuaCIKICNpbmNsdWRlICJGaWxlUmVhZGVy
TG9hZGVyQ2xpZW50LmgiCisjaW5jbHVkZSA8Y2hyb25vPgogI2luY2x1ZGUgPHd0Zi9Gb3J3YXJk
Lmg+CiAjaW5jbHVkZSA8d3RmL1JlZkNvdW50ZWQuaD4KICNpbmNsdWRlIDx3dGYvdGV4dC9XVEZT
dHJpbmcuaD4KQEAgLTEyMyw3ICsxMjQsNyBAQCBwcml2YXRlOgogICAgIFN0cmluZyBtX2VuY29k
aW5nOwogICAgIHN0ZDo6dW5pcXVlX3B0cjxGaWxlUmVhZGVyTG9hZGVyPiBtX2xvYWRlcjsKICAg
ICBSZWZQdHI8RmlsZUVycm9yPiBtX2Vycm9yOwotICAgIGRvdWJsZSBtX2xhc3RQcm9ncmVzc05v
dGlmaWNhdGlvblRpbWVNUzsKKyAgICBzdGQ6OmNocm9ubzo6c3RlYWR5X2Nsb2NrOjp0aW1lX3Bv
aW50IG1fbGFzdFByb2dyZXNzTm90aWZpY2F0aW9uVGltZTsKIH07CiAKIH0gLy8gbmFtZXNwYWNl
IFdlYkNvcmUKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL3BhZ2UvRnJhbWVWaWV3LmNwcCBi
L1NvdXJjZS9XZWJDb3JlL3BhZ2UvRnJhbWVWaWV3LmNwcAppbmRleCBiMjVhOTIyYjE4YzkzOWEw
ZTgxZGZhNDYwM2EzYzZmZWE0M2VmMmZhLi40YzE2MmY5YWE3MmZkYjMyMjIzZmVjMTdmY2M1OGE0
OTQ4OWUxMDNlIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9wYWdlL0ZyYW1lVmlldy5jcHAK
KysrIGIvU291cmNlL1dlYkNvcmUvcGFnZS9GcmFtZVZpZXcuY3BwCkBAIC0xMjQyLDcgKzEyNDIs
NyBAQCB2b2lkIEZyYW1lVmlldzo6bGF5b3V0KGJvb2wgYWxsb3dTdWJ0cmVlKQogCiAjaWZkZWYg
SU5TVFJVTUVOVF9MQVlPVVRfU0NIRURVTElORwogICAgICAgICAgICAgaWYgKG1fZmlyc3RMYXlv
dXQgJiYgIWZyYW1lKCkub3duZXJFbGVtZW50KCkpCi0gICAgICAgICAgICAgICAgcHJpbnRmKCJF
bGFwc2VkIHRpbWUgYmVmb3JlIGZpcnN0IGxheW91dDogJWRcbiIsIGRvY3VtZW50LmVsYXBzZWRU
aW1lKCkpOworICAgICAgICAgICAgICAgIHByaW50ZigiRWxhcHNlZCB0aW1lIGJlZm9yZSBmaXJz
dCBsYXlvdXQ6ICVsbGRcbiIsIGRvY3VtZW50LmVsYXBzZWRUaW1lKCkuY291bnQoKSk7CiAjZW5k
aWYgICAgICAgIAogICAgICAgICB9CiAKQEAgLTI0NzIsNyArMjQ3Miw3IEBAIHZvaWQgRnJhbWVW
aWV3OjpsYXlvdXRUaW1lckZpcmVkKFRpbWVyPEZyYW1lVmlldz4mKQogewogI2lmZGVmIElOU1RS
VU1FTlRfTEFZT1VUX1NDSEVEVUxJTkcKICAgICBpZiAoIWZyYW1lKCkuZG9jdW1lbnQoKS0+b3du
ZXJFbGVtZW50KCkpCi0gICAgICAgIHByaW50ZigiTGF5b3V0IHRpbWVyIGZpcmVkIGF0ICVkXG4i
LCBmcmFtZSgpLmRvY3VtZW50KCktPmVsYXBzZWRUaW1lKCkpOworICAgICAgICBwcmludGYoIkxh
eW91dCB0aW1lciBmaXJlZCBhdCAlbGxkXG4iLCBmcmFtZSgpLmRvY3VtZW50KCktPmVsYXBzZWRU
aW1lKCkuY291bnQoKSk7CiAjZW5kaWYKICAgICBsYXlvdXQoKTsKIH0KQEAgLTI0OTksMjAgKzI0
OTksMjAgQEAgdm9pZCBGcmFtZVZpZXc6OnNjaGVkdWxlUmVsYXlvdXQoKQogICAgIGlmIChmcmFt
ZSgpLm93bmVyUmVuZGVyZXIoKSAmJiBpc0luQ2hpbGRGcmFtZVdpdGhGcmFtZUZsYXR0ZW5pbmco
KSkKICAgICAgICAgZnJhbWUoKS5vd25lclJlbmRlcmVyKCktPnNldE5lZWRzTGF5b3V0KE1hcmtD
b250YWluaW5nQmxvY2tDaGFpbik7CiAKLSAgICBpbnQgZGVsYXkgPSBmcmFtZSgpLmRvY3VtZW50
KCktPm1pbmltdW1MYXlvdXREZWxheSgpOwotICAgIGlmIChtX2xheW91dFRpbWVyLmlzQWN0aXZl
KCkgJiYgbV9kZWxheWVkTGF5b3V0ICYmICFkZWxheSkKKyAgICBzdGQ6OmNocm9ubzo6bWlsbGlz
ZWNvbmRzIGRlbGF5ID0gZnJhbWUoKS5kb2N1bWVudCgpLT5taW5pbXVtTGF5b3V0RGVsYXkoKTsK
KyAgICBpZiAobV9sYXlvdXRUaW1lci5pc0FjdGl2ZSgpICYmIG1fZGVsYXllZExheW91dCAmJiAh
ZGVsYXkuY291bnQoKSkKICAgICAgICAgdW5zY2hlZHVsZVJlbGF5b3V0KCk7CiAgICAgaWYgKG1f
bGF5b3V0VGltZXIuaXNBY3RpdmUoKSkKICAgICAgICAgcmV0dXJuOwogCi0gICAgbV9kZWxheWVk
TGF5b3V0ID0gZGVsYXkgIT0gMDsKKyAgICBtX2RlbGF5ZWRMYXlvdXQgPSBkZWxheS5jb3VudCgp
OwogCiAjaWZkZWYgSU5TVFJVTUVOVF9MQVlPVVRfU0NIRURVTElORwogICAgIGlmICghZnJhbWUo
KS5kb2N1bWVudCgpLT5vd25lckVsZW1lbnQoKSkKICAgICAgICAgcHJpbnRmKCJTY2hlZHVsaW5n
IGxheW91dCBmb3IgJWRcbiIsIGRlbGF5KTsKICNlbmRpZgogCi0gICAgbV9sYXlvdXRUaW1lci5z
dGFydE9uZVNob3QoZGVsYXkgKiAwLjAwMSk7CisgICAgbV9sYXlvdXRUaW1lci5zdGFydE9uZVNo
b3QoZGVsYXkpOwogfQogCiBzdGF0aWMgYm9vbCBpc09iamVjdEFuY2VzdG9yQ29udGFpbmVyT2Yo
UmVuZGVyT2JqZWN0KiBhbmNlc3RvciwgUmVuZGVyT2JqZWN0KiBkZXNjZW5kYW50KQpAQCAtMjUz
OSwxMiArMjUzOSwxMiBAQCB2b2lkIEZyYW1lVmlldzo6c2NoZWR1bGVSZWxheW91dE9mU3VidHJl
ZShSZW5kZXJFbGVtZW50JiBuZXdSZWxheW91dFJvb3QpCiAgICAgfQogCiAgICAgaWYgKCFsYXlv
dXRQZW5kaW5nKCkgJiYgbV9sYXlvdXRTY2hlZHVsaW5nRW5hYmxlZCkgewotICAgICAgICBpbnQg
ZGVsYXkgPSByZW5kZXJWaWV3LmRvY3VtZW50KCkubWluaW11bUxheW91dERlbGF5KCk7CisgICAg
ICAgIHN0ZDo6Y2hyb25vOjptaWxsaXNlY29uZHMgZGVsYXkgPSByZW5kZXJWaWV3LmRvY3VtZW50
KCkubWluaW11bUxheW91dERlbGF5KCk7CiAgICAgICAgIEFTU0VSVCghbmV3UmVsYXlvdXRSb290
LmNvbnRhaW5lcigpIHx8ICFuZXdSZWxheW91dFJvb3QuY29udGFpbmVyKCktPm5lZWRzTGF5b3V0
KCkpOwogICAgICAgICBtX2xheW91dFJvb3QgPSAmbmV3UmVsYXlvdXRSb290OwogICAgICAgICBJ
bnNwZWN0b3JJbnN0cnVtZW50YXRpb246OmRpZEludmFsaWRhdGVMYXlvdXQoJmZyYW1lKCkpOwot
ICAgICAgICBtX2RlbGF5ZWRMYXlvdXQgPSBkZWxheSAhPSAwOwotICAgICAgICBtX2xheW91dFRp
bWVyLnN0YXJ0T25lU2hvdChkZWxheSAqIDAuMDAxKTsKKyAgICAgICAgbV9kZWxheWVkTGF5b3V0
ID0gZGVsYXkuY291bnQoKTsKKyAgICAgICAgbV9sYXlvdXRUaW1lci5zdGFydE9uZVNob3QoZGVs
YXkpOwogICAgICAgICByZXR1cm47CiAgICAgfQogCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29y
ZS9wYWdlL1NldHRpbmdzLmNwcCBiL1NvdXJjZS9XZWJDb3JlL3BhZ2UvU2V0dGluZ3MuY3BwCmlu
ZGV4IDNiYTIzYjRmYzU3NDU3OGViOTBlMTdiNTgyYjRhYzJiYTc2MTk2NTIuLmYyYzZlNGYzYWMz
MDk0YzVlYmNlYzBhMWFmODBiYTFlMTRkOGJmNDUgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3Jl
L3BhZ2UvU2V0dGluZ3MuY3BwCisrKyBiL1NvdXJjZS9XZWJDb3JlL3BhZ2UvU2V0dGluZ3MuY3Bw
CkBAIC00Nyw3ICs0Nyw3IEBACiAjaW5jbHVkZSAiVGV4dEF1dG9zaXplci5oIgogI2luY2x1ZGUg
PGxpbWl0cz4KICNpbmNsdWRlIDx3dGYvTmV2ZXJEZXN0cm95ZWQuaD4KLQorI2luY2x1ZGUgPHd0
Zi9TdGRMaWJFeHRyYXMuaD4KIAogbmFtZXNwYWNlIFdlYkNvcmUgewogCkBAIC0xNDYsNyArMTQ2
LDcgQEAgc3RhdGljIGNvbnN0IGJvb2wgZGVmYXVsdFNlbGVjdFRyYWlsaW5nV2hpdGVzcGFjZUVu
YWJsZWQgPSBmYWxzZTsKIC8vIFRoaXMgYW1vdW50IG9mIHRpbWUgbXVzdCBoYXZlIGVsYXBzZWQg
YmVmb3JlIHdlIHdpbGwgZXZlbiBjb25zaWRlciBzY2hlZHVsaW5nIGEgbGF5b3V0IHdpdGhvdXQg
YSBkZWxheS4KIC8vIEZJWE1FOiBGb3IgZmFzdGVyIG1hY2hpbmVzIHRoaXMgdmFsdWUgY2FuIHJl
YWxseSBiZSBsb3dlcmVkIHRvIDIwMC4gMjUwIGlzIGFkZXF1YXRlLCBidXQgYSBsaXR0bGUgaGln
aAogLy8gZm9yIGR1YWwgRzVzLiA6KQotc3RhdGljIGNvbnN0IGludCBsYXlvdXRTY2hlZHVsZVRo
cmVzaG9sZCA9IDI1MDsKK3N0YXRpYyBjb25zdCBhdXRvIGxheW91dFNjaGVkdWxlVGhyZXNob2xk
ID0gMjUwX21zOwogCiBTZXR0aW5nczo6U2V0dGluZ3MoUGFnZSogcGFnZSkKICAgICA6IG1fcGFn
ZSgwKQpAQCAtNTA3LDcgKzUwNyw3IEBAIGRvdWJsZSBTZXR0aW5nczo6ZG9tVGltZXJBbGlnbm1l
bnRJbnRlcnZhbCgpIGNvbnN0CiAgICAgcmV0dXJuIG1fcGFnZS0+dGltZXJBbGlnbm1lbnRJbnRl
cnZhbCgpOwogfQogCi12b2lkIFNldHRpbmdzOjpzZXRMYXlvdXRJbnRlcnZhbChpbnQgbGF5b3V0
SW50ZXJ2YWwpCit2b2lkIFNldHRpbmdzOjpzZXRMYXlvdXRJbnRlcnZhbChzdGQ6OmNocm9ubzo6
bWlsbGlzZWNvbmRzIGxheW91dEludGVydmFsKQogewogICAgIC8vIEZJWE1FOiBJdCBzZWVtcyB3
ZWlyZCB0aGF0IHRoaXMgZnVuY3Rpb24gbWF5IGRpc3JlZ2FyZCB0aGUgc3BlY2lmaWVkIGxheW91
dCBpbnRlcnZhbC4KICAgICAvLyBXZSBzaG91bGQgZWl0aGVyIGV4cG9zZSBsYXlvdXRTY2hlZHVs
ZVRocmVzaG9sZCBvciBiZXR0ZXIgY29tbXVuaWNhdGUgdGhpcyBpbnZhcmlhbnQuCmRpZmYgLS1n
aXQgYS9Tb3VyY2UvV2ViQ29yZS9wYWdlL1NldHRpbmdzLmggYi9Tb3VyY2UvV2ViQ29yZS9wYWdl
L1NldHRpbmdzLmgKaW5kZXggY2IyZWM5N2NjZTBjNTQ2M2E5MzMzNmU3YjY5YTg0YzllNGNlY2U2
Ni4uMGNlY2RkZTlhNTUyYzNmOGYyYWM1ODA0YmM4ZjZjN2E2MjE3MjEzYiAxMDA2NDQKLS0tIGEv
U291cmNlL1dlYkNvcmUvcGFnZS9TZXR0aW5ncy5oCisrKyBiL1NvdXJjZS9XZWJDb3JlL3BhZ2Uv
U2V0dGluZ3MuaApAQCAtMzQsNiArMzQsNyBAQAogI2luY2x1ZGUgIlNlY3VyaXR5T3JpZ2luLmgi
CiAjaW5jbHVkZSAiU2V0dGluZ3NNYWNyb3MuaCIKICNpbmNsdWRlICJUaW1lci5oIgorI2luY2x1
ZGUgPGNocm9ubz4KICNpbmNsdWRlIDx3dGYvSGFzaE1hcC5oPgogI2luY2x1ZGUgPHd0Zi9SZWZD
b3VudGVkLmg+CiAjaW5jbHVkZSA8d3RmL3RleHQvQXRvbWljU3RyaW5nLmg+CkBAIC0xNzEsOSAr
MTcyLDggQEAgcHVibGljOgogICAgIHZvaWQgc2V0RE9NVGltZXJBbGlnbm1lbnRJbnRlcnZhbChk
b3VibGUpOwogICAgIGRvdWJsZSBkb21UaW1lckFsaWdubWVudEludGVydmFsKCkgY29uc3Q7CiAK
LSAgICAvLyBGSVhNRTogQ2hhbmdlIHRoZXNlIG1ldGhvZHMgdG8gdGFrZS9yZXR1cm4gYW4gdW5z
aWduZWQgaW50ZWdlciBhZnRlciB3ZSB1cHN0cmVhbSB0aGUgaU9TIHBvcnQuCi0gICAgdm9pZCBz
ZXRMYXlvdXRJbnRlcnZhbChpbnQpOwotICAgIGludCBsYXlvdXRJbnRlcnZhbCgpIGNvbnN0IHsg
cmV0dXJuIG1fbGF5b3V0SW50ZXJ2YWw7IH0KKyAgICB2b2lkIHNldExheW91dEludGVydmFsKHN0
ZDo6Y2hyb25vOjptaWxsaXNlY29uZHMpOworICAgIHN0ZDo6Y2hyb25vOjptaWxsaXNlY29uZHMg
bGF5b3V0SW50ZXJ2YWwoKSBjb25zdCB7IHJldHVybiBtX2xheW91dEludGVydmFsOyB9CiAKICNp
ZiBFTkFCTEUoSElEREVOX1BBR0VfRE9NX1RJTUVSX1RIUk9UVExJTkcpCiAgICAgYm9vbCBoaWRk
ZW5QYWdlRE9NVGltZXJUaHJvdHRsaW5nRW5hYmxlZCgpIGNvbnN0IHsgcmV0dXJuIG1faGlkZGVu
UGFnZURPTVRpbWVyVGhyb3R0bGluZ0VuYWJsZWQ7IH0KQEAgLTMyMSw3ICszMjEsNyBAQCBwcml2
YXRlOgogICAgIFVSTCBtX3VzZXJTdHlsZVNoZWV0TG9jYXRpb247CiAgICAgY29uc3Qgc3RkOjp1
bmlxdWVfcHRyPEZvbnRHZW5lcmljRmFtaWxpZXM+IG1fZm9udEdlbmVyaWNGYW1pbGllczsKICAg
ICBTZWN1cml0eU9yaWdpbjo6U3RvcmFnZUJsb2NraW5nUG9saWN5IG1fc3RvcmFnZUJsb2NraW5n
UG9saWN5OwotICAgIGludCBtX2xheW91dEludGVydmFsOworICAgIHN0ZDo6Y2hyb25vOjptaWxs
aXNlY29uZHMgbV9sYXlvdXRJbnRlcnZhbDsKICNpZiBQTEFURk9STShJT1MpCiAgICAgZG91Ymxl
IG1fbWF4UGFyc2VEdXJhdGlvbjsKICNlbmRpZgpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUv
cGxhdGZvcm0vVGltZXIuaCBiL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL1RpbWVyLmgKaW5kZXgg
ZjQ1Y2I5MDdjMmJmNzYyMGIwNjVhYzY1ZTg2NTFkN2Y4NDM1ZjkxMS4uNDE4MjBiNDY0OThhZWI2
NWZlZjM0ZWNlNmIyMjg2OTVlMWEyYzVjNiAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvcGxh
dGZvcm0vVGltZXIuaAorKysgYi9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9UaW1lci5oCkBAIC0y
Niw2ICsyNiw3IEBACiAjaWZuZGVmIFRpbWVyX2gKICNkZWZpbmUgVGltZXJfaAogCisjaW5jbHVk
ZSA8Y2hyb25vPgogI2luY2x1ZGUgPGZ1bmN0aW9uYWw+CiAjaW5jbHVkZSA8d3RmL05vbmNvcHlh
YmxlLmg+CiAjaW5jbHVkZSA8d3RmL1RocmVhZGluZy5oPgpAQCAtNTIsNiArNTMsNyBAQCBwdWJs
aWM6CiAKICAgICB2b2lkIHN0YXJ0UmVwZWF0aW5nKGRvdWJsZSByZXBlYXRJbnRlcnZhbCkgeyBz
dGFydChyZXBlYXRJbnRlcnZhbCwgcmVwZWF0SW50ZXJ2YWwpOyB9CiAgICAgdm9pZCBzdGFydE9u
ZVNob3QoZG91YmxlIGludGVydmFsKSB7IHN0YXJ0KGludGVydmFsLCAwKTsgfQorICAgIHZvaWQg
c3RhcnRPbmVTaG90KHN0ZDo6Y2hyb25vOjptaWxsaXNlY29uZHMgaW50ZXJ2YWwpIHsgc3RhcnRP
bmVTaG90KGludGVydmFsLmNvdW50KCkgKiAwLjAwMSk7IH0KIAogICAgIHZvaWQgc3RvcCgpOwog
ICAgIGJvb2wgaXNBY3RpdmUoKSBjb25zdDsKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJLaXQvbWFj
L1dlYlZpZXcvV2ViVmlldy5tbSBiL1NvdXJjZS9XZWJLaXQvbWFjL1dlYlZpZXcvV2ViVmlldy5t
bQppbmRleCA0ZTdhZjE5MGNmN2MzMTg1OGNhZDAwYjMwY2QzNzM2NzFjOGVhNzkzLi40YzBlNzFm
M2Q2MWEyZjJlN2I2YzMyZGYxZWYzNmE4M2QxZDllOTkyIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2Vi
S2l0L21hYy9XZWJWaWV3L1dlYlZpZXcubW0KKysrIGIvU291cmNlL1dlYktpdC9tYWMvV2ViVmll
dy9XZWJWaWV3Lm1tCkBAIC0yMjg5LDcgKzIyODksNyBAQCBzdGF0aWMgYm9vbCBuZWVkc1NlbGZS
ZXRhaW5XaGlsZUxvYWRpbmdRdWlyaygpCiAgICAgc2V0dGluZ3Muc2V0VGVsZXBob25lTnVtYmVy
UGFyc2luZ0VuYWJsZWQoW3ByZWZlcmVuY2VzIF90ZWxlcGhvbmVOdW1iZXJQYXJzaW5nRW5hYmxl
ZF0pOwogICAgIHNldHRpbmdzLnNldEFsd2F5c1VzZUJhc2VsaW5lT2ZQcmltYXJ5Rm9udChbcHJl
ZmVyZW5jZXMgX2Fsd2F5c1VzZUJhc2VsaW5lT2ZQcmltYXJ5Rm9udF0pOwogICAgIHNldHRpbmdz
LnNldEFsbG93TXVsdGlFbGVtZW50SW1wbGljaXRTdWJtaXNzaW9uKFtwcmVmZXJlbmNlcyBfYWxs
b3dNdWx0aUVsZW1lbnRJbXBsaWNpdEZvcm1TdWJtaXNzaW9uXSk7Ci0gICAgc2V0dGluZ3Muc2V0
TGF5b3V0SW50ZXJ2YWwoW3ByZWZlcmVuY2VzIF9sYXlvdXRJbnRlcnZhbF0pOworICAgIHNldHRp
bmdzLnNldExheW91dEludGVydmFsKHN0ZDo6Y2hyb25vOjptaWxsaXNlY29uZHMoW3ByZWZlcmVu
Y2VzIF9sYXlvdXRJbnRlcnZhbF0pKTsKICAgICBzZXR0aW5ncy5zZXRNYXhQYXJzZUR1cmF0aW9u
KFtwcmVmZXJlbmNlcyBfbWF4UGFyc2VEdXJhdGlvbl0pOwogICAgIHNldHRpbmdzLnNldEFsd2F5
c1VzZUFjY2VsZXJhdGVkT3ZlcmZsb3dTY3JvbGwoW3ByZWZlcmVuY2VzIF9hbHdheXNVc2VBY2Nl
bGVyYXRlZE92ZXJmbG93U2Nyb2xsXSk7CiAjZW5kaWYK
</data>

          </attachment>
          <attachment
              isobsolete="0"
              ispatch="1"
              isprivate="0"
          >
            <attachid>222133</attachid>
            <date>2014-01-24 12:15:55 -0800</date>
            <delta_ts>2014-01-24 16:49:50 -0800</delta_ts>
            <desc>Patch</desc>
            <filename>bug-127571-20140124121554.patch</filename>
            <type>text/plain</type>
            <size>24074</size>
            <attacher name="Anders Carlsson">andersca</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMTYyNzA4CmRpZmYgLS1naXQgYS9Tb3VyY2UvV1RGL0NoYW5n
ZUxvZyBiL1NvdXJjZS9XVEYvQ2hhbmdlTG9nCmluZGV4IDg0YzdhMTgxOTNiYWU2YTUyOTY5ZWFh
ZTYxYjdmNTE0OGYwMDc2YTQuLjhmZTg4NWFmZjhhY2NhMmIxZDhhMmQyNzg1NTg0NjU0ZWU3NmQw
YmUgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XVEYvQ2hhbmdlTG9nCisrKyBiL1NvdXJjZS9XVEYvQ2hh
bmdlTG9nCkBAIC0xLDUgKzEsMjMgQEAKIDIwMTQtMDEtMjQgIEFuZGVycyBDYXJsc3NvbiAgPGFu
ZGVyc2NhQGFwcGxlLmNvbT4KIAorICAgICAgICBHZXQgcmlkIG9mIG1vbm90b25pY2FsbHlJbmNy
ZWFzaW5nVGltZU1TIGFuZCBzdGFydCB1c2luZyBzdGQ6OmNocm9ubyBpbnN0ZWFkCisgICAgICAg
IGh0dHBzOi8vYnVncy53ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD0xMjc1NzEKKworICAgICAg
ICBSZXZpZXdlZCBieSBOT0JPRFkgKE9PUFMhKS4KKworICAgICAgICAqIHd0Zi9Db21waWxlci5o
OgorICAgICAgICBBZGQgYSBDT05TVEVYUFIgZGVmaW5lIHNvIHdlIGNhbiBzdGlsbCB1c2UgY29u
c3RleHByIG9uIGNvbXBpbGVycyB0aGF0IGRvbid0IHN1cHBvcnQgdGhlbSAoTVNWQykuCisKKyAg
ICAgICAgKiB3dGYvQ3VycmVudFRpbWUuaDoKKyAgICAgICAgUmVtb3ZlIG1vbm90b25pY2FsbHlJ
bmNyZWFzaW5nVGltZU1TKCkuCisKKyAgICAgICAgKiB3dGYvU3RkTGliRXh0cmFzLmg6CisgICAg
ICAgIChzdGQ6OmxpdGVyYWxzOjpjaHJvbm9fbGl0ZXJhbHM6Om9wZXJhdG9yIF9zKToKKyAgICAg
ICAgKHN0ZDo6bGl0ZXJhbHM6OmNocm9ub19saXRlcmFsczo6b3BlcmF0b3IgX21zKToKKyAgICAg
ICAgQWRkIF9zIGFuZCBfbXMgbGl0ZXJhbHMuIE9uY2Ugd2Ugc3dpdGNoIG92ZXIgdG8gQysrMTQs
IHdlIGNhbiBkcm9wIHRoZW0gYW5kIGp1c3QgdXNlIHRoZSBidWlsdC1pbiBvbmVzLgorCisyMDE0
LTAxLTI0ICBBbmRlcnMgQ2FybHNzb24gIDxhbmRlcnNjYUBhcHBsZS5jb20+CisKICAgICAgICAg
VGhlIENYWF9FWFBMSUNJVF9DT05WRVJTSU9OUyBDT01QSUxFUl9TVVBQT1JUUyBtYWNybyBoYXMg
YmVlbiByZW1vdmVkLCBhbmQgYWxsCiAgICAgICAgIGNvbXBpbGVycyBzdXBwb3J0IGV4cGxpY2l0
IGNvbnZlcnNpb25zIG5vdyBzbyBzaW1wbHkgcmVtb3ZlIHRoZSAjaWZkZWYuCiAKZGlmZiAtLWdp
dCBhL1NvdXJjZS9XZWJDb3JlL0NoYW5nZUxvZyBiL1NvdXJjZS9XZWJDb3JlL0NoYW5nZUxvZwpp
bmRleCAwNGJhN2M2NGFlN2MyNzM5NDZjYjNmMGY2ODE0NTBkYzY4MGVmMGJlLi4xZTBmNjNjN2Vh
YzI4NDE0Yjg1NzM1MzQ0ZTcwOWI3YjEzN2E0NzcyIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29y
ZS9DaGFuZ2VMb2cKKysrIGIvU291cmNlL1dlYkNvcmUvQ2hhbmdlTG9nCkBAIC0xLDMgKzEsNDgg
QEAKKzIwMTQtMDEtMjQgIEFuZGVycyBDYXJsc3NvbiAgPGFuZGVyc2NhQGFwcGxlLmNvbT4KKwor
ICAgICAgICBHZXQgcmlkIG9mIG1vbm90b25pY2FsbHlJbmNyZWFzaW5nVGltZU1TIGFuZCBzdGFy
dCB1c2luZyBzdGQ6OmNocm9ubyBpbnN0ZWFkCisgICAgICAgIGh0dHBzOi8vYnVncy53ZWJraXQu
b3JnL3Nob3dfYnVnLmNnaT9pZD0xMjc1NzEKKworICAgICAgICBSZXZpZXdlZCBieSBOT0JPRFkg
KE9PUFMhKS4KKworICAgICAgICBXZWJDb3JlLmV4cC5pbjoKKyAgICAgICAgVXBkYXRlIHN5bWJv
bHMuCisKKyAgICAgICAgKiBkb20vRG9jdW1lbnQuY3BwOgorICAgICAgICAoV2ViQ29yZTo6RG9j
dW1lbnQ6OkRvY3VtZW50KToKKyAgICAgICAgKFdlYkNvcmU6OkRvY3VtZW50OjppbXBsaWNpdENs
b3NlKToKKyAgICAgICAgKFdlYkNvcmU6OkRvY3VtZW50OjpzZXRQYXJzaW5nKToKKyAgICAgICAg
KFdlYkNvcmU6OkRvY3VtZW50Ojppc0xheW91dFRpbWVyQWN0aXZlKToKKyAgICAgICAgKFdlYkNv
cmU6OkRvY3VtZW50OjptaW5pbXVtTGF5b3V0RGVsYXkpOgorICAgICAgICAoV2ViQ29yZTo6RG9j
dW1lbnQ6OmVsYXBzZWRUaW1lKToKKyAgICAgICAgKFdlYkNvcmU6OkRvY3VtZW50Ojp3cml0ZSk6
CisgICAgICAgIChXZWJDb3JlOjpEb2N1bWVudDo6c3R5bGVSZXNvbHZlckNoYW5nZWQpOgorICAg
ICAgICAqIGRvbS9Eb2N1bWVudC5oOgorICAgICAgICBVc2Ugc3RkOjpjaHJvbm8gaW5zdGVhZCBv
ZiBkb3VibGVzIGZvciB0aGUgdGltZXMgYW5kIGR1cmF0aW9ucy4KKworICAgICAgICAqIGZpbGVh
cGkvRmlsZVJlYWRlci5jcHA6CisgICAgICAgIChXZWJDb3JlOjpGaWxlUmVhZGVyOjpGaWxlUmVh
ZGVyKToKKyAgICAgICAgKFdlYkNvcmU6OkZpbGVSZWFkZXI6OmRpZFJlY2VpdmVEYXRhKToKKyAg
ICAgICAgKiBmaWxlYXBpL0ZpbGVSZWFkZXIuaDoKKyAgICAgICAgU3dpdGNoIG92ZXIgdG8gc3Rk
OjpjaHJvbm8uCisKKyAgICAgICAgKiBwYWdlL0ZyYW1lVmlldy5jcHA6CisgICAgICAgIChXZWJD
b3JlOjpGcmFtZVZpZXc6OmxheW91dCk6CisgICAgICAgIChXZWJDb3JlOjpGcmFtZVZpZXc6Omxh
eW91dFRpbWVyRmlyZWQpOgorICAgICAgICAoV2ViQ29yZTo6RnJhbWVWaWV3OjpzY2hlZHVsZVJl
bGF5b3V0KToKKyAgICAgICAgKFdlYkNvcmU6OkZyYW1lVmlldzo6c2NoZWR1bGVSZWxheW91dE9m
U3VidHJlZSk6CisgICAgICAgIFVwZGF0ZSBmb3IgRG9jdW1lbnQ6OmVsYXBzZWRUaW1lKCkgY2hh
bmdlcy4KKworICAgICAgICAqIHBhZ2UvU2V0dGluZ3MuY3BwOgorICAgICAgICAoV2ViQ29yZTo6
U2V0dGluZ3M6OnNldExheW91dEludGVydmFsKToKKyAgICAgICAgKiBwYWdlL1NldHRpbmdzLmg6
CisgICAgICAgIChXZWJDb3JlOjpTZXR0aW5nczo6bGF5b3V0SW50ZXJ2YWwpOgorICAgICAgICBD
aGFuZ2UgbGF5b3V0SW50ZXJ2YWwgdG8gYmUgc3RkOjpjaHJvbm86Om1pbGxpc2Vjb25kcyBpbnN0
ZWFkIG9mIGludC4KKworICAgICAgICAqIHBsYXRmb3JtL1RpbWVyLmg6CisgICAgICAgIChXZWJD
b3JlOjpUaW1lckJhc2U6OnN0YXJ0T25lU2hvdCk6CisgICAgICAgIEFkZCBhbiBvdmVybG9hZCB0
aGF0IHRha2VzIHN0ZDo6Y2hyb25vOjptaWxsaXNlY29uZHMuCisKIDIwMTQtMDEtMjQgIERhbmll
bCBCYXRlcyAgPGRhYmF0ZXNAYXBwbGUuY29tPgogCiAgICAgICAgIEZpeCB0aGUgV2luZG93cyBi
dWlsZCBhZnRlciA8aHR0cDovL3RyYWMud2Via2l0Lm9yZy9jaGFuZ2VzZXQvMTYyNzA0PgpkaWZm
IC0tZ2l0IGEvU291cmNlL1dlYktpdC9tYWMvQ2hhbmdlTG9nIGIvU291cmNlL1dlYktpdC9tYWMv
Q2hhbmdlTG9nCmluZGV4IDBhYjc3Y2M5MTQxMWIxNmUzYTgwMTVjNjIxNmZiZjY0ODNhNGJlMzEu
LjMwMjIzYzljYzMzZDk1ZTdjYjgyNDkyM2QxYzkxNjUxOTE3ZWRjZTMgMTAwNjQ0Ci0tLSBhL1Nv
dXJjZS9XZWJLaXQvbWFjL0NoYW5nZUxvZworKysgYi9Tb3VyY2UvV2ViS2l0L21hYy9DaGFuZ2VM
b2cKQEAgLTEsMyArMSwxNCBAQAorMjAxNC0wMS0yNCAgQW5kZXJzIENhcmxzc29uICA8YW5kZXJz
Y2FAYXBwbGUuY29tPgorCisgICAgICAgIEdldCByaWQgb2YgbW9ub3RvbmljYWxseUluY3JlYXNp
bmdUaW1lTVMgYW5kIHN0YXJ0IHVzaW5nIHN0ZDo6Y2hyb25vIGluc3RlYWQKKyAgICAgICAgaHR0
cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hvd19idWcuY2dpP2lkPTEyNzU3MQorCisgICAgICAgIFJl
dmlld2VkIGJ5IE5PQk9EWSAoT09QUyEpLgorCisgICAgICAgICogV2ViVmlldy9XZWJWaWV3Lm1t
OgorICAgICAgICAoLVtXZWJWaWV3IF9wcmVmZXJlbmNlc0NoYW5nZWQ6XSk6CisgICAgICAgIENv
bnZlcnQgdGhlIGxheW91dCBpbnRlcnZhbCB0byBzdGQ6OmNocm9ubzo6bWlsbGlzZWNvbmRzLgor
CiAyMDE0LTAxLTI0ICBaYW4gRG9iZXJzZWsgIDx6ZG9iZXJzZWtAaWdhbGlhLmNvbT4KIAogICAg
ICAgICBNb3ZlIEhpc3RvcnlJdGVtIHRvIHN0ZDo6dW5pcXVlX3B0cgpkaWZmIC0tZ2l0IGEvU291
cmNlL1dURi93dGYvQ29tcGlsZXIuaCBiL1NvdXJjZS9XVEYvd3RmL0NvbXBpbGVyLmgKaW5kZXgg
MTc5MWI2MzNjMTRkNTYyOGIwNjIzYmRiMTZhYzA0NjYwYjdhYmEzMi4uMjcwMjlhODc4ZmUwYmZm
ZDM2OGJhMGI4NjkzZGM1MWFlY2U3NzdjNCAxMDA2NDQKLS0tIGEvU291cmNlL1dURi93dGYvQ29t
cGlsZXIuaAorKysgYi9Tb3VyY2UvV1RGL3d0Zi9Db21waWxlci5oCkBAIC00NSw2ICs0NSw4IEBA
CiAjZGVmaW5lIFdURl9DT01QSUxFUl9TVVBQT1JUU19DX1NUQVRJQ19BU1NFUlQgX19oYXNfZmVh
dHVyZShjX3N0YXRpY19hc3NlcnQpCiAjZGVmaW5lIFdURl9DT01QSUxFUl9TVVBQT1JUU19DWFhf
UkVGRVJFTkNFX1FVQUxJRklFRF9GVU5DVElPTlMgX19oYXNfZmVhdHVyZShjeHhfcmVmZXJlbmNl
X3F1YWxpZmllZF9mdW5jdGlvbnMpCiAjZGVmaW5lIFdURl9DT01QSUxFUl9TVVBQT1JUU19DWFhf
R0VORVJBTElaRURfSU5JVElBTElaRVJTIF9faGFzX2ZlYXR1cmUoY3h4X2dlbmVyYWxpemVkX2lu
aXRpYWxpemVycykKKyNkZWZpbmUgV1RGX0NPTVBJTEVSX1NVUFBPUlRTX0NYWF9DT05TVEVYUFIg
X19oYXNfZmVhdHVyZShjeHhfY29uc3RleHByKQorI2RlZmluZSBXVEZfQ09NUElMRVJfU1VQUE9S
VFNfQ1hYX1VTRVJfTElURVJBTFMgX19oYXNfZmVhdHVyZShjeHhfdXNlcl9saXRlcmFscykKICNl
bmRpZgogCiAvKiBDT01QSUxFUihHQ0MpIC0gR05VIENvbXBpbGVyIENvbGxlY3Rpb24gKi8KQEAg
LTU1LDYgKzU3LDcgQEAKICNkZWZpbmUgV1RGX0NPTVBJTEVSX0dDQyAxCiAjZGVmaW5lIEdDQ19W
RVJTSU9OIChfX0dOVUNfXyAqIDEwMDAwICsgX19HTlVDX01JTk9SX18gKiAxMDAgKyBfX0dOVUNf
UEFUQ0hMRVZFTF9fKQogI2RlZmluZSBHQ0NfVkVSU0lPTl9BVF9MRUFTVChtYWpvciwgbWlub3Is
IHBhdGNoKSAoR0NDX1ZFUlNJT04gPj0gKG1ham9yICogMTAwMDAgKyBtaW5vciAqIDEwMCArIHBh
dGNoKSkKKwogI2VuZGlmCiAKIC8qIERlZmluZSBHQ0NfVkVSU0lPTl9BVF9MRUFTVCBmb3IgYWxs
IGNvbXBpbGVycywgc28gd2UgY2FuIHdyaXRlIHRoaW5ncyBsaWtlIEdDQ19WRVJTSU9OX0FUX0xF
QVNUKDQsIDEsIDApLiAqLwpAQCAtNjcsNiArNzAsMTEgQEAKICNlcnJvciAiUGxlYXNlIHVzZSBh
IG5ld2VyIHZlcnNpb24gb2YgR0NDLiBXZWJLaXQgcmVxdWlyZXMgR0NDIDQuNy4wIG9yIG5ld2Vy
IHRvIGNvbXBpbGUuIgogI2VuZGlmCiAKKyNpZiBDT01QSUxFUihHQ0MpICYmICFDT01QSUxFUihD
TEFORykKKyNkZWZpbmUgV1RGX0NPTVBJTEVSX1NVUFBPUlRTX0NYWF9DT05TVEVYUFIgMQorI2Rl
ZmluZSBXVEZfQ09NUElMRVJfU1VQUE9SVFNfQ1hYX1VTRVJfTElURVJBTFMgMQorI2VuZGlmCisK
ICNpZiBDT01QSUxFUihHQ0MpICYmICFDT01QSUxFUihDTEFORykgJiYgZGVmaW5lZChfX1NURENf
VkVSU0lPTl9fKSAmJiBfX1NURENfVkVSU0lPTl9fID49IDIwMTExMkwKICNkZWZpbmUgV1RGX0NP
TVBJTEVSX1NVUFBPUlRTX0NfU1RBVElDX0FTU0VSVCAxCiAjZW5kaWYKQEAgLTI1Niw0ICsyNjQs
MTMgQEAKICNkZWZpbmUgV0FSTl9VTlVTRURfUkVUVVJOCiAjZW5kaWYKIAorLyogQ09OU1RFWFBS
ICovCisjaWYgIWRlZmluZWQoQ09OU1RFWFBSKSAmJiBDT01QSUxFUl9TVVBQT1JUUyhDWFhfQ09O
U1RFWFBSKQorI2RlZmluZSBDT05TVEVYUFIgY29uc3RleHByCisjZW5kaWYKKworI2lmICFkZWZp
bmVkKENPTlNURVhQUikKKyNkZWZpbmUgQ09OU1RFWFBSCisjZW5kaWYKKwogI2VuZGlmIC8qIFdU
Rl9Db21waWxlcl9oICovCmRpZmYgLS1naXQgYS9Tb3VyY2UvV1RGL3d0Zi9DdXJyZW50VGltZS5o
IGIvU291cmNlL1dURi93dGYvQ3VycmVudFRpbWUuaAppbmRleCBiZjlmYjMzYWZmYjkzY2UzN2Rj
ZDViNWI3ZTVlZTViM2EzZTMzMDA3Li43OGU1ODAxN2Y5YTRmNmI2ZjVmMjUzODYzMTFmMDJjMTUx
ODk4OTY3IDEwMDY0NAotLS0gYS9Tb3VyY2UvV1RGL3d0Zi9DdXJyZW50VGltZS5oCisrKyBiL1Nv
dXJjZS9XVEYvd3RmL0N1cnJlbnRUaW1lLmgKQEAgLTU1LDExICs1NSw2IEBAIGlubGluZSBkb3Vi
bGUgY3VycmVudFRpbWVNUygpCiAvLyBOVFAgb3IgbWFudWFsIGFkanVzdG1lbnRzLCBzbyBpdCBp
cyBiZXR0ZXIgc3VpdGVkIGZvciBlbGFwc2VkIHRpbWUgbWVhc3VyZW1lbnQuCiBXVEZfRVhQT1JU
X1BSSVZBVEUgZG91YmxlIG1vbm90b25pY2FsbHlJbmNyZWFzaW5nVGltZSgpOwogCi1pbmxpbmUg
ZG91YmxlIG1vbm90b25pY2FsbHlJbmNyZWFzaW5nVGltZU1TKCkKLXsKLSAgICByZXR1cm4gbW9u
b3RvbmljYWxseUluY3JlYXNpbmdUaW1lKCkgKiAxMDAwLjA7Ci19Ci0KIC8vIFJldHVybnMgdGhl
IGN1cnJlbnQgQ1BVIHRpbWUgb2YgdGhlIGN1cnJlbnQgdGhyZWFkIGluIHNlY29uZHMuCiAvLyBQ
cmVjaXNpb24gdmFyaWVzIGRlcGVuZGluZyBvbiBwbGF0Zm9ybSBidXQgaXMgdXN1YWxseSBhcyBn
b29kIG9yIGJldHRlcgogLy8gdGhhbiBhIG1pbGxpc2Vjb25kLgpAQCAtNzMsNyArNjgsNiBAQCBX
VEZfRVhQT1JUX1BSSVZBVEUgZG91YmxlIGN1cnJlbnRDUFVUaW1lTVMoKTsKIHVzaW5nIFdURjo6
Y3VycmVudFRpbWU7CiB1c2luZyBXVEY6OmN1cnJlbnRUaW1lTVM7CiB1c2luZyBXVEY6Om1vbm90
b25pY2FsbHlJbmNyZWFzaW5nVGltZTsKLXVzaW5nIFdURjo6bW9ub3RvbmljYWxseUluY3JlYXNp
bmdUaW1lTVM7CiB1c2luZyBXVEY6OmN1cnJlbnRDUFVUaW1lOwogCiAjZW5kaWYgLy8gQ3VycmVu
dFRpbWVfaApkaWZmIC0tZ2l0IGEvU291cmNlL1dURi93dGYvU3RkTGliRXh0cmFzLmggYi9Tb3Vy
Y2UvV1RGL3d0Zi9TdGRMaWJFeHRyYXMuaAppbmRleCBhMDRhNGY1ODNiYTMwMzMzZmM0NjgwNmMw
MzYzNWRkNmVkMWIyZDgxLi44YzJjZWIzNzNkZTE1Njc2Mjg5N2M2OTdlMDI2NjFiNDQ0MTc3OGM3
IDEwMDY0NAotLS0gYS9Tb3VyY2UvV1RGL3d0Zi9TdGRMaWJFeHRyYXMuaAorKysgYi9Tb3VyY2Uv
V1RGL3d0Zi9TdGRMaWJFeHRyYXMuaApAQCAtMjcsNiArMjcsNyBAQAogI2lmbmRlZiBXVEZfU3Rk
TGliRXh0cmFzX2gKICNkZWZpbmUgV1RGX1N0ZExpYkV4dHJhc19oCiAKKyNpbmNsdWRlIDxjaHJv
bm8+CiAjaW5jbHVkZSA8bWVtb3J5PgogI2luY2x1ZGUgPHd0Zi9Bc3NlcnRpb25zLmg+CiAjaW5j
bHVkZSA8d3RmL0NoZWNrZWRBcml0aG1ldGljLmg+CkBAIC0zNzEsNiArMzcyLDI0IEBAIG5hbWVz
cGFjZSBzdGQgewogICAgIH07CiAKICAgICB0ZW1wbGF0ZTxzaXplX3QgbGVuZ3RoPiBzdHJ1Y3Qg
bWFrZV9pbmRleF9zZXF1ZW5jZSA6IHB1YmxpYyBtYWtlX2luZGV4X3NlcXVlbmNlX2hlbHBlcjxs
ZW5ndGg+Ojp0eXBlIHsgfTsKKworI2lmIENPTVBJTEVSX1NVUFBPUlRTKENYWF9VU0VSX0xJVEVS
QUxTKQorICAgIC8vIFRoZXNlIGxpdGVyYWxzIGFyZSBhdmFpbGFibGUgaW4gQysrMTQsIHNvIG9u
Y2Ugd2UgcmVxdWlyZSBDKysxNCBjb21waWxlcnMgd2UgY2FuIGdldCByaWQgb2YgdGhlbSBoZXJl
LgorICAgIC8vIChVc2VyLWxpdGVyYWxzIG5lZWQgdG8gaGF2ZSBhIGxlYWRpbmcgdW5kZXJzY29y
ZSBzbyB3ZSBhZGQgaXQgaGVyZSAtIHRoZSAicmVhbCIgbGl0ZXJhbHMgZG9uJ3QgaGF2ZSB1bmRl
cnNjb3JlcykuCisgICAgbmFtZXNwYWNlIGxpdGVyYWxzIHsKKyAgICAgICAgbmFtZXNwYWNlIGNo
cm9ub19saXRlcmFscyB7CisgICAgICAgICAgICBDT05TVEVYUFIgaW5saW5lIGNocm9ubzo6c2Vj
b25kcyBvcGVyYXRvciIiIF9zKHVuc2lnbmVkIGxvbmcgbG9uZyBzKQorICAgICAgICAgICAgewor
ICAgICAgICAgICAgICAgIHJldHVybiBjaHJvbm86OnNlY29uZHMoc3RhdGljX2Nhc3Q8Y2hyb25v
OjpzZWNvbmRzOjpyZXA+KHMpKTsKKyAgICAgICAgICAgIH0KKworICAgICAgICAgICAgQ09OU1RF
WFBSIGNocm9ubzo6bWlsbGlzZWNvbmRzIG9wZXJhdG9yIiIgX21zKHVuc2lnbmVkIGxvbmcgbG9u
ZyBtcykKKyAgICAgICAgICAgIHsKKyAgICAgICAgICAgICAgICByZXR1cm4gY2hyb25vOjptaWxs
aXNlY29uZHMoc3RhdGljX2Nhc3Q8Y2hyb25vOjptaWxsaXNlY29uZHM6OnJlcD4obXMpKTsKKyAg
ICAgICAgICAgIH0KKyAgICAgICAgfQorICAgIH0KKyNlbmRpZgogfQogCiB1c2luZyBXVEY6OktC
OwpAQCAtMzg0LDQgKzQwMyw5IEBAIHVzaW5nIFdURjo6YXBwcm94aW1hdGVCaW5hcnlTZWFyY2g7
CiB1c2luZyBXVEY6OmJpdHdpc2VfY2FzdDsKIHVzaW5nIFdURjo6c2FmZUNhc3Q7CiAKKyNpZiBD
T01QSUxFUl9TVVBQT1JUUyhDWFhfVVNFUl9MSVRFUkFMUykKKy8vIFdlIG5vcm1hbGx5IGRvbid0
IHdhbnQgdG8gYnJpbmcgaW4gZW50aXJlIHN0ZCBuYW1lc3BhY2VzLCBidXQgbGl0ZXJhbHMgYXJl
IGFuIGV4Y2VwdGlvbi4KK3VzaW5nIG5hbWVzcGFjZSBzdGQ6OmxpdGVyYWxzOjpjaHJvbm9fbGl0
ZXJhbHM7CisjZW5kaWYKKwogI2VuZGlmIC8vIFdURl9TdGRMaWJFeHRyYXNfaApkaWZmIC0tZ2l0
IGEvU291cmNlL1dlYkNvcmUvV2ViQ29yZS5leHAuaW4gYi9Tb3VyY2UvV2ViQ29yZS9XZWJDb3Jl
LmV4cC5pbgppbmRleCAwYjY0Y2EzMTJkMDM5N2JiMmMxNmNjN2VkOTU4YzkwZGQ2YzQxMWJhLi5l
M2ViZTk1NzY0NmE3MTYxYjZjYTYwOWYxNTI5MzUyMWNjMDM2NzU0IDEwMDY0NAotLS0gYS9Tb3Vy
Y2UvV2ViQ29yZS9XZWJDb3JlLmV4cC5pbgorKysgYi9Tb3VyY2UvV2ViQ29yZS9XZWJDb3JlLmV4
cC5pbgpAQCAtMTE4OSw3ICsxMTg5LDcgQEAgX19aTjdXZWJDb3JlOFNldHRpbmdzMTZzZXRJbWFn
ZXNFbmFibGVkRWIKIF9fWk43V2ViQ29yZThTZXR0aW5nczE2c2V0U2NyaXB0RW5hYmxlZEViCiBf
X1pON1dlYkNvcmU4U2V0dGluZ3MxNnNldFVzZXNQYWdlQ2FjaGVFYgogX19aTjdXZWJDb3JlOFNl
dHRpbmdzMTdzZXRQbHVnaW5zRW5hYmxlZEViCi1fX1pON1dlYkNvcmU4U2V0dGluZ3MxN3NldExh
eW91dEludGVydmFsRWkKK19fWk43V2ViQ29yZThTZXR0aW5nczE3c2V0TGF5b3V0SW50ZXJ2YWxF
TlN0M19fMTZjaHJvbm84ZHVyYXRpb25JeE5TMV81cmF0aW9JTGwxRUxsMTAwMEVFRUVFCiBfX1pO
N1dlYkNvcmU4U2V0dGluZ3MxOHNldERlZmF1bHRGb250U2l6ZUVpCiBfX1pON1dlYkNvcmU4U2V0
dGluZ3MxOHNldEZpeGVkRm9udEZhbWlseUVSS04zV1RGMTJBdG9taWNTdHJpbmdFMTFVU2NyaXB0
Q29kZQogX19aTjdXZWJDb3JlOFNldHRpbmdzMThzZXRNaW5pbXVtRm9udFNpemVFaQpkaWZmIC0t
Z2l0IGEvU291cmNlL1dlYkNvcmUvZG9tL0RvY3VtZW50LmNwcCBiL1NvdXJjZS9XZWJDb3JlL2Rv
bS9Eb2N1bWVudC5jcHAKaW5kZXggYTYwMDI1MTJhMThiOTkxZmM3ZTNhYmIyMmMxMDNhYTQxMWJi
ODQ1ZC4uODQ0NTgwZTk0MjQ5N2U3M2VjY2Y2ODBlNWMxM2ViMTE1MzY3MWM3NSAxMDA2NDQKLS0t
IGEvU291cmNlL1dlYkNvcmUvZG9tL0RvY3VtZW50LmNwcAorKysgYi9Tb3VyY2UvV2ViQ29yZS9k
b20vRG9jdW1lbnQuY3BwCkBAIC00NDEsNyArNDQxLDcgQEAgRG9jdW1lbnQ6OkRvY3VtZW50KEZy
YW1lKiBmcmFtZSwgY29uc3QgVVJMJiB1cmwsIHVuc2lnbmVkIGRvY3VtZW50Q2xhc3NlcywgdW5z
aWcKICAgICAsIG1fY3NzVGFyZ2V0KG51bGxwdHIpCiAgICAgLCBtX3Byb2Nlc3NpbmdMb2FkRXZl
bnQoZmFsc2UpCiAgICAgLCBtX2xvYWRFdmVudEZpbmlzaGVkKGZhbHNlKQotICAgICwgbV9zdGFy
dFRpbWUobW9ub3RvbmljYWxseUluY3JlYXNpbmdUaW1lTVMoKSkKKyAgICAsIG1fc3RhcnRUaW1l
KHN0ZDo6Y2hyb25vOjpzdGVhZHlfY2xvY2s6Om5vdygpKQogICAgICwgbV9vdmVyTWluaW11bUxh
eW91dFRocmVzaG9sZChmYWxzZSkKICAgICAsIG1fc2NyaXB0UnVubmVyKHN0ZDo6bWFrZV91bmlx
dWU8U2NyaXB0UnVubmVyPigqdGhpcykpCiAgICAgLCBtX3htbFZlcnNpb24oQVNDSUlMaXRlcmFs
KCIxLjAiKSkKQEAgLTI0MjcsNyArMjQyNyw3IEBAIHZvaWQgRG9jdW1lbnQ6OmltcGxpY2l0Q2xv
c2UoKQogICAgICAgICBmLT5sb2FkZXIoKS5oYW5kbGVkT25sb2FkRXZlbnRzKCk7CiAjaWZkZWYg
SU5TVFJVTUVOVF9MQVlPVVRfU0NIRURVTElORwogICAgIGlmICghb3duZXJFbGVtZW50KCkpCi0g
ICAgICAgIHByaW50Zigib25sb2FkIGZpcmVkIGF0ICVkXG4iLCBlbGFwc2VkVGltZSgpKTsKKyAg
ICAgICAgcHJpbnRmKCJvbmxvYWQgZmlyZWQgYXQgJWxsZFxuIiwgZWxhcHNlZFRpbWUoKS5jb3Vu
dCgpKTsKICNlbmRpZgogCiAgICAgLy8gQW4gZXZlbnQgaGFuZGxlciBtYXkgaGF2ZSByZW1vdmVk
IHRoZSBmcmFtZQpAQCAtMjQ5OSw3ICsyNDk5LDcgQEAgdm9pZCBEb2N1bWVudDo6c2V0UGFyc2lu
Zyhib29sIGIpCiAKICNpZmRlZiBJTlNUUlVNRU5UX0xBWU9VVF9TQ0hFRFVMSU5HCiAgICAgaWYg
KCFvd25lckVsZW1lbnQoKSAmJiAhbV9iUGFyc2luZykKLSAgICAgICAgcHJpbnRmKCJQYXJzaW5n
IGZpbmlzaGVkIGF0ICVkXG4iLCBlbGFwc2VkVGltZSgpKTsKKyAgICAgICAgcHJpbnRmKCJQYXJz
aW5nIGZpbmlzaGVkIGF0ICVsbGRcbiIsIGVsYXBzZWRUaW1lKCkuY291bnQoKSk7CiAjZW5kaWYK
IH0KIApAQCAtMjUxNywyNCArMjUxNywyNiBAQCBib29sIERvY3VtZW50OjpzaG91bGRTY2hlZHVs
ZUxheW91dCgpCiAgICAgCiBib29sIERvY3VtZW50Ojppc0xheW91dFRpbWVyQWN0aXZlKCkKIHsK
LSAgICByZXR1cm4gdmlldygpICYmIHZpZXcoKS0+bGF5b3V0UGVuZGluZygpICYmICFtaW5pbXVt
TGF5b3V0RGVsYXkoKTsKKyAgICByZXR1cm4gdmlldygpICYmIHZpZXcoKS0+bGF5b3V0UGVuZGlu
ZygpICYmICFtaW5pbXVtTGF5b3V0RGVsYXkoKS5jb3VudCgpOwogfQogCi1pbnQgRG9jdW1lbnQ6
Om1pbmltdW1MYXlvdXREZWxheSgpCitzdGQ6OmNocm9ubzo6bWlsbGlzZWNvbmRzIERvY3VtZW50
OjptaW5pbXVtTGF5b3V0RGVsYXkoKQogewogICAgIGlmIChtX292ZXJNaW5pbXVtTGF5b3V0VGhy
ZXNob2xkKQotICAgICAgICByZXR1cm4gMDsKKyAgICAgICAgcmV0dXJuIHN0ZDo6Y2hyb25vOjpt
aWxsaXNlY29uZHMoMCk7CiAgICAgCi0gICAgaW50IGVsYXBzZWQgPSBlbGFwc2VkVGltZSgpOwor
ICAgIHN0ZDo6Y2hyb25vOjptaWxsaXNlY29uZHMgZWxhcHNlZCA9IGVsYXBzZWRUaW1lKCk7CiAg
ICAgbV9vdmVyTWluaW11bUxheW91dFRocmVzaG9sZCA9IGVsYXBzZWQgPiBzZXR0aW5ncygpLT5s
YXlvdXRJbnRlcnZhbCgpOwogCiAgICAgLy8gV2UnbGwgd2FudCB0byBzY2hlZHVsZSB0aGUgdGlt
ZXIgdG8gZmlyZSBhdCB0aGUgbWluaW11bSBsYXlvdXQgdGhyZXNob2xkLgotICAgIHJldHVybiBz
dGQ6Om1heCgwLCBzZXR0aW5ncygpLT5sYXlvdXRJbnRlcnZhbCgpIC0gZWxhcHNlZCk7CisgICAg
cmV0dXJuIHN0ZDo6bWF4KHN0ZDo6Y2hyb25vOjptaWxsaXNlY29uZHMoMCksIHNldHRpbmdzKCkt
PmxheW91dEludGVydmFsKCkgLSBlbGFwc2VkKTsKIH0KIAotaW50IERvY3VtZW50OjplbGFwc2Vk
VGltZSgpIGNvbnN0CitzdGQ6OmNocm9ubzo6bWlsbGlzZWNvbmRzIERvY3VtZW50OjplbGFwc2Vk
VGltZSgpIGNvbnN0CiB7Ci0gICAgcmV0dXJuIHN0YXRpY19jYXN0PGludD4obW9ub3RvbmljYWxs
eUluY3JlYXNpbmdUaW1lTVMoKSAtIG1fc3RhcnRUaW1lKTsKKyAgICBhdXRvIGVsYXBzZWRUaW1l
ID0gc3RkOjpjaHJvbm86OnN0ZWFkeV9jbG9jazo6bm93KCkgLSBtX3N0YXJ0VGltZTsKKworICAg
IHJldHVybiBzdGQ6OmNocm9ubzo6ZHVyYXRpb25fY2FzdDxzdGQ6OmNocm9ubzo6bWlsbGlzZWNv
bmRzPihlbGFwc2VkVGltZSk7CiB9CiAKIHZvaWQgRG9jdW1lbnQ6OndyaXRlKGNvbnN0IFNlZ21l
bnRlZFN0cmluZyYgdGV4dCwgRG9jdW1lbnQqIG93bmVyRG9jdW1lbnQpCkBAIC0yNTQ5LDcgKzI1
NTEsNyBAQCB2b2lkIERvY3VtZW50Ojp3cml0ZShjb25zdCBTZWdtZW50ZWRTdHJpbmcmIHRleHQs
IERvY3VtZW50KiBvd25lckRvY3VtZW50KQogCiAjaWZkZWYgSU5TVFJVTUVOVF9MQVlPVVRfU0NI
RURVTElORwogICAgIGlmICghb3duZXJFbGVtZW50KCkpCi0gICAgICAgIHByaW50ZigiQmVnaW5u
aW5nIGEgZG9jdW1lbnQud3JpdGUgYXQgJWRcbiIsIGVsYXBzZWRUaW1lKCkpOworICAgICAgICBw
cmludGYoIkJlZ2lubmluZyBhIGRvY3VtZW50LndyaXRlIGF0ICVsbGRcbiIsIGVsYXBzZWRUaW1l
KCkuY291bnQoKSk7CiAjZW5kaWYKIAogICAgIGJvb2wgaGFzSW5zZXJ0aW9uUG9pbnQgPSBtX3Bh
cnNlciAmJiBtX3BhcnNlci0+aGFzSW5zZXJ0aW9uUG9pbnQoKTsKQEAgLTI1NjQsNyArMjU2Niw3
IEBAIHZvaWQgRG9jdW1lbnQ6OndyaXRlKGNvbnN0IFNlZ21lbnRlZFN0cmluZyYgdGV4dCwgRG9j
dW1lbnQqIG93bmVyRG9jdW1lbnQpCiAKICNpZmRlZiBJTlNUUlVNRU5UX0xBWU9VVF9TQ0hFRFVM
SU5HCiAgICAgaWYgKCFvd25lckVsZW1lbnQoKSkKLSAgICAgICAgcHJpbnRmKCJFbmRpbmcgYSBk
b2N1bWVudC53cml0ZSBhdCAlZFxuIiwgZWxhcHNlZFRpbWUoKSk7CisgICAgICAgIHByaW50Zigi
RW5kaW5nIGEgZG9jdW1lbnQud3JpdGUgYXQgJWxsZFxuIiwgZWxhcHNlZFRpbWUoKS5jb3VudCgp
KTsKICNlbmRpZiAgICAKIH0KIApAQCAtMzIxMSw3ICszMjEzLDcgQEAgdm9pZCBEb2N1bWVudDo6
c3R5bGVSZXNvbHZlckNoYW5nZWQoU3R5bGVSZXNvbHZlclVwZGF0ZUZsYWcgdXBkYXRlRmxhZykK
IAogI2lmZGVmIElOU1RSVU1FTlRfTEFZT1VUX1NDSEVEVUxJTkcKICAgICBpZiAoIW93bmVyRWxl
bWVudCgpKQotICAgICAgICBwcmludGYoIkJlZ2lubmluZyB1cGRhdGUgb2Ygc3R5bGUgc2VsZWN0
b3IgYXQgdGltZSAlZC5cbiIsIGVsYXBzZWRUaW1lKCkpOworICAgICAgICBwcmludGYoIkJlZ2lu
bmluZyB1cGRhdGUgb2Ygc3R5bGUgc2VsZWN0b3IgYXQgdGltZSAlbGxkLlxuIiwgZWxhcHNlZFRp
bWUoKS5jb3VudCgpKTsKICNlbmRpZgogCiAgICAgRG9jdW1lbnRTdHlsZVNoZWV0Q29sbGVjdGlv
bjo6VXBkYXRlRmxhZyBzdHlsZVNoZWV0VXBkYXRlID0gKHVwZGF0ZUZsYWcgPT0gUmVjYWxjU3R5
bGVJZk5lZWRlZCB8fCB1cGRhdGVGbGFnID09IERlZmVyUmVjYWxjU3R5bGVJZk5lZWRlZCkKQEAg
LTMyNDgsNyArMzI1MCw3IEBAIHZvaWQgRG9jdW1lbnQ6OnN0eWxlUmVzb2x2ZXJDaGFuZ2VkKFN0
eWxlUmVzb2x2ZXJVcGRhdGVGbGFnIHVwZGF0ZUZsYWcpCiAKICNpZmRlZiBJTlNUUlVNRU5UX0xB
WU9VVF9TQ0hFRFVMSU5HCiAgICAgaWYgKCFvd25lckVsZW1lbnQoKSkKLSAgICAgICAgcHJpbnRm
KCJGaW5pc2hlZCB1cGRhdGUgb2Ygc3R5bGUgc2VsZWN0b3IgYXQgdGltZSAlZFxuIiwgZWxhcHNl
ZFRpbWUoKSk7CisgICAgICAgIHByaW50ZigiRmluaXNoZWQgdXBkYXRlIG9mIHN0eWxlIHNlbGVj
dG9yIGF0IHRpbWUgJWxsZFxuIiwgZWxhcHNlZFRpbWUoKS5jb3VudCgpKTsKICNlbmRpZgogCiAg
ICAgaWYgKHJlbmRlclZpZXcoKSkgewpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvZG9tL0Rv
Y3VtZW50LmggYi9Tb3VyY2UvV2ViQ29yZS9kb20vRG9jdW1lbnQuaAppbmRleCAzYWU3ZjQ5ZmI0
NDMyZjJhYmU3YmE0OWQ4Yzk5MWJmYzhlNGQ4NWRlLi5lMTNjZWEwZGZjMjRlN2MyNzU2ZDdhMzM2
NmQxMmZhZmU2OWRhYWNmIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9kb20vRG9jdW1lbnQu
aAorKysgYi9Tb3VyY2UvV2ViQ29yZS9kb20vRG9jdW1lbnQuaApAQCAtNTEsNiArNTEsNyBAQAog
I2luY2x1ZGUgIlRyZWVTY29wZS5oIgogI2luY2x1ZGUgIlVzZXJBY3Rpb25FbGVtZW50U2V0Lmgi
CiAjaW5jbHVkZSAiVmlld3BvcnRBcmd1bWVudHMuaCIKKyNpbmNsdWRlIDxjaHJvbm8+CiAjaW5j
bHVkZSA8d3RmL0RlcXVlLmg+CiAjaW5jbHVkZSA8d3RmL0hhc2hTZXQuaD4KICNpbmNsdWRlIDx3
dGYvT3duUHRyLmg+CkBAIC02NjEsMTEgKzY2MiwxMSBAQCBwdWJsaWM6CiAgICAgdm9pZCBzZXRS
ZWFkeVN0YXRlKFJlYWR5U3RhdGUpOwogICAgIHZvaWQgc2V0UGFyc2luZyhib29sKTsKICAgICBi
b29sIHBhcnNpbmcoKSBjb25zdCB7IHJldHVybiBtX2JQYXJzaW5nOyB9Ci0gICAgaW50IG1pbmlt
dW1MYXlvdXREZWxheSgpOworICAgIHN0ZDo6Y2hyb25vOjptaWxsaXNlY29uZHMgbWluaW11bUxh
eW91dERlbGF5KCk7CiAKICAgICBib29sIHNob3VsZFNjaGVkdWxlTGF5b3V0KCk7CiAgICAgYm9v
bCBpc0xheW91dFRpbWVyQWN0aXZlKCk7Ci0gICAgaW50IGVsYXBzZWRUaW1lKCkgY29uc3Q7Cisg
ICAgc3RkOjpjaHJvbm86Om1pbGxpc2Vjb25kcyBlbGFwc2VkVGltZSgpIGNvbnN0OwogICAgIAog
ICAgIHZvaWQgc2V0VGV4dENvbG9yKGNvbnN0IENvbG9yJiBjb2xvcikgeyBtX3RleHRDb2xvciA9
IGNvbG9yOyB9CiAgICAgQ29sb3IgdGV4dENvbG9yKCkgY29uc3QgeyByZXR1cm4gbV90ZXh0Q29s
b3I7IH0KQEAgLTE0MzMsNyArMTQzNCw3IEBAIHByaXZhdGU6CiAgICAgYm9vbCBtX2xvYWRFdmVu
dEZpbmlzaGVkOwogCiAgICAgUmVmUHRyPFNlcmlhbGl6ZWRTY3JpcHRWYWx1ZT4gbV9wZW5kaW5n
U3RhdGVPYmplY3Q7Ci0gICAgZG91YmxlIG1fc3RhcnRUaW1lOworICAgIHN0ZDo6Y2hyb25vOjpz
dGVhZHlfY2xvY2s6OnRpbWVfcG9pbnQgbV9zdGFydFRpbWU7CiAgICAgYm9vbCBtX292ZXJNaW5p
bXVtTGF5b3V0VGhyZXNob2xkOwogICAgIAogICAgIHN0ZDo6dW5pcXVlX3B0cjxTY3JpcHRSdW5u
ZXI+IG1fc2NyaXB0UnVubmVyOwpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvZmlsZWFwaS9G
aWxlUmVhZGVyLmNwcCBiL1NvdXJjZS9XZWJDb3JlL2ZpbGVhcGkvRmlsZVJlYWRlci5jcHAKaW5k
ZXggNGY1ODU0OGRiZGZlY2Q5ZTU4YmQ3ZWUwNjljOWExYTE5NTZkNTRmMS4uMDAyNWJjMDQ1OWZk
OTE3YTY0NzhlZTkxZDllZTNkOTllMGQ5YWMwMSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUv
ZmlsZWFwaS9GaWxlUmVhZGVyLmNwcAorKysgYi9Tb3VyY2UvV2ViQ29yZS9maWxlYXBpL0ZpbGVS
ZWFkZXIuY3BwCkBAIC00Niw3ICs0Niw3IEBACiAKIG5hbWVzcGFjZSBXZWJDb3JlIHsKIAotc3Rh
dGljIGNvbnN0IGRvdWJsZSBwcm9ncmVzc05vdGlmaWNhdGlvbkludGVydmFsTVMgPSA1MDsKK3N0
YXRpYyBjb25zdCBhdXRvIHByb2dyZXNzTm90aWZpY2F0aW9uSW50ZXJ2YWwgPSBzdGQ6OmNocm9u
bzo6bWlsbGlzZWNvbmRzKDUwKTsKIAogUGFzc1JlZlB0cjxGaWxlUmVhZGVyPiBGaWxlUmVhZGVy
OjpjcmVhdGUoU2NyaXB0RXhlY3V0aW9uQ29udGV4dCYgY29udGV4dCkKIHsKQEAgLTYwLDcgKzYw
LDYgQEAgRmlsZVJlYWRlcjo6RmlsZVJlYWRlcihTY3JpcHRFeGVjdXRpb25Db250ZXh0JiBjb250
ZXh0KQogICAgICwgbV9zdGF0ZShFTVBUWSkKICAgICAsIG1fYWJvcnRpbmcoZmFsc2UpCiAgICAg
LCBtX3JlYWRUeXBlKEZpbGVSZWFkZXJMb2FkZXI6OlJlYWRBc0JpbmFyeVN0cmluZykKLSAgICAs
IG1fbGFzdFByb2dyZXNzTm90aWZpY2F0aW9uVGltZU1TKDApCiB7CiB9CiAKQEAgLTE5OSwxMiAr
MTk4LDE1IEBAIHZvaWQgRmlsZVJlYWRlcjo6ZGlkU3RhcnRMb2FkaW5nKCkKIHZvaWQgRmlsZVJl
YWRlcjo6ZGlkUmVjZWl2ZURhdGEoKQogewogICAgIC8vIEZpcmUgdGhlIHByb2dyZXNzIGV2ZW50
IGF0IGxlYXN0IGV2ZXJ5IDUwbXMuCi0gICAgZG91YmxlIG5vdyA9IG1vbm90b25pY2FsbHlJbmNy
ZWFzaW5nVGltZU1TKCk7Ci0gICAgaWYgKCFtX2xhc3RQcm9ncmVzc05vdGlmaWNhdGlvblRpbWVN
UykKLSAgICAgICAgbV9sYXN0UHJvZ3Jlc3NOb3RpZmljYXRpb25UaW1lTVMgPSBub3c7Ci0gICAg
ZWxzZSBpZiAobm93IC0gbV9sYXN0UHJvZ3Jlc3NOb3RpZmljYXRpb25UaW1lTVMgPiBwcm9ncmVz
c05vdGlmaWNhdGlvbkludGVydmFsTVMpIHsKKyAgICBhdXRvIG5vdyA9IHN0ZDo6Y2hyb25vOjpz
dGVhZHlfY2xvY2s6Om5vdygpOworICAgIGlmICghbV9sYXN0UHJvZ3Jlc3NOb3RpZmljYXRpb25U
aW1lLnRpbWVfc2luY2VfZXBvY2goKS5jb3VudCgpKSB7CisgICAgICAgIG1fbGFzdFByb2dyZXNz
Tm90aWZpY2F0aW9uVGltZSA9IG5vdzsKKyAgICAgICAgcmV0dXJuOworICAgIH0KKworICAgIGlm
IChub3cgLSBtX2xhc3RQcm9ncmVzc05vdGlmaWNhdGlvblRpbWUgPiBwcm9ncmVzc05vdGlmaWNh
dGlvbkludGVydmFsKSB7CiAgICAgICAgIGZpcmVFdmVudChldmVudE5hbWVzKCkucHJvZ3Jlc3NF
dmVudCk7Ci0gICAgICAgIG1fbGFzdFByb2dyZXNzTm90aWZpY2F0aW9uVGltZU1TID0gbm93Owor
ICAgICAgICBtX2xhc3RQcm9ncmVzc05vdGlmaWNhdGlvblRpbWUgPSBub3c7CiAgICAgfQogfQog
CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9maWxlYXBpL0ZpbGVSZWFkZXIuaCBiL1NvdXJj
ZS9XZWJDb3JlL2ZpbGVhcGkvRmlsZVJlYWRlci5oCmluZGV4IGRlNWVjNDg3OGRlODJhNWEyMTYy
MTk2YmYxYjU4YzRjM2M2YmExYmEuLjc4OTcwMTYzNWE3MWQ1ZDgyN2ViZWRmZDU5Mzc2YTliMDBl
MDIzZjEgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL2ZpbGVhcGkvRmlsZVJlYWRlci5oCisr
KyBiL1NvdXJjZS9XZWJDb3JlL2ZpbGVhcGkvRmlsZVJlYWRlci5oCkBAIC0zOCw2ICszOCw3IEBA
CiAjaW5jbHVkZSAiRmlsZUVycm9yLmgiCiAjaW5jbHVkZSAiRmlsZVJlYWRlckxvYWRlci5oIgog
I2luY2x1ZGUgIkZpbGVSZWFkZXJMb2FkZXJDbGllbnQuaCIKKyNpbmNsdWRlIDxjaHJvbm8+CiAj
aW5jbHVkZSA8d3RmL0ZvcndhcmQuaD4KICNpbmNsdWRlIDx3dGYvUmVmQ291bnRlZC5oPgogI2lu
Y2x1ZGUgPHd0Zi90ZXh0L1dURlN0cmluZy5oPgpAQCAtMTIzLDcgKzEyNCw3IEBAIHByaXZhdGU6
CiAgICAgU3RyaW5nIG1fZW5jb2Rpbmc7CiAgICAgc3RkOjp1bmlxdWVfcHRyPEZpbGVSZWFkZXJM
b2FkZXI+IG1fbG9hZGVyOwogICAgIFJlZlB0cjxGaWxlRXJyb3I+IG1fZXJyb3I7Ci0gICAgZG91
YmxlIG1fbGFzdFByb2dyZXNzTm90aWZpY2F0aW9uVGltZU1TOworICAgIHN0ZDo6Y2hyb25vOjpz
dGVhZHlfY2xvY2s6OnRpbWVfcG9pbnQgbV9sYXN0UHJvZ3Jlc3NOb3RpZmljYXRpb25UaW1lOwog
fTsKIAogfSAvLyBuYW1lc3BhY2UgV2ViQ29yZQpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUv
cGFnZS9GcmFtZVZpZXcuY3BwIGIvU291cmNlL1dlYkNvcmUvcGFnZS9GcmFtZVZpZXcuY3BwCmlu
ZGV4IGIyNWE5MjJiMThjOTM5YTBlODFkZmE0NjAzYTNjNmZlYTQzZWYyZmEuLjRjMTYyZjlhYTcy
ZmRiMzIyMjNmZWMxN2ZjYzU4YTQ5NDg5ZTEwM2UgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3Jl
L3BhZ2UvRnJhbWVWaWV3LmNwcAorKysgYi9Tb3VyY2UvV2ViQ29yZS9wYWdlL0ZyYW1lVmlldy5j
cHAKQEAgLTEyNDIsNyArMTI0Miw3IEBAIHZvaWQgRnJhbWVWaWV3OjpsYXlvdXQoYm9vbCBhbGxv
d1N1YnRyZWUpCiAKICNpZmRlZiBJTlNUUlVNRU5UX0xBWU9VVF9TQ0hFRFVMSU5HCiAgICAgICAg
ICAgICBpZiAobV9maXJzdExheW91dCAmJiAhZnJhbWUoKS5vd25lckVsZW1lbnQoKSkKLSAgICAg
ICAgICAgICAgICBwcmludGYoIkVsYXBzZWQgdGltZSBiZWZvcmUgZmlyc3QgbGF5b3V0OiAlZFxu
IiwgZG9jdW1lbnQuZWxhcHNlZFRpbWUoKSk7CisgICAgICAgICAgICAgICAgcHJpbnRmKCJFbGFw
c2VkIHRpbWUgYmVmb3JlIGZpcnN0IGxheW91dDogJWxsZFxuIiwgZG9jdW1lbnQuZWxhcHNlZFRp
bWUoKS5jb3VudCgpKTsKICNlbmRpZiAgICAgICAgCiAgICAgICAgIH0KIApAQCAtMjQ3Miw3ICsy
NDcyLDcgQEAgdm9pZCBGcmFtZVZpZXc6OmxheW91dFRpbWVyRmlyZWQoVGltZXI8RnJhbWVWaWV3
PiYpCiB7CiAjaWZkZWYgSU5TVFJVTUVOVF9MQVlPVVRfU0NIRURVTElORwogICAgIGlmICghZnJh
bWUoKS5kb2N1bWVudCgpLT5vd25lckVsZW1lbnQoKSkKLSAgICAgICAgcHJpbnRmKCJMYXlvdXQg
dGltZXIgZmlyZWQgYXQgJWRcbiIsIGZyYW1lKCkuZG9jdW1lbnQoKS0+ZWxhcHNlZFRpbWUoKSk7
CisgICAgICAgIHByaW50ZigiTGF5b3V0IHRpbWVyIGZpcmVkIGF0ICVsbGRcbiIsIGZyYW1lKCku
ZG9jdW1lbnQoKS0+ZWxhcHNlZFRpbWUoKS5jb3VudCgpKTsKICNlbmRpZgogICAgIGxheW91dCgp
OwogfQpAQCAtMjQ5OSwyMCArMjQ5OSwyMCBAQCB2b2lkIEZyYW1lVmlldzo6c2NoZWR1bGVSZWxh
eW91dCgpCiAgICAgaWYgKGZyYW1lKCkub3duZXJSZW5kZXJlcigpICYmIGlzSW5DaGlsZEZyYW1l
V2l0aEZyYW1lRmxhdHRlbmluZygpKQogICAgICAgICBmcmFtZSgpLm93bmVyUmVuZGVyZXIoKS0+
c2V0TmVlZHNMYXlvdXQoTWFya0NvbnRhaW5pbmdCbG9ja0NoYWluKTsKIAotICAgIGludCBkZWxh
eSA9IGZyYW1lKCkuZG9jdW1lbnQoKS0+bWluaW11bUxheW91dERlbGF5KCk7Ci0gICAgaWYgKG1f
bGF5b3V0VGltZXIuaXNBY3RpdmUoKSAmJiBtX2RlbGF5ZWRMYXlvdXQgJiYgIWRlbGF5KQorICAg
IHN0ZDo6Y2hyb25vOjptaWxsaXNlY29uZHMgZGVsYXkgPSBmcmFtZSgpLmRvY3VtZW50KCktPm1p
bmltdW1MYXlvdXREZWxheSgpOworICAgIGlmIChtX2xheW91dFRpbWVyLmlzQWN0aXZlKCkgJiYg
bV9kZWxheWVkTGF5b3V0ICYmICFkZWxheS5jb3VudCgpKQogICAgICAgICB1bnNjaGVkdWxlUmVs
YXlvdXQoKTsKICAgICBpZiAobV9sYXlvdXRUaW1lci5pc0FjdGl2ZSgpKQogICAgICAgICByZXR1
cm47CiAKLSAgICBtX2RlbGF5ZWRMYXlvdXQgPSBkZWxheSAhPSAwOworICAgIG1fZGVsYXllZExh
eW91dCA9IGRlbGF5LmNvdW50KCk7CiAKICNpZmRlZiBJTlNUUlVNRU5UX0xBWU9VVF9TQ0hFRFVM
SU5HCiAgICAgaWYgKCFmcmFtZSgpLmRvY3VtZW50KCktPm93bmVyRWxlbWVudCgpKQogICAgICAg
ICBwcmludGYoIlNjaGVkdWxpbmcgbGF5b3V0IGZvciAlZFxuIiwgZGVsYXkpOwogI2VuZGlmCiAK
LSAgICBtX2xheW91dFRpbWVyLnN0YXJ0T25lU2hvdChkZWxheSAqIDAuMDAxKTsKKyAgICBtX2xh
eW91dFRpbWVyLnN0YXJ0T25lU2hvdChkZWxheSk7CiB9CiAKIHN0YXRpYyBib29sIGlzT2JqZWN0
QW5jZXN0b3JDb250YWluZXJPZihSZW5kZXJPYmplY3QqIGFuY2VzdG9yLCBSZW5kZXJPYmplY3Qq
IGRlc2NlbmRhbnQpCkBAIC0yNTM5LDEyICsyNTM5LDEyIEBAIHZvaWQgRnJhbWVWaWV3OjpzY2hl
ZHVsZVJlbGF5b3V0T2ZTdWJ0cmVlKFJlbmRlckVsZW1lbnQmIG5ld1JlbGF5b3V0Um9vdCkKICAg
ICB9CiAKICAgICBpZiAoIWxheW91dFBlbmRpbmcoKSAmJiBtX2xheW91dFNjaGVkdWxpbmdFbmFi
bGVkKSB7Ci0gICAgICAgIGludCBkZWxheSA9IHJlbmRlclZpZXcuZG9jdW1lbnQoKS5taW5pbXVt
TGF5b3V0RGVsYXkoKTsKKyAgICAgICAgc3RkOjpjaHJvbm86Om1pbGxpc2Vjb25kcyBkZWxheSA9
IHJlbmRlclZpZXcuZG9jdW1lbnQoKS5taW5pbXVtTGF5b3V0RGVsYXkoKTsKICAgICAgICAgQVNT
RVJUKCFuZXdSZWxheW91dFJvb3QuY29udGFpbmVyKCkgfHwgIW5ld1JlbGF5b3V0Um9vdC5jb250
YWluZXIoKS0+bmVlZHNMYXlvdXQoKSk7CiAgICAgICAgIG1fbGF5b3V0Um9vdCA9ICZuZXdSZWxh
eW91dFJvb3Q7CiAgICAgICAgIEluc3BlY3Rvckluc3RydW1lbnRhdGlvbjo6ZGlkSW52YWxpZGF0
ZUxheW91dCgmZnJhbWUoKSk7Ci0gICAgICAgIG1fZGVsYXllZExheW91dCA9IGRlbGF5ICE9IDA7
Ci0gICAgICAgIG1fbGF5b3V0VGltZXIuc3RhcnRPbmVTaG90KGRlbGF5ICogMC4wMDEpOworICAg
ICAgICBtX2RlbGF5ZWRMYXlvdXQgPSBkZWxheS5jb3VudCgpOworICAgICAgICBtX2xheW91dFRp
bWVyLnN0YXJ0T25lU2hvdChkZWxheSk7CiAgICAgICAgIHJldHVybjsKICAgICB9CiAKZGlmZiAt
LWdpdCBhL1NvdXJjZS9XZWJDb3JlL3BhZ2UvU2V0dGluZ3MuY3BwIGIvU291cmNlL1dlYkNvcmUv
cGFnZS9TZXR0aW5ncy5jcHAKaW5kZXggM2JhMjNiNGZjNTc0NTc4ZWI5MGUxN2I1ODJiNGFjMmJh
NzYxOTY1Mi4uNjdhN2NiY2MzM2NkM2Y3NjFiMzcwNTYxNDFmZmY3NDgxOWVhZDZmMyAxMDA2NDQK
LS0tIGEvU291cmNlL1dlYkNvcmUvcGFnZS9TZXR0aW5ncy5jcHAKKysrIGIvU291cmNlL1dlYkNv
cmUvcGFnZS9TZXR0aW5ncy5jcHAKQEAgLTQ3LDcgKzQ3LDcgQEAKICNpbmNsdWRlICJUZXh0QXV0
b3NpemVyLmgiCiAjaW5jbHVkZSA8bGltaXRzPgogI2luY2x1ZGUgPHd0Zi9OZXZlckRlc3Ryb3ll
ZC5oPgotCisjaW5jbHVkZSA8d3RmL1N0ZExpYkV4dHJhcy5oPgogCiBuYW1lc3BhY2UgV2ViQ29y
ZSB7CiAKQEAgLTE0Niw3ICsxNDYsNyBAQCBzdGF0aWMgY29uc3QgYm9vbCBkZWZhdWx0U2VsZWN0
VHJhaWxpbmdXaGl0ZXNwYWNlRW5hYmxlZCA9IGZhbHNlOwogLy8gVGhpcyBhbW91bnQgb2YgdGlt
ZSBtdXN0IGhhdmUgZWxhcHNlZCBiZWZvcmUgd2Ugd2lsbCBldmVuIGNvbnNpZGVyIHNjaGVkdWxp
bmcgYSBsYXlvdXQgd2l0aG91dCBhIGRlbGF5LgogLy8gRklYTUU6IEZvciBmYXN0ZXIgbWFjaGlu
ZXMgdGhpcyB2YWx1ZSBjYW4gcmVhbGx5IGJlIGxvd2VyZWQgdG8gMjAwLiAyNTAgaXMgYWRlcXVh
dGUsIGJ1dCBhIGxpdHRsZSBoaWdoCiAvLyBmb3IgZHVhbCBHNXMuIDopCi1zdGF0aWMgY29uc3Qg
aW50IGxheW91dFNjaGVkdWxlVGhyZXNob2xkID0gMjUwOworc3RhdGljIGNvbnN0IGF1dG8gbGF5
b3V0U2NoZWR1bGVUaHJlc2hvbGQgPSBzdGQ6OmNocm9ubzo6bWlsbGlzZWNvbmRzKDI1MCk7CiAK
IFNldHRpbmdzOjpTZXR0aW5ncyhQYWdlKiBwYWdlKQogICAgIDogbV9wYWdlKDApCkBAIC01MDcs
NyArNTA3LDcgQEAgZG91YmxlIFNldHRpbmdzOjpkb21UaW1lckFsaWdubWVudEludGVydmFsKCkg
Y29uc3QKICAgICByZXR1cm4gbV9wYWdlLT50aW1lckFsaWdubWVudEludGVydmFsKCk7CiB9CiAK
LXZvaWQgU2V0dGluZ3M6OnNldExheW91dEludGVydmFsKGludCBsYXlvdXRJbnRlcnZhbCkKK3Zv
aWQgU2V0dGluZ3M6OnNldExheW91dEludGVydmFsKHN0ZDo6Y2hyb25vOjptaWxsaXNlY29uZHMg
bGF5b3V0SW50ZXJ2YWwpCiB7CiAgICAgLy8gRklYTUU6IEl0IHNlZW1zIHdlaXJkIHRoYXQgdGhp
cyBmdW5jdGlvbiBtYXkgZGlzcmVnYXJkIHRoZSBzcGVjaWZpZWQgbGF5b3V0IGludGVydmFsLgog
ICAgIC8vIFdlIHNob3VsZCBlaXRoZXIgZXhwb3NlIGxheW91dFNjaGVkdWxlVGhyZXNob2xkIG9y
IGJldHRlciBjb21tdW5pY2F0ZSB0aGlzIGludmFyaWFudC4KZGlmZiAtLWdpdCBhL1NvdXJjZS9X
ZWJDb3JlL3BhZ2UvU2V0dGluZ3MuaCBiL1NvdXJjZS9XZWJDb3JlL3BhZ2UvU2V0dGluZ3MuaApp
bmRleCBjYjJlYzk3Y2NlMGM1NDYzYTkzMzM2ZTdiNjlhODRjOWU0Y2VjZTY2Li4wY2VjZGRlOWE1
NTJjM2Y4ZjJhYzU4MDRiYzhmNmM3YTYyMTcyMTNiIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29y
ZS9wYWdlL1NldHRpbmdzLmgKKysrIGIvU291cmNlL1dlYkNvcmUvcGFnZS9TZXR0aW5ncy5oCkBA
IC0zNCw2ICszNCw3IEBACiAjaW5jbHVkZSAiU2VjdXJpdHlPcmlnaW4uaCIKICNpbmNsdWRlICJT
ZXR0aW5nc01hY3Jvcy5oIgogI2luY2x1ZGUgIlRpbWVyLmgiCisjaW5jbHVkZSA8Y2hyb25vPgog
I2luY2x1ZGUgPHd0Zi9IYXNoTWFwLmg+CiAjaW5jbHVkZSA8d3RmL1JlZkNvdW50ZWQuaD4KICNp
bmNsdWRlIDx3dGYvdGV4dC9BdG9taWNTdHJpbmcuaD4KQEAgLTE3MSw5ICsxNzIsOCBAQCBwdWJs
aWM6CiAgICAgdm9pZCBzZXRET01UaW1lckFsaWdubWVudEludGVydmFsKGRvdWJsZSk7CiAgICAg
ZG91YmxlIGRvbVRpbWVyQWxpZ25tZW50SW50ZXJ2YWwoKSBjb25zdDsKIAotICAgIC8vIEZJWE1F
OiBDaGFuZ2UgdGhlc2UgbWV0aG9kcyB0byB0YWtlL3JldHVybiBhbiB1bnNpZ25lZCBpbnRlZ2Vy
IGFmdGVyIHdlIHVwc3RyZWFtIHRoZSBpT1MgcG9ydC4KLSAgICB2b2lkIHNldExheW91dEludGVy
dmFsKGludCk7Ci0gICAgaW50IGxheW91dEludGVydmFsKCkgY29uc3QgeyByZXR1cm4gbV9sYXlv
dXRJbnRlcnZhbDsgfQorICAgIHZvaWQgc2V0TGF5b3V0SW50ZXJ2YWwoc3RkOjpjaHJvbm86Om1p
bGxpc2Vjb25kcyk7CisgICAgc3RkOjpjaHJvbm86Om1pbGxpc2Vjb25kcyBsYXlvdXRJbnRlcnZh
bCgpIGNvbnN0IHsgcmV0dXJuIG1fbGF5b3V0SW50ZXJ2YWw7IH0KIAogI2lmIEVOQUJMRShISURE
RU5fUEFHRV9ET01fVElNRVJfVEhST1RUTElORykKICAgICBib29sIGhpZGRlblBhZ2VET01UaW1l
clRocm90dGxpbmdFbmFibGVkKCkgY29uc3QgeyByZXR1cm4gbV9oaWRkZW5QYWdlRE9NVGltZXJU
aHJvdHRsaW5nRW5hYmxlZDsgfQpAQCAtMzIxLDcgKzMyMSw3IEBAIHByaXZhdGU6CiAgICAgVVJM
IG1fdXNlclN0eWxlU2hlZXRMb2NhdGlvbjsKICAgICBjb25zdCBzdGQ6OnVuaXF1ZV9wdHI8Rm9u
dEdlbmVyaWNGYW1pbGllcz4gbV9mb250R2VuZXJpY0ZhbWlsaWVzOwogICAgIFNlY3VyaXR5T3Jp
Z2luOjpTdG9yYWdlQmxvY2tpbmdQb2xpY3kgbV9zdG9yYWdlQmxvY2tpbmdQb2xpY3k7Ci0gICAg
aW50IG1fbGF5b3V0SW50ZXJ2YWw7CisgICAgc3RkOjpjaHJvbm86Om1pbGxpc2Vjb25kcyBtX2xh
eW91dEludGVydmFsOwogI2lmIFBMQVRGT1JNKElPUykKICAgICBkb3VibGUgbV9tYXhQYXJzZUR1
cmF0aW9uOwogI2VuZGlmCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9UaW1l
ci5oIGIvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vVGltZXIuaAppbmRleCBmNDVjYjkwN2MyYmY3
NjIwYjA2NWFjNjVlODY1MWQ3Zjg0MzVmOTExLi40MTgyMGI0NjQ5OGFlYjY1ZmVmMzRlY2U2YjIy
ODY5NWUxYTJjNWM2IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9UaW1lci5o
CisrKyBiL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL1RpbWVyLmgKQEAgLTI2LDYgKzI2LDcgQEAK
ICNpZm5kZWYgVGltZXJfaAogI2RlZmluZSBUaW1lcl9oCiAKKyNpbmNsdWRlIDxjaHJvbm8+CiAj
aW5jbHVkZSA8ZnVuY3Rpb25hbD4KICNpbmNsdWRlIDx3dGYvTm9uY29weWFibGUuaD4KICNpbmNs
dWRlIDx3dGYvVGhyZWFkaW5nLmg+CkBAIC01Miw2ICs1Myw3IEBAIHB1YmxpYzoKIAogICAgIHZv
aWQgc3RhcnRSZXBlYXRpbmcoZG91YmxlIHJlcGVhdEludGVydmFsKSB7IHN0YXJ0KHJlcGVhdElu
dGVydmFsLCByZXBlYXRJbnRlcnZhbCk7IH0KICAgICB2b2lkIHN0YXJ0T25lU2hvdChkb3VibGUg
aW50ZXJ2YWwpIHsgc3RhcnQoaW50ZXJ2YWwsIDApOyB9CisgICAgdm9pZCBzdGFydE9uZVNob3Qo
c3RkOjpjaHJvbm86Om1pbGxpc2Vjb25kcyBpbnRlcnZhbCkgeyBzdGFydE9uZVNob3QoaW50ZXJ2
YWwuY291bnQoKSAqIDAuMDAxKTsgfQogCiAgICAgdm9pZCBzdG9wKCk7CiAgICAgYm9vbCBpc0Fj
dGl2ZSgpIGNvbnN0OwpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYktpdC9tYWMvV2ViVmlldy9XZWJW
aWV3Lm1tIGIvU291cmNlL1dlYktpdC9tYWMvV2ViVmlldy9XZWJWaWV3Lm1tCmluZGV4IDRlN2Fm
MTkwY2Y3YzMxODU4Y2FkMDBiMzBjZDM3MzY3MWM4ZWE3OTMuLjRjMGU3MWYzZDYxYTJmMmU3YjZj
MzJkZjFlZjM2YTgzZDFkOWU5OTIgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJLaXQvbWFjL1dlYlZp
ZXcvV2ViVmlldy5tbQorKysgYi9Tb3VyY2UvV2ViS2l0L21hYy9XZWJWaWV3L1dlYlZpZXcubW0K
QEAgLTIyODksNyArMjI4OSw3IEBAIHN0YXRpYyBib29sIG5lZWRzU2VsZlJldGFpbldoaWxlTG9h
ZGluZ1F1aXJrKCkKICAgICBzZXR0aW5ncy5zZXRUZWxlcGhvbmVOdW1iZXJQYXJzaW5nRW5hYmxl
ZChbcHJlZmVyZW5jZXMgX3RlbGVwaG9uZU51bWJlclBhcnNpbmdFbmFibGVkXSk7CiAgICAgc2V0
dGluZ3Muc2V0QWx3YXlzVXNlQmFzZWxpbmVPZlByaW1hcnlGb250KFtwcmVmZXJlbmNlcyBfYWx3
YXlzVXNlQmFzZWxpbmVPZlByaW1hcnlGb250XSk7CiAgICAgc2V0dGluZ3Muc2V0QWxsb3dNdWx0
aUVsZW1lbnRJbXBsaWNpdFN1Ym1pc3Npb24oW3ByZWZlcmVuY2VzIF9hbGxvd011bHRpRWxlbWVu
dEltcGxpY2l0Rm9ybVN1Ym1pc3Npb25dKTsKLSAgICBzZXR0aW5ncy5zZXRMYXlvdXRJbnRlcnZh
bChbcHJlZmVyZW5jZXMgX2xheW91dEludGVydmFsXSk7CisgICAgc2V0dGluZ3Muc2V0TGF5b3V0
SW50ZXJ2YWwoc3RkOjpjaHJvbm86Om1pbGxpc2Vjb25kcyhbcHJlZmVyZW5jZXMgX2xheW91dElu
dGVydmFsXSkpOwogICAgIHNldHRpbmdzLnNldE1heFBhcnNlRHVyYXRpb24oW3ByZWZlcmVuY2Vz
IF9tYXhQYXJzZUR1cmF0aW9uXSk7CiAgICAgc2V0dGluZ3Muc2V0QWx3YXlzVXNlQWNjZWxlcmF0
ZWRPdmVyZmxvd1Njcm9sbChbcHJlZmVyZW5jZXMgX2Fsd2F5c1VzZUFjY2VsZXJhdGVkT3ZlcmZs
b3dTY3JvbGxdKTsKICNlbmRpZgo=
</data>

          </attachment>
      

    </bug>

</bugzilla>