<?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>63099</bug_id>
          
          <creation_ts>2011-06-21 15:26:49 -0700</creation_ts>
          <short_desc>REGRESSION(r89354): Broke tests on Mac (Requested by rniwa on #webkit).</short_desc>
          <delta_ts>2011-06-21 15:31:27 -0700</delta_ts>
          <reporter_accessible>1</reporter_accessible>
          <cclist_accessible>1</cclist_accessible>
          <classification_id>1</classification_id>
          <classification>Unclassified</classification>
          <product>WebKit</product>
          <component>New Bugs</component>
          <version>528+ (Nightly build)</version>
          <rep_platform>Unspecified</rep_platform>
          <op_sys>Unspecified</op_sys>
          <bug_status>RESOLVED</bug_status>
          <resolution>FIXED</resolution>
          
          
          <bug_file_loc></bug_file_loc>
          <status_whiteboard></status_whiteboard>
          <keywords></keywords>
          <priority>P2</priority>
          <bug_severity>Normal</bug_severity>
          <target_milestone>---</target_milestone>
          
          <blocked>62985</blocked>
          <everconfirmed>1</everconfirmed>
          <reporter name="WebKit Review Bot">webkit.review.bot</reporter>
          <assigned_to name="WebKit Review Bot">webkit.review.bot</assigned_to>
          <cc>pfeldman</cc>
    
    <cc>rniwa</cc>
    
    <cc>yurys</cc>
          

      

      

      

          <comment_sort_order>oldest_to_newest</comment_sort_order>  
          <long_desc isprivate="0" >
    <commentid>424790</commentid>
    <comment_count>0</comment_count>
    <who name="WebKit Review Bot">webkit.review.bot</who>
    <bug_when>2011-06-21 15:26:49 -0700</bug_when>
    <thetext>http://trac.webkit.org/changeset/89354 broke the build:
Broke tests on Mac (Requested by rniwa on #webkit).

This is an automatic bug report generated by the sheriff-bot. If this bug
report was created because of a flaky test, please file a bug for the flaky
test (if we don&apos;t already have one on file) and dup this bug against that bug
so that we can track how often these flaky tests case pain.

&quot;Only you can prevent forest fires.&quot; -- Smokey the Bear</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>424791</commentid>
    <comment_count>1</comment_count>
      <attachid>98063</attachid>
    <who name="WebKit Review Bot">webkit.review.bot</who>
    <bug_when>2011-06-21 15:27:15 -0700</bug_when>
    <thetext>Created attachment 98063
ROLLOUT of r89354

Any committer can land this patch automatically by marking it commit-queue+.  The commit-queue will build and test the patch before landing to ensure that the rollout will be successful.  This process takes approximately 15 minutes.

If you would like to land the rollout faster, you can use the following command:

  webkit-patch land-attachment ATTACHMENT_ID --ignore-builders

where ATTACHMENT_ID is the ID of this attachment.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>424794</commentid>
    <comment_count>2</comment_count>
      <attachid>98063</attachid>
    <who name="Ryosuke Niwa">rniwa</who>
    <bug_when>2011-06-21 15:31:24 -0700</bug_when>
    <thetext>Comment on attachment 98063
ROLLOUT of r89354

Clearing flags on attachment: 98063

Committed r89386: &lt;http://trac.webkit.org/changeset/89386&gt;</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>424795</commentid>
    <comment_count>3</comment_count>
    <who name="Ryosuke Niwa">rniwa</who>
    <bug_when>2011-06-21 15:31:27 -0700</bug_when>
    <thetext>All reviewed patches have been landed.  Closing bug.</thetext>
  </long_desc>
      
          <attachment
              isobsolete="0"
              ispatch="1"
              isprivate="0"
          >
            <attachid>98063</attachid>
            <date>2011-06-21 15:27:15 -0700</date>
            <delta_ts>2011-06-21 15:31:24 -0700</delta_ts>
            <desc>ROLLOUT of r89354</desc>
            <filename>bug-63099-20110621222516.patch</filename>
            <type>text/plain</type>
            <size>48751</size>
            <attacher name="WebKit Review Bot">webkit.review.bot</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogODkzODQKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL0NoYW5n
ZUxvZyBiL0xheW91dFRlc3RzL0NoYW5nZUxvZwppbmRleCA2ZjVmZTcyMTM2NzVlMDdkOWIzMDMz
YWU3ZDMwYmQ1NTUxZTA0MGU2Li5mOGIzN2VhODQxOWFmMTVlYTBkZGViZWEyMjVlY2VjM2M4ZDFk
ODc5IDEwMDY0NAotLS0gYS9MYXlvdXRUZXN0cy9DaGFuZ2VMb2cKKysrIGIvTGF5b3V0VGVzdHMv
Q2hhbmdlTG9nCkBAIC0xLDMgKzEsMTQgQEAKKzIwMTEtMDYtMjEgIFNoZXJpZmYgQm90ICA8d2Vi
a2l0LnJldmlldy5ib3RAZ21haWwuY29tPgorCisgICAgICAgIFVucmV2aWV3ZWQsIHJvbGxpbmcg
b3V0IHI4OTM1NC4KKyAgICAgICAgaHR0cDovL3RyYWMud2Via2l0Lm9yZy9jaGFuZ2VzZXQvODkz
NTQKKyAgICAgICAgaHR0cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hvd19idWcuY2dpP2lkPTYzMDk5
CisKKyAgICAgICAgQnJva2UgdGVzdHMgb24gTWFjIChSZXF1ZXN0ZWQgYnkgcm5pd2Egb24gI3dl
YmtpdCkuCisKKyAgICAgICAgKiBodHRwL3Rlc3RzL2luc3BlY3Rvci9kZWJ1Z2dlci10ZXN0Lmpz
OgorICAgICAgICAoaW5pdGlhbGl6ZV9EZWJ1Z2dlclRlc3QuSW5zcGVjdG9yVGVzdC5jb21wbGV0
ZURlYnVnZ2VyVGVzdC5kaXNhYmxlRGVidWdnZXIpOgorCiAyMDExLTA2LTIxICBNYXJrIFBpbGdy
aW0gIDxwaWxncmltQGNocm9taXVtLm9yZz4KIAogICAgICAgICBSZXZpZXdlZCBieSBBZGFtIEJh
cnRoLgpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvaHR0cC90ZXN0cy9pbnNwZWN0b3IvZGVidWdn
ZXItdGVzdC5qcyBiL0xheW91dFRlc3RzL2h0dHAvdGVzdHMvaW5zcGVjdG9yL2RlYnVnZ2VyLXRl
c3QuanMKaW5kZXggOGEzZTY5NDViZTQ2ODU1MmJmNDg5NDNmZjU5NDU1Njc4MWM4MWUwZS4uZGNh
OGEzMzc3NGVjZDM3MTZlYjE2ZDY0MDc5YjJhYTIwZDY0NjRiNiAxMDA2NDQKLS0tIGEvTGF5b3V0
VGVzdHMvaHR0cC90ZXN0cy9pbnNwZWN0b3IvZGVidWdnZXItdGVzdC5qcworKysgYi9MYXlvdXRU
ZXN0cy9odHRwL3Rlc3RzL2luc3BlY3Rvci9kZWJ1Z2dlci10ZXN0LmpzCkBAIC0xMCw3ICsxMCw3
IEBAIEluc3BlY3RvclRlc3Quc3RhcnREZWJ1Z2dlclRlc3QgPSBmdW5jdGlvbihjYWxsYmFjaywg
cXVpZXQpCiAgICAgICAgIHN0YXJ0VGVzdCgpOwogICAgIGVsc2UgewogICAgICAgICBJbnNwZWN0
b3JUZXN0LmFkZFNuaWZmZXIoV2ViSW5zcGVjdG9yLmRlYnVnZ2VyTW9kZWwsICJfZGVidWdnZXJX
YXNFbmFibGVkIiwgc3RhcnRUZXN0KTsKLSAgICAgICAgV2ViSW5zcGVjdG9yLnBhbmVscy5zY3Jp
cHRzLnRvZ2dsZURlYnVnZ2luZyhmYWxzZSk7CisgICAgICAgIFdlYkluc3BlY3Rvci5wYW5lbHMu
c2NyaXB0cy5fdG9nZ2xlRGVidWdnaW5nKGZhbHNlKTsKICAgICB9CiAKICAgICBmdW5jdGlvbiBz
dGFydFRlc3QoKQpAQCAtMzcsNyArMzcsNyBAQCBJbnNwZWN0b3JUZXN0LmNvbXBsZXRlRGVidWdn
ZXJUZXN0ID0gZnVuY3Rpb24oKQogICAgICAgICAgICAgY29tcGxldGVUZXN0KCk7CiAgICAgICAg
IGVsc2UgewogICAgICAgICAgICAgSW5zcGVjdG9yVGVzdC5hZGRTbmlmZmVyKFdlYkluc3BlY3Rv
ci5kZWJ1Z2dlck1vZGVsLCAiX2RlYnVnZ2VyV2FzRGlzYWJsZWQiLCBjb21wbGV0ZVRlc3QpOwot
ICAgICAgICAgICAgc2NyaXB0c1BhbmVsLnRvZ2dsZURlYnVnZ2luZyhmYWxzZSk7CisgICAgICAg
ICAgICBzY3JpcHRzUGFuZWwuX3RvZ2dsZURlYnVnZ2luZyhmYWxzZSk7CiAgICAgICAgIH0KICAg
ICB9CiAKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL0NoYW5nZUxvZyBiL1NvdXJjZS9XZWJD
b3JlL0NoYW5nZUxvZwppbmRleCBhYTQ2ZTc1ZDUyZDFkOTdkZTEzZTg5OTVjNmNkNjY0NDMzNTc5
ZGYxLi4wODI1ZGRiNTg1ZGZlMjUwNjMzZWNjZmJlN2RmOGI4ZTA5YmY3NzU4IDEwMDY0NAotLS0g
YS9Tb3VyY2UvV2ViQ29yZS9DaGFuZ2VMb2cKKysrIGIvU291cmNlL1dlYkNvcmUvQ2hhbmdlTG9n
CkBAIC0xLDMgKzEsMzMgQEAKKzIwMTEtMDYtMjEgIFNoZXJpZmYgQm90ICA8d2Via2l0LnJldmll
dy5ib3RAZ21haWwuY29tPgorCisgICAgICAgIFVucmV2aWV3ZWQsIHJvbGxpbmcgb3V0IHI4OTM1
NC4KKyAgICAgICAgaHR0cDovL3RyYWMud2Via2l0Lm9yZy9jaGFuZ2VzZXQvODkzNTQKKyAgICAg
ICAgaHR0cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hvd19idWcuY2dpP2lkPTYzMDk5CisKKyAgICAg
ICAgQnJva2UgdGVzdHMgb24gTWFjIChSZXF1ZXN0ZWQgYnkgcm5pd2Egb24gI3dlYmtpdCkuCisK
KyAgICAgICAgKiBXZWJDb3JlLmV4cC5pbjoKKyAgICAgICAgKiBXZWJDb3JlLmd5cGk6CisgICAg
ICAgICogV2ViQ29yZS52Y3Byb2ovV2ViQ29yZS52Y3Byb2o6CisgICAgICAgICogaW5zcGVjdG9y
L0luc3BlY3RvckZyb250ZW5kQ2xpZW50TG9jYWwuY3BwOgorICAgICAgICAoV2ViQ29yZTo6SW5z
cGVjdG9yRnJvbnRlbmRDbGllbnRMb2NhbDo6SW5zcGVjdG9yRnJvbnRlbmRDbGllbnRMb2NhbCk6
CisgICAgICAgIChXZWJDb3JlOjpJbnNwZWN0b3JGcm9udGVuZENsaWVudExvY2FsOjpmcm9udGVu
ZExvYWRlZCk6CisgICAgICAgIChXZWJDb3JlOjpJbnNwZWN0b3JGcm9udGVuZENsaWVudExvY2Fs
OjpzZXRBdHRhY2hlZFdpbmRvdyk6CisgICAgICAgICogaW5zcGVjdG9yL0luc3BlY3RvckZyb250
ZW5kQ2xpZW50TG9jYWwuaDoKKyAgICAgICAgKiBpbnNwZWN0b3IvZnJvbnQtZW5kL0luc3BlY3Rv
ckZyb250ZW5kQVBJLmpzOiBSZW1vdmVkLgorICAgICAgICAqIGluc3BlY3Rvci9mcm9udC1lbmQv
UHJvZmlsZVZpZXcuanM6CisgICAgICAgIChXZWJJbnNwZWN0b3IuQ1BVUHJvZmlsZVR5cGUpOgor
ICAgICAgICAqIGluc3BlY3Rvci9mcm9udC1lbmQvUHJvZmlsZXNQYW5lbC5qczoKKyAgICAgICAg
KFdlYkluc3BlY3Rvci5Qcm9maWxlc1BhbmVsLnByb3RvdHlwZS5fZW5hYmxlUHJvZmlsaW5nKToK
KyAgICAgICAgKiBpbnNwZWN0b3IvZnJvbnQtZW5kL1NjcmlwdHNQYW5lbC5qczoKKyAgICAgICAg
KFdlYkluc3BlY3Rvci5TY3JpcHRzUGFuZWwpOgorICAgICAgICAoV2ViSW5zcGVjdG9yLlNjcmlw
dHNQYW5lbC5wcm90b3R5cGUuX2VuYWJsZURlYnVnZ2luZyk6CisgICAgICAgIChXZWJJbnNwZWN0
b3IuU2NyaXB0c1BhbmVsLnByb3RvdHlwZS5fdG9nZ2xlRGVidWdnaW5nKToKKyAgICAgICAgKiBp
bnNwZWN0b3IvZnJvbnQtZW5kL1RpbWVsaW5lUGFuZWwuanM6CisgICAgICAgIChXZWJJbnNwZWN0
b3IuVGltZWxpbmVQYW5lbC5wcm90b3R5cGUuX21lbW9yeU92ZXJ2aWV3SXRlbVNlbGVjdGVkKToK
KyAgICAgICAgKiBpbnNwZWN0b3IvZnJvbnQtZW5kL1dlYktpdC5xcmM6CisgICAgICAgICogaW5z
cGVjdG9yL2Zyb250LWVuZC9pbnNwZWN0b3IuaHRtbDoKKwogMjAxMS0wNi0yMSAgTWFyayBQaWxn
cmltICA8cGlsZ3JpbUBjaHJvbWl1bS5vcmc+CiAKICAgICAgICAgUmV2aWV3ZWQgYnkgQWRhbSBC
YXJ0aC4KZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL1dlYkNvcmUuZXhwLmluIGIvU291cmNl
L1dlYkNvcmUvV2ViQ29yZS5leHAuaW4KaW5kZXggN2I4YjdkZWM5ZjRlODYzZGI5NWI0NmRmMmM4
ODc2YTQwNDMxYTVlNS4uZmM1Y2YyNjEwZWY1NmMyYzAzZGM0ZjQzYjk2Yzk5MGJmM2Q5YWM3MiAx
MDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvV2ViQ29yZS5leHAuaW4KKysrIGIvU291cmNlL1dl
YkNvcmUvV2ViQ29yZS5leHAuaW4KQEAgLTE1OTAsMTYgKzE1OTAsNiBAQCBfX1pON1dlYkNvcmUy
OEluc3BlY3RvckZyb250ZW5kQ2xpZW50TG9jYWwyN3Jlc3RvcmVBdHRhY2hlZFdpbmRvd0hlaWdo
dEV2CiBfX1pON1dlYkNvcmUyOEluc3BlY3RvckZyb250ZW5kQ2xpZW50TG9jYWwzMWNvbnN0cmFp
bmVkQXR0YWNoZWRXaW5kb3dIZWlnaHRFamoKIF9fWk43V2ViQ29yZTI4SW5zcGVjdG9yRnJvbnRl
bmRDbGllbnRMb2NhbEMyRVBOU18xOUluc3BlY3RvckNvbnRyb2xsZXJFUE5TXzRQYWdlRU4zV1RG
MTBQYXNzT3duUHRySU5TMF84U2V0dGluZ3NFRUUKIF9fWk43V2ViQ29yZTI4SW5zcGVjdG9yRnJv
bnRlbmRDbGllbnRMb2NhbEQyRXYKLV9fWk43V2ViQ29yZTI4SW5zcGVjdG9yRnJvbnRlbmRDbGll
bnRMb2NhbDI4aXNKYXZhU2NyaXB0UHJvZmlsaW5nRW5hYmxlZEV2Ci1fX1pON1dlYkNvcmUyOElu
c3BlY3RvckZyb250ZW5kQ2xpZW50TG9jYWwyOXNldEphdmFTY3JpcHRQcm9maWxpbmdFbmFibGVk
RWIKLV9fWk43V2ViQ29yZTI4SW5zcGVjdG9yRnJvbnRlbmRDbGllbnRMb2NhbDI2aXNUaW1lbGlu
ZVByb2ZpbGluZ0VuYWJsZWRFdgotX19aTjdXZWJDb3JlMjhJbnNwZWN0b3JGcm9udGVuZENsaWVu
dExvY2FsMjdzZXRUaW1lbGluZVByb2ZpbGluZ0VuYWJsZWRFYgotX19aTjdXZWJDb3JlMjhJbnNw
ZWN0b3JGcm9udGVuZENsaWVudExvY2FsMjFpc1Byb2ZpbGluZ0phdmFTY3JpcHRFdgotX19aTjdX
ZWJDb3JlMjhJbnNwZWN0b3JGcm9udGVuZENsaWVudExvY2FsMjRzdGFydFByb2ZpbGluZ0phdmFT
Y3JpcHRFdgotX19aTjdXZWJDb3JlMjhJbnNwZWN0b3JGcm9udGVuZENsaWVudExvY2FsMjNzdG9w
UHJvZmlsaW5nSmF2YVNjcmlwdEV2Ci1fX1pON1dlYkNvcmUyOEluc3BlY3RvckZyb250ZW5kQ2xp
ZW50TG9jYWwxOGlzRGVidWdnaW5nRW5hYmxlZEV2Ci1fX1pON1dlYkNvcmUyOEluc3BlY3RvckZy
b250ZW5kQ2xpZW50TG9jYWwxOXNldERlYnVnZ2luZ0VuYWJsZWRFYgotX19aTjdXZWJDb3JlMjhJ
bnNwZWN0b3JGcm9udGVuZENsaWVudExvY2FsMTFzaG93Q29uc29sZUV2CiBfX1pOSzdXZWJDb3Jl
MTlJbnNwZWN0b3JDb250cm9sbGVyMTdkcmF3Tm9kZUhpZ2hsaWdodEVSTlNfMTVHcmFwaGljc0Nv
bnRleHRFCiBfX1pOSzdXZWJDb3JlMTlJbnNwZWN0b3JDb250cm9sbGVyMzFpc1JlY29yZGluZ1Vz
ZXJJbml0aWF0ZWRQcm9maWxlRXYKICNlbmRpZgpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUv
V2ViQ29yZS5neXBpIGIvU291cmNlL1dlYkNvcmUvV2ViQ29yZS5neXBpCmluZGV4IDEzNWUyZjcz
M2U0OTMyNzk1YmI4ZDhiZWJhNGM3MTQxNzg2ZDA1ZmYuLjNkMDg5YTFhNzQ2ZWNkMWJiNGY5Nzk5
MDVhYmIzNmNlOWRjMGI3ZjcgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL1dlYkNvcmUuZ3lw
aQorKysgYi9Tb3VyY2UvV2ViQ29yZS9XZWJDb3JlLmd5cGkKQEAgLTYyNzAsNyArNjI3MCw2IEBA
CiAgICAgICAgICAgICAnaW5zcGVjdG9yL2Zyb250LWVuZC9IZWFwU25hcHNob3RXb3JrZXJEaXNw
YXRjaGVyLmpzJywKICAgICAgICAgICAgICdpbnNwZWN0b3IvZnJvbnQtZW5kL0hlbHBTY3JlZW4u
anMnLAogICAgICAgICAgICAgJ2luc3BlY3Rvci9mcm9udC1lbmQvSW1hZ2VWaWV3LmpzJywKLSAg
ICAgICAgICAgICdpbnNwZWN0b3IvZnJvbnQtZW5kL0luc3BlY3RvckZyb250ZW5kQVBJLmpzJywK
ICAgICAgICAgICAgICdpbnNwZWN0b3IvZnJvbnQtZW5kL0luc3BlY3RvckZyb250ZW5kSG9zdFN0
dWIuanMnLAogICAgICAgICAgICAgJ2luc3BlY3Rvci9mcm9udC1lbmQvSW5qZWN0ZWRGYWtlV29y
a2VyLmpzJywKICAgICAgICAgICAgICdpbnNwZWN0b3IvZnJvbnQtZW5kL2luc3BlY3Rvci5qcycs
CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9XZWJDb3JlLnZjcHJvai9XZWJDb3JlLnZjcHJv
aiBiL1NvdXJjZS9XZWJDb3JlL1dlYkNvcmUudmNwcm9qL1dlYkNvcmUudmNwcm9qCmluZGV4IDg5
N2Y1YjdhNmE5NjdlYzM4YmNkY2VlNDdlMjQ3Y2YyYTNkODM2ZTcuLjdhNzM3MzU4NDVlMGI3ODBj
YmM1NDQ2MGI4ODRkZWY1NGZkYWIxYWEgMTAwNzU1Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL1dlYkNv
cmUudmNwcm9qL1dlYkNvcmUudmNwcm9qCisrKyBiL1NvdXJjZS9XZWJDb3JlL1dlYkNvcmUudmNw
cm9qL1dlYkNvcmUudmNwcm9qCkBAIC02ODA1MywxMCArNjgwNTMsNiBAQAogCQkJCQk+CiAJCQkJ
PC9GaWxlPgogCQkJCTxGaWxlCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgUmVsYXRpdmVQYXRoPSIuLlxpbnNwZWN0b3JcZnJvbnQtZW5kXEluc3BlY3RvckZyb250ZW5k
QVBJLmpzIgotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgID4KLSAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9GaWxlPgotCQkJCTxGaWxlCiAJCQkJCVJlbGF0
aXZlUGF0aD0iLi5caW5zcGVjdG9yXGZyb250LWVuZFxpbnNwZWN0b3IuaHRtbCIKIAkJCQkJPgog
CQkJCTwvRmlsZT4KZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL2luc3BlY3Rvci9JbnNwZWN0
b3JGcm9udGVuZENsaWVudExvY2FsLmNwcCBiL1NvdXJjZS9XZWJDb3JlL2luc3BlY3Rvci9JbnNw
ZWN0b3JGcm9udGVuZENsaWVudExvY2FsLmNwcAppbmRleCBjZWI0MmFmMmI3ZjIwYWE1MjEyZWFl
ZDQxNGMwM2JjMTc1MjBhZDEyLi43NzQzZWMwNjM4ODE5M2MwZDI0OTcxNTcxOTBlY2RiNTRmOWFh
YTc2IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9pbnNwZWN0b3IvSW5zcGVjdG9yRnJvbnRl
bmRDbGllbnRMb2NhbC5jcHAKKysrIGIvU291cmNlL1dlYkNvcmUvaW5zcGVjdG9yL0luc3BlY3Rv
ckZyb250ZW5kQ2xpZW50TG9jYWwuY3BwCkBAIC02Nyw3ICs2Nyw2IEBAIEluc3BlY3RvckZyb250
ZW5kQ2xpZW50TG9jYWw6Okluc3BlY3RvckZyb250ZW5kQ2xpZW50TG9jYWwoSW5zcGVjdG9yQ29u
dHJvbGxlcioKICAgICAsIG1fZnJvbnRlbmRQYWdlKGZyb250ZW5kUGFnZSkKICAgICAsIG1fZnJv
bnRlbmRTY3JpcHRTdGF0ZSgwKQogICAgICwgbV9zZXR0aW5ncyhzZXR0aW5ncykKLSAgICAsIG1f
ZnJvbnRlbmRMb2FkZWQoZmFsc2UpCiB7CiAgICAgbV9mcm9udGVuZFBhZ2UtPnNldHRpbmdzKCkt
PnNldEFsbG93RmlsZUFjY2Vzc0Zyb21GaWxlVVJMcyh0cnVlKTsKIH0KQEAgLTkzLDkgKzkyLDYg
QEAgdm9pZCBJbnNwZWN0b3JGcm9udGVuZENsaWVudExvY2FsOjpmcm9udGVuZExvYWRlZCgpCiB7
CiAgICAgYnJpbmdUb0Zyb250KCk7CiAgICAgbV9pbnNwZWN0b3JDb250cm9sbGVyLT5jb25uZWN0
RnJvbnRlbmQoKTsKLSAgICBtX2Zyb250ZW5kTG9hZGVkID0gdHJ1ZTsKLSAgICBpZiAoIW1fZXZh
bHVhdGVPbkxvYWQuaXNFbXB0eSgpKQotICAgICAgICBldmFsdWF0ZU9uTG9hZChtX2V2YWx1YXRl
T25Mb2FkKTsKIH0KIAogdm9pZCBJbnNwZWN0b3JGcm9udGVuZENsaWVudExvY2FsOjpyZXF1ZXN0
QXR0YWNoV2luZG93KCkKQEAgLTEzNyw3ICsxMzMsMTQgQEAgdm9pZCBJbnNwZWN0b3JGcm9udGVu
ZENsaWVudExvY2FsOjptb3ZlV2luZG93QnkoZmxvYXQgeCwgZmxvYXQgeSkKIAogdm9pZCBJbnNw
ZWN0b3JGcm9udGVuZENsaWVudExvY2FsOjpzZXRBdHRhY2hlZFdpbmRvdyhib29sIGF0dGFjaGVk
KQogewotICAgIGV2YWx1YXRlQXNCb29sZWFuKFN0cmluZzo6Zm9ybWF0KCJJbnNwZWN0b3JGcm9u
dGVuZEFQSS5zZXRBdHRhY2hlZFdpbmRvdyglcykiLCBhdHRhY2hlZCA/ICJ0cnVlIiA6ICJmYWxz
ZSIpKTsKKyAgICBTY3JpcHRPYmplY3Qgd2ViSW5zcGVjdG9yT2JqOworICAgIGlmICghU2NyaXB0
R2xvYmFsT2JqZWN0OjpnZXQobV9mcm9udGVuZFNjcmlwdFN0YXRlLCAiV2ViSW5zcGVjdG9yIiwg
d2ViSW5zcGVjdG9yT2JqKSkgeworICAgICAgICBBU1NFUlRfTk9UX1JFQUNIRUQoKTsKKyAgICAg
ICAgcmV0dXJuOworICAgIH0KKyAgICBTY3JpcHRGdW5jdGlvbkNhbGwgZnVuY3Rpb24od2ViSW5z
cGVjdG9yT2JqLCAic2V0QXR0YWNoZWRXaW5kb3ciKTsKKyAgICBmdW5jdGlvbi5hcHBlbmRBcmd1
bWVudChhdHRhY2hlZCk7CisgICAgZnVuY3Rpb24uY2FsbCgpOwogfQogCiB2b2lkIEluc3BlY3Rv
ckZyb250ZW5kQ2xpZW50TG9jYWw6OnJlc3RvcmVBdHRhY2hlZFdpbmRvd0hlaWdodCgpCkBAIC0x
NTIsNjQgKzE1NSw2IEBAIHZvaWQgSW5zcGVjdG9yRnJvbnRlbmRDbGllbnRMb2NhbDo6cmVzdG9y
ZUF0dGFjaGVkV2luZG93SGVpZ2h0KCkKICAgICBzZXRBdHRhY2hlZFdpbmRvd0hlaWdodChjb25z
dHJhaW5lZEF0dGFjaGVkV2luZG93SGVpZ2h0KHByZWZlcnJlZEhlaWdodCwgaW5zcGVjdGVkUGFn
ZUhlaWdodCkpOwogfQogCi1ib29sIEluc3BlY3RvckZyb250ZW5kQ2xpZW50TG9jYWw6OmlzRGVi
dWdnaW5nRW5hYmxlZCgpCi17Ci0gICAgaWYgKG1fZnJvbnRlbmRMb2FkZWQpCi0gICAgICAgIHJl
dHVybiBldmFsdWF0ZUFzQm9vbGVhbigiSW5zcGVjdG9yRnJvbnRlbmRBUEkuaXNEZWJ1Z2dpbmdF
bmFibGVkKCkiKTsKLSAgICByZXR1cm4gZmFsc2U7Ci19Ci0KLXZvaWQgSW5zcGVjdG9yRnJvbnRl
bmRDbGllbnRMb2NhbDo6c2V0RGVidWdnaW5nRW5hYmxlZChib29sIGVuYWJsZWQpCi17Ci0gICAg
ZXZhbHVhdGVPbkxvYWQoU3RyaW5nOjpmb3JtYXQoIkluc3BlY3RvckZyb250ZW5kQVBJLnNldERl
YnVnZ2luZ0VuYWJsZWQoJXMpIiwgZW5hYmxlZCA/ICJ0cnVlIiA6ICJmYWxzZSIpKTsKLX0KLQot
Ym9vbCBJbnNwZWN0b3JGcm9udGVuZENsaWVudExvY2FsOjppc0phdmFTY3JpcHRQcm9maWxpbmdF
bmFibGVkKCkKLXsKLSAgICBpZiAobV9mcm9udGVuZExvYWRlZCkKLSAgICAgICAgcmV0dXJuIGV2
YWx1YXRlQXNCb29sZWFuKCJJbnNwZWN0b3JGcm9udGVuZEFQSS5pc0phdmFTY3JpcHRQcm9maWxp
bmdFbmFibGVkKCkiKTsKLSAgICByZXR1cm4gZmFsc2U7Ci19Ci0KLXZvaWQgSW5zcGVjdG9yRnJv
bnRlbmRDbGllbnRMb2NhbDo6c2V0SmF2YVNjcmlwdFByb2ZpbGluZ0VuYWJsZWQoYm9vbCBlbmFi
bGVkKQotewotICAgIGV2YWx1YXRlT25Mb2FkKFN0cmluZzo6Zm9ybWF0KCJJbnNwZWN0b3JGcm9u
dGVuZEFQSS5zZXRKYXZhU2NyaXB0UHJvZmlsaW5nRW5hYmxlZCglcykiLCBlbmFibGVkID8gInRy
dWUiIDogImZhbHNlIikpOwotfQotCi1ib29sIEluc3BlY3RvckZyb250ZW5kQ2xpZW50TG9jYWw6
OmlzVGltZWxpbmVQcm9maWxpbmdFbmFibGVkKCkKLXsKLSAgICBpZiAobV9mcm9udGVuZExvYWRl
ZCkKLSAgICAgICAgcmV0dXJuIGV2YWx1YXRlQXNCb29sZWFuKCJJbnNwZWN0b3JGcm9udGVuZEFQ
SS5pc1RpbWVsaW5lUHJvZmlsaW5nRW5hYmxlZCgpIik7Ci0gICAgcmV0dXJuIGZhbHNlOwotfQot
Ci12b2lkIEluc3BlY3RvckZyb250ZW5kQ2xpZW50TG9jYWw6OnNldFRpbWVsaW5lUHJvZmlsaW5n
RW5hYmxlZChib29sIGVuYWJsZWQpCi17Ci0gICAgZXZhbHVhdGVPbkxvYWQoU3RyaW5nOjpmb3Jt
YXQoIkluc3BlY3RvckZyb250ZW5kQVBJLnNldFRpbWVsaW5lUHJvZmlsaW5nRW5hYmxlZCglcyki
LCBlbmFibGVkID8gInRydWUiIDogImZhbHNlIikpOwotfQotCi1ib29sIEluc3BlY3RvckZyb250
ZW5kQ2xpZW50TG9jYWw6OmlzUHJvZmlsaW5nSmF2YVNjcmlwdCgpCi17Ci0gICAgaWYgKG1fZnJv
bnRlbmRMb2FkZWQpCi0gICAgICAgIHJldHVybiBldmFsdWF0ZUFzQm9vbGVhbigiSW5zcGVjdG9y
RnJvbnRlbmRBUEkuaXNQcm9maWxpbmdKYXZhU2NyaXB0KCkiKTsKLSAgICByZXR1cm4gZmFsc2U7
Ci19Ci0KLXZvaWQgSW5zcGVjdG9yRnJvbnRlbmRDbGllbnRMb2NhbDo6c3RhcnRQcm9maWxpbmdK
YXZhU2NyaXB0KCkKLXsKLSAgICBldmFsdWF0ZU9uTG9hZCgiSW5zcGVjdG9yRnJvbnRlbmRBUEku
c3RhcnRQcm9maWxpbmdKYXZhU2NyaXB0KCkiKTsKLX0KLQotdm9pZCBJbnNwZWN0b3JGcm9udGVu
ZENsaWVudExvY2FsOjpzdG9wUHJvZmlsaW5nSmF2YVNjcmlwdCgpCi17Ci0gICAgZXZhbHVhdGVP
bkxvYWQoIkluc3BlY3RvckZyb250ZW5kQVBJLnN0b3BQcm9maWxpbmdKYXZhU2NyaXB0KCkiKTsK
LX0KLQotdm9pZCBJbnNwZWN0b3JGcm9udGVuZENsaWVudExvY2FsOjpzaG93Q29uc29sZSgpCi17
Ci0gICAgZXZhbHVhdGVPbkxvYWQoIkluc3BlY3RvckZyb250ZW5kQVBJLnNob3dDb25zb2xlKCki
KTsKLX0KLQogdW5zaWduZWQgSW5zcGVjdG9yRnJvbnRlbmRDbGllbnRMb2NhbDo6Y29uc3RyYWlu
ZWRBdHRhY2hlZFdpbmRvd0hlaWdodCh1bnNpZ25lZCBwcmVmZXJyZWRIZWlnaHQsIHVuc2lnbmVk
IHRvdGFsV2luZG93SGVpZ2h0KQogewogICAgIHVzaW5nIG5hbWVzcGFjZSBzdGQ7CkBAIC0yMjEs
MjIgKzE2Niw2IEBAIHZvaWQgSW5zcGVjdG9yRnJvbnRlbmRDbGllbnRMb2NhbDo6c2VuZE1lc3Nh
Z2VUb0JhY2tlbmQoY29uc3QgU3RyaW5nJiBtZXNzYWdlKQogICAgIG1faW5zcGVjdG9yQ29udHJv
bGxlci0+ZGlzcGF0Y2hNZXNzYWdlRnJvbUZyb250ZW5kKG1lc3NhZ2UpOwogfQogCi1ib29sIElu
c3BlY3RvckZyb250ZW5kQ2xpZW50TG9jYWw6OmV2YWx1YXRlQXNCb29sZWFuKGNvbnN0IFN0cmlu
ZyYgZXhwcmVzc2lvbikKLXsKLSAgICBpZiAoIW1fZnJvbnRlbmRQYWdlLT5tYWluRnJhbWUoKSkK
LSAgICAgICAgcmV0dXJuIGZhbHNlOwotICAgIFNjcmlwdFZhbHVlIHZhbHVlID0gbV9mcm9udGVu
ZFBhZ2UtPm1haW5GcmFtZSgpLT5zY3JpcHQoKS0+ZXhlY3V0ZVNjcmlwdChleHByZXNzaW9uKTsK
LSAgICByZXR1cm4gdmFsdWUudG9TdHJpbmcobWFpbldvcmxkU2NyaXB0U3RhdGUobV9mcm9udGVu
ZFBhZ2UtPm1haW5GcmFtZSgpKSkgPT0gInRydWUiOwotfQotCi12b2lkIEluc3BlY3RvckZyb250
ZW5kQ2xpZW50TG9jYWw6OmV2YWx1YXRlT25Mb2FkKGNvbnN0IFN0cmluZyYgZXhwcmVzc2lvbikK
LXsKLSAgICBpZiAobV9mcm9udGVuZExvYWRlZCkKLSAgICAgICAgbV9mcm9udGVuZFBhZ2UtPm1h
aW5GcmFtZSgpLT5zY3JpcHQoKS0+ZXhlY3V0ZVNjcmlwdChleHByZXNzaW9uKTsKLSAgICBlbHNl
Ci0gICAgICAgIG1fZXZhbHVhdGVPbkxvYWQgPSAic2V0VGltZW91dChmdW5jdGlvbigpIHsgIiAr
IGV4cHJlc3Npb24gKyAiOyB9LCAwKSI7Ci19Ci0KIH0gLy8gbmFtZXNwYWNlIFdlYkNvcmUKIAog
I2VuZGlmCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9pbnNwZWN0b3IvSW5zcGVjdG9yRnJv
bnRlbmRDbGllbnRMb2NhbC5oIGIvU291cmNlL1dlYkNvcmUvaW5zcGVjdG9yL0luc3BlY3RvckZy
b250ZW5kQ2xpZW50TG9jYWwuaAppbmRleCAyNzU4ZGJhNTc2NmI1YTNlOTQ0M2I1NjBhM2MzZDFk
OGFiYWYxZWEzLi4zZTRkMmMyMTZmM2Q4ZjJjNGZjYWRlM2Y3MmY0Y2EyMTk3ZjY4MGNhIDEwMDY0
NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9pbnNwZWN0b3IvSW5zcGVjdG9yRnJvbnRlbmRDbGllbnRM
b2NhbC5oCisrKyBiL1NvdXJjZS9XZWJDb3JlL2luc3BlY3Rvci9JbnNwZWN0b3JGcm9udGVuZENs
aWVudExvY2FsLmgKQEAgLTMyLDcgKzMyLDYgQEAKICNkZWZpbmUgSW5zcGVjdG9yRnJvbnRlbmRD
bGllbnRMb2NhbF9oCiAKICNpbmNsdWRlICJJbnNwZWN0b3JGcm9udGVuZENsaWVudC5oIgotI2lu
Y2x1ZGUgIlBsYXRmb3JtU3RyaW5nLmgiCiAjaW5jbHVkZSAiU2NyaXB0U3RhdGUuaCIKICNpbmNs
dWRlIDx3dGYvRm9yd2FyZC5oPgogI2luY2x1ZGUgPHd0Zi9Ob25jb3B5YWJsZS5oPgpAQCAtNzUs
MzEgKzc0LDEyIEBAIHB1YmxpYzoKIAogICAgIHN0YXRpYyB1bnNpZ25lZCBjb25zdHJhaW5lZEF0
dGFjaGVkV2luZG93SGVpZ2h0KHVuc2lnbmVkIHByZWZlcnJlZEhlaWdodCwgdW5zaWduZWQgdG90
YWxXaW5kb3dIZWlnaHQpOwogCi0gICAgLy8gRGlyZWN0IEZyb250ZW5kIEFQSQotICAgIGJvb2wg
aXNEZWJ1Z2dpbmdFbmFibGVkKCk7Ci0gICAgdm9pZCBzZXREZWJ1Z2dpbmdFbmFibGVkKGJvb2wp
OwotCi0gICAgYm9vbCBpc0phdmFTY3JpcHRQcm9maWxpbmdFbmFibGVkKCk7Ci0gICAgdm9pZCBz
ZXRKYXZhU2NyaXB0UHJvZmlsaW5nRW5hYmxlZChib29sKTsKLQotICAgIGJvb2wgaXNUaW1lbGlu
ZVByb2ZpbGluZ0VuYWJsZWQoKTsKLSAgICB2b2lkIHNldFRpbWVsaW5lUHJvZmlsaW5nRW5hYmxl
ZChib29sKTsKLQotICAgIGJvb2wgaXNQcm9maWxpbmdKYXZhU2NyaXB0KCk7Ci0gICAgdm9pZCBz
dGFydFByb2ZpbGluZ0phdmFTY3JpcHQoKTsKLSAgICB2b2lkIHN0b3BQcm9maWxpbmdKYXZhU2Ny
aXB0KCk7Ci0KLSAgICB2b2lkIHNob3dDb25zb2xlKCk7Ci0KIHByb3RlY3RlZDoKICAgICB2aXJ0
dWFsIHZvaWQgc2V0QXR0YWNoZWRXaW5kb3dIZWlnaHQodW5zaWduZWQpID0gMDsKICAgICB2b2lk
IHNldEF0dGFjaGVkV2luZG93KGJvb2wpOwogICAgIHZvaWQgcmVzdG9yZUF0dGFjaGVkV2luZG93
SGVpZ2h0KCk7CiAKIHByaXZhdGU6Ci0gICAgYm9vbCBldmFsdWF0ZUFzQm9vbGVhbihjb25zdCBT
dHJpbmcmIGV4cHJlc3Npb24pOwotICAgIHZvaWQgZXZhbHVhdGVPbkxvYWQoY29uc3QgU3RyaW5n
JiBleHByZXNzaW9uKTsKLQogICAgIGZyaWVuZCBjbGFzcyBGcm9udGVuZE1lbnVQcm92aWRlcjsK
ICAgICBJbnNwZWN0b3JDb250cm9sbGVyKiBtX2luc3BlY3RvckNvbnRyb2xsZXI7CiAgICAgUGFn
ZSogbV9mcm9udGVuZFBhZ2U7CkBAIC0xMDcsOCArODcsNiBAQCBwcml2YXRlOgogICAgIC8vIFRP
RE8oeXVyeXMpOiB0aGlzIHJlZiBzaG91bGRuJ3QgYmUgbmVlZGVkLgogICAgIFJlZlB0cjxJbnNw
ZWN0b3JGcm9udGVuZEhvc3Q+IG1fZnJvbnRlbmRIb3N0OwogICAgIE93blB0cjxJbnNwZWN0b3JG
cm9udGVuZENsaWVudExvY2FsOjpTZXR0aW5ncz4gbV9zZXR0aW5nczsKLSAgICBib29sIG1fZnJv
bnRlbmRMb2FkZWQ7Ci0gICAgU3RyaW5nIG1fZXZhbHVhdGVPbkxvYWQ7CiB9OwogCiB9IC8vIG5h
bWVzcGFjZSBXZWJDb3JlCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9pbnNwZWN0b3IvZnJv
bnQtZW5kL0luc3BlY3RvckZyb250ZW5kQVBJLmpzIGIvU291cmNlL1dlYkNvcmUvaW5zcGVjdG9y
L2Zyb250LWVuZC9JbnNwZWN0b3JGcm9udGVuZEFQSS5qcwpkZWxldGVkIGZpbGUgbW9kZSAxMDA2
NDQKaW5kZXggNDMyOGUyY2I4NWMzMGFiOTJmNDAxNjQwNDllZWY2MTk4NGRiM2VmYi4uMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9p
bnNwZWN0b3IvZnJvbnQtZW5kL0luc3BlY3RvckZyb250ZW5kQVBJLmpzCisrKyAvZGV2L251bGwK
QEAgLTEsOTkgKzAsMCBAQAotLyoKLSAqIENvcHlyaWdodCAoQykgMjAxMSBHb29nbGUgSW5jLiBB
bGwgcmlnaHRzIHJlc2VydmVkLgotICoKLSAqIFJlZGlzdHJpYnV0aW9uIGFuZCB1c2UgaW4gc291
cmNlIGFuZCBiaW5hcnkgZm9ybXMsIHdpdGggb3Igd2l0aG91dAotICogbW9kaWZpY2F0aW9uLCBh
cmUgcGVybWl0dGVkIHByb3ZpZGVkIHRoYXQgdGhlIGZvbGxvd2luZyBjb25kaXRpb25zIGFyZQot
ICogbWV0OgotICoKLSAqICAgICAqIFJlZGlzdHJpYnV0aW9ucyBvZiBzb3VyY2UgY29kZSBtdXN0
IHJldGFpbiB0aGUgYWJvdmUgY29weXJpZ2h0Ci0gKiBub3RpY2UsIHRoaXMgbGlzdCBvZiBjb25k
aXRpb25zIGFuZCB0aGUgZm9sbG93aW5nIGRpc2NsYWltZXIuCi0gKiAgICAgKiBSZWRpc3RyaWJ1
dGlvbnMgaW4gYmluYXJ5IGZvcm0gbXVzdCByZXByb2R1Y2UgdGhlIGFib3ZlCi0gKiBjb3B5cmln
aHQgbm90aWNlLCB0aGlzIGxpc3Qgb2YgY29uZGl0aW9ucyBhbmQgdGhlIGZvbGxvd2luZyBkaXNj
bGFpbWVyCi0gKiBpbiB0aGUgZG9jdW1lbnRhdGlvbiBhbmQvb3Igb3RoZXIgbWF0ZXJpYWxzIHBy
b3ZpZGVkIHdpdGggdGhlCi0gKiBkaXN0cmlidXRpb24uCi0gKiAgICAgKiBOZWl0aGVyIHRoZSBu
YW1lIG9mIEdvb2dsZSBJbmMuIG5vciB0aGUgbmFtZXMgb2YgaXRzCi0gKiBjb250cmlidXRvcnMg
bWF5IGJlIHVzZWQgdG8gZW5kb3JzZSBvciBwcm9tb3RlIHByb2R1Y3RzIGRlcml2ZWQgZnJvbQot
ICogdGhpcyBzb2Z0d2FyZSB3aXRob3V0IHNwZWNpZmljIHByaW9yIHdyaXR0ZW4gcGVybWlzc2lv
bi4KLSAqCi0gKiBUSElTIFNPRlRXQVJFIElTIFBST1ZJREVEIEJZIFRIRSBDT1BZUklHSFQgSE9M
REVSUyBBTkQgQ09OVFJJQlVUT1JTCi0gKiAiQVMgSVMiIEFORCBBTlkgRVhQUkVTUyBPUiBJTVBM
SUVEIFdBUlJBTlRJRVMsIElOQ0xVRElORywgQlVUIE5PVAotICogTElNSVRFRCBUTywgVEhFIElN
UExJRUQgV0FSUkFOVElFUyBPRiBNRVJDSEFOVEFCSUxJVFkgQU5EIEZJVE5FU1MgRk9SCi0gKiBB
IFBBUlRJQ1VMQVIgUFVSUE9TRSBBUkUgRElTQ0xBSU1FRC4gSU4gTk8gRVZFTlQgU0hBTEwgVEhF
IENPUFlSSUdIVAotICogT1dORVIgT1IgQ09OVFJJQlVUT1JTIEJFIExJQUJMRSBGT1IgQU5ZIERJ
UkVDVCwgSU5ESVJFQ1QsIElOQ0lERU5UQUwsCi0gKiBTUEVDSUFMLCBFWEVNUExBUlksIE9SIENP
TlNFUVVFTlRJQUwgREFNQUdFUyAoSU5DTFVESU5HLCBCVVQgTk9UCi0gKiBMSU1JVEVEIFRPLCBQ
Uk9DVVJFTUVOVCBPRiBTVUJTVElUVVRFIEdPT0RTIE9SIFNFUlZJQ0VTOyBMT1NTIE9GIFVTRSwK
LSAqIERBVEEsIE9SIFBST0ZJVFM7IE9SIEJVU0lORVNTIElOVEVSUlVQVElPTikgSE9XRVZFUiBD
QVVTRUQgQU5EIE9OIEFOWQotICogVEhFT1JZIE9GIExJQUJJTElUWSwgV0hFVEhFUiBJTiBDT05U
UkFDVCwgU1RSSUNUIExJQUJJTElUWSwgT1IgVE9SVAotICogKElOQ0xVRElORyBORUdMSUdFTkNF
IE9SIE9USEVSV0lTRSkgQVJJU0lORyBJTiBBTlkgV0FZIE9VVCBPRiBUSEUgVVNFCi0gKiBPRiBU
SElTIFNPRlRXQVJFLCBFVkVOIElGIEFEVklTRUQgT0YgVEhFIFBPU1NJQklMSVRZIE9GIFNVQ0gg
REFNQUdFLgotICovCi0KLSBJbnNwZWN0b3JGcm9udGVuZEFQSSA9IHsKLSAgICAgaXNEZWJ1Z2dp
bmdFbmFibGVkOiBmdW5jdGlvbigpCi0gICAgIHsKLSAgICAgICAgIHJldHVybiBXZWJJbnNwZWN0
b3IucGFuZWxzLnNjcmlwdHMuZGVidWdnaW5nRW5hYmxlZDsKLSAgICAgfSwKLQotICAgICBzZXRE
ZWJ1Z2dpbmdFbmFibGVkOiBmdW5jdGlvbihlbmFibGVkKQotICAgICB7Ci0gICAgICAgICBpZiAo
ZW5hYmxlZCkgewotICAgICAgICAgICAgIFdlYkluc3BlY3Rvci5wYW5lbHMuc2NyaXB0cy5lbmFi
bGVEZWJ1Z2dpbmcoKTsKLSAgICAgICAgICAgICBXZWJJbnNwZWN0b3IuY3VycmVudFBhbmVsID0g
V2ViSW5zcGVjdG9yLnBhbmVscy5zY3JpcHRzOwotICAgICAgICAgfSBlbHNlCi0gICAgICAgICAg
ICAgV2ViSW5zcGVjdG9yLnBhbmVscy5zY3JpcHRzLmRpc2FibGVEZWJ1Z2dpbmcoKTsKLSAgICAg
fSwKLQotICAgICBpc0phdmFTY3JpcHRQcm9maWxpbmdFbmFibGVkOiBmdW5jdGlvbigpCi0gICAg
IHsKLSAgICAgICAgIHJldHVybiBXZWJJbnNwZWN0b3IucGFuZWxzLnNjcmlwdHMucHJvZmlsaW5n
RW5hYmxlZDsKLSAgICAgfSwKLQotICAgICBzZXRKYXZhU2NyaXB0UHJvZmlsaW5nRW5hYmxlZDog
ZnVuY3Rpb24oZW5hYmxlZCkKLSAgICAgewotICAgICAgICAgaWYgKGVuYWJsZWQpIHsKLSAgICAg
ICAgICAgICBXZWJJbnNwZWN0b3IucGFuZWxzLnByb2ZpbGVzLmVuYWJsZVByb2ZpbGVyKCk7Ci0g
ICAgICAgICAgICAgV2ViSW5zcGVjdG9yLmN1cnJlbnRQYW5lbCA9IFdlYkluc3BlY3Rvci5wYW5l
bHMucHJvZmlsZXM7Ci0gICAgICAgICB9IGVsc2UKLSAgICAgICAgICAgICBXZWJJbnNwZWN0b3Iu
cGFuZWxzLnNjcmlwdHMuZGlzYWJsZVByb2ZpbGVyKCk7Ci0gICAgIH0sCi0KLSAgICAgaXNUaW1l
bGluZVByb2ZpbGluZ0VuYWJsZWQ6IGZ1bmN0aW9uKCkKLSAgICAgewotICAgICAgICAgcmV0dXJu
IFdlYkluc3BlY3Rvci5wYW5lbHMudGltZWxpbmUudGltZWxpbmVQcm9maWxpbmdFbmFibGVkOwot
ICAgICB9LAotCi0gICAgIHNldFRpbWVsaW5lUHJvZmlsaW5nRW5hYmxlZDogZnVuY3Rpb24oZW5h
YmxlZCkKLSAgICAgewotICAgICAgICAgV2ViSW5zcGVjdG9yLnBhbmVscy50aW1lbGluZS5zZXRU
aW1lbGluZVByb2ZpbGluZ0VuYWJsZWQoZW5hYmxlZCk7Ci0gICAgIH0sCi0KLSAgICAgaXNQcm9m
aWxpbmdKYXZhU2NyaXB0OiBmdW5jdGlvbigpCi0gICAgIHsKLSAgICAgICAgIHJldHVybiBXZWJJ
bnNwZWN0b3IuQ1BVUHJvZmlsZVR5cGUuaW5zdGFuY2UgJiYgV2ViSW5zcGVjdG9yLkNQVVByb2Zp
bGVUeXBlLmluc3RhbmNlLmlzUmVjb3JkaW5nUHJvZmlsZSgpOwotICAgICB9LAotCi0gICAgIHN0
YXJ0UHJvZmlsaW5nSmF2YVNjcmlwdDogZnVuY3Rpb24oKQotICAgICB7Ci0gICAgICAgICBXZWJJ
bnNwZWN0b3IucGFuZWxzLnByb2ZpbGVzLmVuYWJsZVByb2ZpbGVyKCk7Ci0gICAgICAgICBXZWJJ
bnNwZWN0b3IuY3VycmVudFBhbmVsID0gV2ViSW5zcGVjdG9yLnBhbmVscy5wcm9maWxlczsKLSAg
ICAgICAgIGlmIChXZWJJbnNwZWN0b3IuQ1BVUHJvZmlsZVR5cGUuaW5zdGFuY2UpCi0gICAgICAg
ICAgICAgV2ViSW5zcGVjdG9yLkNQVVByb2ZpbGVUeXBlLmluc3RhbmNlLnN0YXJ0UmVjb3JkaW5n
UHJvZmlsZSgpOwotICAgICB9LAotCi0gICAgIHN0b3BQcm9maWxpbmdKYXZhU2NyaXB0OiBmdW5j
dGlvbigpCi0gICAgIHsKLSAgICAgICAgIGlmIChXZWJJbnNwZWN0b3IuQ1BVUHJvZmlsZVR5cGUu
aW5zdGFuY2UpCi0gICAgICAgICAgICAgV2ViSW5zcGVjdG9yLkNQVVByb2ZpbGVUeXBlLmluc3Rh
bmNlLnN0b3BSZWNvcmRpbmdQcm9maWxlKCk7Ci0gICAgICAgICBXZWJJbnNwZWN0b3IuY3VycmVu
dFBhbmVsID0gV2ViSW5zcGVjdG9yLnBhbmVscy5wcm9maWxlczsKLSAgICAgfSwKLQotICAgICBz
ZXRBdHRhY2hlZFdpbmRvdzogZnVuY3Rpb24oYXR0YWNoZWQpCi0gICAgIHsKLSAgICAgICAgIFdl
Ykluc3BlY3Rvci5hdHRhY2hlZCA9IGF0dGFjaGVkOwotICAgICB9LAotCi0gICAgIHNob3dDb25z
b2xlOiBmdW5jdGlvbigpCi0gICAgIHsKLSAgICAgICAgIFdlYkluc3BlY3Rvci5jdXJyZW50UGFu
ZWwgPSBXZWJJbnNwZWN0b3IucGFuZWxzLmNvbnNvbGU7Ci0gICAgIH0KLSB9CmRpZmYgLS1naXQg
YS9Tb3VyY2UvV2ViQ29yZS9pbnNwZWN0b3IvZnJvbnQtZW5kL1Byb2ZpbGVWaWV3LmpzIGIvU291
cmNlL1dlYkNvcmUvaW5zcGVjdG9yL2Zyb250LWVuZC9Qcm9maWxlVmlldy5qcwppbmRleCA5OTM3
OTU2ODU5ZWQyNjdjMGIxMDU4N2Y0OGZhNTNkMGNjODgyNDg2Li5lZjNlMmI2NmQwMDhkZmMwMWIx
YmE4NTc3ODc2NjBlMTZlZTUzZmM4IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9pbnNwZWN0
b3IvZnJvbnQtZW5kL1Byb2ZpbGVWaWV3LmpzCisrKyBiL1NvdXJjZS9XZWJDb3JlL2luc3BlY3Rv
ci9mcm9udC1lbmQvUHJvZmlsZVZpZXcuanMKQEAgLTU3OSw3ICs1NzksNiBAQCBXZWJJbnNwZWN0
b3IuQ1BVUHJvZmlsZVR5cGUgPSBmdW5jdGlvbigpCiB7CiAgICAgV2ViSW5zcGVjdG9yLlByb2Zp
bGVUeXBlLmNhbGwodGhpcywgV2ViSW5zcGVjdG9yLkNQVVByb2ZpbGVUeXBlLlR5cGVJZCwgV2Vi
SW5zcGVjdG9yLlVJU3RyaW5nKCJDUFUgUFJPRklMRVMiKSk7CiAgICAgdGhpcy5fcmVjb3JkaW5n
ID0gZmFsc2U7Ci0gICAgV2ViSW5zcGVjdG9yLkNQVVByb2ZpbGVUeXBlLmluc3RhbmNlID0gdGhp
czsKIH0KIAogV2ViSW5zcGVjdG9yLkNQVVByb2ZpbGVUeXBlLlR5cGVJZCA9ICJDUFUiOwpAQCAt
NjEwLDIzICs2MDksNiBAQCBXZWJJbnNwZWN0b3IuQ1BVUHJvZmlsZVR5cGUucHJvdG90eXBlID0g
ewogICAgICAgICByZXR1cm4gV2ViSW5zcGVjdG9yLlVJU3RyaW5nKCJDb250cm9sIENQVSBwcm9m
aWxpbmcgYnkgcHJlc3NpbmcgdGhlICVzIGJ1dHRvbiBvbiB0aGUgc3RhdHVzIGJhci4iKTsKICAg
ICB9LAogCi0gICAgaXNSZWNvcmRpbmdQcm9maWxlOiBmdW5jdGlvbigpCi0gICAgewotICAgICAg
ICByZXR1cm4gdGhpcy5fcmVjb3JkaW5nOwotICAgIH0sCi0KLSAgICBzdGFydFJlY29yZGluZ1By
b2ZpbGU6IGZ1bmN0aW9uKCkKLSAgICB7Ci0gICAgICAgIHRoaXMuX3JlY29yZGluZyA9IHRydWU7
Ci0gICAgICAgIFByb2ZpbGVyQWdlbnQuc3RhcnQoKTsKLSAgICB9LAotCi0gICAgc3RvcFJlY29y
ZGluZ1Byb2ZpbGU6IGZ1bmN0aW9uKCkKLSAgICB7Ci0gICAgICAgIHRoaXMuX3JlY29yZGluZyA9
IGZhbHNlOwotICAgICAgICBQcm9maWxlckFnZW50LnN0b3AoKTsKLSAgICB9LAotCiAgICAgc2V0
UmVjb3JkaW5nUHJvZmlsZTogZnVuY3Rpb24oaXNQcm9maWxpbmcpCiAgICAgewogICAgICAgICB0
aGlzLl9yZWNvcmRpbmcgPSBpc1Byb2ZpbGluZzsKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3Jl
L2luc3BlY3Rvci9mcm9udC1lbmQvUHJvZmlsZXNQYW5lbC5qcyBiL1NvdXJjZS9XZWJDb3JlL2lu
c3BlY3Rvci9mcm9udC1lbmQvUHJvZmlsZXNQYW5lbC5qcwppbmRleCA2NmJmOTNhYTljMDg1NTVi
ZjQ0NzhjN2FjODU2ZTNhM2FkZmYyZjU0Li43ZmNkN2FhNjQxMjAzMjIzY2RkYzIxMjA0MGY5NmQz
Mjg4YTM5ZTkxIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9pbnNwZWN0b3IvZnJvbnQtZW5k
L1Byb2ZpbGVzUGFuZWwuanMKKysrIGIvU291cmNlL1dlYkNvcmUvaW5zcGVjdG9yL2Zyb250LWVu
ZC9Qcm9maWxlc1BhbmVsLmpzCkBAIC0xMDEsNyArMTAxLDcgQEAgV2ViSW5zcGVjdG9yLlByb2Zp
bGVzUGFuZWwgPSBmdW5jdGlvbigpCiAgICAgdmFyIHBhbmVsRW5hYmxlckRpc2NsYWltZXIgPSBX
ZWJJbnNwZWN0b3IuVUlTdHJpbmcoIkVuYWJsaW5nIHByb2ZpbGluZyB3aWxsIG1ha2Ugc2NyaXB0
cyBydW4gc2xvd2VyLiIpOwogICAgIHZhciBwYW5lbEVuYWJsZXJCdXR0b24gPSBXZWJJbnNwZWN0
b3IuVUlTdHJpbmcoIkVuYWJsZSBQcm9maWxpbmciKTsKICAgICB0aGlzLnBhbmVsRW5hYmxlclZp
ZXcgPSBuZXcgV2ViSW5zcGVjdG9yLlBhbmVsRW5hYmxlclZpZXcoInByb2ZpbGVzIiwgcGFuZWxF
bmFibGVySGVhZGluZywgcGFuZWxFbmFibGVyRGlzY2xhaW1lciwgcGFuZWxFbmFibGVyQnV0dG9u
KTsKLSAgICB0aGlzLnBhbmVsRW5hYmxlclZpZXcuYWRkRXZlbnRMaXN0ZW5lcigiZW5hYmxlIGNs
aWNrZWQiLCB0aGlzLmVuYWJsZVByb2ZpbGVyLCB0aGlzKTsKKyAgICB0aGlzLnBhbmVsRW5hYmxl
clZpZXcuYWRkRXZlbnRMaXN0ZW5lcigiZW5hYmxlIGNsaWNrZWQiLCB0aGlzLl9lbmFibGVQcm9m
aWxpbmcsIHRoaXMpOwogCiAgICAgdGhpcy5lbGVtZW50LmFwcGVuZENoaWxkKHRoaXMucGFuZWxF
bmFibGVyVmlldy5lbGVtZW50KTsKIApAQCAtNTkwLDI1ICs1OTAsMTMgQEAgV2ViSW5zcGVjdG9y
LlByb2ZpbGVzUGFuZWwucHJvdG90eXBlID0gewogICAgICAgICB9CiAgICAgfSwKIAotICAgIGdl
dCBwcm9maWxlckVuYWJsZWQoKQotICAgIHsKLSAgICAgICAgcmV0dXJuIHRoaXMuX3Byb2ZpbGVy
RW5hYmxlZDsKLSAgICB9LAotCi0gICAgZW5hYmxlUHJvZmlsZXI6IGZ1bmN0aW9uKCkKKyAgICBf
ZW5hYmxlUHJvZmlsaW5nOiBmdW5jdGlvbigpCiAgICAgewogICAgICAgICBpZiAodGhpcy5fcHJv
ZmlsZXJFbmFibGVkKQogICAgICAgICAgICAgcmV0dXJuOwogICAgICAgICB0aGlzLl90b2dnbGVQ
cm9maWxpbmcodGhpcy5wYW5lbEVuYWJsZXJWaWV3LmFsd2F5c0VuYWJsZWQpOwogICAgIH0sCiAK
LSAgICBkaXNhYmxlUHJvZmlsZXI6IGZ1bmN0aW9uKCkKLSAgICB7Ci0gICAgICAgIGlmICghdGhp
cy5fcHJvZmlsZXJFbmFibGVkKQotICAgICAgICAgICAgcmV0dXJuOwotICAgICAgICB0aGlzLl90
b2dnbGVQcm9maWxpbmcodGhpcy5wYW5lbEVuYWJsZXJWaWV3LmFsd2F5c0VuYWJsZWQpOwotICAg
IH0sCi0KICAgICBfdG9nZ2xlUHJvZmlsaW5nOiBmdW5jdGlvbihvcHRpb25hbEFsd2F5cykKICAg
ICB7CiAgICAgICAgIGlmICh0aGlzLl9wcm9maWxlckVuYWJsZWQpIHsKZGlmZiAtLWdpdCBhL1Nv
dXJjZS9XZWJDb3JlL2luc3BlY3Rvci9mcm9udC1lbmQvU2NyaXB0c1BhbmVsLmpzIGIvU291cmNl
L1dlYkNvcmUvaW5zcGVjdG9yL2Zyb250LWVuZC9TY3JpcHRzUGFuZWwuanMKaW5kZXggODA0NDNh
NzE5Mzk1MWE2OWI5YjViMzkwNWRlMTZiY2E5MmMxOGU4ZC4uOTBmMWY2ZGFjZWIxOGQ4MDAxY2Ni
ZTE2YWU3ODljMmQ2ZGU3YmQxZiAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvaW5zcGVjdG9y
L2Zyb250LWVuZC9TY3JpcHRzUGFuZWwuanMKKysrIGIvU291cmNlL1dlYkNvcmUvaW5zcGVjdG9y
L2Zyb250LWVuZC9TY3JpcHRzUGFuZWwuanMKQEAgLTEyNyw3ICsxMjcsNyBAQCBXZWJJbnNwZWN0
b3IuU2NyaXB0c1BhbmVsID0gZnVuY3Rpb24oKQogICAgIHZhciBwYW5lbEVuYWJsZXJCdXR0b24g
PSBXZWJJbnNwZWN0b3IuVUlTdHJpbmcoIkVuYWJsZSBEZWJ1Z2dpbmciKTsKIAogICAgIHRoaXMu
cGFuZWxFbmFibGVyVmlldyA9IG5ldyBXZWJJbnNwZWN0b3IuUGFuZWxFbmFibGVyVmlldygic2Ny
aXB0cyIsIHBhbmVsRW5hYmxlckhlYWRpbmcsIHBhbmVsRW5hYmxlckRpc2NsYWltZXIsIHBhbmVs
RW5hYmxlckJ1dHRvbik7Ci0gICAgdGhpcy5wYW5lbEVuYWJsZXJWaWV3LmFkZEV2ZW50TGlzdGVu
ZXIoImVuYWJsZSBjbGlja2VkIiwgdGhpcy5lbmFibGVEZWJ1Z2dpbmcsIHRoaXMpOworICAgIHRo
aXMucGFuZWxFbmFibGVyVmlldy5hZGRFdmVudExpc3RlbmVyKCJlbmFibGUgY2xpY2tlZCIsIHRo
aXMuX2VuYWJsZURlYnVnZ2luZywgdGhpcyk7CiAKICAgICB0aGlzLmVsZW1lbnQuYXBwZW5kQ2hp
bGQodGhpcy5wYW5lbEVuYWJsZXJWaWV3LmVsZW1lbnQpOwogICAgIHRoaXMuZWxlbWVudC5hcHBl
bmRDaGlsZCh0aGlzLnZpZXdzQ29udGFpbmVyRWxlbWVudCk7CkBAIC0xMzUsNyArMTM1LDcgQEAg
V2ViSW5zcGVjdG9yLlNjcmlwdHNQYW5lbCA9IGZ1bmN0aW9uKCkKICAgICB0aGlzLmVsZW1lbnQu
YXBwZW5kQ2hpbGQodGhpcy5zaWRlYmFyUmVzaXplRWxlbWVudCk7CiAKICAgICB0aGlzLmVuYWJs
ZVRvZ2dsZUJ1dHRvbiA9IG5ldyBXZWJJbnNwZWN0b3IuU3RhdHVzQmFyQnV0dG9uKCIiLCAiZW5h
YmxlLXRvZ2dsZS1zdGF0dXMtYmFyLWl0ZW0iKTsKLSAgICB0aGlzLmVuYWJsZVRvZ2dsZUJ1dHRv
bi5hZGRFdmVudExpc3RlbmVyKCJjbGljayIsIHRoaXMudG9nZ2xlRGVidWdnaW5nLmJpbmQodGhp
cyksIGZhbHNlKTsKKyAgICB0aGlzLmVuYWJsZVRvZ2dsZUJ1dHRvbi5hZGRFdmVudExpc3RlbmVy
KCJjbGljayIsIHRoaXMuX3RvZ2dsZURlYnVnZ2luZy5iaW5kKHRoaXMpLCBmYWxzZSk7CiAgICAg
aWYgKFByZWZlcmVuY2VzLmRlYnVnZ2VyQWx3YXlzRW5hYmxlZCkKICAgICAgICAgdGhpcy5lbmFi
bGVUb2dnbGVCdXR0b24uZWxlbWVudC5hZGRTdHlsZUNsYXNzKCJoaWRkZW4iKTsKIApAQCAtODMw
LDI2ICs4MzAsMTQgQEAgV2ViSW5zcGVjdG9yLlNjcmlwdHNQYW5lbC5wcm90b3R5cGUgPSB7CiAg
ICAgICAgIHRoaXMuX3VwZGF0ZUJhY2tBbmRGb3J3YXJkQnV0dG9ucygpOwogICAgIH0sCiAKLSAg
ICBnZXQgZGVidWdnaW5nRW5hYmxlZCgpCi0gICAgewotICAgICAgICByZXR1cm4gdGhpcy5fZGVi
dWdnZXJFbmFibGVkOwotICAgIH0sCi0KLSAgICBlbmFibGVEZWJ1Z2dpbmc6IGZ1bmN0aW9uKCkK
KyAgICBfZW5hYmxlRGVidWdnaW5nOiBmdW5jdGlvbigpCiAgICAgewogICAgICAgICBpZiAodGhp
cy5fZGVidWdnZXJFbmFibGVkKQogICAgICAgICAgICAgcmV0dXJuOwotICAgICAgICB0aGlzLnRv
Z2dsZURlYnVnZ2luZyh0aGlzLnBhbmVsRW5hYmxlclZpZXcuYWx3YXlzRW5hYmxlZCk7Ci0gICAg
fSwKLQotICAgIGRpc2FibGVEZWJ1Z2dpbmc6IGZ1bmN0aW9uKCkKLSAgICB7Ci0gICAgICAgIGlm
ICghdGhpcy5fZGVidWdnZXJFbmFibGVkKQotICAgICAgICAgICAgcmV0dXJuOwotICAgICAgICB0
aGlzLnRvZ2dsZURlYnVnZ2luZyh0aGlzLnBhbmVsRW5hYmxlclZpZXcuYWx3YXlzRW5hYmxlZCk7
CisgICAgICAgIHRoaXMuX3RvZ2dsZURlYnVnZ2luZyh0aGlzLnBhbmVsRW5hYmxlclZpZXcuYWx3
YXlzRW5hYmxlZCk7CiAgICAgfSwKIAotICAgIHRvZ2dsZURlYnVnZ2luZzogZnVuY3Rpb24ob3B0
aW9uYWxBbHdheXMpCisgICAgX3RvZ2dsZURlYnVnZ2luZzogZnVuY3Rpb24ob3B0aW9uYWxBbHdh
eXMpCiAgICAgewogICAgICAgICB0aGlzLl9wYXVzZWQgPSBmYWxzZTsKICAgICAgICAgdGhpcy5f
d2FpdGluZ1RvUGF1c2UgPSBmYWxzZTsKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL2luc3Bl
Y3Rvci9mcm9udC1lbmQvVGltZWxpbmVQYW5lbC5qcyBiL1NvdXJjZS9XZWJDb3JlL2luc3BlY3Rv
ci9mcm9udC1lbmQvVGltZWxpbmVQYW5lbC5qcwppbmRleCA4Y2Q1NzgwMjdiMjBjYWQ0NThiZjhi
ODI4YzUzYzc2NmU1NGZlMTlmLi40OGU3MTYyMzNmOWNhYmQyZmZjYTFiMDAzYjVkMmEwZjcwNGEy
YTIyIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9pbnNwZWN0b3IvZnJvbnQtZW5kL1RpbWVs
aW5lUGFuZWwuanMKKysrIGIvU291cmNlL1dlYkNvcmUvaW5zcGVjdG9yL2Zyb250LWVuZC9UaW1l
bGluZVBhbmVsLmpzCkBAIC0yNjcsMjIgKzI2NywxMCBAQCBXZWJJbnNwZWN0b3IuVGltZWxpbmVQ
YW5lbC5wcm90b3R5cGUgPSB7CiAgICAgICAgIHRoaXMuX292ZXJ2aWV3UGFuZS5zaG93VGltZWxp
bmVzKCk7CiAgICAgfSwKIAotICAgIF9tZW1vcnlPdmVydmlld0l0ZW1TZWxlY3RlZDogZnVuY3Rp
b24oZXZlbnQpCi0gICAgeworICAgIF9tZW1vcnlPdmVydmlld0l0ZW1TZWxlY3RlZDogZnVuY3Rp
b24oZXZlbnQpIHsKICAgICAgICAgdGhpcy5fb3ZlcnZpZXdQYW5lLnNob3dNZW1vcnlHcmFwaCh0
aGlzLl9yb290UmVjb3JkLmNoaWxkcmVuKTsKICAgICB9LAogCi0gICAgc2V0VGltZWxpbmVQcm9m
aWxpbmdFbmFibGVkOiBmdW5jdGlvbihlbmFibGVkKQotICAgIHsKLSAgICAgICAgaWYgKGVuYWJs
ZWQgIT09IHRoaXMudG9nZ2xlVGltZWxpbmVCdXR0b24udG9nZ2xlZCkKLSAgICAgICAgICAgIHRo
aXMuX3RvZ2dsZVRpbWVsaW5lQnV0dG9uQ2xpY2tlZCgpOwotICAgIH0sCi0KLSAgICBnZXQgdGlt
ZWxpbmVQcm9maWxpbmdFbmFibGVkKCkKLSAgICB7Ci0gICAgICAgIHJldHVybiB0aGlzLnRvZ2ds
ZVRpbWVsaW5lQnV0dG9uLnRvZ2dsZWQ7Ci0gICAgfSwKLQogICAgIF90b2dnbGVUaW1lbGluZUJ1
dHRvbkNsaWNrZWQ6IGZ1bmN0aW9uKCkKICAgICB7CiAgICAgICAgIGlmICh0aGlzLnRvZ2dsZVRp
bWVsaW5lQnV0dG9uLnRvZ2dsZWQpCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9pbnNwZWN0
b3IvZnJvbnQtZW5kL1dlYktpdC5xcmMgYi9Tb3VyY2UvV2ViQ29yZS9pbnNwZWN0b3IvZnJvbnQt
ZW5kL1dlYktpdC5xcmMKaW5kZXggYjQ0ZjdjZTBlMDk1YjI5YTMyMzBiNDMxNzE0Y2RkZTljYTlj
NjgzOS4uMDhmZmU0ZGU1ZGQ0Y2NiMTJlNTI0MDAwNzQxMzEyOTJhYWM1NTY0NyAxMDA2NDQKLS0t
IGEvU291cmNlL1dlYkNvcmUvaW5zcGVjdG9yL2Zyb250LWVuZC9XZWJLaXQucXJjCisrKyBiL1Nv
dXJjZS9XZWJDb3JlL2luc3BlY3Rvci9mcm9udC1lbmQvV2ViS2l0LnFyYwpAQCAtNTgsNyArNTgs
NiBAQAogICAgIDxmaWxlPkltYWdlVmlldy5qczwvZmlsZT4KICAgICA8ZmlsZT5JbmplY3RlZEZh
a2VXb3JrZXIuanM8L2ZpbGU+CiAgICAgPGZpbGU+aW5zcGVjdG9yLmpzPC9maWxlPgotICAgIDxm
aWxlPkluc3BlY3RvckZyb250ZW5kQVBJLmpzPC9maWxlPgogICAgIDxmaWxlPkluc3BlY3RvckZy
b250ZW5kSG9zdFN0dWIuanM8L2ZpbGU+CiAgICAgPGZpbGU+SmF2YVNjcmlwdEZvcm1hdHRlci5q
czwvZmlsZT4KICAgICA8ZmlsZT5LZXlib2FyZFNob3J0Y3V0LmpzPC9maWxlPgpkaWZmIC0tZ2l0
IGEvU291cmNlL1dlYkNvcmUvaW5zcGVjdG9yL2Zyb250LWVuZC9pbnNwZWN0b3IuaHRtbCBiL1Nv
dXJjZS9XZWJDb3JlL2luc3BlY3Rvci9mcm9udC1lbmQvaW5zcGVjdG9yLmh0bWwKaW5kZXggNGMw
NDZjNjZlYzM3ODAyYWEwMGMwOWE5YTExMTg1NzU4YTNjOThiMi4uNjUwNWE4Yjc4ZWU0N2ViNTEy
MDJjMTc2YzY3MWYyNjFjNTIyOTczMyAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvaW5zcGVj
dG9yL2Zyb250LWVuZC9pbnNwZWN0b3IuaHRtbAorKysgYi9Tb3VyY2UvV2ViQ29yZS9pbnNwZWN0
b3IvZnJvbnQtZW5kL2luc3BlY3Rvci5odG1sCkBAIC00Miw3ICs0Miw2IEBAIFRISVMgU09GVFdB
UkUsIEVWRU4gSUYgQURWSVNFRCBPRiBUSEUgUE9TU0lCSUxJVFkgT0YgU1VDSCBEQU1BR0UuCiAg
ICAgPHNjcmlwdCB0eXBlPSJ0ZXh0L2phdmFzY3JpcHQiIHNyYz0iQmluYXJ5U2VhcmNoLmpzIj48
L3NjcmlwdD4KICAgICA8c2NyaXB0IHR5cGU9InRleHQvamF2YXNjcmlwdCIgc3JjPSJ0cmVlb3V0
bGluZS5qcyI+PC9zY3JpcHQ+CiAgICAgPHNjcmlwdCB0eXBlPSJ0ZXh0L2phdmFzY3JpcHQiIHNy
Yz0iaW5zcGVjdG9yLmpzIj48L3NjcmlwdD4KLSAgICA8c2NyaXB0IHR5cGU9InRleHQvamF2YXNj
cmlwdCIgc3JjPSJJbnNwZWN0b3JGcm9udGVuZEFQSS5qcyI+PC9zY3JpcHQ+CiAgICAgPHNjcmlw
dCB0eXBlPSJ0ZXh0L2phdmFzY3JpcHQiIHNyYz0iSW5zcGVjdG9yQmFja2VuZFN0dWIuanMiPjwv
c2NyaXB0PgogICAgIDxzY3JpcHQgdHlwZT0idGV4dC9qYXZhc2NyaXB0IiBzcmM9Ikluc3BlY3Rv
ckZyb250ZW5kSG9zdFN0dWIuanMiPjwvc2NyaXB0PgogICAgIDxzY3JpcHQgdHlwZT0idGV4dC9q
YXZhc2NyaXB0IiBzcmM9IkV4dGVuc2lvblJlZ2lzdHJ5U3R1Yi5qcyI+PC9zY3JpcHQ+CmRpZmYg
LS1naXQgYS9Tb3VyY2UvV2ViS2l0L21hYy9DaGFuZ2VMb2cgYi9Tb3VyY2UvV2ViS2l0L21hYy9D
aGFuZ2VMb2cKaW5kZXggZTFlYjNjNDNjZmE0ODA4MjBlNTZlZjg1YTI1OWZmMzk3Mjc5MmVkYS4u
NzkxOTkyMjA1YjdhOTA4NjYwZjNhZTQ4NzRiN2M5Nzg2ZmRmMDJkNyAxMDA2NDQKLS0tIGEvU291
cmNlL1dlYktpdC9tYWMvQ2hhbmdlTG9nCisrKyBiL1NvdXJjZS9XZWJLaXQvbWFjL0NoYW5nZUxv
ZwpAQCAtMSwzICsxLDM0IEBACisyMDExLTA2LTIxICBTaGVyaWZmIEJvdCAgPHdlYmtpdC5yZXZp
ZXcuYm90QGdtYWlsLmNvbT4KKworICAgICAgICBVbnJldmlld2VkLCByb2xsaW5nIG91dCByODkz
NTQuCisgICAgICAgIGh0dHA6Ly90cmFjLndlYmtpdC5vcmcvY2hhbmdlc2V0Lzg5MzU0CisgICAg
ICAgIGh0dHBzOi8vYnVncy53ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD02MzA5OQorCisgICAg
ICAgIEJyb2tlIHRlc3RzIG9uIE1hYyAoUmVxdWVzdGVkIGJ5IHJuaXdhIG9uICN3ZWJraXQpLgor
CisgICAgICAgICogV2ViQ29yZVN1cHBvcnQvV2ViSW5zcGVjdG9yQ2xpZW50Lm1tOgorICAgICAg
ICAoLVtXZWJJbnNwZWN0b3JXaW5kb3dDb250cm9sbGVyIGRlc3Ryb3lJbnNwZWN0b3JWaWV3Ol0p
OgorICAgICAgICAqIFdlYkluc3BlY3Rvci9XZWJJbnNwZWN0b3IubW06CisgICAgICAgICgtW1dl
Ykluc3BlY3RvciBzaG93Ol0pOgorICAgICAgICAoLVtXZWJJbnNwZWN0b3Igc2hvd0NvbnNvbGU6
XSk6CisgICAgICAgICgtW1dlYkluc3BlY3RvciBpc0RlYnVnZ2luZ0phdmFTY3JpcHRdKToKKyAg
ICAgICAgKC1bV2ViSW5zcGVjdG9yIHRvZ2dsZURlYnVnZ2luZ0phdmFTY3JpcHQ6XSk6CisgICAg
ICAgICgtW1dlYkluc3BlY3RvciBzdGFydERlYnVnZ2luZ0phdmFTY3JpcHQ6XSk6CisgICAgICAg
ICgtW1dlYkluc3BlY3RvciBzdG9wRGVidWdnaW5nSmF2YVNjcmlwdDpdKToKKyAgICAgICAgKC1b
V2ViSW5zcGVjdG9yIGlzUHJvZmlsaW5nSmF2YVNjcmlwdF0pOgorICAgICAgICAoLVtXZWJJbnNw
ZWN0b3IgdG9nZ2xlUHJvZmlsaW5nSmF2YVNjcmlwdDpdKToKKyAgICAgICAgKC1bV2ViSW5zcGVj
dG9yIHN0YXJ0UHJvZmlsaW5nSmF2YVNjcmlwdDpdKToKKyAgICAgICAgKC1bV2ViSW5zcGVjdG9y
IHN0b3BQcm9maWxpbmdKYXZhU2NyaXB0Ol0pOgorICAgICAgICAoLVtXZWJJbnNwZWN0b3IgaXNK
YXZhU2NyaXB0UHJvZmlsaW5nRW5hYmxlZF0pOgorICAgICAgICAoLVtXZWJJbnNwZWN0b3Igc2V0
SmF2YVNjcmlwdFByb2ZpbGluZ0VuYWJsZWQ6XSk6CisgICAgICAgICgtW1dlYkluc3BlY3RvciBp
c1RpbWVsaW5lUHJvZmlsaW5nRW5hYmxlZF0pOgorICAgICAgICAoLVtXZWJJbnNwZWN0b3Igc2V0
VGltZWxpbmVQcm9maWxpbmdFbmFibGVkOl0pOgorICAgICAgICAoLVtXZWJJbnNwZWN0b3Igc2V0
RnJvbnRlbmQ6XSk6CisgICAgICAgICgtW1dlYkluc3BlY3RvciBzaG93V2luZG93Ol0pOgorICAg
ICAgICAqIFdlYkluc3BlY3Rvci9XZWJJbnNwZWN0b3JGcm9udGVuZC5oOgorICAgICAgICAqIFdl
Ykluc3BlY3Rvci9XZWJJbnNwZWN0b3JGcm9udGVuZC5tbToKKyAgICAgICAgKiBXZWJJbnNwZWN0
b3IvV2ViSW5zcGVjdG9yUHJpdmF0ZS5oOgorCiAyMDExLTA2LTIwICBQYXZlbCBGZWxkbWFuICA8
cGZlbGRtYW5AY2hyb21pdW0ub3JnPgogCiAgICAgICAgIFJldmlld2VkIGJ5IFl1cnkgU2VtaWto
YXRza3kuCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0L21hYy9XZWJDb3JlU3VwcG9ydC9XZWJJ
bnNwZWN0b3JDbGllbnQubW0gYi9Tb3VyY2UvV2ViS2l0L21hYy9XZWJDb3JlU3VwcG9ydC9XZWJJ
bnNwZWN0b3JDbGllbnQubW0KaW5kZXggMGEwZTdlMTczMjQxYzlkOTM3Y2QyYmExMzE0NDU4YzVi
OWYwNWI1Zi4uYWY4YjdkYjZkYjRmYTBjZTIyMTE3YmVkMWQxMzQyYTA5ZDJiMjhkOSAxMDA2NDQK
LS0tIGEvU291cmNlL1dlYktpdC9tYWMvV2ViQ29yZVN1cHBvcnQvV2ViSW5zcGVjdG9yQ2xpZW50
Lm1tCisrKyBiL1NvdXJjZS9XZWJLaXQvbWFjL1dlYkNvcmVTdXBwb3J0L1dlYkluc3BlY3RvckNs
aWVudC5tbQpAQCAtNDQ1LDggKzQ0NSw2IEBAIHZvaWQgV2ViSW5zcGVjdG9yRnJvbnRlbmRDbGll
bnQ6OnVwZGF0ZVdpbmRvd1RpdGxlKCkgY29uc3QKIAogLSAodm9pZClkZXN0cm95SW5zcGVjdG9y
VmlldzooYm9vbClub3RpZnlJbnNwZWN0b3JDb250cm9sbGVyCiB7Ci0gICAgW1tfaW5zcGVjdGVk
V2ViVmlldy5nZXQoKSBpbnNwZWN0b3JdIHJlbGVhc2VGcm9udGVuZF07Ci0KICAgICBpZiAoX2Rl
c3Ryb3lpbmdJbnNwZWN0b3JWaWV3KQogICAgICAgICByZXR1cm47CiAgICAgX2Rlc3Ryb3lpbmdJ
bnNwZWN0b3JWaWV3ID0gWUVTOwpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYktpdC9tYWMvV2ViSW5z
cGVjdG9yL1dlYkluc3BlY3Rvci5tbSBiL1NvdXJjZS9XZWJLaXQvbWFjL1dlYkluc3BlY3Rvci9X
ZWJJbnNwZWN0b3IubW0KaW5kZXggMjAxODk0Nzk3MDBhZGZlNDc1N2NjZTRhNWFjOGIwY2M5MzYx
ZTg5Yi4uZjM4YzdlZmEzNmY2NWVhNDUwNzEzNDVhM2Y3NjBiZTE2MzE2MzcyMCAxMDA2NDQKLS0t
IGEvU291cmNlL1dlYktpdC9tYWMvV2ViSW5zcGVjdG9yL1dlYkluc3BlY3Rvci5tbQorKysgYi9T
b3VyY2UvV2ViS2l0L21hYy9XZWJJbnNwZWN0b3IvV2ViSW5zcGVjdG9yLm1tCkBAIC00NSw3ICs0
NSw2IEBAIHVzaW5nIG5hbWVzcGFjZSBXZWJDb3JlOwogICAgIGlmICghKHNlbGYgPSBbc3VwZXIg
aW5pdF0pKQogICAgICAgICByZXR1cm4gbmlsOwogICAgIF93ZWJWaWV3ID0gd2ViVmlldzsgLy8g
bm90IHJldGFpbmVkIHRvIHByZXZlbnQgYSBjeWNsZQotCiAgICAgcmV0dXJuIHNlbGY7CiB9CiAK
QEAgLTYwLDIxICs1OSwxNiBAQCB1c2luZyBuYW1lc3BhY2UgV2ViQ29yZTsKICAgICBfd2ViVmll
dyA9IG5pbDsKIH0KIAotLSAodm9pZClzaG93V2luZG93CistICh2b2lkKXNob3c6KGlkKXNlbmRl
cgogewogICAgIGlmIChQYWdlKiBwYWdlID0gY29yZShfd2ViVmlldykpCiAgICAgICAgIHBhZ2Ut
Pmluc3BlY3RvckNvbnRyb2xsZXIoKS0+c2hvdygpOwogfQogCi0tICh2b2lkKXNob3c6KGlkKXNl
bmRlcgotewotICAgIFtzZWxmIHNob3dXaW5kb3ddOwotfQotCiAtICh2b2lkKXNob3dDb25zb2xl
OihpZClzZW5kZXIKIHsKLSAgICBbc2VsZiBzaG93V2luZG93XTsKLSAgICBbX2Zyb250ZW5kIHNo
b3dDb25zb2xlXTsKKyAgICBpZiAoUGFnZSogcGFnZSA9IGNvcmUoX3dlYlZpZXcpKQorICAgICAg
ICBwYWdlLT5pbnNwZWN0b3JDb250cm9sbGVyKCktPnNob3dDb25zb2xlKCk7CiB9CiAKIC0gKHZv
aWQpc2hvd1RpbWVsaW5lOihpZClzZW5kZXIKQEAgLTg0LDc4ICs3OCw5OCBAQCB1c2luZyBuYW1l
c3BhY2UgV2ViQ29yZTsKIAogLSAoQk9PTClpc0RlYnVnZ2luZ0phdmFTY3JpcHQKIHsKLSAgICBy
ZXR1cm4gX2Zyb250ZW5kICYmIFtfZnJvbnRlbmQgaXNEZWJ1Z2dpbmdFbmFibGVkXTsKKyAgICBp
ZiAoUGFnZSogcGFnZSA9IGNvcmUoX3dlYlZpZXcpKQorICAgICAgICByZXR1cm4gcGFnZS0+aW5z
cGVjdG9yQ29udHJvbGxlcigpLT5kZWJ1Z2dlckVuYWJsZWQoKTsKKyAgICByZXR1cm4gTk87CiB9
CiAKIC0gKHZvaWQpdG9nZ2xlRGVidWdnaW5nSmF2YVNjcmlwdDooaWQpc2VuZGVyCiB7Ci0gICAg
W3NlbGYgc2hvd1dpbmRvd107Ci0KICAgICBpZiAoW3NlbGYgaXNEZWJ1Z2dpbmdKYXZhU2NyaXB0
XSkKLSAgICAgICAgW19mcm9udGVuZCBzZXREZWJ1Z2dpbmdFbmFibGVkOmZhbHNlXTsKKyAgICAg
ICAgW3NlbGYgc3RvcERlYnVnZ2luZ0phdmFTY3JpcHQ6c2VuZGVyXTsKICAgICBlbHNlCi0gICAg
ICAgIFtfZnJvbnRlbmQgc2V0RGVidWdnaW5nRW5hYmxlZDp0cnVlXTsKKyAgICAgICAgW3NlbGYg
c3RhcnREZWJ1Z2dpbmdKYXZhU2NyaXB0OnNlbmRlcl07CiB9CiAKIC0gKHZvaWQpc3RhcnREZWJ1
Z2dpbmdKYXZhU2NyaXB0OihpZClzZW5kZXIKIHsKLSAgICBpZiAoX2Zyb250ZW5kKQotICAgICAg
ICBbX2Zyb250ZW5kIHNldERlYnVnZ2luZ0VuYWJsZWQ6dHJ1ZV07CisgICAgUGFnZSogcGFnZSA9
IGNvcmUoX3dlYlZpZXcpOworICAgIGlmICghcGFnZSkKKyAgICAgICAgcmV0dXJuOworICAgIHBh
Z2UtPmluc3BlY3RvckNvbnRyb2xsZXIoKS0+c2hvd0FuZEVuYWJsZURlYnVnZ2VyKCk7CiB9CiAK
IC0gKHZvaWQpc3RvcERlYnVnZ2luZ0phdmFTY3JpcHQ6KGlkKXNlbmRlcgogewotICAgIGlmIChf
ZnJvbnRlbmQpCi0gICAgICAgIFtfZnJvbnRlbmQgc2V0RGVidWdnaW5nRW5hYmxlZDpmYWxzZV07
CisgICAgaWYgKFBhZ2UqIHBhZ2UgPSBjb3JlKF93ZWJWaWV3KSkKKyAgICAgICAgcGFnZS0+aW5z
cGVjdG9yQ29udHJvbGxlcigpLT5kaXNhYmxlRGVidWdnZXIoKTsKIH0KIAogLSAoQk9PTClpc1By
b2ZpbGluZ0phdmFTY3JpcHQKIHsKLSAgICByZXR1cm4gX2Zyb250ZW5kICYmIFtfZnJvbnRlbmQg
aXNQcm9maWxpbmdKYXZhU2NyaXB0XTsKKyAgICBpZiAoUGFnZSogcGFnZSA9IGNvcmUoX3dlYlZp
ZXcpKQorICAgICAgICByZXR1cm4gcGFnZS0+aW5zcGVjdG9yQ29udHJvbGxlcigpLT5pc1JlY29y
ZGluZ1VzZXJJbml0aWF0ZWRQcm9maWxlKCk7CisgICAgcmV0dXJuIE5POwogfQogCiAtICh2b2lk
KXRvZ2dsZVByb2ZpbGluZ0phdmFTY3JpcHQ6KGlkKXNlbmRlcgogewotICAgIFtzZWxmIHNob3dX
aW5kb3ddOwotCiAgICAgaWYgKFtzZWxmIGlzUHJvZmlsaW5nSmF2YVNjcmlwdF0pCi0gICAgICAg
IFtfZnJvbnRlbmQgc3RvcFByb2ZpbGluZ0phdmFTY3JpcHRdOworICAgICAgICBbc2VsZiBzdG9w
UHJvZmlsaW5nSmF2YVNjcmlwdDpzZW5kZXJdOwogICAgIGVsc2UKLSAgICAgICAgW19mcm9udGVu
ZCBzdGFydFByb2ZpbGluZ0phdmFTY3JpcHRdOworICAgICAgICBbc2VsZiBzdGFydFByb2ZpbGlu
Z0phdmFTY3JpcHQ6c2VuZGVyXTsKIH0KIAogLSAodm9pZClzdGFydFByb2ZpbGluZ0phdmFTY3Jp
cHQ6KGlkKXNlbmRlcgogewotICAgIGlmIChfZnJvbnRlbmQpCi0gICAgICAgIFtfZnJvbnRlbmQg
c3RhcnRQcm9maWxpbmdKYXZhU2NyaXB0XTsKKyAgICBpZiAoUGFnZSogcGFnZSA9IGNvcmUoX3dl
YlZpZXcpKQorICAgICAgICBwYWdlLT5pbnNwZWN0b3JDb250cm9sbGVyKCktPnN0YXJ0VXNlcklu
aXRpYXRlZFByb2ZpbGluZygpOwogfQogCiAtICh2b2lkKXN0b3BQcm9maWxpbmdKYXZhU2NyaXB0
OihpZClzZW5kZXIKIHsKLSAgICBpZiAoX2Zyb250ZW5kKQotICAgICAgICBbX2Zyb250ZW5kIHN0
b3BQcm9maWxpbmdKYXZhU2NyaXB0XTsKKyAgICBQYWdlKiBwYWdlID0gY29yZShfd2ViVmlldyk7
CisgICAgaWYgKCFwYWdlKQorICAgICAgICByZXR1cm47CisgICAgcGFnZS0+aW5zcGVjdG9yQ29u
dHJvbGxlcigpLT5zdG9wVXNlckluaXRpYXRlZFByb2ZpbGluZygpOwogfQogCiAtIChCT09MKWlz
SmF2YVNjcmlwdFByb2ZpbGluZ0VuYWJsZWQKIHsKLSAgICByZXR1cm4gX2Zyb250ZW5kICYmIFtf
ZnJvbnRlbmQgaXNKYXZhU2NyaXB0UHJvZmlsaW5nRW5hYmxlZF07CisgICAgaWYgKFBhZ2UqIHBh
Z2UgPSBjb3JlKF93ZWJWaWV3KSkKKyAgICAgICAgcmV0dXJuIHBhZ2UtPmluc3BlY3RvckNvbnRy
b2xsZXIoKS0+cHJvZmlsZXJFbmFibGVkKCk7CisgICAgcmV0dXJuIE5POwogfQogCiAtICh2b2lk
KXNldEphdmFTY3JpcHRQcm9maWxpbmdFbmFibGVkOihCT09MKWVuYWJsZWQKIHsKLSAgICBpZiAo
X2Zyb250ZW5kKQotICAgICAgICBbX2Zyb250ZW5kIHNldEphdmFTY3JpcHRQcm9maWxpbmdFbmFi
bGVkOmVuYWJsZWRdOworICAgIFBhZ2UqIHBhZ2UgPSBjb3JlKF93ZWJWaWV3KTsKKyAgICBpZiAo
IXBhZ2UpCisgICAgICAgIHJldHVybjsKKworICAgIGlmIChlbmFibGVkKQorICAgICAgICBwYWdl
LT5pbnNwZWN0b3JDb250cm9sbGVyKCktPmVuYWJsZVByb2ZpbGVyKCk7CisgICAgZWxzZQorICAg
ICAgICBwYWdlLT5pbnNwZWN0b3JDb250cm9sbGVyKCktPmRpc2FibGVQcm9maWxlcigpOwogfQog
CiAtIChCT09MKWlzVGltZWxpbmVQcm9maWxpbmdFbmFibGVkCiB7Ci0gICAgcmV0dXJuIF9mcm9u
dGVuZCAmJiBbX2Zyb250ZW5kIGlzVGltZWxpbmVQcm9maWxpbmdFbmFibGVkXTsKKyAgICBpZiAo
UGFnZSogcGFnZSA9IGNvcmUoX3dlYlZpZXcpKQorICAgICAgICByZXR1cm4gcGFnZS0+aW5zcGVj
dG9yQ29udHJvbGxlcigpLT50aW1lbGluZVByb2ZpbGVyRW5hYmxlZCgpID8gWUVTIDogTk87Cisg
ICAgcmV0dXJuIE5POwogfQogCiAtICh2b2lkKXNldFRpbWVsaW5lUHJvZmlsaW5nRW5hYmxlZDoo
Qk9PTCllbmFibGVkCiB7Ci0gICAgaWYgKF9mcm9udGVuZCkKLSAgICAgICAgW19mcm9udGVuZCBz
ZXRUaW1lbGluZVByb2ZpbGluZ0VuYWJsZWQ6ZW5hYmxlZF07CisgICAgUGFnZSogcGFnZSA9IGNv
cmUoX3dlYlZpZXcpOworICAgIGlmICghcGFnZSkKKyAgICAgICAgcmV0dXJuOworCisgICAgaWYg
KGVuYWJsZWQpCisgICAgICAgIHBhZ2UtPmluc3BlY3RvckNvbnRyb2xsZXIoKS0+c3RhcnRUaW1l
bGluZVByb2ZpbGVyKCk7CisgICAgZWxzZQorICAgICAgICBwYWdlLT5pbnNwZWN0b3JDb250cm9s
bGVyKCktPnN0b3BUaW1lbGluZVByb2ZpbGVyKCk7CiB9CiAKIC0gKHZvaWQpY2xvc2U6KGlkKXNl
bmRlciAKQEAgLTE4MiwxMyArMTk2LDggQEAgdXNpbmcgbmFtZXNwYWNlIFdlYkNvcmU7CiAKIC0g
KHZvaWQpc2V0RnJvbnRlbmQ6KFdlYkluc3BlY3RvckZyb250ZW5kICopZnJvbnRlbmQKIHsKLSAg
ICBfZnJvbnRlbmQgPSBbZnJvbnRlbmQgcmV0YWluXTsKLX0KLQotLSAodm9pZClyZWxlYXNlRnJv
bnRlbmQKLXsKICAgICBbX2Zyb250ZW5kIHJlbGVhc2VdOwotICAgIF9mcm9udGVuZCA9IDA7Cisg
ICAgX2Zyb250ZW5kID0gW2Zyb250ZW5kIHJldGFpbl07CiB9CiBAZW5kCiAKQEAgLTIzOCw2ICsy
NDcsNiBAQCB1c2luZyBuYW1lc3BhY2UgV2ViQ29yZTsKICAgICAgICAgbG9nZ2VkID0gWUVTOwog
ICAgIH0KIAotICAgIFtzZWxmIHNob3dXaW5kb3ddOworICAgIFtzZWxmIHNob3c6c2VuZGVyXTsK
IH0KIEBlbmQKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJLaXQvbWFjL1dlYkluc3BlY3Rvci9XZWJJ
bnNwZWN0b3JGcm9udGVuZC5oIGIvU291cmNlL1dlYktpdC9tYWMvV2ViSW5zcGVjdG9yL1dlYklu
c3BlY3RvckZyb250ZW5kLmgKaW5kZXggZTk2YjI2YjRmOGVkNzkzOTMzMGFjZjQ2YjlmYmNkOTFm
ODVlNzhhZC4uOTNiZWQ4NGJiMTA0YzkzMzFjODdhYjFhYzQ0YmE4ODNmMGU1YjA5OSAxMDA2NDQK
LS0tIGEvU291cmNlL1dlYktpdC9tYWMvV2ViSW5zcGVjdG9yL1dlYkluc3BlY3RvckZyb250ZW5k
LmgKKysrIGIvU291cmNlL1dlYktpdC9tYWMvV2ViSW5zcGVjdG9yL1dlYkluc3BlY3RvckZyb250
ZW5kLmgKQEAgLTMyLDIwICszMiw0IEBAIGNsYXNzIFdlYkluc3BlY3RvckZyb250ZW5kQ2xpZW50
OwogLSAoaWQpaW5pdFdpdGhGcm9udGVuZENsaWVudDooV2ViSW5zcGVjdG9yRnJvbnRlbmRDbGll
bnQgKilmcm9udGVuZENsaWVudDsKIC0gKHZvaWQpYXR0YWNoOwogLSAodm9pZClkZXRhY2g7Ci0K
LS0gKEJPT0wpaXNEZWJ1Z2dpbmdFbmFibGVkOwotLSAodm9pZClzZXREZWJ1Z2dpbmdFbmFibGVk
OihCT09MKWVuYWJsZWQ7Ci0KLS0gKEJPT0wpaXNKYXZhU2NyaXB0UHJvZmlsaW5nRW5hYmxlZDsK
LS0gKHZvaWQpc2V0SmF2YVNjcmlwdFByb2ZpbGluZ0VuYWJsZWQ6KEJPT0wpZW5hYmxlZDsKLQot
LSAoQk9PTClpc1RpbWVsaW5lUHJvZmlsaW5nRW5hYmxlZDsKLS0gKHZvaWQpc2V0VGltZWxpbmVQ
cm9maWxpbmdFbmFibGVkOihCT09MKWVuYWJsZWQ7Ci0KLS0gKEJPT0wpaXNQcm9maWxpbmdKYXZh
U2NyaXB0OwotLSAodm9pZClzdGFydFByb2ZpbGluZ0phdmFTY3JpcHQ7Ci0tICh2b2lkKXN0b3BQ
cm9maWxpbmdKYXZhU2NyaXB0OwotCi0tICh2b2lkKXNob3dDb25zb2xlOwotCiBAZW5kCmRpZmYg
LS1naXQgYS9Tb3VyY2UvV2ViS2l0L21hYy9XZWJJbnNwZWN0b3IvV2ViSW5zcGVjdG9yRnJvbnRl
bmQubW0gYi9Tb3VyY2UvV2ViS2l0L21hYy9XZWJJbnNwZWN0b3IvV2ViSW5zcGVjdG9yRnJvbnRl
bmQubW0KaW5kZXggMjI3NTNiYTg2YzhlZjkwZTAzYmE3YjVlM2QwZjIxMDljZWU1YTRlNy4uYzI4
NWVmN2Y0OTY4M2IyYWI1ZTc2ZmQxNTM5YzIwNmI1ZWRjMDAzYyAxMDA2NDQKLS0tIGEvU291cmNl
L1dlYktpdC9tYWMvV2ViSW5zcGVjdG9yL1dlYkluc3BlY3RvckZyb250ZW5kLm1tCisrKyBiL1Nv
dXJjZS9XZWJLaXQvbWFjL1dlYkluc3BlY3Rvci9XZWJJbnNwZWN0b3JGcm9udGVuZC5tbQpAQCAt
NDgsNTQgKzQ4LDQgQEAKICAgICBtX2Zyb250ZW5kQ2xpZW50LT5kZXRhY2hXaW5kb3coKTsKIH0K
IAotLSAoQk9PTClpc0RlYnVnZ2luZ0VuYWJsZWQKLXsKLSAgICByZXR1cm4gbV9mcm9udGVuZENs
aWVudC0+aXNEZWJ1Z2dpbmdFbmFibGVkKCk7Ci19Ci0KLS0gKHZvaWQpc2V0RGVidWdnaW5nRW5h
YmxlZDooQk9PTCllbmFibGVkCi17Ci0gICAgbV9mcm9udGVuZENsaWVudC0+c2V0RGVidWdnaW5n
RW5hYmxlZChlbmFibGVkKTsKLX0KLQotLSAoQk9PTClpc1Byb2ZpbGluZ0phdmFTY3JpcHQKLXsK
LSAgICByZXR1cm4gbV9mcm9udGVuZENsaWVudC0+aXNQcm9maWxpbmdKYXZhU2NyaXB0KCk7Ci19
Ci0KLS0gKHZvaWQpc3RhcnRQcm9maWxpbmdKYXZhU2NyaXB0Ci17Ci0gICAgbV9mcm9udGVuZENs
aWVudC0+c3RhcnRQcm9maWxpbmdKYXZhU2NyaXB0KCk7Ci19Ci0KLS0gKHZvaWQpc3RvcFByb2Zp
bGluZ0phdmFTY3JpcHQKLXsKLSAgICBtX2Zyb250ZW5kQ2xpZW50LT5zdG9wUHJvZmlsaW5nSmF2
YVNjcmlwdCgpOwotfQotCi0tIChCT09MKWlzSmF2YVNjcmlwdFByb2ZpbGluZ0VuYWJsZWQKLXsK
LSAgICByZXR1cm4gbV9mcm9udGVuZENsaWVudC0+aXNKYXZhU2NyaXB0UHJvZmlsaW5nRW5hYmxl
ZCgpOwotfQotCi0tICh2b2lkKXNldEphdmFTY3JpcHRQcm9maWxpbmdFbmFibGVkOihCT09MKWVu
YWJsZWQKLXsKLSAgICBtX2Zyb250ZW5kQ2xpZW50LT5zZXRKYXZhU2NyaXB0UHJvZmlsaW5nRW5h
YmxlZChlbmFibGVkKTsKLX0KLQotLSAoQk9PTClpc1RpbWVsaW5lUHJvZmlsaW5nRW5hYmxlZAot
ewotICAgIHJldHVybiBtX2Zyb250ZW5kQ2xpZW50LT5pc1RpbWVsaW5lUHJvZmlsaW5nRW5hYmxl
ZCgpOwotfQotCi0tICh2b2lkKXNldFRpbWVsaW5lUHJvZmlsaW5nRW5hYmxlZDooQk9PTCllbmFi
bGVkCi17Ci0gICAgbV9mcm9udGVuZENsaWVudC0+c2V0VGltZWxpbmVQcm9maWxpbmdFbmFibGVk
KGVuYWJsZWQpOwotfQotCi0tICh2b2lkKXNob3dDb25zb2xlCi17Ci0gICAgbV9mcm9udGVuZENs
aWVudC0+c2hvd0NvbnNvbGUoKTsKLX0KLQogQGVuZApkaWZmIC0tZ2l0IGEvU291cmNlL1dlYktp
dC9tYWMvV2ViSW5zcGVjdG9yL1dlYkluc3BlY3RvclByaXZhdGUuaCBiL1NvdXJjZS9XZWJLaXQv
bWFjL1dlYkluc3BlY3Rvci9XZWJJbnNwZWN0b3JQcml2YXRlLmgKaW5kZXggM2Q5MjRkNjEyOWIw
MTNkMDcyZDFlNjQyOTEwNTUwYjRjYWZiZTBlYi4uZGYxZTI4NjVmOTQzZWVjM2NjZGU3OGI4NGRi
MDQ1M2JjZmUwOTIxZCAxMDA2NDQKLS0tIGEvU291cmNlL1dlYktpdC9tYWMvV2ViSW5zcGVjdG9y
L1dlYkluc3BlY3RvclByaXZhdGUuaAorKysgYi9Tb3VyY2UvV2ViS2l0L21hYy9XZWJJbnNwZWN0
b3IvV2ViSW5zcGVjdG9yUHJpdmF0ZS5oCkBAIC0zNCw3ICszNCw1IEBACiAKIEBpbnRlcmZhY2Ug
V2ViSW5zcGVjdG9yIChXZWJQcml2YXRlKQogLSAodm9pZClldmFsdWF0ZUluRnJvbnRlbmQ6KGlk
KXNlbmRlciBjYWxsSWQ6KGxvbmcpY2FsbElkIHNjcmlwdDooTlNTdHJpbmcgKilzY3JpcHQ7Ci0t
ICh2b2lkKXNob3dXaW5kb3c7CiAtICh2b2lkKXNldEZyb250ZW5kOihXZWJJbnNwZWN0b3JGcm9u
dGVuZCAqKWZyb250ZW5kOwotLSAodm9pZClyZWxlYXNlRnJvbnRlbmQ7CiBAZW5kCmRpZmYgLS1n
aXQgYS9Tb3VyY2UvV2ViS2l0L3dpbi9DaGFuZ2VMb2cgYi9Tb3VyY2UvV2ViS2l0L3dpbi9DaGFu
Z2VMb2cKaW5kZXggODYxNGJlNzM1ZGZiMzU0MWFlYzJmMmI3Njk0NTU1ODVlZDMxOGY2OC4uNjQ3
YzY5ODVmODk5YjAwYTY0MGE5ZjgzZTcxMDk4NGMyNTRjYTlmMSAxMDA2NDQKLS0tIGEvU291cmNl
L1dlYktpdC93aW4vQ2hhbmdlTG9nCisrKyBiL1NvdXJjZS9XZWJLaXQvd2luL0NoYW5nZUxvZwpA
QCAtMSwzICsxLDM3IEBACisyMDExLTA2LTIxICBTaGVyaWZmIEJvdCAgPHdlYmtpdC5yZXZpZXcu
Ym90QGdtYWlsLmNvbT4KKworICAgICAgICBVbnJldmlld2VkLCByb2xsaW5nIG91dCByODkzNTQu
CisgICAgICAgIGh0dHA6Ly90cmFjLndlYmtpdC5vcmcvY2hhbmdlc2V0Lzg5MzU0CisgICAgICAg
IGh0dHBzOi8vYnVncy53ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD02MzA5OQorCisgICAgICAg
IEJyb2tlIHRlc3RzIG9uIE1hYyAoUmVxdWVzdGVkIGJ5IHJuaXdhIG9uICN3ZWJraXQpLgorCisg
ICAgICAgICogV2ViQ29yZVN1cHBvcnQvV2ViSW5zcGVjdG9yQ2xpZW50LmNwcDoKKyAgICAgICAg
KFdlYkluc3BlY3RvckNsaWVudDo6V2ViSW5zcGVjdG9yQ2xpZW50KToKKyAgICAgICAgKFdlYklu
c3BlY3RvckNsaWVudDo6b3Blbkluc3BlY3RvckZyb250ZW5kKToKKyAgICAgICAgKFdlYkluc3Bl
Y3RvckZyb250ZW5kQ2xpZW50OjpkZXN0cm95SW5zcGVjdG9yVmlldyk6CisgICAgICAgICogV2Vi
Q29yZVN1cHBvcnQvV2ViSW5zcGVjdG9yQ2xpZW50Lmg6CisgICAgICAgICogV2ViSW5zcGVjdG9y
LmNwcDoKKyAgICAgICAgKFdlYkluc3BlY3Rvcjo6Y3JlYXRlSW5zdGFuY2UpOgorICAgICAgICAo
V2ViSW5zcGVjdG9yOjpXZWJJbnNwZWN0b3IpOgorICAgICAgICAoV2ViSW5zcGVjdG9yOjp3ZWJW
aWV3Q2xvc2VkKToKKyAgICAgICAgKFdlYkluc3BlY3Rvcjo6c2hvd0NvbnNvbGUpOgorICAgICAg
ICAoV2ViSW5zcGVjdG9yOjppc0RlYnVnZ2luZ0phdmFTY3JpcHQpOgorICAgICAgICAoV2ViSW5z
cGVjdG9yOjp0b2dnbGVEZWJ1Z2dpbmdKYXZhU2NyaXB0KToKKyAgICAgICAgKFdlYkluc3BlY3Rv
cjo6aXNQcm9maWxpbmdKYXZhU2NyaXB0KToKKyAgICAgICAgKFdlYkluc3BlY3Rvcjo6dG9nZ2xl
UHJvZmlsaW5nSmF2YVNjcmlwdCk6CisgICAgICAgIChXZWJJbnNwZWN0b3I6OmlzSmF2YVNjcmlw
dFByb2ZpbGluZ0VuYWJsZWQpOgorICAgICAgICAoV2ViSW5zcGVjdG9yOjpzZXRKYXZhU2NyaXB0
UHJvZmlsaW5nRW5hYmxlZCk6CisgICAgICAgIChXZWJJbnNwZWN0b3I6OmlzVGltZWxpbmVQcm9m
aWxpbmdFbmFibGVkKToKKyAgICAgICAgKFdlYkluc3BlY3Rvcjo6c2V0VGltZWxpbmVQcm9maWxp
bmdFbmFibGVkKToKKyAgICAgICAgKiBXZWJJbnNwZWN0b3IuaDoKKyAgICAgICAgKiBXZWJWaWV3
LmNwcDoKKyAgICAgICAgKFdlYlZpZXc6OldlYlZpZXcpOgorICAgICAgICAoV2ViVmlldzo6Y2xv
c2UpOgorICAgICAgICAoV2ViVmlldzo6aW5pdFdpdGhGcmFtZSk6CisgICAgICAgIChXZWJWaWV3
OjppbnNwZWN0b3IpOgorICAgICAgICAqIFdlYlZpZXcuaDoKKwogMjAxMS0wNi0yMCAgUGF2ZWwg
RmVsZG1hbiAgPHBmZWxkbWFuQGNocm9taXVtLm9yZz4KIAogICAgICAgICBSZXZpZXdlZCBieSBZ
dXJ5IFNlbWlraGF0c2t5LgpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYktpdC93aW4vV2ViQ29yZVN1
cHBvcnQvV2ViSW5zcGVjdG9yQ2xpZW50LmNwcCBiL1NvdXJjZS9XZWJLaXQvd2luL1dlYkNvcmVT
dXBwb3J0L1dlYkluc3BlY3RvckNsaWVudC5jcHAKaW5kZXggMzFlOTk0YTllODAwMmQyMTQxMGFh
YWYwZTE5MGVjMDZkZWU5MDEyMC4uOGZjOTEwYThjYThlNmVkOGUzMjRjN2IxMDQ3ODVkMWNmMGMx
MzJlYiAxMDA2NDQKLS0tIGEvU291cmNlL1dlYktpdC93aW4vV2ViQ29yZVN1cHBvcnQvV2ViSW5z
cGVjdG9yQ2xpZW50LmNwcAorKysgYi9Tb3VyY2UvV2ViS2l0L3dpbi9XZWJDb3JlU3VwcG9ydC9X
ZWJJbnNwZWN0b3JDbGllbnQuY3BwCkBAIC02OSw3ICs2OSw2IEBAIHN0YXRpYyBDRkJ1bmRsZVJl
ZiBnZXRXZWJLaXRCdW5kbGUoKQogV2ViSW5zcGVjdG9yQ2xpZW50OjpXZWJJbnNwZWN0b3JDbGll
bnQoV2ViVmlldyogd2ViVmlldykKICAgICA6IG1faW5zcGVjdGVkV2ViVmlldyh3ZWJWaWV3KQog
ICAgICwgbV9mcm9udGVuZFBhZ2UoMCkKLSAgICAsIG1fZnJvbnRlbmRDbGllbnQoMCkKIHsKICAg
ICBBU1NFUlQobV9pbnNwZWN0ZWRXZWJWaWV3KTsKICAgICBtX2luc3BlY3RlZFdlYlZpZXctPnZp
ZXdXaW5kb3coKE9MRV9IQU5ETEUqKSZtX2luc3BlY3RlZFdlYlZpZXdId25kKTsKQEAgLTE3Miw5
ICsxNzEsNyBAQCB2b2lkIFdlYkluc3BlY3RvckNsaWVudDo6b3Blbkluc3BlY3RvckZyb250ZW5k
KEluc3BlY3RvckNvbnRyb2xsZXIqIGluc3BlY3RvckNvbgogICAgICAgICByZXR1cm47CiAKICAg
ICBtX2Zyb250ZW5kUGFnZSA9IGNvcmUoZnJvbnRlbmRXZWJWaWV3LmdldCgpKTsKLSAgICBPd25Q
dHI8V2ViSW5zcGVjdG9yRnJvbnRlbmRDbGllbnQ+IGZyb250ZW5kQ2xpZW50ID0gYWRvcHRQdHIo
bmV3IFdlYkluc3BlY3RvckZyb250ZW5kQ2xpZW50KG1faW5zcGVjdGVkV2ViVmlldywgbV9pbnNw
ZWN0ZWRXZWJWaWV3SHduZCwgZnJvbnRlbmRId25kLCBmcm9udGVuZFdlYlZpZXcsIGZyb250ZW5k
V2ViVmlld0h3bmQsIHRoaXMsIGNyZWF0ZUZyb250ZW5kU2V0dGluZ3MoKSkpOwotICAgIG1fZnJv
bnRlbmRDbGllbnQgPSBmcm9udGVuZENsaWVudC5nZXQoKTsKLSAgICBtX2Zyb250ZW5kUGFnZS0+
aW5zcGVjdG9yQ29udHJvbGxlcigpLT5zZXRJbnNwZWN0b3JGcm9udGVuZENsaWVudChmcm9udGVu
ZENsaWVudC5yZWxlYXNlKCkpOworICAgIG1fZnJvbnRlbmRQYWdlLT5pbnNwZWN0b3JDb250cm9s
bGVyKCktPnNldEluc3BlY3RvckZyb250ZW5kQ2xpZW50KGFkb3B0UHRyKG5ldyBXZWJJbnNwZWN0
b3JGcm9udGVuZENsaWVudChtX2luc3BlY3RlZFdlYlZpZXcsIG1faW5zcGVjdGVkV2ViVmlld0h3
bmQsIGZyb250ZW5kSHduZCwgZnJvbnRlbmRXZWJWaWV3LCBmcm9udGVuZFdlYlZpZXdId25kLCB0
aGlzLCBjcmVhdGVGcm9udGVuZFNldHRpbmdzKCkpKSk7CiAgICAgbV9mcm9udGVuZEh3bmQgPSBm
cm9udGVuZEh3bmQ7CiB9CiAKQEAgLTIwNiwxMSArMjAzLDYgQEAgdm9pZCBXZWJJbnNwZWN0b3JD
bGllbnQ6OnVwZGF0ZUhpZ2hsaWdodCgpCiAgICAgICAgIG1faGlnaGxpZ2h0LT51cGRhdGUoKTsK
IH0KIAotdm9pZCBXZWJJbnNwZWN0b3JDbGllbnQ6OnJlbGVhc2VGcm9udGVuZENsaWVudCgpCi17
Ci0gICAgbV9mcm9udGVuZENsaWVudCA9IDA7Ci19Ci0KIFdlYkluc3BlY3RvckZyb250ZW5kQ2xp
ZW50OjpXZWJJbnNwZWN0b3JGcm9udGVuZENsaWVudChXZWJWaWV3KiBpbnNwZWN0ZWRXZWJWaWV3
LCBIV05EIGluc3BlY3RlZFdlYlZpZXdId25kLCBIV05EIGZyb250ZW5kSHduZCwgY29uc3QgQ09N
UHRyPFdlYlZpZXc+JiBmcm9udGVuZFdlYlZpZXcsIEhXTkQgZnJvbnRlbmRXZWJWaWV3SHduZCwg
V2ViSW5zcGVjdG9yQ2xpZW50KiBpbnNwZWN0b3JDbGllbnQsIFBhc3NPd25QdHI8U2V0dGluZ3M+
IHNldHRpbmdzKQogICAgIDogSW5zcGVjdG9yRnJvbnRlbmRDbGllbnRMb2NhbChpbnNwZWN0ZWRX
ZWJWaWV3LT5wYWdlKCktPmluc3BlY3RvckNvbnRyb2xsZXIoKSwgIGNvcmUoZnJvbnRlbmRXZWJW
aWV3LmdldCgpKSwgc2V0dGluZ3MpCiAgICAgLCBtX2luc3BlY3RlZFdlYlZpZXcoaW5zcGVjdGVk
V2ViVmlldykKQEAgLTQxNSw4ICs0MDcsNiBAQCB2b2lkIFdlYkluc3BlY3RvckZyb250ZW5kQ2xp
ZW50OjpzaG93V2luZG93V2l0aG91dE5vdGlmaWNhdGlvbnMoKQogCiB2b2lkIFdlYkluc3BlY3Rv
ckZyb250ZW5kQ2xpZW50OjpkZXN0cm95SW5zcGVjdG9yVmlldyhib29sIG5vdGlmeUluc3BlY3Rv
ckNvbnRyb2xsZXIpCiB7Ci0gICAgbV9pbnNwZWN0b3JDbGllbnQtPnJlbGVhc2VGcm9udGVuZENs
aWVudCgpOwotCiAgICAgaWYgKG1fZGVzdHJveWluZ0luc3BlY3RvclZpZXcpCiAgICAgICAgIHJl
dHVybjsKICAgICBtX2Rlc3Ryb3lpbmdJbnNwZWN0b3JWaWV3ID0gdHJ1ZTsKZGlmZiAtLWdpdCBh
L1NvdXJjZS9XZWJLaXQvd2luL1dlYkNvcmVTdXBwb3J0L1dlYkluc3BlY3RvckNsaWVudC5oIGIv
U291cmNlL1dlYktpdC93aW4vV2ViQ29yZVN1cHBvcnQvV2ViSW5zcGVjdG9yQ2xpZW50LmgKaW5k
ZXggYmVhYmNjNjlhMTlkNWNlZWQyOTFmMzRlOTU1MDYyMWNhYzA2YTUwOC4uNzIyMGE0N2JjODNi
YzAzNzZiNTcyNjhmNzI1OWMyNDMxNTY0ODZkNSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYktpdC93
aW4vV2ViQ29yZVN1cHBvcnQvV2ViSW5zcGVjdG9yQ2xpZW50LmgKKysrIGIvU291cmNlL1dlYktp
dC93aW4vV2ViQ29yZVN1cHBvcnQvV2ViSW5zcGVjdG9yQ2xpZW50LmgKQEAgLTQ2LDcgKzQ2LDYg
QEAgY2xhc3MgUGFnZTsKIAogfQogCi1jbGFzcyBXZWJJbnNwZWN0b3JGcm9udGVuZENsaWVudDsK
IGNsYXNzIFdlYk5vZGVIaWdobGlnaHQ7CiBjbGFzcyBXZWJWaWV3OwogCkBAIC02OCw5ICs2Nyw2
IEBAIHB1YmxpYzoKICAgICB2b2lkIHNldEluc3BlY3RvclN0YXJ0c0F0dGFjaGVkKGJvb2wpOwog
CiAgICAgdm9pZCByZWxlYXNlRnJvbnRlbmRQYWdlKCk7Ci0gICAgdm9pZCByZWxlYXNlRnJvbnRl
bmRDbGllbnQoKTsKLQotICAgIFdlYkluc3BlY3RvckZyb250ZW5kQ2xpZW50KiBmcm9udGVuZENs
aWVudCgpIHsgcmV0dXJuIG1fZnJvbnRlbmRDbGllbnQ7IH0KIAogICAgIHZvaWQgdXBkYXRlSGln
aGxpZ2h0KCk7CiAgICAgdm9pZCBmcm9udGVuZENsb3NpbmcoKQpAQCAtODgsNyArODQsNiBAQCBw
cml2YXRlOgogCiAgICAgV2ViVmlldyogbV9pbnNwZWN0ZWRXZWJWaWV3OwogICAgIFdlYkNvcmU6
OlBhZ2UqIG1fZnJvbnRlbmRQYWdlOwotICAgIFdlYkluc3BlY3RvckZyb250ZW5kQ2xpZW50KiBt
X2Zyb250ZW5kQ2xpZW50OwogICAgIEhXTkQgbV9pbnNwZWN0ZWRXZWJWaWV3SHduZDsKICAgICBI
V05EIG1fZnJvbnRlbmRId25kOwogCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0L3dpbi9XZWJJ
bnNwZWN0b3IuY3BwIGIvU291cmNlL1dlYktpdC93aW4vV2ViSW5zcGVjdG9yLmNwcAppbmRleCA3
ZWM3MTZmOGI5MWY1ZTY2MjRmYjI4YmUxMjMzMDQ3NzRkMTFmNzBiLi45NzYzOTFkYTkyNjQwYjgx
ODU4Nzg1ZGNhZWIwMjViNGFjZDE5ZDc3IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViS2l0L3dpbi9X
ZWJJbnNwZWN0b3IuY3BwCisrKyBiL1NvdXJjZS9XZWJLaXQvd2luL1dlYkluc3BlY3Rvci5jcHAK
QEAgLTI5LDcgKzI5LDYgQEAKICNpbmNsdWRlICJjb25maWcuaCIKICNpbmNsdWRlICJXZWJJbnNw
ZWN0b3IuaCIKIAotI2luY2x1ZGUgIldlYkluc3BlY3RvckNsaWVudC5oIgogI2luY2x1ZGUgIldl
YktpdERMTC5oIgogI2luY2x1ZGUgIldlYlZpZXcuaCIKICNpbmNsdWRlIDxXZWJDb3JlL0luc3Bl
Y3RvckNvbnRyb2xsZXIuaD4KQEAgLTM4LDE3ICszNywxNiBAQAogCiB1c2luZyBuYW1lc3BhY2Ug
V2ViQ29yZTsKIAotV2ViSW5zcGVjdG9yKiBXZWJJbnNwZWN0b3I6OmNyZWF0ZUluc3RhbmNlKFdl
YlZpZXcqIHdlYlZpZXcsIFdlYkluc3BlY3RvckNsaWVudCogaW5zcGVjdG9yQ2xpZW50KQorV2Vi
SW5zcGVjdG9yKiBXZWJJbnNwZWN0b3I6OmNyZWF0ZUluc3RhbmNlKFdlYlZpZXcqIHdlYlZpZXcp
CiB7Ci0gICAgV2ViSW5zcGVjdG9yKiBpbnNwZWN0b3IgPSBuZXcgV2ViSW5zcGVjdG9yKHdlYlZp
ZXcsIGluc3BlY3RvckNsaWVudCk7CisgICAgV2ViSW5zcGVjdG9yKiBpbnNwZWN0b3IgPSBuZXcg
V2ViSW5zcGVjdG9yKHdlYlZpZXcpOwogICAgIGluc3BlY3Rvci0+QWRkUmVmKCk7CiAgICAgcmV0
dXJuIGluc3BlY3RvcjsKIH0KIAotV2ViSW5zcGVjdG9yOjpXZWJJbnNwZWN0b3IoV2ViVmlldyog
d2ViVmlldywgV2ViSW5zcGVjdG9yQ2xpZW50KiBpbnNwZWN0b3JDbGllbnQpCitXZWJJbnNwZWN0
b3I6OldlYkluc3BlY3RvcihXZWJWaWV3KiB3ZWJWaWV3KQogICAgIDogbV9yZWZDb3VudCgwKQog
ICAgICwgbV93ZWJWaWV3KHdlYlZpZXcpCi0gICAgLCBtX2luc3BlY3RvckNsaWVudChpbnNwZWN0
b3JDbGllbnQpCiB7CiAgICAgQVNTRVJUX0FSRyh3ZWJWaWV3LCB3ZWJWaWV3KTsKIApAQCAtNjIs
MTUgKzYwLDkgQEAgV2ViSW5zcGVjdG9yOjp+V2ViSW5zcGVjdG9yKCkKICAgICBnQ2xhc3NOYW1l
Q291bnQucmVtb3ZlKCJXZWJJbnNwZWN0b3IiKTsKIH0KIAotV2ViSW5zcGVjdG9yRnJvbnRlbmRD
bGllbnQqIFdlYkluc3BlY3Rvcjo6ZnJvbnRlbmRDbGllbnQoKQotewotICAgIHJldHVybiBtX2lu
c3BlY3RvckNsaWVudCA/IG1faW5zcGVjdG9yQ2xpZW50LT5mcm9udGVuZENsaWVudCgpIDogMDsK
LX0KLQogdm9pZCBXZWJJbnNwZWN0b3I6OndlYlZpZXdDbG9zZWQoKQogewogICAgIG1fd2ViVmll
dyA9IDA7Ci0gICAgbV9pbnNwZWN0b3JDbGllbnQgPSAwOwogfQogCiBIUkVTVUxUIFNURE1FVEhP
RENBTExUWVBFIFdlYkluc3BlY3Rvcjo6UXVlcnlJbnRlcmZhY2UoUkVGSUlEIHJpaWQsIHZvaWQq
KiBwcHZPYmplY3QpCkBAIC0xMTQsOCArMTA2LDkgQEAgSFJFU1VMVCBTVERNRVRIT0RDQUxMVFlQ
RSBXZWJJbnNwZWN0b3I6OnNob3coKQogCiBIUkVTVUxUIFNURE1FVEhPRENBTExUWVBFIFdlYklu
c3BlY3Rvcjo6c2hvd0NvbnNvbGUoKQogewotICAgIGlmIChmcm9udGVuZENsaWVudCgpKQotICAg
ICAgICBmcm9udGVuZENsaWVudCgpLT5zaG93Q29uc29sZSgpOworICAgIGlmIChtX3dlYlZpZXcp
CisgICAgICAgIGlmIChQYWdlKiBwYWdlID0gbV93ZWJWaWV3LT5wYWdlKCkpCisgICAgICAgICAg
ICBwYWdlLT5pbnNwZWN0b3JDb250cm9sbGVyKCktPnNob3dDb25zb2xlKCk7CiAKICAgICByZXR1
cm4gU19PSzsKIH0KQEAgLTE1MSwyNCArMTQ0LDMyIEBAIEhSRVNVTFQgU1RETUVUSE9EQ0FMTFRZ
UEUgV2ViSW5zcGVjdG9yOjppc0RlYnVnZ2luZ0phdmFTY3JpcHQoQk9PTCogaXNEZWJ1Z2dpbmcp
CiAKICAgICAqaXNEZWJ1Z2dpbmcgPSBGQUxTRTsKIAotICAgIGlmICghZnJvbnRlbmRDbGllbnQo
KSkKKyAgICBpZiAoIW1fd2ViVmlldykKKyAgICAgICAgcmV0dXJuIFNfT0s7CisKKyAgICBQYWdl
KiBwYWdlID0gbV93ZWJWaWV3LT5wYWdlKCk7CisgICAgaWYgKCFwYWdlKQogICAgICAgICByZXR1
cm4gU19PSzsKIAotICAgICppc0RlYnVnZ2luZyA9IGZyb250ZW5kQ2xpZW50KCktPmlzRGVidWdn
aW5nRW5hYmxlZCgpOworICAgICppc0RlYnVnZ2luZyA9IHBhZ2UtPmluc3BlY3RvckNvbnRyb2xs
ZXIoKS0+ZGVidWdnZXJFbmFibGVkKCk7CiAgICAgcmV0dXJuIFNfT0s7CiB9CiAKIEhSRVNVTFQg
U1RETUVUSE9EQ0FMTFRZUEUgV2ViSW5zcGVjdG9yOjp0b2dnbGVEZWJ1Z2dpbmdKYXZhU2NyaXB0
KCkKIHsKLSAgICBzaG93KCk7CisgICAgaWYgKCFtX3dlYlZpZXcpCisgICAgICAgIHJldHVybiBT
X09LOwogCi0gICAgaWYgKCFmcm9udGVuZENsaWVudCgpKQorICAgIFBhZ2UqIHBhZ2UgPSBtX3dl
YlZpZXctPnBhZ2UoKTsKKyAgICBpZiAoIXBhZ2UpCiAgICAgICAgIHJldHVybiBTX09LOwogCi0g
ICAgaWYgKGZyb250ZW5kQ2xpZW50KCktPmlzRGVidWdnaW5nRW5hYmxlZCgpKQotICAgICAgICBm
cm9udGVuZENsaWVudCgpLT5zZXREZWJ1Z2dpbmdFbmFibGVkKGZhbHNlKTsKKyAgICBJbnNwZWN0
b3JDb250cm9sbGVyKiBpbnNwZWN0b3IgPSBwYWdlLT5pbnNwZWN0b3JDb250cm9sbGVyKCk7CisK
KyAgICBpZiAoaW5zcGVjdG9yLT5kZWJ1Z2dlckVuYWJsZWQoKSkKKyAgICAgICAgaW5zcGVjdG9y
LT5kaXNhYmxlRGVidWdnZXIoKTsKICAgICBlbHNlCi0gICAgICAgIGZyb250ZW5kQ2xpZW50KCkt
PnNldERlYnVnZ2luZ0VuYWJsZWQodHJ1ZSk7CisgICAgICAgIGluc3BlY3Rvci0+c2hvd0FuZEVu
YWJsZURlYnVnZ2VyKCk7CiAKICAgICByZXR1cm4gU19PSzsKIH0KQEAgLTE4MCwyNSArMTgxLDMy
IEBAIEhSRVNVTFQgU1RETUVUSE9EQ0FMTFRZUEUgV2ViSW5zcGVjdG9yOjppc1Byb2ZpbGluZ0ph
dmFTY3JpcHQoQk9PTCogaXNQcm9maWxpbmcpCiAKICAgICAqaXNQcm9maWxpbmcgPSBGQUxTRTsK
IAotICAgIGlmICghZnJvbnRlbmRDbGllbnQoKSkKKyAgICBpZiAoIW1fd2ViVmlldykKICAgICAg
ICAgcmV0dXJuIFNfT0s7CiAKLSAgICAqaXNQcm9maWxpbmcgPSBmcm9udGVuZENsaWVudCgpLT5p
c1Byb2ZpbGluZ0phdmFTY3JpcHQoKTsKKyAgICBQYWdlKiBwYWdlID0gbV93ZWJWaWV3LT5wYWdl
KCk7CisgICAgaWYgKCFwYWdlKQorICAgICAgICByZXR1cm4gU19PSzsKIAorICAgICppc1Byb2Zp
bGluZyA9IHBhZ2UtPmluc3BlY3RvckNvbnRyb2xsZXIoKS0+aXNSZWNvcmRpbmdVc2VySW5pdGlh
dGVkUHJvZmlsZSgpOwogICAgIHJldHVybiBTX09LOwogfQogCiBIUkVTVUxUIFNURE1FVEhPRENB
TExUWVBFIFdlYkluc3BlY3Rvcjo6dG9nZ2xlUHJvZmlsaW5nSmF2YVNjcmlwdCgpCiB7Ci0gICAg
c2hvdygpOworICAgIGlmICghbV93ZWJWaWV3KQorICAgICAgICByZXR1cm4gU19PSzsKIAotICAg
IGlmICghZnJvbnRlbmRDbGllbnQoKSkKKyAgICBQYWdlKiBwYWdlID0gbV93ZWJWaWV3LT5wYWdl
KCk7CisgICAgaWYgKCFwYWdlKQogICAgICAgICByZXR1cm4gU19PSzsKIAotICAgIGlmIChmcm9u
dGVuZENsaWVudCgpLT5pc1Byb2ZpbGluZ0phdmFTY3JpcHQoKSkKLSAgICAgICAgZnJvbnRlbmRD
bGllbnQoKS0+c3RvcFByb2ZpbGluZ0phdmFTY3JpcHQoKTsKKyAgICBJbnNwZWN0b3JDb250cm9s
bGVyKiBpbnNwZWN0b3IgPSBwYWdlLT5pbnNwZWN0b3JDb250cm9sbGVyKCk7CisKKyAgICBpZiAo
aW5zcGVjdG9yLT5pc1JlY29yZGluZ1VzZXJJbml0aWF0ZWRQcm9maWxlKCkpCisgICAgICAgIGlu
c3BlY3Rvci0+c3RvcFVzZXJJbml0aWF0ZWRQcm9maWxpbmcoKTsKICAgICBlbHNlCi0gICAgICAg
IGZyb250ZW5kQ2xpZW50KCktPnN0YXJ0UHJvZmlsaW5nSmF2YVNjcmlwdCgpOworICAgICAgICBp
bnNwZWN0b3ItPnN0YXJ0VXNlckluaXRpYXRlZFByb2ZpbGluZygpOwogCiAgICAgcmV0dXJuIFNf
T0s7CiB9CkBAIC0yMTAsMjEgKzIxOCwzMSBAQCBIUkVTVUxUIFNURE1FVEhPRENBTExUWVBFIFdl
Ykluc3BlY3Rvcjo6aXNKYXZhU2NyaXB0UHJvZmlsaW5nRW5hYmxlZChCT09MKiBpc1BybwogCiAg
ICAgKmlzUHJvZmlsaW5nRW5hYmxlZCA9IEZBTFNFOwogCi0gICAgaWYgKCFmcm9udGVuZENsaWVu
dCgpKQorICAgIGlmICghbV93ZWJWaWV3KQorICAgICAgICByZXR1cm4gU19PSzsKKworICAgIFBh
Z2UqIHBhZ2UgPSBtX3dlYlZpZXctPnBhZ2UoKTsKKyAgICBpZiAoIXBhZ2UpCiAgICAgICAgIHJl
dHVybiBTX09LOwogCi0gICAgKmlzUHJvZmlsaW5nRW5hYmxlZCA9IGZyb250ZW5kQ2xpZW50KCkt
PmlzSmF2YVNjcmlwdFByb2ZpbGluZ0VuYWJsZWQoKTsKKyAgICAqaXNQcm9maWxpbmdFbmFibGVk
ID0gcGFnZS0+aW5zcGVjdG9yQ29udHJvbGxlcigpLT5wcm9maWxlckVuYWJsZWQoKTsKICAgICBy
ZXR1cm4gU19PSzsKIH0KIAogSFJFU1VMVCBTVERNRVRIT0RDQUxMVFlQRSBXZWJJbnNwZWN0b3I6
OnNldEphdmFTY3JpcHRQcm9maWxpbmdFbmFibGVkKEJPT0wgZW5hYmxlZCkKIHsKLSAgICBzaG93
KCk7CisgICAgaWYgKCFtX3dlYlZpZXcpCisgICAgICAgIHJldHVybiBTX09LOwogCi0gICAgaWYg
KCFmcm9udGVuZENsaWVudCgpKQorICAgIFBhZ2UqIHBhZ2UgPSBtX3dlYlZpZXctPnBhZ2UoKTsK
KyAgICBpZiAoIXBhZ2UpCiAgICAgICAgIHJldHVybiBTX09LOwogCi0gICAgZnJvbnRlbmRDbGll
bnQoKS0+c2V0SmF2YVNjcmlwdFByb2ZpbGluZ0VuYWJsZWQoZW5hYmxlZCk7CisgICAgaWYgKGVu
YWJsZWQpCisgICAgICAgIHBhZ2UtPmluc3BlY3RvckNvbnRyb2xsZXIoKS0+ZW5hYmxlUHJvZmls
ZXIoKTsKKyAgICBlbHNlCisgICAgICAgIHBhZ2UtPmluc3BlY3RvckNvbnRyb2xsZXIoKS0+ZGlz
YWJsZVByb2ZpbGVyKCk7CisKICAgICByZXR1cm4gU19PSzsKIH0KIApAQCAtMjQ5LDIwICsyNjcs
MzAgQEAgSFJFU1VMVCBTVERNRVRIT0RDQUxMVFlQRSBXZWJJbnNwZWN0b3I6OmlzVGltZWxpbmVQ
cm9maWxpbmdFbmFibGVkKEJPT0wqIGlzRW5hYmwKIAogICAgICppc0VuYWJsZWQgPSBGQUxTRTsK
IAotICAgIGlmICghZnJvbnRlbmRDbGllbnQoKSkKKyAgICBpZiAoIW1fd2ViVmlldykKKyAgICAg
ICAgcmV0dXJuIFNfT0s7CisKKyAgICBQYWdlKiBwYWdlID0gbV93ZWJWaWV3LT5wYWdlKCk7Cisg
ICAgaWYgKCFwYWdlKQogICAgICAgICByZXR1cm4gU19PSzsKIAotICAgICppc0VuYWJsZWQgPSBm
cm9udGVuZENsaWVudCgpLT5pc1RpbWVsaW5lUHJvZmlsaW5nRW5hYmxlZCgpOworICAgICppc0Vu
YWJsZWQgPSBwYWdlLT5pbnNwZWN0b3JDb250cm9sbGVyKCktPnRpbWVsaW5lUHJvZmlsZXJFbmFi
bGVkKCk7CiAgICAgcmV0dXJuIFNfT0s7CiB9CiAKIEhSRVNVTFQgU1RETUVUSE9EQ0FMTFRZUEUg
V2ViSW5zcGVjdG9yOjpzZXRUaW1lbGluZVByb2ZpbGluZ0VuYWJsZWQoQk9PTCBlbmFibGVkKQog
ewotICAgIHNob3coKTsKKyAgICBpZiAoIW1fd2ViVmlldykKKyAgICAgICAgcmV0dXJuIFNfT0s7
CiAKLSAgICBpZiAoIWZyb250ZW5kQ2xpZW50KCkpCisgICAgUGFnZSogcGFnZSA9IG1fd2ViVmll
dy0+cGFnZSgpOworICAgIGlmICghcGFnZSkKICAgICAgICAgcmV0dXJuIFNfT0s7CiAKLSAgICBm
cm9udGVuZENsaWVudCgpLT5zZXRUaW1lbGluZVByb2ZpbGluZ0VuYWJsZWQoZW5hYmxlZCk7Cisg
ICAgaWYgKGVuYWJsZWQpCisgICAgICAgIHBhZ2UtPmluc3BlY3RvckNvbnRyb2xsZXIoKS0+c3Rh
cnRUaW1lbGluZVByb2ZpbGVyKCk7CisgICAgZWxzZQorICAgICAgICBwYWdlLT5pbnNwZWN0b3JD
b250cm9sbGVyKCktPnN0b3BUaW1lbGluZVByb2ZpbGVyKCk7CisKICAgICByZXR1cm4gU19PSzsK
IH0KZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJLaXQvd2luL1dlYkluc3BlY3Rvci5oIGIvU291cmNl
L1dlYktpdC93aW4vV2ViSW5zcGVjdG9yLmgKaW5kZXggNDY0NTk5OTBhMzZhZjIxOWNkZDdjODli
NmI5NTRjYTVkMTVlOGY4ZC4uZTJkMmZjZDA3MzI0NzIzZjE1MjE0NzE3ODRkMjZkZjIyYTQ1MGQw
YSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYktpdC93aW4vV2ViSW5zcGVjdG9yLmgKKysrIGIvU291
cmNlL1dlYktpdC93aW4vV2ViSW5zcGVjdG9yLmgKQEAgLTMyLDE0ICszMiwxMiBAQAogI2luY2x1
ZGUgIldlYktpdC5oIgogI2luY2x1ZGUgPHd0Zi9Ob25jb3B5YWJsZS5oPgogCi1jbGFzcyBXZWJJ
bnNwZWN0b3JDbGllbnQ7Ci1jbGFzcyBXZWJJbnNwZWN0b3JGcm9udGVuZENsaWVudDsKIGNsYXNz
IFdlYlZpZXc7CiAKIGNsYXNzIFdlYkluc3BlY3RvciA6IHB1YmxpYyBJV2ViSW5zcGVjdG9yLCBw
dWJsaWMgSVdlYkluc3BlY3RvclByaXZhdGUgewogICAgIFdURl9NQUtFX05PTkNPUFlBQkxFKFdl
Ykluc3BlY3Rvcik7CiBwdWJsaWM6Ci0gICAgc3RhdGljIFdlYkluc3BlY3RvciogY3JlYXRlSW5z
dGFuY2UoV2ViVmlldyosIFdlYkluc3BlY3RvckNsaWVudCopOworICAgIHN0YXRpYyBXZWJJbnNw
ZWN0b3IqIGNyZWF0ZUluc3RhbmNlKFdlYlZpZXcqKTsKIAogICAgIHZvaWQgd2ViVmlld0Nsb3Nl
ZCgpOwogCkBAIC02OSwxNCArNjcsMTEgQEAgcHVibGljOgogICAgIHZpcnR1YWwgSFJFU1VMVCBT
VERNRVRIT0RDQUxMVFlQRSBzZXRUaW1lbGluZVByb2ZpbGluZ0VuYWJsZWQoQk9PTCk7CiAKIHBy
aXZhdGU6Ci0gICAgV2ViSW5zcGVjdG9yKFdlYlZpZXcqLCBXZWJJbnNwZWN0b3JDbGllbnQqKTsK
KyAgICBXZWJJbnNwZWN0b3IoV2ViVmlldyopOwogICAgIH5XZWJJbnNwZWN0b3IoKTsKIAotICAg
IFdlYkluc3BlY3RvckZyb250ZW5kQ2xpZW50KiBmcm9udGVuZENsaWVudCgpOwotCiAgICAgVUxP
TkcgbV9yZWZDb3VudDsKICAgICBXZWJWaWV3KiBtX3dlYlZpZXc7Ci0gICAgV2ViSW5zcGVjdG9y
Q2xpZW50KiBtX2luc3BlY3RvckNsaWVudDsKIH07CiAKICNlbmRpZiAvLyAhZGVmaW5lZChXZWJJ
bnNwZWN0b3JfaCkKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJLaXQvd2luL1dlYlZpZXcuY3BwIGIv
U291cmNlL1dlYktpdC93aW4vV2ViVmlldy5jcHAKaW5kZXggYWQxMDA4ZDMxNDlhYzEzMTAxNTdh
ZTVlNjkxYThkYzk0ZDk0ZWVmOS4uZjc3MTMzYzM4MzhmYzFmYjgyYTJkMThjNGIwNDRkYWQwMjI0
NzQ1YyAxMDA2NDQKLS0tIGEvU291cmNlL1dlYktpdC93aW4vV2ViVmlldy5jcHAKKysrIGIvU291
cmNlL1dlYktpdC93aW4vV2ViVmlldy5jcHAKQEAgLTMzNyw3ICszMzcsNiBAQCBXZWJWaWV3OjpX
ZWJWaWV3KCkKICAgICAsIG1fdmlld1dpbmRvdygwKQogICAgICwgbV9tYWluRnJhbWUoMCkKICAg
ICAsIG1fcGFnZSgwKQotICAgICwgbV9pbnNwZWN0b3JDbGllbnQoMCkKICAgICAsIG1faGFzQ3Vz
dG9tRHJvcFRhcmdldChmYWxzZSkKICAgICAsIG1fdXNlQmFja0ZvcndhcmRMaXN0KHRydWUpCiAg
ICAgLCBtX3VzZXJBZ2VudE92ZXJyaWRkZW4oZmFsc2UpCkBAIC03MTEsNyArNzEwLDYgQEAgSFJF
U1VMVCBTVERNRVRIT0RDQUxMVFlQRSBXZWJWaWV3OjpjbG9zZSgpCiAgICAgc2V0Rm9ybURlbGVn
YXRlKDApOwogICAgIHNldFBsdWdpbkhhbHRlckRlbGVnYXRlKDApOwogCi0gICAgbV9pbnNwZWN0
b3JDbGllbnQgPSAwOwogICAgIGlmIChtX3dlYkluc3BlY3RvcikKICAgICAgICAgbV93ZWJJbnNw
ZWN0b3ItPndlYlZpZXdDbG9zZWQoKTsKIApAQCAtMjYzOSwxNCArMjYzNywxMiBAQCBIUkVTVUxU
IFNURE1FVEhPRENBTExUWVBFIFdlYlZpZXc6OmluaXRXaXRoRnJhbWUoCiAgICAgaWYgKFNVQ0NF
RURFRChtX3ByZWZlcmVuY2VzLT5zaG91bGRVc2VIaWdoUmVzb2x1dGlvblRpbWVycygmdXNlSGln
aFJlc29sdXRpb25UaW1lcikpKQogICAgICAgICBTZXR0aW5nczo6c2V0U2hvdWxkVXNlSGlnaFJl
c29sdXRpb25UaW1lcnModXNlSGlnaFJlc29sdXRpb25UaW1lcik7CiAKLSAgICBtX2luc3BlY3Rv
ckNsaWVudCA9IG5ldyBXZWJJbnNwZWN0b3JDbGllbnQodGhpcyk7Ci0KICAgICBQYWdlOjpQYWdl
Q2xpZW50cyBwYWdlQ2xpZW50czsKICAgICBwYWdlQ2xpZW50cy5jaHJvbWVDbGllbnQgPSBuZXcg
V2ViQ2hyb21lQ2xpZW50KHRoaXMpOwogICAgIHBhZ2VDbGllbnRzLmNvbnRleHRNZW51Q2xpZW50
ID0gbmV3IFdlYkNvbnRleHRNZW51Q2xpZW50KHRoaXMpOwogICAgIHBhZ2VDbGllbnRzLmVkaXRv
ckNsaWVudCA9IG5ldyBXZWJFZGl0b3JDbGllbnQodGhpcyk7CiAgICAgcGFnZUNsaWVudHMuZHJh
Z0NsaWVudCA9IG5ldyBXZWJEcmFnQ2xpZW50KHRoaXMpOwotICAgIHBhZ2VDbGllbnRzLmluc3Bl
Y3RvckNsaWVudCA9IG1faW5zcGVjdG9yQ2xpZW50OworICAgIHBhZ2VDbGllbnRzLmluc3BlY3Rv
ckNsaWVudCA9IG5ldyBXZWJJbnNwZWN0b3JDbGllbnQodGhpcyk7CiAgICAgcGFnZUNsaWVudHMu
cGx1Z2luSGFsdGVyQ2xpZW50ID0gYWRvcHRQdHIobmV3IFdlYlBsdWdpbkhhbHRlckNsaWVudCh0
aGlzKSk7CiAjaWYgRU5BQkxFKENMSUVOVF9CQVNFRF9HRU9MT0NBVElPTikKICAgICBwYWdlQ2xp
ZW50cy5nZW9sb2NhdGlvbkNsaWVudCA9IG5ldyBXZWJHZW9sb2NhdGlvbkNsaWVudCh0aGlzKTsK
QEAgLTU3MDAsNyArNTY5Niw3IEBAIGJvb2wgV2ViVmlldzo6b25JTUVTZXRDb250ZXh0KFdQQVJB
TSB3cGFyYW0sIExQQVJBTSkKIEhSRVNVTFQgU1RETUVUSE9EQ0FMTFRZUEUgV2ViVmlldzo6aW5z
cGVjdG9yKElXZWJJbnNwZWN0b3IqKiBpbnNwZWN0b3IpCiB7CiAgICAgaWYgKCFtX3dlYkluc3Bl
Y3RvcikKLSAgICAgICAgbV93ZWJJbnNwZWN0b3IuYWRvcHRSZWYoV2ViSW5zcGVjdG9yOjpjcmVh
dGVJbnN0YW5jZSh0aGlzLCBtX2luc3BlY3RvckNsaWVudCkpOworICAgICAgICBtX3dlYkluc3Bl
Y3Rvci5hZG9wdFJlZihXZWJJbnNwZWN0b3I6OmNyZWF0ZUluc3RhbmNlKHRoaXMpKTsKIAogICAg
IHJldHVybiBtX3dlYkluc3BlY3Rvci5jb3B5UmVmVG8oaW5zcGVjdG9yKTsKIH0KZGlmZiAtLWdp
dCBhL1NvdXJjZS9XZWJLaXQvd2luL1dlYlZpZXcuaCBiL1NvdXJjZS9XZWJLaXQvd2luL1dlYlZp
ZXcuaAppbmRleCA2ODg0OTlmYjAxZGZmNjk5NmNhZmVjYjBiZTkxMWRhNTg2ZWZlYjRhLi44NzY2
MjhiNWNjNDYzMjE1OWIwN2FkMzYxOTA3MTM2OGQ1NzlmNGNkIDEwMDY0NAotLS0gYS9Tb3VyY2Uv
V2ViS2l0L3dpbi9XZWJWaWV3LmgKKysrIGIvU291cmNlL1dlYktpdC93aW4vV2ViVmlldy5oCkBA
IC0xMDQyLDcgKzEwNDIsNiBAQCBwcm90ZWN0ZWQ6CiAgICAgSFdORCBtX3ZpZXdXaW5kb3c7CiAg
ICAgV2ViRnJhbWUqIG1fbWFpbkZyYW1lOwogICAgIFdlYkNvcmU6OlBhZ2UqIG1fcGFnZTsKLSAg
ICBXZWJJbnNwZWN0b3JDbGllbnQqIG1faW5zcGVjdG9yQ2xpZW50OwogICAgIAogICAgIFJlZlB0
cjxSZWZDb3VudGVkSEJJVE1BUD4gbV9iYWNraW5nU3RvcmVCaXRtYXA7CiAgICAgU0laRSBtX2Jh
Y2tpbmdTdG9yZVNpemU7Cg==
</data>

          </attachment>
      

    </bug>

</bugzilla>