<?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>123071</bug_id>
          
          <creation_ts>2013-10-19 15:51:00 -0700</creation_ts>
          <short_desc>Restructure LinkBuffer to allow for alternate allocation strategies</short_desc>
          <delta_ts>2013-10-19 19:06:26 -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>122739</blocked>
          <everconfirmed>1</everconfirmed>
          <reporter name="Filip Pizlo">fpizlo</reporter>
          <assigned_to name="Filip Pizlo">fpizlo</assigned_to>
          <cc>atrick</cc>
    
    <cc>barraclough</cc>
    
    <cc>ggaren</cc>
    
    <cc>mark.lam</cc>
    
    <cc>mhahnenberg</cc>
    
    <cc>msaboff</cc>
    
    <cc>nrotem</cc>
    
    <cc>oliver</cc>
    
    <cc>sam</cc>
          

      

      

      

          <comment_sort_order>oldest_to_newest</comment_sort_order>  
          <long_desc isprivate="0" >
    <commentid>941600</commentid>
    <comment_count>0</comment_count>
    <who name="Filip Pizlo">fpizlo</who>
    <bug_when>2013-10-19 15:51:00 -0700</bug_when>
    <thetext>The idea is to eventually allow a LinkBuffer to place the code into an already allocated region of memory.  That region of memory could be the nop-slide left behind by a llvm.webkit.patchpoint.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>941601</commentid>
    <comment_count>1</comment_count>
      <attachid>214676</attachid>
    <who name="Filip Pizlo">fpizlo</who>
    <bug_when>2013-10-19 15:52:10 -0700</bug_when>
    <thetext>Created attachment 214676
the patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>941602</commentid>
    <comment_count>2</comment_count>
      <attachid>214677</attachid>
    <who name="Filip Pizlo">fpizlo</who>
    <bug_when>2013-10-19 16:00:54 -0700</bug_when>
    <thetext>Created attachment 214677
the patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>941628</commentid>
    <comment_count>3</comment_count>
    <who name="Filip Pizlo">fpizlo</who>
    <bug_when>2013-10-19 19:06:26 -0700</bug_when>
    <thetext>Landed in http://trac.webkit.org/changeset/157690</thetext>
  </long_desc>
      
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>214676</attachid>
            <date>2013-10-19 15:52:10 -0700</date>
            <delta_ts>2013-10-19 16:00:54 -0700</delta_ts>
            <desc>the patch</desc>
            <filename>blah.patch</filename>
            <type>text/plain</type>
            <size>7791</size>
            <attacher name="Filip Pizlo">fpizlo</attacher>
            
              <data encoding="base64">SW5kZXg6IFNvdXJjZS9KYXZhU2NyaXB0Q29yZS9DaGFuZ2VMb2cKPT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gU291
cmNlL0phdmFTY3JpcHRDb3JlL0NoYW5nZUxvZwkocmV2aXNpb24gMTU3Njg0KQorKysgU291cmNl
L0phdmFTY3JpcHRDb3JlL0NoYW5nZUxvZwkod29ya2luZyBjb3B5KQpAQCAtMSwzICsxLDI1IEBA
CisyMDEzLTEwLTE5ICBGaWxpcCBQaXpsbyAgPGZwaXpsb0BhcHBsZS5jb20+CisKKyAgICAgICAg
UmVzdHJ1Y3R1cmUgTGlua0J1ZmZlciB0byBhbGxvdyBmb3IgYWx0ZXJuYXRlIGFsbG9jYXRpb24g
c3RyYXRlZ2llcworICAgICAgICBodHRwczovL2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/
aWQ9MTIzMDcxCisKKyAgICAgICAgUmV2aWV3ZWQgYnkgTk9CT0RZIChPT1BTISkuCisKKyAgICAg
ICAgKiBhc3NlbWJsZXIvQVJNNjRBc3NlbWJsZXIuaDoKKyAgICAgICAgKEpTQzo6QVJNNjRBc3Nl
bWJsZXI6OmJ1ZmZlcik6CisgICAgICAgICogYXNzZW1ibGVyL0Fzc2VtYmxlckJ1ZmZlci5oOgor
ICAgICAgICAqIGFzc2VtYmxlci9MaW5rQnVmZmVyLmNwcDoKKyAgICAgICAgKEpTQzo6TGlua0J1
ZmZlcjo6Y29weUNvbXBhY3RBbmRMaW5rQ29kZSk6CisgICAgICAgIChKU0M6OkxpbmtCdWZmZXI6
OmxpbmtDb2RlKToKKyAgICAgICAgKEpTQzo6TGlua0J1ZmZlcjo6YWxsb2NhdGUpOgorICAgICAg
ICAoSlNDOjpMaW5rQnVmZmVyOjpzaHJpbmspOgorICAgICAgICAqIGFzc2VtYmxlci9MaW5rQnVm
ZmVyLmg6CisgICAgICAgIChKU0M6OkxpbmtCdWZmZXI6OkxpbmtCdWZmZXIpOgorICAgICAgICAo
SlNDOjpMaW5rQnVmZmVyOjpkaWRGYWlsVG9BbGxvY2F0ZSk6CisgICAgICAgICogYXNzZW1ibGVy
L1g4NkFzc2VtYmxlci5oOgorICAgICAgICAoSlNDOjpYODZBc3NlbWJsZXI6OmJ1ZmZlcik6Cisg
ICAgICAgIChKU0M6Olg4NkFzc2VtYmxlcjo6WDg2SW5zdHJ1Y3Rpb25Gb3JtYXR0ZXI6Om1lbW9y
eU1vZFJNKToKKwogMjAxMy0xMC0xOSAgQWxleGV5IFByb3NrdXJ5YWtvdiAgPGFwQGFwcGxlLmNv
bT4KIAogICAgICAgICBBUElDYXN0LmggdXNlcyBmdW5jdGlvbnMgZnJvbSBKU0NKU1ZhbHVlSW5s
aW5lcy5oLCBidXQgZG9lc24ndCBpbmNsdWRlIGl0CkluZGV4OiBTb3VyY2UvSmF2YVNjcmlwdENv
cmUvYXNzZW1ibGVyL0FSTTY0QXNzZW1ibGVyLmgKPT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gU291cmNlL0phdmFT
Y3JpcHRDb3JlL2Fzc2VtYmxlci9BUk02NEFzc2VtYmxlci5oCShyZXZpc2lvbiAxNTc2ODEpCisr
KyBTb3VyY2UvSmF2YVNjcmlwdENvcmUvYXNzZW1ibGVyL0FSTTY0QXNzZW1ibGVyLmgJKHdvcmtp
bmcgY29weSkKQEAgLTQ1Myw2ICs0NTMsOCBAQCBwdWJsaWM6CiAgICAgICAgICwgbV9pbmRleE9m
VGFpbE9mTGFzdFdhdGNocG9pbnQoSU5UX01JTikKICAgICB7CiAgICAgfQorICAgIAorICAgIEFz
c2VtYmxlckJ1ZmZlciYgYnVmZmVyKCkgeyByZXR1cm4gbV9idWZmZXI7IH0KIAogICAgIC8vIChI
UywgTE8sIEhJLCBMUykgLT4gKEFFLCBCLCBBLCBCRSkKICAgICAvLyAoVlMsIFZDKSAtPiAoTywg
Tk8pCkluZGV4OiBTb3VyY2UvSmF2YVNjcmlwdENvcmUvYXNzZW1ibGVyL0Fzc2VtYmxlckJ1ZmZl
ci5oCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT0KLS0tIFNvdXJjZS9KYXZhU2NyaXB0Q29yZS9hc3NlbWJsZXIvQXNzZW1i
bGVyQnVmZmVyLmgJKHJldmlzaW9uIDE1NzY4MSkKKysrIFNvdXJjZS9KYXZhU2NyaXB0Q29yZS9h
c3NlbWJsZXIvQXNzZW1ibGVyQnVmZmVyLmgJKHdvcmtpbmcgY29weSkKQEAgLTEzMCwyMyArMTMw
LDYgQEAgbmFtZXNwYWNlIEpTQyB7CiAgICAgICAgICAgICByZXR1cm4gQXNzZW1ibGVyTGFiZWwo
bV9pbmRleCk7CiAgICAgICAgIH0KIAotICAgICAgICBQYXNzUmVmUHRyPEV4ZWN1dGFibGVNZW1v
cnlIYW5kbGU+IGV4ZWN1dGFibGVDb3B5KFZNJiB2bSwgdm9pZCogb3duZXJVSUQsIEpJVENvbXBp
bGF0aW9uRWZmb3J0IGVmZm9ydCkKLSAgICAgICAgewotICAgICAgICAgICAgaWYgKCFtX2luZGV4
KQotICAgICAgICAgICAgICAgIHJldHVybiAwOwotCi0gICAgICAgICAgICBSZWZQdHI8RXhlY3V0
YWJsZU1lbW9yeUhhbmRsZT4gcmVzdWx0ID0gdm0uZXhlY3V0YWJsZUFsbG9jYXRvci5hbGxvY2F0
ZSh2bSwgbV9pbmRleCwgb3duZXJVSUQsIGVmZm9ydCk7Ci0KLSAgICAgICAgICAgIGlmICghcmVz
dWx0KQotICAgICAgICAgICAgICAgIHJldHVybiAwOwotCi0gICAgICAgICAgICBFeGVjdXRhYmxl
QWxsb2NhdG9yOjptYWtlV3JpdGFibGUocmVzdWx0LT5zdGFydCgpLCByZXN1bHQtPnNpemVJbkJ5
dGVzKCkpOwotCi0gICAgICAgICAgICBtZW1jcHkocmVzdWx0LT5zdGFydCgpLCBtX2J1ZmZlciwg
bV9pbmRleCk7Ci0gICAgICAgICAgICAKLSAgICAgICAgICAgIHJldHVybiByZXN1bHQucmVsZWFz
ZSgpOwotICAgICAgICB9Ci0KICAgICAgICAgdW5zaWduZWQgZGVidWdPZmZzZXQoKSB7IHJldHVy
biBtX2luZGV4OyB9CiAKICAgICBwcm90ZWN0ZWQ6CkluZGV4OiBTb3VyY2UvSmF2YVNjcmlwdENv
cmUvYXNzZW1ibGVyL0xpbmtCdWZmZXIuY3BwCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIFNvdXJjZS9KYXZhU2Ny
aXB0Q29yZS9hc3NlbWJsZXIvTGlua0J1ZmZlci5jcHAJKHJldmlzaW9uIDE1NzY4MSkKKysrIFNv
dXJjZS9KYXZhU2NyaXB0Q29yZS9hc3NlbWJsZXIvTGlua0J1ZmZlci5jcHAJKHdvcmtpbmcgY29w
eSkKQEAgLTY0LDEyICs2NCw3IEBAIHRlbXBsYXRlIDx0eXBlbmFtZSBJbnN0cnVjdGlvblR5cGU+
CiB2b2lkIExpbmtCdWZmZXI6OmNvcHlDb21wYWN0QW5kTGlua0NvZGUodm9pZCogb3duZXJVSUQs
IEpJVENvbXBpbGF0aW9uRWZmb3J0IGVmZm9ydCkKIHsKICAgICBtX2luaXRpYWxTaXplID0gbV9h
c3NlbWJsZXItPm1fYXNzZW1ibGVyLmNvZGVTaXplKCk7Ci0gICAgbV9leGVjdXRhYmxlTWVtb3J5
ID0gbV92bS0+ZXhlY3V0YWJsZUFsbG9jYXRvci5hbGxvY2F0ZSgqbV92bSwgbV9pbml0aWFsU2l6
ZSwgb3duZXJVSUQsIGVmZm9ydCk7Ci0gICAgaWYgKCFtX2V4ZWN1dGFibGVNZW1vcnkpCi0gICAg
ICAgIHJldHVybjsKLSAgICBtX2NvZGUgPSAodWludDhfdCopbV9leGVjdXRhYmxlTWVtb3J5LT5z
dGFydCgpOwotICAgIEFTU0VSVChtX2NvZGUpOwotICAgIEV4ZWN1dGFibGVBbGxvY2F0b3I6Om1h
a2VXcml0YWJsZShtX2NvZGUsIG1faW5pdGlhbFNpemUpOworICAgIGFsbG9jYXRlKG1faW5pdGlh
bFNpemUsIG93bmVyVUlELCBlZmZvcnQpOwogICAgIHVpbnQ4X3QqIGluRGF0YSA9ICh1aW50OF90
KiltX2Fzc2VtYmxlci0+dW5saW5rZWRDb2RlKCk7CiAgICAgdWludDhfdCogb3V0RGF0YSA9IHJl
aW50ZXJwcmV0X2Nhc3Q8dWludDhfdCo+KG1fY29kZSk7CiAgICAgaW50IHJlYWRQdHIgPSAwOwpA
QCAtMTI1LDggKzEyMCw3IEBAIHZvaWQgTGlua0J1ZmZlcjo6Y29weUNvbXBhY3RBbmRMaW5rQ29k
ZSgKICAgICB9CiAKICAgICBqdW1wc1RvTGluay5jbGVhcigpOwotICAgIG1fc2l6ZSA9IHdyaXRl
UHRyICsgbV9pbml0aWFsU2l6ZSAtIHJlYWRQdHI7Ci0gICAgbV9leGVjdXRhYmxlTWVtb3J5LT5z
aHJpbmsobV9zaXplKTsKKyAgICBzaHJpbmsod3JpdGVQdHIgKyBtX2luaXRpYWxTaXplIC0gcmVh
ZFB0cik7CiAKICNpZiBEVU1QX0xJTktfU1RBVElTVElDUwogICAgIGR1bXBMaW5rU3RhdGlzdGlj
cyhtX2NvZGUsIG1faW5pdGlhbFNpemUsIG1fc2l6ZSk7CkBAIC0xNDIsMTIgKzEzNiwxMiBAQCB2
b2lkIExpbmtCdWZmZXI6OmxpbmtDb2RlKHZvaWQqIG93bmVyVUlECiB7CiAgICAgQVNTRVJUKCFt
X2NvZGUpOwogI2lmICFFTkFCTEUoQlJBTkNIX0NPTVBBQ1RJT04pCi0gICAgbV9leGVjdXRhYmxl
TWVtb3J5ID0gbV9hc3NlbWJsZXItPm1fYXNzZW1ibGVyLmV4ZWN1dGFibGVDb3B5KCptX3ZtLCBv
d25lclVJRCwgZWZmb3J0KTsKLSAgICBpZiAoIW1fZXhlY3V0YWJsZU1lbW9yeSkKKyAgICBBc3Nl
bWJsZXJCdWZmZXImIGJ1ZmZlciA9IG1fYXNzZW1ibGVyLT5tX2Fzc2VtYmxlci5idWZmZXIoKTsK
KyAgICBhbGxvY2F0ZShidWZmZXIuY29kZVNpemUoKSwgb3duZXJVSUQsIGVmZm9ydCk7CisgICAg
aWYgKCFtX2RpZEFsbG9jYXRlKQogICAgICAgICByZXR1cm47Ci0gICAgbV9jb2RlID0gbV9leGVj
dXRhYmxlTWVtb3J5LT5zdGFydCgpOwotICAgIG1fc2l6ZSA9IG1fYXNzZW1ibGVyLT5tX2Fzc2Vt
Ymxlci5jb2RlU2l6ZSgpOwogICAgIEFTU0VSVChtX2NvZGUpOworICAgIG1lbWNweShtX2NvZGUs
IGJ1ZmZlci5kYXRhKCksIGJ1ZmZlci5jb2RlU2l6ZSgpKTsKICNlbGlmIENQVShBUk1fVEhVTUIy
KQogICAgIGNvcHlDb21wYWN0QW5kTGlua0NvZGU8dWludDE2X3Q+KG93bmVyVUlELCBlZmZvcnQp
OwogI2VsaWYgQ1BVKEFSTTY0KQpAQCAtMTU1LDYgKzE0OSwyMyBAQCB2b2lkIExpbmtCdWZmZXI6
OmxpbmtDb2RlKHZvaWQqIG93bmVyVUlECiAjZW5kaWYKIH0KIAordm9pZCBMaW5rQnVmZmVyOjph
bGxvY2F0ZShzaXplX3QgaW5pdGlhbFNpemUsIHZvaWQqIG93bmVyVUlELCBKSVRDb21waWxhdGlv
bkVmZm9ydCBlZmZvcnQpCit7CisgICAgbV9leGVjdXRhYmxlTWVtb3J5ID0gbV92bS0+ZXhlY3V0
YWJsZUFsbG9jYXRvci5hbGxvY2F0ZSgqbV92bSwgaW5pdGlhbFNpemUsIG93bmVyVUlELCBlZmZv
cnQpOworICAgIGlmICghbV9leGVjdXRhYmxlTWVtb3J5KQorICAgICAgICByZXR1cm47CisgICAg
RXhlY3V0YWJsZUFsbG9jYXRvcjo6bWFrZVdyaXRhYmxlKG1fZXhlY3V0YWJsZU1lbW9yeS0+c3Rh
cnQoKSwgbV9leGVjdXRhYmxlTWVtb3J5LT5zaXplSW5CeXRlcygpKTsKKyAgICBtX2NvZGUgPSBt
X2V4ZWN1dGFibGVNZW1vcnktPnN0YXJ0KCk7CisgICAgbV9zaXplID0gaW5pdGlhbFNpemU7Cisg
ICAgbV9kaWRBbGxvY2F0ZSA9IHRydWU7Cit9CisKK3ZvaWQgTGlua0J1ZmZlcjo6c2hyaW5rKHNp
emVfdCBuZXdTaXplKQoreworICAgIG1fc2l6ZSA9IG5ld1NpemU7CisgICAgbV9leGVjdXRhYmxl
TWVtb3J5LT5zaHJpbmsobV9zaXplKTsKK30KKwogdm9pZCBMaW5rQnVmZmVyOjpwZXJmb3JtRmlu
YWxpemF0aW9uKCkKIHsKICNpZm5kZWYgTkRFQlVHCkluZGV4OiBTb3VyY2UvSmF2YVNjcmlwdENv
cmUvYXNzZW1ibGVyL0xpbmtCdWZmZXIuaAo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBTb3VyY2UvSmF2YVNjcmlw
dENvcmUvYXNzZW1ibGVyL0xpbmtCdWZmZXIuaAkocmV2aXNpb24gMTU3NjgxKQorKysgU291cmNl
L0phdmFTY3JpcHRDb3JlL2Fzc2VtYmxlci9MaW5rQnVmZmVyLmgJKHdvcmtpbmcgY29weSkKQEAg
LTgzLDYgKzgzLDcgQEAgcHVibGljOgogI2lmIEVOQUJMRShCUkFOQ0hfQ09NUEFDVElPTikKICAg
ICAgICAgLCBtX2luaXRpYWxTaXplKDApCiAjZW5kaWYKKyAgICAgICAgLCBtX2RpZEFsbG9jYXRl
KGZhbHNlKQogICAgICAgICAsIG1fY29kZSgwKQogICAgICAgICAsIG1fYXNzZW1ibGVyKG1hc20p
CiAgICAgICAgICwgbV92bSgmdm0pCkBAIC05OSw3ICsxMDAsNyBAQCBwdWJsaWM6CiAgICAgCiAg
ICAgYm9vbCBkaWRGYWlsVG9BbGxvY2F0ZSgpIGNvbnN0CiAgICAgewotICAgICAgICByZXR1cm4g
IW1fZXhlY3V0YWJsZU1lbW9yeTsKKyAgICAgICAgcmV0dXJuICFtX2RpZEFsbG9jYXRlOwogICAg
IH0KIAogICAgIGJvb2wgaXNWYWxpZCgpIGNvbnN0CkBAIC0yNDEsNiArMjQyLDkgQEAgcHJpdmF0
ZToKICAgICB7CiAgICAgICAgIHJldHVybiBtX2NvZGU7CiAgICAgfQorICAgIAorICAgIHZvaWQg
YWxsb2NhdGUoc2l6ZV90IGluaXRpYWxTaXplLCB2b2lkKiBvd25lclVJRCwgSklUQ29tcGlsYXRp
b25FZmZvcnQpOworICAgIHZvaWQgc2hyaW5rKHNpemVfdCBuZXdTaXplKTsKIAogICAgIHZvaWQg
bGlua0NvZGUodm9pZCogb3duZXJVSUQsIEpJVENvbXBpbGF0aW9uRWZmb3J0KTsKICNpZiBFTkFC
TEUoQlJBTkNIX0NPTVBBQ1RJT04pCkBAIC0yNjMsNiArMjY3LDcgQEAgcHJpdmF0ZToKICNpZiBF
TkFCTEUoQlJBTkNIX0NPTVBBQ1RJT04pCiAgICAgc2l6ZV90IG1faW5pdGlhbFNpemU7CiAjZW5k
aWYKKyAgICBib29sIG1fZGlkQWxsb2NhdGU7CiAgICAgdm9pZCogbV9jb2RlOwogICAgIE1hY3Jv
QXNzZW1ibGVyKiBtX2Fzc2VtYmxlcjsKICAgICBWTSogbV92bTsKSW5kZXg6IFNvdXJjZS9KYXZh
U2NyaXB0Q29yZS9hc3NlbWJsZXIvWDg2QXNzZW1ibGVyLmgKPT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gU291cmNl
L0phdmFTY3JpcHRDb3JlL2Fzc2VtYmxlci9YODZBc3NlbWJsZXIuaAkocmV2aXNpb24gMTU3Njgx
KQorKysgU291cmNlL0phdmFTY3JpcHRDb3JlL2Fzc2VtYmxlci9YODZBc3NlbWJsZXIuaAkod29y
a2luZyBjb3B5KQpAQCAtMzMzLDYgKzMzMyw4IEBAIHB1YmxpYzoKICAgICAgICAgLCBtX2luZGV4
T2ZUYWlsT2ZMYXN0V2F0Y2hwb2ludChJTlRfTUlOKQogICAgIHsKICAgICB9CisgICAgCisgICAg
QXNzZW1ibGVyQnVmZmVyJiBidWZmZXIoKSB7IHJldHVybiBtX2Zvcm1hdHRlci5tX2J1ZmZlcjsg
fQogCiAgICAgLy8gU3RhY2sgb3BlcmF0aW9uczoKIApAQCAtMjEyMiwxMSArMjEyNCw2IEBAIHB1
YmxpYzoKICAgICAgICAgcmV0dXJuIGIubV9vZmZzZXQgLSBhLm1fb2Zmc2V0OwogICAgIH0KICAg
ICAKLSAgICBQYXNzUmVmUHRyPEV4ZWN1dGFibGVNZW1vcnlIYW5kbGU+IGV4ZWN1dGFibGVDb3B5
KFZNJiB2bSwgdm9pZCogb3duZXJVSUQsIEpJVENvbXBpbGF0aW9uRWZmb3J0IGVmZm9ydCkKLSAg
ICB7Ci0gICAgICAgIHJldHVybiBtX2Zvcm1hdHRlci5leGVjdXRhYmxlQ29weSh2bSwgb3duZXJV
SUQsIGVmZm9ydCk7Ci0gICAgfQotCiAgICAgdW5zaWduZWQgZGVidWdPZmZzZXQoKSB7IHJldHVy
biBtX2Zvcm1hdHRlci5kZWJ1Z09mZnNldCgpOyB9CiAKICAgICB2b2lkIG5vcCgpCkBAIC0yNDgw
LDExICsyNDc3LDYgQEAgcHJpdmF0ZToKICAgICAgICAgYm9vbCBpc0FsaWduZWQoaW50IGFsaWdu
bWVudCkgY29uc3QgeyByZXR1cm4gbV9idWZmZXIuaXNBbGlnbmVkKGFsaWdubWVudCk7IH0KICAg
ICAgICAgdm9pZCogZGF0YSgpIGNvbnN0IHsgcmV0dXJuIG1fYnVmZmVyLmRhdGEoKTsgfQogCi0g
ICAgICAgIFBhc3NSZWZQdHI8RXhlY3V0YWJsZU1lbW9yeUhhbmRsZT4gZXhlY3V0YWJsZUNvcHko
Vk0mIHZtLCB2b2lkKiBvd25lclVJRCwgSklUQ29tcGlsYXRpb25FZmZvcnQgZWZmb3J0KQotICAg
ICAgICB7Ci0gICAgICAgICAgICByZXR1cm4gbV9idWZmZXIuZXhlY3V0YWJsZUNvcHkodm0sIG93
bmVyVUlELCBlZmZvcnQpOwotICAgICAgICB9Ci0KICAgICAgICAgdW5zaWduZWQgZGVidWdPZmZz
ZXQoKSB7IHJldHVybiBtX2J1ZmZlci5kZWJ1Z09mZnNldCgpOyB9CiAKICAgICBwcml2YXRlOgpA
QCAtMjY1OCw2ICsyNjUwLDcgQEAgcHJpdmF0ZToKICAgICAgICAgfQogI2VuZGlmCiAKKyAgICBw
dWJsaWM6CiAgICAgICAgIEFzc2VtYmxlckJ1ZmZlciBtX2J1ZmZlcjsKICAgICB9IG1fZm9ybWF0
dGVyOwogICAgIGludCBtX2luZGV4T2ZMYXN0V2F0Y2hwb2ludDsK
</data>

          </attachment>
          <attachment
              isobsolete="0"
              ispatch="1"
              isprivate="0"
          >
            <attachid>214677</attachid>
            <date>2013-10-19 16:00:54 -0700</date>
            <delta_ts>2013-10-19 17:39:17 -0700</delta_ts>
            <desc>the patch</desc>
            <filename>blah.patch</filename>
            <type>text/plain</type>
            <size>8022</size>
            <attacher name="Filip Pizlo">fpizlo</attacher>
            
              <data encoding="base64">SW5kZXg6IFNvdXJjZS9KYXZhU2NyaXB0Q29yZS9DaGFuZ2VMb2cKPT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gU291
cmNlL0phdmFTY3JpcHRDb3JlL0NoYW5nZUxvZwkocmV2aXNpb24gMTU3Njg0KQorKysgU291cmNl
L0phdmFTY3JpcHRDb3JlL0NoYW5nZUxvZwkod29ya2luZyBjb3B5KQpAQCAtMSwzICsxLDI5IEBA
CisyMDEzLTEwLTE5ICBGaWxpcCBQaXpsbyAgPGZwaXpsb0BhcHBsZS5jb20+CisKKyAgICAgICAg
UmVzdHJ1Y3R1cmUgTGlua0J1ZmZlciB0byBhbGxvdyBmb3IgYWx0ZXJuYXRlIGFsbG9jYXRpb24g
c3RyYXRlZ2llcworICAgICAgICBodHRwczovL2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/
aWQ9MTIzMDcxCisKKyAgICAgICAgUmV2aWV3ZWQgYnkgTk9CT0RZIChPT1BTISkuCisgICAgICAg
IAorICAgICAgICBUaGUgaWRlYSBpcyB0byBldmVudHVhbGx5IGFsbG93IGEgTGlua0J1ZmZlciB0
byBwbGFjZSB0aGUgY29kZSBpbnRvIGFuIGFscmVhZHkKKyAgICAgICAgYWxsb2NhdGVkIHJlZ2lv
biBvZiBtZW1vcnkuICBUaGF0IHJlZ2lvbiBvZiBtZW1vcnkgY291bGQgYmUgdGhlIG5vcC1zbGlk
ZSBsZWZ0IGJlaGluZAorICAgICAgICBieSBhIGxsdm0ud2Via2l0LnBhdGNocG9pbnQuCisKKyAg
ICAgICAgKiBhc3NlbWJsZXIvQVJNNjRBc3NlbWJsZXIuaDoKKyAgICAgICAgKEpTQzo6QVJNNjRB
c3NlbWJsZXI6OmJ1ZmZlcik6CisgICAgICAgICogYXNzZW1ibGVyL0Fzc2VtYmxlckJ1ZmZlci5o
OgorICAgICAgICAqIGFzc2VtYmxlci9MaW5rQnVmZmVyLmNwcDoKKyAgICAgICAgKEpTQzo6TGlu
a0J1ZmZlcjo6Y29weUNvbXBhY3RBbmRMaW5rQ29kZSk6CisgICAgICAgIChKU0M6OkxpbmtCdWZm
ZXI6OmxpbmtDb2RlKToKKyAgICAgICAgKEpTQzo6TGlua0J1ZmZlcjo6YWxsb2NhdGUpOgorICAg
ICAgICAoSlNDOjpMaW5rQnVmZmVyOjpzaHJpbmspOgorICAgICAgICAqIGFzc2VtYmxlci9MaW5r
QnVmZmVyLmg6CisgICAgICAgIChKU0M6OkxpbmtCdWZmZXI6OkxpbmtCdWZmZXIpOgorICAgICAg
ICAoSlNDOjpMaW5rQnVmZmVyOjpkaWRGYWlsVG9BbGxvY2F0ZSk6CisgICAgICAgICogYXNzZW1i
bGVyL1g4NkFzc2VtYmxlci5oOgorICAgICAgICAoSlNDOjpYODZBc3NlbWJsZXI6OmJ1ZmZlcik6
CisgICAgICAgIChKU0M6Olg4NkFzc2VtYmxlcjo6WDg2SW5zdHJ1Y3Rpb25Gb3JtYXR0ZXI6Om1l
bW9yeU1vZFJNKToKKwogMjAxMy0xMC0xOSAgQWxleGV5IFByb3NrdXJ5YWtvdiAgPGFwQGFwcGxl
LmNvbT4KIAogICAgICAgICBBUElDYXN0LmggdXNlcyBmdW5jdGlvbnMgZnJvbSBKU0NKU1ZhbHVl
SW5saW5lcy5oLCBidXQgZG9lc24ndCBpbmNsdWRlIGl0CkluZGV4OiBTb3VyY2UvSmF2YVNjcmlw
dENvcmUvYXNzZW1ibGVyL0FSTTY0QXNzZW1ibGVyLmgKPT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gU291cmNlL0ph
dmFTY3JpcHRDb3JlL2Fzc2VtYmxlci9BUk02NEFzc2VtYmxlci5oCShyZXZpc2lvbiAxNTc2ODEp
CisrKyBTb3VyY2UvSmF2YVNjcmlwdENvcmUvYXNzZW1ibGVyL0FSTTY0QXNzZW1ibGVyLmgJKHdv
cmtpbmcgY29weSkKQEAgLTQ1Myw2ICs0NTMsOCBAQCBwdWJsaWM6CiAgICAgICAgICwgbV9pbmRl
eE9mVGFpbE9mTGFzdFdhdGNocG9pbnQoSU5UX01JTikKICAgICB7CiAgICAgfQorICAgIAorICAg
IEFzc2VtYmxlckJ1ZmZlciYgYnVmZmVyKCkgeyByZXR1cm4gbV9idWZmZXI7IH0KIAogICAgIC8v
IChIUywgTE8sIEhJLCBMUykgLT4gKEFFLCBCLCBBLCBCRSkKICAgICAvLyAoVlMsIFZDKSAtPiAo
TywgTk8pCkluZGV4OiBTb3VyY2UvSmF2YVNjcmlwdENvcmUvYXNzZW1ibGVyL0Fzc2VtYmxlckJ1
ZmZlci5oCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT0KLS0tIFNvdXJjZS9KYXZhU2NyaXB0Q29yZS9hc3NlbWJsZXIvQXNz
ZW1ibGVyQnVmZmVyLmgJKHJldmlzaW9uIDE1NzY4MSkKKysrIFNvdXJjZS9KYXZhU2NyaXB0Q29y
ZS9hc3NlbWJsZXIvQXNzZW1ibGVyQnVmZmVyLmgJKHdvcmtpbmcgY29weSkKQEAgLTEzMCwyMyAr
MTMwLDYgQEAgbmFtZXNwYWNlIEpTQyB7CiAgICAgICAgICAgICByZXR1cm4gQXNzZW1ibGVyTGFi
ZWwobV9pbmRleCk7CiAgICAgICAgIH0KIAotICAgICAgICBQYXNzUmVmUHRyPEV4ZWN1dGFibGVN
ZW1vcnlIYW5kbGU+IGV4ZWN1dGFibGVDb3B5KFZNJiB2bSwgdm9pZCogb3duZXJVSUQsIEpJVENv
bXBpbGF0aW9uRWZmb3J0IGVmZm9ydCkKLSAgICAgICAgewotICAgICAgICAgICAgaWYgKCFtX2lu
ZGV4KQotICAgICAgICAgICAgICAgIHJldHVybiAwOwotCi0gICAgICAgICAgICBSZWZQdHI8RXhl
Y3V0YWJsZU1lbW9yeUhhbmRsZT4gcmVzdWx0ID0gdm0uZXhlY3V0YWJsZUFsbG9jYXRvci5hbGxv
Y2F0ZSh2bSwgbV9pbmRleCwgb3duZXJVSUQsIGVmZm9ydCk7Ci0KLSAgICAgICAgICAgIGlmICgh
cmVzdWx0KQotICAgICAgICAgICAgICAgIHJldHVybiAwOwotCi0gICAgICAgICAgICBFeGVjdXRh
YmxlQWxsb2NhdG9yOjptYWtlV3JpdGFibGUocmVzdWx0LT5zdGFydCgpLCByZXN1bHQtPnNpemVJ
bkJ5dGVzKCkpOwotCi0gICAgICAgICAgICBtZW1jcHkocmVzdWx0LT5zdGFydCgpLCBtX2J1ZmZl
ciwgbV9pbmRleCk7Ci0gICAgICAgICAgICAKLSAgICAgICAgICAgIHJldHVybiByZXN1bHQucmVs
ZWFzZSgpOwotICAgICAgICB9Ci0KICAgICAgICAgdW5zaWduZWQgZGVidWdPZmZzZXQoKSB7IHJl
dHVybiBtX2luZGV4OyB9CiAKICAgICBwcm90ZWN0ZWQ6CkluZGV4OiBTb3VyY2UvSmF2YVNjcmlw
dENvcmUvYXNzZW1ibGVyL0xpbmtCdWZmZXIuY3BwCj09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIFNvdXJjZS9KYXZh
U2NyaXB0Q29yZS9hc3NlbWJsZXIvTGlua0J1ZmZlci5jcHAJKHJldmlzaW9uIDE1NzY4MSkKKysr
IFNvdXJjZS9KYXZhU2NyaXB0Q29yZS9hc3NlbWJsZXIvTGlua0J1ZmZlci5jcHAJKHdvcmtpbmcg
Y29weSkKQEAgLTY0LDEyICs2NCw3IEBAIHRlbXBsYXRlIDx0eXBlbmFtZSBJbnN0cnVjdGlvblR5
cGU+CiB2b2lkIExpbmtCdWZmZXI6OmNvcHlDb21wYWN0QW5kTGlua0NvZGUodm9pZCogb3duZXJV
SUQsIEpJVENvbXBpbGF0aW9uRWZmb3J0IGVmZm9ydCkKIHsKICAgICBtX2luaXRpYWxTaXplID0g
bV9hc3NlbWJsZXItPm1fYXNzZW1ibGVyLmNvZGVTaXplKCk7Ci0gICAgbV9leGVjdXRhYmxlTWVt
b3J5ID0gbV92bS0+ZXhlY3V0YWJsZUFsbG9jYXRvci5hbGxvY2F0ZSgqbV92bSwgbV9pbml0aWFs
U2l6ZSwgb3duZXJVSUQsIGVmZm9ydCk7Ci0gICAgaWYgKCFtX2V4ZWN1dGFibGVNZW1vcnkpCi0g
ICAgICAgIHJldHVybjsKLSAgICBtX2NvZGUgPSAodWludDhfdCopbV9leGVjdXRhYmxlTWVtb3J5
LT5zdGFydCgpOwotICAgIEFTU0VSVChtX2NvZGUpOwotICAgIEV4ZWN1dGFibGVBbGxvY2F0b3I6
Om1ha2VXcml0YWJsZShtX2NvZGUsIG1faW5pdGlhbFNpemUpOworICAgIGFsbG9jYXRlKG1faW5p
dGlhbFNpemUsIG93bmVyVUlELCBlZmZvcnQpOwogICAgIHVpbnQ4X3QqIGluRGF0YSA9ICh1aW50
OF90KiltX2Fzc2VtYmxlci0+dW5saW5rZWRDb2RlKCk7CiAgICAgdWludDhfdCogb3V0RGF0YSA9
IHJlaW50ZXJwcmV0X2Nhc3Q8dWludDhfdCo+KG1fY29kZSk7CiAgICAgaW50IHJlYWRQdHIgPSAw
OwpAQCAtMTI1LDggKzEyMCw3IEBAIHZvaWQgTGlua0J1ZmZlcjo6Y29weUNvbXBhY3RBbmRMaW5r
Q29kZSgKICAgICB9CiAKICAgICBqdW1wc1RvTGluay5jbGVhcigpOwotICAgIG1fc2l6ZSA9IHdy
aXRlUHRyICsgbV9pbml0aWFsU2l6ZSAtIHJlYWRQdHI7Ci0gICAgbV9leGVjdXRhYmxlTWVtb3J5
LT5zaHJpbmsobV9zaXplKTsKKyAgICBzaHJpbmsod3JpdGVQdHIgKyBtX2luaXRpYWxTaXplIC0g
cmVhZFB0cik7CiAKICNpZiBEVU1QX0xJTktfU1RBVElTVElDUwogICAgIGR1bXBMaW5rU3RhdGlz
dGljcyhtX2NvZGUsIG1faW5pdGlhbFNpemUsIG1fc2l6ZSk7CkBAIC0xNDIsMTIgKzEzNiwxMiBA
QCB2b2lkIExpbmtCdWZmZXI6OmxpbmtDb2RlKHZvaWQqIG93bmVyVUlECiB7CiAgICAgQVNTRVJU
KCFtX2NvZGUpOwogI2lmICFFTkFCTEUoQlJBTkNIX0NPTVBBQ1RJT04pCi0gICAgbV9leGVjdXRh
YmxlTWVtb3J5ID0gbV9hc3NlbWJsZXItPm1fYXNzZW1ibGVyLmV4ZWN1dGFibGVDb3B5KCptX3Zt
LCBvd25lclVJRCwgZWZmb3J0KTsKLSAgICBpZiAoIW1fZXhlY3V0YWJsZU1lbW9yeSkKKyAgICBB
c3NlbWJsZXJCdWZmZXImIGJ1ZmZlciA9IG1fYXNzZW1ibGVyLT5tX2Fzc2VtYmxlci5idWZmZXIo
KTsKKyAgICBhbGxvY2F0ZShidWZmZXIuY29kZVNpemUoKSwgb3duZXJVSUQsIGVmZm9ydCk7Cisg
ICAgaWYgKCFtX2RpZEFsbG9jYXRlKQogICAgICAgICByZXR1cm47Ci0gICAgbV9jb2RlID0gbV9l
eGVjdXRhYmxlTWVtb3J5LT5zdGFydCgpOwotICAgIG1fc2l6ZSA9IG1fYXNzZW1ibGVyLT5tX2Fz
c2VtYmxlci5jb2RlU2l6ZSgpOwogICAgIEFTU0VSVChtX2NvZGUpOworICAgIG1lbWNweShtX2Nv
ZGUsIGJ1ZmZlci5kYXRhKCksIGJ1ZmZlci5jb2RlU2l6ZSgpKTsKICNlbGlmIENQVShBUk1fVEhV
TUIyKQogICAgIGNvcHlDb21wYWN0QW5kTGlua0NvZGU8dWludDE2X3Q+KG93bmVyVUlELCBlZmZv
cnQpOwogI2VsaWYgQ1BVKEFSTTY0KQpAQCAtMTU1LDYgKzE0OSwyMyBAQCB2b2lkIExpbmtCdWZm
ZXI6OmxpbmtDb2RlKHZvaWQqIG93bmVyVUlECiAjZW5kaWYKIH0KIAordm9pZCBMaW5rQnVmZmVy
OjphbGxvY2F0ZShzaXplX3QgaW5pdGlhbFNpemUsIHZvaWQqIG93bmVyVUlELCBKSVRDb21waWxh
dGlvbkVmZm9ydCBlZmZvcnQpCit7CisgICAgbV9leGVjdXRhYmxlTWVtb3J5ID0gbV92bS0+ZXhl
Y3V0YWJsZUFsbG9jYXRvci5hbGxvY2F0ZSgqbV92bSwgaW5pdGlhbFNpemUsIG93bmVyVUlELCBl
ZmZvcnQpOworICAgIGlmICghbV9leGVjdXRhYmxlTWVtb3J5KQorICAgICAgICByZXR1cm47Cisg
ICAgRXhlY3V0YWJsZUFsbG9jYXRvcjo6bWFrZVdyaXRhYmxlKG1fZXhlY3V0YWJsZU1lbW9yeS0+
c3RhcnQoKSwgbV9leGVjdXRhYmxlTWVtb3J5LT5zaXplSW5CeXRlcygpKTsKKyAgICBtX2NvZGUg
PSBtX2V4ZWN1dGFibGVNZW1vcnktPnN0YXJ0KCk7CisgICAgbV9zaXplID0gaW5pdGlhbFNpemU7
CisgICAgbV9kaWRBbGxvY2F0ZSA9IHRydWU7Cit9CisKK3ZvaWQgTGlua0J1ZmZlcjo6c2hyaW5r
KHNpemVfdCBuZXdTaXplKQoreworICAgIG1fc2l6ZSA9IG5ld1NpemU7CisgICAgbV9leGVjdXRh
YmxlTWVtb3J5LT5zaHJpbmsobV9zaXplKTsKK30KKwogdm9pZCBMaW5rQnVmZmVyOjpwZXJmb3Jt
RmluYWxpemF0aW9uKCkKIHsKICNpZm5kZWYgTkRFQlVHCkluZGV4OiBTb3VyY2UvSmF2YVNjcmlw
dENvcmUvYXNzZW1ibGVyL0xpbmtCdWZmZXIuaAo9PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBTb3VyY2UvSmF2YVNj
cmlwdENvcmUvYXNzZW1ibGVyL0xpbmtCdWZmZXIuaAkocmV2aXNpb24gMTU3NjgxKQorKysgU291
cmNlL0phdmFTY3JpcHRDb3JlL2Fzc2VtYmxlci9MaW5rQnVmZmVyLmgJKHdvcmtpbmcgY29weSkK
QEAgLTgzLDYgKzgzLDcgQEAgcHVibGljOgogI2lmIEVOQUJMRShCUkFOQ0hfQ09NUEFDVElPTikK
ICAgICAgICAgLCBtX2luaXRpYWxTaXplKDApCiAjZW5kaWYKKyAgICAgICAgLCBtX2RpZEFsbG9j
YXRlKGZhbHNlKQogICAgICAgICAsIG1fY29kZSgwKQogICAgICAgICAsIG1fYXNzZW1ibGVyKG1h
c20pCiAgICAgICAgICwgbV92bSgmdm0pCkBAIC05OSw3ICsxMDAsNyBAQCBwdWJsaWM6CiAgICAg
CiAgICAgYm9vbCBkaWRGYWlsVG9BbGxvY2F0ZSgpIGNvbnN0CiAgICAgewotICAgICAgICByZXR1
cm4gIW1fZXhlY3V0YWJsZU1lbW9yeTsKKyAgICAgICAgcmV0dXJuICFtX2RpZEFsbG9jYXRlOwog
ICAgIH0KIAogICAgIGJvb2wgaXNWYWxpZCgpIGNvbnN0CkBAIC0yNDEsNiArMjQyLDkgQEAgcHJp
dmF0ZToKICAgICB7CiAgICAgICAgIHJldHVybiBtX2NvZGU7CiAgICAgfQorICAgIAorICAgIHZv
aWQgYWxsb2NhdGUoc2l6ZV90IGluaXRpYWxTaXplLCB2b2lkKiBvd25lclVJRCwgSklUQ29tcGls
YXRpb25FZmZvcnQpOworICAgIHZvaWQgc2hyaW5rKHNpemVfdCBuZXdTaXplKTsKIAogICAgIHZv
aWQgbGlua0NvZGUodm9pZCogb3duZXJVSUQsIEpJVENvbXBpbGF0aW9uRWZmb3J0KTsKICNpZiBF
TkFCTEUoQlJBTkNIX0NPTVBBQ1RJT04pCkBAIC0yNjMsNiArMjY3LDcgQEAgcHJpdmF0ZToKICNp
ZiBFTkFCTEUoQlJBTkNIX0NPTVBBQ1RJT04pCiAgICAgc2l6ZV90IG1faW5pdGlhbFNpemU7CiAj
ZW5kaWYKKyAgICBib29sIG1fZGlkQWxsb2NhdGU7CiAgICAgdm9pZCogbV9jb2RlOwogICAgIE1h
Y3JvQXNzZW1ibGVyKiBtX2Fzc2VtYmxlcjsKICAgICBWTSogbV92bTsKSW5kZXg6IFNvdXJjZS9K
YXZhU2NyaXB0Q29yZS9hc3NlbWJsZXIvWDg2QXNzZW1ibGVyLmgKPT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gU291
cmNlL0phdmFTY3JpcHRDb3JlL2Fzc2VtYmxlci9YODZBc3NlbWJsZXIuaAkocmV2aXNpb24gMTU3
NjgxKQorKysgU291cmNlL0phdmFTY3JpcHRDb3JlL2Fzc2VtYmxlci9YODZBc3NlbWJsZXIuaAko
d29ya2luZyBjb3B5KQpAQCAtMzMzLDYgKzMzMyw4IEBAIHB1YmxpYzoKICAgICAgICAgLCBtX2lu
ZGV4T2ZUYWlsT2ZMYXN0V2F0Y2hwb2ludChJTlRfTUlOKQogICAgIHsKICAgICB9CisgICAgCisg
ICAgQXNzZW1ibGVyQnVmZmVyJiBidWZmZXIoKSB7IHJldHVybiBtX2Zvcm1hdHRlci5tX2J1ZmZl
cjsgfQogCiAgICAgLy8gU3RhY2sgb3BlcmF0aW9uczoKIApAQCAtMjEyMiwxMSArMjEyNCw2IEBA
IHB1YmxpYzoKICAgICAgICAgcmV0dXJuIGIubV9vZmZzZXQgLSBhLm1fb2Zmc2V0OwogICAgIH0K
ICAgICAKLSAgICBQYXNzUmVmUHRyPEV4ZWN1dGFibGVNZW1vcnlIYW5kbGU+IGV4ZWN1dGFibGVD
b3B5KFZNJiB2bSwgdm9pZCogb3duZXJVSUQsIEpJVENvbXBpbGF0aW9uRWZmb3J0IGVmZm9ydCkK
LSAgICB7Ci0gICAgICAgIHJldHVybiBtX2Zvcm1hdHRlci5leGVjdXRhYmxlQ29weSh2bSwgb3du
ZXJVSUQsIGVmZm9ydCk7Ci0gICAgfQotCiAgICAgdW5zaWduZWQgZGVidWdPZmZzZXQoKSB7IHJl
dHVybiBtX2Zvcm1hdHRlci5kZWJ1Z09mZnNldCgpOyB9CiAKICAgICB2b2lkIG5vcCgpCkBAIC0y
NDgwLDExICsyNDc3LDYgQEAgcHJpdmF0ZToKICAgICAgICAgYm9vbCBpc0FsaWduZWQoaW50IGFs
aWdubWVudCkgY29uc3QgeyByZXR1cm4gbV9idWZmZXIuaXNBbGlnbmVkKGFsaWdubWVudCk7IH0K
ICAgICAgICAgdm9pZCogZGF0YSgpIGNvbnN0IHsgcmV0dXJuIG1fYnVmZmVyLmRhdGEoKTsgfQog
Ci0gICAgICAgIFBhc3NSZWZQdHI8RXhlY3V0YWJsZU1lbW9yeUhhbmRsZT4gZXhlY3V0YWJsZUNv
cHkoVk0mIHZtLCB2b2lkKiBvd25lclVJRCwgSklUQ29tcGlsYXRpb25FZmZvcnQgZWZmb3J0KQot
ICAgICAgICB7Ci0gICAgICAgICAgICByZXR1cm4gbV9idWZmZXIuZXhlY3V0YWJsZUNvcHkodm0s
IG93bmVyVUlELCBlZmZvcnQpOwotICAgICAgICB9Ci0KICAgICAgICAgdW5zaWduZWQgZGVidWdP
ZmZzZXQoKSB7IHJldHVybiBtX2J1ZmZlci5kZWJ1Z09mZnNldCgpOyB9CiAKICAgICBwcml2YXRl
OgpAQCAtMjY1OCw2ICsyNjUwLDcgQEAgcHJpdmF0ZToKICAgICAgICAgfQogI2VuZGlmCiAKKyAg
ICBwdWJsaWM6CiAgICAgICAgIEFzc2VtYmxlckJ1ZmZlciBtX2J1ZmZlcjsKICAgICB9IG1fZm9y
bWF0dGVyOwogICAgIGludCBtX2luZGV4T2ZMYXN0V2F0Y2hwb2ludDsK
</data>
<flag name="review"
          id="237245"
          type_id="1"
          status="+"
          setter="oliver"
    />
          </attachment>
      

    </bug>

</bugzilla>