<?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>107553</bug_id>
          
          <creation_ts>2013-01-22 05:59:27 -0800</creation_ts>
          <short_desc>[chromium] move most WebViewHost printf calls to WebTestProxy</short_desc>
          <delta_ts>2013-01-24 02:14:30 -0800</delta_ts>
          <reporter_accessible>1</reporter_accessible>
          <cclist_accessible>1</cclist_accessible>
          <classification_id>1</classification_id>
          <classification>Unclassified</classification>
          <product>WebKit</product>
          <component>New Bugs</component>
          <version>528+ (Nightly build)</version>
          <rep_platform>Unspecified</rep_platform>
          <op_sys>Unspecified</op_sys>
          <bug_status>RESOLVED</bug_status>
          <resolution>FIXED</resolution>
          
          
          <bug_file_loc></bug_file_loc>
          <status_whiteboard></status_whiteboard>
          <keywords></keywords>
          <priority>P2</priority>
          <bug_severity>Normal</bug_severity>
          <target_milestone>---</target_milestone>
          <dependson>107556</dependson>
          
          <everconfirmed>0</everconfirmed>
          <reporter name="Dan Carney">dcarney</reporter>
          <assigned_to name="Nobody">webkit-unassigned</assigned_to>
          <cc>abarth</cc>
    
    <cc>dglazkov</cc>
    
    <cc>fishd</cc>
    
    <cc>jamesr</cc>
    
    <cc>jochen</cc>
    
    <cc>tkent+wkapi</cc>
    
    <cc>webkit.review.bot</cc>
          

      

      

      

          <comment_sort_order>oldest_to_newest</comment_sort_order>  
          <long_desc isprivate="0" >
    <commentid>812982</commentid>
    <comment_count>0</comment_count>
    <who name="Dan Carney">dcarney</who>
    <bug_when>2013-01-22 05:59:27 -0800</bug_when>
    <thetext>[chromium] move most WebViewHost printf calls to WebTestProxy</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>812983</commentid>
    <comment_count>1</comment_count>
      <attachid>183978</attachid>
    <who name="Dan Carney">dcarney</who>
    <bug_when>2013-01-22 06:00:30 -0800</bug_when>
    <thetext>Created attachment 183978
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>814110</commentid>
    <comment_count>2</comment_count>
      <attachid>183978</attachid>
    <who name="">jochen</who>
    <bug_when>2013-01-23 05:03:15 -0800</bug_when>
    <thetext>Comment on attachment 183978
Patch

Looks good.

You&apos;ll need to rebase this. I verified locally that it works after my fix for bug 107556 landed.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>814120</commentid>
    <comment_count>3</comment_count>
      <attachid>184207</attachid>
    <who name="Dan Carney">dcarney</who>
    <bug_when>2013-01-23 05:16:23 -0800</bug_when>
    <thetext>Created attachment 184207
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>814326</commentid>
    <comment_count>4</comment_count>
    <who name="WebKit Review Bot">webkit.review.bot</who>
    <bug_when>2013-01-23 10:27:54 -0800</bug_when>
    <thetext>Please wait for approval from abarth@webkit.org, dglazkov@chromium.org, fishd@chromium.org, jamesr@chromium.org or tkent@chromium.org before submitting, as this patch contains changes to the Chromium public API. See also https://trac.webkit.org/wiki/ChromiumWebKitAPI.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>814408</commentid>
    <comment_count>5</comment_count>
      <attachid>184207</attachid>
    <who name="WebKit Review Bot">webkit.review.bot</who>
    <bug_when>2013-01-23 11:25:33 -0800</bug_when>
    <thetext>Comment on attachment 184207
Patch

Attachment 184207 did not pass chromium-ews (chromium-xvfb):
Output: http://queues.webkit.org/results/16063718

New failing tests:
plugins/open-and-close-window-with-plugin.html
plugins/geturlnotify-during-document-teardown.html</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>814453</commentid>
    <comment_count>6</comment_count>
      <attachid>184207</attachid>
    <who name="WebKit Review Bot">webkit.review.bot</who>
    <bug_when>2013-01-23 12:00:30 -0800</bug_when>
    <thetext>Comment on attachment 184207
Patch

Attachment 184207 did not pass chromium-ews (chromium-xvfb):
Output: http://queues.webkit.org/results/16075281

New failing tests:
plugins/open-and-close-window-with-plugin.html
plugins/geturlnotify-during-document-teardown.html</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>814500</commentid>
    <comment_count>7</comment_count>
      <attachid>184207</attachid>
    <who name="WebKit Review Bot">webkit.review.bot</who>
    <bug_when>2013-01-23 12:26:18 -0800</bug_when>
    <thetext>Comment on attachment 184207
Patch

Rejecting attachment 184207 from commit-queue.

Failed to run &quot;[&apos;/mnt/git/webkit-commit-queue/Tools/Scripts/webkit-patch&apos;, &apos;--status-host=queues.webkit.org&apos;, &apos;--bot-id=gce-cq-01&apos;, &apos;apply-attachment&apos;, &apos;--no-update&apos;, &apos;--non-interactive&apos;, 184207, &apos;--port=chromium-xvfb&apos;]&quot; exit_code: 2 cwd: /mnt/git/webkit-commit-queue

Last 500 characters of output:
nderTree/chromium/TestShell.cpp
Hunk #1 succeeded at 221 (offset 2 lines).
patching file Tools/DumpRenderTree/chromium/WebViewHost.cpp
Hunk #5 succeeded at 1160 (offset 10 lines).
Hunk #6 succeeded at 1219 (offset 10 lines).
patching file Tools/DumpRenderTree/chromium/WebViewHost.h
Hunk #1 succeeded at 86 (offset 1 line).
Hunk #2 succeeded at 383 (offset 4 lines).

Failed to run &quot;[u&apos;/mnt/git/webkit-commit-queue/Tools/Scripts/svn-apply&apos;, &apos;--force&apos;]&quot; exit_code: 1 cwd: /mnt/git/webkit-commit-queue

Full output: http://queues.webkit.org/results/16078325</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>815170</commentid>
    <comment_count>8</comment_count>
      <attachid>184423</attachid>
    <who name="Dan Carney">dcarney</who>
    <bug_when>2013-01-24 00:22:37 -0800</bug_when>
    <thetext>Created attachment 184423
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>815171</commentid>
    <comment_count>9</comment_count>
      <attachid>184423</attachid>
    <who name="Dan Carney">dcarney</who>
    <bug_when>2013-01-24 00:23:13 -0800</bug_when>
    <thetext>Comment on attachment 184423
Patch

rebased</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>815234</commentid>
    <comment_count>10</comment_count>
      <attachid>184423</attachid>
    <who name="WebKit Review Bot">webkit.review.bot</who>
    <bug_when>2013-01-24 01:22:18 -0800</bug_when>
    <thetext>Comment on attachment 184423
Patch

Rejecting attachment 184423 from commit-queue.

New failing tests:
inspector-protocol/debugger-terminate-dedicated-worker-while-paused.html
Full output: http://queues.webkit.org/results/16097064</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>815265</commentid>
    <comment_count>11</comment_count>
      <attachid>184423</attachid>
    <who name="WebKit Review Bot">webkit.review.bot</who>
    <bug_when>2013-01-24 02:14:25 -0800</bug_when>
    <thetext>Comment on attachment 184423
Patch

Clearing flags on attachment: 184423

Committed r140668: &lt;http://trac.webkit.org/changeset/140668&gt;</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>815266</commentid>
    <comment_count>12</comment_count>
    <who name="WebKit Review Bot">webkit.review.bot</who>
    <bug_when>2013-01-24 02:14:30 -0800</bug_when>
    <thetext>All reviewed patches have been landed.  Closing bug.</thetext>
  </long_desc>
      
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>183978</attachid>
            <date>2013-01-22 06:00:30 -0800</date>
            <delta_ts>2013-01-23 05:16:18 -0800</delta_ts>
            <desc>Patch</desc>
            <filename>bug-107553-20130122145723.patch</filename>
            <type>text/plain</type>
            <size>16966</size>
            <attacher name="Dan Carney">dcarney</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMTQwMzg4CmRpZmYgLS1naXQgYS9Ub29scy9DaGFuZ2VMb2cg
Yi9Ub29scy9DaGFuZ2VMb2cKaW5kZXggYTI1MzNmYzdjNGNkMmEzMGMyN2QyZTIxZWNiOWRlYWYw
MGFkMzIwZC4uMmNiNDM4MzA3OWJhYmM4ZDE0ODc5NmMxYjVjMTVjMTM4ODllMDBjNiAxMDA2NDQK
LS0tIGEvVG9vbHMvQ2hhbmdlTG9nCisrKyBiL1Rvb2xzL0NoYW5nZUxvZwpAQCAtMSwzICsxLDQz
IEBACisyMDEzLTAxLTIyICBEYW4gQ2FybmV5ICA8ZGNhcm5leUBnb29nbGUuY29tPgorCisgICAg
ICAgIFtjaHJvbWl1bV0gbW92ZSBtb3N0IFdlYlZpZXdIb3N0IHByaW50ZiBjYWxscyB0byBXZWJU
ZXN0UHJveHkKKyAgICAgICAgaHR0cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hvd19idWcuY2dpP2lk
PTEwNzU1MworCisgICAgICAgIFJldmlld2VkIGJ5IE5PQk9EWSAoT09QUyEpLgorCisgICAgICAg
ICogRHVtcFJlbmRlclRyZWUvY2hyb21pdW0vVGVzdFJ1bm5lci9wdWJsaWMvV2ViVGVzdFByb3h5
Lmg6CisgICAgICAgIChXZWJLaXQpOgorICAgICAgICAoV2ViVGVzdFByb3h5QmFzZSk6CisgICAg
ICAgIChXZWJUZXN0UnVubmVyOjpXZWJUZXN0UHJveHk6OnVuYWJsZVRvSW1wbGVtZW50UG9saWN5
V2l0aEVycm9yKToKKyAgICAgICAgKFdlYlRlc3RSdW5uZXI6OldlYlRlc3RQcm94eTo6ZGlkQWRk
TWVzc2FnZVRvQ29uc29sZSk6CisgICAgICAgIChXZWJUZXN0UnVubmVyOjpXZWJUZXN0UHJveHk6
OnJ1bk1vZGFsQWxlcnREaWFsb2cpOgorICAgICAgICAoV2ViVGVzdFJ1bm5lcjo6V2ViVGVzdFBy
b3h5OjpydW5Nb2RhbENvbmZpcm1EaWFsb2cpOgorICAgICAgICAoV2ViVGVzdFJ1bm5lcjo6V2Vi
VGVzdFByb3h5OjpydW5Nb2RhbFByb21wdERpYWxvZyk6CisgICAgICAgIChXZWJUZXN0UnVubmVy
OjpXZWJUZXN0UHJveHk6OnJ1bk1vZGFsQmVmb3JlVW5sb2FkRGlhbG9nKToKKyAgICAgICAgKiBE
dW1wUmVuZGVyVHJlZS9jaHJvbWl1bS9UZXN0UnVubmVyL3NyYy9XZWJUZXN0UHJveHkuY3BwOgor
ICAgICAgICAoV2ViVGVzdFJ1bm5lcjo6V2ViVGVzdFByb3h5QmFzZTo6V2ViVGVzdFByb3h5QmFz
ZSk6CisgICAgICAgIChXZWJUZXN0UnVubmVyOjpXZWJUZXN0UHJveHlCYXNlOjpyZXNldCk6Cisg
ICAgICAgIChXZWJUZXN0UnVubmVyOjpXZWJUZXN0UHJveHlCYXNlOjpzZXRMb2dDb25zb2xlT3V0
cHV0KToKKyAgICAgICAgKFdlYlRlc3RSdW5uZXIpOgorICAgICAgICAoV2ViVGVzdFJ1bm5lcjo6
V2ViVGVzdFByb3h5QmFzZTo6dW5hYmxlVG9JbXBsZW1lbnRQb2xpY3lXaXRoRXJyb3IpOgorICAg
ICAgICAoV2ViVGVzdFJ1bm5lcjo6V2ViVGVzdFByb3h5QmFzZTo6ZGlkQWRkTWVzc2FnZVRvQ29u
c29sZSk6CisgICAgICAgIChXZWJUZXN0UnVubmVyOjpXZWJUZXN0UHJveHlCYXNlOjpydW5Nb2Rh
bEFsZXJ0RGlhbG9nKToKKyAgICAgICAgKFdlYlRlc3RSdW5uZXI6OldlYlRlc3RQcm94eUJhc2U6
OnJ1bk1vZGFsQ29uZmlybURpYWxvZyk6CisgICAgICAgIChXZWJUZXN0UnVubmVyOjpXZWJUZXN0
UHJveHlCYXNlOjpydW5Nb2RhbFByb21wdERpYWxvZyk6CisgICAgICAgIChXZWJUZXN0UnVubmVy
OjpXZWJUZXN0UHJveHlCYXNlOjpydW5Nb2RhbEJlZm9yZVVubG9hZERpYWxvZyk6CisgICAgICAg
ICogRHVtcFJlbmRlclRyZWUvY2hyb21pdW0vVGVzdFNoZWxsLmNwcDoKKyAgICAgICAgKFRlc3RT
aGVsbDo6c2hvd0RldlRvb2xzKToKKyAgICAgICAgKiBEdW1wUmVuZGVyVHJlZS9jaHJvbWl1bS9X
ZWJWaWV3SG9zdC5jcHA6CisgICAgICAgIChXZWJWaWV3SG9zdDo6ZGlkQWRkTWVzc2FnZVRvQ29u
c29sZSk6CisgICAgICAgIChXZWJWaWV3SG9zdDo6cnVuTW9kYWxBbGVydERpYWxvZyk6CisgICAg
ICAgIChXZWJWaWV3SG9zdDo6cnVuTW9kYWxDb25maXJtRGlhbG9nKToKKyAgICAgICAgKFdlYlZp
ZXdIb3N0OjpydW5Nb2RhbFByb21wdERpYWxvZyk6CisgICAgICAgIChXZWJWaWV3SG9zdDo6cnVu
TW9kYWxCZWZvcmVVbmxvYWREaWFsb2cpOgorICAgICAgICAoV2ViVmlld0hvc3Q6OnVuYWJsZVRv
SW1wbGVtZW50UG9saWN5V2l0aEVycm9yKToKKyAgICAgICAgKFdlYlZpZXdIb3N0OjpyZXNldCk6
CisgICAgICAgICogRHVtcFJlbmRlclRyZWUvY2hyb21pdW0vV2ViVmlld0hvc3QuaDoKKyAgICAg
ICAgKFdlYlZpZXdIb3N0KToKKwogMjAxMy0wMS0yMSAgSm9zZXBoIFBlY29yYXJvICA8cGVjb3Jh
cm9AYXBwbGUuY29tPgogCiAgICAgICAgIFtNYWNdIFdLMSBNaW5pQnJvd3NlciBzaG91bGQgY2xl
YXIgZGVsZWdhdGVzIGJlZm9yZSByZWxlYXNpbmcgd2VidmlldwpkaWZmIC0tZ2l0IGEvVG9vbHMv
RHVtcFJlbmRlclRyZWUvY2hyb21pdW0vVGVzdFJ1bm5lci9wdWJsaWMvV2ViVGVzdFByb3h5Lmgg
Yi9Ub29scy9EdW1wUmVuZGVyVHJlZS9jaHJvbWl1bS9UZXN0UnVubmVyL3B1YmxpYy9XZWJUZXN0
UHJveHkuaAppbmRleCBjMDlmOGY0NTNkYzJhMmRhMWE1NThiNzJmZTQzY2VjZjYzYjBkMmMxLi44
MTlkNjg4MmJmOGQxZDcyOTFkMTk4ZDViYjUwMzNhZDdiN2FhMjUzIDEwMDY0NAotLS0gYS9Ub29s
cy9EdW1wUmVuZGVyVHJlZS9jaHJvbWl1bS9UZXN0UnVubmVyL3B1YmxpYy9XZWJUZXN0UHJveHku
aAorKysgYi9Ub29scy9EdW1wUmVuZGVyVHJlZS9jaHJvbWl1bS9UZXN0UnVubmVyL3B1YmxpYy9X
ZWJUZXN0UHJveHkuaApAQCAtNDEsNiArNDEsOCBAQAogI2luY2x1ZGUgPG1hcD4KICNpbmNsdWRl
IDxzdHJpbmc+CiAKKyNkZWZpbmUgVEVTVF9SVU5ORVJfTU9WRURfUFJJTlRJTkcgMQorCiBuYW1l
c3BhY2UgV2ViS2l0IHsKIGNsYXNzIFdlYkFjY2Vzc2liaWxpdHlPYmplY3Q7CiBjbGFzcyBXZWJD
YWNoZWRVUkxSZXF1ZXN0OwpAQCAtNTgsNiArNjAsNyBAQCBjbGFzcyBXZWJVUkw7CiBjbGFzcyBX
ZWJVUkxSZXF1ZXN0OwogY2xhc3MgV2ViVVJMUmVzcG9uc2U7CiBjbGFzcyBXZWJWaWV3Oworc3Ry
dWN0IFdlYkNvbnNvbGVNZXNzYWdlOwogc3RydWN0IFdlYlBvaW50Owogc3RydWN0IFdlYlNpemU7
CiBzdHJ1Y3QgV2ViVVJMRXJyb3I7CkBAIC04MCw2ICs4Myw4IEBAIHB1YmxpYzoKICAgICB2b2lk
IHNldFBhaW50UmVjdChjb25zdCBXZWJLaXQ6OldlYlJlY3QmKTsKICAgICBXZWJLaXQ6OldlYlJl
Y3QgcGFpbnRSZWN0KCkgY29uc3Q7CiAKKyAgICB2b2lkIHNldExvZ0NvbnNvbGVPdXRwdXQoYm9v
bCBlbmFibGVkKTsKKwogcHJvdGVjdGVkOgogICAgIFdlYlRlc3RQcm94eUJhc2UoKTsKICAgICB+
V2ViVGVzdFByb3h5QmFzZSgpOwpAQCAtMTMxLDYgKzEzNiwxMiBAQCBwcm90ZWN0ZWQ6CiAgICAg
dm9pZCBkaWRSZWNlaXZlUmVzcG9uc2UoV2ViS2l0OjpXZWJGcmFtZSosIHVuc2lnbmVkIGlkZW50
aWZpZXIsIGNvbnN0IFdlYktpdDo6V2ViVVJMUmVzcG9uc2UmKTsKICAgICB2b2lkIGRpZEZpbmlz
aFJlc291cmNlTG9hZChXZWJLaXQ6OldlYkZyYW1lKiwgdW5zaWduZWQgaWRlbnRpZmllcik7CiAg
ICAgdm9pZCBkaWRGYWlsUmVzb3VyY2VMb2FkKFdlYktpdDo6V2ViRnJhbWUqLCB1bnNpZ25lZCBp
ZGVudGlmaWVyLCBjb25zdCBXZWJLaXQ6OldlYlVSTEVycm9yJik7CisgICAgdm9pZCB1bmFibGVU
b0ltcGxlbWVudFBvbGljeVdpdGhFcnJvcihXZWJLaXQ6OldlYkZyYW1lKiwgY29uc3QgV2ViS2l0
OjpXZWJVUkxFcnJvciYpOworICAgIHZvaWQgZGlkQWRkTWVzc2FnZVRvQ29uc29sZShjb25zdCBX
ZWJLaXQ6OldlYkNvbnNvbGVNZXNzYWdlJiwgY29uc3QgV2ViS2l0OjpXZWJTdHJpbmcmIHNvdXJj
ZU5hbWUsIHVuc2lnbmVkIHNvdXJjZUxpbmUpOworICAgIHZvaWQgcnVuTW9kYWxBbGVydERpYWxv
ZyhXZWJLaXQ6OldlYkZyYW1lKiwgY29uc3QgV2ViS2l0OjpXZWJTdHJpbmcmKTsKKyAgICBib29s
IHJ1bk1vZGFsQ29uZmlybURpYWxvZyhXZWJLaXQ6OldlYkZyYW1lKiwgY29uc3QgV2ViS2l0OjpX
ZWJTdHJpbmcmKTsKKyAgICBib29sIHJ1bk1vZGFsUHJvbXB0RGlhbG9nKFdlYktpdDo6V2ViRnJh
bWUqLCBjb25zdCBXZWJLaXQ6OldlYlN0cmluZyYgbWVzc2FnZSwgY29uc3QgV2ViS2l0OjpXZWJT
dHJpbmcmIGRlZmF1bHRWYWx1ZSwgV2ViS2l0OjpXZWJTdHJpbmcqIGFjdHVhbFZhbHVlKTsKKyAg
ICBib29sIHJ1bk1vZGFsQmVmb3JlVW5sb2FkRGlhbG9nKFdlYktpdDo6V2ViRnJhbWUqLCBjb25z
dCBXZWJLaXQ6OldlYlN0cmluZyYpOwogCiBwcml2YXRlOgogICAgIFdlYlRlc3RJbnRlcmZhY2Vz
KiBtX3Rlc3RJbnRlcmZhY2VzOwpAQCAtMTM4LDYgKzE0OSw4IEBAIHByaXZhdGU6CiAKICAgICBX
ZWJLaXQ6OldlYlJlY3QgbV9wYWludFJlY3Q7CiAgICAgc3RkOjptYXA8dW5zaWduZWQsIHN0ZDo6
c3RyaW5nPiBtX3Jlc291cmNlSWRlbnRpZmllck1hcDsKKworICAgIGJvb2wgbV9sb2dDb25zb2xl
T3V0cHV0OwogfTsKIAogLy8gVXNlIHRoaXMgdGVtcGxhdGUgdG8gaW5qZWN0IG1ldGhvZHMgaW50
byB5b3VyIFdlYlZpZXdDbGllbnQvV2ViRnJhbWVDbGllbnQKQEAgLTM4NSw2ICszOTgsMzYgQEAg
cHVibGljOgogICAgICAgICBXZWJUZXN0UHJveHlCYXNlOjpkaWRGYWlsUmVzb3VyY2VMb2FkKGZy
YW1lLCBpZGVudGlmaWVyLCBlcnJvcik7CiAgICAgICAgIEJhc2U6OmRpZEZhaWxSZXNvdXJjZUxv
YWQoZnJhbWUsIGlkZW50aWZpZXIsIGVycm9yKTsKICAgICB9CisgICAgdmlydHVhbCB2b2lkIHVu
YWJsZVRvSW1wbGVtZW50UG9saWN5V2l0aEVycm9yKFdlYktpdDo6V2ViRnJhbWUqIGZyYW1lLCBj
b25zdCBXZWJLaXQ6OldlYlVSTEVycm9yJiBlcnJvcikKKyAgICB7CisgICAgICAgIFdlYlRlc3RQ
cm94eUJhc2U6OnVuYWJsZVRvSW1wbGVtZW50UG9saWN5V2l0aEVycm9yKGZyYW1lLCBlcnJvcik7
CisgICAgICAgIEJhc2U6OnVuYWJsZVRvSW1wbGVtZW50UG9saWN5V2l0aEVycm9yKGZyYW1lLCBl
cnJvcik7CisgICAgfQorICAgIHZpcnR1YWwgdm9pZCBkaWRBZGRNZXNzYWdlVG9Db25zb2xlKGNv
bnN0IFdlYktpdDo6V2ViQ29uc29sZU1lc3NhZ2UmIG1lc3NhZ2UsIGNvbnN0IFdlYktpdDo6V2Vi
U3RyaW5nJiBzb3VyY2VOYW1lLCB1bnNpZ25lZCBzb3VyY2VMaW5lKQorICAgIHsKKyAgICAgICAg
V2ViVGVzdFByb3h5QmFzZTo6ZGlkQWRkTWVzc2FnZVRvQ29uc29sZShtZXNzYWdlLCBzb3VyY2VO
YW1lLCBzb3VyY2VMaW5lKTsKKyAgICAgICAgQmFzZTo6ZGlkQWRkTWVzc2FnZVRvQ29uc29sZSht
ZXNzYWdlLCBzb3VyY2VOYW1lLCBzb3VyY2VMaW5lKTsKKyAgICB9CisgICAgdmlydHVhbCB2b2lk
IHJ1bk1vZGFsQWxlcnREaWFsb2coV2ViS2l0OjpXZWJGcmFtZSogZnJhbWUsIGNvbnN0IFdlYktp
dDo6V2ViU3RyaW5nJiBtZXNzYWdlKQorICAgIHsKKyAgICAgICAgV2ViVGVzdFByb3h5QmFzZTo6
cnVuTW9kYWxBbGVydERpYWxvZyhmcmFtZSwgbWVzc2FnZSk7CisgICAgICAgIEJhc2U6OnJ1bk1v
ZGFsQWxlcnREaWFsb2coZnJhbWUsIG1lc3NhZ2UpOworICAgIH0KKyAgICB2aXJ0dWFsIGJvb2wg
cnVuTW9kYWxDb25maXJtRGlhbG9nKFdlYktpdDo6V2ViRnJhbWUqIGZyYW1lLCBjb25zdCBXZWJL
aXQ6OldlYlN0cmluZyYgbWVzc2FnZSkKKyAgICB7CisgICAgICAgIFdlYlRlc3RQcm94eUJhc2U6
OnJ1bk1vZGFsQ29uZmlybURpYWxvZyhmcmFtZSwgbWVzc2FnZSk7CisgICAgICAgIHJldHVybiBC
YXNlOjpydW5Nb2RhbENvbmZpcm1EaWFsb2coZnJhbWUsIG1lc3NhZ2UpOworICAgIH0KKyAgICB2
aXJ0dWFsIGJvb2wgcnVuTW9kYWxQcm9tcHREaWFsb2coV2ViS2l0OjpXZWJGcmFtZSogZnJhbWUs
IGNvbnN0IFdlYktpdDo6V2ViU3RyaW5nJiBtZXNzYWdlLCBjb25zdCBXZWJLaXQ6OldlYlN0cmlu
ZyYgZGVmYXVsdFZhbHVlLCBXZWJLaXQ6OldlYlN0cmluZyogYWN0dWFsVmFsdWUpCisgICAgewor
ICAgICAgICBXZWJUZXN0UHJveHlCYXNlOjpydW5Nb2RhbFByb21wdERpYWxvZyhmcmFtZSwgbWVz
c2FnZSwgZGVmYXVsdFZhbHVlLCBhY3R1YWxWYWx1ZSk7CisgICAgICAgIHJldHVybiBCYXNlOjpy
dW5Nb2RhbFByb21wdERpYWxvZyhmcmFtZSwgbWVzc2FnZSwgZGVmYXVsdFZhbHVlLCBhY3R1YWxW
YWx1ZSk7CisgICAgfQorICAgIHZpcnR1YWwgYm9vbCBydW5Nb2RhbEJlZm9yZVVubG9hZERpYWxv
ZyhXZWJLaXQ6OldlYkZyYW1lKiBmcmFtZSwgY29uc3QgV2ViS2l0OjpXZWJTdHJpbmcmIG1lc3Nh
Z2UpCisgICAgeworICAgICAgICBXZWJUZXN0UHJveHlCYXNlOjpydW5Nb2RhbEJlZm9yZVVubG9h
ZERpYWxvZyhmcmFtZSwgbWVzc2FnZSk7CisgICAgICAgIHJldHVybiBCYXNlOjpydW5Nb2RhbEJl
Zm9yZVVubG9hZERpYWxvZyhmcmFtZSwgbWVzc2FnZSk7CisgICAgfQogfTsKIAogfQpkaWZmIC0t
Z2l0IGEvVG9vbHMvRHVtcFJlbmRlclRyZWUvY2hyb21pdW0vVGVzdFJ1bm5lci9zcmMvV2ViVGVz
dFByb3h5LmNwcCBiL1Rvb2xzL0R1bXBSZW5kZXJUcmVlL2Nocm9taXVtL1Rlc3RSdW5uZXIvc3Jj
L1dlYlRlc3RQcm94eS5jcHAKaW5kZXggNzdhZWQyYjhhOGYwMTQyZmI1YzcxMmExZDk2ZDQ5OTNm
YjE3YTI5My4uNWIwMmI4MjZjNmU4ZmVhY2M3MGQ5MDU0Yzc4YjFhNWU1YjAzNDNmMCAxMDA2NDQK
LS0tIGEvVG9vbHMvRHVtcFJlbmRlclRyZWUvY2hyb21pdW0vVGVzdFJ1bm5lci9zcmMvV2ViVGVz
dFByb3h5LmNwcAorKysgYi9Ub29scy9EdW1wUmVuZGVyVHJlZS9jaHJvbWl1bS9UZXN0UnVubmVy
L3NyYy9XZWJUZXN0UHJveHkuY3BwCkBAIC0zNSw2ICszNSw3IEBACiAjaW5jbHVkZSAiV2ViQWNj
ZXNzaWJpbGl0eU5vdGlmaWNhdGlvbi5oIgogI2luY2x1ZGUgIldlYkFjY2Vzc2liaWxpdHlPYmpl
Y3QuaCIKICNpbmNsdWRlICJXZWJDYWNoZWRVUkxSZXF1ZXN0LmgiCisjaW5jbHVkZSAiV2ViQ29u
c29sZU1lc3NhZ2UuaCIKICNpbmNsdWRlICJXZWJFbGVtZW50LmgiCiAjaW5jbHVkZSAiV2ViRXZl
bnRTZW5kZXIuaCIKICNpbmNsdWRlICJXZWJGcmFtZS5oIgpAQCAtNDgsNiArNDksNyBAQAogI2lu
Y2x1ZGUgIldlYlRlc3RSdW5uZXIuaCIKICNpbmNsdWRlICJXZWJWaWV3LmgiCiAjaW5jbHVkZSAi
cGxhdGZvcm0vV2ViQ1N0cmluZy5oIgorI2luY2x1ZGUgInBsYXRmb3JtL1dlYlVSTEVycm9yLmgi
CiAjaW5jbHVkZSAicGxhdGZvcm0vV2ViVVJMUmVxdWVzdC5oIgogI2luY2x1ZGUgInBsYXRmb3Jt
L1dlYlVSTFJlc3BvbnNlLmgiCiAjaW5jbHVkZSA8d3RmL1N0cmluZ0V4dHJhcy5oPgpAQCAtMTg1
LDEyICsxODcsMzYgQEAgdm9pZCBibG9ja1JlcXVlc3QoV2ViVVJMUmVxdWVzdCYgcmVxdWVzdCkK
ICAgICByZXF1ZXN0LnNldFVSTChXZWJVUkwoKSk7CiB9CiAKKy8vIFVzZWQgdG8gd3JpdGUgYSBw
bGF0Zm9ybSBuZXV0cmFsIGZpbGU6Ly8vIFVSTCBieSBvbmx5IHRha2luZyB0aGUgZmlsZW5hbWUK
Ky8vIChlLmcuLCBjb252ZXJ0cyAiZmlsZTovLy90bXAvZm9vLnR4dCIgdG8ganVzdCAiZm9vLnR4
dCIpLgorc3RyaW5nIHVybFN1aXRhYmxlRm9yVGVzdFJlc3VsdChjb25zdCBzdHJpbmcmIHVybCkK
K3sKKyAgICBpZiAodXJsLmVtcHR5KCkgfHwgc3RyaW5nOjpucG9zID09IHVybC5maW5kKCJmaWxl
Oi8vIikpCisgICAgICAgIHJldHVybiB1cmw7CisKKyAgICBzaXplX3QgcG9zID0gdXJsLnJmaW5k
KCcvJyk7CisgICAgaWYgKHBvcyA9PSBzdHJpbmc6Om5wb3MpIHsKKyNpZiBPUyhXSU5ET1dTKQor
ICAgICAgICBwb3MgPSB1cmwucmZpbmQoJ1xcJyk7CisgICAgICAgIGlmIChwb3MgPT0gc3RyaW5n
OjpucG9zKQorICAgICAgICAgICAgcG9zID0gMDsKKyNlbHNlCisgICAgICAgIHBvcyA9IDA7Cisj
ZW5kaWYKKyAgICB9CisgICAgc3RyaW5nIGZpbGVuYW1lID0gdXJsLnN1YnN0cihwb3MgKyAxKTsK
KyAgICBpZiAoZmlsZW5hbWUuZW1wdHkoKSkKKyAgICAgICAgcmV0dXJuICJmaWxlOiI7IC8vIEEg
V2ViS2l0IHRlc3QgaGFzIHRoaXMgaW4gaXRzIGV4cGVjdGVkIG91dHB1dC4KKyAgICByZXR1cm4g
ZmlsZW5hbWU7Cit9CisKIH0KIAogV2ViVGVzdFByb3h5QmFzZTo6V2ViVGVzdFByb3h5QmFzZSgp
CiAgICAgOiBtX3Rlc3RJbnRlcmZhY2VzKDApCiAgICAgLCBtX2RlbGVnYXRlKDApCiB7CisgICAg
cmVzZXQoKTsKIH0KIAogV2ViVGVzdFByb3h5QmFzZTo6fldlYlRlc3RQcm94eUJhc2UoKQpAQCAt
MjExLDYgKzIzNyw3IEBAIHZvaWQgV2ViVGVzdFByb3h5QmFzZTo6cmVzZXQoKQogewogICAgIG1f
cGFpbnRSZWN0ID0gV2ViUmVjdCgpOwogICAgIG1fcmVzb3VyY2VJZGVudGlmaWVyTWFwLmNsZWFy
KCk7CisgICAgbV9sb2dDb25zb2xlT3V0cHV0ID0gdHJ1ZTsKIH0KIAogdm9pZCBXZWJUZXN0UHJv
eHlCYXNlOjpzZXRQYWludFJlY3QoY29uc3QgV2ViUmVjdCYgcmVjdCkKQEAgLTIyMyw2ICsyNTAs
MTEgQEAgV2ViUmVjdCBXZWJUZXN0UHJveHlCYXNlOjpwYWludFJlY3QoKSBjb25zdAogICAgIHJl
dHVybiBtX3BhaW50UmVjdDsKIH0KIAordm9pZCBXZWJUZXN0UHJveHlCYXNlOjpzZXRMb2dDb25z
b2xlT3V0cHV0KGJvb2wgZW5hYmxlZCkKK3sKKyAgICBtX2xvZ0NvbnNvbGVPdXRwdXQgPSBlbmFi
bGVkOworfQorCiB2b2lkIFdlYlRlc3RQcm94eUJhc2U6OmRpZEludmFsaWRhdGVSZWN0KGNvbnN0
IFdlYlJlY3QmIHJlY3QpCiB7CiAgICAgLy8gbV9wYWludFJlY3QgPSBtX3BhaW50UmVjdCBVIHJl
Y3QKQEAgLTc4Miw0ICs4MTQsNjAgQEAgdm9pZCBXZWJUZXN0UHJveHlCYXNlOjpkaWRGYWlsUmVz
b3VyY2VMb2FkKFdlYkZyYW1lKiwgdW5zaWduZWQgaWRlbnRpZmllciwgY29uc3QKICAgICBtX3Jl
c291cmNlSWRlbnRpZmllck1hcC5lcmFzZShpZGVudGlmaWVyKTsKIH0KIAordm9pZCBXZWJUZXN0
UHJveHlCYXNlOjp1bmFibGVUb0ltcGxlbWVudFBvbGljeVdpdGhFcnJvcihXZWJLaXQ6OldlYkZy
YW1lKiBmcmFtZSwgY29uc3QgV2ViS2l0OjpXZWJVUkxFcnJvciYgZXJyb3IpCit7CisgICAgY2hh
ciBlcnJvckJ1ZmZlcls0MF07CisgICAgc25wcmludGYoZXJyb3JCdWZmZXIsIHNpemVvZihlcnJv
ckJ1ZmZlciksICIlZCIsIGVycm9yLnJlYXNvbik7CisgICAgbV9kZWxlZ2F0ZS0+cHJpbnRNZXNz
YWdlKHN0cmluZygiUG9saWN5IGRlbGVnYXRlOiB1bmFibGUgdG8gaW1wbGVtZW50IHBvbGljeSB3
aXRoIGVycm9yIGRvbWFpbiAnIikgKyBlcnJvci5kb21haW4udXRmOCgpLmRhdGEoKSArCisgICAg
ICAgICInLCBlcnJvciBjb2RlICIgKyAgZXJyb3JCdWZmZXIgKworICAgICAgICAiLCBpbiBmcmFt
ZSAnIiArIGZyYW1lLT51bmlxdWVOYW1lKCkudXRmOCgpLmRhdGEoKSArICInXG4iKTsKK30KKwor
dm9pZCBXZWJUZXN0UHJveHlCYXNlOjpkaWRBZGRNZXNzYWdlVG9Db25zb2xlKGNvbnN0IFdlYkNv
bnNvbGVNZXNzYWdlJiBtZXNzYWdlLCBjb25zdCBXZWJTdHJpbmcmIHNvdXJjZU5hbWUsIHVuc2ln
bmVkIHNvdXJjZUxpbmUpCit7CisgICAgLy8gVGhpcyBtYXRjaGVzIHdpbiBEdW1wUmVuZGVyVHJl
ZSdzIFVJRGVsZWdhdGUuY3BwLgorICAgIGlmICghbV9sb2dDb25zb2xlT3V0cHV0KQorICAgICAg
ICByZXR1cm47CisgICAgbV9kZWxlZ2F0ZS0+cHJpbnRNZXNzYWdlKHN0cmluZygiQ09OU09MRSBN
RVNTQUdFOiAiKSk7CisgICAgaWYgKHNvdXJjZUxpbmUpIHsKKyAgICAgICAgY2hhciBidWZmZXJb
NDBdOworICAgICAgICBzbnByaW50ZihidWZmZXIsIHNpemVvZihidWZmZXIpLCAibGluZSAlZDog
Iiwgc291cmNlTGluZSk7CisgICAgICAgIG1fZGVsZWdhdGUtPnByaW50TWVzc2FnZShidWZmZXIp
OworICAgIH0KKyAgICBpZiAoIW1lc3NhZ2UudGV4dC5pc0VtcHR5KCkpIHsKKyAgICAgICAgc3Ry
aW5nIG5ld01lc3NhZ2U7CisgICAgICAgIG5ld01lc3NhZ2UgPSBtZXNzYWdlLnRleHQudXRmOCgp
OworICAgICAgICBzaXplX3QgZmlsZVByb3RvY29sID0gbmV3TWVzc2FnZS5maW5kKCJmaWxlOi8v
Iik7CisgICAgICAgIGlmIChmaWxlUHJvdG9jb2wgIT0gc3RyaW5nOjpucG9zKSB7CisgICAgICAg
ICAgICBuZXdNZXNzYWdlID0gbmV3TWVzc2FnZS5zdWJzdHIoMCwgZmlsZVByb3RvY29sKQorICAg
ICAgICAgICAgICAgICsgdXJsU3VpdGFibGVGb3JUZXN0UmVzdWx0KG5ld01lc3NhZ2Uuc3Vic3Ry
KGZpbGVQcm90b2NvbCkpOworICAgICAgICB9CisgICAgICAgIG1fZGVsZWdhdGUtPnByaW50TWVz
c2FnZShuZXdNZXNzYWdlKTsKKyAgICB9CisgICAgbV9kZWxlZ2F0ZS0+cHJpbnRNZXNzYWdlKHN0
cmluZygiXG4iKSk7Cit9CisKK3ZvaWQgV2ViVGVzdFByb3h5QmFzZTo6cnVuTW9kYWxBbGVydERp
YWxvZyhXZWJGcmFtZSosIGNvbnN0IFdlYlN0cmluZyYgbWVzc2FnZSkKK3sKKyAgICBtX2RlbGVn
YXRlLT5wcmludE1lc3NhZ2Uoc3RyaW5nKCJBTEVSVDogIikgKyBtZXNzYWdlLnV0ZjgoKS5kYXRh
KCkgKyAiXG4iKTsKK30KKworYm9vbCBXZWJUZXN0UHJveHlCYXNlOjpydW5Nb2RhbENvbmZpcm1E
aWFsb2coV2ViRnJhbWUqLCBjb25zdCBXZWJTdHJpbmcmIG1lc3NhZ2UpCit7CisgICAgbV9kZWxl
Z2F0ZS0+cHJpbnRNZXNzYWdlKHN0cmluZygiQ09ORklSTTogIikgKyBtZXNzYWdlLnV0ZjgoKS5k
YXRhKCkgKyAiXG4iKTsKKyAgICByZXR1cm4gdHJ1ZTsKK30KKworYm9vbCBXZWJUZXN0UHJveHlC
YXNlOjpydW5Nb2RhbFByb21wdERpYWxvZyhXZWJGcmFtZSogZnJhbWUsIGNvbnN0IFdlYlN0cmlu
ZyYgbWVzc2FnZSwgY29uc3QgV2ViU3RyaW5nJiBkZWZhdWx0VmFsdWUsIFdlYlN0cmluZyopCit7
CisgICAgbV9kZWxlZ2F0ZS0+cHJpbnRNZXNzYWdlKHN0cmluZygiUFJPTVBUOiAiKSArIG1lc3Nh
Z2UudXRmOCgpLmRhdGEoKSArICIsIGRlZmF1bHQgdGV4dDogIiArIGRlZmF1bHRWYWx1ZS51dGY4
KCkuZGF0YSgpICsgIlxuIik7CisgICAgcmV0dXJuIHRydWU7Cit9CisKK2Jvb2wgV2ViVGVzdFBy
b3h5QmFzZTo6cnVuTW9kYWxCZWZvcmVVbmxvYWREaWFsb2coV2ViRnJhbWUqLCBjb25zdCBXZWJT
dHJpbmcmIG1lc3NhZ2UpCit7CisgICAgbV9kZWxlZ2F0ZS0+cHJpbnRNZXNzYWdlKHN0cmluZygi
Q09ORklSTSBOQVZJR0FUSU9OOiAiKSArIG1lc3NhZ2UudXRmOCgpLmRhdGEoKSArICJcbiIpOwor
ICAgIHJldHVybiB0cnVlOworfQorCiB9CmRpZmYgLS1naXQgYS9Ub29scy9EdW1wUmVuZGVyVHJl
ZS9jaHJvbWl1bS9UZXN0U2hlbGwuY3BwIGIvVG9vbHMvRHVtcFJlbmRlclRyZWUvY2hyb21pdW0v
VGVzdFNoZWxsLmNwcAppbmRleCAyZjQzZDBiNDZlZDc0Y2U3YTMwNjhjYzU2ZTllMzM4OTA0MTE4
MjI3Li41MDY4NDE0ZjllYzhmNGU5YzJjZmIyMjA3NTU3OTRkNjk5M2VhNTNjIDEwMDY0NAotLS0g
YS9Ub29scy9EdW1wUmVuZGVyVHJlZS9jaHJvbWl1bS9UZXN0U2hlbGwuY3BwCisrKyBiL1Rvb2xz
L0R1bXBSZW5kZXJUcmVlL2Nocm9taXVtL1Rlc3RTaGVsbC5jcHAKQEAgLTIxOSw3ICsyMTksNyBA
QCB2b2lkIFRlc3RTaGVsbDo6c2hvd0RldlRvb2xzKCkKICAgICAgICAgfQogICAgICAgICBtX2Rl
dlRvb2xzID0gY3JlYXRlTmV3V2luZG93KHVybCwgMCwgbV9kZXZUb29sc1Rlc3RJbnRlcmZhY2Vz
LmdldCgpKTsKICAgICAgICAgbV9kZXZUb29scy0+d2ViVmlldygpLT5zZXR0aW5ncygpLT5zZXRN
ZW1vcnlJbmZvRW5hYmxlZCh0cnVlKTsKLSAgICAgICAgbV9kZXZUb29scy0+c2V0TG9nQ29uc29s
ZU91dHB1dChmYWxzZSk7CisgICAgICAgIG1fZGV2VG9vbHMtPnByb3h5KCktPnNldExvZ0NvbnNv
bGVPdXRwdXQoZmFsc2UpOwogICAgICAgICBtX2RldlRvb2xzVGVzdEludGVyZmFjZXMtPnNldERl
bGVnYXRlKG1fZGV2VG9vbHMpOwogICAgICAgICBtX2RldlRvb2xzVGVzdEludGVyZmFjZXMtPnNl
dFdlYlZpZXcobV9kZXZUb29scy0+d2ViVmlldygpKTsKICAgICAgICAgQVNTRVJUKG1fZGV2VG9v
bHMpOwpkaWZmIC0tZ2l0IGEvVG9vbHMvRHVtcFJlbmRlclRyZWUvY2hyb21pdW0vV2ViVmlld0hv
c3QuY3BwIGIvVG9vbHMvRHVtcFJlbmRlclRyZWUvY2hyb21pdW0vV2ViVmlld0hvc3QuY3BwCmlu
ZGV4IDAyN2Y2NGZhOTQwNmE0M2MxZjkyOWQ5OGNkN2E3NDM2Y2M2Njk2ZDkuLmY5MjNkZDhhMGZk
NDhjZDcyMmEyOTZmMjNlY2QyMzgxOTY1NzM5MmEgMTAwNjQ0Ci0tLSBhL1Rvb2xzL0R1bXBSZW5k
ZXJUcmVlL2Nocm9taXVtL1dlYlZpZXdIb3N0LmNwcAorKysgYi9Ub29scy9EdW1wUmVuZGVyVHJl
ZS9jaHJvbWl1bS9XZWJWaWV3SG9zdC5jcHAKQEAgLTEwNywyOSArMTA3LDYgQEAgc3RhdGljIGNv
bnN0IGNoYXIqIGlsbGVnYWxTdHJpbmcgPSAiaWxsZWdhbCB2YWx1ZSI7CiAKIHN0YXRpYyBpbnQg
bmV4dFBhZ2VJRCA9IDE7CiAKLS8vIFVzZWQgdG8gd3JpdGUgYSBwbGF0Zm9ybSBuZXV0cmFsIGZp
bGU6Ly8vIFVSTCBieSBvbmx5IHRha2luZyB0aGUgZmlsZW5hbWUKLS8vIChlLmcuLCBjb252ZXJ0
cyAiZmlsZTovLy90bXAvZm9vLnR4dCIgdG8ganVzdCAiZm9vLnR4dCIpLgotc3RhdGljIHN0cmlu
ZyB1cmxTdWl0YWJsZUZvclRlc3RSZXN1bHQoY29uc3Qgc3RyaW5nJiB1cmwpCi17Ci0gICAgaWYg
KHVybC5lbXB0eSgpIHx8IHN0cmluZzo6bnBvcyA9PSB1cmwuZmluZCgiZmlsZTovLyIpKQotICAg
ICAgICByZXR1cm4gdXJsOwotCi0gICAgc2l6ZV90IHBvcyA9IHVybC5yZmluZCgnLycpOwotICAg
IGlmIChwb3MgPT0gc3RyaW5nOjpucG9zKSB7Ci0jaWYgT1MoV0lORE9XUykKLSAgICAgICAgcG9z
ID0gdXJsLnJmaW5kKCdcXCcpOwotICAgICAgICBpZiAocG9zID09IHN0cmluZzo6bnBvcykKLSAg
ICAgICAgICAgIHBvcyA9IDA7Ci0jZWxzZQotICAgICAgICBwb3MgPSAwOwotI2VuZGlmCi0gICAg
fQotICAgIHN0cmluZyBmaWxlbmFtZSA9IHVybC5zdWJzdHIocG9zICsgMSk7Ci0gICAgaWYgKGZp
bGVuYW1lLmVtcHR5KCkpCi0gICAgICAgIHJldHVybiAiZmlsZToiOyAvLyBBIFdlYktpdCB0ZXN0
IGhhcyB0aGlzIGluIGl0cyBleHBlY3RlZCBvdXRwdXQuCi0gICAgcmV0dXJuIGZpbGVuYW1lOwot
fQotCiAvLyBHZXQgYSBkZWJ1Z2dpbmcgc3RyaW5nIGZyb20gYSBXZWJOYXZpZ2F0aW9uVHlwZS4K
IHN0YXRpYyBjb25zdCBjaGFyKiB3ZWJOYXZpZ2F0aW9uVHlwZVRvU3RyaW5nKFdlYk5hdmlnYXRp
b25UeXBlIHR5cGUpCiB7CkBAIC0yMjYsMjIgKzIwMyw2IEBAIFdlYkNvbXBvc2l0b3JPdXRwdXRT
dXJmYWNlKiBXZWJWaWV3SG9zdDo6Y3JlYXRlT3V0cHV0U3VyZmFjZSgpCiAKIHZvaWQgV2ViVmll
d0hvc3Q6OmRpZEFkZE1lc3NhZ2VUb0NvbnNvbGUoY29uc3QgV2ViQ29uc29sZU1lc3NhZ2UmIG1l
c3NhZ2UsIGNvbnN0IFdlYlN0cmluZyYgc291cmNlTmFtZSwgdW5zaWduZWQgc291cmNlTGluZSkK
IHsKLSAgICAvLyBUaGlzIG1hdGNoZXMgd2luIER1bXBSZW5kZXJUcmVlJ3MgVUlEZWxlZ2F0ZS5j
cHAuCi0gICAgaWYgKCFtX2xvZ0NvbnNvbGVPdXRwdXQpCi0gICAgICAgIHJldHVybjsKLSAgICBz
dHJpbmcgbmV3TWVzc2FnZTsKLSAgICBpZiAoIW1lc3NhZ2UudGV4dC5pc0VtcHR5KCkpIHsKLSAg
ICAgICAgbmV3TWVzc2FnZSA9IG1lc3NhZ2UudGV4dC51dGY4KCk7Ci0gICAgICAgIHNpemVfdCBm
aWxlUHJvdG9jb2wgPSBuZXdNZXNzYWdlLmZpbmQoImZpbGU6Ly8iKTsKLSAgICAgICAgaWYgKGZp
bGVQcm90b2NvbCAhPSBzdHJpbmc6Om5wb3MpIHsKLSAgICAgICAgICAgIG5ld01lc3NhZ2UgPSBu
ZXdNZXNzYWdlLnN1YnN0cigwLCBmaWxlUHJvdG9jb2wpCi0gICAgICAgICAgICAgICAgKyB1cmxT
dWl0YWJsZUZvclRlc3RSZXN1bHQobmV3TWVzc2FnZS5zdWJzdHIoZmlsZVByb3RvY29sKSk7Ci0g
ICAgICAgIH0KLSAgICB9Ci0gICAgcHJpbnRmKCJDT05TT0xFIE1FU1NBR0U6ICIpOwotICAgIGlm
IChzb3VyY2VMaW5lKQotICAgICAgICBwcmludGYoImxpbmUgJWQ6ICIsIHNvdXJjZUxpbmUpOwot
ICAgIHByaW50ZigiJXNcbiIsIG5ld01lc3NhZ2UuZGF0YSgpKTsKIH0KIAogdm9pZCBXZWJWaWV3
SG9zdDo6ZGlkU3RhcnRMb2FkaW5nKCkKQEAgLTQwMCwyNiArMzYxLDIxIEBAIFdlYlN0cmluZyBX
ZWJWaWV3SG9zdDo6YXV0b0NvcnJlY3RXb3JkKGNvbnN0IFdlYlN0cmluZyYpCiAKIHZvaWQgV2Vi
Vmlld0hvc3Q6OnJ1bk1vZGFsQWxlcnREaWFsb2coV2ViRnJhbWUqLCBjb25zdCBXZWJTdHJpbmcm
IG1lc3NhZ2UpCiB7Ci0gICAgcHJpbnRmKCJBTEVSVDogJXNcbiIsIG1lc3NhZ2UudXRmOCgpLmRh
dGEoKSk7Ci0gICAgZmZsdXNoKHN0ZG91dCk7CiB9CiAKIGJvb2wgV2ViVmlld0hvc3Q6OnJ1bk1v
ZGFsQ29uZmlybURpYWxvZyhXZWJGcmFtZSosIGNvbnN0IFdlYlN0cmluZyYgbWVzc2FnZSkKIHsK
LSAgICBwcmludGYoIkNPTkZJUk06ICVzXG4iLCBtZXNzYWdlLnV0ZjgoKS5kYXRhKCkpOwogICAg
IHJldHVybiB0cnVlOwogfQogCiBib29sIFdlYlZpZXdIb3N0OjpydW5Nb2RhbFByb21wdERpYWxv
ZyhXZWJGcmFtZSogZnJhbWUsIGNvbnN0IFdlYlN0cmluZyYgbWVzc2FnZSwKICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgIGNvbnN0IFdlYlN0cmluZyYgZGVmYXVsdFZhbHVl
LCBXZWJTdHJpbmcqKQogewotICAgIHByaW50ZigiUFJPTVBUOiAlcywgZGVmYXVsdCB0ZXh0OiAl
c1xuIiwgbWVzc2FnZS51dGY4KCkuZGF0YSgpLCBkZWZhdWx0VmFsdWUudXRmOCgpLmRhdGEoKSk7
CiAgICAgcmV0dXJuIHRydWU7CiB9CiAKIGJvb2wgV2ViVmlld0hvc3Q6OnJ1bk1vZGFsQmVmb3Jl
VW5sb2FkRGlhbG9nKFdlYkZyYW1lKiwgY29uc3QgV2ViU3RyaW5nJiBtZXNzYWdlKQogewotICAg
IHByaW50ZigiQ09ORklSTSBOQVZJR0FUSU9OOiAlc1xuIiwgbWVzc2FnZS51dGY4KCkuZGF0YSgp
KTsKICAgICByZXR1cm4gIXRlc3RSdW5uZXIoKS0+c2hvdWxkU3RheU9uUGFnZUFmdGVySGFuZGxp
bmdCZWZvcmVVbmxvYWQoKTsKIH0KIApAQCAtODExLDkgKzc2Nyw2IEBAIFdlYlVSTEVycm9yIFdl
YlZpZXdIb3N0OjpjYW5jZWxsZWRFcnJvcihXZWJGcmFtZSosIGNvbnN0IFdlYlVSTFJlcXVlc3Qm
IHJlcXVlc3QpCiAKIHZvaWQgV2ViVmlld0hvc3Q6OnVuYWJsZVRvSW1wbGVtZW50UG9saWN5V2l0
aEVycm9yKFdlYkZyYW1lKiBmcmFtZSwgY29uc3QgV2ViVVJMRXJyb3ImIGVycm9yKQogewotICAg
IHByaW50ZigiUG9saWN5IGRlbGVnYXRlOiB1bmFibGUgdG8gaW1wbGVtZW50IHBvbGljeSB3aXRo
IGVycm9yIGRvbWFpbiAnJXMnLCAiCi0gICAgICAgICAgICJlcnJvciBjb2RlICVkLCBpbiBmcmFt
ZSAnJXMnXG4iLAotICAgICAgICAgICAgZXJyb3IuZG9tYWluLnV0ZjgoKS5kYXRhKCksIGVycm9y
LnJlYXNvbiwgZnJhbWUtPnVuaXF1ZU5hbWUoKS51dGY4KCkuZGF0YSgpKTsKIH0KIAogdm9pZCBX
ZWJWaWV3SG9zdDo6ZGlkQ3JlYXRlRGF0YVNvdXJjZShXZWJGcmFtZSosIFdlYkRhdGFTb3VyY2Uq
IGRzKQpAQCAtMTI5MSw3ICsxMjQ0LDYgQEAgdm9pZCBXZWJWaWV3SG9zdDo6cmVzZXQoKQogICAg
IG1faGFzV2luZG93ID0gZmFsc2U7CiAgICAgbV9pbk1vZGFsTG9vcCA9IGZhbHNlOwogICAgIG1f
c21hcnRJbnNlcnREZWxldGVFbmFibGVkID0gdHJ1ZTsKLSAgICBtX2xvZ0NvbnNvbGVPdXRwdXQg
PSB0cnVlOwogI2lmIE9TKFdJTkRPV1MpCiAgICAgbV9zZWxlY3RUcmFpbGluZ1doaXRlc3BhY2VF
bmFibGVkID0gdHJ1ZTsKICNlbHNlCkBAIC0xMzUxLDExICsxMzAzLDYgQEAgdm9pZCBXZWJWaWV3
SG9zdDo6c2V0Q2xpZW50V2luZG93UmVjdChjb25zdCBXZWJLaXQ6OldlYlJlY3QmIHJlY3QpCiAg
ICAgc2V0V2luZG93UmVjdChyZWN0KTsKIH0KIAotdm9pZCBXZWJWaWV3SG9zdDo6c2V0TG9nQ29u
c29sZU91dHB1dChib29sIGVuYWJsZWQpCi17Ci0gICAgbV9sb2dDb25zb2xlT3V0cHV0ID0gZW5h
YmxlZDsKLX0KLQogdm9pZCBXZWJWaWV3SG9zdDo6c2V0Q3VzdG9tUG9saWN5RGVsZWdhdGUoYm9v
bCBpc0N1c3RvbSwgYm9vbCBpc1Blcm1pc3NpdmUpCiB7CiAgICAgbV9wb2xpY3lEZWxlZ2F0ZUVu
YWJsZWQgPSBpc0N1c3RvbTsKZGlmZiAtLWdpdCBhL1Rvb2xzL0R1bXBSZW5kZXJUcmVlL2Nocm9t
aXVtL1dlYlZpZXdIb3N0LmggYi9Ub29scy9EdW1wUmVuZGVyVHJlZS9jaHJvbWl1bS9XZWJWaWV3
SG9zdC5oCmluZGV4IDYxZjgwNGE2NzA5YzBjZGE1N2JkNTM5YzRmMWE0MmU3ZTBjN2VkYjcuLjFj
ZDU3ZGM5OTlkZDllZmNkYzZhNGQ2ZjU4NjRiNzgyNDAxM2QyMmUgMTAwNjQ0Ci0tLSBhL1Rvb2xz
L0R1bXBSZW5kZXJUcmVlL2Nocm9taXVtL1dlYlZpZXdIb3N0LmgKKysrIGIvVG9vbHMvRHVtcFJl
bmRlclRyZWUvY2hyb21pdW0vV2ViVmlld0hvc3QuaApAQCAtODksNyArODksNiBAQCBjbGFzcyBX
ZWJWaWV3SG9zdCA6IHB1YmxpYyBXZWJLaXQ6OldlYlZpZXdDbGllbnQsIHB1YmxpYyBXZWJLaXQ6
OldlYkZyYW1lQ2xpZW50LAogICAgIFdlYlRlc3RSdW5uZXI6OldlYlRlc3RQcm94eUJhc2UqIHBy
b3h5KCkgY29uc3Q7CiAgICAgdm9pZCBzZXRQcm94eShXZWJUZXN0UnVubmVyOjpXZWJUZXN0UHJv
eHlCYXNlKik7CiAgICAgdm9pZCByZXNldCgpOwotICAgIHZvaWQgc2V0TG9nQ29uc29sZU91dHB1
dChib29sKTsKICAgICB2b2lkIHdhaXRGb3JQb2xpY3lEZWxlZ2F0ZSgpOwogICAgIHZvaWQgc2V0
Q3VzdG9tUG9saWN5RGVsZWdhdGUoYm9vbCwgYm9vbCk7CiAgICAgV2ViS2l0OjpXZWJGcmFtZSog
dG9wTG9hZGluZ0ZyYW1lKCkgeyByZXR1cm4gbV90b3BMb2FkaW5nRnJhbWU7IH0KQEAgLTM5NSw5
ICszOTQsNiBAQCBwcml2YXRlOgogICAgIC8vIHRydWUgaWYgd2Ugd2FudCB0byBlbmFibGUgc2Vs
ZWN0aW9uIG9mIHRyYWlsaW5nIHdoaXRlc3BhY2VzCiAgICAgYm9vbCBtX3NlbGVjdFRyYWlsaW5n
V2hpdGVzcGFjZUVuYWJsZWQ7CiAKLSAgICAvLyB0cnVlIGlmIHdoYXRldmVyIGlzIHNlbnQgdG8g
dGhlIGNvbnNvbGUgc2hvdWxkIGJlIGxvZ2dlZCB0byBzdGRvdXQuCi0gICAgYm9vbCBtX2xvZ0Nv
bnNvbGVPdXRwdXQ7Ci0KICAgICAvLyBFZGl0IGNvbW1hbmQgYXNzb2NpYXRlZCB0byB0aGUgY3Vy
cmVudCBrZXlib2FyZCBldmVudC4KICAgICBzdGQ6OnN0cmluZyBtX2VkaXRDb21tYW5kTmFtZTsK
ICAgICBzdGQ6OnN0cmluZyBtX2VkaXRDb21tYW5kVmFsdWU7Cg==
</data>

          </attachment>
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>184207</attachid>
            <date>2013-01-23 05:16:23 -0800</date>
            <delta_ts>2013-01-24 00:22:31 -0800</delta_ts>
            <desc>Patch</desc>
            <filename>bug-107553-20130123141315.patch</filename>
            <type>text/plain</type>
            <size>17071</size>
            <attacher name="Dan Carney">dcarney</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMTQwNTMzCmRpZmYgLS1naXQgYS9Ub29scy9DaGFuZ2VMb2cg
Yi9Ub29scy9DaGFuZ2VMb2cKaW5kZXggMzYyOTk2NTE2ZGIxNDEyYjA4YTkxMGEzY2ZkNjFlY2M5
NmU2YjE3YS4uM2E0MTE2Y2M1MDUxNWE4NmVmOGNiYTczM2U5Zjk4MmIyZWVlMmE2MSAxMDA2NDQK
LS0tIGEvVG9vbHMvQ2hhbmdlTG9nCisrKyBiL1Rvb2xzL0NoYW5nZUxvZwpAQCAtMSwzICsxLDQz
IEBACisyMDEzLTAxLTIzICBEYW4gQ2FybmV5ICA8ZGNhcm5leUBnb29nbGUuY29tPgorCisgICAg
ICAgIFtjaHJvbWl1bV0gbW92ZSBtb3N0IFdlYlZpZXdIb3N0IHByaW50ZiBjYWxscyB0byBXZWJU
ZXN0UHJveHkKKyAgICAgICAgaHR0cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hvd19idWcuY2dpP2lk
PTEwNzU1MworCisgICAgICAgIFJldmlld2VkIGJ5IEpvY2hlbiBFaXNpbmdlci4KKworICAgICAg
ICAqIER1bXBSZW5kZXJUcmVlL2Nocm9taXVtL1Rlc3RSdW5uZXIvcHVibGljL1dlYlRlc3RQcm94
eS5oOgorICAgICAgICAoV2ViS2l0KToKKyAgICAgICAgKFdlYlRlc3RQcm94eUJhc2UpOgorICAg
ICAgICAoV2ViVGVzdFJ1bm5lcjo6V2ViVGVzdFByb3h5Ojp1bmFibGVUb0ltcGxlbWVudFBvbGlj
eVdpdGhFcnJvcik6CisgICAgICAgIChXZWJUZXN0UnVubmVyOjpXZWJUZXN0UHJveHk6OmRpZEFk
ZE1lc3NhZ2VUb0NvbnNvbGUpOgorICAgICAgICAoV2ViVGVzdFJ1bm5lcjo6V2ViVGVzdFByb3h5
OjpydW5Nb2RhbEFsZXJ0RGlhbG9nKToKKyAgICAgICAgKFdlYlRlc3RSdW5uZXI6OldlYlRlc3RQ
cm94eTo6cnVuTW9kYWxDb25maXJtRGlhbG9nKToKKyAgICAgICAgKFdlYlRlc3RSdW5uZXI6Oldl
YlRlc3RQcm94eTo6cnVuTW9kYWxQcm9tcHREaWFsb2cpOgorICAgICAgICAoV2ViVGVzdFJ1bm5l
cjo6V2ViVGVzdFByb3h5OjpydW5Nb2RhbEJlZm9yZVVubG9hZERpYWxvZyk6CisgICAgICAgICog
RHVtcFJlbmRlclRyZWUvY2hyb21pdW0vVGVzdFJ1bm5lci9zcmMvV2ViVGVzdFByb3h5LmNwcDoK
KyAgICAgICAgKFdlYlRlc3RSdW5uZXI6OldlYlRlc3RQcm94eUJhc2U6OldlYlRlc3RQcm94eUJh
c2UpOgorICAgICAgICAoV2ViVGVzdFJ1bm5lcjo6V2ViVGVzdFByb3h5QmFzZTo6cmVzZXQpOgor
ICAgICAgICAoV2ViVGVzdFJ1bm5lcjo6V2ViVGVzdFByb3h5QmFzZTo6c2V0TG9nQ29uc29sZU91
dHB1dCk6CisgICAgICAgIChXZWJUZXN0UnVubmVyKToKKyAgICAgICAgKFdlYlRlc3RSdW5uZXI6
OldlYlRlc3RQcm94eUJhc2U6OnVuYWJsZVRvSW1wbGVtZW50UG9saWN5V2l0aEVycm9yKToKKyAg
ICAgICAgKFdlYlRlc3RSdW5uZXI6OldlYlRlc3RQcm94eUJhc2U6OmRpZEFkZE1lc3NhZ2VUb0Nv
bnNvbGUpOgorICAgICAgICAoV2ViVGVzdFJ1bm5lcjo6V2ViVGVzdFByb3h5QmFzZTo6cnVuTW9k
YWxBbGVydERpYWxvZyk6CisgICAgICAgIChXZWJUZXN0UnVubmVyOjpXZWJUZXN0UHJveHlCYXNl
OjpydW5Nb2RhbENvbmZpcm1EaWFsb2cpOgorICAgICAgICAoV2ViVGVzdFJ1bm5lcjo6V2ViVGVz
dFByb3h5QmFzZTo6cnVuTW9kYWxQcm9tcHREaWFsb2cpOgorICAgICAgICAoV2ViVGVzdFJ1bm5l
cjo6V2ViVGVzdFByb3h5QmFzZTo6cnVuTW9kYWxCZWZvcmVVbmxvYWREaWFsb2cpOgorICAgICAg
ICAqIER1bXBSZW5kZXJUcmVlL2Nocm9taXVtL1Rlc3RTaGVsbC5jcHA6CisgICAgICAgIChUZXN0
U2hlbGw6OnNob3dEZXZUb29scyk6CisgICAgICAgICogRHVtcFJlbmRlclRyZWUvY2hyb21pdW0v
V2ViVmlld0hvc3QuY3BwOgorICAgICAgICAoV2ViVmlld0hvc3Q6OmRpZEFkZE1lc3NhZ2VUb0Nv
bnNvbGUpOgorICAgICAgICAoV2ViVmlld0hvc3Q6OnJ1bk1vZGFsQWxlcnREaWFsb2cpOgorICAg
ICAgICAoV2ViVmlld0hvc3Q6OnJ1bk1vZGFsQ29uZmlybURpYWxvZyk6CisgICAgICAgIChXZWJW
aWV3SG9zdDo6cnVuTW9kYWxQcm9tcHREaWFsb2cpOgorICAgICAgICAoV2ViVmlld0hvc3Q6OnJ1
bk1vZGFsQmVmb3JlVW5sb2FkRGlhbG9nKToKKyAgICAgICAgKFdlYlZpZXdIb3N0Ojp1bmFibGVU
b0ltcGxlbWVudFBvbGljeVdpdGhFcnJvcik6CisgICAgICAgIChXZWJWaWV3SG9zdDo6cmVzZXQp
OgorICAgICAgICAqIER1bXBSZW5kZXJUcmVlL2Nocm9taXVtL1dlYlZpZXdIb3N0Lmg6CisgICAg
ICAgIChXZWJWaWV3SG9zdCk6CisKIDIwMTMtMDEtMjMgIFRpbSAnbWl0aHJvJyBBbnNlbGwgIDxt
aXRocm9AbWl0aGlzLmNvbT4KIAogICAgICAgICBSZW1vdmluZyBjb21tYW5kIGxpbmUgc2hvcnRl
bmluZyBhcyBpdCBtYWtlcyBpdCBkaWZmaWN1bHQgdG8gc2VlIHRoZSBjb21tYW5kIGR1cmluZyBl
cnJvcnMuCmRpZmYgLS1naXQgYS9Ub29scy9EdW1wUmVuZGVyVHJlZS9jaHJvbWl1bS9UZXN0UnVu
bmVyL3B1YmxpYy9XZWJUZXN0UHJveHkuaCBiL1Rvb2xzL0R1bXBSZW5kZXJUcmVlL2Nocm9taXVt
L1Rlc3RSdW5uZXIvcHVibGljL1dlYlRlc3RQcm94eS5oCmluZGV4IDU4NDEyZjY5Zjg1NWRkYjdl
YWRkOGFlOGE3ZWYwMmFhMzI0MWFmZDIuLjIzNmM0ZTg2YmM4ODcyNzVhYTg2NWQyZWJhNzI2ZGMy
YzdjMWQ2ZGQgMTAwNjQ0Ci0tLSBhL1Rvb2xzL0R1bXBSZW5kZXJUcmVlL2Nocm9taXVtL1Rlc3RS
dW5uZXIvcHVibGljL1dlYlRlc3RQcm94eS5oCisrKyBiL1Rvb2xzL0R1bXBSZW5kZXJUcmVlL2No
cm9taXVtL1Rlc3RSdW5uZXIvcHVibGljL1dlYlRlc3RQcm94eS5oCkBAIC00MSw2ICs0MSw4IEBA
CiAjaW5jbHVkZSA8bWFwPgogI2luY2x1ZGUgPHN0cmluZz4KIAorI2RlZmluZSBURVNUX1JVTk5F
Ul9NT1ZFRF9QUklOVElORyAxCisKIG5hbWVzcGFjZSBXZWJLaXQgewogY2xhc3MgV2ViQWNjZXNz
aWJpbGl0eU9iamVjdDsKIGNsYXNzIFdlYkNhY2hlZFVSTFJlcXVlc3Q7CkBAIC01OSw2ICs2MSw3
IEBAIGNsYXNzIFdlYlVSTDsKIGNsYXNzIFdlYlVSTFJlcXVlc3Q7CiBjbGFzcyBXZWJVUkxSZXNw
b25zZTsKIGNsYXNzIFdlYlZpZXc7CitzdHJ1Y3QgV2ViQ29uc29sZU1lc3NhZ2U7CiBzdHJ1Y3Qg
V2ViUG9pbnQ7CiBzdHJ1Y3QgV2ViU2l6ZTsKIHN0cnVjdCBXZWJVUkxFcnJvcjsKQEAgLTg0LDYg
Kzg3LDggQEAgcHVibGljOgogICAgIHZvaWQgc2V0UGFpbnRSZWN0KGNvbnN0IFdlYktpdDo6V2Vi
UmVjdCYpOwogICAgIFdlYktpdDo6V2ViUmVjdCBwYWludFJlY3QoKSBjb25zdDsKIAorICAgIHZv
aWQgc2V0TG9nQ29uc29sZU91dHB1dChib29sIGVuYWJsZWQpOworCiBwcm90ZWN0ZWQ6CiAgICAg
V2ViVGVzdFByb3h5QmFzZSgpOwogICAgIH5XZWJUZXN0UHJveHlCYXNlKCk7CkBAIC0xMzUsNiAr
MTQwLDEyIEBAIHByb3RlY3RlZDoKICAgICB2b2lkIGRpZFJlY2VpdmVSZXNwb25zZShXZWJLaXQ6
OldlYkZyYW1lKiwgdW5zaWduZWQgaWRlbnRpZmllciwgY29uc3QgV2ViS2l0OjpXZWJVUkxSZXNw
b25zZSYpOwogICAgIHZvaWQgZGlkRmluaXNoUmVzb3VyY2VMb2FkKFdlYktpdDo6V2ViRnJhbWUq
LCB1bnNpZ25lZCBpZGVudGlmaWVyKTsKICAgICB2b2lkIGRpZEZhaWxSZXNvdXJjZUxvYWQoV2Vi
S2l0OjpXZWJGcmFtZSosIHVuc2lnbmVkIGlkZW50aWZpZXIsIGNvbnN0IFdlYktpdDo6V2ViVVJM
RXJyb3ImKTsKKyAgICB2b2lkIHVuYWJsZVRvSW1wbGVtZW50UG9saWN5V2l0aEVycm9yKFdlYktp
dDo6V2ViRnJhbWUqLCBjb25zdCBXZWJLaXQ6OldlYlVSTEVycm9yJik7CisgICAgdm9pZCBkaWRB
ZGRNZXNzYWdlVG9Db25zb2xlKGNvbnN0IFdlYktpdDo6V2ViQ29uc29sZU1lc3NhZ2UmLCBjb25z
dCBXZWJLaXQ6OldlYlN0cmluZyYgc291cmNlTmFtZSwgdW5zaWduZWQgc291cmNlTGluZSk7Cisg
ICAgdm9pZCBydW5Nb2RhbEFsZXJ0RGlhbG9nKFdlYktpdDo6V2ViRnJhbWUqLCBjb25zdCBXZWJL
aXQ6OldlYlN0cmluZyYpOworICAgIGJvb2wgcnVuTW9kYWxDb25maXJtRGlhbG9nKFdlYktpdDo6
V2ViRnJhbWUqLCBjb25zdCBXZWJLaXQ6OldlYlN0cmluZyYpOworICAgIGJvb2wgcnVuTW9kYWxQ
cm9tcHREaWFsb2coV2ViS2l0OjpXZWJGcmFtZSosIGNvbnN0IFdlYktpdDo6V2ViU3RyaW5nJiBt
ZXNzYWdlLCBjb25zdCBXZWJLaXQ6OldlYlN0cmluZyYgZGVmYXVsdFZhbHVlLCBXZWJLaXQ6Oldl
YlN0cmluZyogYWN0dWFsVmFsdWUpOworICAgIGJvb2wgcnVuTW9kYWxCZWZvcmVVbmxvYWREaWFs
b2coV2ViS2l0OjpXZWJGcmFtZSosIGNvbnN0IFdlYktpdDo6V2ViU3RyaW5nJik7CiAKIHByaXZh
dGU6CiAgICAgV2ViVGVzdEludGVyZmFjZXMqIG1fdGVzdEludGVyZmFjZXM7CkBAIC0xNDQsNiAr
MTU1LDggQEAgcHJpdmF0ZToKIAogICAgIFdlYktpdDo6V2ViUmVjdCBtX3BhaW50UmVjdDsKICAg
ICBzdGQ6Om1hcDx1bnNpZ25lZCwgc3RkOjpzdHJpbmc+IG1fcmVzb3VyY2VJZGVudGlmaWVyTWFw
OworCisgICAgYm9vbCBtX2xvZ0NvbnNvbGVPdXRwdXQ7CiB9OwogCiAvLyBVc2UgdGhpcyB0ZW1w
bGF0ZSB0byBpbmplY3QgbWV0aG9kcyBpbnRvIHlvdXIgV2ViVmlld0NsaWVudC9XZWJGcmFtZUNs
aWVudApAQCAtMzkxLDYgKzQwNCwzNiBAQCBwdWJsaWM6CiAgICAgICAgIFdlYlRlc3RQcm94eUJh
c2U6OmRpZEZhaWxSZXNvdXJjZUxvYWQoZnJhbWUsIGlkZW50aWZpZXIsIGVycm9yKTsKICAgICAg
ICAgQmFzZTo6ZGlkRmFpbFJlc291cmNlTG9hZChmcmFtZSwgaWRlbnRpZmllciwgZXJyb3IpOwog
ICAgIH0KKyAgICB2aXJ0dWFsIHZvaWQgdW5hYmxlVG9JbXBsZW1lbnRQb2xpY3lXaXRoRXJyb3Io
V2ViS2l0OjpXZWJGcmFtZSogZnJhbWUsIGNvbnN0IFdlYktpdDo6V2ViVVJMRXJyb3ImIGVycm9y
KQorICAgIHsKKyAgICAgICAgV2ViVGVzdFByb3h5QmFzZTo6dW5hYmxlVG9JbXBsZW1lbnRQb2xp
Y3lXaXRoRXJyb3IoZnJhbWUsIGVycm9yKTsKKyAgICAgICAgQmFzZTo6dW5hYmxlVG9JbXBsZW1l
bnRQb2xpY3lXaXRoRXJyb3IoZnJhbWUsIGVycm9yKTsKKyAgICB9CisgICAgdmlydHVhbCB2b2lk
IGRpZEFkZE1lc3NhZ2VUb0NvbnNvbGUoY29uc3QgV2ViS2l0OjpXZWJDb25zb2xlTWVzc2FnZSYg
bWVzc2FnZSwgY29uc3QgV2ViS2l0OjpXZWJTdHJpbmcmIHNvdXJjZU5hbWUsIHVuc2lnbmVkIHNv
dXJjZUxpbmUpCisgICAgeworICAgICAgICBXZWJUZXN0UHJveHlCYXNlOjpkaWRBZGRNZXNzYWdl
VG9Db25zb2xlKG1lc3NhZ2UsIHNvdXJjZU5hbWUsIHNvdXJjZUxpbmUpOworICAgICAgICBCYXNl
OjpkaWRBZGRNZXNzYWdlVG9Db25zb2xlKG1lc3NhZ2UsIHNvdXJjZU5hbWUsIHNvdXJjZUxpbmUp
OworICAgIH0KKyAgICB2aXJ0dWFsIHZvaWQgcnVuTW9kYWxBbGVydERpYWxvZyhXZWJLaXQ6Oldl
YkZyYW1lKiBmcmFtZSwgY29uc3QgV2ViS2l0OjpXZWJTdHJpbmcmIG1lc3NhZ2UpCisgICAgewor
ICAgICAgICBXZWJUZXN0UHJveHlCYXNlOjpydW5Nb2RhbEFsZXJ0RGlhbG9nKGZyYW1lLCBtZXNz
YWdlKTsKKyAgICAgICAgQmFzZTo6cnVuTW9kYWxBbGVydERpYWxvZyhmcmFtZSwgbWVzc2FnZSk7
CisgICAgfQorICAgIHZpcnR1YWwgYm9vbCBydW5Nb2RhbENvbmZpcm1EaWFsb2coV2ViS2l0OjpX
ZWJGcmFtZSogZnJhbWUsIGNvbnN0IFdlYktpdDo6V2ViU3RyaW5nJiBtZXNzYWdlKQorICAgIHsK
KyAgICAgICAgV2ViVGVzdFByb3h5QmFzZTo6cnVuTW9kYWxDb25maXJtRGlhbG9nKGZyYW1lLCBt
ZXNzYWdlKTsKKyAgICAgICAgcmV0dXJuIEJhc2U6OnJ1bk1vZGFsQ29uZmlybURpYWxvZyhmcmFt
ZSwgbWVzc2FnZSk7CisgICAgfQorICAgIHZpcnR1YWwgYm9vbCBydW5Nb2RhbFByb21wdERpYWxv
ZyhXZWJLaXQ6OldlYkZyYW1lKiBmcmFtZSwgY29uc3QgV2ViS2l0OjpXZWJTdHJpbmcmIG1lc3Nh
Z2UsIGNvbnN0IFdlYktpdDo6V2ViU3RyaW5nJiBkZWZhdWx0VmFsdWUsIFdlYktpdDo6V2ViU3Ry
aW5nKiBhY3R1YWxWYWx1ZSkKKyAgICB7CisgICAgICAgIFdlYlRlc3RQcm94eUJhc2U6OnJ1bk1v
ZGFsUHJvbXB0RGlhbG9nKGZyYW1lLCBtZXNzYWdlLCBkZWZhdWx0VmFsdWUsIGFjdHVhbFZhbHVl
KTsKKyAgICAgICAgcmV0dXJuIEJhc2U6OnJ1bk1vZGFsUHJvbXB0RGlhbG9nKGZyYW1lLCBtZXNz
YWdlLCBkZWZhdWx0VmFsdWUsIGFjdHVhbFZhbHVlKTsKKyAgICB9CisgICAgdmlydHVhbCBib29s
IHJ1bk1vZGFsQmVmb3JlVW5sb2FkRGlhbG9nKFdlYktpdDo6V2ViRnJhbWUqIGZyYW1lLCBjb25z
dCBXZWJLaXQ6OldlYlN0cmluZyYgbWVzc2FnZSkKKyAgICB7CisgICAgICAgIFdlYlRlc3RQcm94
eUJhc2U6OnJ1bk1vZGFsQmVmb3JlVW5sb2FkRGlhbG9nKGZyYW1lLCBtZXNzYWdlKTsKKyAgICAg
ICAgcmV0dXJuIEJhc2U6OnJ1bk1vZGFsQmVmb3JlVW5sb2FkRGlhbG9nKGZyYW1lLCBtZXNzYWdl
KTsKKyAgICB9CiB9OwogCiB9CmRpZmYgLS1naXQgYS9Ub29scy9EdW1wUmVuZGVyVHJlZS9jaHJv
bWl1bS9UZXN0UnVubmVyL3NyYy9XZWJUZXN0UHJveHkuY3BwIGIvVG9vbHMvRHVtcFJlbmRlclRy
ZWUvY2hyb21pdW0vVGVzdFJ1bm5lci9zcmMvV2ViVGVzdFByb3h5LmNwcAppbmRleCA0NDMyYWZm
NTUxMDdlYzA4YzA1OTI2N2JkNjA3ODM4MjE4ODhmMGUyLi4wYjY2Mzk5ZjQwZjU2NzkzZWI1MWEz
YjRhMDA0YjIxOGIwODQ0OWE1IDEwMDY0NAotLS0gYS9Ub29scy9EdW1wUmVuZGVyVHJlZS9jaHJv
bWl1bS9UZXN0UnVubmVyL3NyYy9XZWJUZXN0UHJveHkuY3BwCisrKyBiL1Rvb2xzL0R1bXBSZW5k
ZXJUcmVlL2Nocm9taXVtL1Rlc3RSdW5uZXIvc3JjL1dlYlRlc3RQcm94eS5jcHAKQEAgLTM2LDYg
KzM2LDcgQEAKICNpbmNsdWRlICJXZWJBY2Nlc3NpYmlsaXR5Tm90aWZpY2F0aW9uLmgiCiAjaW5j
bHVkZSAiV2ViQWNjZXNzaWJpbGl0eU9iamVjdC5oIgogI2luY2x1ZGUgIldlYkNhY2hlZFVSTFJl
cXVlc3QuaCIKKyNpbmNsdWRlICJXZWJDb25zb2xlTWVzc2FnZS5oIgogI2luY2x1ZGUgIldlYkVs
ZW1lbnQuaCIKICNpbmNsdWRlICJXZWJFdmVudFNlbmRlci5oIgogI2luY2x1ZGUgIldlYkZyYW1l
LmgiCkBAIC00OSw2ICs1MCw3IEBACiAjaW5jbHVkZSAiV2ViVGVzdFJ1bm5lci5oIgogI2luY2x1
ZGUgIldlYlZpZXcuaCIKICNpbmNsdWRlICJwbGF0Zm9ybS9XZWJDU3RyaW5nLmgiCisjaW5jbHVk
ZSAicGxhdGZvcm0vV2ViVVJMRXJyb3IuaCIKICNpbmNsdWRlICJwbGF0Zm9ybS9XZWJVUkxSZXF1
ZXN0LmgiCiAjaW5jbHVkZSAicGxhdGZvcm0vV2ViVVJMUmVzcG9uc2UuaCIKICNpbmNsdWRlIDx3
dGYvU3RyaW5nRXh0cmFzLmg+CkBAIC0xODYsNiArMTg4LDI5IEBAIHZvaWQgYmxvY2tSZXF1ZXN0
KFdlYlVSTFJlcXVlc3QmIHJlcXVlc3QpCiAgICAgcmVxdWVzdC5zZXRVUkwoV2ViVVJMKCkpOwog
fQogCisvLyBVc2VkIHRvIHdyaXRlIGEgcGxhdGZvcm0gbmV1dHJhbCBmaWxlOi8vLyBVUkwgYnkg
b25seSB0YWtpbmcgdGhlIGZpbGVuYW1lCisvLyAoZS5nLiwgY29udmVydHMgImZpbGU6Ly8vdG1w
L2Zvby50eHQiIHRvIGp1c3QgImZvby50eHQiKS4KK3N0cmluZyB1cmxTdWl0YWJsZUZvclRlc3RS
ZXN1bHQoY29uc3Qgc3RyaW5nJiB1cmwpCit7CisgICAgaWYgKHVybC5lbXB0eSgpIHx8IHN0cmlu
Zzo6bnBvcyA9PSB1cmwuZmluZCgiZmlsZTovLyIpKQorICAgICAgICByZXR1cm4gdXJsOworCisg
ICAgc2l6ZV90IHBvcyA9IHVybC5yZmluZCgnLycpOworICAgIGlmIChwb3MgPT0gc3RyaW5nOjpu
cG9zKSB7CisjaWYgT1MoV0lORE9XUykKKyAgICAgICAgcG9zID0gdXJsLnJmaW5kKCdcXCcpOwor
ICAgICAgICBpZiAocG9zID09IHN0cmluZzo6bnBvcykKKyAgICAgICAgICAgIHBvcyA9IDA7Cisj
ZWxzZQorICAgICAgICBwb3MgPSAwOworI2VuZGlmCisgICAgfQorICAgIHN0cmluZyBmaWxlbmFt
ZSA9IHVybC5zdWJzdHIocG9zICsgMSk7CisgICAgaWYgKGZpbGVuYW1lLmVtcHR5KCkpCisgICAg
ICAgIHJldHVybiAiZmlsZToiOyAvLyBBIFdlYktpdCB0ZXN0IGhhcyB0aGlzIGluIGl0cyBleHBl
Y3RlZCBvdXRwdXQuCisgICAgcmV0dXJuIGZpbGVuYW1lOworfQorCiB9CiAKIFdlYlRlc3RQcm94
eUJhc2U6OldlYlRlc3RQcm94eUJhc2UoKQpAQCAtMTkzLDYgKzIxOCw3IEBAIFdlYlRlc3RQcm94
eUJhc2U6OldlYlRlc3RQcm94eUJhc2UoKQogICAgICwgbV9kZWxlZ2F0ZSgwKQogICAgICwgbV9z
cGVsbGNoZWNrKG5ldyBTcGVsbENoZWNrQ2xpZW50KQogeworICAgIHJlc2V0KCk7CiB9CiAKIFdl
YlRlc3RQcm94eUJhc2U6On5XZWJUZXN0UHJveHlCYXNlKCkKQEAgLTIxNSw2ICsyNDEsNyBAQCB2
b2lkIFdlYlRlc3RQcm94eUJhc2U6OnJlc2V0KCkKIHsKICAgICBtX3BhaW50UmVjdCA9IFdlYlJl
Y3QoKTsKICAgICBtX3Jlc291cmNlSWRlbnRpZmllck1hcC5jbGVhcigpOworICAgIG1fbG9nQ29u
c29sZU91dHB1dCA9IHRydWU7CiB9CiAKIFdlYlNwZWxsQ2hlY2tDbGllbnQqIFdlYlRlc3RQcm94
eUJhc2U6OnNwZWxsQ2hlY2tDbGllbnQoKSBjb25zdApAQCAtMjMyLDYgKzI1OSwxMSBAQCBXZWJS
ZWN0IFdlYlRlc3RQcm94eUJhc2U6OnBhaW50UmVjdCgpIGNvbnN0CiAgICAgcmV0dXJuIG1fcGFp
bnRSZWN0OwogfQogCit2b2lkIFdlYlRlc3RQcm94eUJhc2U6OnNldExvZ0NvbnNvbGVPdXRwdXQo
Ym9vbCBlbmFibGVkKQoreworICAgIG1fbG9nQ29uc29sZU91dHB1dCA9IGVuYWJsZWQ7Cit9CisK
IHZvaWQgV2ViVGVzdFByb3h5QmFzZTo6ZGlkSW52YWxpZGF0ZVJlY3QoY29uc3QgV2ViUmVjdCYg
cmVjdCkKIHsKICAgICAvLyBtX3BhaW50UmVjdCA9IG1fcGFpbnRSZWN0IFUgcmVjdApAQCAtNzkx
LDQgKzgyMyw2MCBAQCB2b2lkIFdlYlRlc3RQcm94eUJhc2U6OmRpZEZhaWxSZXNvdXJjZUxvYWQo
V2ViRnJhbWUqLCB1bnNpZ25lZCBpZGVudGlmaWVyLCBjb25zdAogICAgIG1fcmVzb3VyY2VJZGVu
dGlmaWVyTWFwLmVyYXNlKGlkZW50aWZpZXIpOwogfQogCit2b2lkIFdlYlRlc3RQcm94eUJhc2U6
OnVuYWJsZVRvSW1wbGVtZW50UG9saWN5V2l0aEVycm9yKFdlYktpdDo6V2ViRnJhbWUqIGZyYW1l
LCBjb25zdCBXZWJLaXQ6OldlYlVSTEVycm9yJiBlcnJvcikKK3sKKyAgICBjaGFyIGVycm9yQnVm
ZmVyWzQwXTsKKyAgICBzbnByaW50ZihlcnJvckJ1ZmZlciwgc2l6ZW9mKGVycm9yQnVmZmVyKSwg
IiVkIiwgZXJyb3IucmVhc29uKTsKKyAgICBtX2RlbGVnYXRlLT5wcmludE1lc3NhZ2Uoc3RyaW5n
KCJQb2xpY3kgZGVsZWdhdGU6IHVuYWJsZSB0byBpbXBsZW1lbnQgcG9saWN5IHdpdGggZXJyb3Ig
ZG9tYWluICciKSArIGVycm9yLmRvbWFpbi51dGY4KCkuZGF0YSgpICsKKyAgICAgICAgIicsIGVy
cm9yIGNvZGUgIiArICBlcnJvckJ1ZmZlciArCisgICAgICAgICIsIGluIGZyYW1lICciICsgZnJh
bWUtPnVuaXF1ZU5hbWUoKS51dGY4KCkuZGF0YSgpICsgIidcbiIpOworfQorCit2b2lkIFdlYlRl
c3RQcm94eUJhc2U6OmRpZEFkZE1lc3NhZ2VUb0NvbnNvbGUoY29uc3QgV2ViQ29uc29sZU1lc3Nh
Z2UmIG1lc3NhZ2UsIGNvbnN0IFdlYlN0cmluZyYgc291cmNlTmFtZSwgdW5zaWduZWQgc291cmNl
TGluZSkKK3sKKyAgICAvLyBUaGlzIG1hdGNoZXMgd2luIER1bXBSZW5kZXJUcmVlJ3MgVUlEZWxl
Z2F0ZS5jcHAuCisgICAgaWYgKCFtX2xvZ0NvbnNvbGVPdXRwdXQpCisgICAgICAgIHJldHVybjsK
KyAgICBtX2RlbGVnYXRlLT5wcmludE1lc3NhZ2Uoc3RyaW5nKCJDT05TT0xFIE1FU1NBR0U6ICIp
KTsKKyAgICBpZiAoc291cmNlTGluZSkgeworICAgICAgICBjaGFyIGJ1ZmZlcls0MF07CisgICAg
ICAgIHNucHJpbnRmKGJ1ZmZlciwgc2l6ZW9mKGJ1ZmZlciksICJsaW5lICVkOiAiLCBzb3VyY2VM
aW5lKTsKKyAgICAgICAgbV9kZWxlZ2F0ZS0+cHJpbnRNZXNzYWdlKGJ1ZmZlcik7CisgICAgfQor
ICAgIGlmICghbWVzc2FnZS50ZXh0LmlzRW1wdHkoKSkgeworICAgICAgICBzdHJpbmcgbmV3TWVz
c2FnZTsKKyAgICAgICAgbmV3TWVzc2FnZSA9IG1lc3NhZ2UudGV4dC51dGY4KCk7CisgICAgICAg
IHNpemVfdCBmaWxlUHJvdG9jb2wgPSBuZXdNZXNzYWdlLmZpbmQoImZpbGU6Ly8iKTsKKyAgICAg
ICAgaWYgKGZpbGVQcm90b2NvbCAhPSBzdHJpbmc6Om5wb3MpIHsKKyAgICAgICAgICAgIG5ld01l
c3NhZ2UgPSBuZXdNZXNzYWdlLnN1YnN0cigwLCBmaWxlUHJvdG9jb2wpCisgICAgICAgICAgICAg
ICAgKyB1cmxTdWl0YWJsZUZvclRlc3RSZXN1bHQobmV3TWVzc2FnZS5zdWJzdHIoZmlsZVByb3Rv
Y29sKSk7CisgICAgICAgIH0KKyAgICAgICAgbV9kZWxlZ2F0ZS0+cHJpbnRNZXNzYWdlKG5ld01l
c3NhZ2UpOworICAgIH0KKyAgICBtX2RlbGVnYXRlLT5wcmludE1lc3NhZ2Uoc3RyaW5nKCJcbiIp
KTsKK30KKwordm9pZCBXZWJUZXN0UHJveHlCYXNlOjpydW5Nb2RhbEFsZXJ0RGlhbG9nKFdlYkZy
YW1lKiwgY29uc3QgV2ViU3RyaW5nJiBtZXNzYWdlKQoreworICAgIG1fZGVsZWdhdGUtPnByaW50
TWVzc2FnZShzdHJpbmcoIkFMRVJUOiAiKSArIG1lc3NhZ2UudXRmOCgpLmRhdGEoKSArICJcbiIp
OworfQorCitib29sIFdlYlRlc3RQcm94eUJhc2U6OnJ1bk1vZGFsQ29uZmlybURpYWxvZyhXZWJG
cmFtZSosIGNvbnN0IFdlYlN0cmluZyYgbWVzc2FnZSkKK3sKKyAgICBtX2RlbGVnYXRlLT5wcmlu
dE1lc3NhZ2Uoc3RyaW5nKCJDT05GSVJNOiAiKSArIG1lc3NhZ2UudXRmOCgpLmRhdGEoKSArICJc
biIpOworICAgIHJldHVybiB0cnVlOworfQorCitib29sIFdlYlRlc3RQcm94eUJhc2U6OnJ1bk1v
ZGFsUHJvbXB0RGlhbG9nKFdlYkZyYW1lKiBmcmFtZSwgY29uc3QgV2ViU3RyaW5nJiBtZXNzYWdl
LCBjb25zdCBXZWJTdHJpbmcmIGRlZmF1bHRWYWx1ZSwgV2ViU3RyaW5nKikKK3sKKyAgICBtX2Rl
bGVnYXRlLT5wcmludE1lc3NhZ2Uoc3RyaW5nKCJQUk9NUFQ6ICIpICsgbWVzc2FnZS51dGY4KCku
ZGF0YSgpICsgIiwgZGVmYXVsdCB0ZXh0OiAiICsgZGVmYXVsdFZhbHVlLnV0ZjgoKS5kYXRhKCkg
KyAiXG4iKTsKKyAgICByZXR1cm4gdHJ1ZTsKK30KKworYm9vbCBXZWJUZXN0UHJveHlCYXNlOjpy
dW5Nb2RhbEJlZm9yZVVubG9hZERpYWxvZyhXZWJGcmFtZSosIGNvbnN0IFdlYlN0cmluZyYgbWVz
c2FnZSkKK3sKKyAgICBtX2RlbGVnYXRlLT5wcmludE1lc3NhZ2Uoc3RyaW5nKCJDT05GSVJNIE5B
VklHQVRJT046ICIpICsgbWVzc2FnZS51dGY4KCkuZGF0YSgpICsgIlxuIik7CisgICAgcmV0dXJu
IHRydWU7Cit9CisKIH0KZGlmZiAtLWdpdCBhL1Rvb2xzL0R1bXBSZW5kZXJUcmVlL2Nocm9taXVt
L1Rlc3RTaGVsbC5jcHAgYi9Ub29scy9EdW1wUmVuZGVyVHJlZS9jaHJvbWl1bS9UZXN0U2hlbGwu
Y3BwCmluZGV4IDJmNDNkMGI0NmVkNzRjZTdhMzA2OGNjNTZlOWUzMzg5MDQxMTgyMjcuLjUwNjg0
MTRmOWVjOGY0ZTljMmNmYjIyMDc1NTc5NGQ2OTkzZWE1M2MgMTAwNjQ0Ci0tLSBhL1Rvb2xzL0R1
bXBSZW5kZXJUcmVlL2Nocm9taXVtL1Rlc3RTaGVsbC5jcHAKKysrIGIvVG9vbHMvRHVtcFJlbmRl
clRyZWUvY2hyb21pdW0vVGVzdFNoZWxsLmNwcApAQCAtMjE5LDcgKzIxOSw3IEBAIHZvaWQgVGVz
dFNoZWxsOjpzaG93RGV2VG9vbHMoKQogICAgICAgICB9CiAgICAgICAgIG1fZGV2VG9vbHMgPSBj
cmVhdGVOZXdXaW5kb3codXJsLCAwLCBtX2RldlRvb2xzVGVzdEludGVyZmFjZXMuZ2V0KCkpOwog
ICAgICAgICBtX2RldlRvb2xzLT53ZWJWaWV3KCktPnNldHRpbmdzKCktPnNldE1lbW9yeUluZm9F
bmFibGVkKHRydWUpOwotICAgICAgICBtX2RldlRvb2xzLT5zZXRMb2dDb25zb2xlT3V0cHV0KGZh
bHNlKTsKKyAgICAgICAgbV9kZXZUb29scy0+cHJveHkoKS0+c2V0TG9nQ29uc29sZU91dHB1dChm
YWxzZSk7CiAgICAgICAgIG1fZGV2VG9vbHNUZXN0SW50ZXJmYWNlcy0+c2V0RGVsZWdhdGUobV9k
ZXZUb29scyk7CiAgICAgICAgIG1fZGV2VG9vbHNUZXN0SW50ZXJmYWNlcy0+c2V0V2ViVmlldyht
X2RldlRvb2xzLT53ZWJWaWV3KCkpOwogICAgICAgICBBU1NFUlQobV9kZXZUb29scyk7CmRpZmYg
LS1naXQgYS9Ub29scy9EdW1wUmVuZGVyVHJlZS9jaHJvbWl1bS9XZWJWaWV3SG9zdC5jcHAgYi9U
b29scy9EdW1wUmVuZGVyVHJlZS9jaHJvbWl1bS9XZWJWaWV3SG9zdC5jcHAKaW5kZXggZGI3MTBh
ZjE0MTQ4ZWIxMjg3NjMxODI0ZDQ2NjI3ZjUzOGQ0NjY3My4uYThmNmQ1ZWQ5YjU2ZTMwNGE4MmM3
NjQxYTdhOGYwZjJlNzMyNTRiZiAxMDA2NDQKLS0tIGEvVG9vbHMvRHVtcFJlbmRlclRyZWUvY2hy
b21pdW0vV2ViVmlld0hvc3QuY3BwCisrKyBiL1Rvb2xzL0R1bXBSZW5kZXJUcmVlL2Nocm9taXVt
L1dlYlZpZXdIb3N0LmNwcApAQCAtMTA0LDI5ICsxMDQsNiBAQCBzdGF0aWMgY29uc3QgY2hhciog
aWxsZWdhbFN0cmluZyA9ICJpbGxlZ2FsIHZhbHVlIjsKIAogc3RhdGljIGludCBuZXh0UGFnZUlE
ID0gMTsKIAotLy8gVXNlZCB0byB3cml0ZSBhIHBsYXRmb3JtIG5ldXRyYWwgZmlsZTovLy8gVVJM
IGJ5IG9ubHkgdGFraW5nIHRoZSBmaWxlbmFtZQotLy8gKGUuZy4sIGNvbnZlcnRzICJmaWxlOi8v
L3RtcC9mb28udHh0IiB0byBqdXN0ICJmb28udHh0IikuCi1zdGF0aWMgc3RyaW5nIHVybFN1aXRh
YmxlRm9yVGVzdFJlc3VsdChjb25zdCBzdHJpbmcmIHVybCkKLXsKLSAgICBpZiAodXJsLmVtcHR5
KCkgfHwgc3RyaW5nOjpucG9zID09IHVybC5maW5kKCJmaWxlOi8vIikpCi0gICAgICAgIHJldHVy
biB1cmw7Ci0KLSAgICBzaXplX3QgcG9zID0gdXJsLnJmaW5kKCcvJyk7Ci0gICAgaWYgKHBvcyA9
PSBzdHJpbmc6Om5wb3MpIHsKLSNpZiBPUyhXSU5ET1dTKQotICAgICAgICBwb3MgPSB1cmwucmZp
bmQoJ1xcJyk7Ci0gICAgICAgIGlmIChwb3MgPT0gc3RyaW5nOjpucG9zKQotICAgICAgICAgICAg
cG9zID0gMDsKLSNlbHNlCi0gICAgICAgIHBvcyA9IDA7Ci0jZW5kaWYKLSAgICB9Ci0gICAgc3Ry
aW5nIGZpbGVuYW1lID0gdXJsLnN1YnN0cihwb3MgKyAxKTsKLSAgICBpZiAoZmlsZW5hbWUuZW1w
dHkoKSkKLSAgICAgICAgcmV0dXJuICJmaWxlOiI7IC8vIEEgV2ViS2l0IHRlc3QgaGFzIHRoaXMg
aW4gaXRzIGV4cGVjdGVkIG91dHB1dC4KLSAgICByZXR1cm4gZmlsZW5hbWU7Ci19Ci0KIC8vIEdl
dCBhIGRlYnVnZ2luZyBzdHJpbmcgZnJvbSBhIFdlYk5hdmlnYXRpb25UeXBlLgogc3RhdGljIGNv
bnN0IGNoYXIqIHdlYk5hdmlnYXRpb25UeXBlVG9TdHJpbmcoV2ViTmF2aWdhdGlvblR5cGUgdHlw
ZSkKIHsKQEAgLTIyMywyMiArMjAwLDYgQEAgV2ViQ29tcG9zaXRvck91dHB1dFN1cmZhY2UqIFdl
YlZpZXdIb3N0OjpjcmVhdGVPdXRwdXRTdXJmYWNlKCkKIAogdm9pZCBXZWJWaWV3SG9zdDo6ZGlk
QWRkTWVzc2FnZVRvQ29uc29sZShjb25zdCBXZWJDb25zb2xlTWVzc2FnZSYgbWVzc2FnZSwgY29u
c3QgV2ViU3RyaW5nJiBzb3VyY2VOYW1lLCB1bnNpZ25lZCBzb3VyY2VMaW5lKQogewotICAgIC8v
IFRoaXMgbWF0Y2hlcyB3aW4gRHVtcFJlbmRlclRyZWUncyBVSURlbGVnYXRlLmNwcC4KLSAgICBp
ZiAoIW1fbG9nQ29uc29sZU91dHB1dCkKLSAgICAgICAgcmV0dXJuOwotICAgIHN0cmluZyBuZXdN
ZXNzYWdlOwotICAgIGlmICghbWVzc2FnZS50ZXh0LmlzRW1wdHkoKSkgewotICAgICAgICBuZXdN
ZXNzYWdlID0gbWVzc2FnZS50ZXh0LnV0ZjgoKTsKLSAgICAgICAgc2l6ZV90IGZpbGVQcm90b2Nv
bCA9IG5ld01lc3NhZ2UuZmluZCgiZmlsZTovLyIpOwotICAgICAgICBpZiAoZmlsZVByb3RvY29s
ICE9IHN0cmluZzo6bnBvcykgewotICAgICAgICAgICAgbmV3TWVzc2FnZSA9IG5ld01lc3NhZ2Uu
c3Vic3RyKDAsIGZpbGVQcm90b2NvbCkKLSAgICAgICAgICAgICAgICArIHVybFN1aXRhYmxlRm9y
VGVzdFJlc3VsdChuZXdNZXNzYWdlLnN1YnN0cihmaWxlUHJvdG9jb2wpKTsKLSAgICAgICAgfQot
ICAgIH0KLSAgICBwcmludGYoIkNPTlNPTEUgTUVTU0FHRTogIik7Ci0gICAgaWYgKHNvdXJjZUxp
bmUpCi0gICAgICAgIHByaW50ZigibGluZSAlZDogIiwgc291cmNlTGluZSk7Ci0gICAgcHJpbnRm
KCIlc1xuIiwgbmV3TWVzc2FnZS5kYXRhKCkpOwogfQogCiB2b2lkIFdlYlZpZXdIb3N0OjpkaWRT
dGFydExvYWRpbmcoKQpAQCAtMzE3LDI2ICsyNzgsMjEgQEAgdm9pZCBXZWJWaWV3SG9zdDo6d2ls
bEFkZFByZXJlbmRlcihXZWJLaXQ6OldlYlByZXJlbmRlciopCiAKIHZvaWQgV2ViVmlld0hvc3Q6
OnJ1bk1vZGFsQWxlcnREaWFsb2coV2ViRnJhbWUqLCBjb25zdCBXZWJTdHJpbmcmIG1lc3NhZ2Up
CiB7Ci0gICAgcHJpbnRmKCJBTEVSVDogJXNcbiIsIG1lc3NhZ2UudXRmOCgpLmRhdGEoKSk7Ci0g
ICAgZmZsdXNoKHN0ZG91dCk7CiB9CiAKIGJvb2wgV2ViVmlld0hvc3Q6OnJ1bk1vZGFsQ29uZmly
bURpYWxvZyhXZWJGcmFtZSosIGNvbnN0IFdlYlN0cmluZyYgbWVzc2FnZSkKIHsKLSAgICBwcmlu
dGYoIkNPTkZJUk06ICVzXG4iLCBtZXNzYWdlLnV0ZjgoKS5kYXRhKCkpOwogICAgIHJldHVybiB0
cnVlOwogfQogCiBib29sIFdlYlZpZXdIb3N0OjpydW5Nb2RhbFByb21wdERpYWxvZyhXZWJGcmFt
ZSogZnJhbWUsIGNvbnN0IFdlYlN0cmluZyYgbWVzc2FnZSwKICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgIGNvbnN0IFdlYlN0cmluZyYgZGVmYXVsdFZhbHVlLCBXZWJTdHJp
bmcqKQogewotICAgIHByaW50ZigiUFJPTVBUOiAlcywgZGVmYXVsdCB0ZXh0OiAlc1xuIiwgbWVz
c2FnZS51dGY4KCkuZGF0YSgpLCBkZWZhdWx0VmFsdWUudXRmOCgpLmRhdGEoKSk7CiAgICAgcmV0
dXJuIHRydWU7CiB9CiAKIGJvb2wgV2ViVmlld0hvc3Q6OnJ1bk1vZGFsQmVmb3JlVW5sb2FkRGlh
bG9nKFdlYkZyYW1lKiwgY29uc3QgV2ViU3RyaW5nJiBtZXNzYWdlKQogewotICAgIHByaW50Zigi
Q09ORklSTSBOQVZJR0FUSU9OOiAlc1xuIiwgbWVzc2FnZS51dGY4KCkuZGF0YSgpKTsKICAgICBy
ZXR1cm4gIXRlc3RSdW5uZXIoKS0+c2hvdWxkU3RheU9uUGFnZUFmdGVySGFuZGxpbmdCZWZvcmVV
bmxvYWQoKTsKIH0KIApAQCAtNzIzLDkgKzY3OSw2IEBAIFdlYlVSTEVycm9yIFdlYlZpZXdIb3N0
OjpjYW5jZWxsZWRFcnJvcihXZWJGcmFtZSosIGNvbnN0IFdlYlVSTFJlcXVlc3QmIHJlcXVlc3Qp
CiAKIHZvaWQgV2ViVmlld0hvc3Q6OnVuYWJsZVRvSW1wbGVtZW50UG9saWN5V2l0aEVycm9yKFdl
YkZyYW1lKiBmcmFtZSwgY29uc3QgV2ViVVJMRXJyb3ImIGVycm9yKQogewotICAgIHByaW50Zigi
UG9saWN5IGRlbGVnYXRlOiB1bmFibGUgdG8gaW1wbGVtZW50IHBvbGljeSB3aXRoIGVycm9yIGRv
bWFpbiAnJXMnLCAiCi0gICAgICAgICAgICJlcnJvciBjb2RlICVkLCBpbiBmcmFtZSAnJXMnXG4i
LAotICAgICAgICAgICAgZXJyb3IuZG9tYWluLnV0ZjgoKS5kYXRhKCksIGVycm9yLnJlYXNvbiwg
ZnJhbWUtPnVuaXF1ZU5hbWUoKS51dGY4KCkuZGF0YSgpKTsKIH0KIAogdm9pZCBXZWJWaWV3SG9z
dDo6ZGlkQ3JlYXRlRGF0YVNvdXJjZShXZWJGcmFtZSosIFdlYkRhdGFTb3VyY2UqIGRzKQpAQCAt
MTE5Nyw3ICsxMTUwLDYgQEAgdm9pZCBXZWJWaWV3SG9zdDo6cmVzZXQoKQogICAgIG1faGFzV2lu
ZG93ID0gZmFsc2U7CiAgICAgbV9pbk1vZGFsTG9vcCA9IGZhbHNlOwogICAgIG1fc21hcnRJbnNl
cnREZWxldGVFbmFibGVkID0gdHJ1ZTsKLSAgICBtX2xvZ0NvbnNvbGVPdXRwdXQgPSB0cnVlOwog
I2lmIE9TKFdJTkRPV1MpCiAgICAgbV9zZWxlY3RUcmFpbGluZ1doaXRlc3BhY2VFbmFibGVkID0g
dHJ1ZTsKICNlbHNlCkBAIC0xMjU3LDExICsxMjA5LDYgQEAgdm9pZCBXZWJWaWV3SG9zdDo6c2V0
Q2xpZW50V2luZG93UmVjdChjb25zdCBXZWJLaXQ6OldlYlJlY3QmIHJlY3QpCiAgICAgc2V0V2lu
ZG93UmVjdChyZWN0KTsKIH0KIAotdm9pZCBXZWJWaWV3SG9zdDo6c2V0TG9nQ29uc29sZU91dHB1
dChib29sIGVuYWJsZWQpCi17Ci0gICAgbV9sb2dDb25zb2xlT3V0cHV0ID0gZW5hYmxlZDsKLX0K
LQogdm9pZCBXZWJWaWV3SG9zdDo6c2V0Q3VzdG9tUG9saWN5RGVsZWdhdGUoYm9vbCBpc0N1c3Rv
bSwgYm9vbCBpc1Blcm1pc3NpdmUpCiB7CiAgICAgbV9wb2xpY3lEZWxlZ2F0ZUVuYWJsZWQgPSBp
c0N1c3RvbTsKZGlmZiAtLWdpdCBhL1Rvb2xzL0R1bXBSZW5kZXJUcmVlL2Nocm9taXVtL1dlYlZp
ZXdIb3N0LmggYi9Ub29scy9EdW1wUmVuZGVyVHJlZS9jaHJvbWl1bS9XZWJWaWV3SG9zdC5oCmlu
ZGV4IDYxNGFkYThlYmIwOGYzOWY1NDFmMjQ5NzA4NDc1MDVmNWJhMmJmODguLjdlOTliZTNmNTlk
NWMwYzUzMjk1NDg5ZDdhM2RhZDJjM2MyOTA3ZTIgMTAwNjQ0Ci0tLSBhL1Rvb2xzL0R1bXBSZW5k
ZXJUcmVlL2Nocm9taXVtL1dlYlZpZXdIb3N0LmgKKysrIGIvVG9vbHMvRHVtcFJlbmRlclRyZWUv
Y2hyb21pdW0vV2ViVmlld0hvc3QuaApAQCAtODUsNyArODUsNiBAQCBjbGFzcyBXZWJWaWV3SG9z
dCA6IHB1YmxpYyBXZWJLaXQ6OldlYlZpZXdDbGllbnQsIHB1YmxpYyBXZWJLaXQ6OldlYkZyYW1l
Q2xpZW50LAogICAgIFdlYlRlc3RSdW5uZXI6OldlYlRlc3RQcm94eUJhc2UqIHByb3h5KCkgY29u
c3Q7CiAgICAgdm9pZCBzZXRQcm94eShXZWJUZXN0UnVubmVyOjpXZWJUZXN0UHJveHlCYXNlKik7
CiAgICAgdm9pZCByZXNldCgpOwotICAgIHZvaWQgc2V0TG9nQ29uc29sZU91dHB1dChib29sKTsK
ICAgICB2b2lkIHdhaXRGb3JQb2xpY3lEZWxlZ2F0ZSgpOwogICAgIHZvaWQgc2V0Q3VzdG9tUG9s
aWN5RGVsZWdhdGUoYm9vbCwgYm9vbCk7CiAgICAgV2ViS2l0OjpXZWJGcmFtZSogdG9wTG9hZGlu
Z0ZyYW1lKCkgeyByZXR1cm4gbV90b3BMb2FkaW5nRnJhbWU7IH0KQEAgLTM4MCw5ICszNzksNiBA
QCBwcml2YXRlOgogICAgIC8vIHRydWUgaWYgd2Ugd2FudCB0byBlbmFibGUgc2VsZWN0aW9uIG9m
IHRyYWlsaW5nIHdoaXRlc3BhY2VzCiAgICAgYm9vbCBtX3NlbGVjdFRyYWlsaW5nV2hpdGVzcGFj
ZUVuYWJsZWQ7CiAKLSAgICAvLyB0cnVlIGlmIHdoYXRldmVyIGlzIHNlbnQgdG8gdGhlIGNvbnNv
bGUgc2hvdWxkIGJlIGxvZ2dlZCB0byBzdGRvdXQuCi0gICAgYm9vbCBtX2xvZ0NvbnNvbGVPdXRw
dXQ7Ci0KICAgICAvLyBFZGl0IGNvbW1hbmQgYXNzb2NpYXRlZCB0byB0aGUgY3VycmVudCBrZXli
b2FyZCBldmVudC4KICAgICBzdGQ6OnN0cmluZyBtX2VkaXRDb21tYW5kTmFtZTsKICAgICBzdGQ6
OnN0cmluZyBtX2VkaXRDb21tYW5kVmFsdWU7Cg==
</data>

          </attachment>
          <attachment
              isobsolete="0"
              ispatch="1"
              isprivate="0"
          >
            <attachid>184423</attachid>
            <date>2013-01-24 00:22:37 -0800</date>
            <delta_ts>2013-01-24 02:14:25 -0800</delta_ts>
            <desc>Patch</desc>
            <filename>bug-107553-20130124091929.patch</filename>
            <type>text/plain</type>
            <size>17047</size>
            <attacher name="Dan Carney">dcarney</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMTQwNjU3CmRpZmYgLS1naXQgYS9Ub29scy9DaGFuZ2VMb2cg
Yi9Ub29scy9DaGFuZ2VMb2cKaW5kZXggNzNmNzI2MjE1N2I1Nzg4MzI2NDQ2MDMwNjhmYTQ0ZmNh
Yjc0MjM4NC4uZGRjYWFiYzkyYmRlNGQxODhkMGE2OWNlOWEzYWQ4ODU5NDFlMTlmZiAxMDA2NDQK
LS0tIGEvVG9vbHMvQ2hhbmdlTG9nCisrKyBiL1Rvb2xzL0NoYW5nZUxvZwpAQCAtMSwzICsxLDQz
IEBACisyMDEzLTAxLTI0ICBEYW4gQ2FybmV5ICA8ZGNhcm5leUBnb29nbGUuY29tPgorCisgICAg
ICAgIFtjaHJvbWl1bV0gbW92ZSBtb3N0IFdlYlZpZXdIb3N0IHByaW50ZiBjYWxscyB0byBXZWJU
ZXN0UHJveHkKKyAgICAgICAgaHR0cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hvd19idWcuY2dpP2lk
PTEwNzU1MworCisgICAgICAgIFJldmlld2VkIGJ5IEpvY2hlbiBFaXNpbmdlci4KKworICAgICAg
ICAqIER1bXBSZW5kZXJUcmVlL2Nocm9taXVtL1Rlc3RSdW5uZXIvcHVibGljL1dlYlRlc3RQcm94
eS5oOgorICAgICAgICAoV2ViS2l0KToKKyAgICAgICAgKFdlYlRlc3RQcm94eUJhc2UpOgorICAg
ICAgICAoV2ViVGVzdFJ1bm5lcjo6V2ViVGVzdFByb3h5Ojp1bmFibGVUb0ltcGxlbWVudFBvbGlj
eVdpdGhFcnJvcik6CisgICAgICAgIChXZWJUZXN0UnVubmVyOjpXZWJUZXN0UHJveHk6OmRpZEFk
ZE1lc3NhZ2VUb0NvbnNvbGUpOgorICAgICAgICAoV2ViVGVzdFJ1bm5lcjo6V2ViVGVzdFByb3h5
OjpydW5Nb2RhbEFsZXJ0RGlhbG9nKToKKyAgICAgICAgKFdlYlRlc3RSdW5uZXI6OldlYlRlc3RQ
cm94eTo6cnVuTW9kYWxDb25maXJtRGlhbG9nKToKKyAgICAgICAgKFdlYlRlc3RSdW5uZXI6Oldl
YlRlc3RQcm94eTo6cnVuTW9kYWxQcm9tcHREaWFsb2cpOgorICAgICAgICAoV2ViVGVzdFJ1bm5l
cjo6V2ViVGVzdFByb3h5OjpydW5Nb2RhbEJlZm9yZVVubG9hZERpYWxvZyk6CisgICAgICAgICog
RHVtcFJlbmRlclRyZWUvY2hyb21pdW0vVGVzdFJ1bm5lci9zcmMvV2ViVGVzdFByb3h5LmNwcDoK
KyAgICAgICAgKFdlYlRlc3RSdW5uZXI6OldlYlRlc3RQcm94eUJhc2U6OldlYlRlc3RQcm94eUJh
c2UpOgorICAgICAgICAoV2ViVGVzdFJ1bm5lcjo6V2ViVGVzdFByb3h5QmFzZTo6cmVzZXQpOgor
ICAgICAgICAoV2ViVGVzdFJ1bm5lcjo6V2ViVGVzdFByb3h5QmFzZTo6c2V0TG9nQ29uc29sZU91
dHB1dCk6CisgICAgICAgIChXZWJUZXN0UnVubmVyKToKKyAgICAgICAgKFdlYlRlc3RSdW5uZXI6
OldlYlRlc3RQcm94eUJhc2U6OnVuYWJsZVRvSW1wbGVtZW50UG9saWN5V2l0aEVycm9yKToKKyAg
ICAgICAgKFdlYlRlc3RSdW5uZXI6OldlYlRlc3RQcm94eUJhc2U6OmRpZEFkZE1lc3NhZ2VUb0Nv
bnNvbGUpOgorICAgICAgICAoV2ViVGVzdFJ1bm5lcjo6V2ViVGVzdFByb3h5QmFzZTo6cnVuTW9k
YWxBbGVydERpYWxvZyk6CisgICAgICAgIChXZWJUZXN0UnVubmVyOjpXZWJUZXN0UHJveHlCYXNl
OjpydW5Nb2RhbENvbmZpcm1EaWFsb2cpOgorICAgICAgICAoV2ViVGVzdFJ1bm5lcjo6V2ViVGVz
dFByb3h5QmFzZTo6cnVuTW9kYWxQcm9tcHREaWFsb2cpOgorICAgICAgICAoV2ViVGVzdFJ1bm5l
cjo6V2ViVGVzdFByb3h5QmFzZTo6cnVuTW9kYWxCZWZvcmVVbmxvYWREaWFsb2cpOgorICAgICAg
ICAqIER1bXBSZW5kZXJUcmVlL2Nocm9taXVtL1Rlc3RTaGVsbC5jcHA6CisgICAgICAgIChUZXN0
U2hlbGw6OnNob3dEZXZUb29scyk6CisgICAgICAgICogRHVtcFJlbmRlclRyZWUvY2hyb21pdW0v
V2ViVmlld0hvc3QuY3BwOgorICAgICAgICAoV2ViVmlld0hvc3Q6OmRpZEFkZE1lc3NhZ2VUb0Nv
bnNvbGUpOgorICAgICAgICAoV2ViVmlld0hvc3Q6OnJ1bk1vZGFsQWxlcnREaWFsb2cpOgorICAg
ICAgICAoV2ViVmlld0hvc3Q6OnJ1bk1vZGFsQ29uZmlybURpYWxvZyk6CisgICAgICAgIChXZWJW
aWV3SG9zdDo6cnVuTW9kYWxQcm9tcHREaWFsb2cpOgorICAgICAgICAoV2ViVmlld0hvc3Q6OnJ1
bk1vZGFsQmVmb3JlVW5sb2FkRGlhbG9nKToKKyAgICAgICAgKFdlYlZpZXdIb3N0Ojp1bmFibGVU
b0ltcGxlbWVudFBvbGljeVdpdGhFcnJvcik6CisgICAgICAgIChXZWJWaWV3SG9zdDo6cmVzZXQp
OgorICAgICAgICAqIER1bXBSZW5kZXJUcmVlL2Nocm9taXVtL1dlYlZpZXdIb3N0Lmg6CisgICAg
ICAgIChXZWJWaWV3SG9zdCk6CisKIDIwMTMtMDEtMjMgIE1hcmsgUGlsZ3JpbSAgPHBpbGdyaW1A
Y2hyb21pdW0ub3JnPgogCiAgICAgICAgIFtDaHJvbWl1bV0gR2l2ZSB3ZWJraXRfc3VwcG9ydCBh
IGNoYW5jZSB0byByZXNldCBzdGF0ZSBiZXR3ZWVuIGxheW91dCB0ZXN0IHJ1bnMKZGlmZiAtLWdp
dCBhL1Rvb2xzL0R1bXBSZW5kZXJUcmVlL2Nocm9taXVtL1Rlc3RSdW5uZXIvcHVibGljL1dlYlRl
c3RQcm94eS5oIGIvVG9vbHMvRHVtcFJlbmRlclRyZWUvY2hyb21pdW0vVGVzdFJ1bm5lci9wdWJs
aWMvV2ViVGVzdFByb3h5LmgKaW5kZXggNTg0MTJmNjlmODU1ZGRiN2VhZGQ4YWU4YTdlZjAyYWEz
MjQxYWZkMi4uMjM2YzRlODZiYzg4NzI3NWFhODY1ZDJlYmE3MjZkYzJjN2MxZDZkZCAxMDA2NDQK
LS0tIGEvVG9vbHMvRHVtcFJlbmRlclRyZWUvY2hyb21pdW0vVGVzdFJ1bm5lci9wdWJsaWMvV2Vi
VGVzdFByb3h5LmgKKysrIGIvVG9vbHMvRHVtcFJlbmRlclRyZWUvY2hyb21pdW0vVGVzdFJ1bm5l
ci9wdWJsaWMvV2ViVGVzdFByb3h5LmgKQEAgLTQxLDYgKzQxLDggQEAKICNpbmNsdWRlIDxtYXA+
CiAjaW5jbHVkZSA8c3RyaW5nPgogCisjZGVmaW5lIFRFU1RfUlVOTkVSX01PVkVEX1BSSU5USU5H
IDEKKwogbmFtZXNwYWNlIFdlYktpdCB7CiBjbGFzcyBXZWJBY2Nlc3NpYmlsaXR5T2JqZWN0Owog
Y2xhc3MgV2ViQ2FjaGVkVVJMUmVxdWVzdDsKQEAgLTU5LDYgKzYxLDcgQEAgY2xhc3MgV2ViVVJM
OwogY2xhc3MgV2ViVVJMUmVxdWVzdDsKIGNsYXNzIFdlYlVSTFJlc3BvbnNlOwogY2xhc3MgV2Vi
VmlldzsKK3N0cnVjdCBXZWJDb25zb2xlTWVzc2FnZTsKIHN0cnVjdCBXZWJQb2ludDsKIHN0cnVj
dCBXZWJTaXplOwogc3RydWN0IFdlYlVSTEVycm9yOwpAQCAtODQsNiArODcsOCBAQCBwdWJsaWM6
CiAgICAgdm9pZCBzZXRQYWludFJlY3QoY29uc3QgV2ViS2l0OjpXZWJSZWN0Jik7CiAgICAgV2Vi
S2l0OjpXZWJSZWN0IHBhaW50UmVjdCgpIGNvbnN0OwogCisgICAgdm9pZCBzZXRMb2dDb25zb2xl
T3V0cHV0KGJvb2wgZW5hYmxlZCk7CisKIHByb3RlY3RlZDoKICAgICBXZWJUZXN0UHJveHlCYXNl
KCk7CiAgICAgfldlYlRlc3RQcm94eUJhc2UoKTsKQEAgLTEzNSw2ICsxNDAsMTIgQEAgcHJvdGVj
dGVkOgogICAgIHZvaWQgZGlkUmVjZWl2ZVJlc3BvbnNlKFdlYktpdDo6V2ViRnJhbWUqLCB1bnNp
Z25lZCBpZGVudGlmaWVyLCBjb25zdCBXZWJLaXQ6OldlYlVSTFJlc3BvbnNlJik7CiAgICAgdm9p
ZCBkaWRGaW5pc2hSZXNvdXJjZUxvYWQoV2ViS2l0OjpXZWJGcmFtZSosIHVuc2lnbmVkIGlkZW50
aWZpZXIpOwogICAgIHZvaWQgZGlkRmFpbFJlc291cmNlTG9hZChXZWJLaXQ6OldlYkZyYW1lKiwg
dW5zaWduZWQgaWRlbnRpZmllciwgY29uc3QgV2ViS2l0OjpXZWJVUkxFcnJvciYpOworICAgIHZv
aWQgdW5hYmxlVG9JbXBsZW1lbnRQb2xpY3lXaXRoRXJyb3IoV2ViS2l0OjpXZWJGcmFtZSosIGNv
bnN0IFdlYktpdDo6V2ViVVJMRXJyb3ImKTsKKyAgICB2b2lkIGRpZEFkZE1lc3NhZ2VUb0NvbnNv
bGUoY29uc3QgV2ViS2l0OjpXZWJDb25zb2xlTWVzc2FnZSYsIGNvbnN0IFdlYktpdDo6V2ViU3Ry
aW5nJiBzb3VyY2VOYW1lLCB1bnNpZ25lZCBzb3VyY2VMaW5lKTsKKyAgICB2b2lkIHJ1bk1vZGFs
QWxlcnREaWFsb2coV2ViS2l0OjpXZWJGcmFtZSosIGNvbnN0IFdlYktpdDo6V2ViU3RyaW5nJik7
CisgICAgYm9vbCBydW5Nb2RhbENvbmZpcm1EaWFsb2coV2ViS2l0OjpXZWJGcmFtZSosIGNvbnN0
IFdlYktpdDo6V2ViU3RyaW5nJik7CisgICAgYm9vbCBydW5Nb2RhbFByb21wdERpYWxvZyhXZWJL
aXQ6OldlYkZyYW1lKiwgY29uc3QgV2ViS2l0OjpXZWJTdHJpbmcmIG1lc3NhZ2UsIGNvbnN0IFdl
YktpdDo6V2ViU3RyaW5nJiBkZWZhdWx0VmFsdWUsIFdlYktpdDo6V2ViU3RyaW5nKiBhY3R1YWxW
YWx1ZSk7CisgICAgYm9vbCBydW5Nb2RhbEJlZm9yZVVubG9hZERpYWxvZyhXZWJLaXQ6OldlYkZy
YW1lKiwgY29uc3QgV2ViS2l0OjpXZWJTdHJpbmcmKTsKIAogcHJpdmF0ZToKICAgICBXZWJUZXN0
SW50ZXJmYWNlcyogbV90ZXN0SW50ZXJmYWNlczsKQEAgLTE0NCw2ICsxNTUsOCBAQCBwcml2YXRl
OgogCiAgICAgV2ViS2l0OjpXZWJSZWN0IG1fcGFpbnRSZWN0OwogICAgIHN0ZDo6bWFwPHVuc2ln
bmVkLCBzdGQ6OnN0cmluZz4gbV9yZXNvdXJjZUlkZW50aWZpZXJNYXA7CisKKyAgICBib29sIG1f
bG9nQ29uc29sZU91dHB1dDsKIH07CiAKIC8vIFVzZSB0aGlzIHRlbXBsYXRlIHRvIGluamVjdCBt
ZXRob2RzIGludG8geW91ciBXZWJWaWV3Q2xpZW50L1dlYkZyYW1lQ2xpZW50CkBAIC0zOTEsNiAr
NDA0LDM2IEBAIHB1YmxpYzoKICAgICAgICAgV2ViVGVzdFByb3h5QmFzZTo6ZGlkRmFpbFJlc291
cmNlTG9hZChmcmFtZSwgaWRlbnRpZmllciwgZXJyb3IpOwogICAgICAgICBCYXNlOjpkaWRGYWls
UmVzb3VyY2VMb2FkKGZyYW1lLCBpZGVudGlmaWVyLCBlcnJvcik7CiAgICAgfQorICAgIHZpcnR1
YWwgdm9pZCB1bmFibGVUb0ltcGxlbWVudFBvbGljeVdpdGhFcnJvcihXZWJLaXQ6OldlYkZyYW1l
KiBmcmFtZSwgY29uc3QgV2ViS2l0OjpXZWJVUkxFcnJvciYgZXJyb3IpCisgICAgeworICAgICAg
ICBXZWJUZXN0UHJveHlCYXNlOjp1bmFibGVUb0ltcGxlbWVudFBvbGljeVdpdGhFcnJvcihmcmFt
ZSwgZXJyb3IpOworICAgICAgICBCYXNlOjp1bmFibGVUb0ltcGxlbWVudFBvbGljeVdpdGhFcnJv
cihmcmFtZSwgZXJyb3IpOworICAgIH0KKyAgICB2aXJ0dWFsIHZvaWQgZGlkQWRkTWVzc2FnZVRv
Q29uc29sZShjb25zdCBXZWJLaXQ6OldlYkNvbnNvbGVNZXNzYWdlJiBtZXNzYWdlLCBjb25zdCBX
ZWJLaXQ6OldlYlN0cmluZyYgc291cmNlTmFtZSwgdW5zaWduZWQgc291cmNlTGluZSkKKyAgICB7
CisgICAgICAgIFdlYlRlc3RQcm94eUJhc2U6OmRpZEFkZE1lc3NhZ2VUb0NvbnNvbGUobWVzc2Fn
ZSwgc291cmNlTmFtZSwgc291cmNlTGluZSk7CisgICAgICAgIEJhc2U6OmRpZEFkZE1lc3NhZ2VU
b0NvbnNvbGUobWVzc2FnZSwgc291cmNlTmFtZSwgc291cmNlTGluZSk7CisgICAgfQorICAgIHZp
cnR1YWwgdm9pZCBydW5Nb2RhbEFsZXJ0RGlhbG9nKFdlYktpdDo6V2ViRnJhbWUqIGZyYW1lLCBj
b25zdCBXZWJLaXQ6OldlYlN0cmluZyYgbWVzc2FnZSkKKyAgICB7CisgICAgICAgIFdlYlRlc3RQ
cm94eUJhc2U6OnJ1bk1vZGFsQWxlcnREaWFsb2coZnJhbWUsIG1lc3NhZ2UpOworICAgICAgICBC
YXNlOjpydW5Nb2RhbEFsZXJ0RGlhbG9nKGZyYW1lLCBtZXNzYWdlKTsKKyAgICB9CisgICAgdmly
dHVhbCBib29sIHJ1bk1vZGFsQ29uZmlybURpYWxvZyhXZWJLaXQ6OldlYkZyYW1lKiBmcmFtZSwg
Y29uc3QgV2ViS2l0OjpXZWJTdHJpbmcmIG1lc3NhZ2UpCisgICAgeworICAgICAgICBXZWJUZXN0
UHJveHlCYXNlOjpydW5Nb2RhbENvbmZpcm1EaWFsb2coZnJhbWUsIG1lc3NhZ2UpOworICAgICAg
ICByZXR1cm4gQmFzZTo6cnVuTW9kYWxDb25maXJtRGlhbG9nKGZyYW1lLCBtZXNzYWdlKTsKKyAg
ICB9CisgICAgdmlydHVhbCBib29sIHJ1bk1vZGFsUHJvbXB0RGlhbG9nKFdlYktpdDo6V2ViRnJh
bWUqIGZyYW1lLCBjb25zdCBXZWJLaXQ6OldlYlN0cmluZyYgbWVzc2FnZSwgY29uc3QgV2ViS2l0
OjpXZWJTdHJpbmcmIGRlZmF1bHRWYWx1ZSwgV2ViS2l0OjpXZWJTdHJpbmcqIGFjdHVhbFZhbHVl
KQorICAgIHsKKyAgICAgICAgV2ViVGVzdFByb3h5QmFzZTo6cnVuTW9kYWxQcm9tcHREaWFsb2co
ZnJhbWUsIG1lc3NhZ2UsIGRlZmF1bHRWYWx1ZSwgYWN0dWFsVmFsdWUpOworICAgICAgICByZXR1
cm4gQmFzZTo6cnVuTW9kYWxQcm9tcHREaWFsb2coZnJhbWUsIG1lc3NhZ2UsIGRlZmF1bHRWYWx1
ZSwgYWN0dWFsVmFsdWUpOworICAgIH0KKyAgICB2aXJ0dWFsIGJvb2wgcnVuTW9kYWxCZWZvcmVV
bmxvYWREaWFsb2coV2ViS2l0OjpXZWJGcmFtZSogZnJhbWUsIGNvbnN0IFdlYktpdDo6V2ViU3Ry
aW5nJiBtZXNzYWdlKQorICAgIHsKKyAgICAgICAgV2ViVGVzdFByb3h5QmFzZTo6cnVuTW9kYWxC
ZWZvcmVVbmxvYWREaWFsb2coZnJhbWUsIG1lc3NhZ2UpOworICAgICAgICByZXR1cm4gQmFzZTo6
cnVuTW9kYWxCZWZvcmVVbmxvYWREaWFsb2coZnJhbWUsIG1lc3NhZ2UpOworICAgIH0KIH07CiAK
IH0KZGlmZiAtLWdpdCBhL1Rvb2xzL0R1bXBSZW5kZXJUcmVlL2Nocm9taXVtL1Rlc3RSdW5uZXIv
c3JjL1dlYlRlc3RQcm94eS5jcHAgYi9Ub29scy9EdW1wUmVuZGVyVHJlZS9jaHJvbWl1bS9UZXN0
UnVubmVyL3NyYy9XZWJUZXN0UHJveHkuY3BwCmluZGV4IGFhNTNjYjM2MmFkYjE0NDQzMzQ2NDA2
ZWZiYzFiMWQ0OGQ2NzllMTQuLjAzMTc3ZjI1OTczMjlhOTQwMjNjNmQ1MDczZThmOGUzNmU4YTQz
MTcgMTAwNjQ0Ci0tLSBhL1Rvb2xzL0R1bXBSZW5kZXJUcmVlL2Nocm9taXVtL1Rlc3RSdW5uZXIv
c3JjL1dlYlRlc3RQcm94eS5jcHAKKysrIGIvVG9vbHMvRHVtcFJlbmRlclRyZWUvY2hyb21pdW0v
VGVzdFJ1bm5lci9zcmMvV2ViVGVzdFByb3h5LmNwcApAQCAtMzYsNiArMzYsNyBAQAogI2luY2x1
ZGUgIldlYkFjY2Vzc2liaWxpdHlOb3RpZmljYXRpb24uaCIKICNpbmNsdWRlICJXZWJBY2Nlc3Np
YmlsaXR5T2JqZWN0LmgiCiAjaW5jbHVkZSAiV2ViQ2FjaGVkVVJMUmVxdWVzdC5oIgorI2luY2x1
ZGUgIldlYkNvbnNvbGVNZXNzYWdlLmgiCiAjaW5jbHVkZSAiV2ViRWxlbWVudC5oIgogI2luY2x1
ZGUgIldlYkV2ZW50U2VuZGVyLmgiCiAjaW5jbHVkZSAiV2ViRnJhbWUuaCIKQEAgLTQ5LDYgKzUw
LDcgQEAKICNpbmNsdWRlICJXZWJUZXN0UnVubmVyLmgiCiAjaW5jbHVkZSAiV2ViVmlldy5oIgog
I2luY2x1ZGUgPHB1YmxpYy9XZWJDU3RyaW5nLmg+CisjaW5jbHVkZSA8cHVibGljL1dlYlVSTEVy
cm9yLmg+CiAjaW5jbHVkZSA8cHVibGljL1dlYlVSTFJlcXVlc3QuaD4KICNpbmNsdWRlIDxwdWJs
aWMvV2ViVVJMUmVzcG9uc2UuaD4KICNpbmNsdWRlIDx3dGYvU3RyaW5nRXh0cmFzLmg+CkBAIC0x
ODYsNiArMTg4LDI5IEBAIHZvaWQgYmxvY2tSZXF1ZXN0KFdlYlVSTFJlcXVlc3QmIHJlcXVlc3Qp
CiAgICAgcmVxdWVzdC5zZXRVUkwoV2ViVVJMKCkpOwogfQogCisvLyBVc2VkIHRvIHdyaXRlIGEg
cGxhdGZvcm0gbmV1dHJhbCBmaWxlOi8vLyBVUkwgYnkgb25seSB0YWtpbmcgdGhlIGZpbGVuYW1l
CisvLyAoZS5nLiwgY29udmVydHMgImZpbGU6Ly8vdG1wL2Zvby50eHQiIHRvIGp1c3QgImZvby50
eHQiKS4KK3N0cmluZyB1cmxTdWl0YWJsZUZvclRlc3RSZXN1bHQoY29uc3Qgc3RyaW5nJiB1cmwp
Cit7CisgICAgaWYgKHVybC5lbXB0eSgpIHx8IHN0cmluZzo6bnBvcyA9PSB1cmwuZmluZCgiZmls
ZTovLyIpKQorICAgICAgICByZXR1cm4gdXJsOworCisgICAgc2l6ZV90IHBvcyA9IHVybC5yZmlu
ZCgnLycpOworICAgIGlmIChwb3MgPT0gc3RyaW5nOjpucG9zKSB7CisjaWYgT1MoV0lORE9XUykK
KyAgICAgICAgcG9zID0gdXJsLnJmaW5kKCdcXCcpOworICAgICAgICBpZiAocG9zID09IHN0cmlu
Zzo6bnBvcykKKyAgICAgICAgICAgIHBvcyA9IDA7CisjZWxzZQorICAgICAgICBwb3MgPSAwOwor
I2VuZGlmCisgICAgfQorICAgIHN0cmluZyBmaWxlbmFtZSA9IHVybC5zdWJzdHIocG9zICsgMSk7
CisgICAgaWYgKGZpbGVuYW1lLmVtcHR5KCkpCisgICAgICAgIHJldHVybiAiZmlsZToiOyAvLyBB
IFdlYktpdCB0ZXN0IGhhcyB0aGlzIGluIGl0cyBleHBlY3RlZCBvdXRwdXQuCisgICAgcmV0dXJu
IGZpbGVuYW1lOworfQorCiB9CiAKIFdlYlRlc3RQcm94eUJhc2U6OldlYlRlc3RQcm94eUJhc2Uo
KQpAQCAtMTkzLDYgKzIxOCw3IEBAIFdlYlRlc3RQcm94eUJhc2U6OldlYlRlc3RQcm94eUJhc2Uo
KQogICAgICwgbV9kZWxlZ2F0ZSgwKQogICAgICwgbV9zcGVsbGNoZWNrKG5ldyBTcGVsbENoZWNr
Q2xpZW50KQogeworICAgIHJlc2V0KCk7CiB9CiAKIFdlYlRlc3RQcm94eUJhc2U6On5XZWJUZXN0
UHJveHlCYXNlKCkKQEAgLTIxNSw2ICsyNDEsNyBAQCB2b2lkIFdlYlRlc3RQcm94eUJhc2U6OnJl
c2V0KCkKIHsKICAgICBtX3BhaW50UmVjdCA9IFdlYlJlY3QoKTsKICAgICBtX3Jlc291cmNlSWRl
bnRpZmllck1hcC5jbGVhcigpOworICAgIG1fbG9nQ29uc29sZU91dHB1dCA9IHRydWU7CiB9CiAK
IFdlYlNwZWxsQ2hlY2tDbGllbnQqIFdlYlRlc3RQcm94eUJhc2U6OnNwZWxsQ2hlY2tDbGllbnQo
KSBjb25zdApAQCAtMjMyLDYgKzI1OSwxMSBAQCBXZWJSZWN0IFdlYlRlc3RQcm94eUJhc2U6OnBh
aW50UmVjdCgpIGNvbnN0CiAgICAgcmV0dXJuIG1fcGFpbnRSZWN0OwogfQogCit2b2lkIFdlYlRl
c3RQcm94eUJhc2U6OnNldExvZ0NvbnNvbGVPdXRwdXQoYm9vbCBlbmFibGVkKQoreworICAgIG1f
bG9nQ29uc29sZU91dHB1dCA9IGVuYWJsZWQ7Cit9CisKIHZvaWQgV2ViVGVzdFByb3h5QmFzZTo6
ZGlkSW52YWxpZGF0ZVJlY3QoY29uc3QgV2ViUmVjdCYgcmVjdCkKIHsKICAgICAvLyBtX3BhaW50
UmVjdCA9IG1fcGFpbnRSZWN0IFUgcmVjdApAQCAtNzkxLDQgKzgyMyw2MCBAQCB2b2lkIFdlYlRl
c3RQcm94eUJhc2U6OmRpZEZhaWxSZXNvdXJjZUxvYWQoV2ViRnJhbWUqLCB1bnNpZ25lZCBpZGVu
dGlmaWVyLCBjb25zdAogICAgIG1fcmVzb3VyY2VJZGVudGlmaWVyTWFwLmVyYXNlKGlkZW50aWZp
ZXIpOwogfQogCit2b2lkIFdlYlRlc3RQcm94eUJhc2U6OnVuYWJsZVRvSW1wbGVtZW50UG9saWN5
V2l0aEVycm9yKFdlYktpdDo6V2ViRnJhbWUqIGZyYW1lLCBjb25zdCBXZWJLaXQ6OldlYlVSTEVy
cm9yJiBlcnJvcikKK3sKKyAgICBjaGFyIGVycm9yQnVmZmVyWzQwXTsKKyAgICBzbnByaW50Zihl
cnJvckJ1ZmZlciwgc2l6ZW9mKGVycm9yQnVmZmVyKSwgIiVkIiwgZXJyb3IucmVhc29uKTsKKyAg
ICBtX2RlbGVnYXRlLT5wcmludE1lc3NhZ2Uoc3RyaW5nKCJQb2xpY3kgZGVsZWdhdGU6IHVuYWJs
ZSB0byBpbXBsZW1lbnQgcG9saWN5IHdpdGggZXJyb3IgZG9tYWluICciKSArIGVycm9yLmRvbWFp
bi51dGY4KCkuZGF0YSgpICsKKyAgICAgICAgIicsIGVycm9yIGNvZGUgIiArICBlcnJvckJ1ZmZl
ciArCisgICAgICAgICIsIGluIGZyYW1lICciICsgZnJhbWUtPnVuaXF1ZU5hbWUoKS51dGY4KCku
ZGF0YSgpICsgIidcbiIpOworfQorCit2b2lkIFdlYlRlc3RQcm94eUJhc2U6OmRpZEFkZE1lc3Nh
Z2VUb0NvbnNvbGUoY29uc3QgV2ViQ29uc29sZU1lc3NhZ2UmIG1lc3NhZ2UsIGNvbnN0IFdlYlN0
cmluZyYgc291cmNlTmFtZSwgdW5zaWduZWQgc291cmNlTGluZSkKK3sKKyAgICAvLyBUaGlzIG1h
dGNoZXMgd2luIER1bXBSZW5kZXJUcmVlJ3MgVUlEZWxlZ2F0ZS5jcHAuCisgICAgaWYgKCFtX2xv
Z0NvbnNvbGVPdXRwdXQpCisgICAgICAgIHJldHVybjsKKyAgICBtX2RlbGVnYXRlLT5wcmludE1l
c3NhZ2Uoc3RyaW5nKCJDT05TT0xFIE1FU1NBR0U6ICIpKTsKKyAgICBpZiAoc291cmNlTGluZSkg
eworICAgICAgICBjaGFyIGJ1ZmZlcls0MF07CisgICAgICAgIHNucHJpbnRmKGJ1ZmZlciwgc2l6
ZW9mKGJ1ZmZlciksICJsaW5lICVkOiAiLCBzb3VyY2VMaW5lKTsKKyAgICAgICAgbV9kZWxlZ2F0
ZS0+cHJpbnRNZXNzYWdlKGJ1ZmZlcik7CisgICAgfQorICAgIGlmICghbWVzc2FnZS50ZXh0Lmlz
RW1wdHkoKSkgeworICAgICAgICBzdHJpbmcgbmV3TWVzc2FnZTsKKyAgICAgICAgbmV3TWVzc2Fn
ZSA9IG1lc3NhZ2UudGV4dC51dGY4KCk7CisgICAgICAgIHNpemVfdCBmaWxlUHJvdG9jb2wgPSBu
ZXdNZXNzYWdlLmZpbmQoImZpbGU6Ly8iKTsKKyAgICAgICAgaWYgKGZpbGVQcm90b2NvbCAhPSBz
dHJpbmc6Om5wb3MpIHsKKyAgICAgICAgICAgIG5ld01lc3NhZ2UgPSBuZXdNZXNzYWdlLnN1YnN0
cigwLCBmaWxlUHJvdG9jb2wpCisgICAgICAgICAgICAgICAgKyB1cmxTdWl0YWJsZUZvclRlc3RS
ZXN1bHQobmV3TWVzc2FnZS5zdWJzdHIoZmlsZVByb3RvY29sKSk7CisgICAgICAgIH0KKyAgICAg
ICAgbV9kZWxlZ2F0ZS0+cHJpbnRNZXNzYWdlKG5ld01lc3NhZ2UpOworICAgIH0KKyAgICBtX2Rl
bGVnYXRlLT5wcmludE1lc3NhZ2Uoc3RyaW5nKCJcbiIpKTsKK30KKwordm9pZCBXZWJUZXN0UHJv
eHlCYXNlOjpydW5Nb2RhbEFsZXJ0RGlhbG9nKFdlYkZyYW1lKiwgY29uc3QgV2ViU3RyaW5nJiBt
ZXNzYWdlKQoreworICAgIG1fZGVsZWdhdGUtPnByaW50TWVzc2FnZShzdHJpbmcoIkFMRVJUOiAi
KSArIG1lc3NhZ2UudXRmOCgpLmRhdGEoKSArICJcbiIpOworfQorCitib29sIFdlYlRlc3RQcm94
eUJhc2U6OnJ1bk1vZGFsQ29uZmlybURpYWxvZyhXZWJGcmFtZSosIGNvbnN0IFdlYlN0cmluZyYg
bWVzc2FnZSkKK3sKKyAgICBtX2RlbGVnYXRlLT5wcmludE1lc3NhZ2Uoc3RyaW5nKCJDT05GSVJN
OiAiKSArIG1lc3NhZ2UudXRmOCgpLmRhdGEoKSArICJcbiIpOworICAgIHJldHVybiB0cnVlOwor
fQorCitib29sIFdlYlRlc3RQcm94eUJhc2U6OnJ1bk1vZGFsUHJvbXB0RGlhbG9nKFdlYkZyYW1l
KiBmcmFtZSwgY29uc3QgV2ViU3RyaW5nJiBtZXNzYWdlLCBjb25zdCBXZWJTdHJpbmcmIGRlZmF1
bHRWYWx1ZSwgV2ViU3RyaW5nKikKK3sKKyAgICBtX2RlbGVnYXRlLT5wcmludE1lc3NhZ2Uoc3Ry
aW5nKCJQUk9NUFQ6ICIpICsgbWVzc2FnZS51dGY4KCkuZGF0YSgpICsgIiwgZGVmYXVsdCB0ZXh0
OiAiICsgZGVmYXVsdFZhbHVlLnV0ZjgoKS5kYXRhKCkgKyAiXG4iKTsKKyAgICByZXR1cm4gdHJ1
ZTsKK30KKworYm9vbCBXZWJUZXN0UHJveHlCYXNlOjpydW5Nb2RhbEJlZm9yZVVubG9hZERpYWxv
ZyhXZWJGcmFtZSosIGNvbnN0IFdlYlN0cmluZyYgbWVzc2FnZSkKK3sKKyAgICBtX2RlbGVnYXRl
LT5wcmludE1lc3NhZ2Uoc3RyaW5nKCJDT05GSVJNIE5BVklHQVRJT046ICIpICsgbWVzc2FnZS51
dGY4KCkuZGF0YSgpICsgIlxuIik7CisgICAgcmV0dXJuIHRydWU7Cit9CisKIH0KZGlmZiAtLWdp
dCBhL1Rvb2xzL0R1bXBSZW5kZXJUcmVlL2Nocm9taXVtL1Rlc3RTaGVsbC5jcHAgYi9Ub29scy9E
dW1wUmVuZGVyVHJlZS9jaHJvbWl1bS9UZXN0U2hlbGwuY3BwCmluZGV4IDc5OTU5OWRmMGI1MjRm
MzZmOWJjYjhkYjA3MmZhMTUzNTlkMWQ2YWEuLjFjOTUzYzc3ODg1MWIxZjJjNGI1NTdlZDkxMmZl
NGVhM2I3NzhiYmIgMTAwNjQ0Ci0tLSBhL1Rvb2xzL0R1bXBSZW5kZXJUcmVlL2Nocm9taXVtL1Rl
c3RTaGVsbC5jcHAKKysrIGIvVG9vbHMvRHVtcFJlbmRlclRyZWUvY2hyb21pdW0vVGVzdFNoZWxs
LmNwcApAQCAtMjIxLDcgKzIyMSw3IEBAIHZvaWQgVGVzdFNoZWxsOjpzaG93RGV2VG9vbHMoKQog
ICAgICAgICB9CiAgICAgICAgIG1fZGV2VG9vbHMgPSBjcmVhdGVOZXdXaW5kb3codXJsLCAwLCBt
X2RldlRvb2xzVGVzdEludGVyZmFjZXMuZ2V0KCkpOwogICAgICAgICBtX2RldlRvb2xzLT53ZWJW
aWV3KCktPnNldHRpbmdzKCktPnNldE1lbW9yeUluZm9FbmFibGVkKHRydWUpOwotICAgICAgICBt
X2RldlRvb2xzLT5zZXRMb2dDb25zb2xlT3V0cHV0KGZhbHNlKTsKKyAgICAgICAgbV9kZXZUb29s
cy0+cHJveHkoKS0+c2V0TG9nQ29uc29sZU91dHB1dChmYWxzZSk7CiAgICAgICAgIG1fZGV2VG9v
bHNUZXN0SW50ZXJmYWNlcy0+c2V0RGVsZWdhdGUobV9kZXZUb29scyk7CiAgICAgICAgIG1fZGV2
VG9vbHNUZXN0SW50ZXJmYWNlcy0+c2V0V2ViVmlldyhtX2RldlRvb2xzLT53ZWJWaWV3KCkpOwog
ICAgICAgICBBU1NFUlQobV9kZXZUb29scyk7CmRpZmYgLS1naXQgYS9Ub29scy9EdW1wUmVuZGVy
VHJlZS9jaHJvbWl1bS9XZWJWaWV3SG9zdC5jcHAgYi9Ub29scy9EdW1wUmVuZGVyVHJlZS9jaHJv
bWl1bS9XZWJWaWV3SG9zdC5jcHAKaW5kZXggZjNjZmM1MGIxNjk2OWY5YTlkNmFlMmYwYjkxYmZk
ZGEwYjllZWRhOS4uNTBlMzhhNjE2NDU4MTdiYjFhMDg0ZjYxZDEyMTI5MzMyMjdlZDQyMiAxMDA2
NDQKLS0tIGEvVG9vbHMvRHVtcFJlbmRlclRyZWUvY2hyb21pdW0vV2ViVmlld0hvc3QuY3BwCisr
KyBiL1Rvb2xzL0R1bXBSZW5kZXJUcmVlL2Nocm9taXVtL1dlYlZpZXdIb3N0LmNwcApAQCAtMTA0
LDI5ICsxMDQsNiBAQCBzdGF0aWMgY29uc3QgY2hhciogaWxsZWdhbFN0cmluZyA9ICJpbGxlZ2Fs
IHZhbHVlIjsKIAogc3RhdGljIGludCBuZXh0UGFnZUlEID0gMTsKIAotLy8gVXNlZCB0byB3cml0
ZSBhIHBsYXRmb3JtIG5ldXRyYWwgZmlsZTovLy8gVVJMIGJ5IG9ubHkgdGFraW5nIHRoZSBmaWxl
bmFtZQotLy8gKGUuZy4sIGNvbnZlcnRzICJmaWxlOi8vL3RtcC9mb28udHh0IiB0byBqdXN0ICJm
b28udHh0IikuCi1zdGF0aWMgc3RyaW5nIHVybFN1aXRhYmxlRm9yVGVzdFJlc3VsdChjb25zdCBz
dHJpbmcmIHVybCkKLXsKLSAgICBpZiAodXJsLmVtcHR5KCkgfHwgc3RyaW5nOjpucG9zID09IHVy
bC5maW5kKCJmaWxlOi8vIikpCi0gICAgICAgIHJldHVybiB1cmw7Ci0KLSAgICBzaXplX3QgcG9z
ID0gdXJsLnJmaW5kKCcvJyk7Ci0gICAgaWYgKHBvcyA9PSBzdHJpbmc6Om5wb3MpIHsKLSNpZiBP
UyhXSU5ET1dTKQotICAgICAgICBwb3MgPSB1cmwucmZpbmQoJ1xcJyk7Ci0gICAgICAgIGlmIChw
b3MgPT0gc3RyaW5nOjpucG9zKQotICAgICAgICAgICAgcG9zID0gMDsKLSNlbHNlCi0gICAgICAg
IHBvcyA9IDA7Ci0jZW5kaWYKLSAgICB9Ci0gICAgc3RyaW5nIGZpbGVuYW1lID0gdXJsLnN1YnN0
cihwb3MgKyAxKTsKLSAgICBpZiAoZmlsZW5hbWUuZW1wdHkoKSkKLSAgICAgICAgcmV0dXJuICJm
aWxlOiI7IC8vIEEgV2ViS2l0IHRlc3QgaGFzIHRoaXMgaW4gaXRzIGV4cGVjdGVkIG91dHB1dC4K
LSAgICByZXR1cm4gZmlsZW5hbWU7Ci19Ci0KIC8vIEdldCBhIGRlYnVnZ2luZyBzdHJpbmcgZnJv
bSBhIFdlYk5hdmlnYXRpb25UeXBlLgogc3RhdGljIGNvbnN0IGNoYXIqIHdlYk5hdmlnYXRpb25U
eXBlVG9TdHJpbmcoV2ViTmF2aWdhdGlvblR5cGUgdHlwZSkKIHsKQEAgLTIyMywyMiArMjAwLDYg
QEAgV2ViQ29tcG9zaXRvck91dHB1dFN1cmZhY2UqIFdlYlZpZXdIb3N0OjpjcmVhdGVPdXRwdXRT
dXJmYWNlKCkKIAogdm9pZCBXZWJWaWV3SG9zdDo6ZGlkQWRkTWVzc2FnZVRvQ29uc29sZShjb25z
dCBXZWJDb25zb2xlTWVzc2FnZSYgbWVzc2FnZSwgY29uc3QgV2ViU3RyaW5nJiBzb3VyY2VOYW1l
LCB1bnNpZ25lZCBzb3VyY2VMaW5lKQogewotICAgIC8vIFRoaXMgbWF0Y2hlcyB3aW4gRHVtcFJl
bmRlclRyZWUncyBVSURlbGVnYXRlLmNwcC4KLSAgICBpZiAoIW1fbG9nQ29uc29sZU91dHB1dCkK
LSAgICAgICAgcmV0dXJuOwotICAgIHN0cmluZyBuZXdNZXNzYWdlOwotICAgIGlmICghbWVzc2Fn
ZS50ZXh0LmlzRW1wdHkoKSkgewotICAgICAgICBuZXdNZXNzYWdlID0gbWVzc2FnZS50ZXh0LnV0
ZjgoKTsKLSAgICAgICAgc2l6ZV90IGZpbGVQcm90b2NvbCA9IG5ld01lc3NhZ2UuZmluZCgiZmls
ZTovLyIpOwotICAgICAgICBpZiAoZmlsZVByb3RvY29sICE9IHN0cmluZzo6bnBvcykgewotICAg
ICAgICAgICAgbmV3TWVzc2FnZSA9IG5ld01lc3NhZ2Uuc3Vic3RyKDAsIGZpbGVQcm90b2NvbCkK
LSAgICAgICAgICAgICAgICArIHVybFN1aXRhYmxlRm9yVGVzdFJlc3VsdChuZXdNZXNzYWdlLnN1
YnN0cihmaWxlUHJvdG9jb2wpKTsKLSAgICAgICAgfQotICAgIH0KLSAgICBwcmludGYoIkNPTlNP
TEUgTUVTU0FHRTogIik7Ci0gICAgaWYgKHNvdXJjZUxpbmUpCi0gICAgICAgIHByaW50ZigibGlu
ZSAlZDogIiwgc291cmNlTGluZSk7Ci0gICAgcHJpbnRmKCIlc1xuIiwgbmV3TWVzc2FnZS5kYXRh
KCkpOwogfQogCiB2b2lkIFdlYlZpZXdIb3N0OjpkaWRTdGFydExvYWRpbmcoKQpAQCAtMzE3LDI2
ICsyNzgsMjEgQEAgdm9pZCBXZWJWaWV3SG9zdDo6d2lsbEFkZFByZXJlbmRlcihXZWJLaXQ6Oldl
YlByZXJlbmRlciopCiAKIHZvaWQgV2ViVmlld0hvc3Q6OnJ1bk1vZGFsQWxlcnREaWFsb2coV2Vi
RnJhbWUqLCBjb25zdCBXZWJTdHJpbmcmIG1lc3NhZ2UpCiB7Ci0gICAgcHJpbnRmKCJBTEVSVDog
JXNcbiIsIG1lc3NhZ2UudXRmOCgpLmRhdGEoKSk7Ci0gICAgZmZsdXNoKHN0ZG91dCk7CiB9CiAK
IGJvb2wgV2ViVmlld0hvc3Q6OnJ1bk1vZGFsQ29uZmlybURpYWxvZyhXZWJGcmFtZSosIGNvbnN0
IFdlYlN0cmluZyYgbWVzc2FnZSkKIHsKLSAgICBwcmludGYoIkNPTkZJUk06ICVzXG4iLCBtZXNz
YWdlLnV0ZjgoKS5kYXRhKCkpOwogICAgIHJldHVybiB0cnVlOwogfQogCiBib29sIFdlYlZpZXdI
b3N0OjpydW5Nb2RhbFByb21wdERpYWxvZyhXZWJGcmFtZSogZnJhbWUsIGNvbnN0IFdlYlN0cmlu
ZyYgbWVzc2FnZSwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGNvbnN0
IFdlYlN0cmluZyYgZGVmYXVsdFZhbHVlLCBXZWJTdHJpbmcqKQogewotICAgIHByaW50ZigiUFJP
TVBUOiAlcywgZGVmYXVsdCB0ZXh0OiAlc1xuIiwgbWVzc2FnZS51dGY4KCkuZGF0YSgpLCBkZWZh
dWx0VmFsdWUudXRmOCgpLmRhdGEoKSk7CiAgICAgcmV0dXJuIHRydWU7CiB9CiAKIGJvb2wgV2Vi
Vmlld0hvc3Q6OnJ1bk1vZGFsQmVmb3JlVW5sb2FkRGlhbG9nKFdlYkZyYW1lKiwgY29uc3QgV2Vi
U3RyaW5nJiBtZXNzYWdlKQogewotICAgIHByaW50ZigiQ09ORklSTSBOQVZJR0FUSU9OOiAlc1xu
IiwgbWVzc2FnZS51dGY4KCkuZGF0YSgpKTsKICAgICByZXR1cm4gIXRlc3RSdW5uZXIoKS0+c2hv
dWxkU3RheU9uUGFnZUFmdGVySGFuZGxpbmdCZWZvcmVVbmxvYWQoKTsKIH0KIApAQCAtNzIzLDkg
KzY3OSw2IEBAIFdlYlVSTEVycm9yIFdlYlZpZXdIb3N0OjpjYW5jZWxsZWRFcnJvcihXZWJGcmFt
ZSosIGNvbnN0IFdlYlVSTFJlcXVlc3QmIHJlcXVlc3QpCiAKIHZvaWQgV2ViVmlld0hvc3Q6OnVu
YWJsZVRvSW1wbGVtZW50UG9saWN5V2l0aEVycm9yKFdlYkZyYW1lKiBmcmFtZSwgY29uc3QgV2Vi
VVJMRXJyb3ImIGVycm9yKQogewotICAgIHByaW50ZigiUG9saWN5IGRlbGVnYXRlOiB1bmFibGUg
dG8gaW1wbGVtZW50IHBvbGljeSB3aXRoIGVycm9yIGRvbWFpbiAnJXMnLCAiCi0gICAgICAgICAg
ICJlcnJvciBjb2RlICVkLCBpbiBmcmFtZSAnJXMnXG4iLAotICAgICAgICAgICAgZXJyb3IuZG9t
YWluLnV0ZjgoKS5kYXRhKCksIGVycm9yLnJlYXNvbiwgZnJhbWUtPnVuaXF1ZU5hbWUoKS51dGY4
KCkuZGF0YSgpKTsKIH0KIAogdm9pZCBXZWJWaWV3SG9zdDo6ZGlkQ3JlYXRlRGF0YVNvdXJjZShX
ZWJGcmFtZSosIFdlYkRhdGFTb3VyY2UqIGRzKQpAQCAtMTIwNyw3ICsxMTYwLDYgQEAgdm9pZCBX
ZWJWaWV3SG9zdDo6cmVzZXQoKQogICAgIG1faGFzV2luZG93ID0gZmFsc2U7CiAgICAgbV9pbk1v
ZGFsTG9vcCA9IGZhbHNlOwogICAgIG1fc21hcnRJbnNlcnREZWxldGVFbmFibGVkID0gdHJ1ZTsK
LSAgICBtX2xvZ0NvbnNvbGVPdXRwdXQgPSB0cnVlOwogI2lmIE9TKFdJTkRPV1MpCiAgICAgbV9z
ZWxlY3RUcmFpbGluZ1doaXRlc3BhY2VFbmFibGVkID0gdHJ1ZTsKICNlbHNlCkBAIC0xMjY3LDEx
ICsxMjE5LDYgQEAgdm9pZCBXZWJWaWV3SG9zdDo6c2V0Q2xpZW50V2luZG93UmVjdChjb25zdCBX
ZWJLaXQ6OldlYlJlY3QmIHJlY3QpCiAgICAgc2V0V2luZG93UmVjdChyZWN0KTsKIH0KIAotdm9p
ZCBXZWJWaWV3SG9zdDo6c2V0TG9nQ29uc29sZU91dHB1dChib29sIGVuYWJsZWQpCi17Ci0gICAg
bV9sb2dDb25zb2xlT3V0cHV0ID0gZW5hYmxlZDsKLX0KLQogdm9pZCBXZWJWaWV3SG9zdDo6c2V0
Q3VzdG9tUG9saWN5RGVsZWdhdGUoYm9vbCBpc0N1c3RvbSwgYm9vbCBpc1Blcm1pc3NpdmUpCiB7
CiAgICAgbV9wb2xpY3lEZWxlZ2F0ZUVuYWJsZWQgPSBpc0N1c3RvbTsKZGlmZiAtLWdpdCBhL1Rv
b2xzL0R1bXBSZW5kZXJUcmVlL2Nocm9taXVtL1dlYlZpZXdIb3N0LmggYi9Ub29scy9EdW1wUmVu
ZGVyVHJlZS9jaHJvbWl1bS9XZWJWaWV3SG9zdC5oCmluZGV4IDg5MWEwMTU4OTU4ZjVjM2UzYzZh
MjVhMmMyNzA3ZTcxZTBjNzQ1ZTQuLjRlZWFjZTQ3MzkyMmU2ZWY3Y2YwNTk0NzRiZjQxMGIxZTVi
MmVlNmUgMTAwNjQ0Ci0tLSBhL1Rvb2xzL0R1bXBSZW5kZXJUcmVlL2Nocm9taXVtL1dlYlZpZXdI
b3N0LmgKKysrIGIvVG9vbHMvRHVtcFJlbmRlclRyZWUvY2hyb21pdW0vV2ViVmlld0hvc3QuaApA
QCAtODYsNyArODYsNiBAQCBjbGFzcyBXZWJWaWV3SG9zdCA6IHB1YmxpYyBXZWJLaXQ6OldlYlZp
ZXdDbGllbnQsIHB1YmxpYyBXZWJLaXQ6OldlYkZyYW1lQ2xpZW50LAogICAgIFdlYlRlc3RSdW5u
ZXI6OldlYlRlc3RQcm94eUJhc2UqIHByb3h5KCkgY29uc3Q7CiAgICAgdm9pZCBzZXRQcm94eShX
ZWJUZXN0UnVubmVyOjpXZWJUZXN0UHJveHlCYXNlKik7CiAgICAgdm9pZCByZXNldCgpOwotICAg
IHZvaWQgc2V0TG9nQ29uc29sZU91dHB1dChib29sKTsKICAgICB2b2lkIHdhaXRGb3JQb2xpY3lE
ZWxlZ2F0ZSgpOwogICAgIHZvaWQgc2V0Q3VzdG9tUG9saWN5RGVsZWdhdGUoYm9vbCwgYm9vbCk7
CiAgICAgV2ViS2l0OjpXZWJGcmFtZSogdG9wTG9hZGluZ0ZyYW1lKCkgeyByZXR1cm4gbV90b3BM
b2FkaW5nRnJhbWU7IH0KQEAgLTM4NCw5ICszODMsNiBAQCBwcml2YXRlOgogICAgIC8vIHRydWUg
aWYgd2Ugd2FudCB0byBlbmFibGUgc2VsZWN0aW9uIG9mIHRyYWlsaW5nIHdoaXRlc3BhY2VzCiAg
ICAgYm9vbCBtX3NlbGVjdFRyYWlsaW5nV2hpdGVzcGFjZUVuYWJsZWQ7CiAKLSAgICAvLyB0cnVl
IGlmIHdoYXRldmVyIGlzIHNlbnQgdG8gdGhlIGNvbnNvbGUgc2hvdWxkIGJlIGxvZ2dlZCB0byBz
dGRvdXQuCi0gICAgYm9vbCBtX2xvZ0NvbnNvbGVPdXRwdXQ7Ci0KICAgICAvLyBFZGl0IGNvbW1h
bmQgYXNzb2NpYXRlZCB0byB0aGUgY3VycmVudCBrZXlib2FyZCBldmVudC4KICAgICBzdGQ6OnN0
cmluZyBtX2VkaXRDb21tYW5kTmFtZTsKICAgICBzdGQ6OnN0cmluZyBtX2VkaXRDb21tYW5kVmFs
dWU7Cg==
</data>

          </attachment>
      

    </bug>

</bugzilla>