<?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>45219</bug_id>
          
          <creation_ts>2010-09-03 17:59:48 -0700</creation_ts>
          <short_desc>Make SecurityOrigin::canDisplay an instance function</short_desc>
          <delta_ts>2010-09-11 19:28:41 -0700</delta_ts>
          <reporter_accessible>1</reporter_accessible>
          <cclist_accessible>1</cclist_accessible>
          <classification_id>1</classification_id>
          <classification>Unclassified</classification>
          <product>WebKit</product>
          <component>New Bugs</component>
          <version>528+ (Nightly build)</version>
          <rep_platform>Other</rep_platform>
          <op_sys>OS X 10.5</op_sys>
          <bug_status>RESOLVED</bug_status>
          <resolution>FIXED</resolution>
          
          
          <bug_file_loc></bug_file_loc>
          <status_whiteboard></status_whiteboard>
          <keywords></keywords>
          <priority>P2</priority>
          <bug_severity>Normal</bug_severity>
          <target_milestone>---</target_milestone>
          
          
          <everconfirmed>1</everconfirmed>
          <reporter name="Adam Barth">abarth</reporter>
          <assigned_to name="Adam Barth">abarth</assigned_to>
          <cc>commit-queue</cc>
    
    <cc>eric</cc>
    
    <cc>sam</cc>
          

      

      

      

          <comment_sort_order>oldest_to_newest</comment_sort_order>  
          <long_desc isprivate="0" >
    <commentid>274300</commentid>
    <comment_count>0</comment_count>
    <who name="Adam Barth">abarth</who>
    <bug_when>2010-09-03 17:59:48 -0700</bug_when>
    <thetext>Make SecurityOrigin::canDisplay an instance function</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>274303</commentid>
    <comment_count>1</comment_count>
      <attachid>66575</attachid>
    <who name="Adam Barth">abarth</who>
    <bug_when>2010-09-03 18:03:22 -0700</bug_when>
    <thetext>Created attachment 66575
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>277664</commentid>
    <comment_count>2</comment_count>
      <attachid>66575</attachid>
    <who name="Adam Barth">abarth</who>
    <bug_when>2010-09-10 23:09:57 -0700</bug_when>
    <thetext>Comment on attachment 66575
Patch

Thanks for the review.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>277677</commentid>
    <comment_count>3</comment_count>
      <attachid>66575</attachid>
    <who name="WebKit Commit Bot">commit-queue</who>
    <bug_when>2010-09-10 23:42:59 -0700</bug_when>
    <thetext>Comment on attachment 66575
Patch

Rejecting patch 66575 from commit-queue.

Failed to run &quot;[u&apos;/Users/eseidel/Projects/CommitQueue/WebKitTools/Scripts/svn-apply&apos;, u&apos;--reviewer&apos;, u&apos;Sam Weinig&apos;, u&apos;--force&apos;]&quot; exit_code: 1
Last 500 characters of output:
ginStream.mm
patching file WebKit/mac/Plugins/WebNetscapePluginView.mm
patching file WebKit/mac/Plugins/WebPluginContainerCheck.mm
patching file WebKit/mac/WebView/WebFrame.mm
Hunk #1 succeeded at 1265 (offset -17 lines).
patching file WebKit/win/ChangeLog
Hunk #1 succeeded at 1 with fuzz 3.
patching file WebKit/win/WebFrame.cpp
Hunk #1 succeeded at 1345 (offset -7 lines).
patching file WebKit2/ChangeLog
Hunk #1 succeeded at 1 with fuzz 3.
patching file WebKit2/WebProcess/Plugins/PluginView.cpp

Full output: http://queues.webkit.org/results/3906390</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>277801</commentid>
    <comment_count>4</comment_count>
      <attachid>67320</attachid>
    <who name="Adam Barth">abarth</who>
    <bug_when>2010-09-11 17:54:56 -0700</bug_when>
    <thetext>Created attachment 67320
Patch for landing</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>277830</commentid>
    <comment_count>5</comment_count>
      <attachid>67320</attachid>
    <who name="WebKit Commit Bot">commit-queue</who>
    <bug_when>2010-09-11 19:28:36 -0700</bug_when>
    <thetext>Comment on attachment 67320
Patch for landing

Clearing flags on attachment: 67320

Committed r67316: &lt;http://trac.webkit.org/changeset/67316&gt;</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>277831</commentid>
    <comment_count>6</comment_count>
    <who name="WebKit Commit Bot">commit-queue</who>
    <bug_when>2010-09-11 19:28:41 -0700</bug_when>
    <thetext>All reviewed patches have been landed.  Closing bug.</thetext>
  </long_desc>
      
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>66575</attachid>
            <date>2010-09-03 18:03:22 -0700</date>
            <delta_ts>2010-09-11 17:54:48 -0700</delta_ts>
            <desc>Patch</desc>
            <filename>bug-45219-20100903180321.patch</filename>
            <type>text/plain</type>
            <size>21600</size>
            <attacher name="Adam Barth">abarth</attacher>
            
              <data encoding="base64">ZGlmZiAtLWdpdCBhL1dlYkNvcmUvQ2hhbmdlTG9nIGIvV2ViQ29yZS9DaGFuZ2VMb2cKaW5kZXgg
ZmIyMjI1ODQwM2NiMTI3N2Q5OGIwOWU3MmExMTUxYzg4N2U0OGU5MC4uNzUzY2RkYjdkMWQyMGMy
YjM2YWFiNTJkMGQ5ZmJjOWFkZjUzMDVkNSAxMDA2NDQKLS0tIGEvV2ViQ29yZS9DaGFuZ2VMb2cK
KysrIGIvV2ViQ29yZS9DaGFuZ2VMb2cKQEAgLTIsNiArMiw0MSBAQAogCiAgICAgICAgIFJldmll
d2VkIGJ5IE5PQk9EWSAoT09QUyEpLgogCisgICAgICAgIE1ha2UgU2VjdXJpdHlPcmlnaW46OmNh
bkRpc3BsYXkgYW4gaW5zdGFuY2UgZnVuY3Rpb24KKyAgICAgICAgaHR0cHM6Ly9idWdzLndlYmtp
dC5vcmcvc2hvd19idWcuY2dpP2lkPTQ1MjE5CisKKyAgICAgICAgVGhpcyBmdW5jdGlvbiB3YXMg
c2VjcmV0bHkgYW4gaW5zdGFuY2UgZnVuY3Rpb24gYmVjYXVzZSBjYWxsZXJzIG5lZWRlZAorICAg
ICAgICB0byBwYXNzIGluIGEgZG9jdW1lbnQgKHdoaWNoIG93bnMgYSBTZWN1cml0eU9yaWdpbiku
ICBPbmx5IHRoZQorICAgICAgICBGcmFtZUxvYWRlciBhY3R1YWxseSBuZWVkcyB0aGUgbWV0aG9k
IHRvIGJlIHN0YXRpYy4KKworICAgICAgICAqIFdlYkNvcmUuZXhwLmluOgorICAgICAgICAqIGh0
bWwvSFRNTE1lZGlhRWxlbWVudC5jcHA6CisgICAgICAgIChXZWJDb3JlOjpIVE1MTWVkaWFFbGVt
ZW50Ojppc1NhZmVUb0xvYWRVUkwpOgorICAgICAgICAqIGxvYWRlci9DYWNoZS5jcHA6CisgICAg
ICAgIChXZWJDb3JlOjpDYWNoZTo6cmVxdWVzdFJlc291cmNlKToKKyAgICAgICAgICAgIC0gTm90
aWNlIHRoYXQgRG9jTG9hZGVyOjpkb2MoKSBjYW4gbmV2ZXIgYmUgMC4KKyAgICAgICAgKiBsb2Fk
ZXIvRnJhbWVMb2FkZXIuY3BwOgorICAgICAgICAoV2ViQ29yZTo6RnJhbWVMb2FkZXI6OmxvYWRG
cmFtZVJlcXVlc3QpOgorICAgICAgICAqIGxvYWRlci9QaW5nTG9hZGVyLmNwcDoKKyAgICAgICAg
KFdlYkNvcmU6OlBpbmdMb2FkZXI6OmxvYWRJbWFnZSk6CisgICAgICAgICogbG9hZGVyL1N1YmZy
YW1lTG9hZGVyLmNwcDoKKyAgICAgICAgKFdlYkNvcmU6OlN1YmZyYW1lTG9hZGVyOjpsb2FkTWVk
aWFQbGF5ZXJQcm94eVBsdWdpbik6CisgICAgICAgIChXZWJDb3JlOjpTdWJmcmFtZUxvYWRlcjo6
Y3JlYXRlSmF2YUFwcGxldFdpZGdldCk6CisgICAgICAgIChXZWJDb3JlOjpTdWJmcmFtZUxvYWRl
cjo6bG9hZFN1YmZyYW1lKToKKyAgICAgICAgKFdlYkNvcmU6OlN1YmZyYW1lTG9hZGVyOjpsb2Fk
UGx1Z2luKToKKyAgICAgICAgKiBsb2FkZXIvU3VicmVzb3VyY2VMb2FkZXIuY3BwOgorICAgICAg
ICAoV2ViQ29yZTo6U3VicmVzb3VyY2VMb2FkZXI6OmNyZWF0ZSk6CisgICAgICAgICogcGFnZS9T
ZWN1cml0eU9yaWdpbi5jcHA6CisgICAgICAgIChXZWJDb3JlOjpTZWN1cml0eU9yaWdpbjo6Y2Fu
RGlzcGxheSk6CisgICAgICAgIChXZWJDb3JlOjpTZWN1cml0eU9yaWdpbjo6ZGVwcmVjYXRlZENh
bkRpc3BsYXkpOgorICAgICAgICAqIHBhZ2UvU2VjdXJpdHlPcmlnaW4uaDoKKyAgICAgICAgKiBw
bHVnaW5zL1BsdWdpblZpZXcuY3BwOgorICAgICAgICAoV2ViQ29yZTo6UGx1Z2luVmlldzo6bG9h
ZCk6CisKKzIwMTAtMDktMDMgIEFkYW0gQmFydGggIDxhYmFydGhAd2Via2l0Lm9yZz4KKworICAg
ICAgICBSZXZpZXdlZCBieSBOT0JPRFkgKE9PUFMhKS4KKwogICAgICAgICBSZW5hbWUgU2VjdXJp
dHlPcmlnaW46OmNhbkxvYWQgdG8gY2FuRGlzcGxheQogICAgICAgICBodHRwczovL2J1Z3Mud2Vi
a2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NDUyMTQKIApkaWZmIC0tZ2l0IGEvV2ViQ29yZS9XZWJD
b3JlLmV4cC5pbiBiL1dlYkNvcmUvV2ViQ29yZS5leHAuaW4KaW5kZXggYWI0NGI3MWNmYjFmNjNi
NGUxZWYzNTIyOGI0MTI1Nzg2ZjQyOTAyYS4uOWZmY2JkY2NkNzFmNWJmMTY5ZWZmNDlmYWJmNDcw
MmIyNzBmYTJhNCAxMDA2NDQKLS0tIGEvV2ViQ29yZS9XZWJDb3JlLmV4cC5pbgorKysgYi9XZWJD
b3JlL1dlYkNvcmUuZXhwLmluCkBAIC0zMTQsNyArMzE0LDYgQEAgX19aTjdXZWJDb3JlMTRTVkdT
TUlMRWxlbWVudDEzaXNTTUlMRWxlbWVudEVQTlNfNE5vZGVFCiBfX1pON1dlYkNvcmUxNFNjaGVt
ZVJlZ2lzdHJ5MjRyZWdpc3RlclVSTFNjaGVtZUFzTG9jYWxFUktOM1dURjZTdHJpbmdFCiBfX1pO
N1dlYkNvcmUxNFNjaGVtZVJlZ2lzdHJ5MjVyZWdpc3RlclVSTFNjaGVtZUFzU2VjdXJlRVJLTjNX
VEY2U3RyaW5nRQogX19aTjdXZWJDb3JlMTRTY2hlbWVSZWdpc3RyeTMycmVnaXN0ZXJVUkxTY2hl
bWVBc0VtcHR5RG9jdW1lbnRFUktOM1dURjZTdHJpbmdFCi1fX1pON1dlYkNvcmUxNFNlY3VyaXR5
T3JpZ2luMTBjYW5EaXNwbGF5RVJLTlNfNEtVUkxFUktOM1dURjZTdHJpbmdFUE5TXzhEb2N1bWVu
dEUKIF9fWk43V2ViQ29yZTE0U2VjdXJpdHlPcmlnaW4xNmNyZWF0ZUZyb21TdHJpbmdFUktOM1dU
RjZTdHJpbmdFCiBfX1pON1dlYkNvcmUxNFNlY3VyaXR5T3JpZ2luMThzZXRMb2NhbExvYWRQb2xp
Y3lFTlMwXzE1TG9jYWxMb2FkUG9saWN5RQogX19aTjdXZWJDb3JlMTRTZWN1cml0eU9yaWdpbjE4
c2hvdWxkSGlkZVJlZmVycmVyRVJLTlNfNEtVUkxFUktOM1dURjZTdHJpbmdFCkBAIC05MzEsNiAr
OTMwLDcgQEAgX19aTks3V2ViQ29yZTE0RG9jdW1lbnRMb2FkZXIzdXJsRXYKIF9fWk5LN1dlYkNv
cmUxNFJlbmRlckxpc3RJdGVtMTBtYXJrZXJUZXh0RXYKIF9fWk5LN1dlYkNvcmUxNFJlc291cmNl
SGFuZGxlMTBjb25uZWN0aW9uRXYKIF9fWk5LN1dlYkNvcmUxNFJlc291cmNlTG9hZGVyMTFmcmFt
ZUxvYWRlckV2CitfX1pOSzdXZWJDb3JlMTRTZWN1cml0eU9yaWdpbjEwY2FuRGlzcGxheUVSS05T
XzRLVVJMRQogX19aTks3V2ViQ29yZTE0U2VjdXJpdHlPcmlnaW41ZXF1YWxFUEtTMF8KIF9fWk5L
N1dlYkNvcmUxNUdyYXBoaWNzQ29udGV4dDE1cGxhdGZvcm1Db250ZXh0RXYKIF9fWk5LN1dlYkNv
cmUxNUdyYXBoaWNzQ29udGV4dDE2cGFpbnRpbmdEaXNhYmxlZEV2CmRpZmYgLS1naXQgYS9XZWJD
b3JlL2h0bWwvSFRNTE1lZGlhRWxlbWVudC5jcHAgYi9XZWJDb3JlL2h0bWwvSFRNTE1lZGlhRWxl
bWVudC5jcHAKaW5kZXggMGY0YTUxNDc0MzY2ZDNiYWU2OWJkY2ExN2U2Yjk4NDA4NjMzZGQyYS4u
NzNjYjFiNzNiZGMyYTVmYWJkYjllYzRiNzYxM2I0NmY5MzMxNzAyNyAxMDA2NDQKLS0tIGEvV2Vi
Q29yZS9odG1sL0hUTUxNZWRpYUVsZW1lbnQuY3BwCisrKyBiL1dlYkNvcmUvaHRtbC9IVE1MTWVk
aWFFbGVtZW50LmNwcApAQCAtNjk0LDE3ICs2OTQsMTQgQEAgYm9vbCBIVE1MTWVkaWFFbGVtZW50
Ojppc1NhZmVUb0xvYWRVUkwoY29uc3QgS1VSTCYgdXJsLCBJbnZhbGlkU291cmNlQWN0aW9uIGFj
dGkKIHsKICAgICBpZiAoIXVybC5pc1ZhbGlkKCkpCiAgICAgICAgIHJldHVybiBmYWxzZTsKLSAg
ICAKLSAgICBGcmFtZSogZnJhbWUgPSBkb2N1bWVudCgpLT5mcmFtZSgpOwotICAgIEZyYW1lTG9h
ZGVyKiBsb2FkZXIgPSBmcmFtZSA/IGZyYW1lLT5sb2FkZXIoKSA6IDA7CiAKLSAgICAvLyBkb24n
dCBhbGxvdyByZW1vdGUgdG8gbG9jYWwgdXJscywgYW5kIGNoZWNrIHdpdGggdGhlIGZyYW1lIGxv
YWRlciBjbGllbnQuCi0gICAgaWYgKCFsb2FkZXIgfHwgIVNlY3VyaXR5T3JpZ2luOjpjYW5EaXNw
bGF5KHVybCwgU3RyaW5nKCksIGRvY3VtZW50KCkpKSB7CisgICAgRnJhbWUqIGZyYW1lID0gZG9j
dW1lbnQoKS0+ZnJhbWUoKTsKKyAgICBpZiAoIWZyYW1lIHx8ICFkb2N1bWVudCgpLT5zZWN1cml0
eU9yaWdpbigpLT5jYW5EaXNwbGF5KHVybCkpIHsKICAgICAgICAgaWYgKGFjdGlvbklmSW52YWxp
ZCA9PSBDb21wbGFpbikKICAgICAgICAgICAgIEZyYW1lTG9hZGVyOjpyZXBvcnRMb2NhbExvYWRG
YWlsZWQoZnJhbWUsIHVybC5zdHJpbmcoKSk7CiAgICAgICAgIHJldHVybiBmYWxzZTsKICAgICB9
Ci0gICAgCisKICAgICByZXR1cm4gdHJ1ZTsKIH0KIApkaWZmIC0tZ2l0IGEvV2ViQ29yZS9sb2Fk
ZXIvQ2FjaGUuY3BwIGIvV2ViQ29yZS9sb2FkZXIvQ2FjaGUuY3BwCmluZGV4IDNlMjU3NmYwMWRj
NzU5Y2JkMmRiN2E4MTVkZDI0NmQyNWNhOTkxZmUuLjZlMmE5YTU5NjRjZDZmYzg2ODdhZjVjMDJm
NDA5ZmU0ZmUyNDQ5OWEgMTAwNjQ0Ci0tLSBhL1dlYkNvcmUvbG9hZGVyL0NhY2hlLmNwcAorKysg
Yi9XZWJDb3JlL2xvYWRlci9DYWNoZS5jcHAKQEAgLTk5LDIwICs5OSwxOSBAQCBDYWNoZWRSZXNv
dXJjZSogQ2FjaGU6OnJlcXVlc3RSZXNvdXJjZShEb2NMb2FkZXIqIGRvY0xvYWRlciwgQ2FjaGVk
UmVzb3VyY2U6OlR5cAogICAgIC8vIFdvdWxkIGl0IGJlIGJldHRlciB0byBqdXN0IGdvIG9uIHdp
dGggdGhlIGNhY2hlIGNvZGUgYW5kIGxldCBpdCBmYWlsIGxhdGVyPwogICAgIGlmICh1cmwuaXNF
bXB0eSgpKQogICAgICAgICByZXR1cm4gMDsKLSAgICAKKwogICAgIC8vIExvb2sgdXAgdGhlIHJl
c291cmNlIGluIG91ciBtYXAuCiAgICAgQ2FjaGVkUmVzb3VyY2UqIHJlc291cmNlID0gcmVzb3Vy
Y2VGb3JVUkwodXJsLnN0cmluZygpKTsKLSAgICAKKwogICAgIGlmIChyZXNvdXJjZSAmJiByZXF1
ZXN0SXNQcmVsb2FkICYmICFyZXNvdXJjZS0+aXNQcmVsb2FkZWQoKSkKICAgICAgICAgcmV0dXJu
IDA7Ci0gICAgCi0gICAgaWYgKFNlY3VyaXR5T3JpZ2luOjpyZXN0cmljdEFjY2Vzc1RvTG9jYWwo
KSAmJiAhU2VjdXJpdHlPcmlnaW46OmNhbkRpc3BsYXkodXJsLCBTdHJpbmcoKSwgZG9jTG9hZGVy
LT5kb2MoKSkpIHsKLSAgICAgICAgRG9jdW1lbnQqIGRvYyA9IGRvY0xvYWRlci0+ZG9jKCk7Ci0g
ICAgICAgIGlmIChkb2MgJiYgIXJlcXVlc3RJc1ByZWxvYWQpCi0gICAgICAgICAgICBGcmFtZUxv
YWRlcjo6cmVwb3J0TG9jYWxMb2FkRmFpbGVkKGRvYy0+ZnJhbWUoKSwgdXJsLnN0cmluZygpKTsK
KworICAgIGlmICghZG9jTG9hZGVyLT5kb2MoKS0+c2VjdXJpdHlPcmlnaW4oKS0+Y2FuRGlzcGxh
eSh1cmwpKSB7CisgICAgICAgIGlmICghcmVxdWVzdElzUHJlbG9hZCkKKyAgICAgICAgICAgIEZy
YW1lTG9hZGVyOjpyZXBvcnRMb2NhbExvYWRGYWlsZWQoZG9jTG9hZGVyLT5kb2MoKS0+ZnJhbWUo
KSwgdXJsLnN0cmluZygpKTsKICAgICAgICAgcmV0dXJuIDA7CiAgICAgfQotICAgIAorCiAgICAg
aWYgKCFyZXNvdXJjZSkgewogICAgICAgICAvLyBUaGUgcmVzb3VyY2UgZG9lcyBub3QgZXhpc3Qu
IENyZWF0ZSBpdC4KICAgICAgICAgcmVzb3VyY2UgPSBjcmVhdGVSZXNvdXJjZSh0eXBlLCB1cmws
IGNoYXJzZXQpOwpkaWZmIC0tZ2l0IGEvV2ViQ29yZS9sb2FkZXIvRnJhbWVMb2FkZXIuY3BwIGIv
V2ViQ29yZS9sb2FkZXIvRnJhbWVMb2FkZXIuY3BwCmluZGV4IDg4OGVmMTI4NTA2NjMyM2ZmMTQ4
YzNhY2NkMmQ4YWVmOWU2Y2RhZjYuLjNlMzY2Y2JkNzVmODVlZTViZWU3NGI1OGY4MTUwNGJiZDU4
ZTI4ZGIgMTAwNjQ0Ci0tLSBhL1dlYkNvcmUvbG9hZGVyL0ZyYW1lTG9hZGVyLmNwcAorKysgYi9X
ZWJDb3JlL2xvYWRlci9GcmFtZUxvYWRlci5jcHAKQEAgLTEyNTQsOSArMTI1NCwxMCBAQCB2b2lk
IEZyYW1lTG9hZGVyOjpsb2FkRnJhbWVSZXF1ZXN0KGNvbnN0IEZyYW1lTG9hZFJlcXVlc3QmIHJl
cXVlc3QsIGJvb2wgbG9ja0hpcwogICAgICAgICByZWZlcnJlciA9IG1fb3V0Z29pbmdSZWZlcnJl
cjsKIAogICAgIEFTU0VSVChmcmFtZSgpLT5kb2N1bWVudCgpKTsKLSAgICBpZiAoU2NoZW1lUmVn
aXN0cnk6OnNob3VsZFRyZWF0VVJMQXNMb2NhbCh1cmwuc3RyaW5nKCkpICYmICFpc0ZlZWRXaXRo
TmVzdGVkUHJvdG9jb2xJbkhUVFBGYW1pbHkodXJsKSkgewotICAgICAgICBpZiAoIVNlY3VyaXR5
T3JpZ2luOjpjYW5EaXNwbGF5KHVybCwgU3RyaW5nKCksIGZyYW1lKCktPmRvY3VtZW50KCkpICYm
ICFTZWN1cml0eU9yaWdpbjo6Y2FuRGlzcGxheSh1cmwsIHJlZmVycmVyLCAwKSkgewotICAgICAg
ICAgICAgRnJhbWVMb2FkZXI6OnJlcG9ydExvY2FsTG9hZEZhaWxlZChtX2ZyYW1lLCB1cmwuc3Ry
aW5nKCkpOworICAgIC8vIEZJWE1FOiBTaG91bGQgd2UgbW92ZSB0aGUgaXNGZWVkV2l0aE5lc3Rl
ZFByb3RvY29sSW5IVFRQRmFtaWx5IGxvZ2ljIGluc2lkZSBTZWN1cml0eU9yaWdpbjo6Y2FuRGlz
cGxheT8KKyAgICBpZiAoIWlzRmVlZFdpdGhOZXN0ZWRQcm90b2NvbEluSFRUUEZhbWlseSh1cmwp
KSB7CisgICAgICAgIGlmICghZnJhbWUoKS0+ZG9jdW1lbnQoKS0+c2VjdXJpdHlPcmlnaW4oKS0+
Y2FuRGlzcGxheSh1cmwpICYmICFTZWN1cml0eU9yaWdpbjo6ZGVwcmVjYXRlZENhbkRpc3BsYXko
cmVmZXJyZXIsIHVybCkpIHsKKyAgICAgICAgICAgIHJlcG9ydExvY2FsTG9hZEZhaWxlZChtX2Zy
YW1lLCB1cmwuc3RyaW5nKCkpOwogICAgICAgICAgICAgcmV0dXJuOwogICAgICAgICB9CiAgICAg
fQpkaWZmIC0tZ2l0IGEvV2ViQ29yZS9sb2FkZXIvUGluZ0xvYWRlci5jcHAgYi9XZWJDb3JlL2xv
YWRlci9QaW5nTG9hZGVyLmNwcAppbmRleCAyNjhlMDA3ZDNhZjgxMjVmNGZiZjkyNmFmZDM2ZmJl
MDc4ZjgwNjQxLi5kNWQxMzBjZTllMTc2M2M4YzJkZmZhZmEyOTZkMTA5YmFjYTdhZTk4IDEwMDY0
NAotLS0gYS9XZWJDb3JlL2xvYWRlci9QaW5nTG9hZGVyLmNwcAorKysgYi9XZWJDb3JlL2xvYWRl
ci9QaW5nTG9hZGVyLmNwcApAQCAtNDIsNyArNDIsNyBAQCBuYW1lc3BhY2UgV2ViQ29yZSB7CiAK
IHZvaWQgUGluZ0xvYWRlcjo6bG9hZEltYWdlKEZyYW1lKiBmcmFtZSwgY29uc3QgS1VSTCYgdXJs
KQogewotICAgIGlmIChTZWN1cml0eU9yaWdpbjo6cmVzdHJpY3RBY2Nlc3NUb0xvY2FsKCkgJiYg
IVNlY3VyaXR5T3JpZ2luOjpjYW5EaXNwbGF5KHVybCwgU3RyaW5nKCksIGZyYW1lLT5kb2N1bWVu
dCgpKSkgeworICAgIGlmICghZnJhbWUtPmRvY3VtZW50KCktPnNlY3VyaXR5T3JpZ2luKCktPmNh
bkRpc3BsYXkodXJsKSkgewogICAgICAgICBGcmFtZUxvYWRlcjo6cmVwb3J0TG9jYWxMb2FkRmFp
bGVkKGZyYW1lLCB1cmwpOwogICAgICAgICByZXR1cm47CiAgICAgfQpkaWZmIC0tZ2l0IGEvV2Vi
Q29yZS9sb2FkZXIvU3ViZnJhbWVMb2FkZXIuY3BwIGIvV2ViQ29yZS9sb2FkZXIvU3ViZnJhbWVM
b2FkZXIuY3BwCmluZGV4IGMyNWIzN2U3MWY3MTA1N2RiY2JkYWZhYmJiODgyMmUyYTc4ZTJkZTcu
LmVjNzAzMzMwYjgyNDJkMzMzYTA5YzkyYjRjOWVhOWM1MzhiZjVjMjkgMTAwNjQ0Ci0tLSBhL1dl
YkNvcmUvbG9hZGVyL1N1YmZyYW1lTG9hZGVyLmNwcAorKysgYi9XZWJDb3JlL2xvYWRlci9TdWJm
cmFtZUxvYWRlci5jcHAKQEAgLTE0Nyw3ICsxNDcsNyBAQCBQYXNzUmVmUHRyPFdpZGdldD4gU3Vi
ZnJhbWVMb2FkZXI6OmxvYWRNZWRpYVBsYXllclByb3h5UGx1Z2luKE5vZGUqIG5vZGUsIGNvbnN0
CiAgICAgaWYgKCF1cmwuaXNFbXB0eSgpKQogICAgICAgICBjb21wbGV0ZWRVUkwgPSBjb21wbGV0
ZVVSTCh1cmwpOwogCi0gICAgaWYgKCFTZWN1cml0eU9yaWdpbjo6Y2FuRGlzcGxheShjb21wbGV0
ZWRVUkwsIFN0cmluZygpLCBtX2ZyYW1lLT5kb2N1bWVudCgpKSkgeworICAgIGlmICghbV9mcmFt
ZS0+ZG9jdW1lbnQoKS0+c2VjdXJpdHlPcmlnaW4oKS0+Y2FuRGlzcGxheShjb21wbGV0ZWRVUkwp
KSB7CiAgICAgICAgIEZyYW1lTG9hZGVyOjpyZXBvcnRMb2NhbExvYWRGYWlsZWQobV9mcmFtZSwg
Y29tcGxldGVkVVJMLnN0cmluZygpKTsKICAgICAgICAgcmV0dXJuIDA7CiAgICAgfQpAQCAtMjA1
LDcgKzIwNSw3IEBAIFBhc3NSZWZQdHI8V2lkZ2V0PiBTdWJmcmFtZUxvYWRlcjo6Y3JlYXRlSmF2
YUFwcGxldFdpZGdldChjb25zdCBJbnRTaXplJiBzaXplLCBICiAKICAgICBpZiAoIWNvZGVCYXNl
VVJMU3RyaW5nLmlzRW1wdHkoKSkgewogICAgICAgICBLVVJMIGNvZGVCYXNlVVJMID0gY29tcGxl
dGVVUkwoY29kZUJhc2VVUkxTdHJpbmcpOwotICAgICAgICBpZiAoIVNlY3VyaXR5T3JpZ2luOjpj
YW5EaXNwbGF5KGNvZGVCYXNlVVJMLCBTdHJpbmcoKSwgZWxlbWVudC0+ZG9jdW1lbnQoKSkpIHsK
KyAgICAgICAgaWYgKCFlbGVtZW50LT5kb2N1bWVudCgpLT5zZWN1cml0eU9yaWdpbigpLT5jYW5E
aXNwbGF5KGNvZGVCYXNlVVJMKSkgewogICAgICAgICAgICAgRnJhbWVMb2FkZXI6OnJlcG9ydExv
Y2FsTG9hZEZhaWxlZChtX2ZyYW1lLCBjb2RlQmFzZVVSTC5zdHJpbmcoKSk7CiAgICAgICAgICAg
ICByZXR1cm4gMDsKICAgICAgICAgfQpAQCAtMjQ3LDcgKzI0Nyw3IEBAIEZyYW1lKiBTdWJmcmFt
ZUxvYWRlcjo6bG9hZFN1YmZyYW1lKEhUTUxGcmFtZU93bmVyRWxlbWVudCogb3duZXJFbGVtZW50
LCBjb25zdCBLCiAgICAgICAgIG1hcmdpbkhlaWdodCA9IG8tPmdldE1hcmdpbkhlaWdodCgpOwog
ICAgIH0KIAotICAgIGlmICghU2VjdXJpdHlPcmlnaW46OmNhbkRpc3BsYXkodXJsLCBTdHJpbmco
KSwgb3duZXJFbGVtZW50LT5kb2N1bWVudCgpKSkgeworICAgIGlmICghb3duZXJFbGVtZW50LT5k
b2N1bWVudCgpLT5zZWN1cml0eU9yaWdpbigpLT5jYW5EaXNwbGF5KHVybCkpIHsKICAgICAgICAg
RnJhbWVMb2FkZXI6OnJlcG9ydExvY2FsTG9hZEZhaWxlZChtX2ZyYW1lLCB1cmwuc3RyaW5nKCkp
OwogICAgICAgICByZXR1cm4gMDsKICAgICB9CkBAIC0zMzYsNyArMzM2LDcgQEAgYm9vbCBTdWJm
cmFtZUxvYWRlcjo6bG9hZFBsdWdpbihIVE1MUGx1Z0luSW1hZ2VFbGVtZW50KiBwbHVnaW5FbGVt
ZW50LCBjb25zdCBLVVIKICAgICBpZiAoIXJlbmRlcmVyIHx8IHVzZUZhbGxiYWNrKQogICAgICAg
ICByZXR1cm4gZmFsc2U7CiAKLSAgICBpZiAoIVNlY3VyaXR5T3JpZ2luOjpjYW5EaXNwbGF5KHVy
bCwgU3RyaW5nKCksIGRvY3VtZW50KCkpKSB7CisgICAgaWYgKCFkb2N1bWVudCgpLT5zZWN1cml0
eU9yaWdpbigpLT5jYW5EaXNwbGF5KHVybCkpIHsKICAgICAgICAgRnJhbWVMb2FkZXI6OnJlcG9y
dExvY2FsTG9hZEZhaWxlZChtX2ZyYW1lLCB1cmwuc3RyaW5nKCkpOwogICAgICAgICByZXR1cm4g
ZmFsc2U7CiAgICAgfQpkaWZmIC0tZ2l0IGEvV2ViQ29yZS9sb2FkZXIvU3VicmVzb3VyY2VMb2Fk
ZXIuY3BwIGIvV2ViQ29yZS9sb2FkZXIvU3VicmVzb3VyY2VMb2FkZXIuY3BwCmluZGV4IDY5ZDRh
NWM2MGM4NWEzNTM5NjllM2EyNTJmNDVmNDExOGIxNzNhYzcuLmU1Y2VjODhmMDM0ZTUxN2I4MWEw
NjIxMjRhMjFiYmNmMTU3OTM3MjUgMTAwNjQ0Ci0tLSBhL1dlYkNvcmUvbG9hZGVyL1N1YnJlc291
cmNlTG9hZGVyLmNwcAorKysgYi9XZWJDb3JlL2xvYWRlci9TdWJyZXNvdXJjZUxvYWRlci5jcHAK
QEAgLTcxLDkgKzcxLDcgQEAgUGFzc1JlZlB0cjxTdWJyZXNvdXJjZUxvYWRlcj4gU3VicmVzb3Vy
Y2VMb2FkZXI6OmNyZWF0ZShGcmFtZSogZnJhbWUsIFN1YnJlc291cmMKIAogICAgIFJlc291cmNl
UmVxdWVzdCBuZXdSZXF1ZXN0ID0gcmVxdWVzdDsKIAotICAgIGlmIChzZWN1cml0eUNoZWNrID09
IERvU2VjdXJpdHlDaGVjawotICAgICAgICAgICAgJiYgU2VjdXJpdHlPcmlnaW46OnJlc3RyaWN0
QWNjZXNzVG9Mb2NhbCgpCi0gICAgICAgICAgICAmJiAhU2VjdXJpdHlPcmlnaW46OmNhbkRpc3Bs
YXkocmVxdWVzdC51cmwoKSwgU3RyaW5nKCksIGZyYW1lLT5kb2N1bWVudCgpKSkgeworICAgIGlm
IChzZWN1cml0eUNoZWNrID09IERvU2VjdXJpdHlDaGVjayAmJiAhZnJhbWUtPmRvY3VtZW50KCkt
PnNlY3VyaXR5T3JpZ2luKCktPmNhbkRpc3BsYXkocmVxdWVzdC51cmwoKSkpIHsKICAgICAgICAg
RnJhbWVMb2FkZXI6OnJlcG9ydExvY2FsTG9hZEZhaWxlZChmcmFtZSwgcmVxdWVzdC51cmwoKS5z
dHJpbmcoKSk7CiAgICAgICAgIHJldHVybiAwOwogICAgIH0KZGlmZiAtLWdpdCBhL1dlYkNvcmUv
cGFnZS9TZWN1cml0eU9yaWdpbi5jcHAgYi9XZWJDb3JlL3BhZ2UvU2VjdXJpdHlPcmlnaW4uY3Bw
CmluZGV4IGI0NGEzNWVhNTljZWJhZDJiYzlmZmIyODExNGZiNDA1NmQxZDZjM2MuLmYwZDFhOWU5
NGI5OWQ3NzZmZTc5MGQ3NDM3YjVhMmRlNDc2YWE1OTggMTAwNjQ0Ci0tLSBhL1dlYkNvcmUvcGFn
ZS9TZWN1cml0eU9yaWdpbi5jcHAKKysrIGIvV2ViQ29yZS9wYWdlL1NlY3VyaXR5T3JpZ2luLmNw
cApAQCAtMjgzLDMzICsyODMsMzYgQEAgYm9vbCBTZWN1cml0eU9yaWdpbjo6aXNBY2Nlc3NXaGl0
ZUxpc3RlZChjb25zdCBTZWN1cml0eU9yaWdpbiogdGFyZ2V0T3JpZ2luKSBjb24KICAgICB9CiAg
ICAgcmV0dXJuIGZhbHNlOwogfQotICAKLWJvb2wgU2VjdXJpdHlPcmlnaW46OmNhbkRpc3BsYXko
Y29uc3QgS1VSTCYgdXJsLCBjb25zdCBTdHJpbmcmIHJlZmVycmVyLCBEb2N1bWVudCogZG9jdW1l
bnQpCisKK2Jvb2wgU2VjdXJpdHlPcmlnaW46OmNhbkRpc3BsYXkoY29uc3QgS1VSTCYgdXJsKSBj
b25zdAogewogI2lmIEVOQUJMRShCTE9CKQotICAgIGlmICh1cmwucHJvdG9jb2xJcygiYmxvYiIp
ICYmIGRvY3VtZW50KSB7Ci0gICAgICAgIFNlY3VyaXR5T3JpZ2luKiBkb2N1bWVudE9yaWdpbiA9
IGRvY3VtZW50LT5zZWN1cml0eU9yaWdpbigpOwotICAgICAgICBSZWZQdHI8U2VjdXJpdHlPcmln
aW4+IHRhcmdldE9yaWdpbiA9IFNlY3VyaXR5T3JpZ2luOjpjcmVhdGUodXJsKTsKLSAgICAgICAg
cmV0dXJuIGRvY3VtZW50T3JpZ2luLT5pc1NhbWVTY2hlbWVIb3N0UG9ydCh0YXJnZXRPcmlnaW4u
Z2V0KCkpOwotICAgIH0KKyAgICBpZiAodXJsLnByb3RvY29sSXMoImJsb2IiKSkKKyAgICAgICAg
cmV0dXJuIGNhblJlcXVlc3QodXJsKTsKICNlbmRpZgogCisgICAgaWYgKCFyZXN0cmljdEFjY2Vz
c1RvTG9jYWwoKSkKKyAgICAgICAgcmV0dXJuIHRydWU7CisKICAgICBpZiAoIVNjaGVtZVJlZ2lz
dHJ5OjpzaG91bGRUcmVhdFVSTEFzTG9jYWwodXJsLnN0cmluZygpKSkKICAgICAgICAgcmV0dXJu
IHRydWU7CiAKLSAgICAvLyBJZiB3ZSB3ZXJlIHByb3ZpZGVkIGEgZG9jdW1lbnQsIHdlIGZpcnN0
IGNoZWNrIGlmIHRoZSBhY2Nlc3MgaGFzIGJlZW4gd2hpdGUgbGlzdGVkLgotICAgIC8vIFRoZW4g
d2UgbGV0IGl0cyBsb2NhbCBmaWxlIHBvbGljZSBkaWN0YXRlIHRoZSByZXN1bHQuCi0gICAgLy8g
T3RoZXJ3aXNlIHdlIGFsbG93IGxvY2FsIGxvYWRzIG9ubHkgaWYgdGhlIHN1cHBsaWVkIHJlZmVy
cmVyIGlzIGFsc28gbG9jYWwuCi0gICAgaWYgKGRvY3VtZW50KSB7Ci0gICAgICAgIFNlY3VyaXR5
T3JpZ2luKiBkb2N1bWVudE9yaWdpbiA9IGRvY3VtZW50LT5zZWN1cml0eU9yaWdpbigpOwotICAg
ICAgICBSZWZQdHI8U2VjdXJpdHlPcmlnaW4+IHRhcmdldE9yaWdpbiA9IFNlY3VyaXR5T3JpZ2lu
OjpjcmVhdGUodXJsKTsKLSAgICAgICAgaWYgKGRvY3VtZW50T3JpZ2luLT5pc0FjY2Vzc1doaXRl
TGlzdGVkKHRhcmdldE9yaWdpbi5nZXQoKSkpCi0gICAgICAgICAgICByZXR1cm4gdHJ1ZTsKLSAg
ICAgICAgcmV0dXJuIGRvY3VtZW50T3JpZ2luLT5jYW5Mb2FkTG9jYWxSZXNvdXJjZXMoKTsKLSAg
ICB9Ci0gICAgaWYgKCFyZWZlcnJlci5pc0VtcHR5KCkpCi0gICAgICAgIHJldHVybiBTY2hlbWVS
ZWdpc3RyeTo6c2hvdWxkVHJlYXRVUkxBc0xvY2FsKHJlZmVycmVyKTsKLSAgICByZXR1cm4gZmFs
c2U7CisgICAgUmVmUHRyPFNlY3VyaXR5T3JpZ2luPiB0YXJnZXRPcmlnaW4gPSBTZWN1cml0eU9y
aWdpbjo6Y3JlYXRlKHVybCk7CisgICAgaWYgKGlzQWNjZXNzV2hpdGVMaXN0ZWQodGFyZ2V0T3Jp
Z2luLmdldCgpKSkKKyAgICAgICAgcmV0dXJuIHRydWU7CisKKyAgICByZXR1cm4gY2FuTG9hZExv
Y2FsUmVzb3VyY2VzKCk7Cit9CisKK2Jvb2wgU2VjdXJpdHlPcmlnaW46OmRlcHJlY2F0ZWRDYW5E
aXNwbGF5KGNvbnN0IFN0cmluZyYgcmVmZXJyZXIsIGNvbnN0IEtVUkwmIHVybCkKK3sKKyAgICBp
ZiAoIXJlc3RyaWN0QWNjZXNzVG9Mb2NhbCgpKQorICAgICAgICByZXR1cm4gdHJ1ZTsKKworICAg
IGlmICghU2NoZW1lUmVnaXN0cnk6OnNob3VsZFRyZWF0VVJMQXNMb2NhbCh1cmwuc3RyaW5nKCkp
KQorICAgICAgICByZXR1cm4gdHJ1ZTsKKworICAgIHJldHVybiBTY2hlbWVSZWdpc3RyeTo6c2hv
dWxkVHJlYXRVUkxBc0xvY2FsKHJlZmVycmVyKTsKIH0KIAogdm9pZCBTZWN1cml0eU9yaWdpbjo6
Z3JhbnRMb2FkTG9jYWxSZXNvdXJjZXMoKQpkaWZmIC0tZ2l0IGEvV2ViQ29yZS9wYWdlL1NlY3Vy
aXR5T3JpZ2luLmggYi9XZWJDb3JlL3BhZ2UvU2VjdXJpdHlPcmlnaW4uaAppbmRleCBjZTVjYzhj
ZjA0NGMzZWMwMjY2NGM2ZTQyODE2MjBkNDVlYmY5ZGVlLi5lYzI4ZmUwNjQxYThlMGU4NWVmODhm
OTZiZDQ2YjMyZDhlYTE3NDk2IDEwMDY0NAotLS0gYS9XZWJDb3JlL3BhZ2UvU2VjdXJpdHlPcmln
aW4uaAorKysgYi9XZWJDb3JlL3BhZ2UvU2VjdXJpdHlPcmlnaW4uaApAQCAtODYsOSArODYsMTEg
QEAgcHVibGljOgogCiAgICAgLy8gUmV0dXJucyB0cnVlIGlmIHxkb2N1bWVudHwgY2FuIGRpc3Bh
bHkgY29udGVudCBmcm9tIHRoZSBnaXZlbiBVUkwgKGUuZy4sCiAgICAgLy8gaW4gYW4gaWZyYW1l
IG9yIGFzIGFuIGltYWdlKS4gIEZvciBleGFtcGxlLCB3ZWIgc2l0ZXMgZ2VuZXJhbGx5IGNhbm5v
dAotICAgIC8vIGRpc3BsYXkgY29udGVudCBmcm9tIHRoZSB1c2VyJ3MgZmlsZXMgc3lzdGVtLiAg
SWYgfGRvY3VtZW50fCBpcyAwLAotICAgIC8vIHxyZWZlcnJlcnwgaXMgdXNlZCB0byBtYWtlIHRo
aXMgZGV0ZXJtaW5hdGlvbi4KLSAgICBzdGF0aWMgYm9vbCBjYW5EaXNwbGF5KGNvbnN0IEtVUkwm
LCBjb25zdCBTdHJpbmcmIHJlZmVycmVyLCBEb2N1bWVudCogZG9jdW1lbnQpOworICAgIC8vIGRp
c3BsYXkgY29udGVudCBmcm9tIHRoZSB1c2VyJ3MgZmlsZXMgc3lzdGVtLgorICAgIGJvb2wgY2Fu
RGlzcGxheShjb25zdCBLVVJMJikgY29uc3Q7CisKKyAgICAvLyBGSVhNRTogUmVtb3ZlIHRoaXMg
ZnVuY3Rpb24uIFRoaXMgZnVuY3Rpb24gZXhpc3RzIG9ubHkgdG8gc2VydmljZSBGcmFtZUxvYWRl
ci4KKyAgICBzdGF0aWMgYm9vbCBkZXByZWNhdGVkQ2FuRGlzcGxheShjb25zdCBTdHJpbmcmIHJl
ZmVycmVyLCBjb25zdCBLVVJMJiB0YXJnZXRVUkwpOwogCiAgICAgLy8gUmV0dXJucyB0cnVlIGlm
IHRoaXMgU2VjdXJpdHlPcmlnaW4gY2FuIGxvYWQgbG9jYWwgcmVzb3VyY2VzLCBzdWNoCiAgICAg
Ly8gYXMgaW1hZ2VzLCBpZnJhbWVzLCBhbmQgc3R5bGUgc2hlZXRzLCBhbmQgY2FuIGxpbmsgdG8g
bG9jYWwgVVJMcy4KZGlmZiAtLWdpdCBhL1dlYkNvcmUvcGx1Z2lucy9QbHVnaW5WaWV3LmNwcCBi
L1dlYkNvcmUvcGx1Z2lucy9QbHVnaW5WaWV3LmNwcAppbmRleCBiOGI4MGY1NTk2YmUzNTNhNzc1
MjYwZGY5ZDMyMjQ3ZGY5MTJkZjBiLi40MjQ1ZDE0Y2IwZmJkNWMyMDhmZTk1ZGY1OGE1ODFiMGUy
YTIzOGEwIDEwMDY0NAotLS0gYS9XZWJDb3JlL3BsdWdpbnMvUGx1Z2luVmlldy5jcHAKKysrIGIv
V2ViQ29yZS9wbHVnaW5zL1BsdWdpblZpZXcuY3BwCkBAIC01MzcsOCArNTM3LDggQEAgTlBFcnJv
ciBQbHVnaW5WaWV3Ojpsb2FkKGNvbnN0IEZyYW1lTG9hZFJlcXVlc3QmIGZyYW1lTG9hZFJlcXVl
c3QsIGJvb2wgc2VuZE5vdGkKICAgICAgICAgLy8gRm9yIHNlY3VyaXR5IHJlYXNvbnMsIG9ubHkg
YWxsb3cgSlMgcmVxdWVzdHMgdG8gYmUgbWFkZSBvbiB0aGUgZnJhbWUgdGhhdCBjb250YWlucyB0
aGUgcGx1Zy1pbi4KICAgICAgICAgaWYgKCF0YXJnZXRGcmFtZU5hbWUuaXNOdWxsKCkgJiYgbV9w
YXJlbnRGcmFtZS0+dHJlZSgpLT5maW5kKHRhcmdldEZyYW1lTmFtZSkgIT0gbV9wYXJlbnRGcmFt
ZSkKICAgICAgICAgICAgIHJldHVybiBOUEVSUl9JTlZBTElEX1BBUkFNOwotICAgIH0gZWxzZSBp
ZiAoIVNlY3VyaXR5T3JpZ2luOjpjYW5EaXNwbGF5KHVybCwgU3RyaW5nKCksIG1fcGFyZW50RnJh
bWUtPmRvY3VtZW50KCkpKQotICAgICAgICAgICAgcmV0dXJuIE5QRVJSX0dFTkVSSUNfRVJST1I7
CisgICAgfSBlbHNlIGlmICghbV9wYXJlbnRGcmFtZS0+ZG9jdW1lbnQoKS0+c2VjdXJpdHlPcmln
aW4oKS0+Y2FuRGlzcGxheSh1cmwpKQorICAgICAgICByZXR1cm4gTlBFUlJfR0VORVJJQ19FUlJP
UjsKIAogICAgIFBsdWdpblJlcXVlc3QqIHJlcXVlc3QgPSBuZXcgUGx1Z2luUmVxdWVzdChmcmFt
ZUxvYWRSZXF1ZXN0LCBzZW5kTm90aWZpY2F0aW9uLCBub3RpZnlEYXRhLCBhcmVQb3B1cHNBbGxv
d2VkKCkpOwogICAgIHNjaGVkdWxlUmVxdWVzdChyZXF1ZXN0KTsKZGlmZiAtLWdpdCBhL1dlYktp
dC9tYWMvQ2hhbmdlTG9nIGIvV2ViS2l0L21hYy9DaGFuZ2VMb2cKaW5kZXggYzhlMWVkY2NhMzdm
N2ViZmVkMTUxZGQ3ZTI1YzViZTM0NGVlYThlNy4uYWEwYjE5ZDBlNTJhODg2YmY0M2UyZjdkODg0
NmU5N2I3OGU0MWQxZSAxMDA2NDQKLS0tIGEvV2ViS2l0L21hYy9DaGFuZ2VMb2cKKysrIGIvV2Vi
S2l0L21hYy9DaGFuZ2VMb2cKQEAgLTIsNiArMiwyNCBAQAogCiAgICAgICAgIFJldmlld2VkIGJ5
IE5PQk9EWSAoT09QUyEpLgogCisgICAgICAgIE1ha2UgU2VjdXJpdHlPcmlnaW46OmNhbkRpc3Bs
YXkgYW4gaW5zdGFuY2UgZnVuY3Rpb24KKyAgICAgICAgaHR0cHM6Ly9idWdzLndlYmtpdC5vcmcv
c2hvd19idWcuY2dpP2lkPTQ1MjE5CisKKyAgICAgICAgKiBQbHVnaW5zL0hvc3RlZC9OZXRzY2Fw
ZVBsdWdpbkluc3RhbmNlUHJveHkubW06CisgICAgICAgIChXZWJLaXQ6Ok5ldHNjYXBlUGx1Z2lu
SW5zdGFuY2VQcm94eTo6bG9hZFJlcXVlc3QpOgorICAgICAgICAqIFBsdWdpbnMvV2ViTmV0c2Nh
cGVQbHVnaW5TdHJlYW0ubW06CisgICAgICAgIChXZWJOZXRzY2FwZVBsdWdpblN0cmVhbTo6V2Vi
TmV0c2NhcGVQbHVnaW5TdHJlYW0pOgorICAgICAgICAqIFBsdWdpbnMvV2ViTmV0c2NhcGVQbHVn
aW5WaWV3Lm1tOgorICAgICAgICAoLVtXZWJOZXRzY2FwZVBsdWdpblZpZXcgbG9hZFJlcXVlc3Q6
aW5UYXJnZXQ6d2l0aE5vdGlmeURhdGE6c2VuZE5vdGlmaWNhdGlvbjpdKToKKyAgICAgICAgKiBQ
bHVnaW5zL1dlYlBsdWdpbkNvbnRhaW5lckNoZWNrLm1tOgorICAgICAgICAoLVtXZWJQbHVnaW5D
b250YWluZXJDaGVjayBfaXNGb3JiaWRkZW5GaWxlTG9hZF0pOgorICAgICAgICAqIFdlYlZpZXcv
V2ViRnJhbWUubW06CisgICAgICAgICgtW1dlYkZyYW1lIF9hbGxvd3NGb2xsb3dpbmdMaW5rOl0p
OgorCisyMDEwLTA5LTAzICBBZGFtIEJhcnRoICA8YWJhcnRoQHdlYmtpdC5vcmc+CisKKyAgICAg
ICAgUmV2aWV3ZWQgYnkgTk9CT0RZIChPT1BTISkuCisKICAgICAgICAgUmVuYW1lIFNlY3VyaXR5
T3JpZ2luOjpjYW5Mb2FkIHRvIGNhbkRpc3BsYXkKICAgICAgICAgaHR0cHM6Ly9idWdzLndlYmtp
dC5vcmcvc2hvd19idWcuY2dpP2lkPTQ1MjE0CiAKZGlmZiAtLWdpdCBhL1dlYktpdC9tYWMvUGx1
Z2lucy9Ib3N0ZWQvTmV0c2NhcGVQbHVnaW5JbnN0YW5jZVByb3h5Lm1tIGIvV2ViS2l0L21hYy9Q
bHVnaW5zL0hvc3RlZC9OZXRzY2FwZVBsdWdpbkluc3RhbmNlUHJveHkubW0KaW5kZXggODhkZjRj
Zjk0Mzg5ZGFkMTQzMzMzMDliNWQ4NTYyNmZhYjAzZGE4Ni4uYzBjNDgwYmU1YjJjZTc1MjQ1ZTg1
ZDU5ZmYzY2VkZmJlMjNiNjU2ZiAxMDA2NDQKLS0tIGEvV2ViS2l0L21hYy9QbHVnaW5zL0hvc3Rl
ZC9OZXRzY2FwZVBsdWdpbkluc3RhbmNlUHJveHkubW0KKysrIGIvV2ViS2l0L21hYy9QbHVnaW5z
L0hvc3RlZC9OZXRzY2FwZVBsdWdpbkluc3RhbmNlUHJveHkubW0KQEAgLTc2Miw3ICs3NjIsNyBA
QCBOUEVycm9yIE5ldHNjYXBlUGx1Z2luSW5zdGFuY2VQcm94eTo6bG9hZFJlcXVlc3QoTlNVUkxS
ZXF1ZXN0ICpyZXF1ZXN0LCBjb25zdCBjaAogICAgICAgICAgICAgcmV0dXJuIE5QRVJSX0dFTkVS
SUNfRVJST1I7CiAgICAgICAgIH0KICAgICB9IGVsc2UgewotICAgICAgICBpZiAoIVNlY3VyaXR5
T3JpZ2luOjpjYW5EaXNwbGF5KFVSTCwgU3RyaW5nKCksIGNvcmUoW21fcGx1Z2luVmlldyB3ZWJG
cmFtZV0pLT5kb2N1bWVudCgpKSkKKyAgICAgICAgaWYgKCFjb3JlKFttX3BsdWdpblZpZXcgd2Vi
RnJhbWVdKS0+ZG9jdW1lbnQoKS0+c2VjdXJpdHlPcmlnaW4oKS0+Y2FuRGlzcGxheShVUkwpKQog
ICAgICAgICAgICAgcmV0dXJuIE5QRVJSX0dFTkVSSUNfRVJST1I7CiAgICAgfQogICAgIApkaWZm
IC0tZ2l0IGEvV2ViS2l0L21hYy9QbHVnaW5zL1dlYk5ldHNjYXBlUGx1Z2luU3RyZWFtLm1tIGIv
V2ViS2l0L21hYy9QbHVnaW5zL1dlYk5ldHNjYXBlUGx1Z2luU3RyZWFtLm1tCmluZGV4IDM1YWY0
Mzk5MWFiZTE2MjE1ZDY5ZjZlODhmNGZjNTI2ZjE0MjY0ZjYuLmYzOWIxMDRkZGZjN2Q2NDVmZDhm
Yzg2ODJjYzM3ZTBjNDliZGM4ODcgMTAwNjQ0Ci0tLSBhL1dlYktpdC9tYWMvUGx1Z2lucy9XZWJO
ZXRzY2FwZVBsdWdpblN0cmVhbS5tbQorKysgYi9XZWJLaXQvbWFjL1BsdWdpbnMvV2ViTmV0c2Nh
cGVQbHVnaW5TdHJlYW0ubW0KQEAgLTE2MSw3ICsxNjEsNyBAQCBXZWJOZXRzY2FwZVBsdWdpblN0
cmVhbTo6V2ViTmV0c2NhcGVQbHVnaW5TdHJlYW0oTlNVUkxSZXF1ZXN0ICpyZXF1ZXN0LCBOUFAg
cGx1ZwogICAgIFdlYk5ldHNjYXBlUGx1Z2luVmlldyAqdmlldyA9IChXZWJOZXRzY2FwZVBsdWdp
blZpZXcgKilwbHVnaW4tPm5kYXRhOwogICAgIAogICAgIC8vIFRoaXMgY2hlY2sgaGFzIGFscmVh
ZHkgYmVlbiBkb25lIGJ5IHRoZSBwbHVnLWluIHZpZXcuCi0gICAgQVNTRVJUKFNlY3VyaXR5T3Jp
Z2luOjpjYW5EaXNwbGF5KFtyZXF1ZXN0IFVSTF0sIFN0cmluZygpLCBjb3JlKFt2aWV3IHdlYkZy
YW1lXSktPmRvY3VtZW50KCkpKTsKKyAgICBBU1NFUlQoY29yZShbdmlldyB3ZWJGcmFtZV0pLT5k
b2N1bWVudCgpLT5zZWN1cml0eU9yaWdpbigpLT5jYW5EaXNwbGF5KFtyZXF1ZXN0IFVSTF0pKTsK
ICAgICAKICAgICBBU1NFUlQoW3JlcXVlc3QgVVJMXSk7CiAgICAgQVNTRVJUKHBsdWdpbik7CmRp
ZmYgLS1naXQgYS9XZWJLaXQvbWFjL1BsdWdpbnMvV2ViTmV0c2NhcGVQbHVnaW5WaWV3Lm1tIGIv
V2ViS2l0L21hYy9QbHVnaW5zL1dlYk5ldHNjYXBlUGx1Z2luVmlldy5tbQppbmRleCBlOThjNmI3
NjkwMjIzNjc4OTJlMTFmZjA1NzZkYzA0ODhkN2RhYjM1Li4zZDVkN2ExZWI3ZTEwNTQwYzViOTcz
OTI5MThiNTExNjVlYTUwYzQ5IDEwMDY0NAotLS0gYS9XZWJLaXQvbWFjL1BsdWdpbnMvV2ViTmV0
c2NhcGVQbHVnaW5WaWV3Lm1tCisrKyBiL1dlYktpdC9tYWMvUGx1Z2lucy9XZWJOZXRzY2FwZVBs
dWdpblZpZXcubW0KQEAgLTE3MjgsNyArMTcyOCw3IEBAIHN0YXRpYyBpbmxpbmUgdm9pZCBnZXRO
UFJlY3QoY29uc3QgTlNSZWN0JiBuciwgTlBSZWN0JiBucHIpCiAgICAgICAgICAgICByZXR1cm4g
TlBFUlJfSU5WQUxJRF9QQVJBTTsKICAgICAgICAgfQogICAgIH0gZWxzZSB7Ci0gICAgICAgIGlm
ICghU2VjdXJpdHlPcmlnaW46OmNhbkRpc3BsYXkoVVJMLCBTdHJpbmcoKSwgY29yZShbc2VsZiB3
ZWJGcmFtZV0pLT5kb2N1bWVudCgpKSkKKyAgICAgICAgaWYgKCFjb3JlKFtzZWxmIHdlYkZyYW1l
XSktPmRvY3VtZW50KCktPnNlY3VyaXR5T3JpZ2luKCktPmNhbkRpc3BsYXkoVVJMKSkKICAgICAg
ICAgICAgIHJldHVybiBOUEVSUl9HRU5FUklDX0VSUk9SOwogICAgIH0KICAgICAgICAgCmRpZmYg
LS1naXQgYS9XZWJLaXQvbWFjL1BsdWdpbnMvV2ViUGx1Z2luQ29udGFpbmVyQ2hlY2subW0gYi9X
ZWJLaXQvbWFjL1BsdWdpbnMvV2ViUGx1Z2luQ29udGFpbmVyQ2hlY2subW0KaW5kZXggZTI3M2Jm
YzgzMzhmOTJlNWQ3ODQ0NWQ1MmU0ZDM1NWJiZjJjYTRjOC4uMzAzNjhhODc5YWEyOWYzN2M1ZjRm
YTFjNmIxY2ZmYmE5NjgzOGRjZSAxMDA2NDQKLS0tIGEvV2ViS2l0L21hYy9QbHVnaW5zL1dlYlBs
dWdpbkNvbnRhaW5lckNoZWNrLm1tCisrKyBiL1dlYktpdC9tYWMvUGx1Z2lucy9XZWJQbHVnaW5D
b250YWluZXJDaGVjay5tbQpAQCAtOTksNyArOTksNyBAQCB1c2luZyBuYW1lc3BhY2UgV2ViQ29y
ZTsKIHsKICAgIEZyYW1lKiBjb3JlRnJhbWUgPSBjb3JlKFtfY29udHJvbGxlciB3ZWJGcmFtZV0p
OwogICAgQVNTRVJUKGNvcmVGcmFtZSk7Ci0gICBpZiAoIVNlY3VyaXR5T3JpZ2luOjpjYW5EaXNw
bGF5KFtfcmVxdWVzdCBVUkxdLCBTdHJpbmcoKSwgY29yZUZyYW1lLT5kb2N1bWVudCgpKSkgewor
ICAgaWYgKCFjb3JlRnJhbWUtPmRvY3VtZW50KCktPnNlY3VyaXR5T3JpZ2luKCktPmNhbkRpc3Bs
YXkoW19yZXF1ZXN0IFVSTF0pKSB7CiAgICAgICAgW3NlbGYgX2NvbnRpbnVlV2l0aFBvbGljeTpQ
b2xpY3lJZ25vcmVdOwogICAgICAgIHJldHVybiBZRVM7CiAgICB9CmRpZmYgLS1naXQgYS9XZWJL
aXQvbWFjL1dlYlZpZXcvV2ViRnJhbWUubW0gYi9XZWJLaXQvbWFjL1dlYlZpZXcvV2ViRnJhbWUu
bW0KaW5kZXggNjMxNWQ0MzhkZjEzOGViZTI3MTJlZmUyMzk4YjU4OGJlMTVjMDRiOS4uY2FkZjk0
M2U3YTUxZDU1ZmZiMTYyMmM1MmJiMWJiZWFkYmEzYmNkMCAxMDA2NDQKLS0tIGEvV2ViS2l0L21h
Yy9XZWJWaWV3L1dlYkZyYW1lLm1tCisrKyBiL1dlYktpdC9tYWMvV2ViVmlldy9XZWJGcmFtZS5t
bQpAQCAtMTI4Miw3ICsxMjgyLDcgQEAgc3RhdGljIGlubGluZSBXZWJEYXRhU291cmNlICpkYXRh
U291cmNlKERvY3VtZW50TG9hZGVyKiBsb2FkZXIpCiB7CiAgICAgaWYgKCFfcHJpdmF0ZS0+Y29y
ZUZyYW1lKQogICAgICAgICByZXR1cm4gWUVTOwotICAgIHJldHVybiBTZWN1cml0eU9yaWdpbjo6
Y2FuRGlzcGxheShVUkwsIFN0cmluZygpLCBfcHJpdmF0ZS0+Y29yZUZyYW1lLT5kb2N1bWVudCgp
KTsKKyAgICByZXR1cm4gX3ByaXZhdGUtPmNvcmVGcmFtZS0+ZG9jdW1lbnQoKS0+c2VjdXJpdHlP
cmlnaW4oKS0+Y2FuRGlzcGxheShVUkwpOwogfQogCiAtIChOU1N0cmluZyAqKV9zdHJpbmdCeUV2
YWx1YXRpbmdKYXZhU2NyaXB0RnJvbVN0cmluZzooTlNTdHJpbmcgKilzdHJpbmcgd2l0aEdsb2Jh
bE9iamVjdDooSlNPYmplY3RSZWYpZ2xvYmFsT2JqZWN0UmVmIGluU2NyaXB0V29ybGQ6KFdlYlNj
cmlwdFdvcmxkICopd29ybGQKZGlmZiAtLWdpdCBhL1dlYktpdC93aW4vQ2hhbmdlTG9nIGIvV2Vi
S2l0L3dpbi9DaGFuZ2VMb2cKaW5kZXggZmNiMzg5OGYxNGQ2MTA1NDM5NzUxZWQ2N2YzMzkzZGIz
ZWM1MWQ5MC4uYzlhMDFjYzFhMTI3Y2Y0OTIyNGQ2Y2Y2NDM2ZmZmMGYyZDk3NmQyNiAxMDA2NDQK
LS0tIGEvV2ViS2l0L3dpbi9DaGFuZ2VMb2cKKysrIGIvV2ViS2l0L3dpbi9DaGFuZ2VMb2cKQEAg
LTIsNiArMiwxNiBAQAogCiAgICAgICAgIFJldmlld2VkIGJ5IE5PQk9EWSAoT09QUyEpLgogCisg
ICAgICAgIE1ha2UgU2VjdXJpdHlPcmlnaW46OmNhbkRpc3BsYXkgYW4gaW5zdGFuY2UgZnVuY3Rp
b24KKyAgICAgICAgaHR0cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hvd19idWcuY2dpP2lkPTQ1MjE5
CisKKyAgICAgICAgKiBXZWJGcmFtZS5jcHA6CisgICAgICAgIChXZWJGcmFtZTo6YWxsb3dzRm9s
bG93aW5nTGluayk6CisKKzIwMTAtMDktMDMgIEFkYW0gQmFydGggIDxhYmFydGhAd2Via2l0Lm9y
Zz4KKworICAgICAgICBSZXZpZXdlZCBieSBOT0JPRFkgKE9PUFMhKS4KKwogICAgICAgICBSZW5h
bWUgU2VjdXJpdHlPcmlnaW46OmNhbkxvYWQgdG8gY2FuRGlzcGxheQogICAgICAgICBodHRwczov
L2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NDUyMTQKIApkaWZmIC0tZ2l0IGEvV2Vi
S2l0L3dpbi9XZWJGcmFtZS5jcHAgYi9XZWJLaXQvd2luL1dlYkZyYW1lLmNwcAppbmRleCA3ZDE0
N2I4M2QzM2M4NGUwOWM1Yzc5NjkzNWE4NjZjM2YxNzYxMzIyLi5jMzRmNDAwMDBlYmY2Njk3YTky
ODY3MDYwNDc4YmY0MTliOWE5OTgwIDEwMDY0NAotLS0gYS9XZWJLaXQvd2luL1dlYkZyYW1lLmNw
cAorKysgYi9XZWJLaXQvd2luL1dlYkZyYW1lLmNwcApAQCAtMTM1Miw3ICsxMzUyLDcgQEAgSFJF
U1VMVCBXZWJGcmFtZTo6YWxsb3dzRm9sbG93aW5nTGluayhCU1RSIHVybCwgQk9PTCogcmVzdWx0
KQogICAgIGlmICghZnJhbWUpCiAgICAgICAgIHJldHVybiBFX0ZBSUw7CiAKLSAgICAqcmVzdWx0
ID0gU2VjdXJpdHlPcmlnaW46OmNhbkRpc3BsYXkoTWFyc2hhbGxpbmdIZWxwZXJzOjpCU1RSVG9L
VVJMKHVybCksIFN0cmluZygpLCBmcmFtZS0+ZG9jdW1lbnQoKSk7CisgICAgKnJlc3VsdCA9IGZy
YW1lLT5kb2N1bWVudCgpLT5zZWN1cml0eU9yaWdpbigpLT5jYW5EaXNwbGF5KE1hcnNoYWxsaW5n
SGVscGVyczo6QlNUUlRvS1VSTCh1cmwpKTsKICAgICByZXR1cm4gU19PSzsKIH0KIApkaWZmIC0t
Z2l0IGEvV2ViS2l0Mi9DaGFuZ2VMb2cgYi9XZWJLaXQyL0NoYW5nZUxvZwppbmRleCAzZjBkNWQy
Njg1YjA4ZWJlOTk3MWMzODY5ODg1ZDAxNTAzZmEwZWUzLi43YTAxOTYwNzE0MjBhZTYzZmMxNDMw
MjQ3NWExNjE4ZDkxZGQyNzdkIDEwMDY0NAotLS0gYS9XZWJLaXQyL0NoYW5nZUxvZworKysgYi9X
ZWJLaXQyL0NoYW5nZUxvZwpAQCAtMiw2ICsyLDE2IEBACiAKICAgICAgICAgUmV2aWV3ZWQgYnkg
Tk9CT0RZIChPT1BTISkuCiAKKyAgICAgICAgTWFrZSBTZWN1cml0eU9yaWdpbjo6Y2FuRGlzcGxh
eSBhbiBpbnN0YW5jZSBmdW5jdGlvbgorICAgICAgICBodHRwczovL2J1Z3Mud2Via2l0Lm9yZy9z
aG93X2J1Zy5jZ2k/aWQ9NDUyMTkKKworICAgICAgICAqIFdlYlByb2Nlc3MvUGx1Z2lucy9QbHVn
aW5WaWV3LmNwcDoKKyAgICAgICAgKFdlYktpdDo6UGx1Z2luVmlldzo6cGVyZm9ybUZyYW1lTG9h
ZFVSTFJlcXVlc3QpOgorCisyMDEwLTA5LTAzICBBZGFtIEJhcnRoICA8YWJhcnRoQHdlYmtpdC5v
cmc+CisKKyAgICAgICAgUmV2aWV3ZWQgYnkgTk9CT0RZIChPT1BTISkuCisKICAgICAgICAgUmVu
YW1lIFNlY3VyaXR5T3JpZ2luOjpjYW5Mb2FkIHRvIGNhbkRpc3BsYXkKICAgICAgICAgaHR0cHM6
Ly9idWdzLndlYmtpdC5vcmcvc2hvd19idWcuY2dpP2lkPTQ1MjE0CiAKZGlmZiAtLWdpdCBhL1dl
YktpdDIvV2ViUHJvY2Vzcy9QbHVnaW5zL1BsdWdpblZpZXcuY3BwIGIvV2ViS2l0Mi9XZWJQcm9j
ZXNzL1BsdWdpbnMvUGx1Z2luVmlldy5jcHAKaW5kZXggM2U4MzA3OWNlODBlZjMyMTdkZWFhZTc2
YjJmYmEzNTIyMTI4ZTg2My4uZWIyZDY5MWU0ZDU5NjM2NzQ3N2JhZDlkNDFmNTZiMzE4ZGUyMmY5
YSAxMDA2NDQKLS0tIGEvV2ViS2l0Mi9XZWJQcm9jZXNzL1BsdWdpbnMvUGx1Z2luVmlldy5jcHAK
KysrIGIvV2ViS2l0Mi9XZWJQcm9jZXNzL1BsdWdpbnMvUGx1Z2luVmlldy5jcHAKQEAgLTUxNCw4
ICs1MTQsNyBAQCB2b2lkIFBsdWdpblZpZXc6OnBlcmZvcm1GcmFtZUxvYWRVUkxSZXF1ZXN0KFVS
TFJlcXVlc3QqIHJlcXVlc3QpCiAgICAgaWYgKCFmcmFtZSkKICAgICAgICAgcmV0dXJuOwogCi0g
ICAgLy8gQ2hlY2sgaWYgdGhpcyBpcyBVUkwgY2FuIGJlIGxvYWRlZC4KLSAgICBpZiAoIVNlY3Vy
aXR5T3JpZ2luOjpjYW5EaXNwbGF5KHJlcXVlc3QtPnJlcXVlc3QoKS51cmwoKSwgU3RyaW5nKCks
IG1fcGx1Z2luRWxlbWVudC0+ZG9jdW1lbnQoKSkpIHsKKyAgICBpZiAoIW1fcGx1Z2luRWxlbWVu
dC0+ZG9jdW1lbnQoKS0+c2VjdXJpdHlPcmlnaW4oKS0+Y2FuRGlzcGxheShyZXF1ZXN0LT5yZXF1
ZXN0KCkudXJsKCkpKSB7CiAgICAgICAgIC8vIFdlIGNhbid0IGxvYWQgdGhlIHJlcXVlc3QsIHNl
bmQgYmFjayBhIHJlcGx5IHRvIHRoZSBwbHVnLWluLgogICAgICAgICBtX3BsdWdpbi0+ZnJhbWVE
aWRGYWlsKHJlcXVlc3QtPnJlcXVlc3RJRCgpLCBmYWxzZSk7CiAgICAgICAgIHJldHVybjsK
</data>

          </attachment>
          <attachment
              isobsolete="0"
              ispatch="1"
              isprivate="0"
          >
            <attachid>67320</attachid>
            <date>2010-09-11 17:54:56 -0700</date>
            <delta_ts>2010-09-11 19:28:36 -0700</delta_ts>
            <desc>Patch for landing</desc>
            <filename>bug-45219-20100911175455.patch</filename>
            <type>text/plain</type>
            <size>23001</size>
            <attacher name="Adam Barth">abarth</attacher>
            
              <data encoding="base64">ZGlmZiAtLWdpdCBhL1dlYkNvcmUvQ2hhbmdlTG9nIGIvV2ViQ29yZS9DaGFuZ2VMb2cKaW5kZXgg
YTFjZGYzNjhhNTE2ZGIyMzBjMDQwYjcwOTI4ZTM4YTQ5NTM5ZTNlMC4uNzVmZGM2ZTE4ZmQ2YzIx
Mjc0YTY1NGY1MzdlNzg2ZDM3NDM5ZmRmYiAxMDA2NDQKLS0tIGEvV2ViQ29yZS9DaGFuZ2VMb2cK
KysrIGIvV2ViQ29yZS9DaGFuZ2VMb2cKQEAgLTEsMyArMSw3MyBAQAorMjAxMC0wOS0xMSAgQWRh
bSBCYXJ0aCAgPGFiYXJ0aEB3ZWJraXQub3JnPgorCisgICAgICAgIFJldmlld2VkIGJ5IFNhbSBX
ZWluaWcuCisKKyAgICAgICAgTWFrZSBTZWN1cml0eU9yaWdpbjo6Y2FuRGlzcGxheSBhbiBpbnN0
YW5jZSBmdW5jdGlvbgorICAgICAgICBodHRwczovL2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5j
Z2k/aWQ9NDUyMTkKKworICAgICAgICBUaGlzIGZ1bmN0aW9uIHdhcyBzZWNyZXRseSBhbiBpbnN0
YW5jZSBmdW5jdGlvbiBiZWNhdXNlIGNhbGxlcnMgbmVlZGVkCisgICAgICAgIHRvIHBhc3MgaW4g
YSBkb2N1bWVudCAod2hpY2ggb3ducyBhIFNlY3VyaXR5T3JpZ2luKS4gIE9ubHkgdGhlCisgICAg
ICAgIEZyYW1lTG9hZGVyIGFjdHVhbGx5IG5lZWRzIHRoZSBtZXRob2QgdG8gYmUgc3RhdGljLgor
CisgICAgICAgICogV2ViQ29yZS5leHAuaW46CisgICAgICAgICogaHRtbC9IVE1MTWVkaWFFbGVt
ZW50LmNwcDoKKyAgICAgICAgKFdlYkNvcmU6OkhUTUxNZWRpYUVsZW1lbnQ6OmlzU2FmZVRvTG9h
ZFVSTCk6CisgICAgICAgICogbG9hZGVyL0NhY2hlLmNwcDoKKyAgICAgICAgKFdlYkNvcmU6OkNh
Y2hlOjpyZXF1ZXN0UmVzb3VyY2UpOgorICAgICAgICAgICAgLSBOb3RpY2UgdGhhdCBEb2NMb2Fk
ZXI6OmRvYygpIGNhbiBuZXZlciBiZSAwLgorICAgICAgICAqIGxvYWRlci9GcmFtZUxvYWRlci5j
cHA6CisgICAgICAgIChXZWJDb3JlOjpGcmFtZUxvYWRlcjo6bG9hZEZyYW1lUmVxdWVzdCk6Cisg
ICAgICAgICogbG9hZGVyL1BpbmdMb2FkZXIuY3BwOgorICAgICAgICAoV2ViQ29yZTo6UGluZ0xv
YWRlcjo6bG9hZEltYWdlKToKKyAgICAgICAgKiBsb2FkZXIvU3ViZnJhbWVMb2FkZXIuY3BwOgor
ICAgICAgICAoV2ViQ29yZTo6U3ViZnJhbWVMb2FkZXI6OmxvYWRNZWRpYVBsYXllclByb3h5UGx1
Z2luKToKKyAgICAgICAgKFdlYkNvcmU6OlN1YmZyYW1lTG9hZGVyOjpjcmVhdGVKYXZhQXBwbGV0
V2lkZ2V0KToKKyAgICAgICAgKFdlYkNvcmU6OlN1YmZyYW1lTG9hZGVyOjpsb2FkU3ViZnJhbWUp
OgorICAgICAgICAoV2ViQ29yZTo6U3ViZnJhbWVMb2FkZXI6OmxvYWRQbHVnaW4pOgorICAgICAg
ICAqIGxvYWRlci9TdWJyZXNvdXJjZUxvYWRlci5jcHA6CisgICAgICAgIChXZWJDb3JlOjpTdWJy
ZXNvdXJjZUxvYWRlcjo6Y3JlYXRlKToKKyAgICAgICAgKiBwYWdlL1NlY3VyaXR5T3JpZ2luLmNw
cDoKKyAgICAgICAgKFdlYkNvcmU6OlNlY3VyaXR5T3JpZ2luOjpjYW5EaXNwbGF5KToKKyAgICAg
ICAgKFdlYkNvcmU6OlNlY3VyaXR5T3JpZ2luOjpkZXByZWNhdGVkQ2FuRGlzcGxheSk6CisgICAg
ICAgICogcGFnZS9TZWN1cml0eU9yaWdpbi5oOgorICAgICAgICAqIHBsdWdpbnMvUGx1Z2luVmll
dy5jcHA6CisgICAgICAgIChXZWJDb3JlOjpQbHVnaW5WaWV3Ojpsb2FkKToKKworMjAxMC0wOS0x
MSAgQWRhbSBCYXJ0aCAgPGFiYXJ0aEB3ZWJraXQub3JnPgorCisgICAgICAgIFJldmlld2VkIGJ5
IFNhbSBXZWluaWcuCisKKyAgICAgICAgTWFrZSBTZWN1cml0eU9yaWdpbjo6Y2FuRGlzcGxheSBh
biBpbnN0YW5jZSBmdW5jdGlvbgorICAgICAgICBodHRwczovL2J1Z3Mud2Via2l0Lm9yZy9zaG93
X2J1Zy5jZ2k/aWQ9NDUyMTkKKworICAgICAgICBUaGlzIGZ1bmN0aW9uIHdhcyBzZWNyZXRseSBh
biBpbnN0YW5jZSBmdW5jdGlvbiBiZWNhdXNlIGNhbGxlcnMgbmVlZGVkCisgICAgICAgIHRvIHBh
c3MgaW4gYSBkb2N1bWVudCAod2hpY2ggb3ducyBhIFNlY3VyaXR5T3JpZ2luKS4gIE9ubHkgdGhl
CisgICAgICAgIEZyYW1lTG9hZGVyIGFjdHVhbGx5IG5lZWRzIHRoZSBtZXRob2QgdG8gYmUgc3Rh
dGljLgorCisgICAgICAgICogV2ViQ29yZS5leHAuaW46CisgICAgICAgICogaHRtbC9IVE1MTWVk
aWFFbGVtZW50LmNwcDoKKyAgICAgICAgKFdlYkNvcmU6OkhUTUxNZWRpYUVsZW1lbnQ6OmlzU2Fm
ZVRvTG9hZFVSTCk6CisgICAgICAgICogbG9hZGVyL0NhY2hlLmNwcDoKKyAgICAgICAgKFdlYkNv
cmU6OkNhY2hlOjpyZXF1ZXN0UmVzb3VyY2UpOgorICAgICAgICAgICAgLSBOb3RpY2UgdGhhdCBE
b2NMb2FkZXI6OmRvYygpIGNhbiBuZXZlciBiZSAwLgorICAgICAgICAqIGxvYWRlci9GcmFtZUxv
YWRlci5jcHA6CisgICAgICAgIChXZWJDb3JlOjpGcmFtZUxvYWRlcjo6bG9hZEZyYW1lUmVxdWVz
dCk6CisgICAgICAgICogbG9hZGVyL1BpbmdMb2FkZXIuY3BwOgorICAgICAgICAoV2ViQ29yZTo6
UGluZ0xvYWRlcjo6bG9hZEltYWdlKToKKyAgICAgICAgKiBsb2FkZXIvU3ViZnJhbWVMb2FkZXIu
Y3BwOgorICAgICAgICAoV2ViQ29yZTo6U3ViZnJhbWVMb2FkZXI6OmxvYWRNZWRpYVBsYXllclBy
b3h5UGx1Z2luKToKKyAgICAgICAgKFdlYkNvcmU6OlN1YmZyYW1lTG9hZGVyOjpjcmVhdGVKYXZh
QXBwbGV0V2lkZ2V0KToKKyAgICAgICAgKFdlYkNvcmU6OlN1YmZyYW1lTG9hZGVyOjpsb2FkU3Vi
ZnJhbWUpOgorICAgICAgICAoV2ViQ29yZTo6U3ViZnJhbWVMb2FkZXI6OmxvYWRQbHVnaW4pOgor
ICAgICAgICAqIGxvYWRlci9TdWJyZXNvdXJjZUxvYWRlci5jcHA6CisgICAgICAgIChXZWJDb3Jl
OjpTdWJyZXNvdXJjZUxvYWRlcjo6Y3JlYXRlKToKKyAgICAgICAgKiBwYWdlL1NlY3VyaXR5T3Jp
Z2luLmNwcDoKKyAgICAgICAgKFdlYkNvcmU6OlNlY3VyaXR5T3JpZ2luOjpjYW5EaXNwbGF5KToK
KyAgICAgICAgKFdlYkNvcmU6OlNlY3VyaXR5T3JpZ2luOjpkZXByZWNhdGVkQ2FuRGlzcGxheSk6
CisgICAgICAgICogcGFnZS9TZWN1cml0eU9yaWdpbi5oOgorICAgICAgICAqIHBsdWdpbnMvUGx1
Z2luVmlldy5jcHA6CisgICAgICAgIChXZWJDb3JlOjpQbHVnaW5WaWV3Ojpsb2FkKToKKwogMjAx
MC0wOS0xMSAgU2ltb24gSGF1c21hbm4gIDxzaW1vbi5oYXVzbWFubkBub2tpYS5jb20+CiAKICAg
ICAgICAgVW5yZXZpZXdlZC4KZGlmZiAtLWdpdCBhL1dlYkNvcmUvV2ViQ29yZS5leHAuaW4gYi9X
ZWJDb3JlL1dlYkNvcmUuZXhwLmluCmluZGV4IDJkZDAwNDg3ZjIxZTM1YjU1NGU4ZTk2Mzk0OTNm
MzdkYWI1NTU2ZDUuLjdhM2U1M2U0YTE4NjAxZWNiZGNjMDhkODZlODQ5NDNiOGJjYmExYzggMTAw
NjQ0Ci0tLSBhL1dlYkNvcmUvV2ViQ29yZS5leHAuaW4KKysrIGIvV2ViQ29yZS9XZWJDb3JlLmV4
cC5pbgpAQCAtMzE0LDcgKzMxNCw2IEBAIF9fWk43V2ViQ29yZTE0U1ZHU01JTEVsZW1lbnQxM2lz
U01JTEVsZW1lbnRFUE5TXzROb2RlRQogX19aTjdXZWJDb3JlMTRTY2hlbWVSZWdpc3RyeTI0cmVn
aXN0ZXJVUkxTY2hlbWVBc0xvY2FsRVJLTjNXVEY2U3RyaW5nRQogX19aTjdXZWJDb3JlMTRTY2hl
bWVSZWdpc3RyeTI1cmVnaXN0ZXJVUkxTY2hlbWVBc1NlY3VyZUVSS04zV1RGNlN0cmluZ0UKIF9f
Wk43V2ViQ29yZTE0U2NoZW1lUmVnaXN0cnkzMnJlZ2lzdGVyVVJMU2NoZW1lQXNFbXB0eURvY3Vt
ZW50RVJLTjNXVEY2U3RyaW5nRQotX19aTjdXZWJDb3JlMTRTZWN1cml0eU9yaWdpbjEwY2FuRGlz
cGxheUVSS05TXzRLVVJMRVJLTjNXVEY2U3RyaW5nRVBOU184RG9jdW1lbnRFCiBfX1pON1dlYkNv
cmUxNFNlY3VyaXR5T3JpZ2luMTZjcmVhdGVGcm9tU3RyaW5nRVJLTjNXVEY2U3RyaW5nRQogX19a
TjdXZWJDb3JlMTRTZWN1cml0eU9yaWdpbjE4c2V0TG9jYWxMb2FkUG9saWN5RU5TMF8xNUxvY2Fs
TG9hZFBvbGljeUUKIF9fWk43V2ViQ29yZTE0U2VjdXJpdHlPcmlnaW4xOHNob3VsZEhpZGVSZWZl
cnJlckVSS05TXzRLVVJMRVJLTjNXVEY2U3RyaW5nRQpAQCAtOTMzLDYgKzkzMiw3IEBAIF9fWk5L
N1dlYkNvcmUxNERvY3VtZW50TG9hZGVyM3VybEV2CiBfX1pOSzdXZWJDb3JlMTRSZW5kZXJMaXN0
SXRlbTEwbWFya2VyVGV4dEV2CiBfX1pOSzdXZWJDb3JlMTRSZXNvdXJjZUhhbmRsZTEwY29ubmVj
dGlvbkV2CiBfX1pOSzdXZWJDb3JlMTRSZXNvdXJjZUxvYWRlcjExZnJhbWVMb2FkZXJFdgorX19a
Tks3V2ViQ29yZTE0U2VjdXJpdHlPcmlnaW4xMGNhbkRpc3BsYXlFUktOU180S1VSTEUKIF9fWk5L
N1dlYkNvcmUxNFNlY3VyaXR5T3JpZ2luNWVxdWFsRVBLUzBfCiBfX1pOSzdXZWJDb3JlMTVGb2N1
c0NvbnRyb2xsZXIxOGZvY3VzZWRPck1haW5GcmFtZUV2CiBfX1pOSzdXZWJDb3JlMTVHcmFwaGlj
c0NvbnRleHQxNXBsYXRmb3JtQ29udGV4dEV2CmRpZmYgLS1naXQgYS9XZWJDb3JlL2h0bWwvSFRN
TE1lZGlhRWxlbWVudC5jcHAgYi9XZWJDb3JlL2h0bWwvSFRNTE1lZGlhRWxlbWVudC5jcHAKaW5k
ZXggMWQ0YTFiZDJmZWEzNjM3NGVjMDc4MDhkYjc1YTlmZTJiZWUxZTM0MC4uNjVkMzUwZjE0ZDg5
YWQ4N2ZkZGY2Mzk2ODAwMDNkYTRjYWU2MGIwNCAxMDA2NDQKLS0tIGEvV2ViQ29yZS9odG1sL0hU
TUxNZWRpYUVsZW1lbnQuY3BwCisrKyBiL1dlYkNvcmUvaHRtbC9IVE1MTWVkaWFFbGVtZW50LmNw
cApAQCAtNzQxLDE5ICs3NDEsMTYgQEAgYm9vbCBIVE1MTWVkaWFFbGVtZW50Ojppc1NhZmVUb0xv
YWRVUkwoY29uc3QgS1VSTCYgdXJsLCBJbnZhbGlkU291cmNlQWN0aW9uIGFjdGkKICAgICBpZiAo
IXVybC5pc1ZhbGlkKCkpIHsKICAgICAgICAgTE9HKE1lZGlhLCAiSFRNTE1lZGlhRWxlbWVudDo6
aXNTYWZlVG9Mb2FkVVJMKCVzKSAtPiBGQUxTRSBiZWNhdXNlIHVybCBpcyBpbnZhbGlkIiwgdXJs
Rm9yTG9nZ2luZyh1cmwuc3RyaW5nKCkpLnV0ZjgoKS5kYXRhKCkpOwogICAgICAgICByZXR1cm4g
ZmFsc2U7Ci0gICAgICAgfQotICAgIAotICAgIEZyYW1lKiBmcmFtZSA9IGRvY3VtZW50KCktPmZy
YW1lKCk7Ci0gICAgRnJhbWVMb2FkZXIqIGxvYWRlciA9IGZyYW1lID8gZnJhbWUtPmxvYWRlcigp
IDogMDsKKyAgICB9CiAKLSAgICAvLyBkb24ndCBhbGxvdyByZW1vdGUgdG8gbG9jYWwgdXJscywg
YW5kIGNoZWNrIHdpdGggdGhlIGZyYW1lIGxvYWRlciBjbGllbnQuCi0gICAgaWYgKCFsb2FkZXIg
fHwgIVNlY3VyaXR5T3JpZ2luOjpjYW5EaXNwbGF5KHVybCwgU3RyaW5nKCksIGRvY3VtZW50KCkp
KSB7CisgICAgRnJhbWUqIGZyYW1lID0gZG9jdW1lbnQoKS0+ZnJhbWUoKTsKKyAgICBpZiAoIWZy
YW1lIHx8ICFkb2N1bWVudCgpLT5zZWN1cml0eU9yaWdpbigpLT5jYW5EaXNwbGF5KHVybCkpIHsK
ICAgICAgICAgaWYgKGFjdGlvbklmSW52YWxpZCA9PSBDb21wbGFpbikKICAgICAgICAgICAgIEZy
YW1lTG9hZGVyOjpyZXBvcnRMb2NhbExvYWRGYWlsZWQoZnJhbWUsIHVybC5zdHJpbmcoKSk7CiAg
ICAgICAgIExPRyhNZWRpYSwgIkhUTUxNZWRpYUVsZW1lbnQ6OmlzU2FmZVRvTG9hZFVSTCglcykg
LT4gRkFMU0UgcmVqZWN0ZWQgYnkgU2VjdXJpdHlPcmlnaW4iLCB1cmxGb3JMb2dnaW5nKHVybC5z
dHJpbmcoKSkudXRmOCgpLmRhdGEoKSk7CiAgICAgICAgIHJldHVybiBmYWxzZTsKICAgICB9Ci0g
ICAgCisKICAgICByZXR1cm4gdHJ1ZTsKIH0KIApkaWZmIC0tZ2l0IGEvV2ViQ29yZS9sb2FkZXIv
Q2FjaGUuY3BwIGIvV2ViQ29yZS9sb2FkZXIvQ2FjaGUuY3BwCmluZGV4IDdhY2JkNTYzMDE4OTQ1
OTVhMTY1MzI3YjYxYzUxZGFjMzVhZTZhMmMuLmRiY2VjMDBhMTM2ZjY2YmI3ZDMzNGM4NTQwODM1
NWIzNmIwNjU2ZDYgMTAwNjQ0Ci0tLSBhL1dlYkNvcmUvbG9hZGVyL0NhY2hlLmNwcAorKysgYi9X
ZWJDb3JlL2xvYWRlci9DYWNoZS5jcHAKQEAgLTk5LDE3ICs5OSwxNiBAQCBDYWNoZWRSZXNvdXJj
ZSogQ2FjaGU6OnJlcXVlc3RSZXNvdXJjZShDYWNoZWRSZXNvdXJjZUxvYWRlciogY2FjaGVkUmVz
b3VyY2VMb2FkZQogICAgIC8vIFdvdWxkIGl0IGJlIGJldHRlciB0byBqdXN0IGdvIG9uIHdpdGgg
dGhlIGNhY2hlIGNvZGUgYW5kIGxldCBpdCBmYWlsIGxhdGVyPwogICAgIGlmICh1cmwuaXNFbXB0
eSgpKQogICAgICAgICByZXR1cm4gMDsKLSAgICAKKwogICAgIC8vIExvb2sgdXAgdGhlIHJlc291
cmNlIGluIG91ciBtYXAuCiAgICAgQ2FjaGVkUmVzb3VyY2UqIHJlc291cmNlID0gcmVzb3VyY2VG
b3JVUkwodXJsLnN0cmluZygpKTsKLSAgICAKKwogICAgIGlmIChyZXNvdXJjZSAmJiByZXF1ZXN0
SXNQcmVsb2FkICYmICFyZXNvdXJjZS0+aXNQcmVsb2FkZWQoKSkKICAgICAgICAgcmV0dXJuIDA7
Ci0gICAgCi0gICAgaWYgKFNlY3VyaXR5T3JpZ2luOjpyZXN0cmljdEFjY2Vzc1RvTG9jYWwoKSAm
JiAhU2VjdXJpdHlPcmlnaW46OmNhbkRpc3BsYXkodXJsLCBTdHJpbmcoKSwgY2FjaGVkUmVzb3Vy
Y2VMb2FkZXItPmRvYygpKSkgewotICAgICAgICBEb2N1bWVudCogZG9jID0gY2FjaGVkUmVzb3Vy
Y2VMb2FkZXItPmRvYygpOwotICAgICAgICBpZiAoZG9jICYmICFyZXF1ZXN0SXNQcmVsb2FkKQot
ICAgICAgICAgICAgRnJhbWVMb2FkZXI6OnJlcG9ydExvY2FsTG9hZEZhaWxlZChkb2MtPmZyYW1l
KCksIHVybC5zdHJpbmcoKSk7CisKKyAgICBpZiAoIWNhY2hlZFJlc291cmNlTG9hZGVyLT5kb2Mo
KS0+c2VjdXJpdHlPcmlnaW4oKS0+Y2FuRGlzcGxheSh1cmwpKSB7CisgICAgICAgIGlmICghcmVx
dWVzdElzUHJlbG9hZCkKKyAgICAgICAgICAgIEZyYW1lTG9hZGVyOjpyZXBvcnRMb2NhbExvYWRG
YWlsZWQoY2FjaGVkUmVzb3VyY2VMb2FkZXItPmRvYygpLT5mcmFtZSgpLCB1cmwuc3RyaW5nKCkp
OwogICAgICAgICByZXR1cm4gMDsKICAgICB9CiAgICAgCmRpZmYgLS1naXQgYS9XZWJDb3JlL2xv
YWRlci9GcmFtZUxvYWRlci5jcHAgYi9XZWJDb3JlL2xvYWRlci9GcmFtZUxvYWRlci5jcHAKaW5k
ZXggNGIzM2ZhMDBhNjRhZmExOGU1MjI5ZWExNTM3ODRjNzM3Nzc1N2MyYy4uMmVjNmY3MjA4MmJk
ZDg3ODM2ZmYyY2Q5M2MwMzk0MjY3NTVhMWFiOCAxMDA2NDQKLS0tIGEvV2ViQ29yZS9sb2FkZXIv
RnJhbWVMb2FkZXIuY3BwCisrKyBiL1dlYkNvcmUvbG9hZGVyL0ZyYW1lTG9hZGVyLmNwcApAQCAt
MTI1Nyw5ICsxMjU3LDEwIEBAIHZvaWQgRnJhbWVMb2FkZXI6OmxvYWRGcmFtZVJlcXVlc3QoY29u
c3QgRnJhbWVMb2FkUmVxdWVzdCYgcmVxdWVzdCwgYm9vbCBsb2NrSGlzCiAgICAgICAgIHJlZmVy
cmVyID0gbV9vdXRnb2luZ1JlZmVycmVyOwogCiAgICAgQVNTRVJUKGZyYW1lKCktPmRvY3VtZW50
KCkpOwotICAgIGlmIChTY2hlbWVSZWdpc3RyeTo6c2hvdWxkVHJlYXRVUkxBc0xvY2FsKHVybC5z
dHJpbmcoKSkgJiYgIWlzRmVlZFdpdGhOZXN0ZWRQcm90b2NvbEluSFRUUEZhbWlseSh1cmwpKSB7
Ci0gICAgICAgIGlmICghU2VjdXJpdHlPcmlnaW46OmNhbkRpc3BsYXkodXJsLCBTdHJpbmcoKSwg
ZnJhbWUoKS0+ZG9jdW1lbnQoKSkgJiYgIVNlY3VyaXR5T3JpZ2luOjpjYW5EaXNwbGF5KHVybCwg
cmVmZXJyZXIsIDApKSB7Ci0gICAgICAgICAgICBGcmFtZUxvYWRlcjo6cmVwb3J0TG9jYWxMb2Fk
RmFpbGVkKG1fZnJhbWUsIHVybC5zdHJpbmcoKSk7CisgICAgLy8gRklYTUU6IFNob3VsZCB3ZSBt
b3ZlIHRoZSBpc0ZlZWRXaXRoTmVzdGVkUHJvdG9jb2xJbkhUVFBGYW1pbHkgbG9naWMgaW5zaWRl
IFNlY3VyaXR5T3JpZ2luOjpjYW5EaXNwbGF5PworICAgIGlmICghaXNGZWVkV2l0aE5lc3RlZFBy
b3RvY29sSW5IVFRQRmFtaWx5KHVybCkpIHsKKyAgICAgICAgaWYgKCFmcmFtZSgpLT5kb2N1bWVu
dCgpLT5zZWN1cml0eU9yaWdpbigpLT5jYW5EaXNwbGF5KHVybCkgJiYgIVNlY3VyaXR5T3JpZ2lu
OjpkZXByZWNhdGVkQ2FuRGlzcGxheShyZWZlcnJlciwgdXJsKSkgeworICAgICAgICAgICAgcmVw
b3J0TG9jYWxMb2FkRmFpbGVkKG1fZnJhbWUsIHVybC5zdHJpbmcoKSk7CiAgICAgICAgICAgICBy
ZXR1cm47CiAgICAgICAgIH0KICAgICB9CmRpZmYgLS1naXQgYS9XZWJDb3JlL2xvYWRlci9QaW5n
TG9hZGVyLmNwcCBiL1dlYkNvcmUvbG9hZGVyL1BpbmdMb2FkZXIuY3BwCmluZGV4IDM3MmNjODIz
OTQyZmQxYmFhZDE5Y2QyMTNhNWIxYzkzNmM2ZDhiYmEuLjJhNjI4Y2UzYTJkMTgxOTY1MGI4ODc3
Mzk3ZGFjZWRiZDEyMjdlYmEgMTAwNjQ0Ci0tLSBhL1dlYkNvcmUvbG9hZGVyL1BpbmdMb2FkZXIu
Y3BwCisrKyBiL1dlYkNvcmUvbG9hZGVyL1BpbmdMb2FkZXIuY3BwCkBAIC00Miw3ICs0Miw3IEBA
IG5hbWVzcGFjZSBXZWJDb3JlIHsKIAogdm9pZCBQaW5nTG9hZGVyOjpsb2FkSW1hZ2UoRnJhbWUq
IGZyYW1lLCBjb25zdCBLVVJMJiB1cmwpCiB7Ci0gICAgaWYgKFNlY3VyaXR5T3JpZ2luOjpyZXN0
cmljdEFjY2Vzc1RvTG9jYWwoKSAmJiAhU2VjdXJpdHlPcmlnaW46OmNhbkRpc3BsYXkodXJsLCBT
dHJpbmcoKSwgZnJhbWUtPmRvY3VtZW50KCkpKSB7CisgICAgaWYgKCFmcmFtZS0+ZG9jdW1lbnQo
KS0+c2VjdXJpdHlPcmlnaW4oKS0+Y2FuRGlzcGxheSh1cmwpKSB7CiAgICAgICAgIEZyYW1lTG9h
ZGVyOjpyZXBvcnRMb2NhbExvYWRGYWlsZWQoZnJhbWUsIHVybCk7CiAgICAgICAgIHJldHVybjsK
ICAgICB9CmRpZmYgLS1naXQgYS9XZWJDb3JlL2xvYWRlci9TdWJmcmFtZUxvYWRlci5jcHAgYi9X
ZWJDb3JlL2xvYWRlci9TdWJmcmFtZUxvYWRlci5jcHAKaW5kZXggZDM2NGU4OGY4YjY4MzhmZTU2
Y2UyMGRkYjJmYjVmYWJjOTljMGE1MS4uZTI0N2U1YmNjNDFhM2M1MzA2NGE2NmJkZjk0ZjZmYjU4
YmFkNmIwZiAxMDA2NDQKLS0tIGEvV2ViQ29yZS9sb2FkZXIvU3ViZnJhbWVMb2FkZXIuY3BwCisr
KyBiL1dlYkNvcmUvbG9hZGVyL1N1YmZyYW1lTG9hZGVyLmNwcApAQCAtMTU2LDcgKzE1Niw3IEBA
IFBhc3NSZWZQdHI8V2lkZ2V0PiBTdWJmcmFtZUxvYWRlcjo6bG9hZE1lZGlhUGxheWVyUHJveHlQ
bHVnaW4oTm9kZSogbm9kZSwgY29uc3QKICAgICBpZiAoIXVybC5pc0VtcHR5KCkpCiAgICAgICAg
IGNvbXBsZXRlZFVSTCA9IGNvbXBsZXRlVVJMKHVybCk7CiAKLSAgICBpZiAoIVNlY3VyaXR5T3Jp
Z2luOjpjYW5EaXNwbGF5KGNvbXBsZXRlZFVSTCwgU3RyaW5nKCksIG1fZnJhbWUtPmRvY3VtZW50
KCkpKSB7CisgICAgaWYgKCFtX2ZyYW1lLT5kb2N1bWVudCgpLT5zZWN1cml0eU9yaWdpbigpLT5j
YW5EaXNwbGF5KGNvbXBsZXRlZFVSTCkpIHsKICAgICAgICAgRnJhbWVMb2FkZXI6OnJlcG9ydExv
Y2FsTG9hZEZhaWxlZChtX2ZyYW1lLCBjb21wbGV0ZWRVUkwuc3RyaW5nKCkpOwogICAgICAgICBy
ZXR1cm4gMDsKICAgICB9CkBAIC0yMTQsNyArMjE0LDcgQEAgUGFzc1JlZlB0cjxXaWRnZXQ+IFN1
YmZyYW1lTG9hZGVyOjpjcmVhdGVKYXZhQXBwbGV0V2lkZ2V0KGNvbnN0IEludFNpemUmIHNpemUs
IEgKIAogICAgIGlmICghY29kZUJhc2VVUkxTdHJpbmcuaXNFbXB0eSgpKSB7CiAgICAgICAgIEtV
UkwgY29kZUJhc2VVUkwgPSBjb21wbGV0ZVVSTChjb2RlQmFzZVVSTFN0cmluZyk7Ci0gICAgICAg
IGlmICghU2VjdXJpdHlPcmlnaW46OmNhbkRpc3BsYXkoY29kZUJhc2VVUkwsIFN0cmluZygpLCBl
bGVtZW50LT5kb2N1bWVudCgpKSkgeworICAgICAgICBpZiAoIWVsZW1lbnQtPmRvY3VtZW50KCkt
PnNlY3VyaXR5T3JpZ2luKCktPmNhbkRpc3BsYXkoY29kZUJhc2VVUkwpKSB7CiAgICAgICAgICAg
ICBGcmFtZUxvYWRlcjo6cmVwb3J0TG9jYWxMb2FkRmFpbGVkKG1fZnJhbWUsIGNvZGVCYXNlVVJM
LnN0cmluZygpKTsKICAgICAgICAgICAgIHJldHVybiAwOwogICAgICAgICB9CkBAIC0yNTYsNyAr
MjU2LDcgQEAgRnJhbWUqIFN1YmZyYW1lTG9hZGVyOjpsb2FkU3ViZnJhbWUoSFRNTEZyYW1lT3du
ZXJFbGVtZW50KiBvd25lckVsZW1lbnQsIGNvbnN0IEsKICAgICAgICAgbWFyZ2luSGVpZ2h0ID0g
by0+Z2V0TWFyZ2luSGVpZ2h0KCk7CiAgICAgfQogCi0gICAgaWYgKCFTZWN1cml0eU9yaWdpbjo6
Y2FuRGlzcGxheSh1cmwsIFN0cmluZygpLCBvd25lckVsZW1lbnQtPmRvY3VtZW50KCkpKSB7Cisg
ICAgaWYgKCFvd25lckVsZW1lbnQtPmRvY3VtZW50KCktPnNlY3VyaXR5T3JpZ2luKCktPmNhbkRp
c3BsYXkodXJsKSkgewogICAgICAgICBGcmFtZUxvYWRlcjo6cmVwb3J0TG9jYWxMb2FkRmFpbGVk
KG1fZnJhbWUsIHVybC5zdHJpbmcoKSk7CiAgICAgICAgIHJldHVybiAwOwogICAgIH0KQEAgLTM0
NSw3ICszNDUsNyBAQCBib29sIFN1YmZyYW1lTG9hZGVyOjpsb2FkUGx1Z2luKEhUTUxQbHVnSW5J
bWFnZUVsZW1lbnQqIHBsdWdpbkVsZW1lbnQsIGNvbnN0IEtVUgogICAgIGlmICghcmVuZGVyZXIg
fHwgdXNlRmFsbGJhY2spCiAgICAgICAgIHJldHVybiBmYWxzZTsKIAotICAgIGlmICghU2VjdXJp
dHlPcmlnaW46OmNhbkRpc3BsYXkodXJsLCBTdHJpbmcoKSwgZG9jdW1lbnQoKSkpIHsKKyAgICBp
ZiAoIWRvY3VtZW50KCktPnNlY3VyaXR5T3JpZ2luKCktPmNhbkRpc3BsYXkodXJsKSkgewogICAg
ICAgICBGcmFtZUxvYWRlcjo6cmVwb3J0TG9jYWxMb2FkRmFpbGVkKG1fZnJhbWUsIHVybC5zdHJp
bmcoKSk7CiAgICAgICAgIHJldHVybiBmYWxzZTsKICAgICB9CmRpZmYgLS1naXQgYS9XZWJDb3Jl
L2xvYWRlci9TdWJyZXNvdXJjZUxvYWRlci5jcHAgYi9XZWJDb3JlL2xvYWRlci9TdWJyZXNvdXJj
ZUxvYWRlci5jcHAKaW5kZXggNjlkNGE1YzYwYzg1YTM1Mzk2OWUzYTI1MmY0NWY0MTE4YjE3M2Fj
Ny4uZTVjZWM4OGYwMzRlNTE3YjgxYTA2MjEyNGEyMWJiY2YxNTc5MzcyNSAxMDA2NDQKLS0tIGEv
V2ViQ29yZS9sb2FkZXIvU3VicmVzb3VyY2VMb2FkZXIuY3BwCisrKyBiL1dlYkNvcmUvbG9hZGVy
L1N1YnJlc291cmNlTG9hZGVyLmNwcApAQCAtNzEsOSArNzEsNyBAQCBQYXNzUmVmUHRyPFN1YnJl
c291cmNlTG9hZGVyPiBTdWJyZXNvdXJjZUxvYWRlcjo6Y3JlYXRlKEZyYW1lKiBmcmFtZSwgU3Vi
cmVzb3VyYwogCiAgICAgUmVzb3VyY2VSZXF1ZXN0IG5ld1JlcXVlc3QgPSByZXF1ZXN0OwogCi0g
ICAgaWYgKHNlY3VyaXR5Q2hlY2sgPT0gRG9TZWN1cml0eUNoZWNrCi0gICAgICAgICAgICAmJiBT
ZWN1cml0eU9yaWdpbjo6cmVzdHJpY3RBY2Nlc3NUb0xvY2FsKCkKLSAgICAgICAgICAgICYmICFT
ZWN1cml0eU9yaWdpbjo6Y2FuRGlzcGxheShyZXF1ZXN0LnVybCgpLCBTdHJpbmcoKSwgZnJhbWUt
PmRvY3VtZW50KCkpKSB7CisgICAgaWYgKHNlY3VyaXR5Q2hlY2sgPT0gRG9TZWN1cml0eUNoZWNr
ICYmICFmcmFtZS0+ZG9jdW1lbnQoKS0+c2VjdXJpdHlPcmlnaW4oKS0+Y2FuRGlzcGxheShyZXF1
ZXN0LnVybCgpKSkgewogICAgICAgICBGcmFtZUxvYWRlcjo6cmVwb3J0TG9jYWxMb2FkRmFpbGVk
KGZyYW1lLCByZXF1ZXN0LnVybCgpLnN0cmluZygpKTsKICAgICAgICAgcmV0dXJuIDA7CiAgICAg
fQpkaWZmIC0tZ2l0IGEvV2ViQ29yZS9wYWdlL1NlY3VyaXR5T3JpZ2luLmNwcCBiL1dlYkNvcmUv
cGFnZS9TZWN1cml0eU9yaWdpbi5jcHAKaW5kZXggMTQzMjBlMzE1OTEwMjNiOWI5YzQwNGFhMDU0
MDQ4OTY3YTAxMDhiNi4uNjAwMTk4MzhiMDliM2ViMDVmZDBjYzM2MDA4NThjYTAwOGEwMjg2ZSAx
MDA2NDQKLS0tIGEvV2ViQ29yZS9wYWdlL1NlY3VyaXR5T3JpZ2luLmNwcAorKysgYi9XZWJDb3Jl
L3BhZ2UvU2VjdXJpdHlPcmlnaW4uY3BwCkBAIC0yODQsMzIgKzI4NCwzNSBAQCBib29sIFNlY3Vy
aXR5T3JpZ2luOjppc0FjY2Vzc1doaXRlTGlzdGVkKGNvbnN0IFNlY3VyaXR5T3JpZ2luKiB0YXJn
ZXRPcmlnaW4pIGNvbgogICAgIHJldHVybiBmYWxzZTsKIH0KICAgCi1ib29sIFNlY3VyaXR5T3Jp
Z2luOjpjYW5EaXNwbGF5KGNvbnN0IEtVUkwmIHVybCwgY29uc3QgU3RyaW5nJiByZWZlcnJlciwg
RG9jdW1lbnQqIGRvY3VtZW50KQorYm9vbCBTZWN1cml0eU9yaWdpbjo6Y2FuRGlzcGxheShjb25z
dCBLVVJMJiB1cmwpIGNvbnN0CiB7CiAjaWYgRU5BQkxFKEJMT0IpCi0gICAgaWYgKHVybC5wcm90
b2NvbElzKEJsb2JVUkw6OmJsb2JQcm90b2NvbCgpKSAmJiBkb2N1bWVudCkgewotICAgICAgICBT
ZWN1cml0eU9yaWdpbiogZG9jdW1lbnRPcmlnaW4gPSBkb2N1bWVudC0+c2VjdXJpdHlPcmlnaW4o
KTsKLSAgICAgICAgUmVmUHRyPFNlY3VyaXR5T3JpZ2luPiB0YXJnZXRPcmlnaW4gPSBTZWN1cml0
eU9yaWdpbjo6Y3JlYXRlKHVybCk7Ci0gICAgICAgIHJldHVybiBkb2N1bWVudE9yaWdpbi0+aXNT
YW1lU2NoZW1lSG9zdFBvcnQodGFyZ2V0T3JpZ2luLmdldCgpKTsKLSAgICB9CisgICAgaWYgKHVy
bC5wcm90b2NvbElzKEJsb2JVUkw6OmJsb2JQcm90b2NvbCgpKSkKKyAgICAgICAgcmV0dXJuIGNh
blJlcXVlc3QodXJsKTsKICNlbmRpZgogCisgICAgaWYgKCFyZXN0cmljdEFjY2Vzc1RvTG9jYWwo
KSkKKyAgICAgICAgcmV0dXJuIHRydWU7CisKICAgICBpZiAoIVNjaGVtZVJlZ2lzdHJ5OjpzaG91
bGRUcmVhdFVSTEFzTG9jYWwodXJsLnN0cmluZygpKSkKICAgICAgICAgcmV0dXJuIHRydWU7CiAK
LSAgICAvLyBJZiB3ZSB3ZXJlIHByb3ZpZGVkIGEgZG9jdW1lbnQsIHdlIGZpcnN0IGNoZWNrIGlm
IHRoZSBhY2Nlc3MgaGFzIGJlZW4gd2hpdGUgbGlzdGVkLgotICAgIC8vIFRoZW4gd2UgbGV0IGl0
cyBsb2NhbCBmaWxlIHBvbGljZSBkaWN0YXRlIHRoZSByZXN1bHQuCi0gICAgLy8gT3RoZXJ3aXNl
IHdlIGFsbG93IGxvY2FsIGxvYWRzIG9ubHkgaWYgdGhlIHN1cHBsaWVkIHJlZmVycmVyIGlzIGFs
c28gbG9jYWwuCi0gICAgaWYgKGRvY3VtZW50KSB7Ci0gICAgICAgIFNlY3VyaXR5T3JpZ2luKiBk
b2N1bWVudE9yaWdpbiA9IGRvY3VtZW50LT5zZWN1cml0eU9yaWdpbigpOwotICAgICAgICBSZWZQ
dHI8U2VjdXJpdHlPcmlnaW4+IHRhcmdldE9yaWdpbiA9IFNlY3VyaXR5T3JpZ2luOjpjcmVhdGUo
dXJsKTsKLSAgICAgICAgaWYgKGRvY3VtZW50T3JpZ2luLT5pc0FjY2Vzc1doaXRlTGlzdGVkKHRh
cmdldE9yaWdpbi5nZXQoKSkpCi0gICAgICAgICAgICByZXR1cm4gdHJ1ZTsKLSAgICAgICAgcmV0
dXJuIGRvY3VtZW50T3JpZ2luLT5jYW5Mb2FkTG9jYWxSZXNvdXJjZXMoKTsKLSAgICB9Ci0gICAg
aWYgKCFyZWZlcnJlci5pc0VtcHR5KCkpCi0gICAgICAgIHJldHVybiBTY2hlbWVSZWdpc3RyeTo6
c2hvdWxkVHJlYXRVUkxBc0xvY2FsKHJlZmVycmVyKTsKLSAgICByZXR1cm4gZmFsc2U7CisgICAg
UmVmUHRyPFNlY3VyaXR5T3JpZ2luPiB0YXJnZXRPcmlnaW4gPSBTZWN1cml0eU9yaWdpbjo6Y3Jl
YXRlKHVybCk7CisgICAgaWYgKGlzQWNjZXNzV2hpdGVMaXN0ZWQodGFyZ2V0T3JpZ2luLmdldCgp
KSkKKyAgICAgICAgcmV0dXJuIHRydWU7CisKKyAgICByZXR1cm4gY2FuTG9hZExvY2FsUmVzb3Vy
Y2VzKCk7Cit9CisKK2Jvb2wgU2VjdXJpdHlPcmlnaW46OmRlcHJlY2F0ZWRDYW5EaXNwbGF5KGNv
bnN0IFN0cmluZyYgcmVmZXJyZXIsIGNvbnN0IEtVUkwmIHVybCkKK3sKKyAgICBpZiAoIXJlc3Ry
aWN0QWNjZXNzVG9Mb2NhbCgpKQorICAgICAgICByZXR1cm4gdHJ1ZTsKKworICAgIGlmICghU2No
ZW1lUmVnaXN0cnk6OnNob3VsZFRyZWF0VVJMQXNMb2NhbCh1cmwuc3RyaW5nKCkpKQorICAgICAg
ICByZXR1cm4gdHJ1ZTsKKworICAgIHJldHVybiBTY2hlbWVSZWdpc3RyeTo6c2hvdWxkVHJlYXRV
UkxBc0xvY2FsKHJlZmVycmVyKTsKIH0KIAogdm9pZCBTZWN1cml0eU9yaWdpbjo6Z3JhbnRMb2Fk
TG9jYWxSZXNvdXJjZXMoKQpkaWZmIC0tZ2l0IGEvV2ViQ29yZS9wYWdlL1NlY3VyaXR5T3JpZ2lu
LmggYi9XZWJDb3JlL3BhZ2UvU2VjdXJpdHlPcmlnaW4uaAppbmRleCAxMzJmYTVmYmU3NjIwOGVj
N2ZlOWIwY2FhOTJhZjIzOGQyNDAxYzVjLi40Nzg5ZDNjZTExYTBhMjMxNTU2MTlhYmMxMDRlYjk4
MWRjZWQ1ZWVmIDEwMDY0NAotLS0gYS9XZWJDb3JlL3BhZ2UvU2VjdXJpdHlPcmlnaW4uaAorKysg
Yi9XZWJDb3JlL3BhZ2UvU2VjdXJpdHlPcmlnaW4uaApAQCAtODYsOSArODYsMTEgQEAgcHVibGlj
OgogCiAgICAgLy8gUmV0dXJucyB0cnVlIGlmIHxkb2N1bWVudHwgY2FuIGRpc3BsYXkgY29udGVu
dCBmcm9tIHRoZSBnaXZlbiBVUkwgKGUuZy4sCiAgICAgLy8gaW4gYW4gaWZyYW1lIG9yIGFzIGFu
IGltYWdlKS4gRm9yIGV4YW1wbGUsIHdlYiBzaXRlcyBnZW5lcmFsbHkgY2Fubm90Ci0gICAgLy8g
ZGlzcGxheSBjb250ZW50IGZyb20gdGhlIHVzZXIncyBmaWxlcyBzeXN0ZW0uIElmIHxkb2N1bWVu
dHwgaXMgMCwKLSAgICAvLyB8cmVmZXJyZXJ8IGlzIHVzZWQgdG8gbWFrZSB0aGlzIGRldGVybWlu
YXRpb24uCi0gICAgc3RhdGljIGJvb2wgY2FuRGlzcGxheShjb25zdCBLVVJMJiwgY29uc3QgU3Ry
aW5nJiByZWZlcnJlciwgRG9jdW1lbnQqIGRvY3VtZW50KTsKKyAgICAvLyBkaXNwbGF5IGNvbnRl
bnQgZnJvbSB0aGUgdXNlcidzIGZpbGVzIHN5c3RlbS4KKyAgICBib29sIGNhbkRpc3BsYXkoY29u
c3QgS1VSTCYpIGNvbnN0OworCisgICAgLy8gRklYTUU6IFJlbW92ZSB0aGlzIGZ1bmN0aW9uLiBU
aGlzIGZ1bmN0aW9uIGV4aXN0cyBvbmx5IHRvIHNlcnZpY2UgRnJhbWVMb2FkZXIuCisgICAgc3Rh
dGljIGJvb2wgZGVwcmVjYXRlZENhbkRpc3BsYXkoY29uc3QgU3RyaW5nJiByZWZlcnJlciwgY29u
c3QgS1VSTCYgdGFyZ2V0VVJMKTsKIAogICAgIC8vIFJldHVybnMgdHJ1ZSBpZiB0aGlzIFNlY3Vy
aXR5T3JpZ2luIGNhbiBsb2FkIGxvY2FsIHJlc291cmNlcywgc3VjaAogICAgIC8vIGFzIGltYWdl
cywgaWZyYW1lcywgYW5kIHN0eWxlIHNoZWV0cywgYW5kIGNhbiBsaW5rIHRvIGxvY2FsIFVSTHMu
CmRpZmYgLS1naXQgYS9XZWJDb3JlL3BsdWdpbnMvUGx1Z2luVmlldy5jcHAgYi9XZWJDb3JlL3Bs
dWdpbnMvUGx1Z2luVmlldy5jcHAKaW5kZXggNmE5ZWIxMzRhODVhNTQ1ZTA4ZGUwNDJhYmVjZGNj
ZGFkNzg4NDk1Ny4uOTc3YTNmY2ZmNzU1NmMyZmZjOTkzMjNhZjhkYjI3NWZkYzMzYzljZSAxMDA2
NDQKLS0tIGEvV2ViQ29yZS9wbHVnaW5zL1BsdWdpblZpZXcuY3BwCisrKyBiL1dlYkNvcmUvcGx1
Z2lucy9QbHVnaW5WaWV3LmNwcApAQCAtNTM3LDggKzUzNyw4IEBAIE5QRXJyb3IgUGx1Z2luVmll
dzo6bG9hZChjb25zdCBGcmFtZUxvYWRSZXF1ZXN0JiBmcmFtZUxvYWRSZXF1ZXN0LCBib29sIHNl
bmROb3RpCiAgICAgICAgIC8vIEZvciBzZWN1cml0eSByZWFzb25zLCBvbmx5IGFsbG93IEpTIHJl
cXVlc3RzIHRvIGJlIG1hZGUgb24gdGhlIGZyYW1lIHRoYXQgY29udGFpbnMgdGhlIHBsdWctaW4u
CiAgICAgICAgIGlmICghdGFyZ2V0RnJhbWVOYW1lLmlzTnVsbCgpICYmIG1fcGFyZW50RnJhbWUt
PnRyZWUoKS0+ZmluZCh0YXJnZXRGcmFtZU5hbWUpICE9IG1fcGFyZW50RnJhbWUpCiAgICAgICAg
ICAgICByZXR1cm4gTlBFUlJfSU5WQUxJRF9QQVJBTTsKLSAgICB9IGVsc2UgaWYgKCFTZWN1cml0
eU9yaWdpbjo6Y2FuRGlzcGxheSh1cmwsIFN0cmluZygpLCBtX3BhcmVudEZyYW1lLT5kb2N1bWVu
dCgpKSkKLSAgICAgICAgICAgIHJldHVybiBOUEVSUl9HRU5FUklDX0VSUk9SOworICAgIH0gZWxz
ZSBpZiAoIW1fcGFyZW50RnJhbWUtPmRvY3VtZW50KCktPnNlY3VyaXR5T3JpZ2luKCktPmNhbkRp
c3BsYXkodXJsKSkKKyAgICAgICAgcmV0dXJuIE5QRVJSX0dFTkVSSUNfRVJST1I7CiAKICAgICBQ
bHVnaW5SZXF1ZXN0KiByZXF1ZXN0ID0gbmV3IFBsdWdpblJlcXVlc3QoZnJhbWVMb2FkUmVxdWVz
dCwgc2VuZE5vdGlmaWNhdGlvbiwgbm90aWZ5RGF0YSwgYXJlUG9wdXBzQWxsb3dlZCgpKTsKICAg
ICBzY2hlZHVsZVJlcXVlc3QocmVxdWVzdCk7CmRpZmYgLS1naXQgYS9XZWJLaXQvbWFjL0NoYW5n
ZUxvZyBiL1dlYktpdC9tYWMvQ2hhbmdlTG9nCmluZGV4IDg2MDMwNTA3MjQxOGViNGU4NmVhZjky
YmRjZWU2ZTVkMWViNjE4OGMuLjRkN2UwODM0N2NkZjJkZjc3YWIwNzU0MWY5Yzk4NWI2YWEzMGVm
NDMgMTAwNjQ0Ci0tLSBhL1dlYktpdC9tYWMvQ2hhbmdlTG9nCisrKyBiL1dlYktpdC9tYWMvQ2hh
bmdlTG9nCkBAIC0xLDMgKzEsMjEgQEAKKzIwMTAtMDktMTEgIEFkYW0gQmFydGggIDxhYmFydGhA
d2Via2l0Lm9yZz4KKworICAgICAgICBSZXZpZXdlZCBieSBTYW0gV2VpbmlnLgorCisgICAgICAg
IE1ha2UgU2VjdXJpdHlPcmlnaW46OmNhbkRpc3BsYXkgYW4gaW5zdGFuY2UgZnVuY3Rpb24KKyAg
ICAgICAgaHR0cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hvd19idWcuY2dpP2lkPTQ1MjE5CisKKyAg
ICAgICAgKiBQbHVnaW5zL0hvc3RlZC9OZXRzY2FwZVBsdWdpbkluc3RhbmNlUHJveHkubW06Cisg
ICAgICAgIChXZWJLaXQ6Ok5ldHNjYXBlUGx1Z2luSW5zdGFuY2VQcm94eTo6bG9hZFJlcXVlc3Qp
OgorICAgICAgICAqIFBsdWdpbnMvV2ViTmV0c2NhcGVQbHVnaW5TdHJlYW0ubW06CisgICAgICAg
IChXZWJOZXRzY2FwZVBsdWdpblN0cmVhbTo6V2ViTmV0c2NhcGVQbHVnaW5TdHJlYW0pOgorICAg
ICAgICAqIFBsdWdpbnMvV2ViTmV0c2NhcGVQbHVnaW5WaWV3Lm1tOgorICAgICAgICAoLVtXZWJO
ZXRzY2FwZVBsdWdpblZpZXcgbG9hZFJlcXVlc3Q6aW5UYXJnZXQ6d2l0aE5vdGlmeURhdGE6c2Vu
ZE5vdGlmaWNhdGlvbjpdKToKKyAgICAgICAgKiBQbHVnaW5zL1dlYlBsdWdpbkNvbnRhaW5lckNo
ZWNrLm1tOgorICAgICAgICAoLVtXZWJQbHVnaW5Db250YWluZXJDaGVjayBfaXNGb3JiaWRkZW5G
aWxlTG9hZF0pOgorICAgICAgICAqIFdlYlZpZXcvV2ViRnJhbWUubW06CisgICAgICAgICgtW1dl
YkZyYW1lIF9hbGxvd3NGb2xsb3dpbmdMaW5rOl0pOgorCiAyMDEwLTA5LTEwICBTYW0gV2Vpbmln
ICA8c2FtQHdlYmtpdC5vcmc+CiAKICAgICAgICAgUmV2aWV3ZWQgYnkgRGFyaW4gQWRsZXIuCmRp
ZmYgLS1naXQgYS9XZWJLaXQvbWFjL1BsdWdpbnMvSG9zdGVkL05ldHNjYXBlUGx1Z2luSW5zdGFu
Y2VQcm94eS5tbSBiL1dlYktpdC9tYWMvUGx1Z2lucy9Ib3N0ZWQvTmV0c2NhcGVQbHVnaW5JbnN0
YW5jZVByb3h5Lm1tCmluZGV4IDg4ZGY0Y2Y5NDM4OWRhZDE0MzMzMzA5YjVkODU2MjZmYWIwM2Rh
ODYuLmMwYzQ4MGJlNWIyY2U3NTI0NWU4NWQ1OWZmM2NlZGZiZTIzYjY1NmYgMTAwNjQ0Ci0tLSBh
L1dlYktpdC9tYWMvUGx1Z2lucy9Ib3N0ZWQvTmV0c2NhcGVQbHVnaW5JbnN0YW5jZVByb3h5Lm1t
CisrKyBiL1dlYktpdC9tYWMvUGx1Z2lucy9Ib3N0ZWQvTmV0c2NhcGVQbHVnaW5JbnN0YW5jZVBy
b3h5Lm1tCkBAIC03NjIsNyArNzYyLDcgQEAgTlBFcnJvciBOZXRzY2FwZVBsdWdpbkluc3RhbmNl
UHJveHk6OmxvYWRSZXF1ZXN0KE5TVVJMUmVxdWVzdCAqcmVxdWVzdCwgY29uc3QgY2gKICAgICAg
ICAgICAgIHJldHVybiBOUEVSUl9HRU5FUklDX0VSUk9SOwogICAgICAgICB9CiAgICAgfSBlbHNl
IHsKLSAgICAgICAgaWYgKCFTZWN1cml0eU9yaWdpbjo6Y2FuRGlzcGxheShVUkwsIFN0cmluZygp
LCBjb3JlKFttX3BsdWdpblZpZXcgd2ViRnJhbWVdKS0+ZG9jdW1lbnQoKSkpCisgICAgICAgIGlm
ICghY29yZShbbV9wbHVnaW5WaWV3IHdlYkZyYW1lXSktPmRvY3VtZW50KCktPnNlY3VyaXR5T3Jp
Z2luKCktPmNhbkRpc3BsYXkoVVJMKSkKICAgICAgICAgICAgIHJldHVybiBOUEVSUl9HRU5FUklD
X0VSUk9SOwogICAgIH0KICAgICAKZGlmZiAtLWdpdCBhL1dlYktpdC9tYWMvUGx1Z2lucy9XZWJO
ZXRzY2FwZVBsdWdpblN0cmVhbS5tbSBiL1dlYktpdC9tYWMvUGx1Z2lucy9XZWJOZXRzY2FwZVBs
dWdpblN0cmVhbS5tbQppbmRleCAzNWFmNDM5OTFhYmUxNjIxNWQ2OWY2ZTg4ZjRmYzUyNmYxNDI2
NGY2Li5mMzliMTA0ZGRmYzdkNjQ1ZmQ4ZmM4NjgyY2MzN2UwYzQ5YmRjODg3IDEwMDY0NAotLS0g
YS9XZWJLaXQvbWFjL1BsdWdpbnMvV2ViTmV0c2NhcGVQbHVnaW5TdHJlYW0ubW0KKysrIGIvV2Vi
S2l0L21hYy9QbHVnaW5zL1dlYk5ldHNjYXBlUGx1Z2luU3RyZWFtLm1tCkBAIC0xNjEsNyArMTYx
LDcgQEAgV2ViTmV0c2NhcGVQbHVnaW5TdHJlYW06OldlYk5ldHNjYXBlUGx1Z2luU3RyZWFtKE5T
VVJMUmVxdWVzdCAqcmVxdWVzdCwgTlBQIHBsdWcKICAgICBXZWJOZXRzY2FwZVBsdWdpblZpZXcg
KnZpZXcgPSAoV2ViTmV0c2NhcGVQbHVnaW5WaWV3ICopcGx1Z2luLT5uZGF0YTsKICAgICAKICAg
ICAvLyBUaGlzIGNoZWNrIGhhcyBhbHJlYWR5IGJlZW4gZG9uZSBieSB0aGUgcGx1Zy1pbiB2aWV3
LgotICAgIEFTU0VSVChTZWN1cml0eU9yaWdpbjo6Y2FuRGlzcGxheShbcmVxdWVzdCBVUkxdLCBT
dHJpbmcoKSwgY29yZShbdmlldyB3ZWJGcmFtZV0pLT5kb2N1bWVudCgpKSk7CisgICAgQVNTRVJU
KGNvcmUoW3ZpZXcgd2ViRnJhbWVdKS0+ZG9jdW1lbnQoKS0+c2VjdXJpdHlPcmlnaW4oKS0+Y2Fu
RGlzcGxheShbcmVxdWVzdCBVUkxdKSk7CiAgICAgCiAgICAgQVNTRVJUKFtyZXF1ZXN0IFVSTF0p
OwogICAgIEFTU0VSVChwbHVnaW4pOwpkaWZmIC0tZ2l0IGEvV2ViS2l0L21hYy9QbHVnaW5zL1dl
Yk5ldHNjYXBlUGx1Z2luVmlldy5tbSBiL1dlYktpdC9tYWMvUGx1Z2lucy9XZWJOZXRzY2FwZVBs
dWdpblZpZXcubW0KaW5kZXggZTk4YzZiNzY5MDIyMzY3ODkyZTExZmYwNTc2ZGMwNDg4ZDdkYWIz
NS4uM2Q1ZDdhMWViN2UxMDU0MGM1Yjk3MzkyOTE4YjUxMTY1ZWE1MGM0OSAxMDA2NDQKLS0tIGEv
V2ViS2l0L21hYy9QbHVnaW5zL1dlYk5ldHNjYXBlUGx1Z2luVmlldy5tbQorKysgYi9XZWJLaXQv
bWFjL1BsdWdpbnMvV2ViTmV0c2NhcGVQbHVnaW5WaWV3Lm1tCkBAIC0xNzI4LDcgKzE3MjgsNyBA
QCBzdGF0aWMgaW5saW5lIHZvaWQgZ2V0TlBSZWN0KGNvbnN0IE5TUmVjdCYgbnIsIE5QUmVjdCYg
bnByKQogICAgICAgICAgICAgcmV0dXJuIE5QRVJSX0lOVkFMSURfUEFSQU07CiAgICAgICAgIH0K
ICAgICB9IGVsc2UgewotICAgICAgICBpZiAoIVNlY3VyaXR5T3JpZ2luOjpjYW5EaXNwbGF5KFVS
TCwgU3RyaW5nKCksIGNvcmUoW3NlbGYgd2ViRnJhbWVdKS0+ZG9jdW1lbnQoKSkpCisgICAgICAg
IGlmICghY29yZShbc2VsZiB3ZWJGcmFtZV0pLT5kb2N1bWVudCgpLT5zZWN1cml0eU9yaWdpbigp
LT5jYW5EaXNwbGF5KFVSTCkpCiAgICAgICAgICAgICByZXR1cm4gTlBFUlJfR0VORVJJQ19FUlJP
UjsKICAgICB9CiAgICAgICAgIApkaWZmIC0tZ2l0IGEvV2ViS2l0L21hYy9QbHVnaW5zL1dlYlBs
dWdpbkNvbnRhaW5lckNoZWNrLm1tIGIvV2ViS2l0L21hYy9QbHVnaW5zL1dlYlBsdWdpbkNvbnRh
aW5lckNoZWNrLm1tCmluZGV4IGUyNzNiZmM4MzM4ZjkyZTVkNzg0NDVkNTJlNGQzNTViYmYyY2E0
YzguLjMwMzY4YTg3OWFhMjlmMzdjNWY0ZmExYzZiMWNmZmJhOTY4MzhkY2UgMTAwNjQ0Ci0tLSBh
L1dlYktpdC9tYWMvUGx1Z2lucy9XZWJQbHVnaW5Db250YWluZXJDaGVjay5tbQorKysgYi9XZWJL
aXQvbWFjL1BsdWdpbnMvV2ViUGx1Z2luQ29udGFpbmVyQ2hlY2subW0KQEAgLTk5LDcgKzk5LDcg
QEAgdXNpbmcgbmFtZXNwYWNlIFdlYkNvcmU7CiB7CiAgICBGcmFtZSogY29yZUZyYW1lID0gY29y
ZShbX2NvbnRyb2xsZXIgd2ViRnJhbWVdKTsKICAgIEFTU0VSVChjb3JlRnJhbWUpOwotICAgaWYg
KCFTZWN1cml0eU9yaWdpbjo6Y2FuRGlzcGxheShbX3JlcXVlc3QgVVJMXSwgU3RyaW5nKCksIGNv
cmVGcmFtZS0+ZG9jdW1lbnQoKSkpIHsKKyAgIGlmICghY29yZUZyYW1lLT5kb2N1bWVudCgpLT5z
ZWN1cml0eU9yaWdpbigpLT5jYW5EaXNwbGF5KFtfcmVxdWVzdCBVUkxdKSkgewogICAgICAgIFtz
ZWxmIF9jb250aW51ZVdpdGhQb2xpY3k6UG9saWN5SWdub3JlXTsKICAgICAgICByZXR1cm4gWUVT
OwogICAgfQpkaWZmIC0tZ2l0IGEvV2ViS2l0L21hYy9XZWJWaWV3L1dlYkZyYW1lLm1tIGIvV2Vi
S2l0L21hYy9XZWJWaWV3L1dlYkZyYW1lLm1tCmluZGV4IDI5OTVhZWY1ODJkYmQ1MTViN2I4MjQ3
N2RhM2RjZTNhYTEwN2Y2YjMuLmQyMjI5OTg2Yjk0MThhZWZlMzMwNDYxOGYyNGQ3YjRlMzMxOWI4
M2QgMTAwNjQ0Ci0tLSBhL1dlYktpdC9tYWMvV2ViVmlldy9XZWJGcmFtZS5tbQorKysgYi9XZWJL
aXQvbWFjL1dlYlZpZXcvV2ViRnJhbWUubW0KQEAgLTEyNjUsNyArMTI2NSw3IEBAIHN0YXRpYyBp
bmxpbmUgV2ViRGF0YVNvdXJjZSAqZGF0YVNvdXJjZShEb2N1bWVudExvYWRlciogbG9hZGVyKQog
ewogICAgIGlmICghX3ByaXZhdGUtPmNvcmVGcmFtZSkKICAgICAgICAgcmV0dXJuIFlFUzsKLSAg
ICByZXR1cm4gU2VjdXJpdHlPcmlnaW46OmNhbkRpc3BsYXkoVVJMLCBTdHJpbmcoKSwgX3ByaXZh
dGUtPmNvcmVGcmFtZS0+ZG9jdW1lbnQoKSk7CisgICAgcmV0dXJuIF9wcml2YXRlLT5jb3JlRnJh
bWUtPmRvY3VtZW50KCktPnNlY3VyaXR5T3JpZ2luKCktPmNhbkRpc3BsYXkoVVJMKTsKIH0KIAog
LSAoTlNTdHJpbmcgKilfc3RyaW5nQnlFdmFsdWF0aW5nSmF2YVNjcmlwdEZyb21TdHJpbmc6KE5T
U3RyaW5nICopc3RyaW5nIHdpdGhHbG9iYWxPYmplY3Q6KEpTT2JqZWN0UmVmKWdsb2JhbE9iamVj
dFJlZiBpblNjcmlwdFdvcmxkOihXZWJTY3JpcHRXb3JsZCAqKXdvcmxkCmRpZmYgLS1naXQgYS9X
ZWJLaXQvd2luL0NoYW5nZUxvZyBiL1dlYktpdC93aW4vQ2hhbmdlTG9nCmluZGV4IGI2ZmNiY2Y0
NzY1ZjQ1ZGM3MTdlMGRhYzg1YTE1YmMwMTI0ZDI2NjQuLjM2OTI0MWE2OGY2MmFmZGZiZTAyNDY2
YTZlNDQzNmYyN2ZhYWQ1MmUgMTAwNjQ0Ci0tLSBhL1dlYktpdC93aW4vQ2hhbmdlTG9nCisrKyBi
L1dlYktpdC93aW4vQ2hhbmdlTG9nCkBAIC0xLDMgKzEsMTMgQEAKKzIwMTAtMDktMTEgIEFkYW0g
QmFydGggIDxhYmFydGhAd2Via2l0Lm9yZz4KKworICAgICAgICBSZXZpZXdlZCBieSBTYW0gV2Vp
bmlnLgorCisgICAgICAgIE1ha2UgU2VjdXJpdHlPcmlnaW46OmNhbkRpc3BsYXkgYW4gaW5zdGFu
Y2UgZnVuY3Rpb24KKyAgICAgICAgaHR0cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hvd19idWcuY2dp
P2lkPTQ1MjE5CisKKyAgICAgICAgKiBXZWJGcmFtZS5jcHA6CisgICAgICAgIChXZWJGcmFtZTo6
YWxsb3dzRm9sbG93aW5nTGluayk6CisKIDIwMTAtMDktMTAgIEplc3VzIFNhbmNoZXotUGFsZW5j
aWEgPGplc3VzLnBhbGVuY2lhQG9wZW5ib3NzYS5vcmc+CiAKICAgICAgICAgUmV2aWV3ZWQgYnkg
RGFyaW4gQWRsZXIuCmRpZmYgLS1naXQgYS9XZWJLaXQvd2luL1dlYkZyYW1lLmNwcCBiL1dlYktp
dC93aW4vV2ViRnJhbWUuY3BwCmluZGV4IGY2YzdhMjYyZjAyNGYxNDA5NjI3NzdjOTcxNjQzYmYz
NTBkYTIyZjQuLjFjMDIxZjk1NGI3MDdhYzVhZjMxNGMyMGIyZjk5NDU5OGE1ZjA0ZDQgMTAwNjQ0
Ci0tLSBhL1dlYktpdC93aW4vV2ViRnJhbWUuY3BwCisrKyBiL1dlYktpdC93aW4vV2ViRnJhbWUu
Y3BwCkBAIC0xMzQ1LDcgKzEzNDUsNyBAQCBIUkVTVUxUIFdlYkZyYW1lOjphbGxvd3NGb2xsb3dp
bmdMaW5rKEJTVFIgdXJsLCBCT09MKiByZXN1bHQpCiAgICAgaWYgKCFmcmFtZSkKICAgICAgICAg
cmV0dXJuIEVfRkFJTDsKIAotICAgICpyZXN1bHQgPSBTZWN1cml0eU9yaWdpbjo6Y2FuRGlzcGxh
eShNYXJzaGFsbGluZ0hlbHBlcnM6OkJTVFJUb0tVUkwodXJsKSwgU3RyaW5nKCksIGZyYW1lLT5k
b2N1bWVudCgpKTsKKyAgICAqcmVzdWx0ID0gZnJhbWUtPmRvY3VtZW50KCktPnNlY3VyaXR5T3Jp
Z2luKCktPmNhbkRpc3BsYXkoTWFyc2hhbGxpbmdIZWxwZXJzOjpCU1RSVG9LVVJMKHVybCkpOwog
ICAgIHJldHVybiBTX09LOwogfQogCmRpZmYgLS1naXQgYS9XZWJLaXQyL0NoYW5nZUxvZyBiL1dl
YktpdDIvQ2hhbmdlTG9nCmluZGV4IGQ3MDk3NmIxNjljMWFkZWVkOGE3ZmJmNzVmMTgyMmQ1ZDYx
MGNjNWEuLjY0MGEzY2I5OGMyYWQ3NjNmZGUxNzE0NzNiMjFiZGIxOGM3ZjIwZDUgMTAwNjQ0Ci0t
LSBhL1dlYktpdDIvQ2hhbmdlTG9nCisrKyBiL1dlYktpdDIvQ2hhbmdlTG9nCkBAIC0xLDMgKzEs
MTMgQEAKKzIwMTAtMDktMTEgIEFkYW0gQmFydGggIDxhYmFydGhAd2Via2l0Lm9yZz4KKworICAg
ICAgICBSZXZpZXdlZCBieSBTYW0gV2VpbmlnLgorCisgICAgICAgIE1ha2UgU2VjdXJpdHlPcmln
aW46OmNhbkRpc3BsYXkgYW4gaW5zdGFuY2UgZnVuY3Rpb24KKyAgICAgICAgaHR0cHM6Ly9idWdz
LndlYmtpdC5vcmcvc2hvd19idWcuY2dpP2lkPTQ1MjE5CisKKyAgICAgICAgKiBXZWJQcm9jZXNz
L1BsdWdpbnMvUGx1Z2luVmlldy5jcHA6CisgICAgICAgIChXZWJLaXQ6OlBsdWdpblZpZXc6OnBl
cmZvcm1GcmFtZUxvYWRVUkxSZXF1ZXN0KToKKwogMjAxMC0wOS0xMCAgSmVzdXMgU2FuY2hlei1Q
YWxlbmNpYSA8amVzdXMucGFsZW5jaWFAb3BlbmJvc3NhLm9yZz4KIAogICAgICAgICBSZXZpZXdl
ZCBieSBEYXJpbiBBZGxlci4KZGlmZiAtLWdpdCBhL1dlYktpdDIvV2ViUHJvY2Vzcy9QbHVnaW5z
L1BsdWdpblZpZXcuY3BwIGIvV2ViS2l0Mi9XZWJQcm9jZXNzL1BsdWdpbnMvUGx1Z2luVmlldy5j
cHAKaW5kZXggM2U4MzA3OWNlODBlZjMyMTdkZWFhZTc2YjJmYmEzNTIyMTI4ZTg2My4uZWIyZDY5
MWU0ZDU5NjM2NzQ3N2JhZDlkNDFmNTZiMzE4ZGUyMmY5YSAxMDA2NDQKLS0tIGEvV2ViS2l0Mi9X
ZWJQcm9jZXNzL1BsdWdpbnMvUGx1Z2luVmlldy5jcHAKKysrIGIvV2ViS2l0Mi9XZWJQcm9jZXNz
L1BsdWdpbnMvUGx1Z2luVmlldy5jcHAKQEAgLTUxNCw4ICs1MTQsNyBAQCB2b2lkIFBsdWdpblZp
ZXc6OnBlcmZvcm1GcmFtZUxvYWRVUkxSZXF1ZXN0KFVSTFJlcXVlc3QqIHJlcXVlc3QpCiAgICAg
aWYgKCFmcmFtZSkKICAgICAgICAgcmV0dXJuOwogCi0gICAgLy8gQ2hlY2sgaWYgdGhpcyBpcyBV
UkwgY2FuIGJlIGxvYWRlZC4KLSAgICBpZiAoIVNlY3VyaXR5T3JpZ2luOjpjYW5EaXNwbGF5KHJl
cXVlc3QtPnJlcXVlc3QoKS51cmwoKSwgU3RyaW5nKCksIG1fcGx1Z2luRWxlbWVudC0+ZG9jdW1l
bnQoKSkpIHsKKyAgICBpZiAoIW1fcGx1Z2luRWxlbWVudC0+ZG9jdW1lbnQoKS0+c2VjdXJpdHlP
cmlnaW4oKS0+Y2FuRGlzcGxheShyZXF1ZXN0LT5yZXF1ZXN0KCkudXJsKCkpKSB7CiAgICAgICAg
IC8vIFdlIGNhbid0IGxvYWQgdGhlIHJlcXVlc3QsIHNlbmQgYmFjayBhIHJlcGx5IHRvIHRoZSBw
bHVnLWluLgogICAgICAgICBtX3BsdWdpbi0+ZnJhbWVEaWRGYWlsKHJlcXVlc3QtPnJlcXVlc3RJ
RCgpLCBmYWxzZSk7CiAgICAgICAgIHJldHVybjsK
</data>

          </attachment>
      

    </bug>

</bugzilla>