<?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>21583</bug_id>
          
          <creation_ts>2008-10-13 17:50:41 -0700</creation_ts>
          <short_desc>Remove branches for CodeBlock and CTI code in function call logic</short_desc>
          <delta_ts>2012-03-07 11:38:57 -0800</delta_ts>
          <reporter_accessible>1</reporter_accessible>
          <cclist_accessible>1</cclist_accessible>
          <classification_id>1</classification_id>
          <classification>Unclassified</classification>
          <product>WebKit</product>
          <component>JavaScriptCore</component>
          <version>528+ (Nightly build)</version>
          <rep_platform>All</rep_platform>
          <op_sys>All</op_sys>
          <bug_status>RESOLVED</bug_status>
          <resolution>INVALID</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>20812</blocked>
    
    <blocked>21584</blocked>
          <everconfirmed>1</everconfirmed>
          <reporter name="Cameron Zwarich (cpst)">zwarich</reporter>
          <assigned_to name="Oliver Hunt">oliver</assigned_to>
          <cc>barraclough</cc>
          

      

      

      

          <comment_sort_order>oldest_to_newest</comment_sort_order>  
          <long_desc isprivate="0" >
    <commentid>95235</commentid>
    <comment_count>0</comment_count>
    <who name="Cameron Zwarich (cpst)">zwarich</who>
    <bug_when>2008-10-13 17:50:41 -0700</bug_when>
    <thetext>We should avoid branching to check the existence of a CodeBlock when doing a function call, as this will shorten the function call sequence and allow more logic to be inlined as machine code. We already have a trampoline for the JIT code, but a unified solution would be nice.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>95491</commentid>
    <comment_count>1</comment_count>
      <attachid>24383</attachid>
    <who name="Oliver Hunt">oliver</who>
    <bug_when>2008-10-15 19:33:55 -0700</bug_when>
    <thetext>Created attachment 24383
appease cpst

This patch is not a significant win, and is likely to be a regression on a macbook, but i am putting it up to make cpst stop haranguing me :p</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>95830</commentid>
    <comment_count>2</comment_count>
      <attachid>24477</attachid>
    <who name="Oliver Hunt">oliver</who>
    <bug_when>2008-10-17 21:25:48 -0700</bug_when>
    <thetext>Created attachment 24477
newer version of patch, although thoroughly broken

Alas this is broken, but it&apos;s merged with ToT.  Curse you gbarra!!!11!!one!!!</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>96104</commentid>
    <comment_count>3</comment_count>
      <attachid>24546</attachid>
    <who name="Oliver Hunt">oliver</who>
    <bug_when>2008-10-21 14:30:50 -0700</bug_when>
    <thetext>Created attachment 24546
Yet another version

Bought up to ToT again, still does not work.  Has not worked since gavin&apos;s patch.  I&apos;m off to work on orther things.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>118061</commentid>
    <comment_count>4</comment_count>
    <who name="Cameron Zwarich (cpst)">zwarich</who>
    <bug_when>2009-04-19 01:48:56 -0700</bug_when>
    <thetext>This has been fixed since, hasn&apos;t it? Or is there some piece of it that I am missing?</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>572614</commentid>
    <comment_count>5</comment_count>
    <who name="Gavin Barraclough">barraclough</who>
    <bug_when>2012-03-07 00:01:45 -0800</bug_when>
    <thetext>These patches are archaic and the JIT has clearly changed a lot.  This bug is not something we&apos;re planning on doing right now, and is not tracking anything useful.</thetext>
  </long_desc>
      
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>24383</attachid>
            <date>2008-10-15 19:33:55 -0700</date>
            <delta_ts>2008-10-21 14:30:50 -0700</delta_ts>
            <desc>appease cpst</desc>
            <filename>remove-branches.patch</filename>
            <type>text/plain</type>
            <size>11575</size>
            <attacher name="Oliver Hunt">oliver</attacher>
            
              <data encoding="base64">ZGlmZiAtLWdpdCBhL0phdmFTY3JpcHRDb3JlL1ZNL0NUSS5jcHAgYi9KYXZhU2NyaXB0Q29yZS9W
TS9DVEkuY3BwCmluZGV4IDgzYjgyZTcuLmZhOWNmMGUgMTAwNjQ0Ci0tLSBhL0phdmFTY3JpcHRD
b3JlL1ZNL0NUSS5jcHAKKysrIGIvSmF2YVNjcmlwdENvcmUvVk0vQ1RJLmNwcApAQCAtMTI0LDYg
KzEyNCwyNSBAQCBTWU1CT0xfU1RSSU5HKGN0aVZNVGhyb3dUcmFtcG9saW5lKSAiOiIgIlxuIgog
ICAgICJyZXQiICJcbiIKICk7CiAgICAgCithc20oCisgICAgIi5nbG9ibCAiIFNZTUJPTF9TVFJJ
TkcoY29kZWdlblRodW5rKSAiXG4iCisgICAgU1lNQk9MX1NUUklORyhjb2RlZ2VuVGh1bmspICI6
IiAiXG4iCisgICAgInBvcGwgJWVkeCIgIlxuIgorICAgICJtb3ZsICVlZHgsIDE2KCVlc3ApIiAi
XG4iCisjaWYgVVNFKENUSV9BUkdVTUVOVCkKKyNpZiBVU0UoRkFTVF9DQUxMX0NUSV9BUkdVTUVO
VCkKKyAgICAibW92bCAlZXNwLCAlZWN4IiAiXG4iCisjZWxzZQorICAgICJtb3ZsICVlc3AsIDAo
JWVzcCkiICJcbiIKKyNlbmRpZgorICAgICJjYWxsICIgU1lNQk9MX1NUUklORyhfWk4zSlNDN01h
Y2hpbmUxNGN0aV92bV9jb21waWxlRVBQdikgIlxuIgorI2Vsc2UKKyAgICAiY2FsbCAiIFNZTUJP
TF9TVFJJTkcoX1pOM0pTQzdNYWNoaW5lMTRjdGlfdm1fY29tcGlsZUVQdikgIlxuIgorI2VuZGlm
CisgICAgIm1vdmwgMTYoJWVzcCksICVlZHgiICJcbiIKKyAgICAicHVzaGwgJWVkeCIgIlxuIgor
ICAgICJqbXAgKiVlYXgiICJcbiIKKyk7CiAjZWxpZiBDT01QSUxFUihNU1ZDKQogCiBleHRlcm4g
IkMiIHsKQEAgLTU5MSw4ICs2MTAsOCBAQCB2b2lkIENUSTo6Y29tcGlsZU9wQ2FsbChJbnN0cnVj
dGlvbiogaW5zdHJ1Y3Rpb24sIHVuc2lnbmVkIGksIENvbXBpbGVPcENhbGxUeXBlCiAgICAgbV9q
aXQubW92bF9ycihYODY6OmVkeCwgWDg2OjplZGkpOwogCiAgICAgLy8gQ2hlY2sgdGhlIGN0aUNv
ZGUgaGFzIGJlZW4gZ2VuZXJhdGVkIC0gaWYgbm90LCB0aGlzIGlzIGhhbmRsZWQgaW4gYSBzbG93
IGNhc2UuCi0gICAgbV9qaXQudGVzdGxfcnIoWDg2OjplYXgsIFg4Njo6ZWF4KTsKLSAgICBtX3Ns
b3dDYXNlcy5hcHBlbmQoU2xvd0Nhc2VFbnRyeShtX2ppdC5lbWl0VW5saW5rZWRKZSgpLCBpKSk7
CisgLy8gICBtX2ppdC50ZXN0bF9ycihYODY6OmVheCwgWDg2OjplYXgpOworICAgLy8gbV9zbG93
Q2FzZXMuYXBwZW5kKFNsb3dDYXNlRW50cnkobV9qaXQuZW1pdFVubGlua2VkSmUoKSwgaSkpOwog
ICAgIGVtaXRDYWxsKGksIFg4Njo6ZWF4KTsKICAgICAKICAgICBYODZBc3NlbWJsZXI6OkptcERz
dCBlbmQgPSBtX2ppdC5sYWJlbCgpOwpkaWZmIC0tZ2l0IGEvSmF2YVNjcmlwdENvcmUvVk0vQ29k
ZUJsb2NrLmNwcCBiL0phdmFTY3JpcHRDb3JlL1ZNL0NvZGVCbG9jay5jcHAKaW5kZXggZDI4ZmNj
Ny4uNTBjNWNmMCAxMDA2NDQKLS0tIGEvSmF2YVNjcmlwdENvcmUvVk0vQ29kZUJsb2NrLmNwcAor
KysgYi9KYXZhU2NyaXB0Q29yZS9WTS9Db2RlQmxvY2suY3BwCkBAIC05MjMsNyArOTIzLDExIEBA
IHZvaWQgQ29kZUJsb2NrOjpkdW1wKEV4ZWNTdGF0ZSogZXhlYywgY29uc3QgVmVjdG9yPEluc3Ry
dWN0aW9uPjo6Y29uc3RfaXRlcmF0b3ImCiB9CiAKICNlbmRpZiAvLyAhZGVmaW5lZChOREVCVUcp
IHx8IEVOQUJMRShTQU1QTElOR19UT09MKQotCisgICAgCisgICAgCisgICAgZXh0ZXJuICJDIiB7
CisgICAgICAgIHZvaWQgY29kZWdlblRodW5rKCk7CisgICAgfQogQ29kZUJsb2NrOjp+Q29kZUJs
b2NrKCkKIHsKICAgICBzaXplX3Qgc2l6ZSA9IHN0cnVjdHVyZUlESW5zdHJ1Y3Rpb25zLnNpemUo
KTsKQEAgLTkzMyw3ICs5MzcsNyBAQCBDb2RlQmxvY2s6On5Db2RlQmxvY2soKQogICAgICAgICAg
ICAgZmFzdEZyZWUoc3RydWN0dXJlSURJbnN0cnVjdGlvbnNbaV0uc3R1YlJvdXRpbmUpOwogICAg
IH0KICNpZiBFTkFCTEUoQ1RJKQotICAgIGlmIChjdGlDb2RlKQorICAgIGlmIChjdGlDb2RlICE9
ICh2b2lkKiljb2RlZ2VuVGh1bmspCiAgICAgICAgIGZhc3RGcmVlKGN0aUNvZGUpOwogI2VuZGlm
CiB9CmRpZmYgLS1naXQgYS9KYXZhU2NyaXB0Q29yZS9WTS9Db2RlQmxvY2suaCBiL0phdmFTY3Jp
cHRDb3JlL1ZNL0NvZGVCbG9jay5oCmluZGV4IGJmMTczNTYuLjY0OGM1NTMgMTAwNjQ0Ci0tLSBh
L0phdmFTY3JpcHRDb3JlL1ZNL0NvZGVCbG9jay5oCisrKyBiL0phdmFTY3JpcHRDb3JlL1ZNL0Nv
ZGVCbG9jay5oCkBAIC0xODAsNyArMTgwLDExIEBAIG5hbWVzcGFjZSBKU0MgewogCiAgICAgICAg
IEhhc2hNYXA8UmVmUHRyPFVTdHJpbmc6OlJlcD4sIFJlZlB0cjxFdmFsTm9kZT4gPiBjYWNoZU1h
cDsKICAgICB9OwotCisgICAgCisgICAgCisgICAgZXh0ZXJuICJDIiB7CisgICAgICAgIHZvaWQg
Y29kZWdlblRodW5rKCk7CisgICAgfQogICAgIHN0cnVjdCBDb2RlQmxvY2sgewogICAgICAgICBD
b2RlQmxvY2soU2NvcGVOb2RlKiBvd25lck5vZGVfLCBDb2RlVHlwZSBjb2RlVHlwZV8sIFBhc3NS
ZWZQdHI8U291cmNlUHJvdmlkZXI+IHNvdXJjZV8sIHVuc2lnbmVkIHNvdXJjZU9mZnNldF8pCiAg
ICAgICAgICAgICA6IG93bmVyTm9kZShvd25lck5vZGVfKQpkaWZmIC0tZ2l0IGEvSmF2YVNjcmlw
dENvcmUvVk0vQ29kZUdlbmVyYXRvci5oIGIvSmF2YVNjcmlwdENvcmUvVk0vQ29kZUdlbmVyYXRv
ci5oCmluZGV4IDZhZWE3ZjAuLjhhZGMzZjkgMTAwNjQ0Ci0tLSBhL0phdmFTY3JpcHRDb3JlL1ZN
L0NvZGVHZW5lcmF0b3IuaAorKysgYi9KYXZhU2NyaXB0Q29yZS9WTS9Db2RlR2VuZXJhdG9yLmgK
QEAgLTMyMCw2ICszMjAsNyBAQCBuYW1lc3BhY2UgSlNDIHsKIAogICAgICAgICBDb2RlVHlwZSBj
b2RlVHlwZSgpIGNvbnN0IHsgcmV0dXJuIG1fY29kZVR5cGU7IH0KIAorICAgICAgICB2b2lkIHJl
c2V0U2NvcGVDaGFpbihTY29wZUNoYWluJiBzY29wZUNoYWluKSB7IG1fc2NvcGVDaGFpbiA9ICZz
Y29wZUNoYWluOyB9CiAgICAgcHJpdmF0ZToKICAgICAgICAgdm9pZCBlbWl0T3Bjb2RlKE9wY29k
ZUlEKTsKICAgICAgICAgdm9pZCByZXRyaWV2ZUxhc3RCaW5hcnlPcChpbnQmIGRzdEluZGV4LCBp
bnQmIHNyYzFJbmRleCwgaW50JiBzcmMySW5kZXgpOwpkaWZmIC0tZ2l0IGEvSmF2YVNjcmlwdENv
cmUvVk0vTWFjaGluZS5jcHAgYi9KYXZhU2NyaXB0Q29yZS9WTS9NYWNoaW5lLmNwcAppbmRleCA5
ODJjMzhlLi44NThhY2Y1IDEwMDY0NAotLS0gYS9KYXZhU2NyaXB0Q29yZS9WTS9NYWNoaW5lLmNw
cAorKysgYi9KYXZhU2NyaXB0Q29yZS9WTS9NYWNoaW5lLmNwcApAQCAtNDU1NCwzNCArNDU1NCwz
MCBAQCBWb2lkUHRyUGFpciBNYWNoaW5lOjpjdGlfb3BfY2FsbF9KU0Z1bmN0aW9uKENUSV9BUkdT
KQogICAgIGlmIChVTkxJS0VMWSgqQVJHX3Byb2ZpbGVyUmVmZXJlbmNlICE9IDApKQogICAgICAg
ICAoKkFSR19wcm9maWxlclJlZmVyZW5jZSktPndpbGxFeGVjdXRlKEFSR19jYWxsRnJhbWUsIHN0
YXRpY19jYXN0PEpTRnVuY3Rpb24qPihBUkdfc3JjMSkpOwogCi0gICAgU2NvcGVDaGFpbk5vZGUq
IGNhbGxEYXRhU2NvcGVDaGFpbiA9IHN0YXRpY19jYXN0PEpTRnVuY3Rpb24qPihBUkdfc3JjMSkt
Pm1fc2NvcGVDaGFpbi5ub2RlKCk7Ci0gICAgQ29kZUJsb2NrKiBuZXdDb2RlQmxvY2sgPSAmc3Rh
dGljX2Nhc3Q8SlNGdW5jdGlvbio+KEFSR19zcmMxKS0+bV9ib2R5LT5ieXRlQ29kZShjYWxsRGF0
YVNjb3BlQ2hhaW4pOwotICAgIENhbGxGcmFtZSogY2FsbEZyYW1lID0gQVJHX2NhbGxGcmFtZTsK
LSAgICBzaXplX3QgcmVnaXN0ZXJPZmZzZXQgPSBBUkdfaW50MjsKLSAgICBpbnQgYXJnQ291bnQg
PSBBUkdfaW50MzsKKyAgICBDb2RlQmxvY2sqIG5ld0NvZGVCbG9jayA9ICZzdGF0aWNfY2FzdDxK
U0Z1bmN0aW9uKj4oQVJHX3NyYzEpLT5tX2JvZHktPmdlbmVyYXRlZEJ5dGVDb2RlKCk7CiAKLSAg
ICBpZiAoTElLRUxZKGFyZ0NvdW50ID09IG5ld0NvZGVCbG9jay0+bnVtUGFyYW1ldGVycykpIHsK
LSAgICAgICAgVm9pZFB0clBhaXIgcGFpciA9IHsgbmV3Q29kZUJsb2NrLCBDYWxsRnJhbWU6OmNy
ZWF0ZShjYWxsRnJhbWUtPnJlZ2lzdGVycygpICsgcmVnaXN0ZXJPZmZzZXQpIH07CisgICAgaWYg
KExJS0VMWShBUkdfaW50MyA9PSBuZXdDb2RlQmxvY2stPm51bVBhcmFtZXRlcnMpKSB7CisgICAg
ICAgIFZvaWRQdHJQYWlyIHBhaXIgPSB7IG5ld0NvZGVCbG9jaywgQ2FsbEZyYW1lOjpjcmVhdGUo
QVJHX2NhbGxGcmFtZS0+cmVnaXN0ZXJzKCkgKyBBUkdfaW50MikgfTsKICAgICAgICAgcmV0dXJu
IHBhaXI7CiAgICAgfQogCi0gICAgaWYgKGFyZ0NvdW50ID4gbmV3Q29kZUJsb2NrLT5udW1QYXJh
bWV0ZXJzKSB7CisgICAgaWYgKEFSR19pbnQzID4gbmV3Q29kZUJsb2NrLT5udW1QYXJhbWV0ZXJz
KSB7CiAgICAgICAgIHNpemVfdCBudW1QYXJhbWV0ZXJzID0gbmV3Q29kZUJsb2NrLT5udW1QYXJh
bWV0ZXJzOwotICAgICAgICBSZWdpc3RlciogciA9IGNhbGxGcmFtZS0+cmVnaXN0ZXJzKCkgKyBy
ZWdpc3Rlck9mZnNldCArIG51bVBhcmFtZXRlcnM7CisgICAgICAgIFJlZ2lzdGVyKiByID0gQVJH
X2NhbGxGcmFtZS0+cmVnaXN0ZXJzKCkgKyBBUkdfaW50MiArIG51bVBhcmFtZXRlcnM7CiAKLSAg
ICAgICAgUmVnaXN0ZXIqIGFyZ3YgPSByIC0gUmVnaXN0ZXJGaWxlOjpDYWxsRnJhbWVIZWFkZXJT
aXplIC0gbnVtUGFyYW1ldGVycyAtIGFyZ0NvdW50OworICAgICAgICBSZWdpc3RlciogYXJndiA9
IHIgLSBSZWdpc3RlckZpbGU6OkNhbGxGcmFtZUhlYWRlclNpemUgLSBudW1QYXJhbWV0ZXJzIC0g
QVJHX2ludDM7CiAgICAgICAgIGZvciAoc2l6ZV90IGkgPSAwOyBpIDwgbnVtUGFyYW1ldGVyczsg
KytpKQotICAgICAgICAgICAgYXJndltpICsgYXJnQ291bnRdID0gYXJndltpXTsKKyAgICAgICAg
ICAgIGFyZ3ZbaSArIEFSR19pbnQzXSA9IGFyZ3ZbaV07CiAKICAgICAgICAgVm9pZFB0clBhaXIg
cGFpciA9IHsgbmV3Q29kZUJsb2NrLCBDYWxsRnJhbWU6OmNyZWF0ZShyKSB9OwogICAgICAgICBy
ZXR1cm4gcGFpcjsKICAgICB9CiAKLSAgICBzaXplX3Qgb21pdHRlZEFyZ0NvdW50ID0gbmV3Q29k
ZUJsb2NrLT5udW1QYXJhbWV0ZXJzIC0gYXJnQ291bnQ7Ci0gICAgUmVnaXN0ZXIqIHIgPSBjYWxs
RnJhbWUtPnJlZ2lzdGVycygpICsgcmVnaXN0ZXJPZmZzZXQgKyBvbWl0dGVkQXJnQ291bnQ7Cisg
ICAgc2l6ZV90IG9taXR0ZWRBcmdDb3VudCA9IG5ld0NvZGVCbG9jay0+bnVtUGFyYW1ldGVycyAt
IEFSR19pbnQzOworICAgIFJlZ2lzdGVyKiByID0gQVJHX2NhbGxGcmFtZS0+cmVnaXN0ZXJzKCkg
KyBBUkdfaW50MiArIG9taXR0ZWRBcmdDb3VudDsKICAgICBSZWdpc3RlciogbmV3RW5kID0gciAr
IG5ld0NvZGVCbG9jay0+bnVtQ2FsbGVlUmVnaXN0ZXJzOwogICAgIGlmICghQVJHX3JlZ2lzdGVy
RmlsZS0+Z3JvdyhuZXdFbmQpKSB7Ci0gICAgICAgIEFSR19nbG9iYWxEYXRhLT5leGNlcHRpb24g
PSBjcmVhdGVTdGFja092ZXJmbG93RXJyb3IoY2FsbEZyYW1lKTsKKyAgICAgICAgQVJHX2dsb2Jh
bERhdGEtPmV4Y2VwdGlvbiA9IGNyZWF0ZVN0YWNrT3ZlcmZsb3dFcnJvcihBUkdfY2FsbEZyYW1l
KTsKICAgICAgICAgVk1fVEhST1dfRVhDRVBUSU9OXzIoKTsKICAgICB9CiAKQEAgLTQ1OTYsOCAr
NDU5Miw4IEBAIFZvaWRQdHJQYWlyIE1hY2hpbmU6OmN0aV9vcF9jYWxsX0pTRnVuY3Rpb24oQ1RJ
X0FSR1MpCiB2b2lkKiBNYWNoaW5lOjpjdGlfdm1fY29tcGlsZShDVElfQVJHUykKIHsKICAgICBD
b2RlQmxvY2sqIGNvZGVCbG9jayA9IEFSR19jYWxsRnJhbWUtPmNvZGVCbG9jaygpOwotICAgIGlm
ICghY29kZUJsb2NrLT5jdGlDb2RlKQotICAgICAgICBDVEk6OmNvbXBpbGUoQVJHX2dsb2JhbERh
dGEtPm1hY2hpbmUsIEFSR19jYWxsRnJhbWUsIGNvZGVCbG9jayk7CisgICAgY29kZUJsb2NrLT5j
dGlDb2RlID0gMDsKKyAgICBDVEk6OmNvbXBpbGUoQVJHX2dsb2JhbERhdGEtPm1hY2hpbmUsIEFS
R19jYWxsRnJhbWUsIGNvZGVCbG9jayk7CiAgICAgcmV0dXJuIGNvZGVCbG9jay0+Y3RpQ29kZTsK
IH0KIApkaWZmIC0tZ2l0IGEvSmF2YVNjcmlwdENvcmUva2pzL0pTRnVuY3Rpb24uY3BwIGIvSmF2
YVNjcmlwdENvcmUva2pzL0pTRnVuY3Rpb24uY3BwCmluZGV4IDZmNGM1MWYuLjgzMDNkYWMgMTAw
NjQ0Ci0tLSBhL0phdmFTY3JpcHRDb3JlL2tqcy9KU0Z1bmN0aW9uLmNwcAorKysgYi9KYXZhU2Ny
aXB0Q29yZS9ranMvSlNGdW5jdGlvbi5jcHAKQEAgLTI2LDYgKzI2LDcgQEAKICNpbmNsdWRlICJK
U0Z1bmN0aW9uLmgiCiAKICNpbmNsdWRlICJDb21tb25JZGVudGlmaWVycy5oIgorI2luY2x1ZGUg
IkNvZGVCbG9jay5oIgogI2luY2x1ZGUgIkV4ZWNTdGF0ZS5oIgogI2luY2x1ZGUgIkZ1bmN0aW9u
UHJvdG90eXBlLmgiCiAjaW5jbHVkZSAiSlNHbG9iYWxPYmplY3QuaCIKQEAgLTQ0LDEyICs0NSwx
OSBAQCBBU1NFUlRfQ0xBU1NfRklUU19JTl9DRUxMKEpTRnVuY3Rpb24pOwogCiBjb25zdCBDbGFz
c0luZm8gSlNGdW5jdGlvbjo6aW5mbyA9IHsgIkZ1bmN0aW9uIiwgMCwgMCwgMCB9OwogCi1KU0Z1
bmN0aW9uOjpKU0Z1bmN0aW9uKEV4ZWNTdGF0ZSogZXhlYywgY29uc3QgSWRlbnRpZmllciYgbmFt
ZSwgRnVuY3Rpb25Cb2R5Tm9kZSogYm9keSwgU2NvcGVDaGFpbk5vZGUqIHNjb3BlQ2hhaW5Ob2Rl
KQorSlNGdW5jdGlvbjo6SlNGdW5jdGlvbihFeGVjU3RhdGUqIGV4ZWMsIGNvbnN0IElkZW50aWZp
ZXImIG5hbWUsIEZ1bmN0aW9uQm9keU5vZGUqIGJvZHksIFNjb3BlQ2hhaW5Ob2RlKiBzY29wZUNo
YWluTm9kZSwgYm9vbCBmb3JFeHByZXNzaW9uKQogICAgIDogQmFzZSgmZXhlYy0+Z2xvYmFsRGF0
YSgpLCBleGVjLT5sZXhpY2FsR2xvYmFsT2JqZWN0KCktPmZ1bmN0aW9uU3RydWN0dXJlKCksIG5h
bWUpCiAgICAgLCBtX2JvZHkoYm9keSkKICAgICAsIG1fc2NvcGVDaGFpbihzY29wZUNoYWluTm9k
ZSkKIHsKICAgICBBU1NFUlQoZXhlYy0+Z2xvYmFsRGF0YSgpLnBhcnNlci0+cGFyc2U8RnVuY3Rp
b25Cb2R5Tm9kZT4oZXhlYywgMCwgYm9keS0+c291cmNlKCkpKTsKKyNpZiBFTkFCTEUoQ1RJKQor
ICAgIGlmIChmb3JFeHByZXNzaW9uKQorICAgICAgICByZXR1cm47CisgICAgQ29kZUJsb2NrKiBj
b2RlQmxvY2sgPSAmYm9keS0+Ynl0ZUNvZGUoc2NvcGVDaGFpbk5vZGUpOworICAgIGlmICghY29k
ZUJsb2NrLT5jdGlDb2RlKQorICAgICAgICBjb2RlQmxvY2stPmN0aUNvZGUgPSAodm9pZCopY29k
ZWdlblRodW5rOworI2VuZGlmCiB9CiAKIHZvaWQgSlNGdW5jdGlvbjo6bWFyaygpCmRpZmYgLS1n
aXQgYS9KYXZhU2NyaXB0Q29yZS9ranMvSlNGdW5jdGlvbi5oIGIvSmF2YVNjcmlwdENvcmUva2pz
L0pTRnVuY3Rpb24uaAppbmRleCAyNDFjOTA4Li4yYWQ0M2Y0IDEwMDY0NAotLS0gYS9KYXZhU2Ny
aXB0Q29yZS9ranMvSlNGdW5jdGlvbi5oCisrKyBiL0phdmFTY3JpcHRDb3JlL2tqcy9KU0Z1bmN0
aW9uLmgKQEAgLTQ0LDcgKzQ0LDcgQEAgbmFtZXNwYWNlIEpTQyB7CiAgICAgICAgIHR5cGVkZWYg
SW50ZXJuYWxGdW5jdGlvbiBCYXNlOwogICAgICAgICBKU0Z1bmN0aW9uKFBhc3NSZWZQdHI8SlND
OjpTdHJ1Y3R1cmVJRD4gc3QpIDogSW50ZXJuYWxGdW5jdGlvbihzdCksIG1fc2NvcGVDaGFpbihO
b1Njb3BlQ2hhaW4oKSkge30KICAgICBwdWJsaWM6Ci0gICAgICAgIEpTRnVuY3Rpb24oRXhlY1N0
YXRlKiwgY29uc3QgSWRlbnRpZmllciYsIEZ1bmN0aW9uQm9keU5vZGUqLCBTY29wZUNoYWluTm9k
ZSopOworICAgICAgICBKU0Z1bmN0aW9uKEV4ZWNTdGF0ZSosIGNvbnN0IElkZW50aWZpZXImLCBG
dW5jdGlvbkJvZHlOb2RlKiwgU2NvcGVDaGFpbk5vZGUqLCBib29sIGZvckV4cHJlc3Npb24gPSBm
YWxzZSk7CiAKICAgICAgICAgdmlydHVhbCBib29sIGdldE93blByb3BlcnR5U2xvdChFeGVjU3Rh
dGUqLCBjb25zdCBJZGVudGlmaWVyJiwgUHJvcGVydHlTbG90Jik7CiAgICAgICAgIHZpcnR1YWwg
dm9pZCBwdXQoRXhlY1N0YXRlKiwgY29uc3QgSWRlbnRpZmllciYgcHJvcGVydHlOYW1lLCBKU1Zh
bHVlKiwgUHV0UHJvcGVydHlTbG90Jik7CmRpZmYgLS1naXQgYS9KYXZhU2NyaXB0Q29yZS9ranMv
bm9kZXMuY3BwIGIvSmF2YVNjcmlwdENvcmUva2pzL25vZGVzLmNwcAppbmRleCA4ZDJmN2NlLi5h
MDYyZTZmIDEwMDY0NAotLS0gYS9KYXZhU2NyaXB0Q29yZS9ranMvbm9kZXMuY3BwCisrKyBiL0ph
dmFTY3JpcHRDb3JlL2tqcy9ub2Rlcy5jcHAKQEAgLTE4MDUsNiArMTgwNSwyOCBAQCB2b2lkIEZ1
bmN0aW9uQm9keU5vZGU6OmdlbmVyYXRlQ29kZShTY29wZUNoYWluTm9kZSogc2NvcGVDaGFpbk5v
ZGUpCiAgICAgZ2VuZXJhdG9yLmdlbmVyYXRlKCk7CiB9CiAKK2V4dGVybiAiQyIgeworICAgIHZv
aWQgY29kZWdlblRodW5rKCk7Cit9CisKK3ZvaWQgRnVuY3Rpb25Cb2R5Tm9kZTo6aW5pdGlhbGlz
ZUNvZGVnZW5UaHVuayhTY29wZUNoYWluTm9kZSogc2NvcGVDaGFpbk5vZGUpCit7CisgICAgU2Nv
cGVDaGFpbiBzY29wZUNoYWluKHNjb3BlQ2hhaW5Ob2RlKTsKKyAgICBKU0dsb2JhbE9iamVjdCog
Z2xvYmFsT2JqZWN0ID0gc2NvcGVDaGFpbi5nbG9iYWxPYmplY3QoKTsKKyAgICAKKyAgICBtX2Nv
ZGUuc2V0KG5ldyBDb2RlQmxvY2sodGhpcywgRnVuY3Rpb25Db2RlLCBzb3VyY2UoKS5wcm92aWRl
cigpLCBzb3VyY2UoKS5zdGFydE9mZnNldCgpKSk7CisgICAgbV9nZW5lcmF0b3Iuc2V0KG5ldyBD
b2RlR2VuZXJhdG9yKHRoaXMsIGdsb2JhbE9iamVjdC0+ZGVidWdnZXIoKSwgc2NvcGVDaGFpbiwg
Jm1fc3ltYm9sVGFibGUsIG1fY29kZS5nZXQoKSkpOworICAgIG1fY29kZS0+Y3RpQ29kZSA9ICh2
b2lkKiljb2RlZ2VuVGh1bms7Cit9CisKK3ZvaWQgRnVuY3Rpb25Cb2R5Tm9kZTo6ZmluaXNoQ29k
ZWdlbihTY29wZUNoYWluTm9kZSogc2NvcGVDaGFpbk5vZGUpCit7CisgICAgU2NvcGVDaGFpbiBz
Y29wZUNoYWluKHNjb3BlQ2hhaW5Ob2RlKTsKKyAgICBtX2dlbmVyYXRvci0+cmVzZXRTY29wZUNo
YWluKHNjb3BlQ2hhaW4pOworICAgIG1fZ2VuZXJhdG9yLT5nZW5lcmF0ZSgpOworICAgIG1fZ2Vu
ZXJhdG9yLnNldCgwKTsKK30KKwogUmVnaXN0ZXJJRCogRnVuY3Rpb25Cb2R5Tm9kZTo6ZW1pdENv
ZGUoQ29kZUdlbmVyYXRvciYgZ2VuZXJhdG9yLCBSZWdpc3RlcklEKikKIHsKICAgICBnZW5lcmF0
b3IuZW1pdERlYnVnSG9vayhEaWRFbnRlckNhbGxGcmFtZSwgZmlyc3RMaW5lKCksIGxhc3RMaW5l
KCkpOwpAQCAtMTg4Niw3ICsxOTA4LDcgQEAgUmVnaXN0ZXJJRCogRnVuY0V4cHJOb2RlOjplbWl0
Q29kZShDb2RlR2VuZXJhdG9yJiBnZW5lcmF0b3IsIFJlZ2lzdGVySUQqIGRzdCkKIAogSlNGdW5j
dGlvbiogRnVuY0V4cHJOb2RlOjptYWtlRnVuY3Rpb24oRXhlY1N0YXRlKiBleGVjLCBTY29wZUNo
YWluTm9kZSogc2NvcGVDaGFpbikKIHsKLSAgICBKU0Z1bmN0aW9uKiBmdW5jID0gbmV3IChleGVj
KSBKU0Z1bmN0aW9uKGV4ZWMsIG1faWRlbnQsIG1fYm9keS5nZXQoKSwgc2NvcGVDaGFpbik7Cisg
ICAgSlNGdW5jdGlvbiogZnVuYyA9IG5ldyAoZXhlYykgSlNGdW5jdGlvbihleGVjLCBtX2lkZW50
LCBtX2JvZHkuZ2V0KCksIHNjb3BlQ2hhaW4sIHRydWUpOwogICAgIEpTT2JqZWN0KiBwcm90byA9
IGNvbnN0cnVjdEVtcHR5T2JqZWN0KGV4ZWMpOwogICAgIHByb3RvLT5wdXREaXJlY3QoZXhlYy0+
cHJvcGVydHlOYW1lcygpLmNvbnN0cnVjdG9yLCBmdW5jLCBEb250RW51bSk7CiAgICAgZnVuYy0+
cHV0RGlyZWN0KGV4ZWMtPnByb3BlcnR5TmFtZXMoKS5wcm90b3R5cGUsIHByb3RvLCBEb250RGVs
ZXRlKTsKQEAgLTE5MDMsNyArMTkyNSwxMiBAQCBKU0Z1bmN0aW9uKiBGdW5jRXhwck5vZGU6Om1h
a2VGdW5jdGlvbihFeGVjU3RhdGUqIGV4ZWMsIFNjb3BlQ2hhaW5Ob2RlKiBzY29wZUNoYQogICAg
ICAgICBKU1N0YXRpY1Njb3BlT2JqZWN0KiBmdW5jdGlvblNjb3BlT2JqZWN0ID0gbmV3IChleGVj
KSBKU1N0YXRpY1Njb3BlT2JqZWN0KGV4ZWMsIG1faWRlbnQsIGZ1bmMsIFJlYWRPbmx5IHwgRG9u
dERlbGV0ZSk7CiAgICAgICAgIGZ1bmMtPnNjb3BlKCkucHVzaChmdW5jdGlvblNjb3BlT2JqZWN0
KTsKICAgICB9Ci0KKyAgICAKKyNpZiBFTkFCTEUoQ1RJKQorICAgIENvZGVCbG9jayogY29kZUJs
b2NrID0gJm1fYm9keS0+Ynl0ZUNvZGUoZnVuYy0+c2NvcGUoKS5ub2RlKCkpOworICAgIGlmICgh
Y29kZUJsb2NrLT5jdGlDb2RlKQorICAgICAgICBjb2RlQmxvY2stPmN0aUNvZGUgPSAodm9pZCop
Y29kZWdlblRodW5rOworI2VuZGlmCiAgICAgcmV0dXJuIGZ1bmM7CiB9CiAKZGlmZiAtLWdpdCBh
L0phdmFTY3JpcHRDb3JlL2tqcy9ub2Rlcy5oIGIvSmF2YVNjcmlwdENvcmUva2pzL25vZGVzLmgK
aW5kZXggNjFlMTg5ZS4uOWRlYjZlMyAxMDA2NDQKLS0tIGEvSmF2YVNjcmlwdENvcmUva2pzL25v
ZGVzLmgKKysrIGIvSmF2YVNjcmlwdENvcmUva2pzL25vZGVzLmgKQEAgLTIyNjMsNyArMjI2Mywx
NyBAQCBuYW1lc3BhY2UgSlNDIHsKICAgICAgICAgdmlydHVhbCBSZWdpc3RlcklEKiBlbWl0Q29k
ZShDb2RlR2VuZXJhdG9yJiwgUmVnaXN0ZXJJRCogPSAwKSBKU0NfRkFTVF9DQUxMOwogICAgICAg
ICAKICAgICAgICAgU3ltYm9sVGFibGUmIHN5bWJvbFRhYmxlKCkgeyByZXR1cm4gbV9zeW1ib2xU
YWJsZTsgfSAvLyBGSVhNRTogUmVtb3ZlIHRoaXMKLSAgICAgICAgCisKKyNpZiBFTkFCTEUoQ1RJ
KQorICAgICAgICB2b2lkIGluaXRpYWxpc2VDb2RlZ2VuVGh1bmtJZk5lY2Vzc2FyeShTY29wZUNo
YWluTm9kZSogc2NvcGVDaGFpbikgSlNDX0ZBU1RfQ0FMTAorICAgICAgICB7CisgICAgICAgICAg
ICBBU1NFUlQoc2NvcGVDaGFpbik7CisgICAgICAgICAgICBpZiAoIW1fY29kZSkKKyAgICAgICAg
ICAgICAgICBpbml0aWFsaXNlQ29kZWdlblRodW5rKHNjb3BlQ2hhaW4pOyAgCisgICAgICAgIH0K
KyAgICAgICAgdm9pZCBmaW5pc2hDb2RlZ2VuKFNjb3BlQ2hhaW5Ob2RlKiBzY29wZUNoYWluKSBK
U0NfRkFTVF9DQUxMOworI2VuZGlmCisKICAgICAgICAgQ29kZUJsb2NrJiBieXRlQ29kZShTY29w
ZUNoYWluTm9kZSogc2NvcGVDaGFpbikgSlNDX0ZBU1RfQ0FMTAogICAgICAgICB7CiAgICAgICAg
ICAgICBBU1NFUlQoc2NvcGVDaGFpbik7CkBAIC0yMzA0LDExICsyMzE0LDE0IEBAIG5hbWVzcGFj
ZSBKU0MgewogCiAgICAgcHJpdmF0ZToKICAgICAgICAgdm9pZCBnZW5lcmF0ZUNvZGUoU2NvcGVD
aGFpbk5vZGUqKSBKU0NfRkFTVF9DQUxMOwotCisjaWYgRU5BQkxFKENUSSkKKyAgICAgICAgdm9p
ZCBpbml0aWFsaXNlQ29kZWdlblRodW5rKFNjb3BlQ2hhaW5Ob2RlKikgSlNDX0ZBU1RfQ0FMTDsK
KyNlbmRpZgogICAgICAgICBJZGVudGlmaWVyKiBtX3BhcmFtZXRlcnM7CiAgICAgICAgIHNpemVf
dCBtX3BhcmFtZXRlckNvdW50OwogICAgICAgICBTeW1ib2xUYWJsZSBtX3N5bWJvbFRhYmxlOwog
ICAgICAgICBPd25QdHI8Q29kZUJsb2NrPiBtX2NvZGU7CisgICAgICAgIE93blB0cjxDb2RlR2Vu
ZXJhdG9yPiBtX2dlbmVyYXRvcjsKICAgICAgICAgdW5zaWduZWQgbV9yZWZDb3VudDsKICAgICB9
OwogCg==
</data>

          </attachment>
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>24477</attachid>
            <date>2008-10-17 21:25:48 -0700</date>
            <delta_ts>2008-10-21 14:30:50 -0700</delta_ts>
            <desc>newer version of patch, although thoroughly broken</desc>
            <filename>branchless-call.patch</filename>
            <type>text/plain</type>
            <size>10242</size>
            <attacher name="Oliver Hunt">oliver</attacher>
            
              <data encoding="base64">ZGlmZiAtLWdpdCBhL0phdmFTY3JpcHRDb3JlL1ZNL0NUSS5jcHAgYi9KYXZhU2NyaXB0Q29yZS9W
TS9DVEkuY3BwCmluZGV4IDdiZDhlODEuLmM1ZTc1MjAgMTAwNjQ0Ci0tLSBhL0phdmFTY3JpcHRD
b3JlL1ZNL0NUSS5jcHAKKysrIGIvSmF2YVNjcmlwdENvcmUvVk0vQ1RJLmNwcApAQCAtMTI2LDcg
KzEyNiwxOCBAQCBTWU1CT0xfU1RSSU5HKGN0aVZNVGhyb3dUcmFtcG9saW5lKSAiOiIgIlxuIgog
ICAgICJwb3BsICVlc2kiICJcbiIKICAgICAicmV0IiAiXG4iCiApOwotICAgIAorCithc20oCisg
ICAgIi5nbG9ibCAiIFNZTUJPTF9TVFJJTkcoY29kZWdlblRodW5rKSAiXG4iCisgICAgU1lNQk9M
X1NUUklORyhjb2RlZ2VuVGh1bmspICI6IiAiXG4iCisgICAgInBvcGwgJWVkeCIgIlxuIgorICAg
ICJtb3ZsICVlZHgsIDE2KCVlc3ApIiAiXG4iCisgICAgIm1vdmwgJWVkaSwgNTYoJWVzcCkiICJc
biIKKyAgICAiY2FsbCAiIFNZTUJPTF9TVFJJTkcoX1pOM0pTQzdNYWNoaW5lMTRjdGlfdm1fY29t
cGlsZUVQdnopICJcbiIKKyAgICAibW92bCAxNiglZXNwKSwgJWVkeCIgIlxuIgorICAgICJwdXNo
bCAlZWR4IiAiXG4iCisgICAgImptcCAqJWVheCIgIlxuIgorKTsKICNlbGlmIENPTVBJTEVSKE1T
VkMpCiAKIGV4dGVybiAiQyIgewpAQCAtMjY3NSw3ICsyNjg2LDYgQEAgdm9pZCBDVEk6OnByaXZh
dGVDb21waWxlU2xvd0Nhc2VzKCkKICAgICAgICAgICAgIGVtaXRDVElDYWxsKGksIChvcGNvZGVJ
RCA9PSBvcF9jb25zdHJ1Y3QpID8gTWFjaGluZTo6Y3RpX29wX2NvbnN0cnVjdF9KU0NvbnN0cnVj
dCA6IE1hY2hpbmU6OmN0aV9vcF9jYWxsX0pTRnVuY3Rpb24pOwogICAgICAgICAgICAgLy8gaW5p
dGlhbGl6ZSB0aGUgbmV3IGNhbGwgZnJhbWUgKHBvaW50ZWQgdG8gYnkgZWR4LCBhZnRlciB0aGUg
bGFzdCBjYWxsKS4KICAgICAgICAgICAgIGNvbXBpbGVPcENhbGxJbml0aWFsaXplQ2FsbEZyYW1l
KGNhbGxlZSwgYXJnQ291bnQpOwotICAgICAgICAgICAgbV9qaXQubW92bF9ycihYODY6OmVkeCwg
WDg2OjplZGkpOwogCiAgICAgICAgICAgICAvLyBsb2FkIGN0aUNvZGUgZnJvbSB0aGUgbmV3IGNv
ZGVCbG9jay4KICAgICAgICAgICAgIG1faml0Lm1vdmxfbXIoT0JKRUNUX09GRlNFVChDb2RlQmxv
Y2ssIGN0aUNvZGUpLCBYODY6OmVheCwgWDg2OjplYXgpOwpAQCAtMjY4MywxMiArMjY5Myw2IEBA
IHZvaWQgQ1RJOjpwcml2YXRlQ29tcGlsZVNsb3dDYXNlcygpCiAgICAgICAgICAgICAvLyBNb3Zl
IHRoZSBuZXcgY2FsbGZyYW1lIGludG8gZWRpLgogICAgICAgICAgICAgbV9qaXQubW92bF9ycihY
ODY6OmVkeCwgWDg2OjplZGkpOwogCi0gICAgICAgICAgICAvLyBDaGVjayB0aGUgY3RpQ29kZSBo
YXMgYmVlbiBnZW5lcmF0ZWQgKGlmIG5vdCBjb21waWxlIGl0IG5vdyksIGFuZCBtYWtlIHRoZSBj
YWxsLgotICAgICAgICAgICAgbV9qaXQudGVzdGxfcnIoWDg2OjplYXgsIFg4Njo6ZWF4KTsKLSAg
ICAgICAgICAgIFg4NkFzc2VtYmxlcjo6Sm1wU3JjIGhhc0NvZGUgPSBtX2ppdC5lbWl0VW5saW5r
ZWRKbmUoKTsKLSAgICAgICAgICAgIGVtaXRDVElDYWxsKGksIE1hY2hpbmU6OmN0aV92bV9jb21w
aWxlKTsKLSAgICAgICAgICAgIG1faml0LmxpbmsoaGFzQ29kZSwgbV9qaXQubGFiZWwoKSk7Ci0K
ICAgICAgICAgICAgIGVtaXROYWtlZENhbGwoaSwgWDg2OjplYXgpOwogCiAgICAgICAgICAgICAv
LyBQdXQgdGhlIHJldHVybiB2YWx1ZSBpbiBkc3QuIEluIHRoZSBpbnRlcnByZXRlciwgb3BfcmV0
IGRvZXMgdGhpcy4KZGlmZiAtLWdpdCBhL0phdmFTY3JpcHRDb3JlL1ZNL0NvZGVCbG9jay5jcHAg
Yi9KYXZhU2NyaXB0Q29yZS9WTS9Db2RlQmxvY2suY3BwCmluZGV4IDNkY2U1NGIuLmVjYWY5NjQg
MTAwNjQ0Ci0tLSBhL0phdmFTY3JpcHRDb3JlL1ZNL0NvZGVCbG9jay5jcHAKKysrIGIvSmF2YVNj
cmlwdENvcmUvVk0vQ29kZUJsb2NrLmNwcApAQCAtOTI0LDcgKzkyNCwxMSBAQCB2b2lkIENvZGVC
bG9jazo6ZHVtcChFeGVjU3RhdGUqIGV4ZWMsIGNvbnN0IFZlY3RvcjxJbnN0cnVjdGlvbj46OmNv
bnN0X2l0ZXJhdG9yJgogfQogCiAjZW5kaWYgLy8gIWRlZmluZWQoTkRFQlVHKSB8fCBFTkFCTEUo
U0FNUExJTkdfVE9PTCkKLQorICAgIAorICAgIAorICAgIGV4dGVybiAiQyIgeworICAgICAgICB2
b2lkIGNvZGVnZW5UaHVuaygpOworICAgIH0KIENvZGVCbG9jazo6fkNvZGVCbG9jaygpCiB7CiAg
ICAgc2l6ZV90IHNpemUgPSBzdHJ1Y3R1cmVJREluc3RydWN0aW9ucy5zaXplKCk7CkBAIC05NDEs
NyArOTQ1LDcgQEAgQ29kZUJsb2NrOjp+Q29kZUJsb2NrKCkKICNpZiBFTkFCTEUoQ1RJKSAKICAg
ICB1bmxpbmtDYWxsZXJzKCk7CiAKLSAgICBpZiAoY3RpQ29kZSkKKyAgICBpZiAoY3RpQ29kZSAh
PSAodm9pZCopY29kZWdlblRodW5rKQogICAgICAgICBmYXN0RnJlZShjdGlDb2RlKTsKICNlbmRp
ZgogfQpkaWZmIC0tZ2l0IGEvSmF2YVNjcmlwdENvcmUvVk0vQ29kZUJsb2NrLmggYi9KYXZhU2Ny
aXB0Q29yZS9WTS9Db2RlQmxvY2suaAppbmRleCA2MDg0ZGIxLi42MjM0ZGI4IDEwMDY0NAotLS0g
YS9KYXZhU2NyaXB0Q29yZS9WTS9Db2RlQmxvY2suaAorKysgYi9KYXZhU2NyaXB0Q29yZS9WTS9D
b2RlQmxvY2suaApAQCAtMjAwLDcgKzIwMCwxMSBAQCBuYW1lc3BhY2UgSlNDIHsKIAogICAgICAg
ICBIYXNoTWFwPFJlZlB0cjxVU3RyaW5nOjpSZXA+LCBSZWZQdHI8RXZhbE5vZGU+ID4gY2FjaGVN
YXA7CiAgICAgfTsKLQorICAgIAorICAgIAorICAgIGV4dGVybiAiQyIgeworICAgICAgICB2b2lk
IGNvZGVnZW5UaHVuaygpOworICAgIH0KICAgICBzdHJ1Y3QgQ29kZUJsb2NrIHsKICAgICAgICAg
Q29kZUJsb2NrKFNjb3BlTm9kZSogb3duZXJOb2RlXywgQ29kZVR5cGUgY29kZVR5cGVfLCBQYXNz
UmVmUHRyPFNvdXJjZVByb3ZpZGVyPiBzb3VyY2VfLCB1bnNpZ25lZCBzb3VyY2VPZmZzZXRfKQog
ICAgICAgICAgICAgOiBvd25lck5vZGUob3duZXJOb2RlXykKZGlmZiAtLWdpdCBhL0phdmFTY3Jp
cHRDb3JlL1ZNL0NvZGVHZW5lcmF0b3IuaCBiL0phdmFTY3JpcHRDb3JlL1ZNL0NvZGVHZW5lcmF0
b3IuaAppbmRleCA2YWVhN2YwLi44YWRjM2Y5IDEwMDY0NAotLS0gYS9KYXZhU2NyaXB0Q29yZS9W
TS9Db2RlR2VuZXJhdG9yLmgKKysrIGIvSmF2YVNjcmlwdENvcmUvVk0vQ29kZUdlbmVyYXRvci5o
CkBAIC0zMjAsNiArMzIwLDcgQEAgbmFtZXNwYWNlIEpTQyB7CiAKICAgICAgICAgQ29kZVR5cGUg
Y29kZVR5cGUoKSBjb25zdCB7IHJldHVybiBtX2NvZGVUeXBlOyB9CiAKKyAgICAgICAgdm9pZCBy
ZXNldFNjb3BlQ2hhaW4oU2NvcGVDaGFpbiYgc2NvcGVDaGFpbikgeyBtX3Njb3BlQ2hhaW4gPSAm
c2NvcGVDaGFpbjsgfQogICAgIHByaXZhdGU6CiAgICAgICAgIHZvaWQgZW1pdE9wY29kZShPcGNv
ZGVJRCk7CiAgICAgICAgIHZvaWQgcmV0cmlldmVMYXN0QmluYXJ5T3AoaW50JiBkc3RJbmRleCwg
aW50JiBzcmMxSW5kZXgsIGludCYgc3JjMkluZGV4KTsKZGlmZiAtLWdpdCBhL0phdmFTY3JpcHRD
b3JlL1ZNL01hY2hpbmUuY3BwIGIvSmF2YVNjcmlwdENvcmUvVk0vTWFjaGluZS5jcHAKaW5kZXgg
ZWYzNmUwMy4uMDNiY2RlNyAxMDA2NDQKLS0tIGEvSmF2YVNjcmlwdENvcmUvVk0vTWFjaGluZS5j
cHAKKysrIGIvSmF2YVNjcmlwdENvcmUvVk0vTWFjaGluZS5jcHAKQEAgLTQ1NTcsMzQgKzQ1NTcs
MzAgQEAgVm9pZFB0clBhaXIgTWFjaGluZTo6Y3RpX29wX2NhbGxfSlNGdW5jdGlvbihDVElfQVJH
UykKICAgICBBU1NFUlQoQVJHX3NyYzEtPmdldENhbGxEYXRhKGNhbGxEYXRhKSA9PSBDYWxsVHlw
ZUpTKTsKICNlbmRpZgogCi0gICAgU2NvcGVDaGFpbk5vZGUqIGNhbGxEYXRhU2NvcGVDaGFpbiA9
IHN0YXRpY19jYXN0PEpTRnVuY3Rpb24qPihBUkdfc3JjMSktPm1fc2NvcGVDaGFpbi5ub2RlKCk7
Ci0gICAgQ29kZUJsb2NrKiBuZXdDb2RlQmxvY2sgPSAmc3RhdGljX2Nhc3Q8SlNGdW5jdGlvbio+
KEFSR19zcmMxKS0+bV9ib2R5LT5ieXRlQ29kZShjYWxsRGF0YVNjb3BlQ2hhaW4pOwotICAgIENh
bGxGcmFtZSogY2FsbEZyYW1lID0gQVJHX2NhbGxGcmFtZTsKLSAgICBzaXplX3QgcmVnaXN0ZXJP
ZmZzZXQgPSBBUkdfaW50MjsKLSAgICBpbnQgYXJnQ291bnQgPSBBUkdfaW50MzsKKyAgICBDb2Rl
QmxvY2sqIG5ld0NvZGVCbG9jayA9ICZzdGF0aWNfY2FzdDxKU0Z1bmN0aW9uKj4oQVJHX3NyYzEp
LT5tX2JvZHktPmdlbmVyYXRlZEJ5dGVDb2RlKCk7CiAKLSAgICBpZiAoTElLRUxZKGFyZ0NvdW50
ID09IG5ld0NvZGVCbG9jay0+bnVtUGFyYW1ldGVycykpIHsKLSAgICAgICAgVm9pZFB0clBhaXIg
cGFpciA9IHsgbmV3Q29kZUJsb2NrLCBDYWxsRnJhbWU6OmNyZWF0ZShjYWxsRnJhbWUtPnJlZ2lz
dGVycygpICsgcmVnaXN0ZXJPZmZzZXQpIH07CisgICAgaWYgKExJS0VMWShBUkdfaW50MyA9PSBu
ZXdDb2RlQmxvY2stPm51bVBhcmFtZXRlcnMpKSB7CisgICAgICAgIFZvaWRQdHJQYWlyIHBhaXIg
PSB7IG5ld0NvZGVCbG9jaywgQ2FsbEZyYW1lOjpjcmVhdGUoQVJHX2NhbGxGcmFtZS0+cmVnaXN0
ZXJzKCkgKyBBUkdfaW50MikgfTsKICAgICAgICAgcmV0dXJuIHBhaXI7CiAgICAgfQogCi0gICAg
aWYgKGFyZ0NvdW50ID4gbmV3Q29kZUJsb2NrLT5udW1QYXJhbWV0ZXJzKSB7CisgICAgaWYgKEFS
R19pbnQzID4gbmV3Q29kZUJsb2NrLT5udW1QYXJhbWV0ZXJzKSB7CiAgICAgICAgIHNpemVfdCBu
dW1QYXJhbWV0ZXJzID0gbmV3Q29kZUJsb2NrLT5udW1QYXJhbWV0ZXJzOwotICAgICAgICBSZWdp
c3RlciogciA9IGNhbGxGcmFtZS0+cmVnaXN0ZXJzKCkgKyByZWdpc3Rlck9mZnNldCArIG51bVBh
cmFtZXRlcnM7CisgICAgICAgIFJlZ2lzdGVyKiByID0gQVJHX2NhbGxGcmFtZS0+cmVnaXN0ZXJz
KCkgKyBBUkdfaW50MiArIG51bVBhcmFtZXRlcnM7CiAKLSAgICAgICAgUmVnaXN0ZXIqIGFyZ3Yg
PSByIC0gUmVnaXN0ZXJGaWxlOjpDYWxsRnJhbWVIZWFkZXJTaXplIC0gbnVtUGFyYW1ldGVycyAt
IGFyZ0NvdW50OworICAgICAgICBSZWdpc3RlciogYXJndiA9IHIgLSBSZWdpc3RlckZpbGU6OkNh
bGxGcmFtZUhlYWRlclNpemUgLSBudW1QYXJhbWV0ZXJzIC0gQVJHX2ludDM7CiAgICAgICAgIGZv
ciAoc2l6ZV90IGkgPSAwOyBpIDwgbnVtUGFyYW1ldGVyczsgKytpKQotICAgICAgICAgICAgYXJn
dltpICsgYXJnQ291bnRdID0gYXJndltpXTsKKyAgICAgICAgICAgIGFyZ3ZbaSArIEFSR19pbnQz
XSA9IGFyZ3ZbaV07CiAKICAgICAgICAgVm9pZFB0clBhaXIgcGFpciA9IHsgbmV3Q29kZUJsb2Nr
LCBDYWxsRnJhbWU6OmNyZWF0ZShyKSB9OwogICAgICAgICByZXR1cm4gcGFpcjsKICAgICB9CiAK
LSAgICBzaXplX3Qgb21pdHRlZEFyZ0NvdW50ID0gbmV3Q29kZUJsb2NrLT5udW1QYXJhbWV0ZXJz
IC0gYXJnQ291bnQ7Ci0gICAgUmVnaXN0ZXIqIHIgPSBjYWxsRnJhbWUtPnJlZ2lzdGVycygpICsg
cmVnaXN0ZXJPZmZzZXQgKyBvbWl0dGVkQXJnQ291bnQ7CisgICAgc2l6ZV90IG9taXR0ZWRBcmdD
b3VudCA9IG5ld0NvZGVCbG9jay0+bnVtUGFyYW1ldGVycyAtIEFSR19pbnQzOworICAgIFJlZ2lz
dGVyKiByID0gQVJHX2NhbGxGcmFtZS0+cmVnaXN0ZXJzKCkgKyBBUkdfaW50MiArIG9taXR0ZWRB
cmdDb3VudDsKICAgICBSZWdpc3RlciogbmV3RW5kID0gciArIG5ld0NvZGVCbG9jay0+bnVtQ2Fs
bGVlUmVnaXN0ZXJzOwogICAgIGlmICghQVJHX3JlZ2lzdGVyRmlsZS0+Z3JvdyhuZXdFbmQpKSB7
Ci0gICAgICAgIEFSR19nbG9iYWxEYXRhLT5leGNlcHRpb24gPSBjcmVhdGVTdGFja092ZXJmbG93
RXJyb3IoY2FsbEZyYW1lKTsKKyAgICAgICAgQVJHX2dsb2JhbERhdGEtPmV4Y2VwdGlvbiA9IGNy
ZWF0ZVN0YWNrT3ZlcmZsb3dFcnJvcihBUkdfY2FsbEZyYW1lKTsKICAgICAgICAgVk1fVEhST1df
RVhDRVBUSU9OXzIoKTsKICAgICB9CiAKQEAgLTQ2MTcsOCArNDYxMyw5IEBAIHZvaWQqIE1hY2hp
bmU6OmN0aV92bV9sYXp5TGlua0NhbGwoQ1RJX0FSR1MpCiB2b2lkKiBNYWNoaW5lOjpjdGlfdm1f
Y29tcGlsZShDVElfQVJHUykKIHsKICAgICBDb2RlQmxvY2sqIGNvZGVCbG9jayA9IEFSR19jYWxs
RnJhbWUtPmNvZGVCbG9jaygpOwotICAgIGlmICghY29kZUJsb2NrLT5jdGlDb2RlKQotICAgICAg
ICBDVEk6OmNvbXBpbGUoQVJHX2dsb2JhbERhdGEtPm1hY2hpbmUsIEFSR19jYWxsRnJhbWUsIGNv
ZGVCbG9jayk7CisgICAgQVNTRVJUKGNvZGVCbG9jay0+Y3RpQ29kZSA9PSAodm9pZCopY29kZWdl
blRodW5rKTsKKyAgICBjb2RlQmxvY2stPmN0aUNvZGUgPSAwOworICAgIENUSTo6Y29tcGlsZShB
UkdfZ2xvYmFsRGF0YS0+bWFjaGluZSwgQVJHX2NhbGxGcmFtZSwgY29kZUJsb2NrKTsKICAgICBy
ZXR1cm4gY29kZUJsb2NrLT5jdGlDb2RlOwogfQogCmRpZmYgLS1naXQgYS9KYXZhU2NyaXB0Q29y
ZS9ranMvSlNGdW5jdGlvbi5jcHAgYi9KYXZhU2NyaXB0Q29yZS9ranMvSlNGdW5jdGlvbi5jcHAK
aW5kZXggZDU0ZjE2MC4uN2I3NTEzYyAxMDA2NDQKLS0tIGEvSmF2YVNjcmlwdENvcmUva2pzL0pT
RnVuY3Rpb24uY3BwCisrKyBiL0phdmFTY3JpcHRDb3JlL2tqcy9KU0Z1bmN0aW9uLmNwcApAQCAt
MjcsNiArMjcsNyBAQAogCiAjaW5jbHVkZSAiQ29kZUJsb2NrLmgiCiAjaW5jbHVkZSAiQ29tbW9u
SWRlbnRpZmllcnMuaCIKKyNpbmNsdWRlICJDb2RlQmxvY2suaCIKICNpbmNsdWRlICJFeGVjU3Rh
dGUuaCIKICNpbmNsdWRlICJGdW5jdGlvblByb3RvdHlwZS5oIgogI2luY2x1ZGUgIkpTR2xvYmFs
T2JqZWN0LmgiCkBAIC00NSwxMSArNDYsMTggQEAgQVNTRVJUX0NMQVNTX0ZJVFNfSU5fQ0VMTChK
U0Z1bmN0aW9uKTsKIAogY29uc3QgQ2xhc3NJbmZvIEpTRnVuY3Rpb246OmluZm8gPSB7ICJGdW5j
dGlvbiIsIDAsIDAsIDAgfTsKIAotSlNGdW5jdGlvbjo6SlNGdW5jdGlvbihFeGVjU3RhdGUqIGV4
ZWMsIGNvbnN0IElkZW50aWZpZXImIG5hbWUsIEZ1bmN0aW9uQm9keU5vZGUqIGJvZHksIFNjb3Bl
Q2hhaW5Ob2RlKiBzY29wZUNoYWluTm9kZSkKK0pTRnVuY3Rpb246OkpTRnVuY3Rpb24oRXhlY1N0
YXRlKiBleGVjLCBjb25zdCBJZGVudGlmaWVyJiBuYW1lLCBGdW5jdGlvbkJvZHlOb2RlKiBib2R5
LCBTY29wZUNoYWluTm9kZSogc2NvcGVDaGFpbk5vZGUsIGJvb2wgZm9yRXhwcmVzc2lvbikKICAg
ICA6IEJhc2UoJmV4ZWMtPmdsb2JhbERhdGEoKSwgZXhlYy0+bGV4aWNhbEdsb2JhbE9iamVjdCgp
LT5mdW5jdGlvblN0cnVjdHVyZSgpLCBuYW1lKQogICAgICwgbV9ib2R5KGJvZHkpCiAgICAgLCBt
X3Njb3BlQ2hhaW4oc2NvcGVDaGFpbk5vZGUpCiB7CisjaWYgRU5BQkxFKENUSSkKKyAgICBpZiAo
Zm9yRXhwcmVzc2lvbikKKyAgICAgICAgcmV0dXJuOworICAgIENvZGVCbG9jayogY29kZUJsb2Nr
ID0gJmJvZHktPmJ5dGVDb2RlKHNjb3BlQ2hhaW5Ob2RlKTsKKyAgICBpZiAoIWNvZGVCbG9jay0+
Y3RpQ29kZSkKKyAgICAgICAgY29kZUJsb2NrLT5jdGlDb2RlID0gKHZvaWQqKWNvZGVnZW5UaHVu
azsKKyNlbmRpZgogfQogCiBKU0Z1bmN0aW9uOjp+SlNGdW5jdGlvbigpCmRpZmYgLS1naXQgYS9K
YXZhU2NyaXB0Q29yZS9ranMvSlNGdW5jdGlvbi5oIGIvSmF2YVNjcmlwdENvcmUva2pzL0pTRnVu
Y3Rpb24uaAppbmRleCBhZWYwMjJkLi4zMzc3ZmUwIDEwMDY0NAotLS0gYS9KYXZhU2NyaXB0Q29y
ZS9ranMvSlNGdW5jdGlvbi5oCisrKyBiL0phdmFTY3JpcHRDb3JlL2tqcy9KU0Z1bmN0aW9uLmgK
QEAgLTQ0LDcgKzQ0LDcgQEAgbmFtZXNwYWNlIEpTQyB7CiAgICAgICAgIHR5cGVkZWYgSW50ZXJu
YWxGdW5jdGlvbiBCYXNlOwogICAgICAgICBKU0Z1bmN0aW9uKFBhc3NSZWZQdHI8SlNDOjpTdHJ1
Y3R1cmVJRD4gc3QpIDogSW50ZXJuYWxGdW5jdGlvbihzdCksIG1fc2NvcGVDaGFpbihOb1Njb3Bl
Q2hhaW4oKSkge30KICAgICBwdWJsaWM6Ci0gICAgICAgIEpTRnVuY3Rpb24oRXhlY1N0YXRlKiwg
Y29uc3QgSWRlbnRpZmllciYsIEZ1bmN0aW9uQm9keU5vZGUqLCBTY29wZUNoYWluTm9kZSopOwor
ICAgICAgICBKU0Z1bmN0aW9uKEV4ZWNTdGF0ZSosIGNvbnN0IElkZW50aWZpZXImLCBGdW5jdGlv
bkJvZHlOb2RlKiwgU2NvcGVDaGFpbk5vZGUqLCBib29sIGZvckV4cHJlc3Npb24gPSBmYWxzZSk7
CiAgICAgICAgIH5KU0Z1bmN0aW9uKCk7CiAKICAgICAgICAgdmlydHVhbCBib29sIGdldE93blBy
b3BlcnR5U2xvdChFeGVjU3RhdGUqLCBjb25zdCBJZGVudGlmaWVyJiwgUHJvcGVydHlTbG90Jik7
CmRpZmYgLS1naXQgYS9KYXZhU2NyaXB0Q29yZS9ranMvbm9kZXMuY3BwIGIvSmF2YVNjcmlwdENv
cmUva2pzL25vZGVzLmNwcAppbmRleCA4ZDJmN2NlLi41NDBkZjliIDEwMDY0NAotLS0gYS9KYXZh
U2NyaXB0Q29yZS9ranMvbm9kZXMuY3BwCisrKyBiL0phdmFTY3JpcHRDb3JlL2tqcy9ub2Rlcy5j
cHAKQEAgLTE4ODYsNyArMTg4Niw3IEBAIFJlZ2lzdGVySUQqIEZ1bmNFeHByTm9kZTo6ZW1pdENv
ZGUoQ29kZUdlbmVyYXRvciYgZ2VuZXJhdG9yLCBSZWdpc3RlcklEKiBkc3QpCiAKIEpTRnVuY3Rp
b24qIEZ1bmNFeHByTm9kZTo6bWFrZUZ1bmN0aW9uKEV4ZWNTdGF0ZSogZXhlYywgU2NvcGVDaGFp
bk5vZGUqIHNjb3BlQ2hhaW4pCiB7Ci0gICAgSlNGdW5jdGlvbiogZnVuYyA9IG5ldyAoZXhlYykg
SlNGdW5jdGlvbihleGVjLCBtX2lkZW50LCBtX2JvZHkuZ2V0KCksIHNjb3BlQ2hhaW4pOworICAg
IEpTRnVuY3Rpb24qIGZ1bmMgPSBuZXcgKGV4ZWMpIEpTRnVuY3Rpb24oZXhlYywgbV9pZGVudCwg
bV9ib2R5LmdldCgpLCBzY29wZUNoYWluLCB0cnVlKTsKICAgICBKU09iamVjdCogcHJvdG8gPSBj
b25zdHJ1Y3RFbXB0eU9iamVjdChleGVjKTsKICAgICBwcm90by0+cHV0RGlyZWN0KGV4ZWMtPnBy
b3BlcnR5TmFtZXMoKS5jb25zdHJ1Y3RvciwgZnVuYywgRG9udEVudW0pOwogICAgIGZ1bmMtPnB1
dERpcmVjdChleGVjLT5wcm9wZXJ0eU5hbWVzKCkucHJvdG90eXBlLCBwcm90bywgRG9udERlbGV0
ZSk7CkBAIC0xOTAzLDcgKzE5MDMsMTIgQEAgSlNGdW5jdGlvbiogRnVuY0V4cHJOb2RlOjptYWtl
RnVuY3Rpb24oRXhlY1N0YXRlKiBleGVjLCBTY29wZUNoYWluTm9kZSogc2NvcGVDaGEKICAgICAg
ICAgSlNTdGF0aWNTY29wZU9iamVjdCogZnVuY3Rpb25TY29wZU9iamVjdCA9IG5ldyAoZXhlYykg
SlNTdGF0aWNTY29wZU9iamVjdChleGVjLCBtX2lkZW50LCBmdW5jLCBSZWFkT25seSB8IERvbnRE
ZWxldGUpOwogICAgICAgICBmdW5jLT5zY29wZSgpLnB1c2goZnVuY3Rpb25TY29wZU9iamVjdCk7
CiAgICAgfQotCisgICAgCisjaWYgRU5BQkxFKENUSSkKKyAgICBDb2RlQmxvY2sqIGNvZGVCbG9j
ayA9ICZtX2JvZHktPmJ5dGVDb2RlKGZ1bmMtPnNjb3BlKCkubm9kZSgpKTsKKyAgICBpZiAoIWNv
ZGVCbG9jay0+Y3RpQ29kZSkKKyAgICAgICAgY29kZUJsb2NrLT5jdGlDb2RlID0gKHZvaWQqKWNv
ZGVnZW5UaHVuazsKKyNlbmRpZgogICAgIHJldHVybiBmdW5jOwogfQogCmRpZmYgLS1naXQgYS9K
YXZhU2NyaXB0Q29yZS9ranMvbm9kZXMuaCBiL0phdmFTY3JpcHRDb3JlL2tqcy9ub2Rlcy5oCmlu
ZGV4IDAzZTRlNTQuLjhjOWYyY2QgMTAwNjQ0Ci0tLSBhL0phdmFTY3JpcHRDb3JlL2tqcy9ub2Rl
cy5oCisrKyBiL0phdmFTY3JpcHRDb3JlL2tqcy9ub2Rlcy5oCkBAIC0yMjYzLDcgKzIyNjMsNyBA
QCBuYW1lc3BhY2UgSlNDIHsKICAgICAgICAgdmlydHVhbCBSZWdpc3RlcklEKiBlbWl0Q29kZShD
b2RlR2VuZXJhdG9yJiwgUmVnaXN0ZXJJRCogPSAwKSBKU0NfRkFTVF9DQUxMOwogICAgICAgICAK
ICAgICAgICAgU3ltYm9sVGFibGUmIHN5bWJvbFRhYmxlKCkgeyByZXR1cm4gbV9zeW1ib2xUYWJs
ZTsgfSAvLyBGSVhNRTogUmVtb3ZlIHRoaXMKLSAgICAgICAgCisKICAgICAgICAgQ29kZUJsb2Nr
JiBieXRlQ29kZShTY29wZUNoYWluTm9kZSogc2NvcGVDaGFpbikgSlNDX0ZBU1RfQ0FMTAogICAg
ICAgICB7CiAgICAgICAgICAgICBBU1NFUlQoc2NvcGVDaGFpbik7CkBAIC0yMzE0LDYgKzIzMTQs
NyBAQCBuYW1lc3BhY2UgSlNDIHsKICAgICAgICAgc2l6ZV90IG1fcGFyYW1ldGVyQ291bnQ7CiAg
ICAgICAgIFN5bWJvbFRhYmxlIG1fc3ltYm9sVGFibGU7CiAgICAgICAgIE93blB0cjxDb2RlQmxv
Y2s+IG1fY29kZTsKKyAgICAgICAgT3duUHRyPENvZGVHZW5lcmF0b3I+IG1fZ2VuZXJhdG9yOwog
ICAgICAgICB1bnNpZ25lZCBtX3JlZkNvdW50OwogICAgIH07CiAK
</data>

          </attachment>
          <attachment
              isobsolete="0"
              ispatch="1"
              isprivate="0"
          >
            <attachid>24546</attachid>
            <date>2008-10-21 14:30:50 -0700</date>
            <delta_ts>2010-06-10 17:00:23 -0700</delta_ts>
            <desc>Yet another version</desc>
            <filename>branchless-call.patch</filename>
            <type>text/plain</type>
            <size>10176</size>
            <attacher name="Oliver Hunt">oliver</attacher>
            
              <data encoding="base64">ZGlmZiAtLWdpdCBhL0phdmFTY3JpcHRDb3JlL1ZNL0NUSS5jcHAgYi9KYXZhU2NyaXB0Q29yZS9W
TS9DVEkuY3BwCmluZGV4IGMwMmFmYmUuLjZhMzJkZDEgMTAwNjQ0Ci0tLSBhL0phdmFTY3JpcHRD
b3JlL1ZNL0NUSS5jcHAKKysrIGIvSmF2YVNjcmlwdENvcmUvVk0vQ1RJLmNwcApAQCAtMTI2LDcg
KzEyNiwxOCBAQCBTWU1CT0xfU1RSSU5HKGN0aVZNVGhyb3dUcmFtcG9saW5lKSAiOiIgIlxuIgog
ICAgICJwb3BsICVlc2kiICJcbiIKICAgICAicmV0IiAiXG4iCiApOwotICAgIAorCithc20oCisg
ICAgIi5nbG9ibCAiIFNZTUJPTF9TVFJJTkcoY29kZWdlblRodW5rKSAiXG4iCisgICAgU1lNQk9M
X1NUUklORyhjb2RlZ2VuVGh1bmspICI6IiAiXG4iCisgICAgInBvcGwgJWVkeCIgIlxuIgorICAg
ICJtb3ZsICVlZHgsIDE2KCVlc3ApIiAiXG4iCisgICAgIm1vdmwgJWVkaSwgNTYoJWVzcCkiICJc
biIKKyAgICAiY2FsbCAiIFNZTUJPTF9TVFJJTkcoX1pOM0pTQzdNYWNoaW5lMTRjdGlfdm1fY29t
cGlsZUVQdnopICJcbiIKKyAgICAibW92bCAxNiglZXNwKSwgJWVkeCIgIlxuIgorICAgICJwdXNo
bCAlZWR4IiAiXG4iCisgICAgImptcCAqJWVheCIgIlxuIgorKTsKICNlbGlmIENPTVBJTEVSKE1T
VkMpCiAKIGV4dGVybiAiQyIgewpAQCAtMjY4NSw3ICsyNjk2LDYgQEAgdm9pZCBDVEk6OnByaXZh
dGVDb21waWxlU2xvd0Nhc2VzKCkKICAgICAgICAgICAgIGVtaXRDVElDYWxsKGksIChvcGNvZGVJ
RCA9PSBvcF9jb25zdHJ1Y3QpID8gTWFjaGluZTo6Y3RpX29wX2NvbnN0cnVjdF9KU0NvbnN0cnVj
dCA6IE1hY2hpbmU6OmN0aV9vcF9jYWxsX0pTRnVuY3Rpb24pOwogICAgICAgICAgICAgLy8gaW5p
dGlhbGl6ZSB0aGUgbmV3IGNhbGwgZnJhbWUgKHBvaW50ZWQgdG8gYnkgZWR4LCBhZnRlciB0aGUg
bGFzdCBjYWxsKS4KICAgICAgICAgICAgIGNvbXBpbGVPcENhbGxJbml0aWFsaXplQ2FsbEZyYW1l
KGNhbGxlZSwgYXJnQ291bnQpOwotICAgICAgICAgICAgbV9qaXQubW92bF9ycihYODY6OmVkeCwg
WDg2OjplZGkpOwogCiAgICAgICAgICAgICAvLyBsb2FkIGN0aUNvZGUgZnJvbSB0aGUgbmV3IGNv
ZGVCbG9jay4KICAgICAgICAgICAgIG1faml0Lm1vdmxfbXIoT0JKRUNUX09GRlNFVChDb2RlQmxv
Y2ssIGN0aUNvZGUpLCBYODY6OmVheCwgWDg2OjplYXgpOwpAQCAtMjY5MywxMiArMjcwMyw2IEBA
IHZvaWQgQ1RJOjpwcml2YXRlQ29tcGlsZVNsb3dDYXNlcygpCiAgICAgICAgICAgICAvLyBNb3Zl
IHRoZSBuZXcgY2FsbGZyYW1lIGludG8gZWRpLgogICAgICAgICAgICAgbV9qaXQubW92bF9ycihY
ODY6OmVkeCwgWDg2OjplZGkpOwogCi0gICAgICAgICAgICAvLyBDaGVjayB0aGUgY3RpQ29kZSBo
YXMgYmVlbiBnZW5lcmF0ZWQgKGlmIG5vdCBjb21waWxlIGl0IG5vdyksIGFuZCBtYWtlIHRoZSBj
YWxsLgotICAgICAgICAgICAgbV9qaXQudGVzdGxfcnIoWDg2OjplYXgsIFg4Njo6ZWF4KTsKLSAg
ICAgICAgICAgIFg4NkFzc2VtYmxlcjo6Sm1wU3JjIGhhc0NvZGUgPSBtX2ppdC5lbWl0VW5saW5r
ZWRKbmUoKTsKLSAgICAgICAgICAgIGVtaXRDVElDYWxsKGksIE1hY2hpbmU6OmN0aV92bV9jb21w
aWxlKTsKLSAgICAgICAgICAgIG1faml0LmxpbmsoaGFzQ29kZSwgbV9qaXQubGFiZWwoKSk7Ci0K
ICAgICAgICAgICAgIGVtaXROYWtlZENhbGwoaSwgWDg2OjplYXgpOwogCiAgICAgICAgICAgICAv
LyBQdXQgdGhlIHJldHVybiB2YWx1ZSBpbiBkc3QuIEluIHRoZSBpbnRlcnByZXRlciwgb3BfcmV0
IGRvZXMgdGhpcy4KZGlmZiAtLWdpdCBhL0phdmFTY3JpcHRDb3JlL1ZNL0NvZGVCbG9jay5jcHAg
Yi9KYXZhU2NyaXB0Q29yZS9WTS9Db2RlQmxvY2suY3BwCmluZGV4IGNkZWVkZWEuLjhjMDE0ZTMg
MTAwNjQ0Ci0tLSBhL0phdmFTY3JpcHRDb3JlL1ZNL0NvZGVCbG9jay5jcHAKKysrIGIvSmF2YVNj
cmlwdENvcmUvVk0vQ29kZUJsb2NrLmNwcApAQCAtOTMwLDcgKzkzMCwxMSBAQCB2b2lkIENvZGVC
bG9jazo6ZHVtcChFeGVjU3RhdGUqIGV4ZWMsIGNvbnN0IFZlY3RvcjxJbnN0cnVjdGlvbj46OmNv
bnN0X2l0ZXJhdG9yJgogfQogCiAjZW5kaWYgLy8gIWRlZmluZWQoTkRFQlVHKSB8fCBFTkFCTEUo
U0FNUExJTkdfVE9PTCkKLQorICAgIAorICAgIAorICAgIGV4dGVybiAiQyIgeworICAgICAgICB2
b2lkIGNvZGVnZW5UaHVuaygpOworICAgIH0KIENvZGVCbG9jazo6fkNvZGVCbG9jaygpCiB7CiAg
ICAgc2l6ZV90IHNpemUgPSBzdHJ1Y3R1cmVJREluc3RydWN0aW9ucy5zaXplKCk7CkBAIC05NDcs
NyArOTUxLDcgQEAgQ29kZUJsb2NrOjp+Q29kZUJsb2NrKCkKICNpZiBFTkFCTEUoQ1RJKSAKICAg
ICB1bmxpbmtDYWxsZXJzKCk7CiAKLSAgICBpZiAoY3RpQ29kZSkKKyAgICBpZiAoY3RpQ29kZSAh
PSAodm9pZCopY29kZWdlblRodW5rKQogICAgICAgICBmYXN0RnJlZShjdGlDb2RlKTsKICNlbmRp
ZgogfQpkaWZmIC0tZ2l0IGEvSmF2YVNjcmlwdENvcmUvVk0vQ29kZUJsb2NrLmggYi9KYXZhU2Ny
aXB0Q29yZS9WTS9Db2RlQmxvY2suaAppbmRleCA5OTJiOTJhLi45ZWI5N2ZjIDEwMDY0NAotLS0g
YS9KYXZhU2NyaXB0Q29yZS9WTS9Db2RlQmxvY2suaAorKysgYi9KYXZhU2NyaXB0Q29yZS9WTS9D
b2RlQmxvY2suaApAQCAtMjAwLDcgKzIwMCwxMSBAQCBuYW1lc3BhY2UgSlNDIHsKIAogICAgICAg
ICBIYXNoTWFwPFJlZlB0cjxVU3RyaW5nOjpSZXA+LCBSZWZQdHI8RXZhbE5vZGU+ID4gY2FjaGVN
YXA7CiAgICAgfTsKLQorICAgIAorICAgIAorICAgIGV4dGVybiAiQyIgeworICAgICAgICB2b2lk
IGNvZGVnZW5UaHVuaygpOworICAgIH0KICAgICBzdHJ1Y3QgQ29kZUJsb2NrIHsKICAgICAgICAg
Q29kZUJsb2NrKFNjb3BlTm9kZSogb3duZXJOb2RlXywgQ29kZVR5cGUgY29kZVR5cGVfLCBQYXNz
UmVmUHRyPFNvdXJjZVByb3ZpZGVyPiBzb3VyY2VfLCB1bnNpZ25lZCBzb3VyY2VPZmZzZXRfKQog
ICAgICAgICAgICAgOiBvd25lck5vZGUob3duZXJOb2RlXykKZGlmZiAtLWdpdCBhL0phdmFTY3Jp
cHRDb3JlL1ZNL0NvZGVHZW5lcmF0b3IuaCBiL0phdmFTY3JpcHRDb3JlL1ZNL0NvZGVHZW5lcmF0
b3IuaAppbmRleCA3YzE0OTBjLi5mZTZkMTU0IDEwMDY0NAotLS0gYS9KYXZhU2NyaXB0Q29yZS9W
TS9Db2RlR2VuZXJhdG9yLmgKKysrIGIvSmF2YVNjcmlwdENvcmUvVk0vQ29kZUdlbmVyYXRvci5o
CkBAIC0zMjEsNiArMzIxLDcgQEAgbmFtZXNwYWNlIEpTQyB7CiAKICAgICAgICAgQ29kZVR5cGUg
Y29kZVR5cGUoKSBjb25zdCB7IHJldHVybiBtX2NvZGVUeXBlOyB9CiAKKyAgICAgICAgdm9pZCBy
ZXNldFNjb3BlQ2hhaW4oU2NvcGVDaGFpbiYgc2NvcGVDaGFpbikgeyBtX3Njb3BlQ2hhaW4gPSAm
c2NvcGVDaGFpbjsgfQogICAgIHByaXZhdGU6CiAgICAgICAgIHZvaWQgZW1pdE9wY29kZShPcGNv
ZGVJRCk7CiAgICAgICAgIHZvaWQgcmV0cmlldmVMYXN0QmluYXJ5T3AoaW50JiBkc3RJbmRleCwg
aW50JiBzcmMxSW5kZXgsIGludCYgc3JjMkluZGV4KTsKZGlmZiAtLWdpdCBhL0phdmFTY3JpcHRD
b3JlL1ZNL01hY2hpbmUuY3BwIGIvSmF2YVNjcmlwdENvcmUvVk0vTWFjaGluZS5jcHAKaW5kZXgg
NGY0NGI1NS4uODU4ZDFkNSAxMDA2NDQKLS0tIGEvSmF2YVNjcmlwdENvcmUvVk0vTWFjaGluZS5j
cHAKKysrIGIvSmF2YVNjcmlwdENvcmUvVk0vTWFjaGluZS5jcHAKQEAgLTQ2NjAsMzQgKzQ2NjAs
MzAgQEAgVm9pZFB0clBhaXIgTWFjaGluZTo6Y3RpX29wX2NhbGxfSlNGdW5jdGlvbihDVElfQVJH
UykKICAgICBBU1NFUlQoQVJHX3NyYzEtPmdldENhbGxEYXRhKGNhbGxEYXRhKSA9PSBDYWxsVHlw
ZUpTKTsKICNlbmRpZgogCi0gICAgU2NvcGVDaGFpbk5vZGUqIGNhbGxEYXRhU2NvcGVDaGFpbiA9
IGFzRnVuY3Rpb24oQVJHX3NyYzEpLT5tX3Njb3BlQ2hhaW4ubm9kZSgpOwotICAgIENvZGVCbG9j
ayogbmV3Q29kZUJsb2NrID0gJmFzRnVuY3Rpb24oQVJHX3NyYzEpLT5tX2JvZHktPmJ5dGVDb2Rl
KGNhbGxEYXRhU2NvcGVDaGFpbik7Ci0gICAgQ2FsbEZyYW1lKiBjYWxsRnJhbWUgPSBBUkdfY2Fs
bEZyYW1lOwotICAgIHNpemVfdCByZWdpc3Rlck9mZnNldCA9IEFSR19pbnQyOwotICAgIGludCBh
cmdDb3VudCA9IEFSR19pbnQzOworICAgIENvZGVCbG9jayogbmV3Q29kZUJsb2NrID0gJmFzRnVu
Y3Rpb24oQVJHX3NyYzEpLT5tX2JvZHktPmdlbmVyYXRlZEJ5dGVDb2RlKCk7CiAKLSAgICBpZiAo
TElLRUxZKGFyZ0NvdW50ID09IG5ld0NvZGVCbG9jay0+bnVtUGFyYW1ldGVycykpIHsKLSAgICAg
ICAgVm9pZFB0clBhaXIgcGFpciA9IHsgbmV3Q29kZUJsb2NrLCBDYWxsRnJhbWU6OmNyZWF0ZShj
YWxsRnJhbWUtPnJlZ2lzdGVycygpICsgcmVnaXN0ZXJPZmZzZXQpIH07CisgICAgaWYgKExJS0VM
WShBUkdfaW50MyA9PSBuZXdDb2RlQmxvY2stPm51bVBhcmFtZXRlcnMpKSB7CisgICAgICAgIFZv
aWRQdHJQYWlyIHBhaXIgPSB7IG5ld0NvZGVCbG9jaywgQ2FsbEZyYW1lOjpjcmVhdGUoQVJHX2Nh
bGxGcmFtZS0+cmVnaXN0ZXJzKCkgKyBBUkdfaW50MikgfTsKICAgICAgICAgcmV0dXJuIHBhaXI7
CiAgICAgfQogCi0gICAgaWYgKGFyZ0NvdW50ID4gbmV3Q29kZUJsb2NrLT5udW1QYXJhbWV0ZXJz
KSB7CisgICAgaWYgKEFSR19pbnQzID4gbmV3Q29kZUJsb2NrLT5udW1QYXJhbWV0ZXJzKSB7CiAg
ICAgICAgIHNpemVfdCBudW1QYXJhbWV0ZXJzID0gbmV3Q29kZUJsb2NrLT5udW1QYXJhbWV0ZXJz
OwotICAgICAgICBSZWdpc3RlciogciA9IGNhbGxGcmFtZS0+cmVnaXN0ZXJzKCkgKyByZWdpc3Rl
ck9mZnNldCArIG51bVBhcmFtZXRlcnM7CisgICAgICAgIFJlZ2lzdGVyKiByID0gQVJHX2NhbGxG
cmFtZS0+cmVnaXN0ZXJzKCkgKyBBUkdfaW50MiArIG51bVBhcmFtZXRlcnM7CiAKLSAgICAgICAg
UmVnaXN0ZXIqIGFyZ3YgPSByIC0gUmVnaXN0ZXJGaWxlOjpDYWxsRnJhbWVIZWFkZXJTaXplIC0g
bnVtUGFyYW1ldGVycyAtIGFyZ0NvdW50OworICAgICAgICBSZWdpc3RlciogYXJndiA9IHIgLSBS
ZWdpc3RlckZpbGU6OkNhbGxGcmFtZUhlYWRlclNpemUgLSBudW1QYXJhbWV0ZXJzIC0gQVJHX2lu
dDM7CiAgICAgICAgIGZvciAoc2l6ZV90IGkgPSAwOyBpIDwgbnVtUGFyYW1ldGVyczsgKytpKQot
ICAgICAgICAgICAgYXJndltpICsgYXJnQ291bnRdID0gYXJndltpXTsKKyAgICAgICAgICAgIGFy
Z3ZbaSArIEFSR19pbnQzXSA9IGFyZ3ZbaV07CiAKICAgICAgICAgVm9pZFB0clBhaXIgcGFpciA9
IHsgbmV3Q29kZUJsb2NrLCBDYWxsRnJhbWU6OmNyZWF0ZShyKSB9OwogICAgICAgICByZXR1cm4g
cGFpcjsKICAgICB9CiAKLSAgICBzaXplX3Qgb21pdHRlZEFyZ0NvdW50ID0gbmV3Q29kZUJsb2Nr
LT5udW1QYXJhbWV0ZXJzIC0gYXJnQ291bnQ7Ci0gICAgUmVnaXN0ZXIqIHIgPSBjYWxsRnJhbWUt
PnJlZ2lzdGVycygpICsgcmVnaXN0ZXJPZmZzZXQgKyBvbWl0dGVkQXJnQ291bnQ7CisgICAgc2l6
ZV90IG9taXR0ZWRBcmdDb3VudCA9IG5ld0NvZGVCbG9jay0+bnVtUGFyYW1ldGVycyAtIEFSR19p
bnQzOworICAgIFJlZ2lzdGVyKiByID0gQVJHX2NhbGxGcmFtZS0+cmVnaXN0ZXJzKCkgKyBBUkdf
aW50MiArIG9taXR0ZWRBcmdDb3VudDsKICAgICBSZWdpc3RlciogbmV3RW5kID0gciArIG5ld0Nv
ZGVCbG9jay0+bnVtQ2FsbGVlUmVnaXN0ZXJzOwogICAgIGlmICghQVJHX3JlZ2lzdGVyRmlsZS0+
Z3JvdyhuZXdFbmQpKSB7Ci0gICAgICAgIEFSR19nbG9iYWxEYXRhLT5leGNlcHRpb24gPSBjcmVh
dGVTdGFja092ZXJmbG93RXJyb3IoY2FsbEZyYW1lKTsKKyAgICAgICAgQVJHX2dsb2JhbERhdGEt
PmV4Y2VwdGlvbiA9IGNyZWF0ZVN0YWNrT3ZlcmZsb3dFcnJvcihBUkdfY2FsbEZyYW1lKTsKICAg
ICAgICAgVk1fVEhST1dfRVhDRVBUSU9OXzIoKTsKICAgICB9CiAKQEAgLTQ3MjQsOCArNDcyMCw5
IEBAIHZvaWQqIE1hY2hpbmU6OmN0aV92bV9jb21waWxlKENUSV9BUkdTKQogICAgIENUSV9TVEFD
S19IQUNLKCk7CiAKICAgICBDb2RlQmxvY2sqIGNvZGVCbG9jayA9IEFSR19jYWxsRnJhbWUtPmNv
ZGVCbG9jaygpOwotICAgIGlmICghY29kZUJsb2NrLT5jdGlDb2RlKQotICAgICAgICBDVEk6OmNv
bXBpbGUoQVJHX2dsb2JhbERhdGEtPm1hY2hpbmUsIEFSR19jYWxsRnJhbWUsIGNvZGVCbG9jayk7
CisgICAgQVNTRVJUKGNvZGVCbG9jay0+Y3RpQ29kZSA9PSAodm9pZCopY29kZWdlblRodW5rKTsK
KyAgICBjb2RlQmxvY2stPmN0aUNvZGUgPSAwOworICAgIENUSTo6Y29tcGlsZShBUkdfZ2xvYmFs
RGF0YS0+bWFjaGluZSwgQVJHX2NhbGxGcmFtZSwgY29kZUJsb2NrKTsKICAgICByZXR1cm4gY29k
ZUJsb2NrLT5jdGlDb2RlOwogfQogCmRpZmYgLS1naXQgYS9KYXZhU2NyaXB0Q29yZS9ranMvSlNG
dW5jdGlvbi5jcHAgYi9KYXZhU2NyaXB0Q29yZS9ranMvSlNGdW5jdGlvbi5jcHAKaW5kZXggYjk4
MDAxNC4uOTBiYTM3NiAxMDA2NDQKLS0tIGEvSmF2YVNjcmlwdENvcmUva2pzL0pTRnVuY3Rpb24u
Y3BwCisrKyBiL0phdmFTY3JpcHRDb3JlL2tqcy9KU0Z1bmN0aW9uLmNwcApAQCAtMjcsNiArMjcs
NyBAQAogCiAjaW5jbHVkZSAiQ29kZUJsb2NrLmgiCiAjaW5jbHVkZSAiQ29tbW9uSWRlbnRpZmll
cnMuaCIKKyNpbmNsdWRlICJDb2RlQmxvY2suaCIKICNpbmNsdWRlICJFeGVjU3RhdGUuaCIKICNp
bmNsdWRlICJGdW5jdGlvblByb3RvdHlwZS5oIgogI2luY2x1ZGUgIkpTR2xvYmFsT2JqZWN0Lmgi
CkBAIC00NSwxMSArNDYsMTggQEAgQVNTRVJUX0NMQVNTX0ZJVFNfSU5fQ0VMTChKU0Z1bmN0aW9u
KTsKIAogY29uc3QgQ2xhc3NJbmZvIEpTRnVuY3Rpb246OmluZm8gPSB7ICJGdW5jdGlvbiIsIDAs
IDAsIDAgfTsKIAotSlNGdW5jdGlvbjo6SlNGdW5jdGlvbihFeGVjU3RhdGUqIGV4ZWMsIGNvbnN0
IElkZW50aWZpZXImIG5hbWUsIEZ1bmN0aW9uQm9keU5vZGUqIGJvZHksIFNjb3BlQ2hhaW5Ob2Rl
KiBzY29wZUNoYWluTm9kZSkKK0pTRnVuY3Rpb246OkpTRnVuY3Rpb24oRXhlY1N0YXRlKiBleGVj
LCBjb25zdCBJZGVudGlmaWVyJiBuYW1lLCBGdW5jdGlvbkJvZHlOb2RlKiBib2R5LCBTY29wZUNo
YWluTm9kZSogc2NvcGVDaGFpbk5vZGUsIGJvb2wgZm9yRXhwcmVzc2lvbikKICAgICA6IEJhc2Uo
JmV4ZWMtPmdsb2JhbERhdGEoKSwgZXhlYy0+bGV4aWNhbEdsb2JhbE9iamVjdCgpLT5mdW5jdGlv
blN0cnVjdHVyZSgpLCBuYW1lKQogICAgICwgbV9ib2R5KGJvZHkpCiAgICAgLCBtX3Njb3BlQ2hh
aW4oc2NvcGVDaGFpbk5vZGUpCiB7CisjaWYgRU5BQkxFKENUSSkKKyAgICBpZiAoZm9yRXhwcmVz
c2lvbikKKyAgICAgICAgcmV0dXJuOworICAgIENvZGVCbG9jayogY29kZUJsb2NrID0gJmJvZHkt
PmJ5dGVDb2RlKHNjb3BlQ2hhaW5Ob2RlKTsKKyAgICBpZiAoIWNvZGVCbG9jay0+Y3RpQ29kZSkK
KyAgICAgICAgY29kZUJsb2NrLT5jdGlDb2RlID0gKHZvaWQqKWNvZGVnZW5UaHVuazsKKyNlbmRp
ZgogfQogCiBKU0Z1bmN0aW9uOjp+SlNGdW5jdGlvbigpCmRpZmYgLS1naXQgYS9KYXZhU2NyaXB0
Q29yZS9ranMvSlNGdW5jdGlvbi5oIGIvSmF2YVNjcmlwdENvcmUva2pzL0pTRnVuY3Rpb24uaApp
bmRleCBkMmMyYzY3Li41YWM3YmQ5IDEwMDY0NAotLS0gYS9KYXZhU2NyaXB0Q29yZS9ranMvSlNG
dW5jdGlvbi5oCisrKyBiL0phdmFTY3JpcHRDb3JlL2tqcy9KU0Z1bmN0aW9uLmgKQEAgLTQ0LDcg
KzQ0LDcgQEAgbmFtZXNwYWNlIEpTQyB7CiAgICAgICAgIHR5cGVkZWYgSW50ZXJuYWxGdW5jdGlv
biBCYXNlOwogICAgICAgICBKU0Z1bmN0aW9uKFBhc3NSZWZQdHI8SlNDOjpTdHJ1Y3R1cmVJRD4g
c3QpIDogSW50ZXJuYWxGdW5jdGlvbihzdCksIG1fc2NvcGVDaGFpbihOb1Njb3BlQ2hhaW4oKSkg
e30KICAgICBwdWJsaWM6Ci0gICAgICAgIEpTRnVuY3Rpb24oRXhlY1N0YXRlKiwgY29uc3QgSWRl
bnRpZmllciYsIEZ1bmN0aW9uQm9keU5vZGUqLCBTY29wZUNoYWluTm9kZSopOworICAgICAgICBK
U0Z1bmN0aW9uKEV4ZWNTdGF0ZSosIGNvbnN0IElkZW50aWZpZXImLCBGdW5jdGlvbkJvZHlOb2Rl
KiwgU2NvcGVDaGFpbk5vZGUqLCBib29sIGZvckV4cHJlc3Npb24gPSBmYWxzZSk7CiAgICAgICAg
IH5KU0Z1bmN0aW9uKCk7CiAKICAgICAgICAgdmlydHVhbCBib29sIGdldE93blByb3BlcnR5U2xv
dChFeGVjU3RhdGUqLCBjb25zdCBJZGVudGlmaWVyJiwgUHJvcGVydHlTbG90Jik7CmRpZmYgLS1n
aXQgYS9KYXZhU2NyaXB0Q29yZS9ranMvbm9kZXMuY3BwIGIvSmF2YVNjcmlwdENvcmUva2pzL25v
ZGVzLmNwcAppbmRleCA4NTUwMmRjLi4zZGZjZWViIDEwMDY0NAotLS0gYS9KYXZhU2NyaXB0Q29y
ZS9ranMvbm9kZXMuY3BwCisrKyBiL0phdmFTY3JpcHRDb3JlL2tqcy9ub2Rlcy5jcHAKQEAgLTE4
ODYsNyArMTg4Niw3IEBAIFJlZ2lzdGVySUQqIEZ1bmNFeHByTm9kZTo6ZW1pdENvZGUoQ29kZUdl
bmVyYXRvciYgZ2VuZXJhdG9yLCBSZWdpc3RlcklEKiBkc3QpCiAKIEpTRnVuY3Rpb24qIEZ1bmNF
eHByTm9kZTo6bWFrZUZ1bmN0aW9uKEV4ZWNTdGF0ZSogZXhlYywgU2NvcGVDaGFpbk5vZGUqIHNj
b3BlQ2hhaW4pCiB7Ci0gICAgSlNGdW5jdGlvbiogZnVuYyA9IG5ldyAoZXhlYykgSlNGdW5jdGlv
bihleGVjLCBtX2lkZW50LCBtX2JvZHkuZ2V0KCksIHNjb3BlQ2hhaW4pOworICAgIEpTRnVuY3Rp
b24qIGZ1bmMgPSBuZXcgKGV4ZWMpIEpTRnVuY3Rpb24oZXhlYywgbV9pZGVudCwgbV9ib2R5Lmdl
dCgpLCBzY29wZUNoYWluLCB0cnVlKTsKICAgICBKU09iamVjdCogcHJvdG8gPSBjb25zdHJ1Y3RF
bXB0eU9iamVjdChleGVjKTsKICAgICBwcm90by0+cHV0RGlyZWN0KGV4ZWMtPnByb3BlcnR5TmFt
ZXMoKS5jb25zdHJ1Y3RvciwgZnVuYywgRG9udEVudW0pOwogICAgIGZ1bmMtPnB1dERpcmVjdChl
eGVjLT5wcm9wZXJ0eU5hbWVzKCkucHJvdG90eXBlLCBwcm90bywgRG9udERlbGV0ZSk7CkBAIC0x
OTAzLDcgKzE5MDMsMTIgQEAgSlNGdW5jdGlvbiogRnVuY0V4cHJOb2RlOjptYWtlRnVuY3Rpb24o
RXhlY1N0YXRlKiBleGVjLCBTY29wZUNoYWluTm9kZSogc2NvcGVDaGEKICAgICAgICAgSlNTdGF0
aWNTY29wZU9iamVjdCogZnVuY3Rpb25TY29wZU9iamVjdCA9IG5ldyAoZXhlYykgSlNTdGF0aWNT
Y29wZU9iamVjdChleGVjLCBtX2lkZW50LCBmdW5jLCBSZWFkT25seSB8IERvbnREZWxldGUpOwog
ICAgICAgICBmdW5jLT5zY29wZSgpLnB1c2goZnVuY3Rpb25TY29wZU9iamVjdCk7CiAgICAgfQot
CisgICAgCisjaWYgRU5BQkxFKENUSSkKKyAgICBDb2RlQmxvY2sqIGNvZGVCbG9jayA9ICZtX2Jv
ZHktPmJ5dGVDb2RlKGZ1bmMtPnNjb3BlKCkubm9kZSgpKTsKKyAgICBpZiAoIWNvZGVCbG9jay0+
Y3RpQ29kZSkKKyAgICAgICAgY29kZUJsb2NrLT5jdGlDb2RlID0gKHZvaWQqKWNvZGVnZW5UaHVu
azsKKyNlbmRpZgogICAgIHJldHVybiBmdW5jOwogfQogCmRpZmYgLS1naXQgYS9KYXZhU2NyaXB0
Q29yZS9ranMvbm9kZXMuaCBiL0phdmFTY3JpcHRDb3JlL2tqcy9ub2Rlcy5oCmluZGV4IDFhOWNi
YTcuLmEzMTRjOTkgMTAwNjQ0Ci0tLSBhL0phdmFTY3JpcHRDb3JlL2tqcy9ub2Rlcy5oCisrKyBi
L0phdmFTY3JpcHRDb3JlL2tqcy9ub2Rlcy5oCkBAIC0yMjYzLDcgKzIyNjMsNyBAQCBuYW1lc3Bh
Y2UgSlNDIHsKICAgICAgICAgdmlydHVhbCBSZWdpc3RlcklEKiBlbWl0Q29kZShDb2RlR2VuZXJh
dG9yJiwgUmVnaXN0ZXJJRCogPSAwKSBKU0NfRkFTVF9DQUxMOwogICAgICAgICAKICAgICAgICAg
U3ltYm9sVGFibGUmIHN5bWJvbFRhYmxlKCkgeyByZXR1cm4gbV9zeW1ib2xUYWJsZTsgfSAvLyBG
SVhNRTogUmVtb3ZlIHRoaXMKLSAgICAgICAgCisKICAgICAgICAgQ29kZUJsb2NrJiBieXRlQ29k
ZShTY29wZUNoYWluTm9kZSogc2NvcGVDaGFpbikgSlNDX0ZBU1RfQ0FMTAogICAgICAgICB7CiAg
ICAgICAgICAgICBBU1NFUlQoc2NvcGVDaGFpbik7CkBAIC0yMzE0LDYgKzIzMTQsNyBAQCBuYW1l
c3BhY2UgSlNDIHsKICAgICAgICAgc2l6ZV90IG1fcGFyYW1ldGVyQ291bnQ7CiAgICAgICAgIFN5
bWJvbFRhYmxlIG1fc3ltYm9sVGFibGU7CiAgICAgICAgIE93blB0cjxDb2RlQmxvY2s+IG1fY29k
ZTsKKyAgICAgICAgT3duUHRyPENvZGVHZW5lcmF0b3I+IG1fZ2VuZXJhdG9yOwogICAgICAgICB1
bnNpZ25lZCBtX3JlZkNvdW50OwogICAgIH07CiAK
</data>

          </attachment>
      

    </bug>

</bugzilla>