<?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>51082</bug_id>
          
          <creation_ts>2010-12-14 18:16:10 -0800</creation_ts>
          <short_desc>execCommand(&apos;JustifyCenter&apos;) adds extra BR</short_desc>
          <delta_ts>2010-12-16 14:08:20 -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>HTML Editing</component>
          <version>528+ (Nightly build)</version>
          <rep_platform>All</rep_platform>
          <op_sys>All</op_sys>
          <bug_status>RESOLVED</bug_status>
          <resolution>FIXED</resolution>
          
          
          <bug_file_loc></bug_file_loc>
          <status_whiteboard></status_whiteboard>
          <keywords></keywords>
          <priority>P2</priority>
          <bug_severity>Normal</bug_severity>
          <target_milestone>---</target_milestone>
          
          
          <everconfirmed>1</everconfirmed>
          <reporter name="Ryosuke Niwa">rniwa</reporter>
          <assigned_to name="Nobody">webkit-unassigned</assigned_to>
          <cc>darin</cc>
    
    <cc>enrica</cc>
    
    <cc>jparent</cc>
    
    <cc>ojan</cc>
    
    <cc>rolandsteiner</cc>
    
    <cc>tkent</cc>
    
    <cc>tony</cc>
          

      

      

      

          <comment_sort_order>oldest_to_newest</comment_sort_order>  
          <long_desc isprivate="0" >
    <commentid>322419</commentid>
    <comment_count>0</comment_count>
    <who name="Ryosuke Niwa">rniwa</who>
    <bug_when>2010-12-14 18:16:10 -0800</bug_when>
    <thetext>execCommand(&apos;JustifyCenter&apos;) and any other editing command that modifies the CSS block properties will add an extra BR at the end of block.

e.g. justifying center: &quot;hello&quot; yields &lt;div style=&quot;text-align: center;&quot;&gt;hello&lt;br&gt;&lt;/div&gt; as supposed to &lt;div style=&quot;text-align: center;&quot;&gt;hello&lt;br&gt;&lt;/div&gt;.

This is a primary reason WebKit is scoring so low on http://www.browserscope.org/richtext2/test.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>322434</commentid>
    <comment_count>1</comment_count>
      <attachid>76612</attachid>
    <who name="Ryosuke Niwa">rniwa</who>
    <bug_when>2010-12-14 18:55:15 -0800</bug_when>
    <thetext>Created attachment 76612
fixes the bug</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>323013</commentid>
    <comment_count>2</comment_count>
      <attachid>76612</attachid>
    <who name="Darin Adler">darin</who>
    <bug_when>2010-12-15 18:57:22 -0800</bug_when>
    <thetext>Comment on attachment 76612
fixes the bug

Seems inelegant to me to add a &lt;br&gt; and then later remove it.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>323017</commentid>
    <comment_count>3</comment_count>
    <who name="Ryosuke Niwa">rniwa</who>
    <bug_when>2010-12-15 19:14:37 -0800</bug_when>
    <thetext>Thanks for the review!

(In reply to comment #2)
&gt; (From update of attachment 76612 [details])
&gt; Seems inelegant to me to add a &lt;br&gt; and then later remove it.

It really is. I&apos;m not happy about that either. But we do this all ever the place in editing whenever we move paragraphs because ReplaceSelectionCommand and others require a placeholder. We could avoid doing this if we had used moveParagraphWithClones instead.

On a side note, we should really be using ApplyBlockElementCommand here because all we need to do is to wrap each paragraph with a div and ApplyBlockElementCommand does exactly that.  However, when I tried to deploy ApplyBlockElementCommand while working on this bug, I encountered numerous crashes and failures and I had to give up.  I&apos;ll come back to this issue later though.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>323412</commentid>
    <comment_count>4</comment_count>
      <attachid>76612</attachid>
    <who name="Ryosuke Niwa">rniwa</who>
    <bug_when>2010-12-16 14:08:14 -0800</bug_when>
    <thetext>Comment on attachment 76612
fixes the bug

Clearing flags on attachment: 76612

Committed r74214: &lt;http://trac.webkit.org/changeset/74214&gt;</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>323413</commentid>
    <comment_count>5</comment_count>
    <who name="Ryosuke Niwa">rniwa</who>
    <bug_when>2010-12-16 14:08:20 -0800</bug_when>
    <thetext>All reviewed patches have been landed.  Closing bug.</thetext>
  </long_desc>
      
          <attachment
              isobsolete="0"
              ispatch="1"
              isprivate="0"
          >
            <attachid>76612</attachid>
            <date>2010-12-14 18:55:15 -0800</date>
            <delta_ts>2010-12-16 14:08:14 -0800</delta_ts>
            <desc>fixes the bug</desc>
            <filename>bug-51082-20101214185514.patch</filename>
            <type>text/plain</type>
            <size>15664</size>
            <attacher name="Ryosuke Niwa">rniwa</attacher>
            
              <data encoding="base64">ZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL0NoYW5nZUxvZyBiL0xheW91dFRlc3RzL0NoYW5nZUxv
ZwppbmRleCBmOWIwMjI3MTg3NGE5ODU4NjYzYzA3MjY1NjM4ZWY2N2Y1NWY4ZjJkLi5hYjJlYzQy
ZTExMWE5MDEyNDI4NjE4ZTc5ZWJmZWQ3NTU4ZjMwMjY1IDEwMDY0NAotLS0gYS9MYXlvdXRUZXN0
cy9DaGFuZ2VMb2cKKysrIGIvTGF5b3V0VGVzdHMvQ2hhbmdlTG9nCkBAIC0xLDMgKzEsMTYgQEAK
KzIwMTAtMTItMTQgIFJ5b3N1a2UgTml3YSAgPHJuaXdhQHdlYmtpdC5vcmc+CisKKyAgICAgICAg
UmV2aWV3ZWQgYnkgTk9CT0RZIChPT1BTISkuCisKKyAgICAgICAgZXhlY0NvbW1hbmQoJ0p1c3Rp
ZnlDZW50ZXInKSBhZGRzIGV4dHJhIEJSCisgICAgICAgIGh0dHBzOi8vYnVncy53ZWJraXQub3Jn
L3Nob3dfYnVnLmNnaT9pZD01MTA4MgorCisgICAgICAgIEFkZGVkIGEgdGVzdCB0byBlbnN1cmUg
V2ViS2l0IGV4ZWN1dGVzIEp1c3RpZnkqIHByb3Blcmx5LiBJbiBwYXJ0aWN1bGFyLAorICAgICAg
ICB0aGlzIHRlc3QgZW5zdXJlcyBXZWJLaXQgZG9lcyBub3QgZXJyb25lb3VzbHkgYWRkIGEgQlIg
YXQgdGhlIGVuZCBvZiBlYWNoIGJsb2NrLgorCisgICAgICAgICogZWRpdGluZy9leGVjQ29tbWFu
ZC9qdXN0aWZ5LWV4cGVjdGVkLnR4dDogQWRkZWQuCisgICAgICAgICogZWRpdGluZy9leGVjQ29t
bWFuZC9qdXN0aWZ5Lmh0bWw6IEFkZGVkLgorCiAyMDEwLTEyLTEzICBDaHJpcyBGbGVpemFjaCAg
PGNmbGVpemFjaEBhcHBsZS5jb20+CiAKICAgICAgICAgUmV2aWV3ZWQgYnkgQmV0aCBEYWtpbi4K
ZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvZXhlY0NvbW1hbmQvanVzdGlmeS1leHBl
Y3RlZC50eHQgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL2V4ZWNDb21tYW5kL2p1c3RpZnktZXhwZWN0
ZWQudHh0Cm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAuLmQ1YzExOGUwOGIyNDE3Yzg1NjQ2YzlhNTJhMmZkZDM0N2Q3MDA4
ZWYKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL2V4ZWNDb21tYW5kL2p1
c3RpZnktZXhwZWN0ZWQudHh0CkBAIC0wLDAgKzEsNTMgQEAKK1Rlc3RzIGp1c3RpZnlpbmcgcGFy
YWdyYXBocyB0byBsZWZ0LCByaWdodCwgYW5kIGNlbnRlci4KKworT24gc3VjY2VzcywgeW91IHdp
bGwgc2VlIGEgc2VyaWVzIG9mICJQQVNTIiBtZXNzYWdlcywgZm9sbG93ZWQgYnkgIlRFU1QgQ09N
UExFVEUiLgorCisKKworQ2VudGVyCitQQVNTIGV4ZWNDb21tYW5kKCdKdXN0aWZ5Q2VudGVyJykg
cmV0dXJuZWQgIjxkaXYgc3R5bGU9InRleHQtYWxpZ246IGNlbnRlcjsiPjxicj48L2Rpdj4iIHNl
bGVjdGluZyBmaXJzdCBwb3NpdGlvbiBvZiAiIgorUEFTUyBleGVjQ29tbWFuZCgnSnVzdGlmeUNl
bnRlcicpIHJldHVybmVkICI8ZGl2IHN0eWxlPSJ0ZXh0LWFsaWduOiBjZW50ZXI7Ij48YnI+PC9k
aXY+IiBzZWxlY3RpbmcgZmlyc3QgcG9zaXRpb24gb2YgIjxicj4iCitQQVNTIGV4ZWNDb21tYW5k
KCdKdXN0aWZ5Q2VudGVyJykgcmV0dXJuZWQgIjxkaXYgc3R5bGU9InRleHQtYWxpZ246IGNlbnRl
cjsiPjxicj48L2Rpdj48YnI+IiBzZWxlY3RpbmcgZmlyc3QgcG9zaXRpb24gb2YgIjxicj48YnI+
IgorUEFTUyBleGVjQ29tbWFuZCgnSnVzdGlmeUNlbnRlcicpIHJldHVybmVkICI8ZGl2IHN0eWxl
PSJ0ZXh0LWFsaWduOiBjZW50ZXI7Ij5oZWxsbzwvZGl2PiIgc2VsZWN0aW5nIGZpcnN0IHBvc2l0
aW9uIG9mICJoZWxsbyIKK1BBU1MgZXhlY0NvbW1hbmQoJ0p1c3RpZnlDZW50ZXInKSByZXR1cm5l
ZCAiPGRpdiBzdHlsZT0idGV4dC1hbGlnbjogY2VudGVyOyI+aGVsbG88L2Rpdj48cD53b3JsZDwv
cD4iIHNlbGVjdGluZyBmaXJzdCBwb3NpdGlvbiBvZiAiaGVsbG88cD53b3JsZDwvcD4iCitQQVNT
IGV4ZWNDb21tYW5kKCdKdXN0aWZ5Q2VudGVyJykgcmV0dXJuZWQgIjxwIHN0eWxlPSJ0ZXh0LWFs
aWduOiBjZW50ZXI7Ij5oZWxsbzwvcD53b3JsZCIgc2VsZWN0aW5nIGZpcnN0IHBvc2l0aW9uIG9m
ICI8cD5oZWxsbzwvcD53b3JsZCIKK1BBU1MgZXhlY0NvbW1hbmQoJ0p1c3RpZnlDZW50ZXInKSBy
ZXR1cm5lZCAiPGRpdiBzdHlsZT0idGV4dC1hbGlnbjogY2VudGVyOyI+aGVsbG88L2Rpdj48Ymxv
Y2txdW90ZSBzdHlsZT0idGV4dC1hbGlnbjogY2VudGVyOyI+d29ybGQ8L2Jsb2NrcXVvdGU+IiBz
ZWxlY3RpbmcgYWxsIG9mICJoZWxsbzxibG9ja3F1b3RlPndvcmxkPC9ibG9ja3F1b3RlPiIKK1BB
U1MgZXhlY0NvbW1hbmQoJ0p1c3RpZnlDZW50ZXInKSByZXR1cm5lZCAiPGgzIHN0eWxlPSJ0ZXh0
LWFsaWduOiBjZW50ZXI7Ij5oZWxsbzwvaDM+PGRpdiBzdHlsZT0idGV4dC1hbGlnbjogY2VudGVy
OyI+d29ybGQ8L2Rpdj4iIHNlbGVjdGluZyBhbGwgb2YgIjxoMz5oZWxsbzwvaDM+d29ybGQiCitQ
QVNTIGV4ZWNDb21tYW5kKCdKdXN0aWZ5Q2VudGVyJykgcmV0dXJuZWQgIjxkaXYgc3R5bGU9InRl
eHQtYWxpZ246IGNlbnRlcjsiPmhlbGxvPGJyPndvcmxkPC9kaXY+IiBzZWxlY3RpbmcgZmlyc3Qg
cG9zaXRpb24gb2YgIjxkaXYgc3R5bGU9InRleHQtYWxpZ246IGNlbnRlcjsiPmhlbGxvPGJyPndv
cmxkPC9kaXY+IgorCitGdWxsCitQQVNTIGV4ZWNDb21tYW5kKCdKdXN0aWZ5RnVsbCcpIHJldHVy
bmVkICI8ZGl2IHN0eWxlPSJ0ZXh0LWFsaWduOiBqdXN0aWZ5OyI+PGJyPjwvZGl2PiIgc2VsZWN0
aW5nIGZpcnN0IHBvc2l0aW9uIG9mICIiCitQQVNTIGV4ZWNDb21tYW5kKCdKdXN0aWZ5RnVsbCcp
IHJldHVybmVkICI8ZGl2IHN0eWxlPSJ0ZXh0LWFsaWduOiBqdXN0aWZ5OyI+PGJyPjwvZGl2PiIg
c2VsZWN0aW5nIGZpcnN0IHBvc2l0aW9uIG9mICI8YnI+IgorUEFTUyBleGVjQ29tbWFuZCgnSnVz
dGlmeUZ1bGwnKSByZXR1cm5lZCAiPGRpdiBzdHlsZT0idGV4dC1hbGlnbjoganVzdGlmeTsiPjxi
cj48L2Rpdj48YnI+IiBzZWxlY3RpbmcgZmlyc3QgcG9zaXRpb24gb2YgIjxicj48YnI+IgorUEFT
UyBleGVjQ29tbWFuZCgnSnVzdGlmeUZ1bGwnKSByZXR1cm5lZCAiPGRpdiBzdHlsZT0idGV4dC1h
bGlnbjoganVzdGlmeTsiPmhlbGxvPC9kaXY+IiBzZWxlY3RpbmcgZmlyc3QgcG9zaXRpb24gb2Yg
ImhlbGxvIgorUEFTUyBleGVjQ29tbWFuZCgnSnVzdGlmeUZ1bGwnKSByZXR1cm5lZCAiPGRpdiBz
dHlsZT0idGV4dC1hbGlnbjoganVzdGlmeTsiPmhlbGxvPC9kaXY+PHA+d29ybGQ8L3A+IiBzZWxl
Y3RpbmcgZmlyc3QgcG9zaXRpb24gb2YgImhlbGxvPHA+d29ybGQ8L3A+IgorUEFTUyBleGVjQ29t
bWFuZCgnSnVzdGlmeUZ1bGwnKSByZXR1cm5lZCAiPHAgc3R5bGU9InRleHQtYWxpZ246IGp1c3Rp
Znk7Ij5oZWxsbzwvcD53b3JsZCIgc2VsZWN0aW5nIGZpcnN0IHBvc2l0aW9uIG9mICI8cD5oZWxs
bzwvcD53b3JsZCIKK1BBU1MgZXhlY0NvbW1hbmQoJ0p1c3RpZnlGdWxsJykgcmV0dXJuZWQgIjxk
aXYgc3R5bGU9InRleHQtYWxpZ246IGp1c3RpZnk7Ij5oZWxsbzwvZGl2PjxibG9ja3F1b3RlIHN0
eWxlPSJ0ZXh0LWFsaWduOiBqdXN0aWZ5OyI+d29ybGQ8L2Jsb2NrcXVvdGU+IiBzZWxlY3Rpbmcg
YWxsIG9mICJoZWxsbzxibG9ja3F1b3RlPndvcmxkPC9ibG9ja3F1b3RlPiIKK1BBU1MgZXhlY0Nv
bW1hbmQoJ0p1c3RpZnlGdWxsJykgcmV0dXJuZWQgIjxoMyBzdHlsZT0idGV4dC1hbGlnbjoganVz
dGlmeTsiPmhlbGxvPC9oMz48ZGl2IHN0eWxlPSJ0ZXh0LWFsaWduOiBqdXN0aWZ5OyI+d29ybGQ8
L2Rpdj4iIHNlbGVjdGluZyBhbGwgb2YgIjxoMz5oZWxsbzwvaDM+d29ybGQiCitQQVNTIGV4ZWND
b21tYW5kKCdKdXN0aWZ5RnVsbCcpIHJldHVybmVkICI8ZGl2IHN0eWxlPSJ0ZXh0LWFsaWduOiBq
dXN0aWZ5OyI+aGVsbG88YnI+d29ybGQ8L2Rpdj4iIHNlbGVjdGluZyBmaXJzdCBwb3NpdGlvbiBv
ZiAiPGRpdiBzdHlsZT0idGV4dC1hbGlnbjoganVzdGlmeTsiPmhlbGxvPGJyPndvcmxkPC9kaXY+
IgorCitMZWZ0CitQQVNTIGV4ZWNDb21tYW5kKCdKdXN0aWZ5TGVmdCcpIHJldHVybmVkICI8ZGl2
IHN0eWxlPSJ0ZXh0LWFsaWduOiBsZWZ0OyI+PGJyPjwvZGl2PiIgc2VsZWN0aW5nIGZpcnN0IHBv
c2l0aW9uIG9mICIiCitQQVNTIGV4ZWNDb21tYW5kKCdKdXN0aWZ5TGVmdCcpIHJldHVybmVkICI8
ZGl2IHN0eWxlPSJ0ZXh0LWFsaWduOiBsZWZ0OyI+PGJyPjwvZGl2PiIgc2VsZWN0aW5nIGZpcnN0
IHBvc2l0aW9uIG9mICI8YnI+IgorUEFTUyBleGVjQ29tbWFuZCgnSnVzdGlmeUxlZnQnKSByZXR1
cm5lZCAiPGRpdiBzdHlsZT0idGV4dC1hbGlnbjogbGVmdDsiPjxicj48L2Rpdj48YnI+IiBzZWxl
Y3RpbmcgZmlyc3QgcG9zaXRpb24gb2YgIjxicj48YnI+IgorUEFTUyBleGVjQ29tbWFuZCgnSnVz
dGlmeUxlZnQnKSByZXR1cm5lZCAiPGRpdiBzdHlsZT0idGV4dC1hbGlnbjogbGVmdDsiPmhlbGxv
PC9kaXY+IiBzZWxlY3RpbmcgZmlyc3QgcG9zaXRpb24gb2YgImhlbGxvIgorUEFTUyBleGVjQ29t
bWFuZCgnSnVzdGlmeUxlZnQnKSByZXR1cm5lZCAiPGRpdiBzdHlsZT0idGV4dC1hbGlnbjogbGVm
dDsiPmhlbGxvPC9kaXY+PHA+d29ybGQ8L3A+IiBzZWxlY3RpbmcgZmlyc3QgcG9zaXRpb24gb2Yg
ImhlbGxvPHA+d29ybGQ8L3A+IgorUEFTUyBleGVjQ29tbWFuZCgnSnVzdGlmeUxlZnQnKSByZXR1
cm5lZCAiPHAgc3R5bGU9InRleHQtYWxpZ246IGxlZnQ7Ij5oZWxsbzwvcD53b3JsZCIgc2VsZWN0
aW5nIGZpcnN0IHBvc2l0aW9uIG9mICI8cD5oZWxsbzwvcD53b3JsZCIKK1BBU1MgZXhlY0NvbW1h
bmQoJ0p1c3RpZnlMZWZ0JykgcmV0dXJuZWQgIjxkaXYgc3R5bGU9InRleHQtYWxpZ246IGxlZnQ7
Ij5oZWxsbzwvZGl2PjxibG9ja3F1b3RlIHN0eWxlPSJ0ZXh0LWFsaWduOiBsZWZ0OyI+d29ybGQ8
L2Jsb2NrcXVvdGU+IiBzZWxlY3RpbmcgYWxsIG9mICJoZWxsbzxibG9ja3F1b3RlPndvcmxkPC9i
bG9ja3F1b3RlPiIKK1BBU1MgZXhlY0NvbW1hbmQoJ0p1c3RpZnlMZWZ0JykgcmV0dXJuZWQgIjxo
MyBzdHlsZT0idGV4dC1hbGlnbjogbGVmdDsiPmhlbGxvPC9oMz48ZGl2IHN0eWxlPSJ0ZXh0LWFs
aWduOiBsZWZ0OyI+d29ybGQ8L2Rpdj4iIHNlbGVjdGluZyBhbGwgb2YgIjxoMz5oZWxsbzwvaDM+
d29ybGQiCitQQVNTIGV4ZWNDb21tYW5kKCdKdXN0aWZ5TGVmdCcpIHJldHVybmVkICI8ZGl2IHN0
eWxlPSJ0ZXh0LWFsaWduOiBsZWZ0OyI+aGVsbG88YnI+d29ybGQ8L2Rpdj4iIHNlbGVjdGluZyBm
aXJzdCBwb3NpdGlvbiBvZiAiPGRpdiBzdHlsZT0idGV4dC1hbGlnbjogbGVmdDsiPmhlbGxvPGJy
PndvcmxkPC9kaXY+IgorCitSaWdodAorUEFTUyBleGVjQ29tbWFuZCgnSnVzdGlmeVJpZ2h0Jykg
cmV0dXJuZWQgIjxkaXYgc3R5bGU9InRleHQtYWxpZ246IHJpZ2h0OyI+PGJyPjwvZGl2PiIgc2Vs
ZWN0aW5nIGZpcnN0IHBvc2l0aW9uIG9mICIiCitQQVNTIGV4ZWNDb21tYW5kKCdKdXN0aWZ5Umln
aHQnKSByZXR1cm5lZCAiPGRpdiBzdHlsZT0idGV4dC1hbGlnbjogcmlnaHQ7Ij48YnI+PC9kaXY+
IiBzZWxlY3RpbmcgZmlyc3QgcG9zaXRpb24gb2YgIjxicj4iCitQQVNTIGV4ZWNDb21tYW5kKCdK
dXN0aWZ5UmlnaHQnKSByZXR1cm5lZCAiPGRpdiBzdHlsZT0idGV4dC1hbGlnbjogcmlnaHQ7Ij48
YnI+PC9kaXY+PGJyPiIgc2VsZWN0aW5nIGZpcnN0IHBvc2l0aW9uIG9mICI8YnI+PGJyPiIKK1BB
U1MgZXhlY0NvbW1hbmQoJ0p1c3RpZnlSaWdodCcpIHJldHVybmVkICI8ZGl2IHN0eWxlPSJ0ZXh0
LWFsaWduOiByaWdodDsiPmhlbGxvPC9kaXY+IiBzZWxlY3RpbmcgZmlyc3QgcG9zaXRpb24gb2Yg
ImhlbGxvIgorUEFTUyBleGVjQ29tbWFuZCgnSnVzdGlmeVJpZ2h0JykgcmV0dXJuZWQgIjxkaXYg
c3R5bGU9InRleHQtYWxpZ246IHJpZ2h0OyI+aGVsbG88L2Rpdj48cD53b3JsZDwvcD4iIHNlbGVj
dGluZyBmaXJzdCBwb3NpdGlvbiBvZiAiaGVsbG88cD53b3JsZDwvcD4iCitQQVNTIGV4ZWNDb21t
YW5kKCdKdXN0aWZ5UmlnaHQnKSByZXR1cm5lZCAiPHAgc3R5bGU9InRleHQtYWxpZ246IHJpZ2h0
OyI+aGVsbG88L3A+d29ybGQiIHNlbGVjdGluZyBmaXJzdCBwb3NpdGlvbiBvZiAiPHA+aGVsbG88
L3A+d29ybGQiCitQQVNTIGV4ZWNDb21tYW5kKCdKdXN0aWZ5UmlnaHQnKSByZXR1cm5lZCAiPGRp
diBzdHlsZT0idGV4dC1hbGlnbjogcmlnaHQ7Ij5oZWxsbzwvZGl2PjxibG9ja3F1b3RlIHN0eWxl
PSJ0ZXh0LWFsaWduOiByaWdodDsiPndvcmxkPC9ibG9ja3F1b3RlPiIgc2VsZWN0aW5nIGFsbCBv
ZiAiaGVsbG88YmxvY2txdW90ZT53b3JsZDwvYmxvY2txdW90ZT4iCitQQVNTIGV4ZWNDb21tYW5k
KCdKdXN0aWZ5UmlnaHQnKSByZXR1cm5lZCAiPGgzIHN0eWxlPSJ0ZXh0LWFsaWduOiByaWdodDsi
PmhlbGxvPC9oMz48ZGl2IHN0eWxlPSJ0ZXh0LWFsaWduOiByaWdodDsiPndvcmxkPC9kaXY+IiBz
ZWxlY3RpbmcgYWxsIG9mICI8aDM+aGVsbG88L2gzPndvcmxkIgorUEFTUyBleGVjQ29tbWFuZCgn
SnVzdGlmeVJpZ2h0JykgcmV0dXJuZWQgIjxkaXYgc3R5bGU9InRleHQtYWxpZ246IHJpZ2h0OyI+
aGVsbG88YnI+d29ybGQ8L2Rpdj4iIHNlbGVjdGluZyBmaXJzdCBwb3NpdGlvbiBvZiAiPGRpdiBz
dHlsZT0idGV4dC1hbGlnbjogcmlnaHQ7Ij5oZWxsbzxicj53b3JsZDwvZGl2PiIKK1BBU1Mgc3Vj
Y2Vzc2Z1bGx5UGFyc2VkIGlzIHRydWUKKworVEVTVCBDT01QTEVURQorCmRpZmYgLS1naXQgYS9M
YXlvdXRUZXN0cy9lZGl0aW5nL2V4ZWNDb21tYW5kL2p1c3RpZnkuaHRtbCBiL0xheW91dFRlc3Rz
L2VkaXRpbmcvZXhlY0NvbW1hbmQvanVzdGlmeS5odG1sCm5ldyBmaWxlIG1vZGUgMTAwNjQ0Cmlu
ZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjU5NWJlYjAzYzFk
Mjg3NDQ3NDcxOTQ5YTM5ZDAxZjY0N2YxMmU5NTYKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRU
ZXN0cy9lZGl0aW5nL2V4ZWNDb21tYW5kL2p1c3RpZnkuaHRtbApAQCAtMCwwICsxLDEwOSBAQAor
PCFET0NUWVBFIGh0bWw+Cis8aHRtbD4KKzxoZWFkPgorPGxpbmsgcmVsPSJzdHlsZXNoZWV0IiBo
cmVmPSIuLi8uLi9mYXN0L2pzL3Jlc291cmNlcy9qcy10ZXN0LXN0eWxlLmNzcyI+Cis8c2NyaXB0
IHNyYz0iLi4vLi4vZmFzdC9qcy9yZXNvdXJjZXMvanMtdGVzdC1wcmUuanMiPjwvc2NyaXB0Pgor
PC9oZWFkPgorPGJvZHk+Cis8cCBpZD0iZGVzY3JpcHRpb24iPjwvcD4KKzxkaXYgaWQ9ImNvbnNv
bGUiPjwvZGl2PgorPHNjcmlwdD4KKworZGVzY3JpcHRpb24oIlRlc3RzIGp1c3RpZnlpbmcgcGFy
YWdyYXBocyB0byBsZWZ0LCByaWdodCwgYW5kIGNlbnRlci4iKQorCit2YXIgdGVzdENvbnRhaW5l
ciA9IGRvY3VtZW50LmNyZWF0ZUVsZW1lbnQoImRpdiIpOwordGVzdENvbnRhaW5lci5jb250ZW50
RWRpdGFibGUgPSB0cnVlOworZG9jdW1lbnQuYm9keS5hcHBlbmRDaGlsZCh0ZXN0Q29udGFpbmVy
KTsKKworZnVuY3Rpb24gdGVzdEp1c3RpZnlpbmcoc2VsZWN0b3IsIGNvbW1hbmQsIGNvbnRlbnQs
IGV4cGVjdGVkKQoreworICAgIHRlc3RDb250YWluZXIuaW5uZXJIVE1MID0gY29udGVudDsKKyAg
ICB2YXIgc2VsZWN0ZWQgPSBzZWxlY3Rvcih0ZXN0Q29udGFpbmVyKTsKKyAgICBkb2N1bWVudC5l
eGVjQ29tbWFuZChjb21tYW5kLCBmYWxzZSwgbnVsbCk7CisgICAgdmFyIGFjdHVhbCA9IHRlc3RD
b250YWluZXIuaW5uZXJIVE1MOworICAgIHZhciBhY3Rpb24gPSAiZXhlY0NvbW1hbmQoJyIgKyBj
b21tYW5kICsgIicpIHJldHVybmVkIFwiIiArIGFjdHVhbCArICciIHNlbGVjdGluZyAnICsgc2Vs
ZWN0ZWQgKyAnIG9mICInICsgY29udGVudCArICciJzsKKyAgICBpZiAoIWV4cGVjdGVkKQorICAg
ICAgICBleHBlY3RlZCA9IGNvbnRlbnQ7CisgICAgaWYgKGFjdHVhbCA9PSBleHBlY3RlZCkKKyAg
ICAgICAgdGVzdFBhc3NlZChhY3Rpb24pOworICAgIGVsc2UKKyAgICAgICAgdGVzdEZhaWxlZChh
Y3Rpb24gKyAnIGJ1dCBleHBlY3RlZCAiJyArIGV4cGVjdGVkICsgJyInKTsKK30KKworZnVuY3Rp
b24gc2VsZWN0Rmlyc3RQb3NpdGlvbihjb250YWluZXIpIHsKKyAgICB3aGlsZSAoY29udGFpbmVy
LmZpcnN0Q2hpbGQpCisgICAgICAgIGNvbnRhaW5lciA9IGNvbnRhaW5lci5maXJzdENoaWxkOwor
ICAgIHdpbmRvdy5nZXRTZWxlY3Rpb24oKS5zZXRQb3NpdGlvbihjb250YWluZXIsIDApOworICAg
IHJldHVybiAnZmlyc3QgcG9zaXRpb24nCit9CisKK2Z1bmN0aW9uIHNlbGVjdEFsbChjb250YWlu
ZXIpIHsKKyAgICB3aW5kb3cuZ2V0U2VsZWN0aW9uKCkuc2VsZWN0QWxsQ2hpbGRyZW4oY29udGFp
bmVyKTsKKyAgICByZXR1cm4gJ2FsbCcKK30KKworZnVuY3Rpb24gc2VsZWN0TWlkZGxlT2ZIZWxs
b1dvcmxkKGNvbnRhaW5lcikgeworICAgIHdpbmRvdy5nZXRTZWxlY3Rpb24oKS5zZXRQb3NpdGlv
bihjb250YWluZXIsIDApOworICAgIHdpbmRvdy5nZXRTZWxlY3Rpb24oKS5tb2RpZnkoJ21vdmUn
LCAnZm9yd2FyZCcsICdjaGFyYWN0ZXInKTsKKyAgICB3aW5kb3cuZ2V0U2VsZWN0aW9uKCkubW9k
aWZ5KCdtb3ZlJywgJ2ZvcndhcmQnLCAnY2hhcmFjdGVyJyk7CisgICAgd2luZG93LmdldFNlbGVj
dGlvbigpLm1vZGlmeSgnZXh0ZW5kJywgJ2ZvcndhcmQnLCAnd29yZCcpOworICAgIHdpbmRvdy5n
ZXRTZWxlY3Rpb24oKS5tb2RpZnkoJ2V4dGVuZCcsICdmb3J3YXJkJywgJ2NoYXJhY3RlcicpOwor
ICAgIHdpbmRvdy5nZXRTZWxlY3Rpb24oKS5tb2RpZnkoJ2V4dGVuZCcsICdmb3J3YXJkJywgJ2No
YXJhY3RlcicpOworICAgIHdpbmRvdy5nZXRTZWxlY3Rpb24oKS5tb2RpZnkoJ2V4dGVuZCcsICdm
b3J3YXJkJywgJ2NoYXJhY3RlcicpOworICAgIHJldHVybiAnImxsbyB3byInCit9CisKK2RlYnVn
KCdcbkNlbnRlcicpOwordGVzdEp1c3RpZnlpbmcoc2VsZWN0Rmlyc3RQb3NpdGlvbiwgJ0p1c3Rp
ZnlDZW50ZXInLCAnJywgJzxkaXYgc3R5bGU9InRleHQtYWxpZ246IGNlbnRlcjsiPjxicj48L2Rp
dj4nKTsKK3Rlc3RKdXN0aWZ5aW5nKHNlbGVjdEZpcnN0UG9zaXRpb24sICdKdXN0aWZ5Q2VudGVy
JywgJzxicj4nLCAnPGRpdiBzdHlsZT0idGV4dC1hbGlnbjogY2VudGVyOyI+PGJyPjwvZGl2Picp
OwordGVzdEp1c3RpZnlpbmcoc2VsZWN0Rmlyc3RQb3NpdGlvbiwgJ0p1c3RpZnlDZW50ZXInLCAn
PGJyPjxicj4nLCAnPGRpdiBzdHlsZT0idGV4dC1hbGlnbjogY2VudGVyOyI+PGJyPjwvZGl2Pjxi
cj4nKTsKK3Rlc3RKdXN0aWZ5aW5nKHNlbGVjdEZpcnN0UG9zaXRpb24sICdKdXN0aWZ5Q2VudGVy
JywgJ2hlbGxvJywgJzxkaXYgc3R5bGU9InRleHQtYWxpZ246IGNlbnRlcjsiPmhlbGxvPC9kaXY+
Jyk7Cit0ZXN0SnVzdGlmeWluZyhzZWxlY3RGaXJzdFBvc2l0aW9uLCAnSnVzdGlmeUNlbnRlcics
ICdoZWxsbzxwPndvcmxkPC9wPicsICc8ZGl2IHN0eWxlPSJ0ZXh0LWFsaWduOiBjZW50ZXI7Ij5o
ZWxsbzwvZGl2PjxwPndvcmxkPC9wPicpOwordGVzdEp1c3RpZnlpbmcoc2VsZWN0Rmlyc3RQb3Np
dGlvbiwgJ0p1c3RpZnlDZW50ZXInLCAnPHA+aGVsbG88L3A+d29ybGQnLCAnPHAgc3R5bGU9InRl
eHQtYWxpZ246IGNlbnRlcjsiPmhlbGxvPC9wPndvcmxkJyk7Cit0ZXN0SnVzdGlmeWluZyhzZWxl
Y3RBbGwsICdKdXN0aWZ5Q2VudGVyJywgJ2hlbGxvPGJsb2NrcXVvdGU+d29ybGQ8L2Jsb2NrcXVv
dGU+JywgJzxkaXYgc3R5bGU9InRleHQtYWxpZ246IGNlbnRlcjsiPmhlbGxvPC9kaXY+PGJsb2Nr
cXVvdGUgc3R5bGU9InRleHQtYWxpZ246IGNlbnRlcjsiPndvcmxkPC9ibG9ja3F1b3RlPicpOwor
dGVzdEp1c3RpZnlpbmcoc2VsZWN0QWxsLCAnSnVzdGlmeUNlbnRlcicsICc8aDM+aGVsbG88L2gz
PndvcmxkJywgJzxoMyBzdHlsZT0idGV4dC1hbGlnbjogY2VudGVyOyI+aGVsbG88L2gzPjxkaXYg
c3R5bGU9InRleHQtYWxpZ246IGNlbnRlcjsiPndvcmxkPC9kaXY+Jyk7Cit0ZXN0SnVzdGlmeWlu
ZyhzZWxlY3RGaXJzdFBvc2l0aW9uLCAnSnVzdGlmeUNlbnRlcicsICc8ZGl2IHN0eWxlPSJ0ZXh0
LWFsaWduOiBjZW50ZXI7Ij5oZWxsbzxicj53b3JsZDwvZGl2PicpOworCitkZWJ1ZygnXG5GdWxs
Jyk7Cit0ZXN0SnVzdGlmeWluZyhzZWxlY3RGaXJzdFBvc2l0aW9uLCAnSnVzdGlmeUZ1bGwnLCAn
JywgJzxkaXYgc3R5bGU9InRleHQtYWxpZ246IGp1c3RpZnk7Ij48YnI+PC9kaXY+Jyk7Cit0ZXN0
SnVzdGlmeWluZyhzZWxlY3RGaXJzdFBvc2l0aW9uLCAnSnVzdGlmeUZ1bGwnLCAnPGJyPicsICc8
ZGl2IHN0eWxlPSJ0ZXh0LWFsaWduOiBqdXN0aWZ5OyI+PGJyPjwvZGl2PicpOwordGVzdEp1c3Rp
Znlpbmcoc2VsZWN0Rmlyc3RQb3NpdGlvbiwgJ0p1c3RpZnlGdWxsJywgJzxicj48YnI+JywgJzxk
aXYgc3R5bGU9InRleHQtYWxpZ246IGp1c3RpZnk7Ij48YnI+PC9kaXY+PGJyPicpOwordGVzdEp1
c3RpZnlpbmcoc2VsZWN0Rmlyc3RQb3NpdGlvbiwgJ0p1c3RpZnlGdWxsJywgJ2hlbGxvJywgJzxk
aXYgc3R5bGU9InRleHQtYWxpZ246IGp1c3RpZnk7Ij5oZWxsbzwvZGl2PicpOwordGVzdEp1c3Rp
Znlpbmcoc2VsZWN0Rmlyc3RQb3NpdGlvbiwgJ0p1c3RpZnlGdWxsJywgJ2hlbGxvPHA+d29ybGQ8
L3A+JywgJzxkaXYgc3R5bGU9InRleHQtYWxpZ246IGp1c3RpZnk7Ij5oZWxsbzwvZGl2PjxwPndv
cmxkPC9wPicpOwordGVzdEp1c3RpZnlpbmcoc2VsZWN0Rmlyc3RQb3NpdGlvbiwgJ0p1c3RpZnlG
dWxsJywgJzxwPmhlbGxvPC9wPndvcmxkJywgJzxwIHN0eWxlPSJ0ZXh0LWFsaWduOiBqdXN0aWZ5
OyI+aGVsbG88L3A+d29ybGQnKTsKK3Rlc3RKdXN0aWZ5aW5nKHNlbGVjdEFsbCwgJ0p1c3RpZnlG
dWxsJywgJ2hlbGxvPGJsb2NrcXVvdGU+d29ybGQ8L2Jsb2NrcXVvdGU+JywgJzxkaXYgc3R5bGU9
InRleHQtYWxpZ246IGp1c3RpZnk7Ij5oZWxsbzwvZGl2PjxibG9ja3F1b3RlIHN0eWxlPSJ0ZXh0
LWFsaWduOiBqdXN0aWZ5OyI+d29ybGQ8L2Jsb2NrcXVvdGU+Jyk7Cit0ZXN0SnVzdGlmeWluZyhz
ZWxlY3RBbGwsICdKdXN0aWZ5RnVsbCcsICc8aDM+aGVsbG88L2gzPndvcmxkJywgJzxoMyBzdHls
ZT0idGV4dC1hbGlnbjoganVzdGlmeTsiPmhlbGxvPC9oMz48ZGl2IHN0eWxlPSJ0ZXh0LWFsaWdu
OiBqdXN0aWZ5OyI+d29ybGQ8L2Rpdj4nKTsKK3Rlc3RKdXN0aWZ5aW5nKHNlbGVjdEZpcnN0UG9z
aXRpb24sICdKdXN0aWZ5RnVsbCcsICc8ZGl2IHN0eWxlPSJ0ZXh0LWFsaWduOiBqdXN0aWZ5OyI+
aGVsbG88YnI+d29ybGQ8L2Rpdj4nKTsKKworLy8gQmVjYXVzZSB0aGUgZGVmYXVsdCBhbGlnbm1l
bnQgaXMgbGVmdCwgd2UgbmVlZCB0byBmb3JjZSBhIGRpZmZlcmVudCBhbGlnbm1lbnQgdG8gdGVz
dCAibGVmdCIKK3Rlc3RDb250YWluZXIuc3R5bGUudGV4dEFsaWduID0gJ2NlbnRlcic7CisKK2Rl
YnVnKCdcbkxlZnQnKTsKK3Rlc3RKdXN0aWZ5aW5nKHNlbGVjdEZpcnN0UG9zaXRpb24sICdKdXN0
aWZ5TGVmdCcsICcnLCAnPGRpdiBzdHlsZT0idGV4dC1hbGlnbjogbGVmdDsiPjxicj48L2Rpdj4n
KTsKK3Rlc3RKdXN0aWZ5aW5nKHNlbGVjdEZpcnN0UG9zaXRpb24sICdKdXN0aWZ5TGVmdCcsICc8
YnI+JywgJzxkaXYgc3R5bGU9InRleHQtYWxpZ246IGxlZnQ7Ij48YnI+PC9kaXY+Jyk7Cit0ZXN0
SnVzdGlmeWluZyhzZWxlY3RGaXJzdFBvc2l0aW9uLCAnSnVzdGlmeUxlZnQnLCAnPGJyPjxicj4n
LCAnPGRpdiBzdHlsZT0idGV4dC1hbGlnbjogbGVmdDsiPjxicj48L2Rpdj48YnI+Jyk7Cit0ZXN0
SnVzdGlmeWluZyhzZWxlY3RGaXJzdFBvc2l0aW9uLCAnSnVzdGlmeUxlZnQnLCAnaGVsbG8nLCAn
PGRpdiBzdHlsZT0idGV4dC1hbGlnbjogbGVmdDsiPmhlbGxvPC9kaXY+Jyk7Cit0ZXN0SnVzdGlm
eWluZyhzZWxlY3RGaXJzdFBvc2l0aW9uLCAnSnVzdGlmeUxlZnQnLCAnaGVsbG88cD53b3JsZDwv
cD4nLCAnPGRpdiBzdHlsZT0idGV4dC1hbGlnbjogbGVmdDsiPmhlbGxvPC9kaXY+PHA+d29ybGQ8
L3A+Jyk7Cit0ZXN0SnVzdGlmeWluZyhzZWxlY3RGaXJzdFBvc2l0aW9uLCAnSnVzdGlmeUxlZnQn
LCAnPHA+aGVsbG88L3A+d29ybGQnLCAnPHAgc3R5bGU9InRleHQtYWxpZ246IGxlZnQ7Ij5oZWxs
bzwvcD53b3JsZCcpOwordGVzdEp1c3RpZnlpbmcoc2VsZWN0QWxsLCAnSnVzdGlmeUxlZnQnLCAn
aGVsbG88YmxvY2txdW90ZT53b3JsZDwvYmxvY2txdW90ZT4nLCAnPGRpdiBzdHlsZT0idGV4dC1h
bGlnbjogbGVmdDsiPmhlbGxvPC9kaXY+PGJsb2NrcXVvdGUgc3R5bGU9InRleHQtYWxpZ246IGxl
ZnQ7Ij53b3JsZDwvYmxvY2txdW90ZT4nKTsKK3Rlc3RKdXN0aWZ5aW5nKHNlbGVjdEFsbCwgJ0p1
c3RpZnlMZWZ0JywgJzxoMz5oZWxsbzwvaDM+d29ybGQnLCAnPGgzIHN0eWxlPSJ0ZXh0LWFsaWdu
OiBsZWZ0OyI+aGVsbG88L2gzPjxkaXYgc3R5bGU9InRleHQtYWxpZ246IGxlZnQ7Ij53b3JsZDwv
ZGl2PicpOwordGVzdEp1c3RpZnlpbmcoc2VsZWN0Rmlyc3RQb3NpdGlvbiwgJ0p1c3RpZnlMZWZ0
JywgJzxkaXYgc3R5bGU9InRleHQtYWxpZ246IGxlZnQ7Ij5oZWxsbzxicj53b3JsZDwvZGl2Picp
OworCitkZWJ1ZygnXG5SaWdodCcpOwordGVzdEp1c3RpZnlpbmcoc2VsZWN0Rmlyc3RQb3NpdGlv
biwgJ0p1c3RpZnlSaWdodCcsICcnLCAnPGRpdiBzdHlsZT0idGV4dC1hbGlnbjogcmlnaHQ7Ij48
YnI+PC9kaXY+Jyk7Cit0ZXN0SnVzdGlmeWluZyhzZWxlY3RGaXJzdFBvc2l0aW9uLCAnSnVzdGlm
eVJpZ2h0JywgJzxicj4nLCAnPGRpdiBzdHlsZT0idGV4dC1hbGlnbjogcmlnaHQ7Ij48YnI+PC9k
aXY+Jyk7Cit0ZXN0SnVzdGlmeWluZyhzZWxlY3RGaXJzdFBvc2l0aW9uLCAnSnVzdGlmeVJpZ2h0
JywgJzxicj48YnI+JywgJzxkaXYgc3R5bGU9InRleHQtYWxpZ246IHJpZ2h0OyI+PGJyPjwvZGl2
Pjxicj4nKTsKK3Rlc3RKdXN0aWZ5aW5nKHNlbGVjdEZpcnN0UG9zaXRpb24sICdKdXN0aWZ5Umln
aHQnLCAnaGVsbG8nLCAnPGRpdiBzdHlsZT0idGV4dC1hbGlnbjogcmlnaHQ7Ij5oZWxsbzwvZGl2
PicpOwordGVzdEp1c3RpZnlpbmcoc2VsZWN0Rmlyc3RQb3NpdGlvbiwgJ0p1c3RpZnlSaWdodCcs
ICdoZWxsbzxwPndvcmxkPC9wPicsICc8ZGl2IHN0eWxlPSJ0ZXh0LWFsaWduOiByaWdodDsiPmhl
bGxvPC9kaXY+PHA+d29ybGQ8L3A+Jyk7Cit0ZXN0SnVzdGlmeWluZyhzZWxlY3RGaXJzdFBvc2l0
aW9uLCAnSnVzdGlmeVJpZ2h0JywgJzxwPmhlbGxvPC9wPndvcmxkJywgJzxwIHN0eWxlPSJ0ZXh0
LWFsaWduOiByaWdodDsiPmhlbGxvPC9wPndvcmxkJyk7Cit0ZXN0SnVzdGlmeWluZyhzZWxlY3RB
bGwsICdKdXN0aWZ5UmlnaHQnLCAnaGVsbG88YmxvY2txdW90ZT53b3JsZDwvYmxvY2txdW90ZT4n
LCAnPGRpdiBzdHlsZT0idGV4dC1hbGlnbjogcmlnaHQ7Ij5oZWxsbzwvZGl2PjxibG9ja3F1b3Rl
IHN0eWxlPSJ0ZXh0LWFsaWduOiByaWdodDsiPndvcmxkPC9ibG9ja3F1b3RlPicpOwordGVzdEp1
c3RpZnlpbmcoc2VsZWN0QWxsLCAnSnVzdGlmeVJpZ2h0JywgJzxoMz5oZWxsbzwvaDM+d29ybGQn
LCAnPGgzIHN0eWxlPSJ0ZXh0LWFsaWduOiByaWdodDsiPmhlbGxvPC9oMz48ZGl2IHN0eWxlPSJ0
ZXh0LWFsaWduOiByaWdodDsiPndvcmxkPC9kaXY+Jyk7Cit0ZXN0SnVzdGlmeWluZyhzZWxlY3RG
aXJzdFBvc2l0aW9uLCAnSnVzdGlmeVJpZ2h0JywgJzxkaXYgc3R5bGU9InRleHQtYWxpZ246IHJp
Z2h0OyI+aGVsbG88YnI+d29ybGQ8L2Rpdj4nKTsKKworZG9jdW1lbnQuYm9keS5yZW1vdmVDaGls
ZCh0ZXN0Q29udGFpbmVyKTsKK3ZhciBzdWNjZXNzZnVsbHlQYXJzZWQgPSB0cnVlOworCis8L3Nj
cmlwdD4KKzxzY3JpcHQgc3JjPSIuLi8uLi9mYXN0L2pzL3Jlc291cmNlcy9qcy10ZXN0LXBvc3Qu
anMiPjwvc2NyaXB0PgorPC9ib2R5PgorPC9odG1sPgpkaWZmIC0tZ2l0IGEvV2ViQ29yZS9DaGFu
Z2VMb2cgYi9XZWJDb3JlL0NoYW5nZUxvZwppbmRleCBhMzIzMjMwZmM1YzY5Y2RiYTQ2ZTE4NjRl
ZjY5MjQ1MTQ1MjFkYjE5Li4zZTlhMTRiOGEwNjNkNDY3MmU1NGRjODZkOTdiODFkYjYzZjIzNjVj
IDEwMDY0NAotLS0gYS9XZWJDb3JlL0NoYW5nZUxvZworKysgYi9XZWJDb3JlL0NoYW5nZUxvZwpA
QCAtMSwzICsxLDE5IEBACisyMDEwLTEyLTE0ICBSeW9zdWtlIE5pd2EgIDxybml3YUB3ZWJraXQu
b3JnPgorCisgICAgICAgIFJldmlld2VkIGJ5IE5PQk9EWSAoT09QUyEpLgorCisgICAgICAgIGV4
ZWNDb21tYW5kKCdKdXN0aWZ5Q2VudGVyJykgYWRkcyBleHRyYSBCUgorICAgICAgICBodHRwczov
L2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NTEwODIKKworICAgICAgICBUaGUgYnVn
IHdhcyBjYXVzZWQgYnkgbW92ZVBhcmFncmFwaENvbnRlbnRzVG9OZXdCbG9ja0lmTmVjZXNzYXJ5
J3MgYWRkaW5nIGEgcGxhY2Vob2xkZXIgYnIKKyAgICAgICAgdG8gbmV3IGJsb2NrIGFuZCBub3Qg
cmVtb3ZpbmcgaXQgbGF0ZXIuIEZpeGVkIHRoZSBidWcgYnkgcmVtb3ZpbmcgaXQgd2hlbiB0aGUg
cGFyYWdyYXBoCisgICAgICAgIG1vdmVkIGludG8gdGhlIGJsb2NrIGRpZG4ndCBoYXZlIGEgYnIg
YXQgdGhlIGVuZC4KKworICAgICAgICBUZXN0OiBlZGl0aW5nL2V4ZWNDb21tYW5kL2p1c3RpZnku
aHRtbAorCisgICAgICAgICogZWRpdGluZy9Db21wb3NpdGVFZGl0Q29tbWFuZC5jcHA6CisgICAg
ICAgIChXZWJDb3JlOjpDb21wb3NpdGVFZGl0Q29tbWFuZDo6bW92ZVBhcmFncmFwaENvbnRlbnRz
VG9OZXdCbG9ja0lmTmVjZXNzYXJ5KToKKwogMjAxMC0xMi0xMyAgSm9vbmUgSHVyICA8am9vbmVA
a2xkcC5vcmc+CiAKICAgICAgICAgUmV2aWV3ZWQgYnkgRXJpYyBTZWlkZWwuCmRpZmYgLS1naXQg
YS9XZWJDb3JlL2VkaXRpbmcvQ29tcG9zaXRlRWRpdENvbW1hbmQuY3BwIGIvV2ViQ29yZS9lZGl0
aW5nL0NvbXBvc2l0ZUVkaXRDb21tYW5kLmNwcAppbmRleCA5MmUzZGU1NjdkZTU3NDUxMDI1ZTQ0
OTgxYmU4NGViZjg0ZjdiZDE1Li43NDg3NzdkNjBhYmFiMmU5ZmJhMDk2M2NmZDY3MDJlODA5YzE0
OWFmIDEwMDY0NAotLS0gYS9XZWJDb3JlL2VkaXRpbmcvQ29tcG9zaXRlRWRpdENvbW1hbmQuY3Bw
CisrKyBiL1dlYkNvcmUvZWRpdGluZy9Db21wb3NpdGVFZGl0Q29tbWFuZC5jcHAKQEAgLTcxNiw4
ICs3MTYsMTMgQEAgUGFzc1JlZlB0cjxOb2RlPiBDb21wb3NpdGVFZGl0Q29tbWFuZDo6bW92ZVBh
cmFncmFwaENvbnRlbnRzVG9OZXdCbG9ja0lmTmVjZXNzYXIKIAogICAgIFJlZlB0cjxOb2RlPiBu
ZXdCbG9jayA9IGluc2VydE5ld0RlZmF1bHRQYXJhZ3JhcGhFbGVtZW50QXQodXBzdHJlYW1TdGFy
dCk7CiAgICAgCisgICAgYm9vbCBlbmRXYXNCciA9IHZpc2libGVQYXJhZ3JhcGhFbmQuZGVlcEVx
dWl2YWxlbnQoKS5ub2RlKCktPmhhc1RhZ05hbWUoYnJUYWcpOworCiAgICAgbW92ZVBhcmFncmFw
aHModmlzaWJsZVBhcmFncmFwaFN0YXJ0LCB2aXNpYmxlUGFyYWdyYXBoRW5kLCBWaXNpYmxlUG9z
aXRpb24oUG9zaXRpb24obmV3QmxvY2suZ2V0KCksIDApKSk7Ci0gICAgCisKKyAgICBpZiAobmV3
QmxvY2stPmxhc3RDaGlsZCgpICYmIG5ld0Jsb2NrLT5sYXN0Q2hpbGQoKS0+aGFzVGFnTmFtZShi
clRhZykgJiYgIWVuZFdhc0JyKQorICAgICAgICByZW1vdmVOb2RlKG5ld0Jsb2NrLT5sYXN0Q2hp
bGQoKSk7CisKICAgICByZXR1cm4gbmV3QmxvY2sucmVsZWFzZSgpOwogfQogCg==
</data>

          </attachment>
      

    </bug>

</bugzilla>