<?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>88933</bug_id>
          
          <creation_ts>2012-06-12 16:16:58 -0700</creation_ts>
          <short_desc>[Qt][Wk2] Support client time picker dialog</short_desc>
          <delta_ts>2014-02-03 03:21:12 -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>WebKit2</component>
          <version>528+ (Nightly build)</version>
          <rep_platform>Unspecified</rep_platform>
          <op_sys>Unspecified</op_sys>
          <bug_status>RESOLVED</bug_status>
          <resolution>INVALID</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>
          <dependson>88026</dependson>
          
          <everconfirmed>1</everconfirmed>
          <reporter name="Dinu Jacob">dinu.jacob</reporter>
          <assigned_to name="Nobody">webkit-unassigned</assigned_to>
          <cc>cmarcelo</cc>
    
    <cc>menard</cc>
    
    <cc>pierre.rossi</cc>
    
    <cc>webkit.review.bot</cc>
    
    <cc>zoltan</cc>
          

      

      

      

          <comment_sort_order>oldest_to_newest</comment_sort_order>  
          <long_desc isprivate="0" >
    <commentid>647451</commentid>
    <comment_count>0</comment_count>
    <who name="Dinu Jacob">dinu.jacob</who>
    <bug_when>2012-06-12 16:16:58 -0700</bug_when>
    <thetext>Add support for client time picker dialog for input element &apos;time&apos;</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>647455</commentid>
    <comment_count>1</comment_count>
      <attachid>147187</attachid>
    <who name="Dinu Jacob">dinu.jacob</who>
    <bug_when>2012-06-12 16:25:08 -0700</bug_when>
    <thetext>Created attachment 147187
First patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>648512</commentid>
    <comment_count>2</comment_count>
      <attachid>147426</attachid>
    <who name="Dinu Jacob">dinu.jacob</who>
    <bug_when>2012-06-13 15:29:38 -0700</bug_when>
    <thetext>Created attachment 147426
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>648595</commentid>
    <comment_count>3</comment_count>
    <who name="WebKit Review Bot">webkit.review.bot</who>
    <bug_when>2012-06-13 17:00:46 -0700</bug_when>
    <thetext>Attachment 147426 did not pass style-queue:

Failed to run &quot;[&apos;Tools/Scripts/check-webkit-style&apos;, &apos;--diff-files&apos;, u&apos;Source/WebKit/qt/ChangeLog&apos;, u&apos;Source/WebK...&quot; exit_code: 1
Source/WebKit2/UIProcess/qt/WebTimePickerProxyQt.h:26:  Alphabetical sorting problem.  [build/include_order] [4]
Source/WebKit2/UIProcess/qt/WebTimePickerProxyQt.h:27:  Alphabetical sorting problem.  [build/include_order] [4]
Source/WebKit2/UIProcess/qt/WebTimePickerProxyQt.h:53:  Weird number of spaces at line-start.  Are you using a 4-space indent?  [whitespace/indent] [3]
Source/WebKit2/UIProcess/qt/WebTimePickerProxyQt.cpp:22:  You should add a blank line after implementation file&apos;s own header.  [build/include_order] [4]
Source/WebKit2/UIProcess/qt/WebTimePickerProxyQt.cpp:24:  Alphabetical sorting problem.  [build/include_order] [4]
Source/WebKit2/UIProcess/qt/WebTimePickerProxyQt.cpp:26:  Alphabetical sorting problem.  [build/include_order] [4]
Source/WebKit2/UIProcess/qt/WebTimePickerProxyQt.cpp:119:  This { should be at the end of the previous line  [whitespace/braces] [4]
Total errors found: 7 in 12 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>648636</commentid>
    <comment_count>4</comment_count>
      <attachid>147453</attachid>
    <who name="Dinu Jacob">dinu.jacob</who>
    <bug_when>2012-06-13 17:58:47 -0700</bug_when>
    <thetext>Created attachment 147453
Patch with style fix</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>648640</commentid>
    <comment_count>5</comment_count>
    <who name="WebKit Review Bot">webkit.review.bot</who>
    <bug_when>2012-06-13 18:02:27 -0700</bug_when>
    <thetext>Attachment 147453 did not pass style-queue:

Failed to run &quot;[&apos;Tools/Scripts/check-webkit-style&apos;, &apos;--diff-files&apos;, u&apos;Source/WebKit/qt/ChangeLog&apos;, u&apos;Source/WebK...&quot; exit_code: 1
Source/WebKit2/UIProcess/qt/WebTimePickerProxyQt.h:26:  Alphabetical sorting problem.  [build/include_order] [4]
Source/WebKit2/UIProcess/qt/WebTimePickerProxyQt.h:27:  Alphabetical sorting problem.  [build/include_order] [4]
Source/WebKit2/UIProcess/qt/WebTimePickerProxyQt.h:53:  Weird number of spaces at line-start.  Are you using a 4-space indent?  [whitespace/indent] [3]
Source/WebKit2/UIProcess/qt/WebTimePickerProxyQt.cpp:22:  You should add a blank line after implementation file&apos;s own header.  [build/include_order] [4]
Source/WebKit2/UIProcess/qt/WebTimePickerProxyQt.cpp:24:  Alphabetical sorting problem.  [build/include_order] [4]
Source/WebKit2/UIProcess/qt/WebTimePickerProxyQt.cpp:26:  Alphabetical sorting problem.  [build/include_order] [4]
Source/WebKit2/UIProcess/qt/WebTimePickerProxyQt.cpp:119:  This { should be at the end of the previous line  [whitespace/braces] [4]
Total errors found: 7 in 12 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>648647</commentid>
    <comment_count>6</comment_count>
      <attachid>147456</attachid>
    <who name="Dinu Jacob">dinu.jacob</who>
    <bug_when>2012-06-13 18:06:17 -0700</bug_when>
    <thetext>Created attachment 147456
Style fix

The right patch this time!!</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>975476</commentid>
    <comment_count>7</comment_count>
    <who name="Jocelyn Turcotte">jturcotte</who>
    <bug_when>2014-02-03 03:21:12 -0800</bug_when>
    <thetext>=== Bulk closing of Qt bugs ===

If you believe that this bug report is still relevant for a non-Qt port of webkit.org, please re-open it and remove [Qt] from the summary.

If you believe that this is still an important QtWebKit bug, please fill a new report at https://bugreports.qt-project.org and add a link to this issue. See http://qt-project.org/wiki/ReportingBugsInQt for additional guidelines.</thetext>
  </long_desc>
      
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>147187</attachid>
            <date>2012-06-12 16:25:08 -0700</date>
            <delta_ts>2012-06-13 15:29:38 -0700</delta_ts>
            <desc>First patch</desc>
            <filename>88933.patch</filename>
            <type>text/plain</type>
            <size>19765</size>
            <attacher name="Dinu Jacob">dinu.jacob</attacher>
            
              <data encoding="base64">ZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJLaXQvcXQvQ2hhbmdlTG9nIGIvU291cmNlL1dlYktpdC9x
dC9DaGFuZ2VMb2cKaW5kZXggY2UyYTg5OS4uOThiZGQ2NSAxMDA2NDQKLS0tIGEvU291cmNlL1dl
YktpdC9xdC9DaGFuZ2VMb2cKKysrIGIvU291cmNlL1dlYktpdC9xdC9DaGFuZ2VMb2cKQEAgLTEs
MyArMSwyMCBAQAorMjAxMi0wNi0xMiAgRGludSBKYWNvYiAgPGRpbnUuamFjb2JAbm9raWEuY29t
PgorCisgICAgICAgIFtRdF1bV2syXSBTdXBwb3J0IGNsaWVudCB0aW1lIHBpY2tlciBkaWFsb2cK
KyAgICAgICAgaHR0cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hvd19idWcuY2dpP2lkPTg4OTMzCisK
KyAgICAgICAgUmV2aWV3ZWQgYnkgTk9CT0RZIChPT1BTISkuCisKKyAgICAgICAgQWRkZWQgZHVt
bXkgaW1wbGVtZW50YXRpb25zIGZvciBjcmVhdGVUaW1lQ2hvb3NlciBhbmQKKyAgICAgICAgc2V0
U2VsZWN0ZWRUaW1laW5UaW1lQ2hvb3NlciBBUElzLgorCisgICAgICAgICogV2ViQ29yZVN1cHBv
cnQvQ2hyb21lQ2xpZW50UXQuY3BwOgorICAgICAgICAoV2ViQ29yZSk6CisgICAgICAgIChXZWJD
b3JlOjpDaHJvbWVDbGllbnRRdDo6Y3JlYXRlVGltZUNob29zZXIpOgorICAgICAgICAoV2ViQ29y
ZTo6Q2hyb21lQ2xpZW50UXQ6OnNldFNlbGVjdGVkVGltZUluVGltZUNob29zZXIpOgorICAgICAg
ICAqIFdlYkNvcmVTdXBwb3J0L0Nocm9tZUNsaWVudFF0Lmg6CisgICAgICAgIChDaHJvbWVDbGll
bnRRdCk6CisKIDIwMTItMDYtMTEgIEthdXN0dWJoIEF0cmF3YWxrYXIgIDxrYXVzdHViaEBtb3Rv
cm9sYS5jb20+CiAKICAgICAgICAgW0RSVF0gTFRDOjogY291bnRlclZhbHVlRm9yRWxlbWVudEJ5
SWQoKSBjb3VsZCBiZSBtb3ZlZCB0byBJbnRlcm5hbHMuCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2Vi
S2l0L3F0L1dlYkNvcmVTdXBwb3J0L0Nocm9tZUNsaWVudFF0LmNwcCBiL1NvdXJjZS9XZWJLaXQv
cXQvV2ViQ29yZVN1cHBvcnQvQ2hyb21lQ2xpZW50UXQuY3BwCmluZGV4IGMxYjgxNmMuLmFlYzEx
ZjIgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJLaXQvcXQvV2ViQ29yZVN1cHBvcnQvQ2hyb21lQ2xp
ZW50UXQuY3BwCisrKyBiL1NvdXJjZS9XZWJLaXQvcXQvV2ViQ29yZVN1cHBvcnQvQ2hyb21lQ2xp
ZW50UXQuY3BwCkBAIC0zMiw2ICszMiw5IEBACiAKICNpbmNsdWRlICJBcHBsaWNhdGlvbkNhY2hl
U3RvcmFnZS5oIgogI2luY2x1ZGUgIkRhdGFiYXNlVHJhY2tlci5oIgorI2lmIEVOQUJMRShJTlBV
VF9UWVBFX1RJTUUpCisjaW5jbHVkZSAiRGF0ZUNvbXBvbmVudHMuaCIKKyNlbmRpZgogI2luY2x1
ZGUgIkRvY3VtZW50LmgiCiAjaW5jbHVkZSAiRmlsZUNob29zZXIuaCIKICNpbmNsdWRlICJGaWxl
SWNvbkxvYWRlci5oIgpAQCAtNTgsNiArNjEsOSBAQAogI2luY2x1ZGUgIlNjcm9sbGJhclRoZW1l
LmgiCiAjaW5jbHVkZSAiU2VhcmNoUG9wdXBNZW51UXQuaCIKICNpbmNsdWRlICJTZWN1cml0eU9y
aWdpbi5oIgorI2lmIEVOQUJMRShJTlBVVF9UWVBFX1RJTUUpCisjaW5jbHVkZSAiVGltZUNob29z
ZXIuaCIKKyNlbmRpZgogI2luY2x1ZGUgIlZpZXdwb3J0QXJndW1lbnRzLmgiCiAjaW5jbHVkZSAi
V2luZG93RmVhdHVyZXMuaCIKIApAQCAtNzM5LDQgKzc0NSwxNyBAQCB2b2lkIENocm9tZUNsaWVu
dFF0Ojpwb3B1bGF0ZVZpc2l0ZWRMaW5rcygpCiAgICAgfQogfQogCisjaWYgRU5BQkxFKElOUFVU
X1RZUEVfVElNRSkKK1Bhc3NPd25QdHI8V2ViQ29yZTo6VGltZUNob29zZXI+IENocm9tZUNsaWVu
dFF0OjpjcmVhdGVUaW1lQ2hvb3NlcihXZWJDb3JlOjpUaW1lQ2hvb3NlckNsaWVudCogY2xpZW50
LCBjb25zdCBXZWJDb3JlOjpEYXRlQ29tcG9uZW50cyYgaW5pdGlhbFRpbWUsIGNvbnN0IFdlYkNv
cmU6OkRhdGVDb21wb25lbnRzJiBtaW5UaW1lLCBjb25zdCBXZWJDb3JlOjpEYXRlQ29tcG9uZW50
cyYgbWF4VGltZSkKK3sKKyAgICBub3RJbXBsZW1lbnRlZCgpOworICAgIHJldHVybiBudWxscHRy
OworfQorCit2b2lkIENocm9tZUNsaWVudFF0OjpzZXRTZWxlY3RlZFRpbWVJblRpbWVDaG9vc2Vy
KGNvbnN0IFdlYkNvcmU6OkRhdGVDb21wb25lbnRzJikKK3sKKyAgICBub3RJbXBsZW1lbnRlZCgp
OworfQorI2VuZGlmCisKIH0gLy8gbmFtZXNwYWNlIFdlYkNvcmUKZGlmZiAtLWdpdCBhL1NvdXJj
ZS9XZWJLaXQvcXQvV2ViQ29yZVN1cHBvcnQvQ2hyb21lQ2xpZW50UXQuaCBiL1NvdXJjZS9XZWJL
aXQvcXQvV2ViQ29yZVN1cHBvcnQvQ2hyb21lQ2xpZW50UXQuaAppbmRleCA2YzI2MDE4Li5jZjMw
MDc2NyAxMDA2NDQKLS0tIGEvU291cmNlL1dlYktpdC9xdC9XZWJDb3JlU3VwcG9ydC9DaHJvbWVD
bGllbnRRdC5oCisrKyBiL1NvdXJjZS9XZWJLaXQvcXQvV2ViQ29yZVN1cHBvcnQvQ2hyb21lQ2xp
ZW50UXQuaApAQCAtMTgxLDYgKzE4MSwxMCBAQCBwdWJsaWM6CiAgICAgdmlydHVhbCB2b2lkIHBv
cHVsYXRlVmlzaXRlZExpbmtzKCk7CiAKICAgICBQYXNzT3duUHRyPFFXZWJTZWxlY3RNZXRob2Q+
IGNyZWF0ZVNlbGVjdFBvcHVwKCkgY29uc3Q7CisjaWYgRU5BQkxFKElOUFVUX1RZUEVfVElNRSkK
KyAgICB2aXJ0dWFsIFBhc3NPd25QdHI8VGltZUNob29zZXI+IGNyZWF0ZVRpbWVDaG9vc2VyKFRp
bWVDaG9vc2VyQ2xpZW50KiwgY29uc3QgV2ViQ29yZTo6RGF0ZUNvbXBvbmVudHMmLCBjb25zdCBX
ZWJDb3JlOjpEYXRlQ29tcG9uZW50cyYsIGNvbnN0IFdlYkNvcmU6OkRhdGVDb21wb25lbnRzJik7
CisgICAgdmlydHVhbCB2b2lkIHNldFNlbGVjdGVkVGltZUluVGltZUNob29zZXIoY29uc3QgV2Vi
Q29yZTo6RGF0ZUNvbXBvbmVudHMmKTsKKyNlbmRpZgogCiAgICAgdmlydHVhbCB2b2lkIGRpc3Bh
dGNoVmlld3BvcnRQcm9wZXJ0aWVzRGlkQ2hhbmdlKGNvbnN0IFZpZXdwb3J0QXJndW1lbnRzJikg
Y29uc3Q7CiAKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJLaXQyL0NoYW5nZUxvZyBiL1NvdXJjZS9X
ZWJLaXQyL0NoYW5nZUxvZwppbmRleCA5NDFhMGQ1Li41MTRlOGZkIDEwMDY0NAotLS0gYS9Tb3Vy
Y2UvV2ViS2l0Mi9DaGFuZ2VMb2cKKysrIGIvU291cmNlL1dlYktpdDIvQ2hhbmdlTG9nCkBAIC0x
LDMgKzEsNTAgQEAKKzIwMTItMDYtMTIgIERpbnUgSmFjb2IgIDxkaW51LmphY29iQG5va2lhLmNv
bT4KKworICAgICAgICBbUXRdW1drMl0gU3VwcG9ydCBjbGllbnQgdGltZSBwaWNrZXIgZGlhbG9n
CisgICAgICAgIGh0dHBzOi8vYnVncy53ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD04ODkzMwor
CisgICAgICAgIFJldmlld2VkIGJ5IE5PQk9EWSAoT09QUyEpLgorCisgICAgICAgIEFkZGVkIEFQ
SSB0aGF0IGFsbG93cyB0aGUgY2xpZW50IHRvIHNldCBhIGN1c3RvbQorICAgICAgICBkaWFsb2cg
Zm9yIHRpbWUgcGlja2VyLgorCisgICAgICAgICogVGFyZ2V0LnByaToKKyAgICAgICAgKiBVSVBy
b2Nlc3MvQVBJL3F0L3FxdWlja3dlYnZpZXcuY3BwOgorICAgICAgICAoUVF1aWNrV2ViVmlld1By
aXZhdGU6OlFRdWlja1dlYlZpZXdQcml2YXRlKToKKyAgICAgICAgKFFRdWlja1dlYlZpZXdFeHBl
cmltZW50YWw6OnRpbWVQaWNrZXJEaWFsb2cpOgorICAgICAgICAoUVF1aWNrV2ViVmlld0V4cGVy
aW1lbnRhbDo6c2V0VGltZVBpY2tlckRpYWxvZyk6CisgICAgICAgICogVUlQcm9jZXNzL0FQSS9x
dC9xcXVpY2t3ZWJ2aWV3X3AuaDoKKyAgICAgICAgKiBVSVByb2Nlc3MvQVBJL3F0L3FxdWlja3dl
YnZpZXdfcF9wLmg6CisgICAgICAgIChRUXVpY2tXZWJWaWV3UHJpdmF0ZSk6CisgICAgICAgICog
VUlQcm9jZXNzL3F0L1F0UGFnZUNsaWVudC5jcHA6CisgICAgICAgIChXZWJLaXQpOgorICAgICAg
ICAoV2ViS2l0OjpRdFBhZ2VDbGllbnQ6OmNyZWF0ZVRpbWVQaWNrZXJQcm94eSk6CisgICAgICAg
ICogVUlQcm9jZXNzL3F0L1F0UGFnZUNsaWVudC5oOgorICAgICAgICAoUXRQYWdlQ2xpZW50KToK
KyAgICAgICAgKiBVSVByb2Nlc3MvcXQvV2ViVGltZVBpY2tlclByb3h5UXQuY3BwOiBBZGRlZC4K
KyAgICAgICAgKFdlYktpdCk6CisgICAgICAgIChUaW1lUGlja2VyRGlhbG9nQ29udGV4dE9iamVj
dCk6CisgICAgICAgIChXZWJLaXQ6OlRpbWVQaWNrZXJEaWFsb2dDb250ZXh0T2JqZWN0OjpUaW1l
UGlja2VyRGlhbG9nQ29udGV4dE9iamVjdCk6CisgICAgICAgIChXZWJLaXQ6OlRpbWVQaWNrZXJE
aWFsb2dDb250ZXh0T2JqZWN0Ojpob3Vycyk6CisgICAgICAgIChXZWJLaXQ6OlRpbWVQaWNrZXJE
aWFsb2dDb250ZXh0T2JqZWN0OjptaW51dGVzKToKKyAgICAgICAgKFdlYktpdDo6VGltZVBpY2tl
ckRpYWxvZ0NvbnRleHRPYmplY3Q6Om1pbkhvdXJzKToKKyAgICAgICAgKFdlYktpdDo6VGltZVBp
Y2tlckRpYWxvZ0NvbnRleHRPYmplY3Q6Om1pbk1pbnV0ZXMpOgorICAgICAgICAoV2ViS2l0OjpU
aW1lUGlja2VyRGlhbG9nQ29udGV4dE9iamVjdDo6bWF4SG91cnMpOgorICAgICAgICAoV2ViS2l0
OjpUaW1lUGlja2VyRGlhbG9nQ29udGV4dE9iamVjdDo6bWF4TWludXRlcyk6CisgICAgICAgIChX
ZWJLaXQ6OlRpbWVQaWNrZXJEaWFsb2dDb250ZXh0T2JqZWN0OjphY2NlcHQpOgorICAgICAgICAo
V2ViS2l0OjpUaW1lUGlja2VyRGlhbG9nQ29udGV4dE9iamVjdDo6cmVqZWN0KToKKyAgICAgICAg
KFdlYktpdDo6V2ViVGltZVBpY2tlclByb3h5UXQ6OldlYlRpbWVQaWNrZXJQcm94eVF0KToKKyAg
ICAgICAgKFdlYktpdDo6V2ViVGltZVBpY2tlclByb3h5UXQ6On5XZWJUaW1lUGlja2VyUHJveHlR
dCk6CisgICAgICAgIChXZWJLaXQ6OldlYlRpbWVQaWNrZXJQcm94eVF0OjpzaG93KToKKyAgICAg
ICAgKFdlYktpdDo6V2ViVGltZVBpY2tlclByb3h5UXQ6OmNyZWF0ZUl0ZW0pOgorICAgICAgICAo
V2ViS2l0OjpXZWJUaW1lUGlja2VyUHJveHlRdDo6Y3JlYXRlQ29udGV4dCk6CisgICAgICAgIChX
ZWJLaXQ6OldlYlRpbWVQaWNrZXJQcm94eVF0OjpoaWRlKToKKyAgICAgICAgKFdlYktpdDo6V2Vi
VGltZVBpY2tlclByb3h5UXQ6Om9uQWNjZXB0ZWQpOgorICAgICAgICAqIFVJUHJvY2Vzcy9xdC9X
ZWJUaW1lUGlja2VyUHJveHlRdC5oOiBBZGRlZC4KKyAgICAgICAgKFdlYktpdCk6CisgICAgICAg
IChXZWJUaW1lUGlja2VyUHJveHlRdCk6CisgICAgICAgIChXZWJLaXQ6OldlYlRpbWVQaWNrZXJQ
cm94eVF0OjpjcmVhdGUpOgorCiAyMDEyLTA2LTEyICBLZW5uZXRoIFJvaGRlIENocmlzdGlhbnNl
biAgPGtlbm5ldGhAd2Via2l0Lm9yZz4KIAogICAgICAgICBVbnJldmlld2VkIGJ1aWxkIGZpeC4K
ZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJLaXQyL1RhcmdldC5wcmkgYi9Tb3VyY2UvV2ViS2l0Mi9U
YXJnZXQucHJpCmluZGV4IDc5YTczMmYuLmUxZWE4NjIgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJL
aXQyL1RhcmdldC5wcmkKKysrIGIvU291cmNlL1dlYktpdDIvVGFyZ2V0LnByaQpAQCAtODAxLDEw
ICs4MDEsMTIgQEAgY29udGFpbnMoREVGSU5FUywgRU5BQkxFX0dFT0xPQ0FUSU9OPTEpOiBRVCAr
PSBsb2NhdGlvbgogY29udGFpbnMoREVGSU5FUywgRU5BQkxFX0lOUFVUX1RZUEVfVElNRT0xKSB7
CiAgICAgSEVBREVSUyArPSBcCiAgICAgICAgIFVJUHJvY2Vzcy9XZWJUaW1lUGlja2VyUHJveHku
aCBcCisgICAgICAgIFVJUHJvY2Vzcy9xdC9XZWJUaW1lUGlja2VyUHJveHlRdC5oIFwKICAgICAg
ICAgV2ViUHJvY2Vzcy9XZWJDb3JlU3VwcG9ydC9XZWJUaW1lUGlja2VyLmgKIAogICAgIFNPVVJD
RVMgKz0gXAogICAgICAgICBVSVByb2Nlc3MvV2ViVGltZVBpY2tlclByb3h5LmNwcCBcCisgICAg
ICAgIFVJUHJvY2Vzcy9xdC9XZWJUaW1lUGlja2VyUHJveHlRdC5jcHAgXAogICAgICAgICBXZWJQ
cm9jZXNzL1dlYkNvcmVTdXBwb3J0L1dlYlRpbWVQaWNrZXIuY3BwCiB9CiAKZGlmZiAtLWdpdCBh
L1NvdXJjZS9XZWJLaXQyL1VJUHJvY2Vzcy9BUEkvcXQvcXF1aWNrd2Vidmlldy5jcHAgYi9Tb3Vy
Y2UvV2ViS2l0Mi9VSVByb2Nlc3MvQVBJL3F0L3FxdWlja3dlYnZpZXcuY3BwCmluZGV4IDliZGQ2
MzguLjJiOWU3MWMgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJLaXQyL1VJUHJvY2Vzcy9BUEkvcXQv
cXF1aWNrd2Vidmlldy5jcHAKKysrIGIvU291cmNlL1dlYktpdDIvVUlQcm9jZXNzL0FQSS9xdC9x
cXVpY2t3ZWJ2aWV3LmNwcApAQCAtMjY0LDYgKzI2NCw3IEBAIFFRdWlja1dlYlZpZXdQcml2YXRl
OjpRUXVpY2tXZWJWaWV3UHJpdmF0ZShRUXVpY2tXZWJWaWV3KiB2aWV3cG9ydCkKICAgICAsIHBy
b3h5QXV0aGVudGljYXRpb25EaWFsb2coMCkKICAgICAsIGZpbGVQaWNrZXIoMCkKICAgICAsIGRh
dGFiYXNlUXVvdGFEaWFsb2coMCkKKyAgICAsIHRpbWVQaWNrZXJEaWFsb2coMCkKICAgICAsIG1f
dXNlRGVmYXVsdENvbnRlbnRJdGVtU2l6ZSh0cnVlKQogICAgICwgbV9uYXZpZ2F0b3JRdE9iamVj
dEVuYWJsZWQoZmFsc2UpCiAgICAgLCBtX3JlbmRlclRvT2Zmc2NyZWVuQnVmZmVyKGZhbHNlKQpA
QCAtMTE0NCw2ICsxMTQ1LDIxIEBAIHZvaWQgUVF1aWNrV2ViVmlld0V4cGVyaW1lbnRhbDo6c2V0
RGF0YWJhc2VRdW90YURpYWxvZyhRUW1sQ29tcG9uZW50KiBkYXRhYmFzZVF1CiAgICAgZW1pdCBk
YXRhYmFzZVF1b3RhRGlhbG9nQ2hhbmdlZCgpOwogfQogCitRUW1sQ29tcG9uZW50KiBRUXVpY2tX
ZWJWaWV3RXhwZXJpbWVudGFsOjp0aW1lUGlja2VyRGlhbG9nKCkgY29uc3QKK3sKKyAgICBRX0Qo
Y29uc3QgUVF1aWNrV2ViVmlldyk7CisgICAgcmV0dXJuIGQtPnRpbWVQaWNrZXJEaWFsb2c7Cit9
CisKK3ZvaWQgUVF1aWNrV2ViVmlld0V4cGVyaW1lbnRhbDo6c2V0VGltZVBpY2tlckRpYWxvZyhR
UW1sQ29tcG9uZW50KiB0aW1lUGlja2VyRGlhbG9nKQoreworICAgIFFfRChRUXVpY2tXZWJWaWV3
KTsKKyAgICBpZiAoZC0+dGltZVBpY2tlckRpYWxvZyA9PSB0aW1lUGlja2VyRGlhbG9nKQorICAg
ICAgICByZXR1cm47CisgICAgZC0+dGltZVBpY2tlckRpYWxvZyA9IHRpbWVQaWNrZXJEaWFsb2c7
CisgICAgZW1pdCB0aW1lUGlja2VyRGlhbG9nQ2hhbmdlZCgpOworfQorCiBRU3RyaW5nIFFRdWlj
a1dlYlZpZXdFeHBlcmltZW50YWw6OnVzZXJBZ2VudCgpIGNvbnN0CiB7CiAgICAgUV9EKGNvbnN0
IFFRdWlja1dlYlZpZXcpOwpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYktpdDIvVUlQcm9jZXNzL0FQ
SS9xdC9xcXVpY2t3ZWJ2aWV3X3AuaCBiL1NvdXJjZS9XZWJLaXQyL1VJUHJvY2Vzcy9BUEkvcXQv
cXF1aWNrd2Vidmlld19wLmgKaW5kZXggMGYyZWY0Mi4uZjQ3NDQ4MiAxMDA2NDQKLS0tIGEvU291
cmNlL1dlYktpdDIvVUlQcm9jZXNzL0FQSS9xdC9xcXVpY2t3ZWJ2aWV3X3AuaAorKysgYi9Tb3Vy
Y2UvV2ViS2l0Mi9VSVByb2Nlc3MvQVBJL3F0L3FxdWlja3dlYnZpZXdfcC5oCkBAIC0yNjUsNiAr
MjY1LDcgQEAgY2xhc3MgUVdFQktJVF9FWFBPUlQgUVF1aWNrV2ViVmlld0V4cGVyaW1lbnRhbCA6
IHB1YmxpYyBRT2JqZWN0IHsKICAgICBRX1BST1BFUlRZKFFRbWxDb21wb25lbnQqIGl0ZW1TZWxl
Y3RvciBSRUFEIGl0ZW1TZWxlY3RvciBXUklURSBzZXRJdGVtU2VsZWN0b3IgTk9USUZZIGl0ZW1T
ZWxlY3RvckNoYW5nZWQpCiAgICAgUV9QUk9QRVJUWShRUW1sQ29tcG9uZW50KiBmaWxlUGlja2Vy
IFJFQUQgZmlsZVBpY2tlciBXUklURSBzZXRGaWxlUGlja2VyIE5PVElGWSBmaWxlUGlja2VyQ2hh
bmdlZCkKICAgICBRX1BST1BFUlRZKFFRbWxDb21wb25lbnQqIGRhdGFiYXNlUXVvdGFEaWFsb2cg
UkVBRCBkYXRhYmFzZVF1b3RhRGlhbG9nIFdSSVRFIHNldERhdGFiYXNlUXVvdGFEaWFsb2cgTk9U
SUZZIGRhdGFiYXNlUXVvdGFEaWFsb2dDaGFuZ2VkKQorICAgIFFfUFJPUEVSVFkoUVFtbENvbXBv
bmVudCogdGltZVBpY2tlckRpYWxvZyBSRUFEIHRpbWVQaWNrZXJEaWFsb2cgV1JJVEUgc2V0VGlt
ZVBpY2tlckRpYWxvZyBOT1RJRlkgdGltZVBpY2tlckRpYWxvZ0NoYW5nZWQpCiAKICAgICBRX1BS
T1BFUlRZKFFXZWJQcmVmZXJlbmNlcyogcHJlZmVyZW5jZXMgUkVBRCBwcmVmZXJlbmNlcyBDT05T
VEFOVCBGSU5BTCkKICAgICBRX1BST1BFUlRZKFFXZWJLaXRUZXN0KiB0ZXN0IFJFQUQgdGVzdCBD
T05TVEFOVCBGSU5BTCkKQEAgLTI5OSw2ICszMDAsOSBAQCBwdWJsaWM6CiAgICAgdm9pZCBzZXRG
aWxlUGlja2VyKFFRbWxDb21wb25lbnQqKTsKICAgICBRUW1sQ29tcG9uZW50KiBkYXRhYmFzZVF1
b3RhRGlhbG9nKCkgY29uc3Q7CiAgICAgdm9pZCBzZXREYXRhYmFzZVF1b3RhRGlhbG9nKFFRbWxD
b21wb25lbnQqKTsKKyAgICBRUW1sQ29tcG9uZW50KiB0aW1lUGlja2VyRGlhbG9nKCkgY29uc3Q7
CisgICAgdm9pZCBzZXRUaW1lUGlja2VyRGlhbG9nKFFRbWxDb21wb25lbnQqKTsKKwogICAgIFFT
dHJpbmcgdXNlckFnZW50KCkgY29uc3Q7CiAgICAgdm9pZCBzZXRVc2VyQWdlbnQoY29uc3QgUVN0
cmluZyYgdXNlckFnZW50KTsKICAgICBpbnQgZGV2aWNlV2lkdGgoKSBjb25zdDsKQEAgLTM1OCw2
ICszNjIsNyBAQCBRX1NJR05BTFM6CiAgICAgdm9pZCBwZXJtaXNzaW9uUmVxdWVzdGVkKFFXZWJQ
ZXJtaXNzaW9uUmVxdWVzdCogcGVybWlzc2lvbik7CiAgICAgdm9pZCBtZXNzYWdlUmVjZWl2ZWQo
Y29uc3QgUVZhcmlhbnRNYXAmIG1lc3NhZ2UpOwogICAgIHZvaWQgcHJveHlBdXRoZW50aWNhdGlv
bkRpYWxvZ0NoYW5nZWQoKTsKKyAgICB2b2lkIHRpbWVQaWNrZXJEaWFsb2dDaGFuZ2VkKCk7CiAg
ICAgdm9pZCB1c2VyQWdlbnRDaGFuZ2VkKCk7CiAgICAgdm9pZCBkZXZpY2VXaWR0aENoYW5nZWQo
KTsKICAgICB2b2lkIGRldmljZUhlaWdodENoYW5nZWQoKTsKZGlmZiAtLWdpdCBhL1NvdXJjZS9X
ZWJLaXQyL1VJUHJvY2Vzcy9BUEkvcXQvcXF1aWNrd2Vidmlld19wX3AuaCBiL1NvdXJjZS9XZWJL
aXQyL1VJUHJvY2Vzcy9BUEkvcXQvcXF1aWNrd2Vidmlld19wX3AuaAppbmRleCBjNTUzNWEzLi5m
MTkwMGE2IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViS2l0Mi9VSVByb2Nlc3MvQVBJL3F0L3FxdWlj
a3dlYnZpZXdfcF9wLmgKKysrIGIvU291cmNlL1dlYktpdDIvVUlQcm9jZXNzL0FQSS9xdC9xcXVp
Y2t3ZWJ2aWV3X3BfcC5oCkBAIC0xODUsNiArMTg1LDcgQEAgcHJvdGVjdGVkOgogICAgIFFRbWxD
b21wb25lbnQqIHByb3h5QXV0aGVudGljYXRpb25EaWFsb2c7CiAgICAgUVFtbENvbXBvbmVudCog
ZmlsZVBpY2tlcjsKICAgICBRUW1sQ29tcG9uZW50KiBkYXRhYmFzZVF1b3RhRGlhbG9nOworICAg
IFFRbWxDb21wb25lbnQqIHRpbWVQaWNrZXJEaWFsb2c7CiAKICAgICBRTGlzdDxRVXJsPiB1c2Vy
U2NyaXB0czsKIApkaWZmIC0tZ2l0IGEvU291cmNlL1dlYktpdDIvVUlQcm9jZXNzL3F0L1F0UGFn
ZUNsaWVudC5jcHAgYi9Tb3VyY2UvV2ViS2l0Mi9VSVByb2Nlc3MvcXQvUXRQYWdlQ2xpZW50LmNw
cAppbmRleCA4ZTlhYjJlLi40OGFlN2M0IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViS2l0Mi9VSVBy
b2Nlc3MvcXQvUXRQYWdlQ2xpZW50LmNwcAorKysgYi9Tb3VyY2UvV2ViS2l0Mi9VSVByb2Nlc3Mv
cXQvUXRQYWdlQ2xpZW50LmNwcApAQCAtMjksNiArMjksOSBAQAogI2luY2x1ZGUgIldlYkNvbnRl
eHRNZW51UHJveHlRdC5oIgogI2luY2x1ZGUgIldlYkVkaXRDb21tYW5kUHJveHkuaCIKICNpbmNs
dWRlICJXZWJQb3B1cE1lbnVQcm94eVF0LmgiCisjaWYgRU5BQkxFKElOUFVUX1RZUEVfVElNRSkK
KyNpbmNsdWRlICJXZWJUaW1lUGlja2VyUHJveHlRdC5oIgorI2VuZGlmCiAjaW5jbHVkZSAicXF1
aWNrd2Vidmlld19wLmgiCiAjaW5jbHVkZSAicXF1aWNrd2Vidmlld19wX3AuaCIKICNpbmNsdWRl
IDxRR3VpQXBwbGljYXRpb24+CkBAIC0yMDUsNiArMjA4LDEzIEBAIFBhc3NSZWZQdHI8V2ViQ29u
dGV4dE1lbnVQcm94eT4gUXRQYWdlQ2xpZW50OjpjcmVhdGVDb250ZXh0TWVudVByb3h5KFdlYlBh
Z2VQcm94CiAgICAgcmV0dXJuIFdlYkNvbnRleHRNZW51UHJveHlRdDo6Y3JlYXRlKHdlYlBhZ2VQ
cm94eSk7CiB9CiAKKyNpZiBFTkFCTEUoSU5QVVRfVFlQRV9USU1FKQorUGFzc1JlZlB0cjxXZWJU
aW1lUGlja2VyUHJveHk+IFF0UGFnZUNsaWVudDo6Y3JlYXRlVGltZVBpY2tlclByb3h5KFdlYlBh
Z2VQcm94eSogd2ViUGFnZVByb3h5KQoreworICAgIHJldHVybiBXZWJUaW1lUGlja2VyUHJveHlR
dDo6Y3JlYXRlKHdlYlBhZ2VQcm94eSwgbV93ZWJWaWV3KTsKK30KKyNlbmRpZgorCiB2b2lkIFF0
UGFnZUNsaWVudDo6Zmxhc2hCYWNraW5nU3RvcmVVcGRhdGVzKGNvbnN0IFZlY3RvcjxJbnRSZWN0
PiYpCiB7CiAgICAgbm90SW1wbGVtZW50ZWQoKTsKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJLaXQy
L1VJUHJvY2Vzcy9xdC9RdFBhZ2VDbGllbnQuaCBiL1NvdXJjZS9XZWJLaXQyL1VJUHJvY2Vzcy9x
dC9RdFBhZ2VDbGllbnQuaAppbmRleCBlMzNkYWRmLi5kMTQ1NDIzIDEwMDY0NAotLS0gYS9Tb3Vy
Y2UvV2ViS2l0Mi9VSVByb2Nlc3MvcXQvUXRQYWdlQ2xpZW50LmgKKysrIGIvU291cmNlL1dlYktp
dDIvVUlQcm9jZXNzL3F0L1F0UGFnZUNsaWVudC5oCkBAIC04Niw2ICs4Niw5IEBAIHB1YmxpYzoK
ICAgICB2aXJ0dWFsIHZvaWQgZG9uZVdpdGhLZXlFdmVudChjb25zdCBOYXRpdmVXZWJLZXlib2Fy
ZEV2ZW50JiwgYm9vbCB3YXNFdmVudEhhbmRsZWQpIHsgfQogICAgIHZpcnR1YWwgUGFzc1JlZlB0
cjxXZWJQb3B1cE1lbnVQcm94eT4gY3JlYXRlUG9wdXBNZW51UHJveHkoV2ViUGFnZVByb3h5Kik7
CiAgICAgdmlydHVhbCBQYXNzUmVmUHRyPFdlYkNvbnRleHRNZW51UHJveHk+IGNyZWF0ZUNvbnRl
eHRNZW51UHJveHkoV2ViUGFnZVByb3h5Kik7CisjaWYgRU5BQkxFKElOUFVUX1RZUEVfVElNRSkK
KyAgICB2aXJ0dWFsIFBhc3NSZWZQdHI8V2ViS2l0OjpXZWJUaW1lUGlja2VyUHJveHk+IGNyZWF0
ZVRpbWVQaWNrZXJQcm94eShXZWJLaXQ6OldlYlBhZ2VQcm94eSopOworI2VuZGlmCiAgICAgdmly
dHVhbCB2b2lkIHNldEZpbmRJbmRpY2F0b3IoUGFzc1JlZlB0cjxGaW5kSW5kaWNhdG9yPiwgYm9v
bCBmYWRlT3V0LCBib29sIGFuaW1hdGUpIHsgfQogICAgIHZpcnR1YWwgdm9pZCBkaWRDb21taXRM
b2FkRm9yTWFpbkZyYW1lKGJvb2wgdXNlQ3VzdG9tUmVwcmVzZW50YXRpb24pIHsgfQogICAgIHZp
cnR1YWwgdm9pZCBkaWRGaW5pc2hMb2FkaW5nRGF0YUZvckN1c3RvbVJlcHJlc2VudGF0aW9uKGNv
bnN0IFN0cmluZyYgc3VnZ2VzdGVkRmlsZW5hbWUsIGNvbnN0IENvcmVJUEM6OkRhdGFSZWZlcmVu
Y2UmKSB7IH0KZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJLaXQyL1VJUHJvY2Vzcy9xdC9XZWJUaW1l
UGlja2VyUHJveHlRdC5jcHAgYi9Tb3VyY2UvV2ViS2l0Mi9VSVByb2Nlc3MvcXQvV2ViVGltZVBp
Y2tlclByb3h5UXQuY3BwCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLjIyMjUx
ZGEKLS0tIC9kZXYvbnVsbAorKysgYi9Tb3VyY2UvV2ViS2l0Mi9VSVByb2Nlc3MvcXQvV2ViVGlt
ZVBpY2tlclByb3h5UXQuY3BwCkBAIC0wLDAgKzEsMTg2IEBACisvKgorICogQ29weXJpZ2h0IChD
KSAyMDEyIE5va2lhIENvcnBvcmF0aW9uIGFuZC9vciBpdHMgc3Vic2lkaWFyeSgtaWVzKS4KKyAq
CisgKiBUaGlzIGxpYnJhcnkgaXMgZnJlZSBzb2Z0d2FyZTsgeW91IGNhbiByZWRpc3RyaWJ1dGUg
aXQgYW5kL29yCisgKiBtb2RpZnkgaXQgdW5kZXIgdGhlIHRlcm1zIG9mIHRoZSBHTlUgTGlicmFy
eSBHZW5lcmFsIFB1YmxpYworICogTGljZW5zZSBhcyBwdWJsaXNoZWQgYnkgdGhlIEZyZWUgU29m
dHdhcmUgRm91bmRhdGlvbjsgZWl0aGVyCisgKiB2ZXJzaW9uIDIgb2YgdGhlIExpY2Vuc2UsIG9y
IChhdCB5b3VyIG9wdGlvbikgYW55IGxhdGVyIHZlcnNpb24uCisgKgorICogVGhpcyBsaWJyYXJ5
IGlzIGRpc3RyaWJ1dGVkIGluIHRoZSBob3BlIHRoYXQgaXQgd2lsbCBiZSB1c2VmdWwsCisgKiBi
dXQgV0lUSE9VVCBBTlkgV0FSUkFOVFk7IHdpdGhvdXQgZXZlbiB0aGUgaW1wbGllZCB3YXJyYW50
eSBvZgorICogTUVSQ0hBTlRBQklMSVRZIG9yIEZJVE5FU1MgRk9SIEEgUEFSVElDVUxBUiBQVVJQ
T1NFLiAgU2VlIHRoZSBHTlUKKyAqIExpYnJhcnkgR2VuZXJhbCBQdWJsaWMgTGljZW5zZSBmb3Ig
bW9yZSBkZXRhaWxzLgorICoKKyAqIFlvdSBzaG91bGQgaGF2ZSByZWNlaXZlZCBhIGNvcHkgb2Yg
dGhlIEdOVSBMaWJyYXJ5IEdlbmVyYWwgUHVibGljIExpY2Vuc2UKKyAqIGFsb25nIHdpdGggdGhp
cyBsaWJyYXJ5OyBzZWUgdGhlIGZpbGUgQ09QWUlORy5MSUIuICBJZiBub3QsIHdyaXRlIHRvCisg
KiB0aGUgRnJlZSBTb2Z0d2FyZSBGb3VuZGF0aW9uLCBJbmMuLCA1MSBGcmFua2xpbiBTdHJlZXQs
IEZpZnRoIEZsb29yLAorICogQm9zdG9uLCBNQSAwMjExMC0xMzAxLCBVU0EuCisgKgorICovCisK
KyNpbmNsdWRlICJjb25maWcuaCIKKyNpbmNsdWRlICJXZWJUaW1lUGlja2VyUHJveHlRdC5oIgor
I2luY2x1ZGUgInFxdWlja3dlYnZpZXdfcC5oIgorI2luY2x1ZGUgInFxdWlja3dlYnZpZXdfcF9w
LmgiCisjaW5jbHVkZSAiV2ViUGFnZVByb3h5LmgiCisjaW5jbHVkZSA8V2ViQ29yZS9EYXRlQ29t
cG9uZW50cy5oPgorI2luY2x1ZGUgPFFUaW1lPgorCit1c2luZyBuYW1lc3BhY2UgV2ViQ29yZTsK
KworbmFtZXNwYWNlIFdlYktpdCB7CisKK2NsYXNzIFRpbWVQaWNrZXJEaWFsb2dDb250ZXh0T2Jq
ZWN0IDogcHVibGljIFFPYmplY3QgeworICAgIFFfT0JKRUNUCisgICAgUV9QUk9QRVJUWShpbnQg
aG91cnMgUkVBRCBob3VycyBDT05TVEFOVCkKKyAgICBRX1BST1BFUlRZKGludCBtaW51dGVzIFJF
QUQgbWludXRlcyBDT05TVEFOVCkKKyAgICBRX1BST1BFUlRZKGludCBtaW5Ib3VycyBSRUFEIG1p
bkhvdXJzIENPTlNUQU5UKQorICAgIFFfUFJPUEVSVFkoaW50IG1pbk1pbnV0ZXMgUkVBRCBtaW5N
aW51dGVzIENPTlNUQU5UKQorICAgIFFfUFJPUEVSVFkoaW50IG1heEhvdXJzIFJFQUQgbWF4SG91
cnMgQ09OU1RBTlQpCisgICAgUV9QUk9QRVJUWShpbnQgbWF4TWludXRlcyBSRUFEIG1heE1pbnV0
ZXMgQ09OU1RBTlQpCisKK3B1YmxpYzoKKyAgICBUaW1lUGlja2VyRGlhbG9nQ29udGV4dE9iamVj
dChjb25zdCBRVGltZSYgaW5pdGlhbFRpbWUsIGNvbnN0IFFUaW1lJiBtaW5UaW1lLCBjb25zdCBR
VGltZSYgbWF4VGltZSkKKyAgICAgICAgOiBRT2JqZWN0KCkKKyAgICAgICAgLCBtX2luaXRpYWxU
aW1lKGluaXRpYWxUaW1lKQorICAgICAgICAsIG1fbWluVGltZShtaW5UaW1lKQorICAgICAgICAs
IG1fbWF4VGltZShtYXhUaW1lKQorICAgIHsKKyAgICB9CisKKyAgICBpbnQgaG91cnMoKSBjb25z
dCB7IHJldHVybiBtX2luaXRpYWxUaW1lLmhvdXIoKTsgfQorICAgIGludCBtaW51dGVzKCkgY29u
c3QgeyByZXR1cm4gbV9pbml0aWFsVGltZS5taW51dGUoKTsgfQorICAgIGludCBtaW5Ib3Vycygp
IGNvbnN0IHsgcmV0dXJuIG1fbWluVGltZS5ob3VyKCk7IH0KKyAgICBpbnQgbWluTWludXRlcygp
IGNvbnN0IHsgcmV0dXJuIG1fbWluVGltZS5taW51dGUoKTsgfQorICAgIGludCBtYXhIb3Vycygp
IGNvbnN0IHsgcmV0dXJuIG1fbWF4VGltZS5ob3VyKCk7IH0KKyAgICBpbnQgbWF4TWludXRlcygp
IGNvbnN0IHsgcmV0dXJuIG1fbWF4VGltZS5taW51dGUoKTsgfQorCitwdWJsaWMgc2xvdHM6Cisg
ICAgdm9pZCBhY2NlcHQoY29uc3QgaW50JiBob3VycywgY29uc3QgaW50JiBtaW51dGVzKSB7IGVt
aXQgYWNjZXB0ZWQoUVRpbWUoaG91cnMsIG1pbnV0ZXMpKTsgfQorICAgIHZvaWQgcmVqZWN0KCkg
eyBlbWl0IHJlamVjdGVkKCk7IH0KKworc2lnbmFsczoKKyAgICB2b2lkIGFjY2VwdGVkKGNvbnN0
IFFUaW1lJik7CisgICAgdm9pZCByZWplY3RlZCgpOworCitwcml2YXRlOgorICAgIFFUaW1lIG1f
aW5pdGlhbFRpbWU7CisgICAgUVRpbWUgbV9taW5UaW1lOworICAgIFFUaW1lIG1fbWF4VGltZTsK
K307CisKK1dlYlRpbWVQaWNrZXJQcm94eVF0OjpXZWJUaW1lUGlja2VyUHJveHlRdChXZWJQYWdl
UHJveHkqIHBhZ2UsIFFRdWlja1dlYlZpZXcqIHdlYlZpZXcpCisgICAgOiBXZWJUaW1lUGlja2Vy
UHJveHkoKQorICAgICwgbV9wYWdlKHBhZ2UpCisgICAgLCBtX3dlYlZpZXcod2ViVmlldykKK3sK
K30KKworV2ViVGltZVBpY2tlclByb3h5UXQ6On5XZWJUaW1lUGlja2VyUHJveHlRdCgpCit7Cit9
CisKK3ZvaWQgV2ViVGltZVBpY2tlclByb3h5UXQ6OnNob3coY29uc3QgRGF0ZUNvbXBvbmVudHMm
IGluaXRpYWxUaW1lLCBjb25zdCBEYXRlQ29tcG9uZW50cyYgbWluVGltZSwgY29uc3QgRGF0ZUNv
bXBvbmVudHMmIG1heFRpbWUpCit7CisgICAgUVRpbWUgbWluUVRpbWU7CisgICAgUVRpbWUgbWF4
UVRpbWU7CisKKyAgICBpZiAobWluVGltZS50eXBlKCkgIT0gRGF0ZUNvbXBvbmVudHM6OkludmFs
aWQpCisgICAgICAgIG1pblFUaW1lLnNldEhNUyhtaW5UaW1lLmhvdXIoKSwgbWluVGltZS5taW51
dGUoKSwgbWluVGltZS5zZWNvbmQoKSwgbWluVGltZS5taWxsaXNlY29uZCgpKTsKKworICAgIGlm
IChtYXhUaW1lLnR5cGUoKSAhPSBEYXRlQ29tcG9uZW50czo6SW52YWxpZCkKKyAgICAgICAgbWF4
UVRpbWUuc2V0SE1TKG1heFRpbWUuaG91cigpLCBtYXhUaW1lLm1pbnV0ZSgpLCBtYXhUaW1lLnNl
Y29uZCgpLCBtYXhUaW1lLm1pbGxpc2Vjb25kKCkpOworCisgICAgaWYgKCFtaW5RVGltZS5pc1Zh
bGlkKCkpCisgICAgICAgIG1pblFUaW1lLnNldEhNUygwLCAwLCAwKTsKKworICAgIGlmICghbWF4
UVRpbWUuaXNWYWxpZCgpKQorICAgICAgICBtYXhRVGltZS5zZXRITVMoMjMsIDU5LCA1OSk7CisK
KyAgICBUaW1lUGlja2VyRGlhbG9nQ29udGV4dE9iamVjdCogY29udGV4dE9iamVjdCA9IG5ldyBU
aW1lUGlja2VyRGlhbG9nQ29udGV4dE9iamVjdChRVGltZShpbml0aWFsVGltZS5ob3VyKCksIGlu
aXRpYWxUaW1lLm1pbnV0ZSgpLCBpbml0aWFsVGltZS5zZWNvbmQoKSksIG1pblFUaW1lLCBtYXhR
VGltZSk7CisgICAgY3JlYXRlSXRlbShjb250ZXh0T2JqZWN0KTsKKyAgICBpZiAoIW1fdGltZVBp
Y2tlcikgeworICAgICAgICBoaWRlKCk7CisgICAgICAgIHJldHVybjsKKyAgICB9CisKKyAgICBj
b25uZWN0KGNvbnRleHRPYmplY3QsIFNJR05BTChhY2NlcHRlZChjb25zdCBRVGltZSYpKSwgU0xP
VChvbkFjY2VwdGVkKGNvbnN0IFFUaW1lJikpLCBRdDo6UXVldWVkQ29ubmVjdGlvbik7CisgICAg
Y29ubmVjdChjb250ZXh0T2JqZWN0LCBTSUdOQUwocmVqZWN0ZWQoKSksIFNMT1QoaGlkZSgpKSwg
UXQ6OlF1ZXVlZENvbm5lY3Rpb24pOworICAgIG1fdGltZVBpY2tlci0+c2V0UGFyZW50SXRlbSht
X3dlYlZpZXcpOworCisgICAgUVF1aWNrV2ViVmlld1ByaXZhdGU6OmdldChtX3dlYlZpZXcpLT5z
ZXREaWFsb2dBY3RpdmUodHJ1ZSk7CisKK30KKwordm9pZCBXZWJUaW1lUGlja2VyUHJveHlRdDo6
Y3JlYXRlSXRlbShRT2JqZWN0KiBjb250ZXh0T2JqZWN0KQoreworICAgIFFRbWxDb21wb25lbnQq
IGNvbXBvbmVudCA9IG1fd2ViVmlldy0+ZXhwZXJpbWVudGFsKCktPnRpbWVQaWNrZXJEaWFsb2co
KTsKKyAgICBpZiAoIWNvbXBvbmVudCkKKyAgICB7CisgICAgICAgIGRlbGV0ZSBjb250ZXh0T2Jq
ZWN0OworICAgICAgICByZXR1cm47CisgICAgfQorCisgICAgY3JlYXRlQ29udGV4dChjb21wb25l
bnQsIGNvbnRleHRPYmplY3QpOworICAgIFFPYmplY3QqIG9iamVjdCA9IGNvbXBvbmVudC0+YmVn
aW5DcmVhdGUobV9jb250ZXh0LmdldCgpKTsKKyAgICBpZiAoIW9iamVjdCkgeworICAgICAgICBt
X2NvbnRleHQuY2xlYXIoKTsKKyAgICAgICAgcmV0dXJuOworICAgIH0KKworICAgIG1fdGltZVBp
Y2tlciA9IGFkb3B0UHRyKHFvYmplY3RfY2FzdDxRUXVpY2tJdGVtKj4ob2JqZWN0KSk7CisgICAg
aWYgKCFtX3RpbWVQaWNrZXIpIHsKKyAgICAgICAgbV9jb250ZXh0LmNsZWFyKCk7CisgICAgICAg
IG1fdGltZVBpY2tlci5jbGVhcigpOworICAgICAgICByZXR1cm47CisgICAgfQorCisgICAgUVF1
aWNrV2ViVmlld1ByaXZhdGU6OmdldChtX3dlYlZpZXcpLT5hZGRBdHRhY2hlZFByb3BlcnR5VG8o
bV90aW1lUGlja2VyLmdldCgpKTsKKworICAgIC8vIE9ubHkgZnVsbHkgY3JlYXRlIHRoZSBjb21w
b25lbnQgb25jZSB3ZSd2ZSBzZXQgYm90aCBhIHBhcmVudAorICAgIC8vIGFuZCB0aGUgbmVlZGVk
IGNvbnRleHQgYW5kIGF0dGFjaGVkIHByb3BlcnRpZXMsIHNvIHRoYXQgdGhlCisgICAgLy8gZGlh
bG9nIGNhbiBkbyB1c2VmdWwgc3R1ZmYgaW4gQ29tcG9uZW50Lm9uQ29tcGxldGVkKCkuCisgICAg
Y29tcG9uZW50LT5jb21wbGV0ZUNyZWF0ZSgpOworfQorCit2b2lkIFdlYlRpbWVQaWNrZXJQcm94
eVF0OjpjcmVhdGVDb250ZXh0KFFRbWxDb21wb25lbnQqIGNvbXBvbmVudCwgUU9iamVjdCogY29u
dGV4dE9iamVjdCkKK3sKKyAgICBRUW1sQ29udGV4dCogYmFzZUNvbnRleHQgPSBjb21wb25lbnQt
PmNyZWF0aW9uQ29udGV4dCgpOworICAgIGlmICghYmFzZUNvbnRleHQpCisgICAgICAgIGJhc2VD
b250ZXh0ID0gUVFtbEVuZ2luZTo6Y29udGV4dEZvck9iamVjdChtX3dlYlZpZXcpOworICAgIG1f
Y29udGV4dCA9IGFkb3B0UHRyKG5ldyBRUW1sQ29udGV4dChiYXNlQ29udGV4dCkpOworCisgICAg
Y29udGV4dE9iamVjdC0+c2V0UGFyZW50KG1fY29udGV4dC5nZXQoKSk7CisgICAgbV9jb250ZXh0
LT5zZXRDb250ZXh0UHJvcGVydHkoUUxhdGluMVN0cmluZygibW9kZWwiKSwgY29udGV4dE9iamVj
dCk7CisgICAgbV9jb250ZXh0LT5zZXRDb250ZXh0T2JqZWN0KGNvbnRleHRPYmplY3QpOworfQor
Cit2b2lkIFdlYlRpbWVQaWNrZXJQcm94eVF0OjpoaWRlKCkKK3sKKyAgICBpZiAoIW1fcGFnZSkK
KyAgICAgICAgcmV0dXJuOworCisgICAgbV90aW1lUGlja2VyLmNsZWFyKCk7CisgICAgUVF1aWNr
V2ViVmlld1ByaXZhdGU6OmdldChtX3dlYlZpZXcpLT5zZXREaWFsb2dBY3RpdmUoZmFsc2UpOwor
ICAgIG1fY29udGV4dC5jbGVhcigpOworCisgICAgbV9wYWdlLT5kaWRFbmRUaW1lQ2hvb3Nlcigp
OworfQorCit2b2lkIFdlYlRpbWVQaWNrZXJQcm94eVF0OjpvbkFjY2VwdGVkKGNvbnN0IFFUaW1l
JiBzZWxlY3RlZFRpbWUpCit7CisgICAgaWYgKCFtX3BhZ2UpCisgICAgICAgIHJldHVybjsKKwor
ICAgIFdlYkNvcmU6OkRhdGVDb21wb25lbnRzIGRhdGV0aW1lOworICAgIGRhdGV0aW1lLnNldE1p
bGxpc2Vjb25kc1NpbmNlTWlkbmlnaHQoKGRvdWJsZSkoKChzZWxlY3RlZFRpbWUuaG91cigpICog
MzYwMCkgKyAoc2VsZWN0ZWRUaW1lLm1pbnV0ZSgpICogNjApKSArIHNlbGVjdGVkVGltZS5zZWNv
bmQoKSkgKiAxMDAwICsgc2VsZWN0ZWRUaW1lLm1zZWMoKSk7CisgICAgbV9wYWdlLT5kaWRDaG9v
c2VUaW1lKGRhdGV0aW1lKTsKKworICAgIGhpZGUoKTsKK30KKworI2luY2x1ZGUgIldlYlRpbWVQ
aWNrZXJQcm94eVF0Lm1vYyIKKyNpbmNsdWRlICJtb2NfV2ViVGltZVBpY2tlclByb3h5UXQuY3Bw
IgorCisKK30gLy8gbmFtZXNwYWNlIFdlYktpdApkaWZmIC0tZ2l0IGEvU291cmNlL1dlYktpdDIv
VUlQcm9jZXNzL3F0L1dlYlRpbWVQaWNrZXJQcm94eVF0LmggYi9Tb3VyY2UvV2ViS2l0Mi9VSVBy
b2Nlc3MvcXQvV2ViVGltZVBpY2tlclByb3h5UXQuaApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRl
eCAwMDAwMDAwLi40NzQwNjE3Ci0tLSAvZGV2L251bGwKKysrIGIvU291cmNlL1dlYktpdDIvVUlQ
cm9jZXNzL3F0L1dlYlRpbWVQaWNrZXJQcm94eVF0LmgKQEAgLTAsMCArMSw2OSBAQAorLyoKKyAq
IENvcHlyaWdodCAoQykgMjAxMiBOb2tpYSBDb3Jwb3JhdGlvbiBhbmQvb3IgaXRzIHN1YnNpZGlh
cnkoLWllcykuCisgKgorICogVGhpcyBsaWJyYXJ5IGlzIGZyZWUgc29mdHdhcmU7IHlvdSBjYW4g
cmVkaXN0cmlidXRlIGl0IGFuZC9vcgorICogbW9kaWZ5IGl0IHVuZGVyIHRoZSB0ZXJtcyBvZiB0
aGUgR05VIExpYnJhcnkgR2VuZXJhbCBQdWJsaWMKKyAqIExpY2Vuc2UgYXMgcHVibGlzaGVkIGJ5
IHRoZSBGcmVlIFNvZnR3YXJlIEZvdW5kYXRpb247IGVpdGhlcgorICogdmVyc2lvbiAyIG9mIHRo
ZSBMaWNlbnNlLCBvciAoYXQgeW91ciBvcHRpb24pIGFueSBsYXRlciB2ZXJzaW9uLgorICoKKyAq
IFRoaXMgbGlicmFyeSBpcyBkaXN0cmlidXRlZCBpbiB0aGUgaG9wZSB0aGF0IGl0IHdpbGwgYmUg
dXNlZnVsLAorICogYnV0IFdJVEhPVVQgQU5ZIFdBUlJBTlRZOyB3aXRob3V0IGV2ZW4gdGhlIGlt
cGxpZWQgd2FycmFudHkgb2YKKyAqIE1FUkNIQU5UQUJJTElUWSBvciBGSVRORVNTIEZPUiBBIFBB
UlRJQ1VMQVIgUFVSUE9TRS4gIFNlZSB0aGUgR05VCisgKiBMaWJyYXJ5IEdlbmVyYWwgUHVibGlj
IExpY2Vuc2UgZm9yIG1vcmUgZGV0YWlscy4KKyAqCisgKiBZb3Ugc2hvdWxkIGhhdmUgcmVjZWl2
ZWQgYSBjb3B5IG9mIHRoZSBHTlUgTGlicmFyeSBHZW5lcmFsIFB1YmxpYyBMaWNlbnNlCisgKiBh
bG9uZyB3aXRoIHRoaXMgbGlicmFyeTsgc2VlIHRoZSBmaWxlIENPUFlJTkcuTElCLiAgSWYgbm90
LCB3cml0ZSB0bworICogdGhlIEZyZWUgU29mdHdhcmUgRm91bmRhdGlvbiwgSW5jLiwgNTEgRnJh
bmtsaW4gU3RyZWV0LCBGaWZ0aCBGbG9vciwKKyAqIEJvc3RvbiwgTUEgMDIxMTAtMTMwMSwgVVNB
LgorICoKKyAqLworCisjaWZuZGVmIFdlYlRpbWVQaWNrZXJQcm94eVF0X2gKKyNkZWZpbmUgV2Vi
VGltZVBpY2tlclByb3h5UXRfaAorCisjaW5jbHVkZSAiV2ViUGFnZVByb3h5LmgiCisjaW5jbHVk
ZSAiV2ViVGltZVBpY2tlclByb3h5LmgiCisjaW5jbHVkZSA8d3RmL1Bhc3NPd25QdHIuaD4KKyNp
bmNsdWRlIDx3dGYvT3duUHRyLmg+CisjaW5jbHVkZSA8UXRDb3JlL1FPYmplY3Q+CisjaW5jbHVk
ZSA8UXRRbWwvUVFtbENvbnRleHQ+CisjaW5jbHVkZSA8UXRRbWwvUVFtbEVuZ2luZT4KKyNpbmNs
dWRlIDxRdFF1aWNrL1FRdWlja0l0ZW0+CisKKworY2xhc3MgUVF1aWNrV2ViVmlldzsKKworbmFt
ZXNwYWNlIFdlYktpdCB7CisKK2NsYXNzIFdlYlRpbWVQaWNrZXJQcm94eVF0IDogcHVibGljIFFP
YmplY3QsIHB1YmxpYyBXZWJUaW1lUGlja2VyUHJveHkgeworICAgIFFfT0JKRUNUCitwdWJsaWM6
CisgICAgc3RhdGljIFBhc3NSZWZQdHI8V2ViVGltZVBpY2tlclByb3h5UXQ+IGNyZWF0ZShXZWJQ
YWdlUHJveHkqIHBhZ2UsIFFRdWlja1dlYlZpZXcqIHdlYlZpZXcpCisgICAgeworICAgICAgICBy
ZXR1cm4gYWRvcHRSZWYobmV3IFdlYlRpbWVQaWNrZXJQcm94eVF0KHBhZ2UsIHdlYlZpZXcpKTsK
KyAgICB9CisgICAgfldlYlRpbWVQaWNrZXJQcm94eVF0KCk7CisKKyAgICB2aXJ0dWFsIHZvaWQg
c2hvdyhjb25zdCBXZWJDb3JlOjpEYXRlQ29tcG9uZW50cyYsIGNvbnN0IFdlYkNvcmU6OkRhdGVD
b21wb25lbnRzJiwgY29uc3QgV2ViQ29yZTo6RGF0ZUNvbXBvbmVudHMmKTsKKworcHVibGljIFFf
U0xPVFM6CisgICAgdmlydHVhbCB2b2lkIGhpZGUoKTsKKworcHJpdmF0ZSBRX1NMT1RTOgorICAg
dm9pZCBvbkFjY2VwdGVkKGNvbnN0IFFUaW1lJik7CisKK3ByaXZhdGU6CisgICAgV2ViVGltZVBp
Y2tlclByb3h5UXQoV2ViUGFnZVByb3h5KiwgUVF1aWNrV2ViVmlldyopOworICAgIHZvaWQgY3Jl
YXRlSXRlbShRT2JqZWN0Kik7CisgICAgdm9pZCBjcmVhdGVDb250ZXh0KFFRbWxDb21wb25lbnQq
LCBRT2JqZWN0Kik7CisKKyAgICBXZWJQYWdlUHJveHkqIG1fcGFnZTsKKyAgICBRUXVpY2tXZWJW
aWV3KiBtX3dlYlZpZXc7CisgICAgT3duUHRyPFFRbWxDb250ZXh0PiBtX2NvbnRleHQ7CisgICAg
T3duUHRyPFFRdWlja0l0ZW0+IG1fdGltZVBpY2tlcjsKKworfTsKKworfSAvLyBuYW1lc3BhY2Ug
V2ViS2l0CisKKyNlbmRpZiAvLyBXZWJUaW1lUGlja2VyUHJveHlRdF9oCg==
</data>

          </attachment>
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>147426</attachid>
            <date>2012-06-13 15:29:38 -0700</date>
            <delta_ts>2012-06-13 17:58:47 -0700</delta_ts>
            <desc>Patch</desc>
            <filename>88933.patch</filename>
            <type>text/plain</type>
            <size>19687</size>
            <attacher name="Dinu Jacob">dinu.jacob</attacher>
            
              <data encoding="base64">ZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJLaXQvcXQvQ2hhbmdlTG9nIGIvU291cmNlL1dlYktpdC9x
dC9DaGFuZ2VMb2cKaW5kZXggY2UyYTg5OS4uOThiZGQ2NSAxMDA2NDQKLS0tIGEvU291cmNlL1dl
YktpdC9xdC9DaGFuZ2VMb2cKKysrIGIvU291cmNlL1dlYktpdC9xdC9DaGFuZ2VMb2cKQEAgLTEs
MyArMSwyMCBAQAorMjAxMi0wNi0xMiAgRGludSBKYWNvYiAgPGRpbnUuamFjb2JAbm9raWEuY29t
PgorCisgICAgICAgIFtRdF1bV2syXSBTdXBwb3J0IGNsaWVudCB0aW1lIHBpY2tlciBkaWFsb2cK
KyAgICAgICAgaHR0cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hvd19idWcuY2dpP2lkPTg4OTMzCisK
KyAgICAgICAgUmV2aWV3ZWQgYnkgTk9CT0RZIChPT1BTISkuCisKKyAgICAgICAgQWRkZWQgZHVt
bXkgaW1wbGVtZW50YXRpb25zIGZvciBjcmVhdGVUaW1lQ2hvb3NlciBhbmQKKyAgICAgICAgc2V0
U2VsZWN0ZWRUaW1laW5UaW1lQ2hvb3NlciBBUElzLgorCisgICAgICAgICogV2ViQ29yZVN1cHBv
cnQvQ2hyb21lQ2xpZW50UXQuY3BwOgorICAgICAgICAoV2ViQ29yZSk6CisgICAgICAgIChXZWJD
b3JlOjpDaHJvbWVDbGllbnRRdDo6Y3JlYXRlVGltZUNob29zZXIpOgorICAgICAgICAoV2ViQ29y
ZTo6Q2hyb21lQ2xpZW50UXQ6OnNldFNlbGVjdGVkVGltZUluVGltZUNob29zZXIpOgorICAgICAg
ICAqIFdlYkNvcmVTdXBwb3J0L0Nocm9tZUNsaWVudFF0Lmg6CisgICAgICAgIChDaHJvbWVDbGll
bnRRdCk6CisKIDIwMTItMDYtMTEgIEthdXN0dWJoIEF0cmF3YWxrYXIgIDxrYXVzdHViaEBtb3Rv
cm9sYS5jb20+CiAKICAgICAgICAgW0RSVF0gTFRDOjogY291bnRlclZhbHVlRm9yRWxlbWVudEJ5
SWQoKSBjb3VsZCBiZSBtb3ZlZCB0byBJbnRlcm5hbHMuCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2Vi
S2l0L3F0L1dlYkNvcmVTdXBwb3J0L0Nocm9tZUNsaWVudFF0LmNwcCBiL1NvdXJjZS9XZWJLaXQv
cXQvV2ViQ29yZVN1cHBvcnQvQ2hyb21lQ2xpZW50UXQuY3BwCmluZGV4IGMxYjgxNmMuLmFlYzEx
ZjIgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJLaXQvcXQvV2ViQ29yZVN1cHBvcnQvQ2hyb21lQ2xp
ZW50UXQuY3BwCisrKyBiL1NvdXJjZS9XZWJLaXQvcXQvV2ViQ29yZVN1cHBvcnQvQ2hyb21lQ2xp
ZW50UXQuY3BwCkBAIC0zMiw2ICszMiw5IEBACiAKICNpbmNsdWRlICJBcHBsaWNhdGlvbkNhY2hl
U3RvcmFnZS5oIgogI2luY2x1ZGUgIkRhdGFiYXNlVHJhY2tlci5oIgorI2lmIEVOQUJMRShJTlBV
VF9UWVBFX1RJTUUpCisjaW5jbHVkZSAiRGF0ZUNvbXBvbmVudHMuaCIKKyNlbmRpZgogI2luY2x1
ZGUgIkRvY3VtZW50LmgiCiAjaW5jbHVkZSAiRmlsZUNob29zZXIuaCIKICNpbmNsdWRlICJGaWxl
SWNvbkxvYWRlci5oIgpAQCAtNTgsNiArNjEsOSBAQAogI2luY2x1ZGUgIlNjcm9sbGJhclRoZW1l
LmgiCiAjaW5jbHVkZSAiU2VhcmNoUG9wdXBNZW51UXQuaCIKICNpbmNsdWRlICJTZWN1cml0eU9y
aWdpbi5oIgorI2lmIEVOQUJMRShJTlBVVF9UWVBFX1RJTUUpCisjaW5jbHVkZSAiVGltZUNob29z
ZXIuaCIKKyNlbmRpZgogI2luY2x1ZGUgIlZpZXdwb3J0QXJndW1lbnRzLmgiCiAjaW5jbHVkZSAi
V2luZG93RmVhdHVyZXMuaCIKIApAQCAtNzM5LDQgKzc0NSwxNyBAQCB2b2lkIENocm9tZUNsaWVu
dFF0Ojpwb3B1bGF0ZVZpc2l0ZWRMaW5rcygpCiAgICAgfQogfQogCisjaWYgRU5BQkxFKElOUFVU
X1RZUEVfVElNRSkKK1Bhc3NPd25QdHI8V2ViQ29yZTo6VGltZUNob29zZXI+IENocm9tZUNsaWVu
dFF0OjpjcmVhdGVUaW1lQ2hvb3NlcihXZWJDb3JlOjpUaW1lQ2hvb3NlckNsaWVudCogY2xpZW50
LCBjb25zdCBXZWJDb3JlOjpEYXRlQ29tcG9uZW50cyYgaW5pdGlhbFRpbWUsIGNvbnN0IFdlYkNv
cmU6OkRhdGVDb21wb25lbnRzJiBtaW5UaW1lLCBjb25zdCBXZWJDb3JlOjpEYXRlQ29tcG9uZW50
cyYgbWF4VGltZSkKK3sKKyAgICBub3RJbXBsZW1lbnRlZCgpOworICAgIHJldHVybiBudWxscHRy
OworfQorCit2b2lkIENocm9tZUNsaWVudFF0OjpzZXRTZWxlY3RlZFRpbWVJblRpbWVDaG9vc2Vy
KGNvbnN0IFdlYkNvcmU6OkRhdGVDb21wb25lbnRzJikKK3sKKyAgICBub3RJbXBsZW1lbnRlZCgp
OworfQorI2VuZGlmCisKIH0gLy8gbmFtZXNwYWNlIFdlYkNvcmUKZGlmZiAtLWdpdCBhL1NvdXJj
ZS9XZWJLaXQvcXQvV2ViQ29yZVN1cHBvcnQvQ2hyb21lQ2xpZW50UXQuaCBiL1NvdXJjZS9XZWJL
aXQvcXQvV2ViQ29yZVN1cHBvcnQvQ2hyb21lQ2xpZW50UXQuaAppbmRleCA2YzI2MDE4Li5jZjMw
MDc2NyAxMDA2NDQKLS0tIGEvU291cmNlL1dlYktpdC9xdC9XZWJDb3JlU3VwcG9ydC9DaHJvbWVD
bGllbnRRdC5oCisrKyBiL1NvdXJjZS9XZWJLaXQvcXQvV2ViQ29yZVN1cHBvcnQvQ2hyb21lQ2xp
ZW50UXQuaApAQCAtMTgxLDYgKzE4MSwxMCBAQCBwdWJsaWM6CiAgICAgdmlydHVhbCB2b2lkIHBv
cHVsYXRlVmlzaXRlZExpbmtzKCk7CiAKICAgICBQYXNzT3duUHRyPFFXZWJTZWxlY3RNZXRob2Q+
IGNyZWF0ZVNlbGVjdFBvcHVwKCkgY29uc3Q7CisjaWYgRU5BQkxFKElOUFVUX1RZUEVfVElNRSkK
KyAgICB2aXJ0dWFsIFBhc3NPd25QdHI8VGltZUNob29zZXI+IGNyZWF0ZVRpbWVDaG9vc2VyKFRp
bWVDaG9vc2VyQ2xpZW50KiwgY29uc3QgV2ViQ29yZTo6RGF0ZUNvbXBvbmVudHMmLCBjb25zdCBX
ZWJDb3JlOjpEYXRlQ29tcG9uZW50cyYsIGNvbnN0IFdlYkNvcmU6OkRhdGVDb21wb25lbnRzJik7
CisgICAgdmlydHVhbCB2b2lkIHNldFNlbGVjdGVkVGltZUluVGltZUNob29zZXIoY29uc3QgV2Vi
Q29yZTo6RGF0ZUNvbXBvbmVudHMmKTsKKyNlbmRpZgogCiAgICAgdmlydHVhbCB2b2lkIGRpc3Bh
dGNoVmlld3BvcnRQcm9wZXJ0aWVzRGlkQ2hhbmdlKGNvbnN0IFZpZXdwb3J0QXJndW1lbnRzJikg
Y29uc3Q7CiAKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJLaXQyL0NoYW5nZUxvZyBiL1NvdXJjZS9X
ZWJLaXQyL0NoYW5nZUxvZwppbmRleCA5NDFhMGQ1Li41MTRlOGZkIDEwMDY0NAotLS0gYS9Tb3Vy
Y2UvV2ViS2l0Mi9DaGFuZ2VMb2cKKysrIGIvU291cmNlL1dlYktpdDIvQ2hhbmdlTG9nCkBAIC0x
LDMgKzEsNTAgQEAKKzIwMTItMDYtMTIgIERpbnUgSmFjb2IgIDxkaW51LmphY29iQG5va2lhLmNv
bT4KKworICAgICAgICBbUXRdW1drMl0gU3VwcG9ydCBjbGllbnQgdGltZSBwaWNrZXIgZGlhbG9n
CisgICAgICAgIGh0dHBzOi8vYnVncy53ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD04ODkzMwor
CisgICAgICAgIFJldmlld2VkIGJ5IE5PQk9EWSAoT09QUyEpLgorCisgICAgICAgIEFkZGVkIEFQ
SSB0aGF0IGFsbG93cyB0aGUgY2xpZW50IHRvIHNldCBhIGN1c3RvbQorICAgICAgICBkaWFsb2cg
Zm9yIHRpbWUgcGlja2VyLgorCisgICAgICAgICogVGFyZ2V0LnByaToKKyAgICAgICAgKiBVSVBy
b2Nlc3MvQVBJL3F0L3FxdWlja3dlYnZpZXcuY3BwOgorICAgICAgICAoUVF1aWNrV2ViVmlld1By
aXZhdGU6OlFRdWlja1dlYlZpZXdQcml2YXRlKToKKyAgICAgICAgKFFRdWlja1dlYlZpZXdFeHBl
cmltZW50YWw6OnRpbWVQaWNrZXJEaWFsb2cpOgorICAgICAgICAoUVF1aWNrV2ViVmlld0V4cGVy
aW1lbnRhbDo6c2V0VGltZVBpY2tlckRpYWxvZyk6CisgICAgICAgICogVUlQcm9jZXNzL0FQSS9x
dC9xcXVpY2t3ZWJ2aWV3X3AuaDoKKyAgICAgICAgKiBVSVByb2Nlc3MvQVBJL3F0L3FxdWlja3dl
YnZpZXdfcF9wLmg6CisgICAgICAgIChRUXVpY2tXZWJWaWV3UHJpdmF0ZSk6CisgICAgICAgICog
VUlQcm9jZXNzL3F0L1F0UGFnZUNsaWVudC5jcHA6CisgICAgICAgIChXZWJLaXQpOgorICAgICAg
ICAoV2ViS2l0OjpRdFBhZ2VDbGllbnQ6OmNyZWF0ZVRpbWVQaWNrZXJQcm94eSk6CisgICAgICAg
ICogVUlQcm9jZXNzL3F0L1F0UGFnZUNsaWVudC5oOgorICAgICAgICAoUXRQYWdlQ2xpZW50KToK
KyAgICAgICAgKiBVSVByb2Nlc3MvcXQvV2ViVGltZVBpY2tlclByb3h5UXQuY3BwOiBBZGRlZC4K
KyAgICAgICAgKFdlYktpdCk6CisgICAgICAgIChUaW1lUGlja2VyRGlhbG9nQ29udGV4dE9iamVj
dCk6CisgICAgICAgIChXZWJLaXQ6OlRpbWVQaWNrZXJEaWFsb2dDb250ZXh0T2JqZWN0OjpUaW1l
UGlja2VyRGlhbG9nQ29udGV4dE9iamVjdCk6CisgICAgICAgIChXZWJLaXQ6OlRpbWVQaWNrZXJE
aWFsb2dDb250ZXh0T2JqZWN0Ojpob3Vycyk6CisgICAgICAgIChXZWJLaXQ6OlRpbWVQaWNrZXJE
aWFsb2dDb250ZXh0T2JqZWN0OjptaW51dGVzKToKKyAgICAgICAgKFdlYktpdDo6VGltZVBpY2tl
ckRpYWxvZ0NvbnRleHRPYmplY3Q6Om1pbkhvdXJzKToKKyAgICAgICAgKFdlYktpdDo6VGltZVBp
Y2tlckRpYWxvZ0NvbnRleHRPYmplY3Q6Om1pbk1pbnV0ZXMpOgorICAgICAgICAoV2ViS2l0OjpU
aW1lUGlja2VyRGlhbG9nQ29udGV4dE9iamVjdDo6bWF4SG91cnMpOgorICAgICAgICAoV2ViS2l0
OjpUaW1lUGlja2VyRGlhbG9nQ29udGV4dE9iamVjdDo6bWF4TWludXRlcyk6CisgICAgICAgIChX
ZWJLaXQ6OlRpbWVQaWNrZXJEaWFsb2dDb250ZXh0T2JqZWN0OjphY2NlcHQpOgorICAgICAgICAo
V2ViS2l0OjpUaW1lUGlja2VyRGlhbG9nQ29udGV4dE9iamVjdDo6cmVqZWN0KToKKyAgICAgICAg
KFdlYktpdDo6V2ViVGltZVBpY2tlclByb3h5UXQ6OldlYlRpbWVQaWNrZXJQcm94eVF0KToKKyAg
ICAgICAgKFdlYktpdDo6V2ViVGltZVBpY2tlclByb3h5UXQ6On5XZWJUaW1lUGlja2VyUHJveHlR
dCk6CisgICAgICAgIChXZWJLaXQ6OldlYlRpbWVQaWNrZXJQcm94eVF0OjpzaG93KToKKyAgICAg
ICAgKFdlYktpdDo6V2ViVGltZVBpY2tlclByb3h5UXQ6OmNyZWF0ZUl0ZW0pOgorICAgICAgICAo
V2ViS2l0OjpXZWJUaW1lUGlja2VyUHJveHlRdDo6Y3JlYXRlQ29udGV4dCk6CisgICAgICAgIChX
ZWJLaXQ6OldlYlRpbWVQaWNrZXJQcm94eVF0OjpoaWRlKToKKyAgICAgICAgKFdlYktpdDo6V2Vi
VGltZVBpY2tlclByb3h5UXQ6Om9uQWNjZXB0ZWQpOgorICAgICAgICAqIFVJUHJvY2Vzcy9xdC9X
ZWJUaW1lUGlja2VyUHJveHlRdC5oOiBBZGRlZC4KKyAgICAgICAgKFdlYktpdCk6CisgICAgICAg
IChXZWJUaW1lUGlja2VyUHJveHlRdCk6CisgICAgICAgIChXZWJLaXQ6OldlYlRpbWVQaWNrZXJQ
cm94eVF0OjpjcmVhdGUpOgorCiAyMDEyLTA2LTEyICBLZW5uZXRoIFJvaGRlIENocmlzdGlhbnNl
biAgPGtlbm5ldGhAd2Via2l0Lm9yZz4KIAogICAgICAgICBVbnJldmlld2VkIGJ1aWxkIGZpeC4K
ZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJLaXQyL1RhcmdldC5wcmkgYi9Tb3VyY2UvV2ViS2l0Mi9U
YXJnZXQucHJpCmluZGV4IDNjYmU5MWYuLjQ4YmU1YmUgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJL
aXQyL1RhcmdldC5wcmkKKysrIGIvU291cmNlL1dlYktpdDIvVGFyZ2V0LnByaQpAQCAtNzk4LDYg
Kzc5OCwxNCBAQCBjb250YWlucyhERUZJTkVTLCBFTkFCTEVfVE9VQ0hfRVZFTlRTPTEpIHsKIAog
Y29udGFpbnMoREVGSU5FUywgRU5BQkxFX0dFT0xPQ0FUSU9OPTEpOiBRVCArPSBsb2NhdGlvbgog
Citjb250YWlucyhERUZJTkVTLCBFTkFCTEVfSU5QVVRfVFlQRV9USU1FPTEpIHsKKyAgICBIRUFE
RVJTICs9IFwKKyAgICAgICAgVUlQcm9jZXNzL3F0L1dlYlRpbWVQaWNrZXJQcm94eVF0LmgKKwor
ICAgIFNPVVJDRVMgKz0gXAorICAgICAgICBVSVByb2Nlc3MvcXQvV2ViVGltZVBpY2tlclByb3h5
UXQuY3BwCit9CisKIHBsdWdpbl9iYWNrZW5kX3hsaWIgewogICAgIERFRklORVMgKz0gWFBfVU5J
WAogICAgIFBLR0NPTkZJRyArPSB4MTEKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJLaXQyL1VJUHJv
Y2Vzcy9BUEkvcXQvcXF1aWNrd2Vidmlldy5jcHAgYi9Tb3VyY2UvV2ViS2l0Mi9VSVByb2Nlc3Mv
QVBJL3F0L3FxdWlja3dlYnZpZXcuY3BwCmluZGV4IDliZGQ2MzguLjJiOWU3MWMgMTAwNjQ0Ci0t
LSBhL1NvdXJjZS9XZWJLaXQyL1VJUHJvY2Vzcy9BUEkvcXQvcXF1aWNrd2Vidmlldy5jcHAKKysr
IGIvU291cmNlL1dlYktpdDIvVUlQcm9jZXNzL0FQSS9xdC9xcXVpY2t3ZWJ2aWV3LmNwcApAQCAt
MjY0LDYgKzI2NCw3IEBAIFFRdWlja1dlYlZpZXdQcml2YXRlOjpRUXVpY2tXZWJWaWV3UHJpdmF0
ZShRUXVpY2tXZWJWaWV3KiB2aWV3cG9ydCkKICAgICAsIHByb3h5QXV0aGVudGljYXRpb25EaWFs
b2coMCkKICAgICAsIGZpbGVQaWNrZXIoMCkKICAgICAsIGRhdGFiYXNlUXVvdGFEaWFsb2coMCkK
KyAgICAsIHRpbWVQaWNrZXJEaWFsb2coMCkKICAgICAsIG1fdXNlRGVmYXVsdENvbnRlbnRJdGVt
U2l6ZSh0cnVlKQogICAgICwgbV9uYXZpZ2F0b3JRdE9iamVjdEVuYWJsZWQoZmFsc2UpCiAgICAg
LCBtX3JlbmRlclRvT2Zmc2NyZWVuQnVmZmVyKGZhbHNlKQpAQCAtMTE0NCw2ICsxMTQ1LDIxIEBA
IHZvaWQgUVF1aWNrV2ViVmlld0V4cGVyaW1lbnRhbDo6c2V0RGF0YWJhc2VRdW90YURpYWxvZyhR
UW1sQ29tcG9uZW50KiBkYXRhYmFzZVF1CiAgICAgZW1pdCBkYXRhYmFzZVF1b3RhRGlhbG9nQ2hh
bmdlZCgpOwogfQogCitRUW1sQ29tcG9uZW50KiBRUXVpY2tXZWJWaWV3RXhwZXJpbWVudGFsOjp0
aW1lUGlja2VyRGlhbG9nKCkgY29uc3QKK3sKKyAgICBRX0QoY29uc3QgUVF1aWNrV2ViVmlldyk7
CisgICAgcmV0dXJuIGQtPnRpbWVQaWNrZXJEaWFsb2c7Cit9CisKK3ZvaWQgUVF1aWNrV2ViVmll
d0V4cGVyaW1lbnRhbDo6c2V0VGltZVBpY2tlckRpYWxvZyhRUW1sQ29tcG9uZW50KiB0aW1lUGlj
a2VyRGlhbG9nKQoreworICAgIFFfRChRUXVpY2tXZWJWaWV3KTsKKyAgICBpZiAoZC0+dGltZVBp
Y2tlckRpYWxvZyA9PSB0aW1lUGlja2VyRGlhbG9nKQorICAgICAgICByZXR1cm47CisgICAgZC0+
dGltZVBpY2tlckRpYWxvZyA9IHRpbWVQaWNrZXJEaWFsb2c7CisgICAgZW1pdCB0aW1lUGlja2Vy
RGlhbG9nQ2hhbmdlZCgpOworfQorCiBRU3RyaW5nIFFRdWlja1dlYlZpZXdFeHBlcmltZW50YWw6
OnVzZXJBZ2VudCgpIGNvbnN0CiB7CiAgICAgUV9EKGNvbnN0IFFRdWlja1dlYlZpZXcpOwpkaWZm
IC0tZ2l0IGEvU291cmNlL1dlYktpdDIvVUlQcm9jZXNzL0FQSS9xdC9xcXVpY2t3ZWJ2aWV3X3Au
aCBiL1NvdXJjZS9XZWJLaXQyL1VJUHJvY2Vzcy9BUEkvcXQvcXF1aWNrd2Vidmlld19wLmgKaW5k
ZXggMGYyZWY0Mi4uZjQ3NDQ4MiAxMDA2NDQKLS0tIGEvU291cmNlL1dlYktpdDIvVUlQcm9jZXNz
L0FQSS9xdC9xcXVpY2t3ZWJ2aWV3X3AuaAorKysgYi9Tb3VyY2UvV2ViS2l0Mi9VSVByb2Nlc3Mv
QVBJL3F0L3FxdWlja3dlYnZpZXdfcC5oCkBAIC0yNjUsNiArMjY1LDcgQEAgY2xhc3MgUVdFQktJ
VF9FWFBPUlQgUVF1aWNrV2ViVmlld0V4cGVyaW1lbnRhbCA6IHB1YmxpYyBRT2JqZWN0IHsKICAg
ICBRX1BST1BFUlRZKFFRbWxDb21wb25lbnQqIGl0ZW1TZWxlY3RvciBSRUFEIGl0ZW1TZWxlY3Rv
ciBXUklURSBzZXRJdGVtU2VsZWN0b3IgTk9USUZZIGl0ZW1TZWxlY3RvckNoYW5nZWQpCiAgICAg
UV9QUk9QRVJUWShRUW1sQ29tcG9uZW50KiBmaWxlUGlja2VyIFJFQUQgZmlsZVBpY2tlciBXUklU
RSBzZXRGaWxlUGlja2VyIE5PVElGWSBmaWxlUGlja2VyQ2hhbmdlZCkKICAgICBRX1BST1BFUlRZ
KFFRbWxDb21wb25lbnQqIGRhdGFiYXNlUXVvdGFEaWFsb2cgUkVBRCBkYXRhYmFzZVF1b3RhRGlh
bG9nIFdSSVRFIHNldERhdGFiYXNlUXVvdGFEaWFsb2cgTk9USUZZIGRhdGFiYXNlUXVvdGFEaWFs
b2dDaGFuZ2VkKQorICAgIFFfUFJPUEVSVFkoUVFtbENvbXBvbmVudCogdGltZVBpY2tlckRpYWxv
ZyBSRUFEIHRpbWVQaWNrZXJEaWFsb2cgV1JJVEUgc2V0VGltZVBpY2tlckRpYWxvZyBOT1RJRlkg
dGltZVBpY2tlckRpYWxvZ0NoYW5nZWQpCiAKICAgICBRX1BST1BFUlRZKFFXZWJQcmVmZXJlbmNl
cyogcHJlZmVyZW5jZXMgUkVBRCBwcmVmZXJlbmNlcyBDT05TVEFOVCBGSU5BTCkKICAgICBRX1BS
T1BFUlRZKFFXZWJLaXRUZXN0KiB0ZXN0IFJFQUQgdGVzdCBDT05TVEFOVCBGSU5BTCkKQEAgLTI5
OSw2ICszMDAsOSBAQCBwdWJsaWM6CiAgICAgdm9pZCBzZXRGaWxlUGlja2VyKFFRbWxDb21wb25l
bnQqKTsKICAgICBRUW1sQ29tcG9uZW50KiBkYXRhYmFzZVF1b3RhRGlhbG9nKCkgY29uc3Q7CiAg
ICAgdm9pZCBzZXREYXRhYmFzZVF1b3RhRGlhbG9nKFFRbWxDb21wb25lbnQqKTsKKyAgICBRUW1s
Q29tcG9uZW50KiB0aW1lUGlja2VyRGlhbG9nKCkgY29uc3Q7CisgICAgdm9pZCBzZXRUaW1lUGlj
a2VyRGlhbG9nKFFRbWxDb21wb25lbnQqKTsKKwogICAgIFFTdHJpbmcgdXNlckFnZW50KCkgY29u
c3Q7CiAgICAgdm9pZCBzZXRVc2VyQWdlbnQoY29uc3QgUVN0cmluZyYgdXNlckFnZW50KTsKICAg
ICBpbnQgZGV2aWNlV2lkdGgoKSBjb25zdDsKQEAgLTM1OCw2ICszNjIsNyBAQCBRX1NJR05BTFM6
CiAgICAgdm9pZCBwZXJtaXNzaW9uUmVxdWVzdGVkKFFXZWJQZXJtaXNzaW9uUmVxdWVzdCogcGVy
bWlzc2lvbik7CiAgICAgdm9pZCBtZXNzYWdlUmVjZWl2ZWQoY29uc3QgUVZhcmlhbnRNYXAmIG1l
c3NhZ2UpOwogICAgIHZvaWQgcHJveHlBdXRoZW50aWNhdGlvbkRpYWxvZ0NoYW5nZWQoKTsKKyAg
ICB2b2lkIHRpbWVQaWNrZXJEaWFsb2dDaGFuZ2VkKCk7CiAgICAgdm9pZCB1c2VyQWdlbnRDaGFu
Z2VkKCk7CiAgICAgdm9pZCBkZXZpY2VXaWR0aENoYW5nZWQoKTsKICAgICB2b2lkIGRldmljZUhl
aWdodENoYW5nZWQoKTsKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJLaXQyL1VJUHJvY2Vzcy9BUEkv
cXQvcXF1aWNrd2Vidmlld19wX3AuaCBiL1NvdXJjZS9XZWJLaXQyL1VJUHJvY2Vzcy9BUEkvcXQv
cXF1aWNrd2Vidmlld19wX3AuaAppbmRleCBjNTUzNWEzLi5mMTkwMGE2IDEwMDY0NAotLS0gYS9T
b3VyY2UvV2ViS2l0Mi9VSVByb2Nlc3MvQVBJL3F0L3FxdWlja3dlYnZpZXdfcF9wLmgKKysrIGIv
U291cmNlL1dlYktpdDIvVUlQcm9jZXNzL0FQSS9xdC9xcXVpY2t3ZWJ2aWV3X3BfcC5oCkBAIC0x
ODUsNiArMTg1LDcgQEAgcHJvdGVjdGVkOgogICAgIFFRbWxDb21wb25lbnQqIHByb3h5QXV0aGVu
dGljYXRpb25EaWFsb2c7CiAgICAgUVFtbENvbXBvbmVudCogZmlsZVBpY2tlcjsKICAgICBRUW1s
Q29tcG9uZW50KiBkYXRhYmFzZVF1b3RhRGlhbG9nOworICAgIFFRbWxDb21wb25lbnQqIHRpbWVQ
aWNrZXJEaWFsb2c7CiAKICAgICBRTGlzdDxRVXJsPiB1c2VyU2NyaXB0czsKIApkaWZmIC0tZ2l0
IGEvU291cmNlL1dlYktpdDIvVUlQcm9jZXNzL3F0L1F0UGFnZUNsaWVudC5jcHAgYi9Tb3VyY2Uv
V2ViS2l0Mi9VSVByb2Nlc3MvcXQvUXRQYWdlQ2xpZW50LmNwcAppbmRleCA4ZTlhYjJlLi40OGFl
N2M0IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViS2l0Mi9VSVByb2Nlc3MvcXQvUXRQYWdlQ2xpZW50
LmNwcAorKysgYi9Tb3VyY2UvV2ViS2l0Mi9VSVByb2Nlc3MvcXQvUXRQYWdlQ2xpZW50LmNwcApA
QCAtMjksNiArMjksOSBAQAogI2luY2x1ZGUgIldlYkNvbnRleHRNZW51UHJveHlRdC5oIgogI2lu
Y2x1ZGUgIldlYkVkaXRDb21tYW5kUHJveHkuaCIKICNpbmNsdWRlICJXZWJQb3B1cE1lbnVQcm94
eVF0LmgiCisjaWYgRU5BQkxFKElOUFVUX1RZUEVfVElNRSkKKyNpbmNsdWRlICJXZWJUaW1lUGlj
a2VyUHJveHlRdC5oIgorI2VuZGlmCiAjaW5jbHVkZSAicXF1aWNrd2Vidmlld19wLmgiCiAjaW5j
bHVkZSAicXF1aWNrd2Vidmlld19wX3AuaCIKICNpbmNsdWRlIDxRR3VpQXBwbGljYXRpb24+CkBA
IC0yMDUsNiArMjA4LDEzIEBAIFBhc3NSZWZQdHI8V2ViQ29udGV4dE1lbnVQcm94eT4gUXRQYWdl
Q2xpZW50OjpjcmVhdGVDb250ZXh0TWVudVByb3h5KFdlYlBhZ2VQcm94CiAgICAgcmV0dXJuIFdl
YkNvbnRleHRNZW51UHJveHlRdDo6Y3JlYXRlKHdlYlBhZ2VQcm94eSk7CiB9CiAKKyNpZiBFTkFC
TEUoSU5QVVRfVFlQRV9USU1FKQorUGFzc1JlZlB0cjxXZWJUaW1lUGlja2VyUHJveHk+IFF0UGFn
ZUNsaWVudDo6Y3JlYXRlVGltZVBpY2tlclByb3h5KFdlYlBhZ2VQcm94eSogd2ViUGFnZVByb3h5
KQoreworICAgIHJldHVybiBXZWJUaW1lUGlja2VyUHJveHlRdDo6Y3JlYXRlKHdlYlBhZ2VQcm94
eSwgbV93ZWJWaWV3KTsKK30KKyNlbmRpZgorCiB2b2lkIFF0UGFnZUNsaWVudDo6Zmxhc2hCYWNr
aW5nU3RvcmVVcGRhdGVzKGNvbnN0IFZlY3RvcjxJbnRSZWN0PiYpCiB7CiAgICAgbm90SW1wbGVt
ZW50ZWQoKTsKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJLaXQyL1VJUHJvY2Vzcy9xdC9RdFBhZ2VD
bGllbnQuaCBiL1NvdXJjZS9XZWJLaXQyL1VJUHJvY2Vzcy9xdC9RdFBhZ2VDbGllbnQuaAppbmRl
eCBlMzNkYWRmLi5kMTQ1NDIzIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViS2l0Mi9VSVByb2Nlc3Mv
cXQvUXRQYWdlQ2xpZW50LmgKKysrIGIvU291cmNlL1dlYktpdDIvVUlQcm9jZXNzL3F0L1F0UGFn
ZUNsaWVudC5oCkBAIC04Niw2ICs4Niw5IEBAIHB1YmxpYzoKICAgICB2aXJ0dWFsIHZvaWQgZG9u
ZVdpdGhLZXlFdmVudChjb25zdCBOYXRpdmVXZWJLZXlib2FyZEV2ZW50JiwgYm9vbCB3YXNFdmVu
dEhhbmRsZWQpIHsgfQogICAgIHZpcnR1YWwgUGFzc1JlZlB0cjxXZWJQb3B1cE1lbnVQcm94eT4g
Y3JlYXRlUG9wdXBNZW51UHJveHkoV2ViUGFnZVByb3h5Kik7CiAgICAgdmlydHVhbCBQYXNzUmVm
UHRyPFdlYkNvbnRleHRNZW51UHJveHk+IGNyZWF0ZUNvbnRleHRNZW51UHJveHkoV2ViUGFnZVBy
b3h5Kik7CisjaWYgRU5BQkxFKElOUFVUX1RZUEVfVElNRSkKKyAgICB2aXJ0dWFsIFBhc3NSZWZQ
dHI8V2ViS2l0OjpXZWJUaW1lUGlja2VyUHJveHk+IGNyZWF0ZVRpbWVQaWNrZXJQcm94eShXZWJL
aXQ6OldlYlBhZ2VQcm94eSopOworI2VuZGlmCiAgICAgdmlydHVhbCB2b2lkIHNldEZpbmRJbmRp
Y2F0b3IoUGFzc1JlZlB0cjxGaW5kSW5kaWNhdG9yPiwgYm9vbCBmYWRlT3V0LCBib29sIGFuaW1h
dGUpIHsgfQogICAgIHZpcnR1YWwgdm9pZCBkaWRDb21taXRMb2FkRm9yTWFpbkZyYW1lKGJvb2wg
dXNlQ3VzdG9tUmVwcmVzZW50YXRpb24pIHsgfQogICAgIHZpcnR1YWwgdm9pZCBkaWRGaW5pc2hM
b2FkaW5nRGF0YUZvckN1c3RvbVJlcHJlc2VudGF0aW9uKGNvbnN0IFN0cmluZyYgc3VnZ2VzdGVk
RmlsZW5hbWUsIGNvbnN0IENvcmVJUEM6OkRhdGFSZWZlcmVuY2UmKSB7IH0KZGlmZiAtLWdpdCBh
L1NvdXJjZS9XZWJLaXQyL1VJUHJvY2Vzcy9xdC9XZWJUaW1lUGlja2VyUHJveHlRdC5jcHAgYi9T
b3VyY2UvV2ViS2l0Mi9VSVByb2Nlc3MvcXQvV2ViVGltZVBpY2tlclByb3h5UXQuY3BwCm5ldyBm
aWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLjIyMjUxZGEKLS0tIC9kZXYvbnVsbAorKysg
Yi9Tb3VyY2UvV2ViS2l0Mi9VSVByb2Nlc3MvcXQvV2ViVGltZVBpY2tlclByb3h5UXQuY3BwCkBA
IC0wLDAgKzEsMTg2IEBACisvKgorICogQ29weXJpZ2h0IChDKSAyMDEyIE5va2lhIENvcnBvcmF0
aW9uIGFuZC9vciBpdHMgc3Vic2lkaWFyeSgtaWVzKS4KKyAqCisgKiBUaGlzIGxpYnJhcnkgaXMg
ZnJlZSBzb2Z0d2FyZTsgeW91IGNhbiByZWRpc3RyaWJ1dGUgaXQgYW5kL29yCisgKiBtb2RpZnkg
aXQgdW5kZXIgdGhlIHRlcm1zIG9mIHRoZSBHTlUgTGlicmFyeSBHZW5lcmFsIFB1YmxpYworICog
TGljZW5zZSBhcyBwdWJsaXNoZWQgYnkgdGhlIEZyZWUgU29mdHdhcmUgRm91bmRhdGlvbjsgZWl0
aGVyCisgKiB2ZXJzaW9uIDIgb2YgdGhlIExpY2Vuc2UsIG9yIChhdCB5b3VyIG9wdGlvbikgYW55
IGxhdGVyIHZlcnNpb24uCisgKgorICogVGhpcyBsaWJyYXJ5IGlzIGRpc3RyaWJ1dGVkIGluIHRo
ZSBob3BlIHRoYXQgaXQgd2lsbCBiZSB1c2VmdWwsCisgKiBidXQgV0lUSE9VVCBBTlkgV0FSUkFO
VFk7IHdpdGhvdXQgZXZlbiB0aGUgaW1wbGllZCB3YXJyYW50eSBvZgorICogTUVSQ0hBTlRBQklM
SVRZIG9yIEZJVE5FU1MgRk9SIEEgUEFSVElDVUxBUiBQVVJQT1NFLiAgU2VlIHRoZSBHTlUKKyAq
IExpYnJhcnkgR2VuZXJhbCBQdWJsaWMgTGljZW5zZSBmb3IgbW9yZSBkZXRhaWxzLgorICoKKyAq
IFlvdSBzaG91bGQgaGF2ZSByZWNlaXZlZCBhIGNvcHkgb2YgdGhlIEdOVSBMaWJyYXJ5IEdlbmVy
YWwgUHVibGljIExpY2Vuc2UKKyAqIGFsb25nIHdpdGggdGhpcyBsaWJyYXJ5OyBzZWUgdGhlIGZp
bGUgQ09QWUlORy5MSUIuICBJZiBub3QsIHdyaXRlIHRvCisgKiB0aGUgRnJlZSBTb2Z0d2FyZSBG
b3VuZGF0aW9uLCBJbmMuLCA1MSBGcmFua2xpbiBTdHJlZXQsIEZpZnRoIEZsb29yLAorICogQm9z
dG9uLCBNQSAwMjExMC0xMzAxLCBVU0EuCisgKgorICovCisKKyNpbmNsdWRlICJjb25maWcuaCIK
KyNpbmNsdWRlICJXZWJUaW1lUGlja2VyUHJveHlRdC5oIgorI2luY2x1ZGUgInFxdWlja3dlYnZp
ZXdfcC5oIgorI2luY2x1ZGUgInFxdWlja3dlYnZpZXdfcF9wLmgiCisjaW5jbHVkZSAiV2ViUGFn
ZVByb3h5LmgiCisjaW5jbHVkZSA8V2ViQ29yZS9EYXRlQ29tcG9uZW50cy5oPgorI2luY2x1ZGUg
PFFUaW1lPgorCit1c2luZyBuYW1lc3BhY2UgV2ViQ29yZTsKKworbmFtZXNwYWNlIFdlYktpdCB7
CisKK2NsYXNzIFRpbWVQaWNrZXJEaWFsb2dDb250ZXh0T2JqZWN0IDogcHVibGljIFFPYmplY3Qg
eworICAgIFFfT0JKRUNUCisgICAgUV9QUk9QRVJUWShpbnQgaG91cnMgUkVBRCBob3VycyBDT05T
VEFOVCkKKyAgICBRX1BST1BFUlRZKGludCBtaW51dGVzIFJFQUQgbWludXRlcyBDT05TVEFOVCkK
KyAgICBRX1BST1BFUlRZKGludCBtaW5Ib3VycyBSRUFEIG1pbkhvdXJzIENPTlNUQU5UKQorICAg
IFFfUFJPUEVSVFkoaW50IG1pbk1pbnV0ZXMgUkVBRCBtaW5NaW51dGVzIENPTlNUQU5UKQorICAg
IFFfUFJPUEVSVFkoaW50IG1heEhvdXJzIFJFQUQgbWF4SG91cnMgQ09OU1RBTlQpCisgICAgUV9Q
Uk9QRVJUWShpbnQgbWF4TWludXRlcyBSRUFEIG1heE1pbnV0ZXMgQ09OU1RBTlQpCisKK3B1Ymxp
YzoKKyAgICBUaW1lUGlja2VyRGlhbG9nQ29udGV4dE9iamVjdChjb25zdCBRVGltZSYgaW5pdGlh
bFRpbWUsIGNvbnN0IFFUaW1lJiBtaW5UaW1lLCBjb25zdCBRVGltZSYgbWF4VGltZSkKKyAgICAg
ICAgOiBRT2JqZWN0KCkKKyAgICAgICAgLCBtX2luaXRpYWxUaW1lKGluaXRpYWxUaW1lKQorICAg
ICAgICAsIG1fbWluVGltZShtaW5UaW1lKQorICAgICAgICAsIG1fbWF4VGltZShtYXhUaW1lKQor
ICAgIHsKKyAgICB9CisKKyAgICBpbnQgaG91cnMoKSBjb25zdCB7IHJldHVybiBtX2luaXRpYWxU
aW1lLmhvdXIoKTsgfQorICAgIGludCBtaW51dGVzKCkgY29uc3QgeyByZXR1cm4gbV9pbml0aWFs
VGltZS5taW51dGUoKTsgfQorICAgIGludCBtaW5Ib3VycygpIGNvbnN0IHsgcmV0dXJuIG1fbWlu
VGltZS5ob3VyKCk7IH0KKyAgICBpbnQgbWluTWludXRlcygpIGNvbnN0IHsgcmV0dXJuIG1fbWlu
VGltZS5taW51dGUoKTsgfQorICAgIGludCBtYXhIb3VycygpIGNvbnN0IHsgcmV0dXJuIG1fbWF4
VGltZS5ob3VyKCk7IH0KKyAgICBpbnQgbWF4TWludXRlcygpIGNvbnN0IHsgcmV0dXJuIG1fbWF4
VGltZS5taW51dGUoKTsgfQorCitwdWJsaWMgc2xvdHM6CisgICAgdm9pZCBhY2NlcHQoY29uc3Qg
aW50JiBob3VycywgY29uc3QgaW50JiBtaW51dGVzKSB7IGVtaXQgYWNjZXB0ZWQoUVRpbWUoaG91
cnMsIG1pbnV0ZXMpKTsgfQorICAgIHZvaWQgcmVqZWN0KCkgeyBlbWl0IHJlamVjdGVkKCk7IH0K
Kworc2lnbmFsczoKKyAgICB2b2lkIGFjY2VwdGVkKGNvbnN0IFFUaW1lJik7CisgICAgdm9pZCBy
ZWplY3RlZCgpOworCitwcml2YXRlOgorICAgIFFUaW1lIG1faW5pdGlhbFRpbWU7CisgICAgUVRp
bWUgbV9taW5UaW1lOworICAgIFFUaW1lIG1fbWF4VGltZTsKK307CisKK1dlYlRpbWVQaWNrZXJQ
cm94eVF0OjpXZWJUaW1lUGlja2VyUHJveHlRdChXZWJQYWdlUHJveHkqIHBhZ2UsIFFRdWlja1dl
YlZpZXcqIHdlYlZpZXcpCisgICAgOiBXZWJUaW1lUGlja2VyUHJveHkoKQorICAgICwgbV9wYWdl
KHBhZ2UpCisgICAgLCBtX3dlYlZpZXcod2ViVmlldykKK3sKK30KKworV2ViVGltZVBpY2tlclBy
b3h5UXQ6On5XZWJUaW1lUGlja2VyUHJveHlRdCgpCit7Cit9CisKK3ZvaWQgV2ViVGltZVBpY2tl
clByb3h5UXQ6OnNob3coY29uc3QgRGF0ZUNvbXBvbmVudHMmIGluaXRpYWxUaW1lLCBjb25zdCBE
YXRlQ29tcG9uZW50cyYgbWluVGltZSwgY29uc3QgRGF0ZUNvbXBvbmVudHMmIG1heFRpbWUpCit7
CisgICAgUVRpbWUgbWluUVRpbWU7CisgICAgUVRpbWUgbWF4UVRpbWU7CisKKyAgICBpZiAobWlu
VGltZS50eXBlKCkgIT0gRGF0ZUNvbXBvbmVudHM6OkludmFsaWQpCisgICAgICAgIG1pblFUaW1l
LnNldEhNUyhtaW5UaW1lLmhvdXIoKSwgbWluVGltZS5taW51dGUoKSwgbWluVGltZS5zZWNvbmQo
KSwgbWluVGltZS5taWxsaXNlY29uZCgpKTsKKworICAgIGlmIChtYXhUaW1lLnR5cGUoKSAhPSBE
YXRlQ29tcG9uZW50czo6SW52YWxpZCkKKyAgICAgICAgbWF4UVRpbWUuc2V0SE1TKG1heFRpbWUu
aG91cigpLCBtYXhUaW1lLm1pbnV0ZSgpLCBtYXhUaW1lLnNlY29uZCgpLCBtYXhUaW1lLm1pbGxp
c2Vjb25kKCkpOworCisgICAgaWYgKCFtaW5RVGltZS5pc1ZhbGlkKCkpCisgICAgICAgIG1pblFU
aW1lLnNldEhNUygwLCAwLCAwKTsKKworICAgIGlmICghbWF4UVRpbWUuaXNWYWxpZCgpKQorICAg
ICAgICBtYXhRVGltZS5zZXRITVMoMjMsIDU5LCA1OSk7CisKKyAgICBUaW1lUGlja2VyRGlhbG9n
Q29udGV4dE9iamVjdCogY29udGV4dE9iamVjdCA9IG5ldyBUaW1lUGlja2VyRGlhbG9nQ29udGV4
dE9iamVjdChRVGltZShpbml0aWFsVGltZS5ob3VyKCksIGluaXRpYWxUaW1lLm1pbnV0ZSgpLCBp
bml0aWFsVGltZS5zZWNvbmQoKSksIG1pblFUaW1lLCBtYXhRVGltZSk7CisgICAgY3JlYXRlSXRl
bShjb250ZXh0T2JqZWN0KTsKKyAgICBpZiAoIW1fdGltZVBpY2tlcikgeworICAgICAgICBoaWRl
KCk7CisgICAgICAgIHJldHVybjsKKyAgICB9CisKKyAgICBjb25uZWN0KGNvbnRleHRPYmplY3Qs
IFNJR05BTChhY2NlcHRlZChjb25zdCBRVGltZSYpKSwgU0xPVChvbkFjY2VwdGVkKGNvbnN0IFFU
aW1lJikpLCBRdDo6UXVldWVkQ29ubmVjdGlvbik7CisgICAgY29ubmVjdChjb250ZXh0T2JqZWN0
LCBTSUdOQUwocmVqZWN0ZWQoKSksIFNMT1QoaGlkZSgpKSwgUXQ6OlF1ZXVlZENvbm5lY3Rpb24p
OworICAgIG1fdGltZVBpY2tlci0+c2V0UGFyZW50SXRlbShtX3dlYlZpZXcpOworCisgICAgUVF1
aWNrV2ViVmlld1ByaXZhdGU6OmdldChtX3dlYlZpZXcpLT5zZXREaWFsb2dBY3RpdmUodHJ1ZSk7
CisKK30KKwordm9pZCBXZWJUaW1lUGlja2VyUHJveHlRdDo6Y3JlYXRlSXRlbShRT2JqZWN0KiBj
b250ZXh0T2JqZWN0KQoreworICAgIFFRbWxDb21wb25lbnQqIGNvbXBvbmVudCA9IG1fd2ViVmll
dy0+ZXhwZXJpbWVudGFsKCktPnRpbWVQaWNrZXJEaWFsb2coKTsKKyAgICBpZiAoIWNvbXBvbmVu
dCkKKyAgICB7CisgICAgICAgIGRlbGV0ZSBjb250ZXh0T2JqZWN0OworICAgICAgICByZXR1cm47
CisgICAgfQorCisgICAgY3JlYXRlQ29udGV4dChjb21wb25lbnQsIGNvbnRleHRPYmplY3QpOwor
ICAgIFFPYmplY3QqIG9iamVjdCA9IGNvbXBvbmVudC0+YmVnaW5DcmVhdGUobV9jb250ZXh0Lmdl
dCgpKTsKKyAgICBpZiAoIW9iamVjdCkgeworICAgICAgICBtX2NvbnRleHQuY2xlYXIoKTsKKyAg
ICAgICAgcmV0dXJuOworICAgIH0KKworICAgIG1fdGltZVBpY2tlciA9IGFkb3B0UHRyKHFvYmpl
Y3RfY2FzdDxRUXVpY2tJdGVtKj4ob2JqZWN0KSk7CisgICAgaWYgKCFtX3RpbWVQaWNrZXIpIHsK
KyAgICAgICAgbV9jb250ZXh0LmNsZWFyKCk7CisgICAgICAgIG1fdGltZVBpY2tlci5jbGVhcigp
OworICAgICAgICByZXR1cm47CisgICAgfQorCisgICAgUVF1aWNrV2ViVmlld1ByaXZhdGU6Omdl
dChtX3dlYlZpZXcpLT5hZGRBdHRhY2hlZFByb3BlcnR5VG8obV90aW1lUGlja2VyLmdldCgpKTsK
KworICAgIC8vIE9ubHkgZnVsbHkgY3JlYXRlIHRoZSBjb21wb25lbnQgb25jZSB3ZSd2ZSBzZXQg
Ym90aCBhIHBhcmVudAorICAgIC8vIGFuZCB0aGUgbmVlZGVkIGNvbnRleHQgYW5kIGF0dGFjaGVk
IHByb3BlcnRpZXMsIHNvIHRoYXQgdGhlCisgICAgLy8gZGlhbG9nIGNhbiBkbyB1c2VmdWwgc3R1
ZmYgaW4gQ29tcG9uZW50Lm9uQ29tcGxldGVkKCkuCisgICAgY29tcG9uZW50LT5jb21wbGV0ZUNy
ZWF0ZSgpOworfQorCit2b2lkIFdlYlRpbWVQaWNrZXJQcm94eVF0OjpjcmVhdGVDb250ZXh0KFFR
bWxDb21wb25lbnQqIGNvbXBvbmVudCwgUU9iamVjdCogY29udGV4dE9iamVjdCkKK3sKKyAgICBR
UW1sQ29udGV4dCogYmFzZUNvbnRleHQgPSBjb21wb25lbnQtPmNyZWF0aW9uQ29udGV4dCgpOwor
ICAgIGlmICghYmFzZUNvbnRleHQpCisgICAgICAgIGJhc2VDb250ZXh0ID0gUVFtbEVuZ2luZTo6
Y29udGV4dEZvck9iamVjdChtX3dlYlZpZXcpOworICAgIG1fY29udGV4dCA9IGFkb3B0UHRyKG5l
dyBRUW1sQ29udGV4dChiYXNlQ29udGV4dCkpOworCisgICAgY29udGV4dE9iamVjdC0+c2V0UGFy
ZW50KG1fY29udGV4dC5nZXQoKSk7CisgICAgbV9jb250ZXh0LT5zZXRDb250ZXh0UHJvcGVydHko
UUxhdGluMVN0cmluZygibW9kZWwiKSwgY29udGV4dE9iamVjdCk7CisgICAgbV9jb250ZXh0LT5z
ZXRDb250ZXh0T2JqZWN0KGNvbnRleHRPYmplY3QpOworfQorCit2b2lkIFdlYlRpbWVQaWNrZXJQ
cm94eVF0OjpoaWRlKCkKK3sKKyAgICBpZiAoIW1fcGFnZSkKKyAgICAgICAgcmV0dXJuOworCisg
ICAgbV90aW1lUGlja2VyLmNsZWFyKCk7CisgICAgUVF1aWNrV2ViVmlld1ByaXZhdGU6OmdldCht
X3dlYlZpZXcpLT5zZXREaWFsb2dBY3RpdmUoZmFsc2UpOworICAgIG1fY29udGV4dC5jbGVhcigp
OworCisgICAgbV9wYWdlLT5kaWRFbmRUaW1lQ2hvb3NlcigpOworfQorCit2b2lkIFdlYlRpbWVQ
aWNrZXJQcm94eVF0OjpvbkFjY2VwdGVkKGNvbnN0IFFUaW1lJiBzZWxlY3RlZFRpbWUpCit7Cisg
ICAgaWYgKCFtX3BhZ2UpCisgICAgICAgIHJldHVybjsKKworICAgIFdlYkNvcmU6OkRhdGVDb21w
b25lbnRzIGRhdGV0aW1lOworICAgIGRhdGV0aW1lLnNldE1pbGxpc2Vjb25kc1NpbmNlTWlkbmln
aHQoKGRvdWJsZSkoKChzZWxlY3RlZFRpbWUuaG91cigpICogMzYwMCkgKyAoc2VsZWN0ZWRUaW1l
Lm1pbnV0ZSgpICogNjApKSArIHNlbGVjdGVkVGltZS5zZWNvbmQoKSkgKiAxMDAwICsgc2VsZWN0
ZWRUaW1lLm1zZWMoKSk7CisgICAgbV9wYWdlLT5kaWRDaG9vc2VUaW1lKGRhdGV0aW1lKTsKKwor
ICAgIGhpZGUoKTsKK30KKworI2luY2x1ZGUgIldlYlRpbWVQaWNrZXJQcm94eVF0Lm1vYyIKKyNp
bmNsdWRlICJtb2NfV2ViVGltZVBpY2tlclByb3h5UXQuY3BwIgorCisKK30gLy8gbmFtZXNwYWNl
IFdlYktpdApkaWZmIC0tZ2l0IGEvU291cmNlL1dlYktpdDIvVUlQcm9jZXNzL3F0L1dlYlRpbWVQ
aWNrZXJQcm94eVF0LmggYi9Tb3VyY2UvV2ViS2l0Mi9VSVByb2Nlc3MvcXQvV2ViVGltZVBpY2tl
clByb3h5UXQuaApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi40NzQwNjE3Ci0t
LSAvZGV2L251bGwKKysrIGIvU291cmNlL1dlYktpdDIvVUlQcm9jZXNzL3F0L1dlYlRpbWVQaWNr
ZXJQcm94eVF0LmgKQEAgLTAsMCArMSw2OSBAQAorLyoKKyAqIENvcHlyaWdodCAoQykgMjAxMiBO
b2tpYSBDb3Jwb3JhdGlvbiBhbmQvb3IgaXRzIHN1YnNpZGlhcnkoLWllcykuCisgKgorICogVGhp
cyBsaWJyYXJ5IGlzIGZyZWUgc29mdHdhcmU7IHlvdSBjYW4gcmVkaXN0cmlidXRlIGl0IGFuZC9v
cgorICogbW9kaWZ5IGl0IHVuZGVyIHRoZSB0ZXJtcyBvZiB0aGUgR05VIExpYnJhcnkgR2VuZXJh
bCBQdWJsaWMKKyAqIExpY2Vuc2UgYXMgcHVibGlzaGVkIGJ5IHRoZSBGcmVlIFNvZnR3YXJlIEZv
dW5kYXRpb247IGVpdGhlcgorICogdmVyc2lvbiAyIG9mIHRoZSBMaWNlbnNlLCBvciAoYXQgeW91
ciBvcHRpb24pIGFueSBsYXRlciB2ZXJzaW9uLgorICoKKyAqIFRoaXMgbGlicmFyeSBpcyBkaXN0
cmlidXRlZCBpbiB0aGUgaG9wZSB0aGF0IGl0IHdpbGwgYmUgdXNlZnVsLAorICogYnV0IFdJVEhP
VVQgQU5ZIFdBUlJBTlRZOyB3aXRob3V0IGV2ZW4gdGhlIGltcGxpZWQgd2FycmFudHkgb2YKKyAq
IE1FUkNIQU5UQUJJTElUWSBvciBGSVRORVNTIEZPUiBBIFBBUlRJQ1VMQVIgUFVSUE9TRS4gIFNl
ZSB0aGUgR05VCisgKiBMaWJyYXJ5IEdlbmVyYWwgUHVibGljIExpY2Vuc2UgZm9yIG1vcmUgZGV0
YWlscy4KKyAqCisgKiBZb3Ugc2hvdWxkIGhhdmUgcmVjZWl2ZWQgYSBjb3B5IG9mIHRoZSBHTlUg
TGlicmFyeSBHZW5lcmFsIFB1YmxpYyBMaWNlbnNlCisgKiBhbG9uZyB3aXRoIHRoaXMgbGlicmFy
eTsgc2VlIHRoZSBmaWxlIENPUFlJTkcuTElCLiAgSWYgbm90LCB3cml0ZSB0bworICogdGhlIEZy
ZWUgU29mdHdhcmUgRm91bmRhdGlvbiwgSW5jLiwgNTEgRnJhbmtsaW4gU3RyZWV0LCBGaWZ0aCBG
bG9vciwKKyAqIEJvc3RvbiwgTUEgMDIxMTAtMTMwMSwgVVNBLgorICoKKyAqLworCisjaWZuZGVm
IFdlYlRpbWVQaWNrZXJQcm94eVF0X2gKKyNkZWZpbmUgV2ViVGltZVBpY2tlclByb3h5UXRfaAor
CisjaW5jbHVkZSAiV2ViUGFnZVByb3h5LmgiCisjaW5jbHVkZSAiV2ViVGltZVBpY2tlclByb3h5
LmgiCisjaW5jbHVkZSA8d3RmL1Bhc3NPd25QdHIuaD4KKyNpbmNsdWRlIDx3dGYvT3duUHRyLmg+
CisjaW5jbHVkZSA8UXRDb3JlL1FPYmplY3Q+CisjaW5jbHVkZSA8UXRRbWwvUVFtbENvbnRleHQ+
CisjaW5jbHVkZSA8UXRRbWwvUVFtbEVuZ2luZT4KKyNpbmNsdWRlIDxRdFF1aWNrL1FRdWlja0l0
ZW0+CisKKworY2xhc3MgUVF1aWNrV2ViVmlldzsKKworbmFtZXNwYWNlIFdlYktpdCB7CisKK2Ns
YXNzIFdlYlRpbWVQaWNrZXJQcm94eVF0IDogcHVibGljIFFPYmplY3QsIHB1YmxpYyBXZWJUaW1l
UGlja2VyUHJveHkgeworICAgIFFfT0JKRUNUCitwdWJsaWM6CisgICAgc3RhdGljIFBhc3NSZWZQ
dHI8V2ViVGltZVBpY2tlclByb3h5UXQ+IGNyZWF0ZShXZWJQYWdlUHJveHkqIHBhZ2UsIFFRdWlj
a1dlYlZpZXcqIHdlYlZpZXcpCisgICAgeworICAgICAgICByZXR1cm4gYWRvcHRSZWYobmV3IFdl
YlRpbWVQaWNrZXJQcm94eVF0KHBhZ2UsIHdlYlZpZXcpKTsKKyAgICB9CisgICAgfldlYlRpbWVQ
aWNrZXJQcm94eVF0KCk7CisKKyAgICB2aXJ0dWFsIHZvaWQgc2hvdyhjb25zdCBXZWJDb3JlOjpE
YXRlQ29tcG9uZW50cyYsIGNvbnN0IFdlYkNvcmU6OkRhdGVDb21wb25lbnRzJiwgY29uc3QgV2Vi
Q29yZTo6RGF0ZUNvbXBvbmVudHMmKTsKKworcHVibGljIFFfU0xPVFM6CisgICAgdmlydHVhbCB2
b2lkIGhpZGUoKTsKKworcHJpdmF0ZSBRX1NMT1RTOgorICAgdm9pZCBvbkFjY2VwdGVkKGNvbnN0
IFFUaW1lJik7CisKK3ByaXZhdGU6CisgICAgV2ViVGltZVBpY2tlclByb3h5UXQoV2ViUGFnZVBy
b3h5KiwgUVF1aWNrV2ViVmlldyopOworICAgIHZvaWQgY3JlYXRlSXRlbShRT2JqZWN0Kik7Cisg
ICAgdm9pZCBjcmVhdGVDb250ZXh0KFFRbWxDb21wb25lbnQqLCBRT2JqZWN0Kik7CisKKyAgICBX
ZWJQYWdlUHJveHkqIG1fcGFnZTsKKyAgICBRUXVpY2tXZWJWaWV3KiBtX3dlYlZpZXc7CisgICAg
T3duUHRyPFFRbWxDb250ZXh0PiBtX2NvbnRleHQ7CisgICAgT3duUHRyPFFRdWlja0l0ZW0+IG1f
dGltZVBpY2tlcjsKKworfTsKKworfSAvLyBuYW1lc3BhY2UgV2ViS2l0CisKKyNlbmRpZiAvLyBX
ZWJUaW1lUGlja2VyUHJveHlRdF9oCg==
</data>

          </attachment>
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>147453</attachid>
            <date>2012-06-13 17:58:47 -0700</date>
            <delta_ts>2012-06-13 18:06:17 -0700</delta_ts>
            <desc>Patch with style fix</desc>
            <filename>88933.patch</filename>
            <type>text/plain</type>
            <size>19687</size>
            <attacher name="Dinu Jacob">dinu.jacob</attacher>
            
              <data encoding="base64">ZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJLaXQvcXQvQ2hhbmdlTG9nIGIvU291cmNlL1dlYktpdC9x
dC9DaGFuZ2VMb2cKaW5kZXggY2UyYTg5OS4uOThiZGQ2NSAxMDA2NDQKLS0tIGEvU291cmNlL1dl
YktpdC9xdC9DaGFuZ2VMb2cKKysrIGIvU291cmNlL1dlYktpdC9xdC9DaGFuZ2VMb2cKQEAgLTEs
MyArMSwyMCBAQAorMjAxMi0wNi0xMiAgRGludSBKYWNvYiAgPGRpbnUuamFjb2JAbm9raWEuY29t
PgorCisgICAgICAgIFtRdF1bV2syXSBTdXBwb3J0IGNsaWVudCB0aW1lIHBpY2tlciBkaWFsb2cK
KyAgICAgICAgaHR0cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hvd19idWcuY2dpP2lkPTg4OTMzCisK
KyAgICAgICAgUmV2aWV3ZWQgYnkgTk9CT0RZIChPT1BTISkuCisKKyAgICAgICAgQWRkZWQgZHVt
bXkgaW1wbGVtZW50YXRpb25zIGZvciBjcmVhdGVUaW1lQ2hvb3NlciBhbmQKKyAgICAgICAgc2V0
U2VsZWN0ZWRUaW1laW5UaW1lQ2hvb3NlciBBUElzLgorCisgICAgICAgICogV2ViQ29yZVN1cHBv
cnQvQ2hyb21lQ2xpZW50UXQuY3BwOgorICAgICAgICAoV2ViQ29yZSk6CisgICAgICAgIChXZWJD
b3JlOjpDaHJvbWVDbGllbnRRdDo6Y3JlYXRlVGltZUNob29zZXIpOgorICAgICAgICAoV2ViQ29y
ZTo6Q2hyb21lQ2xpZW50UXQ6OnNldFNlbGVjdGVkVGltZUluVGltZUNob29zZXIpOgorICAgICAg
ICAqIFdlYkNvcmVTdXBwb3J0L0Nocm9tZUNsaWVudFF0Lmg6CisgICAgICAgIChDaHJvbWVDbGll
bnRRdCk6CisKIDIwMTItMDYtMTEgIEthdXN0dWJoIEF0cmF3YWxrYXIgIDxrYXVzdHViaEBtb3Rv
cm9sYS5jb20+CiAKICAgICAgICAgW0RSVF0gTFRDOjogY291bnRlclZhbHVlRm9yRWxlbWVudEJ5
SWQoKSBjb3VsZCBiZSBtb3ZlZCB0byBJbnRlcm5hbHMuCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2Vi
S2l0L3F0L1dlYkNvcmVTdXBwb3J0L0Nocm9tZUNsaWVudFF0LmNwcCBiL1NvdXJjZS9XZWJLaXQv
cXQvV2ViQ29yZVN1cHBvcnQvQ2hyb21lQ2xpZW50UXQuY3BwCmluZGV4IGMxYjgxNmMuLmFlYzEx
ZjIgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJLaXQvcXQvV2ViQ29yZVN1cHBvcnQvQ2hyb21lQ2xp
ZW50UXQuY3BwCisrKyBiL1NvdXJjZS9XZWJLaXQvcXQvV2ViQ29yZVN1cHBvcnQvQ2hyb21lQ2xp
ZW50UXQuY3BwCkBAIC0zMiw2ICszMiw5IEBACiAKICNpbmNsdWRlICJBcHBsaWNhdGlvbkNhY2hl
U3RvcmFnZS5oIgogI2luY2x1ZGUgIkRhdGFiYXNlVHJhY2tlci5oIgorI2lmIEVOQUJMRShJTlBV
VF9UWVBFX1RJTUUpCisjaW5jbHVkZSAiRGF0ZUNvbXBvbmVudHMuaCIKKyNlbmRpZgogI2luY2x1
ZGUgIkRvY3VtZW50LmgiCiAjaW5jbHVkZSAiRmlsZUNob29zZXIuaCIKICNpbmNsdWRlICJGaWxl
SWNvbkxvYWRlci5oIgpAQCAtNTgsNiArNjEsOSBAQAogI2luY2x1ZGUgIlNjcm9sbGJhclRoZW1l
LmgiCiAjaW5jbHVkZSAiU2VhcmNoUG9wdXBNZW51UXQuaCIKICNpbmNsdWRlICJTZWN1cml0eU9y
aWdpbi5oIgorI2lmIEVOQUJMRShJTlBVVF9UWVBFX1RJTUUpCisjaW5jbHVkZSAiVGltZUNob29z
ZXIuaCIKKyNlbmRpZgogI2luY2x1ZGUgIlZpZXdwb3J0QXJndW1lbnRzLmgiCiAjaW5jbHVkZSAi
V2luZG93RmVhdHVyZXMuaCIKIApAQCAtNzM5LDQgKzc0NSwxNyBAQCB2b2lkIENocm9tZUNsaWVu
dFF0Ojpwb3B1bGF0ZVZpc2l0ZWRMaW5rcygpCiAgICAgfQogfQogCisjaWYgRU5BQkxFKElOUFVU
X1RZUEVfVElNRSkKK1Bhc3NPd25QdHI8V2ViQ29yZTo6VGltZUNob29zZXI+IENocm9tZUNsaWVu
dFF0OjpjcmVhdGVUaW1lQ2hvb3NlcihXZWJDb3JlOjpUaW1lQ2hvb3NlckNsaWVudCogY2xpZW50
LCBjb25zdCBXZWJDb3JlOjpEYXRlQ29tcG9uZW50cyYgaW5pdGlhbFRpbWUsIGNvbnN0IFdlYkNv
cmU6OkRhdGVDb21wb25lbnRzJiBtaW5UaW1lLCBjb25zdCBXZWJDb3JlOjpEYXRlQ29tcG9uZW50
cyYgbWF4VGltZSkKK3sKKyAgICBub3RJbXBsZW1lbnRlZCgpOworICAgIHJldHVybiBudWxscHRy
OworfQorCit2b2lkIENocm9tZUNsaWVudFF0OjpzZXRTZWxlY3RlZFRpbWVJblRpbWVDaG9vc2Vy
KGNvbnN0IFdlYkNvcmU6OkRhdGVDb21wb25lbnRzJikKK3sKKyAgICBub3RJbXBsZW1lbnRlZCgp
OworfQorI2VuZGlmCisKIH0gLy8gbmFtZXNwYWNlIFdlYkNvcmUKZGlmZiAtLWdpdCBhL1NvdXJj
ZS9XZWJLaXQvcXQvV2ViQ29yZVN1cHBvcnQvQ2hyb21lQ2xpZW50UXQuaCBiL1NvdXJjZS9XZWJL
aXQvcXQvV2ViQ29yZVN1cHBvcnQvQ2hyb21lQ2xpZW50UXQuaAppbmRleCA2YzI2MDE4Li5jZjMw
MDc2NyAxMDA2NDQKLS0tIGEvU291cmNlL1dlYktpdC9xdC9XZWJDb3JlU3VwcG9ydC9DaHJvbWVD
bGllbnRRdC5oCisrKyBiL1NvdXJjZS9XZWJLaXQvcXQvV2ViQ29yZVN1cHBvcnQvQ2hyb21lQ2xp
ZW50UXQuaApAQCAtMTgxLDYgKzE4MSwxMCBAQCBwdWJsaWM6CiAgICAgdmlydHVhbCB2b2lkIHBv
cHVsYXRlVmlzaXRlZExpbmtzKCk7CiAKICAgICBQYXNzT3duUHRyPFFXZWJTZWxlY3RNZXRob2Q+
IGNyZWF0ZVNlbGVjdFBvcHVwKCkgY29uc3Q7CisjaWYgRU5BQkxFKElOUFVUX1RZUEVfVElNRSkK
KyAgICB2aXJ0dWFsIFBhc3NPd25QdHI8VGltZUNob29zZXI+IGNyZWF0ZVRpbWVDaG9vc2VyKFRp
bWVDaG9vc2VyQ2xpZW50KiwgY29uc3QgV2ViQ29yZTo6RGF0ZUNvbXBvbmVudHMmLCBjb25zdCBX
ZWJDb3JlOjpEYXRlQ29tcG9uZW50cyYsIGNvbnN0IFdlYkNvcmU6OkRhdGVDb21wb25lbnRzJik7
CisgICAgdmlydHVhbCB2b2lkIHNldFNlbGVjdGVkVGltZUluVGltZUNob29zZXIoY29uc3QgV2Vi
Q29yZTo6RGF0ZUNvbXBvbmVudHMmKTsKKyNlbmRpZgogCiAgICAgdmlydHVhbCB2b2lkIGRpc3Bh
dGNoVmlld3BvcnRQcm9wZXJ0aWVzRGlkQ2hhbmdlKGNvbnN0IFZpZXdwb3J0QXJndW1lbnRzJikg
Y29uc3Q7CiAKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJLaXQyL0NoYW5nZUxvZyBiL1NvdXJjZS9X
ZWJLaXQyL0NoYW5nZUxvZwppbmRleCA5NDFhMGQ1Li41MTRlOGZkIDEwMDY0NAotLS0gYS9Tb3Vy
Y2UvV2ViS2l0Mi9DaGFuZ2VMb2cKKysrIGIvU291cmNlL1dlYktpdDIvQ2hhbmdlTG9nCkBAIC0x
LDMgKzEsNTAgQEAKKzIwMTItMDYtMTIgIERpbnUgSmFjb2IgIDxkaW51LmphY29iQG5va2lhLmNv
bT4KKworICAgICAgICBbUXRdW1drMl0gU3VwcG9ydCBjbGllbnQgdGltZSBwaWNrZXIgZGlhbG9n
CisgICAgICAgIGh0dHBzOi8vYnVncy53ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD04ODkzMwor
CisgICAgICAgIFJldmlld2VkIGJ5IE5PQk9EWSAoT09QUyEpLgorCisgICAgICAgIEFkZGVkIEFQ
SSB0aGF0IGFsbG93cyB0aGUgY2xpZW50IHRvIHNldCBhIGN1c3RvbQorICAgICAgICBkaWFsb2cg
Zm9yIHRpbWUgcGlja2VyLgorCisgICAgICAgICogVGFyZ2V0LnByaToKKyAgICAgICAgKiBVSVBy
b2Nlc3MvQVBJL3F0L3FxdWlja3dlYnZpZXcuY3BwOgorICAgICAgICAoUVF1aWNrV2ViVmlld1By
aXZhdGU6OlFRdWlja1dlYlZpZXdQcml2YXRlKToKKyAgICAgICAgKFFRdWlja1dlYlZpZXdFeHBl
cmltZW50YWw6OnRpbWVQaWNrZXJEaWFsb2cpOgorICAgICAgICAoUVF1aWNrV2ViVmlld0V4cGVy
aW1lbnRhbDo6c2V0VGltZVBpY2tlckRpYWxvZyk6CisgICAgICAgICogVUlQcm9jZXNzL0FQSS9x
dC9xcXVpY2t3ZWJ2aWV3X3AuaDoKKyAgICAgICAgKiBVSVByb2Nlc3MvQVBJL3F0L3FxdWlja3dl
YnZpZXdfcF9wLmg6CisgICAgICAgIChRUXVpY2tXZWJWaWV3UHJpdmF0ZSk6CisgICAgICAgICog
VUlQcm9jZXNzL3F0L1F0UGFnZUNsaWVudC5jcHA6CisgICAgICAgIChXZWJLaXQpOgorICAgICAg
ICAoV2ViS2l0OjpRdFBhZ2VDbGllbnQ6OmNyZWF0ZVRpbWVQaWNrZXJQcm94eSk6CisgICAgICAg
ICogVUlQcm9jZXNzL3F0L1F0UGFnZUNsaWVudC5oOgorICAgICAgICAoUXRQYWdlQ2xpZW50KToK
KyAgICAgICAgKiBVSVByb2Nlc3MvcXQvV2ViVGltZVBpY2tlclByb3h5UXQuY3BwOiBBZGRlZC4K
KyAgICAgICAgKFdlYktpdCk6CisgICAgICAgIChUaW1lUGlja2VyRGlhbG9nQ29udGV4dE9iamVj
dCk6CisgICAgICAgIChXZWJLaXQ6OlRpbWVQaWNrZXJEaWFsb2dDb250ZXh0T2JqZWN0OjpUaW1l
UGlja2VyRGlhbG9nQ29udGV4dE9iamVjdCk6CisgICAgICAgIChXZWJLaXQ6OlRpbWVQaWNrZXJE
aWFsb2dDb250ZXh0T2JqZWN0Ojpob3Vycyk6CisgICAgICAgIChXZWJLaXQ6OlRpbWVQaWNrZXJE
aWFsb2dDb250ZXh0T2JqZWN0OjptaW51dGVzKToKKyAgICAgICAgKFdlYktpdDo6VGltZVBpY2tl
ckRpYWxvZ0NvbnRleHRPYmplY3Q6Om1pbkhvdXJzKToKKyAgICAgICAgKFdlYktpdDo6VGltZVBp
Y2tlckRpYWxvZ0NvbnRleHRPYmplY3Q6Om1pbk1pbnV0ZXMpOgorICAgICAgICAoV2ViS2l0OjpU
aW1lUGlja2VyRGlhbG9nQ29udGV4dE9iamVjdDo6bWF4SG91cnMpOgorICAgICAgICAoV2ViS2l0
OjpUaW1lUGlja2VyRGlhbG9nQ29udGV4dE9iamVjdDo6bWF4TWludXRlcyk6CisgICAgICAgIChX
ZWJLaXQ6OlRpbWVQaWNrZXJEaWFsb2dDb250ZXh0T2JqZWN0OjphY2NlcHQpOgorICAgICAgICAo
V2ViS2l0OjpUaW1lUGlja2VyRGlhbG9nQ29udGV4dE9iamVjdDo6cmVqZWN0KToKKyAgICAgICAg
KFdlYktpdDo6V2ViVGltZVBpY2tlclByb3h5UXQ6OldlYlRpbWVQaWNrZXJQcm94eVF0KToKKyAg
ICAgICAgKFdlYktpdDo6V2ViVGltZVBpY2tlclByb3h5UXQ6On5XZWJUaW1lUGlja2VyUHJveHlR
dCk6CisgICAgICAgIChXZWJLaXQ6OldlYlRpbWVQaWNrZXJQcm94eVF0OjpzaG93KToKKyAgICAg
ICAgKFdlYktpdDo6V2ViVGltZVBpY2tlclByb3h5UXQ6OmNyZWF0ZUl0ZW0pOgorICAgICAgICAo
V2ViS2l0OjpXZWJUaW1lUGlja2VyUHJveHlRdDo6Y3JlYXRlQ29udGV4dCk6CisgICAgICAgIChX
ZWJLaXQ6OldlYlRpbWVQaWNrZXJQcm94eVF0OjpoaWRlKToKKyAgICAgICAgKFdlYktpdDo6V2Vi
VGltZVBpY2tlclByb3h5UXQ6Om9uQWNjZXB0ZWQpOgorICAgICAgICAqIFVJUHJvY2Vzcy9xdC9X
ZWJUaW1lUGlja2VyUHJveHlRdC5oOiBBZGRlZC4KKyAgICAgICAgKFdlYktpdCk6CisgICAgICAg
IChXZWJUaW1lUGlja2VyUHJveHlRdCk6CisgICAgICAgIChXZWJLaXQ6OldlYlRpbWVQaWNrZXJQ
cm94eVF0OjpjcmVhdGUpOgorCiAyMDEyLTA2LTEyICBLZW5uZXRoIFJvaGRlIENocmlzdGlhbnNl
biAgPGtlbm5ldGhAd2Via2l0Lm9yZz4KIAogICAgICAgICBVbnJldmlld2VkIGJ1aWxkIGZpeC4K
ZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJLaXQyL1RhcmdldC5wcmkgYi9Tb3VyY2UvV2ViS2l0Mi9U
YXJnZXQucHJpCmluZGV4IDNjYmU5MWYuLjQ4YmU1YmUgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJL
aXQyL1RhcmdldC5wcmkKKysrIGIvU291cmNlL1dlYktpdDIvVGFyZ2V0LnByaQpAQCAtNzk4LDYg
Kzc5OCwxNCBAQCBjb250YWlucyhERUZJTkVTLCBFTkFCTEVfVE9VQ0hfRVZFTlRTPTEpIHsKIAog
Y29udGFpbnMoREVGSU5FUywgRU5BQkxFX0dFT0xPQ0FUSU9OPTEpOiBRVCArPSBsb2NhdGlvbgog
Citjb250YWlucyhERUZJTkVTLCBFTkFCTEVfSU5QVVRfVFlQRV9USU1FPTEpIHsKKyAgICBIRUFE
RVJTICs9IFwKKyAgICAgICAgVUlQcm9jZXNzL3F0L1dlYlRpbWVQaWNrZXJQcm94eVF0LmgKKwor
ICAgIFNPVVJDRVMgKz0gXAorICAgICAgICBVSVByb2Nlc3MvcXQvV2ViVGltZVBpY2tlclByb3h5
UXQuY3BwCit9CisKIHBsdWdpbl9iYWNrZW5kX3hsaWIgewogICAgIERFRklORVMgKz0gWFBfVU5J
WAogICAgIFBLR0NPTkZJRyArPSB4MTEKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJLaXQyL1VJUHJv
Y2Vzcy9BUEkvcXQvcXF1aWNrd2Vidmlldy5jcHAgYi9Tb3VyY2UvV2ViS2l0Mi9VSVByb2Nlc3Mv
QVBJL3F0L3FxdWlja3dlYnZpZXcuY3BwCmluZGV4IDliZGQ2MzguLjJiOWU3MWMgMTAwNjQ0Ci0t
LSBhL1NvdXJjZS9XZWJLaXQyL1VJUHJvY2Vzcy9BUEkvcXQvcXF1aWNrd2Vidmlldy5jcHAKKysr
IGIvU291cmNlL1dlYktpdDIvVUlQcm9jZXNzL0FQSS9xdC9xcXVpY2t3ZWJ2aWV3LmNwcApAQCAt
MjY0LDYgKzI2NCw3IEBAIFFRdWlja1dlYlZpZXdQcml2YXRlOjpRUXVpY2tXZWJWaWV3UHJpdmF0
ZShRUXVpY2tXZWJWaWV3KiB2aWV3cG9ydCkKICAgICAsIHByb3h5QXV0aGVudGljYXRpb25EaWFs
b2coMCkKICAgICAsIGZpbGVQaWNrZXIoMCkKICAgICAsIGRhdGFiYXNlUXVvdGFEaWFsb2coMCkK
KyAgICAsIHRpbWVQaWNrZXJEaWFsb2coMCkKICAgICAsIG1fdXNlRGVmYXVsdENvbnRlbnRJdGVt
U2l6ZSh0cnVlKQogICAgICwgbV9uYXZpZ2F0b3JRdE9iamVjdEVuYWJsZWQoZmFsc2UpCiAgICAg
LCBtX3JlbmRlclRvT2Zmc2NyZWVuQnVmZmVyKGZhbHNlKQpAQCAtMTE0NCw2ICsxMTQ1LDIxIEBA
IHZvaWQgUVF1aWNrV2ViVmlld0V4cGVyaW1lbnRhbDo6c2V0RGF0YWJhc2VRdW90YURpYWxvZyhR
UW1sQ29tcG9uZW50KiBkYXRhYmFzZVF1CiAgICAgZW1pdCBkYXRhYmFzZVF1b3RhRGlhbG9nQ2hh
bmdlZCgpOwogfQogCitRUW1sQ29tcG9uZW50KiBRUXVpY2tXZWJWaWV3RXhwZXJpbWVudGFsOjp0
aW1lUGlja2VyRGlhbG9nKCkgY29uc3QKK3sKKyAgICBRX0QoY29uc3QgUVF1aWNrV2ViVmlldyk7
CisgICAgcmV0dXJuIGQtPnRpbWVQaWNrZXJEaWFsb2c7Cit9CisKK3ZvaWQgUVF1aWNrV2ViVmll
d0V4cGVyaW1lbnRhbDo6c2V0VGltZVBpY2tlckRpYWxvZyhRUW1sQ29tcG9uZW50KiB0aW1lUGlj
a2VyRGlhbG9nKQoreworICAgIFFfRChRUXVpY2tXZWJWaWV3KTsKKyAgICBpZiAoZC0+dGltZVBp
Y2tlckRpYWxvZyA9PSB0aW1lUGlja2VyRGlhbG9nKQorICAgICAgICByZXR1cm47CisgICAgZC0+
dGltZVBpY2tlckRpYWxvZyA9IHRpbWVQaWNrZXJEaWFsb2c7CisgICAgZW1pdCB0aW1lUGlja2Vy
RGlhbG9nQ2hhbmdlZCgpOworfQorCiBRU3RyaW5nIFFRdWlja1dlYlZpZXdFeHBlcmltZW50YWw6
OnVzZXJBZ2VudCgpIGNvbnN0CiB7CiAgICAgUV9EKGNvbnN0IFFRdWlja1dlYlZpZXcpOwpkaWZm
IC0tZ2l0IGEvU291cmNlL1dlYktpdDIvVUlQcm9jZXNzL0FQSS9xdC9xcXVpY2t3ZWJ2aWV3X3Au
aCBiL1NvdXJjZS9XZWJLaXQyL1VJUHJvY2Vzcy9BUEkvcXQvcXF1aWNrd2Vidmlld19wLmgKaW5k
ZXggMGYyZWY0Mi4uZjQ3NDQ4MiAxMDA2NDQKLS0tIGEvU291cmNlL1dlYktpdDIvVUlQcm9jZXNz
L0FQSS9xdC9xcXVpY2t3ZWJ2aWV3X3AuaAorKysgYi9Tb3VyY2UvV2ViS2l0Mi9VSVByb2Nlc3Mv
QVBJL3F0L3FxdWlja3dlYnZpZXdfcC5oCkBAIC0yNjUsNiArMjY1LDcgQEAgY2xhc3MgUVdFQktJ
VF9FWFBPUlQgUVF1aWNrV2ViVmlld0V4cGVyaW1lbnRhbCA6IHB1YmxpYyBRT2JqZWN0IHsKICAg
ICBRX1BST1BFUlRZKFFRbWxDb21wb25lbnQqIGl0ZW1TZWxlY3RvciBSRUFEIGl0ZW1TZWxlY3Rv
ciBXUklURSBzZXRJdGVtU2VsZWN0b3IgTk9USUZZIGl0ZW1TZWxlY3RvckNoYW5nZWQpCiAgICAg
UV9QUk9QRVJUWShRUW1sQ29tcG9uZW50KiBmaWxlUGlja2VyIFJFQUQgZmlsZVBpY2tlciBXUklU
RSBzZXRGaWxlUGlja2VyIE5PVElGWSBmaWxlUGlja2VyQ2hhbmdlZCkKICAgICBRX1BST1BFUlRZ
KFFRbWxDb21wb25lbnQqIGRhdGFiYXNlUXVvdGFEaWFsb2cgUkVBRCBkYXRhYmFzZVF1b3RhRGlh
bG9nIFdSSVRFIHNldERhdGFiYXNlUXVvdGFEaWFsb2cgTk9USUZZIGRhdGFiYXNlUXVvdGFEaWFs
b2dDaGFuZ2VkKQorICAgIFFfUFJPUEVSVFkoUVFtbENvbXBvbmVudCogdGltZVBpY2tlckRpYWxv
ZyBSRUFEIHRpbWVQaWNrZXJEaWFsb2cgV1JJVEUgc2V0VGltZVBpY2tlckRpYWxvZyBOT1RJRlkg
dGltZVBpY2tlckRpYWxvZ0NoYW5nZWQpCiAKICAgICBRX1BST1BFUlRZKFFXZWJQcmVmZXJlbmNl
cyogcHJlZmVyZW5jZXMgUkVBRCBwcmVmZXJlbmNlcyBDT05TVEFOVCBGSU5BTCkKICAgICBRX1BS
T1BFUlRZKFFXZWJLaXRUZXN0KiB0ZXN0IFJFQUQgdGVzdCBDT05TVEFOVCBGSU5BTCkKQEAgLTI5
OSw2ICszMDAsOSBAQCBwdWJsaWM6CiAgICAgdm9pZCBzZXRGaWxlUGlja2VyKFFRbWxDb21wb25l
bnQqKTsKICAgICBRUW1sQ29tcG9uZW50KiBkYXRhYmFzZVF1b3RhRGlhbG9nKCkgY29uc3Q7CiAg
ICAgdm9pZCBzZXREYXRhYmFzZVF1b3RhRGlhbG9nKFFRbWxDb21wb25lbnQqKTsKKyAgICBRUW1s
Q29tcG9uZW50KiB0aW1lUGlja2VyRGlhbG9nKCkgY29uc3Q7CisgICAgdm9pZCBzZXRUaW1lUGlj
a2VyRGlhbG9nKFFRbWxDb21wb25lbnQqKTsKKwogICAgIFFTdHJpbmcgdXNlckFnZW50KCkgY29u
c3Q7CiAgICAgdm9pZCBzZXRVc2VyQWdlbnQoY29uc3QgUVN0cmluZyYgdXNlckFnZW50KTsKICAg
ICBpbnQgZGV2aWNlV2lkdGgoKSBjb25zdDsKQEAgLTM1OCw2ICszNjIsNyBAQCBRX1NJR05BTFM6
CiAgICAgdm9pZCBwZXJtaXNzaW9uUmVxdWVzdGVkKFFXZWJQZXJtaXNzaW9uUmVxdWVzdCogcGVy
bWlzc2lvbik7CiAgICAgdm9pZCBtZXNzYWdlUmVjZWl2ZWQoY29uc3QgUVZhcmlhbnRNYXAmIG1l
c3NhZ2UpOwogICAgIHZvaWQgcHJveHlBdXRoZW50aWNhdGlvbkRpYWxvZ0NoYW5nZWQoKTsKKyAg
ICB2b2lkIHRpbWVQaWNrZXJEaWFsb2dDaGFuZ2VkKCk7CiAgICAgdm9pZCB1c2VyQWdlbnRDaGFu
Z2VkKCk7CiAgICAgdm9pZCBkZXZpY2VXaWR0aENoYW5nZWQoKTsKICAgICB2b2lkIGRldmljZUhl
aWdodENoYW5nZWQoKTsKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJLaXQyL1VJUHJvY2Vzcy9BUEkv
cXQvcXF1aWNrd2Vidmlld19wX3AuaCBiL1NvdXJjZS9XZWJLaXQyL1VJUHJvY2Vzcy9BUEkvcXQv
cXF1aWNrd2Vidmlld19wX3AuaAppbmRleCBjNTUzNWEzLi5mMTkwMGE2IDEwMDY0NAotLS0gYS9T
b3VyY2UvV2ViS2l0Mi9VSVByb2Nlc3MvQVBJL3F0L3FxdWlja3dlYnZpZXdfcF9wLmgKKysrIGIv
U291cmNlL1dlYktpdDIvVUlQcm9jZXNzL0FQSS9xdC9xcXVpY2t3ZWJ2aWV3X3BfcC5oCkBAIC0x
ODUsNiArMTg1LDcgQEAgcHJvdGVjdGVkOgogICAgIFFRbWxDb21wb25lbnQqIHByb3h5QXV0aGVu
dGljYXRpb25EaWFsb2c7CiAgICAgUVFtbENvbXBvbmVudCogZmlsZVBpY2tlcjsKICAgICBRUW1s
Q29tcG9uZW50KiBkYXRhYmFzZVF1b3RhRGlhbG9nOworICAgIFFRbWxDb21wb25lbnQqIHRpbWVQ
aWNrZXJEaWFsb2c7CiAKICAgICBRTGlzdDxRVXJsPiB1c2VyU2NyaXB0czsKIApkaWZmIC0tZ2l0
IGEvU291cmNlL1dlYktpdDIvVUlQcm9jZXNzL3F0L1F0UGFnZUNsaWVudC5jcHAgYi9Tb3VyY2Uv
V2ViS2l0Mi9VSVByb2Nlc3MvcXQvUXRQYWdlQ2xpZW50LmNwcAppbmRleCA4ZTlhYjJlLi40OGFl
N2M0IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViS2l0Mi9VSVByb2Nlc3MvcXQvUXRQYWdlQ2xpZW50
LmNwcAorKysgYi9Tb3VyY2UvV2ViS2l0Mi9VSVByb2Nlc3MvcXQvUXRQYWdlQ2xpZW50LmNwcApA
QCAtMjksNiArMjksOSBAQAogI2luY2x1ZGUgIldlYkNvbnRleHRNZW51UHJveHlRdC5oIgogI2lu
Y2x1ZGUgIldlYkVkaXRDb21tYW5kUHJveHkuaCIKICNpbmNsdWRlICJXZWJQb3B1cE1lbnVQcm94
eVF0LmgiCisjaWYgRU5BQkxFKElOUFVUX1RZUEVfVElNRSkKKyNpbmNsdWRlICJXZWJUaW1lUGlj
a2VyUHJveHlRdC5oIgorI2VuZGlmCiAjaW5jbHVkZSAicXF1aWNrd2Vidmlld19wLmgiCiAjaW5j
bHVkZSAicXF1aWNrd2Vidmlld19wX3AuaCIKICNpbmNsdWRlIDxRR3VpQXBwbGljYXRpb24+CkBA
IC0yMDUsNiArMjA4LDEzIEBAIFBhc3NSZWZQdHI8V2ViQ29udGV4dE1lbnVQcm94eT4gUXRQYWdl
Q2xpZW50OjpjcmVhdGVDb250ZXh0TWVudVByb3h5KFdlYlBhZ2VQcm94CiAgICAgcmV0dXJuIFdl
YkNvbnRleHRNZW51UHJveHlRdDo6Y3JlYXRlKHdlYlBhZ2VQcm94eSk7CiB9CiAKKyNpZiBFTkFC
TEUoSU5QVVRfVFlQRV9USU1FKQorUGFzc1JlZlB0cjxXZWJUaW1lUGlja2VyUHJveHk+IFF0UGFn
ZUNsaWVudDo6Y3JlYXRlVGltZVBpY2tlclByb3h5KFdlYlBhZ2VQcm94eSogd2ViUGFnZVByb3h5
KQoreworICAgIHJldHVybiBXZWJUaW1lUGlja2VyUHJveHlRdDo6Y3JlYXRlKHdlYlBhZ2VQcm94
eSwgbV93ZWJWaWV3KTsKK30KKyNlbmRpZgorCiB2b2lkIFF0UGFnZUNsaWVudDo6Zmxhc2hCYWNr
aW5nU3RvcmVVcGRhdGVzKGNvbnN0IFZlY3RvcjxJbnRSZWN0PiYpCiB7CiAgICAgbm90SW1wbGVt
ZW50ZWQoKTsKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJLaXQyL1VJUHJvY2Vzcy9xdC9RdFBhZ2VD
bGllbnQuaCBiL1NvdXJjZS9XZWJLaXQyL1VJUHJvY2Vzcy9xdC9RdFBhZ2VDbGllbnQuaAppbmRl
eCBlMzNkYWRmLi5kMTQ1NDIzIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViS2l0Mi9VSVByb2Nlc3Mv
cXQvUXRQYWdlQ2xpZW50LmgKKysrIGIvU291cmNlL1dlYktpdDIvVUlQcm9jZXNzL3F0L1F0UGFn
ZUNsaWVudC5oCkBAIC04Niw2ICs4Niw5IEBAIHB1YmxpYzoKICAgICB2aXJ0dWFsIHZvaWQgZG9u
ZVdpdGhLZXlFdmVudChjb25zdCBOYXRpdmVXZWJLZXlib2FyZEV2ZW50JiwgYm9vbCB3YXNFdmVu
dEhhbmRsZWQpIHsgfQogICAgIHZpcnR1YWwgUGFzc1JlZlB0cjxXZWJQb3B1cE1lbnVQcm94eT4g
Y3JlYXRlUG9wdXBNZW51UHJveHkoV2ViUGFnZVByb3h5Kik7CiAgICAgdmlydHVhbCBQYXNzUmVm
UHRyPFdlYkNvbnRleHRNZW51UHJveHk+IGNyZWF0ZUNvbnRleHRNZW51UHJveHkoV2ViUGFnZVBy
b3h5Kik7CisjaWYgRU5BQkxFKElOUFVUX1RZUEVfVElNRSkKKyAgICB2aXJ0dWFsIFBhc3NSZWZQ
dHI8V2ViS2l0OjpXZWJUaW1lUGlja2VyUHJveHk+IGNyZWF0ZVRpbWVQaWNrZXJQcm94eShXZWJL
aXQ6OldlYlBhZ2VQcm94eSopOworI2VuZGlmCiAgICAgdmlydHVhbCB2b2lkIHNldEZpbmRJbmRp
Y2F0b3IoUGFzc1JlZlB0cjxGaW5kSW5kaWNhdG9yPiwgYm9vbCBmYWRlT3V0LCBib29sIGFuaW1h
dGUpIHsgfQogICAgIHZpcnR1YWwgdm9pZCBkaWRDb21taXRMb2FkRm9yTWFpbkZyYW1lKGJvb2wg
dXNlQ3VzdG9tUmVwcmVzZW50YXRpb24pIHsgfQogICAgIHZpcnR1YWwgdm9pZCBkaWRGaW5pc2hM
b2FkaW5nRGF0YUZvckN1c3RvbVJlcHJlc2VudGF0aW9uKGNvbnN0IFN0cmluZyYgc3VnZ2VzdGVk
RmlsZW5hbWUsIGNvbnN0IENvcmVJUEM6OkRhdGFSZWZlcmVuY2UmKSB7IH0KZGlmZiAtLWdpdCBh
L1NvdXJjZS9XZWJLaXQyL1VJUHJvY2Vzcy9xdC9XZWJUaW1lUGlja2VyUHJveHlRdC5jcHAgYi9T
b3VyY2UvV2ViS2l0Mi9VSVByb2Nlc3MvcXQvV2ViVGltZVBpY2tlclByb3h5UXQuY3BwCm5ldyBm
aWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLjIyMjUxZGEKLS0tIC9kZXYvbnVsbAorKysg
Yi9Tb3VyY2UvV2ViS2l0Mi9VSVByb2Nlc3MvcXQvV2ViVGltZVBpY2tlclByb3h5UXQuY3BwCkBA
IC0wLDAgKzEsMTg2IEBACisvKgorICogQ29weXJpZ2h0IChDKSAyMDEyIE5va2lhIENvcnBvcmF0
aW9uIGFuZC9vciBpdHMgc3Vic2lkaWFyeSgtaWVzKS4KKyAqCisgKiBUaGlzIGxpYnJhcnkgaXMg
ZnJlZSBzb2Z0d2FyZTsgeW91IGNhbiByZWRpc3RyaWJ1dGUgaXQgYW5kL29yCisgKiBtb2RpZnkg
aXQgdW5kZXIgdGhlIHRlcm1zIG9mIHRoZSBHTlUgTGlicmFyeSBHZW5lcmFsIFB1YmxpYworICog
TGljZW5zZSBhcyBwdWJsaXNoZWQgYnkgdGhlIEZyZWUgU29mdHdhcmUgRm91bmRhdGlvbjsgZWl0
aGVyCisgKiB2ZXJzaW9uIDIgb2YgdGhlIExpY2Vuc2UsIG9yIChhdCB5b3VyIG9wdGlvbikgYW55
IGxhdGVyIHZlcnNpb24uCisgKgorICogVGhpcyBsaWJyYXJ5IGlzIGRpc3RyaWJ1dGVkIGluIHRo
ZSBob3BlIHRoYXQgaXQgd2lsbCBiZSB1c2VmdWwsCisgKiBidXQgV0lUSE9VVCBBTlkgV0FSUkFO
VFk7IHdpdGhvdXQgZXZlbiB0aGUgaW1wbGllZCB3YXJyYW50eSBvZgorICogTUVSQ0hBTlRBQklM
SVRZIG9yIEZJVE5FU1MgRk9SIEEgUEFSVElDVUxBUiBQVVJQT1NFLiAgU2VlIHRoZSBHTlUKKyAq
IExpYnJhcnkgR2VuZXJhbCBQdWJsaWMgTGljZW5zZSBmb3IgbW9yZSBkZXRhaWxzLgorICoKKyAq
IFlvdSBzaG91bGQgaGF2ZSByZWNlaXZlZCBhIGNvcHkgb2YgdGhlIEdOVSBMaWJyYXJ5IEdlbmVy
YWwgUHVibGljIExpY2Vuc2UKKyAqIGFsb25nIHdpdGggdGhpcyBsaWJyYXJ5OyBzZWUgdGhlIGZp
bGUgQ09QWUlORy5MSUIuICBJZiBub3QsIHdyaXRlIHRvCisgKiB0aGUgRnJlZSBTb2Z0d2FyZSBG
b3VuZGF0aW9uLCBJbmMuLCA1MSBGcmFua2xpbiBTdHJlZXQsIEZpZnRoIEZsb29yLAorICogQm9z
dG9uLCBNQSAwMjExMC0xMzAxLCBVU0EuCisgKgorICovCisKKyNpbmNsdWRlICJjb25maWcuaCIK
KyNpbmNsdWRlICJXZWJUaW1lUGlja2VyUHJveHlRdC5oIgorI2luY2x1ZGUgInFxdWlja3dlYnZp
ZXdfcC5oIgorI2luY2x1ZGUgInFxdWlja3dlYnZpZXdfcF9wLmgiCisjaW5jbHVkZSAiV2ViUGFn
ZVByb3h5LmgiCisjaW5jbHVkZSA8V2ViQ29yZS9EYXRlQ29tcG9uZW50cy5oPgorI2luY2x1ZGUg
PFFUaW1lPgorCit1c2luZyBuYW1lc3BhY2UgV2ViQ29yZTsKKworbmFtZXNwYWNlIFdlYktpdCB7
CisKK2NsYXNzIFRpbWVQaWNrZXJEaWFsb2dDb250ZXh0T2JqZWN0IDogcHVibGljIFFPYmplY3Qg
eworICAgIFFfT0JKRUNUCisgICAgUV9QUk9QRVJUWShpbnQgaG91cnMgUkVBRCBob3VycyBDT05T
VEFOVCkKKyAgICBRX1BST1BFUlRZKGludCBtaW51dGVzIFJFQUQgbWludXRlcyBDT05TVEFOVCkK
KyAgICBRX1BST1BFUlRZKGludCBtaW5Ib3VycyBSRUFEIG1pbkhvdXJzIENPTlNUQU5UKQorICAg
IFFfUFJPUEVSVFkoaW50IG1pbk1pbnV0ZXMgUkVBRCBtaW5NaW51dGVzIENPTlNUQU5UKQorICAg
IFFfUFJPUEVSVFkoaW50IG1heEhvdXJzIFJFQUQgbWF4SG91cnMgQ09OU1RBTlQpCisgICAgUV9Q
Uk9QRVJUWShpbnQgbWF4TWludXRlcyBSRUFEIG1heE1pbnV0ZXMgQ09OU1RBTlQpCisKK3B1Ymxp
YzoKKyAgICBUaW1lUGlja2VyRGlhbG9nQ29udGV4dE9iamVjdChjb25zdCBRVGltZSYgaW5pdGlh
bFRpbWUsIGNvbnN0IFFUaW1lJiBtaW5UaW1lLCBjb25zdCBRVGltZSYgbWF4VGltZSkKKyAgICAg
ICAgOiBRT2JqZWN0KCkKKyAgICAgICAgLCBtX2luaXRpYWxUaW1lKGluaXRpYWxUaW1lKQorICAg
ICAgICAsIG1fbWluVGltZShtaW5UaW1lKQorICAgICAgICAsIG1fbWF4VGltZShtYXhUaW1lKQor
ICAgIHsKKyAgICB9CisKKyAgICBpbnQgaG91cnMoKSBjb25zdCB7IHJldHVybiBtX2luaXRpYWxU
aW1lLmhvdXIoKTsgfQorICAgIGludCBtaW51dGVzKCkgY29uc3QgeyByZXR1cm4gbV9pbml0aWFs
VGltZS5taW51dGUoKTsgfQorICAgIGludCBtaW5Ib3VycygpIGNvbnN0IHsgcmV0dXJuIG1fbWlu
VGltZS5ob3VyKCk7IH0KKyAgICBpbnQgbWluTWludXRlcygpIGNvbnN0IHsgcmV0dXJuIG1fbWlu
VGltZS5taW51dGUoKTsgfQorICAgIGludCBtYXhIb3VycygpIGNvbnN0IHsgcmV0dXJuIG1fbWF4
VGltZS5ob3VyKCk7IH0KKyAgICBpbnQgbWF4TWludXRlcygpIGNvbnN0IHsgcmV0dXJuIG1fbWF4
VGltZS5taW51dGUoKTsgfQorCitwdWJsaWMgc2xvdHM6CisgICAgdm9pZCBhY2NlcHQoY29uc3Qg
aW50JiBob3VycywgY29uc3QgaW50JiBtaW51dGVzKSB7IGVtaXQgYWNjZXB0ZWQoUVRpbWUoaG91
cnMsIG1pbnV0ZXMpKTsgfQorICAgIHZvaWQgcmVqZWN0KCkgeyBlbWl0IHJlamVjdGVkKCk7IH0K
Kworc2lnbmFsczoKKyAgICB2b2lkIGFjY2VwdGVkKGNvbnN0IFFUaW1lJik7CisgICAgdm9pZCBy
ZWplY3RlZCgpOworCitwcml2YXRlOgorICAgIFFUaW1lIG1faW5pdGlhbFRpbWU7CisgICAgUVRp
bWUgbV9taW5UaW1lOworICAgIFFUaW1lIG1fbWF4VGltZTsKK307CisKK1dlYlRpbWVQaWNrZXJQ
cm94eVF0OjpXZWJUaW1lUGlja2VyUHJveHlRdChXZWJQYWdlUHJveHkqIHBhZ2UsIFFRdWlja1dl
YlZpZXcqIHdlYlZpZXcpCisgICAgOiBXZWJUaW1lUGlja2VyUHJveHkoKQorICAgICwgbV9wYWdl
KHBhZ2UpCisgICAgLCBtX3dlYlZpZXcod2ViVmlldykKK3sKK30KKworV2ViVGltZVBpY2tlclBy
b3h5UXQ6On5XZWJUaW1lUGlja2VyUHJveHlRdCgpCit7Cit9CisKK3ZvaWQgV2ViVGltZVBpY2tl
clByb3h5UXQ6OnNob3coY29uc3QgRGF0ZUNvbXBvbmVudHMmIGluaXRpYWxUaW1lLCBjb25zdCBE
YXRlQ29tcG9uZW50cyYgbWluVGltZSwgY29uc3QgRGF0ZUNvbXBvbmVudHMmIG1heFRpbWUpCit7
CisgICAgUVRpbWUgbWluUVRpbWU7CisgICAgUVRpbWUgbWF4UVRpbWU7CisKKyAgICBpZiAobWlu
VGltZS50eXBlKCkgIT0gRGF0ZUNvbXBvbmVudHM6OkludmFsaWQpCisgICAgICAgIG1pblFUaW1l
LnNldEhNUyhtaW5UaW1lLmhvdXIoKSwgbWluVGltZS5taW51dGUoKSwgbWluVGltZS5zZWNvbmQo
KSwgbWluVGltZS5taWxsaXNlY29uZCgpKTsKKworICAgIGlmIChtYXhUaW1lLnR5cGUoKSAhPSBE
YXRlQ29tcG9uZW50czo6SW52YWxpZCkKKyAgICAgICAgbWF4UVRpbWUuc2V0SE1TKG1heFRpbWUu
aG91cigpLCBtYXhUaW1lLm1pbnV0ZSgpLCBtYXhUaW1lLnNlY29uZCgpLCBtYXhUaW1lLm1pbGxp
c2Vjb25kKCkpOworCisgICAgaWYgKCFtaW5RVGltZS5pc1ZhbGlkKCkpCisgICAgICAgIG1pblFU
aW1lLnNldEhNUygwLCAwLCAwKTsKKworICAgIGlmICghbWF4UVRpbWUuaXNWYWxpZCgpKQorICAg
ICAgICBtYXhRVGltZS5zZXRITVMoMjMsIDU5LCA1OSk7CisKKyAgICBUaW1lUGlja2VyRGlhbG9n
Q29udGV4dE9iamVjdCogY29udGV4dE9iamVjdCA9IG5ldyBUaW1lUGlja2VyRGlhbG9nQ29udGV4
dE9iamVjdChRVGltZShpbml0aWFsVGltZS5ob3VyKCksIGluaXRpYWxUaW1lLm1pbnV0ZSgpLCBp
bml0aWFsVGltZS5zZWNvbmQoKSksIG1pblFUaW1lLCBtYXhRVGltZSk7CisgICAgY3JlYXRlSXRl
bShjb250ZXh0T2JqZWN0KTsKKyAgICBpZiAoIW1fdGltZVBpY2tlcikgeworICAgICAgICBoaWRl
KCk7CisgICAgICAgIHJldHVybjsKKyAgICB9CisKKyAgICBjb25uZWN0KGNvbnRleHRPYmplY3Qs
IFNJR05BTChhY2NlcHRlZChjb25zdCBRVGltZSYpKSwgU0xPVChvbkFjY2VwdGVkKGNvbnN0IFFU
aW1lJikpLCBRdDo6UXVldWVkQ29ubmVjdGlvbik7CisgICAgY29ubmVjdChjb250ZXh0T2JqZWN0
LCBTSUdOQUwocmVqZWN0ZWQoKSksIFNMT1QoaGlkZSgpKSwgUXQ6OlF1ZXVlZENvbm5lY3Rpb24p
OworICAgIG1fdGltZVBpY2tlci0+c2V0UGFyZW50SXRlbShtX3dlYlZpZXcpOworCisgICAgUVF1
aWNrV2ViVmlld1ByaXZhdGU6OmdldChtX3dlYlZpZXcpLT5zZXREaWFsb2dBY3RpdmUodHJ1ZSk7
CisKK30KKwordm9pZCBXZWJUaW1lUGlja2VyUHJveHlRdDo6Y3JlYXRlSXRlbShRT2JqZWN0KiBj
b250ZXh0T2JqZWN0KQoreworICAgIFFRbWxDb21wb25lbnQqIGNvbXBvbmVudCA9IG1fd2ViVmll
dy0+ZXhwZXJpbWVudGFsKCktPnRpbWVQaWNrZXJEaWFsb2coKTsKKyAgICBpZiAoIWNvbXBvbmVu
dCkKKyAgICB7CisgICAgICAgIGRlbGV0ZSBjb250ZXh0T2JqZWN0OworICAgICAgICByZXR1cm47
CisgICAgfQorCisgICAgY3JlYXRlQ29udGV4dChjb21wb25lbnQsIGNvbnRleHRPYmplY3QpOwor
ICAgIFFPYmplY3QqIG9iamVjdCA9IGNvbXBvbmVudC0+YmVnaW5DcmVhdGUobV9jb250ZXh0Lmdl
dCgpKTsKKyAgICBpZiAoIW9iamVjdCkgeworICAgICAgICBtX2NvbnRleHQuY2xlYXIoKTsKKyAg
ICAgICAgcmV0dXJuOworICAgIH0KKworICAgIG1fdGltZVBpY2tlciA9IGFkb3B0UHRyKHFvYmpl
Y3RfY2FzdDxRUXVpY2tJdGVtKj4ob2JqZWN0KSk7CisgICAgaWYgKCFtX3RpbWVQaWNrZXIpIHsK
KyAgICAgICAgbV9jb250ZXh0LmNsZWFyKCk7CisgICAgICAgIG1fdGltZVBpY2tlci5jbGVhcigp
OworICAgICAgICByZXR1cm47CisgICAgfQorCisgICAgUVF1aWNrV2ViVmlld1ByaXZhdGU6Omdl
dChtX3dlYlZpZXcpLT5hZGRBdHRhY2hlZFByb3BlcnR5VG8obV90aW1lUGlja2VyLmdldCgpKTsK
KworICAgIC8vIE9ubHkgZnVsbHkgY3JlYXRlIHRoZSBjb21wb25lbnQgb25jZSB3ZSd2ZSBzZXQg
Ym90aCBhIHBhcmVudAorICAgIC8vIGFuZCB0aGUgbmVlZGVkIGNvbnRleHQgYW5kIGF0dGFjaGVk
IHByb3BlcnRpZXMsIHNvIHRoYXQgdGhlCisgICAgLy8gZGlhbG9nIGNhbiBkbyB1c2VmdWwgc3R1
ZmYgaW4gQ29tcG9uZW50Lm9uQ29tcGxldGVkKCkuCisgICAgY29tcG9uZW50LT5jb21wbGV0ZUNy
ZWF0ZSgpOworfQorCit2b2lkIFdlYlRpbWVQaWNrZXJQcm94eVF0OjpjcmVhdGVDb250ZXh0KFFR
bWxDb21wb25lbnQqIGNvbXBvbmVudCwgUU9iamVjdCogY29udGV4dE9iamVjdCkKK3sKKyAgICBR
UW1sQ29udGV4dCogYmFzZUNvbnRleHQgPSBjb21wb25lbnQtPmNyZWF0aW9uQ29udGV4dCgpOwor
ICAgIGlmICghYmFzZUNvbnRleHQpCisgICAgICAgIGJhc2VDb250ZXh0ID0gUVFtbEVuZ2luZTo6
Y29udGV4dEZvck9iamVjdChtX3dlYlZpZXcpOworICAgIG1fY29udGV4dCA9IGFkb3B0UHRyKG5l
dyBRUW1sQ29udGV4dChiYXNlQ29udGV4dCkpOworCisgICAgY29udGV4dE9iamVjdC0+c2V0UGFy
ZW50KG1fY29udGV4dC5nZXQoKSk7CisgICAgbV9jb250ZXh0LT5zZXRDb250ZXh0UHJvcGVydHko
UUxhdGluMVN0cmluZygibW9kZWwiKSwgY29udGV4dE9iamVjdCk7CisgICAgbV9jb250ZXh0LT5z
ZXRDb250ZXh0T2JqZWN0KGNvbnRleHRPYmplY3QpOworfQorCit2b2lkIFdlYlRpbWVQaWNrZXJQ
cm94eVF0OjpoaWRlKCkKK3sKKyAgICBpZiAoIW1fcGFnZSkKKyAgICAgICAgcmV0dXJuOworCisg
ICAgbV90aW1lUGlja2VyLmNsZWFyKCk7CisgICAgUVF1aWNrV2ViVmlld1ByaXZhdGU6OmdldCht
X3dlYlZpZXcpLT5zZXREaWFsb2dBY3RpdmUoZmFsc2UpOworICAgIG1fY29udGV4dC5jbGVhcigp
OworCisgICAgbV9wYWdlLT5kaWRFbmRUaW1lQ2hvb3NlcigpOworfQorCit2b2lkIFdlYlRpbWVQ
aWNrZXJQcm94eVF0OjpvbkFjY2VwdGVkKGNvbnN0IFFUaW1lJiBzZWxlY3RlZFRpbWUpCit7Cisg
ICAgaWYgKCFtX3BhZ2UpCisgICAgICAgIHJldHVybjsKKworICAgIFdlYkNvcmU6OkRhdGVDb21w
b25lbnRzIGRhdGV0aW1lOworICAgIGRhdGV0aW1lLnNldE1pbGxpc2Vjb25kc1NpbmNlTWlkbmln
aHQoKGRvdWJsZSkoKChzZWxlY3RlZFRpbWUuaG91cigpICogMzYwMCkgKyAoc2VsZWN0ZWRUaW1l
Lm1pbnV0ZSgpICogNjApKSArIHNlbGVjdGVkVGltZS5zZWNvbmQoKSkgKiAxMDAwICsgc2VsZWN0
ZWRUaW1lLm1zZWMoKSk7CisgICAgbV9wYWdlLT5kaWRDaG9vc2VUaW1lKGRhdGV0aW1lKTsKKwor
ICAgIGhpZGUoKTsKK30KKworI2luY2x1ZGUgIldlYlRpbWVQaWNrZXJQcm94eVF0Lm1vYyIKKyNp
bmNsdWRlICJtb2NfV2ViVGltZVBpY2tlclByb3h5UXQuY3BwIgorCisKK30gLy8gbmFtZXNwYWNl
IFdlYktpdApkaWZmIC0tZ2l0IGEvU291cmNlL1dlYktpdDIvVUlQcm9jZXNzL3F0L1dlYlRpbWVQ
aWNrZXJQcm94eVF0LmggYi9Tb3VyY2UvV2ViS2l0Mi9VSVByb2Nlc3MvcXQvV2ViVGltZVBpY2tl
clByb3h5UXQuaApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi40NzQwNjE3Ci0t
LSAvZGV2L251bGwKKysrIGIvU291cmNlL1dlYktpdDIvVUlQcm9jZXNzL3F0L1dlYlRpbWVQaWNr
ZXJQcm94eVF0LmgKQEAgLTAsMCArMSw2OSBAQAorLyoKKyAqIENvcHlyaWdodCAoQykgMjAxMiBO
b2tpYSBDb3Jwb3JhdGlvbiBhbmQvb3IgaXRzIHN1YnNpZGlhcnkoLWllcykuCisgKgorICogVGhp
cyBsaWJyYXJ5IGlzIGZyZWUgc29mdHdhcmU7IHlvdSBjYW4gcmVkaXN0cmlidXRlIGl0IGFuZC9v
cgorICogbW9kaWZ5IGl0IHVuZGVyIHRoZSB0ZXJtcyBvZiB0aGUgR05VIExpYnJhcnkgR2VuZXJh
bCBQdWJsaWMKKyAqIExpY2Vuc2UgYXMgcHVibGlzaGVkIGJ5IHRoZSBGcmVlIFNvZnR3YXJlIEZv
dW5kYXRpb247IGVpdGhlcgorICogdmVyc2lvbiAyIG9mIHRoZSBMaWNlbnNlLCBvciAoYXQgeW91
ciBvcHRpb24pIGFueSBsYXRlciB2ZXJzaW9uLgorICoKKyAqIFRoaXMgbGlicmFyeSBpcyBkaXN0
cmlidXRlZCBpbiB0aGUgaG9wZSB0aGF0IGl0IHdpbGwgYmUgdXNlZnVsLAorICogYnV0IFdJVEhP
VVQgQU5ZIFdBUlJBTlRZOyB3aXRob3V0IGV2ZW4gdGhlIGltcGxpZWQgd2FycmFudHkgb2YKKyAq
IE1FUkNIQU5UQUJJTElUWSBvciBGSVRORVNTIEZPUiBBIFBBUlRJQ1VMQVIgUFVSUE9TRS4gIFNl
ZSB0aGUgR05VCisgKiBMaWJyYXJ5IEdlbmVyYWwgUHVibGljIExpY2Vuc2UgZm9yIG1vcmUgZGV0
YWlscy4KKyAqCisgKiBZb3Ugc2hvdWxkIGhhdmUgcmVjZWl2ZWQgYSBjb3B5IG9mIHRoZSBHTlUg
TGlicmFyeSBHZW5lcmFsIFB1YmxpYyBMaWNlbnNlCisgKiBhbG9uZyB3aXRoIHRoaXMgbGlicmFy
eTsgc2VlIHRoZSBmaWxlIENPUFlJTkcuTElCLiAgSWYgbm90LCB3cml0ZSB0bworICogdGhlIEZy
ZWUgU29mdHdhcmUgRm91bmRhdGlvbiwgSW5jLiwgNTEgRnJhbmtsaW4gU3RyZWV0LCBGaWZ0aCBG
bG9vciwKKyAqIEJvc3RvbiwgTUEgMDIxMTAtMTMwMSwgVVNBLgorICoKKyAqLworCisjaWZuZGVm
IFdlYlRpbWVQaWNrZXJQcm94eVF0X2gKKyNkZWZpbmUgV2ViVGltZVBpY2tlclByb3h5UXRfaAor
CisjaW5jbHVkZSAiV2ViUGFnZVByb3h5LmgiCisjaW5jbHVkZSAiV2ViVGltZVBpY2tlclByb3h5
LmgiCisjaW5jbHVkZSA8d3RmL1Bhc3NPd25QdHIuaD4KKyNpbmNsdWRlIDx3dGYvT3duUHRyLmg+
CisjaW5jbHVkZSA8UXRDb3JlL1FPYmplY3Q+CisjaW5jbHVkZSA8UXRRbWwvUVFtbENvbnRleHQ+
CisjaW5jbHVkZSA8UXRRbWwvUVFtbEVuZ2luZT4KKyNpbmNsdWRlIDxRdFF1aWNrL1FRdWlja0l0
ZW0+CisKKworY2xhc3MgUVF1aWNrV2ViVmlldzsKKworbmFtZXNwYWNlIFdlYktpdCB7CisKK2Ns
YXNzIFdlYlRpbWVQaWNrZXJQcm94eVF0IDogcHVibGljIFFPYmplY3QsIHB1YmxpYyBXZWJUaW1l
UGlja2VyUHJveHkgeworICAgIFFfT0JKRUNUCitwdWJsaWM6CisgICAgc3RhdGljIFBhc3NSZWZQ
dHI8V2ViVGltZVBpY2tlclByb3h5UXQ+IGNyZWF0ZShXZWJQYWdlUHJveHkqIHBhZ2UsIFFRdWlj
a1dlYlZpZXcqIHdlYlZpZXcpCisgICAgeworICAgICAgICByZXR1cm4gYWRvcHRSZWYobmV3IFdl
YlRpbWVQaWNrZXJQcm94eVF0KHBhZ2UsIHdlYlZpZXcpKTsKKyAgICB9CisgICAgfldlYlRpbWVQ
aWNrZXJQcm94eVF0KCk7CisKKyAgICB2aXJ0dWFsIHZvaWQgc2hvdyhjb25zdCBXZWJDb3JlOjpE
YXRlQ29tcG9uZW50cyYsIGNvbnN0IFdlYkNvcmU6OkRhdGVDb21wb25lbnRzJiwgY29uc3QgV2Vi
Q29yZTo6RGF0ZUNvbXBvbmVudHMmKTsKKworcHVibGljIFFfU0xPVFM6CisgICAgdmlydHVhbCB2
b2lkIGhpZGUoKTsKKworcHJpdmF0ZSBRX1NMT1RTOgorICAgdm9pZCBvbkFjY2VwdGVkKGNvbnN0
IFFUaW1lJik7CisKK3ByaXZhdGU6CisgICAgV2ViVGltZVBpY2tlclByb3h5UXQoV2ViUGFnZVBy
b3h5KiwgUVF1aWNrV2ViVmlldyopOworICAgIHZvaWQgY3JlYXRlSXRlbShRT2JqZWN0Kik7Cisg
ICAgdm9pZCBjcmVhdGVDb250ZXh0KFFRbWxDb21wb25lbnQqLCBRT2JqZWN0Kik7CisKKyAgICBX
ZWJQYWdlUHJveHkqIG1fcGFnZTsKKyAgICBRUXVpY2tXZWJWaWV3KiBtX3dlYlZpZXc7CisgICAg
T3duUHRyPFFRbWxDb250ZXh0PiBtX2NvbnRleHQ7CisgICAgT3duUHRyPFFRdWlja0l0ZW0+IG1f
dGltZVBpY2tlcjsKKworfTsKKworfSAvLyBuYW1lc3BhY2UgV2ViS2l0CisKKyNlbmRpZiAvLyBX
ZWJUaW1lUGlja2VyUHJveHlRdF9oCg==
</data>

          </attachment>
          <attachment
              isobsolete="0"
              ispatch="1"
              isprivate="0"
          >
            <attachid>147456</attachid>
            <date>2012-06-13 18:06:17 -0700</date>
            <delta_ts>2012-06-13 18:06:17 -0700</delta_ts>
            <desc>Style fix</desc>
            <filename>88933.patch</filename>
            <type>text/plain</type>
            <size>19733</size>
            <attacher name="Dinu Jacob">dinu.jacob</attacher>
            
              <data encoding="base64">ZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJLaXQvcXQvQ2hhbmdlTG9nIGIvU291cmNlL1dlYktpdC9x
dC9DaGFuZ2VMb2cKaW5kZXggY2UyYTg5OS4uOThiZGQ2NSAxMDA2NDQKLS0tIGEvU291cmNlL1dl
YktpdC9xdC9DaGFuZ2VMb2cKKysrIGIvU291cmNlL1dlYktpdC9xdC9DaGFuZ2VMb2cKQEAgLTEs
MyArMSwyMCBAQAorMjAxMi0wNi0xMiAgRGludSBKYWNvYiAgPGRpbnUuamFjb2JAbm9raWEuY29t
PgorCisgICAgICAgIFtRdF1bV2syXSBTdXBwb3J0IGNsaWVudCB0aW1lIHBpY2tlciBkaWFsb2cK
KyAgICAgICAgaHR0cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hvd19idWcuY2dpP2lkPTg4OTMzCisK
KyAgICAgICAgUmV2aWV3ZWQgYnkgTk9CT0RZIChPT1BTISkuCisKKyAgICAgICAgQWRkZWQgZHVt
bXkgaW1wbGVtZW50YXRpb25zIGZvciBjcmVhdGVUaW1lQ2hvb3NlciBhbmQKKyAgICAgICAgc2V0
U2VsZWN0ZWRUaW1laW5UaW1lQ2hvb3NlciBBUElzLgorCisgICAgICAgICogV2ViQ29yZVN1cHBv
cnQvQ2hyb21lQ2xpZW50UXQuY3BwOgorICAgICAgICAoV2ViQ29yZSk6CisgICAgICAgIChXZWJD
b3JlOjpDaHJvbWVDbGllbnRRdDo6Y3JlYXRlVGltZUNob29zZXIpOgorICAgICAgICAoV2ViQ29y
ZTo6Q2hyb21lQ2xpZW50UXQ6OnNldFNlbGVjdGVkVGltZUluVGltZUNob29zZXIpOgorICAgICAg
ICAqIFdlYkNvcmVTdXBwb3J0L0Nocm9tZUNsaWVudFF0Lmg6CisgICAgICAgIChDaHJvbWVDbGll
bnRRdCk6CisKIDIwMTItMDYtMTEgIEthdXN0dWJoIEF0cmF3YWxrYXIgIDxrYXVzdHViaEBtb3Rv
cm9sYS5jb20+CiAKICAgICAgICAgW0RSVF0gTFRDOjogY291bnRlclZhbHVlRm9yRWxlbWVudEJ5
SWQoKSBjb3VsZCBiZSBtb3ZlZCB0byBJbnRlcm5hbHMuCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2Vi
S2l0L3F0L1dlYkNvcmVTdXBwb3J0L0Nocm9tZUNsaWVudFF0LmNwcCBiL1NvdXJjZS9XZWJLaXQv
cXQvV2ViQ29yZVN1cHBvcnQvQ2hyb21lQ2xpZW50UXQuY3BwCmluZGV4IGMxYjgxNmMuLmFlYzEx
ZjIgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJLaXQvcXQvV2ViQ29yZVN1cHBvcnQvQ2hyb21lQ2xp
ZW50UXQuY3BwCisrKyBiL1NvdXJjZS9XZWJLaXQvcXQvV2ViQ29yZVN1cHBvcnQvQ2hyb21lQ2xp
ZW50UXQuY3BwCkBAIC0zMiw2ICszMiw5IEBACiAKICNpbmNsdWRlICJBcHBsaWNhdGlvbkNhY2hl
U3RvcmFnZS5oIgogI2luY2x1ZGUgIkRhdGFiYXNlVHJhY2tlci5oIgorI2lmIEVOQUJMRShJTlBV
VF9UWVBFX1RJTUUpCisjaW5jbHVkZSAiRGF0ZUNvbXBvbmVudHMuaCIKKyNlbmRpZgogI2luY2x1
ZGUgIkRvY3VtZW50LmgiCiAjaW5jbHVkZSAiRmlsZUNob29zZXIuaCIKICNpbmNsdWRlICJGaWxl
SWNvbkxvYWRlci5oIgpAQCAtNTgsNiArNjEsOSBAQAogI2luY2x1ZGUgIlNjcm9sbGJhclRoZW1l
LmgiCiAjaW5jbHVkZSAiU2VhcmNoUG9wdXBNZW51UXQuaCIKICNpbmNsdWRlICJTZWN1cml0eU9y
aWdpbi5oIgorI2lmIEVOQUJMRShJTlBVVF9UWVBFX1RJTUUpCisjaW5jbHVkZSAiVGltZUNob29z
ZXIuaCIKKyNlbmRpZgogI2luY2x1ZGUgIlZpZXdwb3J0QXJndW1lbnRzLmgiCiAjaW5jbHVkZSAi
V2luZG93RmVhdHVyZXMuaCIKIApAQCAtNzM5LDQgKzc0NSwxNyBAQCB2b2lkIENocm9tZUNsaWVu
dFF0Ojpwb3B1bGF0ZVZpc2l0ZWRMaW5rcygpCiAgICAgfQogfQogCisjaWYgRU5BQkxFKElOUFVU
X1RZUEVfVElNRSkKK1Bhc3NPd25QdHI8V2ViQ29yZTo6VGltZUNob29zZXI+IENocm9tZUNsaWVu
dFF0OjpjcmVhdGVUaW1lQ2hvb3NlcihXZWJDb3JlOjpUaW1lQ2hvb3NlckNsaWVudCogY2xpZW50
LCBjb25zdCBXZWJDb3JlOjpEYXRlQ29tcG9uZW50cyYgaW5pdGlhbFRpbWUsIGNvbnN0IFdlYkNv
cmU6OkRhdGVDb21wb25lbnRzJiBtaW5UaW1lLCBjb25zdCBXZWJDb3JlOjpEYXRlQ29tcG9uZW50
cyYgbWF4VGltZSkKK3sKKyAgICBub3RJbXBsZW1lbnRlZCgpOworICAgIHJldHVybiBudWxscHRy
OworfQorCit2b2lkIENocm9tZUNsaWVudFF0OjpzZXRTZWxlY3RlZFRpbWVJblRpbWVDaG9vc2Vy
KGNvbnN0IFdlYkNvcmU6OkRhdGVDb21wb25lbnRzJikKK3sKKyAgICBub3RJbXBsZW1lbnRlZCgp
OworfQorI2VuZGlmCisKIH0gLy8gbmFtZXNwYWNlIFdlYkNvcmUKZGlmZiAtLWdpdCBhL1NvdXJj
ZS9XZWJLaXQvcXQvV2ViQ29yZVN1cHBvcnQvQ2hyb21lQ2xpZW50UXQuaCBiL1NvdXJjZS9XZWJL
aXQvcXQvV2ViQ29yZVN1cHBvcnQvQ2hyb21lQ2xpZW50UXQuaAppbmRleCA2YzI2MDE4Li5jZjMw
MDc2NyAxMDA2NDQKLS0tIGEvU291cmNlL1dlYktpdC9xdC9XZWJDb3JlU3VwcG9ydC9DaHJvbWVD
bGllbnRRdC5oCisrKyBiL1NvdXJjZS9XZWJLaXQvcXQvV2ViQ29yZVN1cHBvcnQvQ2hyb21lQ2xp
ZW50UXQuaApAQCAtMTgxLDYgKzE4MSwxMCBAQCBwdWJsaWM6CiAgICAgdmlydHVhbCB2b2lkIHBv
cHVsYXRlVmlzaXRlZExpbmtzKCk7CiAKICAgICBQYXNzT3duUHRyPFFXZWJTZWxlY3RNZXRob2Q+
IGNyZWF0ZVNlbGVjdFBvcHVwKCkgY29uc3Q7CisjaWYgRU5BQkxFKElOUFVUX1RZUEVfVElNRSkK
KyAgICB2aXJ0dWFsIFBhc3NPd25QdHI8VGltZUNob29zZXI+IGNyZWF0ZVRpbWVDaG9vc2VyKFRp
bWVDaG9vc2VyQ2xpZW50KiwgY29uc3QgV2ViQ29yZTo6RGF0ZUNvbXBvbmVudHMmLCBjb25zdCBX
ZWJDb3JlOjpEYXRlQ29tcG9uZW50cyYsIGNvbnN0IFdlYkNvcmU6OkRhdGVDb21wb25lbnRzJik7
CisgICAgdmlydHVhbCB2b2lkIHNldFNlbGVjdGVkVGltZUluVGltZUNob29zZXIoY29uc3QgV2Vi
Q29yZTo6RGF0ZUNvbXBvbmVudHMmKTsKKyNlbmRpZgogCiAgICAgdmlydHVhbCB2b2lkIGRpc3Bh
dGNoVmlld3BvcnRQcm9wZXJ0aWVzRGlkQ2hhbmdlKGNvbnN0IFZpZXdwb3J0QXJndW1lbnRzJikg
Y29uc3Q7CiAKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJLaXQyL0NoYW5nZUxvZyBiL1NvdXJjZS9X
ZWJLaXQyL0NoYW5nZUxvZwppbmRleCA5NDFhMGQ1Li41MTRlOGZkIDEwMDY0NAotLS0gYS9Tb3Vy
Y2UvV2ViS2l0Mi9DaGFuZ2VMb2cKKysrIGIvU291cmNlL1dlYktpdDIvQ2hhbmdlTG9nCkBAIC0x
LDMgKzEsNTAgQEAKKzIwMTItMDYtMTIgIERpbnUgSmFjb2IgIDxkaW51LmphY29iQG5va2lhLmNv
bT4KKworICAgICAgICBbUXRdW1drMl0gU3VwcG9ydCBjbGllbnQgdGltZSBwaWNrZXIgZGlhbG9n
CisgICAgICAgIGh0dHBzOi8vYnVncy53ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD04ODkzMwor
CisgICAgICAgIFJldmlld2VkIGJ5IE5PQk9EWSAoT09QUyEpLgorCisgICAgICAgIEFkZGVkIEFQ
SSB0aGF0IGFsbG93cyB0aGUgY2xpZW50IHRvIHNldCBhIGN1c3RvbQorICAgICAgICBkaWFsb2cg
Zm9yIHRpbWUgcGlja2VyLgorCisgICAgICAgICogVGFyZ2V0LnByaToKKyAgICAgICAgKiBVSVBy
b2Nlc3MvQVBJL3F0L3FxdWlja3dlYnZpZXcuY3BwOgorICAgICAgICAoUVF1aWNrV2ViVmlld1By
aXZhdGU6OlFRdWlja1dlYlZpZXdQcml2YXRlKToKKyAgICAgICAgKFFRdWlja1dlYlZpZXdFeHBl
cmltZW50YWw6OnRpbWVQaWNrZXJEaWFsb2cpOgorICAgICAgICAoUVF1aWNrV2ViVmlld0V4cGVy
aW1lbnRhbDo6c2V0VGltZVBpY2tlckRpYWxvZyk6CisgICAgICAgICogVUlQcm9jZXNzL0FQSS9x
dC9xcXVpY2t3ZWJ2aWV3X3AuaDoKKyAgICAgICAgKiBVSVByb2Nlc3MvQVBJL3F0L3FxdWlja3dl
YnZpZXdfcF9wLmg6CisgICAgICAgIChRUXVpY2tXZWJWaWV3UHJpdmF0ZSk6CisgICAgICAgICog
VUlQcm9jZXNzL3F0L1F0UGFnZUNsaWVudC5jcHA6CisgICAgICAgIChXZWJLaXQpOgorICAgICAg
ICAoV2ViS2l0OjpRdFBhZ2VDbGllbnQ6OmNyZWF0ZVRpbWVQaWNrZXJQcm94eSk6CisgICAgICAg
ICogVUlQcm9jZXNzL3F0L1F0UGFnZUNsaWVudC5oOgorICAgICAgICAoUXRQYWdlQ2xpZW50KToK
KyAgICAgICAgKiBVSVByb2Nlc3MvcXQvV2ViVGltZVBpY2tlclByb3h5UXQuY3BwOiBBZGRlZC4K
KyAgICAgICAgKFdlYktpdCk6CisgICAgICAgIChUaW1lUGlja2VyRGlhbG9nQ29udGV4dE9iamVj
dCk6CisgICAgICAgIChXZWJLaXQ6OlRpbWVQaWNrZXJEaWFsb2dDb250ZXh0T2JqZWN0OjpUaW1l
UGlja2VyRGlhbG9nQ29udGV4dE9iamVjdCk6CisgICAgICAgIChXZWJLaXQ6OlRpbWVQaWNrZXJE
aWFsb2dDb250ZXh0T2JqZWN0Ojpob3Vycyk6CisgICAgICAgIChXZWJLaXQ6OlRpbWVQaWNrZXJE
aWFsb2dDb250ZXh0T2JqZWN0OjptaW51dGVzKToKKyAgICAgICAgKFdlYktpdDo6VGltZVBpY2tl
ckRpYWxvZ0NvbnRleHRPYmplY3Q6Om1pbkhvdXJzKToKKyAgICAgICAgKFdlYktpdDo6VGltZVBp
Y2tlckRpYWxvZ0NvbnRleHRPYmplY3Q6Om1pbk1pbnV0ZXMpOgorICAgICAgICAoV2ViS2l0OjpU
aW1lUGlja2VyRGlhbG9nQ29udGV4dE9iamVjdDo6bWF4SG91cnMpOgorICAgICAgICAoV2ViS2l0
OjpUaW1lUGlja2VyRGlhbG9nQ29udGV4dE9iamVjdDo6bWF4TWludXRlcyk6CisgICAgICAgIChX
ZWJLaXQ6OlRpbWVQaWNrZXJEaWFsb2dDb250ZXh0T2JqZWN0OjphY2NlcHQpOgorICAgICAgICAo
V2ViS2l0OjpUaW1lUGlja2VyRGlhbG9nQ29udGV4dE9iamVjdDo6cmVqZWN0KToKKyAgICAgICAg
KFdlYktpdDo6V2ViVGltZVBpY2tlclByb3h5UXQ6OldlYlRpbWVQaWNrZXJQcm94eVF0KToKKyAg
ICAgICAgKFdlYktpdDo6V2ViVGltZVBpY2tlclByb3h5UXQ6On5XZWJUaW1lUGlja2VyUHJveHlR
dCk6CisgICAgICAgIChXZWJLaXQ6OldlYlRpbWVQaWNrZXJQcm94eVF0OjpzaG93KToKKyAgICAg
ICAgKFdlYktpdDo6V2ViVGltZVBpY2tlclByb3h5UXQ6OmNyZWF0ZUl0ZW0pOgorICAgICAgICAo
V2ViS2l0OjpXZWJUaW1lUGlja2VyUHJveHlRdDo6Y3JlYXRlQ29udGV4dCk6CisgICAgICAgIChX
ZWJLaXQ6OldlYlRpbWVQaWNrZXJQcm94eVF0OjpoaWRlKToKKyAgICAgICAgKFdlYktpdDo6V2Vi
VGltZVBpY2tlclByb3h5UXQ6Om9uQWNjZXB0ZWQpOgorICAgICAgICAqIFVJUHJvY2Vzcy9xdC9X
ZWJUaW1lUGlja2VyUHJveHlRdC5oOiBBZGRlZC4KKyAgICAgICAgKFdlYktpdCk6CisgICAgICAg
IChXZWJUaW1lUGlja2VyUHJveHlRdCk6CisgICAgICAgIChXZWJLaXQ6OldlYlRpbWVQaWNrZXJQ
cm94eVF0OjpjcmVhdGUpOgorCiAyMDEyLTA2LTEyICBLZW5uZXRoIFJvaGRlIENocmlzdGlhbnNl
biAgPGtlbm5ldGhAd2Via2l0Lm9yZz4KIAogICAgICAgICBVbnJldmlld2VkIGJ1aWxkIGZpeC4K
ZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJLaXQyL1RhcmdldC5wcmkgYi9Tb3VyY2UvV2ViS2l0Mi9U
YXJnZXQucHJpCmluZGV4IDNjYmU5MWYuLjQ4YmU1YmUgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJL
aXQyL1RhcmdldC5wcmkKKysrIGIvU291cmNlL1dlYktpdDIvVGFyZ2V0LnByaQpAQCAtNzk4LDYg
Kzc5OCwxNCBAQCBjb250YWlucyhERUZJTkVTLCBFTkFCTEVfVE9VQ0hfRVZFTlRTPTEpIHsKIAog
Y29udGFpbnMoREVGSU5FUywgRU5BQkxFX0dFT0xPQ0FUSU9OPTEpOiBRVCArPSBsb2NhdGlvbgog
Citjb250YWlucyhERUZJTkVTLCBFTkFCTEVfSU5QVVRfVFlQRV9USU1FPTEpIHsKKyAgICBIRUFE
RVJTICs9IFwKKyAgICAgICAgVUlQcm9jZXNzL3F0L1dlYlRpbWVQaWNrZXJQcm94eVF0LmgKKwor
ICAgIFNPVVJDRVMgKz0gXAorICAgICAgICBVSVByb2Nlc3MvcXQvV2ViVGltZVBpY2tlclByb3h5
UXQuY3BwCit9CisKIHBsdWdpbl9iYWNrZW5kX3hsaWIgewogICAgIERFRklORVMgKz0gWFBfVU5J
WAogICAgIFBLR0NPTkZJRyArPSB4MTEKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJLaXQyL1VJUHJv
Y2Vzcy9BUEkvcXQvcXF1aWNrd2Vidmlldy5jcHAgYi9Tb3VyY2UvV2ViS2l0Mi9VSVByb2Nlc3Mv
QVBJL3F0L3FxdWlja3dlYnZpZXcuY3BwCmluZGV4IDliZGQ2MzguLjJiOWU3MWMgMTAwNjQ0Ci0t
LSBhL1NvdXJjZS9XZWJLaXQyL1VJUHJvY2Vzcy9BUEkvcXQvcXF1aWNrd2Vidmlldy5jcHAKKysr
IGIvU291cmNlL1dlYktpdDIvVUlQcm9jZXNzL0FQSS9xdC9xcXVpY2t3ZWJ2aWV3LmNwcApAQCAt
MjY0LDYgKzI2NCw3IEBAIFFRdWlja1dlYlZpZXdQcml2YXRlOjpRUXVpY2tXZWJWaWV3UHJpdmF0
ZShRUXVpY2tXZWJWaWV3KiB2aWV3cG9ydCkKICAgICAsIHByb3h5QXV0aGVudGljYXRpb25EaWFs
b2coMCkKICAgICAsIGZpbGVQaWNrZXIoMCkKICAgICAsIGRhdGFiYXNlUXVvdGFEaWFsb2coMCkK
KyAgICAsIHRpbWVQaWNrZXJEaWFsb2coMCkKICAgICAsIG1fdXNlRGVmYXVsdENvbnRlbnRJdGVt
U2l6ZSh0cnVlKQogICAgICwgbV9uYXZpZ2F0b3JRdE9iamVjdEVuYWJsZWQoZmFsc2UpCiAgICAg
LCBtX3JlbmRlclRvT2Zmc2NyZWVuQnVmZmVyKGZhbHNlKQpAQCAtMTE0NCw2ICsxMTQ1LDIxIEBA
IHZvaWQgUVF1aWNrV2ViVmlld0V4cGVyaW1lbnRhbDo6c2V0RGF0YWJhc2VRdW90YURpYWxvZyhR
UW1sQ29tcG9uZW50KiBkYXRhYmFzZVF1CiAgICAgZW1pdCBkYXRhYmFzZVF1b3RhRGlhbG9nQ2hh
bmdlZCgpOwogfQogCitRUW1sQ29tcG9uZW50KiBRUXVpY2tXZWJWaWV3RXhwZXJpbWVudGFsOjp0
aW1lUGlja2VyRGlhbG9nKCkgY29uc3QKK3sKKyAgICBRX0QoY29uc3QgUVF1aWNrV2ViVmlldyk7
CisgICAgcmV0dXJuIGQtPnRpbWVQaWNrZXJEaWFsb2c7Cit9CisKK3ZvaWQgUVF1aWNrV2ViVmll
d0V4cGVyaW1lbnRhbDo6c2V0VGltZVBpY2tlckRpYWxvZyhRUW1sQ29tcG9uZW50KiB0aW1lUGlj
a2VyRGlhbG9nKQoreworICAgIFFfRChRUXVpY2tXZWJWaWV3KTsKKyAgICBpZiAoZC0+dGltZVBp
Y2tlckRpYWxvZyA9PSB0aW1lUGlja2VyRGlhbG9nKQorICAgICAgICByZXR1cm47CisgICAgZC0+
dGltZVBpY2tlckRpYWxvZyA9IHRpbWVQaWNrZXJEaWFsb2c7CisgICAgZW1pdCB0aW1lUGlja2Vy
RGlhbG9nQ2hhbmdlZCgpOworfQorCiBRU3RyaW5nIFFRdWlja1dlYlZpZXdFeHBlcmltZW50YWw6
OnVzZXJBZ2VudCgpIGNvbnN0CiB7CiAgICAgUV9EKGNvbnN0IFFRdWlja1dlYlZpZXcpOwpkaWZm
IC0tZ2l0IGEvU291cmNlL1dlYktpdDIvVUlQcm9jZXNzL0FQSS9xdC9xcXVpY2t3ZWJ2aWV3X3Au
aCBiL1NvdXJjZS9XZWJLaXQyL1VJUHJvY2Vzcy9BUEkvcXQvcXF1aWNrd2Vidmlld19wLmgKaW5k
ZXggMGYyZWY0Mi4uZjQ3NDQ4MiAxMDA2NDQKLS0tIGEvU291cmNlL1dlYktpdDIvVUlQcm9jZXNz
L0FQSS9xdC9xcXVpY2t3ZWJ2aWV3X3AuaAorKysgYi9Tb3VyY2UvV2ViS2l0Mi9VSVByb2Nlc3Mv
QVBJL3F0L3FxdWlja3dlYnZpZXdfcC5oCkBAIC0yNjUsNiArMjY1LDcgQEAgY2xhc3MgUVdFQktJ
VF9FWFBPUlQgUVF1aWNrV2ViVmlld0V4cGVyaW1lbnRhbCA6IHB1YmxpYyBRT2JqZWN0IHsKICAg
ICBRX1BST1BFUlRZKFFRbWxDb21wb25lbnQqIGl0ZW1TZWxlY3RvciBSRUFEIGl0ZW1TZWxlY3Rv
ciBXUklURSBzZXRJdGVtU2VsZWN0b3IgTk9USUZZIGl0ZW1TZWxlY3RvckNoYW5nZWQpCiAgICAg
UV9QUk9QRVJUWShRUW1sQ29tcG9uZW50KiBmaWxlUGlja2VyIFJFQUQgZmlsZVBpY2tlciBXUklU
RSBzZXRGaWxlUGlja2VyIE5PVElGWSBmaWxlUGlja2VyQ2hhbmdlZCkKICAgICBRX1BST1BFUlRZ
KFFRbWxDb21wb25lbnQqIGRhdGFiYXNlUXVvdGFEaWFsb2cgUkVBRCBkYXRhYmFzZVF1b3RhRGlh
bG9nIFdSSVRFIHNldERhdGFiYXNlUXVvdGFEaWFsb2cgTk9USUZZIGRhdGFiYXNlUXVvdGFEaWFs
b2dDaGFuZ2VkKQorICAgIFFfUFJPUEVSVFkoUVFtbENvbXBvbmVudCogdGltZVBpY2tlckRpYWxv
ZyBSRUFEIHRpbWVQaWNrZXJEaWFsb2cgV1JJVEUgc2V0VGltZVBpY2tlckRpYWxvZyBOT1RJRlkg
dGltZVBpY2tlckRpYWxvZ0NoYW5nZWQpCiAKICAgICBRX1BST1BFUlRZKFFXZWJQcmVmZXJlbmNl
cyogcHJlZmVyZW5jZXMgUkVBRCBwcmVmZXJlbmNlcyBDT05TVEFOVCBGSU5BTCkKICAgICBRX1BS
T1BFUlRZKFFXZWJLaXRUZXN0KiB0ZXN0IFJFQUQgdGVzdCBDT05TVEFOVCBGSU5BTCkKQEAgLTI5
OSw2ICszMDAsOSBAQCBwdWJsaWM6CiAgICAgdm9pZCBzZXRGaWxlUGlja2VyKFFRbWxDb21wb25l
bnQqKTsKICAgICBRUW1sQ29tcG9uZW50KiBkYXRhYmFzZVF1b3RhRGlhbG9nKCkgY29uc3Q7CiAg
ICAgdm9pZCBzZXREYXRhYmFzZVF1b3RhRGlhbG9nKFFRbWxDb21wb25lbnQqKTsKKyAgICBRUW1s
Q29tcG9uZW50KiB0aW1lUGlja2VyRGlhbG9nKCkgY29uc3Q7CisgICAgdm9pZCBzZXRUaW1lUGlj
a2VyRGlhbG9nKFFRbWxDb21wb25lbnQqKTsKKwogICAgIFFTdHJpbmcgdXNlckFnZW50KCkgY29u
c3Q7CiAgICAgdm9pZCBzZXRVc2VyQWdlbnQoY29uc3QgUVN0cmluZyYgdXNlckFnZW50KTsKICAg
ICBpbnQgZGV2aWNlV2lkdGgoKSBjb25zdDsKQEAgLTM1OCw2ICszNjIsNyBAQCBRX1NJR05BTFM6
CiAgICAgdm9pZCBwZXJtaXNzaW9uUmVxdWVzdGVkKFFXZWJQZXJtaXNzaW9uUmVxdWVzdCogcGVy
bWlzc2lvbik7CiAgICAgdm9pZCBtZXNzYWdlUmVjZWl2ZWQoY29uc3QgUVZhcmlhbnRNYXAmIG1l
c3NhZ2UpOwogICAgIHZvaWQgcHJveHlBdXRoZW50aWNhdGlvbkRpYWxvZ0NoYW5nZWQoKTsKKyAg
ICB2b2lkIHRpbWVQaWNrZXJEaWFsb2dDaGFuZ2VkKCk7CiAgICAgdm9pZCB1c2VyQWdlbnRDaGFu
Z2VkKCk7CiAgICAgdm9pZCBkZXZpY2VXaWR0aENoYW5nZWQoKTsKICAgICB2b2lkIGRldmljZUhl
aWdodENoYW5nZWQoKTsKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJLaXQyL1VJUHJvY2Vzcy9BUEkv
cXQvcXF1aWNrd2Vidmlld19wX3AuaCBiL1NvdXJjZS9XZWJLaXQyL1VJUHJvY2Vzcy9BUEkvcXQv
cXF1aWNrd2Vidmlld19wX3AuaAppbmRleCBjNTUzNWEzLi5mMTkwMGE2IDEwMDY0NAotLS0gYS9T
b3VyY2UvV2ViS2l0Mi9VSVByb2Nlc3MvQVBJL3F0L3FxdWlja3dlYnZpZXdfcF9wLmgKKysrIGIv
U291cmNlL1dlYktpdDIvVUlQcm9jZXNzL0FQSS9xdC9xcXVpY2t3ZWJ2aWV3X3BfcC5oCkBAIC0x
ODUsNiArMTg1LDcgQEAgcHJvdGVjdGVkOgogICAgIFFRbWxDb21wb25lbnQqIHByb3h5QXV0aGVu
dGljYXRpb25EaWFsb2c7CiAgICAgUVFtbENvbXBvbmVudCogZmlsZVBpY2tlcjsKICAgICBRUW1s
Q29tcG9uZW50KiBkYXRhYmFzZVF1b3RhRGlhbG9nOworICAgIFFRbWxDb21wb25lbnQqIHRpbWVQ
aWNrZXJEaWFsb2c7CiAKICAgICBRTGlzdDxRVXJsPiB1c2VyU2NyaXB0czsKIApkaWZmIC0tZ2l0
IGEvU291cmNlL1dlYktpdDIvVUlQcm9jZXNzL3F0L1F0UGFnZUNsaWVudC5jcHAgYi9Tb3VyY2Uv
V2ViS2l0Mi9VSVByb2Nlc3MvcXQvUXRQYWdlQ2xpZW50LmNwcAppbmRleCA4ZTlhYjJlLi40OGFl
N2M0IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViS2l0Mi9VSVByb2Nlc3MvcXQvUXRQYWdlQ2xpZW50
LmNwcAorKysgYi9Tb3VyY2UvV2ViS2l0Mi9VSVByb2Nlc3MvcXQvUXRQYWdlQ2xpZW50LmNwcApA
QCAtMjksNiArMjksOSBAQAogI2luY2x1ZGUgIldlYkNvbnRleHRNZW51UHJveHlRdC5oIgogI2lu
Y2x1ZGUgIldlYkVkaXRDb21tYW5kUHJveHkuaCIKICNpbmNsdWRlICJXZWJQb3B1cE1lbnVQcm94
eVF0LmgiCisjaWYgRU5BQkxFKElOUFVUX1RZUEVfVElNRSkKKyNpbmNsdWRlICJXZWJUaW1lUGlj
a2VyUHJveHlRdC5oIgorI2VuZGlmCiAjaW5jbHVkZSAicXF1aWNrd2Vidmlld19wLmgiCiAjaW5j
bHVkZSAicXF1aWNrd2Vidmlld19wX3AuaCIKICNpbmNsdWRlIDxRR3VpQXBwbGljYXRpb24+CkBA
IC0yMDUsNiArMjA4LDEzIEBAIFBhc3NSZWZQdHI8V2ViQ29udGV4dE1lbnVQcm94eT4gUXRQYWdl
Q2xpZW50OjpjcmVhdGVDb250ZXh0TWVudVByb3h5KFdlYlBhZ2VQcm94CiAgICAgcmV0dXJuIFdl
YkNvbnRleHRNZW51UHJveHlRdDo6Y3JlYXRlKHdlYlBhZ2VQcm94eSk7CiB9CiAKKyNpZiBFTkFC
TEUoSU5QVVRfVFlQRV9USU1FKQorUGFzc1JlZlB0cjxXZWJUaW1lUGlja2VyUHJveHk+IFF0UGFn
ZUNsaWVudDo6Y3JlYXRlVGltZVBpY2tlclByb3h5KFdlYlBhZ2VQcm94eSogd2ViUGFnZVByb3h5
KQoreworICAgIHJldHVybiBXZWJUaW1lUGlja2VyUHJveHlRdDo6Y3JlYXRlKHdlYlBhZ2VQcm94
eSwgbV93ZWJWaWV3KTsKK30KKyNlbmRpZgorCiB2b2lkIFF0UGFnZUNsaWVudDo6Zmxhc2hCYWNr
aW5nU3RvcmVVcGRhdGVzKGNvbnN0IFZlY3RvcjxJbnRSZWN0PiYpCiB7CiAgICAgbm90SW1wbGVt
ZW50ZWQoKTsKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJLaXQyL1VJUHJvY2Vzcy9xdC9RdFBhZ2VD
bGllbnQuaCBiL1NvdXJjZS9XZWJLaXQyL1VJUHJvY2Vzcy9xdC9RdFBhZ2VDbGllbnQuaAppbmRl
eCBlMzNkYWRmLi5kMTQ1NDIzIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViS2l0Mi9VSVByb2Nlc3Mv
cXQvUXRQYWdlQ2xpZW50LmgKKysrIGIvU291cmNlL1dlYktpdDIvVUlQcm9jZXNzL3F0L1F0UGFn
ZUNsaWVudC5oCkBAIC04Niw2ICs4Niw5IEBAIHB1YmxpYzoKICAgICB2aXJ0dWFsIHZvaWQgZG9u
ZVdpdGhLZXlFdmVudChjb25zdCBOYXRpdmVXZWJLZXlib2FyZEV2ZW50JiwgYm9vbCB3YXNFdmVu
dEhhbmRsZWQpIHsgfQogICAgIHZpcnR1YWwgUGFzc1JlZlB0cjxXZWJQb3B1cE1lbnVQcm94eT4g
Y3JlYXRlUG9wdXBNZW51UHJveHkoV2ViUGFnZVByb3h5Kik7CiAgICAgdmlydHVhbCBQYXNzUmVm
UHRyPFdlYkNvbnRleHRNZW51UHJveHk+IGNyZWF0ZUNvbnRleHRNZW51UHJveHkoV2ViUGFnZVBy
b3h5Kik7CisjaWYgRU5BQkxFKElOUFVUX1RZUEVfVElNRSkKKyAgICB2aXJ0dWFsIFBhc3NSZWZQ
dHI8V2ViS2l0OjpXZWJUaW1lUGlja2VyUHJveHk+IGNyZWF0ZVRpbWVQaWNrZXJQcm94eShXZWJL
aXQ6OldlYlBhZ2VQcm94eSopOworI2VuZGlmCiAgICAgdmlydHVhbCB2b2lkIHNldEZpbmRJbmRp
Y2F0b3IoUGFzc1JlZlB0cjxGaW5kSW5kaWNhdG9yPiwgYm9vbCBmYWRlT3V0LCBib29sIGFuaW1h
dGUpIHsgfQogICAgIHZpcnR1YWwgdm9pZCBkaWRDb21taXRMb2FkRm9yTWFpbkZyYW1lKGJvb2wg
dXNlQ3VzdG9tUmVwcmVzZW50YXRpb24pIHsgfQogICAgIHZpcnR1YWwgdm9pZCBkaWRGaW5pc2hM
b2FkaW5nRGF0YUZvckN1c3RvbVJlcHJlc2VudGF0aW9uKGNvbnN0IFN0cmluZyYgc3VnZ2VzdGVk
RmlsZW5hbWUsIGNvbnN0IENvcmVJUEM6OkRhdGFSZWZlcmVuY2UmKSB7IH0KZGlmZiAtLWdpdCBh
L1NvdXJjZS9XZWJLaXQyL1VJUHJvY2Vzcy9xdC9XZWJUaW1lUGlja2VyUHJveHlRdC5jcHAgYi9T
b3VyY2UvV2ViS2l0Mi9VSVByb2Nlc3MvcXQvV2ViVGltZVBpY2tlclByb3h5UXQuY3BwCm5ldyBm
aWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLjM4NGIzNjcKLS0tIC9kZXYvbnVsbAorKysg
Yi9Tb3VyY2UvV2ViS2l0Mi9VSVByb2Nlc3MvcXQvV2ViVGltZVBpY2tlclByb3h5UXQuY3BwCkBA
IC0wLDAgKzEsMTg4IEBACisvKgorICogQ29weXJpZ2h0IChDKSAyMDEyIE5va2lhIENvcnBvcmF0
aW9uIGFuZC9vciBpdHMgc3Vic2lkaWFyeSgtaWVzKS4KKyAqCisgKiBUaGlzIGxpYnJhcnkgaXMg
ZnJlZSBzb2Z0d2FyZTsgeW91IGNhbiByZWRpc3RyaWJ1dGUgaXQgYW5kL29yCisgKiBtb2RpZnkg
aXQgdW5kZXIgdGhlIHRlcm1zIG9mIHRoZSBHTlUgTGlicmFyeSBHZW5lcmFsIFB1YmxpYworICog
TGljZW5zZSBhcyBwdWJsaXNoZWQgYnkgdGhlIEZyZWUgU29mdHdhcmUgRm91bmRhdGlvbjsgZWl0
aGVyCisgKiB2ZXJzaW9uIDIgb2YgdGhlIExpY2Vuc2UsIG9yIChhdCB5b3VyIG9wdGlvbikgYW55
IGxhdGVyIHZlcnNpb24uCisgKgorICogVGhpcyBsaWJyYXJ5IGlzIGRpc3RyaWJ1dGVkIGluIHRo
ZSBob3BlIHRoYXQgaXQgd2lsbCBiZSB1c2VmdWwsCisgKiBidXQgV0lUSE9VVCBBTlkgV0FSUkFO
VFk7IHdpdGhvdXQgZXZlbiB0aGUgaW1wbGllZCB3YXJyYW50eSBvZgorICogTUVSQ0hBTlRBQklM
SVRZIG9yIEZJVE5FU1MgRk9SIEEgUEFSVElDVUxBUiBQVVJQT1NFLiAgU2VlIHRoZSBHTlUKKyAq
IExpYnJhcnkgR2VuZXJhbCBQdWJsaWMgTGljZW5zZSBmb3IgbW9yZSBkZXRhaWxzLgorICoKKyAq
IFlvdSBzaG91bGQgaGF2ZSByZWNlaXZlZCBhIGNvcHkgb2YgdGhlIEdOVSBMaWJyYXJ5IEdlbmVy
YWwgUHVibGljIExpY2Vuc2UKKyAqIGFsb25nIHdpdGggdGhpcyBsaWJyYXJ5OyBzZWUgdGhlIGZp
bGUgQ09QWUlORy5MSUIuICBJZiBub3QsIHdyaXRlIHRvCisgKiB0aGUgRnJlZSBTb2Z0d2FyZSBG
b3VuZGF0aW9uLCBJbmMuLCA1MSBGcmFua2xpbiBTdHJlZXQsIEZpZnRoIEZsb29yLAorICogQm9z
dG9uLCBNQSAwMjExMC0xMzAxLCBVU0EuCisgKgorICovCisKKyNpbmNsdWRlICJjb25maWcuaCIK
KyNpbmNsdWRlICJXZWJUaW1lUGlja2VyUHJveHlRdC5oIgorCisjaW5jbHVkZSAiV2ViUGFnZVBy
b3h5LmgiCisjaW5jbHVkZSAicXF1aWNrd2Vidmlld19wLmgiCisjaW5jbHVkZSAicXF1aWNrd2Vi
dmlld19wX3AuaCIKKyNpbmNsdWRlIDxRdENvcmUvUUFic3RyYWN0TGlzdE1vZGVsPgorI2luY2x1
ZGUgPFF0UW1sL1FRbWxDb250ZXh0PgorI2luY2x1ZGUgPFF0UW1sL1FRbWxFbmdpbmU+CisjaW5j
bHVkZSA8V2ViQ29yZS9EYXRlQ29tcG9uZW50cy5oPgorCit1c2luZyBuYW1lc3BhY2UgV2ViQ29y
ZTsKKworbmFtZXNwYWNlIFdlYktpdCB7CisKK2NsYXNzIFRpbWVQaWNrZXJEaWFsb2dDb250ZXh0
T2JqZWN0IDogcHVibGljIFFPYmplY3QgeworICAgIFFfT0JKRUNUCisgICAgUV9QUk9QRVJUWShp
bnQgaG91cnMgUkVBRCBob3VycyBDT05TVEFOVCkKKyAgICBRX1BST1BFUlRZKGludCBtaW51dGVz
IFJFQUQgbWludXRlcyBDT05TVEFOVCkKKyAgICBRX1BST1BFUlRZKGludCBtaW5Ib3VycyBSRUFE
IG1pbkhvdXJzIENPTlNUQU5UKQorICAgIFFfUFJPUEVSVFkoaW50IG1pbk1pbnV0ZXMgUkVBRCBt
aW5NaW51dGVzIENPTlNUQU5UKQorICAgIFFfUFJPUEVSVFkoaW50IG1heEhvdXJzIFJFQUQgbWF4
SG91cnMgQ09OU1RBTlQpCisgICAgUV9QUk9QRVJUWShpbnQgbWF4TWludXRlcyBSRUFEIG1heE1p
bnV0ZXMgQ09OU1RBTlQpCisKK3B1YmxpYzoKKyAgICBUaW1lUGlja2VyRGlhbG9nQ29udGV4dE9i
amVjdChjb25zdCBRVGltZSYgaW5pdGlhbFRpbWUsIGNvbnN0IFFUaW1lJiBtaW5UaW1lLCBjb25z
dCBRVGltZSYgbWF4VGltZSkKKyAgICAgICAgOiBRT2JqZWN0KCkKKyAgICAgICAgLCBtX2luaXRp
YWxUaW1lKGluaXRpYWxUaW1lKQorICAgICAgICAsIG1fbWluVGltZShtaW5UaW1lKQorICAgICAg
ICAsIG1fbWF4VGltZShtYXhUaW1lKQorICAgIHsKKyAgICB9CisKKyAgICBpbnQgaG91cnMoKSBj
b25zdCB7IHJldHVybiBtX2luaXRpYWxUaW1lLmhvdXIoKTsgfQorICAgIGludCBtaW51dGVzKCkg
Y29uc3QgeyByZXR1cm4gbV9pbml0aWFsVGltZS5taW51dGUoKTsgfQorICAgIGludCBtaW5Ib3Vy
cygpIGNvbnN0IHsgcmV0dXJuIG1fbWluVGltZS5ob3VyKCk7IH0KKyAgICBpbnQgbWluTWludXRl
cygpIGNvbnN0IHsgcmV0dXJuIG1fbWluVGltZS5taW51dGUoKTsgfQorICAgIGludCBtYXhIb3Vy
cygpIGNvbnN0IHsgcmV0dXJuIG1fbWF4VGltZS5ob3VyKCk7IH0KKyAgICBpbnQgbWF4TWludXRl
cygpIGNvbnN0IHsgcmV0dXJuIG1fbWF4VGltZS5taW51dGUoKTsgfQorCitwdWJsaWMgc2xvdHM6
CisgICAgdm9pZCBhY2NlcHQoY29uc3QgaW50JiBob3VycywgY29uc3QgaW50JiBtaW51dGVzKSB7
IGVtaXQgYWNjZXB0ZWQoUVRpbWUoaG91cnMsIG1pbnV0ZXMpKTsgfQorICAgIHZvaWQgcmVqZWN0
KCkgeyBlbWl0IHJlamVjdGVkKCk7IH0KKworc2lnbmFsczoKKyAgICB2b2lkIGFjY2VwdGVkKGNv
bnN0IFFUaW1lJik7CisgICAgdm9pZCByZWplY3RlZCgpOworCitwcml2YXRlOgorICAgIFFUaW1l
IG1faW5pdGlhbFRpbWU7CisgICAgUVRpbWUgbV9taW5UaW1lOworICAgIFFUaW1lIG1fbWF4VGlt
ZTsKK307CisKK1dlYlRpbWVQaWNrZXJQcm94eVF0OjpXZWJUaW1lUGlja2VyUHJveHlRdChXZWJQ
YWdlUHJveHkqIHBhZ2UsIFFRdWlja1dlYlZpZXcqIHdlYlZpZXcpCisgICAgOiBXZWJUaW1lUGlj
a2VyUHJveHkoKQorICAgICwgbV9wYWdlKHBhZ2UpCisgICAgLCBtX3dlYlZpZXcod2ViVmlldykK
K3sKK30KKworV2ViVGltZVBpY2tlclByb3h5UXQ6On5XZWJUaW1lUGlja2VyUHJveHlRdCgpCit7
Cit9CisKK3ZvaWQgV2ViVGltZVBpY2tlclByb3h5UXQ6OnNob3coY29uc3QgRGF0ZUNvbXBvbmVu
dHMmIGluaXRpYWxUaW1lLCBjb25zdCBEYXRlQ29tcG9uZW50cyYgbWluVGltZSwgY29uc3QgRGF0
ZUNvbXBvbmVudHMmIG1heFRpbWUpCit7CisgICAgUVRpbWUgbWluUVRpbWU7CisgICAgUVRpbWUg
bWF4UVRpbWU7CisKKyAgICBpZiAobWluVGltZS50eXBlKCkgIT0gRGF0ZUNvbXBvbmVudHM6Oklu
dmFsaWQpCisgICAgICAgIG1pblFUaW1lLnNldEhNUyhtaW5UaW1lLmhvdXIoKSwgbWluVGltZS5t
aW51dGUoKSwgbWluVGltZS5zZWNvbmQoKSwgbWluVGltZS5taWxsaXNlY29uZCgpKTsKKworICAg
IGlmIChtYXhUaW1lLnR5cGUoKSAhPSBEYXRlQ29tcG9uZW50czo6SW52YWxpZCkKKyAgICAgICAg
bWF4UVRpbWUuc2V0SE1TKG1heFRpbWUuaG91cigpLCBtYXhUaW1lLm1pbnV0ZSgpLCBtYXhUaW1l
LnNlY29uZCgpLCBtYXhUaW1lLm1pbGxpc2Vjb25kKCkpOworCisgICAgaWYgKCFtaW5RVGltZS5p
c1ZhbGlkKCkpCisgICAgICAgIG1pblFUaW1lLnNldEhNUygwLCAwLCAwKTsKKworICAgIGlmICgh
bWF4UVRpbWUuaXNWYWxpZCgpKQorICAgICAgICBtYXhRVGltZS5zZXRITVMoMjMsIDU5LCA1OSk7
CisKKyAgICBUaW1lUGlja2VyRGlhbG9nQ29udGV4dE9iamVjdCogY29udGV4dE9iamVjdCA9IG5l
dyBUaW1lUGlja2VyRGlhbG9nQ29udGV4dE9iamVjdChRVGltZShpbml0aWFsVGltZS5ob3VyKCks
IGluaXRpYWxUaW1lLm1pbnV0ZSgpLCBpbml0aWFsVGltZS5zZWNvbmQoKSksIG1pblFUaW1lLCBt
YXhRVGltZSk7CisgICAgY3JlYXRlSXRlbShjb250ZXh0T2JqZWN0KTsKKyAgICBpZiAoIW1fdGlt
ZVBpY2tlcikgeworICAgICAgICBoaWRlKCk7CisgICAgICAgIHJldHVybjsKKyAgICB9CisKKyAg
ICBjb25uZWN0KGNvbnRleHRPYmplY3QsIFNJR05BTChhY2NlcHRlZChjb25zdCBRVGltZSYpKSwg
U0xPVChvbkFjY2VwdGVkKGNvbnN0IFFUaW1lJikpLCBRdDo6UXVldWVkQ29ubmVjdGlvbik7Cisg
ICAgY29ubmVjdChjb250ZXh0T2JqZWN0LCBTSUdOQUwocmVqZWN0ZWQoKSksIFNMT1QoaGlkZSgp
KSwgUXQ6OlF1ZXVlZENvbm5lY3Rpb24pOworICAgIG1fdGltZVBpY2tlci0+c2V0UGFyZW50SXRl
bShtX3dlYlZpZXcpOworCisgICAgUVF1aWNrV2ViVmlld1ByaXZhdGU6OmdldChtX3dlYlZpZXcp
LT5zZXREaWFsb2dBY3RpdmUodHJ1ZSk7CisKK30KKwordm9pZCBXZWJUaW1lUGlja2VyUHJveHlR
dDo6Y3JlYXRlSXRlbShRT2JqZWN0KiBjb250ZXh0T2JqZWN0KQoreworICAgIFFRbWxDb21wb25l
bnQqIGNvbXBvbmVudCA9IG1fd2ViVmlldy0+ZXhwZXJpbWVudGFsKCktPnRpbWVQaWNrZXJEaWFs
b2coKTsKKyAgICBpZiAoIWNvbXBvbmVudCkgeworICAgICAgICBkZWxldGUgY29udGV4dE9iamVj
dDsKKyAgICAgICAgcmV0dXJuOworICAgIH0KKworICAgIGNyZWF0ZUNvbnRleHQoY29tcG9uZW50
LCBjb250ZXh0T2JqZWN0KTsKKyAgICBRT2JqZWN0KiBvYmplY3QgPSBjb21wb25lbnQtPmJlZ2lu
Q3JlYXRlKG1fY29udGV4dC5nZXQoKSk7CisgICAgaWYgKCFvYmplY3QpIHsKKyAgICAgICAgbV9j
b250ZXh0LmNsZWFyKCk7CisgICAgICAgIHJldHVybjsKKyAgICB9CisKKyAgICBtX3RpbWVQaWNr
ZXIgPSBhZG9wdFB0cihxb2JqZWN0X2Nhc3Q8UVF1aWNrSXRlbSo+KG9iamVjdCkpOworICAgIGlm
ICghbV90aW1lUGlja2VyKSB7CisgICAgICAgIG1fY29udGV4dC5jbGVhcigpOworICAgICAgICBt
X3RpbWVQaWNrZXIuY2xlYXIoKTsKKyAgICAgICAgcmV0dXJuOworICAgIH0KKworICAgIFFRdWlj
a1dlYlZpZXdQcml2YXRlOjpnZXQobV93ZWJWaWV3KS0+YWRkQXR0YWNoZWRQcm9wZXJ0eVRvKG1f
dGltZVBpY2tlci5nZXQoKSk7CisKKyAgICAvLyBPbmx5IGZ1bGx5IGNyZWF0ZSB0aGUgY29tcG9u
ZW50IG9uY2Ugd2UndmUgc2V0IGJvdGggYSBwYXJlbnQKKyAgICAvLyBhbmQgdGhlIG5lZWRlZCBj
b250ZXh0IGFuZCBhdHRhY2hlZCBwcm9wZXJ0aWVzLCBzbyB0aGF0IHRoZQorICAgIC8vIGRpYWxv
ZyBjYW4gZG8gdXNlZnVsIHN0dWZmIGluIENvbXBvbmVudC5vbkNvbXBsZXRlZCgpLgorICAgIGNv
bXBvbmVudC0+Y29tcGxldGVDcmVhdGUoKTsKK30KKwordm9pZCBXZWJUaW1lUGlja2VyUHJveHlR
dDo6Y3JlYXRlQ29udGV4dChRUW1sQ29tcG9uZW50KiBjb21wb25lbnQsIFFPYmplY3QqIGNvbnRl
eHRPYmplY3QpCit7CisgICAgUVFtbENvbnRleHQqIGJhc2VDb250ZXh0ID0gY29tcG9uZW50LT5j
cmVhdGlvbkNvbnRleHQoKTsKKyAgICBpZiAoIWJhc2VDb250ZXh0KQorICAgICAgICBiYXNlQ29u
dGV4dCA9IFFRbWxFbmdpbmU6OmNvbnRleHRGb3JPYmplY3QobV93ZWJWaWV3KTsKKyAgICBtX2Nv
bnRleHQgPSBhZG9wdFB0cihuZXcgUVFtbENvbnRleHQoYmFzZUNvbnRleHQpKTsKKworICAgIGNv
bnRleHRPYmplY3QtPnNldFBhcmVudChtX2NvbnRleHQuZ2V0KCkpOworICAgIG1fY29udGV4dC0+
c2V0Q29udGV4dFByb3BlcnR5KFFMYXRpbjFTdHJpbmcoIm1vZGVsIiksIGNvbnRleHRPYmplY3Qp
OworICAgIG1fY29udGV4dC0+c2V0Q29udGV4dE9iamVjdChjb250ZXh0T2JqZWN0KTsKK30KKwor
dm9pZCBXZWJUaW1lUGlja2VyUHJveHlRdDo6aGlkZSgpCit7CisgICAgaWYgKCFtX3BhZ2UpCisg
ICAgICAgIHJldHVybjsKKworICAgIG1fdGltZVBpY2tlci5jbGVhcigpOworICAgIFFRdWlja1dl
YlZpZXdQcml2YXRlOjpnZXQobV93ZWJWaWV3KS0+c2V0RGlhbG9nQWN0aXZlKGZhbHNlKTsKKyAg
ICBtX2NvbnRleHQuY2xlYXIoKTsKKworICAgIG1fcGFnZS0+ZGlkRW5kVGltZUNob29zZXIoKTsK
K30KKwordm9pZCBXZWJUaW1lUGlja2VyUHJveHlRdDo6b25BY2NlcHRlZChjb25zdCBRVGltZSYg
c2VsZWN0ZWRUaW1lKQoreworICAgIGlmICghbV9wYWdlKQorICAgICAgICByZXR1cm47CisKKyAg
ICBXZWJDb3JlOjpEYXRlQ29tcG9uZW50cyBkYXRldGltZTsKKyAgICBkYXRldGltZS5zZXRNaWxs
aXNlY29uZHNTaW5jZU1pZG5pZ2h0KChkb3VibGUpKCgoc2VsZWN0ZWRUaW1lLmhvdXIoKSAqIDM2
MDApICsgKHNlbGVjdGVkVGltZS5taW51dGUoKSAqIDYwKSkgKyBzZWxlY3RlZFRpbWUuc2Vjb25k
KCkpICogMTAwMCArIHNlbGVjdGVkVGltZS5tc2VjKCkpOworICAgIG1fcGFnZS0+ZGlkQ2hvb3Nl
VGltZShkYXRldGltZSk7CisKKyAgICBoaWRlKCk7Cit9CisKKyNpbmNsdWRlICJXZWJUaW1lUGlj
a2VyUHJveHlRdC5tb2MiCisjaW5jbHVkZSAibW9jX1dlYlRpbWVQaWNrZXJQcm94eVF0LmNwcCIK
KworCit9IC8vIG5hbWVzcGFjZSBXZWJLaXQKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJLaXQyL1VJ
UHJvY2Vzcy9xdC9XZWJUaW1lUGlja2VyUHJveHlRdC5oIGIvU291cmNlL1dlYktpdDIvVUlQcm9j
ZXNzL3F0L1dlYlRpbWVQaWNrZXJQcm94eVF0LmgKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXgg
MDAwMDAwMC4uYzUxZGMwZgotLS0gL2Rldi9udWxsCisrKyBiL1NvdXJjZS9XZWJLaXQyL1VJUHJv
Y2Vzcy9xdC9XZWJUaW1lUGlja2VyUHJveHlRdC5oCkBAIC0wLDAgKzEsNjggQEAKKy8qCisgKiBD
b3B5cmlnaHQgKEMpIDIwMTIgTm9raWEgQ29ycG9yYXRpb24gYW5kL29yIGl0cyBzdWJzaWRpYXJ5
KC1pZXMpLgorICoKKyAqIFRoaXMgbGlicmFyeSBpcyBmcmVlIHNvZnR3YXJlOyB5b3UgY2FuIHJl
ZGlzdHJpYnV0ZSBpdCBhbmQvb3IKKyAqIG1vZGlmeSBpdCB1bmRlciB0aGUgdGVybXMgb2YgdGhl
IEdOVSBMaWJyYXJ5IEdlbmVyYWwgUHVibGljCisgKiBMaWNlbnNlIGFzIHB1Ymxpc2hlZCBieSB0
aGUgRnJlZSBTb2Z0d2FyZSBGb3VuZGF0aW9uOyBlaXRoZXIKKyAqIHZlcnNpb24gMiBvZiB0aGUg
TGljZW5zZSwgb3IgKGF0IHlvdXIgb3B0aW9uKSBhbnkgbGF0ZXIgdmVyc2lvbi4KKyAqCisgKiBU
aGlzIGxpYnJhcnkgaXMgZGlzdHJpYnV0ZWQgaW4gdGhlIGhvcGUgdGhhdCBpdCB3aWxsIGJlIHVz
ZWZ1bCwKKyAqIGJ1dCBXSVRIT1VUIEFOWSBXQVJSQU5UWTsgd2l0aG91dCBldmVuIHRoZSBpbXBs
aWVkIHdhcnJhbnR5IG9mCisgKiBNRVJDSEFOVEFCSUxJVFkgb3IgRklUTkVTUyBGT1IgQSBQQVJU
SUNVTEFSIFBVUlBPU0UuICBTZWUgdGhlIEdOVQorICogTGlicmFyeSBHZW5lcmFsIFB1YmxpYyBM
aWNlbnNlIGZvciBtb3JlIGRldGFpbHMuCisgKgorICogWW91IHNob3VsZCBoYXZlIHJlY2VpdmVk
IGEgY29weSBvZiB0aGUgR05VIExpYnJhcnkgR2VuZXJhbCBQdWJsaWMgTGljZW5zZQorICogYWxv
bmcgd2l0aCB0aGlzIGxpYnJhcnk7IHNlZSB0aGUgZmlsZSBDT1BZSU5HLkxJQi4gIElmIG5vdCwg
d3JpdGUgdG8KKyAqIHRoZSBGcmVlIFNvZnR3YXJlIEZvdW5kYXRpb24sIEluYy4sIDUxIEZyYW5r
bGluIFN0cmVldCwgRmlmdGggRmxvb3IsCisgKiBCb3N0b24sIE1BIDAyMTEwLTEzMDEsIFVTQS4K
KyAqCisgKi8KKworI2lmbmRlZiBXZWJUaW1lUGlja2VyUHJveHlRdF9oCisjZGVmaW5lIFdlYlRp
bWVQaWNrZXJQcm94eVF0X2gKKworI2luY2x1ZGUgIldlYlBhZ2VQcm94eS5oIgorI2luY2x1ZGUg
IldlYlRpbWVQaWNrZXJQcm94eS5oIgorI2luY2x1ZGUgPFF0Q29yZS9RT2JqZWN0PgorI2luY2x1
ZGUgPHd0Zi9Pd25QdHIuaD4KKyNpbmNsdWRlIDx3dGYvUGFzc093blB0ci5oPgorCitjbGFzcyBR
UW1sQ29tcG9uZW50OworY2xhc3MgUVFtbENvbnRleHQ7CitjbGFzcyBRUXVpY2tXZWJWaWV3Owor
Y2xhc3MgUVF1aWNrSXRlbTsKKworbmFtZXNwYWNlIFdlYktpdCB7CisKK2NsYXNzIFdlYlRpbWVQ
aWNrZXJQcm94eVF0IDogcHVibGljIFFPYmplY3QsIHB1YmxpYyBXZWJUaW1lUGlja2VyUHJveHkg
eworICAgIFFfT0JKRUNUCitwdWJsaWM6CisgICAgc3RhdGljIFBhc3NSZWZQdHI8V2ViVGltZVBp
Y2tlclByb3h5UXQ+IGNyZWF0ZShXZWJQYWdlUHJveHkqIHBhZ2UsIFFRdWlja1dlYlZpZXcqIHdl
YlZpZXcpCisgICAgeworICAgICAgICByZXR1cm4gYWRvcHRSZWYobmV3IFdlYlRpbWVQaWNrZXJQ
cm94eVF0KHBhZ2UsIHdlYlZpZXcpKTsKKyAgICB9CisgICAgfldlYlRpbWVQaWNrZXJQcm94eVF0
KCk7CisKKyAgICB2aXJ0dWFsIHZvaWQgc2hvdyhjb25zdCBXZWJDb3JlOjpEYXRlQ29tcG9uZW50
cyYsIGNvbnN0IFdlYkNvcmU6OkRhdGVDb21wb25lbnRzJiwgY29uc3QgV2ViQ29yZTo6RGF0ZUNv
bXBvbmVudHMmKTsKKworcHVibGljIFFfU0xPVFM6CisgICAgdmlydHVhbCB2b2lkIGhpZGUoKTsK
KworcHJpdmF0ZSBRX1NMT1RTOgorICAgIHZvaWQgb25BY2NlcHRlZChjb25zdCBRVGltZSYpOwor
Citwcml2YXRlOgorICAgIFdlYlRpbWVQaWNrZXJQcm94eVF0KFdlYlBhZ2VQcm94eSosIFFRdWlj
a1dlYlZpZXcqKTsKKyAgICB2b2lkIGNyZWF0ZUl0ZW0oUU9iamVjdCopOworICAgIHZvaWQgY3Jl
YXRlQ29udGV4dChRUW1sQ29tcG9uZW50KiwgUU9iamVjdCopOworCisgICAgV2ViUGFnZVByb3h5
KiBtX3BhZ2U7CisgICAgUVF1aWNrV2ViVmlldyogbV93ZWJWaWV3OworICAgIE93blB0cjxRUW1s
Q29udGV4dD4gbV9jb250ZXh0OworICAgIE93blB0cjxRUXVpY2tJdGVtPiBtX3RpbWVQaWNrZXI7
CisKK307CisKK30gLy8gbmFtZXNwYWNlIFdlYktpdAorCisjZW5kaWYgLy8gV2ViVGltZVBpY2tl
clByb3h5UXRfaAo=
</data>

          </attachment>
      

    </bug>

</bugzilla>