<?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>176346</bug_id>
          
          <creation_ts>2017-09-04 20:27:55 -0700</creation_ts>
          <short_desc>Air should have a Vector of prologue generators instead of a HashMap representing an optional prologue generator</short_desc>
          <delta_ts>2017-09-27 12:38:34 -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>JavaScriptCore</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>
          
          
          <everconfirmed>1</everconfirmed>
          <reporter name="Saam Barati">saam</reporter>
          <assigned_to name="Saam Barati">saam</assigned_to>
          <cc>benjamin</cc>
    
    <cc>buildbot</cc>
    
    <cc>commit-queue</cc>
    
    <cc>fpizlo</cc>
    
    <cc>ggaren</cc>
    
    <cc>gskachkov</cc>
    
    <cc>jfbastien</cc>
    
    <cc>keith_miller</cc>
    
    <cc>mark.lam</cc>
    
    <cc>msaboff</cc>
    
    <cc>rmorisset</cc>
    
    <cc>ticaiolima</cc>
    
    <cc>webkit-bug-importer</cc>
    
    <cc>ysuzuki</cc>
          

      

      

      

          <comment_sort_order>oldest_to_newest</comment_sort_order>  
          <long_desc isprivate="0" >
    <commentid>1345315</commentid>
    <comment_count>0</comment_count>
    <who name="Saam Barati">saam</who>
    <bug_when>2017-09-04 20:27:55 -0700</bug_when>
    <thetext>See discussion in:
https://bugs.webkit.org/show_bug.cgi?id=175396</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1345744</commentid>
    <comment_count>1</comment_count>
      <attachid>319964</attachid>
    <who name="Saam Barati">saam</who>
    <bug_when>2017-09-05 18:20:57 -0700</bug_when>
    <thetext>Created attachment 319964
patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1345745</commentid>
    <comment_count>2</comment_count>
    <who name="Build Bot">buildbot</who>
    <bug_when>2017-09-05 18:22:50 -0700</bug_when>
    <thetext>Attachment 319964 did not pass style-queue:


ERROR: Source/JavaScriptCore/b3/B3Procedure.h:189:  The parameter name &quot;numEntrypoints&quot; adds no information, so it should be removed.  [readability/parameter_name] [5]
Total errors found: 1 in 7 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>1345750</commentid>
    <comment_count>3</comment_count>
      <attachid>319967</attachid>
    <who name="Saam Barati">saam</who>
    <bug_when>2017-09-05 18:25:03 -0700</bug_when>
    <thetext>Created attachment 319967
patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1346079</commentid>
    <comment_count>4</comment_count>
      <attachid>319967</attachid>
    <who name="Mark Lam">mark.lam</who>
    <bug_when>2017-09-06 13:30:25 -0700</bug_when>
    <thetext>Comment on attachment 319967
patch

r=me</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1346093</commentid>
    <comment_count>5</comment_count>
      <attachid>319967</attachid>
    <who name="WebKit Commit Bot">commit-queue</who>
    <bug_when>2017-09-06 14:04:28 -0700</bug_when>
    <thetext>Comment on attachment 319967
patch

Clearing flags on attachment: 319967

Committed r221703: &lt;http://trac.webkit.org/changeset/221703&gt;</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1346094</commentid>
    <comment_count>6</comment_count>
    <who name="WebKit Commit Bot">commit-queue</who>
    <bug_when>2017-09-06 14:04:30 -0700</bug_when>
    <thetext>All reviewed patches have been landed.  Closing bug.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1353559</commentid>
    <comment_count>7</comment_count>
    <who name="Radar WebKit Bug Importer">webkit-bug-importer</who>
    <bug_when>2017-09-27 12:38:34 -0700</bug_when>
    <thetext>&lt;rdar://problem/34693668&gt;</thetext>
  </long_desc>
      
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>319964</attachid>
            <date>2017-09-05 18:20:57 -0700</date>
            <delta_ts>2017-09-05 18:25:03 -0700</delta_ts>
            <desc>patch</desc>
            <filename>b-backup.diff</filename>
            <type>text/plain</type>
            <size>10313</size>
            <attacher name="Saam Barati">saam</attacher>
            
              <data encoding="base64">SW5kZXg6IFNvdXJjZS9KYXZhU2NyaXB0Q29yZS9DaGFuZ2VMb2cKPT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gU291
cmNlL0phdmFTY3JpcHRDb3JlL0NoYW5nZUxvZwkocmV2aXNpb24gMjIxNjU3KQorKysgU291cmNl
L0phdmFTY3JpcHRDb3JlL0NoYW5nZUxvZwkod29ya2luZyBjb3B5KQpAQCAtMSwzICsxLDI5IEBA
CisyMDE3LTA5LTA1ICBTYWFtIEJhcmF0aSAgPHNiYXJhdGlAYXBwbGUuY29tPgorCisgICAgICAg
IEFpciBzaG91bGQgaGF2ZSBhIFZlY3RvciBvZiBwcm9sb2d1ZSBnZW5lcmF0b3JzIGluc3RlYWQg
b2YgYSBIYXNoTWFwIHJlcHJlc2VudGluZyBhbiBvcHRpb25hbCBwcm9sb2d1ZSBnZW5lcmF0b3IK
KyAgICAgICAgaHR0cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hvd19idWcuY2dpP2lkPTE3NjM0Ngor
CisgICAgICAgIFJldmlld2VkIGJ5IE5PQk9EWSAoT09QUyEpLgorCisgICAgICAgICogYjMvQjNQ
cm9jZWR1cmUuY3BwOgorICAgICAgICAoSlNDOjpCMzo6UHJvY2VkdXJlOjpQcm9jZWR1cmUpOgor
ICAgICAgICAoSlNDOjpCMzo6UHJvY2VkdXJlOjpzZXROdW1FbnRyeXBvaW50cyk6CisgICAgICAg
ICogYjMvQjNQcm9jZWR1cmUuaDoKKyAgICAgICAgKEpTQzo6QjM6OlByb2NlZHVyZTo6c2V0TnVt
RW50cnlwb2ludHMpOiBEZWxldGVkLgorICAgICAgICAqIGIzL2Fpci9BaXJDb2RlLmNwcDoKKyAg
ICAgICAgKEpTQzo6QjM6OkFpcjo6ZGVmYXVsdFByb2xvZ3VlR2VuZXJhdG9yKToKKyAgICAgICAg
KEpTQzo6QjM6OkFpcjo6Q29kZTo6Q29kZSk6CisgICAgICAgIChKU0M6OkIzOjpBaXI6OkNvZGU6
OnNldE51bUVudHJ5cG9pbnRzKToKKyAgICAgICAgKiBiMy9haXIvQWlyQ29kZS5oOgorICAgICAg
ICAoSlNDOjpCMzo6QWlyOjpDb2RlOjpzZXRQcm9sb2d1ZUZvckVudHJ5cG9pbnQpOgorICAgICAg
ICAoSlNDOjpCMzo6QWlyOjpDb2RlOjpwcm9sb2d1ZUdlbmVyYXRvckZvckVudHJ5cG9pbnQpOgor
ICAgICAgICAoSlNDOjpCMzo6QWlyOjpDb2RlOjpzZXRFbnRyeXBvaW50cyk6CisgICAgICAgIChK
U0M6OkIzOjpBaXI6OkNvZGU6OnNldEVudHJ5cG9pbnRMYWJlbHMpOgorICAgICAgICAqIGIzL2Fp
ci9BaXJHZW5lcmF0ZS5jcHA6CisgICAgICAgIChKU0M6OkIzOjpBaXI6OmdlbmVyYXRlKToKKyAg
ICAgICAgKiBmdGwvRlRMTG93ZXJERkdUb0IzLmNwcDoKKyAgICAgICAgKEpTQzo6RlRMOjpERkc6
Okxvd2VyREZHVG9CMzo6bG93ZXIpOgorCiAyMDE3LTA5LTA1ICBTYWFtIEJhcmF0aSAgPHNiYXJh
dGlAYXBwbGUuY29tPgogCiAgICAgICAgIGlzTm90Q2VsbFNwZWN1bGF0aW9uIGlzIHdyb25nIHdp
dGggcmVzcGVjdCB0byBTcGVjRW1wdHkKSW5kZXg6IFNvdXJjZS9KYXZhU2NyaXB0Q29yZS9iMy9C
M1Byb2NlZHVyZS5jcHAKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gU291cmNlL0phdmFTY3JpcHRDb3JlL2IzL0Iz
UHJvY2VkdXJlLmNwcAkocmV2aXNpb24gMjIxNjQyKQorKysgU291cmNlL0phdmFTY3JpcHRDb3Jl
L2IzL0IzUHJvY2VkdXJlLmNwcAkod29ya2luZyBjb3B5KQpAQCAtNTIsNiArNTIsNyBAQCBQcm9j
ZWR1cmU6OlByb2NlZHVyZSgpCiAgICAgLCBtX2J5cHJvZHVjdHMoc3RkOjptYWtlX3VuaXF1ZTxP
cGFxdWVCeXByb2R1Y3RzPigpKQogICAgICwgbV9jb2RlKG5ldyBBaXI6OkNvZGUoKnRoaXMpKQog
eworICAgIG1fY29kZS0+c2V0TnVtRW50cnlwb2ludHMobV9udW1FbnRyeXBvaW50cyk7CiB9CiAK
IFByb2NlZHVyZTo6flByb2NlZHVyZSgpCkBAIC00MjAsNiArNDIxLDEyIEBAIFJlZ2lzdGVyU2V0
IFByb2NlZHVyZTo6bXV0YWJsZUZQUnMoKQogICAgIHJldHVybiBjb2RlKCkubXV0YWJsZUZQUnMo
KTsKIH0KIAordm9pZCBQcm9jZWR1cmU6OnNldE51bUVudHJ5cG9pbnRzKHVuc2lnbmVkIG51bUVu
dHJ5cG9pbnRzKQoreworICAgIG1fbnVtRW50cnlwb2ludHMgPSBudW1FbnRyeXBvaW50czsKKyAg
ICBtX2NvZGUtPnNldE51bUVudHJ5cG9pbnRzKG51bUVudHJ5cG9pbnRzKTsKK30KKwogfSB9IC8v
IG5hbWVzcGFjZSBKU0M6OkIzCiAKICNlbmRpZiAvLyBFTkFCTEUoQjNfSklUKQpJbmRleDogU291
cmNlL0phdmFTY3JpcHRDb3JlL2IzL0IzUHJvY2VkdXJlLmgKPT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gU291cmNl
L0phdmFTY3JpcHRDb3JlL2IzL0IzUHJvY2VkdXJlLmgJKHJldmlzaW9uIDIyMTY0MikKKysrIFNv
dXJjZS9KYXZhU2NyaXB0Q29yZS9iMy9CM1Byb2NlZHVyZS5oCSh3b3JraW5nIGNvcHkpCkBAIC0x
ODYsOCArMTg2LDggQEAgcHVibGljOgogICAgIGJvb2wgaXNGYXN0Q29uc3RhbnQoY29uc3QgVmFs
dWVLZXkmKTsKICAgICAKICAgICB1bnNpZ25lZCBudW1FbnRyeXBvaW50cygpIGNvbnN0IHsgcmV0
dXJuIG1fbnVtRW50cnlwb2ludHM7IH0KLSAgICB2b2lkIHNldE51bUVudHJ5cG9pbnRzKHVuc2ln
bmVkIG51bUVudHJ5cG9pbnRzKSB7IG1fbnVtRW50cnlwb2ludHMgPSBudW1FbnRyeXBvaW50czsg
fQotICAgIAorICAgIEpTX0VYUE9SVF9QUklWQVRFIHZvaWQgc2V0TnVtRW50cnlwb2ludHModW5z
aWduZWQgbnVtRW50cnlwb2ludHMpOworCiAgICAgLy8gT25seSBjYWxsIHRoaXMgYWZ0ZXIgY29k
ZSBnZW5lcmF0aW9uIGlzIGNvbXBsZXRlLiBOb3RlIHRoYXQgdGhlIGxhYmVsIGZvciB0aGUgMHRo
IGVudHJ5cG9pbnQKICAgICAvLyBzaG91bGQgcG9pbnQgdG8gZXhhY3RseSB3aGVyZSB0aGUgY29k
ZSBnZW5lcmF0aW9uIGN1cnNvciB3YXMgYmVmb3JlIHlvdSBzdGFydGVkIGdlbmVyYXRpbmcKICAg
ICAvLyBjb2RlLgpJbmRleDogU291cmNlL0phdmFTY3JpcHRDb3JlL2IzL2Fpci9BaXJDb2RlLmNw
cAo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09Ci0tLSBTb3VyY2UvSmF2YVNjcmlwdENvcmUvYjMvYWlyL0FpckNvZGUuY3Bw
CShyZXZpc2lvbiAyMjE2NDIpCisrKyBTb3VyY2UvSmF2YVNjcmlwdENvcmUvYjMvYWlyL0FpckNv
ZGUuY3BwCSh3b3JraW5nIGNvcHkpCkBAIC0zMCw2ICszMCw3IEBACiAKICNpbmNsdWRlICJBaXJD
Q2FsbFNwZWNpYWwuaCIKICNpbmNsdWRlICJBaXJDRkcuaCIKKyNpbmNsdWRlICJBbGxvd01hY3Jv
U2NyYXRjaFJlZ2lzdGVyVXNhZ2VJZi5oIgogI2luY2x1ZGUgIkIzQmFzaWNCbG9ja1V0aWxzLmgi
CiAjaW5jbHVkZSAiQjNQcm9jZWR1cmUuaCIKICNpbmNsdWRlICJCM1N0YWNrU2xvdC5oIgpAQCAt
MzcsMTAgKzM4LDIyIEBACiAKIG5hbWVzcGFjZSBKU0MgeyBuYW1lc3BhY2UgQjMgeyBuYW1lc3Bh
Y2UgQWlyIHsKIAorc3RhdGljIHZvaWQgZGVmYXVsdFByb2xvZ3VlR2VuZXJhdG9yKENDYWxsSGVs
cGVycyYgaml0LCBDb2RlJiBjb2RlKQoreworICAgIGppdC5lbWl0RnVuY3Rpb25Qcm9sb2d1ZSgp
OworICAgIGlmIChjb2RlLmZyYW1lU2l6ZSgpKSB7CisgICAgICAgIEFsbG93TWFjcm9TY3JhdGNo
UmVnaXN0ZXJVc2FnZUlmIGFsbG93U2NyYXRjaChqaXQsIGlzQVJNNjQoKSk7CisgICAgICAgIGpp
dC5hZGRQdHIoQ0NhbGxIZWxwZXJzOjpUcnVzdGVkSW1tMzIoLWNvZGUuZnJhbWVTaXplKCkpLCBN
YWNyb0Fzc2VtYmxlcjo6c3RhY2tQb2ludGVyUmVnaXN0ZXIpOworICAgIH0KKyAgICAKKyAgICBq
aXQuZW1pdFNhdmUoY29kZS5jYWxsZWVTYXZlUmVnaXN0ZXJBdE9mZnNldExpc3QoKSk7Cit9CisK
IENvZGU6OkNvZGUoUHJvY2VkdXJlJiBwcm9jKQogICAgIDogbV9wcm9jKHByb2MpCiAgICAgLCBt
X2NmZyhuZXcgQ0ZHKCp0aGlzKSkKICAgICAsIG1fbGFzdFBoYXNlTmFtZSgiaW5pdGlhbCIpCisg
ICAgLCBtX2RlZmF1bHRQcm9sb2d1ZUdlbmVyYXRvcihjcmVhdGVTaGFyZWRUYXNrPFByb2xvZ3Vl
R2VuZXJhdG9yRnVuY3Rpb24+KCZkZWZhdWx0UHJvbG9ndWVHZW5lcmF0b3IpKQogewogICAgIC8v
IENvbWUgdXAgd2l0aCBpbml0aWFsIG9yZGVyaW5ncyBvZiByZWdpc3RlcnMuIFRoZSB1c2VyIG1h
eSByZXBsYWNlIHRoaXMgd2l0aCBzb21ldGhpbmcgZWxzZS4KICAgICBmb3JFYWNoQmFuaygKQEAg
LTI5NCw2ICszMDcsMTQgQEAgdW5zaWduZWQgQ29kZTo6anNIYXNoKCkgY29uc3QKICAgICByZXR1
cm4gcmVzdWx0OwogfQogCit2b2lkIENvZGU6OnNldE51bUVudHJ5cG9pbnRzKHVuc2lnbmVkIG51
bUVudHJ5cG9pbnRzKQoreworICAgIG1fcHJvbG9ndWVHZW5lcmF0b3JzLmNsZWFyKCk7CisgICAg
bV9wcm9sb2d1ZUdlbmVyYXRvcnMucmVzZXJ2ZUNhcGFjaXR5KG51bUVudHJ5cG9pbnRzKTsKKyAg
ICBmb3IgKHVuc2lnbmVkIGkgPSAwOyBpIDwgbnVtRW50cnlwb2ludHM7ICsraSkKKyAgICAgICAg
bV9wcm9sb2d1ZUdlbmVyYXRvcnMudW5jaGVja2VkQXBwZW5kKG1fZGVmYXVsdFByb2xvZ3VlR2Vu
ZXJhdG9yLmNvcHlSZWYoKSk7Cit9CisKIH0gfSB9IC8vIG5hbWVzcGFjZSBKU0M6OkIzOjpBaXIK
IAogI2VuZGlmIC8vIEVOQUJMRShCM19KSVQpCkluZGV4OiBTb3VyY2UvSmF2YVNjcmlwdENvcmUv
YjMvYWlyL0FpckNvZGUuaAo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBTb3VyY2UvSmF2YVNjcmlwdENvcmUvYjMv
YWlyL0FpckNvZGUuaAkocmV2aXNpb24gMjIxNjQyKQorKysgU291cmNlL0phdmFTY3JpcHRDb3Jl
L2IzL2Fpci9BaXJDb2RlLmgJKHdvcmtpbmcgY29weSkKQEAgLTE3MSwyMSArMTcxLDI2IEBAIHB1
YmxpYzoKICAgICBib29sIGlzRW50cnlwb2ludChCYXNpY0Jsb2NrKikgY29uc3Q7CiAgICAgLy8g
Tm90ZTogSXQgaXMgb25seSB2YWxpZCB0byBjYWxsIHRoaXMgZnVuY3Rpb24gYWZ0ZXIgTG93ZXJF
bnRyeVN3aXRjaC4KICAgICBzdGQ6Om9wdGlvbmFsPHVuc2lnbmVkPiBlbnRyeXBvaW50SW5kZXgo
QmFzaWNCbG9jayopIGNvbnN0OwotICAgIHZvaWQgc2V0UHJvbG9ndWVGb3JFbnRyeXBvaW50KHVu
c2lnbmVkIGVudHJ5cG9pbnRJbmRleCwgUmVmUHRyPFByb2xvZ3VlR2VuZXJhdG9yPiBnZW5lcmF0
b3IpCisKKyAgICAvLyBOb3RlOiBXZSBhbGxvdyB0aGlzIHRvIGJlIGNhbGxlZCBldmVuIGJlZm9y
ZSB3ZSBzZXQgbV9lbnRyeXBvaW50cyBqdXN0IGZvciBjb252ZW5pZW5jZSB0byB1c2VycyBvZiB0
aGlzIEFQSS4KKyAgICAvLyBIb3dldmVyLCBpZiB5b3UgY2FsbCB0aGlzIGJlZm9yZSBzZXROdW1F
bnRyeXBvaW50cywgc2V0TnVtRW50cnlwb2ludHMgd2lsbCBvdmVyd3JpdGUgdGhpcyB2YWx1ZS4K
KyAgICB2b2lkIHNldFByb2xvZ3VlRm9yRW50cnlwb2ludCh1bnNpZ25lZCBlbnRyeXBvaW50SW5k
ZXgsIFJlZjxQcm9sb2d1ZUdlbmVyYXRvcj4mJiBnZW5lcmF0b3IpCiAgICAgewotICAgICAgICAv
LyBOb3RlOiBXZSBhbGxvdyB0aGlzIHRvIGJlIGNhbGxlZCBldmVuIGJlZm9yZSB3ZSBzZXQgbV9l
bnRyeXBvaW50cyBqdXN0IGZvciBjb252ZW5pZW5jZSB0byB1c2VycyBvZiB0aGlzIEFQSS4KLSAg
ICAgICAgbV9lbnRyeXBvaW50SW5kZXhUb0dlbmVyYXRvci5zZXQoZW50cnlwb2ludEluZGV4LCBn
ZW5lcmF0b3IpOworICAgICAgICBtX3Byb2xvZ3VlR2VuZXJhdG9yc1tlbnRyeXBvaW50SW5kZXhd
ID0gV1RGTW92ZShnZW5lcmF0b3IpOwogICAgIH0KLSAgICBSZWZQdHI8UHJvbG9ndWVHZW5lcmF0
b3I+IHByb2xvZ3VlR2VuZXJhdG9yRm9yRW50cnlwb2ludCh1bnNpZ25lZCBlbnRyeXBvaW50SW5k
ZXgpCisgICAgY29uc3QgUmVmPFByb2xvZ3VlR2VuZXJhdG9yPiYgcHJvbG9ndWVHZW5lcmF0b3JG
b3JFbnRyeXBvaW50KHVuc2lnbmVkIGVudHJ5cG9pbnRJbmRleCkKICAgICB7Ci0gICAgICAgIHJl
dHVybiBtX2VudHJ5cG9pbnRJbmRleFRvR2VuZXJhdG9yLmdldChlbnRyeXBvaW50SW5kZXgpOwor
ICAgICAgICByZXR1cm4gbV9wcm9sb2d1ZUdlbmVyYXRvcnNbZW50cnlwb2ludEluZGV4XTsKICAg
ICB9CiAKKyAgICB2b2lkIHNldE51bUVudHJ5cG9pbnRzKHVuc2lnbmVkKTsKKwogICAgIC8vIFRo
aXMgaXMgdXNlZCBieSBsb3dlckVudHJ5U3dpdGNoKCkuCiAgICAgdGVtcGxhdGU8dHlwZW5hbWUg
VmVjdG9yPgogICAgIHZvaWQgc2V0RW50cnlwb2ludHMoVmVjdG9yJiYgdmVjdG9yKQogICAgIHsK
ICAgICAgICAgbV9lbnRyeXBvaW50cyA9IHN0ZDo6Zm9yd2FyZDxWZWN0b3I+KHZlY3Rvcik7Cisg
ICAgICAgIFJFTEVBU0VfQVNTRVJUKG1fZW50cnlwb2ludHMuc2l6ZSgpID09IG1fcHJvbG9ndWVH
ZW5lcmF0b3JzLnNpemUoKSk7CiAgICAgfQogICAgIAogICAgIENDYWxsSGVscGVyczo6TGFiZWwg
ZW50cnlwb2ludExhYmVsKHVuc2lnbmVkIGluZGV4KSBjb25zdApAQCAtMTk4LDYgKzIwMyw3IEBA
IHB1YmxpYzoKICAgICB2b2lkIHNldEVudHJ5cG9pbnRMYWJlbHMoVmVjdG9yJiYgdmVjdG9yKQog
ICAgIHsKICAgICAgICAgbV9lbnRyeXBvaW50TGFiZWxzID0gc3RkOjpmb3J3YXJkPFZlY3Rvcj4o
dmVjdG9yKTsKKyAgICAgICAgUkVMRUFTRV9BU1NFUlQobV9lbnRyeXBvaW50TGFiZWxzLnNpemUo
KSA9PSBtX3Byb2xvZ3VlR2VuZXJhdG9ycy5zaXplKCkpOwogICAgIH0KICAgICAKICAgICB2b2lk
IHNldFN0YWNrSXNBbGxvY2F0ZWQoYm9vbCB2YWx1ZSkKQEAgLTM2OCwxMSArMzc0LDEyIEBAIHBy
aXZhdGU6CiAgICAgU3RhY2tTbG90KiBtX2NhbGxlZVNhdmVTdGFja1Nsb3QgeyBudWxscHRyIH07
CiAgICAgVmVjdG9yPEZyZXF1ZW50ZWRCbG9jaz4gbV9lbnRyeXBvaW50czsgLy8gVGhpcyBpcyBl
bXB0eSB1bnRpbCBhZnRlciBsb3dlckVudHJ5U3dpdGNoKCkuCiAgICAgVmVjdG9yPENDYWxsSGVs
cGVyczo6TGFiZWw+IG1fZW50cnlwb2ludExhYmVsczsgLy8gVGhpcyBpcyBlbXB0eSB1bnRpbCBj
b2RlIGdlbmVyYXRpb24uCi0gICAgSGFzaE1hcDx1bnNpZ25lZCwgUmVmUHRyPFByb2xvZ3VlR2Vu
ZXJhdG9yPiwgV1RGOjpJbnRIYXNoPHVuc2lnbmVkPiwgV1RGOjpVbnNpZ25lZFdpdGhaZXJvS2V5
SGFzaFRyYWl0czx1bnNpZ25lZD4+IG1fZW50cnlwb2ludEluZGV4VG9HZW5lcmF0b3I7CisgICAg
VmVjdG9yPFJlZjxQcm9sb2d1ZUdlbmVyYXRvcj4sIDE+IG1fcHJvbG9ndWVHZW5lcmF0b3JzOwog
ICAgIFJlZlB0cjxXYXNtQm91bmRzQ2hlY2tHZW5lcmF0b3I+IG1fd2FzbUJvdW5kc0NoZWNrR2Vu
ZXJhdG9yOwogICAgIGNvbnN0IGNoYXIqIG1fbGFzdFBoYXNlTmFtZTsKICAgICBzdGQ6OnVuaXF1
ZV9wdHI8RGlzYXNzZW1ibGVyPiBtX2Rpc2Fzc2VtYmxlcjsKICAgICB1bnNpZ25lZCBtX29wdExl
dmVsIHsgZGVmYXVsdE9wdExldmVsKCkgfTsKKyAgICBSZWY8UHJvbG9ndWVHZW5lcmF0b3I+IG1f
ZGVmYXVsdFByb2xvZ3VlR2VuZXJhdG9yOwogfTsKIAogfSB9IH0gLy8gbmFtZXNwYWNlIEpTQzo6
QjM6OkFpcgpJbmRleDogU291cmNlL0phdmFTY3JpcHRDb3JlL2IzL2Fpci9BaXJHZW5lcmF0ZS5j
cHAKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PQotLS0gU291cmNlL0phdmFTY3JpcHRDb3JlL2IzL2Fpci9BaXJHZW5lcmF0
ZS5jcHAJKHJldmlzaW9uIDIyMTY0MikKKysrIFNvdXJjZS9KYXZhU2NyaXB0Q29yZS9iMy9haXIv
QWlyR2VuZXJhdGUuY3BwCSh3b3JraW5nIGNvcHkpCkBAIC00Niw3ICs0Niw2IEBACiAjaW5jbHVk
ZSAiQWlyUmVwb3J0VXNlZFJlZ2lzdGVycy5oIgogI2luY2x1ZGUgIkFpclNpbXBsaWZ5Q0ZHLmgi
CiAjaW5jbHVkZSAiQWlyVmFsaWRhdGUuaCIKLSNpbmNsdWRlICJBbGxvd01hY3JvU2NyYXRjaFJl
Z2lzdGVyVXNhZ2VJZi5oIgogI2luY2x1ZGUgIkIzQ29tbW9uLmgiCiAjaW5jbHVkZSAiQjNQcm9j
ZWR1cmUuaCIKICNpbmNsdWRlICJCM1RpbWluZ1Njb3BlLmgiCkBAIC0yMTQsMTcgKzIxMyw3IEBA
IHZvaWQgZ2VuZXJhdGUoQ29kZSYgY29kZSwgQ0NhbGxIZWxwZXJzJiAKICAgICAgICAgICAgIGlm
IChkaXNhc3NlbWJsZXIpCiAgICAgICAgICAgICAgICAgZGlzYXNzZW1ibGVyLT5zdGFydEVudHJ5
cG9pbnQoaml0KTsgCiAKLSAgICAgICAgICAgIGlmIChSZWZQdHI8UHJvbG9ndWVHZW5lcmF0b3I+
IHByb2xvZ3VlR2VuZXJhdG9yID0gY29kZS5wcm9sb2d1ZUdlbmVyYXRvckZvckVudHJ5cG9pbnQo
KmVudHJ5cG9pbnRJbmRleCkpCi0gICAgICAgICAgICAgICAgcHJvbG9ndWVHZW5lcmF0b3ItPnJ1
bihqaXQsIGNvZGUpOwotICAgICAgICAgICAgZWxzZSB7Ci0gICAgICAgICAgICAgICAgaml0LmVt
aXRGdW5jdGlvblByb2xvZ3VlKCk7Ci0gICAgICAgICAgICAgICAgaWYgKGNvZGUuZnJhbWVTaXpl
KCkpIHsKLSAgICAgICAgICAgICAgICAgICAgQWxsb3dNYWNyb1NjcmF0Y2hSZWdpc3RlclVzYWdl
SWYgYWxsb3dTY3JhdGNoKGppdCwgaXNBUk02NCgpKTsKLSAgICAgICAgICAgICAgICAgICAgaml0
LmFkZFB0cihDQ2FsbEhlbHBlcnM6OlRydXN0ZWRJbW0zMigtY29kZS5mcmFtZVNpemUoKSksIE1h
Y3JvQXNzZW1ibGVyOjpzdGFja1BvaW50ZXJSZWdpc3Rlcik7Ci0gICAgICAgICAgICAgICAgfQot
ICAgICAgICAgICAgICAgIAotICAgICAgICAgICAgICAgIGppdC5lbWl0U2F2ZShjb2RlLmNhbGxl
ZVNhdmVSZWdpc3RlckF0T2Zmc2V0TGlzdCgpKTsKLSAgICAgICAgICAgIH0KKyAgICAgICAgICAg
IGNvZGUucHJvbG9ndWVHZW5lcmF0b3JGb3JFbnRyeXBvaW50KCplbnRyeXBvaW50SW5kZXgpLT5y
dW4oaml0LCBjb2RlKTsKIAogICAgICAgICAgICAgaWYgKGRpc2Fzc2VtYmxlcikKICAgICAgICAg
ICAgICAgICBkaXNhc3NlbWJsZXItPmVuZEVudHJ5cG9pbnQoaml0KTsgCkluZGV4OiBTb3VyY2Uv
SmF2YVNjcmlwdENvcmUvZnRsL0ZUTExvd2VyREZHVG9CMy5jcHAKPT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gU291
cmNlL0phdmFTY3JpcHRDb3JlL2Z0bC9GVExMb3dlckRGR1RvQjMuY3BwCShyZXZpc2lvbiAyMjE2
NDIpCisrKyBTb3VyY2UvSmF2YVNjcmlwdENvcmUvZnRsL0ZUTExvd2VyREZHVG9CMy5jcHAJKHdv
cmtpbmcgY29weSkKQEAgLTE1Nyw3ICsxNTcsNyBAQCBwdWJsaWM6CiAgICAgICAgICAgICBtX3By
b2Muc2V0TnVtRW50cnlwb2ludHMobV9ncmFwaC5tX251bWJlck9mRW50cnlwb2ludHMpOwogICAg
ICAgICAgICAgQ29kZUJsb2NrKiBjb2RlQmxvY2sgPSBtX2dyYXBoLm1fY29kZUJsb2NrOwogCi0g
ICAgICAgICAgICBSZWZQdHI8QjM6OkFpcjo6UHJvbG9ndWVHZW5lcmF0b3I+IGNhdGNoUHJvbG9n
dWVHZW5lcmF0b3IgPSBjcmVhdGVTaGFyZWRUYXNrPEIzOjpBaXI6OlByb2xvZ3VlR2VuZXJhdG9y
RnVuY3Rpb24+KAorICAgICAgICAgICAgUmVmPEIzOjpBaXI6OlByb2xvZ3VlR2VuZXJhdG9yPiBj
YXRjaFByb2xvZ3VlR2VuZXJhdG9yID0gY3JlYXRlU2hhcmVkVGFzazxCMzo6QWlyOjpQcm9sb2d1
ZUdlbmVyYXRvckZ1bmN0aW9uPigKICAgICAgICAgICAgICAgICBbY29kZUJsb2NrXSAoQ0NhbGxI
ZWxwZXJzJiBqaXQsIEIzOjpBaXI6OkNvZGUmIGNvZGUpIHsKICAgICAgICAgICAgICAgICAgICAg
QWxsb3dNYWNyb1NjcmF0Y2hSZWdpc3RlclVzYWdlIGFsbG93U2NyYXRjaChqaXQpOwogICAgICAg
ICAgICAgICAgICAgICBqaXQuYWRkUHRyKENDYWxsSGVscGVyczo6VHJ1c3RlZEltbTMyKC1jb2Rl
LmZyYW1lU2l6ZSgpKSwgR1BSSW5mbzo6Y2FsbEZyYW1lUmVnaXN0ZXIsIENDYWxsSGVscGVyczo6
c3RhY2tQb2ludGVyUmVnaXN0ZXIpOwpAQCAtMTY3LDcgKzE2Nyw3IEBAIHB1YmxpYzoKIAogICAg
ICAgICAgICAgZm9yICh1bnNpZ25lZCBjYXRjaEVudHJ5cG9pbnRJbmRleCA6IG1fZ3JhcGgubV9l
bnRyeXBvaW50SW5kZXhUb0NhdGNoQnl0ZWNvZGVPZmZzZXQua2V5cygpKSB7CiAgICAgICAgICAg
ICAgICAgUkVMRUFTRV9BU1NFUlQoY2F0Y2hFbnRyeXBvaW50SW5kZXggIT0gMCk7Ci0gICAgICAg
ICAgICAgICAgbV9wcm9jLmNvZGUoKS5zZXRQcm9sb2d1ZUZvckVudHJ5cG9pbnQoY2F0Y2hFbnRy
eXBvaW50SW5kZXgsIGNhdGNoUHJvbG9ndWVHZW5lcmF0b3IpOworICAgICAgICAgICAgICAgIG1f
cHJvYy5jb2RlKCkuc2V0UHJvbG9ndWVGb3JFbnRyeXBvaW50KGNhdGNoRW50cnlwb2ludEluZGV4
LCBjYXRjaFByb2xvZ3VlR2VuZXJhdG9yLmNvcHlSZWYoKSk7CiAgICAgICAgICAgICB9CiAKICAg
ICAgICAgICAgIGlmIChtX2dyYXBoLm1fbWF4TG9jYWxzRm9yQ2F0Y2hPU1JFbnRyeSkgewo=
</data>

          </attachment>
          <attachment
              isobsolete="0"
              ispatch="1"
              isprivate="0"
          >
            <attachid>319967</attachid>
            <date>2017-09-05 18:25:03 -0700</date>
            <delta_ts>2017-09-06 14:04:28 -0700</delta_ts>
            <desc>patch</desc>
            <filename>b-backup.diff</filename>
            <type>text/plain</type>
            <size>10298</size>
            <attacher name="Saam Barati">saam</attacher>
            
              <data encoding="base64">SW5kZXg6IFNvdXJjZS9KYXZhU2NyaXB0Q29yZS9DaGFuZ2VMb2cKPT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gU291
cmNlL0phdmFTY3JpcHRDb3JlL0NoYW5nZUxvZwkocmV2aXNpb24gMjIxNjU3KQorKysgU291cmNl
L0phdmFTY3JpcHRDb3JlL0NoYW5nZUxvZwkod29ya2luZyBjb3B5KQpAQCAtMSwzICsxLDI5IEBA
CisyMDE3LTA5LTA1ICBTYWFtIEJhcmF0aSAgPHNiYXJhdGlAYXBwbGUuY29tPgorCisgICAgICAg
IEFpciBzaG91bGQgaGF2ZSBhIFZlY3RvciBvZiBwcm9sb2d1ZSBnZW5lcmF0b3JzIGluc3RlYWQg
b2YgYSBIYXNoTWFwIHJlcHJlc2VudGluZyBhbiBvcHRpb25hbCBwcm9sb2d1ZSBnZW5lcmF0b3IK
KyAgICAgICAgaHR0cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hvd19idWcuY2dpP2lkPTE3NjM0Ngor
CisgICAgICAgIFJldmlld2VkIGJ5IE5PQk9EWSAoT09QUyEpLgorCisgICAgICAgICogYjMvQjNQ
cm9jZWR1cmUuY3BwOgorICAgICAgICAoSlNDOjpCMzo6UHJvY2VkdXJlOjpQcm9jZWR1cmUpOgor
ICAgICAgICAoSlNDOjpCMzo6UHJvY2VkdXJlOjpzZXROdW1FbnRyeXBvaW50cyk6CisgICAgICAg
ICogYjMvQjNQcm9jZWR1cmUuaDoKKyAgICAgICAgKEpTQzo6QjM6OlByb2NlZHVyZTo6c2V0TnVt
RW50cnlwb2ludHMpOiBEZWxldGVkLgorICAgICAgICAqIGIzL2Fpci9BaXJDb2RlLmNwcDoKKyAg
ICAgICAgKEpTQzo6QjM6OkFpcjo6ZGVmYXVsdFByb2xvZ3VlR2VuZXJhdG9yKToKKyAgICAgICAg
KEpTQzo6QjM6OkFpcjo6Q29kZTo6Q29kZSk6CisgICAgICAgIChKU0M6OkIzOjpBaXI6OkNvZGU6
OnNldE51bUVudHJ5cG9pbnRzKToKKyAgICAgICAgKiBiMy9haXIvQWlyQ29kZS5oOgorICAgICAg
ICAoSlNDOjpCMzo6QWlyOjpDb2RlOjpzZXRQcm9sb2d1ZUZvckVudHJ5cG9pbnQpOgorICAgICAg
ICAoSlNDOjpCMzo6QWlyOjpDb2RlOjpwcm9sb2d1ZUdlbmVyYXRvckZvckVudHJ5cG9pbnQpOgor
ICAgICAgICAoSlNDOjpCMzo6QWlyOjpDb2RlOjpzZXRFbnRyeXBvaW50cyk6CisgICAgICAgIChK
U0M6OkIzOjpBaXI6OkNvZGU6OnNldEVudHJ5cG9pbnRMYWJlbHMpOgorICAgICAgICAqIGIzL2Fp
ci9BaXJHZW5lcmF0ZS5jcHA6CisgICAgICAgIChKU0M6OkIzOjpBaXI6OmdlbmVyYXRlKToKKyAg
ICAgICAgKiBmdGwvRlRMTG93ZXJERkdUb0IzLmNwcDoKKyAgICAgICAgKEpTQzo6RlRMOjpERkc6
Okxvd2VyREZHVG9CMzo6bG93ZXIpOgorCiAyMDE3LTA5LTA1ICBTYWFtIEJhcmF0aSAgPHNiYXJh
dGlAYXBwbGUuY29tPgogCiAgICAgICAgIGlzTm90Q2VsbFNwZWN1bGF0aW9uIGlzIHdyb25nIHdp
dGggcmVzcGVjdCB0byBTcGVjRW1wdHkKSW5kZXg6IFNvdXJjZS9KYXZhU2NyaXB0Q29yZS9iMy9C
M1Byb2NlZHVyZS5jcHAKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gU291cmNlL0phdmFTY3JpcHRDb3JlL2IzL0Iz
UHJvY2VkdXJlLmNwcAkocmV2aXNpb24gMjIxNjQyKQorKysgU291cmNlL0phdmFTY3JpcHRDb3Jl
L2IzL0IzUHJvY2VkdXJlLmNwcAkod29ya2luZyBjb3B5KQpAQCAtNTIsNiArNTIsNyBAQCBQcm9j
ZWR1cmU6OlByb2NlZHVyZSgpCiAgICAgLCBtX2J5cHJvZHVjdHMoc3RkOjptYWtlX3VuaXF1ZTxP
cGFxdWVCeXByb2R1Y3RzPigpKQogICAgICwgbV9jb2RlKG5ldyBBaXI6OkNvZGUoKnRoaXMpKQog
eworICAgIG1fY29kZS0+c2V0TnVtRW50cnlwb2ludHMobV9udW1FbnRyeXBvaW50cyk7CiB9CiAK
IFByb2NlZHVyZTo6flByb2NlZHVyZSgpCkBAIC00MjAsNiArNDIxLDEyIEBAIFJlZ2lzdGVyU2V0
IFByb2NlZHVyZTo6bXV0YWJsZUZQUnMoKQogICAgIHJldHVybiBjb2RlKCkubXV0YWJsZUZQUnMo
KTsKIH0KIAordm9pZCBQcm9jZWR1cmU6OnNldE51bUVudHJ5cG9pbnRzKHVuc2lnbmVkIG51bUVu
dHJ5cG9pbnRzKQoreworICAgIG1fbnVtRW50cnlwb2ludHMgPSBudW1FbnRyeXBvaW50czsKKyAg
ICBtX2NvZGUtPnNldE51bUVudHJ5cG9pbnRzKG51bUVudHJ5cG9pbnRzKTsKK30KKwogfSB9IC8v
IG5hbWVzcGFjZSBKU0M6OkIzCiAKICNlbmRpZiAvLyBFTkFCTEUoQjNfSklUKQpJbmRleDogU291
cmNlL0phdmFTY3JpcHRDb3JlL2IzL0IzUHJvY2VkdXJlLmgKPT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gU291cmNl
L0phdmFTY3JpcHRDb3JlL2IzL0IzUHJvY2VkdXJlLmgJKHJldmlzaW9uIDIyMTY0MikKKysrIFNv
dXJjZS9KYXZhU2NyaXB0Q29yZS9iMy9CM1Byb2NlZHVyZS5oCSh3b3JraW5nIGNvcHkpCkBAIC0x
ODYsOCArMTg2LDggQEAgcHVibGljOgogICAgIGJvb2wgaXNGYXN0Q29uc3RhbnQoY29uc3QgVmFs
dWVLZXkmKTsKICAgICAKICAgICB1bnNpZ25lZCBudW1FbnRyeXBvaW50cygpIGNvbnN0IHsgcmV0
dXJuIG1fbnVtRW50cnlwb2ludHM7IH0KLSAgICB2b2lkIHNldE51bUVudHJ5cG9pbnRzKHVuc2ln
bmVkIG51bUVudHJ5cG9pbnRzKSB7IG1fbnVtRW50cnlwb2ludHMgPSBudW1FbnRyeXBvaW50czsg
fQotICAgIAorICAgIEpTX0VYUE9SVF9QUklWQVRFIHZvaWQgc2V0TnVtRW50cnlwb2ludHModW5z
aWduZWQpOworCiAgICAgLy8gT25seSBjYWxsIHRoaXMgYWZ0ZXIgY29kZSBnZW5lcmF0aW9uIGlz
IGNvbXBsZXRlLiBOb3RlIHRoYXQgdGhlIGxhYmVsIGZvciB0aGUgMHRoIGVudHJ5cG9pbnQKICAg
ICAvLyBzaG91bGQgcG9pbnQgdG8gZXhhY3RseSB3aGVyZSB0aGUgY29kZSBnZW5lcmF0aW9uIGN1
cnNvciB3YXMgYmVmb3JlIHlvdSBzdGFydGVkIGdlbmVyYXRpbmcKICAgICAvLyBjb2RlLgpJbmRl
eDogU291cmNlL0phdmFTY3JpcHRDb3JlL2IzL2Fpci9BaXJDb2RlLmNwcAo9PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0t
LSBTb3VyY2UvSmF2YVNjcmlwdENvcmUvYjMvYWlyL0FpckNvZGUuY3BwCShyZXZpc2lvbiAyMjE2
NDIpCisrKyBTb3VyY2UvSmF2YVNjcmlwdENvcmUvYjMvYWlyL0FpckNvZGUuY3BwCSh3b3JraW5n
IGNvcHkpCkBAIC0zMCw2ICszMCw3IEBACiAKICNpbmNsdWRlICJBaXJDQ2FsbFNwZWNpYWwuaCIK
ICNpbmNsdWRlICJBaXJDRkcuaCIKKyNpbmNsdWRlICJBbGxvd01hY3JvU2NyYXRjaFJlZ2lzdGVy
VXNhZ2VJZi5oIgogI2luY2x1ZGUgIkIzQmFzaWNCbG9ja1V0aWxzLmgiCiAjaW5jbHVkZSAiQjNQ
cm9jZWR1cmUuaCIKICNpbmNsdWRlICJCM1N0YWNrU2xvdC5oIgpAQCAtMzcsMTAgKzM4LDIyIEBA
CiAKIG5hbWVzcGFjZSBKU0MgeyBuYW1lc3BhY2UgQjMgeyBuYW1lc3BhY2UgQWlyIHsKIAorc3Rh
dGljIHZvaWQgZGVmYXVsdFByb2xvZ3VlR2VuZXJhdG9yKENDYWxsSGVscGVycyYgaml0LCBDb2Rl
JiBjb2RlKQoreworICAgIGppdC5lbWl0RnVuY3Rpb25Qcm9sb2d1ZSgpOworICAgIGlmIChjb2Rl
LmZyYW1lU2l6ZSgpKSB7CisgICAgICAgIEFsbG93TWFjcm9TY3JhdGNoUmVnaXN0ZXJVc2FnZUlm
IGFsbG93U2NyYXRjaChqaXQsIGlzQVJNNjQoKSk7CisgICAgICAgIGppdC5hZGRQdHIoQ0NhbGxI
ZWxwZXJzOjpUcnVzdGVkSW1tMzIoLWNvZGUuZnJhbWVTaXplKCkpLCBNYWNyb0Fzc2VtYmxlcjo6
c3RhY2tQb2ludGVyUmVnaXN0ZXIpOworICAgIH0KKyAgICAKKyAgICBqaXQuZW1pdFNhdmUoY29k
ZS5jYWxsZWVTYXZlUmVnaXN0ZXJBdE9mZnNldExpc3QoKSk7Cit9CisKIENvZGU6OkNvZGUoUHJv
Y2VkdXJlJiBwcm9jKQogICAgIDogbV9wcm9jKHByb2MpCiAgICAgLCBtX2NmZyhuZXcgQ0ZHKCp0
aGlzKSkKICAgICAsIG1fbGFzdFBoYXNlTmFtZSgiaW5pdGlhbCIpCisgICAgLCBtX2RlZmF1bHRQ
cm9sb2d1ZUdlbmVyYXRvcihjcmVhdGVTaGFyZWRUYXNrPFByb2xvZ3VlR2VuZXJhdG9yRnVuY3Rp
b24+KCZkZWZhdWx0UHJvbG9ndWVHZW5lcmF0b3IpKQogewogICAgIC8vIENvbWUgdXAgd2l0aCBp
bml0aWFsIG9yZGVyaW5ncyBvZiByZWdpc3RlcnMuIFRoZSB1c2VyIG1heSByZXBsYWNlIHRoaXMg
d2l0aCBzb21ldGhpbmcgZWxzZS4KICAgICBmb3JFYWNoQmFuaygKQEAgLTI5NCw2ICszMDcsMTQg
QEAgdW5zaWduZWQgQ29kZTo6anNIYXNoKCkgY29uc3QKICAgICByZXR1cm4gcmVzdWx0OwogfQog
Cit2b2lkIENvZGU6OnNldE51bUVudHJ5cG9pbnRzKHVuc2lnbmVkIG51bUVudHJ5cG9pbnRzKQor
eworICAgIG1fcHJvbG9ndWVHZW5lcmF0b3JzLmNsZWFyKCk7CisgICAgbV9wcm9sb2d1ZUdlbmVy
YXRvcnMucmVzZXJ2ZUNhcGFjaXR5KG51bUVudHJ5cG9pbnRzKTsKKyAgICBmb3IgKHVuc2lnbmVk
IGkgPSAwOyBpIDwgbnVtRW50cnlwb2ludHM7ICsraSkKKyAgICAgICAgbV9wcm9sb2d1ZUdlbmVy
YXRvcnMudW5jaGVja2VkQXBwZW5kKG1fZGVmYXVsdFByb2xvZ3VlR2VuZXJhdG9yLmNvcHlSZWYo
KSk7Cit9CisKIH0gfSB9IC8vIG5hbWVzcGFjZSBKU0M6OkIzOjpBaXIKIAogI2VuZGlmIC8vIEVO
QUJMRShCM19KSVQpCkluZGV4OiBTb3VyY2UvSmF2YVNjcmlwdENvcmUvYjMvYWlyL0FpckNvZGUu
aAo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09Ci0tLSBTb3VyY2UvSmF2YVNjcmlwdENvcmUvYjMvYWlyL0FpckNvZGUuaAko
cmV2aXNpb24gMjIxNjQyKQorKysgU291cmNlL0phdmFTY3JpcHRDb3JlL2IzL2Fpci9BaXJDb2Rl
LmgJKHdvcmtpbmcgY29weSkKQEAgLTE3MSwyMSArMTcxLDI2IEBAIHB1YmxpYzoKICAgICBib29s
IGlzRW50cnlwb2ludChCYXNpY0Jsb2NrKikgY29uc3Q7CiAgICAgLy8gTm90ZTogSXQgaXMgb25s
eSB2YWxpZCB0byBjYWxsIHRoaXMgZnVuY3Rpb24gYWZ0ZXIgTG93ZXJFbnRyeVN3aXRjaC4KICAg
ICBzdGQ6Om9wdGlvbmFsPHVuc2lnbmVkPiBlbnRyeXBvaW50SW5kZXgoQmFzaWNCbG9jayopIGNv
bnN0OwotICAgIHZvaWQgc2V0UHJvbG9ndWVGb3JFbnRyeXBvaW50KHVuc2lnbmVkIGVudHJ5cG9p
bnRJbmRleCwgUmVmUHRyPFByb2xvZ3VlR2VuZXJhdG9yPiBnZW5lcmF0b3IpCisKKyAgICAvLyBO
b3RlOiBXZSBhbGxvdyB0aGlzIHRvIGJlIGNhbGxlZCBldmVuIGJlZm9yZSB3ZSBzZXQgbV9lbnRy
eXBvaW50cyBqdXN0IGZvciBjb252ZW5pZW5jZSB0byB1c2VycyBvZiB0aGlzIEFQSS4KKyAgICAv
LyBIb3dldmVyLCBpZiB5b3UgY2FsbCB0aGlzIGJlZm9yZSBzZXROdW1FbnRyeXBvaW50cywgc2V0
TnVtRW50cnlwb2ludHMgd2lsbCBvdmVyd3JpdGUgdGhpcyB2YWx1ZS4KKyAgICB2b2lkIHNldFBy
b2xvZ3VlRm9yRW50cnlwb2ludCh1bnNpZ25lZCBlbnRyeXBvaW50SW5kZXgsIFJlZjxQcm9sb2d1
ZUdlbmVyYXRvcj4mJiBnZW5lcmF0b3IpCiAgICAgewotICAgICAgICAvLyBOb3RlOiBXZSBhbGxv
dyB0aGlzIHRvIGJlIGNhbGxlZCBldmVuIGJlZm9yZSB3ZSBzZXQgbV9lbnRyeXBvaW50cyBqdXN0
IGZvciBjb252ZW5pZW5jZSB0byB1c2VycyBvZiB0aGlzIEFQSS4KLSAgICAgICAgbV9lbnRyeXBv
aW50SW5kZXhUb0dlbmVyYXRvci5zZXQoZW50cnlwb2ludEluZGV4LCBnZW5lcmF0b3IpOworICAg
ICAgICBtX3Byb2xvZ3VlR2VuZXJhdG9yc1tlbnRyeXBvaW50SW5kZXhdID0gV1RGTW92ZShnZW5l
cmF0b3IpOwogICAgIH0KLSAgICBSZWZQdHI8UHJvbG9ndWVHZW5lcmF0b3I+IHByb2xvZ3VlR2Vu
ZXJhdG9yRm9yRW50cnlwb2ludCh1bnNpZ25lZCBlbnRyeXBvaW50SW5kZXgpCisgICAgY29uc3Qg
UmVmPFByb2xvZ3VlR2VuZXJhdG9yPiYgcHJvbG9ndWVHZW5lcmF0b3JGb3JFbnRyeXBvaW50KHVu
c2lnbmVkIGVudHJ5cG9pbnRJbmRleCkKICAgICB7Ci0gICAgICAgIHJldHVybiBtX2VudHJ5cG9p
bnRJbmRleFRvR2VuZXJhdG9yLmdldChlbnRyeXBvaW50SW5kZXgpOworICAgICAgICByZXR1cm4g
bV9wcm9sb2d1ZUdlbmVyYXRvcnNbZW50cnlwb2ludEluZGV4XTsKICAgICB9CiAKKyAgICB2b2lk
IHNldE51bUVudHJ5cG9pbnRzKHVuc2lnbmVkKTsKKwogICAgIC8vIFRoaXMgaXMgdXNlZCBieSBs
b3dlckVudHJ5U3dpdGNoKCkuCiAgICAgdGVtcGxhdGU8dHlwZW5hbWUgVmVjdG9yPgogICAgIHZv
aWQgc2V0RW50cnlwb2ludHMoVmVjdG9yJiYgdmVjdG9yKQogICAgIHsKICAgICAgICAgbV9lbnRy
eXBvaW50cyA9IHN0ZDo6Zm9yd2FyZDxWZWN0b3I+KHZlY3Rvcik7CisgICAgICAgIFJFTEVBU0Vf
QVNTRVJUKG1fZW50cnlwb2ludHMuc2l6ZSgpID09IG1fcHJvbG9ndWVHZW5lcmF0b3JzLnNpemUo
KSk7CiAgICAgfQogICAgIAogICAgIENDYWxsSGVscGVyczo6TGFiZWwgZW50cnlwb2ludExhYmVs
KHVuc2lnbmVkIGluZGV4KSBjb25zdApAQCAtMTk4LDYgKzIwMyw3IEBAIHB1YmxpYzoKICAgICB2
b2lkIHNldEVudHJ5cG9pbnRMYWJlbHMoVmVjdG9yJiYgdmVjdG9yKQogICAgIHsKICAgICAgICAg
bV9lbnRyeXBvaW50TGFiZWxzID0gc3RkOjpmb3J3YXJkPFZlY3Rvcj4odmVjdG9yKTsKKyAgICAg
ICAgUkVMRUFTRV9BU1NFUlQobV9lbnRyeXBvaW50TGFiZWxzLnNpemUoKSA9PSBtX3Byb2xvZ3Vl
R2VuZXJhdG9ycy5zaXplKCkpOwogICAgIH0KICAgICAKICAgICB2b2lkIHNldFN0YWNrSXNBbGxv
Y2F0ZWQoYm9vbCB2YWx1ZSkKQEAgLTM2OCwxMSArMzc0LDEyIEBAIHByaXZhdGU6CiAgICAgU3Rh
Y2tTbG90KiBtX2NhbGxlZVNhdmVTdGFja1Nsb3QgeyBudWxscHRyIH07CiAgICAgVmVjdG9yPEZy
ZXF1ZW50ZWRCbG9jaz4gbV9lbnRyeXBvaW50czsgLy8gVGhpcyBpcyBlbXB0eSB1bnRpbCBhZnRl
ciBsb3dlckVudHJ5U3dpdGNoKCkuCiAgICAgVmVjdG9yPENDYWxsSGVscGVyczo6TGFiZWw+IG1f
ZW50cnlwb2ludExhYmVsczsgLy8gVGhpcyBpcyBlbXB0eSB1bnRpbCBjb2RlIGdlbmVyYXRpb24u
Ci0gICAgSGFzaE1hcDx1bnNpZ25lZCwgUmVmUHRyPFByb2xvZ3VlR2VuZXJhdG9yPiwgV1RGOjpJ
bnRIYXNoPHVuc2lnbmVkPiwgV1RGOjpVbnNpZ25lZFdpdGhaZXJvS2V5SGFzaFRyYWl0czx1bnNp
Z25lZD4+IG1fZW50cnlwb2ludEluZGV4VG9HZW5lcmF0b3I7CisgICAgVmVjdG9yPFJlZjxQcm9s
b2d1ZUdlbmVyYXRvcj4sIDE+IG1fcHJvbG9ndWVHZW5lcmF0b3JzOwogICAgIFJlZlB0cjxXYXNt
Qm91bmRzQ2hlY2tHZW5lcmF0b3I+IG1fd2FzbUJvdW5kc0NoZWNrR2VuZXJhdG9yOwogICAgIGNv
bnN0IGNoYXIqIG1fbGFzdFBoYXNlTmFtZTsKICAgICBzdGQ6OnVuaXF1ZV9wdHI8RGlzYXNzZW1i
bGVyPiBtX2Rpc2Fzc2VtYmxlcjsKICAgICB1bnNpZ25lZCBtX29wdExldmVsIHsgZGVmYXVsdE9w
dExldmVsKCkgfTsKKyAgICBSZWY8UHJvbG9ndWVHZW5lcmF0b3I+IG1fZGVmYXVsdFByb2xvZ3Vl
R2VuZXJhdG9yOwogfTsKIAogfSB9IH0gLy8gbmFtZXNwYWNlIEpTQzo6QjM6OkFpcgpJbmRleDog
U291cmNlL0phdmFTY3JpcHRDb3JlL2IzL2Fpci9BaXJHZW5lcmF0ZS5jcHAKPT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQot
LS0gU291cmNlL0phdmFTY3JpcHRDb3JlL2IzL2Fpci9BaXJHZW5lcmF0ZS5jcHAJKHJldmlzaW9u
IDIyMTY0MikKKysrIFNvdXJjZS9KYXZhU2NyaXB0Q29yZS9iMy9haXIvQWlyR2VuZXJhdGUuY3Bw
CSh3b3JraW5nIGNvcHkpCkBAIC00Niw3ICs0Niw2IEBACiAjaW5jbHVkZSAiQWlyUmVwb3J0VXNl
ZFJlZ2lzdGVycy5oIgogI2luY2x1ZGUgIkFpclNpbXBsaWZ5Q0ZHLmgiCiAjaW5jbHVkZSAiQWly
VmFsaWRhdGUuaCIKLSNpbmNsdWRlICJBbGxvd01hY3JvU2NyYXRjaFJlZ2lzdGVyVXNhZ2VJZi5o
IgogI2luY2x1ZGUgIkIzQ29tbW9uLmgiCiAjaW5jbHVkZSAiQjNQcm9jZWR1cmUuaCIKICNpbmNs
dWRlICJCM1RpbWluZ1Njb3BlLmgiCkBAIC0yMTQsMTcgKzIxMyw3IEBAIHZvaWQgZ2VuZXJhdGUo
Q29kZSYgY29kZSwgQ0NhbGxIZWxwZXJzJiAKICAgICAgICAgICAgIGlmIChkaXNhc3NlbWJsZXIp
CiAgICAgICAgICAgICAgICAgZGlzYXNzZW1ibGVyLT5zdGFydEVudHJ5cG9pbnQoaml0KTsgCiAK
LSAgICAgICAgICAgIGlmIChSZWZQdHI8UHJvbG9ndWVHZW5lcmF0b3I+IHByb2xvZ3VlR2VuZXJh
dG9yID0gY29kZS5wcm9sb2d1ZUdlbmVyYXRvckZvckVudHJ5cG9pbnQoKmVudHJ5cG9pbnRJbmRl
eCkpCi0gICAgICAgICAgICAgICAgcHJvbG9ndWVHZW5lcmF0b3ItPnJ1bihqaXQsIGNvZGUpOwot
ICAgICAgICAgICAgZWxzZSB7Ci0gICAgICAgICAgICAgICAgaml0LmVtaXRGdW5jdGlvblByb2xv
Z3VlKCk7Ci0gICAgICAgICAgICAgICAgaWYgKGNvZGUuZnJhbWVTaXplKCkpIHsKLSAgICAgICAg
ICAgICAgICAgICAgQWxsb3dNYWNyb1NjcmF0Y2hSZWdpc3RlclVzYWdlSWYgYWxsb3dTY3JhdGNo
KGppdCwgaXNBUk02NCgpKTsKLSAgICAgICAgICAgICAgICAgICAgaml0LmFkZFB0cihDQ2FsbEhl
bHBlcnM6OlRydXN0ZWRJbW0zMigtY29kZS5mcmFtZVNpemUoKSksIE1hY3JvQXNzZW1ibGVyOjpz
dGFja1BvaW50ZXJSZWdpc3Rlcik7Ci0gICAgICAgICAgICAgICAgfQotICAgICAgICAgICAgICAg
IAotICAgICAgICAgICAgICAgIGppdC5lbWl0U2F2ZShjb2RlLmNhbGxlZVNhdmVSZWdpc3RlckF0
T2Zmc2V0TGlzdCgpKTsKLSAgICAgICAgICAgIH0KKyAgICAgICAgICAgIGNvZGUucHJvbG9ndWVH
ZW5lcmF0b3JGb3JFbnRyeXBvaW50KCplbnRyeXBvaW50SW5kZXgpLT5ydW4oaml0LCBjb2RlKTsK
IAogICAgICAgICAgICAgaWYgKGRpc2Fzc2VtYmxlcikKICAgICAgICAgICAgICAgICBkaXNhc3Nl
bWJsZXItPmVuZEVudHJ5cG9pbnQoaml0KTsgCkluZGV4OiBTb3VyY2UvSmF2YVNjcmlwdENvcmUv
ZnRsL0ZUTExvd2VyREZHVG9CMy5jcHAKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gU291cmNlL0phdmFTY3JpcHRD
b3JlL2Z0bC9GVExMb3dlckRGR1RvQjMuY3BwCShyZXZpc2lvbiAyMjE2NDIpCisrKyBTb3VyY2Uv
SmF2YVNjcmlwdENvcmUvZnRsL0ZUTExvd2VyREZHVG9CMy5jcHAJKHdvcmtpbmcgY29weSkKQEAg
LTE1Nyw3ICsxNTcsNyBAQCBwdWJsaWM6CiAgICAgICAgICAgICBtX3Byb2Muc2V0TnVtRW50cnlw
b2ludHMobV9ncmFwaC5tX251bWJlck9mRW50cnlwb2ludHMpOwogICAgICAgICAgICAgQ29kZUJs
b2NrKiBjb2RlQmxvY2sgPSBtX2dyYXBoLm1fY29kZUJsb2NrOwogCi0gICAgICAgICAgICBSZWZQ
dHI8QjM6OkFpcjo6UHJvbG9ndWVHZW5lcmF0b3I+IGNhdGNoUHJvbG9ndWVHZW5lcmF0b3IgPSBj
cmVhdGVTaGFyZWRUYXNrPEIzOjpBaXI6OlByb2xvZ3VlR2VuZXJhdG9yRnVuY3Rpb24+KAorICAg
ICAgICAgICAgUmVmPEIzOjpBaXI6OlByb2xvZ3VlR2VuZXJhdG9yPiBjYXRjaFByb2xvZ3VlR2Vu
ZXJhdG9yID0gY3JlYXRlU2hhcmVkVGFzazxCMzo6QWlyOjpQcm9sb2d1ZUdlbmVyYXRvckZ1bmN0
aW9uPigKICAgICAgICAgICAgICAgICBbY29kZUJsb2NrXSAoQ0NhbGxIZWxwZXJzJiBqaXQsIEIz
OjpBaXI6OkNvZGUmIGNvZGUpIHsKICAgICAgICAgICAgICAgICAgICAgQWxsb3dNYWNyb1NjcmF0
Y2hSZWdpc3RlclVzYWdlIGFsbG93U2NyYXRjaChqaXQpOwogICAgICAgICAgICAgICAgICAgICBq
aXQuYWRkUHRyKENDYWxsSGVscGVyczo6VHJ1c3RlZEltbTMyKC1jb2RlLmZyYW1lU2l6ZSgpKSwg
R1BSSW5mbzo6Y2FsbEZyYW1lUmVnaXN0ZXIsIENDYWxsSGVscGVyczo6c3RhY2tQb2ludGVyUmVn
aXN0ZXIpOwpAQCAtMTY3LDcgKzE2Nyw3IEBAIHB1YmxpYzoKIAogICAgICAgICAgICAgZm9yICh1
bnNpZ25lZCBjYXRjaEVudHJ5cG9pbnRJbmRleCA6IG1fZ3JhcGgubV9lbnRyeXBvaW50SW5kZXhU
b0NhdGNoQnl0ZWNvZGVPZmZzZXQua2V5cygpKSB7CiAgICAgICAgICAgICAgICAgUkVMRUFTRV9B
U1NFUlQoY2F0Y2hFbnRyeXBvaW50SW5kZXggIT0gMCk7Ci0gICAgICAgICAgICAgICAgbV9wcm9j
LmNvZGUoKS5zZXRQcm9sb2d1ZUZvckVudHJ5cG9pbnQoY2F0Y2hFbnRyeXBvaW50SW5kZXgsIGNh
dGNoUHJvbG9ndWVHZW5lcmF0b3IpOworICAgICAgICAgICAgICAgIG1fcHJvYy5jb2RlKCkuc2V0
UHJvbG9ndWVGb3JFbnRyeXBvaW50KGNhdGNoRW50cnlwb2ludEluZGV4LCBjYXRjaFByb2xvZ3Vl
R2VuZXJhdG9yLmNvcHlSZWYoKSk7CiAgICAgICAgICAgICB9CiAKICAgICAgICAgICAgIGlmICht
X2dyYXBoLm1fbWF4TG9jYWxzRm9yQ2F0Y2hPU1JFbnRyeSkgewo=
</data>

          </attachment>
      

    </bug>

</bugzilla>