<?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>70501</bug_id>
          
          <creation_ts>2011-10-20 08:01:49 -0700</creation_ts>
          <short_desc>[Microdata] itemtype attribute should be space-separated list to allow multiple types</short_desc>
          <delta_ts>2011-10-25 09:53:08 -0700</delta_ts>
          <reporter_accessible>1</reporter_accessible>
          <cclist_accessible>1</cclist_accessible>
          <classification_id>1</classification_id>
          <classification>Unclassified</classification>
          <product>WebKit</product>
          <component>DOM</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>
          
          <blocked>68609</blocked>
          <everconfirmed>0</everconfirmed>
          <reporter name="Arko Saha">arko</reporter>
          <assigned_to name="Nobody">webkit-unassigned</assigned_to>
          <cc>abarth</cc>
    
    <cc>darin</cc>
    
    <cc>dglazkov</cc>
    
    <cc>eoconnor</cc>
    
    <cc>ojan</cc>
    
    <cc>rniwa</cc>
    
    <cc>sam</cc>
    
    <cc>webkit.review.bot</cc>
          

      

      

      

          <comment_sort_order>oldest_to_newest</comment_sort_order>  
          <long_desc isprivate="0" >
    <commentid>487568</commentid>
    <comment_count>0</comment_count>
    <who name="Arko Saha">arko</who>
    <bug_when>2011-10-20 08:01:49 -0700</bug_when>
    <thetext>Incorporating W3C the spec changes:

1. Microdata itemtype attribute is now a space-separated list of types rather than a single type, so that it can allow multiple types if they share the same vocabulary.
This is added in the spec in the revision number : http://html5.org/r/6668.
Spec: http://www.whatwg.org/specs/web-apps/current-work/#attr-itemtype

2. getItems() should return all the elements in the document that are each top-level microdata items whose types include all the types specified in the method&apos;s argument.
This is added in the spec in the revision number : http://html5.org/r/6680.
Spec: http://www.whatwg.org/specs/web-apps/current-work/#dom-document-getitems</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>487577</commentid>
    <comment_count>1</comment_count>
      <attachid>111776</attachid>
    <who name="Arko Saha">arko</who>
    <bug_when>2011-10-20 08:14:36 -0700</bug_when>
    <thetext>Created attachment 111776
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>489665</commentid>
    <comment_count>2</comment_count>
      <attachid>111776</attachid>
    <who name="Ryosuke Niwa">rniwa</who>
    <bug_when>2011-10-24 14:51:35 -0700</bug_when>
    <thetext>Comment on attachment 111776
Patch

View in context: https://bugs.webkit.org/attachment.cgi?id=111776&amp;action=review

&gt; LayoutTests/fast/dom/MicroData/006-expected.txt:5
&gt;  PASS document.getItems(&apos; http://example.com/foo http://example.com/bar &apos;).length == 2 is true
&gt; -PASS document.getItems(&apos; http://example.com/foo data:text/plain &apos;).length == 2 is true
&gt; -PASS document.getItems(&apos; http://example.com/foo data:text/plain http://example.com/foo&apos;).length == 2 is true
&gt; +PASS document.getItems(&apos;  http://example.com/foo  http://example.com/bar  http://example.com/foo&apos;).length == 2 is true

Why the change?

&gt; LayoutTests/fast/dom/MicroData/006.html:11
&gt; -&lt;div itemscope itemtype=&quot;http://example.com/foo&quot;&gt;&lt;/div&gt;
&gt; -&lt;div itemscope itemtype=&quot;http://example.com/bar&quot;&gt;
&gt; -&lt;div itemscope itemtype=&quot;data:text/plain&quot;&gt;&lt;/div&gt;
&gt; +&lt;div itemscope itemtype=&quot;http://example.com/foo http://example.com/bar&quot;&gt;&lt;/div&gt;
&gt; +&lt;div itemscope itemtype=&quot;http://example.com/bar http://example.com/foo&quot;&gt;

Ditto.

&gt; LayoutTests/fast/dom/MicroData/006.html:16
&gt; -shouldBeTrue(&quot;document.getItems(&apos; http://example.com/foo  data:text/plain  &apos;).length == 2&quot;);
&gt; -shouldBeTrue(&quot;document.getItems(&apos;  http://example.com/foo  data:text/plain  http://example.com/foo&apos;).length == 2&quot;);
&gt; +shouldBeTrue(&quot;document.getItems(&apos;  http://example.com/foo  http://example.com/bar  http://example.com/foo&apos;).length == 2&quot;);

Ditto.

&gt; LayoutTests/fast/dom/MicroData/itemtype-add-remove-tokens.html:35
&gt; +debug(&quot;&lt;br&gt;itemType.remove must not make any changes if a non-existing token is removed.&quot;);

&quot;non-existing token is removed&quot; sounds odd. How about &quot;remove is called for a token that doesn&apos;t exist&quot;?</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>489910</commentid>
    <comment_count>3</comment_count>
    <who name="Arko Saha">arko</who>
    <bug_when>2011-10-25 01:13:27 -0700</bug_when>
    <thetext>(In reply to comment #2)
&gt; (From update of attachment 111776 [details])
&gt; View in context: https://bugs.webkit.org/attachment.cgi?id=111776&amp;action=review
&gt; 

&gt; &gt; LayoutTests/fast/dom/MicroData/006.html:11
&gt; &gt; -&lt;div itemscope itemtype=&quot;http://example.com/foo&quot;&gt;&lt;/div&gt;
&gt; &gt; -&lt;div itemscope itemtype=&quot;http://example.com/bar&quot;&gt;
&gt; &gt; -&lt;div itemscope itemtype=&quot;data:text/plain&quot;&gt;&lt;/div&gt;
&gt; &gt; +&lt;div itemscope itemtype=&quot;http://example.com/foo http://example.com/bar&quot;&gt;&lt;/div&gt;
&gt; &gt; +&lt;div itemscope itemtype=&quot;http://example.com/bar http://example.com/foo&quot;&gt;
&gt; 
&gt; Why the change?

Accroding to the latest spec getItems() should return all the elements that are each top-level microdata items whose types include &quot;all the types specified&quot; in the method&apos;s argument.
Earlier the spec specified that getItems() should return all the elements that are each top-level microdata items whose types include &quot;any one of the types specified&quot; in the method&apos;s argument.

So if we do not modify the below test-case,

-&lt;div itemscope itemtype=&quot;http://example.com/foo&quot;&gt;&lt;/div&gt;
-&lt;div itemscope itemtype=&quot;http://example.com/bar&quot;&gt;
+&lt;div itemscope itemtype=&quot;http://example.com/foo http://example.com/bar&quot;&gt;&lt;/div&gt;
+&lt;div itemscope itemtype=&quot;http://example.com/bar http://example.com/foo&quot;&gt;

document.getItems(&apos; http://example.com/foo http://example.com/bar &apos;).length == 2 will always be false. Hence I made this changes.
And I have modified this test-case more perfect in my new patch.

&gt; 
&gt; &gt; LayoutTests/fast/dom/MicroData/itemtype-add-remove-tokens.html:35
&gt; &gt; +debug(&quot;&lt;br&gt;itemType.remove must not make any changes if a non-existing token is removed.&quot;);
&gt; 
&gt; &quot;non-existing token is removed&quot; sounds odd. How about &quot;remove is called for a token that doesn&apos;t exist&quot;?
Done!</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>489915</commentid>
    <comment_count>4</comment_count>
      <attachid>112305</attachid>
    <who name="Arko Saha">arko</who>
    <bug_when>2011-10-25 01:20:17 -0700</bug_when>
    <thetext>Created attachment 112305
Updated patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>490078</commentid>
    <comment_count>5</comment_count>
      <attachid>112305</attachid>
    <who name="WebKit Review Bot">webkit.review.bot</who>
    <bug_when>2011-10-25 09:53:03 -0700</bug_when>
    <thetext>Comment on attachment 112305
Updated patch

Clearing flags on attachment: 112305

Committed r98353: &lt;http://trac.webkit.org/changeset/98353&gt;</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>490079</commentid>
    <comment_count>6</comment_count>
    <who name="WebKit Review Bot">webkit.review.bot</who>
    <bug_when>2011-10-25 09:53:08 -0700</bug_when>
    <thetext>All reviewed patches have been landed.  Closing bug.</thetext>
  </long_desc>
      
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>111776</attachid>
            <date>2011-10-20 08:14:36 -0700</date>
            <delta_ts>2011-10-25 01:20:17 -0700</delta_ts>
            <desc>Patch</desc>
            <filename>patch_70501.diff</filename>
            <type>text/plain</type>
            <size>18107</size>
            <attacher name="Arko Saha">arko</attacher>
            
              <data encoding="base64">SW5kZXg6IFNvdXJjZS9XZWJDb3JlL0NoYW5nZUxvZwo9PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBTb3VyY2UvV2Vi
Q29yZS9DaGFuZ2VMb2cJKHJldmlzaW9uIDk3OTc5KQorKysgU291cmNlL1dlYkNvcmUvQ2hhbmdl
TG9nCSh3b3JraW5nIGNvcHkpCkBAIC0xLDMgKzEsMjUgQEAKKzIwMTEtMTAtMjAgIEFya28gU2Fo
YSAgPGFya29AbW90b3JvbGEuY29tPgorCisgICAgICAgIE1pY3JvZGF0YTogaXRlbXR5cGUgYXR0
cmlidXRlIHNob3VsZCBiZSBzcGFjZS1zZXBhcmF0ZWQgbGlzdCB0byBhbGxvdyBtdWx0aXBsZSB0
eXBlcy4KKyAgICAgICAgaHR0cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hvd19idWcuY2dpP2lkPTcw
NTAxCisKKyAgICAgICAgUmV2aWV3ZWQgYnkgTk9CT0RZIChPT1BTISkuCisKKyAgICAgICAgVGVz
dHM6IGZhc3QvZG9tL01pY3JvRGF0YS9nZXRpdGVtcy1tdWx0aXBsZS1pdGVtdHlwZXMuaHRtbAor
ICAgICAgICAgICAgICAgZmFzdC9kb20vTWljcm9EYXRhL2l0ZW10eXBlLWFkZC1yZW1vdmUtdG9r
ZW5zLmh0bWwKKyAgICAgICAgICAgICAgIGZhc3QvZG9tL01pY3JvRGF0YS9pdGVtdHlwZS1hdHRy
aWJ1dGUtdGVzdC5odG1sCisKKyAgICAgICAgKiBkb20vTWljcm9EYXRhSXRlbUxpc3QuY3BwOgor
ICAgICAgICAoV2ViQ29yZTo6TWljcm9EYXRhSXRlbUxpc3Q6Om5vZGVNYXRjaGVzKToKKyAgICAg
ICAgKiBodG1sL0RPTVNldHRhYmxlVG9rZW5MaXN0Lmg6CisgICAgICAgIChXZWJDb3JlOjpET01T
ZXR0YWJsZVRva2VuTGlzdDo6dG9rZW5zKToKKyAgICAgICAgKiBodG1sL0hUTUxFbGVtZW50LmNw
cDoKKyAgICAgICAgKFdlYkNvcmU6OkhUTUxFbGVtZW50OjpwYXJzZU1hcHBlZEF0dHJpYnV0ZSk6
CisgICAgICAgIChXZWJDb3JlOjpIVE1MRWxlbWVudDo6aXRlbVR5cGUpOgorICAgICAgICAoV2Vi
Q29yZTo6SFRNTEVsZW1lbnQ6OnNldEl0ZW1UeXBlKToKKyAgICAgICAgKiBodG1sL0hUTUxFbGVt
ZW50Lmg6CisgICAgICAgICogaHRtbC9IVE1MRWxlbWVudC5pZGw6CisKIDIwMTEtMTAtMjAgIEls
eWEgVGlraG9ub3Zza3kgIDxsb2lzbG9AY2hyb21pdW0ub3JnPgogCiAgICAgICAgIFVucmV2aWV3
ZWQgZml4IGZvciBEYXRlLnByb3RvdHlwZS50b0lTTzg2MDFDb21wYWN0LgpJbmRleDogU291cmNl
L1dlYkNvcmUvZG9tL01pY3JvRGF0YUl0ZW1MaXN0LmNwcAo9PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBTb3VyY2Uv
V2ViQ29yZS9kb20vTWljcm9EYXRhSXRlbUxpc3QuY3BwCShyZXZpc2lvbiA5Nzk3OSkKKysrIFNv
dXJjZS9XZWJDb3JlL2RvbS9NaWNyb0RhdGFJdGVtTGlzdC5jcHAJKHdvcmtpbmcgY29weSkKQEAg
LTMyLDEwICszMiwxMCBAQAogI2luY2x1ZGUgIkhUTUxFbGVtZW50LmgiCiAjaW5jbHVkZSAiSFRN
TE5hbWVzLmgiCiAKLXVzaW5nIG5hbWVzcGFjZSBIVE1MTmFtZXM7Ci0KIG5hbWVzcGFjZSBXZWJD
b3JlIHsKIAordXNpbmcgbmFtZXNwYWNlIEhUTUxOYW1lczsKKwogTWljcm9EYXRhSXRlbUxpc3Q6
Ok1pY3JvRGF0YUl0ZW1MaXN0KFBhc3NSZWZQdHI8Tm9kZT4gcm9vdE5vZGUsIGNvbnN0IFN0cmlu
ZyYgdHlwZU5hbWVzKQogICAgIDogRHluYW1pY05vZGVMaXN0KHJvb3ROb2RlKQogICAgICwgbV90
eXBlTmFtZXModHlwZU5hbWVzLCBtX3Jvb3ROb2RlLT5kb2N1bWVudCgpLT5pblF1aXJrc01vZGUo
KSkKQEAgLTYwLDcgKzYwLDcgQEAgYm9vbCBNaWNyb0RhdGFJdGVtTGlzdDo6bm9kZU1hdGNoZXMo
RWxlbQogICAgIGlmICghbV90eXBlTmFtZXMuc2l6ZSgpKQogICAgICAgICByZXR1cm4gdHJ1ZTsK
IAotICAgIHJldHVybiBtX3R5cGVOYW1lcy5jb250YWlucyh0ZXN0RWxlbWVudC0+ZmFzdEdldEF0
dHJpYnV0ZShpdGVtdHlwZUF0dHIpKTsKKyAgICByZXR1cm4gdGVzdEVsZW1lbnQtPml0ZW1UeXBl
KCktPnRva2VucygpLmNvbnRhaW5zQWxsKG1fdHlwZU5hbWVzKTsKIH0KIAogfSAvLyBuYW1lc3Bh
Y2UgV2ViQ29yZQpJbmRleDogU291cmNlL1dlYkNvcmUvaHRtbC9ET01TZXR0YWJsZVRva2VuTGlz
dC5oCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT0KLS0tIFNvdXJjZS9XZWJDb3JlL2h0bWwvRE9NU2V0dGFibGVUb2tlbkxp
c3QuaAkocmV2aXNpb24gOTc5NzkpCisrKyBTb3VyY2UvV2ViQ29yZS9odG1sL0RPTVNldHRhYmxl
VG9rZW5MaXN0LmgJKHdvcmtpbmcgY29weSkKQEAgLTU1LDYgKzU1LDcgQEAgcHVibGljOgogICAg
IHZpcnR1YWwgU3RyaW5nIHRvU3RyaW5nKCkgY29uc3QgeyByZXR1cm4gdmFsdWUoKTsgfQogCiAg
ICAgU3RyaW5nIHZhbHVlKCkgY29uc3QgeyByZXR1cm4gbV92YWx1ZTsgfQorICAgIGNvbnN0IFNw
YWNlU3BsaXRTdHJpbmcmIHRva2VucygpIGNvbnN0IHsgcmV0dXJuIG1fdG9rZW5zOyB9CiAgICAg
dm9pZCBzZXRWYWx1ZShjb25zdCBTdHJpbmcmKTsKIAogcHJpdmF0ZToKSW5kZXg6IFNvdXJjZS9X
ZWJDb3JlL2h0bWwvSFRNTEVsZW1lbnQuY3BwCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIFNvdXJjZS9XZWJDb3Jl
L2h0bWwvSFRNTEVsZW1lbnQuY3BwCShyZXZpc2lvbiA5Nzk3OSkKKysrIFNvdXJjZS9XZWJDb3Jl
L2h0bWwvSFRNTEVsZW1lbnQuY3BwCSh3b3JraW5nIGNvcHkpCkBAIC0xOTcsNiArMTk3LDcgQEAg
dm9pZCBIVE1MRWxlbWVudDo6cGFyc2VNYXBwZWRBdHRyaWJ1dGUoQQogICAgICAgICAgICAgYWRk
Q1NTUHJvcGVydHkoYXR0ciwgQ1NTUHJvcGVydHlXZWJraXRVc2VyRHJhZywgQ1NTVmFsdWVOb25l
KTsKICNpZiBFTkFCTEUoTUlDUk9EQVRBKQogICAgIH0gZWxzZSBpZiAoYXR0ci0+bmFtZSgpID09
IGl0ZW10eXBlQXR0cikgeworICAgICAgICBzZXRJdGVtVHlwZShhdHRyLT52YWx1ZSgpKTsKICAg
ICAgICAgaXRlbVR5cGVBdHRyaWJ1dGVDaGFuZ2VkKCk7CiAjZW5kaWYKICAgICB9CkBAIC05NzUs
NiArOTc2LDI0IEBAIHZvaWQgSFRNTEVsZW1lbnQ6OmFkanVzdERpcmVjdGlvbmFsaXR5SWYKICAg
ICB9CiB9CiAKKyNpZiBFTkFCTEUoTUlDUk9EQVRBKQorUGFzc1JlZlB0cjxET01TZXR0YWJsZVRv
a2VuTGlzdD4gSFRNTEVsZW1lbnQ6Oml0ZW1UeXBlKCkgY29uc3QKK3sKKyAgICBpZiAoIW1faXRl
bVR5cGUpCisgICAgICAgIG1faXRlbVR5cGUgPSBET01TZXR0YWJsZVRva2VuTGlzdDo6Y3JlYXRl
KCk7CisKKyAgICByZXR1cm4gbV9pdGVtVHlwZTsKK30KKwordm9pZCBIVE1MRWxlbWVudDo6c2V0
SXRlbVR5cGUoY29uc3QgU3RyaW5nJiB2YWx1ZSkKK3sKKyAgICBpZiAoIW1faXRlbVR5cGUpCisg
ICAgICAgIG1faXRlbVR5cGUgPSBET01TZXR0YWJsZVRva2VuTGlzdDo6Y3JlYXRlKCk7CisKKyAg
ICBtX2l0ZW1UeXBlLT5zZXRWYWx1ZSh2YWx1ZSk7Cit9CisjZW5kaWYKKwogfSAvLyBuYW1lc3Bh
Y2UgV2ViQ29yZQogCiAjaWZuZGVmIE5ERUJVRwpJbmRleDogU291cmNlL1dlYkNvcmUvaHRtbC9I
VE1MRWxlbWVudC5oCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIFNvdXJjZS9XZWJDb3JlL2h0bWwvSFRNTEVsZW1l
bnQuaAkocmV2aXNpb24gOTc5NzkpCisrKyBTb3VyY2UvV2ViQ29yZS9odG1sL0hUTUxFbGVtZW50
LmgJKHdvcmtpbmcgY29weSkKQEAgLTI1LDYgKzI1LDEwIEBACiAKICNpbmNsdWRlICJTdHlsZWRF
bGVtZW50LmgiCiAKKyNpZiBFTkFCTEUoTUlDUk9EQVRBKQorI2luY2x1ZGUgIkRPTVNldHRhYmxl
VG9rZW5MaXN0LmgiCisjZW5kaWYKKwogbmFtZXNwYWNlIFdlYkNvcmUgewogCiBjbGFzcyBEb2N1
bWVudEZyYWdtZW50OwpAQCAtODEsNiArODUsMTAgQEAgcHVibGljOgogCiAgICAgVGV4dERpcmVj
dGlvbiBkaXJlY3Rpb25hbGl0eUlmaGFzRGlyQXV0b0F0dHJpYnV0ZShib29sJiBpc0F1dG8pIGNv
bnN0OwogCisjaWYgRU5BQkxFKE1JQ1JPREFUQSkKKyAgICBQYXNzUmVmUHRyPERPTVNldHRhYmxl
VG9rZW5MaXN0PiBpdGVtVHlwZSgpIGNvbnN0OworI2VuZGlmCisKIHByb3RlY3RlZDoKICAgICBI
VE1MRWxlbWVudChjb25zdCBRdWFsaWZpZWROYW1lJiB0YWdOYW1lLCBEb2N1bWVudCopOwogCkBA
IC0xMDcsNiArMTE1LDExIEBAIHByaXZhdGU6CiAgICAgdm9pZCBhZGp1c3REaXJlY3Rpb25hbGl0
eUlmTmVlZGVkQWZ0ZXJDaGlsZEF0dHJpYnV0ZUNoYW5nZWQoRWxlbWVudCogY2hpbGQpOwogICAg
IHZvaWQgYWRqdXN0RGlyZWN0aW9uYWxpdHlJZk5lZWRlZEFmdGVyQ2hpbGRyZW5DaGFuZ2VkKE5v
ZGUqIGJlZm9yZUNoYW5nZSwgaW50IGNoaWxkQ291bnREZWx0YSk7CiAgICAgVGV4dERpcmVjdGlv
biBkaXJlY3Rpb25hbGl0eShOb2RlKiogc3Ryb25nRGlyZWN0aW9uYWxpdHlUZXh0Tm9kZT0gMCkg
Y29uc3Q7CisKKyNpZiBFTkFCTEUoTUlDUk9EQVRBKQorICAgIHZvaWQgc2V0SXRlbVR5cGUoY29u
c3QgU3RyaW5nJik7CisgICAgbXV0YWJsZSBSZWZQdHI8RE9NU2V0dGFibGVUb2tlbkxpc3Q+IG1f
aXRlbVR5cGU7CisjZW5kaWYKIH07CiAKIGlubGluZSBIVE1MRWxlbWVudCogdG9IVE1MRWxlbWVu
dChOb2RlKiBub2RlKQpJbmRleDogU291cmNlL1dlYkNvcmUvaHRtbC9IVE1MRWxlbWVudC5pZGwK
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PQotLS0gU291cmNlL1dlYkNvcmUvaHRtbC9IVE1MRWxlbWVudC5pZGwJKHJldmlz
aW9uIDk3OTc5KQorKysgU291cmNlL1dlYkNvcmUvaHRtbC9IVE1MRWxlbWVudC5pZGwJKHdvcmtp
bmcgY29weSkKQEAgLTY3LDcgKzY3LDcgQEAgbW9kdWxlIGh0bWwgewogICAgICAgICAgICAgICAg
ICBhdHRyaWJ1dGUgYm9vbGVhbiBzcGVsbGNoZWNrOwogCiAgICAgICAgICAgICAgICAgIGF0dHJp
YnV0ZSBbQ29uZGl0aW9uYWw9TUlDUk9EQVRBLCBSZWZsZWN0XSBib29sZWFuIGl0ZW1TY29wZTsK
LSAgICAgICAgICAgICAgICAgYXR0cmlidXRlIFtDb25kaXRpb25hbD1NSUNST0RBVEEsIFJlZmxl
Y3RdIERPTVN0cmluZyBpdGVtVHlwZTsKKyAgICAgICAgcmVhZG9ubHkgYXR0cmlidXRlIFtDb25k
aXRpb25hbD1NSUNST0RBVEFdIERPTVNldHRhYmxlVG9rZW5MaXN0IGl0ZW1UeXBlOwogICAgICAg
ICAgICAgICAgICBhdHRyaWJ1dGUgW0NvbmRpdGlvbmFsPU1JQ1JPREFUQSwgUmVmbGVjdF0gRE9N
U3RyaW5nIGl0ZW1JZDsKIAogI2lmIGRlZmluZWQoTEFOR1VBR0VfT0JKRUNUSVZFX0MpICYmIExB
TkdVQUdFX09CSkVDVElWRV9DCkluZGV4OiBMYXlvdXRUZXN0cy9DaGFuZ2VMb2cKPT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PQotLS0gTGF5b3V0VGVzdHMvQ2hhbmdlTG9nCShyZXZpc2lvbiA5Nzk3OSkKKysrIExheW91dFRl
c3RzL0NoYW5nZUxvZwkod29ya2luZyBjb3B5KQpAQCAtMSwzICsxLDIwIEBACisyMDExLTEwLTIw
ICBBcmtvIFNhaGEgIDxhcmtvQG1vdG9yb2xhLmNvbT4KKworICAgICAgICBNaWNyb2RhdGE6IGl0
ZW10eXBlIGF0dHJpYnV0ZSBzaG91bGQgYmUgc3BhY2Utc2VwYXJhdGVkIGxpc3QgdG8gYWxsb3cg
bXVsdGlwbGUgdHlwZXMKKyAgICAgICAgaHR0cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hvd19idWcu
Y2dpP2lkPTcwNTAxCisKKyAgICAgICAgUmV2aWV3ZWQgYnkgTk9CT0RZIChPT1BTISkuCisKKyAg
ICAgICAgKiBmYXN0L2RvbS9NaWNyb0RhdGEvMDA2LWV4cGVjdGVkLnR4dDoKKyAgICAgICAgKiBm
YXN0L2RvbS9NaWNyb0RhdGEvMDA2Lmh0bWw6CisgICAgICAgICogZmFzdC9kb20vTWljcm9EYXRh
LzAwNy5odG1sOgorICAgICAgICAqIGZhc3QvZG9tL01pY3JvRGF0YS9nZXRpdGVtcy1tdWx0aXBs
ZS1pdGVtdHlwZXMtZXhwZWN0ZWQudHh0OiBBZGRlZC4KKyAgICAgICAgKiBmYXN0L2RvbS9NaWNy
b0RhdGEvZ2V0aXRlbXMtbXVsdGlwbGUtaXRlbXR5cGVzLmh0bWw6IEFkZGVkLgorICAgICAgICAq
IGZhc3QvZG9tL01pY3JvRGF0YS9pdGVtdHlwZS1hZGQtcmVtb3ZlLXRva2Vucy1leHBlY3RlZC50
eHQ6IEFkZGVkLgorICAgICAgICAqIGZhc3QvZG9tL01pY3JvRGF0YS9pdGVtdHlwZS1hZGQtcmVt
b3ZlLXRva2Vucy5odG1sOiBBZGRlZC4KKyAgICAgICAgKiBmYXN0L2RvbS9NaWNyb0RhdGEvaXRl
bXR5cGUtYXR0cmlidXRlLXRlc3QtZXhwZWN0ZWQudHh0OiBBZGRlZC4KKyAgICAgICAgKiBmYXN0
L2RvbS9NaWNyb0RhdGEvaXRlbXR5cGUtYXR0cmlidXRlLXRlc3QuaHRtbDogQWRkZWQuCisKIDIw
MTEtMTAtMjAgIFZzZXZvbG9kIFZsYXNvdiAgPHZzZXZpa0BjaHJvbWl1bS5vcmc+CiAKICAgICAg
ICAgV2ViIEluc3BlY3RvcjogQWR2YW5jZWQgc2VhcmNoIHJlc3VsdHMgc2hvdWxkIGtlZXAgd29y
a2luZyBhZnRlciBwcmV0dHkgcHJpbnQgdG9nZ2xlZC4KSW5kZXg6IExheW91dFRlc3RzL2Zhc3Qv
ZG9tL01pY3JvRGF0YS8wMDYtZXhwZWN0ZWQudHh0Cj09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIExheW91dFRlc3Rz
L2Zhc3QvZG9tL01pY3JvRGF0YS8wMDYtZXhwZWN0ZWQudHh0CShyZXZpc2lvbiA5Nzk3OSkKKysr
IExheW91dFRlc3RzL2Zhc3QvZG9tL01pY3JvRGF0YS8wMDYtZXhwZWN0ZWQudHh0CSh3b3JraW5n
IGNvcHkpCkBAIC0yLDggKzIsNyBAQCBUaGlzIHRlc3RzIHRoYXQgZG9jdW1lbnQuZ2V0SXRlbXMg
bXVzdCBsCiBUaGlzIHRlc3QgYWxzbyBlbnN1cmUgdGhhdCBkb2N1bWVudC5nZXRJdGVtcyBtdXN0
IGlnbm9yZSBkdXBsaWNhdGVkIHRva2Vucy4KIAogUEFTUyBkb2N1bWVudC5nZXRJdGVtcygnIGh0
dHA6Ly9leGFtcGxlLmNvbS9mb28gaHR0cDovL2V4YW1wbGUuY29tL2JhciAnKS5sZW5ndGggPT0g
MiBpcyB0cnVlCi1QQVNTIGRvY3VtZW50LmdldEl0ZW1zKCcgaHR0cDovL2V4YW1wbGUuY29tL2Zv
byBkYXRhOnRleHQvcGxhaW4gJykubGVuZ3RoID09IDIgaXMgdHJ1ZQotUEFTUyBkb2N1bWVudC5n
ZXRJdGVtcygnIGh0dHA6Ly9leGFtcGxlLmNvbS9mb28gZGF0YTp0ZXh0L3BsYWluIGh0dHA6Ly9l
eGFtcGxlLmNvbS9mb28nKS5sZW5ndGggPT0gMiBpcyB0cnVlCitQQVNTIGRvY3VtZW50LmdldEl0
ZW1zKCcgIGh0dHA6Ly9leGFtcGxlLmNvbS9mb28gIGh0dHA6Ly9leGFtcGxlLmNvbS9iYXIgIGh0
dHA6Ly9leGFtcGxlLmNvbS9mb28nKS5sZW5ndGggPT0gMiBpcyB0cnVlCiBQQVNTIHN1Y2Nlc3Nm
dWxseVBhcnNlZCBpcyB0cnVlCiAKIFRFU1QgQ09NUExFVEUKSW5kZXg6IExheW91dFRlc3RzL2Zh
c3QvZG9tL01pY3JvRGF0YS8wMDYuaHRtbAo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBMYXlvdXRUZXN0cy9mYXN0
L2RvbS9NaWNyb0RhdGEvMDA2Lmh0bWwJKHJldmlzaW9uIDk3OTc5KQorKysgTGF5b3V0VGVzdHMv
ZmFzdC9kb20vTWljcm9EYXRhLzAwNi5odG1sCSh3b3JraW5nIGNvcHkpCkBAIC03LDE1ICs3LDEz
IEBACiA8cD5UaGlzIHRlc3RzIHRoYXQgZG9jdW1lbnQuZ2V0SXRlbXMgbXVzdCBsb2NhdGUgaXRl
bXMgd2hlbiBwYXJhbWV0ZXJzIGFyZSBzZXBhcmF0ZWQgYnkgc3BhY2VzLgogPGJyPlRoaXMgdGVz
dCBhbHNvIGVuc3VyZSB0aGF0IGRvY3VtZW50LmdldEl0ZW1zIG11c3QgaWdub3JlIGR1cGxpY2F0
ZWQgdG9rZW5zLgogPC9wPgotPGRpdiBpdGVtc2NvcGUgaXRlbXR5cGU9Imh0dHA6Ly9leGFtcGxl
LmNvbS9mb28iPjwvZGl2PgotPGRpdiBpdGVtc2NvcGUgaXRlbXR5cGU9Imh0dHA6Ly9leGFtcGxl
LmNvbS9iYXIiPgotPGRpdiBpdGVtc2NvcGUgaXRlbXR5cGU9ImRhdGE6dGV4dC9wbGFpbiI+PC9k
aXY+Cis8ZGl2IGl0ZW1zY29wZSBpdGVtdHlwZT0iaHR0cDovL2V4YW1wbGUuY29tL2ZvbyBodHRw
Oi8vZXhhbXBsZS5jb20vYmFyIj48L2Rpdj4KKzxkaXYgaXRlbXNjb3BlIGl0ZW10eXBlPSJodHRw
Oi8vZXhhbXBsZS5jb20vYmFyIGh0dHA6Ly9leGFtcGxlLmNvbS9mb28iPgogPC9kaXY+CiA8ZGl2
IGlkPSJjb25zb2xlIj48L2Rpdj4KIDxzY3JpcHQ+CiBzaG91bGRCZVRydWUoImRvY3VtZW50Lmdl
dEl0ZW1zKCcgaHR0cDovL2V4YW1wbGUuY29tL2ZvbyBodHRwOi8vZXhhbXBsZS5jb20vYmFyICcp
Lmxlbmd0aCA9PSAyIik7Ci1zaG91bGRCZVRydWUoImRvY3VtZW50LmdldEl0ZW1zKCcgaHR0cDov
L2V4YW1wbGUuY29tL2ZvbyAgZGF0YTp0ZXh0L3BsYWluICAnKS5sZW5ndGggPT0gMiIpOwotc2hv
dWxkQmVUcnVlKCJkb2N1bWVudC5nZXRJdGVtcygnICBodHRwOi8vZXhhbXBsZS5jb20vZm9vICBk
YXRhOnRleHQvcGxhaW4gIGh0dHA6Ly9leGFtcGxlLmNvbS9mb28nKS5sZW5ndGggPT0gMiIpOwor
c2hvdWxkQmVUcnVlKCJkb2N1bWVudC5nZXRJdGVtcygnICBodHRwOi8vZXhhbXBsZS5jb20vZm9v
ICBodHRwOi8vZXhhbXBsZS5jb20vYmFyICBodHRwOi8vZXhhbXBsZS5jb20vZm9vJykubGVuZ3Ro
ID09IDIiKTsKIAogdmFyIHN1Y2Nlc3NmdWxseVBhcnNlZCA9IHRydWU7CiA8L3NjcmlwdD4KSW5k
ZXg6IExheW91dFRlc3RzL2Zhc3QvZG9tL01pY3JvRGF0YS8wMDcuaHRtbAo9PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0t
LSBMYXlvdXRUZXN0cy9mYXN0L2RvbS9NaWNyb0RhdGEvMDA3Lmh0bWwJKHJldmlzaW9uIDk3OTc5
KQorKysgTGF5b3V0VGVzdHMvZmFzdC9kb20vTWljcm9EYXRhLzAwNy5odG1sCSh3b3JraW5nIGNv
cHkpCkBAIC0xNCw3ICsxNCw3IEBACiA8ZGl2IGl0ZW1zY29wZSBpZD0iZml2ZSI+PC9kaXY+CiA8
ZGl2IGlkPSJjb25zb2xlIj48L2Rpdj4KIDxzY3JpcHQ+Ci12YXIgbm9kZUxpc3QgPSBkb2N1bWVu
dC5nZXRJdGVtcygnaHR0cDovL2V4YW1wbGUuY29tL2JhciBkYXRhOnRleHQvcGxhaW4sIGh0dHA6
Ly9leGFtcGxlLmNvbS9mb28nKTsKK3ZhciBub2RlTGlzdCA9IGRvY3VtZW50LmdldEl0ZW1zKCk7
CiAKIHNob3VsZEJlKCJub2RlTGlzdFswXS5pZCIsICInb25lJyIpOwogc2hvdWxkQmUoIm5vZGVM
aXN0WzFdLmlkIiwgIid0d28nIik7CkluZGV4OiBMYXlvdXRUZXN0cy9mYXN0L2RvbS9NaWNyb0Rh
dGEvZ2V0aXRlbXMtbXVsdGlwbGUtaXRlbXR5cGVzLWV4cGVjdGVkLnR4dAo9PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0t
LSBMYXlvdXRUZXN0cy9mYXN0L2RvbS9NaWNyb0RhdGEvZ2V0aXRlbXMtbXVsdGlwbGUtaXRlbXR5
cGVzLWV4cGVjdGVkLnR4dAkocmV2aXNpb24gMCkKKysrIExheW91dFRlc3RzL2Zhc3QvZG9tL01p
Y3JvRGF0YS9nZXRpdGVtcy1tdWx0aXBsZS1pdGVtdHlwZXMtZXhwZWN0ZWQudHh0CShyZXZpc2lv
biAwKQpAQCAtMCwwICsxLDggQEAKK1RoaXMgdGVzdCBlbnN1cmVzIHRoYXQgZG9jdW1lbnQuZ2V0
SXRlbXMoKSByZXR1cm5zIG5vZGVzIHRoYXQgbWF0Y2ggYWxsIHRoZSB0eXBlcyBzcGVjaWZpZWQg
aW4gdGhlIG1ldGhvZCdzIGFyZ3VtZW50LgorCitkb2N1bWVudC5nZXRJdGVtcygpIHdpdGggbXVs
dGlwbGUgaXRlbXR5cGVzOiBQQVNTCitkb2N1bWVudC5nZXRJdGVtcygpIHdpdGggbXVsdGlwbGUg
aXRlbXR5cGVzOiBQQVNTCitkb2N1bWVudC5nZXRJdGVtcygpIHdpdGggJ2h0dHA6Ly9leGFtcGxl
LmNvbS9mb28nIGl0ZW10eXBlIGluIHRoZSBhdXJndW1lbnQ6IFBBU1MKK2RvY3VtZW50LmdldEl0
ZW1zKCkgd2l0aCAnaHR0cDovL2V4YW1wbGUuY29tL2JhcicgaXRlbXR5cGUgaW4gdGhlIGF1cmd1
bWVudDogUEFTUworCitURVNUIENPTVBMRVRFCkluZGV4OiBMYXlvdXRUZXN0cy9mYXN0L2RvbS9N
aWNyb0RhdGEvZ2V0aXRlbXMtbXVsdGlwbGUtaXRlbXR5cGVzLmh0bWwKPT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0g
TGF5b3V0VGVzdHMvZmFzdC9kb20vTWljcm9EYXRhL2dldGl0ZW1zLW11bHRpcGxlLWl0ZW10eXBl
cy5odG1sCShyZXZpc2lvbiAwKQorKysgTGF5b3V0VGVzdHMvZmFzdC9kb20vTWljcm9EYXRhL2dl
dGl0ZW1zLW11bHRpcGxlLWl0ZW10eXBlcy5odG1sCShyZXZpc2lvbiAwKQpAQCAtMCwwICsxLDI0
IEBACis8IURPQ1RZUEUgaHRtbD4KKzxodG1sPgorPGhlYWQ+Cis8c2NyaXB0IHNyYz0icmVzb3Vy
Y2VzL21pY3JvZGF0YS1jb21tb24uanMiPjwvc2NyaXB0PgorPC9oZWFkPgorPGJvZHk+Cis8cD5U
aGlzIHRlc3QgZW5zdXJlcyB0aGF0IGRvY3VtZW50LmdldEl0ZW1zKCkgcmV0dXJucyBub2RlcyB0
aGF0IG1hdGNoIGFsbCB0aGUgdHlwZXMgc3BlY2lmaWVkIGluIHRoZSBtZXRob2QncyBhcmd1bWVu
dC48L3A+CisKKzxkaXYgaXRlbXNjb3BlIGl0ZW10eXBlPSJodHRwOi8vZXhhbXBsZS5jb20vZm9v
IGh0dHA6Ly9leGFtcGxlLmNvbS9iYXIiIGlkPSJvbmUiPjwvZGl2PgorPGRpdiBpdGVtc2NvcGUg
aXRlbXR5cGU9Imh0dHA6Ly9leGFtcGxlLmNvbS9mb28iIGlkPSJ0d28iPjwvZGl2PgorCis8c2Ny
aXB0PgordmFyIG9uZSA9IGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCdvbmUnKTsKK3ZhciB0d28g
PSBkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgndHdvJyk7CisKK3J1blRlc3QoZG9jdW1lbnQuZ2V0
SXRlbXMoJ2h0dHA6Ly9leGFtcGxlLmNvbS9mb28gaHR0cDovL2V4YW1wbGUuY29tL2JhcicpLCBb
b25lXSwgImRvY3VtZW50LmdldEl0ZW1zKCkgd2l0aCBtdWx0aXBsZSBpdGVtdHlwZXMiKTsKK3J1
blRlc3QoZG9jdW1lbnQuZ2V0SXRlbXMoJ2h0dHA6Ly9leGFtcGxlLmNvbS9iYXIgaHR0cDovL2V4
YW1wbGUuY29tL2ZvbycpLCBbb25lXSwgImRvY3VtZW50LmdldEl0ZW1zKCkgd2l0aCBtdWx0aXBs
ZSBpdGVtdHlwZXMiKTsKK3J1blRlc3QoZG9jdW1lbnQuZ2V0SXRlbXMoJ2h0dHA6Ly9leGFtcGxl
LmNvbS9mb28nKSwgW29uZSwgdHdvXSwgImRvY3VtZW50LmdldEl0ZW1zKCkgd2l0aCAnaHR0cDov
L2V4YW1wbGUuY29tL2ZvbycgaXRlbXR5cGUgaW4gdGhlIGF1cmd1bWVudCIpOworcnVuVGVzdChk
b2N1bWVudC5nZXRJdGVtcygnaHR0cDovL2V4YW1wbGUuY29tL2JhcicpLCBbb25lXSwgImRvY3Vt
ZW50LmdldEl0ZW1zKCkgd2l0aCAnaHR0cDovL2V4YW1wbGUuY29tL2JhcicgaXRlbXR5cGUgaW4g
dGhlIGF1cmd1bWVudCIpOworCitkb2N1bWVudC53cml0ZSgiPGJyPlRFU1QgQ09NUExFVEUiKTsK
Kzwvc2NyaXB0PgorPC9ib2R5PgorPC9odG1sPgpJbmRleDogTGF5b3V0VGVzdHMvZmFzdC9kb20v
TWljcm9EYXRhL2l0ZW10eXBlLWFkZC1yZW1vdmUtdG9rZW5zLWV4cGVjdGVkLnR4dAo9PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09Ci0tLSBMYXlvdXRUZXN0cy9mYXN0L2RvbS9NaWNyb0RhdGEvaXRlbXR5cGUtYWRkLXJlbW92
ZS10b2tlbnMtZXhwZWN0ZWQudHh0CShyZXZpc2lvbiAwKQorKysgTGF5b3V0VGVzdHMvZmFzdC9k
b20vTWljcm9EYXRhL2l0ZW10eXBlLWFkZC1yZW1vdmUtdG9rZW5zLWV4cGVjdGVkLnR4dAkocmV2
aXNpb24gMCkKQEAgLTAsMCArMSwzMiBAQAorVGhpcyB0ZXN0cyB0aGF0IGl0ZW1UeXBlIGF0dHJp
YnV0ZSBtdXN0IHVwZGF0ZSBjb3JyZWN0bHkgd2hlbiB0b2tlbiBoYXZlIGJlZW4gYWRkZWQgb3Ig
cmVtb3ZlZC4KKworaXRlbVR5cGUuYWRkIG11c3QgcmVmbGVjdCBjb3JyZWN0bHkuCitQQVNTIGVs
ZW1lbnQuaXRlbVR5cGUubGVuZ3RoID09IDIgaXMgdHJ1ZQorUEFTUyBlbGVtZW50Lml0ZW1UeXBl
LnRvU3RyaW5nKCkgPT0gJ2h0dHA6Ly9leGFtcGxlLmNvbS9mb28gaHR0cDovL2V4YW1wbGUuY29t
L0ZPTycgaXMgdHJ1ZQorUEFTUyBlbGVtZW50Lml0ZW1UeXBlWzBdIGlzICdodHRwOi8vZXhhbXBs
ZS5jb20vZm9vJworUEFTUyBlbGVtZW50Lml0ZW1UeXBlWzFdIGlzICdodHRwOi8vZXhhbXBsZS5j
b20vRk9PJworUEFTUyBlbGVtZW50Lml0ZW1UeXBlLml0ZW0oMCkgaXMgJ2h0dHA6Ly9leGFtcGxl
LmNvbS9mb28nCitQQVNTIGVsZW1lbnQuaXRlbVR5cGUuaXRlbSgxKSBpcyAnaHR0cDovL2V4YW1w
bGUuY29tL0ZPTycKKworaXRlbVR5cGUuYWRkIG11c3Qgbm90IG1ha2UgYW55IGNoYW5nZXMgaWYg
YW4gZXhpc3RpbmcgdG9rZW4gaXMgYWRkZWQuCitQQVNTIGVsZW1lbnQuaXRlbVR5cGUubGVuZ3Ro
ID09IDIgaXMgdHJ1ZQorUEFTUyBlbGVtZW50Lml0ZW1UeXBlLnRvU3RyaW5nKCkgPT0gJ2h0dHA6
Ly9leGFtcGxlLmNvbS9mb28gaHR0cDovL2V4YW1wbGUuY29tL0ZPTycgaXMgdHJ1ZQorCitpdGVt
VHlwZS5yZW1vdmUgbXVzdCByZWZsZWN0IGNvcnJlY3RseS4KK1BBU1MgZWxlbWVudC5pdGVtVHlw
ZS5sZW5ndGggPT0gMSBpcyB0cnVlCitQQVNTIGVsZW1lbnQuaXRlbVR5cGUuY29udGFpbnMoJ2h0
dHA6Ly9leGFtcGxlLmNvbS9mb28nKSBpcyBmYWxzZQorUEFTUyBlbGVtZW50Lml0ZW1UeXBlLnRv
U3RyaW5nKCkgPT0gJ2h0dHA6Ly9leGFtcGxlLmNvbS9GT08nIGlzIHRydWUKKworaXRlbVR5cGUu
cmVtb3ZlIG11c3Qgbm90IG1ha2UgYW55IGNoYW5nZXMgaWYgYSBub24tZXhpc3RpbmcgdG9rZW4g
aXMgcmVtb3ZlZC4KK1BBU1MgZWxlbWVudC5pdGVtVHlwZS5sZW5ndGggPT0gMSBpcyB0cnVlCitQ
QVNTIGVsZW1lbnQuaXRlbVR5cGUuY29udGFpbnMoJ2h0dHA6Ly9leGFtcGxlLmNvbS9mb28nKSBp
cyBmYWxzZQorUEFTUyBlbGVtZW50Lml0ZW1UeXBlLnRvU3RyaW5nKCkgPT0gJ2h0dHA6Ly9leGFt
cGxlLmNvbS9GT08nIGlzIHRydWUKKworaXRlbVR5cGUubGVuZ3RoIG11c3QgYmUgMCB3aGVuIGFs
bCB0b2tlbnMgYXJlIHJlbW92ZWQuCitQQVNTIGVsZW1lbnQuaXRlbVR5cGUubGVuZ3RoID09IDAg
aXMgdHJ1ZQorUEFTUyBlbGVtZW50Lml0ZW1UeXBlLmNvbnRhaW5zKCdodHRwOi8vZXhhbXBsZS5j
b20vZm9vJykgaXMgZmFsc2UKK1BBU1MgZWxlbWVudC5pdGVtVHlwZS5jb250YWlucygnaHR0cDov
L2V4YW1wbGUuY29tL0ZPTycpIGlzIGZhbHNlCitQQVNTIHN1Y2Nlc3NmdWxseVBhcnNlZCBpcyB0
cnVlCisKK1RFU1QgQ09NUExFVEUKKwpJbmRleDogTGF5b3V0VGVzdHMvZmFzdC9kb20vTWljcm9E
YXRhL2l0ZW10eXBlLWFkZC1yZW1vdmUtdG9rZW5zLmh0bWwKPT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gTGF5b3V0
VGVzdHMvZmFzdC9kb20vTWljcm9EYXRhL2l0ZW10eXBlLWFkZC1yZW1vdmUtdG9rZW5zLmh0bWwJ
KHJldmlzaW9uIDApCisrKyBMYXlvdXRUZXN0cy9mYXN0L2RvbS9NaWNyb0RhdGEvaXRlbXR5cGUt
YWRkLXJlbW92ZS10b2tlbnMuaHRtbAkocmV2aXNpb24gMCkKQEAgLTAsMCArMSw1MSBAQAorPCFE
T0NUWVBFIGh0bWw+Cis8aHRtbD4KKzxoZWFkPgorPHNjcmlwdCBzcmM9Ii4uLy4uL2pzL3Jlc291
cmNlcy9qcy10ZXN0LXByZS5qcyI+PC9zY3JpcHQ+Cis8c2NyaXB0IHNyYz0icmVzb3VyY2VzL21p
Y3JvZGF0YS1jb21tb24uanMiPjwvc2NyaXB0PgorPC9oZWFkPgorPGJvZHk+Cis8cD5UaGlzIHRl
c3RzIHRoYXQgaXRlbVR5cGUgYXR0cmlidXRlIG11c3QgdXBkYXRlIGNvcnJlY3RseSB3aGVuIHRv
a2VuIGhhdmUgYmVlbiBhZGRlZCBvciByZW1vdmVkLjwvcD4KKzxkaXYgaWQ9ImNvbnNvbGUiPjwv
ZGl2PgorPHNjcmlwdD4KK3ZhciBlbGVtZW50ID0gY3JlYXRlRWxlbSgnZGl2Jywge30pOworCitk
ZWJ1ZygiaXRlbVR5cGUuYWRkIG11c3QgcmVmbGVjdCBjb3JyZWN0bHkuIik7CitlbGVtZW50Lml0
ZW1UeXBlLmFkZCgnaHR0cDovL2V4YW1wbGUuY29tL2ZvbycpOworZWxlbWVudC5pdGVtVHlwZS5h
ZGQoJ2h0dHA6Ly9leGFtcGxlLmNvbS9GT08nKTsKKworc2hvdWxkQmVUcnVlKCJlbGVtZW50Lml0
ZW1UeXBlLmxlbmd0aCA9PSAyIik7CitzaG91bGRCZVRydWUoImVsZW1lbnQuaXRlbVR5cGUudG9T
dHJpbmcoKSA9PSAnaHR0cDovL2V4YW1wbGUuY29tL2ZvbyBodHRwOi8vZXhhbXBsZS5jb20vRk9P
JyIpOworc2hvdWxkQmUoImVsZW1lbnQuaXRlbVR5cGVbMF0iLCAiJ2h0dHA6Ly9leGFtcGxlLmNv
bS9mb28nIik7CitzaG91bGRCZSgiZWxlbWVudC5pdGVtVHlwZVsxXSIsICInaHR0cDovL2V4YW1w
bGUuY29tL0ZPTyciKTsKK3Nob3VsZEJlKCJlbGVtZW50Lml0ZW1UeXBlLml0ZW0oMCkiLCAiJ2h0
dHA6Ly9leGFtcGxlLmNvbS9mb28nIik7CitzaG91bGRCZSgiZWxlbWVudC5pdGVtVHlwZS5pdGVt
KDEpIiwgIidodHRwOi8vZXhhbXBsZS5jb20vRk9PJyIpOworCitkZWJ1ZygiPGJyPml0ZW1UeXBl
LmFkZCBtdXN0IG5vdCBtYWtlIGFueSBjaGFuZ2VzIGlmIGFuIGV4aXN0aW5nIHRva2VuIGlzIGFk
ZGVkLiIpOworZWxlbWVudC5pdGVtVHlwZS5hZGQoJ2h0dHA6Ly9leGFtcGxlLmNvbS9mb28nKTsK
K3Nob3VsZEJlVHJ1ZSgiZWxlbWVudC5pdGVtVHlwZS5sZW5ndGggPT0gMiIpOworc2hvdWxkQmVU
cnVlKCJlbGVtZW50Lml0ZW1UeXBlLnRvU3RyaW5nKCkgPT0gJ2h0dHA6Ly9leGFtcGxlLmNvbS9m
b28gaHR0cDovL2V4YW1wbGUuY29tL0ZPTyciKTsKKworZGVidWcoIjxicj5pdGVtVHlwZS5yZW1v
dmUgbXVzdCByZWZsZWN0IGNvcnJlY3RseS4iKTsKK2VsZW1lbnQuaXRlbVR5cGUucmVtb3ZlKCdo
dHRwOi8vZXhhbXBsZS5jb20vZm9vJyk7CitzaG91bGRCZVRydWUoImVsZW1lbnQuaXRlbVR5cGUu
bGVuZ3RoID09IDEiKTsKK3Nob3VsZEJlRmFsc2UoImVsZW1lbnQuaXRlbVR5cGUuY29udGFpbnMo
J2h0dHA6Ly9leGFtcGxlLmNvbS9mb28nKSIpCitzaG91bGRCZVRydWUoImVsZW1lbnQuaXRlbVR5
cGUudG9TdHJpbmcoKSA9PSAnaHR0cDovL2V4YW1wbGUuY29tL0ZPTyciKTsKKworZGVidWcoIjxi
cj5pdGVtVHlwZS5yZW1vdmUgbXVzdCBub3QgbWFrZSBhbnkgY2hhbmdlcyBpZiBhIG5vbi1leGlz
dGluZyB0b2tlbiBpcyByZW1vdmVkLiIpOworZWxlbWVudC5pdGVtVHlwZS5yZW1vdmUoJ2h0dHA6
Ly9leGFtcGxlLmNvbS9mb28nKTsKK3Nob3VsZEJlVHJ1ZSgiZWxlbWVudC5pdGVtVHlwZS5sZW5n
dGggPT0gMSIpOworc2hvdWxkQmVGYWxzZSgiZWxlbWVudC5pdGVtVHlwZS5jb250YWlucygnaHR0
cDovL2V4YW1wbGUuY29tL2ZvbycpIik7CitzaG91bGRCZVRydWUoImVsZW1lbnQuaXRlbVR5cGUu
dG9TdHJpbmcoKSA9PSAnaHR0cDovL2V4YW1wbGUuY29tL0ZPTyciKTsKKworZGVidWcoIjxicj5p
dGVtVHlwZS5sZW5ndGggbXVzdCBiZSAwIHdoZW4gYWxsIHRva2VucyBhcmUgcmVtb3ZlZC4iKTsK
K2VsZW1lbnQuaXRlbVR5cGUucmVtb3ZlKCdodHRwOi8vZXhhbXBsZS5jb20vRk9PJyk7CitzaG91
bGRCZVRydWUoImVsZW1lbnQuaXRlbVR5cGUubGVuZ3RoID09IDAiKTsKK3Nob3VsZEJlRmFsc2Uo
ImVsZW1lbnQuaXRlbVR5cGUuY29udGFpbnMoJ2h0dHA6Ly9leGFtcGxlLmNvbS9mb28nKSIpOwor
c2hvdWxkQmVGYWxzZSgiZWxlbWVudC5pdGVtVHlwZS5jb250YWlucygnaHR0cDovL2V4YW1wbGUu
Y29tL0ZPTycpIik7CisKK3ZhciBzdWNjZXNzZnVsbHlQYXJzZWQgPSB0cnVlOworPC9zY3JpcHQ+
Cis8c2NyaXB0IHNyYz0iLi4vLi4vanMvcmVzb3VyY2VzL2pzLXRlc3QtcG9zdC5qcyI+PC9zY3Jp
cHQ+Cis8L2JvZHk+Cis8L2h0bWw+CkluZGV4OiBMYXlvdXRUZXN0cy9mYXN0L2RvbS9NaWNyb0Rh
dGEvaXRlbXR5cGUtYXR0cmlidXRlLXRlc3QtZXhwZWN0ZWQudHh0Cj09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIExh
eW91dFRlc3RzL2Zhc3QvZG9tL01pY3JvRGF0YS9pdGVtdHlwZS1hdHRyaWJ1dGUtdGVzdC1leHBl
Y3RlZC50eHQJKHJldmlzaW9uIDApCisrKyBMYXlvdXRUZXN0cy9mYXN0L2RvbS9NaWNyb0RhdGEv
aXRlbXR5cGUtYXR0cmlidXRlLXRlc3QtZXhwZWN0ZWQudHh0CShyZXZpc2lvbiAwKQpAQCAtMCww
ICsxLDE4IEBACitpdGVtVHlwZSBhdHRyaWJ1dGUgc2ltcGxlIHRlc3QuCisKKworVGhlIGl0ZW1U
eXBlIGF0dHJpYnV0ZSBtdXN0IGJlIGRlZmluZWQuCitQQVNTIGVsZW1lbnQuaXRlbVR5cGUgaXMg
ZGVmaW5lZC4KK1BBU1MgZWxlbWVudC5pdGVtVHlwZS50b1N0cmluZygpIGlzICdodHRwOi8vZXhh
bXBsZS5jb20vZm9vJworCitpdGVtVHlwZSBhbmQgaXRlbVR5cGUubGVuZ3RoIG11c3QgYmUgcmVh
ZC1vbmx5LgorUEFTUyBlbGVtZW50Lml0ZW1UeXBlID0gJ2h0dHA6Ly9leGFtcGxlLmNvbS90ZXN0
JzsgZWxlbWVudC5pdGVtVHlwZS50b1N0cmluZygpID09ICdodHRwOi8vZXhhbXBsZS5jb20vZm9v
JyBpcyB0cnVlCitQQVNTIGVsZW1lbnQuaXRlbVR5cGUuY29udGFpbnMoJ2h0dHA6Ly9leGFtcGxl
LmNvbS90ZXN0JykgaXMgZmFsc2UKK1BBU1MgZWxlbWVudC5pdGVtVHlwZS5sZW5ndGggPSAwOyBl
bGVtZW50Lml0ZW1UeXBlLmxlbmd0aCA9PSAxIGlzIHRydWUKKworcmVtb3ZlQXR0cmlidXRlKCdp
dGVtVHlwZScpIG11c3QgcmVmbGVjdCBjb3JyZWN0bHkuCitQQVNTIGVsZW1lbnQuaXRlbVR5cGUu
dG9TdHJpbmcoKSBpcyAnJworUEFTUyBzdWNjZXNzZnVsbHlQYXJzZWQgaXMgdHJ1ZQorCitURVNU
IENPTVBMRVRFCisKSW5kZXg6IExheW91dFRlc3RzL2Zhc3QvZG9tL01pY3JvRGF0YS9pdGVtdHlw
ZS1hdHRyaWJ1dGUtdGVzdC5odG1sCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIExheW91dFRlc3RzL2Zhc3QvZG9t
L01pY3JvRGF0YS9pdGVtdHlwZS1hdHRyaWJ1dGUtdGVzdC5odG1sCShyZXZpc2lvbiAwKQorKysg
TGF5b3V0VGVzdHMvZmFzdC9kb20vTWljcm9EYXRhL2l0ZW10eXBlLWF0dHJpYnV0ZS10ZXN0Lmh0
bWwJKHJldmlzaW9uIDApCkBAIC0wLDAgKzEsMzAgQEAKKzwhRE9DVFlQRSBodG1sPgorPGh0bWw+
Cis8aGVhZD4KKzxzY3JpcHQgc3JjPSIuLi8uLi9qcy9yZXNvdXJjZXMvanMtdGVzdC1wcmUuanMi
Pjwvc2NyaXB0PgorPHNjcmlwdCBzcmM9InJlc291cmNlcy9taWNyb2RhdGEtY29tbW9uLmpzIj48
L3NjcmlwdD4KKzwvaGVhZD4KKzxib2R5PgorPHA+aXRlbVR5cGUgYXR0cmlidXRlIHNpbXBsZSB0
ZXN0LjwvcD4KKzxkaXYgaWQ9ImNvbnNvbGUiPjwvZGl2PgorPHNjcmlwdD4KK3ZhciBlbGVtZW50
ID0gY3JlYXRlRWxlbSgnZGl2Jywge2l0ZW10eXBlOiAnaHR0cDovL2V4YW1wbGUuY29tL2Zvbyd9
KTsKKworZGVidWcoIjxicj5UaGUgaXRlbVR5cGUgYXR0cmlidXRlIG11c3QgYmUgZGVmaW5lZC4i
KTsKK3Nob3VsZEJlRGVmaW5lZCgiZWxlbWVudC5pdGVtVHlwZSIpOworc2hvdWxkQmUoImVsZW1l
bnQuaXRlbVR5cGUudG9TdHJpbmcoKSIsICInaHR0cDovL2V4YW1wbGUuY29tL2ZvbyciKTsKKwor
ZGVidWcoIjxicj5pdGVtVHlwZSBhbmQgaXRlbVR5cGUubGVuZ3RoIG11c3QgYmUgcmVhZC1vbmx5
LiIpOworc2hvdWxkQmVUcnVlKCJlbGVtZW50Lml0ZW1UeXBlID0gJ2h0dHA6Ly9leGFtcGxlLmNv
bS90ZXN0JzsgZWxlbWVudC5pdGVtVHlwZS50b1N0cmluZygpID09ICdodHRwOi8vZXhhbXBsZS5j
b20vZm9vJyIpOworc2hvdWxkQmVGYWxzZSgiZWxlbWVudC5pdGVtVHlwZS5jb250YWlucygnaHR0
cDovL2V4YW1wbGUuY29tL3Rlc3QnKSIpOworc2hvdWxkQmVUcnVlKCJlbGVtZW50Lml0ZW1UeXBl
Lmxlbmd0aCA9IDA7IGVsZW1lbnQuaXRlbVR5cGUubGVuZ3RoID09IDEiKTsKKworZGVidWcoIjxi
cj5yZW1vdmVBdHRyaWJ1dGUoJ2l0ZW1UeXBlJykgbXVzdCByZWZsZWN0IGNvcnJlY3RseS4iKTsK
K2VsZW1lbnQucmVtb3ZlQXR0cmlidXRlKCdpdGVtVHlwZScpOworc2hvdWxkQmUoImVsZW1lbnQu
aXRlbVR5cGUudG9TdHJpbmcoKSIsICInJyIpOworCit2YXIgc3VjY2Vzc2Z1bGx5UGFyc2VkID0g
dHJ1ZTsKKzwvc2NyaXB0PgorPHNjcmlwdCBzcmM9Ii4uLy4uL2pzL3Jlc291cmNlcy9qcy10ZXN0
LXBvc3QuanMiPjwvc2NyaXB0PgorPC9ib2R5PgorPC9odG1sPgo=
</data>

          </attachment>
          <attachment
              isobsolete="0"
              ispatch="1"
              isprivate="0"
          >
            <attachid>112305</attachid>
            <date>2011-10-25 01:20:17 -0700</date>
            <delta_ts>2011-10-25 09:53:03 -0700</delta_ts>
            <desc>Updated patch</desc>
            <filename>patch_70501_updated.diff</filename>
            <type>text/plain</type>
            <size>16619</size>
            <attacher name="Arko Saha">arko</attacher>
            
              <data encoding="base64">SW5kZXg6IFNvdXJjZS9XZWJDb3JlL0NoYW5nZUxvZwo9PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBTb3VyY2UvV2Vi
Q29yZS9DaGFuZ2VMb2cJKHJldmlzaW9uIDk4MzI0KQorKysgU291cmNlL1dlYkNvcmUvQ2hhbmdl
TG9nCSh3b3JraW5nIGNvcHkpCkBAIC0xLDMgKzEsMjYgQEAKKzIwMTEtMTAtMjUgIEFya28gU2Fo
YSAgPGFya29AbW90b3JvbGEuY29tPgorCisgICAgICAgIE1pY3JvZGF0YTogaXRlbXR5cGUgYXR0
cmlidXRlIHNob3VsZCBiZSBzcGFjZS1zZXBhcmF0ZWQgbGlzdCB0byBhbGxvdyBtdWx0aXBsZSB0
eXBlcy4KKyAgICAgICAgaHR0cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hvd19idWcuY2dpP2lkPTcw
NTAxCisKKyAgICAgICAgUmV2aWV3ZWQgYnkgTk9CT0RZIChPT1BTISkuCisKKyAgICAgICAgVGVz
dHM6IGZhc3QvZG9tL01pY3JvRGF0YS9nZXRpdGVtcy1tdWx0aXBsZS1pdGVtdHlwZXMuaHRtbAor
ICAgICAgICAgICAgICAgZmFzdC9kb20vTWljcm9EYXRhL2l0ZW10eXBlLWFkZC1yZW1vdmUtdG9r
ZW5zLmh0bWwKKyAgICAgICAgICAgICAgIGZhc3QvZG9tL01pY3JvRGF0YS9pdGVtdHlwZS1hdHRy
aWJ1dGUtdGVzdC5odG1sCisKKyAgICAgICAgKiBkb20vTWljcm9EYXRhSXRlbUxpc3QuY3BwOgor
ICAgICAgICAoV2ViQ29yZTo6TWljcm9EYXRhSXRlbUxpc3Q6Om5vZGVNYXRjaGVzKToKKyAgICAg
ICAgKiBodG1sL0RPTVNldHRhYmxlVG9rZW5MaXN0Lmg6CisgICAgICAgIChXZWJDb3JlOjpET01T
ZXR0YWJsZVRva2VuTGlzdDo6dG9rZW5zKToKKyAgICAgICAgKiBodG1sL0hUTUxFbGVtZW50LmNw
cDoKKyAgICAgICAgKFdlYkNvcmU6OkhUTUxFbGVtZW50OjpwYXJzZU1hcHBlZEF0dHJpYnV0ZSk6
CisgICAgICAgIChXZWJDb3JlOjpIVE1MRWxlbWVudDo6c2V0SXRlbVZhbHVlVGV4dCk6CisgICAg
ICAgIChXZWJDb3JlOjpIVE1MRWxlbWVudDo6aXRlbVR5cGUpOgorICAgICAgICAoV2ViQ29yZTo6
SFRNTEVsZW1lbnQ6OnNldEl0ZW1UeXBlKToKKyAgICAgICAgKiBodG1sL0hUTUxFbGVtZW50Lmg6
CisgICAgICAgICogaHRtbC9IVE1MRWxlbWVudC5pZGw6CisKIDIwMTEtMTAtMjUgIFNoZXJpZmYg
Qm90ICA8d2Via2l0LnJldmlldy5ib3RAZ21haWwuY29tPgogCiAgICAgICAgIFVucmV2aWV3ZWQs
IHJvbGxpbmcgb3V0IHI5ODMwOS4KSW5kZXg6IFNvdXJjZS9XZWJDb3JlL2RvbS9NaWNyb0RhdGFJ
dGVtTGlzdC5jcHAKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PQotLS0gU291cmNlL1dlYkNvcmUvZG9tL01pY3JvRGF0YUl0
ZW1MaXN0LmNwcAkocmV2aXNpb24gOTgzMjQpCisrKyBTb3VyY2UvV2ViQ29yZS9kb20vTWljcm9E
YXRhSXRlbUxpc3QuY3BwCSh3b3JraW5nIGNvcHkpCkBAIC02MCw3ICs2MCw3IEBAIGJvb2wgTWlj
cm9EYXRhSXRlbUxpc3Q6Om5vZGVNYXRjaGVzKEVsZW0KICAgICBpZiAoIW1fdHlwZU5hbWVzLnNp
emUoKSkKICAgICAgICAgcmV0dXJuIHRydWU7CiAKLSAgICByZXR1cm4gbV90eXBlTmFtZXMuY29u
dGFpbnModGVzdEVsZW1lbnQtPmZhc3RHZXRBdHRyaWJ1dGUoaXRlbXR5cGVBdHRyKSk7CisgICAg
cmV0dXJuIHRlc3RFbGVtZW50LT5pdGVtVHlwZSgpLT50b2tlbnMoKS5jb250YWluc0FsbChtX3R5
cGVOYW1lcyk7CiB9CiAKIH0gLy8gbmFtZXNwYWNlIFdlYkNvcmUKSW5kZXg6IFNvdXJjZS9XZWJD
b3JlL2h0bWwvRE9NU2V0dGFibGVUb2tlbkxpc3QuaAo9PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBTb3VyY2UvV2Vi
Q29yZS9odG1sL0RPTVNldHRhYmxlVG9rZW5MaXN0LmgJKHJldmlzaW9uIDk4MzI0KQorKysgU291
cmNlL1dlYkNvcmUvaHRtbC9ET01TZXR0YWJsZVRva2VuTGlzdC5oCSh3b3JraW5nIGNvcHkpCkBA
IC01NSw2ICs1NSw3IEBAIHB1YmxpYzoKICAgICB2aXJ0dWFsIFN0cmluZyB0b1N0cmluZygpIGNv
bnN0IHsgcmV0dXJuIHZhbHVlKCk7IH0KIAogICAgIFN0cmluZyB2YWx1ZSgpIGNvbnN0IHsgcmV0
dXJuIG1fdmFsdWU7IH0KKyAgICBjb25zdCBTcGFjZVNwbGl0U3RyaW5nJiB0b2tlbnMoKSBjb25z
dCB7IHJldHVybiBtX3Rva2VuczsgfQogICAgIHZvaWQgc2V0VmFsdWUoY29uc3QgU3RyaW5nJik7
CiAKIHByaXZhdGU6CkluZGV4OiBTb3VyY2UvV2ViQ29yZS9odG1sL0hUTUxFbGVtZW50LmNwcAo9
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09Ci0tLSBTb3VyY2UvV2ViQ29yZS9odG1sL0hUTUxFbGVtZW50LmNwcAkocmV2aXNp
b24gOTgzMjQpCisrKyBTb3VyY2UvV2ViQ29yZS9odG1sL0hUTUxFbGVtZW50LmNwcAkod29ya2lu
ZyBjb3B5KQpAQCAtMjA3LDYgKzIwNyw3IEBAIHZvaWQgSFRNTEVsZW1lbnQ6OnBhcnNlTWFwcGVk
QXR0cmlidXRlKEEKICAgICB9IGVsc2UgaWYgKGF0dHItPm5hbWUoKSA9PSBpdGVtcmVmQXR0cikg
ewogICAgICAgICBzZXRJdGVtUmVmKGF0dHItPnZhbHVlKCkpOwogICAgIH0gZWxzZSBpZiAoYXR0
ci0+bmFtZSgpID09IGl0ZW10eXBlQXR0cikgeworICAgICAgICBzZXRJdGVtVHlwZShhdHRyLT52
YWx1ZSgpKTsKICAgICAgICAgaXRlbVR5cGVBdHRyaWJ1dGVDaGFuZ2VkKCk7CiAjZW5kaWYKICAg
ICB9CkBAIC0xMDU2LDYgKzEwNTcsMjIgQEAgdm9pZCBIVE1MRWxlbWVudDo6c2V0SXRlbVZhbHVl
VGV4dChjb25zdAogewogICAgIHNldFRleHRDb250ZW50KHZhbHVlLCBlYyk7CiB9CisKK1Bhc3NS
ZWZQdHI8RE9NU2V0dGFibGVUb2tlbkxpc3Q+IEhUTUxFbGVtZW50OjppdGVtVHlwZSgpIGNvbnN0
Cit7CisgICAgaWYgKCFtX2l0ZW1UeXBlKQorICAgICAgICBtX2l0ZW1UeXBlID0gRE9NU2V0dGFi
bGVUb2tlbkxpc3Q6OmNyZWF0ZSgpOworCisgICAgcmV0dXJuIG1faXRlbVR5cGU7Cit9CisKK3Zv
aWQgSFRNTEVsZW1lbnQ6OnNldEl0ZW1UeXBlKGNvbnN0IFN0cmluZyYgdmFsdWUpCit7CisgICAg
aWYgKCFtX2l0ZW1UeXBlKQorICAgICAgICBtX2l0ZW1UeXBlID0gRE9NU2V0dGFibGVUb2tlbkxp
c3Q6OmNyZWF0ZSgpOworCisgICAgbV9pdGVtVHlwZS0+c2V0VmFsdWUodmFsdWUpOworfQogI2Vu
ZGlmCiAKIH0gLy8gbmFtZXNwYWNlIFdlYkNvcmUKSW5kZXg6IFNvdXJjZS9XZWJDb3JlL2h0bWwv
SFRNTEVsZW1lbnQuaAo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBTb3VyY2UvV2ViQ29yZS9odG1sL0hUTUxFbGVt
ZW50LmgJKHJldmlzaW9uIDk4MzI0KQorKysgU291cmNlL1dlYkNvcmUvaHRtbC9IVE1MRWxlbWVu
dC5oCSh3b3JraW5nIGNvcHkpCkBAIC05Miw2ICs5Miw3IEBAIHB1YmxpYzoKICNpZiBFTkFCTEUo
TUlDUk9EQVRBKQogICAgIFBhc3NSZWZQdHI8RE9NU2V0dGFibGVUb2tlbkxpc3Q+IGl0ZW1SZWYo
KSBjb25zdDsKICAgICBQYXNzUmVmUHRyPERPTVNldHRhYmxlVG9rZW5MaXN0PiBpdGVtUHJvcCgp
IGNvbnN0OworICAgIFBhc3NSZWZQdHI8RE9NU2V0dGFibGVUb2tlbkxpc3Q+IGl0ZW1UeXBlKCkg
Y29uc3Q7CiAKICAgICB2b2lkIHNldEl0ZW1WYWx1ZShjb25zdCBTdHJpbmcmLCBFeGNlcHRpb25D
b2RlJik7CiAgICAgUGFzc1JlZlB0cjxNaWNyb0RhdGFJdGVtVmFsdWU+IGl0ZW1WYWx1ZSgpIGNv
bnN0OwpAQCAtMTI3LDEyICsxMjgsMTQgQEAgcHJpdmF0ZToKICNpZiBFTkFCTEUoTUlDUk9EQVRB
KQogICAgIHZvaWQgc2V0SXRlbVByb3AoY29uc3QgU3RyaW5nJik7CiAgICAgdm9pZCBzZXRJdGVt
UmVmKGNvbnN0IFN0cmluZyYpOworICAgIHZvaWQgc2V0SXRlbVR5cGUoY29uc3QgU3RyaW5nJik7
CiAKICAgICB2aXJ0dWFsIFN0cmluZyBpdGVtVmFsdWVUZXh0KCkgY29uc3Q7CiAgICAgdmlydHVh
bCB2b2lkIHNldEl0ZW1WYWx1ZVRleHQoY29uc3QgU3RyaW5nJiwgRXhjZXB0aW9uQ29kZSYpOwog
CiAgICAgbXV0YWJsZSBSZWZQdHI8RE9NU2V0dGFibGVUb2tlbkxpc3Q+IG1faXRlbVByb3A7CiAg
ICAgbXV0YWJsZSBSZWZQdHI8RE9NU2V0dGFibGVUb2tlbkxpc3Q+IG1faXRlbVJlZjsKKyAgICBt
dXRhYmxlIFJlZlB0cjxET01TZXR0YWJsZVRva2VuTGlzdD4gbV9pdGVtVHlwZTsKICNlbmRpZgog
fTsKIApJbmRleDogU291cmNlL1dlYkNvcmUvaHRtbC9IVE1MRWxlbWVudC5pZGwKPT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PQotLS0gU291cmNlL1dlYkNvcmUvaHRtbC9IVE1MRWxlbWVudC5pZGwJKHJldmlzaW9uIDk4MzI0
KQorKysgU291cmNlL1dlYkNvcmUvaHRtbC9IVE1MRWxlbWVudC5pZGwJKHdvcmtpbmcgY29weSkK
QEAgLTY3LDcgKzY3LDcgQEAgbW9kdWxlIGh0bWwgewogICAgICAgICAgICAgICAgICBhdHRyaWJ1
dGUgYm9vbGVhbiBzcGVsbGNoZWNrOwogCiAgICAgICAgICAgICAgICAgIGF0dHJpYnV0ZSBbQ29u
ZGl0aW9uYWw9TUlDUk9EQVRBLCBSZWZsZWN0XSBib29sZWFuIGl0ZW1TY29wZTsKLSAgICAgICAg
ICAgICAgICAgYXR0cmlidXRlIFtDb25kaXRpb25hbD1NSUNST0RBVEEsIFJlZmxlY3RdIERPTVN0
cmluZyBpdGVtVHlwZTsKKyAgICAgICAgcmVhZG9ubHkgYXR0cmlidXRlIFtDb25kaXRpb25hbD1N
SUNST0RBVEFdIERPTVNldHRhYmxlVG9rZW5MaXN0IGl0ZW1UeXBlOwogICAgICAgICAgICAgICAg
ICBhdHRyaWJ1dGUgW0NvbmRpdGlvbmFsPU1JQ1JPREFUQSwgUmVmbGVjdF0gRE9NU3RyaW5nIGl0
ZW1JZDsKIAogICAgICAgICByZWFkb25seSBhdHRyaWJ1dGUgW0NvbmRpdGlvbmFsPU1JQ1JPREFU
QV0gRE9NU2V0dGFibGVUb2tlbkxpc3QgaXRlbVJlZjsKSW5kZXg6IExheW91dFRlc3RzL0NoYW5n
ZUxvZwo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09Ci0tLSBMYXlvdXRUZXN0cy9DaGFuZ2VMb2cJKHJldmlzaW9uIDk4MzI0
KQorKysgTGF5b3V0VGVzdHMvQ2hhbmdlTG9nCSh3b3JraW5nIGNvcHkpCkBAIC0xLDMgKzEsMTkg
QEAKKzIwMTEtMTAtMjUgIEFya28gU2FoYSAgPGFya29AbW90b3JvbGEuY29tPgorCisgICAgICAg
IE1pY3JvZGF0YTogaXRlbXR5cGUgYXR0cmlidXRlIHNob3VsZCBiZSBzcGFjZS1zZXBhcmF0ZWQg
bGlzdCB0byBhbGxvdyBtdWx0aXBsZSB0eXBlcworICAgICAgICBodHRwczovL2J1Z3Mud2Via2l0
Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NzA1MDEKKworICAgICAgICBSZXZpZXdlZCBieSBOT0JPRFkg
KE9PUFMhKS4KKworICAgICAgICAqIGZhc3QvZG9tL01pY3JvRGF0YS8wMDYuaHRtbDoKKyAgICAg
ICAgKiBmYXN0L2RvbS9NaWNyb0RhdGEvMDA3Lmh0bWw6CisgICAgICAgICogZmFzdC9kb20vTWlj
cm9EYXRhL2dldGl0ZW1zLW11bHRpcGxlLWl0ZW10eXBlcy1leHBlY3RlZC50eHQ6IEFkZGVkLgor
ICAgICAgICAqIGZhc3QvZG9tL01pY3JvRGF0YS9nZXRpdGVtcy1tdWx0aXBsZS1pdGVtdHlwZXMu
aHRtbDogQWRkZWQuCisgICAgICAgICogZmFzdC9kb20vTWljcm9EYXRhL2l0ZW10eXBlLWFkZC1y
ZW1vdmUtdG9rZW5zLWV4cGVjdGVkLnR4dDogQWRkZWQuCisgICAgICAgICogZmFzdC9kb20vTWlj
cm9EYXRhL2l0ZW10eXBlLWFkZC1yZW1vdmUtdG9rZW5zLmh0bWw6IEFkZGVkLgorICAgICAgICAq
IGZhc3QvZG9tL01pY3JvRGF0YS9pdGVtdHlwZS1hdHRyaWJ1dGUtdGVzdC1leHBlY3RlZC50eHQ6
IEFkZGVkLgorICAgICAgICAqIGZhc3QvZG9tL01pY3JvRGF0YS9pdGVtdHlwZS1hdHRyaWJ1dGUt
dGVzdC5odG1sOiBBZGRlZC4KKwogMjAxMS0xMC0yNSAgU2hlcmlmZiBCb3QgIDx3ZWJraXQucmV2
aWV3LmJvdEBnbWFpbC5jb20+CiAKICAgICAgICAgVW5yZXZpZXdlZCwgcm9sbGluZyBvdXQgcjk4
MzA5LgpJbmRleDogTGF5b3V0VGVzdHMvZmFzdC9kb20vTWljcm9EYXRhLzAwNi5odG1sCj09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT0KLS0tIExheW91dFRlc3RzL2Zhc3QvZG9tL01pY3JvRGF0YS8wMDYuaHRtbAkocmV2aXNp
b24gOTgzMjQpCisrKyBMYXlvdXRUZXN0cy9mYXN0L2RvbS9NaWNyb0RhdGEvMDA2Lmh0bWwJKHdv
cmtpbmcgY29weSkKQEAgLTcsOSArNyw5IEBACiA8cD5UaGlzIHRlc3RzIHRoYXQgZG9jdW1lbnQu
Z2V0SXRlbXMgbXVzdCBsb2NhdGUgaXRlbXMgd2hlbiBwYXJhbWV0ZXJzIGFyZSBzZXBhcmF0ZWQg
Ynkgc3BhY2VzLgogPGJyPlRoaXMgdGVzdCBhbHNvIGVuc3VyZSB0aGF0IGRvY3VtZW50LmdldEl0
ZW1zIG11c3QgaWdub3JlIGR1cGxpY2F0ZWQgdG9rZW5zLgogPC9wPgotPGRpdiBpdGVtc2NvcGUg
aXRlbXR5cGU9Imh0dHA6Ly9leGFtcGxlLmNvbS9mb28iPjwvZGl2PgotPGRpdiBpdGVtc2NvcGUg
aXRlbXR5cGU9Imh0dHA6Ly9leGFtcGxlLmNvbS9iYXIiPgotPGRpdiBpdGVtc2NvcGUgaXRlbXR5
cGU9ImRhdGE6dGV4dC9wbGFpbiI+PC9kaXY+Cis8ZGl2IGl0ZW1zY29wZSBpdGVtdHlwZT0iaHR0
cDovL2V4YW1wbGUuY29tL2ZvbyBodHRwOi8vZXhhbXBsZS5jb20vYmFyIGRhdGE6dGV4dC9wbGFp
biI+PC9kaXY+Cis8ZGl2IGl0ZW1zY29wZSBpdGVtdHlwZT0iaHR0cDovL2V4YW1wbGUuY29tL2Jh
ciBodHRwOi8vZXhhbXBsZS5jb20vZm9vIj4KKzxkaXYgaXRlbXNjb3BlIGl0ZW10eXBlPSJkYXRh
OnRleHQvcGxhaW4gaHR0cDovL2V4YW1wbGUuY29tL2ZvbyI+PC9kaXY+CiA8L2Rpdj4KIDxkaXYg
aWQ9ImNvbnNvbGUiPjwvZGl2PgogPHNjcmlwdD4KSW5kZXg6IExheW91dFRlc3RzL2Zhc3QvZG9t
L01pY3JvRGF0YS8wMDcuaHRtbAo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBMYXlvdXRUZXN0cy9mYXN0L2RvbS9N
aWNyb0RhdGEvMDA3Lmh0bWwJKHJldmlzaW9uIDk4MzI0KQorKysgTGF5b3V0VGVzdHMvZmFzdC9k
b20vTWljcm9EYXRhLzAwNy5odG1sCSh3b3JraW5nIGNvcHkpCkBAIC0xNCw3ICsxNCw3IEBACiA8
ZGl2IGl0ZW1zY29wZSBpZD0iZml2ZSI+PC9kaXY+CiA8ZGl2IGlkPSJjb25zb2xlIj48L2Rpdj4K
IDxzY3JpcHQ+Ci12YXIgbm9kZUxpc3QgPSBkb2N1bWVudC5nZXRJdGVtcygnaHR0cDovL2V4YW1w
bGUuY29tL2JhciBkYXRhOnRleHQvcGxhaW4sIGh0dHA6Ly9leGFtcGxlLmNvbS9mb28nKTsKK3Zh
ciBub2RlTGlzdCA9IGRvY3VtZW50LmdldEl0ZW1zKCk7CiAKIHNob3VsZEJlKCJub2RlTGlzdFsw
XS5pZCIsICInb25lJyIpOwogc2hvdWxkQmUoIm5vZGVMaXN0WzFdLmlkIiwgIid0d28nIik7Cklu
ZGV4OiBMYXlvdXRUZXN0cy9mYXN0L2RvbS9NaWNyb0RhdGEvZ2V0aXRlbXMtbXVsdGlwbGUtaXRl
bXR5cGVzLWV4cGVjdGVkLnR4dAo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBMYXlvdXRUZXN0cy9mYXN0L2RvbS9N
aWNyb0RhdGEvZ2V0aXRlbXMtbXVsdGlwbGUtaXRlbXR5cGVzLWV4cGVjdGVkLnR4dAkocmV2aXNp
b24gMCkKKysrIExheW91dFRlc3RzL2Zhc3QvZG9tL01pY3JvRGF0YS9nZXRpdGVtcy1tdWx0aXBs
ZS1pdGVtdHlwZXMtZXhwZWN0ZWQudHh0CShyZXZpc2lvbiAwKQpAQCAtMCwwICsxLDEwIEBACitk
b2N1bWVudC5nZXRJdGVtcygpIHdpdGggbXVsdGlwbGUgaXRlbXR5cGVzOiBQQVNTCitkb2N1bWVu
dC5nZXRJdGVtcygpIHdpdGggbXVsdGlwbGUgaXRlbXR5cGVzOiBQQVNTCitkb2N1bWVudC5nZXRJ
dGVtcygpIHdpdGggJ2h0dHA6Ly9leGFtcGxlLmNvbS9mb28nIGl0ZW10eXBlIGluIHRoZSBhdXJn
dW1lbnQ6IFBBU1MKK2RvY3VtZW50LmdldEl0ZW1zKCkgd2l0aCAnaHR0cDovL2V4YW1wbGUuY29t
L2JhcicgaXRlbXR5cGUgaW4gdGhlIGF1cmd1bWVudDogUEFTUworUEFTUyBzdWNjZXNzZnVsbHlQ
YXJzZWQgaXMgdHJ1ZQorCitURVNUIENPTVBMRVRFCitUaGlzIHRlc3QgZW5zdXJlcyB0aGF0IGRv
Y3VtZW50LmdldEl0ZW1zKCkgcmV0dXJucyBub2RlcyB0aGF0IG1hdGNoIGFsbCB0aGUgdHlwZXMg
c3BlY2lmaWVkIGluIHRoZSBtZXRob2QncyBhcmd1bWVudC4KKworCkluZGV4OiBMYXlvdXRUZXN0
cy9mYXN0L2RvbS9NaWNyb0RhdGEvZ2V0aXRlbXMtbXVsdGlwbGUtaXRlbXR5cGVzLmh0bWwKPT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PQotLS0gTGF5b3V0VGVzdHMvZmFzdC9kb20vTWljcm9EYXRhL2dldGl0ZW1zLW11bHRp
cGxlLWl0ZW10eXBlcy5odG1sCShyZXZpc2lvbiAwKQorKysgTGF5b3V0VGVzdHMvZmFzdC9kb20v
TWljcm9EYXRhL2dldGl0ZW1zLW11bHRpcGxlLWl0ZW10eXBlcy5odG1sCShyZXZpc2lvbiAwKQpA
QCAtMCwwICsxLDI2IEBACis8IURPQ1RZUEUgaHRtbD4KKzxodG1sPgorPGhlYWQ+Cis8c2NyaXB0
IHNyYz0iLi4vLi4vanMvcmVzb3VyY2VzL2pzLXRlc3QtcHJlLmpzIj48L3NjcmlwdD4KKzxzY3Jp
cHQgc3JjPSJyZXNvdXJjZXMvbWljcm9kYXRhLWNvbW1vbi5qcyI+PC9zY3JpcHQ+Cis8L2hlYWQ+
Cis8Ym9keT4KKzxwPlRoaXMgdGVzdCBlbnN1cmVzIHRoYXQgZG9jdW1lbnQuZ2V0SXRlbXMoKSBy
ZXR1cm5zIG5vZGVzIHRoYXQgbWF0Y2ggYWxsIHRoZSB0eXBlcyBzcGVjaWZpZWQgaW4gdGhlIG1l
dGhvZCdzIGFyZ3VtZW50LjwvcD4KKworPGRpdiBpdGVtc2NvcGUgaXRlbXR5cGU9Imh0dHA6Ly9l
eGFtcGxlLmNvbS9mb28gaHR0cDovL2V4YW1wbGUuY29tL2JhciIgaWQ9Im9uZSI+PC9kaXY+Cis8
ZGl2IGl0ZW1zY29wZSBpdGVtdHlwZT0iaHR0cDovL2V4YW1wbGUuY29tL2ZvbyIgaWQ9InR3byI+
PC9kaXY+CisKKzxzY3JpcHQ+Cit2YXIgb25lID0gZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoJ29u
ZScpOwordmFyIHR3byA9IGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCd0d28nKTsKKworcnVuVGVz
dChkb2N1bWVudC5nZXRJdGVtcygnaHR0cDovL2V4YW1wbGUuY29tL2ZvbyBodHRwOi8vZXhhbXBs
ZS5jb20vYmFyJyksIFtvbmVdLCAiZG9jdW1lbnQuZ2V0SXRlbXMoKSB3aXRoIG11bHRpcGxlIGl0
ZW10eXBlcyIpOworcnVuVGVzdChkb2N1bWVudC5nZXRJdGVtcygnaHR0cDovL2V4YW1wbGUuY29t
L2JhciBodHRwOi8vZXhhbXBsZS5jb20vZm9vJyksIFtvbmVdLCAiZG9jdW1lbnQuZ2V0SXRlbXMo
KSB3aXRoIG11bHRpcGxlIGl0ZW10eXBlcyIpOworcnVuVGVzdChkb2N1bWVudC5nZXRJdGVtcygn
aHR0cDovL2V4YW1wbGUuY29tL2ZvbycpLCBbb25lLCB0d29dLCAiZG9jdW1lbnQuZ2V0SXRlbXMo
KSB3aXRoICdodHRwOi8vZXhhbXBsZS5jb20vZm9vJyBpdGVtdHlwZSBpbiB0aGUgYXVyZ3VtZW50
Iik7CitydW5UZXN0KGRvY3VtZW50LmdldEl0ZW1zKCdodHRwOi8vZXhhbXBsZS5jb20vYmFyJyks
IFtvbmVdLCAiZG9jdW1lbnQuZ2V0SXRlbXMoKSB3aXRoICdodHRwOi8vZXhhbXBsZS5jb20vYmFy
JyBpdGVtdHlwZSBpbiB0aGUgYXVyZ3VtZW50Iik7CisKK3ZhciBzdWNjZXNzZnVsbHlQYXJzZWQg
PSB0cnVlOworPC9zY3JpcHQ+Cis8c2NyaXB0IHNyYz0iLi4vLi4vanMvcmVzb3VyY2VzL2pzLXRl
c3QtcG9zdC5qcyI+PC9zY3JpcHQ+Cis8L2JvZHk+Cis8L2h0bWw+CkluZGV4OiBMYXlvdXRUZXN0
cy9mYXN0L2RvbS9NaWNyb0RhdGEvaXRlbXR5cGUtYWRkLXJlbW92ZS10b2tlbnMtZXhwZWN0ZWQu
dHh0Cj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT0KLS0tIExheW91dFRlc3RzL2Zhc3QvZG9tL01pY3JvRGF0YS9pdGVtdHlw
ZS1hZGQtcmVtb3ZlLXRva2Vucy1leHBlY3RlZC50eHQJKHJldmlzaW9uIDApCisrKyBMYXlvdXRU
ZXN0cy9mYXN0L2RvbS9NaWNyb0RhdGEvaXRlbXR5cGUtYWRkLXJlbW92ZS10b2tlbnMtZXhwZWN0
ZWQudHh0CShyZXZpc2lvbiAwKQpAQCAtMCwwICsxLDMzIEBACitUaGlzIHRlc3RzIHRoYXQgaXRl
bVR5cGUgYXR0cmlidXRlIG11c3QgdXBkYXRlIGNvcnJlY3RseSB3aGVuIHRva2VuIGhhdmUgYmVl
biBhZGRlZCBvciByZW1vdmVkLgorCitDcmVhdGVkIGVsZW1lbnQgb2YgdHlwZTogZGl2CitpdGVt
VHlwZS5hZGQgbXVzdCByZWZsZWN0IGNvcnJlY3RseS4KK1BBU1MgZWxlbWVudC5pdGVtVHlwZS5s
ZW5ndGggPT0gMiBpcyB0cnVlCitQQVNTIGVsZW1lbnQuaXRlbVR5cGUudG9TdHJpbmcoKSA9PSAn
aHR0cDovL2V4YW1wbGUuY29tL2ZvbyBodHRwOi8vZXhhbXBsZS5jb20vRk9PJyBpcyB0cnVlCitQ
QVNTIGVsZW1lbnQuaXRlbVR5cGVbMF0gaXMgJ2h0dHA6Ly9leGFtcGxlLmNvbS9mb28nCitQQVNT
IGVsZW1lbnQuaXRlbVR5cGVbMV0gaXMgJ2h0dHA6Ly9leGFtcGxlLmNvbS9GT08nCitQQVNTIGVs
ZW1lbnQuaXRlbVR5cGUuaXRlbSgwKSBpcyAnaHR0cDovL2V4YW1wbGUuY29tL2ZvbycKK1BBU1Mg
ZWxlbWVudC5pdGVtVHlwZS5pdGVtKDEpIGlzICdodHRwOi8vZXhhbXBsZS5jb20vRk9PJworCitp
dGVtVHlwZS5hZGQgbXVzdCBub3QgbWFrZSBhbnkgY2hhbmdlcyBpZiBhbiBleGlzdGluZyB0b2tl
biBpcyBhZGRlZC4KK1BBU1MgZWxlbWVudC5pdGVtVHlwZS5sZW5ndGggPT0gMiBpcyB0cnVlCitQ
QVNTIGVsZW1lbnQuaXRlbVR5cGUudG9TdHJpbmcoKSA9PSAnaHR0cDovL2V4YW1wbGUuY29tL2Zv
byBodHRwOi8vZXhhbXBsZS5jb20vRk9PJyBpcyB0cnVlCisKK2l0ZW1UeXBlLnJlbW92ZSBtdXN0
IHJlZmxlY3QgY29ycmVjdGx5LgorUEFTUyBlbGVtZW50Lml0ZW1UeXBlLmxlbmd0aCA9PSAxIGlz
IHRydWUKK1BBU1MgZWxlbWVudC5pdGVtVHlwZS5jb250YWlucygnaHR0cDovL2V4YW1wbGUuY29t
L2ZvbycpIGlzIGZhbHNlCitQQVNTIGVsZW1lbnQuaXRlbVR5cGUudG9TdHJpbmcoKSA9PSAnaHR0
cDovL2V4YW1wbGUuY29tL0ZPTycgaXMgdHJ1ZQorCitpdGVtVHlwZS5yZW1vdmUgbXVzdCBub3Qg
bWFrZSBhbnkgY2hhbmdlcyBpZiByZW1vdmUgaXMgY2FsbGVkIGZvciBhIHRva2VuIHRoYXQgZG9l
c24ndCBleGlzdC4KK1BBU1MgZWxlbWVudC5pdGVtVHlwZS5sZW5ndGggPT0gMSBpcyB0cnVlCitQ
QVNTIGVsZW1lbnQuaXRlbVR5cGUuY29udGFpbnMoJ2h0dHA6Ly9leGFtcGxlLmNvbS9mb28nKSBp
cyBmYWxzZQorUEFTUyBlbGVtZW50Lml0ZW1UeXBlLnRvU3RyaW5nKCkgPT0gJ2h0dHA6Ly9leGFt
cGxlLmNvbS9GT08nIGlzIHRydWUKKworaXRlbVR5cGUubGVuZ3RoIG11c3QgYmUgMCB3aGVuIGFs
bCB0b2tlbnMgYXJlIHJlbW92ZWQuCitQQVNTIGVsZW1lbnQuaXRlbVR5cGUubGVuZ3RoID09IDAg
aXMgdHJ1ZQorUEFTUyBlbGVtZW50Lml0ZW1UeXBlLmNvbnRhaW5zKCdodHRwOi8vZXhhbXBsZS5j
b20vZm9vJykgaXMgZmFsc2UKK1BBU1MgZWxlbWVudC5pdGVtVHlwZS5jb250YWlucygnaHR0cDov
L2V4YW1wbGUuY29tL0ZPTycpIGlzIGZhbHNlCitQQVNTIHN1Y2Nlc3NmdWxseVBhcnNlZCBpcyB0
cnVlCisKK1RFU1QgQ09NUExFVEUKKwpJbmRleDogTGF5b3V0VGVzdHMvZmFzdC9kb20vTWljcm9E
YXRhL2l0ZW10eXBlLWFkZC1yZW1vdmUtdG9rZW5zLmh0bWwKPT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gTGF5b3V0
VGVzdHMvZmFzdC9kb20vTWljcm9EYXRhL2l0ZW10eXBlLWFkZC1yZW1vdmUtdG9rZW5zLmh0bWwJ
KHJldmlzaW9uIDApCisrKyBMYXlvdXRUZXN0cy9mYXN0L2RvbS9NaWNyb0RhdGEvaXRlbXR5cGUt
YWRkLXJlbW92ZS10b2tlbnMuaHRtbAkocmV2aXNpb24gMCkKQEAgLTAsMCArMSw1MSBAQAorPCFE
T0NUWVBFIGh0bWw+Cis8aHRtbD4KKzxoZWFkPgorPHNjcmlwdCBzcmM9Ii4uLy4uL2pzL3Jlc291
cmNlcy9qcy10ZXN0LXByZS5qcyI+PC9zY3JpcHQ+Cis8c2NyaXB0IHNyYz0icmVzb3VyY2VzL21p
Y3JvZGF0YS1jb21tb24uanMiPjwvc2NyaXB0PgorPC9oZWFkPgorPGJvZHk+Cis8cD5UaGlzIHRl
c3RzIHRoYXQgaXRlbVR5cGUgYXR0cmlidXRlIG11c3QgdXBkYXRlIGNvcnJlY3RseSB3aGVuIHRv
a2VuIGhhdmUgYmVlbiBhZGRlZCBvciByZW1vdmVkLjwvcD4KKzxkaXYgaWQ9ImNvbnNvbGUiPjwv
ZGl2PgorPHNjcmlwdD4KK3ZhciBlbGVtZW50ID0gY3JlYXRlRWxlbWVudCgnZGl2Jywge30pOwor
CitkZWJ1ZygiaXRlbVR5cGUuYWRkIG11c3QgcmVmbGVjdCBjb3JyZWN0bHkuIik7CitlbGVtZW50
Lml0ZW1UeXBlLmFkZCgnaHR0cDovL2V4YW1wbGUuY29tL2ZvbycpOworZWxlbWVudC5pdGVtVHlw
ZS5hZGQoJ2h0dHA6Ly9leGFtcGxlLmNvbS9GT08nKTsKKworc2hvdWxkQmVUcnVlKCJlbGVtZW50
Lml0ZW1UeXBlLmxlbmd0aCA9PSAyIik7CitzaG91bGRCZVRydWUoImVsZW1lbnQuaXRlbVR5cGUu
dG9TdHJpbmcoKSA9PSAnaHR0cDovL2V4YW1wbGUuY29tL2ZvbyBodHRwOi8vZXhhbXBsZS5jb20v
Rk9PJyIpOworc2hvdWxkQmUoImVsZW1lbnQuaXRlbVR5cGVbMF0iLCAiJ2h0dHA6Ly9leGFtcGxl
LmNvbS9mb28nIik7CitzaG91bGRCZSgiZWxlbWVudC5pdGVtVHlwZVsxXSIsICInaHR0cDovL2V4
YW1wbGUuY29tL0ZPTyciKTsKK3Nob3VsZEJlKCJlbGVtZW50Lml0ZW1UeXBlLml0ZW0oMCkiLCAi
J2h0dHA6Ly9leGFtcGxlLmNvbS9mb28nIik7CitzaG91bGRCZSgiZWxlbWVudC5pdGVtVHlwZS5p
dGVtKDEpIiwgIidodHRwOi8vZXhhbXBsZS5jb20vRk9PJyIpOworCitkZWJ1ZygiPGJyPml0ZW1U
eXBlLmFkZCBtdXN0IG5vdCBtYWtlIGFueSBjaGFuZ2VzIGlmIGFuIGV4aXN0aW5nIHRva2VuIGlz
IGFkZGVkLiIpOworZWxlbWVudC5pdGVtVHlwZS5hZGQoJ2h0dHA6Ly9leGFtcGxlLmNvbS9mb28n
KTsKK3Nob3VsZEJlVHJ1ZSgiZWxlbWVudC5pdGVtVHlwZS5sZW5ndGggPT0gMiIpOworc2hvdWxk
QmVUcnVlKCJlbGVtZW50Lml0ZW1UeXBlLnRvU3RyaW5nKCkgPT0gJ2h0dHA6Ly9leGFtcGxlLmNv
bS9mb28gaHR0cDovL2V4YW1wbGUuY29tL0ZPTyciKTsKKworZGVidWcoIjxicj5pdGVtVHlwZS5y
ZW1vdmUgbXVzdCByZWZsZWN0IGNvcnJlY3RseS4iKTsKK2VsZW1lbnQuaXRlbVR5cGUucmVtb3Zl
KCdodHRwOi8vZXhhbXBsZS5jb20vZm9vJyk7CitzaG91bGRCZVRydWUoImVsZW1lbnQuaXRlbVR5
cGUubGVuZ3RoID09IDEiKTsKK3Nob3VsZEJlRmFsc2UoImVsZW1lbnQuaXRlbVR5cGUuY29udGFp
bnMoJ2h0dHA6Ly9leGFtcGxlLmNvbS9mb28nKSIpCitzaG91bGRCZVRydWUoImVsZW1lbnQuaXRl
bVR5cGUudG9TdHJpbmcoKSA9PSAnaHR0cDovL2V4YW1wbGUuY29tL0ZPTyciKTsKKworZGVidWco
Ijxicj5pdGVtVHlwZS5yZW1vdmUgbXVzdCBub3QgbWFrZSBhbnkgY2hhbmdlcyBpZiByZW1vdmUg
aXMgY2FsbGVkIGZvciBhIHRva2VuIHRoYXQgZG9lc24ndCBleGlzdC4iKTsKK2VsZW1lbnQuaXRl
bVR5cGUucmVtb3ZlKCdodHRwOi8vZXhhbXBsZS5jb20vZm9vJyk7CitzaG91bGRCZVRydWUoImVs
ZW1lbnQuaXRlbVR5cGUubGVuZ3RoID09IDEiKTsKK3Nob3VsZEJlRmFsc2UoImVsZW1lbnQuaXRl
bVR5cGUuY29udGFpbnMoJ2h0dHA6Ly9leGFtcGxlLmNvbS9mb28nKSIpOworc2hvdWxkQmVUcnVl
KCJlbGVtZW50Lml0ZW1UeXBlLnRvU3RyaW5nKCkgPT0gJ2h0dHA6Ly9leGFtcGxlLmNvbS9GT08n
Iik7CisKK2RlYnVnKCI8YnI+aXRlbVR5cGUubGVuZ3RoIG11c3QgYmUgMCB3aGVuIGFsbCB0b2tl
bnMgYXJlIHJlbW92ZWQuIik7CitlbGVtZW50Lml0ZW1UeXBlLnJlbW92ZSgnaHR0cDovL2V4YW1w
bGUuY29tL0ZPTycpOworc2hvdWxkQmVUcnVlKCJlbGVtZW50Lml0ZW1UeXBlLmxlbmd0aCA9PSAw
Iik7CitzaG91bGRCZUZhbHNlKCJlbGVtZW50Lml0ZW1UeXBlLmNvbnRhaW5zKCdodHRwOi8vZXhh
bXBsZS5jb20vZm9vJykiKTsKK3Nob3VsZEJlRmFsc2UoImVsZW1lbnQuaXRlbVR5cGUuY29udGFp
bnMoJ2h0dHA6Ly9leGFtcGxlLmNvbS9GT08nKSIpOworCit2YXIgc3VjY2Vzc2Z1bGx5UGFyc2Vk
ID0gdHJ1ZTsKKzwvc2NyaXB0PgorPHNjcmlwdCBzcmM9Ii4uLy4uL2pzL3Jlc291cmNlcy9qcy10
ZXN0LXBvc3QuanMiPjwvc2NyaXB0PgorPC9ib2R5PgorPC9odG1sPgpJbmRleDogTGF5b3V0VGVz
dHMvZmFzdC9kb20vTWljcm9EYXRhL2l0ZW10eXBlLWF0dHJpYnV0ZS10ZXN0LWV4cGVjdGVkLnR4
dAo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09Ci0tLSBMYXlvdXRUZXN0cy9mYXN0L2RvbS9NaWNyb0RhdGEvaXRlbXR5cGUt
YXR0cmlidXRlLXRlc3QtZXhwZWN0ZWQudHh0CShyZXZpc2lvbiAwKQorKysgTGF5b3V0VGVzdHMv
ZmFzdC9kb20vTWljcm9EYXRhL2l0ZW10eXBlLWF0dHJpYnV0ZS10ZXN0LWV4cGVjdGVkLnR4dAko
cmV2aXNpb24gMCkKQEAgLTAsMCArMSwyMCBAQAoraXRlbVR5cGUgYXR0cmlidXRlIHNpbXBsZSB0
ZXN0LgorCitDcmVhdGVkIGVsZW1lbnQgb2YgdHlwZTogZGl2CitTZXQgYXR0cmlidXRlOiBpdGVt
dHlwZSwgdmFsdWU6IGh0dHA6Ly9leGFtcGxlLmNvbS9mb28KKworVGhlIGl0ZW1UeXBlIGF0dHJp
YnV0ZSBtdXN0IGJlIGRlZmluZWQuCitQQVNTIGVsZW1lbnQuaXRlbVR5cGUgaXMgZGVmaW5lZC4K
K1BBU1MgZWxlbWVudC5pdGVtVHlwZS50b1N0cmluZygpIGlzICdodHRwOi8vZXhhbXBsZS5jb20v
Zm9vJworCitpdGVtVHlwZSBhbmQgaXRlbVR5cGUubGVuZ3RoIG11c3QgYmUgcmVhZC1vbmx5Lgor
UEFTUyBlbGVtZW50Lml0ZW1UeXBlID0gJ2h0dHA6Ly9leGFtcGxlLmNvbS90ZXN0JzsgZWxlbWVu
dC5pdGVtVHlwZS50b1N0cmluZygpID09ICdodHRwOi8vZXhhbXBsZS5jb20vZm9vJyBpcyB0cnVl
CitQQVNTIGVsZW1lbnQuaXRlbVR5cGUuY29udGFpbnMoJ2h0dHA6Ly9leGFtcGxlLmNvbS90ZXN0
JykgaXMgZmFsc2UKK1BBU1MgZWxlbWVudC5pdGVtVHlwZS5sZW5ndGggPSAwOyBlbGVtZW50Lml0
ZW1UeXBlLmxlbmd0aCA9PSAxIGlzIHRydWUKKworcmVtb3ZlQXR0cmlidXRlKCdpdGVtVHlwZScp
IG11c3QgcmVmbGVjdCBjb3JyZWN0bHkuCitQQVNTIGVsZW1lbnQuaXRlbVR5cGUudG9TdHJpbmco
KSBpcyAnJworUEFTUyBzdWNjZXNzZnVsbHlQYXJzZWQgaXMgdHJ1ZQorCitURVNUIENPTVBMRVRF
CisKSW5kZXg6IExheW91dFRlc3RzL2Zhc3QvZG9tL01pY3JvRGF0YS9pdGVtdHlwZS1hdHRyaWJ1
dGUtdGVzdC5odG1sCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIExheW91dFRlc3RzL2Zhc3QvZG9tL01pY3JvRGF0
YS9pdGVtdHlwZS1hdHRyaWJ1dGUtdGVzdC5odG1sCShyZXZpc2lvbiAwKQorKysgTGF5b3V0VGVz
dHMvZmFzdC9kb20vTWljcm9EYXRhL2l0ZW10eXBlLWF0dHJpYnV0ZS10ZXN0Lmh0bWwJKHJldmlz
aW9uIDApCkBAIC0wLDAgKzEsMzAgQEAKKzwhRE9DVFlQRSBodG1sPgorPGh0bWw+Cis8aGVhZD4K
KzxzY3JpcHQgc3JjPSIuLi8uLi9qcy9yZXNvdXJjZXMvanMtdGVzdC1wcmUuanMiPjwvc2NyaXB0
PgorPHNjcmlwdCBzcmM9InJlc291cmNlcy9taWNyb2RhdGEtY29tbW9uLmpzIj48L3NjcmlwdD4K
KzwvaGVhZD4KKzxib2R5PgorPHA+aXRlbVR5cGUgYXR0cmlidXRlIHNpbXBsZSB0ZXN0LjwvcD4K
KzxkaXYgaWQ9ImNvbnNvbGUiPjwvZGl2PgorPHNjcmlwdD4KK3ZhciBlbGVtZW50ID0gY3JlYXRl
RWxlbWVudCgnZGl2Jywge2l0ZW10eXBlOiAnaHR0cDovL2V4YW1wbGUuY29tL2Zvbyd9KTsKKwor
ZGVidWcoIjxicj5UaGUgaXRlbVR5cGUgYXR0cmlidXRlIG11c3QgYmUgZGVmaW5lZC4iKTsKK3No
b3VsZEJlRGVmaW5lZCgiZWxlbWVudC5pdGVtVHlwZSIpOworc2hvdWxkQmUoImVsZW1lbnQuaXRl
bVR5cGUudG9TdHJpbmcoKSIsICInaHR0cDovL2V4YW1wbGUuY29tL2ZvbyciKTsKKworZGVidWco
Ijxicj5pdGVtVHlwZSBhbmQgaXRlbVR5cGUubGVuZ3RoIG11c3QgYmUgcmVhZC1vbmx5LiIpOwor
c2hvdWxkQmVUcnVlKCJlbGVtZW50Lml0ZW1UeXBlID0gJ2h0dHA6Ly9leGFtcGxlLmNvbS90ZXN0
JzsgZWxlbWVudC5pdGVtVHlwZS50b1N0cmluZygpID09ICdodHRwOi8vZXhhbXBsZS5jb20vZm9v
JyIpOworc2hvdWxkQmVGYWxzZSgiZWxlbWVudC5pdGVtVHlwZS5jb250YWlucygnaHR0cDovL2V4
YW1wbGUuY29tL3Rlc3QnKSIpOworc2hvdWxkQmVUcnVlKCJlbGVtZW50Lml0ZW1UeXBlLmxlbmd0
aCA9IDA7IGVsZW1lbnQuaXRlbVR5cGUubGVuZ3RoID09IDEiKTsKKworZGVidWcoIjxicj5yZW1v
dmVBdHRyaWJ1dGUoJ2l0ZW1UeXBlJykgbXVzdCByZWZsZWN0IGNvcnJlY3RseS4iKTsKK2VsZW1l
bnQucmVtb3ZlQXR0cmlidXRlKCdpdGVtVHlwZScpOworc2hvdWxkQmUoImVsZW1lbnQuaXRlbVR5
cGUudG9TdHJpbmcoKSIsICInJyIpOworCit2YXIgc3VjY2Vzc2Z1bGx5UGFyc2VkID0gdHJ1ZTsK
Kzwvc2NyaXB0PgorPHNjcmlwdCBzcmM9Ii4uLy4uL2pzL3Jlc291cmNlcy9qcy10ZXN0LXBvc3Qu
anMiPjwvc2NyaXB0PgorPC9ib2R5PgorPC9odG1sPgo=
</data>

          </attachment>
      

    </bug>

</bugzilla>