<?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>115942</bug_id>
          
          <creation_ts>2013-05-10 16:12:30 -0700</creation_ts>
          <short_desc>fourthTier: FTL should support Jump and ForceOSRExit</short_desc>
          <delta_ts>2013-05-11 14:07:28 -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>528+ (Nightly build)</version>
          <rep_platform>All</rep_platform>
          <op_sys>All</op_sys>
          <bug_status>RESOLVED</bug_status>
          <resolution>FIXED</resolution>
          
          
          <bug_file_loc></bug_file_loc>
          <status_whiteboard></status_whiteboard>
          <keywords></keywords>
          <priority>P2</priority>
          <bug_severity>Normal</bug_severity>
          <target_milestone>---</target_milestone>
          
          <blocked>112840</blocked>
          <everconfirmed>1</everconfirmed>
          <reporter name="Filip Pizlo">fpizlo</reporter>
          <assigned_to name="Filip Pizlo">fpizlo</assigned_to>
          <cc>barraclough</cc>
    
    <cc>ggaren</cc>
    
    <cc>mark.lam</cc>
    
    <cc>mhahnenberg</cc>
    
    <cc>msaboff</cc>
    
    <cc>oliver</cc>
    
    <cc>sam</cc>
          

      

      

      

          <comment_sort_order>oldest_to_newest</comment_sort_order>  
          <long_desc isprivate="0" >
    <commentid>887655</commentid>
    <comment_count>0</comment_count>
    <who name="Filip Pizlo">fpizlo</who>
    <bug_when>2013-05-10 16:12:30 -0700</bug_when>
    <thetext>Patch forthcoming.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>887656</commentid>
    <comment_count>1</comment_count>
      <attachid>201435</attachid>
    <who name="Filip Pizlo">fpizlo</who>
    <bug_when>2013-05-10 16:13:04 -0700</bug_when>
    <thetext>Created attachment 201435
work in progress

This makes v8-raytrace fail.  Will investigate why.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>887788</commentid>
    <comment_count>2</comment_count>
      <attachid>201461</attachid>
    <who name="Filip Pizlo">fpizlo</who>
    <bug_when>2013-05-11 10:21:27 -0700</bug_when>
    <thetext>Created attachment 201461
the patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>887790</commentid>
    <comment_count>3</comment_count>
      <attachid>201461</attachid>
    <who name="Filip Pizlo">fpizlo</who>
    <bug_when>2013-05-11 10:22:41 -0700</bug_when>
    <thetext>Comment on attachment 201461
the patch

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

&gt; Source/JavaScriptCore/ftl/FTLCapabilities.cpp:91
&gt; +        case Array::ForceExit:
&gt; +            return true;

Note, this is the reason why this code was moved into a separate function: I wanted to be able to treat ForceExit as being OK immediately; and there was no easy way to do it with the way the control flow was nested previously.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>887838</commentid>
    <comment_count>4</comment_count>
    <who name="Filip Pizlo">fpizlo</who>
    <bug_when>2013-05-11 14:07:28 -0700</bug_when>
    <thetext>Landed in http://trac.webkit.org/changeset/149941</thetext>
  </long_desc>
      
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>201435</attachid>
            <date>2013-05-10 16:13:04 -0700</date>
            <delta_ts>2013-05-11 10:21:27 -0700</delta_ts>
            <desc>work in progress</desc>
            <filename>blah.patch</filename>
            <type>text/plain</type>
            <size>9367</size>
            <attacher name="Filip Pizlo">fpizlo</attacher>
            
              <data encoding="base64">SW5kZXg6IFNvdXJjZS9KYXZhU2NyaXB0Q29yZS9mdGwvRlRMQ2FwYWJpbGl0aWVzLmNwcAo9PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09Ci0tLSBTb3VyY2UvSmF2YVNjcmlwdENvcmUvZnRsL0ZUTENhcGFiaWxpdGllcy5jcHAJ
KHJldmlzaW9uIDE0OTkxMCkKKysrIFNvdXJjZS9KYXZhU2NyaXB0Q29yZS9mdGwvRlRMQ2FwYWJp
bGl0aWVzLmNwcAkod29ya2luZyBjb3B5KQpAQCAtMzIsNiArMzIsMTA4IEBAIG5hbWVzcGFjZSBK
U0MgeyBuYW1lc3BhY2UgRlRMIHsKIAogdXNpbmcgbmFtZXNwYWNlIERGRzsKIAoraW5saW5lIGJv
b2wgY2FuQ29tcGlsZShOb2RlKiBub2RlKQoreworICAgIHN3aXRjaCAobm9kZS0+b3AoKSkgewor
ICAgIGNhc2UgSlNDb25zdGFudDoKKyAgICBjYXNlIFdlYWtKU0NvbnN0YW50OgorICAgIGNhc2Ug
R2V0TG9jYWw6CisgICAgY2FzZSBTZXRMb2NhbDoKKyAgICBjYXNlIE1vdkhpbnRBbmRDaGVjazoK
KyAgICBjYXNlIE1vdkhpbnQ6CisgICAgY2FzZSBab21iaWVIaW50OgorICAgIGNhc2UgUGhhbnRv
bToKKyAgICBjYXNlIEZsdXNoOgorICAgIGNhc2UgUGhhbnRvbUxvY2FsOgorICAgIGNhc2UgU2V0
QXJndW1lbnQ6CisgICAgY2FzZSBSZXR1cm46CisgICAgY2FzZSBCaXRBbmQ6CisgICAgY2FzZSBC
aXRPcjoKKyAgICBjYXNlIEJpdFhvcjoKKyAgICBjYXNlIEJpdFJTaGlmdDoKKyAgICBjYXNlIEJp
dExTaGlmdDoKKyAgICBjYXNlIEJpdFVSU2hpZnQ6CisgICAgY2FzZSBDaGVja1N0cnVjdHVyZToK
KyAgICBjYXNlIFN0cnVjdHVyZVRyYW5zaXRpb25XYXRjaHBvaW50OgorICAgIGNhc2UgUHV0U3Ry
dWN0dXJlOgorICAgIGNhc2UgUGhhbnRvbVB1dFN0cnVjdHVyZToKKyAgICBjYXNlIEdldEJ1dHRl
cmZseToKKyAgICBjYXNlIEdldEJ5T2Zmc2V0OgorICAgIGNhc2UgUHV0QnlPZmZzZXQ6CisgICAg
Y2FzZSBHZXRHbG9iYWxWYXI6CisgICAgY2FzZSBQdXRHbG9iYWxWYXI6CisgICAgY2FzZSBWYWx1
ZUFkZDoKKyAgICBjYXNlIEFyaXRoQWRkOgorICAgIGNhc2UgQXJpdGhTdWI6CisgICAgY2FzZSBB
cml0aE11bDoKKyAgICBjYXNlIEFyaXRoTmVnYXRlOgorICAgIGNhc2UgVUludDMyVG9OdW1iZXI6
CisgICAgY2FzZSBJbnQzMlRvRG91YmxlOgorICAgIGNhc2UgQ29tcGFyZUVxQ29uc3RhbnQ6Cisg
ICAgY2FzZSBDb21wYXJlU3RyaWN0RXFDb25zdGFudDoKKyAgICBjYXNlIEp1bXA6CisgICAgY2Fz
ZSBGb3JjZU9TUkV4aXQ6CisgICAgICAgIC8vIFRoZXNlIGFyZSBPSy4KKyAgICAgICAgYnJlYWs7
CisgICAgY2FzZSBHZXRBcnJheUxlbmd0aDoKKyAgICAgICAgc3dpdGNoIChub2RlLT5hcnJheU1v
ZGUoKS50eXBlKCkpIHsKKyAgICAgICAgY2FzZSBBcnJheTo6SW50MzI6CisgICAgICAgIGNhc2Ug
QXJyYXk6OkRvdWJsZToKKyAgICAgICAgY2FzZSBBcnJheTo6Q29udGlndW91czoKKyAgICAgICAg
ICAgIGJyZWFrOworICAgICAgICBkZWZhdWx0OgorICAgICAgICAgICAgcmV0dXJuIGZhbHNlOwor
ICAgICAgICB9CisgICAgICAgIGJyZWFrOworICAgIGNhc2UgR2V0QnlWYWw6CisgICAgICAgIHN3
aXRjaCAobm9kZS0+YXJyYXlNb2RlKCkudHlwZSgpKSB7CisgICAgICAgIGNhc2UgQXJyYXk6OkZv
cmNlRXhpdDoKKyAgICAgICAgICAgIHJldHVybiB0cnVlOworICAgICAgICBjYXNlIEFycmF5OjpJ
bnQzMjoKKyAgICAgICAgY2FzZSBBcnJheTo6RG91YmxlOgorICAgICAgICBjYXNlIEFycmF5OjpD
b250aWd1b3VzOgorICAgICAgICAgICAgYnJlYWs7CisgICAgICAgIGRlZmF1bHQ6CisgICAgICAg
ICAgICByZXR1cm4gZmFsc2U7CisgICAgICAgIH0KKyAgICAgICAgc3dpdGNoIChub2RlLT5hcnJh
eU1vZGUoKS5zcGVjdWxhdGlvbigpKSB7CisgICAgICAgIGNhc2UgQXJyYXk6OlNhbmVDaGFpbjoK
KyAgICAgICAgY2FzZSBBcnJheTo6SW5Cb3VuZHM6CisgICAgICAgICAgICBicmVhazsKKyAgICAg
ICAgZGVmYXVsdDoKKyAgICAgICAgICAgIHJldHVybiBmYWxzZTsKKyAgICAgICAgfQorICAgICAg
ICBicmVhazsKKyAgICBjYXNlIENvbXBhcmVFcToKKyAgICBjYXNlIENvbXBhcmVTdHJpY3RFcToK
KyAgICAgICAgaWYgKG5vZGUtPmlzQmluYXJ5VXNlS2luZChJbnQzMlVzZSkpCisgICAgICAgICAg
ICBicmVhazsKKyAgICAgICAgaWYgKG5vZGUtPmlzQmluYXJ5VXNlS2luZChOdW1iZXJVc2UpKQor
ICAgICAgICAgICAgYnJlYWs7CisgICAgICAgIGlmIChub2RlLT5pc0JpbmFyeVVzZUtpbmQoT2Jq
ZWN0VXNlKSkKKyAgICAgICAgICAgIGJyZWFrOworICAgICAgICByZXR1cm4gZmFsc2U7CisgICAg
Y2FzZSBDb21wYXJlTGVzczoKKyAgICBjYXNlIENvbXBhcmVMZXNzRXE6CisgICAgY2FzZSBDb21w
YXJlR3JlYXRlcjoKKyAgICBjYXNlIENvbXBhcmVHcmVhdGVyRXE6CisgICAgICAgIGlmIChub2Rl
LT5pc0JpbmFyeVVzZUtpbmQoSW50MzJVc2UpKQorICAgICAgICAgICAgYnJlYWs7CisgICAgICAg
IGlmIChub2RlLT5pc0JpbmFyeVVzZUtpbmQoTnVtYmVyVXNlKSkKKyAgICAgICAgICAgIGJyZWFr
OworICAgICAgICByZXR1cm4gZmFsc2U7CisgICAgY2FzZSBCcmFuY2g6CisgICAgY2FzZSBMb2dp
Y2FsTm90OgorICAgICAgICBpZiAobm9kZS0+Y2hpbGQxKCkudXNlS2luZCgpID09IEJvb2xlYW5V
c2UpCisgICAgICAgICAgICBicmVhazsKKyAgICAgICAgcmV0dXJuIGZhbHNlOworICAgIGRlZmF1
bHQ6CisgICAgICAgIC8vIERvbid0IGtub3cgaG93IHRvIGhhbmRsZSBhbnl0aGluZyBlbHNlLgor
ICAgICAgICByZXR1cm4gZmFsc2U7CisgICAgfQorICAgIHJldHVybiB0cnVlOworfQorCiBib29s
IGNhbkNvbXBpbGUoR3JhcGgmIGdyYXBoKQogewogICAgIGZvciAoQmxvY2tJbmRleCBibG9ja0lu
ZGV4ID0gZ3JhcGgubV9ibG9ja3Muc2l6ZSgpOyBibG9ja0luZGV4LS07KSB7CkBAIC02NSw5OSAr
MTY3LDggQEAgYm9vbCBjYW5Db21waWxlKEdyYXBoJiBncmFwaCkKICAgICAgICAgICAgICAgICB9
CiAgICAgICAgICAgICB9CiAgICAgICAgICAgICAKLSAgICAgICAgICAgIHN3aXRjaCAobm9kZS0+
b3AoKSkgewotICAgICAgICAgICAgY2FzZSBKU0NvbnN0YW50OgotICAgICAgICAgICAgY2FzZSBX
ZWFrSlNDb25zdGFudDoKLSAgICAgICAgICAgIGNhc2UgR2V0TG9jYWw6Ci0gICAgICAgICAgICBj
YXNlIFNldExvY2FsOgotICAgICAgICAgICAgY2FzZSBNb3ZIaW50QW5kQ2hlY2s6Ci0gICAgICAg
ICAgICBjYXNlIE1vdkhpbnQ6Ci0gICAgICAgICAgICBjYXNlIFpvbWJpZUhpbnQ6Ci0gICAgICAg
ICAgICBjYXNlIFBoYW50b206Ci0gICAgICAgICAgICBjYXNlIEZsdXNoOgotICAgICAgICAgICAg
Y2FzZSBQaGFudG9tTG9jYWw6Ci0gICAgICAgICAgICBjYXNlIFNldEFyZ3VtZW50OgotICAgICAg
ICAgICAgY2FzZSBSZXR1cm46Ci0gICAgICAgICAgICBjYXNlIEJpdEFuZDoKLSAgICAgICAgICAg
IGNhc2UgQml0T3I6Ci0gICAgICAgICAgICBjYXNlIEJpdFhvcjoKLSAgICAgICAgICAgIGNhc2Ug
Qml0UlNoaWZ0OgotICAgICAgICAgICAgY2FzZSBCaXRMU2hpZnQ6Ci0gICAgICAgICAgICBjYXNl
IEJpdFVSU2hpZnQ6Ci0gICAgICAgICAgICBjYXNlIENoZWNrU3RydWN0dXJlOgotICAgICAgICAg
ICAgY2FzZSBTdHJ1Y3R1cmVUcmFuc2l0aW9uV2F0Y2hwb2ludDoKLSAgICAgICAgICAgIGNhc2Ug
UHV0U3RydWN0dXJlOgotICAgICAgICAgICAgY2FzZSBQaGFudG9tUHV0U3RydWN0dXJlOgotICAg
ICAgICAgICAgY2FzZSBHZXRCdXR0ZXJmbHk6Ci0gICAgICAgICAgICBjYXNlIEdldEJ5T2Zmc2V0
OgotICAgICAgICAgICAgY2FzZSBQdXRCeU9mZnNldDoKLSAgICAgICAgICAgIGNhc2UgR2V0R2xv
YmFsVmFyOgotICAgICAgICAgICAgY2FzZSBQdXRHbG9iYWxWYXI6Ci0gICAgICAgICAgICBjYXNl
IFZhbHVlQWRkOgotICAgICAgICAgICAgY2FzZSBBcml0aEFkZDoKLSAgICAgICAgICAgIGNhc2Ug
QXJpdGhTdWI6Ci0gICAgICAgICAgICBjYXNlIEFyaXRoTXVsOgotICAgICAgICAgICAgY2FzZSBB
cml0aE5lZ2F0ZToKLSAgICAgICAgICAgIGNhc2UgVUludDMyVG9OdW1iZXI6Ci0gICAgICAgICAg
ICBjYXNlIEludDMyVG9Eb3VibGU6Ci0gICAgICAgICAgICBjYXNlIENvbXBhcmVFcUNvbnN0YW50
OgotICAgICAgICAgICAgY2FzZSBDb21wYXJlU3RyaWN0RXFDb25zdGFudDoKLSAgICAgICAgICAg
ICAgICAvLyBUaGVzZSBhcmUgT0suCi0gICAgICAgICAgICAgICAgYnJlYWs7Ci0gICAgICAgICAg
ICBjYXNlIEdldEFycmF5TGVuZ3RoOgotICAgICAgICAgICAgICAgIHN3aXRjaCAobm9kZS0+YXJy
YXlNb2RlKCkudHlwZSgpKSB7Ci0gICAgICAgICAgICAgICAgY2FzZSBBcnJheTo6SW50MzI6Ci0g
ICAgICAgICAgICAgICAgY2FzZSBBcnJheTo6RG91YmxlOgotICAgICAgICAgICAgICAgIGNhc2Ug
QXJyYXk6OkNvbnRpZ3VvdXM6Ci0gICAgICAgICAgICAgICAgICAgIGJyZWFrOwotICAgICAgICAg
ICAgICAgIGRlZmF1bHQ6Ci0gICAgICAgICAgICAgICAgICAgIHJldHVybiBmYWxzZTsKLSAgICAg
ICAgICAgICAgICB9Ci0gICAgICAgICAgICAgICAgYnJlYWs7Ci0gICAgICAgICAgICBjYXNlIEdl
dEJ5VmFsOgotICAgICAgICAgICAgICAgIHN3aXRjaCAobm9kZS0+YXJyYXlNb2RlKCkudHlwZSgp
KSB7Ci0gICAgICAgICAgICAgICAgY2FzZSBBcnJheTo6SW50MzI6Ci0gICAgICAgICAgICAgICAg
Y2FzZSBBcnJheTo6RG91YmxlOgotICAgICAgICAgICAgICAgIGNhc2UgQXJyYXk6OkNvbnRpZ3Vv
dXM6Ci0gICAgICAgICAgICAgICAgICAgIGJyZWFrOwotICAgICAgICAgICAgICAgIGRlZmF1bHQ6
Ci0gICAgICAgICAgICAgICAgICAgIHJldHVybiBmYWxzZTsKLSAgICAgICAgICAgICAgICB9Ci0g
ICAgICAgICAgICAgICAgc3dpdGNoIChub2RlLT5hcnJheU1vZGUoKS5zcGVjdWxhdGlvbigpKSB7
Ci0gICAgICAgICAgICAgICAgY2FzZSBBcnJheTo6U2FuZUNoYWluOgotICAgICAgICAgICAgICAg
IGNhc2UgQXJyYXk6OkluQm91bmRzOgotICAgICAgICAgICAgICAgICAgICBicmVhazsKLSAgICAg
ICAgICAgICAgICBkZWZhdWx0OgotICAgICAgICAgICAgICAgICAgICByZXR1cm4gZmFsc2U7Ci0g
ICAgICAgICAgICAgICAgfQotICAgICAgICAgICAgICAgIGJyZWFrOwotICAgICAgICAgICAgY2Fz
ZSBDb21wYXJlRXE6Ci0gICAgICAgICAgICBjYXNlIENvbXBhcmVTdHJpY3RFcToKLSAgICAgICAg
ICAgICAgICBpZiAobm9kZS0+aXNCaW5hcnlVc2VLaW5kKEludDMyVXNlKSkKLSAgICAgICAgICAg
ICAgICAgICAgYnJlYWs7Ci0gICAgICAgICAgICAgICAgaWYgKG5vZGUtPmlzQmluYXJ5VXNlS2lu
ZChOdW1iZXJVc2UpKQotICAgICAgICAgICAgICAgICAgICBicmVhazsKLSAgICAgICAgICAgICAg
ICBpZiAobm9kZS0+aXNCaW5hcnlVc2VLaW5kKE9iamVjdFVzZSkpCi0gICAgICAgICAgICAgICAg
ICAgIGJyZWFrOworICAgICAgICAgICAgaWYgKCFjYW5Db21waWxlKG5vZGUpKQogICAgICAgICAg
ICAgICAgIHJldHVybiBmYWxzZTsKLSAgICAgICAgICAgIGNhc2UgQ29tcGFyZUxlc3M6Ci0gICAg
ICAgICAgICBjYXNlIENvbXBhcmVMZXNzRXE6Ci0gICAgICAgICAgICBjYXNlIENvbXBhcmVHcmVh
dGVyOgotICAgICAgICAgICAgY2FzZSBDb21wYXJlR3JlYXRlckVxOgotICAgICAgICAgICAgICAg
IGlmIChub2RlLT5pc0JpbmFyeVVzZUtpbmQoSW50MzJVc2UpKQotICAgICAgICAgICAgICAgICAg
ICBicmVhazsKLSAgICAgICAgICAgICAgICBpZiAobm9kZS0+aXNCaW5hcnlVc2VLaW5kKE51bWJl
clVzZSkpCi0gICAgICAgICAgICAgICAgICAgIGJyZWFrOwotICAgICAgICAgICAgICAgIHJldHVy
biBmYWxzZTsKLSAgICAgICAgICAgIGNhc2UgQnJhbmNoOgotICAgICAgICAgICAgY2FzZSBMb2dp
Y2FsTm90OgotICAgICAgICAgICAgICAgIGlmIChub2RlLT5jaGlsZDEoKS51c2VLaW5kKCkgPT0g
Qm9vbGVhblVzZSkKLSAgICAgICAgICAgICAgICAgICAgYnJlYWs7Ci0gICAgICAgICAgICAgICAg
cmV0dXJuIGZhbHNlOwotICAgICAgICAgICAgZGVmYXVsdDoKLSAgICAgICAgICAgICAgICAvLyBE
b24ndCBrbm93IGhvdyB0byBoYW5kbGUgYW55dGhpbmcgZWxzZS4KLSAgICAgICAgICAgICAgICBy
ZXR1cm4gZmFsc2U7Ci0gICAgICAgICAgICB9CiAgICAgICAgIH0KICAgICB9CiAgICAgCkluZGV4
OiBTb3VyY2UvSmF2YVNjcmlwdENvcmUvZnRsL0ZUTExvd2VyREZHVG9MTFZNLmNwcAo9PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09Ci0tLSBTb3VyY2UvSmF2YVNjcmlwdENvcmUvZnRsL0ZUTExvd2VyREZHVG9MTFZNLmNwcAko
cmV2aXNpb24gMTQ5OTEwKQorKysgU291cmNlL0phdmFTY3JpcHRDb3JlL2Z0bC9GVExMb3dlckRG
R1RvTExWTS5jcHAJKHdvcmtpbmcgY29weSkKQEAgLTI0MywxMiArMjQzLDE5IEBAIHByaXZhdGU6
CiAgICAgICAgIG1fc3RhdGUucmVzZXQoKTsKICAgICAgICAgbV9zdGF0ZS5iZWdpbkJhc2ljQmxv
Y2sobV9oaWdoQmxvY2spOwogICAgICAgICAKLSAgICAgICAgZm9yIChtX25vZGVJbmRleCA9IDA7
IG1fbm9kZUluZGV4IDwgbV9oaWdoQmxvY2stPnNpemUoKTsgKyttX25vZGVJbmRleCkKLSAgICAg
ICAgICAgIGNvbXBpbGVOb2RlKG1fbm9kZUluZGV4KTsKKyAgICAgICAgZm9yIChtX25vZGVJbmRl
eCA9IDA7IG1fbm9kZUluZGV4IDwgbV9oaWdoQmxvY2stPnNpemUoKTsgKyttX25vZGVJbmRleCkg
eworICAgICAgICAgICAgaWYgKCFjb21waWxlTm9kZShtX25vZGVJbmRleCkpCisgICAgICAgICAg
ICAgICAgYnJlYWs7CisgICAgICAgIH0KICAgICB9CiAgICAgCi0gICAgdm9pZCBjb21waWxlTm9k
ZSh1bnNpZ25lZCBub2RlSW5kZXgpCisgICAgYm9vbCBjb21waWxlTm9kZSh1bnNpZ25lZCBub2Rl
SW5kZXgpCiAgICAgeworICAgICAgICBpZiAoIW1fc3RhdGUuaXNWYWxpZCgpKSB7CisgICAgICAg
ICAgICBtX291dC51bnJlYWNoYWJsZSgpOworICAgICAgICAgICAgcmV0dXJuIGZhbHNlOworICAg
ICAgICB9CisgICAgICAgIAogICAgICAgICBtX25vZGUgPSBtX2hpZ2hCbG9jay0+YXQobm9kZUlu
ZGV4KTsKICAgICAgICAgbV9jb2RlT3JpZ2luID0gbV9ub2RlLT5jb2RlT3JpZ2luOwogICAgICAg
ICAKQEAgLTI4OCw5ICsyOTUsNiBAQCBwcml2YXRlOgogICAgICAgICBjYXNlIFBoYW50b21Mb2Nh
bDoKICAgICAgICAgY2FzZSBTZXRBcmd1bWVudDoKICAgICAgICAgICAgIGJyZWFrOwotICAgICAg
ICBjYXNlIFJldHVybjoKLSAgICAgICAgICAgIGNvbXBpbGVSZXR1cm4oKTsKLSAgICAgICAgICAg
IGJyZWFrOwogICAgICAgICBjYXNlIEFyaXRoQWRkOgogICAgICAgICBjYXNlIFZhbHVlQWRkOgog
ICAgICAgICAgICAgY29tcGlsZUFkZCgpOwpAQCAtMzg4LDkgKzM5MiwxOCBAQCBwcml2YXRlOgog
ICAgICAgICBjYXNlIExvZ2ljYWxOb3Q6CiAgICAgICAgICAgICBjb21waWxlTG9naWNhbE5vdCgp
OwogICAgICAgICAgICAgYnJlYWs7CisgICAgICAgIGNhc2UgSnVtcDoKKyAgICAgICAgICAgIGNv
bXBpbGVKdW1wKCk7CisgICAgICAgICAgICBicmVhazsKICAgICAgICAgY2FzZSBCcmFuY2g6CiAg
ICAgICAgICAgICBjb21waWxlQnJhbmNoKCk7CiAgICAgICAgICAgICBicmVhazsKKyAgICAgICAg
Y2FzZSBSZXR1cm46CisgICAgICAgICAgICBjb21waWxlUmV0dXJuKCk7CisgICAgICAgICAgICBi
cmVhazsKKyAgICAgICAgY2FzZSBGb3JjZU9TUkV4aXQ6CisgICAgICAgICAgICBjb21waWxlRm9y
Y2VPU1JFeGl0KCk7CisgICAgICAgICAgICBicmVhazsKICAgICAgICAgZGVmYXVsdDoKICAgICAg
ICAgICAgIFJFTEVBU0VfQVNTRVJUX05PVF9SRUFDSEVEKCk7CiAgICAgICAgICAgICBicmVhazsK
QEAgLTQwNCw2ICs0MTcsOCBAQCBwcml2YXRlOgogICAgICAgICAKICAgICAgICAgaWYgKHNob3Vs
ZEV4ZWN1dGVFZmZlY3RzKQogICAgICAgICAgICAgbV9zdGF0ZS5leGVjdXRlRWZmZWN0cyhub2Rl
SW5kZXgpOworICAgICAgICAKKyAgICAgICAgcmV0dXJuIHRydWU7CiAgICAgfQogICAgIAogICAg
IHZvaWQgY29tcGlsZUpTQ29uc3RhbnQoKQpAQCAtNTU1LDEzICs1NzAsNiBAQCBwcml2YXRlOgog
ICAgICAgICBERkdfTk9ERV9ET19UT19DSElMRFJFTihtX2dyYXBoLCBtX25vZGUsIHNwZWN1bGF0
ZSk7CiAgICAgfQogICAgIAotICAgIHZvaWQgY29tcGlsZVJldHVybigpCi0gICAgewotICAgICAg
ICAvLyBGSVhNRTogaGF2ZSBhIHJlYWwgZXBpbG9ndWUgd2hlbiB3ZSBzd2l0Y2ggdG8gdXNpbmcg
b3VyIGNhbGxpbmcgY29udmVudGlvbi4KLSAgICAgICAgLy8gaHR0cHM6Ly9idWdzLndlYmtpdC5v
cmcvc2hvd19idWcuY2dpP2lkPTExMzYyMQotICAgICAgICBtX291dC5yZXQobG93SlNWYWx1ZSht
X25vZGUtPmNoaWxkMSgpKSk7Ci0gICAgfQotICAgIAogICAgIHZvaWQgY29tcGlsZUFkZCgpCiAg
ICAgewogICAgICAgICBzd2l0Y2ggKG1fbm9kZS0+YmluYXJ5VXNlS2luZCgpKSB7CkBAIC0xMTIz
LDYgKzExMzEsMTEgQEAgcHJpdmF0ZToKICAgICAgICAgfQogICAgIH0KICAgICAKKyAgICB2b2lk
IGNvbXBpbGVKdW1wKCkKKyAgICB7CisgICAgICAgIG1fb3V0Lmp1bXAobV9ibG9ja3MuZ2V0KG1f
Z3JhcGgubV9ibG9ja3NbbV9ub2RlLT50YWtlbkJsb2NrSW5kZXgoKV0uZ2V0KCkpKTsKKyAgICB9
CisgICAgCiAgICAgdm9pZCBjb21waWxlQnJhbmNoKCkKICAgICB7CiAgICAgICAgIHN3aXRjaCAo
bV9ub2RlLT5jaGlsZDEoKS51c2VLaW5kKCkpIHsKQEAgLTExNDAsNiArMTE1MywxOCBAQCBwcml2
YXRlOgogICAgICAgICB9CiAgICAgfQogICAgIAorICAgIHZvaWQgY29tcGlsZVJldHVybigpCisg
ICAgeworICAgICAgICAvLyBGSVhNRTogaGF2ZSBhIHJlYWwgZXBpbG9ndWUgd2hlbiB3ZSBzd2l0
Y2ggdG8gdXNpbmcgb3VyIGNhbGxpbmcgY29udmVudGlvbi4KKyAgICAgICAgLy8gaHR0cHM6Ly9i
dWdzLndlYmtpdC5vcmcvc2hvd19idWcuY2dpP2lkPTExMzYyMQorICAgICAgICBtX291dC5yZXQo
bG93SlNWYWx1ZShtX25vZGUtPmNoaWxkMSgpKSk7CisgICAgfQorICAgIAorICAgIHZvaWQgY29t
cGlsZUZvcmNlT1NSRXhpdCgpCisgICAgeworICAgICAgICB0ZXJtaW5hdGUoSW5hZGVxdWF0ZUNv
dmVyYWdlKTsKKyAgICB9CisgICAgCiAgICAgZW51bSBFcXVhbE51bGxPclVuZGVmaW5lZE1vZGUg
eyBFcXVhbE51bGwsIEVxdWFsVW5kZWZpbmVkLCBFcXVhbE51bGxPclVuZGVmaW5lZCB9OwogICAg
IHZvaWQgZXF1YWxOdWxsT3JVbmRlZmluZWQoRWRnZSBlZGdlLCBFcXVhbE51bGxPclVuZGVmaW5l
ZE1vZGUgbW9kZSkKICAgICB7Cg==
</data>

          </attachment>
          <attachment
              isobsolete="0"
              ispatch="1"
              isprivate="0"
          >
            <attachid>201461</attachid>
            <date>2013-05-11 10:21:27 -0700</date>
            <delta_ts>2013-05-11 11:10:03 -0700</delta_ts>
            <desc>the patch</desc>
            <filename>blah.patch</filename>
            <type>text/plain</type>
            <size>12760</size>
            <attacher name="Filip Pizlo">fpizlo</attacher>
            
              <data encoding="base64">SW5kZXg6IFNvdXJjZS9KYXZhU2NyaXB0Q29yZS9DaGFuZ2VMb2cKPT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gU291
cmNlL0phdmFTY3JpcHRDb3JlL0NoYW5nZUxvZwkocmV2aXNpb24gMTQ5OTMyKQorKysgU291cmNl
L0phdmFTY3JpcHRDb3JlL0NoYW5nZUxvZwkod29ya2luZyBjb3B5KQpAQCAtMSwzICsxLDM2IEBA
CisyMDEzLTA1LTExICBGaWxpcCBQaXpsbyAgPGZwaXpsb0BhcHBsZS5jb20+CisKKyAgICAgICAg
Zm91cnRoVGllcjogRlRMIHNob3VsZCBzdXBwb3J0IEp1bXAgYW5kIEZvcmNlT1NSRXhpdAorICAg
ICAgICBodHRwczovL2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9MTE1OTQyCisKKyAg
ICAgICAgUmV2aWV3ZWQgYnkgTk9CT0RZIChPT1BTISkuCisgICAgICAgIAorICAgICAgICBBZGRl
ZCB0d28gb2J2aW91cyBub2RlczogSnVtcCBhbmQgRm9yY2VPU1JFeGl0LiBXZSBhbHJlYWR5IGhh
ZCBldmVyeXRoaW5nIHdlIG5lZWRlZAorICAgICAgICB0byBzdXBwb3J0IHRoZW0uCisgICAgICAg
IAorICAgICAgICBBZGRpbmcgdGhlc2UgaW5jcmVhc2VzIG91ciBjb3ZlcmFnZSBhIGZhaXIgYml0
LCBhbmQgcmV2ZWFsZWQgYSBidWc6IExMVk0ncyBmdWxsCisgICAgICAgIGluc3RydWN0aW9uIHNl
bGVjdG9yIGN1cnJlbnRseSBhcHBlYXJzIHRvIG1pc2hhbmRsZSBkb3VibGVzIGluIGNvbnN0YW50
IHBvb2xzIChvcgorICAgICAgICBqdXN0IGNvbnN0YW50IHBvb2xzIGluIGdlbmVyYWwpIHdpdGgg
dGhlIHNtYWxsIGNvZGUgbW9kZWwgaW4gdGhlIE1DSklULiBCdXQgc3dpdGNoaW5nCisgICAgICAg
IHRvIEZhc3RJU2VsICJmaXhlcyIgaXQuIFRoYXQncyB3aGF0IHRoaXMgcGF0Y2ggZG9lcywgZm9y
IG5vdy4gVGhpcyB3aWxsIHByb2JhYmx5CisgICAgICAgIGFjdHVhbGx5IGJlIHBlcm1hbmVudDsg
dGhlIEZhc3RJU2VsIGRvZXMgcHJldHR5IG11Y2ggZXZlcnl0aGluZyB3ZSB3b3VsZCBldmVyIHdh
bnQsCisgICAgICAgIGF0IGxlYXN0IGluIHRoZSBmb3Jlc2VlYWJsZSBmdXR1cmUuCisKKyAgICAg
ICAgKiBmdGwvRlRMQ2FwYWJpbGl0aWVzLmNwcDoKKyAgICAgICAgKEpTQzo6RlRMOjpjYW5Db21w
aWxlKToKKyAgICAgICAgKEZUTCk6CisgICAgICAgICogZnRsL0ZUTENvbXBpbGUuY3BwOgorICAg
ICAgICAoSlNDOjpGVEw6OmNvbXBpbGUpOgorICAgICAgICAqIGZ0bC9GVExMb3dlckRGR1RvTExW
TS5jcHA6CisgICAgICAgIChKU0M6OkZUTDo6TG93ZXJERkdUb0xMVk06OmNvbXBpbGVCbG9jayk6
CisgICAgICAgIChKU0M6OkZUTDo6TG93ZXJERkdUb0xMVk06OmNvbXBpbGVOb2RlKToKKyAgICAg
ICAgKEpTQzo6RlRMOjpMb3dlckRGR1RvTExWTTo6Y29tcGlsZUpTQ29uc3RhbnQpOgorICAgICAg
ICAoTG93ZXJERkdUb0xMVk0pOgorICAgICAgICAoSlNDOjpGVEw6Okxvd2VyREZHVG9MTFZNOjpj
b21waWxlSnVtcCk6CisgICAgICAgIChKU0M6OkZUTDo6TG93ZXJERkdUb0xMVk06OmNvbXBpbGVS
ZXR1cm4pOgorICAgICAgICAoSlNDOjpGVEw6Okxvd2VyREZHVG9MTFZNOjpjb21waWxlRm9yY2VP
U1JFeGl0KToKKyAgICAgICAgKiBydW50aW1lL09wdGlvbnMuaDoKKyAgICAgICAgKEpTQyk6CisK
IDIwMTMtMDUtMTAgIEZpbGlwIFBpemxvICA8ZnBpemxvQGFwcGxlLmNvbT4KIAogICAgICAgICBm
b3VydGhUaWVyOiBGVEwgc2hvdWxkIHN1cHBvcnQgQ29tcGFyZVN0cmljdEVxQ29uc3RhbnQKSW5k
ZXg6IFNvdXJjZS9KYXZhU2NyaXB0Q29yZS9mdGwvRlRMQ2FwYWJpbGl0aWVzLmNwcAo9PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09Ci0tLSBTb3VyY2UvSmF2YVNjcmlwdENvcmUvZnRsL0ZUTENhcGFiaWxpdGllcy5jcHAJKHJl
dmlzaW9uIDE0OTkxMCkKKysrIFNvdXJjZS9KYXZhU2NyaXB0Q29yZS9mdGwvRlRMQ2FwYWJpbGl0
aWVzLmNwcAkod29ya2luZyBjb3B5KQpAQCAtMzIsNiArMzIsMTA4IEBAIG5hbWVzcGFjZSBKU0Mg
eyBuYW1lc3BhY2UgRlRMIHsKIAogdXNpbmcgbmFtZXNwYWNlIERGRzsKIAoraW5saW5lIGJvb2wg
Y2FuQ29tcGlsZShOb2RlKiBub2RlKQoreworICAgIHN3aXRjaCAobm9kZS0+b3AoKSkgeworICAg
IGNhc2UgSlNDb25zdGFudDoKKyAgICBjYXNlIFdlYWtKU0NvbnN0YW50OgorICAgIGNhc2UgR2V0
TG9jYWw6CisgICAgY2FzZSBTZXRMb2NhbDoKKyAgICBjYXNlIE1vdkhpbnRBbmRDaGVjazoKKyAg
ICBjYXNlIE1vdkhpbnQ6CisgICAgY2FzZSBab21iaWVIaW50OgorICAgIGNhc2UgUGhhbnRvbToK
KyAgICBjYXNlIEZsdXNoOgorICAgIGNhc2UgUGhhbnRvbUxvY2FsOgorICAgIGNhc2UgU2V0QXJn
dW1lbnQ6CisgICAgY2FzZSBSZXR1cm46CisgICAgY2FzZSBCaXRBbmQ6CisgICAgY2FzZSBCaXRP
cjoKKyAgICBjYXNlIEJpdFhvcjoKKyAgICBjYXNlIEJpdFJTaGlmdDoKKyAgICBjYXNlIEJpdExT
aGlmdDoKKyAgICBjYXNlIEJpdFVSU2hpZnQ6CisgICAgY2FzZSBDaGVja1N0cnVjdHVyZToKKyAg
ICBjYXNlIFN0cnVjdHVyZVRyYW5zaXRpb25XYXRjaHBvaW50OgorICAgIGNhc2UgUHV0U3RydWN0
dXJlOgorICAgIGNhc2UgUGhhbnRvbVB1dFN0cnVjdHVyZToKKyAgICBjYXNlIEdldEJ1dHRlcmZs
eToKKyAgICBjYXNlIEdldEJ5T2Zmc2V0OgorICAgIGNhc2UgUHV0QnlPZmZzZXQ6CisgICAgY2Fz
ZSBHZXRHbG9iYWxWYXI6CisgICAgY2FzZSBQdXRHbG9iYWxWYXI6CisgICAgY2FzZSBWYWx1ZUFk
ZDoKKyAgICBjYXNlIEFyaXRoQWRkOgorICAgIGNhc2UgQXJpdGhTdWI6CisgICAgY2FzZSBBcml0
aE11bDoKKyAgICBjYXNlIEFyaXRoTmVnYXRlOgorICAgIGNhc2UgVUludDMyVG9OdW1iZXI6Cisg
ICAgY2FzZSBJbnQzMlRvRG91YmxlOgorICAgIGNhc2UgQ29tcGFyZUVxQ29uc3RhbnQ6CisgICAg
Y2FzZSBDb21wYXJlU3RyaWN0RXFDb25zdGFudDoKKyAgICBjYXNlIEp1bXA6CisgICAgY2FzZSBG
b3JjZU9TUkV4aXQ6CisgICAgICAgIC8vIFRoZXNlIGFyZSBPSy4KKyAgICAgICAgYnJlYWs7Cisg
ICAgY2FzZSBHZXRBcnJheUxlbmd0aDoKKyAgICAgICAgc3dpdGNoIChub2RlLT5hcnJheU1vZGUo
KS50eXBlKCkpIHsKKyAgICAgICAgY2FzZSBBcnJheTo6SW50MzI6CisgICAgICAgIGNhc2UgQXJy
YXk6OkRvdWJsZToKKyAgICAgICAgY2FzZSBBcnJheTo6Q29udGlndW91czoKKyAgICAgICAgICAg
IGJyZWFrOworICAgICAgICBkZWZhdWx0OgorICAgICAgICAgICAgcmV0dXJuIGZhbHNlOworICAg
ICAgICB9CisgICAgICAgIGJyZWFrOworICAgIGNhc2UgR2V0QnlWYWw6CisgICAgICAgIHN3aXRj
aCAobm9kZS0+YXJyYXlNb2RlKCkudHlwZSgpKSB7CisgICAgICAgIGNhc2UgQXJyYXk6OkZvcmNl
RXhpdDoKKyAgICAgICAgICAgIHJldHVybiB0cnVlOworICAgICAgICBjYXNlIEFycmF5OjpJbnQz
MjoKKyAgICAgICAgY2FzZSBBcnJheTo6RG91YmxlOgorICAgICAgICBjYXNlIEFycmF5OjpDb250
aWd1b3VzOgorICAgICAgICAgICAgYnJlYWs7CisgICAgICAgIGRlZmF1bHQ6CisgICAgICAgICAg
ICByZXR1cm4gZmFsc2U7CisgICAgICAgIH0KKyAgICAgICAgc3dpdGNoIChub2RlLT5hcnJheU1v
ZGUoKS5zcGVjdWxhdGlvbigpKSB7CisgICAgICAgIGNhc2UgQXJyYXk6OlNhbmVDaGFpbjoKKyAg
ICAgICAgY2FzZSBBcnJheTo6SW5Cb3VuZHM6CisgICAgICAgICAgICBicmVhazsKKyAgICAgICAg
ZGVmYXVsdDoKKyAgICAgICAgICAgIHJldHVybiBmYWxzZTsKKyAgICAgICAgfQorICAgICAgICBi
cmVhazsKKyAgICBjYXNlIENvbXBhcmVFcToKKyAgICBjYXNlIENvbXBhcmVTdHJpY3RFcToKKyAg
ICAgICAgaWYgKG5vZGUtPmlzQmluYXJ5VXNlS2luZChJbnQzMlVzZSkpCisgICAgICAgICAgICBi
cmVhazsKKyAgICAgICAgaWYgKG5vZGUtPmlzQmluYXJ5VXNlS2luZChOdW1iZXJVc2UpKQorICAg
ICAgICAgICAgYnJlYWs7CisgICAgICAgIGlmIChub2RlLT5pc0JpbmFyeVVzZUtpbmQoT2JqZWN0
VXNlKSkKKyAgICAgICAgICAgIGJyZWFrOworICAgICAgICByZXR1cm4gZmFsc2U7CisgICAgY2Fz
ZSBDb21wYXJlTGVzczoKKyAgICBjYXNlIENvbXBhcmVMZXNzRXE6CisgICAgY2FzZSBDb21wYXJl
R3JlYXRlcjoKKyAgICBjYXNlIENvbXBhcmVHcmVhdGVyRXE6CisgICAgICAgIGlmIChub2RlLT5p
c0JpbmFyeVVzZUtpbmQoSW50MzJVc2UpKQorICAgICAgICAgICAgYnJlYWs7CisgICAgICAgIGlm
IChub2RlLT5pc0JpbmFyeVVzZUtpbmQoTnVtYmVyVXNlKSkKKyAgICAgICAgICAgIGJyZWFrOwor
ICAgICAgICByZXR1cm4gZmFsc2U7CisgICAgY2FzZSBCcmFuY2g6CisgICAgY2FzZSBMb2dpY2Fs
Tm90OgorICAgICAgICBpZiAobm9kZS0+Y2hpbGQxKCkudXNlS2luZCgpID09IEJvb2xlYW5Vc2Up
CisgICAgICAgICAgICBicmVhazsKKyAgICAgICAgcmV0dXJuIGZhbHNlOworICAgIGRlZmF1bHQ6
CisgICAgICAgIC8vIERvbid0IGtub3cgaG93IHRvIGhhbmRsZSBhbnl0aGluZyBlbHNlLgorICAg
ICAgICByZXR1cm4gZmFsc2U7CisgICAgfQorICAgIHJldHVybiB0cnVlOworfQorCiBib29sIGNh
bkNvbXBpbGUoR3JhcGgmIGdyYXBoKQogewogICAgIGZvciAoQmxvY2tJbmRleCBibG9ja0luZGV4
ID0gZ3JhcGgubV9ibG9ja3Muc2l6ZSgpOyBibG9ja0luZGV4LS07KSB7CkBAIC02NSw5OSArMTY3
LDggQEAgYm9vbCBjYW5Db21waWxlKEdyYXBoJiBncmFwaCkKICAgICAgICAgICAgICAgICB9CiAg
ICAgICAgICAgICB9CiAgICAgICAgICAgICAKLSAgICAgICAgICAgIHN3aXRjaCAobm9kZS0+b3Ao
KSkgewotICAgICAgICAgICAgY2FzZSBKU0NvbnN0YW50OgotICAgICAgICAgICAgY2FzZSBXZWFr
SlNDb25zdGFudDoKLSAgICAgICAgICAgIGNhc2UgR2V0TG9jYWw6Ci0gICAgICAgICAgICBjYXNl
IFNldExvY2FsOgotICAgICAgICAgICAgY2FzZSBNb3ZIaW50QW5kQ2hlY2s6Ci0gICAgICAgICAg
ICBjYXNlIE1vdkhpbnQ6Ci0gICAgICAgICAgICBjYXNlIFpvbWJpZUhpbnQ6Ci0gICAgICAgICAg
ICBjYXNlIFBoYW50b206Ci0gICAgICAgICAgICBjYXNlIEZsdXNoOgotICAgICAgICAgICAgY2Fz
ZSBQaGFudG9tTG9jYWw6Ci0gICAgICAgICAgICBjYXNlIFNldEFyZ3VtZW50OgotICAgICAgICAg
ICAgY2FzZSBSZXR1cm46Ci0gICAgICAgICAgICBjYXNlIEJpdEFuZDoKLSAgICAgICAgICAgIGNh
c2UgQml0T3I6Ci0gICAgICAgICAgICBjYXNlIEJpdFhvcjoKLSAgICAgICAgICAgIGNhc2UgQml0
UlNoaWZ0OgotICAgICAgICAgICAgY2FzZSBCaXRMU2hpZnQ6Ci0gICAgICAgICAgICBjYXNlIEJp
dFVSU2hpZnQ6Ci0gICAgICAgICAgICBjYXNlIENoZWNrU3RydWN0dXJlOgotICAgICAgICAgICAg
Y2FzZSBTdHJ1Y3R1cmVUcmFuc2l0aW9uV2F0Y2hwb2ludDoKLSAgICAgICAgICAgIGNhc2UgUHV0
U3RydWN0dXJlOgotICAgICAgICAgICAgY2FzZSBQaGFudG9tUHV0U3RydWN0dXJlOgotICAgICAg
ICAgICAgY2FzZSBHZXRCdXR0ZXJmbHk6Ci0gICAgICAgICAgICBjYXNlIEdldEJ5T2Zmc2V0Ogot
ICAgICAgICAgICAgY2FzZSBQdXRCeU9mZnNldDoKLSAgICAgICAgICAgIGNhc2UgR2V0R2xvYmFs
VmFyOgotICAgICAgICAgICAgY2FzZSBQdXRHbG9iYWxWYXI6Ci0gICAgICAgICAgICBjYXNlIFZh
bHVlQWRkOgotICAgICAgICAgICAgY2FzZSBBcml0aEFkZDoKLSAgICAgICAgICAgIGNhc2UgQXJp
dGhTdWI6Ci0gICAgICAgICAgICBjYXNlIEFyaXRoTXVsOgotICAgICAgICAgICAgY2FzZSBBcml0
aE5lZ2F0ZToKLSAgICAgICAgICAgIGNhc2UgVUludDMyVG9OdW1iZXI6Ci0gICAgICAgICAgICBj
YXNlIEludDMyVG9Eb3VibGU6Ci0gICAgICAgICAgICBjYXNlIENvbXBhcmVFcUNvbnN0YW50Ogot
ICAgICAgICAgICAgY2FzZSBDb21wYXJlU3RyaWN0RXFDb25zdGFudDoKLSAgICAgICAgICAgICAg
ICAvLyBUaGVzZSBhcmUgT0suCi0gICAgICAgICAgICAgICAgYnJlYWs7Ci0gICAgICAgICAgICBj
YXNlIEdldEFycmF5TGVuZ3RoOgotICAgICAgICAgICAgICAgIHN3aXRjaCAobm9kZS0+YXJyYXlN
b2RlKCkudHlwZSgpKSB7Ci0gICAgICAgICAgICAgICAgY2FzZSBBcnJheTo6SW50MzI6Ci0gICAg
ICAgICAgICAgICAgY2FzZSBBcnJheTo6RG91YmxlOgotICAgICAgICAgICAgICAgIGNhc2UgQXJy
YXk6OkNvbnRpZ3VvdXM6Ci0gICAgICAgICAgICAgICAgICAgIGJyZWFrOwotICAgICAgICAgICAg
ICAgIGRlZmF1bHQ6Ci0gICAgICAgICAgICAgICAgICAgIHJldHVybiBmYWxzZTsKLSAgICAgICAg
ICAgICAgICB9Ci0gICAgICAgICAgICAgICAgYnJlYWs7Ci0gICAgICAgICAgICBjYXNlIEdldEJ5
VmFsOgotICAgICAgICAgICAgICAgIHN3aXRjaCAobm9kZS0+YXJyYXlNb2RlKCkudHlwZSgpKSB7
Ci0gICAgICAgICAgICAgICAgY2FzZSBBcnJheTo6SW50MzI6Ci0gICAgICAgICAgICAgICAgY2Fz
ZSBBcnJheTo6RG91YmxlOgotICAgICAgICAgICAgICAgIGNhc2UgQXJyYXk6OkNvbnRpZ3VvdXM6
Ci0gICAgICAgICAgICAgICAgICAgIGJyZWFrOwotICAgICAgICAgICAgICAgIGRlZmF1bHQ6Ci0g
ICAgICAgICAgICAgICAgICAgIHJldHVybiBmYWxzZTsKLSAgICAgICAgICAgICAgICB9Ci0gICAg
ICAgICAgICAgICAgc3dpdGNoIChub2RlLT5hcnJheU1vZGUoKS5zcGVjdWxhdGlvbigpKSB7Ci0g
ICAgICAgICAgICAgICAgY2FzZSBBcnJheTo6U2FuZUNoYWluOgotICAgICAgICAgICAgICAgIGNh
c2UgQXJyYXk6OkluQm91bmRzOgotICAgICAgICAgICAgICAgICAgICBicmVhazsKLSAgICAgICAg
ICAgICAgICBkZWZhdWx0OgotICAgICAgICAgICAgICAgICAgICByZXR1cm4gZmFsc2U7Ci0gICAg
ICAgICAgICAgICAgfQotICAgICAgICAgICAgICAgIGJyZWFrOwotICAgICAgICAgICAgY2FzZSBD
b21wYXJlRXE6Ci0gICAgICAgICAgICBjYXNlIENvbXBhcmVTdHJpY3RFcToKLSAgICAgICAgICAg
ICAgICBpZiAobm9kZS0+aXNCaW5hcnlVc2VLaW5kKEludDMyVXNlKSkKLSAgICAgICAgICAgICAg
ICAgICAgYnJlYWs7Ci0gICAgICAgICAgICAgICAgaWYgKG5vZGUtPmlzQmluYXJ5VXNlS2luZChO
dW1iZXJVc2UpKQotICAgICAgICAgICAgICAgICAgICBicmVhazsKLSAgICAgICAgICAgICAgICBp
ZiAobm9kZS0+aXNCaW5hcnlVc2VLaW5kKE9iamVjdFVzZSkpCi0gICAgICAgICAgICAgICAgICAg
IGJyZWFrOworICAgICAgICAgICAgaWYgKCFjYW5Db21waWxlKG5vZGUpKQogICAgICAgICAgICAg
ICAgIHJldHVybiBmYWxzZTsKLSAgICAgICAgICAgIGNhc2UgQ29tcGFyZUxlc3M6Ci0gICAgICAg
ICAgICBjYXNlIENvbXBhcmVMZXNzRXE6Ci0gICAgICAgICAgICBjYXNlIENvbXBhcmVHcmVhdGVy
OgotICAgICAgICAgICAgY2FzZSBDb21wYXJlR3JlYXRlckVxOgotICAgICAgICAgICAgICAgIGlm
IChub2RlLT5pc0JpbmFyeVVzZUtpbmQoSW50MzJVc2UpKQotICAgICAgICAgICAgICAgICAgICBi
cmVhazsKLSAgICAgICAgICAgICAgICBpZiAobm9kZS0+aXNCaW5hcnlVc2VLaW5kKE51bWJlclVz
ZSkpCi0gICAgICAgICAgICAgICAgICAgIGJyZWFrOwotICAgICAgICAgICAgICAgIHJldHVybiBm
YWxzZTsKLSAgICAgICAgICAgIGNhc2UgQnJhbmNoOgotICAgICAgICAgICAgY2FzZSBMb2dpY2Fs
Tm90OgotICAgICAgICAgICAgICAgIGlmIChub2RlLT5jaGlsZDEoKS51c2VLaW5kKCkgPT0gQm9v
bGVhblVzZSkKLSAgICAgICAgICAgICAgICAgICAgYnJlYWs7Ci0gICAgICAgICAgICAgICAgcmV0
dXJuIGZhbHNlOwotICAgICAgICAgICAgZGVmYXVsdDoKLSAgICAgICAgICAgICAgICAvLyBEb24n
dCBrbm93IGhvdyB0byBoYW5kbGUgYW55dGhpbmcgZWxzZS4KLSAgICAgICAgICAgICAgICByZXR1
cm4gZmFsc2U7Ci0gICAgICAgICAgICB9CiAgICAgICAgIH0KICAgICB9CiAgICAgCkluZGV4OiBT
b3VyY2UvSmF2YVNjcmlwdENvcmUvZnRsL0ZUTENvbXBpbGUuY3BwCj09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIFNv
dXJjZS9KYXZhU2NyaXB0Q29yZS9mdGwvRlRMQ29tcGlsZS5jcHAJKHJldmlzaW9uIDE0OTg5NikK
KysrIFNvdXJjZS9KYXZhU2NyaXB0Q29yZS9mdGwvRlRMQ29tcGlsZS5jcHAJKHdvcmtpbmcgY29w
eSkKQEAgLTQ4LDYgKzQ4LDcgQEAgdm9pZCBjb21waWxlKFN0YXRlJiBzdGF0ZSkKICAgICBvcHRp
b25zLk9wdExldmVsID0gT3B0aW9uczo6bGx2bU9wdGltaXphdGlvbkxldmVsKCk7CiAgICAgb3B0
aW9ucy5Ob0ZyYW1lUG9pbnRlckVsaW0gPSB0cnVlOwogICAgIG9wdGlvbnMuQ29kZU1vZGVsID0g
TExWTUNvZGVNb2RlbFNtYWxsOworICAgIG9wdGlvbnMuRW5hYmxlRmFzdElTZWwgPSBPcHRpb25z
OjplbmFibGVMTFZNRmFzdElTZWwoKTsKICAgICAKICAgICBpZiAoTExWTUNyZWF0ZU1DSklUQ29t
cGlsZXJGb3JNb2R1bGUoJnN0YXRlLmVuZ2luZSwgc3RhdGUubW9kdWxlLCAmb3B0aW9ucywgc2l6
ZW9mKG9wdGlvbnMpLCAmZXJyb3IpKSB7CiAgICAgICAgIGRhdGFMb2coIkZBVEFMOiBDb3VsZCBu
b3QgY3JlYXRlIExMVk0gZXhlY3V0aW9uIGVuZ2luZTogIiwgZXJyb3IsICJcbiIpOwpJbmRleDog
U291cmNlL0phdmFTY3JpcHRDb3JlL2Z0bC9GVExMb3dlckRGR1RvTExWTS5jcHAKPT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PQotLS0gU291cmNlL0phdmFTY3JpcHRDb3JlL2Z0bC9GVExMb3dlckRGR1RvTExWTS5jcHAJKHJl
dmlzaW9uIDE0OTkxMCkKKysrIFNvdXJjZS9KYXZhU2NyaXB0Q29yZS9mdGwvRlRMTG93ZXJERkdU
b0xMVk0uY3BwCSh3b3JraW5nIGNvcHkpCkBAIC0yNDMsMTIgKzI0MywxOSBAQCBwcml2YXRlOgog
ICAgICAgICBtX3N0YXRlLnJlc2V0KCk7CiAgICAgICAgIG1fc3RhdGUuYmVnaW5CYXNpY0Jsb2Nr
KG1faGlnaEJsb2NrKTsKICAgICAgICAgCi0gICAgICAgIGZvciAobV9ub2RlSW5kZXggPSAwOyBt
X25vZGVJbmRleCA8IG1faGlnaEJsb2NrLT5zaXplKCk7ICsrbV9ub2RlSW5kZXgpCi0gICAgICAg
ICAgICBjb21waWxlTm9kZShtX25vZGVJbmRleCk7CisgICAgICAgIGZvciAobV9ub2RlSW5kZXgg
PSAwOyBtX25vZGVJbmRleCA8IG1faGlnaEJsb2NrLT5zaXplKCk7ICsrbV9ub2RlSW5kZXgpIHsK
KyAgICAgICAgICAgIGlmICghY29tcGlsZU5vZGUobV9ub2RlSW5kZXgpKQorICAgICAgICAgICAg
ICAgIGJyZWFrOworICAgICAgICB9CiAgICAgfQogICAgIAotICAgIHZvaWQgY29tcGlsZU5vZGUo
dW5zaWduZWQgbm9kZUluZGV4KQorICAgIGJvb2wgY29tcGlsZU5vZGUodW5zaWduZWQgbm9kZUlu
ZGV4KQogICAgIHsKKyAgICAgICAgaWYgKCFtX3N0YXRlLmlzVmFsaWQoKSkgeworICAgICAgICAg
ICAgbV9vdXQudW5yZWFjaGFibGUoKTsKKyAgICAgICAgICAgIHJldHVybiBmYWxzZTsKKyAgICAg
ICAgfQorICAgICAgICAKICAgICAgICAgbV9ub2RlID0gbV9oaWdoQmxvY2stPmF0KG5vZGVJbmRl
eCk7CiAgICAgICAgIG1fY29kZU9yaWdpbiA9IG1fbm9kZS0+Y29kZU9yaWdpbjsKICAgICAgICAg
CkBAIC0yODgsOSArMjk1LDYgQEAgcHJpdmF0ZToKICAgICAgICAgY2FzZSBQaGFudG9tTG9jYWw6
CiAgICAgICAgIGNhc2UgU2V0QXJndW1lbnQ6CiAgICAgICAgICAgICBicmVhazsKLSAgICAgICAg
Y2FzZSBSZXR1cm46Ci0gICAgICAgICAgICBjb21waWxlUmV0dXJuKCk7Ci0gICAgICAgICAgICBi
cmVhazsKICAgICAgICAgY2FzZSBBcml0aEFkZDoKICAgICAgICAgY2FzZSBWYWx1ZUFkZDoKICAg
ICAgICAgICAgIGNvbXBpbGVBZGQoKTsKQEAgLTM4OCw5ICszOTIsMTggQEAgcHJpdmF0ZToKICAg
ICAgICAgY2FzZSBMb2dpY2FsTm90OgogICAgICAgICAgICAgY29tcGlsZUxvZ2ljYWxOb3QoKTsK
ICAgICAgICAgICAgIGJyZWFrOworICAgICAgICBjYXNlIEp1bXA6CisgICAgICAgICAgICBjb21w
aWxlSnVtcCgpOworICAgICAgICAgICAgYnJlYWs7CiAgICAgICAgIGNhc2UgQnJhbmNoOgogICAg
ICAgICAgICAgY29tcGlsZUJyYW5jaCgpOwogICAgICAgICAgICAgYnJlYWs7CisgICAgICAgIGNh
c2UgUmV0dXJuOgorICAgICAgICAgICAgY29tcGlsZVJldHVybigpOworICAgICAgICAgICAgYnJl
YWs7CisgICAgICAgIGNhc2UgRm9yY2VPU1JFeGl0OgorICAgICAgICAgICAgY29tcGlsZUZvcmNl
T1NSRXhpdCgpOworICAgICAgICAgICAgYnJlYWs7CiAgICAgICAgIGRlZmF1bHQ6CiAgICAgICAg
ICAgICBSRUxFQVNFX0FTU0VSVF9OT1RfUkVBQ0hFRCgpOwogICAgICAgICAgICAgYnJlYWs7CkBA
IC00MDQsMTEgKzQxNywxNyBAQCBwcml2YXRlOgogICAgICAgICAKICAgICAgICAgaWYgKHNob3Vs
ZEV4ZWN1dGVFZmZlY3RzKQogICAgICAgICAgICAgbV9zdGF0ZS5leGVjdXRlRWZmZWN0cyhub2Rl
SW5kZXgpOworICAgICAgICAKKyAgICAgICAgcmV0dXJuIHRydWU7CiAgICAgfQogICAgIAogICAg
IHZvaWQgY29tcGlsZUpTQ29uc3RhbnQoKQogICAgIHsKLSAgICAgICAgbV9qc1ZhbHVlVmFsdWVz
LmFkZChtX25vZGUsIG1fb3V0LmNvbnN0SW50NjQoSlNWYWx1ZTo6ZW5jb2RlKG1fZ3JhcGgudmFs
dWVPZkpTQ29uc3RhbnQobV9ub2RlKSkpKTsKKyAgICAgICAgSlNWYWx1ZSB2YWx1ZSA9IG1fZ3Jh
cGgudmFsdWVPZkpTQ29uc3RhbnQobV9ub2RlKTsKKyAgICAgICAgaWYgKHZhbHVlLmlzRG91Ymxl
KCkpCisgICAgICAgICAgICBtX2RvdWJsZVZhbHVlcy5hZGQobV9ub2RlLCBtX291dC5jb25zdERv
dWJsZSh2YWx1ZS5hc0RvdWJsZSgpKSk7CisgICAgICAgIGVsc2UKKyAgICAgICAgICAgIG1fanNW
YWx1ZVZhbHVlcy5hZGQobV9ub2RlLCBtX291dC5jb25zdEludDY0KEpTVmFsdWU6OmVuY29kZSh2
YWx1ZSkpKTsKICAgICB9CiAgICAgCiAgICAgdm9pZCBjb21waWxlV2Vha0pTQ29uc3RhbnQoKQpA
QCAtNTU1LDEzICs1NzQsNiBAQCBwcml2YXRlOgogICAgICAgICBERkdfTk9ERV9ET19UT19DSElM
RFJFTihtX2dyYXBoLCBtX25vZGUsIHNwZWN1bGF0ZSk7CiAgICAgfQogICAgIAotICAgIHZvaWQg
Y29tcGlsZVJldHVybigpCi0gICAgewotICAgICAgICAvLyBGSVhNRTogaGF2ZSBhIHJlYWwgZXBp
bG9ndWUgd2hlbiB3ZSBzd2l0Y2ggdG8gdXNpbmcgb3VyIGNhbGxpbmcgY29udmVudGlvbi4KLSAg
ICAgICAgLy8gaHR0cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hvd19idWcuY2dpP2lkPTExMzYyMQot
ICAgICAgICBtX291dC5yZXQobG93SlNWYWx1ZShtX25vZGUtPmNoaWxkMSgpKSk7Ci0gICAgfQot
ICAgIAogICAgIHZvaWQgY29tcGlsZUFkZCgpCiAgICAgewogICAgICAgICBzd2l0Y2ggKG1fbm9k
ZS0+YmluYXJ5VXNlS2luZCgpKSB7CkBAIC0xMTIzLDYgKzExMzUsMTEgQEAgcHJpdmF0ZToKICAg
ICAgICAgfQogICAgIH0KICAgICAKKyAgICB2b2lkIGNvbXBpbGVKdW1wKCkKKyAgICB7CisgICAg
ICAgIG1fb3V0Lmp1bXAobV9ibG9ja3MuZ2V0KG1fZ3JhcGgubV9ibG9ja3NbbV9ub2RlLT50YWtl
bkJsb2NrSW5kZXgoKV0uZ2V0KCkpKTsKKyAgICB9CisgICAgCiAgICAgdm9pZCBjb21waWxlQnJh
bmNoKCkKICAgICB7CiAgICAgICAgIHN3aXRjaCAobV9ub2RlLT5jaGlsZDEoKS51c2VLaW5kKCkp
IHsKQEAgLTExNDAsNiArMTE1NywxOCBAQCBwcml2YXRlOgogICAgICAgICB9CiAgICAgfQogICAg
IAorICAgIHZvaWQgY29tcGlsZVJldHVybigpCisgICAgeworICAgICAgICAvLyBGSVhNRTogaGF2
ZSBhIHJlYWwgZXBpbG9ndWUgd2hlbiB3ZSBzd2l0Y2ggdG8gdXNpbmcgb3VyIGNhbGxpbmcgY29u
dmVudGlvbi4KKyAgICAgICAgLy8gaHR0cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hvd19idWcuY2dp
P2lkPTExMzYyMQorICAgICAgICBtX291dC5yZXQobG93SlNWYWx1ZShtX25vZGUtPmNoaWxkMSgp
KSk7CisgICAgfQorICAgIAorICAgIHZvaWQgY29tcGlsZUZvcmNlT1NSRXhpdCgpCisgICAgewor
ICAgICAgICB0ZXJtaW5hdGUoSW5hZGVxdWF0ZUNvdmVyYWdlKTsKKyAgICB9CisgICAgCiAgICAg
ZW51bSBFcXVhbE51bGxPclVuZGVmaW5lZE1vZGUgeyBFcXVhbE51bGwsIEVxdWFsVW5kZWZpbmVk
LCBFcXVhbE51bGxPclVuZGVmaW5lZCB9OwogICAgIHZvaWQgZXF1YWxOdWxsT3JVbmRlZmluZWQo
RWRnZSBlZGdlLCBFcXVhbE51bGxPclVuZGVmaW5lZE1vZGUgbW9kZSkKICAgICB7CkluZGV4OiBT
b3VyY2UvSmF2YVNjcmlwdENvcmUvcnVudGltZS9PcHRpb25zLmgKPT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gU291
cmNlL0phdmFTY3JpcHRDb3JlL3J1bnRpbWUvT3B0aW9ucy5oCShyZXZpc2lvbiAxNDk4OTYpCisr
KyBTb3VyY2UvSmF2YVNjcmlwdENvcmUvcnVudGltZS9PcHRpb25zLmgJKHdvcmtpbmcgY29weSkK
QEAgLTg1LDYgKzg1LDcgQEAgbmFtZXNwYWNlIEpTQyB7CiAgICAgdihib29sLCB1c2VFeHBlcmlt
ZW50YWxGVEwsIGZhbHNlKSBcCiAgICAgdihib29sLCB1c2VGVExUQkFBLCB0cnVlKSBcCiAgICAg
dihib29sLCBlbmFibGVMTFZNTElDTSwgdHJ1ZSkgXAorICAgIHYoYm9vbCwgZW5hYmxlTExWTUZh
c3RJU2VsLCB0cnVlKSBcCiAgICAgdih1bnNpZ25lZCwgbGx2bU9wdGltaXphdGlvbkxldmVsLCAy
KSBcCiAgICAgXAogICAgIHYoYm9vbCwgZW5hYmxlUHJvZmlsZXIsIGZhbHNlKSBcCg==
</data>
<flag name="review"
          id="222785"
          type_id="1"
          status="+"
          setter="oliver"
    />
          </attachment>
      

    </bug>

</bugzilla>