<?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>52433</bug_id>
          
          <creation_ts>2011-01-14 01:15:52 -0800</creation_ts>
          <short_desc>WebCore::cache() is named too generally</short_desc>
          <delta_ts>2011-01-14 19:12:23 -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>Page Loading</component>
          <version>528+ (Nightly build)</version>
          <rep_platform>All</rep_platform>
          <op_sys>All</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>Minor</bug_severity>
          <target_milestone>---</target_milestone>
          
          
          <everconfirmed>1</everconfirmed>
          <reporter name="Yuzo Fujishima">yuzo</reporter>
          <assigned_to name="Yuzo Fujishima">yuzo</assigned_to>
          <cc>abarth</cc>
    
    <cc>ap</cc>
    
    <cc>buildbot</cc>
    
    <cc>commit-queue</cc>
    
    <cc>eric</cc>
    
    <cc>gustavo</cc>
    
    <cc>koivisto</cc>
    
    <cc>webkit-ews</cc>
    
    <cc>webkit.review.bot</cc>
    
    <cc>xan.lopez</cc>
          

      

      

      

          <comment_sort_order>oldest_to_newest</comment_sort_order>  
          <long_desc isprivate="0" >
    <commentid>334169</commentid>
    <comment_count>0</comment_count>
    <who name="Yuzo Fujishima">yuzo</who>
    <bug_when>2011-01-14 01:15:52 -0800</bug_when>
    <thetext>In my opinion, WebCore::cache() is named too generally.
Being a global function, it should be renamed to something more specific.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>334172</commentid>
    <comment_count>1</comment_count>
      <attachid>78906</attachid>
    <who name="Yuzo Fujishima">yuzo</who>
    <bug_when>2011-01-14 01:21:43 -0800</bug_when>
    <thetext>Created attachment 78906
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>334174</commentid>
    <comment_count>2</comment_count>
    <who name="WebKit Review Bot">webkit.review.bot</who>
    <bug_when>2011-01-14 01:25:09 -0800</bug_when>
    <thetext>Attachment 78906 did not build on gtk:
Build output: http://queues.webkit.org/results/7513032</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>334177</commentid>
    <comment_count>3</comment_count>
    <who name="Early Warning System Bot">webkit-ews</who>
    <bug_when>2011-01-14 01:34:50 -0800</bug_when>
    <thetext>Attachment 78906 did not build on qt:
Build output: http://queues.webkit.org/results/7587026</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>334178</commentid>
    <comment_count>4</comment_count>
      <attachid>78908</attachid>
    <who name="Yuzo Fujishima">yuzo</who>
    <bug_when>2011-01-14 01:39:11 -0800</bug_when>
    <thetext>Created attachment 78908
Fix compilation errors for gtk, qt, wx</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>334180</commentid>
    <comment_count>5</comment_count>
    <who name="Build Bot">buildbot</who>
    <bug_when>2011-01-14 01:42:37 -0800</bug_when>
    <thetext>Attachment 78906 did not build on win:
Build output: http://queues.webkit.org/results/7498039</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>334200</commentid>
    <comment_count>6</comment_count>
      <attachid>78914</attachid>
    <who name="Yuzo Fujishima">yuzo</who>
    <bug_when>2011-01-14 02:05:32 -0800</bug_when>
    <thetext>Created attachment 78914
Fix for WebKit2</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>334397</commentid>
    <comment_count>7</comment_count>
    <who name="Alexey Proskuryakov">ap</who>
    <bug_when>2011-01-14 10:32:21 -0800</bug_when>
    <thetext>CC&apos;ing folks who were leading MemoryCache renaming.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>334793</commentid>
    <comment_count>8</comment_count>
      <attachid>78914</attachid>
    <who name="WebKit Commit Bot">commit-queue</who>
    <bug_when>2011-01-14 17:59:21 -0800</bug_when>
    <thetext>Comment on attachment 78914
Fix for WebKit2

Clearing flags on attachment: 78914

Committed r75857: &lt;http://trac.webkit.org/changeset/75857&gt;</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>334794</commentid>
    <comment_count>9</comment_count>
    <who name="WebKit Commit Bot">commit-queue</who>
    <bug_when>2011-01-14 17:59:30 -0800</bug_when>
    <thetext>All reviewed patches have been landed.  Closing bug.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>334826</commentid>
    <comment_count>10</comment_count>
    <who name="WebKit Review Bot">webkit.review.bot</who>
    <bug_when>2011-01-14 19:12:23 -0800</bug_when>
    <thetext>http://trac.webkit.org/changeset/75857 might have broken GTK Linux 64-bit Debug
The following tests are not passing:
fast/workers/shared-worker-shared.html
fast/workers/worker-close-more.html
fast/workers/worker-constructor.html
http/tests/websocket/tests/workers/close-in-shared-worker.html
http/tests/workers/shared-worker-importScripts.html
http/tests/workers/worker-importScripts.html</thetext>
  </long_desc>
      
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>78906</attachid>
            <date>2011-01-14 01:21:43 -0800</date>
            <delta_ts>2011-01-14 01:39:06 -0800</delta_ts>
            <desc>Patch</desc>
            <filename>bug-52433-20110114012141.patch</filename>
            <type>text/plain</type>
            <size>28879</size>
            <attacher name="Yuzo Fujishima">yuzo</attacher>
            
              <data encoding="base64">ZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL0NoYW5nZUxvZyBiL1NvdXJjZS9XZWJDb3JlL0No
YW5nZUxvZwppbmRleCA2NmU3NzQxZjdlMDBkOTgzMzhhNjMzZTE2MWUxNmYzMTRiZWZiZTA3Li4x
ZGMzZTQ0ZmE2ZTZmZjQzYTUyMWI5NDc5NGIyZjhjODcxYjYzNzU2IDEwMDY0NAotLS0gYS9Tb3Vy
Y2UvV2ViQ29yZS9DaGFuZ2VMb2cKKysrIGIvU291cmNlL1dlYkNvcmUvQ2hhbmdlTG9nCkBAIC0x
LDMgKzEsNDggQEAKKzIwMTEtMDEtMTQgIFl1em8gRnVqaXNoaW1hICA8eXV6b0Bnb29nbGUuY29t
PgorCisgICAgICAgIFJldmlld2VkIGJ5IE5PQk9EWSAoT09QUyEpLgorCisgICAgICAgIFJlbmFt
ZSBjYWNoZSgpIHRvIG1lbW9yeUNhY2hlKCkKKyAgICAgICAgaHR0cHM6Ly9idWdzLndlYmtpdC5v
cmcvc2hvd19idWcuY2dpP2lkPTUyNDMzCisKKyAgICAgICAgTm8gbmV3IHRlc3RzIGJlY2F1c2Ug
dGhlIGJlaGF2aW9yIHJlbWFpbnMgdGhlIHNhbWUuCisKKyAgICAgICAgKiBXZWJDb3JlLmV4cC5p
bjoKKyAgICAgICAgKiBXZWJDb3JlLm9yZGVyOgorICAgICAgICAqIGhpc3RvcnkvUGFnZUNhY2hl
LmNwcDoKKyAgICAgICAgKFdlYkNvcmU6OlBhZ2VDYWNoZTo6cmVsZWFzZUF1dG9yZWxlYXNlZFBh
Z2VzTm93KToKKyAgICAgICAgKiBpbnNwZWN0b3IvSW5zcGVjdG9yUmVzb3VyY2VBZ2VudC5jcHA6
CisgICAgICAgIChXZWJDb3JlOjpJbnNwZWN0b3JSZXNvdXJjZUFnZW50OjpjYWNoZWRSZXNvdXJj
ZSk6CisgICAgICAgICogbG9hZGVyL0ZyYW1lTG9hZGVyLmNwcDoKKyAgICAgICAgKFdlYkNvcmU6
OkZyYW1lTG9hZGVyOjp0ZWxsQ2xpZW50QWJvdXRQYXN0TWVtb3J5Q2FjaGVMb2Fkcyk6CisgICAg
ICAgICogbG9hZGVyL2FyY2hpdmUvY2YvTGVnYWN5V2ViQXJjaGl2ZS5jcHA6CisgICAgICAgIChX
ZWJDb3JlOjpMZWdhY3lXZWJBcmNoaXZlOjpjcmVhdGUpOgorICAgICAgICAqIGxvYWRlci9jYWNo
ZS9DYWNoZWRJbWFnZS5jcHA6CisgICAgICAgIChXZWJDb3JlOjpDYWNoZWRJbWFnZTo6YWxsQ2xp
ZW50c1JlbW92ZWQpOgorICAgICAgICAoV2ViQ29yZTo6Q2FjaGVkSW1hZ2U6OmRhdGEpOgorICAg
ICAgICAqIGxvYWRlci9jYWNoZS9DYWNoZWRSZXNvdXJjZS5jcHA6CisgICAgICAgIChXZWJDb3Jl
OjpDYWNoZWRSZXNvdXJjZTo6fkNhY2hlZFJlc291cmNlKToKKyAgICAgICAgKFdlYkNvcmU6OkNh
Y2hlZFJlc291cmNlOjphZGRDbGllbnRUb1NldCk6CisgICAgICAgIChXZWJDb3JlOjpDYWNoZWRS
ZXNvdXJjZTo6cmVtb3ZlQ2xpZW50KToKKyAgICAgICAgKFdlYkNvcmU6OkNhY2hlZFJlc291cmNl
OjpzZXREZWNvZGVkU2l6ZSk6CisgICAgICAgIChXZWJDb3JlOjpDYWNoZWRSZXNvdXJjZTo6c2V0
RW5jb2RlZFNpemUpOgorICAgICAgICAoV2ViQ29yZTo6Q2FjaGVkUmVzb3VyY2U6OmRpZEFjY2Vz
c0RlY29kZWREYXRhKToKKyAgICAgICAgKiBsb2FkZXIvY2FjaGUvQ2FjaGVkUmVzb3VyY2VMb2Fk
ZXIuY3BwOgorICAgICAgICAoV2ViQ29yZTo6Q2FjaGVkUmVzb3VyY2VMb2FkZXI6OkNhY2hlZFJl
c291cmNlTG9hZGVyKToKKyAgICAgICAgKFdlYkNvcmU6OkNhY2hlZFJlc291cmNlTG9hZGVyOjpy
ZXF1ZXN0VXNlckNTU1N0eWxlU2hlZXQpOgorICAgICAgICAoV2ViQ29yZTo6Q2FjaGVkUmVzb3Vy
Y2VMb2FkZXI6OnJlcXVlc3RSZXNvdXJjZSk6CisgICAgICAgIChXZWJDb3JlOjpDYWNoZWRSZXNv
dXJjZUxvYWRlcjo6cmV2YWxpZGF0ZVJlc291cmNlKToKKyAgICAgICAgKFdlYkNvcmU6OkNhY2hl
ZFJlc291cmNlTG9hZGVyOjpsb2FkUmVzb3VyY2UpOgorICAgICAgICAoV2ViQ29yZTo6Q2FjaGVk
UmVzb3VyY2VMb2FkZXI6OmNsZWFyUHJlbG9hZHMpOgorICAgICAgICAoV2ViQ29yZTo6Q2FjaGVk
UmVzb3VyY2VMb2FkZXI6OnByaW50UHJlbG9hZFN0YXRzKToKKyAgICAgICAgKiBsb2FkZXIvY2Fj
aGUvQ2FjaGVkUmVzb3VyY2VSZXF1ZXN0LmNwcDoKKyAgICAgICAgKFdlYkNvcmU6OkNhY2hlZFJl
c291cmNlUmVxdWVzdDo6bG9hZCk6CisgICAgICAgIChXZWJDb3JlOjpDYWNoZWRSZXNvdXJjZVJl
cXVlc3Q6OmRpZEZhaWwpOgorICAgICAgICAoV2ViQ29yZTo6Q2FjaGVkUmVzb3VyY2VSZXF1ZXN0
OjpkaWRSZWNlaXZlUmVzcG9uc2UpOgorICAgICAgICAqIGxvYWRlci9jYWNoZS9NZW1vcnlDYWNo
ZS5jcHA6CisgICAgICAgIChXZWJDb3JlOjptZW1vcnlDYWNoZSk6CisgICAgICAgICogbG9hZGVy
L2NhY2hlL01lbW9yeUNhY2hlLmg6CisKIDIwMTEtMDEtMTMgIEtlbnQgVGFtdXJhICA8dGtlbnRA
Y2hyb21pdW0ub3JnPgogCiAgICAgICAgIFJldmlld2VkIGJ5IERpbWl0cmkgR2xhemtvdi4KZGlm
ZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL1dlYkNvcmUuZXhwLmluIGIvU291cmNlL1dlYkNvcmUv
V2ViQ29yZS5leHAuaW4KaW5kZXggOTdlZjliNjEyMDhkYjExOThkYTc0NDEzZDM2OWFiODE4YTZl
YWFkYS4uMWUyMTc5NGYwNDRlNTE4MDhlODFjM2UzYWE0MjdlYTY1ZWQzZjYwNiAxMDA2NDQKLS0t
IGEvU291cmNlL1dlYkNvcmUvV2ViQ29yZS5leHAuaW4KKysrIGIvU291cmNlL1dlYkNvcmUvV2Vi
Q29yZS5leHAuaW4KQEAgLTIxMSw2ICsyMTEsNyBAQCBfX1pON1dlYkNvcmUxMU1lbW9yeUNhY2hl
MTNnZXRTdGF0aXN0aWNzRXYKIF9fWk43V2ViQ29yZTExTWVtb3J5Q2FjaGUxM3NldENhcGFjaXRp
ZXNFampqCiBfX1pON1dlYkNvcmUxMVJlbmRlckxheWVyMTlzY3JvbGxSZWN0VG9WaXNpYmxlRVJL
TlNfN0ludFJlY3RFYlJLTlNfMTVTY3JvbGxBbGlnbm1lbnRFUzZfCiBfX1pON1dlYkNvcmUxMWds
b2JhbFBvaW50RVJLOF9OU1BvaW50UDhOU1dpbmRvdworX19aTjdXZWJDb3JlMTFtZW1vcnlDYWNo
ZUV2CiBfX1pON1dlYkNvcmUxMXRvVXNlclNwYWNlRVJLN19OU1JlY3RQOE5TV2luZG93CiBfX1pO
N1dlYkNvcmUxMXdyaXRlVG9GaWxlRWlQS2NpCiBfX1pON1dlYkNvcmUxMkNocm9tZUNsaWVudDIw
cGFpbnRDdXN0b21TY3JvbGxiYXJFUE5TXzE1R3JhcGhpY3NDb250ZXh0RVJLTlNfOUZsb2F0UmVj
dEVOU18yMFNjcm9sbGJhckNvbnRyb2xTaXplRWpOU18xM1Njcm9sbGJhclBhcnRFYmZmagpAQCAt
Njc5LDcgKzY4MCw2IEBAIF9fWk43V2ViQ29yZTVSYW5nZTZjcmVhdGVFTjNXVEYxMFBhc3NSZWZQ
dHJJTlNfOERvY3VtZW50RUVFTlMyX0lOU180Tm9kZUVFRWlTNl9pCiBfX1pON1dlYkNvcmU1UmFu
Z2U2c2V0RW5kRU4zV1RGMTBQYXNzUmVmUHRySU5TXzROb2RlRUVFaVJpCiBfX1pON1dlYkNvcmU1
UmFuZ2U4c2V0U3RhcnRFTjNXVEYxMFBhc3NSZWZQdHJJTlNfNE5vZGVFRUVpUmkKIF9fWk43V2Vi
Q29yZTVSYW5nZUQxRXYKLV9fWk43V2ViQ29yZTVjYWNoZUV2CiBfX1pON1dlYkNvcmU2Q2hyb21l
MTZzZXRTdGF0dXNiYXJUZXh0RVBOU181RnJhbWVFUktOM1dURjZTdHJpbmdFCiBfX1pON1dlYkNv
cmU2Q3Vyc29yOGZyb21UeXBlRU5TMF80VHlwZUUKIF9fWk43V2ViQ29yZTZDdXJzb3JEMUV2CmRp
ZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9XZWJDb3JlLm9yZGVyIGIvU291cmNlL1dlYkNvcmUv
V2ViQ29yZS5vcmRlcgppbmRleCAyNzFkZmM5YjljY2IzNjY4MmIwZTE4N2U3YzI3NTA2N2NiNWUx
MjE2Li5lODhjNDQ0YmJiNzE2NjFlMDMwYTM4MzFkNzEzMmEyNTI3N2Q0ZGZmIDEwMDY0NAotLS0g
YS9Tb3VyY2UvV2ViQ29yZS9XZWJDb3JlLm9yZGVyCisrKyBiL1NvdXJjZS9XZWJDb3JlL1dlYkNv
cmUub3JkZXIKQEAgLTM3MSw3ICszNzEsNyBAQCBfX1pON1dlYkNvcmUxNUNvbGxlY3Rpb25DYWNo
ZTVyZXNldEV2CiBfX1pOM1dURjIwZGVsZXRlQWxsUGFpclNlY29uZHNJUE5TXzZWZWN0b3JJUE43
V2ViQ29yZTdFbGVtZW50RUxtMEVFRUtOU183SGFzaE1hcElQTlMyXzE2QXRvbWljU3RyaW5nSW1w
bEVTNl9OU183UHRySGFzaElTOV9FRU5TCiBfX1pON1dlYkNvcmU5RG9jTG9hZGVyQzFFUE5TXzhE
b2N1bWVudEUKIF9fWk43V2ViQ29yZTlEb2NMb2FkZXJDMkVQTlNfOERvY3VtZW50RQotX19aTjdX
ZWJDb3JlNWNhY2hlRXYKK19fWk43V2ViQ29yZTExbWVtb3J5Q2FjaGVFdgogX19aTjdXZWJDb3Jl
NUNhY2hlQzFFdgogX19aTjdXZWJDb3JlNUNhY2hlQzJFdgogX19aTjdXZWJDb3JlNkxvYWRlckMx
RXYKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL2hpc3RvcnkvUGFnZUNhY2hlLmNwcCBiL1Nv
dXJjZS9XZWJDb3JlL2hpc3RvcnkvUGFnZUNhY2hlLmNwcAppbmRleCA3Mzc1YTljOTRiMjkxNDU4
MDk5NTYxNTI4YmI2ZWRlZjhlNTg2NzUwLi5iMTRiNjA2NzdlODU4ZmQ1YWFkZTg1MWFhZjE2MWEz
Y2Y0YWQ3ZjRlIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9oaXN0b3J5L1BhZ2VDYWNoZS5j
cHAKKysrIGIvU291cmNlL1dlYkNvcmUvaGlzdG9yeS9QYWdlQ2FjaGUuY3BwCkBAIC00NTMsNyAr
NDUzLDcgQEAgdm9pZCBQYWdlQ2FjaGU6OnJlbGVhc2VBdXRvcmVsZWFzZWRQYWdlc05vdygpCiAg
ICAgbV9hdXRvcmVsZWFzZVRpbWVyLnN0b3AoKTsKIAogICAgIC8vIFBvc3Rwb25lIGRlYWQgcHJ1
bmluZyB1bnRpbCBhbGwgb3VyIHJlc291cmNlcyBoYXZlIGdvbmUgZGVhZC4KLSAgICBjYWNoZSgp
LT5zZXRQcnVuZUVuYWJsZWQoZmFsc2UpOworICAgIG1lbW9yeUNhY2hlKCktPnNldFBydW5lRW5h
YmxlZChmYWxzZSk7CiAKICAgICBDYWNoZWRQYWdlU2V0IHRtcDsKICAgICB0bXAuc3dhcChtX2F1
dG9yZWxlYXNlU2V0KTsKQEAgLTQ2Myw4ICs0NjMsOCBAQCB2b2lkIFBhZ2VDYWNoZTo6cmVsZWFz
ZUF1dG9yZWxlYXNlZFBhZ2VzTm93KCkKICAgICAgICAgKCppdCktPmRlc3Ryb3koKTsKIAogICAg
IC8vIE5vdyBkbyB0aGUgcHJ1bmUuCi0gICAgY2FjaGUoKS0+c2V0UHJ1bmVFbmFibGVkKHRydWUp
OwotICAgIGNhY2hlKCktPnBydW5lKCk7CisgICAgbWVtb3J5Q2FjaGUoKS0+c2V0UHJ1bmVFbmFi
bGVkKHRydWUpOworICAgIG1lbW9yeUNhY2hlKCktPnBydW5lKCk7CiB9CiAKIHZvaWQgUGFnZUNh
Y2hlOjphdXRvcmVsZWFzZShQYXNzUmVmUHRyPENhY2hlZFBhZ2U+IHBhZ2UpCmRpZmYgLS1naXQg
YS9Tb3VyY2UvV2ViQ29yZS9pbnNwZWN0b3IvSW5zcGVjdG9yUmVzb3VyY2VBZ2VudC5jcHAgYi9T
b3VyY2UvV2ViQ29yZS9pbnNwZWN0b3IvSW5zcGVjdG9yUmVzb3VyY2VBZ2VudC5jcHAKaW5kZXgg
YTQyNTc5NzljY2RiZDYzZjFlNmM5N2U2YThlMWY4YzExODIwMDlmYi4uZTJkZWRiM2E3M2UyOGNl
Y2MzNjQwNWRiZWMxM2YwODFkYjNhNmYwNyAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvaW5z
cGVjdG9yL0luc3BlY3RvclJlc291cmNlQWdlbnQuY3BwCisrKyBiL1NvdXJjZS9XZWJDb3JlL2lu
c3BlY3Rvci9JbnNwZWN0b3JSZXNvdXJjZUFnZW50LmNwcApAQCAtMTMyLDcgKzEzMiw3IEBAIENh
Y2hlZFJlc291cmNlKiBJbnNwZWN0b3JSZXNvdXJjZUFnZW50OjpjYWNoZWRSZXNvdXJjZShGcmFt
ZSogZnJhbWUsIGNvbnN0IEtVUkwmCiB7CiAgICAgQ2FjaGVkUmVzb3VyY2UqIGNhY2hlZFJlc291
cmNlID0gZnJhbWUtPmRvY3VtZW50KCktPmNhY2hlZFJlc291cmNlTG9hZGVyKCktPmNhY2hlZFJl
c291cmNlKHVybCk7CiAgICAgaWYgKCFjYWNoZWRSZXNvdXJjZSkKLSAgICAgICAgY2FjaGVkUmVz
b3VyY2UgPSBjYWNoZSgpLT5yZXNvdXJjZUZvclVSTCh1cmwpOworICAgICAgICBjYWNoZWRSZXNv
dXJjZSA9IG1lbW9yeUNhY2hlKCktPnJlc291cmNlRm9yVVJMKHVybCk7CiAgICAgcmV0dXJuIGNh
Y2hlZFJlc291cmNlOwogfQogCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9sb2FkZXIvRnJh
bWVMb2FkZXIuY3BwIGIvU291cmNlL1dlYkNvcmUvbG9hZGVyL0ZyYW1lTG9hZGVyLmNwcAppbmRl
eCAzNGZhMTk1Y2E5NmE3NjdhOGM5Y2NiMGJiNTk1NjI2MmM2YjRkNDZiLi44MmZjZjdlNDk1MzY0
ZDVjYjBiMDQyNzI2MzZhMDlhZTk2OGZiNWRiIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9s
b2FkZXIvRnJhbWVMb2FkZXIuY3BwCisrKyBiL1NvdXJjZS9XZWJDb3JlL2xvYWRlci9GcmFtZUxv
YWRlci5jcHAKQEAgLTM0NDUsNyArMzQ0NSw3IEBAIHZvaWQgRnJhbWVMb2FkZXI6OnRlbGxDbGll
bnRBYm91dFBhc3RNZW1vcnlDYWNoZUxvYWRzKCkKIAogICAgIHNpemVfdCBzaXplID0gcGFzdExv
YWRzLnNpemUoKTsKICAgICBmb3IgKHNpemVfdCBpID0gMDsgaSA8IHNpemU7ICsraSkgewotICAg
ICAgICBDYWNoZWRSZXNvdXJjZSogcmVzb3VyY2UgPSBjYWNoZSgpLT5yZXNvdXJjZUZvclVSTChL
VVJMKFBhcnNlZFVSTFN0cmluZywgcGFzdExvYWRzW2ldKSk7CisgICAgICAgIENhY2hlZFJlc291
cmNlKiByZXNvdXJjZSA9IG1lbW9yeUNhY2hlKCktPnJlc291cmNlRm9yVVJMKEtVUkwoUGFyc2Vk
VVJMU3RyaW5nLCBwYXN0TG9hZHNbaV0pKTsKIAogICAgICAgICAvLyBGSVhNRTogVGhlc2UgbG9h
ZHMsIGxvYWRlZCBmcm9tIGNhY2hlLCBidXQgbm93IGdvbmUgZnJvbSB0aGUgY2FjaGUgYnkgdGhl
IHRpbWUKICAgICAgICAgLy8gUGFnZTo6c2V0TWVtb3J5Q2FjaGVDbGllbnRDYWxsc0VuYWJsZWQo
dHJ1ZSkgaXMgY2FsbGVkLCB3aWxsIG5vdCBiZSBzZWVuIGJ5IHRoZSBjbGllbnQuCmRpZmYgLS1n
aXQgYS9Tb3VyY2UvV2ViQ29yZS9sb2FkZXIvYXJjaGl2ZS9jZi9MZWdhY3lXZWJBcmNoaXZlLmNw
cCBiL1NvdXJjZS9XZWJDb3JlL2xvYWRlci9hcmNoaXZlL2NmL0xlZ2FjeVdlYkFyY2hpdmUuY3Bw
CmluZGV4IGRkZDU2NGU5MjVhYjBjNWZmOGY5NzFiZWZhODEzNjJjNDM1MmNmYTQuLmQ5NTc1ZmU5
YjAyYzIwY2Q5YjVjM2I1YWQzOTk3ODIxYTVhMzUzODcgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJD
b3JlL2xvYWRlci9hcmNoaXZlL2NmL0xlZ2FjeVdlYkFyY2hpdmUuY3BwCisrKyBiL1NvdXJjZS9X
ZWJDb3JlL2xvYWRlci9hcmNoaXZlL2NmL0xlZ2FjeVdlYkFyY2hpdmUuY3BwCkBAIC01MjksNyAr
NTI5LDcgQEAgUGFzc1JlZlB0cjxMZWdhY3lXZWJBcmNoaXZlPiBMZWdhY3lXZWJBcmNoaXZlOjpj
cmVhdGUoY29uc3QgU3RyaW5nJiBtYXJrdXBTdHJpbmcKICAgICAgICAgICAgICAgICAgICAgY29u
dGludWU7CiAgICAgICAgICAgICAgICAgfQogCi0gICAgICAgICAgICAgICAgQ2FjaGVkUmVzb3Vy
Y2UgKmNhY2hlZFJlc291cmNlID0gY2FjaGUoKS0+cmVzb3VyY2VGb3JVUkwoc3VicmVzb3VyY2VV
UkwpOworICAgICAgICAgICAgICAgIENhY2hlZFJlc291cmNlKiBjYWNoZWRSZXNvdXJjZSA9IG1l
bW9yeUNhY2hlKCktPnJlc291cmNlRm9yVVJMKHN1YnJlc291cmNlVVJMKTsKICAgICAgICAgICAg
ICAgICBpZiAoY2FjaGVkUmVzb3VyY2UpIHsKICAgICAgICAgICAgICAgICAgICAgcmVzb3VyY2Ug
PSBBcmNoaXZlUmVzb3VyY2U6OmNyZWF0ZShjYWNoZWRSZXNvdXJjZS0+ZGF0YSgpLCBzdWJyZXNv
dXJjZVVSTCwgY2FjaGVkUmVzb3VyY2UtPnJlc3BvbnNlKCkpOwogICAgICAgICAgICAgICAgICAg
ICBpZiAocmVzb3VyY2UpIHsKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL2xvYWRlci9jYWNo
ZS9DYWNoZWRJbWFnZS5jcHAgYi9Tb3VyY2UvV2ViQ29yZS9sb2FkZXIvY2FjaGUvQ2FjaGVkSW1h
Z2UuY3BwCmluZGV4IDYwNjk0MmI1MGZkMmUxMmQ2MWZmYTZlNWIwMmI0YjY4ODZjN2ZlYTIuLjk3
ZmJmMDIxZWMzZDFjYjllY2Y3Mzk3YzIxOGVkMTQ3ZTE3YjNmMzQgMTAwNjQ0Ci0tLSBhL1NvdXJj
ZS9XZWJDb3JlL2xvYWRlci9jYWNoZS9DYWNoZWRJbWFnZS5jcHAKKysrIGIvU291cmNlL1dlYkNv
cmUvbG9hZGVyL2NhY2hlL0NhY2hlZEltYWdlLmNwcApAQCAtMTA3LDcgKzEwNyw3IEBAIHZvaWQg
Q2FjaGVkSW1hZ2U6OmFsbENsaWVudHNSZW1vdmVkKCkKIHsKICAgICBpZiAobV9pbWFnZSAmJiAh
ZXJyb3JPY2N1cnJlZCgpKQogICAgICAgICBtX2ltYWdlLT5yZXNldEFuaW1hdGlvbigpOwotICAg
IGlmIChkb3VibGUgaW50ZXJ2YWwgPSBjYWNoZSgpLT5kZWFkRGVjb2RlZERhdGFEZWxldGlvbklu
dGVydmFsKCkpCisgICAgaWYgKGRvdWJsZSBpbnRlcnZhbCA9IG1lbW9yeUNhY2hlKCktPmRlYWRE
ZWNvZGVkRGF0YURlbGV0aW9uSW50ZXJ2YWwoKSkKICAgICAgICAgbV9kZWNvZGVkRGF0YURlbGV0
aW9uVGltZXIuc3RhcnRPbmVTaG90KGludGVydmFsKTsKIH0KIApAQCAtMjc3LDcgKzI3Nyw3IEBA
IHZvaWQgQ2FjaGVkSW1hZ2U6OmRhdGEoUGFzc1JlZlB0cjxTaGFyZWRCdWZmZXI+IGRhdGEsIGJv
b2wgYWxsRGF0YVJlY2VpdmVkKQogICAgICAgICBpZiAobV9pbWFnZS0+aXNOdWxsKCkgfHwgKG1h
eERlY29kZWRJbWFnZVNpemUgPiAwICYmIGVzdGltYXRlZERlY29kZWRJbWFnZVNpemUgPiBtYXhE
ZWNvZGVkSW1hZ2VTaXplKSkgewogICAgICAgICAgICAgZXJyb3IoZXJyb3JPY2N1cnJlZCgpID8g
c3RhdHVzKCkgOiBEZWNvZGVFcnJvcik7CiAgICAgICAgICAgICBpZiAoaW5DYWNoZSgpKQotICAg
ICAgICAgICAgICAgIGNhY2hlKCktPnJlbW92ZSh0aGlzKTsKKyAgICAgICAgICAgICAgICBtZW1v
cnlDYWNoZSgpLT5yZW1vdmUodGhpcyk7CiAgICAgICAgICAgICByZXR1cm47CiAgICAgICAgIH0K
ICAgICAgICAgCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9sb2FkZXIvY2FjaGUvQ2FjaGVk
UmVzb3VyY2UuY3BwIGIvU291cmNlL1dlYkNvcmUvbG9hZGVyL2NhY2hlL0NhY2hlZFJlc291cmNl
LmNwcAppbmRleCBhOWQ5YjBhNGI4NmY1ZDQ3ZDVmODg1OWE1MzA4MmZiMzQyMmY3NDM3Li4wNmIz
MTMxNTQ2MzY3ODBlZDVlNDNlNDc4OWY5NzczNTI1ZTM1OTNlIDEwMDY0NAotLS0gYS9Tb3VyY2Uv
V2ViQ29yZS9sb2FkZXIvY2FjaGUvQ2FjaGVkUmVzb3VyY2UuY3BwCisrKyBiL1NvdXJjZS9XZWJD
b3JlL2xvYWRlci9jYWNoZS9DYWNoZWRSZXNvdXJjZS5jcHAKQEAgLTExNiw3ICsxMTYsNyBAQCBD
YWNoZWRSZXNvdXJjZTo6fkNhY2hlZFJlc291cmNlKCkKICAgICBBU1NFUlQoY2FuRGVsZXRlKCkp
OwogICAgIEFTU0VSVCghaW5DYWNoZSgpKTsKICAgICBBU1NFUlQoIW1fZGVsZXRlZCk7Ci0gICAg
QVNTRVJUKHVybCgpLmlzTnVsbCgpIHx8IGNhY2hlKCktPnJlc291cmNlRm9yVVJMKEtVUkwoUGFy
c2VkVVJMU3RyaW5nLCB1cmwoKSkpICE9IHRoaXMpOworICAgIEFTU0VSVCh1cmwoKS5pc051bGwo
KSB8fCBtZW1vcnlDYWNoZSgpLT5yZXNvdXJjZUZvclVSTChLVVJMKFBhcnNlZFVSTFN0cmluZywg
dXJsKCkpKSAhPSB0aGlzKTsKICNpZm5kZWYgTkRFQlVHCiAgICAgbV9kZWxldGVkID0gdHJ1ZTsK
ICAgICBjYWNoZWRSZXNvdXJjZUxlYWtDb3VudGVyLmRlY3JlbWVudCgpOwpAQCAtMjU5LDcgKzI1
OSw3IEBAIHZvaWQgQ2FjaGVkUmVzb3VyY2U6OmFkZENsaWVudFRvU2V0KENhY2hlZFJlc291cmNl
Q2xpZW50KiBjbGllbnQpCiAgICAgICAgICAgICBtX3ByZWxvYWRSZXN1bHQgPSBQcmVsb2FkUmVm
ZXJlbmNlZDsKICAgICB9CiAgICAgaWYgKCFoYXNDbGllbnRzKCkgJiYgaW5DYWNoZSgpKQotICAg
ICAgICBjYWNoZSgpLT5hZGRUb0xpdmVSZXNvdXJjZXNTaXplKHRoaXMpOworICAgICAgICBtZW1v
cnlDYWNoZSgpLT5hZGRUb0xpdmVSZXNvdXJjZXNTaXplKHRoaXMpOwogICAgIG1fY2xpZW50cy5h
ZGQoY2xpZW50KTsKIH0KIApAQCAtMjcxLDggKzI3MSw4IEBAIHZvaWQgQ2FjaGVkUmVzb3VyY2U6
OnJlbW92ZUNsaWVudChDYWNoZWRSZXNvdXJjZUNsaWVudCogY2xpZW50KQogICAgIGlmIChjYW5E
ZWxldGUoKSAmJiAhaW5DYWNoZSgpKQogICAgICAgICBkZWxldGUgdGhpczsKICAgICBlbHNlIGlm
ICghaGFzQ2xpZW50cygpICYmIGluQ2FjaGUoKSkgewotICAgICAgICBjYWNoZSgpLT5yZW1vdmVG
cm9tTGl2ZVJlc291cmNlc1NpemUodGhpcyk7Ci0gICAgICAgIGNhY2hlKCktPnJlbW92ZUZyb21M
aXZlRGVjb2RlZFJlc291cmNlc0xpc3QodGhpcyk7CisgICAgICAgIG1lbW9yeUNhY2hlKCktPnJl
bW92ZUZyb21MaXZlUmVzb3VyY2VzU2l6ZSh0aGlzKTsKKyAgICAgICAgbWVtb3J5Q2FjaGUoKS0+
cmVtb3ZlRnJvbUxpdmVEZWNvZGVkUmVzb3VyY2VzTGlzdCh0aGlzKTsKICAgICAgICAgYWxsQ2xp
ZW50c1JlbW92ZWQoKTsKICAgICAgICAgaWYgKHJlc3BvbnNlKCkuY2FjaGVDb250cm9sQ29udGFp
bnNOb1N0b3JlKCkpIHsKICAgICAgICAgICAgIC8vIFJGQzI2MTYgMTQuOS4yOgpAQCAtMjgwLDkg
KzI4MCw5IEBAIHZvaWQgQ2FjaGVkUmVzb3VyY2U6OnJlbW92ZUNsaWVudChDYWNoZWRSZXNvdXJj
ZUNsaWVudCogY2xpZW50KQogICAgICAgICAgICAgLy8gIi4uLiBIaXN0b3J5IGJ1ZmZlcnMgTUFZ
IHN0b3JlIHN1Y2ggcmVzcG9uc2VzIGFzIHBhcnQgb2YgdGhlaXIgbm9ybWFsIG9wZXJhdGlvbi4i
CiAgICAgICAgICAgICAvLyBXZSBhbGxvdyBub24tc2VjdXJlIGNvbnRlbnQgdG8gYmUgcmV1c2Vk
IGluIGhpc3RvcnksIGJ1dCB3ZSBkbyBub3QgYWxsb3cgc2VjdXJlIGNvbnRlbnQgdG8gYmUgcmV1
c2VkLgogICAgICAgICAgICAgaWYgKHByb3RvY29sSXModXJsKCksICJodHRwcyIpKQotICAgICAg
ICAgICAgICAgIGNhY2hlKCktPnJlbW92ZSh0aGlzKTsKKyAgICAgICAgICAgICAgICBtZW1vcnlD
YWNoZSgpLT5yZW1vdmUodGhpcyk7CiAgICAgICAgIH0gZWxzZQotICAgICAgICAgICAgY2FjaGUo
KS0+cHJ1bmUoKTsKKyAgICAgICAgICAgIG1lbW9yeUNhY2hlKCktPnBydW5lKCk7CiAgICAgfQog
ICAgIC8vIFRoaXMgb2JqZWN0IG1heSBiZSBkZWFkIGhlcmUuCiB9CkBAIC0zMDQsMTMgKzMwNCwx
MyBAQCB2b2lkIENhY2hlZFJlc291cmNlOjpzZXREZWNvZGVkU2l6ZSh1bnNpZ25lZCBzaXplKQog
ICAgIC8vIFdlIGhhdmUgdG8gcmVtb3ZlIGV4cGxpY2l0bHkgYmVmb3JlIHVwZGF0aW5nIG1fZGVj
b2RlZFNpemUsIHNvIHRoYXQgd2UgZmluZCB0aGUgY29ycmVjdCBwcmV2aW91cwogICAgIC8vIHF1
ZXVlLgogICAgIGlmIChpbkNhY2hlKCkpCi0gICAgICAgIGNhY2hlKCktPnJlbW92ZUZyb21MUlVM
aXN0KHRoaXMpOworICAgICAgICBtZW1vcnlDYWNoZSgpLT5yZW1vdmVGcm9tTFJVTGlzdCh0aGlz
KTsKICAgICAKICAgICBtX2RlY29kZWRTaXplID0gc2l6ZTsKICAgIAogICAgIGlmIChpbkNhY2hl
KCkpIHsgCiAgICAgICAgIC8vIE5vdyBpbnNlcnQgaW50byB0aGUgbmV3IExSVSBsaXN0LgotICAg
ICAgICBjYWNoZSgpLT5pbnNlcnRJbkxSVUxpc3QodGhpcyk7CisgICAgICAgIG1lbW9yeUNhY2hl
KCktPmluc2VydEluTFJVTGlzdCh0aGlzKTsKICAgICAgICAgCiAgICAgICAgIC8vIEluc2VydCBp
bnRvIG9yIHJlbW92ZSBmcm9tIHRoZSBsaXZlIGRlY29kZWQgbGlzdCBpZiBuZWNlc3NhcnkuCiAg
ICAgICAgIC8vIFdoZW4gaW5zZXJ0aW5nIGludG8gdGhlIExpdmVEZWNvZGVkUmVzb3VyY2VzTGlz
dCBpdCBpcyBwb3NzaWJsZQpAQCAtMzIwLDEyICszMjAsMTIgQEAgdm9pZCBDYWNoZWRSZXNvdXJj
ZTo6c2V0RGVjb2RlZFNpemUodW5zaWduZWQgc2l6ZSkKICAgICAgICAgLy8gYnkgYWNjZXNzIHRp
bWUuIFRoZSB3ZWFrZW5pbmcgb2YgdGhlIGludmFyaWFudCBkb2VzIG5vdCBwb3NlCiAgICAgICAg
IC8vIGEgcHJvYmxlbS4gRm9yIG1vcmUgZGV0YWlscyBwbGVhc2Ugc2VlOiBodHRwczovL2J1Z3Mu
d2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9MzAyMDkKICAgICAgICAgaWYgKG1fZGVjb2RlZFNp
emUgJiYgIW1faW5MaXZlRGVjb2RlZFJlc291cmNlc0xpc3QgJiYgaGFzQ2xpZW50cygpKQotICAg
ICAgICAgICAgY2FjaGUoKS0+aW5zZXJ0SW5MaXZlRGVjb2RlZFJlc291cmNlc0xpc3QodGhpcyk7
CisgICAgICAgICAgICBtZW1vcnlDYWNoZSgpLT5pbnNlcnRJbkxpdmVEZWNvZGVkUmVzb3VyY2Vz
TGlzdCh0aGlzKTsKICAgICAgICAgZWxzZSBpZiAoIW1fZGVjb2RlZFNpemUgJiYgbV9pbkxpdmVE
ZWNvZGVkUmVzb3VyY2VzTGlzdCkKLSAgICAgICAgICAgIGNhY2hlKCktPnJlbW92ZUZyb21MaXZl
RGVjb2RlZFJlc291cmNlc0xpc3QodGhpcyk7CisgICAgICAgICAgICBtZW1vcnlDYWNoZSgpLT5y
ZW1vdmVGcm9tTGl2ZURlY29kZWRSZXNvdXJjZXNMaXN0KHRoaXMpOwogCiAgICAgICAgIC8vIFVw
ZGF0ZSB0aGUgY2FjaGUncyBzaXplIHRvdGFscy4KLSAgICAgICAgY2FjaGUoKS0+YWRqdXN0U2l6
ZShoYXNDbGllbnRzKCksIGRlbHRhKTsKKyAgICAgICAgbWVtb3J5Q2FjaGUoKS0+YWRqdXN0U2l6
ZShoYXNDbGllbnRzKCksIGRlbHRhKTsKICAgICB9CiB9CiAKQEAgLTM0MywxNiArMzQzLDE2IEBA
IHZvaWQgQ2FjaGVkUmVzb3VyY2U6OnNldEVuY29kZWRTaXplKHVuc2lnbmVkIHNpemUpCiAgICAg
Ly8gV2UgaGF2ZSB0byByZW1vdmUgZXhwbGljaXRseSBiZWZvcmUgdXBkYXRpbmcgbV9lbmNvZGVk
U2l6ZSwgc28gdGhhdCB3ZSBmaW5kIHRoZSBjb3JyZWN0IHByZXZpb3VzCiAgICAgLy8gcXVldWUu
CiAgICAgaWYgKGluQ2FjaGUoKSkKLSAgICAgICAgY2FjaGUoKS0+cmVtb3ZlRnJvbUxSVUxpc3Qo
dGhpcyk7CisgICAgICAgIG1lbW9yeUNhY2hlKCktPnJlbW92ZUZyb21MUlVMaXN0KHRoaXMpOwog
ICAgIAogICAgIG1fZW5jb2RlZFNpemUgPSBzaXplOwogICAgCiAgICAgaWYgKGluQ2FjaGUoKSkg
eyAKICAgICAgICAgLy8gTm93IGluc2VydCBpbnRvIHRoZSBuZXcgTFJVIGxpc3QuCi0gICAgICAg
IGNhY2hlKCktPmluc2VydEluTFJVTGlzdCh0aGlzKTsKKyAgICAgICAgbWVtb3J5Q2FjaGUoKS0+
aW5zZXJ0SW5MUlVMaXN0KHRoaXMpOwogICAgICAgICAKICAgICAgICAgLy8gVXBkYXRlIHRoZSBj
YWNoZSdzIHNpemUgdG90YWxzLgotICAgICAgICBjYWNoZSgpLT5hZGp1c3RTaXplKGhhc0NsaWVu
dHMoKSwgZGVsdGEpOworICAgICAgICBtZW1vcnlDYWNoZSgpLT5hZGp1c3RTaXplKGhhc0NsaWVu
dHMoKSwgZGVsdGEpOwogICAgIH0KIH0KIApAQCAtMzYyLDEwICszNjIsMTAgQEAgdm9pZCBDYWNo
ZWRSZXNvdXJjZTo6ZGlkQWNjZXNzRGVjb2RlZERhdGEoZG91YmxlIHRpbWVTdGFtcCkKICAgICAK
ICAgICBpZiAoaW5DYWNoZSgpKSB7CiAgICAgICAgIGlmIChtX2luTGl2ZURlY29kZWRSZXNvdXJj
ZXNMaXN0KSB7Ci0gICAgICAgICAgICBjYWNoZSgpLT5yZW1vdmVGcm9tTGl2ZURlY29kZWRSZXNv
dXJjZXNMaXN0KHRoaXMpOwotICAgICAgICAgICAgY2FjaGUoKS0+aW5zZXJ0SW5MaXZlRGVjb2Rl
ZFJlc291cmNlc0xpc3QodGhpcyk7CisgICAgICAgICAgICBtZW1vcnlDYWNoZSgpLT5yZW1vdmVG
cm9tTGl2ZURlY29kZWRSZXNvdXJjZXNMaXN0KHRoaXMpOworICAgICAgICAgICAgbWVtb3J5Q2Fj
aGUoKS0+aW5zZXJ0SW5MaXZlRGVjb2RlZFJlc291cmNlc0xpc3QodGhpcyk7CiAgICAgICAgIH0K
LSAgICAgICAgY2FjaGUoKS0+cHJ1bmUoKTsKKyAgICAgICAgbWVtb3J5Q2FjaGUoKS0+cHJ1bmUo
KTsKICAgICB9CiB9CiAgICAgCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9sb2FkZXIvY2Fj
aGUvQ2FjaGVkUmVzb3VyY2VMb2FkZXIuY3BwIGIvU291cmNlL1dlYkNvcmUvbG9hZGVyL2NhY2hl
L0NhY2hlZFJlc291cmNlTG9hZGVyLmNwcAppbmRleCAwYWMzZjRiZmZkMWY5MjEwY2VhMGM5Mzhk
NTU1MTQyODMwOGU3NDAxLi4xMjkxOTU5NGRhMmRlNTFhMGEwNmViMzhkM2NjM2EzNjU5ODg3ZTU3
IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9sb2FkZXIvY2FjaGUvQ2FjaGVkUmVzb3VyY2VM
b2FkZXIuY3BwCisrKyBiL1NvdXJjZS9XZWJDb3JlL2xvYWRlci9jYWNoZS9DYWNoZWRSZXNvdXJj
ZUxvYWRlci5jcHAKQEAgLTc4LDcgKzc4LDcgQEAgc3RhdGljIENhY2hlZFJlc291cmNlKiBjcmVh
dGVSZXNvdXJjZShDYWNoZWRSZXNvdXJjZTo6VHlwZSB0eXBlLCBjb25zdCBLVVJMJiB1cmwKIH0K
IAogQ2FjaGVkUmVzb3VyY2VMb2FkZXI6OkNhY2hlZFJlc291cmNlTG9hZGVyKERvY3VtZW50KiBk
b2N1bWVudCkKLSAgICA6IG1fY2FjaGUoY2FjaGUoKSkKKyAgICA6IG1fY2FjaGUobWVtb3J5Q2Fj
aGUoKSkKICAgICAsIG1fZG9jdW1lbnQoZG9jdW1lbnQpCiAgICAgLCBtX3JlcXVlc3RDb3VudCgw
KQogICAgICwgbV9hdXRvTG9hZEltYWdlcyh0cnVlKQpAQCAtMTU0LDE0ICsxNTQsMTQgQEAgQ2Fj
aGVkQ1NTU3R5bGVTaGVldCogQ2FjaGVkUmVzb3VyY2VMb2FkZXI6OnJlcXVlc3RVc2VyQ1NTU3R5
bGVTaGVldChjb25zdCBTdHJpbmcKIHsKICAgICBLVVJMIHVybCA9IE1lbW9yeUNhY2hlOjpyZW1v
dmVGcmFnbWVudElkZW50aWZpZXJJZk5lZWRlZChLVVJMKEtVUkwoKSwgcmVxdWVzdFVSTCkpOwog
Ci0gICAgaWYgKENhY2hlZFJlc291cmNlKiBleGlzdGluZyA9IGNhY2hlKCktPnJlc291cmNlRm9y
VVJMKHVybCkpIHsKKyAgICBpZiAoQ2FjaGVkUmVzb3VyY2UqIGV4aXN0aW5nID0gbWVtb3J5Q2Fj
aGUoKS0+cmVzb3VyY2VGb3JVUkwodXJsKSkgewogICAgICAgICBpZiAoZXhpc3RpbmctPnR5cGUo
KSA9PSBDYWNoZWRSZXNvdXJjZTo6Q1NTU3R5bGVTaGVldCkKICAgICAgICAgICAgIHJldHVybiBz
dGF0aWNfY2FzdDxDYWNoZWRDU1NTdHlsZVNoZWV0Kj4oZXhpc3RpbmcpOwotICAgICAgICBjYWNo
ZSgpLT5yZW1vdmUoZXhpc3RpbmcpOworICAgICAgICBtZW1vcnlDYWNoZSgpLT5yZW1vdmUoZXhp
c3RpbmcpOwogICAgIH0KICAgICBDYWNoZWRDU1NTdHlsZVNoZWV0KiB1c2VyU2hlZXQgPSBuZXcg
Q2FjaGVkQ1NTU3R5bGVTaGVldCh1cmwsIGNoYXJzZXQpOwogICAgIAotICAgIGJvb2wgaW5DYWNo
ZSA9IGNhY2hlKCktPmFkZCh1c2VyU2hlZXQpOworICAgIGJvb2wgaW5DYWNoZSA9IG1lbW9yeUNh
Y2hlKCktPmFkZCh1c2VyU2hlZXQpOwogICAgIGlmICghaW5DYWNoZSkKICAgICAgICAgdXNlclNo
ZWV0LT5zZXRJbkNhY2hlKHRydWUpOwogICAgIApAQCAtMjg0LDcgKzI4NCw3IEBAIENhY2hlZFJl
c291cmNlKiBDYWNoZWRSZXNvdXJjZUxvYWRlcjo6cmVxdWVzdFJlc291cmNlKENhY2hlZFJlc291
cmNlOjpUeXBlIHR5cGUsCiAgICAgICAgIHJldHVybiAwOwogICAgIH0KIAotICAgIGlmIChjYWNo
ZSgpLT5kaXNhYmxlZCgpKSB7CisgICAgaWYgKG1lbW9yeUNhY2hlKCktPmRpc2FibGVkKCkpIHsK
ICAgICAgICAgRG9jdW1lbnRSZXNvdXJjZU1hcDo6aXRlcmF0b3IgaXQgPSBtX2RvY3VtZW50UmVz
b3VyY2VzLmZpbmQodXJsLnN0cmluZygpKTsKICAgICAgICAgaWYgKGl0ICE9IG1fZG9jdW1lbnRS
ZXNvdXJjZXMuZW5kKCkpIHsKICAgICAgICAgICAgIGl0LT5zZWNvbmQtPnNldE93bmluZ0NhY2hl
ZFJlc291cmNlTG9hZGVyKDApOwpAQCAtMjkzLDIxICsyOTMsMjEgQEAgQ2FjaGVkUmVzb3VyY2Uq
IENhY2hlZFJlc291cmNlTG9hZGVyOjpyZXF1ZXN0UmVzb3VyY2UoQ2FjaGVkUmVzb3VyY2U6OlR5
cGUgdHlwZSwKICAgICB9CiAKICAgICAvLyBTZWUgaWYgd2UgY2FuIHVzZSBhbiBleGlzdGluZyBy
ZXNvdXJjZSBmcm9tIHRoZSBjYWNoZS4KLSAgICBDYWNoZWRSZXNvdXJjZSogcmVzb3VyY2UgPSBj
YWNoZSgpLT5yZXNvdXJjZUZvclVSTCh1cmwpOworICAgIENhY2hlZFJlc291cmNlKiByZXNvdXJj
ZSA9IG1lbW9yeUNhY2hlKCktPnJlc291cmNlRm9yVVJMKHVybCk7CiAKICAgICBzd2l0Y2ggKGRl
dGVybWluZVJldmFsaWRhdGlvblBvbGljeSh0eXBlLCBmb3JQcmVsb2FkLCByZXNvdXJjZSkpIHsK
ICAgICBjYXNlIExvYWQ6CiAgICAgICAgIHJlc291cmNlID0gbG9hZFJlc291cmNlKHR5cGUsIHVy
bCwgY2hhcnNldCwgcHJpb3JpdHkpOwogICAgICAgICBicmVhazsKICAgICBjYXNlIFJlbG9hZDoK
LSAgICAgICAgY2FjaGUoKS0+cmVtb3ZlKHJlc291cmNlKTsKKyAgICAgICAgbWVtb3J5Q2FjaGUo
KS0+cmVtb3ZlKHJlc291cmNlKTsKICAgICAgICAgcmVzb3VyY2UgPSBsb2FkUmVzb3VyY2UodHlw
ZSwgdXJsLCBjaGFyc2V0LCBwcmlvcml0eSk7CiAgICAgICAgIGJyZWFrOwogICAgIGNhc2UgUmV2
YWxpZGF0ZToKICAgICAgICAgcmVzb3VyY2UgPSByZXZhbGlkYXRlUmVzb3VyY2UocmVzb3VyY2Us
IHByaW9yaXR5KTsKICAgICAgICAgYnJlYWs7CiAgICAgY2FzZSBVc2U6Ci0gICAgICAgIGNhY2hl
KCktPnJlc291cmNlQWNjZXNzZWQocmVzb3VyY2UpOworICAgICAgICBtZW1vcnlDYWNoZSgpLT5y
ZXNvdXJjZUFjY2Vzc2VkKHJlc291cmNlKTsKICAgICAgICAgbm90aWZ5TG9hZGVkRnJvbU1lbW9y
eUNhY2hlKHJlc291cmNlKTsKICAgICAgICAgYnJlYWs7CiAgICAgfQpAQCAtMzI1LDcgKzMyNSw3
IEBAIENhY2hlZFJlc291cmNlKiBDYWNoZWRSZXNvdXJjZUxvYWRlcjo6cmV2YWxpZGF0ZVJlc291
cmNlKENhY2hlZFJlc291cmNlKiByZXNvdXJjCiB7CiAgICAgQVNTRVJUKHJlc291cmNlKTsKICAg
ICBBU1NFUlQocmVzb3VyY2UtPmluQ2FjaGUoKSk7Ci0gICAgQVNTRVJUKCFjYWNoZSgpLT5kaXNh
YmxlZCgpKTsKKyAgICBBU1NFUlQoIW1lbW9yeUNhY2hlKCktPmRpc2FibGVkKCkpOwogICAgIEFT
U0VSVChyZXNvdXJjZS0+Y2FuVXNlQ2FjaGVWYWxpZGF0b3IoKSk7CiAgICAgQVNTRVJUKCFyZXNv
dXJjZS0+cmVzb3VyY2VUb1JldmFsaWRhdGUoKSk7CiAgICAgCkBAIC0zMzUsOCArMzM1LDggQEAg
Q2FjaGVkUmVzb3VyY2UqIENhY2hlZFJlc291cmNlTG9hZGVyOjpyZXZhbGlkYXRlUmVzb3VyY2Uo
Q2FjaGVkUmVzb3VyY2UqIHJlc291cmMKICAgICBMT0coUmVzb3VyY2VMb2FkaW5nLCAiUmVzb3Vy
Y2UgJXAgY3JlYXRlZCB0byByZXZhbGlkYXRlICVwIiwgbmV3UmVzb3VyY2UsIHJlc291cmNlKTsK
ICAgICBuZXdSZXNvdXJjZS0+c2V0UmVzb3VyY2VUb1JldmFsaWRhdGUocmVzb3VyY2UpOwogICAg
IAotICAgIGNhY2hlKCktPnJlbW92ZShyZXNvdXJjZSk7Ci0gICAgY2FjaGUoKS0+YWRkKG5ld1Jl
c291cmNlKTsKKyAgICBtZW1vcnlDYWNoZSgpLT5yZW1vdmUocmVzb3VyY2UpOworICAgIG1lbW9y
eUNhY2hlKCktPmFkZChuZXdSZXNvdXJjZSk7CiAgICAgCiAgICAgbmV3UmVzb3VyY2UtPnNldExv
YWRQcmlvcml0eShwcmlvcml0eSk7CiAgICAgbmV3UmVzb3VyY2UtPmxvYWQodGhpcyk7CkBAIC0z
NDcsMTMgKzM0NywxMyBAQCBDYWNoZWRSZXNvdXJjZSogQ2FjaGVkUmVzb3VyY2VMb2FkZXI6OnJl
dmFsaWRhdGVSZXNvdXJjZShDYWNoZWRSZXNvdXJjZSogcmVzb3VyYwogCiBDYWNoZWRSZXNvdXJj
ZSogQ2FjaGVkUmVzb3VyY2VMb2FkZXI6OmxvYWRSZXNvdXJjZShDYWNoZWRSZXNvdXJjZTo6VHlw
ZSB0eXBlLCBjb25zdCBLVVJMJiB1cmwsIGNvbnN0IFN0cmluZyYgY2hhcnNldCwgUmVzb3VyY2VM
b2FkUHJpb3JpdHkgcHJpb3JpdHkpCiB7Ci0gICAgQVNTRVJUKCFjYWNoZSgpLT5yZXNvdXJjZUZv
clVSTCh1cmwpKTsKKyAgICBBU1NFUlQoIW1lbW9yeUNhY2hlKCktPnJlc291cmNlRm9yVVJMKHVy
bCkpOwogICAgIAogICAgIExPRyhSZXNvdXJjZUxvYWRpbmcsICJMb2FkaW5nIENhY2hlZFJlc291
cmNlIGZvciAnJXMnLiIsIHVybC5zdHJpbmcoKS5sYXRpbjEoKS5kYXRhKCkpOwogICAgIAogICAg
IENhY2hlZFJlc291cmNlKiByZXNvdXJjZSA9IGNyZWF0ZVJlc291cmNlKHR5cGUsIHVybCwgY2hh
cnNldCk7CiAgICAgCi0gICAgYm9vbCBpbkNhY2hlID0gY2FjaGUoKS0+YWRkKHJlc291cmNlKTsK
KyAgICBib29sIGluQ2FjaGUgPSBtZW1vcnlDYWNoZSgpLT5hZGQocmVzb3VyY2UpOwogICAgIAog
ICAgIC8vIFByZXRlbmQgdGhlIHJlc291cmNlIGlzIGluIHRoZSBjYWNoZSwgdG8gcHJldmVudCBp
dCBmcm9tIGJlaW5nIGRlbGV0ZWQgZHVyaW5nIHRoZSBsb2FkKCkgY2FsbC4KICAgICAvLyBGSVhN
RTogQ2FjaGVkUmVzb3VyY2Ugc2hvdWxkIGp1c3QgdXNlIG5vcm1hbCByZWZjb3VudGluZyBpbnN0
ZWFkLgpAQCAtMzcxLDcgKzM3MSw3IEBAIENhY2hlZFJlc291cmNlKiBDYWNoZWRSZXNvdXJjZUxv
YWRlcjo6bG9hZFJlc291cmNlKENhY2hlZFJlc291cmNlOjpUeXBlIHR5cGUsIGNvCiAgICAgLy8g
V2UgZG9uJ3Qgc3VwcG9ydCBpbW1lZGlhdGUgbG9hZHMsIGJ1dCB3ZSBkbyBzdXBwb3J0IGltbWVk
aWF0ZSBmYWlsdXJlLgogICAgIGlmIChyZXNvdXJjZS0+ZXJyb3JPY2N1cnJlZCgpKSB7CiAgICAg
ICAgIGlmIChpbkNhY2hlKQotICAgICAgICAgICAgY2FjaGUoKS0+cmVtb3ZlKHJlc291cmNlKTsK
KyAgICAgICAgICAgIG1lbW9yeUNhY2hlKCktPnJlbW92ZShyZXNvdXJjZSk7CiAgICAgICAgIGVs
c2UKICAgICAgICAgICAgIGRlbGV0ZSByZXNvdXJjZTsKICAgICAgICAgcmV0dXJuIDA7CkBAIC02
MzMsNyArNjMzLDcgQEAgdm9pZCBDYWNoZWRSZXNvdXJjZUxvYWRlcjo6Y2xlYXJQcmVsb2Fkcygp
CiAgICAgICAgIGlmIChyZXMtPmNhbkRlbGV0ZSgpICYmICFyZXMtPmluQ2FjaGUoKSkKICAgICAg
ICAgICAgIGRlbGV0ZSByZXM7CiAgICAgICAgIGVsc2UgaWYgKHJlcy0+cHJlbG9hZFJlc3VsdCgp
ID09IENhY2hlZFJlc291cmNlOjpQcmVsb2FkTm90UmVmZXJlbmNlZCkKLSAgICAgICAgICAgIGNh
Y2hlKCktPnJlbW92ZShyZXMpOworICAgICAgICAgICAgbWVtb3J5Q2FjaGUoKS0+cmVtb3ZlKHJl
cyk7CiAgICAgfQogICAgIG1fcHJlbG9hZHMuY2xlYXIoKTsKIH0KQEAgLTY3Nyw3ICs2NzcsNyBA
QCB2b2lkIENhY2hlZFJlc291cmNlTG9hZGVyOjpwcmludFByZWxvYWRTdGF0cygpCiAgICAgICAg
IH0KICAgICAgICAgCiAgICAgICAgIGlmIChyZXMtPmVycm9yT2NjdXJyZWQoKSkKLSAgICAgICAg
ICAgIGNhY2hlKCktPnJlbW92ZShyZXMpOworICAgICAgICAgICAgbWVtb3J5Q2FjaGUoKS0+cmVt
b3ZlKHJlcyk7CiAgICAgICAgIAogICAgICAgICByZXMtPmRlY3JlYXNlUHJlbG9hZENvdW50KCk7
CiAgICAgfQpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvbG9hZGVyL2NhY2hlL0NhY2hlZFJl
c291cmNlUmVxdWVzdC5jcHAgYi9Tb3VyY2UvV2ViQ29yZS9sb2FkZXIvY2FjaGUvQ2FjaGVkUmVz
b3VyY2VSZXF1ZXN0LmNwcAppbmRleCA4MjdiYjhlNDA5OTQ4YzhhYjk0NjU0NWMxZTcxN2RmOWE0
OWYzYWJiLi5kNWUxYWRmOWJhYWIwZGVlZjQ0NjM1MTVkNWIzZWE4Njc4MjZjNTBjIDEwMDY0NAot
LS0gYS9Tb3VyY2UvV2ViQ29yZS9sb2FkZXIvY2FjaGUvQ2FjaGVkUmVzb3VyY2VSZXF1ZXN0LmNw
cAorKysgYi9Tb3VyY2UvV2ViQ29yZS9sb2FkZXIvY2FjaGUvQ2FjaGVkUmVzb3VyY2VSZXF1ZXN0
LmNwcApAQCAtMTIyLDcgKzEyMiw3IEBAIFBhc3NSZWZQdHI8Q2FjaGVkUmVzb3VyY2VSZXF1ZXN0
PiBDYWNoZWRSZXNvdXJjZVJlcXVlc3Q6OmxvYWQoQ2FjaGVkUmVzb3VyY2VMb2FkCiAgICAgICAg
IGNhY2hlZFJlc291cmNlTG9hZGVyLT5kZWNyZW1lbnRSZXF1ZXN0Q291bnQocmVzb3VyY2UpOwog
ICAgICAgICBjYWNoZWRSZXNvdXJjZUxvYWRlci0+bG9hZEZpbmlzaGluZygpOwogICAgICAgICBp
ZiAocmVzb3VyY2UtPnJlc291cmNlVG9SZXZhbGlkYXRlKCkpIAotICAgICAgICAgICAgY2FjaGUo
KS0+cmV2YWxpZGF0aW9uRmFpbGVkKHJlc291cmNlKTsgCisgICAgICAgICAgICBtZW1vcnlDYWNo
ZSgpLT5yZXZhbGlkYXRpb25GYWlsZWQocmVzb3VyY2UpOyAKICAgICAgICAgcmVzb3VyY2UtPmVy
cm9yKENhY2hlZFJlc291cmNlOjpMb2FkRXJyb3IpOwogICAgICAgICBjYWNoZWRSZXNvdXJjZUxv
YWRlci0+bG9hZERvbmUoMCk7CiAgICAgICAgIHJldHVybiAwOwpAQCAtMTg2LDcgKzE4Niw3IEBA
IHZvaWQgQ2FjaGVkUmVzb3VyY2VSZXF1ZXN0OjpkaWRGYWlsKGJvb2wgY2FuY2VsbGVkKQogICAg
IG1fbG9hZGVyLT5jbGVhckNsaWVudCgpOwogCiAgICAgaWYgKG1fcmVzb3VyY2UtPnJlc291cmNl
VG9SZXZhbGlkYXRlKCkpCi0gICAgICAgIGNhY2hlKCktPnJldmFsaWRhdGlvbkZhaWxlZChtX3Jl
c291cmNlKTsKKyAgICAgICAgbWVtb3J5Q2FjaGUoKS0+cmV2YWxpZGF0aW9uRmFpbGVkKG1fcmVz
b3VyY2UpOwogCiAgICAgaWYgKCFjYW5jZWxsZWQpIHsKICAgICAgICAgbV9jYWNoZWRSZXNvdXJj
ZUxvYWRlci0+bG9hZEZpbmlzaGluZygpOwpAQCAtMTk0LDcgKzE5NCw3IEBAIHZvaWQgQ2FjaGVk
UmVzb3VyY2VSZXF1ZXN0OjpkaWRGYWlsKGJvb2wgY2FuY2VsbGVkKQogICAgIH0KIAogICAgIGlm
IChjYW5jZWxsZWQgfHwgIW1fcmVzb3VyY2UtPmlzUHJlbG9hZGVkKCkpCi0gICAgICAgIGNhY2hl
KCktPnJlbW92ZShtX3Jlc291cmNlKTsKKyAgICAgICAgbWVtb3J5Q2FjaGUoKS0+cmVtb3ZlKG1f
cmVzb3VyY2UpOwogICAgIAogICAgIG1fY2FjaGVkUmVzb3VyY2VMb2FkZXItPmxvYWREb25lKHRo
aXMpOwogfQpAQCAtMjExLDcgKzIxMSw3IEBAIHZvaWQgQ2FjaGVkUmVzb3VyY2VSZXF1ZXN0Ojpk
aWRSZWNlaXZlUmVzcG9uc2UoU3VicmVzb3VyY2VMb2FkZXIqIGxvYWRlciwgY29uc3QKICAgICAg
ICAgICAgIG1fZmluaXNoaW5nID0gdHJ1ZTsKIAogICAgICAgICAgICAgLy8gRXhpc3RpbmcgcmVz
b3VyY2UgaXMgb2ssIGp1c3QgdXNlIGl0IHVwZGF0aW5nIHRoZSBleHBpcmF0aW9uIHRpbWUuCi0g
ICAgICAgICAgICBjYWNoZSgpLT5yZXZhbGlkYXRpb25TdWNjZWVkZWQobV9yZXNvdXJjZSwgcmVz
cG9uc2UpOworICAgICAgICAgICAgbWVtb3J5Q2FjaGUoKS0+cmV2YWxpZGF0aW9uU3VjY2VlZGVk
KG1fcmVzb3VyY2UsIHJlc3BvbnNlKTsKICAgICAgICAgICAgIAogICAgICAgICAgICAgaWYgKG1f
Y2FjaGVkUmVzb3VyY2VMb2FkZXItPmZyYW1lKCkpCiAgICAgICAgICAgICAgICAgbV9jYWNoZWRS
ZXNvdXJjZUxvYWRlci0+ZnJhbWUoKS0+bG9hZGVyKCktPmNoZWNrQ29tcGxldGVkKCk7CkBAIC0y
MjAsNyArMjIwLDcgQEAgdm9pZCBDYWNoZWRSZXNvdXJjZVJlcXVlc3Q6OmRpZFJlY2VpdmVSZXNw
b25zZShTdWJyZXNvdXJjZUxvYWRlciogbG9hZGVyLCBjb25zdAogICAgICAgICAgICAgcmV0dXJu
OwogICAgICAgICB9IAogICAgICAgICAvLyBEaWQgbm90IGdldCAzMDQgcmVzcG9uc2UsIGNvbnRp
bnVlIGFzIGEgcmVndWxhciByZXNvdXJjZSBsb2FkLgotICAgICAgICBjYWNoZSgpLT5yZXZhbGlk
YXRpb25GYWlsZWQobV9yZXNvdXJjZSk7CisgICAgICAgIG1lbW9yeUNhY2hlKCktPnJldmFsaWRh
dGlvbkZhaWxlZChtX3Jlc291cmNlKTsKICAgICB9CiAKICAgICBtX3Jlc291cmNlLT5zZXRSZXNw
b25zZShyZXNwb25zZSk7CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9sb2FkZXIvY2FjaGUv
TWVtb3J5Q2FjaGUuY3BwIGIvU291cmNlL1dlYkNvcmUvbG9hZGVyL2NhY2hlL01lbW9yeUNhY2hl
LmNwcAppbmRleCA5MzAwMzNhN2ZmZGQ5MGY4MjdhYTE5YmMzZGU5N2EyMzY0NjI4ZGY1Li42Njg5
NTI0NGQ1MzlhMTE1M2FjMTNlMDk4YjljM2M3MDY3MzliZDBiIDEwMDY0NAotLS0gYS9Tb3VyY2Uv
V2ViQ29yZS9sb2FkZXIvY2FjaGUvTWVtb3J5Q2FjaGUuY3BwCisrKyBiL1NvdXJjZS9XZWJDb3Jl
L2xvYWRlci9jYWNoZS9NZW1vcnlDYWNoZS5jcHAKQEAgLTUwLDcgKzUwLDcgQEAgc3RhdGljIGNv
bnN0IGRvdWJsZSBjTWluRGVsYXlCZWZvcmVMaXZlRGVjb2RlZFBydW5lID0gMTsgLy8gU2Vjb25k
cy4KIHN0YXRpYyBjb25zdCBmbG9hdCBjVGFyZ2V0UHJ1bmVQZXJjZW50YWdlID0gLjk1ZjsgLy8g
UGVyY2VudGFnZSBvZiBjYXBhY2l0eSB0b3dhcmQgd2hpY2ggd2UgcHJ1bmUsIHRvIGF2b2lkIGlt
bWVkaWF0ZWx5IHBydW5pbmcgYWdhaW4uCiBzdGF0aWMgY29uc3QgZG91YmxlIGNEZWZhdWx0RGVj
b2RlZERhdGFEZWxldGlvbkludGVydmFsID0gMDsKIAotTWVtb3J5Q2FjaGUqIGNhY2hlKCkKK01l
bW9yeUNhY2hlKiBtZW1vcnlDYWNoZSgpCiB7CiAgICAgc3RhdGljIE1lbW9yeUNhY2hlKiBzdGF0
aWNDYWNoZSA9IG5ldyBNZW1vcnlDYWNoZTsKICAgICByZXR1cm4gc3RhdGljQ2FjaGU7CmRpZmYg
LS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9sb2FkZXIvY2FjaGUvTWVtb3J5Q2FjaGUuaCBiL1NvdXJj
ZS9XZWJDb3JlL2xvYWRlci9jYWNoZS9NZW1vcnlDYWNoZS5oCmluZGV4IDI3OThmYmFlYTIzZDVm
MWJjYjZiYjc4MGYzZDQyNDIwYTI3ZDNmMGUuLjI4N2UwOTdmMWNlMDI0MzcyOGNlZGQyMzhkNzAy
ZmZhZmE4NDM4MTEgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL2xvYWRlci9jYWNoZS9NZW1v
cnlDYWNoZS5oCisrKyBiL1NvdXJjZS9XZWJDb3JlL2xvYWRlci9jYWNoZS9NZW1vcnlDYWNoZS5o
CkBAIC03Miw3ICs3Miw3IEBAIGNsYXNzIEtVUkw7CiAKIGNsYXNzIE1lbW9yeUNhY2hlIDogcHVi
bGljIE5vbmNvcHlhYmxlIHsKIHB1YmxpYzoKLSAgICBmcmllbmQgTWVtb3J5Q2FjaGUqIGNhY2hl
KCk7CisgICAgZnJpZW5kIE1lbW9yeUNhY2hlKiBtZW1vcnlDYWNoZSgpOwogCiAgICAgdHlwZWRl
ZiBIYXNoTWFwPFN0cmluZywgQ2FjaGVkUmVzb3VyY2UqPiBDYWNoZWRSZXNvdXJjZU1hcDsKIApA
QCAtMjE5LDcgKzIxOSw3IEBAIGlubGluZSBib29sIE1lbW9yeUNhY2hlOjpzaG91bGRNYWtlUmVz
b3VyY2VQdXJnZWFibGVPbkV2aWN0aW9uKCkKIH0KIAogLy8gRnVuY3Rpb24gdG8gb2J0YWluIHRo
ZSBnbG9iYWwgY2FjaGUuCi1NZW1vcnlDYWNoZSogY2FjaGUoKTsKK01lbW9yeUNhY2hlKiBtZW1v
cnlDYWNoZSgpOwogCiB9CiAKZGlmZiAtLWdpdCBhL1dlYktpdC9jaHJvbWl1bS9DaGFuZ2VMb2cg
Yi9XZWJLaXQvY2hyb21pdW0vQ2hhbmdlTG9nCmluZGV4IDgyNjdlN2M2Y2RmNDJjYTBkMzQ4MDc2
MDk0ZTljMjIwNmRiMjlhZjkuLjgwNGFkY2NjZTYwMjQwOTU4MTJmMDhkNjhlZThmMzRkNGU0NDlm
NjggMTAwNjQ0Ci0tLSBhL1dlYktpdC9jaHJvbWl1bS9DaGFuZ2VMb2cKKysrIGIvV2ViS2l0L2No
cm9taXVtL0NoYW5nZUxvZwpAQCAtMSwzICsxLDE2IEBACisyMDExLTAxLTE0ICBZdXpvIEZ1amlz
aGltYSAgPHl1em9AZ29vZ2xlLmNvbT4KKworICAgICAgICBSZXZpZXdlZCBieSBOT0JPRFkgKE9P
UFMhKS4KKworICAgICAgICBSZW5hbWUgY2FjaGUoKSB0byBtZW1vcnlDYWNoZSgpCisgICAgICAg
IGh0dHBzOi8vYnVncy53ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD01MjQzMworCisgICAgICAg
ICogc3JjL1dlYkNhY2hlLmNwcDoKKyAgICAgICAgKFdlYktpdDo6V2ViQ2FjaGU6OnNldENhcGFj
aXRpZXMpOgorICAgICAgICAoV2ViS2l0OjpXZWJDYWNoZTo6Y2xlYXIpOgorICAgICAgICAoV2Vi
S2l0OjpXZWJDYWNoZTo6Z2V0VXNhZ2VTdGF0cyk6CisgICAgICAgIChXZWJLaXQ6OldlYkNhY2hl
OjpnZXRSZXNvdXJjZVR5cGVTdGF0cyk6CisKIDIwMTEtMDEtMTMgIEpvaG4gQWJkLUVsLU1hbGVr
ICA8amFtQGNocm9taXVtLm9yZz4KIAogICAgICAgICBSZXZpZXdlZCBieSBNaWhhaSBQYXJwYXJp
dGEuCmRpZmYgLS1naXQgYS9XZWJLaXQvY2hyb21pdW0vc3JjL1dlYkNhY2hlLmNwcCBiL1dlYktp
dC9jaHJvbWl1bS9zcmMvV2ViQ2FjaGUuY3BwCmluZGV4IDIyMDM0OTg4Y2M4YmQ0ZjgzNTVkMWI4
ODhkNjM2OGY4NDE3NDg1ZDIuLjdkZjRjNjYwNmZmNjc3YTcyNzNiNzJlMjVhOWRjNzAxMDEwM2Q2
OTcgMTAwNjQ0Ci0tLSBhL1dlYktpdC9jaHJvbWl1bS9zcmMvV2ViQ2FjaGUuY3BwCisrKyBiL1dl
YktpdC9jaHJvbWl1bS9zcmMvV2ViQ2FjaGUuY3BwCkBAIC01Niw3ICs1Niw3IEBAIHN0YXRpYyB2
b2lkIFRvUmVzb3VyY2VUeXBlU3RhdChjb25zdCBNZW1vcnlDYWNoZTo6VHlwZVN0YXRpc3RpYyYg
ZnJvbSwKIHZvaWQgV2ViQ2FjaGU6OnNldENhcGFjaXRpZXMoCiAgICAgc2l6ZV90IG1pbkRlYWRD
YXBhY2l0eSwgc2l6ZV90IG1heERlYWRDYXBhY2l0eSwgc2l6ZV90IGNhcGFjaXR5KQogewotICAg
IE1lbW9yeUNhY2hlKiBjYWNoZSA9IFdlYkNvcmU6OmNhY2hlKCk7CisgICAgTWVtb3J5Q2FjaGUq
IGNhY2hlID0gV2ViQ29yZTo6bWVtb3J5Q2FjaGUoKTsKICAgICBpZiAoY2FjaGUpCiAgICAgICAg
IGNhY2hlLT5zZXRDYXBhY2l0aWVzKHN0YXRpY19jYXN0PHVuc2lnbmVkIGludD4obWluRGVhZENh
cGFjaXR5KSwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgc3RhdGljX2Nhc3Q8dW5zaWdu
ZWQgaW50PihtYXhEZWFkQ2FwYWNpdHkpLApAQCAtNjUsNyArNjUsNyBAQCB2b2lkIFdlYkNhY2hl
OjpzZXRDYXBhY2l0aWVzKAogCiB2b2lkIFdlYkNhY2hlOjpjbGVhcigpCiB7Ci0gICAgTWVtb3J5
Q2FjaGUqIGNhY2hlID0gV2ViQ29yZTo6Y2FjaGUoKTsKKyAgICBNZW1vcnlDYWNoZSogY2FjaGUg
PSBXZWJDb3JlOjptZW1vcnlDYWNoZSgpOwogICAgIGlmIChjYWNoZSAmJiAhY2FjaGUtPmRpc2Fi
bGVkKCkpIHsKICAgICAgICAgY2FjaGUtPnNldERpc2FibGVkKHRydWUpOwogICAgICAgICBjYWNo
ZS0+c2V0RGlzYWJsZWQoZmFsc2UpOwpAQCAtNzYsNyArNzYsNyBAQCB2b2lkIFdlYkNhY2hlOjpn
ZXRVc2FnZVN0YXRzKFVzYWdlU3RhdHMqIHJlc3VsdCkKIHsKICAgICBBU1NFUlQocmVzdWx0KTsK
IAotICAgIE1lbW9yeUNhY2hlKiBjYWNoZSA9IFdlYkNvcmU6OmNhY2hlKCk7CisgICAgTWVtb3J5
Q2FjaGUqIGNhY2hlID0gV2ViQ29yZTo6bWVtb3J5Q2FjaGUoKTsKICAgICBpZiAoY2FjaGUpIHsK
ICAgICAgICAgcmVzdWx0LT5taW5EZWFkQ2FwYWNpdHkgPSBjYWNoZS0+bV9taW5EZWFkQ2FwYWNp
dHk7CiAgICAgICAgIHJlc3VsdC0+bWF4RGVhZENhcGFjaXR5ID0gY2FjaGUtPm1fbWF4RGVhZENh
cGFjaXR5OwpAQCAtODksNyArODksNyBAQCB2b2lkIFdlYkNhY2hlOjpnZXRVc2FnZVN0YXRzKFVz
YWdlU3RhdHMqIHJlc3VsdCkKIAogdm9pZCBXZWJDYWNoZTo6Z2V0UmVzb3VyY2VUeXBlU3RhdHMo
UmVzb3VyY2VUeXBlU3RhdHMqIHJlc3VsdCkKIHsKLSAgICBNZW1vcnlDYWNoZSogY2FjaGUgPSBX
ZWJDb3JlOjpjYWNoZSgpOworICAgIE1lbW9yeUNhY2hlKiBjYWNoZSA9IFdlYkNvcmU6Om1lbW9y
eUNhY2hlKCk7CiAgICAgaWYgKGNhY2hlKSB7CiAgICAgICAgIE1lbW9yeUNhY2hlOjpTdGF0aXN0
aWNzIHN0YXRzID0gY2FjaGUtPmdldFN0YXRpc3RpY3MoKTsKICAgICAgICAgVG9SZXNvdXJjZVR5
cGVTdGF0KHN0YXRzLmltYWdlcywgcmVzdWx0LT5pbWFnZXMpOwpkaWZmIC0tZ2l0IGEvV2ViS2l0
L21hYy9DaGFuZ2VMb2cgYi9XZWJLaXQvbWFjL0NoYW5nZUxvZwppbmRleCA2OTM4NGUwMjI2YTEy
ODc0ZTUyNzk3ZTJmMDUyZjMzZDI2OGMzMGYyLi4yNDg3MmVkOGE4MjU4NTUxNzVhZTQyYzNmMzFl
ZWJhZDJjYzc0YTc0IDEwMDY0NAotLS0gYS9XZWJLaXQvbWFjL0NoYW5nZUxvZworKysgYi9XZWJL
aXQvbWFjL0NoYW5nZUxvZwpAQCAtMSwzICsxLDE3IEBACisyMDExLTAxLTE0ICBZdXpvIEZ1amlz
aGltYSAgPHl1em9AZ29vZ2xlLmNvbT4KKworICAgICAgICBSZXZpZXdlZCBieSBOT0JPRFkgKE9P
UFMhKS4KKworICAgICAgICBSZW5hbWUgY2FjaGUoKSB0byBtZW1vcnlDYWNoZSgpCisgICAgICAg
IGh0dHBzOi8vYnVncy53ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD01MjQzMworCisgICAgICAg
ICogTWlzYy9XZWJDYWNoZS5tbToKKyAgICAgICAgKCtbV2ViQ2FjaGUgc3RhdGlzdGljc10pOgor
ICAgICAgICAoK1tXZWJDYWNoZSBzZXREaXNhYmxlZDpdKToKKyAgICAgICAgKCtbV2ViQ2FjaGUg
aXNEaXNhYmxlZF0pOgorICAgICAgICAqIFdlYlZpZXcvV2ViVmlldy5tbToKKyAgICAgICAgKCtb
V2ViVmlldyBfc2V0Q2FjaGVNb2RlbDpdKToKKwogMjAxMS0wMS0xMiAgRW5yaWNhIENhc3VjY2kg
IDxlbnJpY2FAYXBwbGUuY29tPgogCiAgICAgICAgIFJldmlld2VkIGJ5IERhcmluIEFkbGVyLgpk
aWZmIC0tZ2l0IGEvV2ViS2l0L21hYy9NaXNjL1dlYkNhY2hlLm1tIGIvV2ViS2l0L21hYy9NaXNj
L1dlYkNhY2hlLm1tCmluZGV4IDA1MTdiYzRhNDI5NDczYmRiMzE3OThiOTVkNjg4Y2ZjYjE2ZGQ1
OGMuLjI4MzM2OTEwNDdkNWZjZWI5MzdkNmU0MTZhMjQ0YjlmNThiYzVkMzQgMTAwNjQ0Ci0tLSBh
L1dlYktpdC9tYWMvTWlzYy9XZWJDYWNoZS5tbQorKysgYi9XZWJLaXQvbWFjL01pc2MvV2ViQ2Fj
aGUubW0KQEAgLTQzLDcgKzQzLDcgQEAKIAogKyAoTlNBcnJheSAqKXN0YXRpc3RpY3MKIHsKLSAg
ICBXZWJDb3JlOjpNZW1vcnlDYWNoZTo6U3RhdGlzdGljcyBzID0gV2ViQ29yZTo6Y2FjaGUoKS0+
Z2V0U3RhdGlzdGljcygpOworICAgIFdlYkNvcmU6Ok1lbW9yeUNhY2hlOjpTdGF0aXN0aWNzIHMg
PSBXZWJDb3JlOjptZW1vcnlDYWNoZSgpLT5nZXRTdGF0aXN0aWNzKCk7CiAKICAgICByZXR1cm4g
W05TQXJyYXkgYXJyYXlXaXRoT2JqZWN0czoKICAgICAgICAgW05TRGljdGlvbmFyeSBkaWN0aW9u
YXJ5V2l0aE9iamVjdHNBbmRLZXlzOgpAQCAtMTMwLDEyICsxMzAsMTIgQEAKICAgICBpZiAoIXB0
aHJlYWRfbWFpbl9ucCgpKQogICAgICAgICByZXR1cm4gW1tzZWxmIF93ZWJraXRfaW52b2tlT25N
YWluVGhyZWFkXSBzZXREaXNhYmxlZDpkaXNhYmxlZF07CiAKLSAgICBXZWJDb3JlOjpjYWNoZSgp
LT5zZXREaXNhYmxlZChkaXNhYmxlZCk7CisgICAgV2ViQ29yZTo6bWVtb3J5Q2FjaGUoKS0+c2V0
RGlzYWJsZWQoZGlzYWJsZWQpOwogfQogCiArIChCT09MKWlzRGlzYWJsZWQKIHsKLSAgICByZXR1
cm4gV2ViQ29yZTo6Y2FjaGUoKS0+ZGlzYWJsZWQoKTsKKyAgICByZXR1cm4gV2ViQ29yZTo6bWVt
b3J5Q2FjaGUoKS0+ZGlzYWJsZWQoKTsKIH0KIAogQGVuZApkaWZmIC0tZ2l0IGEvV2ViS2l0L21h
Yy9XZWJWaWV3L1dlYlZpZXcubW0gYi9XZWJLaXQvbWFjL1dlYlZpZXcvV2ViVmlldy5tbQppbmRl
eCA0OTU4MmI1NTZkYjRiNzJiOTg3OTYzZTZkZDA4N2FlNzg4ZjFhNzA3Li44MDliMjg2YjUwOTY1
NGQzNWE0NmVkNjBiYTdhMWFmNGEyOGY5MjY0IDEwMDY0NAotLS0gYS9XZWJLaXQvbWFjL1dlYlZp
ZXcvV2ViVmlldy5tbQorKysgYi9XZWJLaXQvbWFjL1dlYlZpZXcvV2ViVmlldy5tbQpAQCAtNTU3
MCw4ICs1NTcwLDggQEAgc3RhdGljIGlubGluZSB1aW50NjRfdCByb3VuZFVwVG9Qb3dlck9mMih1
aW50NjRfdCBudW0pCiAgICAgLy8gRG9uJ3Qgc2hyaW5rIGEgYmlnIGRpc2sgY2FjaGUsIHNpbmNl
IHRoYXQgd291bGQgY2F1c2UgY2h1cm4uCiAgICAgbnN1cmxDYWNoZURpc2tDYXBhY2l0eSA9IG1h
eChuc3VybENhY2hlRGlza0NhcGFjaXR5LCBbbnN1cmxDYWNoZSBkaXNrQ2FwYWNpdHldKTsKIAot
ICAgIGNhY2hlKCktPnNldENhcGFjaXRpZXMoY2FjaGVNaW5EZWFkQ2FwYWNpdHksIGNhY2hlTWF4
RGVhZENhcGFjaXR5LCBjYWNoZVRvdGFsQ2FwYWNpdHkpOwotICAgIGNhY2hlKCktPnNldERlYWRE
ZWNvZGVkRGF0YURlbGV0aW9uSW50ZXJ2YWwoZGVhZERlY29kZWREYXRhRGVsZXRpb25JbnRlcnZh
bCk7CisgICAgbWVtb3J5Q2FjaGUoKS0+c2V0Q2FwYWNpdGllcyhjYWNoZU1pbkRlYWRDYXBhY2l0
eSwgY2FjaGVNYXhEZWFkQ2FwYWNpdHksIGNhY2hlVG90YWxDYXBhY2l0eSk7CisgICAgbWVtb3J5
Q2FjaGUoKS0+c2V0RGVhZERlY29kZWREYXRhRGVsZXRpb25JbnRlcnZhbChkZWFkRGVjb2RlZERh
dGFEZWxldGlvbkludGVydmFsKTsKICAgICBwYWdlQ2FjaGUoKS0+c2V0Q2FwYWNpdHkocGFnZUNh
Y2hlQ2FwYWNpdHkpOwogICAgIFtuc3VybENhY2hlIHNldE1lbW9yeUNhcGFjaXR5Om5zdXJsQ2Fj
aGVNZW1vcnlDYXBhY2l0eV07CiAgICAgW25zdXJsQ2FjaGUgc2V0RGlza0NhcGFjaXR5Om5zdXJs
Q2FjaGVEaXNrQ2FwYWNpdHldOwpkaWZmIC0tZ2l0IGEvV2ViS2l0Mi9DaGFuZ2VMb2cgYi9XZWJL
aXQyL0NoYW5nZUxvZwppbmRleCAwNmRhY2NiOTk3ZTQyYzcyNjU5MDBjYWI4NTc0ODdmYzE1ZGMz
YWUzLi5hYTQ3MGUxY2Q3ZDI2NDUwZWE3NjUyNjgxM2QzYTY1YmEyZGU5NTdhIDEwMDY0NAotLS0g
YS9XZWJLaXQyL0NoYW5nZUxvZworKysgYi9XZWJLaXQyL0NoYW5nZUxvZwpAQCAtMSwzICsxLDEz
IEBACisyMDExLTAxLTE0ICBZdXpvIEZ1amlzaGltYSAgPHl1em9AZ29vZ2xlLmNvbT4KKworICAg
ICAgICBSZXZpZXdlZCBieSBOT0JPRFkgKE9PUFMhKS4KKworICAgICAgICBSZW5hbWUgY2FjaGUo
KSB0byBtZW1vcnlDYWNoZSgpCisgICAgICAgIGh0dHBzOi8vYnVncy53ZWJraXQub3JnL3Nob3df
YnVnLmNnaT9pZD01MjQzMworCisgICAgICAgICogV2ViUHJvY2Vzcy9tYWMvV2ViUHJvY2Vzc01h
Yy5tbToKKyAgICAgICAgKFdlYktpdDo6V2ViUHJvY2Vzczo6cGxhdGZvcm1TZXRDYWNoZU1vZGVs
KToKKwogMjAxMS0wMS0xMyAgRW5yaWNhIENhc3VjY2kgIDxlbnJpY2FAYXBwbGUuY29tPgogCiAg
ICAgICAgIFJldmlld2VkIGJ5IERhcmluIEFkbGVyLgpkaWZmIC0tZ2l0IGEvV2ViS2l0Mi9XZWJQ
cm9jZXNzL21hYy9XZWJQcm9jZXNzTWFjLm1tIGIvV2ViS2l0Mi9XZWJQcm9jZXNzL21hYy9XZWJQ
cm9jZXNzTWFjLm1tCmluZGV4IGEwNDlhMzkyZThhYjI2YWJiNTQ2NmZmOWVjNzcyMmViM2QwMmI1
N2MuLmYyNGExOGQ1NjY0ZGFjYzAwNjQ2OGY0NWJhZWNhNGI4OGY4NmZkNDUgMTAwNjQ0Ci0tLSBh
L1dlYktpdDIvV2ViUHJvY2Vzcy9tYWMvV2ViUHJvY2Vzc01hYy5tbQorKysgYi9XZWJLaXQyL1dl
YlByb2Nlc3MvbWFjL1dlYlByb2Nlc3NNYWMubW0KQEAgLTg5LDggKzg5LDggQEAgdm9pZCBXZWJQ
cm9jZXNzOjpwbGF0Zm9ybVNldENhY2hlTW9kZWwoQ2FjaGVNb2RlbCBjYWNoZU1vZGVsKQogICAg
ICAgICBwYWdlQ2FjaGVDYXBhY2l0eSwgdXJsQ2FjaGVNZW1vcnlDYXBhY2l0eSwgdXJsQ2FjaGVE
aXNrQ2FwYWNpdHkpOwogCiAKLSAgICBjYWNoZSgpLT5zZXRDYXBhY2l0aWVzKGNhY2hlTWluRGVh
ZENhcGFjaXR5LCBjYWNoZU1heERlYWRDYXBhY2l0eSwgY2FjaGVUb3RhbENhcGFjaXR5KTsKLSAg
ICBjYWNoZSgpLT5zZXREZWFkRGVjb2RlZERhdGFEZWxldGlvbkludGVydmFsKGRlYWREZWNvZGVk
RGF0YURlbGV0aW9uSW50ZXJ2YWwpOworICAgIG1lbW9yeUNhY2hlKCktPnNldENhcGFjaXRpZXMo
Y2FjaGVNaW5EZWFkQ2FwYWNpdHksIGNhY2hlTWF4RGVhZENhcGFjaXR5LCBjYWNoZVRvdGFsQ2Fw
YWNpdHkpOworICAgIG1lbW9yeUNhY2hlKCktPnNldERlYWREZWNvZGVkRGF0YURlbGV0aW9uSW50
ZXJ2YWwoZGVhZERlY29kZWREYXRhRGVsZXRpb25JbnRlcnZhbCk7CiAgICAgcGFnZUNhY2hlKCkt
PnNldENhcGFjaXR5KHBhZ2VDYWNoZUNhcGFjaXR5KTsKIAogICAgIE5TVVJMQ2FjaGUgKm5zdXJs
Q2FjaGUgPSBbTlNVUkxDYWNoZSBzaGFyZWRVUkxDYWNoZV07Cg==
</data>

          </attachment>
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>78908</attachid>
            <date>2011-01-14 01:39:11 -0800</date>
            <delta_ts>2011-01-14 02:05:27 -0800</delta_ts>
            <desc>Fix compilation errors for gtk, qt, wx</desc>
            <filename>bug-52433-20110114013909.patch</filename>
            <type>text/plain</type>
            <size>37460</size>
            <attacher name="Yuzo Fujishima">yuzo</attacher>
            
              <data encoding="base64">ZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL0NoYW5nZUxvZyBiL1NvdXJjZS9XZWJDb3JlL0No
YW5nZUxvZwppbmRleCA2NmU3NzQxZjdlMDBkOTgzMzhhNjMzZTE2MWUxNmYzMTRiZWZiZTA3Li4x
ZGMzZTQ0ZmE2ZTZmZjQzYTUyMWI5NDc5NGIyZjhjODcxYjYzNzU2IDEwMDY0NAotLS0gYS9Tb3Vy
Y2UvV2ViQ29yZS9DaGFuZ2VMb2cKKysrIGIvU291cmNlL1dlYkNvcmUvQ2hhbmdlTG9nCkBAIC0x
LDMgKzEsNDggQEAKKzIwMTEtMDEtMTQgIFl1em8gRnVqaXNoaW1hICA8eXV6b0Bnb29nbGUuY29t
PgorCisgICAgICAgIFJldmlld2VkIGJ5IE5PQk9EWSAoT09QUyEpLgorCisgICAgICAgIFJlbmFt
ZSBjYWNoZSgpIHRvIG1lbW9yeUNhY2hlKCkKKyAgICAgICAgaHR0cHM6Ly9idWdzLndlYmtpdC5v
cmcvc2hvd19idWcuY2dpP2lkPTUyNDMzCisKKyAgICAgICAgTm8gbmV3IHRlc3RzIGJlY2F1c2Ug
dGhlIGJlaGF2aW9yIHJlbWFpbnMgdGhlIHNhbWUuCisKKyAgICAgICAgKiBXZWJDb3JlLmV4cC5p
bjoKKyAgICAgICAgKiBXZWJDb3JlLm9yZGVyOgorICAgICAgICAqIGhpc3RvcnkvUGFnZUNhY2hl
LmNwcDoKKyAgICAgICAgKFdlYkNvcmU6OlBhZ2VDYWNoZTo6cmVsZWFzZUF1dG9yZWxlYXNlZFBh
Z2VzTm93KToKKyAgICAgICAgKiBpbnNwZWN0b3IvSW5zcGVjdG9yUmVzb3VyY2VBZ2VudC5jcHA6
CisgICAgICAgIChXZWJDb3JlOjpJbnNwZWN0b3JSZXNvdXJjZUFnZW50OjpjYWNoZWRSZXNvdXJj
ZSk6CisgICAgICAgICogbG9hZGVyL0ZyYW1lTG9hZGVyLmNwcDoKKyAgICAgICAgKFdlYkNvcmU6
OkZyYW1lTG9hZGVyOjp0ZWxsQ2xpZW50QWJvdXRQYXN0TWVtb3J5Q2FjaGVMb2Fkcyk6CisgICAg
ICAgICogbG9hZGVyL2FyY2hpdmUvY2YvTGVnYWN5V2ViQXJjaGl2ZS5jcHA6CisgICAgICAgIChX
ZWJDb3JlOjpMZWdhY3lXZWJBcmNoaXZlOjpjcmVhdGUpOgorICAgICAgICAqIGxvYWRlci9jYWNo
ZS9DYWNoZWRJbWFnZS5jcHA6CisgICAgICAgIChXZWJDb3JlOjpDYWNoZWRJbWFnZTo6YWxsQ2xp
ZW50c1JlbW92ZWQpOgorICAgICAgICAoV2ViQ29yZTo6Q2FjaGVkSW1hZ2U6OmRhdGEpOgorICAg
ICAgICAqIGxvYWRlci9jYWNoZS9DYWNoZWRSZXNvdXJjZS5jcHA6CisgICAgICAgIChXZWJDb3Jl
OjpDYWNoZWRSZXNvdXJjZTo6fkNhY2hlZFJlc291cmNlKToKKyAgICAgICAgKFdlYkNvcmU6OkNh
Y2hlZFJlc291cmNlOjphZGRDbGllbnRUb1NldCk6CisgICAgICAgIChXZWJDb3JlOjpDYWNoZWRS
ZXNvdXJjZTo6cmVtb3ZlQ2xpZW50KToKKyAgICAgICAgKFdlYkNvcmU6OkNhY2hlZFJlc291cmNl
OjpzZXREZWNvZGVkU2l6ZSk6CisgICAgICAgIChXZWJDb3JlOjpDYWNoZWRSZXNvdXJjZTo6c2V0
RW5jb2RlZFNpemUpOgorICAgICAgICAoV2ViQ29yZTo6Q2FjaGVkUmVzb3VyY2U6OmRpZEFjY2Vz
c0RlY29kZWREYXRhKToKKyAgICAgICAgKiBsb2FkZXIvY2FjaGUvQ2FjaGVkUmVzb3VyY2VMb2Fk
ZXIuY3BwOgorICAgICAgICAoV2ViQ29yZTo6Q2FjaGVkUmVzb3VyY2VMb2FkZXI6OkNhY2hlZFJl
c291cmNlTG9hZGVyKToKKyAgICAgICAgKFdlYkNvcmU6OkNhY2hlZFJlc291cmNlTG9hZGVyOjpy
ZXF1ZXN0VXNlckNTU1N0eWxlU2hlZXQpOgorICAgICAgICAoV2ViQ29yZTo6Q2FjaGVkUmVzb3Vy
Y2VMb2FkZXI6OnJlcXVlc3RSZXNvdXJjZSk6CisgICAgICAgIChXZWJDb3JlOjpDYWNoZWRSZXNv
dXJjZUxvYWRlcjo6cmV2YWxpZGF0ZVJlc291cmNlKToKKyAgICAgICAgKFdlYkNvcmU6OkNhY2hl
ZFJlc291cmNlTG9hZGVyOjpsb2FkUmVzb3VyY2UpOgorICAgICAgICAoV2ViQ29yZTo6Q2FjaGVk
UmVzb3VyY2VMb2FkZXI6OmNsZWFyUHJlbG9hZHMpOgorICAgICAgICAoV2ViQ29yZTo6Q2FjaGVk
UmVzb3VyY2VMb2FkZXI6OnByaW50UHJlbG9hZFN0YXRzKToKKyAgICAgICAgKiBsb2FkZXIvY2Fj
aGUvQ2FjaGVkUmVzb3VyY2VSZXF1ZXN0LmNwcDoKKyAgICAgICAgKFdlYkNvcmU6OkNhY2hlZFJl
c291cmNlUmVxdWVzdDo6bG9hZCk6CisgICAgICAgIChXZWJDb3JlOjpDYWNoZWRSZXNvdXJjZVJl
cXVlc3Q6OmRpZEZhaWwpOgorICAgICAgICAoV2ViQ29yZTo6Q2FjaGVkUmVzb3VyY2VSZXF1ZXN0
OjpkaWRSZWNlaXZlUmVzcG9uc2UpOgorICAgICAgICAqIGxvYWRlci9jYWNoZS9NZW1vcnlDYWNo
ZS5jcHA6CisgICAgICAgIChXZWJDb3JlOjptZW1vcnlDYWNoZSk6CisgICAgICAgICogbG9hZGVy
L2NhY2hlL01lbW9yeUNhY2hlLmg6CisKIDIwMTEtMDEtMTMgIEtlbnQgVGFtdXJhICA8dGtlbnRA
Y2hyb21pdW0ub3JnPgogCiAgICAgICAgIFJldmlld2VkIGJ5IERpbWl0cmkgR2xhemtvdi4KZGlm
ZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL1dlYkNvcmUuZXhwLmluIGIvU291cmNlL1dlYkNvcmUv
V2ViQ29yZS5leHAuaW4KaW5kZXggOTdlZjliNjEyMDhkYjExOThkYTc0NDEzZDM2OWFiODE4YTZl
YWFkYS4uMWUyMTc5NGYwNDRlNTE4MDhlODFjM2UzYWE0MjdlYTY1ZWQzZjYwNiAxMDA2NDQKLS0t
IGEvU291cmNlL1dlYkNvcmUvV2ViQ29yZS5leHAuaW4KKysrIGIvU291cmNlL1dlYkNvcmUvV2Vi
Q29yZS5leHAuaW4KQEAgLTIxMSw2ICsyMTEsNyBAQCBfX1pON1dlYkNvcmUxMU1lbW9yeUNhY2hl
MTNnZXRTdGF0aXN0aWNzRXYKIF9fWk43V2ViQ29yZTExTWVtb3J5Q2FjaGUxM3NldENhcGFjaXRp
ZXNFampqCiBfX1pON1dlYkNvcmUxMVJlbmRlckxheWVyMTlzY3JvbGxSZWN0VG9WaXNpYmxlRVJL
TlNfN0ludFJlY3RFYlJLTlNfMTVTY3JvbGxBbGlnbm1lbnRFUzZfCiBfX1pON1dlYkNvcmUxMWds
b2JhbFBvaW50RVJLOF9OU1BvaW50UDhOU1dpbmRvdworX19aTjdXZWJDb3JlMTFtZW1vcnlDYWNo
ZUV2CiBfX1pON1dlYkNvcmUxMXRvVXNlclNwYWNlRVJLN19OU1JlY3RQOE5TV2luZG93CiBfX1pO
N1dlYkNvcmUxMXdyaXRlVG9GaWxlRWlQS2NpCiBfX1pON1dlYkNvcmUxMkNocm9tZUNsaWVudDIw
cGFpbnRDdXN0b21TY3JvbGxiYXJFUE5TXzE1R3JhcGhpY3NDb250ZXh0RVJLTlNfOUZsb2F0UmVj
dEVOU18yMFNjcm9sbGJhckNvbnRyb2xTaXplRWpOU18xM1Njcm9sbGJhclBhcnRFYmZmagpAQCAt
Njc5LDcgKzY4MCw2IEBAIF9fWk43V2ViQ29yZTVSYW5nZTZjcmVhdGVFTjNXVEYxMFBhc3NSZWZQ
dHJJTlNfOERvY3VtZW50RUVFTlMyX0lOU180Tm9kZUVFRWlTNl9pCiBfX1pON1dlYkNvcmU1UmFu
Z2U2c2V0RW5kRU4zV1RGMTBQYXNzUmVmUHRySU5TXzROb2RlRUVFaVJpCiBfX1pON1dlYkNvcmU1
UmFuZ2U4c2V0U3RhcnRFTjNXVEYxMFBhc3NSZWZQdHJJTlNfNE5vZGVFRUVpUmkKIF9fWk43V2Vi
Q29yZTVSYW5nZUQxRXYKLV9fWk43V2ViQ29yZTVjYWNoZUV2CiBfX1pON1dlYkNvcmU2Q2hyb21l
MTZzZXRTdGF0dXNiYXJUZXh0RVBOU181RnJhbWVFUktOM1dURjZTdHJpbmdFCiBfX1pON1dlYkNv
cmU2Q3Vyc29yOGZyb21UeXBlRU5TMF80VHlwZUUKIF9fWk43V2ViQ29yZTZDdXJzb3JEMUV2CmRp
ZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9XZWJDb3JlLm9yZGVyIGIvU291cmNlL1dlYkNvcmUv
V2ViQ29yZS5vcmRlcgppbmRleCAyNzFkZmM5YjljY2IzNjY4MmIwZTE4N2U3YzI3NTA2N2NiNWUx
MjE2Li5lODhjNDQ0YmJiNzE2NjFlMDMwYTM4MzFkNzEzMmEyNTI3N2Q0ZGZmIDEwMDY0NAotLS0g
YS9Tb3VyY2UvV2ViQ29yZS9XZWJDb3JlLm9yZGVyCisrKyBiL1NvdXJjZS9XZWJDb3JlL1dlYkNv
cmUub3JkZXIKQEAgLTM3MSw3ICszNzEsNyBAQCBfX1pON1dlYkNvcmUxNUNvbGxlY3Rpb25DYWNo
ZTVyZXNldEV2CiBfX1pOM1dURjIwZGVsZXRlQWxsUGFpclNlY29uZHNJUE5TXzZWZWN0b3JJUE43
V2ViQ29yZTdFbGVtZW50RUxtMEVFRUtOU183SGFzaE1hcElQTlMyXzE2QXRvbWljU3RyaW5nSW1w
bEVTNl9OU183UHRySGFzaElTOV9FRU5TCiBfX1pON1dlYkNvcmU5RG9jTG9hZGVyQzFFUE5TXzhE
b2N1bWVudEUKIF9fWk43V2ViQ29yZTlEb2NMb2FkZXJDMkVQTlNfOERvY3VtZW50RQotX19aTjdX
ZWJDb3JlNWNhY2hlRXYKK19fWk43V2ViQ29yZTExbWVtb3J5Q2FjaGVFdgogX19aTjdXZWJDb3Jl
NUNhY2hlQzFFdgogX19aTjdXZWJDb3JlNUNhY2hlQzJFdgogX19aTjdXZWJDb3JlNkxvYWRlckMx
RXYKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL2hpc3RvcnkvUGFnZUNhY2hlLmNwcCBiL1Nv
dXJjZS9XZWJDb3JlL2hpc3RvcnkvUGFnZUNhY2hlLmNwcAppbmRleCA3Mzc1YTljOTRiMjkxNDU4
MDk5NTYxNTI4YmI2ZWRlZjhlNTg2NzUwLi5iMTRiNjA2NzdlODU4ZmQ1YWFkZTg1MWFhZjE2MWEz
Y2Y0YWQ3ZjRlIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9oaXN0b3J5L1BhZ2VDYWNoZS5j
cHAKKysrIGIvU291cmNlL1dlYkNvcmUvaGlzdG9yeS9QYWdlQ2FjaGUuY3BwCkBAIC00NTMsNyAr
NDUzLDcgQEAgdm9pZCBQYWdlQ2FjaGU6OnJlbGVhc2VBdXRvcmVsZWFzZWRQYWdlc05vdygpCiAg
ICAgbV9hdXRvcmVsZWFzZVRpbWVyLnN0b3AoKTsKIAogICAgIC8vIFBvc3Rwb25lIGRlYWQgcHJ1
bmluZyB1bnRpbCBhbGwgb3VyIHJlc291cmNlcyBoYXZlIGdvbmUgZGVhZC4KLSAgICBjYWNoZSgp
LT5zZXRQcnVuZUVuYWJsZWQoZmFsc2UpOworICAgIG1lbW9yeUNhY2hlKCktPnNldFBydW5lRW5h
YmxlZChmYWxzZSk7CiAKICAgICBDYWNoZWRQYWdlU2V0IHRtcDsKICAgICB0bXAuc3dhcChtX2F1
dG9yZWxlYXNlU2V0KTsKQEAgLTQ2Myw4ICs0NjMsOCBAQCB2b2lkIFBhZ2VDYWNoZTo6cmVsZWFz
ZUF1dG9yZWxlYXNlZFBhZ2VzTm93KCkKICAgICAgICAgKCppdCktPmRlc3Ryb3koKTsKIAogICAg
IC8vIE5vdyBkbyB0aGUgcHJ1bmUuCi0gICAgY2FjaGUoKS0+c2V0UHJ1bmVFbmFibGVkKHRydWUp
OwotICAgIGNhY2hlKCktPnBydW5lKCk7CisgICAgbWVtb3J5Q2FjaGUoKS0+c2V0UHJ1bmVFbmFi
bGVkKHRydWUpOworICAgIG1lbW9yeUNhY2hlKCktPnBydW5lKCk7CiB9CiAKIHZvaWQgUGFnZUNh
Y2hlOjphdXRvcmVsZWFzZShQYXNzUmVmUHRyPENhY2hlZFBhZ2U+IHBhZ2UpCmRpZmYgLS1naXQg
YS9Tb3VyY2UvV2ViQ29yZS9pbnNwZWN0b3IvSW5zcGVjdG9yUmVzb3VyY2VBZ2VudC5jcHAgYi9T
b3VyY2UvV2ViQ29yZS9pbnNwZWN0b3IvSW5zcGVjdG9yUmVzb3VyY2VBZ2VudC5jcHAKaW5kZXgg
YTQyNTc5NzljY2RiZDYzZjFlNmM5N2U2YThlMWY4YzExODIwMDlmYi4uZTJkZWRiM2E3M2UyOGNl
Y2MzNjQwNWRiZWMxM2YwODFkYjNhNmYwNyAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvaW5z
cGVjdG9yL0luc3BlY3RvclJlc291cmNlQWdlbnQuY3BwCisrKyBiL1NvdXJjZS9XZWJDb3JlL2lu
c3BlY3Rvci9JbnNwZWN0b3JSZXNvdXJjZUFnZW50LmNwcApAQCAtMTMyLDcgKzEzMiw3IEBAIENh
Y2hlZFJlc291cmNlKiBJbnNwZWN0b3JSZXNvdXJjZUFnZW50OjpjYWNoZWRSZXNvdXJjZShGcmFt
ZSogZnJhbWUsIGNvbnN0IEtVUkwmCiB7CiAgICAgQ2FjaGVkUmVzb3VyY2UqIGNhY2hlZFJlc291
cmNlID0gZnJhbWUtPmRvY3VtZW50KCktPmNhY2hlZFJlc291cmNlTG9hZGVyKCktPmNhY2hlZFJl
c291cmNlKHVybCk7CiAgICAgaWYgKCFjYWNoZWRSZXNvdXJjZSkKLSAgICAgICAgY2FjaGVkUmVz
b3VyY2UgPSBjYWNoZSgpLT5yZXNvdXJjZUZvclVSTCh1cmwpOworICAgICAgICBjYWNoZWRSZXNv
dXJjZSA9IG1lbW9yeUNhY2hlKCktPnJlc291cmNlRm9yVVJMKHVybCk7CiAgICAgcmV0dXJuIGNh
Y2hlZFJlc291cmNlOwogfQogCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9sb2FkZXIvRnJh
bWVMb2FkZXIuY3BwIGIvU291cmNlL1dlYkNvcmUvbG9hZGVyL0ZyYW1lTG9hZGVyLmNwcAppbmRl
eCAzNGZhMTk1Y2E5NmE3NjdhOGM5Y2NiMGJiNTk1NjI2MmM2YjRkNDZiLi44MmZjZjdlNDk1MzY0
ZDVjYjBiMDQyNzI2MzZhMDlhZTk2OGZiNWRiIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9s
b2FkZXIvRnJhbWVMb2FkZXIuY3BwCisrKyBiL1NvdXJjZS9XZWJDb3JlL2xvYWRlci9GcmFtZUxv
YWRlci5jcHAKQEAgLTM0NDUsNyArMzQ0NSw3IEBAIHZvaWQgRnJhbWVMb2FkZXI6OnRlbGxDbGll
bnRBYm91dFBhc3RNZW1vcnlDYWNoZUxvYWRzKCkKIAogICAgIHNpemVfdCBzaXplID0gcGFzdExv
YWRzLnNpemUoKTsKICAgICBmb3IgKHNpemVfdCBpID0gMDsgaSA8IHNpemU7ICsraSkgewotICAg
ICAgICBDYWNoZWRSZXNvdXJjZSogcmVzb3VyY2UgPSBjYWNoZSgpLT5yZXNvdXJjZUZvclVSTChL
VVJMKFBhcnNlZFVSTFN0cmluZywgcGFzdExvYWRzW2ldKSk7CisgICAgICAgIENhY2hlZFJlc291
cmNlKiByZXNvdXJjZSA9IG1lbW9yeUNhY2hlKCktPnJlc291cmNlRm9yVVJMKEtVUkwoUGFyc2Vk
VVJMU3RyaW5nLCBwYXN0TG9hZHNbaV0pKTsKIAogICAgICAgICAvLyBGSVhNRTogVGhlc2UgbG9h
ZHMsIGxvYWRlZCBmcm9tIGNhY2hlLCBidXQgbm93IGdvbmUgZnJvbSB0aGUgY2FjaGUgYnkgdGhl
IHRpbWUKICAgICAgICAgLy8gUGFnZTo6c2V0TWVtb3J5Q2FjaGVDbGllbnRDYWxsc0VuYWJsZWQo
dHJ1ZSkgaXMgY2FsbGVkLCB3aWxsIG5vdCBiZSBzZWVuIGJ5IHRoZSBjbGllbnQuCmRpZmYgLS1n
aXQgYS9Tb3VyY2UvV2ViQ29yZS9sb2FkZXIvYXJjaGl2ZS9jZi9MZWdhY3lXZWJBcmNoaXZlLmNw
cCBiL1NvdXJjZS9XZWJDb3JlL2xvYWRlci9hcmNoaXZlL2NmL0xlZ2FjeVdlYkFyY2hpdmUuY3Bw
CmluZGV4IGRkZDU2NGU5MjVhYjBjNWZmOGY5NzFiZWZhODEzNjJjNDM1MmNmYTQuLmQ5NTc1ZmU5
YjAyYzIwY2Q5YjVjM2I1YWQzOTk3ODIxYTVhMzUzODcgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJD
b3JlL2xvYWRlci9hcmNoaXZlL2NmL0xlZ2FjeVdlYkFyY2hpdmUuY3BwCisrKyBiL1NvdXJjZS9X
ZWJDb3JlL2xvYWRlci9hcmNoaXZlL2NmL0xlZ2FjeVdlYkFyY2hpdmUuY3BwCkBAIC01MjksNyAr
NTI5LDcgQEAgUGFzc1JlZlB0cjxMZWdhY3lXZWJBcmNoaXZlPiBMZWdhY3lXZWJBcmNoaXZlOjpj
cmVhdGUoY29uc3QgU3RyaW5nJiBtYXJrdXBTdHJpbmcKICAgICAgICAgICAgICAgICAgICAgY29u
dGludWU7CiAgICAgICAgICAgICAgICAgfQogCi0gICAgICAgICAgICAgICAgQ2FjaGVkUmVzb3Vy
Y2UgKmNhY2hlZFJlc291cmNlID0gY2FjaGUoKS0+cmVzb3VyY2VGb3JVUkwoc3VicmVzb3VyY2VV
UkwpOworICAgICAgICAgICAgICAgIENhY2hlZFJlc291cmNlKiBjYWNoZWRSZXNvdXJjZSA9IG1l
bW9yeUNhY2hlKCktPnJlc291cmNlRm9yVVJMKHN1YnJlc291cmNlVVJMKTsKICAgICAgICAgICAg
ICAgICBpZiAoY2FjaGVkUmVzb3VyY2UpIHsKICAgICAgICAgICAgICAgICAgICAgcmVzb3VyY2Ug
PSBBcmNoaXZlUmVzb3VyY2U6OmNyZWF0ZShjYWNoZWRSZXNvdXJjZS0+ZGF0YSgpLCBzdWJyZXNv
dXJjZVVSTCwgY2FjaGVkUmVzb3VyY2UtPnJlc3BvbnNlKCkpOwogICAgICAgICAgICAgICAgICAg
ICBpZiAocmVzb3VyY2UpIHsKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL2xvYWRlci9jYWNo
ZS9DYWNoZWRJbWFnZS5jcHAgYi9Tb3VyY2UvV2ViQ29yZS9sb2FkZXIvY2FjaGUvQ2FjaGVkSW1h
Z2UuY3BwCmluZGV4IDYwNjk0MmI1MGZkMmUxMmQ2MWZmYTZlNWIwMmI0YjY4ODZjN2ZlYTIuLjk3
ZmJmMDIxZWMzZDFjYjllY2Y3Mzk3YzIxOGVkMTQ3ZTE3YjNmMzQgMTAwNjQ0Ci0tLSBhL1NvdXJj
ZS9XZWJDb3JlL2xvYWRlci9jYWNoZS9DYWNoZWRJbWFnZS5jcHAKKysrIGIvU291cmNlL1dlYkNv
cmUvbG9hZGVyL2NhY2hlL0NhY2hlZEltYWdlLmNwcApAQCAtMTA3LDcgKzEwNyw3IEBAIHZvaWQg
Q2FjaGVkSW1hZ2U6OmFsbENsaWVudHNSZW1vdmVkKCkKIHsKICAgICBpZiAobV9pbWFnZSAmJiAh
ZXJyb3JPY2N1cnJlZCgpKQogICAgICAgICBtX2ltYWdlLT5yZXNldEFuaW1hdGlvbigpOwotICAg
IGlmIChkb3VibGUgaW50ZXJ2YWwgPSBjYWNoZSgpLT5kZWFkRGVjb2RlZERhdGFEZWxldGlvbklu
dGVydmFsKCkpCisgICAgaWYgKGRvdWJsZSBpbnRlcnZhbCA9IG1lbW9yeUNhY2hlKCktPmRlYWRE
ZWNvZGVkRGF0YURlbGV0aW9uSW50ZXJ2YWwoKSkKICAgICAgICAgbV9kZWNvZGVkRGF0YURlbGV0
aW9uVGltZXIuc3RhcnRPbmVTaG90KGludGVydmFsKTsKIH0KIApAQCAtMjc3LDcgKzI3Nyw3IEBA
IHZvaWQgQ2FjaGVkSW1hZ2U6OmRhdGEoUGFzc1JlZlB0cjxTaGFyZWRCdWZmZXI+IGRhdGEsIGJv
b2wgYWxsRGF0YVJlY2VpdmVkKQogICAgICAgICBpZiAobV9pbWFnZS0+aXNOdWxsKCkgfHwgKG1h
eERlY29kZWRJbWFnZVNpemUgPiAwICYmIGVzdGltYXRlZERlY29kZWRJbWFnZVNpemUgPiBtYXhE
ZWNvZGVkSW1hZ2VTaXplKSkgewogICAgICAgICAgICAgZXJyb3IoZXJyb3JPY2N1cnJlZCgpID8g
c3RhdHVzKCkgOiBEZWNvZGVFcnJvcik7CiAgICAgICAgICAgICBpZiAoaW5DYWNoZSgpKQotICAg
ICAgICAgICAgICAgIGNhY2hlKCktPnJlbW92ZSh0aGlzKTsKKyAgICAgICAgICAgICAgICBtZW1v
cnlDYWNoZSgpLT5yZW1vdmUodGhpcyk7CiAgICAgICAgICAgICByZXR1cm47CiAgICAgICAgIH0K
ICAgICAgICAgCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9sb2FkZXIvY2FjaGUvQ2FjaGVk
UmVzb3VyY2UuY3BwIGIvU291cmNlL1dlYkNvcmUvbG9hZGVyL2NhY2hlL0NhY2hlZFJlc291cmNl
LmNwcAppbmRleCBhOWQ5YjBhNGI4NmY1ZDQ3ZDVmODg1OWE1MzA4MmZiMzQyMmY3NDM3Li4wNmIz
MTMxNTQ2MzY3ODBlZDVlNDNlNDc4OWY5NzczNTI1ZTM1OTNlIDEwMDY0NAotLS0gYS9Tb3VyY2Uv
V2ViQ29yZS9sb2FkZXIvY2FjaGUvQ2FjaGVkUmVzb3VyY2UuY3BwCisrKyBiL1NvdXJjZS9XZWJD
b3JlL2xvYWRlci9jYWNoZS9DYWNoZWRSZXNvdXJjZS5jcHAKQEAgLTExNiw3ICsxMTYsNyBAQCBD
YWNoZWRSZXNvdXJjZTo6fkNhY2hlZFJlc291cmNlKCkKICAgICBBU1NFUlQoY2FuRGVsZXRlKCkp
OwogICAgIEFTU0VSVCghaW5DYWNoZSgpKTsKICAgICBBU1NFUlQoIW1fZGVsZXRlZCk7Ci0gICAg
QVNTRVJUKHVybCgpLmlzTnVsbCgpIHx8IGNhY2hlKCktPnJlc291cmNlRm9yVVJMKEtVUkwoUGFy
c2VkVVJMU3RyaW5nLCB1cmwoKSkpICE9IHRoaXMpOworICAgIEFTU0VSVCh1cmwoKS5pc051bGwo
KSB8fCBtZW1vcnlDYWNoZSgpLT5yZXNvdXJjZUZvclVSTChLVVJMKFBhcnNlZFVSTFN0cmluZywg
dXJsKCkpKSAhPSB0aGlzKTsKICNpZm5kZWYgTkRFQlVHCiAgICAgbV9kZWxldGVkID0gdHJ1ZTsK
ICAgICBjYWNoZWRSZXNvdXJjZUxlYWtDb3VudGVyLmRlY3JlbWVudCgpOwpAQCAtMjU5LDcgKzI1
OSw3IEBAIHZvaWQgQ2FjaGVkUmVzb3VyY2U6OmFkZENsaWVudFRvU2V0KENhY2hlZFJlc291cmNl
Q2xpZW50KiBjbGllbnQpCiAgICAgICAgICAgICBtX3ByZWxvYWRSZXN1bHQgPSBQcmVsb2FkUmVm
ZXJlbmNlZDsKICAgICB9CiAgICAgaWYgKCFoYXNDbGllbnRzKCkgJiYgaW5DYWNoZSgpKQotICAg
ICAgICBjYWNoZSgpLT5hZGRUb0xpdmVSZXNvdXJjZXNTaXplKHRoaXMpOworICAgICAgICBtZW1v
cnlDYWNoZSgpLT5hZGRUb0xpdmVSZXNvdXJjZXNTaXplKHRoaXMpOwogICAgIG1fY2xpZW50cy5h
ZGQoY2xpZW50KTsKIH0KIApAQCAtMjcxLDggKzI3MSw4IEBAIHZvaWQgQ2FjaGVkUmVzb3VyY2U6
OnJlbW92ZUNsaWVudChDYWNoZWRSZXNvdXJjZUNsaWVudCogY2xpZW50KQogICAgIGlmIChjYW5E
ZWxldGUoKSAmJiAhaW5DYWNoZSgpKQogICAgICAgICBkZWxldGUgdGhpczsKICAgICBlbHNlIGlm
ICghaGFzQ2xpZW50cygpICYmIGluQ2FjaGUoKSkgewotICAgICAgICBjYWNoZSgpLT5yZW1vdmVG
cm9tTGl2ZVJlc291cmNlc1NpemUodGhpcyk7Ci0gICAgICAgIGNhY2hlKCktPnJlbW92ZUZyb21M
aXZlRGVjb2RlZFJlc291cmNlc0xpc3QodGhpcyk7CisgICAgICAgIG1lbW9yeUNhY2hlKCktPnJl
bW92ZUZyb21MaXZlUmVzb3VyY2VzU2l6ZSh0aGlzKTsKKyAgICAgICAgbWVtb3J5Q2FjaGUoKS0+
cmVtb3ZlRnJvbUxpdmVEZWNvZGVkUmVzb3VyY2VzTGlzdCh0aGlzKTsKICAgICAgICAgYWxsQ2xp
ZW50c1JlbW92ZWQoKTsKICAgICAgICAgaWYgKHJlc3BvbnNlKCkuY2FjaGVDb250cm9sQ29udGFp
bnNOb1N0b3JlKCkpIHsKICAgICAgICAgICAgIC8vIFJGQzI2MTYgMTQuOS4yOgpAQCAtMjgwLDkg
KzI4MCw5IEBAIHZvaWQgQ2FjaGVkUmVzb3VyY2U6OnJlbW92ZUNsaWVudChDYWNoZWRSZXNvdXJj
ZUNsaWVudCogY2xpZW50KQogICAgICAgICAgICAgLy8gIi4uLiBIaXN0b3J5IGJ1ZmZlcnMgTUFZ
IHN0b3JlIHN1Y2ggcmVzcG9uc2VzIGFzIHBhcnQgb2YgdGhlaXIgbm9ybWFsIG9wZXJhdGlvbi4i
CiAgICAgICAgICAgICAvLyBXZSBhbGxvdyBub24tc2VjdXJlIGNvbnRlbnQgdG8gYmUgcmV1c2Vk
IGluIGhpc3RvcnksIGJ1dCB3ZSBkbyBub3QgYWxsb3cgc2VjdXJlIGNvbnRlbnQgdG8gYmUgcmV1
c2VkLgogICAgICAgICAgICAgaWYgKHByb3RvY29sSXModXJsKCksICJodHRwcyIpKQotICAgICAg
ICAgICAgICAgIGNhY2hlKCktPnJlbW92ZSh0aGlzKTsKKyAgICAgICAgICAgICAgICBtZW1vcnlD
YWNoZSgpLT5yZW1vdmUodGhpcyk7CiAgICAgICAgIH0gZWxzZQotICAgICAgICAgICAgY2FjaGUo
KS0+cHJ1bmUoKTsKKyAgICAgICAgICAgIG1lbW9yeUNhY2hlKCktPnBydW5lKCk7CiAgICAgfQog
ICAgIC8vIFRoaXMgb2JqZWN0IG1heSBiZSBkZWFkIGhlcmUuCiB9CkBAIC0zMDQsMTMgKzMwNCwx
MyBAQCB2b2lkIENhY2hlZFJlc291cmNlOjpzZXREZWNvZGVkU2l6ZSh1bnNpZ25lZCBzaXplKQog
ICAgIC8vIFdlIGhhdmUgdG8gcmVtb3ZlIGV4cGxpY2l0bHkgYmVmb3JlIHVwZGF0aW5nIG1fZGVj
b2RlZFNpemUsIHNvIHRoYXQgd2UgZmluZCB0aGUgY29ycmVjdCBwcmV2aW91cwogICAgIC8vIHF1
ZXVlLgogICAgIGlmIChpbkNhY2hlKCkpCi0gICAgICAgIGNhY2hlKCktPnJlbW92ZUZyb21MUlVM
aXN0KHRoaXMpOworICAgICAgICBtZW1vcnlDYWNoZSgpLT5yZW1vdmVGcm9tTFJVTGlzdCh0aGlz
KTsKICAgICAKICAgICBtX2RlY29kZWRTaXplID0gc2l6ZTsKICAgIAogICAgIGlmIChpbkNhY2hl
KCkpIHsgCiAgICAgICAgIC8vIE5vdyBpbnNlcnQgaW50byB0aGUgbmV3IExSVSBsaXN0LgotICAg
ICAgICBjYWNoZSgpLT5pbnNlcnRJbkxSVUxpc3QodGhpcyk7CisgICAgICAgIG1lbW9yeUNhY2hl
KCktPmluc2VydEluTFJVTGlzdCh0aGlzKTsKICAgICAgICAgCiAgICAgICAgIC8vIEluc2VydCBp
bnRvIG9yIHJlbW92ZSBmcm9tIHRoZSBsaXZlIGRlY29kZWQgbGlzdCBpZiBuZWNlc3NhcnkuCiAg
ICAgICAgIC8vIFdoZW4gaW5zZXJ0aW5nIGludG8gdGhlIExpdmVEZWNvZGVkUmVzb3VyY2VzTGlz
dCBpdCBpcyBwb3NzaWJsZQpAQCAtMzIwLDEyICszMjAsMTIgQEAgdm9pZCBDYWNoZWRSZXNvdXJj
ZTo6c2V0RGVjb2RlZFNpemUodW5zaWduZWQgc2l6ZSkKICAgICAgICAgLy8gYnkgYWNjZXNzIHRp
bWUuIFRoZSB3ZWFrZW5pbmcgb2YgdGhlIGludmFyaWFudCBkb2VzIG5vdCBwb3NlCiAgICAgICAg
IC8vIGEgcHJvYmxlbS4gRm9yIG1vcmUgZGV0YWlscyBwbGVhc2Ugc2VlOiBodHRwczovL2J1Z3Mu
d2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9MzAyMDkKICAgICAgICAgaWYgKG1fZGVjb2RlZFNp
emUgJiYgIW1faW5MaXZlRGVjb2RlZFJlc291cmNlc0xpc3QgJiYgaGFzQ2xpZW50cygpKQotICAg
ICAgICAgICAgY2FjaGUoKS0+aW5zZXJ0SW5MaXZlRGVjb2RlZFJlc291cmNlc0xpc3QodGhpcyk7
CisgICAgICAgICAgICBtZW1vcnlDYWNoZSgpLT5pbnNlcnRJbkxpdmVEZWNvZGVkUmVzb3VyY2Vz
TGlzdCh0aGlzKTsKICAgICAgICAgZWxzZSBpZiAoIW1fZGVjb2RlZFNpemUgJiYgbV9pbkxpdmVE
ZWNvZGVkUmVzb3VyY2VzTGlzdCkKLSAgICAgICAgICAgIGNhY2hlKCktPnJlbW92ZUZyb21MaXZl
RGVjb2RlZFJlc291cmNlc0xpc3QodGhpcyk7CisgICAgICAgICAgICBtZW1vcnlDYWNoZSgpLT5y
ZW1vdmVGcm9tTGl2ZURlY29kZWRSZXNvdXJjZXNMaXN0KHRoaXMpOwogCiAgICAgICAgIC8vIFVw
ZGF0ZSB0aGUgY2FjaGUncyBzaXplIHRvdGFscy4KLSAgICAgICAgY2FjaGUoKS0+YWRqdXN0U2l6
ZShoYXNDbGllbnRzKCksIGRlbHRhKTsKKyAgICAgICAgbWVtb3J5Q2FjaGUoKS0+YWRqdXN0U2l6
ZShoYXNDbGllbnRzKCksIGRlbHRhKTsKICAgICB9CiB9CiAKQEAgLTM0MywxNiArMzQzLDE2IEBA
IHZvaWQgQ2FjaGVkUmVzb3VyY2U6OnNldEVuY29kZWRTaXplKHVuc2lnbmVkIHNpemUpCiAgICAg
Ly8gV2UgaGF2ZSB0byByZW1vdmUgZXhwbGljaXRseSBiZWZvcmUgdXBkYXRpbmcgbV9lbmNvZGVk
U2l6ZSwgc28gdGhhdCB3ZSBmaW5kIHRoZSBjb3JyZWN0IHByZXZpb3VzCiAgICAgLy8gcXVldWUu
CiAgICAgaWYgKGluQ2FjaGUoKSkKLSAgICAgICAgY2FjaGUoKS0+cmVtb3ZlRnJvbUxSVUxpc3Qo
dGhpcyk7CisgICAgICAgIG1lbW9yeUNhY2hlKCktPnJlbW92ZUZyb21MUlVMaXN0KHRoaXMpOwog
ICAgIAogICAgIG1fZW5jb2RlZFNpemUgPSBzaXplOwogICAgCiAgICAgaWYgKGluQ2FjaGUoKSkg
eyAKICAgICAgICAgLy8gTm93IGluc2VydCBpbnRvIHRoZSBuZXcgTFJVIGxpc3QuCi0gICAgICAg
IGNhY2hlKCktPmluc2VydEluTFJVTGlzdCh0aGlzKTsKKyAgICAgICAgbWVtb3J5Q2FjaGUoKS0+
aW5zZXJ0SW5MUlVMaXN0KHRoaXMpOwogICAgICAgICAKICAgICAgICAgLy8gVXBkYXRlIHRoZSBj
YWNoZSdzIHNpemUgdG90YWxzLgotICAgICAgICBjYWNoZSgpLT5hZGp1c3RTaXplKGhhc0NsaWVu
dHMoKSwgZGVsdGEpOworICAgICAgICBtZW1vcnlDYWNoZSgpLT5hZGp1c3RTaXplKGhhc0NsaWVu
dHMoKSwgZGVsdGEpOwogICAgIH0KIH0KIApAQCAtMzYyLDEwICszNjIsMTAgQEAgdm9pZCBDYWNo
ZWRSZXNvdXJjZTo6ZGlkQWNjZXNzRGVjb2RlZERhdGEoZG91YmxlIHRpbWVTdGFtcCkKICAgICAK
ICAgICBpZiAoaW5DYWNoZSgpKSB7CiAgICAgICAgIGlmIChtX2luTGl2ZURlY29kZWRSZXNvdXJj
ZXNMaXN0KSB7Ci0gICAgICAgICAgICBjYWNoZSgpLT5yZW1vdmVGcm9tTGl2ZURlY29kZWRSZXNv
dXJjZXNMaXN0KHRoaXMpOwotICAgICAgICAgICAgY2FjaGUoKS0+aW5zZXJ0SW5MaXZlRGVjb2Rl
ZFJlc291cmNlc0xpc3QodGhpcyk7CisgICAgICAgICAgICBtZW1vcnlDYWNoZSgpLT5yZW1vdmVG
cm9tTGl2ZURlY29kZWRSZXNvdXJjZXNMaXN0KHRoaXMpOworICAgICAgICAgICAgbWVtb3J5Q2Fj
aGUoKS0+aW5zZXJ0SW5MaXZlRGVjb2RlZFJlc291cmNlc0xpc3QodGhpcyk7CiAgICAgICAgIH0K
LSAgICAgICAgY2FjaGUoKS0+cHJ1bmUoKTsKKyAgICAgICAgbWVtb3J5Q2FjaGUoKS0+cHJ1bmUo
KTsKICAgICB9CiB9CiAgICAgCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9sb2FkZXIvY2Fj
aGUvQ2FjaGVkUmVzb3VyY2VMb2FkZXIuY3BwIGIvU291cmNlL1dlYkNvcmUvbG9hZGVyL2NhY2hl
L0NhY2hlZFJlc291cmNlTG9hZGVyLmNwcAppbmRleCAwYWMzZjRiZmZkMWY5MjEwY2VhMGM5Mzhk
NTU1MTQyODMwOGU3NDAxLi4xMjkxOTU5NGRhMmRlNTFhMGEwNmViMzhkM2NjM2EzNjU5ODg3ZTU3
IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9sb2FkZXIvY2FjaGUvQ2FjaGVkUmVzb3VyY2VM
b2FkZXIuY3BwCisrKyBiL1NvdXJjZS9XZWJDb3JlL2xvYWRlci9jYWNoZS9DYWNoZWRSZXNvdXJj
ZUxvYWRlci5jcHAKQEAgLTc4LDcgKzc4LDcgQEAgc3RhdGljIENhY2hlZFJlc291cmNlKiBjcmVh
dGVSZXNvdXJjZShDYWNoZWRSZXNvdXJjZTo6VHlwZSB0eXBlLCBjb25zdCBLVVJMJiB1cmwKIH0K
IAogQ2FjaGVkUmVzb3VyY2VMb2FkZXI6OkNhY2hlZFJlc291cmNlTG9hZGVyKERvY3VtZW50KiBk
b2N1bWVudCkKLSAgICA6IG1fY2FjaGUoY2FjaGUoKSkKKyAgICA6IG1fY2FjaGUobWVtb3J5Q2Fj
aGUoKSkKICAgICAsIG1fZG9jdW1lbnQoZG9jdW1lbnQpCiAgICAgLCBtX3JlcXVlc3RDb3VudCgw
KQogICAgICwgbV9hdXRvTG9hZEltYWdlcyh0cnVlKQpAQCAtMTU0LDE0ICsxNTQsMTQgQEAgQ2Fj
aGVkQ1NTU3R5bGVTaGVldCogQ2FjaGVkUmVzb3VyY2VMb2FkZXI6OnJlcXVlc3RVc2VyQ1NTU3R5
bGVTaGVldChjb25zdCBTdHJpbmcKIHsKICAgICBLVVJMIHVybCA9IE1lbW9yeUNhY2hlOjpyZW1v
dmVGcmFnbWVudElkZW50aWZpZXJJZk5lZWRlZChLVVJMKEtVUkwoKSwgcmVxdWVzdFVSTCkpOwog
Ci0gICAgaWYgKENhY2hlZFJlc291cmNlKiBleGlzdGluZyA9IGNhY2hlKCktPnJlc291cmNlRm9y
VVJMKHVybCkpIHsKKyAgICBpZiAoQ2FjaGVkUmVzb3VyY2UqIGV4aXN0aW5nID0gbWVtb3J5Q2Fj
aGUoKS0+cmVzb3VyY2VGb3JVUkwodXJsKSkgewogICAgICAgICBpZiAoZXhpc3RpbmctPnR5cGUo
KSA9PSBDYWNoZWRSZXNvdXJjZTo6Q1NTU3R5bGVTaGVldCkKICAgICAgICAgICAgIHJldHVybiBz
dGF0aWNfY2FzdDxDYWNoZWRDU1NTdHlsZVNoZWV0Kj4oZXhpc3RpbmcpOwotICAgICAgICBjYWNo
ZSgpLT5yZW1vdmUoZXhpc3RpbmcpOworICAgICAgICBtZW1vcnlDYWNoZSgpLT5yZW1vdmUoZXhp
c3RpbmcpOwogICAgIH0KICAgICBDYWNoZWRDU1NTdHlsZVNoZWV0KiB1c2VyU2hlZXQgPSBuZXcg
Q2FjaGVkQ1NTU3R5bGVTaGVldCh1cmwsIGNoYXJzZXQpOwogICAgIAotICAgIGJvb2wgaW5DYWNo
ZSA9IGNhY2hlKCktPmFkZCh1c2VyU2hlZXQpOworICAgIGJvb2wgaW5DYWNoZSA9IG1lbW9yeUNh
Y2hlKCktPmFkZCh1c2VyU2hlZXQpOwogICAgIGlmICghaW5DYWNoZSkKICAgICAgICAgdXNlclNo
ZWV0LT5zZXRJbkNhY2hlKHRydWUpOwogICAgIApAQCAtMjg0LDcgKzI4NCw3IEBAIENhY2hlZFJl
c291cmNlKiBDYWNoZWRSZXNvdXJjZUxvYWRlcjo6cmVxdWVzdFJlc291cmNlKENhY2hlZFJlc291
cmNlOjpUeXBlIHR5cGUsCiAgICAgICAgIHJldHVybiAwOwogICAgIH0KIAotICAgIGlmIChjYWNo
ZSgpLT5kaXNhYmxlZCgpKSB7CisgICAgaWYgKG1lbW9yeUNhY2hlKCktPmRpc2FibGVkKCkpIHsK
ICAgICAgICAgRG9jdW1lbnRSZXNvdXJjZU1hcDo6aXRlcmF0b3IgaXQgPSBtX2RvY3VtZW50UmVz
b3VyY2VzLmZpbmQodXJsLnN0cmluZygpKTsKICAgICAgICAgaWYgKGl0ICE9IG1fZG9jdW1lbnRS
ZXNvdXJjZXMuZW5kKCkpIHsKICAgICAgICAgICAgIGl0LT5zZWNvbmQtPnNldE93bmluZ0NhY2hl
ZFJlc291cmNlTG9hZGVyKDApOwpAQCAtMjkzLDIxICsyOTMsMjEgQEAgQ2FjaGVkUmVzb3VyY2Uq
IENhY2hlZFJlc291cmNlTG9hZGVyOjpyZXF1ZXN0UmVzb3VyY2UoQ2FjaGVkUmVzb3VyY2U6OlR5
cGUgdHlwZSwKICAgICB9CiAKICAgICAvLyBTZWUgaWYgd2UgY2FuIHVzZSBhbiBleGlzdGluZyBy
ZXNvdXJjZSBmcm9tIHRoZSBjYWNoZS4KLSAgICBDYWNoZWRSZXNvdXJjZSogcmVzb3VyY2UgPSBj
YWNoZSgpLT5yZXNvdXJjZUZvclVSTCh1cmwpOworICAgIENhY2hlZFJlc291cmNlKiByZXNvdXJj
ZSA9IG1lbW9yeUNhY2hlKCktPnJlc291cmNlRm9yVVJMKHVybCk7CiAKICAgICBzd2l0Y2ggKGRl
dGVybWluZVJldmFsaWRhdGlvblBvbGljeSh0eXBlLCBmb3JQcmVsb2FkLCByZXNvdXJjZSkpIHsK
ICAgICBjYXNlIExvYWQ6CiAgICAgICAgIHJlc291cmNlID0gbG9hZFJlc291cmNlKHR5cGUsIHVy
bCwgY2hhcnNldCwgcHJpb3JpdHkpOwogICAgICAgICBicmVhazsKICAgICBjYXNlIFJlbG9hZDoK
LSAgICAgICAgY2FjaGUoKS0+cmVtb3ZlKHJlc291cmNlKTsKKyAgICAgICAgbWVtb3J5Q2FjaGUo
KS0+cmVtb3ZlKHJlc291cmNlKTsKICAgICAgICAgcmVzb3VyY2UgPSBsb2FkUmVzb3VyY2UodHlw
ZSwgdXJsLCBjaGFyc2V0LCBwcmlvcml0eSk7CiAgICAgICAgIGJyZWFrOwogICAgIGNhc2UgUmV2
YWxpZGF0ZToKICAgICAgICAgcmVzb3VyY2UgPSByZXZhbGlkYXRlUmVzb3VyY2UocmVzb3VyY2Us
IHByaW9yaXR5KTsKICAgICAgICAgYnJlYWs7CiAgICAgY2FzZSBVc2U6Ci0gICAgICAgIGNhY2hl
KCktPnJlc291cmNlQWNjZXNzZWQocmVzb3VyY2UpOworICAgICAgICBtZW1vcnlDYWNoZSgpLT5y
ZXNvdXJjZUFjY2Vzc2VkKHJlc291cmNlKTsKICAgICAgICAgbm90aWZ5TG9hZGVkRnJvbU1lbW9y
eUNhY2hlKHJlc291cmNlKTsKICAgICAgICAgYnJlYWs7CiAgICAgfQpAQCAtMzI1LDcgKzMyNSw3
IEBAIENhY2hlZFJlc291cmNlKiBDYWNoZWRSZXNvdXJjZUxvYWRlcjo6cmV2YWxpZGF0ZVJlc291
cmNlKENhY2hlZFJlc291cmNlKiByZXNvdXJjCiB7CiAgICAgQVNTRVJUKHJlc291cmNlKTsKICAg
ICBBU1NFUlQocmVzb3VyY2UtPmluQ2FjaGUoKSk7Ci0gICAgQVNTRVJUKCFjYWNoZSgpLT5kaXNh
YmxlZCgpKTsKKyAgICBBU1NFUlQoIW1lbW9yeUNhY2hlKCktPmRpc2FibGVkKCkpOwogICAgIEFT
U0VSVChyZXNvdXJjZS0+Y2FuVXNlQ2FjaGVWYWxpZGF0b3IoKSk7CiAgICAgQVNTRVJUKCFyZXNv
dXJjZS0+cmVzb3VyY2VUb1JldmFsaWRhdGUoKSk7CiAgICAgCkBAIC0zMzUsOCArMzM1LDggQEAg
Q2FjaGVkUmVzb3VyY2UqIENhY2hlZFJlc291cmNlTG9hZGVyOjpyZXZhbGlkYXRlUmVzb3VyY2Uo
Q2FjaGVkUmVzb3VyY2UqIHJlc291cmMKICAgICBMT0coUmVzb3VyY2VMb2FkaW5nLCAiUmVzb3Vy
Y2UgJXAgY3JlYXRlZCB0byByZXZhbGlkYXRlICVwIiwgbmV3UmVzb3VyY2UsIHJlc291cmNlKTsK
ICAgICBuZXdSZXNvdXJjZS0+c2V0UmVzb3VyY2VUb1JldmFsaWRhdGUocmVzb3VyY2UpOwogICAg
IAotICAgIGNhY2hlKCktPnJlbW92ZShyZXNvdXJjZSk7Ci0gICAgY2FjaGUoKS0+YWRkKG5ld1Jl
c291cmNlKTsKKyAgICBtZW1vcnlDYWNoZSgpLT5yZW1vdmUocmVzb3VyY2UpOworICAgIG1lbW9y
eUNhY2hlKCktPmFkZChuZXdSZXNvdXJjZSk7CiAgICAgCiAgICAgbmV3UmVzb3VyY2UtPnNldExv
YWRQcmlvcml0eShwcmlvcml0eSk7CiAgICAgbmV3UmVzb3VyY2UtPmxvYWQodGhpcyk7CkBAIC0z
NDcsMTMgKzM0NywxMyBAQCBDYWNoZWRSZXNvdXJjZSogQ2FjaGVkUmVzb3VyY2VMb2FkZXI6OnJl
dmFsaWRhdGVSZXNvdXJjZShDYWNoZWRSZXNvdXJjZSogcmVzb3VyYwogCiBDYWNoZWRSZXNvdXJj
ZSogQ2FjaGVkUmVzb3VyY2VMb2FkZXI6OmxvYWRSZXNvdXJjZShDYWNoZWRSZXNvdXJjZTo6VHlw
ZSB0eXBlLCBjb25zdCBLVVJMJiB1cmwsIGNvbnN0IFN0cmluZyYgY2hhcnNldCwgUmVzb3VyY2VM
b2FkUHJpb3JpdHkgcHJpb3JpdHkpCiB7Ci0gICAgQVNTRVJUKCFjYWNoZSgpLT5yZXNvdXJjZUZv
clVSTCh1cmwpKTsKKyAgICBBU1NFUlQoIW1lbW9yeUNhY2hlKCktPnJlc291cmNlRm9yVVJMKHVy
bCkpOwogICAgIAogICAgIExPRyhSZXNvdXJjZUxvYWRpbmcsICJMb2FkaW5nIENhY2hlZFJlc291
cmNlIGZvciAnJXMnLiIsIHVybC5zdHJpbmcoKS5sYXRpbjEoKS5kYXRhKCkpOwogICAgIAogICAg
IENhY2hlZFJlc291cmNlKiByZXNvdXJjZSA9IGNyZWF0ZVJlc291cmNlKHR5cGUsIHVybCwgY2hh
cnNldCk7CiAgICAgCi0gICAgYm9vbCBpbkNhY2hlID0gY2FjaGUoKS0+YWRkKHJlc291cmNlKTsK
KyAgICBib29sIGluQ2FjaGUgPSBtZW1vcnlDYWNoZSgpLT5hZGQocmVzb3VyY2UpOwogICAgIAog
ICAgIC8vIFByZXRlbmQgdGhlIHJlc291cmNlIGlzIGluIHRoZSBjYWNoZSwgdG8gcHJldmVudCBp
dCBmcm9tIGJlaW5nIGRlbGV0ZWQgZHVyaW5nIHRoZSBsb2FkKCkgY2FsbC4KICAgICAvLyBGSVhN
RTogQ2FjaGVkUmVzb3VyY2Ugc2hvdWxkIGp1c3QgdXNlIG5vcm1hbCByZWZjb3VudGluZyBpbnN0
ZWFkLgpAQCAtMzcxLDcgKzM3MSw3IEBAIENhY2hlZFJlc291cmNlKiBDYWNoZWRSZXNvdXJjZUxv
YWRlcjo6bG9hZFJlc291cmNlKENhY2hlZFJlc291cmNlOjpUeXBlIHR5cGUsIGNvCiAgICAgLy8g
V2UgZG9uJ3Qgc3VwcG9ydCBpbW1lZGlhdGUgbG9hZHMsIGJ1dCB3ZSBkbyBzdXBwb3J0IGltbWVk
aWF0ZSBmYWlsdXJlLgogICAgIGlmIChyZXNvdXJjZS0+ZXJyb3JPY2N1cnJlZCgpKSB7CiAgICAg
ICAgIGlmIChpbkNhY2hlKQotICAgICAgICAgICAgY2FjaGUoKS0+cmVtb3ZlKHJlc291cmNlKTsK
KyAgICAgICAgICAgIG1lbW9yeUNhY2hlKCktPnJlbW92ZShyZXNvdXJjZSk7CiAgICAgICAgIGVs
c2UKICAgICAgICAgICAgIGRlbGV0ZSByZXNvdXJjZTsKICAgICAgICAgcmV0dXJuIDA7CkBAIC02
MzMsNyArNjMzLDcgQEAgdm9pZCBDYWNoZWRSZXNvdXJjZUxvYWRlcjo6Y2xlYXJQcmVsb2Fkcygp
CiAgICAgICAgIGlmIChyZXMtPmNhbkRlbGV0ZSgpICYmICFyZXMtPmluQ2FjaGUoKSkKICAgICAg
ICAgICAgIGRlbGV0ZSByZXM7CiAgICAgICAgIGVsc2UgaWYgKHJlcy0+cHJlbG9hZFJlc3VsdCgp
ID09IENhY2hlZFJlc291cmNlOjpQcmVsb2FkTm90UmVmZXJlbmNlZCkKLSAgICAgICAgICAgIGNh
Y2hlKCktPnJlbW92ZShyZXMpOworICAgICAgICAgICAgbWVtb3J5Q2FjaGUoKS0+cmVtb3ZlKHJl
cyk7CiAgICAgfQogICAgIG1fcHJlbG9hZHMuY2xlYXIoKTsKIH0KQEAgLTY3Nyw3ICs2NzcsNyBA
QCB2b2lkIENhY2hlZFJlc291cmNlTG9hZGVyOjpwcmludFByZWxvYWRTdGF0cygpCiAgICAgICAg
IH0KICAgICAgICAgCiAgICAgICAgIGlmIChyZXMtPmVycm9yT2NjdXJyZWQoKSkKLSAgICAgICAg
ICAgIGNhY2hlKCktPnJlbW92ZShyZXMpOworICAgICAgICAgICAgbWVtb3J5Q2FjaGUoKS0+cmVt
b3ZlKHJlcyk7CiAgICAgICAgIAogICAgICAgICByZXMtPmRlY3JlYXNlUHJlbG9hZENvdW50KCk7
CiAgICAgfQpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvbG9hZGVyL2NhY2hlL0NhY2hlZFJl
c291cmNlUmVxdWVzdC5jcHAgYi9Tb3VyY2UvV2ViQ29yZS9sb2FkZXIvY2FjaGUvQ2FjaGVkUmVz
b3VyY2VSZXF1ZXN0LmNwcAppbmRleCA4MjdiYjhlNDA5OTQ4YzhhYjk0NjU0NWMxZTcxN2RmOWE0
OWYzYWJiLi5kNWUxYWRmOWJhYWIwZGVlZjQ0NjM1MTVkNWIzZWE4Njc4MjZjNTBjIDEwMDY0NAot
LS0gYS9Tb3VyY2UvV2ViQ29yZS9sb2FkZXIvY2FjaGUvQ2FjaGVkUmVzb3VyY2VSZXF1ZXN0LmNw
cAorKysgYi9Tb3VyY2UvV2ViQ29yZS9sb2FkZXIvY2FjaGUvQ2FjaGVkUmVzb3VyY2VSZXF1ZXN0
LmNwcApAQCAtMTIyLDcgKzEyMiw3IEBAIFBhc3NSZWZQdHI8Q2FjaGVkUmVzb3VyY2VSZXF1ZXN0
PiBDYWNoZWRSZXNvdXJjZVJlcXVlc3Q6OmxvYWQoQ2FjaGVkUmVzb3VyY2VMb2FkCiAgICAgICAg
IGNhY2hlZFJlc291cmNlTG9hZGVyLT5kZWNyZW1lbnRSZXF1ZXN0Q291bnQocmVzb3VyY2UpOwog
ICAgICAgICBjYWNoZWRSZXNvdXJjZUxvYWRlci0+bG9hZEZpbmlzaGluZygpOwogICAgICAgICBp
ZiAocmVzb3VyY2UtPnJlc291cmNlVG9SZXZhbGlkYXRlKCkpIAotICAgICAgICAgICAgY2FjaGUo
KS0+cmV2YWxpZGF0aW9uRmFpbGVkKHJlc291cmNlKTsgCisgICAgICAgICAgICBtZW1vcnlDYWNo
ZSgpLT5yZXZhbGlkYXRpb25GYWlsZWQocmVzb3VyY2UpOyAKICAgICAgICAgcmVzb3VyY2UtPmVy
cm9yKENhY2hlZFJlc291cmNlOjpMb2FkRXJyb3IpOwogICAgICAgICBjYWNoZWRSZXNvdXJjZUxv
YWRlci0+bG9hZERvbmUoMCk7CiAgICAgICAgIHJldHVybiAwOwpAQCAtMTg2LDcgKzE4Niw3IEBA
IHZvaWQgQ2FjaGVkUmVzb3VyY2VSZXF1ZXN0OjpkaWRGYWlsKGJvb2wgY2FuY2VsbGVkKQogICAg
IG1fbG9hZGVyLT5jbGVhckNsaWVudCgpOwogCiAgICAgaWYgKG1fcmVzb3VyY2UtPnJlc291cmNl
VG9SZXZhbGlkYXRlKCkpCi0gICAgICAgIGNhY2hlKCktPnJldmFsaWRhdGlvbkZhaWxlZChtX3Jl
c291cmNlKTsKKyAgICAgICAgbWVtb3J5Q2FjaGUoKS0+cmV2YWxpZGF0aW9uRmFpbGVkKG1fcmVz
b3VyY2UpOwogCiAgICAgaWYgKCFjYW5jZWxsZWQpIHsKICAgICAgICAgbV9jYWNoZWRSZXNvdXJj
ZUxvYWRlci0+bG9hZEZpbmlzaGluZygpOwpAQCAtMTk0LDcgKzE5NCw3IEBAIHZvaWQgQ2FjaGVk
UmVzb3VyY2VSZXF1ZXN0OjpkaWRGYWlsKGJvb2wgY2FuY2VsbGVkKQogICAgIH0KIAogICAgIGlm
IChjYW5jZWxsZWQgfHwgIW1fcmVzb3VyY2UtPmlzUHJlbG9hZGVkKCkpCi0gICAgICAgIGNhY2hl
KCktPnJlbW92ZShtX3Jlc291cmNlKTsKKyAgICAgICAgbWVtb3J5Q2FjaGUoKS0+cmVtb3ZlKG1f
cmVzb3VyY2UpOwogICAgIAogICAgIG1fY2FjaGVkUmVzb3VyY2VMb2FkZXItPmxvYWREb25lKHRo
aXMpOwogfQpAQCAtMjExLDcgKzIxMSw3IEBAIHZvaWQgQ2FjaGVkUmVzb3VyY2VSZXF1ZXN0Ojpk
aWRSZWNlaXZlUmVzcG9uc2UoU3VicmVzb3VyY2VMb2FkZXIqIGxvYWRlciwgY29uc3QKICAgICAg
ICAgICAgIG1fZmluaXNoaW5nID0gdHJ1ZTsKIAogICAgICAgICAgICAgLy8gRXhpc3RpbmcgcmVz
b3VyY2UgaXMgb2ssIGp1c3QgdXNlIGl0IHVwZGF0aW5nIHRoZSBleHBpcmF0aW9uIHRpbWUuCi0g
ICAgICAgICAgICBjYWNoZSgpLT5yZXZhbGlkYXRpb25TdWNjZWVkZWQobV9yZXNvdXJjZSwgcmVz
cG9uc2UpOworICAgICAgICAgICAgbWVtb3J5Q2FjaGUoKS0+cmV2YWxpZGF0aW9uU3VjY2VlZGVk
KG1fcmVzb3VyY2UsIHJlc3BvbnNlKTsKICAgICAgICAgICAgIAogICAgICAgICAgICAgaWYgKG1f
Y2FjaGVkUmVzb3VyY2VMb2FkZXItPmZyYW1lKCkpCiAgICAgICAgICAgICAgICAgbV9jYWNoZWRS
ZXNvdXJjZUxvYWRlci0+ZnJhbWUoKS0+bG9hZGVyKCktPmNoZWNrQ29tcGxldGVkKCk7CkBAIC0y
MjAsNyArMjIwLDcgQEAgdm9pZCBDYWNoZWRSZXNvdXJjZVJlcXVlc3Q6OmRpZFJlY2VpdmVSZXNw
b25zZShTdWJyZXNvdXJjZUxvYWRlciogbG9hZGVyLCBjb25zdAogICAgICAgICAgICAgcmV0dXJu
OwogICAgICAgICB9IAogICAgICAgICAvLyBEaWQgbm90IGdldCAzMDQgcmVzcG9uc2UsIGNvbnRp
bnVlIGFzIGEgcmVndWxhciByZXNvdXJjZSBsb2FkLgotICAgICAgICBjYWNoZSgpLT5yZXZhbGlk
YXRpb25GYWlsZWQobV9yZXNvdXJjZSk7CisgICAgICAgIG1lbW9yeUNhY2hlKCktPnJldmFsaWRh
dGlvbkZhaWxlZChtX3Jlc291cmNlKTsKICAgICB9CiAKICAgICBtX3Jlc291cmNlLT5zZXRSZXNw
b25zZShyZXNwb25zZSk7CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9sb2FkZXIvY2FjaGUv
TWVtb3J5Q2FjaGUuY3BwIGIvU291cmNlL1dlYkNvcmUvbG9hZGVyL2NhY2hlL01lbW9yeUNhY2hl
LmNwcAppbmRleCA5MzAwMzNhN2ZmZGQ5MGY4MjdhYTE5YmMzZGU5N2EyMzY0NjI4ZGY1Li42Njg5
NTI0NGQ1MzlhMTE1M2FjMTNlMDk4YjljM2M3MDY3MzliZDBiIDEwMDY0NAotLS0gYS9Tb3VyY2Uv
V2ViQ29yZS9sb2FkZXIvY2FjaGUvTWVtb3J5Q2FjaGUuY3BwCisrKyBiL1NvdXJjZS9XZWJDb3Jl
L2xvYWRlci9jYWNoZS9NZW1vcnlDYWNoZS5jcHAKQEAgLTUwLDcgKzUwLDcgQEAgc3RhdGljIGNv
bnN0IGRvdWJsZSBjTWluRGVsYXlCZWZvcmVMaXZlRGVjb2RlZFBydW5lID0gMTsgLy8gU2Vjb25k
cy4KIHN0YXRpYyBjb25zdCBmbG9hdCBjVGFyZ2V0UHJ1bmVQZXJjZW50YWdlID0gLjk1ZjsgLy8g
UGVyY2VudGFnZSBvZiBjYXBhY2l0eSB0b3dhcmQgd2hpY2ggd2UgcHJ1bmUsIHRvIGF2b2lkIGlt
bWVkaWF0ZWx5IHBydW5pbmcgYWdhaW4uCiBzdGF0aWMgY29uc3QgZG91YmxlIGNEZWZhdWx0RGVj
b2RlZERhdGFEZWxldGlvbkludGVydmFsID0gMDsKIAotTWVtb3J5Q2FjaGUqIGNhY2hlKCkKK01l
bW9yeUNhY2hlKiBtZW1vcnlDYWNoZSgpCiB7CiAgICAgc3RhdGljIE1lbW9yeUNhY2hlKiBzdGF0
aWNDYWNoZSA9IG5ldyBNZW1vcnlDYWNoZTsKICAgICByZXR1cm4gc3RhdGljQ2FjaGU7CmRpZmYg
LS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9sb2FkZXIvY2FjaGUvTWVtb3J5Q2FjaGUuaCBiL1NvdXJj
ZS9XZWJDb3JlL2xvYWRlci9jYWNoZS9NZW1vcnlDYWNoZS5oCmluZGV4IDI3OThmYmFlYTIzZDVm
MWJjYjZiYjc4MGYzZDQyNDIwYTI3ZDNmMGUuLjI4N2UwOTdmMWNlMDI0MzcyOGNlZGQyMzhkNzAy
ZmZhZmE4NDM4MTEgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL2xvYWRlci9jYWNoZS9NZW1v
cnlDYWNoZS5oCisrKyBiL1NvdXJjZS9XZWJDb3JlL2xvYWRlci9jYWNoZS9NZW1vcnlDYWNoZS5o
CkBAIC03Miw3ICs3Miw3IEBAIGNsYXNzIEtVUkw7CiAKIGNsYXNzIE1lbW9yeUNhY2hlIDogcHVi
bGljIE5vbmNvcHlhYmxlIHsKIHB1YmxpYzoKLSAgICBmcmllbmQgTWVtb3J5Q2FjaGUqIGNhY2hl
KCk7CisgICAgZnJpZW5kIE1lbW9yeUNhY2hlKiBtZW1vcnlDYWNoZSgpOwogCiAgICAgdHlwZWRl
ZiBIYXNoTWFwPFN0cmluZywgQ2FjaGVkUmVzb3VyY2UqPiBDYWNoZWRSZXNvdXJjZU1hcDsKIApA
QCAtMjE5LDcgKzIxOSw3IEBAIGlubGluZSBib29sIE1lbW9yeUNhY2hlOjpzaG91bGRNYWtlUmVz
b3VyY2VQdXJnZWFibGVPbkV2aWN0aW9uKCkKIH0KIAogLy8gRnVuY3Rpb24gdG8gb2J0YWluIHRo
ZSBnbG9iYWwgY2FjaGUuCi1NZW1vcnlDYWNoZSogY2FjaGUoKTsKK01lbW9yeUNhY2hlKiBtZW1v
cnlDYWNoZSgpOwogCiB9CiAKZGlmZiAtLWdpdCBhL1dlYktpdC9jaHJvbWl1bS9DaGFuZ2VMb2cg
Yi9XZWJLaXQvY2hyb21pdW0vQ2hhbmdlTG9nCmluZGV4IDgyNjdlN2M2Y2RmNDJjYTBkMzQ4MDc2
MDk0ZTljMjIwNmRiMjlhZjkuLjgwNGFkY2NjZTYwMjQwOTU4MTJmMDhkNjhlZThmMzRkNGU0NDlm
NjggMTAwNjQ0Ci0tLSBhL1dlYktpdC9jaHJvbWl1bS9DaGFuZ2VMb2cKKysrIGIvV2ViS2l0L2No
cm9taXVtL0NoYW5nZUxvZwpAQCAtMSwzICsxLDE2IEBACisyMDExLTAxLTE0ICBZdXpvIEZ1amlz
aGltYSAgPHl1em9AZ29vZ2xlLmNvbT4KKworICAgICAgICBSZXZpZXdlZCBieSBOT0JPRFkgKE9P
UFMhKS4KKworICAgICAgICBSZW5hbWUgY2FjaGUoKSB0byBtZW1vcnlDYWNoZSgpCisgICAgICAg
IGh0dHBzOi8vYnVncy53ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD01MjQzMworCisgICAgICAg
ICogc3JjL1dlYkNhY2hlLmNwcDoKKyAgICAgICAgKFdlYktpdDo6V2ViQ2FjaGU6OnNldENhcGFj
aXRpZXMpOgorICAgICAgICAoV2ViS2l0OjpXZWJDYWNoZTo6Y2xlYXIpOgorICAgICAgICAoV2Vi
S2l0OjpXZWJDYWNoZTo6Z2V0VXNhZ2VTdGF0cyk6CisgICAgICAgIChXZWJLaXQ6OldlYkNhY2hl
OjpnZXRSZXNvdXJjZVR5cGVTdGF0cyk6CisKIDIwMTEtMDEtMTMgIEpvaG4gQWJkLUVsLU1hbGVr
ICA8amFtQGNocm9taXVtLm9yZz4KIAogICAgICAgICBSZXZpZXdlZCBieSBNaWhhaSBQYXJwYXJp
dGEuCmRpZmYgLS1naXQgYS9XZWJLaXQvY2hyb21pdW0vc3JjL1dlYkNhY2hlLmNwcCBiL1dlYktp
dC9jaHJvbWl1bS9zcmMvV2ViQ2FjaGUuY3BwCmluZGV4IDIyMDM0OTg4Y2M4YmQ0ZjgzNTVkMWI4
ODhkNjM2OGY4NDE3NDg1ZDIuLjdkZjRjNjYwNmZmNjc3YTcyNzNiNzJlMjVhOWRjNzAxMDEwM2Q2
OTcgMTAwNjQ0Ci0tLSBhL1dlYktpdC9jaHJvbWl1bS9zcmMvV2ViQ2FjaGUuY3BwCisrKyBiL1dl
YktpdC9jaHJvbWl1bS9zcmMvV2ViQ2FjaGUuY3BwCkBAIC01Niw3ICs1Niw3IEBAIHN0YXRpYyB2
b2lkIFRvUmVzb3VyY2VUeXBlU3RhdChjb25zdCBNZW1vcnlDYWNoZTo6VHlwZVN0YXRpc3RpYyYg
ZnJvbSwKIHZvaWQgV2ViQ2FjaGU6OnNldENhcGFjaXRpZXMoCiAgICAgc2l6ZV90IG1pbkRlYWRD
YXBhY2l0eSwgc2l6ZV90IG1heERlYWRDYXBhY2l0eSwgc2l6ZV90IGNhcGFjaXR5KQogewotICAg
IE1lbW9yeUNhY2hlKiBjYWNoZSA9IFdlYkNvcmU6OmNhY2hlKCk7CisgICAgTWVtb3J5Q2FjaGUq
IGNhY2hlID0gV2ViQ29yZTo6bWVtb3J5Q2FjaGUoKTsKICAgICBpZiAoY2FjaGUpCiAgICAgICAg
IGNhY2hlLT5zZXRDYXBhY2l0aWVzKHN0YXRpY19jYXN0PHVuc2lnbmVkIGludD4obWluRGVhZENh
cGFjaXR5KSwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgc3RhdGljX2Nhc3Q8dW5zaWdu
ZWQgaW50PihtYXhEZWFkQ2FwYWNpdHkpLApAQCAtNjUsNyArNjUsNyBAQCB2b2lkIFdlYkNhY2hl
OjpzZXRDYXBhY2l0aWVzKAogCiB2b2lkIFdlYkNhY2hlOjpjbGVhcigpCiB7Ci0gICAgTWVtb3J5
Q2FjaGUqIGNhY2hlID0gV2ViQ29yZTo6Y2FjaGUoKTsKKyAgICBNZW1vcnlDYWNoZSogY2FjaGUg
PSBXZWJDb3JlOjptZW1vcnlDYWNoZSgpOwogICAgIGlmIChjYWNoZSAmJiAhY2FjaGUtPmRpc2Fi
bGVkKCkpIHsKICAgICAgICAgY2FjaGUtPnNldERpc2FibGVkKHRydWUpOwogICAgICAgICBjYWNo
ZS0+c2V0RGlzYWJsZWQoZmFsc2UpOwpAQCAtNzYsNyArNzYsNyBAQCB2b2lkIFdlYkNhY2hlOjpn
ZXRVc2FnZVN0YXRzKFVzYWdlU3RhdHMqIHJlc3VsdCkKIHsKICAgICBBU1NFUlQocmVzdWx0KTsK
IAotICAgIE1lbW9yeUNhY2hlKiBjYWNoZSA9IFdlYkNvcmU6OmNhY2hlKCk7CisgICAgTWVtb3J5
Q2FjaGUqIGNhY2hlID0gV2ViQ29yZTo6bWVtb3J5Q2FjaGUoKTsKICAgICBpZiAoY2FjaGUpIHsK
ICAgICAgICAgcmVzdWx0LT5taW5EZWFkQ2FwYWNpdHkgPSBjYWNoZS0+bV9taW5EZWFkQ2FwYWNp
dHk7CiAgICAgICAgIHJlc3VsdC0+bWF4RGVhZENhcGFjaXR5ID0gY2FjaGUtPm1fbWF4RGVhZENh
cGFjaXR5OwpAQCAtODksNyArODksNyBAQCB2b2lkIFdlYkNhY2hlOjpnZXRVc2FnZVN0YXRzKFVz
YWdlU3RhdHMqIHJlc3VsdCkKIAogdm9pZCBXZWJDYWNoZTo6Z2V0UmVzb3VyY2VUeXBlU3RhdHMo
UmVzb3VyY2VUeXBlU3RhdHMqIHJlc3VsdCkKIHsKLSAgICBNZW1vcnlDYWNoZSogY2FjaGUgPSBX
ZWJDb3JlOjpjYWNoZSgpOworICAgIE1lbW9yeUNhY2hlKiBjYWNoZSA9IFdlYkNvcmU6Om1lbW9y
eUNhY2hlKCk7CiAgICAgaWYgKGNhY2hlKSB7CiAgICAgICAgIE1lbW9yeUNhY2hlOjpTdGF0aXN0
aWNzIHN0YXRzID0gY2FjaGUtPmdldFN0YXRpc3RpY3MoKTsKICAgICAgICAgVG9SZXNvdXJjZVR5
cGVTdGF0KHN0YXRzLmltYWdlcywgcmVzdWx0LT5pbWFnZXMpOwpkaWZmIC0tZ2l0IGEvV2ViS2l0
L2d0ay9DaGFuZ2VMb2cgYi9XZWJLaXQvZ3RrL0NoYW5nZUxvZwppbmRleCBhNjUyOGI0ZGYyZjky
NDExZmE0MzhmZWJkYTQ5MTVkMWM1MmRlOTY2Li4xMzQ3ZGM4OTAyYjIwYzFkNjIwY2EzY2Y4MWJk
NDcxYjJiZDZmNWI3IDEwMDY0NAotLS0gYS9XZWJLaXQvZ3RrL0NoYW5nZUxvZworKysgYi9XZWJL
aXQvZ3RrL0NoYW5nZUxvZwpAQCAtMSwzICsxLDEzIEBACisyMDExLTAxLTE0ICBZdXpvIEZ1amlz
aGltYSAgPHl1em9AZ29vZ2xlLmNvbT4KKworICAgICAgICBSZXZpZXdlZCBieSBOT0JPRFkgKE9P
UFMhKS4KKworICAgICAgICBSZW5hbWUgY2FjaGUoKSB0byBtZW1vcnlDYWNoZSgpCisgICAgICAg
IGh0dHBzOi8vYnVncy53ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD01MjQzMworCisgICAgICAg
ICogd2Via2l0L3dlYmtpdGdsb2JhbHMuY3BwOgorICAgICAgICAod2Via2l0X3NldF9jYWNoZV9t
b2RlbCk6CisKIDIwMTEtMDEtMTMgIEFsZWphbmRybyBHLiBDYXN0cm8gIDxhbGV4QGlnYWxpYS5j
b20+CiAKICAgICAgICAgUmV2aWV3ZWQgYnkgTWFydGluIFJvYmluc29uLgpkaWZmIC0tZ2l0IGEv
V2ViS2l0L2d0ay93ZWJraXQvd2Via2l0Z2xvYmFscy5jcHAgYi9XZWJLaXQvZ3RrL3dlYmtpdC93
ZWJraXRnbG9iYWxzLmNwcAppbmRleCA2YjU3NTMzNTgyYzUwNTQ2MTIxYWY3MDVjNjBhNmQ2OTBh
ZTUzNTllLi5hOTdkNTNmNmI2ZjRiNzlhNTFjMjAxYjIwNDNlODA1MDA5MTc1YTIxIDEwMDY0NAot
LS0gYS9XZWJLaXQvZ3RrL3dlYmtpdC93ZWJraXRnbG9iYWxzLmNwcAorKysgYi9XZWJLaXQvZ3Rr
L3dlYmtpdC93ZWJraXRnbG9iYWxzLmNwcApAQCAtMTM4LDggKzEzOCw4IEBAIHZvaWQgd2Via2l0
X3NldF9jYWNoZV9tb2RlbChXZWJLaXRDYWNoZU1vZGVsIG1vZGVsKQogICAgICAgICBnX3JldHVy
bl9pZl9yZWFjaGVkKCk7CiAgICAgfQogCi0gICAgY2FjaGUoKS0+c2V0Q2FwYWNpdGllcyhjYWNo
ZU1pbkRlYWRDYXBhY2l0eSwgY2FjaGVNYXhEZWFkQ2FwYWNpdHksIGNhY2hlVG90YWxDYXBhY2l0
eSk7Ci0gICAgY2FjaGUoKS0+c2V0RGVhZERlY29kZWREYXRhRGVsZXRpb25JbnRlcnZhbChkZWFk
RGVjb2RlZERhdGFEZWxldGlvbkludGVydmFsKTsKKyAgICBtZW1vcnlDYWNoZSgpLT5zZXRDYXBh
Y2l0aWVzKGNhY2hlTWluRGVhZENhcGFjaXR5LCBjYWNoZU1heERlYWRDYXBhY2l0eSwgY2FjaGVU
b3RhbENhcGFjaXR5KTsKKyAgICBtZW1vcnlDYWNoZSgpLT5zZXREZWFkRGVjb2RlZERhdGFEZWxl
dGlvbkludGVydmFsKGRlYWREZWNvZGVkRGF0YURlbGV0aW9uSW50ZXJ2YWwpOwogICAgIHBhZ2VD
YWNoZSgpLT5zZXRDYXBhY2l0eShwYWdlQ2FjaGVDYXBhY2l0eSk7CiAgICAgY2FjaGVNb2RlbCA9
IG1vZGVsOwogfQpkaWZmIC0tZ2l0IGEvV2ViS2l0L21hYy9DaGFuZ2VMb2cgYi9XZWJLaXQvbWFj
L0NoYW5nZUxvZwppbmRleCA2OTM4NGUwMjI2YTEyODc0ZTUyNzk3ZTJmMDUyZjMzZDI2OGMzMGYy
Li4yNDg3MmVkOGE4MjU4NTUxNzVhZTQyYzNmMzFlZWJhZDJjYzc0YTc0IDEwMDY0NAotLS0gYS9X
ZWJLaXQvbWFjL0NoYW5nZUxvZworKysgYi9XZWJLaXQvbWFjL0NoYW5nZUxvZwpAQCAtMSwzICsx
LDE3IEBACisyMDExLTAxLTE0ICBZdXpvIEZ1amlzaGltYSAgPHl1em9AZ29vZ2xlLmNvbT4KKwor
ICAgICAgICBSZXZpZXdlZCBieSBOT0JPRFkgKE9PUFMhKS4KKworICAgICAgICBSZW5hbWUgY2Fj
aGUoKSB0byBtZW1vcnlDYWNoZSgpCisgICAgICAgIGh0dHBzOi8vYnVncy53ZWJraXQub3JnL3No
b3dfYnVnLmNnaT9pZD01MjQzMworCisgICAgICAgICogTWlzYy9XZWJDYWNoZS5tbToKKyAgICAg
ICAgKCtbV2ViQ2FjaGUgc3RhdGlzdGljc10pOgorICAgICAgICAoK1tXZWJDYWNoZSBzZXREaXNh
YmxlZDpdKToKKyAgICAgICAgKCtbV2ViQ2FjaGUgaXNEaXNhYmxlZF0pOgorICAgICAgICAqIFdl
YlZpZXcvV2ViVmlldy5tbToKKyAgICAgICAgKCtbV2ViVmlldyBfc2V0Q2FjaGVNb2RlbDpdKToK
KwogMjAxMS0wMS0xMiAgRW5yaWNhIENhc3VjY2kgIDxlbnJpY2FAYXBwbGUuY29tPgogCiAgICAg
ICAgIFJldmlld2VkIGJ5IERhcmluIEFkbGVyLgpkaWZmIC0tZ2l0IGEvV2ViS2l0L21hYy9NaXNj
L1dlYkNhY2hlLm1tIGIvV2ViS2l0L21hYy9NaXNjL1dlYkNhY2hlLm1tCmluZGV4IDA1MTdiYzRh
NDI5NDczYmRiMzE3OThiOTVkNjg4Y2ZjYjE2ZGQ1OGMuLjI4MzM2OTEwNDdkNWZjZWI5MzdkNmU0
MTZhMjQ0YjlmNThiYzVkMzQgMTAwNjQ0Ci0tLSBhL1dlYktpdC9tYWMvTWlzYy9XZWJDYWNoZS5t
bQorKysgYi9XZWJLaXQvbWFjL01pc2MvV2ViQ2FjaGUubW0KQEAgLTQzLDcgKzQzLDcgQEAKIAog
KyAoTlNBcnJheSAqKXN0YXRpc3RpY3MKIHsKLSAgICBXZWJDb3JlOjpNZW1vcnlDYWNoZTo6U3Rh
dGlzdGljcyBzID0gV2ViQ29yZTo6Y2FjaGUoKS0+Z2V0U3RhdGlzdGljcygpOworICAgIFdlYkNv
cmU6Ok1lbW9yeUNhY2hlOjpTdGF0aXN0aWNzIHMgPSBXZWJDb3JlOjptZW1vcnlDYWNoZSgpLT5n
ZXRTdGF0aXN0aWNzKCk7CiAKICAgICByZXR1cm4gW05TQXJyYXkgYXJyYXlXaXRoT2JqZWN0czoK
ICAgICAgICAgW05TRGljdGlvbmFyeSBkaWN0aW9uYXJ5V2l0aE9iamVjdHNBbmRLZXlzOgpAQCAt
MTMwLDEyICsxMzAsMTIgQEAKICAgICBpZiAoIXB0aHJlYWRfbWFpbl9ucCgpKQogICAgICAgICBy
ZXR1cm4gW1tzZWxmIF93ZWJraXRfaW52b2tlT25NYWluVGhyZWFkXSBzZXREaXNhYmxlZDpkaXNh
YmxlZF07CiAKLSAgICBXZWJDb3JlOjpjYWNoZSgpLT5zZXREaXNhYmxlZChkaXNhYmxlZCk7Cisg
ICAgV2ViQ29yZTo6bWVtb3J5Q2FjaGUoKS0+c2V0RGlzYWJsZWQoZGlzYWJsZWQpOwogfQogCiAr
IChCT09MKWlzRGlzYWJsZWQKIHsKLSAgICByZXR1cm4gV2ViQ29yZTo6Y2FjaGUoKS0+ZGlzYWJs
ZWQoKTsKKyAgICByZXR1cm4gV2ViQ29yZTo6bWVtb3J5Q2FjaGUoKS0+ZGlzYWJsZWQoKTsKIH0K
IAogQGVuZApkaWZmIC0tZ2l0IGEvV2ViS2l0L21hYy9XZWJWaWV3L1dlYlZpZXcubW0gYi9XZWJL
aXQvbWFjL1dlYlZpZXcvV2ViVmlldy5tbQppbmRleCA0OTU4MmI1NTZkYjRiNzJiOTg3OTYzZTZk
ZDA4N2FlNzg4ZjFhNzA3Li44MDliMjg2YjUwOTY1NGQzNWE0NmVkNjBiYTdhMWFmNGEyOGY5MjY0
IDEwMDY0NAotLS0gYS9XZWJLaXQvbWFjL1dlYlZpZXcvV2ViVmlldy5tbQorKysgYi9XZWJLaXQv
bWFjL1dlYlZpZXcvV2ViVmlldy5tbQpAQCAtNTU3MCw4ICs1NTcwLDggQEAgc3RhdGljIGlubGlu
ZSB1aW50NjRfdCByb3VuZFVwVG9Qb3dlck9mMih1aW50NjRfdCBudW0pCiAgICAgLy8gRG9uJ3Qg
c2hyaW5rIGEgYmlnIGRpc2sgY2FjaGUsIHNpbmNlIHRoYXQgd291bGQgY2F1c2UgY2h1cm4uCiAg
ICAgbnN1cmxDYWNoZURpc2tDYXBhY2l0eSA9IG1heChuc3VybENhY2hlRGlza0NhcGFjaXR5LCBb
bnN1cmxDYWNoZSBkaXNrQ2FwYWNpdHldKTsKIAotICAgIGNhY2hlKCktPnNldENhcGFjaXRpZXMo
Y2FjaGVNaW5EZWFkQ2FwYWNpdHksIGNhY2hlTWF4RGVhZENhcGFjaXR5LCBjYWNoZVRvdGFsQ2Fw
YWNpdHkpOwotICAgIGNhY2hlKCktPnNldERlYWREZWNvZGVkRGF0YURlbGV0aW9uSW50ZXJ2YWwo
ZGVhZERlY29kZWREYXRhRGVsZXRpb25JbnRlcnZhbCk7CisgICAgbWVtb3J5Q2FjaGUoKS0+c2V0
Q2FwYWNpdGllcyhjYWNoZU1pbkRlYWRDYXBhY2l0eSwgY2FjaGVNYXhEZWFkQ2FwYWNpdHksIGNh
Y2hlVG90YWxDYXBhY2l0eSk7CisgICAgbWVtb3J5Q2FjaGUoKS0+c2V0RGVhZERlY29kZWREYXRh
RGVsZXRpb25JbnRlcnZhbChkZWFkRGVjb2RlZERhdGFEZWxldGlvbkludGVydmFsKTsKICAgICBw
YWdlQ2FjaGUoKS0+c2V0Q2FwYWNpdHkocGFnZUNhY2hlQ2FwYWNpdHkpOwogICAgIFtuc3VybENh
Y2hlIHNldE1lbW9yeUNhcGFjaXR5Om5zdXJsQ2FjaGVNZW1vcnlDYXBhY2l0eV07CiAgICAgW25z
dXJsQ2FjaGUgc2V0RGlza0NhcGFjaXR5Om5zdXJsQ2FjaGVEaXNrQ2FwYWNpdHldOwpkaWZmIC0t
Z2l0IGEvV2ViS2l0L3F0L0FwaS9xd2VicGFnZS5jcHAgYi9XZWJLaXQvcXQvQXBpL3F3ZWJwYWdl
LmNwcAppbmRleCA2ODdjN2EzODAxYTIxNmJhZjQzNjkxNjAyZDRiYWRkZmNmMzRhZTM5Li5mY2Uy
ODMyNTEyMWEyNmQ3OGZiYWJiZmQ2ZmMzZWM0NzNkNjA5ZWQzIDEwMDY0NAotLS0gYS9XZWJLaXQv
cXQvQXBpL3F3ZWJwYWdlLmNwcAorKysgYi9XZWJLaXQvcXQvQXBpL3F3ZWJwYWdlLmNwcApAQCAt
NDk4LDcgKzQ5OCw3IEBAIHZvaWQgUVdlYlBhZ2VQcml2YXRlOjpfcV9jbGVhbnVwTGVha01lc3Nh
Z2VzKCkKIHsKICNpZm5kZWYgTkRFQlVHCiAgICAgLy8gTmVlZCB0aGlzIHRvIG1ha2UgbGVhayBt
ZXNzYWdlcyBhY2N1cmF0ZS4KLSAgICBjYWNoZSgpLT5zZXRDYXBhY2l0aWVzKDAsIDAsIDApOwor
ICAgIG1lbW9yeUNhY2hlKCktPnNldENhcGFjaXRpZXMoMCwgMCwgMCk7CiAjZW5kaWYKIH0KIApk
aWZmIC0tZ2l0IGEvV2ViS2l0L3F0L0FwaS9xd2Vic2V0dGluZ3MuY3BwIGIvV2ViS2l0L3F0L0Fw
aS9xd2Vic2V0dGluZ3MuY3BwCmluZGV4IDZjNTlkNzM0MTE5ODEwMDM1ODkwNDVlNGE1NWNmYzhh
ZDUzMDNmOTYuLjliYjE4N2VhNTJjMTdkNjkzNGVjZjVhYjliNDg4Yjk4NjdkODE1YzAgMTAwNjQ0
Ci0tLSBhL1dlYktpdC9xdC9BcGkvcXdlYnNldHRpbmdzLmNwcAorKysgYi9XZWJLaXQvcXQvQXBp
L3F3ZWJzZXR0aW5ncy5jcHAKQEAgLTc1Nyw5ICs3NTcsOSBAQCB2b2lkIFFXZWJTZXR0aW5nczo6
Y2xlYXJNZW1vcnlDYWNoZXMoKQogICAgIC8vIFR1cm4gdGhlIGNhY2hlIG9uIGFuZCBvZmYuICBE
aXNhYmxpbmcgdGhlIG9iamVjdCBjYWNoZSB3aWxsIHJlbW92ZSBhbGwKICAgICAvLyByZXNvdXJj
ZXMgZnJvbSB0aGUgY2FjaGUuICBUaGV5IG1heSBzdGlsbCBsaXZlIG9uIGlmIHRoZXkgYXJlIHJl
ZmVyZW5jZWQKICAgICAvLyBieSBzb21lIFdlYiBwYWdlIHRob3VnaC4KLSAgICBpZiAoIVdlYkNv
cmU6OmNhY2hlKCktPmRpc2FibGVkKCkpIHsKLSAgICAgICAgV2ViQ29yZTo6Y2FjaGUoKS0+c2V0
RGlzYWJsZWQodHJ1ZSk7Ci0gICAgICAgIFdlYkNvcmU6OmNhY2hlKCktPnNldERpc2FibGVkKGZh
bHNlKTsKKyAgICBpZiAoIVdlYkNvcmU6Om1lbW9yeUNhY2hlKCktPmRpc2FibGVkKCkpIHsKKyAg
ICAgICAgV2ViQ29yZTo6bWVtb3J5Q2FjaGUoKS0+c2V0RGlzYWJsZWQodHJ1ZSk7CisgICAgICAg
IFdlYkNvcmU6Om1lbW9yeUNhY2hlKCktPnNldERpc2FibGVkKGZhbHNlKTsKICAgICB9CiAKICAg
ICBpbnQgcGFnZUNhcGFjaXR5ID0gV2ViQ29yZTo6cGFnZUNhY2hlKCktPmNhcGFjaXR5KCk7CkBA
IC04MTksOSArODE5LDkgQEAgaW50IFFXZWJTZXR0aW5nczo6bWF4aW11bVBhZ2VzSW5DYWNoZSgp
CiB2b2lkIFFXZWJTZXR0aW5nczo6c2V0T2JqZWN0Q2FjaGVDYXBhY2l0aWVzKGludCBjYWNoZU1p
bkRlYWRDYXBhY2l0eSwgaW50IGNhY2hlTWF4RGVhZCwgaW50IHRvdGFsQ2FwYWNpdHkpCiB7CiAg
ICAgYm9vbCBkaXNhYmxlQ2FjaGUgPSAhY2FjaGVNaW5EZWFkQ2FwYWNpdHkgJiYgIWNhY2hlTWF4
RGVhZCAmJiAhdG90YWxDYXBhY2l0eTsKLSAgICBXZWJDb3JlOjpjYWNoZSgpLT5zZXREaXNhYmxl
ZChkaXNhYmxlQ2FjaGUpOworICAgIFdlYkNvcmU6Om1lbW9yeUNhY2hlKCktPnNldERpc2FibGVk
KGRpc2FibGVDYWNoZSk7CiAKLSAgICBXZWJDb3JlOjpjYWNoZSgpLT5zZXRDYXBhY2l0aWVzKHFN
YXgoMCwgY2FjaGVNaW5EZWFkQ2FwYWNpdHkpLAorICAgIFdlYkNvcmU6Om1lbW9yeUNhY2hlKCkt
PnNldENhcGFjaXRpZXMocU1heCgwLCBjYWNoZU1pbkRlYWRDYXBhY2l0eSksCiAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICBxTWF4KDAsIGNhY2hlTWF4RGVhZCksCiAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICBxTWF4KDAsIHRvdGFsQ2FwYWNpdHkpKTsKIH0K
ZGlmZiAtLWdpdCBhL1dlYktpdC9xdC9DaGFuZ2VMb2cgYi9XZWJLaXQvcXQvQ2hhbmdlTG9nCmlu
ZGV4IDQxNjk0NTllMGMxZDBiZjcxMDI3MjQwMGEyYzZjODEwMzU3ZWNmNjEuLjNjODMyZmQ5ZThl
MzRjNWM3NGVhMzFjOWU2NTNmOTJmNTc3MDViNmUgMTAwNjQ0Ci0tLSBhL1dlYktpdC9xdC9DaGFu
Z2VMb2cKKysrIGIvV2ViS2l0L3F0L0NoYW5nZUxvZwpAQCAtMSwzICsxLDE2IEBACisyMDExLTAx
LTE0ICBZdXpvIEZ1amlzaGltYSAgPHl1em9AZ29vZ2xlLmNvbT4KKworICAgICAgICBSZXZpZXdl
ZCBieSBOT0JPRFkgKE9PUFMhKS4KKworICAgICAgICBSZW5hbWUgY2FjaGUoKSB0byBtZW1vcnlD
YWNoZSgpCisgICAgICAgIGh0dHBzOi8vYnVncy53ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD01
MjQzMworCisgICAgICAgICogQXBpL3F3ZWJwYWdlLmNwcDoKKyAgICAgICAgKFFXZWJQYWdlUHJp
dmF0ZTo6X3FfY2xlYW51cExlYWtNZXNzYWdlcyk6CisgICAgICAgICogQXBpL3F3ZWJzZXR0aW5n
cy5jcHA6CisgICAgICAgIChRV2ViU2V0dGluZ3M6OmNsZWFyTWVtb3J5Q2FjaGVzKToKKyAgICAg
ICAgKFFXZWJTZXR0aW5nczo6c2V0T2JqZWN0Q2FjaGVDYXBhY2l0aWVzKToKKwogMjAxMS0wMS0x
MyAgVmlhdGNoZXNsYXYgT3N0YXBlbmtvICA8b3N0YXBlbmtvLnZpYXRjaGVzbGF2QG5va2lhLmNv
bT4KIAogICAgICAgICBSZXZpZXdlZCBieSBTaW1vbiBIYXVzbWFubi4KZGlmZiAtLWdpdCBhL1dl
YktpdC93aW4vQ2hhbmdlTG9nIGIvV2ViS2l0L3dpbi9DaGFuZ2VMb2cKaW5kZXggYzgwZjA5MTFj
MzU5NzlkZDBmMzUzYmQ4ZmUwMGNlNjU5YTE4NzY1ZC4uYzc2ODc1ZWJhYjExNGFhNDMzNDM0ODg1
NTMwZGZjMDI3ZDE3ZDk4NCAxMDA2NDQKLS0tIGEvV2ViS2l0L3dpbi9DaGFuZ2VMb2cKKysrIGIv
V2ViS2l0L3dpbi9DaGFuZ2VMb2cKQEAgLTEsMyArMSwxOCBAQAorMjAxMS0wMS0xNCAgWXV6byBG
dWppc2hpbWEgIDx5dXpvQGdvb2dsZS5jb20+CisKKyAgICAgICAgUmV2aWV3ZWQgYnkgTk9CT0RZ
IChPT1BTISkuCisKKyAgICAgICAgUmVuYW1lIGNhY2hlKCkgdG8gbWVtb3J5Q2FjaGUoKQorICAg
ICAgICBodHRwczovL2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NTI0MzMKKworICAg
ICAgICAqIFdlYkNhY2hlLmNwcDoKKyAgICAgICAgKFdlYkNhY2hlOjpzdGF0aXN0aWNzKToKKyAg
ICAgICAgKFdlYkNhY2hlOjplbXB0eSk6CisgICAgICAgIChXZWJDYWNoZTo6c2V0RGlzYWJsZWQp
OgorICAgICAgICAoV2ViQ2FjaGU6OmRpc2FibGVkKToKKyAgICAgICAgKiBXZWJWaWV3LmNwcDoK
KyAgICAgICAgKFdlYlZpZXc6OnNldENhY2hlTW9kZWwpOgorCiAyMDExLTAxLTEwICBHZW9mZnJl
eSBHYXJlbiAgPGdnYXJlbkBhcHBsZS5jb20+CiAKICAgICAgICAgVHJ5IHRvIGZpeCBXaW5kb3dz
IGJ1aWxkLgpkaWZmIC0tZ2l0IGEvV2ViS2l0L3dpbi9XZWJDYWNoZS5jcHAgYi9XZWJLaXQvd2lu
L1dlYkNhY2hlLmNwcAppbmRleCBkZmY1M2ZlZTgyY2E2ZjJlNjk3NzhiYTljYzlhNmIyNjAwMWIz
ZDRmLi5jN2QwZjMxZmIxMjQ0ZWY2MDUxYTA1NjE2NjNlZjYwNjJmM2UwNTUxIDEwMDY0NAotLS0g
YS9XZWJLaXQvd2luL1dlYkNhY2hlLmNwcAorKysgYi9XZWJLaXQvd2luL1dlYkNhY2hlLmNwcApA
QCAtMTAwLDcgKzEwMCw3IEBAIEhSRVNVTFQgU1RETUVUSE9EQ0FMTFRZUEUgV2ViQ2FjaGU6OnN0
YXRpc3RpY3MoCiAgICAgaWYgKCFzKQogICAgICAgICByZXR1cm4gU19PSzsKIAotICAgIFdlYkNv
cmU6Ok1lbW9yeUNhY2hlOjpTdGF0aXN0aWNzIHN0YXQgPSBXZWJDb3JlOjpjYWNoZSgpLT5nZXRT
dGF0aXN0aWNzKCk7CisgICAgV2ViQ29yZTo6TWVtb3J5Q2FjaGU6OlN0YXRpc3RpY3Mgc3RhdCA9
IFdlYkNvcmU6Om1lbW9yeUNhY2hlKCktPmdldFN0YXRpc3RpY3MoKTsKIAogICAgIHN0YXRpYyBD
RlN0cmluZ1JlZiBpbWFnZXNLZXkgPSBDRlNUUigiaW1hZ2VzIik7CiAgICAgc3RhdGljIENGU3Ry
aW5nUmVmIHN0eWxlc2hlZXRzS2V5ID0gQ0ZTVFIoInN0eWxlIHNoZWV0cyIpOwpAQCAtMjA0LDEw
ICsyMDQsMTAgQEAgSFJFU1VMVCBTVERNRVRIT0RDQUxMVFlQRSBXZWJDYWNoZTo6c3RhdGlzdGlj
cygKIAogSFJFU1VMVCBTVERNRVRIT0RDQUxMVFlQRSBXZWJDYWNoZTo6ZW1wdHkoIHZvaWQpCiB7
Ci0gICAgaWYgKFdlYkNvcmU6OmNhY2hlKCktPmRpc2FibGVkKCkpCisgICAgaWYgKFdlYkNvcmU6
Om1lbW9yeUNhY2hlKCktPmRpc2FibGVkKCkpCiAgICAgICAgIHJldHVybiBTX09LOwotICAgIFdl
YkNvcmU6OmNhY2hlKCktPnNldERpc2FibGVkKHRydWUpOwotICAgIFdlYkNvcmU6OmNhY2hlKCkt
PnNldERpc2FibGVkKGZhbHNlKTsKKyAgICBXZWJDb3JlOjptZW1vcnlDYWNoZSgpLT5zZXREaXNh
YmxlZCh0cnVlKTsKKyAgICBXZWJDb3JlOjptZW1vcnlDYWNoZSgpLT5zZXREaXNhYmxlZChmYWxz
ZSk7CiAKICAgICAvLyBFbXB0eSB0aGUgYXBwbGljYXRpb24gY2FjaGUuCiAgICAgV2ViQ29yZTo6
Y2FjaGVTdG9yYWdlKCkuZW1wdHkoKTsKQEAgLTIyMSw3ICsyMjEsNyBAQCBIUkVTVUxUIFNURE1F
VEhPRENBTExUWVBFIFdlYkNhY2hlOjplbXB0eSggdm9pZCkKIEhSRVNVTFQgU1RETUVUSE9EQ0FM
TFRZUEUgV2ViQ2FjaGU6OnNldERpc2FibGVkKCAKICAgICAvKiBbaW5dICovIEJPT0wgZGlzYWJs
ZWQpCiB7Ci0gICAgV2ViQ29yZTo6Y2FjaGUoKS0+c2V0RGlzYWJsZWQoISFkaXNhYmxlZCk7Cisg
ICAgV2ViQ29yZTo6bWVtb3J5Q2FjaGUoKS0+c2V0RGlzYWJsZWQoISFkaXNhYmxlZCk7CiAgICAg
cmV0dXJuIFNfT0s7CiB9CiAKQEAgLTIzMCw2ICsyMzAsNiBAQCBIUkVTVUxUIFNURE1FVEhPRENB
TExUWVBFIFdlYkNhY2hlOjpkaXNhYmxlZCgKIHsKICAgICBpZiAoIWRpc2FibGVkKQogICAgICAg
ICByZXR1cm4gRV9QT0lOVEVSOwotICAgICpkaXNhYmxlZCA9IFdlYkNvcmU6OmNhY2hlKCktPmRp
c2FibGVkKCk7CisgICAgKmRpc2FibGVkID0gV2ViQ29yZTo6bWVtb3J5Q2FjaGUoKS0+ZGlzYWJs
ZWQoKTsKICAgICByZXR1cm4gU19PSzsKIH0KZGlmZiAtLWdpdCBhL1dlYktpdC93aW4vV2ViVmll
dy5jcHAgYi9XZWJLaXQvd2luL1dlYlZpZXcuY3BwCmluZGV4IGYwZDUwNGVmOWNiNDlkMTA1ZWRl
MGEzMTg0M2M5NmRhNDlkYTA2M2YuLjBhYWY2YzI5MGFiNjBlMzJmZmZjOGZkM2ZhYTY1OTg4NzUz
M2Q2MzYgMTAwNjQ0Ci0tLSBhL1dlYktpdC93aW4vV2ViVmlldy5jcHAKKysrIGIvV2ViS2l0L3dp
bi9XZWJWaWV3LmNwcApAQCAtNTk1LDggKzU5NSw4IEBAIHZvaWQgV2ViVmlldzo6c2V0Q2FjaGVN
b2RlbChXZWJDYWNoZU1vZGVsIGNhY2hlTW9kZWwpCiAgICAgLy8gRG9uJ3Qgc2hyaW5rIGEgYmln
IGRpc2sgY2FjaGUsIHNpbmNlIHRoYXQgd291bGQgY2F1c2UgY2h1cm4uCiAgICAgY2Z1cmxDYWNo
ZURpc2tDYXBhY2l0eSA9IG1heChjZnVybENhY2hlRGlza0NhcGFjaXR5LCBDRlVSTENhY2hlRGlz
a0NhcGFjaXR5KGNmdXJsQ2FjaGUuZ2V0KCkpKTsKIAotICAgIGNhY2hlKCktPnNldENhcGFjaXRp
ZXMoY2FjaGVNaW5EZWFkQ2FwYWNpdHksIGNhY2hlTWF4RGVhZENhcGFjaXR5LCBjYWNoZVRvdGFs
Q2FwYWNpdHkpOwotICAgIGNhY2hlKCktPnNldERlYWREZWNvZGVkRGF0YURlbGV0aW9uSW50ZXJ2
YWwoZGVhZERlY29kZWREYXRhRGVsZXRpb25JbnRlcnZhbCk7CisgICAgbWVtb3J5Q2FjaGUoKS0+
c2V0Q2FwYWNpdGllcyhjYWNoZU1pbkRlYWRDYXBhY2l0eSwgY2FjaGVNYXhEZWFkQ2FwYWNpdHks
IGNhY2hlVG90YWxDYXBhY2l0eSk7CisgICAgbWVtb3J5Q2FjaGUoKS0+c2V0RGVhZERlY29kZWRE
YXRhRGVsZXRpb25JbnRlcnZhbChkZWFkRGVjb2RlZERhdGFEZWxldGlvbkludGVydmFsKTsKICAg
ICBwYWdlQ2FjaGUoKS0+c2V0Q2FwYWNpdHkocGFnZUNhY2hlQ2FwYWNpdHkpOwogCiAgICAgQ0ZV
UkxDYWNoZVNldE1lbW9yeUNhcGFjaXR5KGNmdXJsQ2FjaGUuZ2V0KCksIGNmdXJsQ2FjaGVNZW1v
cnlDYXBhY2l0eSk7CmRpZmYgLS1naXQgYS9XZWJLaXQvd3gvQ2hhbmdlTG9nIGIvV2ViS2l0L3d4
L0NoYW5nZUxvZwppbmRleCBlMTc1YjkyNjQ5YTllZTE3NWVlZGQxYWI0OGQyZGU3ZDUzNDI3ZTNl
Li45OWM2YjVjYWI5MDAxMGM0YjZkODMxZDYwNjcyNzdlMDc1NDdiNGQ3IDEwMDY0NAotLS0gYS9X
ZWJLaXQvd3gvQ2hhbmdlTG9nCisrKyBiL1dlYktpdC93eC9DaGFuZ2VMb2cKQEAgLTEsMyArMSwx
MyBAQAorMjAxMS0wMS0xNCAgWXV6byBGdWppc2hpbWEgIDx5dXpvQGdvb2dsZS5jb20+CisKKyAg
ICAgICAgUmV2aWV3ZWQgYnkgTk9CT0RZIChPT1BTISkuCisKKyAgICAgICAgUmVuYW1lIGNhY2hl
KCkgdG8gbWVtb3J5Q2FjaGUoKQorICAgICAgICBodHRwczovL2J1Z3Mud2Via2l0Lm9yZy9zaG93
X2J1Zy5jZ2k/aWQ9NTI0MzMKKworICAgICAgICAqIFdlYlZpZXcuY3BwOgorICAgICAgICAod3hX
ZWJWaWV3OjpTZXRDYWNoZVBvbGljeSk6CisKIDIwMTEtMDEtMDkgIFhpYW56aHUgV2FuZyA8cGhu
aXh3eHpAZ21haWwuY29tPgogCiAgICAgICAgIFJldmlld2VkIGJ5IERhcmluIEZpc2hlci4KZGlm
ZiAtLWdpdCBhL1dlYktpdC93eC9XZWJWaWV3LmNwcCBiL1dlYktpdC93eC9XZWJWaWV3LmNwcApp
bmRleCA2NjdhYTg4NzUzNjAzY2ZhNDdkZWNjYzNmMzZlMDUwMjI1NjY0NzM3Li4wZGYzODc5ZmQy
ZjdlMzBhNzZjZWFjMTlkMDUwMGYxM2IxYzkzZGE5IDEwMDY0NAotLS0gYS9XZWJLaXQvd3gvV2Vi
Vmlldy5jcHAKKysrIGIvV2ViS2l0L3d4L1dlYlZpZXcuY3BwCkBAIC0yNzAsNyArMjcwLDcgQEAg
c3RhdGljIHd4V2ViVmlld0NhY2hlUG9saWN5IGdzX2NhY2hlUG9saWN5OwogLyogc3RhdGljICov
CiB2b2lkIHd4V2ViVmlldzo6U2V0Q2FjaGVQb2xpY3koY29uc3Qgd3hXZWJWaWV3Q2FjaGVQb2xp
Y3kmIGNhY2hlUG9saWN5KQogewotICAgIFdlYkNvcmU6Ok1lbW9yeUNhY2hlKiBnbG9iYWxDYWNo
ZSA9IFdlYkNvcmU6OmNhY2hlKCk7CisgICAgV2ViQ29yZTo6TWVtb3J5Q2FjaGUqIGdsb2JhbENh
Y2hlID0gV2ViQ29yZTo6bWVtb3J5Q2FjaGUoKTsKICAgICBnbG9iYWxDYWNoZS0+c2V0Q2FwYWNp
dGllcyhjYWNoZVBvbGljeS5HZXRNaW5EZWFkQ2FwYWNpdHkoKSwKICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICBjYWNoZVBvbGljeS5HZXRNYXhEZWFkQ2FwYWNpdHkoKSwKICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICBjYWNoZVBvbGljeS5HZXRDYXBhY2l0eSgpKTsKZGlmZiAt
LWdpdCBhL1dlYktpdDIvQ2hhbmdlTG9nIGIvV2ViS2l0Mi9DaGFuZ2VMb2cKaW5kZXggMDZkYWNj
Yjk5N2U0MmM3MjY1OTAwY2FiODU3NDg3ZmMxNWRjM2FlMy4uYWE0NzBlMWNkN2QyNjQ1MGVhNzY1
MjY4MTNkM2E2NWJhMmRlOTU3YSAxMDA2NDQKLS0tIGEvV2ViS2l0Mi9DaGFuZ2VMb2cKKysrIGIv
V2ViS2l0Mi9DaGFuZ2VMb2cKQEAgLTEsMyArMSwxMyBAQAorMjAxMS0wMS0xNCAgWXV6byBGdWpp
c2hpbWEgIDx5dXpvQGdvb2dsZS5jb20+CisKKyAgICAgICAgUmV2aWV3ZWQgYnkgTk9CT0RZIChP
T1BTISkuCisKKyAgICAgICAgUmVuYW1lIGNhY2hlKCkgdG8gbWVtb3J5Q2FjaGUoKQorICAgICAg
ICBodHRwczovL2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NTI0MzMKKworICAgICAg
ICAqIFdlYlByb2Nlc3MvbWFjL1dlYlByb2Nlc3NNYWMubW06CisgICAgICAgIChXZWJLaXQ6Oldl
YlByb2Nlc3M6OnBsYXRmb3JtU2V0Q2FjaGVNb2RlbCk6CisKIDIwMTEtMDEtMTMgIEVucmljYSBD
YXN1Y2NpICA8ZW5yaWNhQGFwcGxlLmNvbT4KIAogICAgICAgICBSZXZpZXdlZCBieSBEYXJpbiBB
ZGxlci4KZGlmZiAtLWdpdCBhL1dlYktpdDIvV2ViUHJvY2Vzcy9tYWMvV2ViUHJvY2Vzc01hYy5t
bSBiL1dlYktpdDIvV2ViUHJvY2Vzcy9tYWMvV2ViUHJvY2Vzc01hYy5tbQppbmRleCBhMDQ5YTM5
MmU4YWIyNmFiYjU0NjZmZjllYzc3MjJlYjNkMDJiNTdjLi5mMjRhMThkNTY2NGRhY2MwMDY0Njhm
NDViYWVjYTRiODhmODZmZDQ1IDEwMDY0NAotLS0gYS9XZWJLaXQyL1dlYlByb2Nlc3MvbWFjL1dl
YlByb2Nlc3NNYWMubW0KKysrIGIvV2ViS2l0Mi9XZWJQcm9jZXNzL21hYy9XZWJQcm9jZXNzTWFj
Lm1tCkBAIC04OSw4ICs4OSw4IEBAIHZvaWQgV2ViUHJvY2Vzczo6cGxhdGZvcm1TZXRDYWNoZU1v
ZGVsKENhY2hlTW9kZWwgY2FjaGVNb2RlbCkKICAgICAgICAgcGFnZUNhY2hlQ2FwYWNpdHksIHVy
bENhY2hlTWVtb3J5Q2FwYWNpdHksIHVybENhY2hlRGlza0NhcGFjaXR5KTsKIAogCi0gICAgY2Fj
aGUoKS0+c2V0Q2FwYWNpdGllcyhjYWNoZU1pbkRlYWRDYXBhY2l0eSwgY2FjaGVNYXhEZWFkQ2Fw
YWNpdHksIGNhY2hlVG90YWxDYXBhY2l0eSk7Ci0gICAgY2FjaGUoKS0+c2V0RGVhZERlY29kZWRE
YXRhRGVsZXRpb25JbnRlcnZhbChkZWFkRGVjb2RlZERhdGFEZWxldGlvbkludGVydmFsKTsKKyAg
ICBtZW1vcnlDYWNoZSgpLT5zZXRDYXBhY2l0aWVzKGNhY2hlTWluRGVhZENhcGFjaXR5LCBjYWNo
ZU1heERlYWRDYXBhY2l0eSwgY2FjaGVUb3RhbENhcGFjaXR5KTsKKyAgICBtZW1vcnlDYWNoZSgp
LT5zZXREZWFkRGVjb2RlZERhdGFEZWxldGlvbkludGVydmFsKGRlYWREZWNvZGVkRGF0YURlbGV0
aW9uSW50ZXJ2YWwpOwogICAgIHBhZ2VDYWNoZSgpLT5zZXRDYXBhY2l0eShwYWdlQ2FjaGVDYXBh
Y2l0eSk7CiAKICAgICBOU1VSTENhY2hlICpuc3VybENhY2hlID0gW05TVVJMQ2FjaGUgc2hhcmVk
VVJMQ2FjaGVdOwo=
</data>

          </attachment>
          <attachment
              isobsolete="0"
              ispatch="1"
              isprivate="0"
          >
            <attachid>78914</attachid>
            <date>2011-01-14 02:05:32 -0800</date>
            <delta_ts>2011-01-14 17:59:21 -0800</delta_ts>
            <desc>Fix for WebKit2</desc>
            <filename>bug-52433-20110114020530.patch</filename>
            <type>text/plain</type>
            <size>39506</size>
            <attacher name="Yuzo Fujishima">yuzo</attacher>
            
              <data encoding="base64">ZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL0NoYW5nZUxvZyBiL1NvdXJjZS9XZWJDb3JlL0No
YW5nZUxvZwppbmRleCA2NmU3NzQxZjdlMDBkOTgzMzhhNjMzZTE2MWUxNmYzMTRiZWZiZTA3Li4x
ZGMzZTQ0ZmE2ZTZmZjQzYTUyMWI5NDc5NGIyZjhjODcxYjYzNzU2IDEwMDY0NAotLS0gYS9Tb3Vy
Y2UvV2ViQ29yZS9DaGFuZ2VMb2cKKysrIGIvU291cmNlL1dlYkNvcmUvQ2hhbmdlTG9nCkBAIC0x
LDMgKzEsNDggQEAKKzIwMTEtMDEtMTQgIFl1em8gRnVqaXNoaW1hICA8eXV6b0Bnb29nbGUuY29t
PgorCisgICAgICAgIFJldmlld2VkIGJ5IE5PQk9EWSAoT09QUyEpLgorCisgICAgICAgIFJlbmFt
ZSBjYWNoZSgpIHRvIG1lbW9yeUNhY2hlKCkKKyAgICAgICAgaHR0cHM6Ly9idWdzLndlYmtpdC5v
cmcvc2hvd19idWcuY2dpP2lkPTUyNDMzCisKKyAgICAgICAgTm8gbmV3IHRlc3RzIGJlY2F1c2Ug
dGhlIGJlaGF2aW9yIHJlbWFpbnMgdGhlIHNhbWUuCisKKyAgICAgICAgKiBXZWJDb3JlLmV4cC5p
bjoKKyAgICAgICAgKiBXZWJDb3JlLm9yZGVyOgorICAgICAgICAqIGhpc3RvcnkvUGFnZUNhY2hl
LmNwcDoKKyAgICAgICAgKFdlYkNvcmU6OlBhZ2VDYWNoZTo6cmVsZWFzZUF1dG9yZWxlYXNlZFBh
Z2VzTm93KToKKyAgICAgICAgKiBpbnNwZWN0b3IvSW5zcGVjdG9yUmVzb3VyY2VBZ2VudC5jcHA6
CisgICAgICAgIChXZWJDb3JlOjpJbnNwZWN0b3JSZXNvdXJjZUFnZW50OjpjYWNoZWRSZXNvdXJj
ZSk6CisgICAgICAgICogbG9hZGVyL0ZyYW1lTG9hZGVyLmNwcDoKKyAgICAgICAgKFdlYkNvcmU6
OkZyYW1lTG9hZGVyOjp0ZWxsQ2xpZW50QWJvdXRQYXN0TWVtb3J5Q2FjaGVMb2Fkcyk6CisgICAg
ICAgICogbG9hZGVyL2FyY2hpdmUvY2YvTGVnYWN5V2ViQXJjaGl2ZS5jcHA6CisgICAgICAgIChX
ZWJDb3JlOjpMZWdhY3lXZWJBcmNoaXZlOjpjcmVhdGUpOgorICAgICAgICAqIGxvYWRlci9jYWNo
ZS9DYWNoZWRJbWFnZS5jcHA6CisgICAgICAgIChXZWJDb3JlOjpDYWNoZWRJbWFnZTo6YWxsQ2xp
ZW50c1JlbW92ZWQpOgorICAgICAgICAoV2ViQ29yZTo6Q2FjaGVkSW1hZ2U6OmRhdGEpOgorICAg
ICAgICAqIGxvYWRlci9jYWNoZS9DYWNoZWRSZXNvdXJjZS5jcHA6CisgICAgICAgIChXZWJDb3Jl
OjpDYWNoZWRSZXNvdXJjZTo6fkNhY2hlZFJlc291cmNlKToKKyAgICAgICAgKFdlYkNvcmU6OkNh
Y2hlZFJlc291cmNlOjphZGRDbGllbnRUb1NldCk6CisgICAgICAgIChXZWJDb3JlOjpDYWNoZWRS
ZXNvdXJjZTo6cmVtb3ZlQ2xpZW50KToKKyAgICAgICAgKFdlYkNvcmU6OkNhY2hlZFJlc291cmNl
OjpzZXREZWNvZGVkU2l6ZSk6CisgICAgICAgIChXZWJDb3JlOjpDYWNoZWRSZXNvdXJjZTo6c2V0
RW5jb2RlZFNpemUpOgorICAgICAgICAoV2ViQ29yZTo6Q2FjaGVkUmVzb3VyY2U6OmRpZEFjY2Vz
c0RlY29kZWREYXRhKToKKyAgICAgICAgKiBsb2FkZXIvY2FjaGUvQ2FjaGVkUmVzb3VyY2VMb2Fk
ZXIuY3BwOgorICAgICAgICAoV2ViQ29yZTo6Q2FjaGVkUmVzb3VyY2VMb2FkZXI6OkNhY2hlZFJl
c291cmNlTG9hZGVyKToKKyAgICAgICAgKFdlYkNvcmU6OkNhY2hlZFJlc291cmNlTG9hZGVyOjpy
ZXF1ZXN0VXNlckNTU1N0eWxlU2hlZXQpOgorICAgICAgICAoV2ViQ29yZTo6Q2FjaGVkUmVzb3Vy
Y2VMb2FkZXI6OnJlcXVlc3RSZXNvdXJjZSk6CisgICAgICAgIChXZWJDb3JlOjpDYWNoZWRSZXNv
dXJjZUxvYWRlcjo6cmV2YWxpZGF0ZVJlc291cmNlKToKKyAgICAgICAgKFdlYkNvcmU6OkNhY2hl
ZFJlc291cmNlTG9hZGVyOjpsb2FkUmVzb3VyY2UpOgorICAgICAgICAoV2ViQ29yZTo6Q2FjaGVk
UmVzb3VyY2VMb2FkZXI6OmNsZWFyUHJlbG9hZHMpOgorICAgICAgICAoV2ViQ29yZTo6Q2FjaGVk
UmVzb3VyY2VMb2FkZXI6OnByaW50UHJlbG9hZFN0YXRzKToKKyAgICAgICAgKiBsb2FkZXIvY2Fj
aGUvQ2FjaGVkUmVzb3VyY2VSZXF1ZXN0LmNwcDoKKyAgICAgICAgKFdlYkNvcmU6OkNhY2hlZFJl
c291cmNlUmVxdWVzdDo6bG9hZCk6CisgICAgICAgIChXZWJDb3JlOjpDYWNoZWRSZXNvdXJjZVJl
cXVlc3Q6OmRpZEZhaWwpOgorICAgICAgICAoV2ViQ29yZTo6Q2FjaGVkUmVzb3VyY2VSZXF1ZXN0
OjpkaWRSZWNlaXZlUmVzcG9uc2UpOgorICAgICAgICAqIGxvYWRlci9jYWNoZS9NZW1vcnlDYWNo
ZS5jcHA6CisgICAgICAgIChXZWJDb3JlOjptZW1vcnlDYWNoZSk6CisgICAgICAgICogbG9hZGVy
L2NhY2hlL01lbW9yeUNhY2hlLmg6CisKIDIwMTEtMDEtMTMgIEtlbnQgVGFtdXJhICA8dGtlbnRA
Y2hyb21pdW0ub3JnPgogCiAgICAgICAgIFJldmlld2VkIGJ5IERpbWl0cmkgR2xhemtvdi4KZGlm
ZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL1dlYkNvcmUuZXhwLmluIGIvU291cmNlL1dlYkNvcmUv
V2ViQ29yZS5leHAuaW4KaW5kZXggOTdlZjliNjEyMDhkYjExOThkYTc0NDEzZDM2OWFiODE4YTZl
YWFkYS4uMWUyMTc5NGYwNDRlNTE4MDhlODFjM2UzYWE0MjdlYTY1ZWQzZjYwNiAxMDA2NDQKLS0t
IGEvU291cmNlL1dlYkNvcmUvV2ViQ29yZS5leHAuaW4KKysrIGIvU291cmNlL1dlYkNvcmUvV2Vi
Q29yZS5leHAuaW4KQEAgLTIxMSw2ICsyMTEsNyBAQCBfX1pON1dlYkNvcmUxMU1lbW9yeUNhY2hl
MTNnZXRTdGF0aXN0aWNzRXYKIF9fWk43V2ViQ29yZTExTWVtb3J5Q2FjaGUxM3NldENhcGFjaXRp
ZXNFampqCiBfX1pON1dlYkNvcmUxMVJlbmRlckxheWVyMTlzY3JvbGxSZWN0VG9WaXNpYmxlRVJL
TlNfN0ludFJlY3RFYlJLTlNfMTVTY3JvbGxBbGlnbm1lbnRFUzZfCiBfX1pON1dlYkNvcmUxMWds
b2JhbFBvaW50RVJLOF9OU1BvaW50UDhOU1dpbmRvdworX19aTjdXZWJDb3JlMTFtZW1vcnlDYWNo
ZUV2CiBfX1pON1dlYkNvcmUxMXRvVXNlclNwYWNlRVJLN19OU1JlY3RQOE5TV2luZG93CiBfX1pO
N1dlYkNvcmUxMXdyaXRlVG9GaWxlRWlQS2NpCiBfX1pON1dlYkNvcmUxMkNocm9tZUNsaWVudDIw
cGFpbnRDdXN0b21TY3JvbGxiYXJFUE5TXzE1R3JhcGhpY3NDb250ZXh0RVJLTlNfOUZsb2F0UmVj
dEVOU18yMFNjcm9sbGJhckNvbnRyb2xTaXplRWpOU18xM1Njcm9sbGJhclBhcnRFYmZmagpAQCAt
Njc5LDcgKzY4MCw2IEBAIF9fWk43V2ViQ29yZTVSYW5nZTZjcmVhdGVFTjNXVEYxMFBhc3NSZWZQ
dHJJTlNfOERvY3VtZW50RUVFTlMyX0lOU180Tm9kZUVFRWlTNl9pCiBfX1pON1dlYkNvcmU1UmFu
Z2U2c2V0RW5kRU4zV1RGMTBQYXNzUmVmUHRySU5TXzROb2RlRUVFaVJpCiBfX1pON1dlYkNvcmU1
UmFuZ2U4c2V0U3RhcnRFTjNXVEYxMFBhc3NSZWZQdHJJTlNfNE5vZGVFRUVpUmkKIF9fWk43V2Vi
Q29yZTVSYW5nZUQxRXYKLV9fWk43V2ViQ29yZTVjYWNoZUV2CiBfX1pON1dlYkNvcmU2Q2hyb21l
MTZzZXRTdGF0dXNiYXJUZXh0RVBOU181RnJhbWVFUktOM1dURjZTdHJpbmdFCiBfX1pON1dlYkNv
cmU2Q3Vyc29yOGZyb21UeXBlRU5TMF80VHlwZUUKIF9fWk43V2ViQ29yZTZDdXJzb3JEMUV2CmRp
ZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9XZWJDb3JlLm9yZGVyIGIvU291cmNlL1dlYkNvcmUv
V2ViQ29yZS5vcmRlcgppbmRleCAyNzFkZmM5YjljY2IzNjY4MmIwZTE4N2U3YzI3NTA2N2NiNWUx
MjE2Li5lODhjNDQ0YmJiNzE2NjFlMDMwYTM4MzFkNzEzMmEyNTI3N2Q0ZGZmIDEwMDY0NAotLS0g
YS9Tb3VyY2UvV2ViQ29yZS9XZWJDb3JlLm9yZGVyCisrKyBiL1NvdXJjZS9XZWJDb3JlL1dlYkNv
cmUub3JkZXIKQEAgLTM3MSw3ICszNzEsNyBAQCBfX1pON1dlYkNvcmUxNUNvbGxlY3Rpb25DYWNo
ZTVyZXNldEV2CiBfX1pOM1dURjIwZGVsZXRlQWxsUGFpclNlY29uZHNJUE5TXzZWZWN0b3JJUE43
V2ViQ29yZTdFbGVtZW50RUxtMEVFRUtOU183SGFzaE1hcElQTlMyXzE2QXRvbWljU3RyaW5nSW1w
bEVTNl9OU183UHRySGFzaElTOV9FRU5TCiBfX1pON1dlYkNvcmU5RG9jTG9hZGVyQzFFUE5TXzhE
b2N1bWVudEUKIF9fWk43V2ViQ29yZTlEb2NMb2FkZXJDMkVQTlNfOERvY3VtZW50RQotX19aTjdX
ZWJDb3JlNWNhY2hlRXYKK19fWk43V2ViQ29yZTExbWVtb3J5Q2FjaGVFdgogX19aTjdXZWJDb3Jl
NUNhY2hlQzFFdgogX19aTjdXZWJDb3JlNUNhY2hlQzJFdgogX19aTjdXZWJDb3JlNkxvYWRlckMx
RXYKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL2hpc3RvcnkvUGFnZUNhY2hlLmNwcCBiL1Nv
dXJjZS9XZWJDb3JlL2hpc3RvcnkvUGFnZUNhY2hlLmNwcAppbmRleCA3Mzc1YTljOTRiMjkxNDU4
MDk5NTYxNTI4YmI2ZWRlZjhlNTg2NzUwLi5iMTRiNjA2NzdlODU4ZmQ1YWFkZTg1MWFhZjE2MWEz
Y2Y0YWQ3ZjRlIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9oaXN0b3J5L1BhZ2VDYWNoZS5j
cHAKKysrIGIvU291cmNlL1dlYkNvcmUvaGlzdG9yeS9QYWdlQ2FjaGUuY3BwCkBAIC00NTMsNyAr
NDUzLDcgQEAgdm9pZCBQYWdlQ2FjaGU6OnJlbGVhc2VBdXRvcmVsZWFzZWRQYWdlc05vdygpCiAg
ICAgbV9hdXRvcmVsZWFzZVRpbWVyLnN0b3AoKTsKIAogICAgIC8vIFBvc3Rwb25lIGRlYWQgcHJ1
bmluZyB1bnRpbCBhbGwgb3VyIHJlc291cmNlcyBoYXZlIGdvbmUgZGVhZC4KLSAgICBjYWNoZSgp
LT5zZXRQcnVuZUVuYWJsZWQoZmFsc2UpOworICAgIG1lbW9yeUNhY2hlKCktPnNldFBydW5lRW5h
YmxlZChmYWxzZSk7CiAKICAgICBDYWNoZWRQYWdlU2V0IHRtcDsKICAgICB0bXAuc3dhcChtX2F1
dG9yZWxlYXNlU2V0KTsKQEAgLTQ2Myw4ICs0NjMsOCBAQCB2b2lkIFBhZ2VDYWNoZTo6cmVsZWFz
ZUF1dG9yZWxlYXNlZFBhZ2VzTm93KCkKICAgICAgICAgKCppdCktPmRlc3Ryb3koKTsKIAogICAg
IC8vIE5vdyBkbyB0aGUgcHJ1bmUuCi0gICAgY2FjaGUoKS0+c2V0UHJ1bmVFbmFibGVkKHRydWUp
OwotICAgIGNhY2hlKCktPnBydW5lKCk7CisgICAgbWVtb3J5Q2FjaGUoKS0+c2V0UHJ1bmVFbmFi
bGVkKHRydWUpOworICAgIG1lbW9yeUNhY2hlKCktPnBydW5lKCk7CiB9CiAKIHZvaWQgUGFnZUNh
Y2hlOjphdXRvcmVsZWFzZShQYXNzUmVmUHRyPENhY2hlZFBhZ2U+IHBhZ2UpCmRpZmYgLS1naXQg
YS9Tb3VyY2UvV2ViQ29yZS9pbnNwZWN0b3IvSW5zcGVjdG9yUmVzb3VyY2VBZ2VudC5jcHAgYi9T
b3VyY2UvV2ViQ29yZS9pbnNwZWN0b3IvSW5zcGVjdG9yUmVzb3VyY2VBZ2VudC5jcHAKaW5kZXgg
YTQyNTc5NzljY2RiZDYzZjFlNmM5N2U2YThlMWY4YzExODIwMDlmYi4uZTJkZWRiM2E3M2UyOGNl
Y2MzNjQwNWRiZWMxM2YwODFkYjNhNmYwNyAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvaW5z
cGVjdG9yL0luc3BlY3RvclJlc291cmNlQWdlbnQuY3BwCisrKyBiL1NvdXJjZS9XZWJDb3JlL2lu
c3BlY3Rvci9JbnNwZWN0b3JSZXNvdXJjZUFnZW50LmNwcApAQCAtMTMyLDcgKzEzMiw3IEBAIENh
Y2hlZFJlc291cmNlKiBJbnNwZWN0b3JSZXNvdXJjZUFnZW50OjpjYWNoZWRSZXNvdXJjZShGcmFt
ZSogZnJhbWUsIGNvbnN0IEtVUkwmCiB7CiAgICAgQ2FjaGVkUmVzb3VyY2UqIGNhY2hlZFJlc291
cmNlID0gZnJhbWUtPmRvY3VtZW50KCktPmNhY2hlZFJlc291cmNlTG9hZGVyKCktPmNhY2hlZFJl
c291cmNlKHVybCk7CiAgICAgaWYgKCFjYWNoZWRSZXNvdXJjZSkKLSAgICAgICAgY2FjaGVkUmVz
b3VyY2UgPSBjYWNoZSgpLT5yZXNvdXJjZUZvclVSTCh1cmwpOworICAgICAgICBjYWNoZWRSZXNv
dXJjZSA9IG1lbW9yeUNhY2hlKCktPnJlc291cmNlRm9yVVJMKHVybCk7CiAgICAgcmV0dXJuIGNh
Y2hlZFJlc291cmNlOwogfQogCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9sb2FkZXIvRnJh
bWVMb2FkZXIuY3BwIGIvU291cmNlL1dlYkNvcmUvbG9hZGVyL0ZyYW1lTG9hZGVyLmNwcAppbmRl
eCAzNGZhMTk1Y2E5NmE3NjdhOGM5Y2NiMGJiNTk1NjI2MmM2YjRkNDZiLi44MmZjZjdlNDk1MzY0
ZDVjYjBiMDQyNzI2MzZhMDlhZTk2OGZiNWRiIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9s
b2FkZXIvRnJhbWVMb2FkZXIuY3BwCisrKyBiL1NvdXJjZS9XZWJDb3JlL2xvYWRlci9GcmFtZUxv
YWRlci5jcHAKQEAgLTM0NDUsNyArMzQ0NSw3IEBAIHZvaWQgRnJhbWVMb2FkZXI6OnRlbGxDbGll
bnRBYm91dFBhc3RNZW1vcnlDYWNoZUxvYWRzKCkKIAogICAgIHNpemVfdCBzaXplID0gcGFzdExv
YWRzLnNpemUoKTsKICAgICBmb3IgKHNpemVfdCBpID0gMDsgaSA8IHNpemU7ICsraSkgewotICAg
ICAgICBDYWNoZWRSZXNvdXJjZSogcmVzb3VyY2UgPSBjYWNoZSgpLT5yZXNvdXJjZUZvclVSTChL
VVJMKFBhcnNlZFVSTFN0cmluZywgcGFzdExvYWRzW2ldKSk7CisgICAgICAgIENhY2hlZFJlc291
cmNlKiByZXNvdXJjZSA9IG1lbW9yeUNhY2hlKCktPnJlc291cmNlRm9yVVJMKEtVUkwoUGFyc2Vk
VVJMU3RyaW5nLCBwYXN0TG9hZHNbaV0pKTsKIAogICAgICAgICAvLyBGSVhNRTogVGhlc2UgbG9h
ZHMsIGxvYWRlZCBmcm9tIGNhY2hlLCBidXQgbm93IGdvbmUgZnJvbSB0aGUgY2FjaGUgYnkgdGhl
IHRpbWUKICAgICAgICAgLy8gUGFnZTo6c2V0TWVtb3J5Q2FjaGVDbGllbnRDYWxsc0VuYWJsZWQo
dHJ1ZSkgaXMgY2FsbGVkLCB3aWxsIG5vdCBiZSBzZWVuIGJ5IHRoZSBjbGllbnQuCmRpZmYgLS1n
aXQgYS9Tb3VyY2UvV2ViQ29yZS9sb2FkZXIvYXJjaGl2ZS9jZi9MZWdhY3lXZWJBcmNoaXZlLmNw
cCBiL1NvdXJjZS9XZWJDb3JlL2xvYWRlci9hcmNoaXZlL2NmL0xlZ2FjeVdlYkFyY2hpdmUuY3Bw
CmluZGV4IGRkZDU2NGU5MjVhYjBjNWZmOGY5NzFiZWZhODEzNjJjNDM1MmNmYTQuLmQ5NTc1ZmU5
YjAyYzIwY2Q5YjVjM2I1YWQzOTk3ODIxYTVhMzUzODcgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJD
b3JlL2xvYWRlci9hcmNoaXZlL2NmL0xlZ2FjeVdlYkFyY2hpdmUuY3BwCisrKyBiL1NvdXJjZS9X
ZWJDb3JlL2xvYWRlci9hcmNoaXZlL2NmL0xlZ2FjeVdlYkFyY2hpdmUuY3BwCkBAIC01MjksNyAr
NTI5LDcgQEAgUGFzc1JlZlB0cjxMZWdhY3lXZWJBcmNoaXZlPiBMZWdhY3lXZWJBcmNoaXZlOjpj
cmVhdGUoY29uc3QgU3RyaW5nJiBtYXJrdXBTdHJpbmcKICAgICAgICAgICAgICAgICAgICAgY29u
dGludWU7CiAgICAgICAgICAgICAgICAgfQogCi0gICAgICAgICAgICAgICAgQ2FjaGVkUmVzb3Vy
Y2UgKmNhY2hlZFJlc291cmNlID0gY2FjaGUoKS0+cmVzb3VyY2VGb3JVUkwoc3VicmVzb3VyY2VV
UkwpOworICAgICAgICAgICAgICAgIENhY2hlZFJlc291cmNlKiBjYWNoZWRSZXNvdXJjZSA9IG1l
bW9yeUNhY2hlKCktPnJlc291cmNlRm9yVVJMKHN1YnJlc291cmNlVVJMKTsKICAgICAgICAgICAg
ICAgICBpZiAoY2FjaGVkUmVzb3VyY2UpIHsKICAgICAgICAgICAgICAgICAgICAgcmVzb3VyY2Ug
PSBBcmNoaXZlUmVzb3VyY2U6OmNyZWF0ZShjYWNoZWRSZXNvdXJjZS0+ZGF0YSgpLCBzdWJyZXNv
dXJjZVVSTCwgY2FjaGVkUmVzb3VyY2UtPnJlc3BvbnNlKCkpOwogICAgICAgICAgICAgICAgICAg
ICBpZiAocmVzb3VyY2UpIHsKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL2xvYWRlci9jYWNo
ZS9DYWNoZWRJbWFnZS5jcHAgYi9Tb3VyY2UvV2ViQ29yZS9sb2FkZXIvY2FjaGUvQ2FjaGVkSW1h
Z2UuY3BwCmluZGV4IDYwNjk0MmI1MGZkMmUxMmQ2MWZmYTZlNWIwMmI0YjY4ODZjN2ZlYTIuLjk3
ZmJmMDIxZWMzZDFjYjllY2Y3Mzk3YzIxOGVkMTQ3ZTE3YjNmMzQgMTAwNjQ0Ci0tLSBhL1NvdXJj
ZS9XZWJDb3JlL2xvYWRlci9jYWNoZS9DYWNoZWRJbWFnZS5jcHAKKysrIGIvU291cmNlL1dlYkNv
cmUvbG9hZGVyL2NhY2hlL0NhY2hlZEltYWdlLmNwcApAQCAtMTA3LDcgKzEwNyw3IEBAIHZvaWQg
Q2FjaGVkSW1hZ2U6OmFsbENsaWVudHNSZW1vdmVkKCkKIHsKICAgICBpZiAobV9pbWFnZSAmJiAh
ZXJyb3JPY2N1cnJlZCgpKQogICAgICAgICBtX2ltYWdlLT5yZXNldEFuaW1hdGlvbigpOwotICAg
IGlmIChkb3VibGUgaW50ZXJ2YWwgPSBjYWNoZSgpLT5kZWFkRGVjb2RlZERhdGFEZWxldGlvbklu
dGVydmFsKCkpCisgICAgaWYgKGRvdWJsZSBpbnRlcnZhbCA9IG1lbW9yeUNhY2hlKCktPmRlYWRE
ZWNvZGVkRGF0YURlbGV0aW9uSW50ZXJ2YWwoKSkKICAgICAgICAgbV9kZWNvZGVkRGF0YURlbGV0
aW9uVGltZXIuc3RhcnRPbmVTaG90KGludGVydmFsKTsKIH0KIApAQCAtMjc3LDcgKzI3Nyw3IEBA
IHZvaWQgQ2FjaGVkSW1hZ2U6OmRhdGEoUGFzc1JlZlB0cjxTaGFyZWRCdWZmZXI+IGRhdGEsIGJv
b2wgYWxsRGF0YVJlY2VpdmVkKQogICAgICAgICBpZiAobV9pbWFnZS0+aXNOdWxsKCkgfHwgKG1h
eERlY29kZWRJbWFnZVNpemUgPiAwICYmIGVzdGltYXRlZERlY29kZWRJbWFnZVNpemUgPiBtYXhE
ZWNvZGVkSW1hZ2VTaXplKSkgewogICAgICAgICAgICAgZXJyb3IoZXJyb3JPY2N1cnJlZCgpID8g
c3RhdHVzKCkgOiBEZWNvZGVFcnJvcik7CiAgICAgICAgICAgICBpZiAoaW5DYWNoZSgpKQotICAg
ICAgICAgICAgICAgIGNhY2hlKCktPnJlbW92ZSh0aGlzKTsKKyAgICAgICAgICAgICAgICBtZW1v
cnlDYWNoZSgpLT5yZW1vdmUodGhpcyk7CiAgICAgICAgICAgICByZXR1cm47CiAgICAgICAgIH0K
ICAgICAgICAgCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9sb2FkZXIvY2FjaGUvQ2FjaGVk
UmVzb3VyY2UuY3BwIGIvU291cmNlL1dlYkNvcmUvbG9hZGVyL2NhY2hlL0NhY2hlZFJlc291cmNl
LmNwcAppbmRleCBhOWQ5YjBhNGI4NmY1ZDQ3ZDVmODg1OWE1MzA4MmZiMzQyMmY3NDM3Li4wNmIz
MTMxNTQ2MzY3ODBlZDVlNDNlNDc4OWY5NzczNTI1ZTM1OTNlIDEwMDY0NAotLS0gYS9Tb3VyY2Uv
V2ViQ29yZS9sb2FkZXIvY2FjaGUvQ2FjaGVkUmVzb3VyY2UuY3BwCisrKyBiL1NvdXJjZS9XZWJD
b3JlL2xvYWRlci9jYWNoZS9DYWNoZWRSZXNvdXJjZS5jcHAKQEAgLTExNiw3ICsxMTYsNyBAQCBD
YWNoZWRSZXNvdXJjZTo6fkNhY2hlZFJlc291cmNlKCkKICAgICBBU1NFUlQoY2FuRGVsZXRlKCkp
OwogICAgIEFTU0VSVCghaW5DYWNoZSgpKTsKICAgICBBU1NFUlQoIW1fZGVsZXRlZCk7Ci0gICAg
QVNTRVJUKHVybCgpLmlzTnVsbCgpIHx8IGNhY2hlKCktPnJlc291cmNlRm9yVVJMKEtVUkwoUGFy
c2VkVVJMU3RyaW5nLCB1cmwoKSkpICE9IHRoaXMpOworICAgIEFTU0VSVCh1cmwoKS5pc051bGwo
KSB8fCBtZW1vcnlDYWNoZSgpLT5yZXNvdXJjZUZvclVSTChLVVJMKFBhcnNlZFVSTFN0cmluZywg
dXJsKCkpKSAhPSB0aGlzKTsKICNpZm5kZWYgTkRFQlVHCiAgICAgbV9kZWxldGVkID0gdHJ1ZTsK
ICAgICBjYWNoZWRSZXNvdXJjZUxlYWtDb3VudGVyLmRlY3JlbWVudCgpOwpAQCAtMjU5LDcgKzI1
OSw3IEBAIHZvaWQgQ2FjaGVkUmVzb3VyY2U6OmFkZENsaWVudFRvU2V0KENhY2hlZFJlc291cmNl
Q2xpZW50KiBjbGllbnQpCiAgICAgICAgICAgICBtX3ByZWxvYWRSZXN1bHQgPSBQcmVsb2FkUmVm
ZXJlbmNlZDsKICAgICB9CiAgICAgaWYgKCFoYXNDbGllbnRzKCkgJiYgaW5DYWNoZSgpKQotICAg
ICAgICBjYWNoZSgpLT5hZGRUb0xpdmVSZXNvdXJjZXNTaXplKHRoaXMpOworICAgICAgICBtZW1v
cnlDYWNoZSgpLT5hZGRUb0xpdmVSZXNvdXJjZXNTaXplKHRoaXMpOwogICAgIG1fY2xpZW50cy5h
ZGQoY2xpZW50KTsKIH0KIApAQCAtMjcxLDggKzI3MSw4IEBAIHZvaWQgQ2FjaGVkUmVzb3VyY2U6
OnJlbW92ZUNsaWVudChDYWNoZWRSZXNvdXJjZUNsaWVudCogY2xpZW50KQogICAgIGlmIChjYW5E
ZWxldGUoKSAmJiAhaW5DYWNoZSgpKQogICAgICAgICBkZWxldGUgdGhpczsKICAgICBlbHNlIGlm
ICghaGFzQ2xpZW50cygpICYmIGluQ2FjaGUoKSkgewotICAgICAgICBjYWNoZSgpLT5yZW1vdmVG
cm9tTGl2ZVJlc291cmNlc1NpemUodGhpcyk7Ci0gICAgICAgIGNhY2hlKCktPnJlbW92ZUZyb21M
aXZlRGVjb2RlZFJlc291cmNlc0xpc3QodGhpcyk7CisgICAgICAgIG1lbW9yeUNhY2hlKCktPnJl
bW92ZUZyb21MaXZlUmVzb3VyY2VzU2l6ZSh0aGlzKTsKKyAgICAgICAgbWVtb3J5Q2FjaGUoKS0+
cmVtb3ZlRnJvbUxpdmVEZWNvZGVkUmVzb3VyY2VzTGlzdCh0aGlzKTsKICAgICAgICAgYWxsQ2xp
ZW50c1JlbW92ZWQoKTsKICAgICAgICAgaWYgKHJlc3BvbnNlKCkuY2FjaGVDb250cm9sQ29udGFp
bnNOb1N0b3JlKCkpIHsKICAgICAgICAgICAgIC8vIFJGQzI2MTYgMTQuOS4yOgpAQCAtMjgwLDkg
KzI4MCw5IEBAIHZvaWQgQ2FjaGVkUmVzb3VyY2U6OnJlbW92ZUNsaWVudChDYWNoZWRSZXNvdXJj
ZUNsaWVudCogY2xpZW50KQogICAgICAgICAgICAgLy8gIi4uLiBIaXN0b3J5IGJ1ZmZlcnMgTUFZ
IHN0b3JlIHN1Y2ggcmVzcG9uc2VzIGFzIHBhcnQgb2YgdGhlaXIgbm9ybWFsIG9wZXJhdGlvbi4i
CiAgICAgICAgICAgICAvLyBXZSBhbGxvdyBub24tc2VjdXJlIGNvbnRlbnQgdG8gYmUgcmV1c2Vk
IGluIGhpc3RvcnksIGJ1dCB3ZSBkbyBub3QgYWxsb3cgc2VjdXJlIGNvbnRlbnQgdG8gYmUgcmV1
c2VkLgogICAgICAgICAgICAgaWYgKHByb3RvY29sSXModXJsKCksICJodHRwcyIpKQotICAgICAg
ICAgICAgICAgIGNhY2hlKCktPnJlbW92ZSh0aGlzKTsKKyAgICAgICAgICAgICAgICBtZW1vcnlD
YWNoZSgpLT5yZW1vdmUodGhpcyk7CiAgICAgICAgIH0gZWxzZQotICAgICAgICAgICAgY2FjaGUo
KS0+cHJ1bmUoKTsKKyAgICAgICAgICAgIG1lbW9yeUNhY2hlKCktPnBydW5lKCk7CiAgICAgfQog
ICAgIC8vIFRoaXMgb2JqZWN0IG1heSBiZSBkZWFkIGhlcmUuCiB9CkBAIC0zMDQsMTMgKzMwNCwx
MyBAQCB2b2lkIENhY2hlZFJlc291cmNlOjpzZXREZWNvZGVkU2l6ZSh1bnNpZ25lZCBzaXplKQog
ICAgIC8vIFdlIGhhdmUgdG8gcmVtb3ZlIGV4cGxpY2l0bHkgYmVmb3JlIHVwZGF0aW5nIG1fZGVj
b2RlZFNpemUsIHNvIHRoYXQgd2UgZmluZCB0aGUgY29ycmVjdCBwcmV2aW91cwogICAgIC8vIHF1
ZXVlLgogICAgIGlmIChpbkNhY2hlKCkpCi0gICAgICAgIGNhY2hlKCktPnJlbW92ZUZyb21MUlVM
aXN0KHRoaXMpOworICAgICAgICBtZW1vcnlDYWNoZSgpLT5yZW1vdmVGcm9tTFJVTGlzdCh0aGlz
KTsKICAgICAKICAgICBtX2RlY29kZWRTaXplID0gc2l6ZTsKICAgIAogICAgIGlmIChpbkNhY2hl
KCkpIHsgCiAgICAgICAgIC8vIE5vdyBpbnNlcnQgaW50byB0aGUgbmV3IExSVSBsaXN0LgotICAg
ICAgICBjYWNoZSgpLT5pbnNlcnRJbkxSVUxpc3QodGhpcyk7CisgICAgICAgIG1lbW9yeUNhY2hl
KCktPmluc2VydEluTFJVTGlzdCh0aGlzKTsKICAgICAgICAgCiAgICAgICAgIC8vIEluc2VydCBp
bnRvIG9yIHJlbW92ZSBmcm9tIHRoZSBsaXZlIGRlY29kZWQgbGlzdCBpZiBuZWNlc3NhcnkuCiAg
ICAgICAgIC8vIFdoZW4gaW5zZXJ0aW5nIGludG8gdGhlIExpdmVEZWNvZGVkUmVzb3VyY2VzTGlz
dCBpdCBpcyBwb3NzaWJsZQpAQCAtMzIwLDEyICszMjAsMTIgQEAgdm9pZCBDYWNoZWRSZXNvdXJj
ZTo6c2V0RGVjb2RlZFNpemUodW5zaWduZWQgc2l6ZSkKICAgICAgICAgLy8gYnkgYWNjZXNzIHRp
bWUuIFRoZSB3ZWFrZW5pbmcgb2YgdGhlIGludmFyaWFudCBkb2VzIG5vdCBwb3NlCiAgICAgICAg
IC8vIGEgcHJvYmxlbS4gRm9yIG1vcmUgZGV0YWlscyBwbGVhc2Ugc2VlOiBodHRwczovL2J1Z3Mu
d2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9MzAyMDkKICAgICAgICAgaWYgKG1fZGVjb2RlZFNp
emUgJiYgIW1faW5MaXZlRGVjb2RlZFJlc291cmNlc0xpc3QgJiYgaGFzQ2xpZW50cygpKQotICAg
ICAgICAgICAgY2FjaGUoKS0+aW5zZXJ0SW5MaXZlRGVjb2RlZFJlc291cmNlc0xpc3QodGhpcyk7
CisgICAgICAgICAgICBtZW1vcnlDYWNoZSgpLT5pbnNlcnRJbkxpdmVEZWNvZGVkUmVzb3VyY2Vz
TGlzdCh0aGlzKTsKICAgICAgICAgZWxzZSBpZiAoIW1fZGVjb2RlZFNpemUgJiYgbV9pbkxpdmVE
ZWNvZGVkUmVzb3VyY2VzTGlzdCkKLSAgICAgICAgICAgIGNhY2hlKCktPnJlbW92ZUZyb21MaXZl
RGVjb2RlZFJlc291cmNlc0xpc3QodGhpcyk7CisgICAgICAgICAgICBtZW1vcnlDYWNoZSgpLT5y
ZW1vdmVGcm9tTGl2ZURlY29kZWRSZXNvdXJjZXNMaXN0KHRoaXMpOwogCiAgICAgICAgIC8vIFVw
ZGF0ZSB0aGUgY2FjaGUncyBzaXplIHRvdGFscy4KLSAgICAgICAgY2FjaGUoKS0+YWRqdXN0U2l6
ZShoYXNDbGllbnRzKCksIGRlbHRhKTsKKyAgICAgICAgbWVtb3J5Q2FjaGUoKS0+YWRqdXN0U2l6
ZShoYXNDbGllbnRzKCksIGRlbHRhKTsKICAgICB9CiB9CiAKQEAgLTM0MywxNiArMzQzLDE2IEBA
IHZvaWQgQ2FjaGVkUmVzb3VyY2U6OnNldEVuY29kZWRTaXplKHVuc2lnbmVkIHNpemUpCiAgICAg
Ly8gV2UgaGF2ZSB0byByZW1vdmUgZXhwbGljaXRseSBiZWZvcmUgdXBkYXRpbmcgbV9lbmNvZGVk
U2l6ZSwgc28gdGhhdCB3ZSBmaW5kIHRoZSBjb3JyZWN0IHByZXZpb3VzCiAgICAgLy8gcXVldWUu
CiAgICAgaWYgKGluQ2FjaGUoKSkKLSAgICAgICAgY2FjaGUoKS0+cmVtb3ZlRnJvbUxSVUxpc3Qo
dGhpcyk7CisgICAgICAgIG1lbW9yeUNhY2hlKCktPnJlbW92ZUZyb21MUlVMaXN0KHRoaXMpOwog
ICAgIAogICAgIG1fZW5jb2RlZFNpemUgPSBzaXplOwogICAgCiAgICAgaWYgKGluQ2FjaGUoKSkg
eyAKICAgICAgICAgLy8gTm93IGluc2VydCBpbnRvIHRoZSBuZXcgTFJVIGxpc3QuCi0gICAgICAg
IGNhY2hlKCktPmluc2VydEluTFJVTGlzdCh0aGlzKTsKKyAgICAgICAgbWVtb3J5Q2FjaGUoKS0+
aW5zZXJ0SW5MUlVMaXN0KHRoaXMpOwogICAgICAgICAKICAgICAgICAgLy8gVXBkYXRlIHRoZSBj
YWNoZSdzIHNpemUgdG90YWxzLgotICAgICAgICBjYWNoZSgpLT5hZGp1c3RTaXplKGhhc0NsaWVu
dHMoKSwgZGVsdGEpOworICAgICAgICBtZW1vcnlDYWNoZSgpLT5hZGp1c3RTaXplKGhhc0NsaWVu
dHMoKSwgZGVsdGEpOwogICAgIH0KIH0KIApAQCAtMzYyLDEwICszNjIsMTAgQEAgdm9pZCBDYWNo
ZWRSZXNvdXJjZTo6ZGlkQWNjZXNzRGVjb2RlZERhdGEoZG91YmxlIHRpbWVTdGFtcCkKICAgICAK
ICAgICBpZiAoaW5DYWNoZSgpKSB7CiAgICAgICAgIGlmIChtX2luTGl2ZURlY29kZWRSZXNvdXJj
ZXNMaXN0KSB7Ci0gICAgICAgICAgICBjYWNoZSgpLT5yZW1vdmVGcm9tTGl2ZURlY29kZWRSZXNv
dXJjZXNMaXN0KHRoaXMpOwotICAgICAgICAgICAgY2FjaGUoKS0+aW5zZXJ0SW5MaXZlRGVjb2Rl
ZFJlc291cmNlc0xpc3QodGhpcyk7CisgICAgICAgICAgICBtZW1vcnlDYWNoZSgpLT5yZW1vdmVG
cm9tTGl2ZURlY29kZWRSZXNvdXJjZXNMaXN0KHRoaXMpOworICAgICAgICAgICAgbWVtb3J5Q2Fj
aGUoKS0+aW5zZXJ0SW5MaXZlRGVjb2RlZFJlc291cmNlc0xpc3QodGhpcyk7CiAgICAgICAgIH0K
LSAgICAgICAgY2FjaGUoKS0+cHJ1bmUoKTsKKyAgICAgICAgbWVtb3J5Q2FjaGUoKS0+cHJ1bmUo
KTsKICAgICB9CiB9CiAgICAgCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9sb2FkZXIvY2Fj
aGUvQ2FjaGVkUmVzb3VyY2VMb2FkZXIuY3BwIGIvU291cmNlL1dlYkNvcmUvbG9hZGVyL2NhY2hl
L0NhY2hlZFJlc291cmNlTG9hZGVyLmNwcAppbmRleCAwYWMzZjRiZmZkMWY5MjEwY2VhMGM5Mzhk
NTU1MTQyODMwOGU3NDAxLi4xMjkxOTU5NGRhMmRlNTFhMGEwNmViMzhkM2NjM2EzNjU5ODg3ZTU3
IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9sb2FkZXIvY2FjaGUvQ2FjaGVkUmVzb3VyY2VM
b2FkZXIuY3BwCisrKyBiL1NvdXJjZS9XZWJDb3JlL2xvYWRlci9jYWNoZS9DYWNoZWRSZXNvdXJj
ZUxvYWRlci5jcHAKQEAgLTc4LDcgKzc4LDcgQEAgc3RhdGljIENhY2hlZFJlc291cmNlKiBjcmVh
dGVSZXNvdXJjZShDYWNoZWRSZXNvdXJjZTo6VHlwZSB0eXBlLCBjb25zdCBLVVJMJiB1cmwKIH0K
IAogQ2FjaGVkUmVzb3VyY2VMb2FkZXI6OkNhY2hlZFJlc291cmNlTG9hZGVyKERvY3VtZW50KiBk
b2N1bWVudCkKLSAgICA6IG1fY2FjaGUoY2FjaGUoKSkKKyAgICA6IG1fY2FjaGUobWVtb3J5Q2Fj
aGUoKSkKICAgICAsIG1fZG9jdW1lbnQoZG9jdW1lbnQpCiAgICAgLCBtX3JlcXVlc3RDb3VudCgw
KQogICAgICwgbV9hdXRvTG9hZEltYWdlcyh0cnVlKQpAQCAtMTU0LDE0ICsxNTQsMTQgQEAgQ2Fj
aGVkQ1NTU3R5bGVTaGVldCogQ2FjaGVkUmVzb3VyY2VMb2FkZXI6OnJlcXVlc3RVc2VyQ1NTU3R5
bGVTaGVldChjb25zdCBTdHJpbmcKIHsKICAgICBLVVJMIHVybCA9IE1lbW9yeUNhY2hlOjpyZW1v
dmVGcmFnbWVudElkZW50aWZpZXJJZk5lZWRlZChLVVJMKEtVUkwoKSwgcmVxdWVzdFVSTCkpOwog
Ci0gICAgaWYgKENhY2hlZFJlc291cmNlKiBleGlzdGluZyA9IGNhY2hlKCktPnJlc291cmNlRm9y
VVJMKHVybCkpIHsKKyAgICBpZiAoQ2FjaGVkUmVzb3VyY2UqIGV4aXN0aW5nID0gbWVtb3J5Q2Fj
aGUoKS0+cmVzb3VyY2VGb3JVUkwodXJsKSkgewogICAgICAgICBpZiAoZXhpc3RpbmctPnR5cGUo
KSA9PSBDYWNoZWRSZXNvdXJjZTo6Q1NTU3R5bGVTaGVldCkKICAgICAgICAgICAgIHJldHVybiBz
dGF0aWNfY2FzdDxDYWNoZWRDU1NTdHlsZVNoZWV0Kj4oZXhpc3RpbmcpOwotICAgICAgICBjYWNo
ZSgpLT5yZW1vdmUoZXhpc3RpbmcpOworICAgICAgICBtZW1vcnlDYWNoZSgpLT5yZW1vdmUoZXhp
c3RpbmcpOwogICAgIH0KICAgICBDYWNoZWRDU1NTdHlsZVNoZWV0KiB1c2VyU2hlZXQgPSBuZXcg
Q2FjaGVkQ1NTU3R5bGVTaGVldCh1cmwsIGNoYXJzZXQpOwogICAgIAotICAgIGJvb2wgaW5DYWNo
ZSA9IGNhY2hlKCktPmFkZCh1c2VyU2hlZXQpOworICAgIGJvb2wgaW5DYWNoZSA9IG1lbW9yeUNh
Y2hlKCktPmFkZCh1c2VyU2hlZXQpOwogICAgIGlmICghaW5DYWNoZSkKICAgICAgICAgdXNlclNo
ZWV0LT5zZXRJbkNhY2hlKHRydWUpOwogICAgIApAQCAtMjg0LDcgKzI4NCw3IEBAIENhY2hlZFJl
c291cmNlKiBDYWNoZWRSZXNvdXJjZUxvYWRlcjo6cmVxdWVzdFJlc291cmNlKENhY2hlZFJlc291
cmNlOjpUeXBlIHR5cGUsCiAgICAgICAgIHJldHVybiAwOwogICAgIH0KIAotICAgIGlmIChjYWNo
ZSgpLT5kaXNhYmxlZCgpKSB7CisgICAgaWYgKG1lbW9yeUNhY2hlKCktPmRpc2FibGVkKCkpIHsK
ICAgICAgICAgRG9jdW1lbnRSZXNvdXJjZU1hcDo6aXRlcmF0b3IgaXQgPSBtX2RvY3VtZW50UmVz
b3VyY2VzLmZpbmQodXJsLnN0cmluZygpKTsKICAgICAgICAgaWYgKGl0ICE9IG1fZG9jdW1lbnRS
ZXNvdXJjZXMuZW5kKCkpIHsKICAgICAgICAgICAgIGl0LT5zZWNvbmQtPnNldE93bmluZ0NhY2hl
ZFJlc291cmNlTG9hZGVyKDApOwpAQCAtMjkzLDIxICsyOTMsMjEgQEAgQ2FjaGVkUmVzb3VyY2Uq
IENhY2hlZFJlc291cmNlTG9hZGVyOjpyZXF1ZXN0UmVzb3VyY2UoQ2FjaGVkUmVzb3VyY2U6OlR5
cGUgdHlwZSwKICAgICB9CiAKICAgICAvLyBTZWUgaWYgd2UgY2FuIHVzZSBhbiBleGlzdGluZyBy
ZXNvdXJjZSBmcm9tIHRoZSBjYWNoZS4KLSAgICBDYWNoZWRSZXNvdXJjZSogcmVzb3VyY2UgPSBj
YWNoZSgpLT5yZXNvdXJjZUZvclVSTCh1cmwpOworICAgIENhY2hlZFJlc291cmNlKiByZXNvdXJj
ZSA9IG1lbW9yeUNhY2hlKCktPnJlc291cmNlRm9yVVJMKHVybCk7CiAKICAgICBzd2l0Y2ggKGRl
dGVybWluZVJldmFsaWRhdGlvblBvbGljeSh0eXBlLCBmb3JQcmVsb2FkLCByZXNvdXJjZSkpIHsK
ICAgICBjYXNlIExvYWQ6CiAgICAgICAgIHJlc291cmNlID0gbG9hZFJlc291cmNlKHR5cGUsIHVy
bCwgY2hhcnNldCwgcHJpb3JpdHkpOwogICAgICAgICBicmVhazsKICAgICBjYXNlIFJlbG9hZDoK
LSAgICAgICAgY2FjaGUoKS0+cmVtb3ZlKHJlc291cmNlKTsKKyAgICAgICAgbWVtb3J5Q2FjaGUo
KS0+cmVtb3ZlKHJlc291cmNlKTsKICAgICAgICAgcmVzb3VyY2UgPSBsb2FkUmVzb3VyY2UodHlw
ZSwgdXJsLCBjaGFyc2V0LCBwcmlvcml0eSk7CiAgICAgICAgIGJyZWFrOwogICAgIGNhc2UgUmV2
YWxpZGF0ZToKICAgICAgICAgcmVzb3VyY2UgPSByZXZhbGlkYXRlUmVzb3VyY2UocmVzb3VyY2Us
IHByaW9yaXR5KTsKICAgICAgICAgYnJlYWs7CiAgICAgY2FzZSBVc2U6Ci0gICAgICAgIGNhY2hl
KCktPnJlc291cmNlQWNjZXNzZWQocmVzb3VyY2UpOworICAgICAgICBtZW1vcnlDYWNoZSgpLT5y
ZXNvdXJjZUFjY2Vzc2VkKHJlc291cmNlKTsKICAgICAgICAgbm90aWZ5TG9hZGVkRnJvbU1lbW9y
eUNhY2hlKHJlc291cmNlKTsKICAgICAgICAgYnJlYWs7CiAgICAgfQpAQCAtMzI1LDcgKzMyNSw3
IEBAIENhY2hlZFJlc291cmNlKiBDYWNoZWRSZXNvdXJjZUxvYWRlcjo6cmV2YWxpZGF0ZVJlc291
cmNlKENhY2hlZFJlc291cmNlKiByZXNvdXJjCiB7CiAgICAgQVNTRVJUKHJlc291cmNlKTsKICAg
ICBBU1NFUlQocmVzb3VyY2UtPmluQ2FjaGUoKSk7Ci0gICAgQVNTRVJUKCFjYWNoZSgpLT5kaXNh
YmxlZCgpKTsKKyAgICBBU1NFUlQoIW1lbW9yeUNhY2hlKCktPmRpc2FibGVkKCkpOwogICAgIEFT
U0VSVChyZXNvdXJjZS0+Y2FuVXNlQ2FjaGVWYWxpZGF0b3IoKSk7CiAgICAgQVNTRVJUKCFyZXNv
dXJjZS0+cmVzb3VyY2VUb1JldmFsaWRhdGUoKSk7CiAgICAgCkBAIC0zMzUsOCArMzM1LDggQEAg
Q2FjaGVkUmVzb3VyY2UqIENhY2hlZFJlc291cmNlTG9hZGVyOjpyZXZhbGlkYXRlUmVzb3VyY2Uo
Q2FjaGVkUmVzb3VyY2UqIHJlc291cmMKICAgICBMT0coUmVzb3VyY2VMb2FkaW5nLCAiUmVzb3Vy
Y2UgJXAgY3JlYXRlZCB0byByZXZhbGlkYXRlICVwIiwgbmV3UmVzb3VyY2UsIHJlc291cmNlKTsK
ICAgICBuZXdSZXNvdXJjZS0+c2V0UmVzb3VyY2VUb1JldmFsaWRhdGUocmVzb3VyY2UpOwogICAg
IAotICAgIGNhY2hlKCktPnJlbW92ZShyZXNvdXJjZSk7Ci0gICAgY2FjaGUoKS0+YWRkKG5ld1Jl
c291cmNlKTsKKyAgICBtZW1vcnlDYWNoZSgpLT5yZW1vdmUocmVzb3VyY2UpOworICAgIG1lbW9y
eUNhY2hlKCktPmFkZChuZXdSZXNvdXJjZSk7CiAgICAgCiAgICAgbmV3UmVzb3VyY2UtPnNldExv
YWRQcmlvcml0eShwcmlvcml0eSk7CiAgICAgbmV3UmVzb3VyY2UtPmxvYWQodGhpcyk7CkBAIC0z
NDcsMTMgKzM0NywxMyBAQCBDYWNoZWRSZXNvdXJjZSogQ2FjaGVkUmVzb3VyY2VMb2FkZXI6OnJl
dmFsaWRhdGVSZXNvdXJjZShDYWNoZWRSZXNvdXJjZSogcmVzb3VyYwogCiBDYWNoZWRSZXNvdXJj
ZSogQ2FjaGVkUmVzb3VyY2VMb2FkZXI6OmxvYWRSZXNvdXJjZShDYWNoZWRSZXNvdXJjZTo6VHlw
ZSB0eXBlLCBjb25zdCBLVVJMJiB1cmwsIGNvbnN0IFN0cmluZyYgY2hhcnNldCwgUmVzb3VyY2VM
b2FkUHJpb3JpdHkgcHJpb3JpdHkpCiB7Ci0gICAgQVNTRVJUKCFjYWNoZSgpLT5yZXNvdXJjZUZv
clVSTCh1cmwpKTsKKyAgICBBU1NFUlQoIW1lbW9yeUNhY2hlKCktPnJlc291cmNlRm9yVVJMKHVy
bCkpOwogICAgIAogICAgIExPRyhSZXNvdXJjZUxvYWRpbmcsICJMb2FkaW5nIENhY2hlZFJlc291
cmNlIGZvciAnJXMnLiIsIHVybC5zdHJpbmcoKS5sYXRpbjEoKS5kYXRhKCkpOwogICAgIAogICAg
IENhY2hlZFJlc291cmNlKiByZXNvdXJjZSA9IGNyZWF0ZVJlc291cmNlKHR5cGUsIHVybCwgY2hh
cnNldCk7CiAgICAgCi0gICAgYm9vbCBpbkNhY2hlID0gY2FjaGUoKS0+YWRkKHJlc291cmNlKTsK
KyAgICBib29sIGluQ2FjaGUgPSBtZW1vcnlDYWNoZSgpLT5hZGQocmVzb3VyY2UpOwogICAgIAog
ICAgIC8vIFByZXRlbmQgdGhlIHJlc291cmNlIGlzIGluIHRoZSBjYWNoZSwgdG8gcHJldmVudCBp
dCBmcm9tIGJlaW5nIGRlbGV0ZWQgZHVyaW5nIHRoZSBsb2FkKCkgY2FsbC4KICAgICAvLyBGSVhN
RTogQ2FjaGVkUmVzb3VyY2Ugc2hvdWxkIGp1c3QgdXNlIG5vcm1hbCByZWZjb3VudGluZyBpbnN0
ZWFkLgpAQCAtMzcxLDcgKzM3MSw3IEBAIENhY2hlZFJlc291cmNlKiBDYWNoZWRSZXNvdXJjZUxv
YWRlcjo6bG9hZFJlc291cmNlKENhY2hlZFJlc291cmNlOjpUeXBlIHR5cGUsIGNvCiAgICAgLy8g
V2UgZG9uJ3Qgc3VwcG9ydCBpbW1lZGlhdGUgbG9hZHMsIGJ1dCB3ZSBkbyBzdXBwb3J0IGltbWVk
aWF0ZSBmYWlsdXJlLgogICAgIGlmIChyZXNvdXJjZS0+ZXJyb3JPY2N1cnJlZCgpKSB7CiAgICAg
ICAgIGlmIChpbkNhY2hlKQotICAgICAgICAgICAgY2FjaGUoKS0+cmVtb3ZlKHJlc291cmNlKTsK
KyAgICAgICAgICAgIG1lbW9yeUNhY2hlKCktPnJlbW92ZShyZXNvdXJjZSk7CiAgICAgICAgIGVs
c2UKICAgICAgICAgICAgIGRlbGV0ZSByZXNvdXJjZTsKICAgICAgICAgcmV0dXJuIDA7CkBAIC02
MzMsNyArNjMzLDcgQEAgdm9pZCBDYWNoZWRSZXNvdXJjZUxvYWRlcjo6Y2xlYXJQcmVsb2Fkcygp
CiAgICAgICAgIGlmIChyZXMtPmNhbkRlbGV0ZSgpICYmICFyZXMtPmluQ2FjaGUoKSkKICAgICAg
ICAgICAgIGRlbGV0ZSByZXM7CiAgICAgICAgIGVsc2UgaWYgKHJlcy0+cHJlbG9hZFJlc3VsdCgp
ID09IENhY2hlZFJlc291cmNlOjpQcmVsb2FkTm90UmVmZXJlbmNlZCkKLSAgICAgICAgICAgIGNh
Y2hlKCktPnJlbW92ZShyZXMpOworICAgICAgICAgICAgbWVtb3J5Q2FjaGUoKS0+cmVtb3ZlKHJl
cyk7CiAgICAgfQogICAgIG1fcHJlbG9hZHMuY2xlYXIoKTsKIH0KQEAgLTY3Nyw3ICs2NzcsNyBA
QCB2b2lkIENhY2hlZFJlc291cmNlTG9hZGVyOjpwcmludFByZWxvYWRTdGF0cygpCiAgICAgICAg
IH0KICAgICAgICAgCiAgICAgICAgIGlmIChyZXMtPmVycm9yT2NjdXJyZWQoKSkKLSAgICAgICAg
ICAgIGNhY2hlKCktPnJlbW92ZShyZXMpOworICAgICAgICAgICAgbWVtb3J5Q2FjaGUoKS0+cmVt
b3ZlKHJlcyk7CiAgICAgICAgIAogICAgICAgICByZXMtPmRlY3JlYXNlUHJlbG9hZENvdW50KCk7
CiAgICAgfQpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvbG9hZGVyL2NhY2hlL0NhY2hlZFJl
c291cmNlUmVxdWVzdC5jcHAgYi9Tb3VyY2UvV2ViQ29yZS9sb2FkZXIvY2FjaGUvQ2FjaGVkUmVz
b3VyY2VSZXF1ZXN0LmNwcAppbmRleCA4MjdiYjhlNDA5OTQ4YzhhYjk0NjU0NWMxZTcxN2RmOWE0
OWYzYWJiLi5kNWUxYWRmOWJhYWIwZGVlZjQ0NjM1MTVkNWIzZWE4Njc4MjZjNTBjIDEwMDY0NAot
LS0gYS9Tb3VyY2UvV2ViQ29yZS9sb2FkZXIvY2FjaGUvQ2FjaGVkUmVzb3VyY2VSZXF1ZXN0LmNw
cAorKysgYi9Tb3VyY2UvV2ViQ29yZS9sb2FkZXIvY2FjaGUvQ2FjaGVkUmVzb3VyY2VSZXF1ZXN0
LmNwcApAQCAtMTIyLDcgKzEyMiw3IEBAIFBhc3NSZWZQdHI8Q2FjaGVkUmVzb3VyY2VSZXF1ZXN0
PiBDYWNoZWRSZXNvdXJjZVJlcXVlc3Q6OmxvYWQoQ2FjaGVkUmVzb3VyY2VMb2FkCiAgICAgICAg
IGNhY2hlZFJlc291cmNlTG9hZGVyLT5kZWNyZW1lbnRSZXF1ZXN0Q291bnQocmVzb3VyY2UpOwog
ICAgICAgICBjYWNoZWRSZXNvdXJjZUxvYWRlci0+bG9hZEZpbmlzaGluZygpOwogICAgICAgICBp
ZiAocmVzb3VyY2UtPnJlc291cmNlVG9SZXZhbGlkYXRlKCkpIAotICAgICAgICAgICAgY2FjaGUo
KS0+cmV2YWxpZGF0aW9uRmFpbGVkKHJlc291cmNlKTsgCisgICAgICAgICAgICBtZW1vcnlDYWNo
ZSgpLT5yZXZhbGlkYXRpb25GYWlsZWQocmVzb3VyY2UpOyAKICAgICAgICAgcmVzb3VyY2UtPmVy
cm9yKENhY2hlZFJlc291cmNlOjpMb2FkRXJyb3IpOwogICAgICAgICBjYWNoZWRSZXNvdXJjZUxv
YWRlci0+bG9hZERvbmUoMCk7CiAgICAgICAgIHJldHVybiAwOwpAQCAtMTg2LDcgKzE4Niw3IEBA
IHZvaWQgQ2FjaGVkUmVzb3VyY2VSZXF1ZXN0OjpkaWRGYWlsKGJvb2wgY2FuY2VsbGVkKQogICAg
IG1fbG9hZGVyLT5jbGVhckNsaWVudCgpOwogCiAgICAgaWYgKG1fcmVzb3VyY2UtPnJlc291cmNl
VG9SZXZhbGlkYXRlKCkpCi0gICAgICAgIGNhY2hlKCktPnJldmFsaWRhdGlvbkZhaWxlZChtX3Jl
c291cmNlKTsKKyAgICAgICAgbWVtb3J5Q2FjaGUoKS0+cmV2YWxpZGF0aW9uRmFpbGVkKG1fcmVz
b3VyY2UpOwogCiAgICAgaWYgKCFjYW5jZWxsZWQpIHsKICAgICAgICAgbV9jYWNoZWRSZXNvdXJj
ZUxvYWRlci0+bG9hZEZpbmlzaGluZygpOwpAQCAtMTk0LDcgKzE5NCw3IEBAIHZvaWQgQ2FjaGVk
UmVzb3VyY2VSZXF1ZXN0OjpkaWRGYWlsKGJvb2wgY2FuY2VsbGVkKQogICAgIH0KIAogICAgIGlm
IChjYW5jZWxsZWQgfHwgIW1fcmVzb3VyY2UtPmlzUHJlbG9hZGVkKCkpCi0gICAgICAgIGNhY2hl
KCktPnJlbW92ZShtX3Jlc291cmNlKTsKKyAgICAgICAgbWVtb3J5Q2FjaGUoKS0+cmVtb3ZlKG1f
cmVzb3VyY2UpOwogICAgIAogICAgIG1fY2FjaGVkUmVzb3VyY2VMb2FkZXItPmxvYWREb25lKHRo
aXMpOwogfQpAQCAtMjExLDcgKzIxMSw3IEBAIHZvaWQgQ2FjaGVkUmVzb3VyY2VSZXF1ZXN0Ojpk
aWRSZWNlaXZlUmVzcG9uc2UoU3VicmVzb3VyY2VMb2FkZXIqIGxvYWRlciwgY29uc3QKICAgICAg
ICAgICAgIG1fZmluaXNoaW5nID0gdHJ1ZTsKIAogICAgICAgICAgICAgLy8gRXhpc3RpbmcgcmVz
b3VyY2UgaXMgb2ssIGp1c3QgdXNlIGl0IHVwZGF0aW5nIHRoZSBleHBpcmF0aW9uIHRpbWUuCi0g
ICAgICAgICAgICBjYWNoZSgpLT5yZXZhbGlkYXRpb25TdWNjZWVkZWQobV9yZXNvdXJjZSwgcmVz
cG9uc2UpOworICAgICAgICAgICAgbWVtb3J5Q2FjaGUoKS0+cmV2YWxpZGF0aW9uU3VjY2VlZGVk
KG1fcmVzb3VyY2UsIHJlc3BvbnNlKTsKICAgICAgICAgICAgIAogICAgICAgICAgICAgaWYgKG1f
Y2FjaGVkUmVzb3VyY2VMb2FkZXItPmZyYW1lKCkpCiAgICAgICAgICAgICAgICAgbV9jYWNoZWRS
ZXNvdXJjZUxvYWRlci0+ZnJhbWUoKS0+bG9hZGVyKCktPmNoZWNrQ29tcGxldGVkKCk7CkBAIC0y
MjAsNyArMjIwLDcgQEAgdm9pZCBDYWNoZWRSZXNvdXJjZVJlcXVlc3Q6OmRpZFJlY2VpdmVSZXNw
b25zZShTdWJyZXNvdXJjZUxvYWRlciogbG9hZGVyLCBjb25zdAogICAgICAgICAgICAgcmV0dXJu
OwogICAgICAgICB9IAogICAgICAgICAvLyBEaWQgbm90IGdldCAzMDQgcmVzcG9uc2UsIGNvbnRp
bnVlIGFzIGEgcmVndWxhciByZXNvdXJjZSBsb2FkLgotICAgICAgICBjYWNoZSgpLT5yZXZhbGlk
YXRpb25GYWlsZWQobV9yZXNvdXJjZSk7CisgICAgICAgIG1lbW9yeUNhY2hlKCktPnJldmFsaWRh
dGlvbkZhaWxlZChtX3Jlc291cmNlKTsKICAgICB9CiAKICAgICBtX3Jlc291cmNlLT5zZXRSZXNw
b25zZShyZXNwb25zZSk7CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9sb2FkZXIvY2FjaGUv
TWVtb3J5Q2FjaGUuY3BwIGIvU291cmNlL1dlYkNvcmUvbG9hZGVyL2NhY2hlL01lbW9yeUNhY2hl
LmNwcAppbmRleCA5MzAwMzNhN2ZmZGQ5MGY4MjdhYTE5YmMzZGU5N2EyMzY0NjI4ZGY1Li42Njg5
NTI0NGQ1MzlhMTE1M2FjMTNlMDk4YjljM2M3MDY3MzliZDBiIDEwMDY0NAotLS0gYS9Tb3VyY2Uv
V2ViQ29yZS9sb2FkZXIvY2FjaGUvTWVtb3J5Q2FjaGUuY3BwCisrKyBiL1NvdXJjZS9XZWJDb3Jl
L2xvYWRlci9jYWNoZS9NZW1vcnlDYWNoZS5jcHAKQEAgLTUwLDcgKzUwLDcgQEAgc3RhdGljIGNv
bnN0IGRvdWJsZSBjTWluRGVsYXlCZWZvcmVMaXZlRGVjb2RlZFBydW5lID0gMTsgLy8gU2Vjb25k
cy4KIHN0YXRpYyBjb25zdCBmbG9hdCBjVGFyZ2V0UHJ1bmVQZXJjZW50YWdlID0gLjk1ZjsgLy8g
UGVyY2VudGFnZSBvZiBjYXBhY2l0eSB0b3dhcmQgd2hpY2ggd2UgcHJ1bmUsIHRvIGF2b2lkIGlt
bWVkaWF0ZWx5IHBydW5pbmcgYWdhaW4uCiBzdGF0aWMgY29uc3QgZG91YmxlIGNEZWZhdWx0RGVj
b2RlZERhdGFEZWxldGlvbkludGVydmFsID0gMDsKIAotTWVtb3J5Q2FjaGUqIGNhY2hlKCkKK01l
bW9yeUNhY2hlKiBtZW1vcnlDYWNoZSgpCiB7CiAgICAgc3RhdGljIE1lbW9yeUNhY2hlKiBzdGF0
aWNDYWNoZSA9IG5ldyBNZW1vcnlDYWNoZTsKICAgICByZXR1cm4gc3RhdGljQ2FjaGU7CmRpZmYg
LS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9sb2FkZXIvY2FjaGUvTWVtb3J5Q2FjaGUuaCBiL1NvdXJj
ZS9XZWJDb3JlL2xvYWRlci9jYWNoZS9NZW1vcnlDYWNoZS5oCmluZGV4IDI3OThmYmFlYTIzZDVm
MWJjYjZiYjc4MGYzZDQyNDIwYTI3ZDNmMGUuLjI4N2UwOTdmMWNlMDI0MzcyOGNlZGQyMzhkNzAy
ZmZhZmE4NDM4MTEgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL2xvYWRlci9jYWNoZS9NZW1v
cnlDYWNoZS5oCisrKyBiL1NvdXJjZS9XZWJDb3JlL2xvYWRlci9jYWNoZS9NZW1vcnlDYWNoZS5o
CkBAIC03Miw3ICs3Miw3IEBAIGNsYXNzIEtVUkw7CiAKIGNsYXNzIE1lbW9yeUNhY2hlIDogcHVi
bGljIE5vbmNvcHlhYmxlIHsKIHB1YmxpYzoKLSAgICBmcmllbmQgTWVtb3J5Q2FjaGUqIGNhY2hl
KCk7CisgICAgZnJpZW5kIE1lbW9yeUNhY2hlKiBtZW1vcnlDYWNoZSgpOwogCiAgICAgdHlwZWRl
ZiBIYXNoTWFwPFN0cmluZywgQ2FjaGVkUmVzb3VyY2UqPiBDYWNoZWRSZXNvdXJjZU1hcDsKIApA
QCAtMjE5LDcgKzIxOSw3IEBAIGlubGluZSBib29sIE1lbW9yeUNhY2hlOjpzaG91bGRNYWtlUmVz
b3VyY2VQdXJnZWFibGVPbkV2aWN0aW9uKCkKIH0KIAogLy8gRnVuY3Rpb24gdG8gb2J0YWluIHRo
ZSBnbG9iYWwgY2FjaGUuCi1NZW1vcnlDYWNoZSogY2FjaGUoKTsKK01lbW9yeUNhY2hlKiBtZW1v
cnlDYWNoZSgpOwogCiB9CiAKZGlmZiAtLWdpdCBhL1dlYktpdC9jaHJvbWl1bS9DaGFuZ2VMb2cg
Yi9XZWJLaXQvY2hyb21pdW0vQ2hhbmdlTG9nCmluZGV4IDgyNjdlN2M2Y2RmNDJjYTBkMzQ4MDc2
MDk0ZTljMjIwNmRiMjlhZjkuLjgwNGFkY2NjZTYwMjQwOTU4MTJmMDhkNjhlZThmMzRkNGU0NDlm
NjggMTAwNjQ0Ci0tLSBhL1dlYktpdC9jaHJvbWl1bS9DaGFuZ2VMb2cKKysrIGIvV2ViS2l0L2No
cm9taXVtL0NoYW5nZUxvZwpAQCAtMSwzICsxLDE2IEBACisyMDExLTAxLTE0ICBZdXpvIEZ1amlz
aGltYSAgPHl1em9AZ29vZ2xlLmNvbT4KKworICAgICAgICBSZXZpZXdlZCBieSBOT0JPRFkgKE9P
UFMhKS4KKworICAgICAgICBSZW5hbWUgY2FjaGUoKSB0byBtZW1vcnlDYWNoZSgpCisgICAgICAg
IGh0dHBzOi8vYnVncy53ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD01MjQzMworCisgICAgICAg
ICogc3JjL1dlYkNhY2hlLmNwcDoKKyAgICAgICAgKFdlYktpdDo6V2ViQ2FjaGU6OnNldENhcGFj
aXRpZXMpOgorICAgICAgICAoV2ViS2l0OjpXZWJDYWNoZTo6Y2xlYXIpOgorICAgICAgICAoV2Vi
S2l0OjpXZWJDYWNoZTo6Z2V0VXNhZ2VTdGF0cyk6CisgICAgICAgIChXZWJLaXQ6OldlYkNhY2hl
OjpnZXRSZXNvdXJjZVR5cGVTdGF0cyk6CisKIDIwMTEtMDEtMTMgIEpvaG4gQWJkLUVsLU1hbGVr
ICA8amFtQGNocm9taXVtLm9yZz4KIAogICAgICAgICBSZXZpZXdlZCBieSBNaWhhaSBQYXJwYXJp
dGEuCmRpZmYgLS1naXQgYS9XZWJLaXQvY2hyb21pdW0vc3JjL1dlYkNhY2hlLmNwcCBiL1dlYktp
dC9jaHJvbWl1bS9zcmMvV2ViQ2FjaGUuY3BwCmluZGV4IDIyMDM0OTg4Y2M4YmQ0ZjgzNTVkMWI4
ODhkNjM2OGY4NDE3NDg1ZDIuLjdkZjRjNjYwNmZmNjc3YTcyNzNiNzJlMjVhOWRjNzAxMDEwM2Q2
OTcgMTAwNjQ0Ci0tLSBhL1dlYktpdC9jaHJvbWl1bS9zcmMvV2ViQ2FjaGUuY3BwCisrKyBiL1dl
YktpdC9jaHJvbWl1bS9zcmMvV2ViQ2FjaGUuY3BwCkBAIC01Niw3ICs1Niw3IEBAIHN0YXRpYyB2
b2lkIFRvUmVzb3VyY2VUeXBlU3RhdChjb25zdCBNZW1vcnlDYWNoZTo6VHlwZVN0YXRpc3RpYyYg
ZnJvbSwKIHZvaWQgV2ViQ2FjaGU6OnNldENhcGFjaXRpZXMoCiAgICAgc2l6ZV90IG1pbkRlYWRD
YXBhY2l0eSwgc2l6ZV90IG1heERlYWRDYXBhY2l0eSwgc2l6ZV90IGNhcGFjaXR5KQogewotICAg
IE1lbW9yeUNhY2hlKiBjYWNoZSA9IFdlYkNvcmU6OmNhY2hlKCk7CisgICAgTWVtb3J5Q2FjaGUq
IGNhY2hlID0gV2ViQ29yZTo6bWVtb3J5Q2FjaGUoKTsKICAgICBpZiAoY2FjaGUpCiAgICAgICAg
IGNhY2hlLT5zZXRDYXBhY2l0aWVzKHN0YXRpY19jYXN0PHVuc2lnbmVkIGludD4obWluRGVhZENh
cGFjaXR5KSwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgc3RhdGljX2Nhc3Q8dW5zaWdu
ZWQgaW50PihtYXhEZWFkQ2FwYWNpdHkpLApAQCAtNjUsNyArNjUsNyBAQCB2b2lkIFdlYkNhY2hl
OjpzZXRDYXBhY2l0aWVzKAogCiB2b2lkIFdlYkNhY2hlOjpjbGVhcigpCiB7Ci0gICAgTWVtb3J5
Q2FjaGUqIGNhY2hlID0gV2ViQ29yZTo6Y2FjaGUoKTsKKyAgICBNZW1vcnlDYWNoZSogY2FjaGUg
PSBXZWJDb3JlOjptZW1vcnlDYWNoZSgpOwogICAgIGlmIChjYWNoZSAmJiAhY2FjaGUtPmRpc2Fi
bGVkKCkpIHsKICAgICAgICAgY2FjaGUtPnNldERpc2FibGVkKHRydWUpOwogICAgICAgICBjYWNo
ZS0+c2V0RGlzYWJsZWQoZmFsc2UpOwpAQCAtNzYsNyArNzYsNyBAQCB2b2lkIFdlYkNhY2hlOjpn
ZXRVc2FnZVN0YXRzKFVzYWdlU3RhdHMqIHJlc3VsdCkKIHsKICAgICBBU1NFUlQocmVzdWx0KTsK
IAotICAgIE1lbW9yeUNhY2hlKiBjYWNoZSA9IFdlYkNvcmU6OmNhY2hlKCk7CisgICAgTWVtb3J5
Q2FjaGUqIGNhY2hlID0gV2ViQ29yZTo6bWVtb3J5Q2FjaGUoKTsKICAgICBpZiAoY2FjaGUpIHsK
ICAgICAgICAgcmVzdWx0LT5taW5EZWFkQ2FwYWNpdHkgPSBjYWNoZS0+bV9taW5EZWFkQ2FwYWNp
dHk7CiAgICAgICAgIHJlc3VsdC0+bWF4RGVhZENhcGFjaXR5ID0gY2FjaGUtPm1fbWF4RGVhZENh
cGFjaXR5OwpAQCAtODksNyArODksNyBAQCB2b2lkIFdlYkNhY2hlOjpnZXRVc2FnZVN0YXRzKFVz
YWdlU3RhdHMqIHJlc3VsdCkKIAogdm9pZCBXZWJDYWNoZTo6Z2V0UmVzb3VyY2VUeXBlU3RhdHMo
UmVzb3VyY2VUeXBlU3RhdHMqIHJlc3VsdCkKIHsKLSAgICBNZW1vcnlDYWNoZSogY2FjaGUgPSBX
ZWJDb3JlOjpjYWNoZSgpOworICAgIE1lbW9yeUNhY2hlKiBjYWNoZSA9IFdlYkNvcmU6Om1lbW9y
eUNhY2hlKCk7CiAgICAgaWYgKGNhY2hlKSB7CiAgICAgICAgIE1lbW9yeUNhY2hlOjpTdGF0aXN0
aWNzIHN0YXRzID0gY2FjaGUtPmdldFN0YXRpc3RpY3MoKTsKICAgICAgICAgVG9SZXNvdXJjZVR5
cGVTdGF0KHN0YXRzLmltYWdlcywgcmVzdWx0LT5pbWFnZXMpOwpkaWZmIC0tZ2l0IGEvV2ViS2l0
L2d0ay9DaGFuZ2VMb2cgYi9XZWJLaXQvZ3RrL0NoYW5nZUxvZwppbmRleCBhNjUyOGI0ZGYyZjky
NDExZmE0MzhmZWJkYTQ5MTVkMWM1MmRlOTY2Li4xMzQ3ZGM4OTAyYjIwYzFkNjIwY2EzY2Y4MWJk
NDcxYjJiZDZmNWI3IDEwMDY0NAotLS0gYS9XZWJLaXQvZ3RrL0NoYW5nZUxvZworKysgYi9XZWJL
aXQvZ3RrL0NoYW5nZUxvZwpAQCAtMSwzICsxLDEzIEBACisyMDExLTAxLTE0ICBZdXpvIEZ1amlz
aGltYSAgPHl1em9AZ29vZ2xlLmNvbT4KKworICAgICAgICBSZXZpZXdlZCBieSBOT0JPRFkgKE9P
UFMhKS4KKworICAgICAgICBSZW5hbWUgY2FjaGUoKSB0byBtZW1vcnlDYWNoZSgpCisgICAgICAg
IGh0dHBzOi8vYnVncy53ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD01MjQzMworCisgICAgICAg
ICogd2Via2l0L3dlYmtpdGdsb2JhbHMuY3BwOgorICAgICAgICAod2Via2l0X3NldF9jYWNoZV9t
b2RlbCk6CisKIDIwMTEtMDEtMTMgIEFsZWphbmRybyBHLiBDYXN0cm8gIDxhbGV4QGlnYWxpYS5j
b20+CiAKICAgICAgICAgUmV2aWV3ZWQgYnkgTWFydGluIFJvYmluc29uLgpkaWZmIC0tZ2l0IGEv
V2ViS2l0L2d0ay93ZWJraXQvd2Via2l0Z2xvYmFscy5jcHAgYi9XZWJLaXQvZ3RrL3dlYmtpdC93
ZWJraXRnbG9iYWxzLmNwcAppbmRleCA2YjU3NTMzNTgyYzUwNTQ2MTIxYWY3MDVjNjBhNmQ2OTBh
ZTUzNTllLi5hOTdkNTNmNmI2ZjRiNzlhNTFjMjAxYjIwNDNlODA1MDA5MTc1YTIxIDEwMDY0NAot
LS0gYS9XZWJLaXQvZ3RrL3dlYmtpdC93ZWJraXRnbG9iYWxzLmNwcAorKysgYi9XZWJLaXQvZ3Rr
L3dlYmtpdC93ZWJraXRnbG9iYWxzLmNwcApAQCAtMTM4LDggKzEzOCw4IEBAIHZvaWQgd2Via2l0
X3NldF9jYWNoZV9tb2RlbChXZWJLaXRDYWNoZU1vZGVsIG1vZGVsKQogICAgICAgICBnX3JldHVy
bl9pZl9yZWFjaGVkKCk7CiAgICAgfQogCi0gICAgY2FjaGUoKS0+c2V0Q2FwYWNpdGllcyhjYWNo
ZU1pbkRlYWRDYXBhY2l0eSwgY2FjaGVNYXhEZWFkQ2FwYWNpdHksIGNhY2hlVG90YWxDYXBhY2l0
eSk7Ci0gICAgY2FjaGUoKS0+c2V0RGVhZERlY29kZWREYXRhRGVsZXRpb25JbnRlcnZhbChkZWFk
RGVjb2RlZERhdGFEZWxldGlvbkludGVydmFsKTsKKyAgICBtZW1vcnlDYWNoZSgpLT5zZXRDYXBh
Y2l0aWVzKGNhY2hlTWluRGVhZENhcGFjaXR5LCBjYWNoZU1heERlYWRDYXBhY2l0eSwgY2FjaGVU
b3RhbENhcGFjaXR5KTsKKyAgICBtZW1vcnlDYWNoZSgpLT5zZXREZWFkRGVjb2RlZERhdGFEZWxl
dGlvbkludGVydmFsKGRlYWREZWNvZGVkRGF0YURlbGV0aW9uSW50ZXJ2YWwpOwogICAgIHBhZ2VD
YWNoZSgpLT5zZXRDYXBhY2l0eShwYWdlQ2FjaGVDYXBhY2l0eSk7CiAgICAgY2FjaGVNb2RlbCA9
IG1vZGVsOwogfQpkaWZmIC0tZ2l0IGEvV2ViS2l0L21hYy9DaGFuZ2VMb2cgYi9XZWJLaXQvbWFj
L0NoYW5nZUxvZwppbmRleCA2OTM4NGUwMjI2YTEyODc0ZTUyNzk3ZTJmMDUyZjMzZDI2OGMzMGYy
Li4yNDg3MmVkOGE4MjU4NTUxNzVhZTQyYzNmMzFlZWJhZDJjYzc0YTc0IDEwMDY0NAotLS0gYS9X
ZWJLaXQvbWFjL0NoYW5nZUxvZworKysgYi9XZWJLaXQvbWFjL0NoYW5nZUxvZwpAQCAtMSwzICsx
LDE3IEBACisyMDExLTAxLTE0ICBZdXpvIEZ1amlzaGltYSAgPHl1em9AZ29vZ2xlLmNvbT4KKwor
ICAgICAgICBSZXZpZXdlZCBieSBOT0JPRFkgKE9PUFMhKS4KKworICAgICAgICBSZW5hbWUgY2Fj
aGUoKSB0byBtZW1vcnlDYWNoZSgpCisgICAgICAgIGh0dHBzOi8vYnVncy53ZWJraXQub3JnL3No
b3dfYnVnLmNnaT9pZD01MjQzMworCisgICAgICAgICogTWlzYy9XZWJDYWNoZS5tbToKKyAgICAg
ICAgKCtbV2ViQ2FjaGUgc3RhdGlzdGljc10pOgorICAgICAgICAoK1tXZWJDYWNoZSBzZXREaXNh
YmxlZDpdKToKKyAgICAgICAgKCtbV2ViQ2FjaGUgaXNEaXNhYmxlZF0pOgorICAgICAgICAqIFdl
YlZpZXcvV2ViVmlldy5tbToKKyAgICAgICAgKCtbV2ViVmlldyBfc2V0Q2FjaGVNb2RlbDpdKToK
KwogMjAxMS0wMS0xMiAgRW5yaWNhIENhc3VjY2kgIDxlbnJpY2FAYXBwbGUuY29tPgogCiAgICAg
ICAgIFJldmlld2VkIGJ5IERhcmluIEFkbGVyLgpkaWZmIC0tZ2l0IGEvV2ViS2l0L21hYy9NaXNj
L1dlYkNhY2hlLm1tIGIvV2ViS2l0L21hYy9NaXNjL1dlYkNhY2hlLm1tCmluZGV4IDA1MTdiYzRh
NDI5NDczYmRiMzE3OThiOTVkNjg4Y2ZjYjE2ZGQ1OGMuLjI4MzM2OTEwNDdkNWZjZWI5MzdkNmU0
MTZhMjQ0YjlmNThiYzVkMzQgMTAwNjQ0Ci0tLSBhL1dlYktpdC9tYWMvTWlzYy9XZWJDYWNoZS5t
bQorKysgYi9XZWJLaXQvbWFjL01pc2MvV2ViQ2FjaGUubW0KQEAgLTQzLDcgKzQzLDcgQEAKIAog
KyAoTlNBcnJheSAqKXN0YXRpc3RpY3MKIHsKLSAgICBXZWJDb3JlOjpNZW1vcnlDYWNoZTo6U3Rh
dGlzdGljcyBzID0gV2ViQ29yZTo6Y2FjaGUoKS0+Z2V0U3RhdGlzdGljcygpOworICAgIFdlYkNv
cmU6Ok1lbW9yeUNhY2hlOjpTdGF0aXN0aWNzIHMgPSBXZWJDb3JlOjptZW1vcnlDYWNoZSgpLT5n
ZXRTdGF0aXN0aWNzKCk7CiAKICAgICByZXR1cm4gW05TQXJyYXkgYXJyYXlXaXRoT2JqZWN0czoK
ICAgICAgICAgW05TRGljdGlvbmFyeSBkaWN0aW9uYXJ5V2l0aE9iamVjdHNBbmRLZXlzOgpAQCAt
MTMwLDEyICsxMzAsMTIgQEAKICAgICBpZiAoIXB0aHJlYWRfbWFpbl9ucCgpKQogICAgICAgICBy
ZXR1cm4gW1tzZWxmIF93ZWJraXRfaW52b2tlT25NYWluVGhyZWFkXSBzZXREaXNhYmxlZDpkaXNh
YmxlZF07CiAKLSAgICBXZWJDb3JlOjpjYWNoZSgpLT5zZXREaXNhYmxlZChkaXNhYmxlZCk7Cisg
ICAgV2ViQ29yZTo6bWVtb3J5Q2FjaGUoKS0+c2V0RGlzYWJsZWQoZGlzYWJsZWQpOwogfQogCiAr
IChCT09MKWlzRGlzYWJsZWQKIHsKLSAgICByZXR1cm4gV2ViQ29yZTo6Y2FjaGUoKS0+ZGlzYWJs
ZWQoKTsKKyAgICByZXR1cm4gV2ViQ29yZTo6bWVtb3J5Q2FjaGUoKS0+ZGlzYWJsZWQoKTsKIH0K
IAogQGVuZApkaWZmIC0tZ2l0IGEvV2ViS2l0L21hYy9XZWJWaWV3L1dlYlZpZXcubW0gYi9XZWJL
aXQvbWFjL1dlYlZpZXcvV2ViVmlldy5tbQppbmRleCA0OTU4MmI1NTZkYjRiNzJiOTg3OTYzZTZk
ZDA4N2FlNzg4ZjFhNzA3Li44MDliMjg2YjUwOTY1NGQzNWE0NmVkNjBiYTdhMWFmNGEyOGY5MjY0
IDEwMDY0NAotLS0gYS9XZWJLaXQvbWFjL1dlYlZpZXcvV2ViVmlldy5tbQorKysgYi9XZWJLaXQv
bWFjL1dlYlZpZXcvV2ViVmlldy5tbQpAQCAtNTU3MCw4ICs1NTcwLDggQEAgc3RhdGljIGlubGlu
ZSB1aW50NjRfdCByb3VuZFVwVG9Qb3dlck9mMih1aW50NjRfdCBudW0pCiAgICAgLy8gRG9uJ3Qg
c2hyaW5rIGEgYmlnIGRpc2sgY2FjaGUsIHNpbmNlIHRoYXQgd291bGQgY2F1c2UgY2h1cm4uCiAg
ICAgbnN1cmxDYWNoZURpc2tDYXBhY2l0eSA9IG1heChuc3VybENhY2hlRGlza0NhcGFjaXR5LCBb
bnN1cmxDYWNoZSBkaXNrQ2FwYWNpdHldKTsKIAotICAgIGNhY2hlKCktPnNldENhcGFjaXRpZXMo
Y2FjaGVNaW5EZWFkQ2FwYWNpdHksIGNhY2hlTWF4RGVhZENhcGFjaXR5LCBjYWNoZVRvdGFsQ2Fw
YWNpdHkpOwotICAgIGNhY2hlKCktPnNldERlYWREZWNvZGVkRGF0YURlbGV0aW9uSW50ZXJ2YWwo
ZGVhZERlY29kZWREYXRhRGVsZXRpb25JbnRlcnZhbCk7CisgICAgbWVtb3J5Q2FjaGUoKS0+c2V0
Q2FwYWNpdGllcyhjYWNoZU1pbkRlYWRDYXBhY2l0eSwgY2FjaGVNYXhEZWFkQ2FwYWNpdHksIGNh
Y2hlVG90YWxDYXBhY2l0eSk7CisgICAgbWVtb3J5Q2FjaGUoKS0+c2V0RGVhZERlY29kZWREYXRh
RGVsZXRpb25JbnRlcnZhbChkZWFkRGVjb2RlZERhdGFEZWxldGlvbkludGVydmFsKTsKICAgICBw
YWdlQ2FjaGUoKS0+c2V0Q2FwYWNpdHkocGFnZUNhY2hlQ2FwYWNpdHkpOwogICAgIFtuc3VybENh
Y2hlIHNldE1lbW9yeUNhcGFjaXR5Om5zdXJsQ2FjaGVNZW1vcnlDYXBhY2l0eV07CiAgICAgW25z
dXJsQ2FjaGUgc2V0RGlza0NhcGFjaXR5Om5zdXJsQ2FjaGVEaXNrQ2FwYWNpdHldOwpkaWZmIC0t
Z2l0IGEvV2ViS2l0L3F0L0FwaS9xd2VicGFnZS5jcHAgYi9XZWJLaXQvcXQvQXBpL3F3ZWJwYWdl
LmNwcAppbmRleCA2ODdjN2EzODAxYTIxNmJhZjQzNjkxNjAyZDRiYWRkZmNmMzRhZTM5Li5mY2Uy
ODMyNTEyMWEyNmQ3OGZiYWJiZmQ2ZmMzZWM0NzNkNjA5ZWQzIDEwMDY0NAotLS0gYS9XZWJLaXQv
cXQvQXBpL3F3ZWJwYWdlLmNwcAorKysgYi9XZWJLaXQvcXQvQXBpL3F3ZWJwYWdlLmNwcApAQCAt
NDk4LDcgKzQ5OCw3IEBAIHZvaWQgUVdlYlBhZ2VQcml2YXRlOjpfcV9jbGVhbnVwTGVha01lc3Nh
Z2VzKCkKIHsKICNpZm5kZWYgTkRFQlVHCiAgICAgLy8gTmVlZCB0aGlzIHRvIG1ha2UgbGVhayBt
ZXNzYWdlcyBhY2N1cmF0ZS4KLSAgICBjYWNoZSgpLT5zZXRDYXBhY2l0aWVzKDAsIDAsIDApOwor
ICAgIG1lbW9yeUNhY2hlKCktPnNldENhcGFjaXRpZXMoMCwgMCwgMCk7CiAjZW5kaWYKIH0KIApk
aWZmIC0tZ2l0IGEvV2ViS2l0L3F0L0FwaS9xd2Vic2V0dGluZ3MuY3BwIGIvV2ViS2l0L3F0L0Fw
aS9xd2Vic2V0dGluZ3MuY3BwCmluZGV4IDZjNTlkNzM0MTE5ODEwMDM1ODkwNDVlNGE1NWNmYzhh
ZDUzMDNmOTYuLjliYjE4N2VhNTJjMTdkNjkzNGVjZjVhYjliNDg4Yjk4NjdkODE1YzAgMTAwNjQ0
Ci0tLSBhL1dlYktpdC9xdC9BcGkvcXdlYnNldHRpbmdzLmNwcAorKysgYi9XZWJLaXQvcXQvQXBp
L3F3ZWJzZXR0aW5ncy5jcHAKQEAgLTc1Nyw5ICs3NTcsOSBAQCB2b2lkIFFXZWJTZXR0aW5nczo6
Y2xlYXJNZW1vcnlDYWNoZXMoKQogICAgIC8vIFR1cm4gdGhlIGNhY2hlIG9uIGFuZCBvZmYuICBE
aXNhYmxpbmcgdGhlIG9iamVjdCBjYWNoZSB3aWxsIHJlbW92ZSBhbGwKICAgICAvLyByZXNvdXJj
ZXMgZnJvbSB0aGUgY2FjaGUuICBUaGV5IG1heSBzdGlsbCBsaXZlIG9uIGlmIHRoZXkgYXJlIHJl
ZmVyZW5jZWQKICAgICAvLyBieSBzb21lIFdlYiBwYWdlIHRob3VnaC4KLSAgICBpZiAoIVdlYkNv
cmU6OmNhY2hlKCktPmRpc2FibGVkKCkpIHsKLSAgICAgICAgV2ViQ29yZTo6Y2FjaGUoKS0+c2V0
RGlzYWJsZWQodHJ1ZSk7Ci0gICAgICAgIFdlYkNvcmU6OmNhY2hlKCktPnNldERpc2FibGVkKGZh
bHNlKTsKKyAgICBpZiAoIVdlYkNvcmU6Om1lbW9yeUNhY2hlKCktPmRpc2FibGVkKCkpIHsKKyAg
ICAgICAgV2ViQ29yZTo6bWVtb3J5Q2FjaGUoKS0+c2V0RGlzYWJsZWQodHJ1ZSk7CisgICAgICAg
IFdlYkNvcmU6Om1lbW9yeUNhY2hlKCktPnNldERpc2FibGVkKGZhbHNlKTsKICAgICB9CiAKICAg
ICBpbnQgcGFnZUNhcGFjaXR5ID0gV2ViQ29yZTo6cGFnZUNhY2hlKCktPmNhcGFjaXR5KCk7CkBA
IC04MTksOSArODE5LDkgQEAgaW50IFFXZWJTZXR0aW5nczo6bWF4aW11bVBhZ2VzSW5DYWNoZSgp
CiB2b2lkIFFXZWJTZXR0aW5nczo6c2V0T2JqZWN0Q2FjaGVDYXBhY2l0aWVzKGludCBjYWNoZU1p
bkRlYWRDYXBhY2l0eSwgaW50IGNhY2hlTWF4RGVhZCwgaW50IHRvdGFsQ2FwYWNpdHkpCiB7CiAg
ICAgYm9vbCBkaXNhYmxlQ2FjaGUgPSAhY2FjaGVNaW5EZWFkQ2FwYWNpdHkgJiYgIWNhY2hlTWF4
RGVhZCAmJiAhdG90YWxDYXBhY2l0eTsKLSAgICBXZWJDb3JlOjpjYWNoZSgpLT5zZXREaXNhYmxl
ZChkaXNhYmxlQ2FjaGUpOworICAgIFdlYkNvcmU6Om1lbW9yeUNhY2hlKCktPnNldERpc2FibGVk
KGRpc2FibGVDYWNoZSk7CiAKLSAgICBXZWJDb3JlOjpjYWNoZSgpLT5zZXRDYXBhY2l0aWVzKHFN
YXgoMCwgY2FjaGVNaW5EZWFkQ2FwYWNpdHkpLAorICAgIFdlYkNvcmU6Om1lbW9yeUNhY2hlKCkt
PnNldENhcGFjaXRpZXMocU1heCgwLCBjYWNoZU1pbkRlYWRDYXBhY2l0eSksCiAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICBxTWF4KDAsIGNhY2hlTWF4RGVhZCksCiAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICBxTWF4KDAsIHRvdGFsQ2FwYWNpdHkpKTsKIH0K
ZGlmZiAtLWdpdCBhL1dlYktpdC9xdC9DaGFuZ2VMb2cgYi9XZWJLaXQvcXQvQ2hhbmdlTG9nCmlu
ZGV4IDQxNjk0NTllMGMxZDBiZjcxMDI3MjQwMGEyYzZjODEwMzU3ZWNmNjEuLjNjODMyZmQ5ZThl
MzRjNWM3NGVhMzFjOWU2NTNmOTJmNTc3MDViNmUgMTAwNjQ0Ci0tLSBhL1dlYktpdC9xdC9DaGFu
Z2VMb2cKKysrIGIvV2ViS2l0L3F0L0NoYW5nZUxvZwpAQCAtMSwzICsxLDE2IEBACisyMDExLTAx
LTE0ICBZdXpvIEZ1amlzaGltYSAgPHl1em9AZ29vZ2xlLmNvbT4KKworICAgICAgICBSZXZpZXdl
ZCBieSBOT0JPRFkgKE9PUFMhKS4KKworICAgICAgICBSZW5hbWUgY2FjaGUoKSB0byBtZW1vcnlD
YWNoZSgpCisgICAgICAgIGh0dHBzOi8vYnVncy53ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD01
MjQzMworCisgICAgICAgICogQXBpL3F3ZWJwYWdlLmNwcDoKKyAgICAgICAgKFFXZWJQYWdlUHJp
dmF0ZTo6X3FfY2xlYW51cExlYWtNZXNzYWdlcyk6CisgICAgICAgICogQXBpL3F3ZWJzZXR0aW5n
cy5jcHA6CisgICAgICAgIChRV2ViU2V0dGluZ3M6OmNsZWFyTWVtb3J5Q2FjaGVzKToKKyAgICAg
ICAgKFFXZWJTZXR0aW5nczo6c2V0T2JqZWN0Q2FjaGVDYXBhY2l0aWVzKToKKwogMjAxMS0wMS0x
MyAgVmlhdGNoZXNsYXYgT3N0YXBlbmtvICA8b3N0YXBlbmtvLnZpYXRjaGVzbGF2QG5va2lhLmNv
bT4KIAogICAgICAgICBSZXZpZXdlZCBieSBTaW1vbiBIYXVzbWFubi4KZGlmZiAtLWdpdCBhL1dl
YktpdC93aW4vQ2hhbmdlTG9nIGIvV2ViS2l0L3dpbi9DaGFuZ2VMb2cKaW5kZXggYzgwZjA5MTFj
MzU5NzlkZDBmMzUzYmQ4ZmUwMGNlNjU5YTE4NzY1ZC4uYzc2ODc1ZWJhYjExNGFhNDMzNDM0ODg1
NTMwZGZjMDI3ZDE3ZDk4NCAxMDA2NDQKLS0tIGEvV2ViS2l0L3dpbi9DaGFuZ2VMb2cKKysrIGIv
V2ViS2l0L3dpbi9DaGFuZ2VMb2cKQEAgLTEsMyArMSwxOCBAQAorMjAxMS0wMS0xNCAgWXV6byBG
dWppc2hpbWEgIDx5dXpvQGdvb2dsZS5jb20+CisKKyAgICAgICAgUmV2aWV3ZWQgYnkgTk9CT0RZ
IChPT1BTISkuCisKKyAgICAgICAgUmVuYW1lIGNhY2hlKCkgdG8gbWVtb3J5Q2FjaGUoKQorICAg
ICAgICBodHRwczovL2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NTI0MzMKKworICAg
ICAgICAqIFdlYkNhY2hlLmNwcDoKKyAgICAgICAgKFdlYkNhY2hlOjpzdGF0aXN0aWNzKToKKyAg
ICAgICAgKFdlYkNhY2hlOjplbXB0eSk6CisgICAgICAgIChXZWJDYWNoZTo6c2V0RGlzYWJsZWQp
OgorICAgICAgICAoV2ViQ2FjaGU6OmRpc2FibGVkKToKKyAgICAgICAgKiBXZWJWaWV3LmNwcDoK
KyAgICAgICAgKFdlYlZpZXc6OnNldENhY2hlTW9kZWwpOgorCiAyMDExLTAxLTEwICBHZW9mZnJl
eSBHYXJlbiAgPGdnYXJlbkBhcHBsZS5jb20+CiAKICAgICAgICAgVHJ5IHRvIGZpeCBXaW5kb3dz
IGJ1aWxkLgpkaWZmIC0tZ2l0IGEvV2ViS2l0L3dpbi9XZWJDYWNoZS5jcHAgYi9XZWJLaXQvd2lu
L1dlYkNhY2hlLmNwcAppbmRleCBkZmY1M2ZlZTgyY2E2ZjJlNjk3NzhiYTljYzlhNmIyNjAwMWIz
ZDRmLi5jN2QwZjMxZmIxMjQ0ZWY2MDUxYTA1NjE2NjNlZjYwNjJmM2UwNTUxIDEwMDY0NAotLS0g
YS9XZWJLaXQvd2luL1dlYkNhY2hlLmNwcAorKysgYi9XZWJLaXQvd2luL1dlYkNhY2hlLmNwcApA
QCAtMTAwLDcgKzEwMCw3IEBAIEhSRVNVTFQgU1RETUVUSE9EQ0FMTFRZUEUgV2ViQ2FjaGU6OnN0
YXRpc3RpY3MoCiAgICAgaWYgKCFzKQogICAgICAgICByZXR1cm4gU19PSzsKIAotICAgIFdlYkNv
cmU6Ok1lbW9yeUNhY2hlOjpTdGF0aXN0aWNzIHN0YXQgPSBXZWJDb3JlOjpjYWNoZSgpLT5nZXRT
dGF0aXN0aWNzKCk7CisgICAgV2ViQ29yZTo6TWVtb3J5Q2FjaGU6OlN0YXRpc3RpY3Mgc3RhdCA9
IFdlYkNvcmU6Om1lbW9yeUNhY2hlKCktPmdldFN0YXRpc3RpY3MoKTsKIAogICAgIHN0YXRpYyBD
RlN0cmluZ1JlZiBpbWFnZXNLZXkgPSBDRlNUUigiaW1hZ2VzIik7CiAgICAgc3RhdGljIENGU3Ry
aW5nUmVmIHN0eWxlc2hlZXRzS2V5ID0gQ0ZTVFIoInN0eWxlIHNoZWV0cyIpOwpAQCAtMjA0LDEw
ICsyMDQsMTAgQEAgSFJFU1VMVCBTVERNRVRIT0RDQUxMVFlQRSBXZWJDYWNoZTo6c3RhdGlzdGlj
cygKIAogSFJFU1VMVCBTVERNRVRIT0RDQUxMVFlQRSBXZWJDYWNoZTo6ZW1wdHkoIHZvaWQpCiB7
Ci0gICAgaWYgKFdlYkNvcmU6OmNhY2hlKCktPmRpc2FibGVkKCkpCisgICAgaWYgKFdlYkNvcmU6
Om1lbW9yeUNhY2hlKCktPmRpc2FibGVkKCkpCiAgICAgICAgIHJldHVybiBTX09LOwotICAgIFdl
YkNvcmU6OmNhY2hlKCktPnNldERpc2FibGVkKHRydWUpOwotICAgIFdlYkNvcmU6OmNhY2hlKCkt
PnNldERpc2FibGVkKGZhbHNlKTsKKyAgICBXZWJDb3JlOjptZW1vcnlDYWNoZSgpLT5zZXREaXNh
YmxlZCh0cnVlKTsKKyAgICBXZWJDb3JlOjptZW1vcnlDYWNoZSgpLT5zZXREaXNhYmxlZChmYWxz
ZSk7CiAKICAgICAvLyBFbXB0eSB0aGUgYXBwbGljYXRpb24gY2FjaGUuCiAgICAgV2ViQ29yZTo6
Y2FjaGVTdG9yYWdlKCkuZW1wdHkoKTsKQEAgLTIyMSw3ICsyMjEsNyBAQCBIUkVTVUxUIFNURE1F
VEhPRENBTExUWVBFIFdlYkNhY2hlOjplbXB0eSggdm9pZCkKIEhSRVNVTFQgU1RETUVUSE9EQ0FM
TFRZUEUgV2ViQ2FjaGU6OnNldERpc2FibGVkKCAKICAgICAvKiBbaW5dICovIEJPT0wgZGlzYWJs
ZWQpCiB7Ci0gICAgV2ViQ29yZTo6Y2FjaGUoKS0+c2V0RGlzYWJsZWQoISFkaXNhYmxlZCk7Cisg
ICAgV2ViQ29yZTo6bWVtb3J5Q2FjaGUoKS0+c2V0RGlzYWJsZWQoISFkaXNhYmxlZCk7CiAgICAg
cmV0dXJuIFNfT0s7CiB9CiAKQEAgLTIzMCw2ICsyMzAsNiBAQCBIUkVTVUxUIFNURE1FVEhPRENB
TExUWVBFIFdlYkNhY2hlOjpkaXNhYmxlZCgKIHsKICAgICBpZiAoIWRpc2FibGVkKQogICAgICAg
ICByZXR1cm4gRV9QT0lOVEVSOwotICAgICpkaXNhYmxlZCA9IFdlYkNvcmU6OmNhY2hlKCktPmRp
c2FibGVkKCk7CisgICAgKmRpc2FibGVkID0gV2ViQ29yZTo6bWVtb3J5Q2FjaGUoKS0+ZGlzYWJs
ZWQoKTsKICAgICByZXR1cm4gU19PSzsKIH0KZGlmZiAtLWdpdCBhL1dlYktpdC93aW4vV2ViVmll
dy5jcHAgYi9XZWJLaXQvd2luL1dlYlZpZXcuY3BwCmluZGV4IGYwZDUwNGVmOWNiNDlkMTA1ZWRl
MGEzMTg0M2M5NmRhNDlkYTA2M2YuLjBhYWY2YzI5MGFiNjBlMzJmZmZjOGZkM2ZhYTY1OTg4NzUz
M2Q2MzYgMTAwNjQ0Ci0tLSBhL1dlYktpdC93aW4vV2ViVmlldy5jcHAKKysrIGIvV2ViS2l0L3dp
bi9XZWJWaWV3LmNwcApAQCAtNTk1LDggKzU5NSw4IEBAIHZvaWQgV2ViVmlldzo6c2V0Q2FjaGVN
b2RlbChXZWJDYWNoZU1vZGVsIGNhY2hlTW9kZWwpCiAgICAgLy8gRG9uJ3Qgc2hyaW5rIGEgYmln
IGRpc2sgY2FjaGUsIHNpbmNlIHRoYXQgd291bGQgY2F1c2UgY2h1cm4uCiAgICAgY2Z1cmxDYWNo
ZURpc2tDYXBhY2l0eSA9IG1heChjZnVybENhY2hlRGlza0NhcGFjaXR5LCBDRlVSTENhY2hlRGlz
a0NhcGFjaXR5KGNmdXJsQ2FjaGUuZ2V0KCkpKTsKIAotICAgIGNhY2hlKCktPnNldENhcGFjaXRp
ZXMoY2FjaGVNaW5EZWFkQ2FwYWNpdHksIGNhY2hlTWF4RGVhZENhcGFjaXR5LCBjYWNoZVRvdGFs
Q2FwYWNpdHkpOwotICAgIGNhY2hlKCktPnNldERlYWREZWNvZGVkRGF0YURlbGV0aW9uSW50ZXJ2
YWwoZGVhZERlY29kZWREYXRhRGVsZXRpb25JbnRlcnZhbCk7CisgICAgbWVtb3J5Q2FjaGUoKS0+
c2V0Q2FwYWNpdGllcyhjYWNoZU1pbkRlYWRDYXBhY2l0eSwgY2FjaGVNYXhEZWFkQ2FwYWNpdHks
IGNhY2hlVG90YWxDYXBhY2l0eSk7CisgICAgbWVtb3J5Q2FjaGUoKS0+c2V0RGVhZERlY29kZWRE
YXRhRGVsZXRpb25JbnRlcnZhbChkZWFkRGVjb2RlZERhdGFEZWxldGlvbkludGVydmFsKTsKICAg
ICBwYWdlQ2FjaGUoKS0+c2V0Q2FwYWNpdHkocGFnZUNhY2hlQ2FwYWNpdHkpOwogCiAgICAgQ0ZV
UkxDYWNoZVNldE1lbW9yeUNhcGFjaXR5KGNmdXJsQ2FjaGUuZ2V0KCksIGNmdXJsQ2FjaGVNZW1v
cnlDYXBhY2l0eSk7CmRpZmYgLS1naXQgYS9XZWJLaXQvd3gvQ2hhbmdlTG9nIGIvV2ViS2l0L3d4
L0NoYW5nZUxvZwppbmRleCBlMTc1YjkyNjQ5YTllZTE3NWVlZGQxYWI0OGQyZGU3ZDUzNDI3ZTNl
Li45OWM2YjVjYWI5MDAxMGM0YjZkODMxZDYwNjcyNzdlMDc1NDdiNGQ3IDEwMDY0NAotLS0gYS9X
ZWJLaXQvd3gvQ2hhbmdlTG9nCisrKyBiL1dlYktpdC93eC9DaGFuZ2VMb2cKQEAgLTEsMyArMSwx
MyBAQAorMjAxMS0wMS0xNCAgWXV6byBGdWppc2hpbWEgIDx5dXpvQGdvb2dsZS5jb20+CisKKyAg
ICAgICAgUmV2aWV3ZWQgYnkgTk9CT0RZIChPT1BTISkuCisKKyAgICAgICAgUmVuYW1lIGNhY2hl
KCkgdG8gbWVtb3J5Q2FjaGUoKQorICAgICAgICBodHRwczovL2J1Z3Mud2Via2l0Lm9yZy9zaG93
X2J1Zy5jZ2k/aWQ9NTI0MzMKKworICAgICAgICAqIFdlYlZpZXcuY3BwOgorICAgICAgICAod3hX
ZWJWaWV3OjpTZXRDYWNoZVBvbGljeSk6CisKIDIwMTEtMDEtMDkgIFhpYW56aHUgV2FuZyA8cGhu
aXh3eHpAZ21haWwuY29tPgogCiAgICAgICAgIFJldmlld2VkIGJ5IERhcmluIEZpc2hlci4KZGlm
ZiAtLWdpdCBhL1dlYktpdC93eC9XZWJWaWV3LmNwcCBiL1dlYktpdC93eC9XZWJWaWV3LmNwcApp
bmRleCA2NjdhYTg4NzUzNjAzY2ZhNDdkZWNjYzNmMzZlMDUwMjI1NjY0NzM3Li4wZGYzODc5ZmQy
ZjdlMzBhNzZjZWFjMTlkMDUwMGYxM2IxYzkzZGE5IDEwMDY0NAotLS0gYS9XZWJLaXQvd3gvV2Vi
Vmlldy5jcHAKKysrIGIvV2ViS2l0L3d4L1dlYlZpZXcuY3BwCkBAIC0yNzAsNyArMjcwLDcgQEAg
c3RhdGljIHd4V2ViVmlld0NhY2hlUG9saWN5IGdzX2NhY2hlUG9saWN5OwogLyogc3RhdGljICov
CiB2b2lkIHd4V2ViVmlldzo6U2V0Q2FjaGVQb2xpY3koY29uc3Qgd3hXZWJWaWV3Q2FjaGVQb2xp
Y3kmIGNhY2hlUG9saWN5KQogewotICAgIFdlYkNvcmU6Ok1lbW9yeUNhY2hlKiBnbG9iYWxDYWNo
ZSA9IFdlYkNvcmU6OmNhY2hlKCk7CisgICAgV2ViQ29yZTo6TWVtb3J5Q2FjaGUqIGdsb2JhbENh
Y2hlID0gV2ViQ29yZTo6bWVtb3J5Q2FjaGUoKTsKICAgICBnbG9iYWxDYWNoZS0+c2V0Q2FwYWNp
dGllcyhjYWNoZVBvbGljeS5HZXRNaW5EZWFkQ2FwYWNpdHkoKSwKICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICBjYWNoZVBvbGljeS5HZXRNYXhEZWFkQ2FwYWNpdHkoKSwKICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICBjYWNoZVBvbGljeS5HZXRDYXBhY2l0eSgpKTsKZGlmZiAt
LWdpdCBhL1dlYktpdDIvQ2hhbmdlTG9nIGIvV2ViS2l0Mi9DaGFuZ2VMb2cKaW5kZXggMDZkYWNj
Yjk5N2U0MmM3MjY1OTAwY2FiODU3NDg3ZmMxNWRjM2FlMy4uN2RiNmFjODIwNjRhNDMzYjljYjNm
YmFhMjI0MjEwMWMxMTYyNWQ0ZCAxMDA2NDQKLS0tIGEvV2ViS2l0Mi9DaGFuZ2VMb2cKKysrIGIv
V2ViS2l0Mi9DaGFuZ2VMb2cKQEAgLTEsMyArMSwxOCBAQAorMjAxMS0wMS0xNCAgWXV6byBGdWpp
c2hpbWEgIDx5dXpvQGdvb2dsZS5jb20+CisKKyAgICAgICAgUmV2aWV3ZWQgYnkgTk9CT0RZIChP
T1BTISkuCisKKyAgICAgICAgUmVuYW1lIGNhY2hlKCkgdG8gbWVtb3J5Q2FjaGUoKQorICAgICAg
ICBodHRwczovL2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NTI0MzMKKworICAgICAg
ICAqIFdlYlByb2Nlc3MvV2ViUHJvY2Vzcy5jcHA6CisgICAgICAgIChXZWJLaXQ6OldlYlByb2Nl
c3M6OnNodXRkb3duSWZQb3NzaWJsZSk6CisgICAgICAgIChXZWJLaXQ6OldlYlByb2Nlc3M6OmRp
ZENsb3NlKToKKyAgICAgICAgKiBXZWJQcm9jZXNzL21hYy9XZWJQcm9jZXNzTWFjLm1tOgorICAg
ICAgICAoV2ViS2l0OjpXZWJQcm9jZXNzOjpwbGF0Zm9ybVNldENhY2hlTW9kZWwpOgorICAgICAg
ICAqIFdlYlByb2Nlc3Mvd2luL1dlYlByb2Nlc3NXaW4uY3BwOgorICAgICAgICAoV2ViS2l0OjpX
ZWJQcm9jZXNzOjpwbGF0Zm9ybVNldENhY2hlTW9kZWwpOgorCiAyMDExLTAxLTEzICBFbnJpY2Eg
Q2FzdWNjaSAgPGVucmljYUBhcHBsZS5jb20+CiAKICAgICAgICAgUmV2aWV3ZWQgYnkgRGFyaW4g
QWRsZXIuCmRpZmYgLS1naXQgYS9XZWJLaXQyL1dlYlByb2Nlc3MvV2ViUHJvY2Vzcy5jcHAgYi9X
ZWJLaXQyL1dlYlByb2Nlc3MvV2ViUHJvY2Vzcy5jcHAKaW5kZXggNGY1NzJlMzQ0NDViYzgwM2Zj
YzA3NDdhZDgzYjNlNzY1ZjcyN2RkZi4uNDdmNDEyNTY0ODliOTQ2NTRkODA4NmM4NmE5ZGMzOWMz
NDZlZTEzYSAxMDA2NDQKLS0tIGEvV2ViS2l0Mi9XZWJQcm9jZXNzL1dlYlByb2Nlc3MuY3BwCisr
KyBiL1dlYktpdDIvV2ViUHJvY2Vzcy9XZWJQcm9jZXNzLmNwcApAQCAtNDY5LDcgKzQ2OSw3IEBA
IHZvaWQgV2ViUHJvY2Vzczo6c2h1dGRvd25JZlBvc3NpYmxlKCkKIAogI2lmbmRlZiBOREVCVUcK
ICAgICBnY0NvbnRyb2xsZXIoKS5nYXJiYWdlQ29sbGVjdE5vdygpOwotICAgIGNhY2hlKCktPnNl
dERpc2FibGVkKHRydWUpOworICAgIG1lbW9yeUNhY2hlKCktPnNldERpc2FibGVkKHRydWUpOwog
I2VuZGlmCiAKICAgICAvLyBJbnZhbGlkYXRlIG91ciBjb25uZWN0aW9uLgpAQCAtNTUxLDcgKzU1
MSw3IEBAIHZvaWQgV2ViUHJvY2Vzczo6ZGlkQ2xvc2UoQ29yZUlQQzo6Q29ubmVjdGlvbiopCiAg
ICAgcGFnZXMuY2xlYXIoKTsKIAogICAgIGdjQ29udHJvbGxlcigpLmdhcmJhZ2VDb2xsZWN0Tm93
KCk7Ci0gICAgY2FjaGUoKS0+c2V0RGlzYWJsZWQodHJ1ZSk7CisgICAgbWVtb3J5Q2FjaGUoKS0+
c2V0RGlzYWJsZWQodHJ1ZSk7CiAjZW5kaWYgICAgCiAKICAgICAvLyBUaGUgVUkgcHJvY2VzcyBj
bG9zZWQgdGhpcyBjb25uZWN0aW9uLCBzaHV0IGRvd24uCmRpZmYgLS1naXQgYS9XZWJLaXQyL1dl
YlByb2Nlc3MvbWFjL1dlYlByb2Nlc3NNYWMubW0gYi9XZWJLaXQyL1dlYlByb2Nlc3MvbWFjL1dl
YlByb2Nlc3NNYWMubW0KaW5kZXggYTA0OWEzOTJlOGFiMjZhYmI1NDY2ZmY5ZWM3NzIyZWIzZDAy
YjU3Yy4uZjI0YTE4ZDU2NjRkYWNjMDA2NDY4ZjQ1YmFlY2E0Yjg4Zjg2ZmQ0NSAxMDA2NDQKLS0t
IGEvV2ViS2l0Mi9XZWJQcm9jZXNzL21hYy9XZWJQcm9jZXNzTWFjLm1tCisrKyBiL1dlYktpdDIv
V2ViUHJvY2Vzcy9tYWMvV2ViUHJvY2Vzc01hYy5tbQpAQCAtODksOCArODksOCBAQCB2b2lkIFdl
YlByb2Nlc3M6OnBsYXRmb3JtU2V0Q2FjaGVNb2RlbChDYWNoZU1vZGVsIGNhY2hlTW9kZWwpCiAg
ICAgICAgIHBhZ2VDYWNoZUNhcGFjaXR5LCB1cmxDYWNoZU1lbW9yeUNhcGFjaXR5LCB1cmxDYWNo
ZURpc2tDYXBhY2l0eSk7CiAKIAotICAgIGNhY2hlKCktPnNldENhcGFjaXRpZXMoY2FjaGVNaW5E
ZWFkQ2FwYWNpdHksIGNhY2hlTWF4RGVhZENhcGFjaXR5LCBjYWNoZVRvdGFsQ2FwYWNpdHkpOwot
ICAgIGNhY2hlKCktPnNldERlYWREZWNvZGVkRGF0YURlbGV0aW9uSW50ZXJ2YWwoZGVhZERlY29k
ZWREYXRhRGVsZXRpb25JbnRlcnZhbCk7CisgICAgbWVtb3J5Q2FjaGUoKS0+c2V0Q2FwYWNpdGll
cyhjYWNoZU1pbkRlYWRDYXBhY2l0eSwgY2FjaGVNYXhEZWFkQ2FwYWNpdHksIGNhY2hlVG90YWxD
YXBhY2l0eSk7CisgICAgbWVtb3J5Q2FjaGUoKS0+c2V0RGVhZERlY29kZWREYXRhRGVsZXRpb25J
bnRlcnZhbChkZWFkRGVjb2RlZERhdGFEZWxldGlvbkludGVydmFsKTsKICAgICBwYWdlQ2FjaGUo
KS0+c2V0Q2FwYWNpdHkocGFnZUNhY2hlQ2FwYWNpdHkpOwogCiAgICAgTlNVUkxDYWNoZSAqbnN1
cmxDYWNoZSA9IFtOU1VSTENhY2hlIHNoYXJlZFVSTENhY2hlXTsKZGlmZiAtLWdpdCBhL1dlYktp
dDIvV2ViUHJvY2Vzcy93aW4vV2ViUHJvY2Vzc1dpbi5jcHAgYi9XZWJLaXQyL1dlYlByb2Nlc3Mv
d2luL1dlYlByb2Nlc3NXaW4uY3BwCmluZGV4IDc4MGFmMGIzYjVmZjM2ODQxNTg4MDQ3OWQwYjM2
YWU2NmExZDdjZjQuLjdmNTNjZDM5OWUzOTU3Mzc4YTI1MWIwMjU5YTY3YWFlMGVhMjM3ZTkgMTAw
NjQ0Ci0tLSBhL1dlYktpdDIvV2ViUHJvY2Vzcy93aW4vV2ViUHJvY2Vzc1dpbi5jcHAKKysrIGIv
V2ViS2l0Mi9XZWJQcm9jZXNzL3dpbi9XZWJQcm9jZXNzV2luLmNwcApAQCAtODcsOCArODcsOCBA
QCB2b2lkIFdlYlByb2Nlc3M6OnBsYXRmb3JtU2V0Q2FjaGVNb2RlbChDYWNoZU1vZGVsIGNhY2hl
TW9kZWwpCiAgICAgICAgIGNhY2hlVG90YWxDYXBhY2l0eSwgY2FjaGVNaW5EZWFkQ2FwYWNpdHks
IGNhY2hlTWF4RGVhZENhcGFjaXR5LCBkZWFkRGVjb2RlZERhdGFEZWxldGlvbkludGVydmFsLAog
ICAgICAgICBwYWdlQ2FjaGVDYXBhY2l0eSwgdXJsQ2FjaGVNZW1vcnlDYXBhY2l0eSwgdXJsQ2Fj
aGVEaXNrQ2FwYWNpdHkpOwogCi0gICAgY2FjaGUoKS0+c2V0Q2FwYWNpdGllcyhjYWNoZU1pbkRl
YWRDYXBhY2l0eSwgY2FjaGVNYXhEZWFkQ2FwYWNpdHksIGNhY2hlVG90YWxDYXBhY2l0eSk7Ci0g
ICAgY2FjaGUoKS0+c2V0RGVhZERlY29kZWREYXRhRGVsZXRpb25JbnRlcnZhbChkZWFkRGVjb2Rl
ZERhdGFEZWxldGlvbkludGVydmFsKTsKKyAgICBtZW1vcnlDYWNoZSgpLT5zZXRDYXBhY2l0aWVz
KGNhY2hlTWluRGVhZENhcGFjaXR5LCBjYWNoZU1heERlYWRDYXBhY2l0eSwgY2FjaGVUb3RhbENh
cGFjaXR5KTsKKyAgICBtZW1vcnlDYWNoZSgpLT5zZXREZWFkRGVjb2RlZERhdGFEZWxldGlvbklu
dGVydmFsKGRlYWREZWNvZGVkRGF0YURlbGV0aW9uSW50ZXJ2YWwpOwogICAgIHBhZ2VDYWNoZSgp
LT5zZXRDYXBhY2l0eShwYWdlQ2FjaGVDYXBhY2l0eSk7CiAKICAgICBSZXRhaW5QdHI8Q0ZVUkxD
YWNoZVJlZj4gY2Z1cmxDYWNoZShBZG9wdENGLCBDRlVSTENhY2hlQ29weVNoYXJlZFVSTENhY2hl
KCkpOwo=
</data>

          </attachment>
      

    </bug>

</bugzilla>