<?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>32751</bug_id>
          
          <creation_ts>2009-12-18 16:04:29 -0800</creation_ts>
          <short_desc>upstream several platform-specific chromium plugin tests</short_desc>
          <delta_ts>2009-12-21 15:50:15 -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>Tools / Tests</component>
          <version>528+ (Nightly build)</version>
          <rep_platform>PC</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="Dirk Pranke">dpranke</reporter>
          <assigned_to name="Dirk Pranke">dpranke</assigned_to>
          <cc>andersca</cc>
    
    <cc>commit-queue</cc>
    
    <cc>eric</cc>
    
    <cc>sam</cc>
    
    <cc>webkit.review.bot</cc>
          

      

      

      

          <comment_sort_order>oldest_to_newest</comment_sort_order>  
          <long_desc isprivate="0" >
    <commentid>173370</commentid>
    <comment_count>0</comment_count>
    <who name="Dirk Pranke">dpranke</who>
    <bug_when>2009-12-18 16:04:29 -0800</bug_when>
    <thetext>upstreaming a few platform-specific tests from chromium.org. Most of these rely on features that have been added to the chromium port of the test plugin that we will need to upstream when we upstream our revised DumpRenderTree/TestShell driver.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>173373</commentid>
    <comment_count>1</comment_count>
      <attachid>45198</attachid>
    <who name="Dirk Pranke">dpranke</who>
    <bug_when>2009-12-18 16:05:29 -0800</bug_when>
    <thetext>Created attachment 45198
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>173376</commentid>
    <comment_count>2</comment_count>
    <who name="WebKit Review Bot">webkit.review.bot</who>
    <bug_when>2009-12-18 16:06:45 -0800</bug_when>
    <thetext>style-queue ran check-webkit-style on attachment 45198 without any errors.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>173572</commentid>
    <comment_count>3</comment_count>
    <who name="Eric Seidel (no email)">eric</who>
    <bug_when>2009-12-19 12:08:30 -0800</bug_when>
    <thetext>OK.  Should be easy enough to add to DumpRenderTree eventually as well.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>173687</commentid>
    <comment_count>4</comment_count>
      <attachid>45198</attachid>
    <who name="WebKit Commit Bot">commit-queue</who>
    <bug_when>2009-12-20 02:35:44 -0800</bug_when>
    <thetext>Comment on attachment 45198
Patch

Rejecting patch 45198 from commit-queue.

Failed to run &quot;[&apos;git&apos;, &apos;svn&apos;, &apos;dcommit&apos;]&quot; exit_code: 1
Last 500 characters of output:
tform/chromium/plugins&apos; is not a file

    The following files contain tab characters:

        trunk/LayoutTests/platform/chromium/plugins/multiple-plugins.html
        trunk/LayoutTests/platform/chromium/plugins/nested-plugin-objects.html
        trunk/LayoutTests/platform/chromium/plugins/refcount-leaks.html

    Please use spaces instead to indent.
    If you must commit a file with tabs, use svn propset to set the &quot;allow-tabs&quot; property.
 at /usr/local/git/libexec/git-core/git-svn line 558


Full output: http://webkit-commit-queue.appspot.com/results/136250</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>174112</commentid>
    <comment_count>5</comment_count>
      <attachid>45352</attachid>
    <who name="Dirk Pranke">dpranke</who>
    <bug_when>2009-12-21 14:59:44 -0800</bug_when>
    <thetext>Created attachment 45352
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>174113</commentid>
    <comment_count>6</comment_count>
    <who name="Dirk Pranke">dpranke</who>
    <bug_when>2009-12-21 15:00:20 -0800</bug_when>
    <thetext>submitted revised patch with tabs removed.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>174114</commentid>
    <comment_count>7</comment_count>
    <who name="WebKit Review Bot">webkit.review.bot</who>
    <bug_when>2009-12-21 15:01:15 -0800</bug_when>
    <thetext>style-queue ran check-webkit-style on attachment 45352 without any errors.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>174126</commentid>
    <comment_count>8</comment_count>
      <attachid>45352</attachid>
    <who name="WebKit Commit Bot">commit-queue</who>
    <bug_when>2009-12-21 15:50:09 -0800</bug_when>
    <thetext>Comment on attachment 45352
Patch

Clearing flags on attachment: 45352

Committed r52462: &lt;http://trac.webkit.org/changeset/52462&gt;</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>174127</commentid>
    <comment_count>9</comment_count>
    <who name="WebKit Commit Bot">commit-queue</who>
    <bug_when>2009-12-21 15:50:15 -0800</bug_when>
    <thetext>All reviewed patches have been landed.  Closing bug.</thetext>
  </long_desc>
      
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>45198</attachid>
            <date>2009-12-18 16:05:29 -0800</date>
            <delta_ts>2009-12-21 14:59:40 -0800</delta_ts>
            <desc>Patch</desc>
            <filename>bug-32751-20091218160528.patch</filename>
            <type>text/plain</type>
            <size>17754</size>
            <attacher name="Dirk Pranke">dpranke</attacher>
            
              <data encoding="base64">ZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL0NoYW5nZUxvZyBiL0xheW91dFRlc3RzL0NoYW5nZUxv
ZwppbmRleCA1MGU2ZTE2Li5lODI0YjRiIDEwMDY0NAotLS0gYS9MYXlvdXRUZXN0cy9DaGFuZ2VM
b2cKKysrIGIvTGF5b3V0VGVzdHMvQ2hhbmdlTG9nCkBAIC0xLDMgKzEsMjUgQEAKKzIwMDktMTIt
MTggIERpcmsgUHJhbmtlICA8ZHByYW5rZUBjaHJvbWl1bS5vcmc+CisKKyAgICAgICAgUmV2aWV3
ZWQgYnkgTk9CT0RZIChPT1BTISkuCisKKyAgICAgICAgVXBzdHJlYW0gYSBidW5jaCBvZiBwbGF0
Zm9ybS1zcGVjaWZpYyBDaHJvbWl1bSBwbHVnaW4gdGVzdHMuCisgICAgICAgIGh0dHBzOi8vYnVn
cy53ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD0zMjc1MQorCisgICAgICAgICogcGxhdGZvcm0v
Y2hyb21pdW0vcGx1Z2lucy9jYWxsLWFzLWZ1bmN0aW9uLWV4cGVjdGVkLnR4dDogQWRkZWQuCisg
ICAgICAgICogcGxhdGZvcm0vY2hyb21pdW0vcGx1Z2lucy9jYWxsLWFzLWZ1bmN0aW9uLmh0bWw6
IEFkZGVkLgorICAgICAgICAqIHBsYXRmb3JtL2Nocm9taXVtL3BsdWdpbnMvZ2V0LXVybC13aXRo
LWlmcmFtZS10YXJnZXQtbm8tY3Jhc2gtZXhwZWN0ZWQudHh0OiBBZGRlZC4KKyAgICAgICAgKiBw
bGF0Zm9ybS9jaHJvbWl1bS9wbHVnaW5zL2dldC11cmwtd2l0aC1pZnJhbWUtdGFyZ2V0LW5vLWNy
YXNoLmh0bWw6IEFkZGVkLgorICAgICAgICAqIHBsYXRmb3JtL2Nocm9taXVtL3BsdWdpbnMvbXVs
dGlwbGUtcGx1Z2lucy1leHBlY3RlZC50eHQ6IEFkZGVkLgorICAgICAgICAqIHBsYXRmb3JtL2No
cm9taXVtL3BsdWdpbnMvbXVsdGlwbGUtcGx1Z2lucy5odG1sOiBBZGRlZC4KKyAgICAgICAgKiBw
bGF0Zm9ybS9jaHJvbWl1bS9wbHVnaW5zL25lc3RlZC1wbHVnaW4tb2JqZWN0cy1leHBlY3RlZC50
eHQ6IEFkZGVkLgorICAgICAgICAqIHBsYXRmb3JtL2Nocm9taXVtL3BsdWdpbnMvbmVzdGVkLXBs
dWdpbi1vYmplY3RzLmh0bWw6IEFkZGVkLgorICAgICAgICAqIHBsYXRmb3JtL2Nocm9taXVtL3Bs
dWdpbnMvcmVmY291bnQtbGVha3MtZXhwZWN0ZWQudHh0OiBBZGRlZC4KKyAgICAgICAgKiBwbGF0
Zm9ybS9jaHJvbWl1bS9wbHVnaW5zL3JlZmNvdW50LWxlYWtzLmh0bWw6IEFkZGVkLgorICAgICAg
ICAqIHBsYXRmb3JtL2Nocm9taXVtL3BsdWdpbnMvcmV0dXJuLW5wb2JqZWN0LWV4cGVjdGVkLnR4
dDogQWRkZWQuCisgICAgICAgICogcGxhdGZvcm0vY2hyb21pdW0vcGx1Z2lucy9yZXR1cm4tbnBv
YmplY3QuaHRtbDogQWRkZWQuCisgICAgICAgICogcGxhdGZvcm0vY2hyb21pdW0vcGx1Z2lucy9z
Y3JpcHQtb2JqZWN0LWludm9rZS1leHBlY3RlZC50eHQ6IEFkZGVkLgorICAgICAgICAqIHBsYXRm
b3JtL2Nocm9taXVtL3BsdWdpbnMvc2NyaXB0LW9iamVjdC1pbnZva2UuaHRtbDogQWRkZWQuCisK
IDIwMDktMTItMTggIEJyaWFuIFdlaW5zdGVpbiAgPGJ3ZWluc3RlaW5AYXBwbGUuY29tPgogCiAg
ICAgICAgIFJldmlld2VkIGJ5IEFkYW0gUm9iZW4uCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9w
bGF0Zm9ybS9jaHJvbWl1bS9wbHVnaW5zL2NhbGwtYXMtZnVuY3Rpb24tZXhwZWN0ZWQudHh0IGIv
TGF5b3V0VGVzdHMvcGxhdGZvcm0vY2hyb21pdW0vcGx1Z2lucy9jYWxsLWFzLWZ1bmN0aW9uLWV4
cGVjdGVkLnR4dApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi44NjJmMzUwCi0t
LSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvcGxhdGZvcm0vY2hyb21pdW0vcGx1Z2lucy9j
YWxsLWFzLWZ1bmN0aW9uLWV4cGVjdGVkLnR4dApAQCAtMCwwICsxLDQgQEAKK1RoaXMgdGVzdHMg
dGhhdCBjYWxsIGEgcGx1Z2luIG9iamVjdCAoTlBPYmplY3QpIGFzIGEgZnVuY3Rpb24gaW52b2tl
cyBpbnZva2VEZWZhdWx0KCkgZnVuY3Rpb24gb24gdGhlIG9iamVjdC4KKworcGxnKCkgPSAxCitw
bGcudGVzdE9iamVjdCgpID0gMgpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvcGxhdGZvcm0vY2hy
b21pdW0vcGx1Z2lucy9jYWxsLWFzLWZ1bmN0aW9uLmh0bWwgYi9MYXlvdXRUZXN0cy9wbGF0Zm9y
bS9jaHJvbWl1bS9wbHVnaW5zL2NhbGwtYXMtZnVuY3Rpb24uaHRtbApuZXcgZmlsZSBtb2RlIDEw
MDY0NAppbmRleCAwMDAwMDAwLi43ZWQ2MWVlCi0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVz
dHMvcGxhdGZvcm0vY2hyb21pdW0vcGx1Z2lucy9jYWxsLWFzLWZ1bmN0aW9uLmh0bWwKQEAgLTAs
MCArMSwyNSBAQAorPGh0bWw+Cis8c2NyaXB0PgoraWYgKHdpbmRvdy5sYXlvdXRUZXN0Q29udHJv
bGxlcikKKyAgbGF5b3V0VGVzdENvbnRyb2xsZXIuZHVtcEFzVGV4dCgpOworCitmdW5jdGlvbiBy
dW5UZXN0KCkgeworICB2YXIgYyA9IGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCdjb25zb2xlJyk7
CisgIHZhciBwID0gZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoJ3BsZycpOworICB2YXIgeCA9IHAo
KTsKKyAgYy5pbm5lckhUTUwgKz0gJ3BsZygpID0gJyArIHggKyAnPGJyPic7CisKKyAgdmFyIHkg
PSBwLnRlc3RPYmplY3QoKTsKKyAgYy5pbm5lckhUTUwgKz0gJ3BsZy50ZXN0T2JqZWN0KCkgPSAn
ICsgeSArICc8YnI+JzsKK30KKzwvc2NyaXB0PgorPGJvZHkgb25sb2FkPSdydW5UZXN0KCknPgor
PGVtYmVkIGlkPSJwbGciIHR5cGU9ImFwcGxpY2F0aW9uL3gtd2Via2l0LXRlc3QtbmV0c2NhcGUi
PjwvZW1iZWQ+PFA+CisKK1RoaXMgdGVzdHMgdGhhdCBjYWxsIGEgcGx1Z2luIG9iamVjdCAoTlBP
YmplY3QpIGFzIGEgZnVuY3Rpb24gaW52b2tlcworaW52b2tlRGVmYXVsdCgpIGZ1bmN0aW9uIG9u
IHRoZSBvYmplY3QuCisKKzxkaXYgaWQ9ImNvbnNvbGUiPjwvZGl2PgorPC9ib2R5PgorPC9odG1s
PgorCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9wbGF0Zm9ybS9jaHJvbWl1bS9wbHVnaW5zL2dl
dC11cmwtd2l0aC1pZnJhbWUtdGFyZ2V0LW5vLWNyYXNoLWV4cGVjdGVkLnR4dCBiL0xheW91dFRl
c3RzL3BsYXRmb3JtL2Nocm9taXVtL3BsdWdpbnMvZ2V0LXVybC13aXRoLWlmcmFtZS10YXJnZXQt
bm8tY3Jhc2gtZXhwZWN0ZWQudHh0Cm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAu
LjY0ZWRjYzcKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9wbGF0Zm9ybS9jaHJvbWl1
bS9wbHVnaW5zL2dldC11cmwtd2l0aC1pZnJhbWUtdGFyZ2V0LW5vLWNyYXNoLWV4cGVjdGVkLnR4
dApAQCAtMCwwICsxLDMgQEAKK1RoaXMgdGVzdHMgdGhhdCB3ZSBkbyBub3QgY3Jhc2ggdXBvbiB0
cnlpbmcgdG8gZGVsaXZlciBOUFBfVVJMTm90aWZ5IHRvIGEgcGx1Z2luIHRoYXQgaGFzIGJlZW4g
ZGVsZXRlZC4KK1NVQ0NFU1MKKwpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvcGxhdGZvcm0vY2hy
b21pdW0vcGx1Z2lucy9nZXQtdXJsLXdpdGgtaWZyYW1lLXRhcmdldC1uby1jcmFzaC5odG1sIGIv
TGF5b3V0VGVzdHMvcGxhdGZvcm0vY2hyb21pdW0vcGx1Z2lucy9nZXQtdXJsLXdpdGgtaWZyYW1l
LXRhcmdldC1uby1jcmFzaC5odG1sCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAu
LjM1ZDFhMDkKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9wbGF0Zm9ybS9jaHJvbWl1
bS9wbHVnaW5zL2dldC11cmwtd2l0aC1pZnJhbWUtdGFyZ2V0LW5vLWNyYXNoLmh0bWwKQEAgLTAs
MCArMSwyMSBAQAorPGh0bWw+Cis8c2NyaXB0PgorZnVuY3Rpb24gcnVudGVzdCgpIHsKKyAgICBp
ZiAod2luZG93LmxheW91dFRlc3RDb250cm9sbGVyKSB7CisgICAgICAgIGxheW91dFRlc3RDb250
cm9sbGVyLmR1bXBBc1RleHQoKTsKKyAgICAgICAgbGF5b3V0VGVzdENvbnRyb2xsZXIud2FpdFVu
dGlsRG9uZSgpOworICAgICAgICBwbGcuZ2V0VVJMTm90aWZ5KCJkYXRhOnRleHQvaHRtbCw8Ym9k
eSBvbmxvYWQ9J2xheW91dFRlc3RDb250cm9sbGVyLm5vdGlmeURvbmUoKSc+PC9ib2R5PiIsICJm
cmFtZSIsICJjYWxsYmFjayIpOworICAgICAgICBwbGcucGFyZW50Tm9kZS5yZW1vdmVDaGlsZChw
bGcpCisgICAgfSBlbHNlIHsKKyAgICAgICAgZG9jdW1lbnQud3JpdGUoIkNhbm5vdCBydW4gaW50
ZXJhY3RpdmVseSIpOworICAgIH0KK30KKzwvc2NyaXB0PgorPGJvZHkgb25sb2FkPSJydW50ZXN0
KCkiPgorPGVtYmVkIGlkPSJwbGciIHR5cGU9ImFwcGxpY2F0aW9uL3gtd2Via2l0LXRlc3QtbmV0
c2NhcGUiPjwvZW1iZWQ+CitUaGlzIHRlc3RzIHRoYXQgd2UgZG8gbm90IGNyYXNoIHVwb24gdHJ5
aW5nIHRvIGRlbGl2ZXIgTlBQX1VSTE5vdGlmeSB0bworYSBwbHVnaW4gdGhhdCBoYXMgYmVlbiBk
ZWxldGVkLgorPGRpdiBpZD0icmVzdWx0Ij5TVUNDRVNTPC9kaXY+Cis8aWZyYW1lIGlkPSJmcmFt
ZSI+PC9pZnJhbWU+Cis8L2JvZHk+Cis8L2h0bWw+CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9w
bGF0Zm9ybS9jaHJvbWl1bS9wbHVnaW5zL211bHRpcGxlLXBsdWdpbnMtZXhwZWN0ZWQudHh0IGIv
TGF5b3V0VGVzdHMvcGxhdGZvcm0vY2hyb21pdW0vcGx1Z2lucy9tdWx0aXBsZS1wbHVnaW5zLWV4
cGVjdGVkLnR4dApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi4xODQ0NWE1Ci0t
LSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvcGxhdGZvcm0vY2hyb21pdW0vcGx1Z2lucy9t
dWx0aXBsZS1wbHVnaW5zLWV4cGVjdGVkLnR4dApAQCAtMCwwICsxLDUgQEAKK1Rlc3QgdGhhdCB3
ZSBjYW4gY3JlYXRlIHR3byBwbHVnaW5zLCBhbmQgaW5kZXBlbmRlbnRseSBjbGVhbiBlYWNoLiBQ
cmludHMgIlNVQ0NFU1MiIG9uIHN1Y2Nlc3MsICJGQUlMVVJFIiBvbiBmYWlsdXJlLgorR290IHRl
c3RPYmoxIHByb3BlcnR5CitHb3QgdGVzdE9iajIgcHJvcGVydHkKK0dvdCB0ZXN0T2JqMiBwcm9w
ZXJ0eQorU1VDQ0VTUwpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvcGxhdGZvcm0vY2hyb21pdW0v
cGx1Z2lucy9tdWx0aXBsZS1wbHVnaW5zLmh0bWwgYi9MYXlvdXRUZXN0cy9wbGF0Zm9ybS9jaHJv
bWl1bS9wbHVnaW5zL211bHRpcGxlLXBsdWdpbnMuaHRtbApuZXcgZmlsZSBtb2RlIDEwMDY0NApp
bmRleCAwMDAwMDAwLi4xZjcyMDI2Ci0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvcGxh
dGZvcm0vY2hyb21pdW0vcGx1Z2lucy9tdWx0aXBsZS1wbHVnaW5zLmh0bWwKQEAgLTAsMCArMSw5
MCBAQAorPHNjcmlwdD4KKyAgZnVuY3Rpb24gbm9vcCh4KSB7CisgIH0KKworICBmdW5jdGlvbiBk
b0dDKCkgeworICAgIGlmICh3aW5kb3cuZ2MpIHsKKyAgICAgIC8vIEdDIHR3aWNlIHRvIG1ha2Ug
c3VyZSBldmVyeXRoaW5nIGlzIGNsZWFuZWQgdXAuCisgICAgICBmb3IgKHZhciBpID0gMDsgaSA8
IDQ7IGkrKykgeworCXdpbmRvdy5nYygpOworICAgICAgfQorICAgIH0KKyAgfQorCisgIGZ1bmN0
aW9uIHJ1bnRlc3QoKSB7CisgICAgaWYgKHdpbmRvdy5sYXlvdXRUZXN0Q29udHJvbGxlcikKKyAg
ICAgIGxheW91dFRlc3RDb250cm9sbGVyLmR1bXBBc1RleHQoKTsKKworICAgIGRvR0MoKTsKKwor
ICAgIHZhciBwbHVnMSA9IGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJwbHVnMSIpOworICAgIHZh
ciBwbHVnMiA9IGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJwbHVnMiIpOworICAgIHZhciBvdXRw
dXQgPSBkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgib3V0cHV0Iik7CisgICAgb3V0cHV0LmlubmVy
SFRNTCA9ICIiOworCisgICAgdmFyIHRlc3RPYmoxID0gcGx1ZzEudGVzdE9iamVjdDsKKyAgICB2
YXIgdGVzdE9iajIgPSBwbHVnMi50ZXN0T2JqZWN0OworCisgICAgdmFyIHN1Y2Nlc3NDb3VudCA9
IDA7CisKKyAgICAvLyBWZXJpZnkgd2UgY2FuIGFjY2VzcyBlYWNoIG9iamVjdC4KKyAgICBpZiAo
dGVzdE9iajEuZm9vID09ICJmb28iKSB7CisgICAgICBzdWNjZXNzQ291bnQrKzsKKyAgICAgIG91
dHB1dC5pbm5lckhUTUwgKz0gIkdvdCB0ZXN0T2JqMSBwcm9wZXJ0eTxicj4iOworICAgIH0KKyAg
ICBpZiAodGVzdE9iajIuZm9vID09ICJmb28iKSB7CisgICAgICBzdWNjZXNzQ291bnQrKzsKKyAg
ICAgIG91dHB1dC5pbm5lckhUTUwgKz0gIkdvdCB0ZXN0T2JqMiBwcm9wZXJ0eTxicj4iOworICAg
IH0KKworICAgIC8vIE5vdyByZW1vdmUgdGhlIGZpcnN0IHBsdWdpbgorICAgIHBsdWcxLnBhcmVu
dE5vZGUucmVtb3ZlQ2hpbGQocGx1ZzEpOworICAgIAorICAgIHRyeSB7CisgICAgICBpZiAodGVz
dE9iajEuZm9vID09ICJmb28iKSB7CisgICAgICAgIG91dHB1dC5pbm5lckhUTUwgPSAiQWNjZXNz
ZWQgbnVrZWQgb2JqZWN0ITxicj4iOyAKKyAgICAgIH0KKyAgICB9IGNhdGNoIChlKSB7CisgICAg
ICAgIGlmIChlIGluc3RhbmNlb2YgUmVmZXJlbmNlRXJyb3IpCisgICAgICAgICAgICBzdWNjZXNz
Q291bnQrKzsKKyAgICB9CisKKyAgICB0cnkgeworICAgICAgaWYgKHRlc3RPYmoyLmZvbyA9PSAi
Zm9vIikgeworICAgICAgICBzdWNjZXNzQ291bnQrKzsKKyAgICAgICAgb3V0cHV0LmlubmVySFRN
TCArPSAiR290IHRlc3RPYmoyIHByb3BlcnR5PGJyPiI7CisgICAgICB9CisgICAgfSBjYXRjaChl
KSB7CisgICAgICBvdXRwdXQuaW5lckhUTUwgKz0gIlJlZmVyZW5jZSBlcnJvciBhY2Nlc3Npbmcg
bGl2ZSBvYmplY3Q6ICIgKyBlOworICAgIH0KKworICAgIC8vIE5vdyByZW1vdmUgdGhlIHNlY29u
ZCBwbHVnaW4KKyAgICBwbHVnMi5wYXJlbnROb2RlLnJlbW92ZUNoaWxkKHBsdWcyKTsKKworICAg
IHRyeSB7CisgICAgICBpZiAodGVzdE9iajIuZm9vID09ICJmb28iKSB7CisgICAgICAgIG91dHB1
dC5pbm5lckhUTUwgPSAiQWNjZXNzZWQgbnVrZWQgb2JqZWN0ITxicj4iOyAKKyAgICAgIH0KKyAg
ICB9IGNhdGNoIChlKSB7CisgICAgICAgIGlmIChlIGluc3RhbmNlb2YgUmVmZXJlbmNlRXJyb3Ip
CisgICAgICAgICAgICBzdWNjZXNzQ291bnQrKzsKKyAgICB9CisKKyAgICB2YXIgc3VjY2VzcyA9
IChzdWNjZXNzQ291bnQgPT0gNSk7CisgICAgb3V0cHV0LmlubmVySFRNTCArPSAoc3VjY2VzcyA/
ICJTVUNDRVNTIiA6ICJGQUlMVVJFIik7CisgIH0KKzwvc2NyaXB0PgorCis8Ym9keSBvbmxvYWQ9
InJ1bnRlc3QoKSI+CisKK1Rlc3QgdGhhdCB3ZSBjYW4gY3JlYXRlIHR3byBwbHVnaW5zLCBhbmQg
aW5kZXBlbmRlbnRseSBjbGVhbiBlYWNoLgorCitQcmludHMgIlNVQ0NFU1MiIG9uIHN1Y2Nlc3Ms
ICJGQUlMVVJFIiBvbiBmYWlsdXJlLgorCis8ZW1iZWQgaWQ9InBsdWcxIiB0eXBlPSJhcHBsaWNh
dGlvbi94LXdlYmtpdC10ZXN0LW5ldHNjYXBlIj4KKzxlbWJlZCBpZD0icGx1ZzIiIHR5cGU9ImFw
cGxpY2F0aW9uL3gtd2Via2l0LXRlc3QtbmV0c2NhcGUiPgorCis8ZGl2IGlkPW91dHB1dD5GQUlM
VVJFPC9kaXY+CisKKzwvYm9keT4KKwpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvcGxhdGZvcm0v
Y2hyb21pdW0vcGx1Z2lucy9uZXN0ZWQtcGx1Z2luLW9iamVjdHMtZXhwZWN0ZWQudHh0IGIvTGF5
b3V0VGVzdHMvcGxhdGZvcm0vY2hyb21pdW0vcGx1Z2lucy9uZXN0ZWQtcGx1Z2luLW9iamVjdHMt
ZXhwZWN0ZWQudHh0Cm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLjA4YmE3YjUK
LS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9wbGF0Zm9ybS9jaHJvbWl1bS9wbHVnaW5z
L25lc3RlZC1wbHVnaW4tb2JqZWN0cy1leHBlY3RlZC50eHQKQEAgLTAsMCArMSwxNyBAQAorQ09O
U09MRSBNRVNTQUdFOiBsaW5lIDI5OiBQTFVHSU46IE5QUF9EZXN0cm95CitUaGlzIHRlc3RzIHRo
YXQgb2JqZWN0cyBmcm9tIHBsdWdpbiBvYmplY3RzIGFyZSBwcm9wZXJseSBjbGVhbmVkIHVwLgor
CitFeGFtcGxlOgorICAgcGx1Z2luCisgICAgIC0tLS0tLS0gKENyZWF0ZXMpIC0tLS0tLSBPYmpl
Y3QxCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgLS0tLS0tLSAoQ3JlYXRlcykg
LS0tLS0tIE9iamVjdDIKKworSXQgaXMgaW1wb3J0YW50IHRoYXQgYm90aCBPYmplY3QxIGFuZCBP
YmplY3QyIGNsZWFudXAgYXMgYSByZXN1bHQgb2YKK2NsZWFuaW5nIHVwIHRoZSBwbHVnaW4uCisK
K1NVQ0NFU1MKKworCisKKworCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9wbGF0Zm9ybS9jaHJv
bWl1bS9wbHVnaW5zL25lc3RlZC1wbHVnaW4tb2JqZWN0cy5odG1sIGIvTGF5b3V0VGVzdHMvcGxh
dGZvcm0vY2hyb21pdW0vcGx1Z2lucy9uZXN0ZWQtcGx1Z2luLW9iamVjdHMuaHRtbApuZXcgZmls
ZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi5mMGE2NmIxCi0tLSAvZGV2L251bGwKKysrIGIv
TGF5b3V0VGVzdHMvcGxhdGZvcm0vY2hyb21pdW0vcGx1Z2lucy9uZXN0ZWQtcGx1Z2luLW9iamVj
dHMuaHRtbApAQCAtMCwwICsxLDgwIEBACis8aHRtbD4KKzxzY3JpcHQ+CisKK3ZhciBjYWxsYmFj
a0NvdW50ID0gMDsKKworZnVuY3Rpb24gbnBhcGlDYWxsYmFjayh4KSB7CisgICAgY2FsbGJhY2tD
b3VudCsrOworfQkKKworZnVuY3Rpb24gcnVuVGVzdCgpCit7CisgICAgaWYgKHdpbmRvdy5sYXlv
dXRUZXN0Q29udHJvbGxlcikKKyAgICAgICAgbGF5b3V0VGVzdENvbnRyb2xsZXIuZHVtcEFzVGV4
dCgpOworICAgICAgICAKKyAgICB2YXIgc3VjY2Vzc0NvdW50ID0gMDsKKyAgICB2YXIgcGx1Z2lu
ID0gZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoInRlc3RQbHVnaW4iKTsKKyAgICBwbHVnaW4ubG9n
RGVzdHJveSA9IHRydWU7CisgICAgCisgICAgdmFyIHRlc3RPYmplY3QgPSBwbHVnaW4udGVzdE9i
amVjdDsgICAgICAgIAorICAgIHBsdWdpbi50ZXN0UGFzc1Rlc3RPYmplY3QoIm5wYXBpQ2FsbGJh
Y2siLCB0ZXN0T2JqZWN0KTsKKyAgICB2YXIgdGVzdE9iamVjdDIgPSB0ZXN0T2JqZWN0LnRlc3RP
YmplY3Q7ICAgICAgICAKKyAgICBwbHVnaW4udGVzdFBhc3NUZXN0T2JqZWN0KCJucGFwaUNhbGxi
YWNrIiwgdGVzdE9iamVjdDIpOworICAgIHZhciB0ZXN0T2JqZWN0MyA9IHRlc3RPYmplY3QyLnRl
c3RPYmplY3Q7ICAgICAgICAKKyAgICBwbHVnaW4udGVzdFBhc3NUZXN0T2JqZWN0KCJucGFwaUNh
bGxiYWNrIiwgdGVzdE9iamVjdDMpOworCisgICAgaWYgKGNhbGxiYWNrQ291bnQgPT0gMykKKyAg
ICAgICAgc3VjY2Vzc0NvdW50Kys7CisKKyAgICBwbHVnaW4ucGFyZW50Tm9kZS5yZW1vdmVDaGls
ZChwbHVnaW4pOworICAgIAorICAgIHRyeSB7CisgICAgICAgIHRlc3RPYmplY3QucHJvcGVydHk7
CisgICAgfSBjYXRjaCAoZSkgeworICAgICAgICBpZiAoZSBpbnN0YW5jZW9mIFJlZmVyZW5jZUVy
cm9yKQorICAgICAgICAgICAgc3VjY2Vzc0NvdW50Kys7CisgICAgfQorCisgICAgdHJ5IHsKKyAg
ICAgICAgdGVzdE9iamVjdC5wcm9wZXJ0eSA9ICdoZWxsbyc7CisgICAgfSBjYXRjaCAoZSkgewor
ICAgICAgICBpZiAoZSBpbnN0YW5jZW9mIFJlZmVyZW5jZUVycm9yKQorICAgICAgICAgICAgc3Vj
Y2Vzc0NvdW50Kys7CisgICAgfQorICAgIAorICAgIHRyeSB7CisgICAgICAgIHRlc3RPYmplY3Qy
LnByb3BlcnR5OworICAgIH0gY2F0Y2ggKGUpIHsKKyAgICAgICAgaWYgKGUgaW5zdGFuY2VvZiBS
ZWZlcmVuY2VFcnJvcikKKyAgICAgICAgICAgIHN1Y2Nlc3NDb3VudCsrOworICAgIH0KKworICAg
IHRyeSB7CisgICAgICAgIHRlc3RPYmplY3QzLnByb3BlcnR5OworICAgIH0gY2F0Y2ggKGUpIHsK
KyAgICAgICAgaWYgKGUgaW5zdGFuY2VvZiBSZWZlcmVuY2VFcnJvcikKKyAgICAgICAgICAgIHN1
Y2Nlc3NDb3VudCsrOworICAgIH0KKyAgICAKKyAgICBpZiAoc3VjY2Vzc0NvdW50ID09IDUpCisg
ICAgICAgIGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCdyZXN1bHQnKS5pbm5lckhUTUwgPSAnU1VD
Q0VTUyc7Cit9CisKKzwvc2NyaXB0PgorCis8Ym9keSBvbmxvYWQ9InJ1blRlc3QoKTsiPgorPHBy
ZT4KK1RoaXMgdGVzdHMgdGhhdCBvYmplY3RzIGZyb20gcGx1Z2luIG9iamVjdHMgYXJlIHByb3Bl
cmx5IGNsZWFuZWQgdXAuCisKK0V4YW1wbGU6CisgICBwbHVnaW4KKyAgICAgLS0tLS0tLSAoQ3Jl
YXRlcykgLS0tLS0tIE9iamVjdDEKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAt
LS0tLS0tIChDcmVhdGVzKSAtLS0tLS0gT2JqZWN0MgorCitJdCBpcyBpbXBvcnRhbnQgdGhhdCBi
b3RoIE9iamVjdDEgYW5kIE9iamVjdDIgY2xlYW51cCBhcyBhIHJlc3VsdCBvZgorY2xlYW5pbmcg
dXAgdGhlIHBsdWdpbi4KKworPGRpdiBpZD0icmVzdWx0Ij5GQUlMVVJFPC9kaXY+Cis8ZW1iZWQg
aWQ9InRlc3RQbHVnaW4iIHR5cGU9ImFwcGxpY2F0aW9uL3gtd2Via2l0LXRlc3QtbmV0c2NhcGUi
IHdpZHRoPSIyMDAiIGhlaWdodD0iMjAwIj48L2VtYmVkPgorPC9ib2R5PgorPC9odG1sPgpkaWZm
IC0tZ2l0IGEvTGF5b3V0VGVzdHMvcGxhdGZvcm0vY2hyb21pdW0vcGx1Z2lucy9yZWZjb3VudC1s
ZWFrcy1leHBlY3RlZC50eHQgYi9MYXlvdXRUZXN0cy9wbGF0Zm9ybS9jaHJvbWl1bS9wbHVnaW5z
L3JlZmNvdW50LWxlYWtzLWV4cGVjdGVkLnR4dApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAw
MDAwMDAwLi4zZjc2ODY4Ci0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvcGxhdGZvcm0v
Y2hyb21pdW0vcGx1Z2lucy9yZWZjb3VudC1sZWFrcy1leHBlY3RlZC50eHQKQEAgLTAsMCArMSwx
NCBAQAorVGVzdCB0aGF0IHdlIGNhbiBnZXQgYW4gTlBPYmplY3QgcmV0dXJuZWQgdGhyb3VnaCBh
IG1ldGhvZCBvbiBhbiBOUEFQSSBPYmplY3QuCitQcmludHMgIlNVQ0NFU1MiIG9uIHN1Y2Nlc3Ms
ICJGQUlMVVJFIiBvbiBmYWlsdXJlLiAgCisKKy0tLSBudW0gdGVzdCBvYmplY3RzOgorb3JpZ2lu
YWxseTogMQorYWZ0ZXIgY3JlYXRpb246IDQKK2FmdGVyIEdDOiAxCisKKy0tLSByZWZjb3VudCBv
biBwbHVnLnRlc3RPYmplY3Q6CitvcmlnaW5hbGx5OiAyCithZnRlciBnZXQ6IDIKK2FmdGVyIEdD
OiAyCithZnRlciBwYXNzaW5nOiAyCitTVUNDRVNTCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9w
bGF0Zm9ybS9jaHJvbWl1bS9wbHVnaW5zL3JlZmNvdW50LWxlYWtzLmh0bWwgYi9MYXlvdXRUZXN0
cy9wbGF0Zm9ybS9jaHJvbWl1bS9wbHVnaW5zL3JlZmNvdW50LWxlYWtzLmh0bWwKbmV3IGZpbGUg
bW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uOTZlNTExNwotLS0gL2Rldi9udWxsCisrKyBiL0xh
eW91dFRlc3RzL3BsYXRmb3JtL2Nocm9taXVtL3BsdWdpbnMvcmVmY291bnQtbGVha3MuaHRtbApA
QCAtMCwwICsxLDgxIEBACis8c2NyaXB0PgorICBmdW5jdGlvbiBub29wKHgpIHsKKyAgfQorCisg
IGZ1bmN0aW9uIGRvR0MoKSB7CisgICAgaWYgKHdpbmRvdy5nYykgeworICAgICAgLy8gR0MgdHdp
Y2UgdG8gbWFrZSBzdXJlIGV2ZXJ5dGhpbmcgaXMgY2xlYW5lZCB1cC4KKyAgICAgIGZvciAodmFy
IGkgPSAwOyBpIDwgMjsgaSsrKSB7CisJd2luZG93LmdjKCk7CisgICAgICB9CisgICAgfQorICB9
CisKKyAgZnVuY3Rpb24gcnVudGVzdCgpIHsKKyAgICBpZiAod2luZG93LmxheW91dFRlc3RDb250
cm9sbGVyKQorICAgICAgbGF5b3V0VGVzdENvbnRyb2xsZXIuZHVtcEFzVGV4dCgpOworCisKKyAg
ICB2YXIgb3V0cHV0ID0gZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoIm91dHB1dCIpOworICAgIG91
dHB1dC5pbm5lckhUTUwgPSAiIjsKKworICAgIC8vIFRlc3QgdGhhdCBvYmplY3RzIGFyZSBkZWxl
dGVkIGFmdGVyIHRoZWlyIEpTIHJlZmVyZW5jZXMgYXJlIHJlbGVhc2VkLgorICAgIHZhciBjb3Vu
dE9yaWcgPSBwbHVnLnRlc3RPYmplY3RDb3VudDsKKyAgICBvMSA9IHBsdWcudGVzdENyZWF0ZVRl
c3RPYmplY3QoKTsKKyAgICBvMiA9IHBsdWcudGVzdENyZWF0ZVRlc3RPYmplY3QoKTsKKyAgICBv
MyA9IHBsdWcudGVzdENyZWF0ZVRlc3RPYmplY3QoKTsKKyAgICB2YXIgY291bnRBZnRlckNyZWF0
ZSA9IHBsdWcudGVzdE9iamVjdENvdW50OworICAgIG8xID0gbzIgPSBvMyA9IG51bGw7CisgICAg
ZG9HQygpOworICAgIHZhciBjb3VudEFmdGVyR0MgPSBwbHVnLnRlc3RPYmplY3RDb3VudDsKKwor
ICAgIG91dHB1dC5pbm5lckhUTUwgKz0gIi0tLSBudW0gdGVzdCBvYmplY3RzOjxicj4iOworICAg
IG91dHB1dC5pbm5lckhUTUwgKz0gIm9yaWdpbmFsbHk6ICIgKyBjb3VudE9yaWcgKyAiPGJyPiI7
CisgICAgb3V0cHV0LmlubmVySFRNTCArPSAiYWZ0ZXIgY3JlYXRpb246ICIgKyBjb3VudEFmdGVy
Q3JlYXRlICsgIjxicj4iOworICAgIG91dHB1dC5pbm5lckhUTUwgKz0gImFmdGVyIEdDOiAiICsg
Y291bnRBZnRlckdDICsgIjxicj4iOworICAgIG91dHB1dC5pbm5lckhUTUwgKz0gIjxicj4iOwor
CisgICAgLy8gVGVzdCB0aGF0IHRoZSBvYmplY3QgcmVmY291bnQgcmV0dXJucyB0byBub3JtYWwg
YWZ0ZXIgSlMgcmVmZXJlbmNlcworICAgIC8vIGFyZSByZWxlYXNlZC4KKyAgICB2YXIgdGVzdE9i
aiA9IHBsdWcudGVzdE9iamVjdDsKKyAgICB2YXIgcmVmT3JpZyA9IHRlc3RPYmoucmVmQ291bnQ7
CisgICAgdmFyIG8xID0gcGx1Zy50ZXN0T2JqZWN0OworICAgIHZhciBvMiA9IHBsdWcudGVzdE9i
amVjdDsKKyAgICB2YXIgbzMgPSBwbHVnLnRlc3RPYmplY3Q7CisgICAgdmFyIHJlZkFmdGVyR2V0
ID0gdGVzdE9iai5yZWZDb3VudDsKKyAgICBvMSA9IG8yID0gbzMgPSBudWxsOworICAgIGRvR0Mo
KTsKKyAgICB2YXIgcmVmQWZ0ZXJHZXRHQyA9IHRlc3RPYmoucmVmQ291bnQ7CisKKyAgICAvLyBU
ZXN0IHRoYXQgY2FsbGluZyBOUE5fSW52b2tlIHdpdGggb3VyIG9iamVjdCBhcyBhIHBhcmFtZXRl
ciByZXR1cm5zCisgICAgLy8gb3VyIHJlZmNvdW50IHRvIG5vcm1hbCAobWF5IHJlcXVpcmUgYSBH
QykuCisgICAgcGx1Zy50ZXN0UGFzc1Rlc3RPYmplY3QoIm5vb3AiLCB0ZXN0T2JqKTsKKyAgICBw
bHVnLnRlc3RQYXNzVGVzdE9iamVjdCgibm9vcCIsIHRlc3RPYmopOworICAgIHBsdWcudGVzdFBh
c3NUZXN0T2JqZWN0KCJub29wIiwgdGVzdE9iaik7CisgICAgZG9HQygpOworICAgIHZhciByZWZB
ZnRlclBhc3MgPSB0ZXN0T2JqLnJlZkNvdW50OworCisgICAgb3V0cHV0LmlubmVySFRNTCArPSAi
LS0tIHJlZmNvdW50IG9uIHBsdWcudGVzdE9iamVjdDo8YnI+IjsKKyAgICBvdXRwdXQuaW5uZXJI
VE1MICs9ICJvcmlnaW5hbGx5OiAiICsgcmVmT3JpZyArICI8YnI+IjsKKyAgICBvdXRwdXQuaW5u
ZXJIVE1MICs9ICJhZnRlciBnZXQ6ICIgKyByZWZBZnRlckdldCArICI8YnI+IjsKKyAgICBvdXRw
dXQuaW5uZXJIVE1MICs9ICJhZnRlciBHQzogIiArIHJlZkFmdGVyR2V0R0MgKyAiPGJyPiI7Cisg
ICAgb3V0cHV0LmlubmVySFRNTCArPSAiYWZ0ZXIgcGFzc2luZzogIiArIHJlZkFmdGVyUGFzcyAr
ICI8YnI+IjsKKworICAgIHZhciBzdWNjZXNzID0gKGNvdW50QWZ0ZXJHQyA9PSBjb3VudE9yaWcp
ICYmIChyZWZBZnRlclBhc3MgPT0gcmVmT3JpZyk7CisgICAgb3V0cHV0LmlubmVySFRNTCArPSAo
c3VjY2VzcyA/ICJTVUNDRVNTIiA6ICJGQUlMVVJFIik7CisgIH0KKzwvc2NyaXB0PgorCis8Ym9k
eSBvbmxvYWQ9InJ1bnRlc3QoKSI+CisKK1Rlc3QgdGhhdCB3ZSBjYW4gZ2V0IGFuIE5QT2JqZWN0
IHJldHVybmVkIHRocm91Z2ggYSBtZXRob2Qgb24KK2FuIE5QQVBJIE9iamVjdC48UD4KKworUHJp
bnRzICJTVUNDRVNTIiBvbiBzdWNjZXNzLCAiRkFJTFVSRSIgb24gZmFpbHVyZS4KKworPGVtYmVk
IG5hbWU9InBsdWciIHR5cGU9ImFwcGxpY2F0aW9uL3gtd2Via2l0LXRlc3QtbmV0c2NhcGUiPgor
Cis8ZGl2IGlkPW91dHB1dD5GQUlMVVJFPC9kaXY+CisKKzwvYm9keT4KKwpkaWZmIC0tZ2l0IGEv
TGF5b3V0VGVzdHMvcGxhdGZvcm0vY2hyb21pdW0vcGx1Z2lucy9yZXR1cm4tbnBvYmplY3QtZXhw
ZWN0ZWQudHh0IGIvTGF5b3V0VGVzdHMvcGxhdGZvcm0vY2hyb21pdW0vcGx1Z2lucy9yZXR1cm4t
bnBvYmplY3QtZXhwZWN0ZWQudHh0Cm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAu
LjE0NWVkN2YKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9wbGF0Zm9ybS9jaHJvbWl1
bS9wbHVnaW5zL3JldHVybi1ucG9iamVjdC1leHBlY3RlZC50eHQKQEAgLTAsMCArMSw0IEBACitU
ZXN0IHRoYXQgd2UgY2FuIGdldCBhbiBOUE9iamVjdCByZXR1cm5lZCB0aHJvdWdoIGEgbWV0aG9k
IG9uIGFuIE5QQVBJIE9iamVjdC4gUHJpbnRzICJTVUNDRVNTIiBvbiBzdWNjZXNzLCAiRkFJTFVS
RSIgb24gZmFpbHVyZS4KKworCitTVUNDRVNTCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9wbGF0
Zm9ybS9jaHJvbWl1bS9wbHVnaW5zL3JldHVybi1ucG9iamVjdC5odG1sIGIvTGF5b3V0VGVzdHMv
cGxhdGZvcm0vY2hyb21pdW0vcGx1Z2lucy9yZXR1cm4tbnBvYmplY3QuaHRtbApuZXcgZmlsZSBt
b2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi40MzI3MWIwCi0tLSAvZGV2L251bGwKKysrIGIvTGF5
b3V0VGVzdHMvcGxhdGZvcm0vY2hyb21pdW0vcGx1Z2lucy9yZXR1cm4tbnBvYmplY3QuaHRtbApA
QCAtMCwwICsxLDMyIEBACisKKzxzY3JpcHQ+CisgIHZhciB0ZXN0X29iamVjdCA9IG5ldyBPYmpl
Y3QoKTsKKyAgdGVzdF9vYmplY3QudmFsdWUgPSAxOworCisgIGZ1bmN0aW9uIGNhbGxiayhhcmcp
IHsKKyAgICByZXR1cm4gdGVzdF9vYmplY3Q7CisgIH0KKworICBmdW5jdGlvbiBydW50ZXN0KCkg
eworICAgIGlmICh3aW5kb3cubGF5b3V0VGVzdENvbnRyb2xsZXIpCisgICAgICAgIGxheW91dFRl
c3RDb250cm9sbGVyLmR1bXBBc1RleHQoKTsKKworICAgIHZhciBvYmogPSBwbHVnLnRlc3RDYWxs
YmFja1JldCgiY2FsbGJrIik7CisgICAgaWYgKG9iaiA9PSB0ZXN0X29iamVjdCkgeworICAgICAg
dmFyIG91dHB1dCA9IGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJvdXRwdXQiKTsKKyAgICAgIG91
dHB1dC5pbm5lckhUTUwgPSAiU1VDQ0VTUyI7CisgICAgfQorICB9Cis8L3NjcmlwdD4KKworPEJP
RFkgaWQ9ImJvZHlJZCIgb25sb2FkPSJydW50ZXN0KCkiPgorCis8cD5UZXN0IHRoYXQgd2UgY2Fu
IGdldCBhbiBOUE9iamVjdCByZXR1cm5lZCB0aHJvdWdoIGEgbWV0aG9kIG9uCithbiBOUEFQSSBP
YmplY3QuIFByaW50cyAiU1VDQ0VTUyIgb24gc3VjY2VzcywgIkZBSUxVUkUiIG9uIGZhaWx1cmUu
PC9wPgorCis8ZW1iZWQgbmFtZT0icGx1ZyIgdHlwZT0iYXBwbGljYXRpb24veC13ZWJraXQtdGVz
dC1uZXRzY2FwZSI+CisKKzxkaXYgaWQ9b3V0cHV0PkZBSUxVUkU8L2Rpdj4KKworPC9CT0RZPgor
CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9wbGF0Zm9ybS9jaHJvbWl1bS9wbHVnaW5zL3Njcmlw
dC1vYmplY3QtaW52b2tlLWV4cGVjdGVkLnR4dCBiL0xheW91dFRlc3RzL3BsYXRmb3JtL2Nocm9t
aXVtL3BsdWdpbnMvc2NyaXB0LW9iamVjdC1pbnZva2UtZXhwZWN0ZWQudHh0Cm5ldyBmaWxlIG1v
ZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLjJlY2JjNjMKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlv
dXRUZXN0cy9wbGF0Zm9ybS9jaHJvbWl1bS9wbHVnaW5zL3NjcmlwdC1vYmplY3QtaW52b2tlLWV4
cGVjdGVkLnR4dApAQCAtMCwwICsxLDkgQEAKK1Rlc3QgcHJvcGVyIHRyYWNraW5nIG9mIHNjcmlw
dCBOUE9iamVjdHMKKworVGVzdCAxOiBFbnN1cmUgdGhhdCBzY3JpcHQgTlBPYmplY3RzIGFyZSBw
cm9wZXJseSB0cmFja2VkIChpLmUuIGFkZGVkIHRvCisgICAgICAgIHRoZSBsaXZlIG9iamVjdHMg
bWFwIGluIFY4KS4gCisKK1Rlc3QgMjogVGVzdCB0cmFja2luZyBvZiBkZXJpdmVkIE5QT2JqZWN0
cyBieSBpbnZva2luZyBhIG1ldGhvZCBvbiBhCisgICAgICAgIHNjcmlwdCBvYmplY3QgYW5kIHBh
c3NpbmcgaXQgYW4gaW50ZXJuYWxseSBjcmVhdGVkIE5QT2JqZWN0LgorCitTVUNDRVNTCmRpZmYg
LS1naXQgYS9MYXlvdXRUZXN0cy9wbGF0Zm9ybS9jaHJvbWl1bS9wbHVnaW5zL3NjcmlwdC1vYmpl
Y3QtaW52b2tlLmh0bWwgYi9MYXlvdXRUZXN0cy9wbGF0Zm9ybS9jaHJvbWl1bS9wbHVnaW5zL3Nj
cmlwdC1vYmplY3QtaW52b2tlLmh0bWwKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAw
MC4uNTBmZDI2MwotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL3BsYXRmb3JtL2Nocm9t
aXVtL3BsdWdpbnMvc2NyaXB0LW9iamVjdC1pbnZva2UuaHRtbApAQCAtMCwwICsxLDYwIEBACis8
aHRtbD4KKzxzY3JpcHQ+CisvLyBBIHNpbXBsZSBzY3JpcHQgb2JqZWN0IHdpdGggYSBtZW1iZXIg
ZnVuY3Rpb24gdGhhdCB0YWtlcyAKKy8vIGFuIE5QT2JqZWN0IGFzIGFuIGFyZ3VtZW50CitGYWN0
b3J5RnVuY3Rpb24gPSBmdW5jdGlvbigpIHsKKyAgICB2YXIgVGVzdE9iamVjdCA9IGZ1bmN0aW9u
KCkgeworICAgIH07CisKKyAgICBUZXN0T2JqZWN0LnByb3RvdHlwZS5jcmVhdGVPYmplY3QgPSBm
dW5jdGlvbihwbHVnaW4pIHsKKyAgICAgICAgdmFyIG5ld19vYmplY3QgPSBwbHVnaW4udGVzdENs
b25lT2JqZWN0KCk7CisgICAgICAgIHJldHVybiBuZXdfb2JqZWN0OworICAgIH07CisKKyAgICB2
YXIgcyA9IG5ldyBUZXN0T2JqZWN0KCk7CisgICAgcmV0dXJuIHM7Cit9OworCitmdW5jdGlvbiBu
ZXdfc2NyaXB0X29iamVjdCgpIHsKKyAgICByZXR1cm4gRmFjdG9yeUZ1bmN0aW9uKCk7Cit9CisK
K2Z1bmN0aW9uIHJ1blRlc3QoKQoreworICAgIGlmICh3aW5kb3cubGF5b3V0VGVzdENvbnRyb2xs
ZXIpCisgICAgICAgIGxheW91dFRlc3RDb250cm9sbGVyLmR1bXBBc1RleHQoKTsKKworICAgIHZh
ciBwbHVnaW4gPSBkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgidGVzdFBsdWdpbiIpOworICAgIHZh
ciByZXR1cm5lZF9vYmplY3QgPSBwbHVnaW4udGVzdFNjcmlwdE9iamVjdEludm9rZSgibmV3X3Nj
cmlwdF9vYmplY3QiLCAiY3JlYXRlT2JqZWN0IiwgcGx1Z2luKTsKKworICAgIC8qIEJ1ZyMgMTE3
NTM0NiAtIFRoaXMgd2lsbCBjcmFzaCBpbiBzaW5nbGUgcHJvY2VzcyBtb2RlIChvciB0ZXN0IHNo
ZWxsKQorICAgICAgIFRPRE8oam9zaGlhKTogRW5hYmxlIHRoaXMgYW5kIGZpeCB0aGUgTlBPYmpl
Y3QgY2xlYW51cCBzbyB0aGF0CisgICAgICAgICAgICAgICAgICAgICBpdCB3b3JrcyBpbiBzaW5n
bGUgcHJvY2VzcyBtb2RlLgorICAgIHBsdWdpbi5wYXJlbnROb2RlLnJlbW92ZUNoaWxkKHBsdWdp
bik7CisKKyAgICB0cnkgeworICAgICAgICByZXR1cm5lZF9vYmplY3QucHJvcGVydHk7CisgICAg
fSBjYXRjaCAoZSkgeworICAgICAgICBpZiAoZSBpbnN0YW5jZW9mIFJlZmVyZW5jZUVycm9yKQor
ICAgICAgICAgICAgZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoInJlc3VsdCIpLmlubmVySFRNTCA9
ICJTVUNDRVNTIjsKKyAgICB9CisgICAgKi8KKyAgICAKKyAgICBkb2N1bWVudC5nZXRFbGVtZW50
QnlJZCgicmVzdWx0IikuaW5uZXJIVE1MID0gIlNVQ0NFU1MiOworfQorPC9zY3JpcHQ+CisKKzxi
b2R5IG9ubG9hZD0icnVuVGVzdCgpOyI+Cis8cHJlPgorVGVzdCBwcm9wZXIgdHJhY2tpbmcgb2Yg
c2NyaXB0IE5QT2JqZWN0cworCitUZXN0IDE6IEVuc3VyZSB0aGF0IHNjcmlwdCBOUE9iamVjdHMg
YXJlIHByb3Blcmx5IHRyYWNrZWQgKGkuZS4gYWRkZWQgdG8KKyAgICAgICAgdGhlIGxpdmUgb2Jq
ZWN0cyBtYXAgaW4gVjgpLiAKKworVGVzdCAyOiBUZXN0IHRyYWNraW5nIG9mIGRlcml2ZWQgTlBP
YmplY3RzIGJ5IGludm9raW5nIGEgbWV0aG9kIG9uIGEKKyAgICAgICAgc2NyaXB0IG9iamVjdCBh
bmQgcGFzc2luZyBpdCBhbiBpbnRlcm5hbGx5IGNyZWF0ZWQgTlBPYmplY3QuCisKKzxkaXYgaWQ9
InJlc3VsdCI+RkFJTFVSRTwvZGl2PgorPGVtYmVkIGlkPSJ0ZXN0UGx1Z2luIiB0eXBlPSJhcHBs
aWNhdGlvbi94LXdlYmtpdC10ZXN0LW5ldHNjYXBlIiB3aWR0aD0iMjAwIiBoZWlnaHQ9IjIwMCI+
PC9lbWJlZD4KKzwvYm9keT4KKzwvaHRtbD4K
</data>

          </attachment>
          <attachment
              isobsolete="0"
              ispatch="1"
              isprivate="0"
          >
            <attachid>45352</attachid>
            <date>2009-12-21 14:59:44 -0800</date>
            <delta_ts>2009-12-21 15:50:09 -0800</delta_ts>
            <desc>Patch</desc>
            <filename>bug-32751-20091221145943.patch</filename>
            <type>text/plain</type>
            <size>17713</size>
            <attacher name="Dirk Pranke">dpranke</attacher>
            
              <data encoding="base64">ZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL0NoYW5nZUxvZyBiL0xheW91dFRlc3RzL0NoYW5nZUxv
ZwppbmRleCA1MGU2ZTE2Li5lODI0YjRiIDEwMDY0NAotLS0gYS9MYXlvdXRUZXN0cy9DaGFuZ2VM
b2cKKysrIGIvTGF5b3V0VGVzdHMvQ2hhbmdlTG9nCkBAIC0xLDMgKzEsMjUgQEAKKzIwMDktMTIt
MTggIERpcmsgUHJhbmtlICA8ZHByYW5rZUBjaHJvbWl1bS5vcmc+CisKKyAgICAgICAgUmV2aWV3
ZWQgYnkgTk9CT0RZIChPT1BTISkuCisKKyAgICAgICAgVXBzdHJlYW0gYSBidW5jaCBvZiBwbGF0
Zm9ybS1zcGVjaWZpYyBDaHJvbWl1bSBwbHVnaW4gdGVzdHMuCisgICAgICAgIGh0dHBzOi8vYnVn
cy53ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD0zMjc1MQorCisgICAgICAgICogcGxhdGZvcm0v
Y2hyb21pdW0vcGx1Z2lucy9jYWxsLWFzLWZ1bmN0aW9uLWV4cGVjdGVkLnR4dDogQWRkZWQuCisg
ICAgICAgICogcGxhdGZvcm0vY2hyb21pdW0vcGx1Z2lucy9jYWxsLWFzLWZ1bmN0aW9uLmh0bWw6
IEFkZGVkLgorICAgICAgICAqIHBsYXRmb3JtL2Nocm9taXVtL3BsdWdpbnMvZ2V0LXVybC13aXRo
LWlmcmFtZS10YXJnZXQtbm8tY3Jhc2gtZXhwZWN0ZWQudHh0OiBBZGRlZC4KKyAgICAgICAgKiBw
bGF0Zm9ybS9jaHJvbWl1bS9wbHVnaW5zL2dldC11cmwtd2l0aC1pZnJhbWUtdGFyZ2V0LW5vLWNy
YXNoLmh0bWw6IEFkZGVkLgorICAgICAgICAqIHBsYXRmb3JtL2Nocm9taXVtL3BsdWdpbnMvbXVs
dGlwbGUtcGx1Z2lucy1leHBlY3RlZC50eHQ6IEFkZGVkLgorICAgICAgICAqIHBsYXRmb3JtL2No
cm9taXVtL3BsdWdpbnMvbXVsdGlwbGUtcGx1Z2lucy5odG1sOiBBZGRlZC4KKyAgICAgICAgKiBw
bGF0Zm9ybS9jaHJvbWl1bS9wbHVnaW5zL25lc3RlZC1wbHVnaW4tb2JqZWN0cy1leHBlY3RlZC50
eHQ6IEFkZGVkLgorICAgICAgICAqIHBsYXRmb3JtL2Nocm9taXVtL3BsdWdpbnMvbmVzdGVkLXBs
dWdpbi1vYmplY3RzLmh0bWw6IEFkZGVkLgorICAgICAgICAqIHBsYXRmb3JtL2Nocm9taXVtL3Bs
dWdpbnMvcmVmY291bnQtbGVha3MtZXhwZWN0ZWQudHh0OiBBZGRlZC4KKyAgICAgICAgKiBwbGF0
Zm9ybS9jaHJvbWl1bS9wbHVnaW5zL3JlZmNvdW50LWxlYWtzLmh0bWw6IEFkZGVkLgorICAgICAg
ICAqIHBsYXRmb3JtL2Nocm9taXVtL3BsdWdpbnMvcmV0dXJuLW5wb2JqZWN0LWV4cGVjdGVkLnR4
dDogQWRkZWQuCisgICAgICAgICogcGxhdGZvcm0vY2hyb21pdW0vcGx1Z2lucy9yZXR1cm4tbnBv
YmplY3QuaHRtbDogQWRkZWQuCisgICAgICAgICogcGxhdGZvcm0vY2hyb21pdW0vcGx1Z2lucy9z
Y3JpcHQtb2JqZWN0LWludm9rZS1leHBlY3RlZC50eHQ6IEFkZGVkLgorICAgICAgICAqIHBsYXRm
b3JtL2Nocm9taXVtL3BsdWdpbnMvc2NyaXB0LW9iamVjdC1pbnZva2UuaHRtbDogQWRkZWQuCisK
IDIwMDktMTItMTggIEJyaWFuIFdlaW5zdGVpbiAgPGJ3ZWluc3RlaW5AYXBwbGUuY29tPgogCiAg
ICAgICAgIFJldmlld2VkIGJ5IEFkYW0gUm9iZW4uCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9w
bGF0Zm9ybS9jaHJvbWl1bS9wbHVnaW5zL2NhbGwtYXMtZnVuY3Rpb24tZXhwZWN0ZWQudHh0IGIv
TGF5b3V0VGVzdHMvcGxhdGZvcm0vY2hyb21pdW0vcGx1Z2lucy9jYWxsLWFzLWZ1bmN0aW9uLWV4
cGVjdGVkLnR4dApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi44NjJmMzUwCi0t
LSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvcGxhdGZvcm0vY2hyb21pdW0vcGx1Z2lucy9j
YWxsLWFzLWZ1bmN0aW9uLWV4cGVjdGVkLnR4dApAQCAtMCwwICsxLDQgQEAKK1RoaXMgdGVzdHMg
dGhhdCBjYWxsIGEgcGx1Z2luIG9iamVjdCAoTlBPYmplY3QpIGFzIGEgZnVuY3Rpb24gaW52b2tl
cyBpbnZva2VEZWZhdWx0KCkgZnVuY3Rpb24gb24gdGhlIG9iamVjdC4KKworcGxnKCkgPSAxCitw
bGcudGVzdE9iamVjdCgpID0gMgpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvcGxhdGZvcm0vY2hy
b21pdW0vcGx1Z2lucy9jYWxsLWFzLWZ1bmN0aW9uLmh0bWwgYi9MYXlvdXRUZXN0cy9wbGF0Zm9y
bS9jaHJvbWl1bS9wbHVnaW5zL2NhbGwtYXMtZnVuY3Rpb24uaHRtbApuZXcgZmlsZSBtb2RlIDEw
MDY0NAppbmRleCAwMDAwMDAwLi43ZWQ2MWVlCi0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVz
dHMvcGxhdGZvcm0vY2hyb21pdW0vcGx1Z2lucy9jYWxsLWFzLWZ1bmN0aW9uLmh0bWwKQEAgLTAs
MCArMSwyNSBAQAorPGh0bWw+Cis8c2NyaXB0PgoraWYgKHdpbmRvdy5sYXlvdXRUZXN0Q29udHJv
bGxlcikKKyAgbGF5b3V0VGVzdENvbnRyb2xsZXIuZHVtcEFzVGV4dCgpOworCitmdW5jdGlvbiBy
dW5UZXN0KCkgeworICB2YXIgYyA9IGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCdjb25zb2xlJyk7
CisgIHZhciBwID0gZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoJ3BsZycpOworICB2YXIgeCA9IHAo
KTsKKyAgYy5pbm5lckhUTUwgKz0gJ3BsZygpID0gJyArIHggKyAnPGJyPic7CisKKyAgdmFyIHkg
PSBwLnRlc3RPYmplY3QoKTsKKyAgYy5pbm5lckhUTUwgKz0gJ3BsZy50ZXN0T2JqZWN0KCkgPSAn
ICsgeSArICc8YnI+JzsKK30KKzwvc2NyaXB0PgorPGJvZHkgb25sb2FkPSdydW5UZXN0KCknPgor
PGVtYmVkIGlkPSJwbGciIHR5cGU9ImFwcGxpY2F0aW9uL3gtd2Via2l0LXRlc3QtbmV0c2NhcGUi
PjwvZW1iZWQ+PFA+CisKK1RoaXMgdGVzdHMgdGhhdCBjYWxsIGEgcGx1Z2luIG9iamVjdCAoTlBP
YmplY3QpIGFzIGEgZnVuY3Rpb24gaW52b2tlcworaW52b2tlRGVmYXVsdCgpIGZ1bmN0aW9uIG9u
IHRoZSBvYmplY3QuCisKKzxkaXYgaWQ9ImNvbnNvbGUiPjwvZGl2PgorPC9ib2R5PgorPC9odG1s
PgorCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9wbGF0Zm9ybS9jaHJvbWl1bS9wbHVnaW5zL2dl
dC11cmwtd2l0aC1pZnJhbWUtdGFyZ2V0LW5vLWNyYXNoLWV4cGVjdGVkLnR4dCBiL0xheW91dFRl
c3RzL3BsYXRmb3JtL2Nocm9taXVtL3BsdWdpbnMvZ2V0LXVybC13aXRoLWlmcmFtZS10YXJnZXQt
bm8tY3Jhc2gtZXhwZWN0ZWQudHh0Cm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAu
LjY0ZWRjYzcKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9wbGF0Zm9ybS9jaHJvbWl1
bS9wbHVnaW5zL2dldC11cmwtd2l0aC1pZnJhbWUtdGFyZ2V0LW5vLWNyYXNoLWV4cGVjdGVkLnR4
dApAQCAtMCwwICsxLDMgQEAKK1RoaXMgdGVzdHMgdGhhdCB3ZSBkbyBub3QgY3Jhc2ggdXBvbiB0
cnlpbmcgdG8gZGVsaXZlciBOUFBfVVJMTm90aWZ5IHRvIGEgcGx1Z2luIHRoYXQgaGFzIGJlZW4g
ZGVsZXRlZC4KK1NVQ0NFU1MKKwpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvcGxhdGZvcm0vY2hy
b21pdW0vcGx1Z2lucy9nZXQtdXJsLXdpdGgtaWZyYW1lLXRhcmdldC1uby1jcmFzaC5odG1sIGIv
TGF5b3V0VGVzdHMvcGxhdGZvcm0vY2hyb21pdW0vcGx1Z2lucy9nZXQtdXJsLXdpdGgtaWZyYW1l
LXRhcmdldC1uby1jcmFzaC5odG1sCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAu
LjM1ZDFhMDkKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9wbGF0Zm9ybS9jaHJvbWl1
bS9wbHVnaW5zL2dldC11cmwtd2l0aC1pZnJhbWUtdGFyZ2V0LW5vLWNyYXNoLmh0bWwKQEAgLTAs
MCArMSwyMSBAQAorPGh0bWw+Cis8c2NyaXB0PgorZnVuY3Rpb24gcnVudGVzdCgpIHsKKyAgICBp
ZiAod2luZG93LmxheW91dFRlc3RDb250cm9sbGVyKSB7CisgICAgICAgIGxheW91dFRlc3RDb250
cm9sbGVyLmR1bXBBc1RleHQoKTsKKyAgICAgICAgbGF5b3V0VGVzdENvbnRyb2xsZXIud2FpdFVu
dGlsRG9uZSgpOworICAgICAgICBwbGcuZ2V0VVJMTm90aWZ5KCJkYXRhOnRleHQvaHRtbCw8Ym9k
eSBvbmxvYWQ9J2xheW91dFRlc3RDb250cm9sbGVyLm5vdGlmeURvbmUoKSc+PC9ib2R5PiIsICJm
cmFtZSIsICJjYWxsYmFjayIpOworICAgICAgICBwbGcucGFyZW50Tm9kZS5yZW1vdmVDaGlsZChw
bGcpCisgICAgfSBlbHNlIHsKKyAgICAgICAgZG9jdW1lbnQud3JpdGUoIkNhbm5vdCBydW4gaW50
ZXJhY3RpdmVseSIpOworICAgIH0KK30KKzwvc2NyaXB0PgorPGJvZHkgb25sb2FkPSJydW50ZXN0
KCkiPgorPGVtYmVkIGlkPSJwbGciIHR5cGU9ImFwcGxpY2F0aW9uL3gtd2Via2l0LXRlc3QtbmV0
c2NhcGUiPjwvZW1iZWQ+CitUaGlzIHRlc3RzIHRoYXQgd2UgZG8gbm90IGNyYXNoIHVwb24gdHJ5
aW5nIHRvIGRlbGl2ZXIgTlBQX1VSTE5vdGlmeSB0bworYSBwbHVnaW4gdGhhdCBoYXMgYmVlbiBk
ZWxldGVkLgorPGRpdiBpZD0icmVzdWx0Ij5TVUNDRVNTPC9kaXY+Cis8aWZyYW1lIGlkPSJmcmFt
ZSI+PC9pZnJhbWU+Cis8L2JvZHk+Cis8L2h0bWw+CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9w
bGF0Zm9ybS9jaHJvbWl1bS9wbHVnaW5zL211bHRpcGxlLXBsdWdpbnMtZXhwZWN0ZWQudHh0IGIv
TGF5b3V0VGVzdHMvcGxhdGZvcm0vY2hyb21pdW0vcGx1Z2lucy9tdWx0aXBsZS1wbHVnaW5zLWV4
cGVjdGVkLnR4dApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi4xODQ0NWE1Ci0t
LSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvcGxhdGZvcm0vY2hyb21pdW0vcGx1Z2lucy9t
dWx0aXBsZS1wbHVnaW5zLWV4cGVjdGVkLnR4dApAQCAtMCwwICsxLDUgQEAKK1Rlc3QgdGhhdCB3
ZSBjYW4gY3JlYXRlIHR3byBwbHVnaW5zLCBhbmQgaW5kZXBlbmRlbnRseSBjbGVhbiBlYWNoLiBQ
cmludHMgIlNVQ0NFU1MiIG9uIHN1Y2Nlc3MsICJGQUlMVVJFIiBvbiBmYWlsdXJlLgorR290IHRl
c3RPYmoxIHByb3BlcnR5CitHb3QgdGVzdE9iajIgcHJvcGVydHkKK0dvdCB0ZXN0T2JqMiBwcm9w
ZXJ0eQorU1VDQ0VTUwpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvcGxhdGZvcm0vY2hyb21pdW0v
cGx1Z2lucy9tdWx0aXBsZS1wbHVnaW5zLmh0bWwgYi9MYXlvdXRUZXN0cy9wbGF0Zm9ybS9jaHJv
bWl1bS9wbHVnaW5zL211bHRpcGxlLXBsdWdpbnMuaHRtbApuZXcgZmlsZSBtb2RlIDEwMDY0NApp
bmRleCAwMDAwMDAwLi41MDM5OTRhCi0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvcGxh
dGZvcm0vY2hyb21pdW0vcGx1Z2lucy9tdWx0aXBsZS1wbHVnaW5zLmh0bWwKQEAgLTAsMCArMSw5
MCBAQAorPHNjcmlwdD4KKyAgZnVuY3Rpb24gbm9vcCh4KSB7CisgIH0KKworICBmdW5jdGlvbiBk
b0dDKCkgeworICAgIGlmICh3aW5kb3cuZ2MpIHsKKyAgICAgIC8vIEdDIHR3aWNlIHRvIG1ha2Ug
c3VyZSBldmVyeXRoaW5nIGlzIGNsZWFuZWQgdXAuCisgICAgICBmb3IgKHZhciBpID0gMDsgaSA8
IDQ7IGkrKykgeworICAgICAgICB3aW5kb3cuZ2MoKTsKKyAgICAgIH0KKyAgICB9CisgIH0KKwor
ICBmdW5jdGlvbiBydW50ZXN0KCkgeworICAgIGlmICh3aW5kb3cubGF5b3V0VGVzdENvbnRyb2xs
ZXIpCisgICAgICBsYXlvdXRUZXN0Q29udHJvbGxlci5kdW1wQXNUZXh0KCk7CisKKyAgICBkb0dD
KCk7CisKKyAgICB2YXIgcGx1ZzEgPSBkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgicGx1ZzEiKTsK
KyAgICB2YXIgcGx1ZzIgPSBkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgicGx1ZzIiKTsKKyAgICB2
YXIgb3V0cHV0ID0gZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoIm91dHB1dCIpOworICAgIG91dHB1
dC5pbm5lckhUTUwgPSAiIjsKKworICAgIHZhciB0ZXN0T2JqMSA9IHBsdWcxLnRlc3RPYmplY3Q7
CisgICAgdmFyIHRlc3RPYmoyID0gcGx1ZzIudGVzdE9iamVjdDsKKworICAgIHZhciBzdWNjZXNz
Q291bnQgPSAwOworCisgICAgLy8gVmVyaWZ5IHdlIGNhbiBhY2Nlc3MgZWFjaCBvYmplY3QuCisg
ICAgaWYgKHRlc3RPYmoxLmZvbyA9PSAiZm9vIikgeworICAgICAgc3VjY2Vzc0NvdW50Kys7Cisg
ICAgICBvdXRwdXQuaW5uZXJIVE1MICs9ICJHb3QgdGVzdE9iajEgcHJvcGVydHk8YnI+IjsKKyAg
ICB9CisgICAgaWYgKHRlc3RPYmoyLmZvbyA9PSAiZm9vIikgeworICAgICAgc3VjY2Vzc0NvdW50
Kys7CisgICAgICBvdXRwdXQuaW5uZXJIVE1MICs9ICJHb3QgdGVzdE9iajIgcHJvcGVydHk8YnI+
IjsKKyAgICB9CisKKyAgICAvLyBOb3cgcmVtb3ZlIHRoZSBmaXJzdCBwbHVnaW4KKyAgICBwbHVn
MS5wYXJlbnROb2RlLnJlbW92ZUNoaWxkKHBsdWcxKTsKKworICAgIHRyeSB7CisgICAgICBpZiAo
dGVzdE9iajEuZm9vID09ICJmb28iKSB7CisgICAgICAgIG91dHB1dC5pbm5lckhUTUwgPSAiQWNj
ZXNzZWQgbnVrZWQgb2JqZWN0ITxicj4iOworICAgICAgfQorICAgIH0gY2F0Y2ggKGUpIHsKKyAg
ICAgICAgaWYgKGUgaW5zdGFuY2VvZiBSZWZlcmVuY2VFcnJvcikKKyAgICAgICAgICAgIHN1Y2Nl
c3NDb3VudCsrOworICAgIH0KKworICAgIHRyeSB7CisgICAgICBpZiAodGVzdE9iajIuZm9vID09
ICJmb28iKSB7CisgICAgICAgIHN1Y2Nlc3NDb3VudCsrOworICAgICAgICBvdXRwdXQuaW5uZXJI
VE1MICs9ICJHb3QgdGVzdE9iajIgcHJvcGVydHk8YnI+IjsKKyAgICAgIH0KKyAgICB9IGNhdGNo
KGUpIHsKKyAgICAgIG91dHB1dC5pbmVySFRNTCArPSAiUmVmZXJlbmNlIGVycm9yIGFjY2Vzc2lu
ZyBsaXZlIG9iamVjdDogIiArIGU7CisgICAgfQorCisgICAgLy8gTm93IHJlbW92ZSB0aGUgc2Vj
b25kIHBsdWdpbgorICAgIHBsdWcyLnBhcmVudE5vZGUucmVtb3ZlQ2hpbGQocGx1ZzIpOworCisg
ICAgdHJ5IHsKKyAgICAgIGlmICh0ZXN0T2JqMi5mb28gPT0gImZvbyIpIHsKKyAgICAgICAgb3V0
cHV0LmlubmVySFRNTCA9ICJBY2Nlc3NlZCBudWtlZCBvYmplY3QhPGJyPiI7CisgICAgICB9Cisg
ICAgfSBjYXRjaCAoZSkgeworICAgICAgICBpZiAoZSBpbnN0YW5jZW9mIFJlZmVyZW5jZUVycm9y
KQorICAgICAgICAgICAgc3VjY2Vzc0NvdW50Kys7CisgICAgfQorCisgICAgdmFyIHN1Y2Nlc3Mg
PSAoc3VjY2Vzc0NvdW50ID09IDUpOworICAgIG91dHB1dC5pbm5lckhUTUwgKz0gKHN1Y2Nlc3Mg
PyAiU1VDQ0VTUyIgOiAiRkFJTFVSRSIpOworICB9Cis8L3NjcmlwdD4KKworPGJvZHkgb25sb2Fk
PSJydW50ZXN0KCkiPgorCitUZXN0IHRoYXQgd2UgY2FuIGNyZWF0ZSB0d28gcGx1Z2lucywgYW5k
IGluZGVwZW5kZW50bHkgY2xlYW4gZWFjaC4KKworUHJpbnRzICJTVUNDRVNTIiBvbiBzdWNjZXNz
LCAiRkFJTFVSRSIgb24gZmFpbHVyZS4KKworPGVtYmVkIGlkPSJwbHVnMSIgdHlwZT0iYXBwbGlj
YXRpb24veC13ZWJraXQtdGVzdC1uZXRzY2FwZSI+Cis8ZW1iZWQgaWQ9InBsdWcyIiB0eXBlPSJh
cHBsaWNhdGlvbi94LXdlYmtpdC10ZXN0LW5ldHNjYXBlIj4KKworPGRpdiBpZD1vdXRwdXQ+RkFJ
TFVSRTwvZGl2PgorCis8L2JvZHk+CisKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL3BsYXRmb3Jt
L2Nocm9taXVtL3BsdWdpbnMvbmVzdGVkLXBsdWdpbi1vYmplY3RzLWV4cGVjdGVkLnR4dCBiL0xh
eW91dFRlc3RzL3BsYXRmb3JtL2Nocm9taXVtL3BsdWdpbnMvbmVzdGVkLXBsdWdpbi1vYmplY3Rz
LWV4cGVjdGVkLnR4dApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi4wOGJhN2I1
Ci0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvcGxhdGZvcm0vY2hyb21pdW0vcGx1Z2lu
cy9uZXN0ZWQtcGx1Z2luLW9iamVjdHMtZXhwZWN0ZWQudHh0CkBAIC0wLDAgKzEsMTcgQEAKK0NP
TlNPTEUgTUVTU0FHRTogbGluZSAyOTogUExVR0lOOiBOUFBfRGVzdHJveQorVGhpcyB0ZXN0cyB0
aGF0IG9iamVjdHMgZnJvbSBwbHVnaW4gb2JqZWN0cyBhcmUgcHJvcGVybHkgY2xlYW5lZCB1cC4K
KworRXhhbXBsZToKKyAgIHBsdWdpbgorICAgICAtLS0tLS0tIChDcmVhdGVzKSAtLS0tLS0gT2Jq
ZWN0MQorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIC0tLS0tLS0gKENyZWF0ZXMp
IC0tLS0tLSBPYmplY3QyCisKK0l0IGlzIGltcG9ydGFudCB0aGF0IGJvdGggT2JqZWN0MSBhbmQg
T2JqZWN0MiBjbGVhbnVwIGFzIGEgcmVzdWx0IG9mCitjbGVhbmluZyB1cCB0aGUgcGx1Z2luLgor
CitTVUNDRVNTCisKKworCisKKwpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvcGxhdGZvcm0vY2hy
b21pdW0vcGx1Z2lucy9uZXN0ZWQtcGx1Z2luLW9iamVjdHMuaHRtbCBiL0xheW91dFRlc3RzL3Bs
YXRmb3JtL2Nocm9taXVtL3BsdWdpbnMvbmVzdGVkLXBsdWdpbi1vYmplY3RzLmh0bWwKbmV3IGZp
bGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uMWNkOTk1ZgotLS0gL2Rldi9udWxsCisrKyBi
L0xheW91dFRlc3RzL3BsYXRmb3JtL2Nocm9taXVtL3BsdWdpbnMvbmVzdGVkLXBsdWdpbi1vYmpl
Y3RzLmh0bWwKQEAgLTAsMCArMSw4MCBAQAorPGh0bWw+Cis8c2NyaXB0PgorCit2YXIgY2FsbGJh
Y2tDb3VudCA9IDA7CisKK2Z1bmN0aW9uIG5wYXBpQ2FsbGJhY2soeCkgeworICAgIGNhbGxiYWNr
Q291bnQrKzsKK30KKworZnVuY3Rpb24gcnVuVGVzdCgpCit7CisgICAgaWYgKHdpbmRvdy5sYXlv
dXRUZXN0Q29udHJvbGxlcikKKyAgICAgICAgbGF5b3V0VGVzdENvbnRyb2xsZXIuZHVtcEFzVGV4
dCgpOworCisgICAgdmFyIHN1Y2Nlc3NDb3VudCA9IDA7CisgICAgdmFyIHBsdWdpbiA9IGRvY3Vt
ZW50LmdldEVsZW1lbnRCeUlkKCJ0ZXN0UGx1Z2luIik7CisgICAgcGx1Z2luLmxvZ0Rlc3Ryb3kg
PSB0cnVlOworCisgICAgdmFyIHRlc3RPYmplY3QgPSBwbHVnaW4udGVzdE9iamVjdDsKKyAgICBw
bHVnaW4udGVzdFBhc3NUZXN0T2JqZWN0KCJucGFwaUNhbGxiYWNrIiwgdGVzdE9iamVjdCk7Cisg
ICAgdmFyIHRlc3RPYmplY3QyID0gdGVzdE9iamVjdC50ZXN0T2JqZWN0OworICAgIHBsdWdpbi50
ZXN0UGFzc1Rlc3RPYmplY3QoIm5wYXBpQ2FsbGJhY2siLCB0ZXN0T2JqZWN0Mik7CisgICAgdmFy
IHRlc3RPYmplY3QzID0gdGVzdE9iamVjdDIudGVzdE9iamVjdDsKKyAgICBwbHVnaW4udGVzdFBh
c3NUZXN0T2JqZWN0KCJucGFwaUNhbGxiYWNrIiwgdGVzdE9iamVjdDMpOworCisgICAgaWYgKGNh
bGxiYWNrQ291bnQgPT0gMykKKyAgICAgICAgc3VjY2Vzc0NvdW50Kys7CisKKyAgICBwbHVnaW4u
cGFyZW50Tm9kZS5yZW1vdmVDaGlsZChwbHVnaW4pOworCisgICAgdHJ5IHsKKyAgICAgICAgdGVz
dE9iamVjdC5wcm9wZXJ0eTsKKyAgICB9IGNhdGNoIChlKSB7CisgICAgICAgIGlmIChlIGluc3Rh
bmNlb2YgUmVmZXJlbmNlRXJyb3IpCisgICAgICAgICAgICBzdWNjZXNzQ291bnQrKzsKKyAgICB9
CisKKyAgICB0cnkgeworICAgICAgICB0ZXN0T2JqZWN0LnByb3BlcnR5ID0gJ2hlbGxvJzsKKyAg
ICB9IGNhdGNoIChlKSB7CisgICAgICAgIGlmIChlIGluc3RhbmNlb2YgUmVmZXJlbmNlRXJyb3Ip
CisgICAgICAgICAgICBzdWNjZXNzQ291bnQrKzsKKyAgICB9CisKKyAgICB0cnkgeworICAgICAg
ICB0ZXN0T2JqZWN0Mi5wcm9wZXJ0eTsKKyAgICB9IGNhdGNoIChlKSB7CisgICAgICAgIGlmIChl
IGluc3RhbmNlb2YgUmVmZXJlbmNlRXJyb3IpCisgICAgICAgICAgICBzdWNjZXNzQ291bnQrKzsK
KyAgICB9CisKKyAgICB0cnkgeworICAgICAgICB0ZXN0T2JqZWN0My5wcm9wZXJ0eTsKKyAgICB9
IGNhdGNoIChlKSB7CisgICAgICAgIGlmIChlIGluc3RhbmNlb2YgUmVmZXJlbmNlRXJyb3IpCisg
ICAgICAgICAgICBzdWNjZXNzQ291bnQrKzsKKyAgICB9CisKKyAgICBpZiAoc3VjY2Vzc0NvdW50
ID09IDUpCisgICAgICAgIGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCdyZXN1bHQnKS5pbm5lckhU
TUwgPSAnU1VDQ0VTUyc7Cit9CisKKzwvc2NyaXB0PgorCis8Ym9keSBvbmxvYWQ9InJ1blRlc3Qo
KTsiPgorPHByZT4KK1RoaXMgdGVzdHMgdGhhdCBvYmplY3RzIGZyb20gcGx1Z2luIG9iamVjdHMg
YXJlIHByb3Blcmx5IGNsZWFuZWQgdXAuCisKK0V4YW1wbGU6CisgICBwbHVnaW4KKyAgICAgLS0t
LS0tLSAoQ3JlYXRlcykgLS0tLS0tIE9iamVjdDEKKyAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAtLS0tLS0tIChDcmVhdGVzKSAtLS0tLS0gT2JqZWN0MgorCitJdCBpcyBpbXBvcnRh
bnQgdGhhdCBib3RoIE9iamVjdDEgYW5kIE9iamVjdDIgY2xlYW51cCBhcyBhIHJlc3VsdCBvZgor
Y2xlYW5pbmcgdXAgdGhlIHBsdWdpbi4KKworPGRpdiBpZD0icmVzdWx0Ij5GQUlMVVJFPC9kaXY+
Cis8ZW1iZWQgaWQ9InRlc3RQbHVnaW4iIHR5cGU9ImFwcGxpY2F0aW9uL3gtd2Via2l0LXRlc3Qt
bmV0c2NhcGUiIHdpZHRoPSIyMDAiIGhlaWdodD0iMjAwIj48L2VtYmVkPgorPC9ib2R5PgorPC9o
dG1sPgpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvcGxhdGZvcm0vY2hyb21pdW0vcGx1Z2lucy9y
ZWZjb3VudC1sZWFrcy1leHBlY3RlZC50eHQgYi9MYXlvdXRUZXN0cy9wbGF0Zm9ybS9jaHJvbWl1
bS9wbHVnaW5zL3JlZmNvdW50LWxlYWtzLWV4cGVjdGVkLnR4dApuZXcgZmlsZSBtb2RlIDEwMDY0
NAppbmRleCAwMDAwMDAwLi4zZjc2ODY4Ci0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMv
cGxhdGZvcm0vY2hyb21pdW0vcGx1Z2lucy9yZWZjb3VudC1sZWFrcy1leHBlY3RlZC50eHQKQEAg
LTAsMCArMSwxNCBAQAorVGVzdCB0aGF0IHdlIGNhbiBnZXQgYW4gTlBPYmplY3QgcmV0dXJuZWQg
dGhyb3VnaCBhIG1ldGhvZCBvbiBhbiBOUEFQSSBPYmplY3QuCitQcmludHMgIlNVQ0NFU1MiIG9u
IHN1Y2Nlc3MsICJGQUlMVVJFIiBvbiBmYWlsdXJlLiAgCisKKy0tLSBudW0gdGVzdCBvYmplY3Rz
Ogorb3JpZ2luYWxseTogMQorYWZ0ZXIgY3JlYXRpb246IDQKK2FmdGVyIEdDOiAxCisKKy0tLSBy
ZWZjb3VudCBvbiBwbHVnLnRlc3RPYmplY3Q6CitvcmlnaW5hbGx5OiAyCithZnRlciBnZXQ6IDIK
K2FmdGVyIEdDOiAyCithZnRlciBwYXNzaW5nOiAyCitTVUNDRVNTCmRpZmYgLS1naXQgYS9MYXlv
dXRUZXN0cy9wbGF0Zm9ybS9jaHJvbWl1bS9wbHVnaW5zL3JlZmNvdW50LWxlYWtzLmh0bWwgYi9M
YXlvdXRUZXN0cy9wbGF0Zm9ybS9jaHJvbWl1bS9wbHVnaW5zL3JlZmNvdW50LWxlYWtzLmh0bWwK
bmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uOTc2NjVhYQotLS0gL2Rldi9udWxs
CisrKyBiL0xheW91dFRlc3RzL3BsYXRmb3JtL2Nocm9taXVtL3BsdWdpbnMvcmVmY291bnQtbGVh
a3MuaHRtbApAQCAtMCwwICsxLDgxIEBACis8c2NyaXB0PgorICBmdW5jdGlvbiBub29wKHgpIHsK
KyAgfQorCisgIGZ1bmN0aW9uIGRvR0MoKSB7CisgICAgaWYgKHdpbmRvdy5nYykgeworICAgICAg
Ly8gR0MgdHdpY2UgdG8gbWFrZSBzdXJlIGV2ZXJ5dGhpbmcgaXMgY2xlYW5lZCB1cC4KKyAgICAg
IGZvciAodmFyIGkgPSAwOyBpIDwgMjsgaSsrKSB7CisgICAgICAgIHdpbmRvdy5nYygpOworICAg
ICAgfQorICAgIH0KKyAgfQorCisgIGZ1bmN0aW9uIHJ1bnRlc3QoKSB7CisgICAgaWYgKHdpbmRv
dy5sYXlvdXRUZXN0Q29udHJvbGxlcikKKyAgICAgIGxheW91dFRlc3RDb250cm9sbGVyLmR1bXBB
c1RleHQoKTsKKworCisgICAgdmFyIG91dHB1dCA9IGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJv
dXRwdXQiKTsKKyAgICBvdXRwdXQuaW5uZXJIVE1MID0gIiI7CisKKyAgICAvLyBUZXN0IHRoYXQg
b2JqZWN0cyBhcmUgZGVsZXRlZCBhZnRlciB0aGVpciBKUyByZWZlcmVuY2VzIGFyZSByZWxlYXNl
ZC4KKyAgICB2YXIgY291bnRPcmlnID0gcGx1Zy50ZXN0T2JqZWN0Q291bnQ7CisgICAgbzEgPSBw
bHVnLnRlc3RDcmVhdGVUZXN0T2JqZWN0KCk7CisgICAgbzIgPSBwbHVnLnRlc3RDcmVhdGVUZXN0
T2JqZWN0KCk7CisgICAgbzMgPSBwbHVnLnRlc3RDcmVhdGVUZXN0T2JqZWN0KCk7CisgICAgdmFy
IGNvdW50QWZ0ZXJDcmVhdGUgPSBwbHVnLnRlc3RPYmplY3RDb3VudDsKKyAgICBvMSA9IG8yID0g
bzMgPSBudWxsOworICAgIGRvR0MoKTsKKyAgICB2YXIgY291bnRBZnRlckdDID0gcGx1Zy50ZXN0
T2JqZWN0Q291bnQ7CisKKyAgICBvdXRwdXQuaW5uZXJIVE1MICs9ICItLS0gbnVtIHRlc3Qgb2Jq
ZWN0czo8YnI+IjsKKyAgICBvdXRwdXQuaW5uZXJIVE1MICs9ICJvcmlnaW5hbGx5OiAiICsgY291
bnRPcmlnICsgIjxicj4iOworICAgIG91dHB1dC5pbm5lckhUTUwgKz0gImFmdGVyIGNyZWF0aW9u
OiAiICsgY291bnRBZnRlckNyZWF0ZSArICI8YnI+IjsKKyAgICBvdXRwdXQuaW5uZXJIVE1MICs9
ICJhZnRlciBHQzogIiArIGNvdW50QWZ0ZXJHQyArICI8YnI+IjsKKyAgICBvdXRwdXQuaW5uZXJI
VE1MICs9ICI8YnI+IjsKKworICAgIC8vIFRlc3QgdGhhdCB0aGUgb2JqZWN0IHJlZmNvdW50IHJl
dHVybnMgdG8gbm9ybWFsIGFmdGVyIEpTIHJlZmVyZW5jZXMKKyAgICAvLyBhcmUgcmVsZWFzZWQu
CisgICAgdmFyIHRlc3RPYmogPSBwbHVnLnRlc3RPYmplY3Q7CisgICAgdmFyIHJlZk9yaWcgPSB0
ZXN0T2JqLnJlZkNvdW50OworICAgIHZhciBvMSA9IHBsdWcudGVzdE9iamVjdDsKKyAgICB2YXIg
bzIgPSBwbHVnLnRlc3RPYmplY3Q7CisgICAgdmFyIG8zID0gcGx1Zy50ZXN0T2JqZWN0OworICAg
IHZhciByZWZBZnRlckdldCA9IHRlc3RPYmoucmVmQ291bnQ7CisgICAgbzEgPSBvMiA9IG8zID0g
bnVsbDsKKyAgICBkb0dDKCk7CisgICAgdmFyIHJlZkFmdGVyR2V0R0MgPSB0ZXN0T2JqLnJlZkNv
dW50OworCisgICAgLy8gVGVzdCB0aGF0IGNhbGxpbmcgTlBOX0ludm9rZSB3aXRoIG91ciBvYmpl
Y3QgYXMgYSBwYXJhbWV0ZXIgcmV0dXJucworICAgIC8vIG91ciByZWZjb3VudCB0byBub3JtYWwg
KG1heSByZXF1aXJlIGEgR0MpLgorICAgIHBsdWcudGVzdFBhc3NUZXN0T2JqZWN0KCJub29wIiwg
dGVzdE9iaik7CisgICAgcGx1Zy50ZXN0UGFzc1Rlc3RPYmplY3QoIm5vb3AiLCB0ZXN0T2JqKTsK
KyAgICBwbHVnLnRlc3RQYXNzVGVzdE9iamVjdCgibm9vcCIsIHRlc3RPYmopOworICAgIGRvR0Mo
KTsKKyAgICB2YXIgcmVmQWZ0ZXJQYXNzID0gdGVzdE9iai5yZWZDb3VudDsKKworICAgIG91dHB1
dC5pbm5lckhUTUwgKz0gIi0tLSByZWZjb3VudCBvbiBwbHVnLnRlc3RPYmplY3Q6PGJyPiI7Cisg
ICAgb3V0cHV0LmlubmVySFRNTCArPSAib3JpZ2luYWxseTogIiArIHJlZk9yaWcgKyAiPGJyPiI7
CisgICAgb3V0cHV0LmlubmVySFRNTCArPSAiYWZ0ZXIgZ2V0OiAiICsgcmVmQWZ0ZXJHZXQgKyAi
PGJyPiI7CisgICAgb3V0cHV0LmlubmVySFRNTCArPSAiYWZ0ZXIgR0M6ICIgKyByZWZBZnRlckdl
dEdDICsgIjxicj4iOworICAgIG91dHB1dC5pbm5lckhUTUwgKz0gImFmdGVyIHBhc3Npbmc6ICIg
KyByZWZBZnRlclBhc3MgKyAiPGJyPiI7CisKKyAgICB2YXIgc3VjY2VzcyA9IChjb3VudEFmdGVy
R0MgPT0gY291bnRPcmlnKSAmJiAocmVmQWZ0ZXJQYXNzID09IHJlZk9yaWcpOworICAgIG91dHB1
dC5pbm5lckhUTUwgKz0gKHN1Y2Nlc3MgPyAiU1VDQ0VTUyIgOiAiRkFJTFVSRSIpOworICB9Cis8
L3NjcmlwdD4KKworPGJvZHkgb25sb2FkPSJydW50ZXN0KCkiPgorCitUZXN0IHRoYXQgd2UgY2Fu
IGdldCBhbiBOUE9iamVjdCByZXR1cm5lZCB0aHJvdWdoIGEgbWV0aG9kIG9uCithbiBOUEFQSSBP
YmplY3QuPFA+CisKK1ByaW50cyAiU1VDQ0VTUyIgb24gc3VjY2VzcywgIkZBSUxVUkUiIG9uIGZh
aWx1cmUuCisKKzxlbWJlZCBuYW1lPSJwbHVnIiB0eXBlPSJhcHBsaWNhdGlvbi94LXdlYmtpdC10
ZXN0LW5ldHNjYXBlIj4KKworPGRpdiBpZD1vdXRwdXQ+RkFJTFVSRTwvZGl2PgorCis8L2JvZHk+
CisKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL3BsYXRmb3JtL2Nocm9taXVtL3BsdWdpbnMvcmV0
dXJuLW5wb2JqZWN0LWV4cGVjdGVkLnR4dCBiL0xheW91dFRlc3RzL3BsYXRmb3JtL2Nocm9taXVt
L3BsdWdpbnMvcmV0dXJuLW5wb2JqZWN0LWV4cGVjdGVkLnR4dApuZXcgZmlsZSBtb2RlIDEwMDY0
NAppbmRleCAwMDAwMDAwLi4xNDVlZDdmCi0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMv
cGxhdGZvcm0vY2hyb21pdW0vcGx1Z2lucy9yZXR1cm4tbnBvYmplY3QtZXhwZWN0ZWQudHh0CkBA
IC0wLDAgKzEsNCBAQAorVGVzdCB0aGF0IHdlIGNhbiBnZXQgYW4gTlBPYmplY3QgcmV0dXJuZWQg
dGhyb3VnaCBhIG1ldGhvZCBvbiBhbiBOUEFQSSBPYmplY3QuIFByaW50cyAiU1VDQ0VTUyIgb24g
c3VjY2VzcywgIkZBSUxVUkUiIG9uIGZhaWx1cmUuCisKKworU1VDQ0VTUwpkaWZmIC0tZ2l0IGEv
TGF5b3V0VGVzdHMvcGxhdGZvcm0vY2hyb21pdW0vcGx1Z2lucy9yZXR1cm4tbnBvYmplY3QuaHRt
bCBiL0xheW91dFRlc3RzL3BsYXRmb3JtL2Nocm9taXVtL3BsdWdpbnMvcmV0dXJuLW5wb2JqZWN0
Lmh0bWwKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uNDMyNzFiMAotLS0gL2Rl
di9udWxsCisrKyBiL0xheW91dFRlc3RzL3BsYXRmb3JtL2Nocm9taXVtL3BsdWdpbnMvcmV0dXJu
LW5wb2JqZWN0Lmh0bWwKQEAgLTAsMCArMSwzMiBAQAorCis8c2NyaXB0PgorICB2YXIgdGVzdF9v
YmplY3QgPSBuZXcgT2JqZWN0KCk7CisgIHRlc3Rfb2JqZWN0LnZhbHVlID0gMTsKKworICBmdW5j
dGlvbiBjYWxsYmsoYXJnKSB7CisgICAgcmV0dXJuIHRlc3Rfb2JqZWN0OworICB9CisKKyAgZnVu
Y3Rpb24gcnVudGVzdCgpIHsKKyAgICBpZiAod2luZG93LmxheW91dFRlc3RDb250cm9sbGVyKQor
ICAgICAgICBsYXlvdXRUZXN0Q29udHJvbGxlci5kdW1wQXNUZXh0KCk7CisKKyAgICB2YXIgb2Jq
ID0gcGx1Zy50ZXN0Q2FsbGJhY2tSZXQoImNhbGxiayIpOworICAgIGlmIChvYmogPT0gdGVzdF9v
YmplY3QpIHsKKyAgICAgIHZhciBvdXRwdXQgPSBkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgib3V0
cHV0Iik7CisgICAgICBvdXRwdXQuaW5uZXJIVE1MID0gIlNVQ0NFU1MiOworICAgIH0KKyAgfQor
PC9zY3JpcHQ+CisKKzxCT0RZIGlkPSJib2R5SWQiIG9ubG9hZD0icnVudGVzdCgpIj4KKworPHA+
VGVzdCB0aGF0IHdlIGNhbiBnZXQgYW4gTlBPYmplY3QgcmV0dXJuZWQgdGhyb3VnaCBhIG1ldGhv
ZCBvbgorYW4gTlBBUEkgT2JqZWN0LiBQcmludHMgIlNVQ0NFU1MiIG9uIHN1Y2Nlc3MsICJGQUlM
VVJFIiBvbiBmYWlsdXJlLjwvcD4KKworPGVtYmVkIG5hbWU9InBsdWciIHR5cGU9ImFwcGxpY2F0
aW9uL3gtd2Via2l0LXRlc3QtbmV0c2NhcGUiPgorCis8ZGl2IGlkPW91dHB1dD5GQUlMVVJFPC9k
aXY+CisKKzwvQk9EWT4KKwpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvcGxhdGZvcm0vY2hyb21p
dW0vcGx1Z2lucy9zY3JpcHQtb2JqZWN0LWludm9rZS1leHBlY3RlZC50eHQgYi9MYXlvdXRUZXN0
cy9wbGF0Zm9ybS9jaHJvbWl1bS9wbHVnaW5zL3NjcmlwdC1vYmplY3QtaW52b2tlLWV4cGVjdGVk
LnR4dApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi4yZWNiYzYzCi0tLSAvZGV2
L251bGwKKysrIGIvTGF5b3V0VGVzdHMvcGxhdGZvcm0vY2hyb21pdW0vcGx1Z2lucy9zY3JpcHQt
b2JqZWN0LWludm9rZS1leHBlY3RlZC50eHQKQEAgLTAsMCArMSw5IEBACitUZXN0IHByb3BlciB0
cmFja2luZyBvZiBzY3JpcHQgTlBPYmplY3RzCisKK1Rlc3QgMTogRW5zdXJlIHRoYXQgc2NyaXB0
IE5QT2JqZWN0cyBhcmUgcHJvcGVybHkgdHJhY2tlZCAoaS5lLiBhZGRlZCB0bworICAgICAgICB0
aGUgbGl2ZSBvYmplY3RzIG1hcCBpbiBWOCkuIAorCitUZXN0IDI6IFRlc3QgdHJhY2tpbmcgb2Yg
ZGVyaXZlZCBOUE9iamVjdHMgYnkgaW52b2tpbmcgYSBtZXRob2Qgb24gYQorICAgICAgICBzY3Jp
cHQgb2JqZWN0IGFuZCBwYXNzaW5nIGl0IGFuIGludGVybmFsbHkgY3JlYXRlZCBOUE9iamVjdC4K
KworU1VDQ0VTUwpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvcGxhdGZvcm0vY2hyb21pdW0vcGx1
Z2lucy9zY3JpcHQtb2JqZWN0LWludm9rZS5odG1sIGIvTGF5b3V0VGVzdHMvcGxhdGZvcm0vY2hy
b21pdW0vcGx1Z2lucy9zY3JpcHQtb2JqZWN0LWludm9rZS5odG1sCm5ldyBmaWxlIG1vZGUgMTAw
NjQ0CmluZGV4IDAwMDAwMDAuLjUwZmQyNjMKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0
cy9wbGF0Zm9ybS9jaHJvbWl1bS9wbHVnaW5zL3NjcmlwdC1vYmplY3QtaW52b2tlLmh0bWwKQEAg
LTAsMCArMSw2MCBAQAorPGh0bWw+Cis8c2NyaXB0PgorLy8gQSBzaW1wbGUgc2NyaXB0IG9iamVj
dCB3aXRoIGEgbWVtYmVyIGZ1bmN0aW9uIHRoYXQgdGFrZXMgCisvLyBhbiBOUE9iamVjdCBhcyBh
biBhcmd1bWVudAorRmFjdG9yeUZ1bmN0aW9uID0gZnVuY3Rpb24oKSB7CisgICAgdmFyIFRlc3RP
YmplY3QgPSBmdW5jdGlvbigpIHsKKyAgICB9OworCisgICAgVGVzdE9iamVjdC5wcm90b3R5cGUu
Y3JlYXRlT2JqZWN0ID0gZnVuY3Rpb24ocGx1Z2luKSB7CisgICAgICAgIHZhciBuZXdfb2JqZWN0
ID0gcGx1Z2luLnRlc3RDbG9uZU9iamVjdCgpOworICAgICAgICByZXR1cm4gbmV3X29iamVjdDsK
KyAgICB9OworCisgICAgdmFyIHMgPSBuZXcgVGVzdE9iamVjdCgpOworICAgIHJldHVybiBzOwor
fTsKKworZnVuY3Rpb24gbmV3X3NjcmlwdF9vYmplY3QoKSB7CisgICAgcmV0dXJuIEZhY3RvcnlG
dW5jdGlvbigpOworfQorCitmdW5jdGlvbiBydW5UZXN0KCkKK3sKKyAgICBpZiAod2luZG93Lmxh
eW91dFRlc3RDb250cm9sbGVyKQorICAgICAgICBsYXlvdXRUZXN0Q29udHJvbGxlci5kdW1wQXNU
ZXh0KCk7CisKKyAgICB2YXIgcGx1Z2luID0gZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoInRlc3RQ
bHVnaW4iKTsKKyAgICB2YXIgcmV0dXJuZWRfb2JqZWN0ID0gcGx1Z2luLnRlc3RTY3JpcHRPYmpl
Y3RJbnZva2UoIm5ld19zY3JpcHRfb2JqZWN0IiwgImNyZWF0ZU9iamVjdCIsIHBsdWdpbik7CisK
KyAgICAvKiBCdWcjIDExNzUzNDYgLSBUaGlzIHdpbGwgY3Jhc2ggaW4gc2luZ2xlIHByb2Nlc3Mg
bW9kZSAob3IgdGVzdCBzaGVsbCkKKyAgICAgICBUT0RPKGpvc2hpYSk6IEVuYWJsZSB0aGlzIGFu
ZCBmaXggdGhlIE5QT2JqZWN0IGNsZWFudXAgc28gdGhhdAorICAgICAgICAgICAgICAgICAgICAg
aXQgd29ya3MgaW4gc2luZ2xlIHByb2Nlc3MgbW9kZS4KKyAgICBwbHVnaW4ucGFyZW50Tm9kZS5y
ZW1vdmVDaGlsZChwbHVnaW4pOworCisgICAgdHJ5IHsKKyAgICAgICAgcmV0dXJuZWRfb2JqZWN0
LnByb3BlcnR5OworICAgIH0gY2F0Y2ggKGUpIHsKKyAgICAgICAgaWYgKGUgaW5zdGFuY2VvZiBS
ZWZlcmVuY2VFcnJvcikKKyAgICAgICAgICAgIGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJyZXN1
bHQiKS5pbm5lckhUTUwgPSAiU1VDQ0VTUyI7CisgICAgfQorICAgICovCisgICAgCisgICAgZG9j
dW1lbnQuZ2V0RWxlbWVudEJ5SWQoInJlc3VsdCIpLmlubmVySFRNTCA9ICJTVUNDRVNTIjsKK30K
Kzwvc2NyaXB0PgorCis8Ym9keSBvbmxvYWQ9InJ1blRlc3QoKTsiPgorPHByZT4KK1Rlc3QgcHJv
cGVyIHRyYWNraW5nIG9mIHNjcmlwdCBOUE9iamVjdHMKKworVGVzdCAxOiBFbnN1cmUgdGhhdCBz
Y3JpcHQgTlBPYmplY3RzIGFyZSBwcm9wZXJseSB0cmFja2VkIChpLmUuIGFkZGVkIHRvCisgICAg
ICAgIHRoZSBsaXZlIG9iamVjdHMgbWFwIGluIFY4KS4gCisKK1Rlc3QgMjogVGVzdCB0cmFja2lu
ZyBvZiBkZXJpdmVkIE5QT2JqZWN0cyBieSBpbnZva2luZyBhIG1ldGhvZCBvbiBhCisgICAgICAg
IHNjcmlwdCBvYmplY3QgYW5kIHBhc3NpbmcgaXQgYW4gaW50ZXJuYWxseSBjcmVhdGVkIE5QT2Jq
ZWN0LgorCis8ZGl2IGlkPSJyZXN1bHQiPkZBSUxVUkU8L2Rpdj4KKzxlbWJlZCBpZD0idGVzdFBs
dWdpbiIgdHlwZT0iYXBwbGljYXRpb24veC13ZWJraXQtdGVzdC1uZXRzY2FwZSIgd2lkdGg9IjIw
MCIgaGVpZ2h0PSIyMDAiPjwvZW1iZWQ+Cis8L2JvZHk+Cis8L2h0bWw+Cg==
</data>

          </attachment>
      

    </bug>

</bugzilla>