<?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>232522</bug_id>
          
          <creation_ts>2021-10-29 21:32:35 -0700</creation_ts>
          <short_desc>ImageDiff no longer needs a --tolerance argument, and fix sometimes-black diff images</short_desc>
          <delta_ts>2021-11-01 09:25:20 -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>Tools / Tests</component>
          <version>WebKit Nightly Build</version>
          <rep_platform>Unspecified</rep_platform>
          <op_sys>Unspecified</op_sys>
          <bug_status>RESOLVED</bug_status>
          <resolution>FIXED</resolution>
          
          
          <bug_file_loc></bug_file_loc>
          <status_whiteboard></status_whiteboard>
          <keywords>InRadar</keywords>
          <priority>P2</priority>
          <bug_severity>Normal</bug_severity>
          <target_milestone>---</target_milestone>
          
          <blocked>149828</blocked>
          <everconfirmed>1</everconfirmed>
          <reporter name="Simon Fraser (smfr)">simon.fraser</reporter>
          <assigned_to name="Simon Fraser (smfr)">simon.fraser</assigned_to>
          <cc>ews-watchlist</cc>
    
    <cc>glenn</cc>
    
    <cc>gsnedders</cc>
    
    <cc>jbedard</cc>
    
    <cc>mrobinson</cc>
    
    <cc>simon.fraser</cc>
    
    <cc>webkit-bug-importer</cc>
    
    <cc>zalan</cc>
          

      

      

      

          <comment_sort_order>oldest_to_newest</comment_sort_order>  
          <long_desc isprivate="0" >
    <commentid>1810377</commentid>
    <comment_count>0</comment_count>
    <who name="Simon Fraser (smfr)">simon.fraser</who>
    <bug_when>2021-10-29 21:32:35 -0700</bug_when>
    <thetext>ImageDiff no longer needs a --tolerance argument, and fix sometimes-black diff images</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1810378</commentid>
    <comment_count>1</comment_count>
      <attachid>442897</attachid>
    <who name="Simon Fraser (smfr)">simon.fraser</who>
    <bug_when>2021-10-29 21:36:45 -0700</bug_when>
    <thetext>Created attachment 442897
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1810393</commentid>
    <comment_count>2</comment_count>
    <who name="Simon Fraser (smfr)">simon.fraser</who>
    <bug_when>2021-10-29 22:59:28 -0700</bug_when>
    <thetext>*** Bug 232467 has been marked as a duplicate of this bug. ***</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1810608</commentid>
    <comment_count>3</comment_count>
      <attachid>442897</attachid>
    <who name="Martin Robinson">mrobinson</who>
    <bug_when>2021-11-01 07:22:03 -0700</bug_when>
    <thetext>Comment on attachment 442897
Patch

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

Looks good. Just a few suggestions before landing.

&gt; Tools/ImageDiff/ImageDiff.cpp:111
&gt; +                &quot;usage: ImageDiff [-h] [-v] [-d] [-e] [-t TOLERANCE] ([actualImage baselineImage] | &lt;stdin&gt;)\n&quot; \

I think you should remove `[-t TOLERANCE]` from this line now as well.

&gt; Tools/ImageDiff/ImageDiff.cpp:123
&gt;                  &quot;  -t, --tolerance TOLERANCE\n&quot; \
&gt;                  &quot;                        compare the images with the given tolerance\n&quot;

These two lines should be removed as well.

&gt; Tools/ImageDiff/PlatformImage.cpp:101
&gt; +            float pixel = static_cast&lt;float&gt;(diffPixel[p]);

Is it possible that this cast is unnecessary?

&gt; Tools/ImageDiff/PlatformImage.cpp:105
&gt; +            diffPixel[p] = static_cast&lt;unsigned char&gt;(pixel);

Ditto.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1810609</commentid>
    <comment_count>4</comment_count>
    <who name="Martin Robinson">mrobinson</who>
    <bug_when>2021-11-01 07:24:32 -0700</bug_when>
    <thetext>Ah, there is also the style error which seems pretty simple to fix as well.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1810617</commentid>
    <comment_count>5</comment_count>
    <who name="Simon Fraser (smfr)">simon.fraser</who>
    <bug_when>2021-11-01 08:21:35 -0700</bug_when>
    <thetext>(In reply to Martin Robinson from comment #3)
&gt; Comment on attachment 442897 [details]
&gt; Patch
&gt; 
&gt; View in context:
&gt; https://bugs.webkit.org/attachment.cgi?id=442897&amp;action=review
&gt; 
&gt; Looks good. Just a few suggestions before landing.
&gt; 
&gt; &gt; Tools/ImageDiff/ImageDiff.cpp:111
&gt; &gt; +                &quot;usage: ImageDiff [-h] [-v] [-d] [-e] [-t TOLERANCE] ([actualImage baselineImage] | &lt;stdin&gt;)\n&quot; \
&gt; 
&gt; I think you should remove `[-t TOLERANCE]` from this line now as well.
&gt; 
&gt; &gt; Tools/ImageDiff/ImageDiff.cpp:123
&gt; &gt;                  &quot;  -t, --tolerance TOLERANCE\n&quot; \
&gt; &gt;                  &quot;                        compare the images with the given tolerance\n&quot;
&gt; 
&gt; These two lines should be removed as well.

Thanks, I know I did that in some other incarnation of this patch!

&gt; 
&gt; &gt; Tools/ImageDiff/PlatformImage.cpp:101
&gt; &gt; +            float pixel = static_cast&lt;float&gt;(diffPixel[p]);
&gt; 
&gt; Is it possible that this cast is unnecessary?
&gt; 
&gt; &gt; Tools/ImageDiff/PlatformImage.cpp:105
&gt; &gt; +            diffPixel[p] = static_cast&lt;unsigned char&gt;(pixel);

Both casts are not necessary but I like having them because it makes them clear to the reader.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1810618</commentid>
    <comment_count>6</comment_count>
    <who name="Simon Fraser (smfr)">simon.fraser</who>
    <bug_when>2021-11-01 08:22:02 -0700</bug_when>
    <thetext>Style warning is unavoidable; we don&apos;t link ImageDiff with WTF so can only use std:: types.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1810645</commentid>
    <comment_count>7</comment_count>
    <who name="Simon Fraser (smfr)">simon.fraser</who>
    <bug_when>2021-11-01 09:24:06 -0700</bug_when>
    <thetext>https://trac.webkit.org/changeset/285109/webkit</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1810648</commentid>
    <comment_count>8</comment_count>
    <who name="Radar WebKit Bug Importer">webkit-bug-importer</who>
    <bug_when>2021-11-01 09:25:20 -0700</bug_when>
    <thetext>&lt;rdar://problem/84884082&gt;</thetext>
  </long_desc>
      
          <attachment
              isobsolete="0"
              ispatch="1"
              isprivate="0"
          >
            <attachid>442897</attachid>
            <date>2021-10-29 21:36:45 -0700</date>
            <delta_ts>2021-11-01 07:22:03 -0700</delta_ts>
            <desc>Patch</desc>
            <filename>bug-232522-20211029213644.patch</filename>
            <type>text/plain</type>
            <size>15478</size>
            <attacher name="Simon Fraser (smfr)">simon.fraser</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMjg0OTkyCmRpZmYgLS1naXQgYS9Ub29scy9DaGFuZ2VMb2cg
Yi9Ub29scy9DaGFuZ2VMb2cKaW5kZXggYWJjOTg3NWVmMDA1NmQ3MzQwYzdmOWI2Zjk0NjAxY2Ew
Y2IyM2RmNS4uNjNkMTNiMDgyYmIwNzk5ZmYwY2IzNzhiMjU5MjE5MzJkNDJkYjFkZSAxMDA2NDQK
LS0tIGEvVG9vbHMvQ2hhbmdlTG9nCisrKyBiL1Rvb2xzL0NoYW5nZUxvZwpAQCAtMSwzICsxLDMz
IEBACisyMDIxLTEwLTI5ICBTaW1vbiBGcmFzZXIgIDxzaW1vbi5mcmFzZXJAYXBwbGUuY29tPgor
CisgICAgICAgIEltYWdlRGlmZiBubyBsb25nZXIgbmVlZHMgYSAtLXRvbGVyYW5jZSBhcmd1bWVu
dCwgYW5kIGZpeCBzb21ldGltZXMtYmxhY2sgZGlmZiBpbWFnZXMKKyAgICAgICAgaHR0cHM6Ly9i
dWdzLndlYmtpdC5vcmcvc2hvd19idWcuY2dpP2lkPTIzMjUyMgorCisgICAgICAgIFJldmlld2Vk
IGJ5IE5PQk9EWSAoT09QUyEpLgorCisgICAgICAgIEltYWdlRGlmZiBubyBsb25nZXIgZGVhbHMg
d2l0aCB0b2xlcmFuY2UsIHNvIHJlbW92ZSBgLS10b2xlcmFuY2VgIGhhbmRsaW5nIGNvZGUgaW4g
SW1hZ2VEaWZmCisgICAgICAgIGFuZCB0aGUgZHJpdmluZyBzY3JpcHQuCisKKyAgICAgICAgQWxz
byBmaXggYW4gaXNzdWUgd2hlcmUgdGhlIGRpZmYgaW1hZ2UgY291bGQgYmUgYWxsIGJsYWNrIHBp
eGVscyBldmVuIHdoZW4gdGhlcmUgd2FzIGEgZGlmZjsKKyAgICAgICAgd2UgbmVlZCB0byBlbnN1
cmUgdGhhdCBhIHBpeGVsIHdpdGggYW55IGRpZmYgaXMgbm9uLXplcm8gYmVmb3JlIHNjYWxpbmcs
IGFuZCB3ZSBuZWVkIHRvCisgICAgICAgIGVuc3VyZSB0aGF0IHNjYWxpbmcgYnkgbGVnYWN5RGlz
dGFuY2VNYXggZG9lc24ndCBvdmVyZmxvdy4KKworICAgICAgICAqIEltYWdlRGlmZi9JbWFnZURp
ZmYuY3BwOgorICAgICAgICAocHJvY2Vzc0ltYWdlcyk6CisgICAgICAgIChtYWluKToKKyAgICAg
ICAgKiBJbWFnZURpZmYvUGxhdGZvcm1JbWFnZS5jcHA6CisgICAgICAgIChJbWFnZURpZmY6OlBs
YXRmb3JtSW1hZ2U6OmRpZmZlcmVuY2UpOgorICAgICAgICAqIEltYWdlRGlmZi9QbGF0Zm9ybUlt
YWdlLmg6CisgICAgICAgICogSW1hZ2VEaWZmL2NnL1BsYXRmb3JtSW1hZ2VDRy5jcHA6CisgICAg
ICAgIChJbWFnZURpZmY6OlBsYXRmb3JtSW1hZ2U6OmNyZWF0ZUZyb21GaWxlKToKKyAgICAgICAg
KiBTY3JpcHRzL3dlYmtpdHB5L3BvcnQvaW1hZ2VfZGlmZi5weToKKyAgICAgICAgKEltYWdlRGlm
ZmVyLmRpZmZfaW1hZ2UpOgorICAgICAgICAoSW1hZ2VEaWZmZXIuX3N0YXJ0KTogTm8gbmVlZCB0
byByZXN0YXJ0IEltYWdlRGlmZiBpZiB0aGUgdG9sZXJhbmNlIGNoYW5nZWQsIHNpbmNlCisgICAg
ICAgIEltYWdlRGlmZiBkb2Vzbid0IGNvbnN1bHQgaXQuIFRvbGVyYW5jZSBpbiB0aGUgcHl0aG9u
IGhlcmUganVzdCBmZWVkcyBpbnRvCisgICAgICAgIHRoZSBJbWFnZURpZmZSZXN1bHQuCisgICAg
ICAgICogU2NyaXB0cy93ZWJraXRweS9wb3J0L3BvcnRfdGVzdGNhc2UucHk6CisgICAgICAgIChQ
b3J0VGVzdENhc2UudGVzdF9kaWZmX2ltYWdlKToKKwogMjAyMS0xMC0yOCAgU2ltb24gRnJhc2Vy
ICA8c2ltb24uZnJhc2VyQGFwcGxlLmNvbT4KIAogICAgICAgICBQcmVwYXJlIFNpbmdsZVRlc3RS
dW5uZXJUZXN0IHRvIHJlYWQgZnV6enkgcGl4ZWwgbWF0Y2hpbmcgZGF0YQpkaWZmIC0tZ2l0IGEv
VG9vbHMvSW1hZ2VEaWZmL0ltYWdlRGlmZi5jcHAgYi9Ub29scy9JbWFnZURpZmYvSW1hZ2VEaWZm
LmNwcAppbmRleCBhNDZmOWZjYTUwNmVmYjI0YTQ3M2Y3NDhlZDA5ZDg2OGZmMmU4OGQ1Li4wMTMz
ZWU5M2Q3ZTc5ZGMzYWFmY2FiZWY2YTM4YjJiOTFiZGMyZjVhIDEwMDY0NAotLS0gYS9Ub29scy9J
bWFnZURpZmYvSW1hZ2VEaWZmLmNwcAorKysgYi9Ub29scy9JbWFnZURpZmYvSW1hZ2VEaWZmLmNw
cApAQCAtNDksNyArNDksNyBAQCB1c2luZyBuYW1lc3BhY2UgSW1hZ2VEaWZmOwogI2RlZmluZSBG
T1JNQVRfU0laRV9UICJ6dSIKICNlbmRpZgogCi1zdGF0aWMgaW50IHByb2Nlc3NJbWFnZXMoc3Rk
Ojp1bmlxdWVfcHRyPFBsYXRmb3JtSW1hZ2U+JiYgYWN0dWFsSW1hZ2UsIHN0ZDo6dW5pcXVlX3B0
cjxQbGF0Zm9ybUltYWdlPiYmIGJhc2VsaW5lSW1hZ2UsIGZsb2F0IHRvbGVyYW5jZSwgYm9vbCBw
cmludERpZmZlcmVuY2UpCitzdGF0aWMgaW50IHByb2Nlc3NJbWFnZXMoc3RkOjp1bmlxdWVfcHRy
PFBsYXRmb3JtSW1hZ2U+JiYgYWN0dWFsSW1hZ2UsIHN0ZDo6dW5pcXVlX3B0cjxQbGF0Zm9ybUlt
YWdlPiYmIGJhc2VsaW5lSW1hZ2UsIGJvb2wgZXhhY3QsIGJvb2wgcHJpbnREaWZmZXJlbmNlKQog
ewogICAgIGlmICghYWN0dWFsSW1hZ2UtPmlzQ29tcGF0aWJsZSgqYmFzZWxpbmVJbWFnZSkpIHsK
ICAgICAgICAgaWYgKGFjdHVhbEltYWdlLT53aWR0aCgpICE9IGJhc2VsaW5lSW1hZ2UtPndpZHRo
KCkgfHwgYWN0dWFsSW1hZ2UtPmhlaWdodCgpICE9IGJhc2VsaW5lSW1hZ2UtPmhlaWdodCgpKSB7
CkBAIC02NCw3ICs2NCw3IEBAIHN0YXRpYyBpbnQgcHJvY2Vzc0ltYWdlcyhzdGQ6OnVuaXF1ZV9w
dHI8UGxhdGZvcm1JbWFnZT4mJiBhY3R1YWxJbWFnZSwgc3RkOjp1bmlxCiAgICAgfQogCiAgICAg
UGxhdGZvcm1JbWFnZTo6RGlmZmVyZW5jZSBkaWZmZXJlbmNlRGF0YSA9IHsgMTAwLCAwLCAwIH07
Ci0gICAgYXV0byBkaWZmSW1hZ2UgPSBhY3R1YWxJbWFnZS0+ZGlmZmVyZW5jZSgqYmFzZWxpbmVJ
bWFnZSwgZGlmZmVyZW5jZURhdGEpOworICAgIGF1dG8gZGlmZkltYWdlID0gYWN0dWFsSW1hZ2Ut
PmRpZmZlcmVuY2UoKmJhc2VsaW5lSW1hZ2UsIGV4YWN0LCBkaWZmZXJlbmNlRGF0YSk7CiAgICAg
aWYgKGRpZmZJbWFnZSkKICAgICAgICAgZGlmZkltYWdlLT53cml0ZUFzUE5HVG9TdGRvdXQoKTsK
IApAQCAtODYsMjUgKzg2LDExIEBAIGludCBtYWluKGludCBhcmdjLCBjb25zdCBjaGFyKiBhcmd2
W10pCiAgICAgX3NldG1vZGUoMSwgX09fQklOQVJZKTsKICNlbmRpZgogCi0gICAgZmxvYXQgdG9s
ZXJhbmNlID0gMC4wZjsKICAgICBib29sIHZlcmJvc2UgPSBmYWxzZTsKKyAgICBib29sIGV4YWN0
ID0gZmFsc2U7CiAgICAgYm9vbCBwcmludERpZmZlcmVuY2UgPSBmYWxzZTsKIAogICAgIGZvciAo
aW50IGkgPSAxOyBpIDwgYXJnYzsgKytpKSB7Ci0gICAgICAgIGlmICghc3RyY21wKGFyZ3ZbaV0s
ICItdCIpIHx8ICFzdHJjbXAoYXJndltpXSwgIi0tdG9sZXJhbmNlIikpIHsKLSAgICAgICAgICAg
IGlmIChpID49IGFyZ2MgLSAxKQotICAgICAgICAgICAgICAgIHJldHVybiBFWElUX0ZBSUxVUkU7
Ci0gICAgICAgICAgICAKLSAgICAgICAgICAgIGNoYXIqIHJlYWRFbmQgPSBOVUxMOwotICAgICAg
ICAgICAgdG9sZXJhbmNlID0gc3RydG9mKGFyZ3ZbaSArIDFdLCAmcmVhZEVuZCk7Ci0gICAgICAg
ICAgICBpZiAocmVhZEVuZCA9PSBhcmd2W2kgKyAxXSkgewotICAgICAgICAgICAgICAgIGZwcmlu
dGYoc3RkZXJyLCAiRmFpbGVkIHRvIHJlYWQgbnVtYmVyaWMgdG9sZXJhbmNlIHZhbHVlIGZyb20g
JXNcbiIsIGFyZ3ZbaSArIDFdKTsKLSAgICAgICAgICAgICAgICByZXR1cm4gRVhJVF9GQUlMVVJF
OwotICAgICAgICAgICAgfQotICAgICAgICAgICAgKytpOwotICAgICAgICAgICAgY29udGludWU7
Ci0gICAgICAgIH0KLQogICAgICAgICBpZiAoIXN0cmNtcChhcmd2W2ldLCAiLXYiKSB8fCAhc3Ry
Y21wKGFyZ3ZbaV0sICItLXZlcmJvc2UiKSkgewogICAgICAgICAgICAgdmVyYm9zZSA9IHRydWU7
CiAgICAgICAgICAgICBjb250aW51ZTsKQEAgLTExNSw5ICsxMDEsMTQgQEAgaW50IG1haW4oaW50
IGFyZ2MsIGNvbnN0IGNoYXIqIGFyZ3ZbXSkKICAgICAgICAgICAgIGNvbnRpbnVlOwogICAgICAg
ICB9CiAKKyAgICAgICAgaWYgKCFzdHJjbXAoYXJndltpXSwgIi1lIikgfHwgIXN0cmNtcChhcmd2
W2ldLCAiLS1leGFjdCIpKSB7CisgICAgICAgICAgICBleGFjdCA9IHRydWU7CisgICAgICAgICAg
ICBjb250aW51ZTsKKyAgICAgICAgfQorCiAgICAgICAgIGlmICghc3RyY21wKGFyZ3ZbaV0sICIt
aCIpIHx8ICFzdHJjbXAoYXJndltpXSwgIi0taGVscCIpKSB7CiAgICAgICAgICAgICBmcHJpbnRm
KHN0ZG91dCwKLSAgICAgICAgICAgICAgICAidXNhZ2U6IEltYWdlRGlmZiBbLWhdIFstdl0gWy1k
XSBbLXQgVE9MRVJBTkNFXSAoW2FjdHVhbEltYWdlIGJhc2VsaW5lSW1hZ2VdIHwgPHN0ZGluPilc
biIgXAorICAgICAgICAgICAgICAgICJ1c2FnZTogSW1hZ2VEaWZmIFstaF0gWy12XSBbLWRdIFst
ZV0gWy10IFRPTEVSQU5DRV0gKFthY3R1YWxJbWFnZSBiYXNlbGluZUltYWdlXSB8IDxzdGRpbj4p
XG4iIFwKICAgICAgICAgICAgICAgICAiXG4iIFwKICAgICAgICAgICAgICAgICAiUmVhZHMgdHdv
IFBORy1lbmNvZGVkIGltYWdlcyBhbmQgY29tcGFyZXMgdGhlbS4gSWYgdHdvIGZpbGUgcGF0aCBh
cmd1bWVudHMgYXJlIHN1cHBsaWVkLCBcbiIgXAogICAgICAgICAgICAgICAgICJyZWFkcyBmcm9t
IHRoZSBzcGVjaWZpZWQgZmlsZXMsIG90aGVyd2lzZSBmcm9tIDxzdGRpbj4gd2hlcmUgZWFjaCBm
aWxlIGlzIHByZWNlZGVkIGJ5IFxuIiBcCkBAIC0xMjcsNiArMTE4LDcgQEAgaW50IG1haW4oaW50
IGFyZ2MsIGNvbnN0IGNoYXIqIGFyZ3ZbXSkKICAgICAgICAgICAgICAgICAiICAtaCwgLS1oZWxw
ICAgICAgICAgICAgc2hvdyB0aGlzIGhlbHAgbWVzc2FnZSBhbmQgZXhpdFxuIiBcCiAgICAgICAg
ICAgICAgICAgIiAgLXYsIC0tdmVyYm9zZSAgICAgICAgIHByaW50IGRpYWdub3N0aWMgaW5mb3Jt
YXRpb24gdG8gc3RkZXJyXG4iIFwKICAgICAgICAgICAgICAgICAiICAtZCwgLS1kaWZmZXJlbmNl
ICAgICAgcHJpbnQgV1BULXN0eWxlIG1heERpZmZlcmVuY2UgYW5kIHRvdGFsUGl4ZWxzIGRhdGFc
biIgXAorICAgICAgICAgICAgICAgICIgIC1lLCAtLWV4YWN0ICAgICAgICAgICB1c2UgZXhhY3Qg
bWF0Y2hpbmcgKG5vIGJ1aWx0LWluIHBlci1jb21wb25lbnQgdG9sZXJhbmNlKVxuIiBcCiAgICAg
ICAgICAgICAgICAgIiAgLXQsIC0tdG9sZXJhbmNlIFRPTEVSQU5DRVxuIiBcCiAgICAgICAgICAg
ICAgICAgIiAgICAgICAgICAgICAgICAgICAgICAgIGNvbXBhcmUgdGhlIGltYWdlcyB3aXRoIHRo
ZSBnaXZlbiB0b2xlcmFuY2VcbiIKICAgICAgICAgICAgICk7CkBAIC0xNjMsNyArMTU1LDcgQEAg
aW50IG1haW4oaW50IGFyZ2MsIGNvbnN0IGNoYXIqIGFyZ3ZbXSkKICAgICAgICAgICAgIGlmICh2
ZXJib3NlKQogICAgICAgICAgICAgICAgIGZwcmludGYoc3RkZXJyLCAiQ29tcGFyaW5nIGZpbGVz
IGFjdHVhbDogJXMgYW5kIGJhc2VsaW5lOiAlc1xuIiwgZmlsZTFQYXRoLCBmaWxlMlBhdGgpOwog
Ci0gICAgICAgICAgICByZXR1cm4gcHJvY2Vzc0ltYWdlcyhzdGQ6Om1vdmUoYWN0dWFsSW1hZ2Up
LCBzdGQ6Om1vdmUoYmFzZWxpbmVJbWFnZSksIHRvbGVyYW5jZSwgcHJpbnREaWZmZXJlbmNlKTsK
KyAgICAgICAgICAgIHJldHVybiBwcm9jZXNzSW1hZ2VzKHN0ZDo6bW92ZShhY3R1YWxJbWFnZSks
IHN0ZDo6bW92ZShiYXNlbGluZUltYWdlKSwgZXhhY3QsIHByaW50RGlmZmVyZW5jZSk7CiAgICAg
ICAgIH0KICAgICB9CiAKQEAgLTIwOSw5ICsyMDEsNyBAQCBpbnQgbWFpbihpbnQgYXJnYywgY29u
c3QgY2hhciogYXJndltdKQogICAgICAgICB9CiAKICAgICAgICAgaWYgKGFjdHVhbEltYWdlICYm
IGJhc2VsaW5lSW1hZ2UpIHsKLSAgICAgICAgICAgIGlmICh2ZXJib3NlKQotICAgICAgICAgICAg
ICAgIGZwcmludGYoc3RkZXJyLCAiSW1hZ2VEaWZmOiBwcm9jZXNzaW5nIGltYWdlcyB3aXRoIHRv
bGVyYW5jZSAlMDEuMmYlJVxuIiwgdG9sZXJhbmNlKTsKLSAgICAgICAgICAgIGF1dG8gcmVzdWx0
ID0gcHJvY2Vzc0ltYWdlcyhzdGQ6OmV4Y2hhbmdlKGFjdHVhbEltYWdlLCB7IH0pLCBzdGQ6OmV4
Y2hhbmdlKGJhc2VsaW5lSW1hZ2UsIHsgfSksIHRvbGVyYW5jZSwgcHJpbnREaWZmZXJlbmNlKTsK
KyAgICAgICAgICAgIGF1dG8gcmVzdWx0ID0gcHJvY2Vzc0ltYWdlcyhzdGQ6OmV4Y2hhbmdlKGFj
dHVhbEltYWdlLCB7IH0pLCBzdGQ6OmV4Y2hhbmdlKGJhc2VsaW5lSW1hZ2UsIHsgfSksIGV4YWN0
LCBwcmludERpZmZlcmVuY2UpOwogICAgICAgICAgICAgaWYgKHJlc3VsdCAhPSBFWElUX1NVQ0NF
U1MpCiAgICAgICAgICAgICAgICAgcmV0dXJuIHJlc3VsdDsKICAgICAgICAgfQpkaWZmIC0tZ2l0
IGEvVG9vbHMvSW1hZ2VEaWZmL1BsYXRmb3JtSW1hZ2UuY3BwIGIvVG9vbHMvSW1hZ2VEaWZmL1Bs
YXRmb3JtSW1hZ2UuY3BwCmluZGV4IDVhOWQzY2Y0NTUxYTFmMTlmNTY2YzYxZTBmMGI2MjEyYmRl
ZjNkMjYuLmI4MmRlNTgyYTY0YzFjNzdkOWUxOWZmZWM4ZGEzZDlkNjE5OTVjNzUgMTAwNjQ0Ci0t
LSBhL1Rvb2xzL0ltYWdlRGlmZi9QbGF0Zm9ybUltYWdlLmNwcAorKysgYi9Ub29scy9JbWFnZURp
ZmYvUGxhdGZvcm1JbWFnZS5jcHAKQEAgLTQwLDIwICs0MCwyMCBAQCBib29sIFBsYXRmb3JtSW1h
Z2U6OmlzQ29tcGF0aWJsZShjb25zdCBQbGF0Zm9ybUltYWdlJiBvdGhlcikgY29uc3QKICAgICAg
ICAgJiYgaGFzQWxwaGEoKSA9PSBvdGhlci5oYXNBbHBoYSgpOwogfQogCi1zdGQ6OnVuaXF1ZV9w
dHI8UGxhdGZvcm1JbWFnZT4gUGxhdGZvcm1JbWFnZTo6ZGlmZmVyZW5jZShjb25zdCBQbGF0Zm9y
bUltYWdlJiBvdGhlciwgRGlmZmVyZW5jZSYgZGlmZmVyZW5jZSkKK3N0ZDo6dW5pcXVlX3B0cjxQ
bGF0Zm9ybUltYWdlPiBQbGF0Zm9ybUltYWdlOjpkaWZmZXJlbmNlKGNvbnN0IFBsYXRmb3JtSW1h
Z2UmIG90aGVyLCBib29sIGV4YWN0LCBEaWZmZXJlbmNlJiBkaWZmZXJlbmNlKQogewogICAgIHNp
emVfdCB3aWR0aCA9IHRoaXMtPndpZHRoKCk7CiAgICAgc2l6ZV90IGhlaWdodCA9IHRoaXMtPmhl
aWdodCgpOwogCiAgICAgLy8gQ29tcGFyZSB0aGUgY29udGVudCBvZiB0aGUgMiBiaXRtYXBzCi0g
ICAgdm9pZCogZGlmZkJ1ZmZlciA9IG1hbGxvYyh3aWR0aCAqIGhlaWdodCk7CisgICAgdW5zaWdu
ZWQgY2hhciogZGlmZkJ1ZmZlciA9IHN0YXRpY19jYXN0PHVuc2lnbmVkIGNoYXIqPihjYWxsb2Mo
d2lkdGggKiBoZWlnaHQsIHNpemVvZih1bnNpZ25lZCBjaGFyKSkpOwogICAgIHNpemVfdCBwaXhl
bENvdW50V2l0aFNpZ25pZmljYW50RGlmZmVyZW5jZSA9IDA7CiAgICAgZmxvYXQgbGVnYWN5RGlz
dGFuY2VTdW0gPSAwLjBmOwogICAgIGZsb2F0IGxlZ2FjeURpc3RhbmNlTWF4ID0gMC4wZjsKIAog
ICAgIHVuc2lnbmVkIGNoYXIqIGJhc2VQaXhlbCA9IHRoaXMtPnBpeGVscygpOwogICAgIHVuc2ln
bmVkIGNoYXIqIHBpeGVsID0gb3RoZXIucGl4ZWxzKCk7Ci0gICAgdW5zaWduZWQgY2hhciogZGlm
ZlBpeGVsID0gcmVpbnRlcnByZXRfY2FzdDx1bnNpZ25lZCBjaGFyKj4oZGlmZkJ1ZmZlcik7Cisg
ICAgdW5zaWduZWQgY2hhciogZGlmZlBpeGVsID0gZGlmZkJ1ZmZlcjsKIAogICAgIGZvciAoc2l6
ZV90IHkgPSAwOyB5IDwgaGVpZ2h0OyArK3kpIHsKICAgICAgICAgZm9yIChzaXplX3QgeCA9IDA7
IHggPCB3aWR0aDsgKyt4KSB7CkBAIC02Myw4ICs2Myw2IEBAIHN0ZDo6dW5pcXVlX3B0cjxQbGF0
Zm9ybUltYWdlPiBQbGF0Zm9ybUltYWdlOjpkaWZmZXJlbmNlKGNvbnN0IFBsYXRmb3JtSW1hZ2Um
IG90CiAgICAgICAgICAgICBmbG9hdCBhbHBoYSA9IChwaXhlbFszXSAtIGJhc2VQaXhlbFszXSkg
LyBzdGQ6Om1heDxmbG9hdD4oMjU1IC0gYmFzZVBpeGVsWzNdLCBiYXNlUGl4ZWxbM10pOwogICAg
ICAgICAgICAgZmxvYXQgbGVnYWN5RGlzdGFuY2UgPSBzcXJ0ZihyZWQgKiByZWQgKyBncmVlbiAq
IGdyZWVuICsgYmx1ZSAqIGJsdWUgKyBhbHBoYSAqIGFscGhhKSAvIDIuMGY7CiAKLSAgICAgICAg
ICAgICpkaWZmUGl4ZWwrKyA9IHN0YXRpY19jYXN0PHVuc2lnbmVkIGNoYXI+KGxlZ2FjeURpc3Rh
bmNlICogMjU1LjBmKTsKLSAgICAgICAgICAgIAogICAgICAgICAgICAgLy8gV1BULXN0eWxlIGRp
ZmZlcmVuY2UgY29kZS4KICAgICAgICAgICAgIGlmIChsZWdhY3lEaXN0YW5jZSkgewogICAgICAg
ICAgICAgICAgICsrZGlmZmVyZW5jZS50b3RhbFBpeGVsczsKQEAgLTc1LDE2ICs3MywxOSBAQCBz
dGQ6OnVuaXF1ZV9wdHI8UGxhdGZvcm1JbWFnZT4gUGxhdGZvcm1JbWFnZTo6ZGlmZmVyZW5jZShj
b25zdCBQbGF0Zm9ybUltYWdlJiBvdAogICAgICAgICAgICAgICAgIGRpZmZlcmVuY2UubWF4RGlm
ZmVyZW5jZSA9IHN0ZDo6bWF4KGRpZmZlcmVuY2UubWF4RGlmZmVyZW5jZSwgbWF4RGlmZik7CiAK
ICAgICAgICAgICAgICAgICBsZWdhY3lEaXN0YW5jZU1heCA9IHN0ZDo6bWF4KGxlZ2FjeURpc3Rh
bmNlTWF4LCBsZWdhY3lEaXN0YW5jZSk7CisgICAgICAgICAgICAgICAgKmRpZmZQaXhlbCA9IHN0
YXRpY19jYXN0PHVuc2lnbmVkIGNoYXI+KHN0ZDo6Y2VpbChsZWdhY3lEaXN0YW5jZSAqIDI1NS4w
ZikpOwogICAgICAgICAgICAgfQogCi0gICAgICAgICAgICAvLyBMZWdhY3kgZGlmZmVyZW5jZSBj
b2RlLiBOb3RlIHRoZXJlIGlzIHNvbWUgYnVpbHQtaW4gdG9sZXJhbmNlIGhlcmUuCi0gICAgICAg
ICAgICBpZiAobGVnYWN5RGlzdGFuY2UgPj0gMS4wZiAvIDI1NS4wZikgeworICAgICAgICAgICAg
Ly8gTGVnYWN5IGRpZmZlcmVuY2UgY29kZS4KKyAgICAgICAgICAgIGJvb2wgcGl4ZWxEaWZmZXJz
ID0gZXhhY3QgPyBsZWdhY3lEaXN0YW5jZSA6IGxlZ2FjeURpc3RhbmNlID49IDEuMGYgLyAyNTUu
MGY7CisgICAgICAgICAgICBpZiAocGl4ZWxEaWZmZXJzKSB7CiAgICAgICAgICAgICAgICAgKytw
aXhlbENvdW50V2l0aFNpZ25pZmljYW50RGlmZmVyZW5jZTsKICAgICAgICAgICAgICAgICBsZWdh
Y3lEaXN0YW5jZVN1bSArPSBsZWdhY3lEaXN0YW5jZTsKICAgICAgICAgICAgIH0KIAogICAgICAg
ICAgICAgYmFzZVBpeGVsICs9IDQ7CiAgICAgICAgICAgICBwaXhlbCArPSA0OworICAgICAgICAg
ICAgKytkaWZmUGl4ZWw7CiAgICAgICAgIH0KICAgICB9CiAKQEAgLTk1LDkgKzk2LDE0IEBAIHN0
ZDo6dW5pcXVlX3B0cjxQbGF0Zm9ybUltYWdlPiBQbGF0Zm9ybUltYWdlOjpkaWZmZXJlbmNlKGNv
bnN0IFBsYXRmb3JtSW1hZ2UmIG90CiAgICAgICAgIGRpZmZlcmVuY2UucGVyY2VudGFnZURpZmZl
cmVuY2UgPSAwLjBmOwogCiAgICAgaWYgKGRpZmZlcmVuY2UudG90YWxQaXhlbHMpIHsKLSAgICAg
ICAgZGlmZlBpeGVsID0gcmVpbnRlcnByZXRfY2FzdDx1bnNpZ25lZCBjaGFyKj4oZGlmZkJ1ZmZl
cik7Ci0gICAgICAgIGZvciAoc2l6ZV90IHAgPSAwOyBwIDwgaGVpZ2h0ICogd2lkdGg7ICsrcCkK
LSAgICAgICAgICAgIGRpZmZQaXhlbFtwXSAvPSBsZWdhY3lEaXN0YW5jZU1heDsKKyAgICAgICAg
ZGlmZlBpeGVsID0gZGlmZkJ1ZmZlcjsKKyAgICAgICAgZm9yIChzaXplX3QgcCA9IDA7IHAgPCBo
ZWlnaHQgKiB3aWR0aDsgKytwKSB7CisgICAgICAgICAgICBmbG9hdCBwaXhlbCA9IHN0YXRpY19j
YXN0PGZsb2F0PihkaWZmUGl4ZWxbcF0pOworICAgICAgICAgICAgaWYgKCFwaXhlbCkKKyAgICAg
ICAgICAgICAgICBjb250aW51ZTsKKyAgICAgICAgICAgIHBpeGVsID0gc3RkOjptaW4ocGl4ZWwg
LyBsZWdhY3lEaXN0YW5jZU1heCwgMjU1LjBmKTsKKyAgICAgICAgICAgIGRpZmZQaXhlbFtwXSA9
IHN0YXRpY19jYXN0PHVuc2lnbmVkIGNoYXI+KHBpeGVsKTsKKyAgICAgICAgfQogCiAgICAgICAg
IHJldHVybiBQbGF0Zm9ybUltYWdlOjpjcmVhdGVGcm9tRGlmZkRhdGEoZGlmZkJ1ZmZlciwgd2lk
dGgsIGhlaWdodCk7CiAgICAgfQpkaWZmIC0tZ2l0IGEvVG9vbHMvSW1hZ2VEaWZmL1BsYXRmb3Jt
SW1hZ2UuaCBiL1Rvb2xzL0ltYWdlRGlmZi9QbGF0Zm9ybUltYWdlLmgKaW5kZXggNTQ5MzIyNjhl
NGE3YWVhZTg3YzZkN2Y3MTQ1NDU3OTRjYzFiZDY0Yi4uYmI2ZTdkZjU2ZTAxMjdlMTIwNDc2MmM1
OTgxZjA1NGQ4NTU4NDQ3ZiAxMDA2NDQKLS0tIGEvVG9vbHMvSW1hZ2VEaWZmL1BsYXRmb3JtSW1h
Z2UuaAorKysgYi9Ub29scy9JbWFnZURpZmYvUGxhdGZvcm1JbWFnZS5oCkBAIC02Miw3ICs2Miw3
IEBAIHB1YmxpYzoKICAgICAgICAgdW5zaWduZWQgbWF4RGlmZmVyZW5jZSB7IDAgfTsKICAgICAg
ICAgc2l6ZV90IHRvdGFsUGl4ZWxzIHsgMCB9OwogICAgIH07Ci0gICAgc3RkOjp1bmlxdWVfcHRy
PFBsYXRmb3JtSW1hZ2U+IGRpZmZlcmVuY2UoY29uc3QgUGxhdGZvcm1JbWFnZSYsIERpZmZlcmVu
Y2UmKTsKKyAgICBzdGQ6OnVuaXF1ZV9wdHI8UGxhdGZvcm1JbWFnZT4gZGlmZmVyZW5jZShjb25z
dCBQbGF0Zm9ybUltYWdlJiwgYm9vbCBleGFjdCwgRGlmZmVyZW5jZSYpOwogCiAgICAgdm9pZCB3
cml0ZUFzUE5HVG9TdGRvdXQoKTsKIApkaWZmIC0tZ2l0IGEvVG9vbHMvSW1hZ2VEaWZmL2NnL1Bs
YXRmb3JtSW1hZ2VDRy5jcHAgYi9Ub29scy9JbWFnZURpZmYvY2cvUGxhdGZvcm1JbWFnZUNHLmNw
cAppbmRleCBkOTZjNDU5MTY1NDYyMDRkMDA2MDA0NTJlOWYyMGY1NzNiNDYwYjc3Li5hYWQ1YjAx
ZmVhMTU0MTY0MTNkODY1ZGE4NjA0ZWE0YmNlODI5MDY3IDEwMDY0NAotLS0gYS9Ub29scy9JbWFn
ZURpZmYvY2cvUGxhdGZvcm1JbWFnZUNHLmNwcAorKysgYi9Ub29scy9JbWFnZURpZmYvY2cvUGxh
dGZvcm1JbWFnZUNHLmNwcApAQCAtNzQsOCArNzQsMTMgQEAgbmFtZXNwYWNlIEltYWdlRGlmZiB7
CiBzdGQ6OnVuaXF1ZV9wdHI8UGxhdGZvcm1JbWFnZT4gUGxhdGZvcm1JbWFnZTo6Y3JlYXRlRnJv
bUZpbGUoY29uc3QgY2hhciogZmlsZVBhdGgpCiB7CiAgICAgYXV0byBkYXRhUHJvdmlkZXIgPSBD
R0RhdGFQcm92aWRlckNyZWF0ZVdpdGhGaWxlbmFtZShmaWxlUGF0aCk7CisgICAgaWYgKCFkYXRh
UHJvdmlkZXIpCisgICAgICAgIHJldHVybiBudWxscHRyOworCiAgICAgYXV0byBpbWFnZSA9IENH
SW1hZ2VDcmVhdGVXaXRoUE5HRGF0YVByb3ZpZGVyKGRhdGFQcm92aWRlciwgMCwgZmFsc2UsIGtD
R1JlbmRlcmluZ0ludGVudERlZmF1bHQpOwogICAgIENHRGF0YVByb3ZpZGVyUmVsZWFzZShkYXRh
UHJvdmlkZXIpOworICAgIGlmICghaW1hZ2UpCisgICAgICAgIHJldHVybiBudWxscHRyOwogCiAg
ICAgcmV0dXJuIHN0ZDo6bWFrZV91bmlxdWU8UGxhdGZvcm1JbWFnZT4oaW1hZ2UpOwogfQpkaWZm
IC0tZ2l0IGEvVG9vbHMvU2NyaXB0cy93ZWJraXRweS9wb3J0L2ltYWdlX2RpZmYucHkgYi9Ub29s
cy9TY3JpcHRzL3dlYmtpdHB5L3BvcnQvaW1hZ2VfZGlmZi5weQppbmRleCA5MWEzNmVlOWU3YjA5
YmIyYTU1NzgzYmU2ZGY2MTkyNGYwMWEzYmE3Li40MmIzMDVjNzE5YjI3ZWQ3ZTVkNmNjZDUzZjE1
MDc3NzE2ODAyY2Q0IDEwMDY0NAotLS0gYS9Ub29scy9TY3JpcHRzL3dlYmtpdHB5L3BvcnQvaW1h
Z2VfZGlmZi5weQorKysgYi9Ub29scy9TY3JpcHRzL3dlYmtpdHB5L3BvcnQvaW1hZ2VfZGlmZi5w
eQpAQCAtNzIsNyArNzIsNyBAQCBjbGFzcyBJbWFnZURpZmZlcihvYmplY3QpOgogICAgICAgICBz
ZWxmLl9wcm9jZXNzID0gTm9uZQogCiAgICAgZGVmIGRpZmZfaW1hZ2Uoc2VsZiwgZXhwZWN0ZWRf
Y29udGVudHMsIGFjdHVhbF9jb250ZW50cywgdG9sZXJhbmNlKToKLSAgICAgICAgaWYgdG9sZXJh
bmNlICE9IHNlbGYuX3RvbGVyYW5jZSBvciAoc2VsZi5fcHJvY2VzcyBhbmQgc2VsZi5fcHJvY2Vz
cy5oYXNfYXZhaWxhYmxlX3N0ZG91dCgpKToKKyAgICAgICAgaWYgKHNlbGYuX3Byb2Nlc3MgYW5k
IHNlbGYuX3Byb2Nlc3MuaGFzX2F2YWlsYWJsZV9zdGRvdXQoKSk6CiAgICAgICAgICAgICBzZWxm
LnN0b3AoKQogICAgICAgICB0cnk6CiAgICAgICAgICAgICBhc3NlcnQoZXhwZWN0ZWRfY29udGVu
dHMpCkBAIC05Myw3ICs5Myw3IEBAIGNsYXNzIEltYWdlRGlmZmVyKG9iamVjdCk6CiAgICAgICAg
ICAgICByZXR1cm4gKE5vbmUsIDAsICJGYWlsZWQgdG8gY29tcHV0ZSBhbiBpbWFnZSBkaWZmOiAl
cyIgJSBzdHIoZXhjZXB0aW9uKSkKIAogICAgIGRlZiBfc3RhcnQoc2VsZiwgdG9sZXJhbmNlKToK
LSAgICAgICAgY29tbWFuZCA9IFtzZWxmLl9wb3J0Ll9wYXRoX3RvX2ltYWdlX2RpZmYoKSwgJy0t
ZGlmZmVyZW5jZScsICctLXRvbGVyYW5jZScsIHN0cih0b2xlcmFuY2UpXQorICAgICAgICBjb21t
YW5kID0gW3NlbGYuX3BvcnQuX3BhdGhfdG9faW1hZ2VfZGlmZigpLCAnLS1kaWZmZXJlbmNlJ10K
ICAgICAgICAgaWYgc2VsZi5fcG9ydC5fc2hvdWxkX3VzZV9qaGJ1aWxkKCk6CiAgICAgICAgICAg
ICBjb21tYW5kID0gc2VsZi5fcG9ydC5famhidWlsZF93cmFwcGVyICsgY29tbWFuZAogICAgICAg
ICBlbnZpcm9ubWVudCA9IHNlbGYuX3BvcnQuc2V0dXBfZW52aXJvbl9mb3Jfc2VydmVyKCdJbWFn
ZURpZmYnKQpkaWZmIC0tZ2l0IGEvVG9vbHMvU2NyaXB0cy93ZWJraXRweS9wb3J0L3BvcnRfdGVz
dGNhc2UucHkgYi9Ub29scy9TY3JpcHRzL3dlYmtpdHB5L3BvcnQvcG9ydF90ZXN0Y2FzZS5weQpp
bmRleCA5OWJmZjA2MzA3OGE0Njg2OGIwNzlmYjRkYTBlY2ViOGY0MjMyNDg4Li5hMzNmOWM1NDI1
OGExY2IwMWIwYmNlN2U1OTRjODJjYTlhYTg4NjlhIDEwMDY0NAotLS0gYS9Ub29scy9TY3JpcHRz
L3dlYmtpdHB5L3BvcnQvcG9ydF90ZXN0Y2FzZS5weQorKysgYi9Ub29scy9TY3JpcHRzL3dlYmtp
dHB5L3BvcnQvcG9ydF90ZXN0Y2FzZS5weQpAQCAtMzEwLDI2ICszMTAsMjYgQEAgY2xhc3MgUG9y
dFRlc3RDYXNlKHVuaXR0ZXN0LlRlc3RDYXNlKToKICAgICAgICAgcmVzdWx0X2Z1enp5X2RhdGEg
PSB7J21heF9kaWZmZXJlbmNlJzogNiwgJ3RvdGFsX3BpeGVscyc6IDUwfQogCiAgICAgICAgIHNl
bGYuYXNzZXJ0RXF1YWwocG9ydC5kaWZmX2ltYWdlKGInZm9vJywgYidiYXInKSwgSW1hZ2VEaWZm
UmVzdWx0KHBhc3NlZD1GYWxzZSwgZGlmZl9pbWFnZT1iJ2ltYWdlMScsIGRpZmZlcmVuY2U9OTAu
MCwgdG9sZXJhbmNlPTAuMSwgZnV6enlfZGF0YT1yZXN1bHRfZnV6enlfZGF0YSkpCi0gICAgICAg
IHNlbGYuYXNzZXJ0RXF1YWwoc2VsZi5wcm9jLmNtZCwgW3BvcnQuX3BhdGhfdG9faW1hZ2VfZGlm
ZigpLCAiLS1kaWZmZXJlbmNlIiwgIi0tdG9sZXJhbmNlIiwgIjAuMSJdKQorICAgICAgICBzZWxm
LmFzc2VydEVxdWFsKHNlbGYucHJvYy5jbWQsIFtwb3J0Ll9wYXRoX3RvX2ltYWdlX2RpZmYoKSwg
Ii0tZGlmZmVyZW5jZSJdKQogCiAgICAgICAgIHNlbGYuYXNzZXJ0RXF1YWwocG9ydC5kaWZmX2lt
YWdlKGInZm9vJywgYidiYXInLCB0b2xlcmFuY2U9Tm9uZSksIEltYWdlRGlmZlJlc3VsdChwYXNz
ZWQ9RmFsc2UsIGRpZmZfaW1hZ2U9YidpbWFnZTEnLCBkaWZmZXJlbmNlPTkwLjAsIHRvbGVyYW5j
ZT0wLjEsIGZ1enp5X2RhdGE9cmVzdWx0X2Z1enp5X2RhdGEpKQotICAgICAgICBzZWxmLmFzc2Vy
dEVxdWFsKHNlbGYucHJvYy5jbWQsIFtwb3J0Ll9wYXRoX3RvX2ltYWdlX2RpZmYoKSwgIi0tZGlm
ZmVyZW5jZSIsICItLXRvbGVyYW5jZSIsICIwLjEiXSkKKyAgICAgICAgc2VsZi5hc3NlcnRFcXVh
bChzZWxmLnByb2MuY21kLCBbcG9ydC5fcGF0aF90b19pbWFnZV9kaWZmKCksICItLWRpZmZlcmVu
Y2UiXSkKIAogICAgICAgICBzZWxmLmFzc2VydEVxdWFsKHBvcnQuZGlmZl9pbWFnZShiJ2Zvbycs
IGInYmFyJywgdG9sZXJhbmNlPTApLCBJbWFnZURpZmZSZXN1bHQocGFzc2VkPUZhbHNlLCBkaWZm
X2ltYWdlPWInaW1hZ2UxJywgZGlmZmVyZW5jZT05MC4wLCBmdXp6eV9kYXRhPXJlc3VsdF9mdXp6
eV9kYXRhKSkKLSAgICAgICAgc2VsZi5hc3NlcnRFcXVhbChzZWxmLnByb2MuY21kLCBbcG9ydC5f
cGF0aF90b19pbWFnZV9kaWZmKCksICItLWRpZmZlcmVuY2UiLCAiLS10b2xlcmFuY2UiLCAiMCJd
KQorICAgICAgICBzZWxmLmFzc2VydEVxdWFsKHNlbGYucHJvYy5jbWQsIFtwb3J0Ll9wYXRoX3Rv
X2ltYWdlX2RpZmYoKSwgIi0tZGlmZmVyZW5jZSJdKQogCiAgICAgICAgICMgTm93IHRlc3QgdGhl
IGNhc2Ugb2YgdXNpbmcgSkhCdWlsZCB3cmFwcGVyLgogICAgICAgICBwb3J0Ll9maWxlc3lzdGVt
Lm1heWJlX21ha2VfZGlyZWN0b3J5KHBvcnQucGF0aF9mcm9tX3dlYmtpdF9iYXNlKCdXZWJLaXRC
dWlsZCcsICdEZXBlbmRlbmNpZXMlcycgJSBwb3J0LnBvcnRfbmFtZS51cHBlcigpKSkKICAgICAg
ICAgc2VsZi5hc3NlcnRUcnVlKHBvcnQuX3Nob3VsZF91c2VfamhidWlsZCgpKQogCiAgICAgICAg
IHNlbGYuYXNzZXJ0RXF1YWwocG9ydC5kaWZmX2ltYWdlKGInZm9vJywgYidiYXInKSwgSW1hZ2VE
aWZmUmVzdWx0KHBhc3NlZD1GYWxzZSwgZGlmZl9pbWFnZT1iJ2ltYWdlMScsIGRpZmZlcmVuY2U9
OTAuMCwgdG9sZXJhbmNlPTAuMSwgZnV6enlfZGF0YT1yZXN1bHRfZnV6enlfZGF0YSkpCi0gICAg
ICAgIHNlbGYuYXNzZXJ0RXF1YWwoc2VsZi5wcm9jLmNtZCwgcG9ydC5famhidWlsZF93cmFwcGVy
ICsgW3BvcnQuX3BhdGhfdG9faW1hZ2VfZGlmZigpLCAiLS1kaWZmZXJlbmNlIiwgIi0tdG9sZXJh
bmNlIiwgIjAuMSJdKQorICAgICAgICBzZWxmLmFzc2VydEVxdWFsKHNlbGYucHJvYy5jbWQsIHBv
cnQuX2poYnVpbGRfd3JhcHBlciArIFtwb3J0Ll9wYXRoX3RvX2ltYWdlX2RpZmYoKSwgIi0tZGlm
ZmVyZW5jZSJdKQogCiAgICAgICAgIHNlbGYuYXNzZXJ0RXF1YWwocG9ydC5kaWZmX2ltYWdlKGIn
Zm9vJywgYidiYXInLCB0b2xlcmFuY2U9Tm9uZSksIEltYWdlRGlmZlJlc3VsdChwYXNzZWQ9RmFs
c2UsIGRpZmZfaW1hZ2U9YidpbWFnZTEnLCBkaWZmZXJlbmNlPTkwLjAsIHRvbGVyYW5jZT0wLjEs
IGZ1enp5X2RhdGE9cmVzdWx0X2Z1enp5X2RhdGEpKQotICAgICAgICBzZWxmLmFzc2VydEVxdWFs
KHNlbGYucHJvYy5jbWQsIHBvcnQuX2poYnVpbGRfd3JhcHBlciArIFtwb3J0Ll9wYXRoX3RvX2lt
YWdlX2RpZmYoKSwgIi0tZGlmZmVyZW5jZSIsICItLXRvbGVyYW5jZSIsICIwLjEiXSkKKyAgICAg
ICAgc2VsZi5hc3NlcnRFcXVhbChzZWxmLnByb2MuY21kLCBwb3J0Ll9qaGJ1aWxkX3dyYXBwZXIg
KyBbcG9ydC5fcGF0aF90b19pbWFnZV9kaWZmKCksICItLWRpZmZlcmVuY2UiXSkKIAogICAgICAg
ICBzZWxmLmFzc2VydEVxdWFsKHBvcnQuZGlmZl9pbWFnZShiJ2ZvbycsIGInYmFyJywgdG9sZXJh
bmNlPTApLCBJbWFnZURpZmZSZXN1bHQocGFzc2VkPUZhbHNlLCBkaWZmX2ltYWdlPWInaW1hZ2Ux
JywgZGlmZmVyZW5jZT05MC4wLCBmdXp6eV9kYXRhPXJlc3VsdF9mdXp6eV9kYXRhKSkKLSAgICAg
ICAgc2VsZi5hc3NlcnRFcXVhbChzZWxmLnByb2MuY21kLCBwb3J0Ll9qaGJ1aWxkX3dyYXBwZXIg
KyBbcG9ydC5fcGF0aF90b19pbWFnZV9kaWZmKCksICItLWRpZmZlcmVuY2UiLCAiLS10b2xlcmFu
Y2UiLCAiMCJdKQorICAgICAgICBzZWxmLmFzc2VydEVxdWFsKHNlbGYucHJvYy5jbWQsIHBvcnQu
X2poYnVpbGRfd3JhcHBlciArIFtwb3J0Ll9wYXRoX3RvX2ltYWdlX2RpZmYoKSwgIi0tZGlmZmVy
ZW5jZSJdKQogCiAgICAgICAgIHBvcnQuY2xlYW5fdXBfdGVzdF9ydW4oKQogICAgICAgICBzZWxm
LmFzc2VydFRydWUoc2VsZi5wcm9jLnN0b3BwZWQpCg==
</data>
<flag name="review"
          id="467488"
          type_id="1"
          status="+"
          setter="mrobinson"
    />
          </attachment>
      

    </bug>

</bugzilla>