<?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>151115</bug_id>
          
          <creation_ts>2015-11-10 11:21:59 -0800</creation_ts>
          <short_desc>B3 should be able to compile a program with Switch</short_desc>
          <delta_ts>2015-11-11 20:09:10 -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>JavaScriptCore</component>
          <version>WebKit 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>
          <dependson>151114</dependson>
          <blocked>150279</blocked>
    
    <blocked>151141</blocked>
          <everconfirmed>1</everconfirmed>
          <reporter name="Filip Pizlo">fpizlo</reporter>
          <assigned_to name="Filip Pizlo">fpizlo</assigned_to>
          <cc>barraclough</cc>
    
    <cc>benjamin</cc>
    
    <cc>commit-queue</cc>
    
    <cc>ggaren</cc>
    
    <cc>mark.lam</cc>
    
    <cc>mhahnenb</cc>
    
    <cc>msaboff</cc>
    
    <cc>nrotem</cc>
    
    <cc>oliver</cc>
    
    <cc>saam</cc>
    
    <cc>sam</cc>
          

      

      

      

          <comment_sort_order>oldest_to_newest</comment_sort_order>  
          <long_desc isprivate="0" >
    <commentid>1140863</commentid>
    <comment_count>0</comment_count>
    <who name="Filip Pizlo">fpizlo</who>
    <bug_when>2015-11-10 11:21:59 -0800</bug_when>
    <thetext>Thingy.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1141196</commentid>
    <comment_count>1</comment_count>
      <attachid>265314</attachid>
    <who name="Filip Pizlo">fpizlo</who>
    <bug_when>2015-11-11 12:59:39 -0800</bug_when>
    <thetext>Created attachment 265314
work in progress</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1141331</commentid>
    <comment_count>2</comment_count>
      <attachid>265348</attachid>
    <who name="Filip Pizlo">fpizlo</who>
    <bug_when>2015-11-11 19:00:12 -0800</bug_when>
    <thetext>Created attachment 265348
the patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1141332</commentid>
    <comment_count>3</comment_count>
    <who name="WebKit Commit Bot">commit-queue</who>
    <bug_when>2015-11-11 19:02:43 -0800</bug_when>
    <thetext>Attachment 265348 did not pass style-queue:


ERROR: Source/JavaScriptCore/b3/B3SwitchValue.cpp:68:  Wrong number of spaces before statement. (expected: 8)  [whitespace/indent] [4]
ERROR: Source/JavaScriptCore/b3/B3LowerMacros.cpp:182:  Place brace on its own line for function definitions.  [whitespace/braces] [4]
Total errors found: 2 in 11 files


If any of these errors are false positives, please file a bug against check-webkit-style.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1141336</commentid>
    <comment_count>4</comment_count>
      <attachid>265348</attachid>
    <who name="Benjamin Poulain">benjamin</who>
    <bug_when>2015-11-11 19:08:09 -0800</bug_when>
    <thetext>Comment on attachment 265348
the patch

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

&gt; Source/JavaScriptCore/b3/B3BasicBlock.cpp:65
&gt;      proc.deleteValue(last());

removeLast(proc)
?</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1141341</commentid>
    <comment_count>5</comment_count>
    <who name="Filip Pizlo">fpizlo</who>
    <bug_when>2015-11-11 19:12:09 -0800</bug_when>
    <thetext>(In reply to comment #4)
&gt; Comment on attachment 265348 [details]
&gt; the patch
&gt; 
&gt; View in context:
&gt; https://bugs.webkit.org/attachment.cgi?id=265348&amp;action=review
&gt; 
&gt; &gt; Source/JavaScriptCore/b3/B3BasicBlock.cpp:65
&gt; &gt;      proc.deleteValue(last());
&gt; 
&gt; removeLast(proc)
&gt; ?

Then I&apos;d have to change the next line to be append().  Is that what you are suggesting?</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1141348</commentid>
    <comment_count>6</comment_count>
    <who name="Benjamin Poulain">benjamin</who>
    <bug_when>2015-11-11 19:26:16 -0800</bug_when>
    <thetext>(In reply to comment #5)
&gt; (In reply to comment #4)
&gt; &gt; Comment on attachment 265348 [details]
&gt; &gt; the patch
&gt; &gt; 
&gt; &gt; View in context:
&gt; &gt; https://bugs.webkit.org/attachment.cgi?id=265348&amp;action=review
&gt; &gt; 
&gt; &gt; &gt; Source/JavaScriptCore/b3/B3BasicBlock.cpp:65
&gt; &gt; &gt;      proc.deleteValue(last());
&gt; &gt; 
&gt; &gt; removeLast(proc)
&gt; &gt; ?
&gt; 
&gt; Then I&apos;d have to change the next line to be append().  Is that what you are
&gt; suggesting?

Yep.
But that&apos;s just a pass-by comment. Feel free to ignore.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1141355</commentid>
    <comment_count>7</comment_count>
    <who name="Filip Pizlo">fpizlo</who>
    <bug_when>2015-11-11 20:09:10 -0800</bug_when>
    <thetext>Landed in http://trac.webkit.org/changeset/192346</thetext>
  </long_desc>
      
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>265314</attachid>
            <date>2015-11-11 12:59:39 -0800</date>
            <delta_ts>2015-11-11 19:00:12 -0800</delta_ts>
            <desc>work in progress</desc>
            <filename>blah.patch</filename>
            <type>text/plain</type>
            <size>11561</size>
            <attacher name="Filip Pizlo">fpizlo</attacher>
            
              <data encoding="base64">SW5kZXg6IFNvdXJjZS9KYXZhU2NyaXB0Q29yZS9iMy9CM0Jhc2ljQmxvY2suY3BwCj09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT0KLS0tIFNvdXJjZS9KYXZhU2NyaXB0Q29yZS9iMy9CM0Jhc2ljQmxvY2suY3BwCShyZXZpc2lv
biAxOTIzMjApCisrKyBTb3VyY2UvSmF2YVNjcmlwdENvcmUvYjMvQjNCYXNpY0Jsb2NrLmNwcAko
d29ya2luZyBjb3B5KQpAQCAtNTQsNiArNTQsMTIgQEAgdm9pZCBCYXNpY0Jsb2NrOjphcHBlbmQo
VmFsdWUqIHZhbHVlKQogICAgIG1fdmFsdWVzLmFwcGVuZCh2YWx1ZSk7CiB9CiAKK3ZvaWQgQmFz
aWNCbG9jazo6cmVtb3ZlTGFzdChQcm9jZWR1cmUmIHByb2MpCit7CisgICAgQVNTRVJUKCFtX3Zh
bHVlcy5pc0VtcHR5KCkpOworICAgIHByb2MuZGVsZXRlVmFsdWUobV92YWx1ZXMudGFrZUxhc3Qo
KSk7Cit9CisKIHZvaWQgQmFzaWNCbG9jazo6cmVwbGFjZUxhc3QoUHJvY2VkdXJlJiBwcm9jLCBW
YWx1ZSogdmFsdWUpCiB7CiAgICAgcHJvYy5kZWxldGVWYWx1ZShsYXN0KCkpOwpJbmRleDogU291
cmNlL0phdmFTY3JpcHRDb3JlL2IzL0IzQmFzaWNCbG9jay5oCj09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIFNvdXJj
ZS9KYXZhU2NyaXB0Q29yZS9iMy9CM0Jhc2ljQmxvY2suaAkocmV2aXNpb24gMTkyMzIwKQorKysg
U291cmNlL0phdmFTY3JpcHRDb3JlL2IzL0IzQmFzaWNCbG9jay5oCSh3b3JraW5nIGNvcHkpCkBA
IC03OCw2ICs3OCw4IEBAIHB1YmxpYzoKIAogICAgIFZhbHVlKiBhcHBlbmRJbnRDb25zdGFudChQ
cm9jZWR1cmUmLCBPcmlnaW4sIFR5cGUsIGludDY0X3QgdmFsdWUpOwogICAgIFZhbHVlKiBhcHBl
bmRJbnRDb25zdGFudChQcm9jZWR1cmUmLCBWYWx1ZSogbGlrZVZhbHVlLCBpbnQ2NF90IHZhbHVl
KTsKKworICAgIHZvaWQgcmVtb3ZlTGFzdChQcm9jZWR1cmUmKTsKICAgICAKICAgICB0ZW1wbGF0
ZTx0eXBlbmFtZSBWYWx1ZVR5cGUsIHR5cGVuYW1lLi4uIEFyZ3VtZW50cz4KICAgICBWYWx1ZVR5
cGUqIHJlcGxhY2VMYXN0V2l0aE5ldyhQcm9jZWR1cmUmLCBBcmd1bWVudHMuLi4pOwpJbmRleDog
U291cmNlL0phdmFTY3JpcHRDb3JlL2IzL0IzQmxvY2tJbnNlcnRpb25TZXQuY3BwCj09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT0KLS0tIFNvdXJjZS9KYXZhU2NyaXB0Q29yZS9iMy9CM0Jsb2NrSW5zZXJ0aW9uU2V0LmNwcAko
cmV2aXNpb24gMTkyMzIwKQorKysgU291cmNlL0phdmFTY3JpcHRDb3JlL2IzL0IzQmxvY2tJbnNl
cnRpb25TZXQuY3BwCSh3b3JraW5nIGNvcHkpCkBAIC02MCw2ICs2MCwxMSBAQCBCYXNpY0Jsb2Nr
KiBCbG9ja0luc2VydGlvblNldDo6aW5zZXJ0QmVmCiAgICAgcmV0dXJuIGluc2VydChiZWZvcmUt
PmluZGV4KCksIGZyZXF1ZW5jeSA9PSBmcmVxdWVuY3kgPyBmcmVxdWVuY3kgOiBiZWZvcmUtPmZy
ZXF1ZW5jeSgpKTsKIH0KIAorQmFzaWNCbG9jayogQmxvY2tJbnNlcnRpb25TZXQ6Omluc2VydEFm
dGVyKEJhc2ljQmxvY2sqIGFmdGVyLCBkb3VibGUgZnJlcXVlbmN5KQoreworICAgIHJldHVybiBp
bnNlcnQoYWZ0ZXItPmluZGV4KCkgKyAxLCBmcmVxdWVuY3kgPT0gZnJlcXVlbmN5ID8gZnJlcXVl
bmN5IDogYWZ0ZXItPmZyZXF1ZW5jeSgpKTsKK30KKwogQmFzaWNCbG9jayogQmxvY2tJbnNlcnRp
b25TZXQ6OnNwbGl0Rm9yd2FyZCgKICAgICBCYXNpY0Jsb2NrKiBibG9jaywgdW5zaWduZWQmIHZh
bHVlSW5kZXgsIEluc2VydGlvblNldCogaW5zZXJ0aW9uU2V0LCBkb3VibGUgZnJlcXVlbmN5KQog
ewpJbmRleDogU291cmNlL0phdmFTY3JpcHRDb3JlL2IzL0IzQmxvY2tJbnNlcnRpb25TZXQuaAo9
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09Ci0tLSBTb3VyY2UvSmF2YVNjcmlwdENvcmUvYjMvQjNCbG9ja0luc2VydGlvblNl
dC5oCShyZXZpc2lvbiAxOTIzMjApCisrKyBTb3VyY2UvSmF2YVNjcmlwdENvcmUvYjMvQjNCbG9j
a0luc2VydGlvblNldC5oCSh3b3JraW5nIGNvcHkpCkBAIC01Myw2ICs1Myw5IEBAIHB1YmxpYzoK
ICAgICAvLyB1c3VhbGx5IHdoYXQgeW91IHdhbnQuCiAgICAgQmFzaWNCbG9jayogaW5zZXJ0QmVm
b3JlKEJhc2ljQmxvY2sqIGJlZm9yZSwgZG91YmxlIGZyZXF1ZW5jeSA9IFBOYU4pOwogCisgICAg
Ly8gSW5zZXJ0cyBhIG5ldyBibG9jayBhZnRlciB0aGUgZ2l2ZW4gYmxvY2suCisgICAgQmFzaWNC
bG9jayogaW5zZXJ0QWZ0ZXIoQmFzaWNCbG9jayogYWZ0ZXIsIGRvdWJsZSBmcmVxdWVuY3kgPSBQ
TmFOKTsKKwogICAgIC8vIEEgaGVscGVyIHRvIHNwbGl0IGEgYmxvY2sgd2hlbiBmb3J3YXJkIGl0
ZXJhdGluZyBvdmVyIGl0LiBJdCBjcmVhdGVzIGEgbmV3IGJsb2NrIHRvIGhvbGQKICAgICAvLyBl
dmVyeXRoaW5nIGJlZm9yZSB0aGUgaW5zdHJ1Y3Rpb24gYXQgdmFsdWVJbmRleC4gVGhlIGN1cnJl
bnQgYmxvY2sgaXMgbGVmdCB3aXRoCiAgICAgLy8gZXZlcnl0aGluZyBhdCBhbmQgYWZ0ZXIgdmFs
dWVJbmRleC4gSWYgdGhlIG9wdGlvbmFsIEluc2VydGlvblNldCBpcyBwcm92aWRlZCwgaXQgd2ls
bCBnZXQKSW5kZXg6IFNvdXJjZS9KYXZhU2NyaXB0Q29yZS9iMy9CM0xvd2VyTWFjcm9zLmNwcAo9
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09Ci0tLSBTb3VyY2UvSmF2YVNjcmlwdENvcmUvYjMvQjNMb3dlck1hY3Jvcy5jcHAJ
KHJldmlzaW9uIDE5MjMyMCkKKysrIFNvdXJjZS9KYXZhU2NyaXB0Q29yZS9iMy9CM0xvd2VyTWFj
cm9zLmNwcAkod29ya2luZyBjb3B5KQpAQCAtNjcsNiArNjcsNyBAQCBwcml2YXRlOgogICAgIHsK
ICAgICAgICAgZm9yIChtX2luZGV4ID0gMDsgbV9pbmRleCA8IG1fYmxvY2stPnNpemUoKTsgKytt
X2luZGV4KSB7CiAgICAgICAgICAgICBtX3ZhbHVlID0gbV9ibG9jay0+YXQobV9pbmRleCk7Cisg
ICAgICAgICAgICBtX29yaWdpbiA9IG1fdmFsdWUtPm9yaWdpbigpOwogICAgICAgICAgICAgc3dp
dGNoIChtX3ZhbHVlLT5vcGNvZGUoKSkgewogICAgICAgICAgICAgY2FzZSBDaGlsbERpdjogewog
ICAgICAgICAgICAgICAgIC8vIEFSTSBzdXBwb3J0cyB0aGlzIGluc3RydWN0aW9uIG5hdGl2ZWx5
LgpAQCAtOTYsOCArOTcsOCBAQCBwcml2YXRlOgogICAgICAgICAgICAgICAgIFZhbHVlKiBvbmUg
PQogICAgICAgICAgICAgICAgICAgICBtX2luc2VydGlvblNldC5pbnNlcnRJbnRDb25zdGFudCht
X2luZGV4LCBtX3ZhbHVlLCAxKTsKICAgICAgICAgICAgICAgICBWYWx1ZSogaXNEZW5PSyA9IG1f
aW5zZXJ0aW9uU2V0Lmluc2VydDxWYWx1ZT4oCi0gICAgICAgICAgICAgICAgICAgIG1faW5kZXgs
IEFib3ZlLCBtX3ZhbHVlLT5vcmlnaW4oKSwKLSAgICAgICAgICAgICAgICAgICAgbV9pbnNlcnRp
b25TZXQuaW5zZXJ0PFZhbHVlPihtX2luZGV4LCBBZGQsIG1fdmFsdWUtPm9yaWdpbigpLCBkZW4s
IG9uZSksCisgICAgICAgICAgICAgICAgICAgIG1faW5kZXgsIEFib3ZlLCBtX29yaWdpbiwKKyAg
ICAgICAgICAgICAgICAgICAgbV9pbnNlcnRpb25TZXQuaW5zZXJ0PFZhbHVlPihtX2luZGV4LCBB
ZGQsIG1fb3JpZ2luLCBkZW4sIG9uZSksCiAgICAgICAgICAgICAgICAgICAgIG9uZSk7CiAKICAg
ICAgICAgICAgICAgICBCYXNpY0Jsb2NrKiBiZWZvcmUgPQpAQCAtMTEwLDI2ICsxMTEsMjYgQEAg
cHJpdmF0ZToKICAgICAgICAgICAgICAgICBCYXNpY0Jsb2NrKiBpbnRNaW5DYXNlID0gbV9ibG9j
a0luc2VydGlvblNldC5pbnNlcnRCZWZvcmUobV9ibG9jayk7CiAKICAgICAgICAgICAgICAgICBi
ZWZvcmUtPnJlcGxhY2VMYXN0V2l0aE5ldzxDb250cm9sVmFsdWU+KAotICAgICAgICAgICAgICAg
ICAgICBtX3Byb2MsIEJyYW5jaCwgbV92YWx1ZS0+b3JpZ2luKCksIGlzRGVuT0ssCisgICAgICAg
ICAgICAgICAgICAgIG1fcHJvYywgQnJhbmNoLCBtX29yaWdpbiwgaXNEZW5PSywKICAgICAgICAg
ICAgICAgICAgICAgRnJlcXVlbnRlZEJsb2NrKG5vcm1hbERpdkNhc2UsIEZyZXF1ZW5jeUNsYXNz
OjpOb3JtYWwpLAogICAgICAgICAgICAgICAgICAgICBGcmVxdWVudGVkQmxvY2soc2hhZHlEZW5D
YXNlLCBGcmVxdWVuY3lDbGFzczo6UmFyZSkpOwogCiAgICAgICAgICAgICAgICAgVXBzaWxvblZh
bHVlKiBub3JtYWxSZXN1bHQgPSBub3JtYWxEaXZDYXNlLT5hcHBlbmROZXc8VXBzaWxvblZhbHVl
PigKLSAgICAgICAgICAgICAgICAgICAgbV9wcm9jLCBtX3ZhbHVlLT5vcmlnaW4oKSwKLSAgICAg
ICAgICAgICAgICAgICAgbm9ybWFsRGl2Q2FzZS0+YXBwZW5kTmV3PFZhbHVlPihtX3Byb2MsIERp
diwgbV92YWx1ZS0+b3JpZ2luKCksIG51bSwgZGVuKSk7CisgICAgICAgICAgICAgICAgICAgIG1f
cHJvYywgbV9vcmlnaW4sCisgICAgICAgICAgICAgICAgICAgIG5vcm1hbERpdkNhc2UtPmFwcGVu
ZE5ldzxWYWx1ZT4obV9wcm9jLCBEaXYsIG1fb3JpZ2luLCBudW0sIGRlbikpOwogICAgICAgICAg
ICAgICAgIG5vcm1hbERpdkNhc2UtPmFwcGVuZE5ldzxDb250cm9sVmFsdWU+KAotICAgICAgICAg
ICAgICAgICAgICBtX3Byb2MsIEp1bXAsIG1fdmFsdWUtPm9yaWdpbigpLCBGcmVxdWVudGVkQmxv
Y2sobV9ibG9jaykpOworICAgICAgICAgICAgICAgICAgICBtX3Byb2MsIEp1bXAsIG1fb3JpZ2lu
LCBGcmVxdWVudGVkQmxvY2sobV9ibG9jaykpOwogCiAgICAgICAgICAgICAgICAgc2hhZHlEZW5D
YXNlLT5hcHBlbmROZXc8Q29udHJvbFZhbHVlPigKLSAgICAgICAgICAgICAgICAgICAgbV9wcm9j
LCBCcmFuY2gsIG1fdmFsdWUtPm9yaWdpbigpLCBkZW4sCisgICAgICAgICAgICAgICAgICAgIG1f
cHJvYywgQnJhbmNoLCBtX29yaWdpbiwgZGVuLAogICAgICAgICAgICAgICAgICAgICBGcmVxdWVu
dGVkQmxvY2sobmVnMURlbkNhc2UsIEZyZXF1ZW5jeUNsYXNzOjpOb3JtYWwpLAogICAgICAgICAg
ICAgICAgICAgICBGcmVxdWVudGVkQmxvY2soemVyb0RlbkNhc2UsIEZyZXF1ZW5jeUNsYXNzOjpS
YXJlKSk7CiAKICAgICAgICAgICAgICAgICBVcHNpbG9uVmFsdWUqIHplcm9SZXN1bHQgPSB6ZXJv
RGVuQ2FzZS0+YXBwZW5kTmV3PFVwc2lsb25WYWx1ZT4oCi0gICAgICAgICAgICAgICAgICAgIG1f
cHJvYywgbV92YWx1ZS0+b3JpZ2luKCksCisgICAgICAgICAgICAgICAgICAgIG1fcHJvYywgbV9v
cmlnaW4sCiAgICAgICAgICAgICAgICAgICAgIHplcm9EZW5DYXNlLT5hcHBlbmRJbnRDb25zdGFu
dChtX3Byb2MsIG1fdmFsdWUsIDApKTsKICAgICAgICAgICAgICAgICB6ZXJvRGVuQ2FzZS0+YXBw
ZW5kTmV3PENvbnRyb2xWYWx1ZT4oCi0gICAgICAgICAgICAgICAgICAgIG1fcHJvYywgSnVtcCwg
bV92YWx1ZS0+b3JpZ2luKCksIEZyZXF1ZW50ZWRCbG9jayhtX2Jsb2NrKSk7CisgICAgICAgICAg
ICAgICAgICAgIG1fcHJvYywgSnVtcCwgbV9vcmlnaW4sIEZyZXF1ZW50ZWRCbG9jayhtX2Jsb2Nr
KSk7CiAKICAgICAgICAgICAgICAgICBpbnQ2NF90IGJhZE51bWVyYXRvckNvbnN0OwogICAgICAg
ICAgICAgICAgIHN3aXRjaCAobV92YWx1ZS0+dHlwZSgpKSB7CkBAIC0xNDgsMTkgKzE0OSwxOSBA
QCBwcml2YXRlOgogICAgICAgICAgICAgICAgICAgICBuZWcxRGVuQ2FzZS0+YXBwZW5kSW50Q29u
c3RhbnQobV9wcm9jLCBtX3ZhbHVlLCBiYWROdW1lcmF0b3JDb25zdCk7CiAKICAgICAgICAgICAg
ICAgICBuZWcxRGVuQ2FzZS0+YXBwZW5kTmV3PENvbnRyb2xWYWx1ZT4oCi0gICAgICAgICAgICAg
ICAgICAgIG1fcHJvYywgQnJhbmNoLCBtX3ZhbHVlLT5vcmlnaW4oKSwKKyAgICAgICAgICAgICAg
ICAgICAgbV9wcm9jLCBCcmFuY2gsIG1fb3JpZ2luLAogICAgICAgICAgICAgICAgICAgICBuZWcx
RGVuQ2FzZS0+YXBwZW5kTmV3PFZhbHVlPigKLSAgICAgICAgICAgICAgICAgICAgICAgIG1fcHJv
YywgRXF1YWwsIG1fdmFsdWUtPm9yaWdpbigpLCBudW0sIGJhZE51bWVyYXRvciksCisgICAgICAg
ICAgICAgICAgICAgICAgICBtX3Byb2MsIEVxdWFsLCBtX29yaWdpbiwgbnVtLCBiYWROdW1lcmF0
b3IpLAogICAgICAgICAgICAgICAgICAgICBGcmVxdWVudGVkQmxvY2soaW50TWluQ2FzZSwgRnJl
cXVlbmN5Q2xhc3M6OlJhcmUpLAogICAgICAgICAgICAgICAgICAgICBGcmVxdWVudGVkQmxvY2so
bm9ybWFsRGl2Q2FzZSwgRnJlcXVlbmN5Q2xhc3M6Ok5vcm1hbCkpOwogCiAgICAgICAgICAgICAg
ICAgVXBzaWxvblZhbHVlKiBpbnRNaW5SZXN1bHQgPSBpbnRNaW5DYXNlLT5hcHBlbmROZXc8VXBz
aWxvblZhbHVlPigKLSAgICAgICAgICAgICAgICAgICAgbV9wcm9jLCBtX3ZhbHVlLT5vcmlnaW4o
KSwgYmFkTnVtZXJhdG9yKTsKKyAgICAgICAgICAgICAgICAgICAgbV9wcm9jLCBtX29yaWdpbiwg
YmFkTnVtZXJhdG9yKTsKICAgICAgICAgICAgICAgICBpbnRNaW5DYXNlLT5hcHBlbmROZXc8Q29u
dHJvbFZhbHVlPigKLSAgICAgICAgICAgICAgICAgICAgbV9wcm9jLCBKdW1wLCBtX3ZhbHVlLT5v
cmlnaW4oKSwgRnJlcXVlbnRlZEJsb2NrKG1fYmxvY2spKTsKKyAgICAgICAgICAgICAgICAgICAg
bV9wcm9jLCBKdW1wLCBtX29yaWdpbiwgRnJlcXVlbnRlZEJsb2NrKG1fYmxvY2spKTsKIAogICAg
ICAgICAgICAgICAgIFZhbHVlKiBwaGkgPSBtX2luc2VydGlvblNldC5pbnNlcnQ8VmFsdWU+KAot
ICAgICAgICAgICAgICAgICAgICBtX2luZGV4LCBQaGksIG1fdmFsdWUtPnR5cGUoKSwgbV92YWx1
ZS0+b3JpZ2luKCkpOworICAgICAgICAgICAgICAgICAgICBtX2luZGV4LCBQaGksIG1fdmFsdWUt
PnR5cGUoKSwgbV9vcmlnaW4pOwogICAgICAgICAgICAgICAgIG5vcm1hbFJlc3VsdC0+c2V0UGhp
KHBoaSk7CiAgICAgICAgICAgICAgICAgemVyb1Jlc3VsdC0+c2V0UGhpKHBoaSk7CiAgICAgICAg
ICAgICAgICAgaW50TWluUmVzdWx0LT5zZXRQaGkocGhpKTsKQEAgLTE3MCw4ICsxNzEsMjIgQEAg
cHJpdmF0ZToKICAgICAgICAgICAgICAgICBicmVhazsKICAgICAgICAgICAgIH0KIAotICAgICAg
ICAgICAgLy8gRklYTUU6IEltcGxlbWVudCBTd2l0Y2guCi0gICAgICAgICAgICAvLyBodHRwczov
L2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9MTUxMTE1CisgICAgICAgICAgICBjYXNl
IFN3aXRjaDogeworICAgICAgICAgICAgICAgIFZlY3RvcjxTd2l0Y2hDYXNlPiBjYXNlczsKKyAg
ICAgICAgICAgICAgICBmb3IgKGNvbnN0IFN3aXRjaENhc2UmIHN3aXRjaENhc2UgOiAqbV92YWx1
ZSkKKyAgICAgICAgICAgICAgICAgICAgY2FzZXMuYXBwZW5kKHN3aXRjaENhc2UpOworICAgICAg
ICAgICAgICAgIHN0ZDo6c29ydCgKKyAgICAgICAgICAgICAgICAgICAgY2FzZXMuYmVnaW4oKSwg
Y2FzZXMuZW5kKCksCisgICAgICAgICAgICAgICAgICAgIFtdIChjb25zdCBTd2l0Y2hDYXNlJiBs
ZWZ0LCBjb25zdCBTd2l0Y2hDYXNlJiByaWdodCkgeworICAgICAgICAgICAgICAgICAgICAgICAg
cmV0dXJuIGxlZnQuY2FzZVZhbHVlKCkgPCByaWdodC5jYXNlVmFsdWUoKTsKKyAgICAgICAgICAg
ICAgICAgICAgfSk7CisgICAgICAgICAgICAgICAgcmVjdXJzaXZlbHlCdWlsZFN3aXRjaCgKKyAg
ICAgICAgICAgICAgICAgICAgbV92YWx1ZS0+Y2hpbGQoMCksIGNhc2VzLCAwLCBmYWxzZSwgY2Fz
ZXMuc2l6ZSgpLCBtX3ZhbHVlLT5mYWxsVGhyb3VnaCgpLAorICAgICAgICAgICAgICAgICAgICBt
X2Jsb2NrKTsKKyAgICAgICAgICAgICAgICBtX2Jsb2NrLT51cGRhdGVQcmVkZWNlc3NvcnNBZnRl
cigpOworICAgICAgICAgICAgICAgIG1fY2hhbmdlZCA9IHRydWU7CisgICAgICAgICAgICAgICAg
YnJlYWs7CisgICAgICAgICAgICB9CiAKICAgICAgICAgICAgIGRlZmF1bHQ6CiAgICAgICAgICAg
ICAgICAgYnJlYWs7CkBAIC0xNzksNiArMTk0LDc5IEBAIHByaXZhdGU6CiAgICAgICAgIH0KICAg
ICAgICAgbV9pbnNlcnRpb25TZXQuZXhlY3V0ZShtX2Jsb2NrKTsKICAgICB9CisKKyAgICAvLyBO
b3RlIHRoYXQgdGhpcyBtZXRob2QgY2Fubm90IHVzZSBtX3ZhbHVlLCBiZWNhdXNlIGluIHRoZSBj
b3Vyc2Ugb2YgdGhlIHJlY3Vyc2lvbiwgd2Ugd2lsbAorICAgIC8vIGRlbGV0ZSBtX3ZhbHVlLiBU
aGF0IGFsc28gbWVhbnMgdGhhdCB3ZSBjYW5ub3QgaG9sZCBhbnkgcmVmZXJlbmNlcyB0byBhbnl0
aGluZyBpbnNpZGUgdGhlCisgICAgLy8gU3dpdGNoVmFsdWUuIFRoYXQncyB3aHkgZmFsbFRocm91
Z2ggaXMgbm90IGEgcmVmZXJlbmNlLCBmb3IgZXhhbXBsZS4KKyAgICB2b2lkIHJlY3Vyc2l2ZWx5
QnVpbGRTd2l0Y2goCisgICAgICAgIFZhbHVlKiBjaGlsZCwgY29uc3QgVmVjdG9yPFN3aXRjaENh
c2U+JiBjYXNlcywgdW5zaWduZWQgc3RhcnQsIGJvb2wgaGFyZFN0YXJ0LAorICAgICAgICB1bnNp
Z25lZCBlbmQsIEZyZXF1ZW50ZWRCbG9jayBmYWxsVGhyb3VnaCwgQmFzaWNCbG9jayogYmVmb3Jl
KQorICAgIHsKKyAgICAgICAgLy8gU2VlIGNvbW1lbnRzIGluIGppdC9CaW5hcnlTd2l0Y2guY3Bw
IGZvciBhIGp1c3RpZmljYXRpb24gb2YgdGhpcyBhbGdvcml0aG0uIFRoZSBvbmx5CisgICAgICAg
IC8vIHRoaW5nIHdlIGRvIGRpZmZlcmVudGx5IGlzIHRoYXQgd2UgZG9uJ3QgdXNlIHJhbmRvbW5l
c3MuCisKKyAgICAgICAgY29uc3QgdW5zaWduZWQgbGVhZlRocmVzaG9sZCA9IDM7CisKKyAgICAg
ICAgdW5zaWduZWQgc2l6ZSA9IGVuZCAtIHN0YXJ0OworCisgICAgICAgIGlmIChzaXplIDw9IGxl
YWZUaHJlc2hvbGQpIHsKKyAgICAgICAgICAgIGJvb2wgYWxsQ29uc2VjdXRpdmUgPSBmYWxzZTsK
KworICAgICAgICAgICAgaWYgKChoYXJkU3RhcnQgfHwgKHN0YXJ0ICYmIGNhc2VzW3N0YXJ0IC0g
MV0uY2FzZVZhbHVlKCkgPT0gY2FzZXNbc3RhcnRdLmNhc2VWYWx1ZSgpIC0gMSkpCisgICAgICAg
ICAgICAgICAgJiYgZW5kIDwgY2FzZXMuc2l6ZSgpCisgICAgICAgICAgICAgICAgJiYgY2FzZXNb
ZW5kIC0gMV0uY2FzZVZhbHVlKCkgPT0gY2FzZXNbZW5kXS5jYXNlVmFsdWUoKSAtIDEpIHsKKyAg
ICAgICAgICAgICAgICBhbGxDb25zZWN1dGl2ZSA9IHRydWU7CisgICAgICAgICAgICAgICAgZm9y
ICh1bnNpZ25lZCBpID0gMDsgaSA8IHNpemUgLSAxOyArK2kpIHsKKyAgICAgICAgICAgICAgICAg
ICAgaWYgKGNhc2VzW3N0YXJ0ICsgaV0uY2FzZVZhbHVlKCkgKyAxICE9IGNhc2VzW3N0YXJ0ICsg
aSArIDFdLmNhc2VWYWx1ZSgpKSB7CisgICAgICAgICAgICAgICAgICAgICAgICBhbGxDb25zZWN1
dGl2ZSA9IGZhbHNlOworICAgICAgICAgICAgICAgICAgICAgICAgYnJlYWs7CisgICAgICAgICAg
ICAgICAgICAgIH0KKyAgICAgICAgICAgICAgICB9CisgICAgICAgICAgICB9CisKKyAgICAgICAg
ICAgIHVuc2lnbmVkIGxpbWl0ID0gYWxsQ29uc2VjdXRpdmUgPyBzaXplIC0gMSA6IHNpemU7Cisg
ICAgICAgICAgICAKKyAgICAgICAgICAgIGZvciAodW5zaWduZWQgaSA9IDA7IGkgPCBsaW1pdDsg
KytpKSB7CisgICAgICAgICAgICAgICAgQmFzaWNCbG9jayogbmV4dENoZWNrID0gbV9ibG9ja0lu
c2VydGlvblNldC5pbnNlcnRBZnRlcihtX2Jsb2NrKTsKKyAgICAgICAgICAgICAgICBiZWZvcmUt
PnJlbW92ZUxhc3QobV9wcm9jKTsKKyAgICAgICAgICAgICAgICBiZWZvcmUtPmFwcGVuZE5ldzxD
b250cm9sVmFsdWU+KAorICAgICAgICAgICAgICAgICAgICBtX3Byb2MsIEJyYW5jaCwgbV9vcmln
aW4sCisgICAgICAgICAgICAgICAgICAgIGJlZm9yZS0+YXBwZW5kTmV3PFZhbHVlPigKKyAgICAg
ICAgICAgICAgICAgICAgICAgIG1fcHJvYywgRXF1YWwsIG1fb3JpZ2luLCBjaGlsZCwKKyAgICAg
ICAgICAgICAgICAgICAgICAgIGJlZm9yZS0+YXBwZW5kSW50Q29uc3RhbnQoCisgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgbV9wcm9jLCBtX29yaWdpbiwgY2hpbGQtPnR5cGUoKSwgY2FzZXNb
aV0uY2FzZVZhbHVlKCkpKSwKKyAgICAgICAgICAgICAgICAgICAgY2FzZXNbaV0udGFyZ2V0KCks
IEZyZXF1ZW50ZWRCbG9jayhuZXh0Q2hlY2spKTsKKworICAgICAgICAgICAgICAgIGJlZm9yZSA9
IG5leHRDaGVjazsKKyAgICAgICAgICAgIH0KKworICAgICAgICAgICAgaWYgKGFsbENvbnNlY3V0
aXZlKSB7CisgICAgICAgICAgICAgICAgYmVmb3JlLT5yZXBsYWNlTGFzdFdpdGhOZXc8Q29udHJv
bFZhbHVlPigKKyAgICAgICAgICAgICAgICAgICAgbV9wcm9jLCBKdW1wLCBtX29yaWdpbiwgY2Fz
ZXNbc2l6ZSAtIDFdLnRhcmdldCgpKTsKKyAgICAgICAgICAgIH0gZWxzZSB7CisgICAgICAgICAg
ICAgICAgYmVmb3JlLT5yZXBsYWNlTGFzdFdpdGhOZXc8Q29udHJvbFZhbHVlPigKKyAgICAgICAg
ICAgICAgICAgICAgbV9wcm9jLCBKdW1wLCBtX29yaWdpbiwgZmFsbFRocm91Z2gpOworICAgICAg
ICAgICAgfQorICAgICAgICAgICAgcmV0dXJuOworICAgICAgICB9CisKKyAgICAgICAgdW5zaWdu
ZWQgbWVkaWFuSW5kZXggPSAoc3RhcnQgKyBlbmQpIC8gMjsKKworICAgICAgICBCYXNpY0Jsb2Nr
KiBsZWZ0ID0gbV9ibG9ja0luc2VydGlvblNldC5pbnNlcnRBZnRlcihtX2Jsb2NrKTsKKyAgICAg
ICAgQmFzaWNCbG9jayogcmlnaHQgPSBtX2Jsb2NrSW5zZXJ0aW9uU2V0Lmluc2VydEFmdGVyKG1f
YmxvY2spOworCisgICAgICAgIGJlZm9yZS0+cmVtb3ZlTGFzdChtX3Byb2MpOworICAgICAgICBi
ZWZvcmUtPmFwcGVuZE5ldzxDb250cm9sVmFsdWU+KAorICAgICAgICAgICAgbV9wcm9jLCBCcmFu
Y2gsIG1fb3JpZ2luLAorICAgICAgICAgICAgYmVmb3JlLT5hcHBlbmROZXc8VmFsdWU+KAorICAg
ICAgICAgICAgICAgIG1fcHJvYywgTGVzc1RoYW4sIG1fb3JpZ2luLCBjaGlsZCwKKyAgICAgICAg
ICAgICAgICBiZWZvcmUtPmFwcGVuZEludENvbnN0YW50KAorICAgICAgICAgICAgICAgICAgICBt
X3Byb2MsIG1fb3JpZ2luLCBjaGlsZC0+dHlwZSgpLCBjYXNlc1ttZWRpYW5JbmRleF0uY2FzZVZh
bHVlKCkpLAorICAgICAgICAgICAgICAgIEZyZXF1ZW50ZWRCbG9jayhsZWZ0KSwgRnJlcXVlbnRl
ZEJsb2NrKHJpZ2h0KSkpOworCisgICAgICAgIHJlY3Vyc2l2ZWx5QnVpbGRTd2l0Y2goY2hpbGQs
IGNhc2VzLCBzdGFydCwgaGFyZFN0YXJ0LCBtZWRpYW5JbmRleCwgZmFsbFRocm91Z2gsIGxlZnQp
OworICAgICAgICByZWN1cnNpdmVseUJ1aWxkU3dpdGNoKGNoaWxkLCBjYXNlcywgbWVkaWFuSW5k
ZXgsIHRydWUsIGVuZCwgZmFsbFRocm91Z2gsIHJpZ2h0KTsKKyAgICB9CiAgICAgCiAgICAgUHJv
Y2VkdXJlJiBtX3Byb2M7CiAgICAgQmxvY2tJbnNlcnRpb25TZXQgbV9ibG9ja0luc2VydGlvblNl
dDsKQEAgLTE4Niw2ICsyNzQsNyBAQCBwcml2YXRlOgogICAgIEJhc2ljQmxvY2sqIG1fYmxvY2s7
CiAgICAgdW5zaWduZWQgbV9pbmRleDsKICAgICBWYWx1ZSogbV92YWx1ZTsKKyAgICBPcmlnaW4g
bV9vcmlnaW47CiAgICAgYm9vbCBtX2NoYW5nZWQgeyBmYWxzZSB9OwogfTsKIAo=
</data>

          </attachment>
          <attachment
              isobsolete="0"
              ispatch="1"
              isprivate="0"
          >
            <attachid>265348</attachid>
            <date>2015-11-11 19:00:12 -0800</date>
            <delta_ts>2015-11-11 19:08:09 -0800</delta_ts>
            <desc>the patch</desc>
            <filename>blah.patch</filename>
            <type>text/plain</type>
            <size>18818</size>
            <attacher name="Filip Pizlo">fpizlo</attacher>
            
              <data encoding="base64">SW5kZXg6IFNvdXJjZS9KYXZhU2NyaXB0Q29yZS9DaGFuZ2VMb2cKPT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gU291
cmNlL0phdmFTY3JpcHRDb3JlL0NoYW5nZUxvZwkocmV2aXNpb24gMTkyMzQzKQorKysgU291cmNl
L0phdmFTY3JpcHRDb3JlL0NoYW5nZUxvZwkod29ya2luZyBjb3B5KQpAQCAtMSwzICsxLDM1IEBA
CisyMDE1LTExLTExICBGaWxpcCBQaXpsbyAgPGZwaXpsb0BhcHBsZS5jb20+CisKKyAgICAgICAg
QjMgc2hvdWxkIGJlIGFibGUgdG8gY29tcGlsZSBhIHByb2dyYW0gd2l0aCBTd2l0Y2gKKyAgICAg
ICAgaHR0cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hvd19idWcuY2dpP2lkPTE1MTExNQorCisgICAg
ICAgIFJldmlld2VkIGJ5IE5PQk9EWSAoT09QUyEpLgorCisgICAgICAgIEFkZHMgbG93ZXJpbmcg
b2YgU3dpdGNoIHRvIGEgYmluYXJ5IHN3aXRjaC4gVGhpcyBkb2Vzbid0IHJlcXVpcmUgYW55IEFp
ciBzdXBwb3J0LgorCisgICAgICAgICogYjMvQjNCYXNpY0Jsb2NrLmNwcDoKKyAgICAgICAgKEpT
Qzo6QjM6OkJhc2ljQmxvY2s6OmFwcGVuZCk6CisgICAgICAgIChKU0M6OkIzOjpCYXNpY0Jsb2Nr
OjpyZW1vdmVMYXN0KToKKyAgICAgICAgKEpTQzo6QjM6OkJhc2ljQmxvY2s6OnJlcGxhY2VMYXN0
KToKKyAgICAgICAgKiBiMy9CM0Jhc2ljQmxvY2suaDoKKyAgICAgICAgKiBiMy9CM0Jsb2NrSW5z
ZXJ0aW9uU2V0LmNwcDoKKyAgICAgICAgKEpTQzo6QjM6OkJsb2NrSW5zZXJ0aW9uU2V0OjppbnNl
cnRCZWZvcmUpOgorICAgICAgICAoSlNDOjpCMzo6QmxvY2tJbnNlcnRpb25TZXQ6Omluc2VydEFm
dGVyKToKKyAgICAgICAgKEpTQzo6QjM6OkJsb2NrSW5zZXJ0aW9uU2V0OjpzcGxpdEZvcndhcmQp
OgorICAgICAgICAqIGIzL0IzQmxvY2tJbnNlcnRpb25TZXQuaDoKKyAgICAgICAgKiBiMy9CM0Nv
bnRyb2xWYWx1ZS5oOgorICAgICAgICAqIGIzL0IzR2VuZXJhdGUuY3BwOgorICAgICAgICAoSlND
OjpCMzo6Z2VuZXJhdGVUb0Fpcik6CisgICAgICAgICogYjMvQjNMb3dlck1hY3Jvcy5jcHA6Cisg
ICAgICAgICogYjMvQjNTd2l0Y2hWYWx1ZS5jcHA6CisgICAgICAgIChKU0M6OkIzOjpTd2l0Y2hW
YWx1ZTo6ZHVtcE1ldGEpOgorICAgICAgICAoSlNDOjpCMzo6U3dpdGNoVmFsdWU6OlN3aXRjaFZh
bHVlKToKKyAgICAgICAgKiBiMy9CM1N3aXRjaFZhbHVlLmg6CisgICAgICAgICogYjMvdGVzdGIz
LmNwcDoKKyAgICAgICAgKEpTQzo6QjM6OnRlc3RDaGlsbERpdjY0KToKKyAgICAgICAgKEpTQzo6
QjM6OnRlc3RTd2l0Y2gpOgorICAgICAgICAoSlNDOjpCMzo6cnVuKToKKwogMjAxNS0xMS0xMSAg
TWFyayBMYW0gIDxtYXJrLmxhbUBhcHBsZS5jb20+CiAKICAgICAgICAgQWRkIGFiaWxpdHkgdG8g
aW5zZXJ0IHByb2JlcyBpbiBMTFZNIElSIHRoYXQgd2UgZ2VuZXJhdGUuCkluZGV4OiBTb3VyY2Uv
SmF2YVNjcmlwdENvcmUvYjMvQjNCYXNpY0Jsb2NrLmNwcAo9PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBTb3VyY2Uv
SmF2YVNjcmlwdENvcmUvYjMvQjNCYXNpY0Jsb2NrLmNwcAkocmV2aXNpb24gMTkyMzIwKQorKysg
U291cmNlL0phdmFTY3JpcHRDb3JlL2IzL0IzQmFzaWNCbG9jay5jcHAJKHdvcmtpbmcgY29weSkK
QEAgLTU0LDYgKzU0LDEyIEBAIHZvaWQgQmFzaWNCbG9jazo6YXBwZW5kKFZhbHVlKiB2YWx1ZSkK
ICAgICBtX3ZhbHVlcy5hcHBlbmQodmFsdWUpOwogfQogCit2b2lkIEJhc2ljQmxvY2s6OnJlbW92
ZUxhc3QoUHJvY2VkdXJlJiBwcm9jKQoreworICAgIEFTU0VSVCghbV92YWx1ZXMuaXNFbXB0eSgp
KTsKKyAgICBwcm9jLmRlbGV0ZVZhbHVlKG1fdmFsdWVzLnRha2VMYXN0KCkpOworfQorCiB2b2lk
IEJhc2ljQmxvY2s6OnJlcGxhY2VMYXN0KFByb2NlZHVyZSYgcHJvYywgVmFsdWUqIHZhbHVlKQog
ewogICAgIHByb2MuZGVsZXRlVmFsdWUobGFzdCgpKTsKSW5kZXg6IFNvdXJjZS9KYXZhU2NyaXB0
Q29yZS9iMy9CM0Jhc2ljQmxvY2suaAo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBTb3VyY2UvSmF2YVNjcmlwdENv
cmUvYjMvQjNCYXNpY0Jsb2NrLmgJKHJldmlzaW9uIDE5MjMyMCkKKysrIFNvdXJjZS9KYXZhU2Ny
aXB0Q29yZS9iMy9CM0Jhc2ljQmxvY2suaAkod29ya2luZyBjb3B5KQpAQCAtNzgsNiArNzgsOCBA
QCBwdWJsaWM6CiAKICAgICBWYWx1ZSogYXBwZW5kSW50Q29uc3RhbnQoUHJvY2VkdXJlJiwgT3Jp
Z2luLCBUeXBlLCBpbnQ2NF90IHZhbHVlKTsKICAgICBWYWx1ZSogYXBwZW5kSW50Q29uc3RhbnQo
UHJvY2VkdXJlJiwgVmFsdWUqIGxpa2VWYWx1ZSwgaW50NjRfdCB2YWx1ZSk7CisKKyAgICB2b2lk
IHJlbW92ZUxhc3QoUHJvY2VkdXJlJik7CiAgICAgCiAgICAgdGVtcGxhdGU8dHlwZW5hbWUgVmFs
dWVUeXBlLCB0eXBlbmFtZS4uLiBBcmd1bWVudHM+CiAgICAgVmFsdWVUeXBlKiByZXBsYWNlTGFz
dFdpdGhOZXcoUHJvY2VkdXJlJiwgQXJndW1lbnRzLi4uKTsKSW5kZXg6IFNvdXJjZS9KYXZhU2Ny
aXB0Q29yZS9iMy9CM0Jsb2NrSW5zZXJ0aW9uU2V0LmNwcAo9PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBTb3VyY2Uv
SmF2YVNjcmlwdENvcmUvYjMvQjNCbG9ja0luc2VydGlvblNldC5jcHAJKHJldmlzaW9uIDE5MjMy
MCkKKysrIFNvdXJjZS9KYXZhU2NyaXB0Q29yZS9iMy9CM0Jsb2NrSW5zZXJ0aW9uU2V0LmNwcAko
d29ya2luZyBjb3B5KQpAQCAtNjAsNiArNjAsMTEgQEAgQmFzaWNCbG9jayogQmxvY2tJbnNlcnRp
b25TZXQ6Omluc2VydEJlZgogICAgIHJldHVybiBpbnNlcnQoYmVmb3JlLT5pbmRleCgpLCBmcmVx
dWVuY3kgPT0gZnJlcXVlbmN5ID8gZnJlcXVlbmN5IDogYmVmb3JlLT5mcmVxdWVuY3koKSk7CiB9
CiAKK0Jhc2ljQmxvY2sqIEJsb2NrSW5zZXJ0aW9uU2V0OjppbnNlcnRBZnRlcihCYXNpY0Jsb2Nr
KiBhZnRlciwgZG91YmxlIGZyZXF1ZW5jeSkKK3sKKyAgICByZXR1cm4gaW5zZXJ0KGFmdGVyLT5p
bmRleCgpICsgMSwgZnJlcXVlbmN5ID09IGZyZXF1ZW5jeSA/IGZyZXF1ZW5jeSA6IGFmdGVyLT5m
cmVxdWVuY3koKSk7Cit9CisKIEJhc2ljQmxvY2sqIEJsb2NrSW5zZXJ0aW9uU2V0OjpzcGxpdEZv
cndhcmQoCiAgICAgQmFzaWNCbG9jayogYmxvY2ssIHVuc2lnbmVkJiB2YWx1ZUluZGV4LCBJbnNl
cnRpb25TZXQqIGluc2VydGlvblNldCwgZG91YmxlIGZyZXF1ZW5jeSkKIHsKSW5kZXg6IFNvdXJj
ZS9KYXZhU2NyaXB0Q29yZS9iMy9CM0Jsb2NrSW5zZXJ0aW9uU2V0LmgKPT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0g
U291cmNlL0phdmFTY3JpcHRDb3JlL2IzL0IzQmxvY2tJbnNlcnRpb25TZXQuaAkocmV2aXNpb24g
MTkyMzIwKQorKysgU291cmNlL0phdmFTY3JpcHRDb3JlL2IzL0IzQmxvY2tJbnNlcnRpb25TZXQu
aAkod29ya2luZyBjb3B5KQpAQCAtNTMsNiArNTMsOSBAQCBwdWJsaWM6CiAgICAgLy8gdXN1YWxs
eSB3aGF0IHlvdSB3YW50LgogICAgIEJhc2ljQmxvY2sqIGluc2VydEJlZm9yZShCYXNpY0Jsb2Nr
KiBiZWZvcmUsIGRvdWJsZSBmcmVxdWVuY3kgPSBQTmFOKTsKIAorICAgIC8vIEluc2VydHMgYSBu
ZXcgYmxvY2sgYWZ0ZXIgdGhlIGdpdmVuIGJsb2NrLgorICAgIEJhc2ljQmxvY2sqIGluc2VydEFm
dGVyKEJhc2ljQmxvY2sqIGFmdGVyLCBkb3VibGUgZnJlcXVlbmN5ID0gUE5hTik7CisKICAgICAv
LyBBIGhlbHBlciB0byBzcGxpdCBhIGJsb2NrIHdoZW4gZm9yd2FyZCBpdGVyYXRpbmcgb3ZlciBp
dC4gSXQgY3JlYXRlcyBhIG5ldyBibG9jayB0byBob2xkCiAgICAgLy8gZXZlcnl0aGluZyBiZWZv
cmUgdGhlIGluc3RydWN0aW9uIGF0IHZhbHVlSW5kZXguIFRoZSBjdXJyZW50IGJsb2NrIGlzIGxl
ZnQgd2l0aAogICAgIC8vIGV2ZXJ5dGhpbmcgYXQgYW5kIGFmdGVyIHZhbHVlSW5kZXguIElmIHRo
ZSBvcHRpb25hbCBJbnNlcnRpb25TZXQgaXMgcHJvdmlkZWQsIGl0IHdpbGwgZ2V0CkluZGV4OiBT
b3VyY2UvSmF2YVNjcmlwdENvcmUvYjMvQjNDb250cm9sVmFsdWUuaAo9PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBT
b3VyY2UvSmF2YVNjcmlwdENvcmUvYjMvQjNDb250cm9sVmFsdWUuaAkocmV2aXNpb24gMTkyMzIw
KQorKysgU291cmNlL0phdmFTY3JpcHRDb3JlL2IzL0IzQ29udHJvbFZhbHVlLmgJKHdvcmtpbmcg
Y29weSkKQEAgLTk1LDcgKzk1LDcgQEAgcHJvdGVjdGVkOgogICAgIC8vIFVzZSB0aGlzIGZvciBz
dWJjbGFzc2VzLgogICAgIHRlbXBsYXRlPHR5cGVuYW1lLi4uIEFyZ3VtZW50cz4KICAgICBDb250
cm9sVmFsdWUodW5zaWduZWQgaW5kZXgsIE9wY29kZSBvcGNvZGUsIFR5cGUgdHlwZSwgT3JpZ2lu
IG9yaWdpbiwgQXJndW1lbnRzLi4uIGFyZ3VtZW50cykKLSAgICAgICAgOiBWYWx1ZShpbmRleCwg
b3Bjb2RlLCB0eXBlLCBvcmlnaW4sIGFyZ3VtZW50cy4uLikKKyAgICAgICAgOiBWYWx1ZShpbmRl
eCwgQ2hlY2tlZE9wY29kZSwgb3Bjb2RlLCB0eXBlLCBvcmlnaW4sIGFyZ3VtZW50cy4uLikKICAg
ICB7CiAgICAgICAgIEFTU0VSVChhY2NlcHRzKG9wY29kZSkpOwogICAgIH0KSW5kZXg6IFNvdXJj
ZS9KYXZhU2NyaXB0Q29yZS9iMy9CM0dlbmVyYXRlLmNwcAo9PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBTb3VyY2Uv
SmF2YVNjcmlwdENvcmUvYjMvQjNHZW5lcmF0ZS5jcHAJKHJldmlzaW9uIDE5MjMyMCkKKysrIFNv
dXJjZS9KYXZhU2NyaXB0Q29yZS9iMy9CM0dlbmVyYXRlLmNwcAkod29ya2luZyBjb3B5KQpAQCAt
NTUsMTggKzU1LDE3IEBAIHZvaWQgZ2VuZXJhdGVUb0FpcihQcm9jZWR1cmUmIHByb2NlZHVyZSwK
IHsKICAgICBUaW1pbmdTY29wZSB0aW1pbmdTY29wZSgiZ2VuZXJhdGVUb0FpciIpOwogICAgIAor
ICAgIGlmIChzaG91bGREdW1wSVIoKSAmJiAhc2hvdWxkRHVtcElSQXRFYWNoUGhhc2UoKSkgewor
ICAgICAgICBkYXRhTG9nKCJJbml0aWFsIEIzOlxuIik7CisgICAgICAgIGRhdGFMb2cocHJvY2Vk
dXJlKTsKKyAgICB9CisKICAgICAvLyBXZSBkb24ndCByZXF1aXJlIHRoZSBpbmNvbWluZyBJUiB0
byBoYXZlIHByZWRlY2Vzc29ycyBjb21wdXRlZC4KICAgICBwcm9jZWR1cmUucmVzZXRSZWFjaGFi
aWxpdHkoKTsKICAgICAKICAgICBpZiAoc2hvdWxkVmFsaWRhdGVJUigpKQogICAgICAgICB2YWxp
ZGF0ZShwcm9jZWR1cmUpOwogCi0gICAgLy8gSWYgd2UncmUgZG9pbmcgc3VwZXIgdmVyYm9zZSBk
dW1waW5nLCB0aGUgcGhhc2Ugc2NvcGUgb2YgYW55IHBoYXNlIHdpbGwgYWxyZWFkeSBkbyBhIGR1
bXAuCi0gICAgaWYgKHNob3VsZER1bXBJUigpICYmICFzaG91bGREdW1wSVJBdEVhY2hQaGFzZSgp
KSB7Ci0gICAgICAgIGRhdGFMb2coIkluaXRpYWwgQjM6XG4iKTsKLSAgICAgICAgZGF0YUxvZyhw
cm9jZWR1cmUpOwotICAgIH0KLQogICAgIGxvd2VyTWFjcm9zKHByb2NlZHVyZSk7CiAKICAgICBp
ZiAob3B0TGV2ZWwgPj0gMSkgewpJbmRleDogU291cmNlL0phdmFTY3JpcHRDb3JlL2IzL0IzTG93
ZXJNYWNyb3MuY3BwCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIFNvdXJjZS9KYXZhU2NyaXB0Q29yZS9iMy9CM0xv
d2VyTWFjcm9zLmNwcAkocmV2aXNpb24gMTkyMzIwKQorKysgU291cmNlL0phdmFTY3JpcHRDb3Jl
L2IzL0IzTG93ZXJNYWNyb3MuY3BwCSh3b3JraW5nIGNvcHkpCkBAIC0zNCw2ICszNCw3IEBACiAj
aW5jbHVkZSAiQjNJbnNlcnRpb25TZXRJbmxpbmVzLmgiCiAjaW5jbHVkZSAiQjNQaGFzZVNjb3Bl
LmgiCiAjaW5jbHVkZSAiQjNQcm9jZWR1cmVJbmxpbmVzLmgiCisjaW5jbHVkZSAiQjNTd2l0Y2hW
YWx1ZS5oIgogI2luY2x1ZGUgIkIzVXBzaWxvblZhbHVlLmgiCiAjaW5jbHVkZSAiQjNWYWx1ZUlu
bGluZXMuaCIKIApAQCAtNjcsNiArNjgsNyBAQCBwcml2YXRlOgogICAgIHsKICAgICAgICAgZm9y
IChtX2luZGV4ID0gMDsgbV9pbmRleCA8IG1fYmxvY2stPnNpemUoKTsgKyttX2luZGV4KSB7CiAg
ICAgICAgICAgICBtX3ZhbHVlID0gbV9ibG9jay0+YXQobV9pbmRleCk7CisgICAgICAgICAgICBt
X29yaWdpbiA9IG1fdmFsdWUtPm9yaWdpbigpOwogICAgICAgICAgICAgc3dpdGNoIChtX3ZhbHVl
LT5vcGNvZGUoKSkgewogICAgICAgICAgICAgY2FzZSBDaGlsbERpdjogewogICAgICAgICAgICAg
ICAgIC8vIEFSTSBzdXBwb3J0cyB0aGlzIGluc3RydWN0aW9uIG5hdGl2ZWx5LgpAQCAtOTYsOCAr
OTgsOCBAQCBwcml2YXRlOgogICAgICAgICAgICAgICAgIFZhbHVlKiBvbmUgPQogICAgICAgICAg
ICAgICAgICAgICBtX2luc2VydGlvblNldC5pbnNlcnRJbnRDb25zdGFudChtX2luZGV4LCBtX3Zh
bHVlLCAxKTsKICAgICAgICAgICAgICAgICBWYWx1ZSogaXNEZW5PSyA9IG1faW5zZXJ0aW9uU2V0
Lmluc2VydDxWYWx1ZT4oCi0gICAgICAgICAgICAgICAgICAgIG1faW5kZXgsIEFib3ZlLCBtX3Zh
bHVlLT5vcmlnaW4oKSwKLSAgICAgICAgICAgICAgICAgICAgbV9pbnNlcnRpb25TZXQuaW5zZXJ0
PFZhbHVlPihtX2luZGV4LCBBZGQsIG1fdmFsdWUtPm9yaWdpbigpLCBkZW4sIG9uZSksCisgICAg
ICAgICAgICAgICAgICAgIG1faW5kZXgsIEFib3ZlLCBtX29yaWdpbiwKKyAgICAgICAgICAgICAg
ICAgICAgbV9pbnNlcnRpb25TZXQuaW5zZXJ0PFZhbHVlPihtX2luZGV4LCBBZGQsIG1fb3JpZ2lu
LCBkZW4sIG9uZSksCiAgICAgICAgICAgICAgICAgICAgIG9uZSk7CiAKICAgICAgICAgICAgICAg
ICBCYXNpY0Jsb2NrKiBiZWZvcmUgPQpAQCAtMTEwLDI2ICsxMTIsMjYgQEAgcHJpdmF0ZToKICAg
ICAgICAgICAgICAgICBCYXNpY0Jsb2NrKiBpbnRNaW5DYXNlID0gbV9ibG9ja0luc2VydGlvblNl
dC5pbnNlcnRCZWZvcmUobV9ibG9jayk7CiAKICAgICAgICAgICAgICAgICBiZWZvcmUtPnJlcGxh
Y2VMYXN0V2l0aE5ldzxDb250cm9sVmFsdWU+KAotICAgICAgICAgICAgICAgICAgICBtX3Byb2Ms
IEJyYW5jaCwgbV92YWx1ZS0+b3JpZ2luKCksIGlzRGVuT0ssCisgICAgICAgICAgICAgICAgICAg
IG1fcHJvYywgQnJhbmNoLCBtX29yaWdpbiwgaXNEZW5PSywKICAgICAgICAgICAgICAgICAgICAg
RnJlcXVlbnRlZEJsb2NrKG5vcm1hbERpdkNhc2UsIEZyZXF1ZW5jeUNsYXNzOjpOb3JtYWwpLAog
ICAgICAgICAgICAgICAgICAgICBGcmVxdWVudGVkQmxvY2soc2hhZHlEZW5DYXNlLCBGcmVxdWVu
Y3lDbGFzczo6UmFyZSkpOwogCiAgICAgICAgICAgICAgICAgVXBzaWxvblZhbHVlKiBub3JtYWxS
ZXN1bHQgPSBub3JtYWxEaXZDYXNlLT5hcHBlbmROZXc8VXBzaWxvblZhbHVlPigKLSAgICAgICAg
ICAgICAgICAgICAgbV9wcm9jLCBtX3ZhbHVlLT5vcmlnaW4oKSwKLSAgICAgICAgICAgICAgICAg
ICAgbm9ybWFsRGl2Q2FzZS0+YXBwZW5kTmV3PFZhbHVlPihtX3Byb2MsIERpdiwgbV92YWx1ZS0+
b3JpZ2luKCksIG51bSwgZGVuKSk7CisgICAgICAgICAgICAgICAgICAgIG1fcHJvYywgbV9vcmln
aW4sCisgICAgICAgICAgICAgICAgICAgIG5vcm1hbERpdkNhc2UtPmFwcGVuZE5ldzxWYWx1ZT4o
bV9wcm9jLCBEaXYsIG1fb3JpZ2luLCBudW0sIGRlbikpOwogICAgICAgICAgICAgICAgIG5vcm1h
bERpdkNhc2UtPmFwcGVuZE5ldzxDb250cm9sVmFsdWU+KAotICAgICAgICAgICAgICAgICAgICBt
X3Byb2MsIEp1bXAsIG1fdmFsdWUtPm9yaWdpbigpLCBGcmVxdWVudGVkQmxvY2sobV9ibG9jaykp
OworICAgICAgICAgICAgICAgICAgICBtX3Byb2MsIEp1bXAsIG1fb3JpZ2luLCBGcmVxdWVudGVk
QmxvY2sobV9ibG9jaykpOwogCiAgICAgICAgICAgICAgICAgc2hhZHlEZW5DYXNlLT5hcHBlbmRO
ZXc8Q29udHJvbFZhbHVlPigKLSAgICAgICAgICAgICAgICAgICAgbV9wcm9jLCBCcmFuY2gsIG1f
dmFsdWUtPm9yaWdpbigpLCBkZW4sCisgICAgICAgICAgICAgICAgICAgIG1fcHJvYywgQnJhbmNo
LCBtX29yaWdpbiwgZGVuLAogICAgICAgICAgICAgICAgICAgICBGcmVxdWVudGVkQmxvY2sobmVn
MURlbkNhc2UsIEZyZXF1ZW5jeUNsYXNzOjpOb3JtYWwpLAogICAgICAgICAgICAgICAgICAgICBG
cmVxdWVudGVkQmxvY2soemVyb0RlbkNhc2UsIEZyZXF1ZW5jeUNsYXNzOjpSYXJlKSk7CiAKICAg
ICAgICAgICAgICAgICBVcHNpbG9uVmFsdWUqIHplcm9SZXN1bHQgPSB6ZXJvRGVuQ2FzZS0+YXBw
ZW5kTmV3PFVwc2lsb25WYWx1ZT4oCi0gICAgICAgICAgICAgICAgICAgIG1fcHJvYywgbV92YWx1
ZS0+b3JpZ2luKCksCisgICAgICAgICAgICAgICAgICAgIG1fcHJvYywgbV9vcmlnaW4sCiAgICAg
ICAgICAgICAgICAgICAgIHplcm9EZW5DYXNlLT5hcHBlbmRJbnRDb25zdGFudChtX3Byb2MsIG1f
dmFsdWUsIDApKTsKICAgICAgICAgICAgICAgICB6ZXJvRGVuQ2FzZS0+YXBwZW5kTmV3PENvbnRy
b2xWYWx1ZT4oCi0gICAgICAgICAgICAgICAgICAgIG1fcHJvYywgSnVtcCwgbV92YWx1ZS0+b3Jp
Z2luKCksIEZyZXF1ZW50ZWRCbG9jayhtX2Jsb2NrKSk7CisgICAgICAgICAgICAgICAgICAgIG1f
cHJvYywgSnVtcCwgbV9vcmlnaW4sIEZyZXF1ZW50ZWRCbG9jayhtX2Jsb2NrKSk7CiAKICAgICAg
ICAgICAgICAgICBpbnQ2NF90IGJhZE51bWVyYXRvckNvbnN0OwogICAgICAgICAgICAgICAgIHN3
aXRjaCAobV92YWx1ZS0+dHlwZSgpKSB7CkBAIC0xNDgsMTkgKzE1MCwxOSBAQCBwcml2YXRlOgog
ICAgICAgICAgICAgICAgICAgICBuZWcxRGVuQ2FzZS0+YXBwZW5kSW50Q29uc3RhbnQobV9wcm9j
LCBtX3ZhbHVlLCBiYWROdW1lcmF0b3JDb25zdCk7CiAKICAgICAgICAgICAgICAgICBuZWcxRGVu
Q2FzZS0+YXBwZW5kTmV3PENvbnRyb2xWYWx1ZT4oCi0gICAgICAgICAgICAgICAgICAgIG1fcHJv
YywgQnJhbmNoLCBtX3ZhbHVlLT5vcmlnaW4oKSwKKyAgICAgICAgICAgICAgICAgICAgbV9wcm9j
LCBCcmFuY2gsIG1fb3JpZ2luLAogICAgICAgICAgICAgICAgICAgICBuZWcxRGVuQ2FzZS0+YXBw
ZW5kTmV3PFZhbHVlPigKLSAgICAgICAgICAgICAgICAgICAgICAgIG1fcHJvYywgRXF1YWwsIG1f
dmFsdWUtPm9yaWdpbigpLCBudW0sIGJhZE51bWVyYXRvciksCisgICAgICAgICAgICAgICAgICAg
ICAgICBtX3Byb2MsIEVxdWFsLCBtX29yaWdpbiwgbnVtLCBiYWROdW1lcmF0b3IpLAogICAgICAg
ICAgICAgICAgICAgICBGcmVxdWVudGVkQmxvY2soaW50TWluQ2FzZSwgRnJlcXVlbmN5Q2xhc3M6
OlJhcmUpLAogICAgICAgICAgICAgICAgICAgICBGcmVxdWVudGVkQmxvY2sobm9ybWFsRGl2Q2Fz
ZSwgRnJlcXVlbmN5Q2xhc3M6Ok5vcm1hbCkpOwogCiAgICAgICAgICAgICAgICAgVXBzaWxvblZh
bHVlKiBpbnRNaW5SZXN1bHQgPSBpbnRNaW5DYXNlLT5hcHBlbmROZXc8VXBzaWxvblZhbHVlPigK
LSAgICAgICAgICAgICAgICAgICAgbV9wcm9jLCBtX3ZhbHVlLT5vcmlnaW4oKSwgYmFkTnVtZXJh
dG9yKTsKKyAgICAgICAgICAgICAgICAgICAgbV9wcm9jLCBtX29yaWdpbiwgYmFkTnVtZXJhdG9y
KTsKICAgICAgICAgICAgICAgICBpbnRNaW5DYXNlLT5hcHBlbmROZXc8Q29udHJvbFZhbHVlPigK
LSAgICAgICAgICAgICAgICAgICAgbV9wcm9jLCBKdW1wLCBtX3ZhbHVlLT5vcmlnaW4oKSwgRnJl
cXVlbnRlZEJsb2NrKG1fYmxvY2spKTsKKyAgICAgICAgICAgICAgICAgICAgbV9wcm9jLCBKdW1w
LCBtX29yaWdpbiwgRnJlcXVlbnRlZEJsb2NrKG1fYmxvY2spKTsKIAogICAgICAgICAgICAgICAg
IFZhbHVlKiBwaGkgPSBtX2luc2VydGlvblNldC5pbnNlcnQ8VmFsdWU+KAotICAgICAgICAgICAg
ICAgICAgICBtX2luZGV4LCBQaGksIG1fdmFsdWUtPnR5cGUoKSwgbV92YWx1ZS0+b3JpZ2luKCkp
OworICAgICAgICAgICAgICAgICAgICBtX2luZGV4LCBQaGksIG1fdmFsdWUtPnR5cGUoKSwgbV9v
cmlnaW4pOwogICAgICAgICAgICAgICAgIG5vcm1hbFJlc3VsdC0+c2V0UGhpKHBoaSk7CiAgICAg
ICAgICAgICAgICAgemVyb1Jlc3VsdC0+c2V0UGhpKHBoaSk7CiAgICAgICAgICAgICAgICAgaW50
TWluUmVzdWx0LT5zZXRQaGkocGhpKTsKQEAgLTE3MCw4ICsxNzIsMjMgQEAgcHJpdmF0ZToKICAg
ICAgICAgICAgICAgICBicmVhazsKICAgICAgICAgICAgIH0KIAotICAgICAgICAgICAgLy8gRklY
TUU6IEltcGxlbWVudCBTd2l0Y2guCi0gICAgICAgICAgICAvLyBodHRwczovL2J1Z3Mud2Via2l0
Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9MTUxMTE1CisgICAgICAgICAgICBjYXNlIFN3aXRjaDogewor
ICAgICAgICAgICAgICAgIFN3aXRjaFZhbHVlKiBzd2l0Y2hWYWx1ZSA9IG1fdmFsdWUtPmFzPFN3
aXRjaFZhbHVlPigpOworICAgICAgICAgICAgICAgIFZlY3RvcjxTd2l0Y2hDYXNlPiBjYXNlczsK
KyAgICAgICAgICAgICAgICBmb3IgKGNvbnN0IFN3aXRjaENhc2UmIHN3aXRjaENhc2UgOiAqc3dp
dGNoVmFsdWUpCisgICAgICAgICAgICAgICAgICAgIGNhc2VzLmFwcGVuZChzd2l0Y2hDYXNlKTsK
KyAgICAgICAgICAgICAgICBzdGQ6OnNvcnQoCisgICAgICAgICAgICAgICAgICAgIGNhc2VzLmJl
Z2luKCksIGNhc2VzLmVuZCgpLAorICAgICAgICAgICAgICAgICAgICBbXSAoY29uc3QgU3dpdGNo
Q2FzZSYgbGVmdCwgY29uc3QgU3dpdGNoQ2FzZSYgcmlnaHQpIHsKKyAgICAgICAgICAgICAgICAg
ICAgICAgIHJldHVybiBsZWZ0LmNhc2VWYWx1ZSgpIDwgcmlnaHQuY2FzZVZhbHVlKCk7CisgICAg
ICAgICAgICAgICAgICAgIH0pOworICAgICAgICAgICAgICAgIG1fYmxvY2stPnZhbHVlcygpLnJl
bW92ZUxhc3QoKTsKKyAgICAgICAgICAgICAgICByZWN1cnNpdmVseUJ1aWxkU3dpdGNoKGNhc2Vz
LCAwLCBmYWxzZSwgY2FzZXMuc2l6ZSgpLCBtX2Jsb2NrKTsKKyAgICAgICAgICAgICAgICBtX3By
b2MuZGVsZXRlVmFsdWUoc3dpdGNoVmFsdWUpOworICAgICAgICAgICAgICAgIG1fYmxvY2stPnVw
ZGF0ZVByZWRlY2Vzc29yc0FmdGVyKCk7CisgICAgICAgICAgICAgICAgbV9jaGFuZ2VkID0gdHJ1
ZTsKKyAgICAgICAgICAgICAgICBicmVhazsKKyAgICAgICAgICAgIH0KIAogICAgICAgICAgICAg
ZGVmYXVsdDoKICAgICAgICAgICAgICAgICBicmVhazsKQEAgLTE3OSw2ICsxOTYsNzkgQEAgcHJp
dmF0ZToKICAgICAgICAgfQogICAgICAgICBtX2luc2VydGlvblNldC5leGVjdXRlKG1fYmxvY2sp
OwogICAgIH0KKworICAgIHZvaWQgcmVjdXJzaXZlbHlCdWlsZFN3aXRjaCgKKyAgICAgICAgY29u
c3QgVmVjdG9yPFN3aXRjaENhc2U+JiBjYXNlcywgdW5zaWduZWQgc3RhcnQsIGJvb2wgaGFyZFN0
YXJ0LCB1bnNpZ25lZCBlbmQsCisgICAgICAgIEJhc2ljQmxvY2sqIGJlZm9yZSkKKyAgICB7Cisg
ICAgICAgIC8vIEZJWE1FOiBBZGQgdGFibGUtYmFzZWQgc3dpdGNoIGxvd2VyaW5nLgorICAgICAg
ICAvLyBodHRwczovL2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9MTUxMTQxCisgICAg
ICAgIAorICAgICAgICAvLyBTZWUgY29tbWVudHMgaW4gaml0L0JpbmFyeVN3aXRjaC5jcHAgZm9y
IGEganVzdGlmaWNhdGlvbiBvZiB0aGlzIGFsZ29yaXRobS4gVGhlIG9ubHkKKyAgICAgICAgLy8g
dGhpbmcgd2UgZG8gZGlmZmVyZW50bHkgaXMgdGhhdCB3ZSBkb24ndCB1c2UgcmFuZG9tbmVzcy4K
KworICAgICAgICBjb25zdCB1bnNpZ25lZCBsZWFmVGhyZXNob2xkID0gMzsKKworICAgICAgICB1
bnNpZ25lZCBzaXplID0gZW5kIC0gc3RhcnQ7CisKKyAgICAgICAgaWYgKHNpemUgPD0gbGVhZlRo
cmVzaG9sZCkgeworICAgICAgICAgICAgYm9vbCBhbGxDb25zZWN1dGl2ZSA9IGZhbHNlOworCisg
ICAgICAgICAgICBpZiAoKGhhcmRTdGFydCB8fCAoc3RhcnQgJiYgY2FzZXNbc3RhcnQgLSAxXS5j
YXNlVmFsdWUoKSA9PSBjYXNlc1tzdGFydF0uY2FzZVZhbHVlKCkgLSAxKSkKKyAgICAgICAgICAg
ICAgICAmJiBlbmQgPCBjYXNlcy5zaXplKCkKKyAgICAgICAgICAgICAgICAmJiBjYXNlc1tlbmQg
LSAxXS5jYXNlVmFsdWUoKSA9PSBjYXNlc1tlbmRdLmNhc2VWYWx1ZSgpIC0gMSkgeworICAgICAg
ICAgICAgICAgIGFsbENvbnNlY3V0aXZlID0gdHJ1ZTsKKyAgICAgICAgICAgICAgICBmb3IgKHVu
c2lnbmVkIGkgPSAwOyBpIDwgc2l6ZSAtIDE7ICsraSkgeworICAgICAgICAgICAgICAgICAgICBp
ZiAoY2FzZXNbc3RhcnQgKyBpXS5jYXNlVmFsdWUoKSArIDEgIT0gY2FzZXNbc3RhcnQgKyBpICsg
MV0uY2FzZVZhbHVlKCkpIHsKKyAgICAgICAgICAgICAgICAgICAgICAgIGFsbENvbnNlY3V0aXZl
ID0gZmFsc2U7CisgICAgICAgICAgICAgICAgICAgICAgICBicmVhazsKKyAgICAgICAgICAgICAg
ICAgICAgfQorICAgICAgICAgICAgICAgIH0KKyAgICAgICAgICAgIH0KKworICAgICAgICAgICAg
dW5zaWduZWQgbGltaXQgPSBhbGxDb25zZWN1dGl2ZSA/IHNpemUgLSAxIDogc2l6ZTsKKyAgICAg
ICAgICAgIAorICAgICAgICAgICAgZm9yICh1bnNpZ25lZCBpID0gMDsgaSA8IGxpbWl0OyArK2kp
IHsKKyAgICAgICAgICAgICAgICBCYXNpY0Jsb2NrKiBuZXh0Q2hlY2sgPSBtX2Jsb2NrSW5zZXJ0
aW9uU2V0Lmluc2VydEFmdGVyKG1fYmxvY2spOworICAgICAgICAgICAgICAgIGJlZm9yZS0+YXBw
ZW5kTmV3PENvbnRyb2xWYWx1ZT4oCisgICAgICAgICAgICAgICAgICAgIG1fcHJvYywgQnJhbmNo
LCBtX29yaWdpbiwKKyAgICAgICAgICAgICAgICAgICAgYmVmb3JlLT5hcHBlbmROZXc8VmFsdWU+
KAorICAgICAgICAgICAgICAgICAgICAgICAgbV9wcm9jLCBFcXVhbCwgbV9vcmlnaW4sIG1fdmFs
dWUtPmNoaWxkKDApLAorICAgICAgICAgICAgICAgICAgICAgICAgYmVmb3JlLT5hcHBlbmRJbnRD
b25zdGFudCgKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICBtX3Byb2MsIG1fb3JpZ2luLCBt
X3ZhbHVlLT5jaGlsZCgwKS0+dHlwZSgpLAorICAgICAgICAgICAgICAgICAgICAgICAgICAgIGNh
c2VzW3N0YXJ0ICsgaV0uY2FzZVZhbHVlKCkpKSwKKyAgICAgICAgICAgICAgICAgICAgY2FzZXNb
c3RhcnQgKyBpXS50YXJnZXQoKSwgRnJlcXVlbnRlZEJsb2NrKG5leHRDaGVjaykpOworCisgICAg
ICAgICAgICAgICAgYmVmb3JlID0gbmV4dENoZWNrOworICAgICAgICAgICAgfQorCisgICAgICAg
ICAgICBpZiAoYWxsQ29uc2VjdXRpdmUpIHsKKyAgICAgICAgICAgICAgICBiZWZvcmUtPmFwcGVu
ZE5ldzxDb250cm9sVmFsdWU+KAorICAgICAgICAgICAgICAgICAgICBtX3Byb2MsIEp1bXAsIG1f
b3JpZ2luLCBjYXNlc1tlbmQgLSAxXS50YXJnZXQoKSk7CisgICAgICAgICAgICB9IGVsc2Ugewor
ICAgICAgICAgICAgICAgIGJlZm9yZS0+YXBwZW5kTmV3PENvbnRyb2xWYWx1ZT4oCisgICAgICAg
ICAgICAgICAgICAgIG1fcHJvYywgSnVtcCwgbV9vcmlnaW4sIG1fdmFsdWUtPmFzPFN3aXRjaFZh
bHVlPigpLT5mYWxsVGhyb3VnaCgpKTsKKyAgICAgICAgICAgIH0KKyAgICAgICAgICAgIHJldHVy
bjsKKyAgICAgICAgfQorCisgICAgICAgIHVuc2lnbmVkIG1lZGlhbkluZGV4ID0gKHN0YXJ0ICsg
ZW5kKSAvIDI7CisKKyAgICAgICAgQmFzaWNCbG9jayogbGVmdCA9IG1fYmxvY2tJbnNlcnRpb25T
ZXQuaW5zZXJ0QWZ0ZXIobV9ibG9jayk7CisgICAgICAgIEJhc2ljQmxvY2sqIHJpZ2h0ID0gbV9i
bG9ja0luc2VydGlvblNldC5pbnNlcnRBZnRlcihtX2Jsb2NrKTsKKworICAgICAgICBiZWZvcmUt
PmFwcGVuZE5ldzxDb250cm9sVmFsdWU+KAorICAgICAgICAgICAgbV9wcm9jLCBCcmFuY2gsIG1f
b3JpZ2luLAorICAgICAgICAgICAgYmVmb3JlLT5hcHBlbmROZXc8VmFsdWU+KAorICAgICAgICAg
ICAgICAgIG1fcHJvYywgTGVzc1RoYW4sIG1fb3JpZ2luLCBtX3ZhbHVlLT5jaGlsZCgwKSwKKyAg
ICAgICAgICAgICAgICBiZWZvcmUtPmFwcGVuZEludENvbnN0YW50KAorICAgICAgICAgICAgICAg
ICAgICBtX3Byb2MsIG1fb3JpZ2luLCBtX3ZhbHVlLT5jaGlsZCgwKS0+dHlwZSgpLAorICAgICAg
ICAgICAgICAgICAgICBjYXNlc1ttZWRpYW5JbmRleF0uY2FzZVZhbHVlKCkpKSwKKyAgICAgICAg
ICAgIEZyZXF1ZW50ZWRCbG9jayhsZWZ0KSwgRnJlcXVlbnRlZEJsb2NrKHJpZ2h0KSk7CisKKyAg
ICAgICAgcmVjdXJzaXZlbHlCdWlsZFN3aXRjaChjYXNlcywgc3RhcnQsIGhhcmRTdGFydCwgbWVk
aWFuSW5kZXgsIGxlZnQpOworICAgICAgICByZWN1cnNpdmVseUJ1aWxkU3dpdGNoKGNhc2VzLCBt
ZWRpYW5JbmRleCwgdHJ1ZSwgZW5kLCByaWdodCk7CisgICAgfQogICAgIAogICAgIFByb2NlZHVy
ZSYgbV9wcm9jOwogICAgIEJsb2NrSW5zZXJ0aW9uU2V0IG1fYmxvY2tJbnNlcnRpb25TZXQ7CkBA
IC0xODYsNiArMjc2LDcgQEAgcHJpdmF0ZToKICAgICBCYXNpY0Jsb2NrKiBtX2Jsb2NrOwogICAg
IHVuc2lnbmVkIG1faW5kZXg7CiAgICAgVmFsdWUqIG1fdmFsdWU7CisgICAgT3JpZ2luIG1fb3Jp
Z2luOwogICAgIGJvb2wgbV9jaGFuZ2VkIHsgZmFsc2UgfTsKIH07CiAKSW5kZXg6IFNvdXJjZS9K
YXZhU2NyaXB0Q29yZS9iMy9CM1N3aXRjaFZhbHVlLmNwcAo9PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBTb3VyY2Uv
SmF2YVNjcmlwdENvcmUvYjMvQjNTd2l0Y2hWYWx1ZS5jcHAJKHJldmlzaW9uIDE5MjMyMCkKKysr
IFNvdXJjZS9KYXZhU2NyaXB0Q29yZS9iMy9CM1N3aXRjaFZhbHVlLmNwcAkod29ya2luZyBjb3B5
KQpAQCAtNjMsOCArNjMsOSBAQCB2b2lkIFN3aXRjaFZhbHVlOjpkdW1wTWV0YShDb21tYVByaW50
ZXImCiAgICAgb3V0LnByaW50KGNvbW1hLCAiZmFsbFRocm91Z2ggPSAiLCBmYWxsVGhyb3VnaCgp
KTsKIH0KIAotU3dpdGNoVmFsdWU6OlN3aXRjaFZhbHVlKHVuc2lnbmVkIGluZGV4LCBPcmlnaW4g
b3JpZ2luLCBjb25zdCBGcmVxdWVudGVkQmxvY2smIGZhbGxUaHJvdWdoKQotICAgIDogQ29udHJv
bFZhbHVlKGluZGV4LCBTd2l0Y2gsIFZvaWQsIG9yaWdpbikKK1N3aXRjaFZhbHVlOjpTd2l0Y2hW
YWx1ZSgKKyAgICB1bnNpZ25lZCBpbmRleCwgT3JpZ2luIG9yaWdpbiwgVmFsdWUqIGNoaWxkLCBj
b25zdCBGcmVxdWVudGVkQmxvY2smIGZhbGxUaHJvdWdoKQorICAgIDogQ29udHJvbFZhbHVlKGlu
ZGV4LCBTd2l0Y2gsIFZvaWQsIG9yaWdpbiwgY2hpbGQpCiB7CiAgICAgbV9zdWNjZXNzb3JzLmFw
cGVuZChmYWxsVGhyb3VnaCk7CiB9CkluZGV4OiBTb3VyY2UvSmF2YVNjcmlwdENvcmUvYjMvQjNT
d2l0Y2hWYWx1ZS5oCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIFNvdXJjZS9KYXZhU2NyaXB0Q29yZS9iMy9CM1N3
aXRjaFZhbHVlLmgJKHJldmlzaW9uIDE5MjMyMCkKKysrIFNvdXJjZS9KYXZhU2NyaXB0Q29yZS9i
My9CM1N3aXRjaFZhbHVlLmgJKHdvcmtpbmcgY29weSkKQEAgLTExMSw3ICsxMTEsNyBAQCBwdWJs
aWM6CiAgICAgLy8gY29udGFpbiBzb21lIG90aGVyIGNhc2UgdmFsdWUpLiBUaGlzIHJlbW92ZXMg
dGhlIGNhc2UgdGhhdCB3YXMgcmVtb3ZlZC4KICAgICBTd2l0Y2hDYXNlIHJlbW92ZUNhc2UodW5z
aWduZWQgaW5kZXgpOwogCi0gICAgdm9pZCBhcHBlbmRDYXNlKGNvbnN0IFN3aXRjaENhc2UmKTsK
KyAgICBKU19FWFBPUlRfUFJJVkFURSB2b2lkIGFwcGVuZENhc2UoY29uc3QgU3dpdGNoQ2FzZSYp
OwogCiBwcm90ZWN0ZWQ6CiAgICAgdm9pZCBkdW1wTWV0YShDb21tYVByaW50ZXImLCBQcmludFN0
cmVhbSYpIGNvbnN0IG92ZXJyaWRlOwpAQCAtMTE5LDcgKzExOSw4IEBAIHByb3RlY3RlZDoKIHBy
aXZhdGU6CiAgICAgZnJpZW5kIGNsYXNzIFByb2NlZHVyZTsKIAotICAgIFN3aXRjaFZhbHVlKHVu
c2lnbmVkIGluZGV4LCBPcmlnaW4sIGNvbnN0IEZyZXF1ZW50ZWRCbG9jayYgZmFsbFRocm91Z2gp
OworICAgIEpTX0VYUE9SVF9QUklWQVRFIFN3aXRjaFZhbHVlKAorICAgICAgICB1bnNpZ25lZCBp
bmRleCwgT3JpZ2luLCBWYWx1ZSogY2hpbGQsIGNvbnN0IEZyZXF1ZW50ZWRCbG9jayYgZmFsbFRo
cm91Z2gpOwogCiAgICAgVmVjdG9yPGludDY0X3Q+IG1fdmFsdWVzOwogfTsKSW5kZXg6IFNvdXJj
ZS9KYXZhU2NyaXB0Q29yZS9iMy90ZXN0YjMuY3BwCj09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIFNvdXJjZS9KYXZh
U2NyaXB0Q29yZS9iMy90ZXN0YjMuY3BwCShyZXZpc2lvbiAxOTIzMjApCisrKyBTb3VyY2UvSmF2
YVNjcmlwdENvcmUvYjMvdGVzdGIzLmNwcAkod29ya2luZyBjb3B5KQpAQCAtMzUsNiArMzUsNyBA
QAogI2luY2x1ZGUgIkIzTWVtb3J5VmFsdWUuaCIKICNpbmNsdWRlICJCM1Byb2NlZHVyZS5oIgog
I2luY2x1ZGUgIkIzU3RhY2tTbG90VmFsdWUuaCIKKyNpbmNsdWRlICJCM1N3aXRjaFZhbHVlLmgi
CiAjaW5jbHVkZSAiQjNVcHNpbG9uVmFsdWUuaCIKICNpbmNsdWRlICJCM1ZhbHVlSW5saW5lcy5o
IgogI2luY2x1ZGUgIkNDYWxsSGVscGVycy5oIgpAQCAtMzE2MSw2ICszMTYyLDQ1IEBAIHZvaWQg
dGVzdENoaWxsRGl2NjQoaW50NjRfdCBudW0sIGludDY0X3QKICAgICB9CiB9CiAKK3ZvaWQgdGVz
dFN3aXRjaCh1bnNpZ25lZCBkZWdyZWUsIHVuc2lnbmVkIGdhcCA9IDEpCit7CisgICAgUHJvY2Vk
dXJlIHByb2M7CisgICAgQmFzaWNCbG9jayogcm9vdCA9IHByb2MuYWRkQmxvY2soKTsKKworICAg
IEJhc2ljQmxvY2sqIHRlcm1pbmF0ZSA9IHByb2MuYWRkQmxvY2soKTsKKyAgICB0ZXJtaW5hdGUt
PmFwcGVuZE5ldzxDb250cm9sVmFsdWU+KAorICAgICAgICBwcm9jLCBSZXR1cm4sIE9yaWdpbigp
LAorICAgICAgICB0ZXJtaW5hdGUtPmFwcGVuZE5ldzxDb25zdDMyVmFsdWU+KHByb2MsIE9yaWdp
bigpLCAwKSk7CisKKyAgICBTd2l0Y2hWYWx1ZSogc3dpdGNoVmFsdWUgPSByb290LT5hcHBlbmRO
ZXc8U3dpdGNoVmFsdWU+KAorICAgICAgICBwcm9jLCBPcmlnaW4oKSwKKyAgICAgICAgcm9vdC0+
YXBwZW5kTmV3PEFyZ3VtZW50UmVnVmFsdWU+KHByb2MsIE9yaWdpbigpLCBHUFJJbmZvOjphcmd1
bWVudEdQUjApLAorICAgICAgICBGcmVxdWVudGVkQmxvY2sodGVybWluYXRlKSk7CisKKyAgICBm
b3IgKHVuc2lnbmVkIGkgPSAwOyBpIDwgZGVncmVlOyArK2kpIHsKKyAgICAgICAgQmFzaWNCbG9j
ayogbmV3QmxvY2sgPSBwcm9jLmFkZEJsb2NrKCk7CisgICAgICAgIG5ld0Jsb2NrLT5hcHBlbmRO
ZXc8Q29udHJvbFZhbHVlPigKKyAgICAgICAgICAgIHByb2MsIFJldHVybiwgT3JpZ2luKCksCisg
ICAgICAgICAgICBuZXdCbG9jay0+YXBwZW5kTmV3PEFyZ3VtZW50UmVnVmFsdWU+KAorICAgICAg
ICAgICAgICAgIHByb2MsIE9yaWdpbigpLCAoaSAmIDEpID8gR1BSSW5mbzo6YXJndW1lbnRHUFIy
IDogR1BSSW5mbzo6YXJndW1lbnRHUFIxKSk7CisgICAgICAgIHN3aXRjaFZhbHVlLT5hcHBlbmRD
YXNlKFN3aXRjaENhc2UoZ2FwICogaSwgRnJlcXVlbnRlZEJsb2NrKG5ld0Jsb2NrKSkpOworICAg
IH0KKworICAgIGF1dG8gY29kZSA9IGNvbXBpbGUocHJvYyk7CisKKyAgICBmb3IgKHVuc2lnbmVk
IGkgPSAwOyBpIDwgZGVncmVlOyArK2kpIHsKKyAgICAgICAgQ0hFQ0soaW52b2tlPGludDMyX3Q+
KCpjb2RlLCBpICogZ2FwLCA0MiwgMTEpID09ICgoaSAmIDEpID8gMTEgOiA0MikpOworICAgICAg
ICBpZiAoZ2FwID4gMSkgeworICAgICAgICAgICAgQ0hFQ0soIWludm9rZTxpbnQzMl90PigqY29k
ZSwgaSAqIGdhcCArIDEsIDQyLCAxMSkpOworICAgICAgICAgICAgQ0hFQ0soIWludm9rZTxpbnQz
Ml90PigqY29kZSwgaSAqIGdhcCAtIDEsIDQyLCAxMSkpOworICAgICAgICB9CisgICAgfQorCisg
ICAgQ0hFQ0soIWludm9rZTxpbnQzMl90PigqY29kZSwgLTEsIDQyLCAxMSkpOworICAgIENIRUNL
KCFpbnZva2U8aW50MzJfdD4oKmNvZGUsIGRlZ3JlZSAqIGdhcCwgNDIsIDExKSk7CisgICAgQ0hF
Q0soIWludm9rZTxpbnQzMl90PigqY29kZSwgZGVncmVlICogZ2FwICsgMSwgNDIsIDExKSk7Cit9
CisKICNkZWZpbmUgUlVOKHRlc3QpIGRvIHsgICAgICAgICAgICAgICAgICAgICAgICAgIFwKICAg
ICAgICAgaWYgKCFzaG91bGRSdW4oI3Rlc3QpKSAgICAgICAgICAgICAgICAgIFwKICAgICAgICAg
ICAgIGJyZWFrOyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFwKQEAgLTM3MDEsNiArMzc0
MSwxNSBAQCB2b2lkIHJ1bihjb25zdCBjaGFyKiBmaWx0ZXIpCiAgICAgUlVOKHRlc3RDaGlsbERp
dlR3aWNlKDQsIDAsIDYsIDIsIDMpKTsKICAgICBSVU4odGVzdENoaWxsRGl2VHdpY2UoNCwgMiwg
NiwgMCwgMikpOwogCisgICAgUlVOKHRlc3RTd2l0Y2goMCwgMSkpOworICAgIFJVTih0ZXN0U3dp
dGNoKDEsIDEpKTsKKyAgICBSVU4odGVzdFN3aXRjaCgyLCAxKSk7CisgICAgUlVOKHRlc3RTd2l0
Y2goMiwgMikpOworICAgIFJVTih0ZXN0U3dpdGNoKDEwLCAxKSk7CisgICAgUlVOKHRlc3RTd2l0
Y2goMTAsIDIpKTsKKyAgICBSVU4odGVzdFN3aXRjaCgxMDAsIDEpKTsKKyAgICBSVU4odGVzdFN3
aXRjaCgxMDAsIDEwMCkpOworCiAgICAgaWYgKHRhc2tzLmlzRW1wdHkoKSkKICAgICAgICAgdXNh
Z2UoKTsKIAo=
</data>
<flag name="review"
          id="290401"
          type_id="1"
          status="+"
          setter="benjamin"
    />
          </attachment>
      

    </bug>

</bugzilla>