bin_float parser

Vitaly Budovski <[email protected]> Fri, 15 Jul 2011 09:00:07 +0200
Newsgroups gmane.comp.parsers.spirit.devel
Message-ID <CANuOShKoVBSnJTY552BxmY35+=izBEARvMdBYcdxup7DuA3q6g@mail.gmail.com>
--0015176f030428520e04a816337b
Content-Type: text/plain; charset=UTF-8

Hi,

Now that Boost 1.47 has been released, I'm hoping to get the following
parsers added for the next version.
Attempt #2, which has hopefully addressed all of the issues from the
previous submission. Please see attached diffs and test case.


Cheers,

Vitaly

--0015176f030428520e04a816337b
Content-Type: text/x-c++src; charset=US-ASCII; name="float.cpp"
Content-Disposition: attachment; filename="float.cpp"
Content-Transfer-Encoding: base64
X-Attachment-Id: f_gp0xrozc0

LyoqCiogIENvcHlyaWdodCAoYykgMjAxMSBVYmltZXQKKgoqICBEaXN0cmlidXRlZCB1bmRlciB0
aGUgQm9vc3QgU29mdHdhcmUgTGljZW5zZSwgVmVyc2lvbiAxLjAuIChTZWUgYWNjb21wYW55aW5n
CiogIGZpbGUgTElDRU5TRV8xXzAudHh0IG9yIGNvcHkgYXQgaHR0cDovL3d3dy5ib29zdC5vcmcv
TElDRU5TRV8xXzAudHh0KQoqKi8KCiNpbmNsdWRlIDxib29zdC9hc3NpZ24vc3RkL3ZlY3Rvci5o
cHA+CiNpbmNsdWRlIDxib29zdC9mdXNpb24vaW5jbHVkZS9hZGFwdF9zdHJ1Y3QuaHBwPgojaW5j
bHVkZSA8Ym9vc3Qvc3Bpcml0L2luY2x1ZGUva2FybWEuaHBwPgojaW5jbHVkZSA8Ym9vc3Qvc3Bp
cml0L2luY2x1ZGUva2FybWFfYmluYXJ5LmhwcD4KI2luY2x1ZGUgPGJvb3N0L3NwaXJpdC9pbmNs
dWRlL3FpLmhwcD4KI2luY2x1ZGUgPGJvb3N0L3NwaXJpdC9pbmNsdWRlL3FpX2JpbmFyeS5ocHA+
CiNpbmNsdWRlIDxib29zdC9zcGlyaXQvaW5jbHVkZS9waG9lbml4X2NvcmUuaHBwPgojaW5jbHVk
ZSA8Ym9vc3Qvc3Bpcml0L2luY2x1ZGUvcGhvZW5peF9vcGVyYXRvci5ocHA+CiNpbmNsdWRlIDxi
b29zdC9zcGlyaXQvaW5jbHVkZS9zdXBwb3J0X211bHRpX3Bhc3MuaHBwPgojaW5jbHVkZSA8YWxn
b3JpdGhtPgojaW5jbHVkZSA8Y2Fzc2VydD4KI2luY2x1ZGUgPGNsaW1pdHM+CiNpbmNsdWRlIDxp
b3N0cmVhbT4KI2luY2x1ZGUgPGl0ZXJhdG9yPgojaW5jbHVkZSA8ZnN0cmVhbT4KI2luY2x1ZGUg
PHZlY3Rvcj4KdXNpbmcgbmFtZXNwYWNlIGJvb3N0Ojphc3NpZ247CgpzdHJ1Y3QgZmxvYXRfZGF0
YQp7CiAgICBmbG9hdCBmOwogICAgZG91YmxlIGQ7CiAgICBzdGQ6OnZlY3RvcjxmbG9hdD4gdmY7
CiAgICBzdGQ6OnZlY3Rvcjxkb3VibGU+IHZkOwoKICAgIGJvb2wgb3BlcmF0b3I9PShjb25zdCBm
bG9hdF9kYXRhICZyaHMpIGNvbnN0CiAgICB7CiAgICAgICAgcmV0dXJuIGYgPT0gcmhzLmYgJiYg
ZCA9PSByaHMuZCAmJgogICAgICAgICAgICBzdGQ6OmVxdWFsKHZmLmJlZ2luKCksIHZmLmVuZCgp
LCByaHMudmYuYmVnaW4oKSkgJiYKICAgICAgICAgICAgc3RkOjplcXVhbCh2ZC5iZWdpbigpLCB2
ZC5lbmQoKSwgcmhzLnZkLmJlZ2luKCkpOwogICAgfQp9OwoKQk9PU1RfRlVTSU9OX0FEQVBUX1NU
UlVDVAooCiAgICBmbG9hdF9kYXRhLAogICAgKGZsb2F0LCBmKQogICAgKGRvdWJsZSwgZCkKICAg
IChzdGQ6OnZlY3RvcjxmbG9hdD4sIHZmKQogICAgKHN0ZDo6dmVjdG9yPGRvdWJsZT4sIHZkKQop
Cgp0ZW1wbGF0ZTx0eXBlbmFtZSBJdGVyYXRvcj4Kc3RydWN0IGZsb2F0X3BhcnNlcjogYm9vc3Q6
OnNwaXJpdDo6cWk6OmdyYW1tYXI8SXRlcmF0b3IsIGZsb2F0X2RhdGEoKT4KewogICAgZmxvYXRf
cGFyc2VyKCk6IGZsb2F0X3BhcnNlcjo6YmFzZV90eXBlKHN0YXJ0KQogICAgewogICAgICAgIHVz
aW5nIGJvb3N0OjpzcGlyaXQ6OmJ5dGVfOwogICAgICAgIHVzaW5nIGJvb3N0OjpzcGlyaXQ6OmJp
bl9mbG9hdDsKICAgICAgICB1c2luZyBib29zdDo6c3Bpcml0OjpiaWdfYmluX2Zsb2F0OwogICAg
ICAgIHVzaW5nIGJvb3N0OjpzcGlyaXQ6OmxpdHRsZV9iaW5fZmxvYXQ7CiAgICAgICAgdXNpbmcg
Ym9vc3Q6OnNwaXJpdDo6YmluX2RvdWJsZTsKICAgICAgICB1c2luZyBib29zdDo6c3Bpcml0Ojpi
aWdfYmluX2RvdWJsZTsKICAgICAgICB1c2luZyBib29zdDo6c3Bpcml0OjpsaXR0bGVfYmluX2Rv
dWJsZTsKICAgICAgICB1c2luZyBib29zdDo6c3Bpcml0OjpyZXBlYXQ7CgogICAgICAgIHN0YXJ0
ID0KICAgICAgICAgICAgKAogICAgICAgICAgICAgICAgYmluX2Zsb2F0KDEuMGYpID4+IGJpZ19i
aW5fZmxvYXQoMS4wZikgPj4KICAgICAgICAgICAgICAgICAgICBsaXR0bGVfYmluX2Zsb2F0KDEu
MGYpID4+IGJpbl9kb3VibGUoMS4wKSA+PgogICAgICAgICAgICAgICAgICAgIGJpZ19iaW5fZG91
YmxlKDEuMCkgPj4gbGl0dGxlX2Jpbl9kb3VibGUoMS4wKQogICAgICAgICAgICApID4+CiAgICAg
ICAgICAgICgKICAgICAgICAgICAgICAgIGJpbl9mbG9hdCA+PiBiaW5fZG91YmxlID4+IHJlcGVh
dCg3KVtiaW5fZmxvYXRdID4+CiAgICAgICAgICAgICAgICAgICAgcmVwZWF0KDUpW2Jpbl9kb3Vi
bGVdCiAgICAgICAgICAgICkKICAgICAgICA7CiAgICB9CgogICAgYm9vc3Q6OnNwaXJpdDo6cWk6
OnJ1bGU8SXRlcmF0b3IsIGZsb2F0X2RhdGEoKT4gc3RhcnQ7Cn07Cgp0ZW1wbGF0ZTx0eXBlbmFt
ZSBPdXRwdXRJdGVyYXRvcj4Kc3RydWN0IGZsb2F0X2dlbmVyYXRvcjogYm9vc3Q6OnNwaXJpdDo6
a2FybWE6OmdyYW1tYXI8T3V0cHV0SXRlcmF0b3IsCiAgICBmbG9hdF9kYXRhKCk+CnsKICAgIGZs
b2F0X2dlbmVyYXRvcigpOiBmbG9hdF9nZW5lcmF0b3I6OmJhc2VfdHlwZShzdGFydCkKICAgIHsK
ICAgICAgICB1c2luZyBib29zdDo6c3Bpcml0OjpieXRlXzsKICAgICAgICB1c2luZyBib29zdDo6
c3Bpcml0OjpiaW5fZmxvYXQ7CiAgICAgICAgdXNpbmcgYm9vc3Q6OnNwaXJpdDo6YmlnX2Jpbl9m
bG9hdDsKICAgICAgICB1c2luZyBib29zdDo6c3Bpcml0OjpsaXR0bGVfYmluX2Zsb2F0OwogICAg
ICAgIHVzaW5nIGJvb3N0OjpzcGlyaXQ6OmJpbl9kb3VibGU7CiAgICAgICAgdXNpbmcgYm9vc3Q6
OnNwaXJpdDo6YmlnX2Jpbl9kb3VibGU7CiAgICAgICAgdXNpbmcgYm9vc3Q6OnNwaXJpdDo6bGl0
dGxlX2Jpbl9kb3VibGU7CgogICAgICAgIHN0YXJ0ID0KICAgICAgICAgICAgKAogICAgICAgICAg
ICAgICAgYmluX2Zsb2F0KDEuMGYpIDw8IGJpZ19iaW5fZmxvYXQoMS4wZikgPDwKICAgICAgICAg
ICAgICAgICAgICBsaXR0bGVfYmluX2Zsb2F0KDEuMGYpIDw8IGJpbl9kb3VibGUoMS4wKSA8PAog
ICAgICAgICAgICAgICAgICAgIGJpZ19iaW5fZG91YmxlKDEuMCkgPDwgbGl0dGxlX2Jpbl9kb3Vi
bGUoMS4wKQogICAgICAgICAgICApIDw8CiAgICAgICAgICAgICgKICAgICAgICAgICAgICAgIGJp
bl9mbG9hdCA8PCBiaW5fZG91YmxlIDw8ICpiaW5fZmxvYXQgPDwKICAgICAgICAgICAgICAgICAg
ICAqYmluX2RvdWJsZQogICAgICAgICAgICApCiAgICAgICAgOwogICAgfQoKICAgIGJvb3N0Ojpz
cGlyaXQ6Omthcm1hOjpydWxlPE91dHB1dEl0ZXJhdG9yLCBmbG9hdF9kYXRhKCk+IHN0YXJ0Owp9
OwoKaW50IG1haW4oKQp7CiAgICBzdGQ6Om9mc3RyZWFtIG91dCgiZmxvYXQuYmluIiwgc3RkOjpp
b3M6OmJpbmFyeSB8IHN0ZDo6aW9zOjp0cnVuYyk7CiAgICBpZighb3V0KQogICAgewogICAgICAg
IHN0ZDo6Y2VyciA8PCAiRmFpbGVkIHRvIG9wZW4gb3V0cHV0IGZpbGVcbiI7CiAgICAgICAgcmV0
dXJuIDE7CiAgICB9CgogICAgdHlwZWRlZiBzdGQ6Om9zdHJlYW1faXRlcmF0b3I8Y2hhcj4gaXRl
cmF0b3I7CiAgICB0eXBlZGVmIGZsb2F0X2dlbmVyYXRvcjxpdGVyYXRvcj4gZmxvYXRfZ2VuZXJh
dG9yOwogICAgZmxvYXRfZ2VuZXJhdG9yIGZnOwoKICAgIGZsb2F0X2RhdGEgZmQxOwogICAgZmQx
LmYgPSAzLjE0MTZmOyAvLyBQaS4KICAgIGZkMS5kID0gMS40MTQyMTM1NjsgLy8gU3FydCgyKQog
ICAgZmQxLnZmICs9IDEuMGYsIDEuMGYsIDIuMGYsIDMuMGYsIDUuMGYsIDguMGYsIDEzLjBmOyAv
LyBGaWJvbmFjY2kuCiAgICBmZDEudmQgKz0gMi4wLCAzLjAsIDUuMCwgNy4wLCAxMS4wOyAvLyBQ
cmltZXMuCgogICAgYm9vbCByZXN1bHQgPSBib29zdDo6c3Bpcml0OjprYXJtYTo6Z2VuZXJhdGUo
aXRlcmF0b3Iob3V0KSwgZmcsIGZkMSk7CgogICAgb3V0LmNsb3NlKCk7CgogICAgaWYoIXJlc3Vs
dCkKICAgIHsKICAgICAgICBzdGQ6OmNlcnIgPDwgIkZhaWxlZCB0byBnZW5lcmF0ZVxuIjsKICAg
ICAgICByZXR1cm4gMTsKICAgIH0KCiAgICBzdGQ6Omlmc3RyZWFtIGluKCJmbG9hdC5iaW4iLCBz
dGQ6Omlvczo6YmluYXJ5KTsKICAgIGlmKCFpbikKICAgIHsKICAgICAgICBzdGQ6OmNlcnIgPDwg
IkZhaWxlZCB0byBvcGVuIGlucHV0IGZpbGVcbiI7CiAgICAgICAgcmV0dXJuIDE7CiAgICB9Cgog
ICAgbmFtZXNwYWNlIHNwaXJpdCA9IGJvb3N0OjpzcGlyaXQ7CgogICAgdHlwZWRlZiBzdGQ6Omlz
dHJlYW1idWZfaXRlcmF0b3I8Y2hhcj4gYmFzZV9pdGVyYXRvcl90eXBlOwogICAgc3Bpcml0Ojpt
dWx0aV9wYXNzPGJhc2VfaXRlcmF0b3JfdHlwZT4gZmlyc3QgPQogICAgICAgIHNwaXJpdDo6bWFr
ZV9kZWZhdWx0X211bHRpX3Bhc3MoYmFzZV9pdGVyYXRvcl90eXBlKGluKSk7CiAgICBzcGlyaXQ6
Om11bHRpX3Bhc3M8YmFzZV9pdGVyYXRvcl90eXBlPiBsYXN0ID0KICAgICAgICBzcGlyaXQ6Om1h
a2VfZGVmYXVsdF9tdWx0aV9wYXNzKGJhc2VfaXRlcmF0b3JfdHlwZSgpKTsKCiAgICB0eXBlZGVm
IGZsb2F0X3BhcnNlcjxzcGlyaXQ6Om11bHRpX3Bhc3M8CiAgICAgICAgYmFzZV9pdGVyYXRvcl90
eXBlPiA+IGZsb2F0X3BhcnNlcjsKICAgIGZsb2F0X3BhcnNlciBmcDsKCiAgICBmbG9hdF9kYXRh
IGZkMjsKICAgIGJvb2wgcmVzdWx0MiA9IHBhcnNlKGZpcnN0LCBsYXN0LCBmcCwgZmQyKTsKCiAg
ICBpbi5jbG9zZSgpOwoKICAgIGlmKCFyZXN1bHQyIHx8IGZpcnN0ICE9IGxhc3QpCiAgICB7CiAg
ICAgICAgc3RkOjpjZXJyIDw8ICJGYWlsZWQgdG8gcGFyc2VcbiI7CiAgICAgICAgcmV0dXJuIDE7
CiAgICB9CgogICAgYXNzZXJ0KGZkMiA9PSBmZDEpOwoKICAgIHJldHVybiAwOwp9Cg==
--0015176f030428520e04a816337b
Content-Type: text/x-patch; charset=US-ASCII; name="binary.qbk.diff"
Content-Disposition: attachment; filename="binary.qbk.diff"
Content-Transfer-Encoding: base64
X-Attachment-Id: f_gp0xsgb31

SW5kZXg6IGRvYy9xaS9iaW5hcnkucWJrCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIGRvYy9xaS9iaW5hcnkucWJr
CShyZXZpc2lvbiA3MjYxOSkKKysrIGRvYy9xaS9iaW5hcnkucWJrCSh3b3JraW5nIGNvcHkpCkBA
IC00Myw2ICs0Myw4IEBACiAgICAgW1tgYm9vc3Q6OnNwaXJpdDo6d29yZCAgICAgIC8vIGFsaWFz
OiBib29zdDo6c3Bpcml0OjpxaTo6d29yZGBdXQogICAgIFtbYGJvb3N0OjpzcGlyaXQ6OmR3b3Jk
ICAgICAvLyBhbGlhczogYm9vc3Q6OnNwaXJpdDo6cWk6OmR3b3JkYF1dCiAgICAgW1tgYm9vc3Q6
OnNwaXJpdDo6cXdvcmQgICAgIC8vIGFsaWFzOiBib29zdDo6c3Bpcml0OjpxaTo6cXdvcmRgXV0K
KyAgICBbW2Bib29zdDo6c3Bpcml0OjpiaW5fZmxvYXQgICAgIC8vIGFsaWFzOiBib29zdDo6c3Bp
cml0OjpxaTo6YmluX2Zsb2F0YF1dCisgICAgW1tgYm9vc3Q6OnNwaXJpdDo6YmluX2RvdWJsZSAg
ICAgLy8gYWxpYXM6IGJvb3N0OjpzcGlyaXQ6OnFpOjpiaW5fZG91YmxlYF1dCiBdCiAKIFtub3Rl
IGBxd29yZGAgaXMgb25seSBhdmFpbGFibGUgb24gcGxhdGZvcm1zIHdoZXJlIHRoZSBwcmVwcm9j
ZXNzb3IKQEAgLTY2LDYgKzY4LDEyIEBACiAgICAgW1tgcXdgXSAgIFtBIDY0IGJpdCBiaW5hcnkg
dmFsdWUgb3IgYSBfX3FpX2xhenlfYXJndW1lbnRfXyB0aGF0IAogICAgICAgICAgICAgICAgZXZh
bHVhdGVzIHRvIGEgNjQgYml0IGJpbmFyeSB2YWx1ZS4gVGhpcyB2YWx1ZSBpcyBhbHdheXMgCiAg
ICAgICAgICAgICAgICBpbiBuYXRpdmUgZW5kaWFuLl1dCisgICAgW1tgZmBdICAgIFtBIGZsb2F0
IGJpbmFyeSB2YWx1ZSBvciBhIF9fcWlfbGF6eV9hcmd1bWVudF9fIHRoYXQgCisgICAgICAgICAg
ICAgICBldmFsdWF0ZXMgdG8gYSBmbG9hdCBiaW5hcnkgdmFsdWUuIFRoaXMgdmFsdWUgaXMgYWx3
YXlzIAorICAgICAgICAgICAgICAgaW4gbmF0aXZlIGVuZGlhbi5dXQorICAgIFtbYGRgXSAgICBb
QSBkb3VibGUgYmluYXJ5IHZhbHVlIG9yIGEgX19xaV9sYXp5X2FyZ3VtZW50X18gdGhhdCAKKyAg
ICAgICAgICAgICAgIGV2YWx1YXRlcyB0byBhIGRvdWJsZSBiaW5hcnkgdmFsdWUuIFRoaXMgdmFs
dWUgaXMgYWx3YXlzIAorICAgICAgICAgICAgICAgaW4gbmF0aXZlIGVuZGlhbi5dXQogXQogCiBb
aGVhZGluZyBFeHByZXNzaW9uIFNlbWFudGljc10KQEAgLTgzLDYgKzkxLDggQEAKICAgICBbW2B3
b3JkKHcpYF0gICAgICAgICAgICBbTWF0Y2hlcyBhbiBleGFjdCAxNiBiaXQgbmF0aXZlIGVuZGlh
biBiaW5hcnkuXV0KICAgICBbW2Bkd29yZChkdylgXSAgICAgICAgICBbTWF0Y2hlcyBhbiBleGFj
dCAzMiBiaXQgbmF0aXZlIGVuZGlhbiBiaW5hcnkuXV0KICAgICBbW2Bxd29yZChxdylgXSAgICAg
ICAgICBbTWF0Y2hlcyBhbiBleGFjdCA2NCBiaXQgbmF0aXZlIGVuZGlhbiBiaW5hcnkuXV0KKyAg
ICBbW2BiaW5fZmxvYXQoZilgXSAgICAgICBbTWF0Y2hlcyBhbiBleGFjdCBmbG9hdCBuYXRpdmUg
ZW5kaWFuIGJpbmFyeS5dXQorICAgIFtbYGJpbl9kb3VibGUoZClgXSAgICAgIFtNYXRjaGVzIGFu
IGV4YWN0IGRvdWJsZSBuYXRpdmUgZW5kaWFuIGJpbmFyeS5dXQogXQogCiBbaGVhZGluZyBBdHRy
aWJ1dGVzXQpAQCAtOTMsMTAgKzEwMywxNCBAQAogICAgIFtbYHdvcmRgXSAgICAgICAgICAgICAg
IFtgYm9vc3Q6OnVpbnRfbGVhc3QxNl90YF1dCiAgICAgW1tgZHdvcmRgXSAgICAgICAgICAgICAg
W2Bib29zdDo6dWludF9sZWFzdDMyX3RgXV0KICAgICBbW2Bxd29yZGBdICAgICAgICAgICAgICBb
YGJvb3N0Ojp1aW50X2xlYXN0NjRfdGBdXQorICAgIFtbYGJpbl9mbG9hdGBdICAgICAgICAgIFtg
ZmxvYXRgXV0KKyAgICBbW2BiaW5fZG91YmxlYF0gICAgICAgICBbYGRvdWJsZWBdXQogICAgIFtb
YGJ5dGVfKGIpYF0gICAgICAgICAgIFtfX3VudXNlZF9fXV0KICAgICBbW2B3b3JkKHcpYF0gICAg
ICAgICAgICBbX191bnVzZWRfX11dCiAgICAgW1tgZHdvcmQoZHcpYF0gICAgICAgICAgW19fdW51
c2VkX19dXQogICAgIFtbYHF3b3JkKHF3KWBdICAgICAgICAgIFtfX3VudXNlZF9fXV0KKyAgICBb
W2BiaW5fZmxvYXQoZilgXSAgICAgICBbX191bnVzZWRfX11dCisgICAgW1tgYmluX2RvdWJsZShk
KWBdICAgICAgW19fdW51c2VkX19dXQogXQogCiBbaGVhZGluZyBDb21wbGV4aXR5XQpAQCAtMTMx
LDkgKzE0NSwxMSBAQAogCiBbdGFibGUKICAgICBbW05hbWVdXQotICAgIFtbYGJvb3N0OjpzcGly
aXQ6OmxpdHRsZV93b3JkICAgLy8gYWxpYXM6IGJvb3N0OjpzcGlyaXQ6OnFpOjpsaXR0bGVfd29y
ZGAgXV0KLSAgICBbW2Bib29zdDo6c3Bpcml0OjpsaXR0bGVfZHdvcmQgIC8vIGFsaWFzOiBib29z
dDo6c3Bpcml0OjpxaTo6bGl0dGxlX2R3b3JkYCBdXQotICAgIFtbYGJvb3N0OjpzcGlyaXQ6Omxp
dHRsZV9xd29yZCAgLy8gYWxpYXM6IGJvb3N0OjpzcGlyaXQ6OnFpOjpsaXR0bGVfcXdvcmRgIF1d
CisgICAgW1tgYm9vc3Q6OnNwaXJpdDo6bGl0dGxlX3dvcmQgICAgICAgIC8vIGFsaWFzOiBib29z
dDo6c3Bpcml0OjpxaTo6bGl0dGxlX3dvcmRgIF1dCisgICAgW1tgYm9vc3Q6OnNwaXJpdDo6bGl0
dGxlX2R3b3JkICAgICAgIC8vIGFsaWFzOiBib29zdDo6c3Bpcml0OjpxaTo6bGl0dGxlX2R3b3Jk
YCBdXQorICAgIFtbYGJvb3N0OjpzcGlyaXQ6OmxpdHRsZV9xd29yZCAgICAgICAvLyBhbGlhczog
Ym9vc3Q6OnNwaXJpdDo6cWk6OmxpdHRsZV9xd29yZGAgXV0KKyAgICBbW2Bib29zdDo6c3Bpcml0
OjpsaXR0bGVfYmluX2Zsb2F0ICAgLy8gYWxpYXM6IGJvb3N0OjpzcGlyaXQ6OnFpOjpsaXR0bGVf
YmluX2Zsb2F0YCBdXQorICAgIFtbYGJvb3N0OjpzcGlyaXQ6OmxpdHRsZV9iaW5fZG91YmxlICAv
LyBhbGlhczogYm9vc3Q6OnNwaXJpdDo6cWk6OmxpdHRsZV9iaW5fZG91YmxlYCBdXQogXQogCiBb
bm90ZSBgbGl0dGxlX3F3b3JkYCBpcyBvbmx5IGF2YWlsYWJsZSBvbiBwbGF0Zm9ybXMgd2hlcmUg
dGhlCkBAIC0xNTUsNiArMTcxLDEyIEBACiAgICAgW1tgcXdgXSAgIFtBIDY0IGJpdCBiaW5hcnkg
dmFsdWUgb3IgYSBfX3FpX2xhenlfYXJndW1lbnRfXyB0aGF0IAogICAgICAgICAgICAgICAgZXZh
bHVhdGVzIHRvIGEgNjQgYml0IGJpbmFyeSB2YWx1ZS4gVGhpcyB2YWx1ZSBpcyBhbHdheXMgCiAg
ICAgICAgICAgICAgICBpbiBuYXRpdmUgZW5kaWFuLl1dCisgICAgW1tgZmBdICAgIFtBIGZsb2F0
IGJpbmFyeSB2YWx1ZSBvciBhIF9fcWlfbGF6eV9hcmd1bWVudF9fIHRoYXQgCisgICAgICAgICAg
ICAgICBldmFsdWF0ZXMgdG8gYSBmbG9hdCBiaW5hcnkgdmFsdWUuIFRoaXMgdmFsdWUgaXMgYWx3
YXlzIAorICAgICAgICAgICAgICAgaW4gbmF0aXZlIGVuZGlhbi5dXQorICAgIFtbYGRgXSAgICBb
QSBkb3VibGUgYmluYXJ5IHZhbHVlIG9yIGEgX19xaV9sYXp5X2FyZ3VtZW50X18gdGhhdCAKKyAg
ICAgICAgICAgICAgIGV2YWx1YXRlcyB0byBhIGRvdWJsZSBiaW5hcnkgdmFsdWUuIFRoaXMgdmFs
dWUgaXMgYWx3YXlzIAorICAgICAgICAgICAgICAgaW4gbmF0aXZlIGVuZGlhbi5dXQogXQogCiBb
aGVhZGluZyBFeHByZXNzaW9uIFNlbWFudGljc10KQEAgLTE2MywyNSArMTg1LDMzIEBACiBub3Qg
ZGVmaW5lZCBpbiBfX3ByaW1pdGl2ZV9wYXJzZXJfY29uY2VwdF9fLgogCiBbdGFibGUKLSAgICBb
W0V4cHJlc3Npb25dICAgICAgICAgICBbRGVzY3JpcHRpb25dXQotICAgIFtbYGxpdHRsZV93b3Jk
YF0gICAgICAgIFtNYXRjaGVzIGFueSAxNiBiaXQgbGl0dGxlIGVuZGlhbiBiaW5hcnkuXV0KLSAg
ICBbW2BsaXR0bGVfZHdvcmRgXSAgICAgICBbTWF0Y2hlcyBhbnkgMzIgYml0IGxpdHRsZSBlbmRp
YW4gYmluYXJ5Ll1dCi0gICAgW1tgbGl0dGxlX3F3b3JkYF0gICAgICAgW01hdGNoZXMgYW55IDY0
IGJpdCBsaXR0bGUgZW5kaWFuIGJpbmFyeS5dXQotICAgIFtbYGxpdHRsZV93b3JkKHcpYF0gICAg
IFtNYXRjaGVzIGFuIGV4YWN0IDE2IGJpdCBsaXR0bGUgZW5kaWFuIGJpbmFyeS5dXQotICAgIFtb
YGxpdHRsZV9kd29yZChkdylgXSAgIFtNYXRjaGVzIGFuIGV4YWN0IDMyIGJpdCBsaXR0bGUgZW5k
aWFuIGJpbmFyeS5dXQotICAgIFtbYGxpdHRsZV9xd29yZChxdylgXSAgIFtNYXRjaGVzIGFuIGV4
YWN0IDMyIGJpdCBsaXR0bGUgZW5kaWFuIGJpbmFyeS5dXQorICAgIFtbRXhwcmVzc2lvbl0gICAg
ICAgICAgICAgIFtEZXNjcmlwdGlvbl1dCisgICAgW1tgbGl0dGxlX3dvcmRgXSAgICAgICAgICAg
W01hdGNoZXMgYW55IDE2IGJpdCBsaXR0bGUgZW5kaWFuIGJpbmFyeS5dXQorICAgIFtbYGxpdHRs
ZV9kd29yZGBdICAgICAgICAgIFtNYXRjaGVzIGFueSAzMiBiaXQgbGl0dGxlIGVuZGlhbiBiaW5h
cnkuXV0KKyAgICBbW2BsaXR0bGVfcXdvcmRgXSAgICAgICAgICBbTWF0Y2hlcyBhbnkgNjQgYml0
IGxpdHRsZSBlbmRpYW4gYmluYXJ5Ll1dCisgICAgW1tgbGl0dGxlX2Jpbl9mbG9hdGBdICAgICAg
W01hdGNoZXMgYW55IGZsb2F0IGxpdHRsZSBlbmRpYW4gYmluYXJ5Ll1dCisgICAgW1tgbGl0dGxl
X2Jpbl9kb3VibGVgXSAgICAgW01hdGNoZXMgYW55IGRvdWJsZSBsaXR0bGUgZW5kaWFuIGJpbmFy
eS5dXQorICAgIFtbYGxpdHRsZV93b3JkKHcpYF0gICAgICAgIFtNYXRjaGVzIGFuIGV4YWN0IDE2
IGJpdCBsaXR0bGUgZW5kaWFuIGJpbmFyeS5dXQorICAgIFtbYGxpdHRsZV9kd29yZChkdylgXSAg
ICAgIFtNYXRjaGVzIGFuIGV4YWN0IDMyIGJpdCBsaXR0bGUgZW5kaWFuIGJpbmFyeS5dXQorICAg
IFtbYGxpdHRsZV9xd29yZChxdylgXSAgICAgIFtNYXRjaGVzIGFuIGV4YWN0IDMyIGJpdCBsaXR0
bGUgZW5kaWFuIGJpbmFyeS5dXQorICAgIFtbYGxpdHRsZV9iaW5fZmxvYXQoZilgXSAgIFtNYXRj
aGVzIGFuIGV4YWN0IGZsb2F0IGxpdHRsZSBlbmRpYW4gYmluYXJ5Ll1dCisgICAgW1tgbGl0dGxl
X2Jpbl9kb3VibGUoZClgXSAgW01hdGNoZXMgYW4gZXhhY3QgZG91YmxlIGxpdHRsZSBlbmRpYW4g
YmluYXJ5Ll1dCiBdCiAKIFtoZWFkaW5nIEF0dHJpYnV0ZXNdCiAKIFt0YWJsZQotICAgIFtbRXhw
cmVzc2lvbl0gICAgICAgICAgIFtBdHRyaWJ1dGVdXQotICAgIFtbYGxpdHRsZV93b3JkYF0gICAg
ICAgIFtgYm9vc3Q6OnVpbnRfbGVhc3QxNl90YF1dCi0gICAgW1tgbGl0dGxlX2R3b3JkYF0gICAg
ICAgW2Bib29zdDo6dWludF9sZWFzdDMyX3RgXV0KLSAgICBbW2BsaXR0bGVfcXdvcmRgXSAgICAg
ICBbYGJvb3N0Ojp1aW50X2xlYXN0NjRfdGBdXQotICAgIFtbYGxpdHRsZV93b3JkKHcpYF0gICAg
IFtfX3VudXNlZF9fXV0KLSAgICBbW2BsaXR0bGVfZHdvcmQoZHcpYF0gICBbX191bnVzZWRfX11d
Ci0gICAgW1tgbGl0dGxlX3F3b3JkKHF3KWBdICAgW19fdW51c2VkX19dXQorICAgIFtbRXhwcmVz
c2lvbl0gICAgICAgICAgICAgIFtBdHRyaWJ1dGVdXQorICAgIFtbYGxpdHRsZV93b3JkYF0gICAg
ICAgICAgIFtgYm9vc3Q6OnVpbnRfbGVhc3QxNl90YF1dCisgICAgW1tgbGl0dGxlX2R3b3JkYF0g
ICAgICAgICAgW2Bib29zdDo6dWludF9sZWFzdDMyX3RgXV0KKyAgICBbW2BsaXR0bGVfcXdvcmRg
XSAgICAgICAgICBbYGJvb3N0Ojp1aW50X2xlYXN0NjRfdGBdXQorICAgIFtbYGxpdHRsZV9iaW5f
ZmxvYXRgXSAgICAgIFtgZmxvYXRgXV0KKyAgICBbW2BsaXR0bGVfYmluX2RvdWJsZWBdICAgICBb
YGRvdWJsZWBdXQorICAgIFtbYGxpdHRsZV93b3JkKHcpYF0gICAgICAgIFtfX3VudXNlZF9fXV0K
KyAgICBbW2BsaXR0bGVfZHdvcmQoZHcpYF0gICAgICBbX191bnVzZWRfX11dCisgICAgW1tgbGl0
dGxlX3F3b3JkKHF3KWBdICAgICAgW19fdW51c2VkX19dXQorICAgIFtbYGxpdHRsZV9iaW5fZmxv
YXQoZilgXSAgIFtfX3VudXNlZF9fXV0KKyAgICBbW2BsaXR0bGVfYmluX2RvdWJsZShkKWBdICBb
X191bnVzZWRfX11dCiBdCiAKIFtoZWFkaW5nIENvbXBsZXhpdHldCkBAIC0yMTYsOSArMjQ2LDEx
IEBACiAKIFt0YWJsZQogICAgIFtbTmFtZV1dCi0gICAgW1tgYm9vc3Q6OnNwaXJpdDo6YmlnX3dv
cmQgICAgICAvLyBhbGlhczogYm9vc3Q6OnNwaXJpdDo6cWk6OmJpZ193b3JkYCBdXQotICAgIFtb
YGJvb3N0OjpzcGlyaXQ6OmJpZ19kd29yZCAgICAgLy8gYWxpYXM6IGJvb3N0OjpzcGlyaXQ6OnFp
OjpiaWdfZHdvcmRgIF1dCi0gICAgW1tgYm9vc3Q6OnNwaXJpdDo6YmlnX3F3b3JkICAgICAvLyBh
bGlhczogYm9vc3Q6OnNwaXJpdDo6cWk6OmJpZ19xd29yZGAgXV0KKyAgICBbW2Bib29zdDo6c3Bp
cml0OjpiaWdfd29yZCAgICAgICAgIC8vIGFsaWFzOiBib29zdDo6c3Bpcml0OjpxaTo6YmlnX3dv
cmRgIF1dCisgICAgW1tgYm9vc3Q6OnNwaXJpdDo6YmlnX2R3b3JkICAgICAgICAvLyBhbGlhczog
Ym9vc3Q6OnNwaXJpdDo6cWk6OmJpZ19kd29yZGAgXV0KKyAgICBbW2Bib29zdDo6c3Bpcml0Ojpi
aWdfcXdvcmQgICAgICAgIC8vIGFsaWFzOiBib29zdDo6c3Bpcml0OjpxaTo6YmlnX3F3b3JkYCBd
XQorICAgIFtbYGJvb3N0OjpzcGlyaXQ6OmJpZ19iaW5fZmxvYXQgICAgLy8gYWxpYXM6IGJvb3N0
OjpzcGlyaXQ6OnFpOjpiaWdfYmluX2Zsb2F0YCBdXQorICAgIFtbYGJvb3N0OjpzcGlyaXQ6OmJp
Z19iaW5fZG91YmxlICAgLy8gYWxpYXM6IGJvb3N0OjpzcGlyaXQ6OnFpOjpiaWdfYmluX2RvdWJs
ZWAgXV0KIF0KIAogW25vdGUgYGJpZ19xd29yZGAgaXMgb25seSBhdmFpbGFibGUgb24gcGxhdGZv
cm1zIHdoZXJlIHRoZQpAQCAtMjQwLDYgKzI3MiwxMiBAQAogICAgIFtbYHF3YF0gICAgIFtBIDY0
IGJpdCBiaW5hcnkgdmFsdWUgb3IgYSBfX3FpX2xhenlfYXJndW1lbnRfXyB0aGF0IAogICAgICAg
ICAgICAgICAgIGV2YWx1YXRlcyB0byBhIDY0IGJpdCBiaW5hcnkgdmFsdWUuIFRoaXMgdmFsdWUg
aXMgYWx3YXlzIAogICAgICAgICAgICAgICAgIGluIG5hdGl2ZSBlbmRpYW4uXV0KKyAgICBbW2Bm
YF0gICAgICBbQSBmbG9hdCBiaW5hcnkgdmFsdWUgb3IgYSBfX3FpX2xhenlfYXJndW1lbnRfXyB0
aGF0IAorICAgICAgICAgICAgICAgIGV2YWx1YXRlcyB0byBhIGZsb2F0IGJpbmFyeSB2YWx1ZS4g
VGhpcyB2YWx1ZSBpcyBhbHdheXMgCisgICAgICAgICAgICAgICAgaW4gbmF0aXZlIGVuZGlhbi5d
XQorICAgIFtbYGRgXSAgICAgIFtBIGRvdWJsZSBiaW5hcnkgdmFsdWUgb3IgYSBfX3FpX2xhenlf
YXJndW1lbnRfXyB0aGF0IAorICAgICAgICAgICAgICAgIGV2YWx1YXRlcyB0byBhIGRvdWJsZSBi
aW5hcnkgdmFsdWUuIFRoaXMgdmFsdWUgaXMgYWx3YXlzIAorICAgICAgICAgICAgICAgIGluIG5h
dGl2ZSBlbmRpYW4uXV0KIF0KIAogW2hlYWRpbmcgRXhwcmVzc2lvbiBTZW1hbnRpY3NdCkBAIC0y
NTIsOSArMjkwLDEzIEBACiAgICAgW1tgYmlnX3dvcmRgXSAgICAgICAgICAgW01hdGNoZXMgYW55
IDE2IGJpdCBiaWcgZW5kaWFuIGJpbmFyeS5dXQogICAgIFtbYGJpZ19kd29yZGBdICAgICAgICAg
IFtNYXRjaGVzIGFueSAzMiBiaXQgYmlnIGVuZGlhbiBiaW5hcnkuXV0KICAgICBbW2BiaWdfcXdv
cmRgXSAgICAgICAgICBbTWF0Y2hlcyBhbnkgNjQgYml0IGJpZyBlbmRpYW4gYmluYXJ5Ll1dCisg
ICAgW1tgYmlnX2Jpbl9mbG9hdGBdICAgICAgW01hdGNoZXMgYW55IGZsb2F0IGJpZyBlbmRpYW4g
YmluYXJ5Ll1dCisgICAgW1tgYmlnX2Jpbl9kb3VibGVgXSAgICAgW01hdGNoZXMgYW55IGRvdWJs
ZSBiaWcgZW5kaWFuIGJpbmFyeS5dXQogICAgIFtbYGJpZ193b3JkKHcpYF0gICAgICAgIFtNYXRj
aGVzIGFuIGV4YWN0IDE2IGJpdCBiaWcgZW5kaWFuIGJpbmFyeS5dXQogICAgIFtbYGJpZ19kd29y
ZChkdylgXSAgICAgIFtNYXRjaGVzIGFuIGV4YWN0IDMyIGJpdCBiaWcgZW5kaWFuIGJpbmFyeS5d
XQogICAgIFtbYGJpZ19xd29yZChxdylgXSAgICAgIFtNYXRjaGVzIGFuIGV4YWN0IDMyIGJpdCBi
aWcgZW5kaWFuIGJpbmFyeS5dXQorICAgIFtbYGJpZ19iaW5fZmxvYXQoZilgXSAgIFtNYXRjaGVz
IGFuIGV4YWN0IGZsb2F0IGJpZyBlbmRpYW4gYmluYXJ5Ll1dCisgICAgW1tgYmlnX2Jpbl9kb3Vi
bGUoZClgXSAgW01hdGNoZXMgYW4gZXhhY3QgZG91YmxlIGJpZyBlbmRpYW4gYmluYXJ5Ll1dCiBd
CiAKIFtoZWFkaW5nIEF0dHJpYnV0ZXNdCkBAIC0yNjQsOSArMzA2LDEzIEBACiAgICAgW1tgYmln
X3dvcmRgXSAgICAgICAgICAgW2Bib29zdDo6dWludF9sZWFzdDE2X3RgXV0KICAgICBbW2BiaWdf
ZHdvcmRgXSAgICAgICAgICBbYGJvb3N0Ojp1aW50X2xlYXN0MzJfdGBdXQogICAgIFtbYGJpZ19x
d29yZGBdICAgICAgICAgIFtgYm9vc3Q6OnVpbnRfbGVhc3Q2NF90YF1dCisgICAgW1tgYmlnX2Jp
bl9mbG9hdGBdICAgICAgW2BmbG9hdGBdXQorICAgIFtbYGJpZ19iaW5fZG91YmxlYF0gICAgIFtg
ZG91YmxlYF1dCiAgICAgW1tgYmlnX3dvcmQodylgXSAgICAgICAgW19fdW51c2VkX19dXQogICAg
IFtbYGJpZ19kd29yZChkdylgXSAgICAgIFtfX3VudXNlZF9fXV0KICAgICBbW2BiaWdfcXdvcmQo
cXcpYF0gICAgICBbX191bnVzZWRfX11dCisgICAgW1tgYmlnX2Jpbl9mbG9hdChmKWBdICAgW19f
dW51c2VkX19dXQorICAgIFtbYGJpZ19iaW5fZG91YmxlKGQpYF0gIFtfX3VudXNlZF9fXV0KIF0K
IAogW2hlYWRpbmcgQ29tcGxleGl0eV0K
--0015176f030428520e04a816337b
Content-Type: text/x-patch; charset=US-ASCII; name="endian.diff"
Content-Disposition: attachment; filename="endian.diff"
Content-Transfer-Encoding: base64
X-Attachment-Id: f_gp0xsttn2

SW5kZXg6IGhvbWUvc3VwcG9ydC9kZXRhaWwvaW50ZWdlci9lbmRpYW4uaHBwCj09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0K
LS0tIGhvbWUvc3VwcG9ydC9kZXRhaWwvaW50ZWdlci9lbmRpYW4uaHBwCShyZXZpc2lvbiA3MjYx
OSkKKysrIGhvbWUvc3VwcG9ydC9kZXRhaWwvaW50ZWdlci9lbmRpYW4uaHBwCSh3b3JraW5nIGNv
cHkpCkBAIC0xMjIsNiArMTIyLDQ0IEBACiAgICAgICAgIChzdGF0aWNfY2FzdDxjb25zdCB1bnNp
Z25lZCBjaGFyKj4oYnl0ZXMpICsgbl9ieXRlcyk7CiAgICAgfQogCisgICAgdGVtcGxhdGUgPD4K
KyAgICBpbmxpbmUKKyAgICBmbG9hdCBsb2FkX2JpZ19lbmRpYW48ZmxvYXQsIDQ+KGNvbnN0IHZv
aWQqIGJ5dGVzKQorICAgIHsKKyAgICAgICAgY29uc3QgdW5zaWduZWQgY2hhciAqYiA9IHJlaW50
ZXJwcmV0X2Nhc3Q8Y29uc3QgdW5zaWduZWQgY2hhciAqPigKKyAgICAgICAgICAgIGJ5dGVzKTsK
KyAgICAgICAgYiArPSAzOworCisgICAgICAgIGZsb2F0IHZhbHVlOworICAgICAgICB1bnNpZ25l
ZCBjaGFyICp2ID0gcmVpbnRlcnByZXRfY2FzdDx1bnNpZ25lZCBjaGFyICo+KCZ2YWx1ZSk7CisK
KyAgICAgICAgZm9yKHN0ZDo6c2l6ZV90IGkgPSAwOyBpIDwgNDsgKytpKQorICAgICAgICB7Cisg
ICAgICAgICAgICAqdisrID0gKmItLTsKKyAgICAgICAgfQorCisgICAgICAgIHJldHVybiB2YWx1
ZTsKKyAgICB9CisKKyAgICB0ZW1wbGF0ZSA8PgorICAgIGlubGluZQorICAgIGRvdWJsZSBsb2Fk
X2JpZ19lbmRpYW48ZG91YmxlLCA4Pihjb25zdCB2b2lkKiBieXRlcykKKyAgICB7CisgICAgICAg
IGNvbnN0IHVuc2lnbmVkIGNoYXIgKmIgPSByZWludGVycHJldF9jYXN0PGNvbnN0IHVuc2lnbmVk
IGNoYXIgKj4oCisgICAgICAgICAgICBieXRlcyk7CisgICAgICAgIGIgKz0gNzsKKworICAgICAg
ICBkb3VibGUgdmFsdWU7CisgICAgICAgIHVuc2lnbmVkIGNoYXIgKnYgPSByZWludGVycHJldF9j
YXN0PHVuc2lnbmVkIGNoYXIgKj4oJnZhbHVlKTsKKworICAgICAgICBmb3Ioc3RkOjpzaXplX3Qg
aSA9IDA7IGkgPCA4OyArK2kpCisgICAgICAgIHsKKyAgICAgICAgICAgICp2KysgPSAqYi0tOwor
ICAgICAgICB9CisKKyAgICAgICAgcmV0dXJuIHZhbHVlOworICAgIH0KKwogICAgIHRlbXBsYXRl
IDx0eXBlbmFtZSBULCBzdGQ6OnNpemVfdCBuX2J5dGVzPgogICAgIGlubGluZQogICAgIFQgbG9h
ZF9saXR0bGVfZW5kaWFuKGNvbnN0IHZvaWQqIGJ5dGVzKQpAQCAtMTMwLDYgKzE2OCw0MiBAQAog
ICAgICAgICAoc3RhdGljX2Nhc3Q8Y29uc3QgdW5zaWduZWQgY2hhcio+KGJ5dGVzKSk7CiAgICAg
fQogCisgICAgdGVtcGxhdGUgPD4KKyAgICBpbmxpbmUKKyAgICBmbG9hdCBsb2FkX2xpdHRsZV9l
bmRpYW48ZmxvYXQsIDQ+KGNvbnN0IHZvaWQqIGJ5dGVzKQorICAgIHsKKyAgICAgICAgY29uc3Qg
dW5zaWduZWQgY2hhciAqYiA9IHJlaW50ZXJwcmV0X2Nhc3Q8Y29uc3QgdW5zaWduZWQgY2hhciAq
PigKKyAgICAgICAgICAgIGJ5dGVzKTsKKworICAgICAgICBmbG9hdCB2YWx1ZTsKKyAgICAgICAg
dW5zaWduZWQgY2hhciAqdiA9IHJlaW50ZXJwcmV0X2Nhc3Q8dW5zaWduZWQgY2hhciAqPigmdmFs
dWUpOworCisgICAgICAgIGZvcihzdGQ6OnNpemVfdCBpID0gMDsgaSA8IDQ7ICsraSkKKyAgICAg
ICAgeworICAgICAgICAgICAgKnYrKyA9ICpiKys7CisgICAgICAgIH0KKworICAgICAgICByZXR1
cm4gdmFsdWU7CisgICAgfQorCisgICAgdGVtcGxhdGUgPD4KKyAgICBpbmxpbmUKKyAgICBkb3Vi
bGUgbG9hZF9saXR0bGVfZW5kaWFuPGRvdWJsZSwgOD4oY29uc3Qgdm9pZCogYnl0ZXMpCisgICAg
eworICAgICAgICBjb25zdCB1bnNpZ25lZCBjaGFyICpiID0gcmVpbnRlcnByZXRfY2FzdDxjb25z
dCB1bnNpZ25lZCBjaGFyICo+KAorICAgICAgICAgICAgYnl0ZXMpOworCisgICAgICAgIGRvdWJs
ZSB2YWx1ZTsKKyAgICAgICAgdW5zaWduZWQgY2hhciAqdiA9IHJlaW50ZXJwcmV0X2Nhc3Q8dW5z
aWduZWQgY2hhciAqPigmdmFsdWUpOworCisgICAgICAgIGZvcihzdGQ6OnNpemVfdCBpID0gMDsg
aSA8IDg7ICsraSkKKyAgICAgICAgeworICAgICAgICAgICAgKnYrKyA9ICpiKys7CisgICAgICAg
IH0KKworICAgICAgICByZXR1cm4gdmFsdWU7CisgICAgfQorCiAgICAgdGVtcGxhdGUgPHR5cGVu
YW1lIFQsIHN0ZDo6c2l6ZV90IG5fYnl0ZXM+CiAgICAgaW5saW5lCiAgICAgdm9pZCBzdG9yZV9i
aWdfZW5kaWFuKHZvaWQqIGJ5dGVzLCBUIHZhbHVlKQpAQCAtMTM4LDYgKzIxMiwzOCBAQAogICAg
ICAgICAoc3RhdGljX2Nhc3Q8Y2hhcio+KGJ5dGVzKSArIG5fYnl0ZXMsIHZhbHVlKTsKICAgICB9
CiAKKyAgICB0ZW1wbGF0ZSA8PgorICAgIGlubGluZQorICAgIHZvaWQgc3RvcmVfYmlnX2VuZGlh
bjxmbG9hdCwgND4odm9pZCogYnl0ZXMsIGZsb2F0IHZhbHVlKQorICAgIHsKKyAgICAgICAgdW5z
aWduZWQgY2hhciAqYiA9IHJlaW50ZXJwcmV0X2Nhc3Q8dW5zaWduZWQgY2hhciAqPihieXRlcyk7
CisgICAgICAgIGIgKz0gMzsKKworICAgICAgICBjb25zdCB1bnNpZ25lZCBjaGFyICp2ID0gcmVp
bnRlcnByZXRfY2FzdDxjb25zdCB1bnNpZ25lZCBjaGFyICo+KAorICAgICAgICAgICAgJnZhbHVl
KTsKKworICAgICAgICBmb3Ioc3RkOjpzaXplX3QgaSA9IDA7IGkgPCA0OyArK2kpCisgICAgICAg
IHsKKyAgICAgICAgICAgICpiLS0gPSAqdisrOworICAgICAgICB9CisgICAgfQorCisgICAgdGVt
cGxhdGUgPD4KKyAgICBpbmxpbmUKKyAgICB2b2lkIHN0b3JlX2JpZ19lbmRpYW48ZG91YmxlLCA4
Pih2b2lkKiBieXRlcywgZG91YmxlIHZhbHVlKQorICAgIHsKKyAgICAgICAgdW5zaWduZWQgY2hh
ciAqYiA9IHJlaW50ZXJwcmV0X2Nhc3Q8dW5zaWduZWQgY2hhciAqPihieXRlcyk7CisgICAgICAg
IGIgKz0gNzsKKworICAgICAgICBjb25zdCB1bnNpZ25lZCBjaGFyICp2ID0gcmVpbnRlcnByZXRf
Y2FzdDxjb25zdCB1bnNpZ25lZCBjaGFyICo+KAorICAgICAgICAgICAgJnZhbHVlKTsKKworICAg
ICAgICBmb3Ioc3RkOjpzaXplX3QgaSA9IDA7IGkgPCA4OyArK2kpCisgICAgICAgIHsKKyAgICAg
ICAgICAgICpiLS0gPSAqdisrOworICAgICAgICB9CisgICAgfQorCiAgICAgdGVtcGxhdGUgPHR5
cGVuYW1lIFQsIHN0ZDo6c2l6ZV90IG5fYnl0ZXM+CiAgICAgaW5saW5lCiAgICAgdm9pZCBzdG9y
ZV9saXR0bGVfZW5kaWFuKHZvaWQqIGJ5dGVzLCBUIHZhbHVlKQpAQCAtMTQ2LDYgKzI1MiwzNiBA
QAogICAgICAgICAoc3RhdGljX2Nhc3Q8Y2hhcio+KGJ5dGVzKSwgdmFsdWUpOwogICAgIH0KIAor
ICAgIHRlbXBsYXRlIDw+CisgICAgaW5saW5lCisgICAgdm9pZCBzdG9yZV9saXR0bGVfZW5kaWFu
PGZsb2F0LCA0Pih2b2lkKiBieXRlcywgZmxvYXQgdmFsdWUpCisgICAgeworICAgICAgICB1bnNp
Z25lZCBjaGFyICpiID0gcmVpbnRlcnByZXRfY2FzdDx1bnNpZ25lZCBjaGFyICo+KGJ5dGVzKTsK
KworICAgICAgICBjb25zdCB1bnNpZ25lZCBjaGFyICp2ID0gcmVpbnRlcnByZXRfY2FzdDxjb25z
dCB1bnNpZ25lZCBjaGFyICo+KAorICAgICAgICAgICAgJnZhbHVlKTsKKworICAgICAgICBmb3Io
c3RkOjpzaXplX3QgaSA9IDA7IGkgPCA0OyArK2kpCisgICAgICAgIHsKKyAgICAgICAgICAgICpi
KysgPSAqdisrOworICAgICAgICB9CisgICAgfQorCisgICAgdGVtcGxhdGUgPD4KKyAgICBpbmxp
bmUKKyAgICB2b2lkIHN0b3JlX2xpdHRsZV9lbmRpYW48ZG91YmxlLCA4Pih2b2lkKiBieXRlcywg
ZG91YmxlIHZhbHVlKQorICAgIHsKKyAgICAgICAgdW5zaWduZWQgY2hhciAqYiA9IHJlaW50ZXJw
cmV0X2Nhc3Q8dW5zaWduZWQgY2hhciAqPihieXRlcyk7CisKKyAgICAgICAgY29uc3QgdW5zaWdu
ZWQgY2hhciAqdiA9IHJlaW50ZXJwcmV0X2Nhc3Q8Y29uc3QgdW5zaWduZWQgY2hhciAqPigKKyAg
ICAgICAgICAgICZ2YWx1ZSk7CisKKyAgICAgICAgZm9yKHN0ZDo6c2l6ZV90IGkgPSAwOyBpIDwg
ODsgKytpKQorICAgICAgICB7CisgICAgICAgICAgICAqYisrID0gKnYrKzsKKyAgICAgICAgfQor
ICAgIH0KKwogICB9IC8vIG5hbWVzcGFjZSBkZXRhaWwKIAogICBuYW1lc3BhY2UgaW50ZWdlcgo=
--0015176f030428520e04a816337b
Content-Type: text/x-patch; charset=US-ASCII; name="karma.diff"
Content-Disposition: attachment; filename="karma.diff"
Content-Transfer-Encoding: base64
X-Attachment-Id: f_gp0xsxa73

SW5kZXg6IGhvbWUva2FybWEvYmluYXJ5L2JpbmFyeS5ocHAKPT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gaG9tZS9r
YXJtYS9iaW5hcnkvYmluYXJ5LmhwcAkocmV2aXNpb24gNzI2MTkpCisrKyBob21lL2thcm1hL2Jp
bmFyeS9iaW5hcnkuaHBwCSh3b3JraW5nIGNvcHkpCkBAIC0yNyw2ICsyNyw3IEBACiAjaW5jbHVk
ZSA8Ym9vc3QvbXBsL29yLmhwcD4KICNpbmNsdWRlIDxib29zdC90eXBlX3RyYWl0cy9pc19pbnRl
Z3JhbC5ocHA+CiAjaW5jbHVkZSA8Ym9vc3QvdHlwZV90cmFpdHMvaXNfZW51bS5ocHA+CisjaW5j
bHVkZSA8Ym9vc3QvdHlwZV90cmFpdHMvaXNfZmxvYXRpbmdfcG9pbnQuaHBwPgogI2luY2x1ZGUg
PGJvb3N0L2NvbmZpZy5ocHA+CiAKIC8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8v
Ly8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8KQEAgLTQ1LDYgKzQ2
LDE5IEBACiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICBcCiAvKioqLwogCisjZGVmaW5lIEJPT1NUX1NQ
SVJJVF9FTkFCTEVfQklOQVJZX0lFRUU3NTQobmFtZSkgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICBcCisgICAgdGVtcGxhdGU8PiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICBcCisgICAgc3RydWN0IHVzZV90ZXJtaW5hbDxr
YXJtYTo6ZG9tYWluLCB0YWc6Om5hbWU+OiBtcGw6OnRydWVfIHt9OyAgICAgICAgICAgICBcCisg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICBcCisgICAgdGVtcGxhdGU8dHlwZW5hbWUgQTA+ICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBcCisgICAgc3RydWN0
IHVzZV90ZXJtaW5hbDxrYXJtYTo6ZG9tYWluLCB0ZXJtaW5hbF9leDx0YWc6Om5hbWUsICAgICAg
ICAgICAgICAgICBcCisgICAgICAgIGZ1c2lvbjo6dmVjdG9yMTxBMD4gPiA+OiBpc19mbG9hdGlu
Z19wb2ludDxBMD4ge307ICAgICAgICAgICAgICAgICAgICBcCisgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICBcCisgICAgdGVtcGxhdGU8PiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICBcCisgICAgc3RydWN0IHVzZV9sYXp5X3Rlcm1pbmFs
PGthcm1hOjpkb21haW4sIHRhZzo6bmFtZSwgMT4gOiBtcGw6OnRydWVfIHt9OyAgICBcCisgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICBcCisvKioqLworCiBuYW1lc3BhY2UgYm9vc3QgeyBuYW1lc3BhY2Ug
c3Bpcml0CiB7CiAgICAgLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8v
Ly8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vCkBAIC02MywxMCArNzcsMTYgQEAKICAg
ICBCT09TVF9TUElSSVRfRU5BQkxFX0JJTkFSWShiaWdfcXdvcmQpICAgICAgICAgICAgICAgLy8g
ZW5hYmxlcyBiaWdfcXdvcmQKICAgICBCT09TVF9TUElSSVRfRU5BQkxFX0JJTkFSWShsaXR0bGVf
cXdvcmQpICAgICAgICAgICAgLy8gZW5hYmxlcyBsaXR0bGVfcXdvcmQKICNlbmRpZgotCisgICAg
Qk9PU1RfU1BJUklUX0VOQUJMRV9CSU5BUllfSUVFRTc1NChiaW5fZmxvYXQpCisgICAgQk9PU1Rf
U1BJUklUX0VOQUJMRV9CSU5BUllfSUVFRTc1NChiaWdfYmluX2Zsb2F0KQorICAgIEJPT1NUX1NQ
SVJJVF9FTkFCTEVfQklOQVJZX0lFRUU3NTQobGl0dGxlX2Jpbl9mbG9hdCkKKyAgICBCT09TVF9T
UElSSVRfRU5BQkxFX0JJTkFSWV9JRUVFNzU0KGJpbl9kb3VibGUpCisgICAgQk9PU1RfU1BJUklU
X0VOQUJMRV9CSU5BUllfSUVFRTc1NChiaWdfYmluX2RvdWJsZSkKKyAgICBCT09TVF9TUElSSVRf
RU5BQkxFX0JJTkFSWV9JRUVFNzU0KGxpdHRsZV9iaW5fZG91YmxlKQogfX0KIAogI3VuZGVmIEJP
T1NUX1NQSVJJVF9FTkFCTEVfQklOQVJZCisjdW5kZWYgQk9PU1RfU1BJUklUX0VOQUJMRV9CSU5B
UllfSUVFRTc1NAogCiAvLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8v
Ly8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vCiBuYW1lc3BhY2UgYm9vc3QgeyBu
YW1lc3BhY2Ugc3Bpcml0IHsgbmFtZXNwYWNlIGthcm1hCkBAIC05OCw2ICsxMTgsMTIgQEAKICAg
ICB1c2luZyBib29zdDo6c3Bpcml0OjpiaWdfcXdvcmRfdHlwZTsKICAgICB1c2luZyBib29zdDo6
c3Bpcml0OjpsaXR0bGVfcXdvcmRfdHlwZTsKICNlbmRpZgorICAgIHVzaW5nIGJvb3N0OjpzcGly
aXQ6OmJpbl9mbG9hdF90eXBlOworICAgIHVzaW5nIGJvb3N0OjpzcGlyaXQ6OmJpZ19iaW5fZmxv
YXRfdHlwZTsKKyAgICB1c2luZyBib29zdDo6c3Bpcml0OjpsaXR0bGVfYmluX2Zsb2F0X3R5cGU7
CisgICAgdXNpbmcgYm9vc3Q6OnNwaXJpdDo6YmluX2RvdWJsZV90eXBlOworICAgIHVzaW5nIGJv
b3N0OjpzcGlyaXQ6OmJpZ19iaW5fZG91YmxlX3R5cGU7CisgICAgdXNpbmcgYm9vc3Q6OnNwaXJp
dDo6bGl0dGxlX2Jpbl9kb3VibGVfdHlwZTsKIAogICAgIG5hbWVzcGFjZSBkZXRhaWwKICAgICB7
CkBAIC0xNDEsNiArMTY3LDI2IEBACiAgICAgICAgIH07CiAjZW5kaWYKIAorICAgICAgICB0ZW1w
bGF0ZSA8aW50IGJpdHM+CisgICAgICAgIHN0cnVjdCBmbG9hdGluZ19wb2ludAorICAgICAgICB7
CisgICAgICAgICAgICBCT09TVF9TUElSSVRfQVNTRVJUX01TRygKKyAgICAgICAgICAgICAgICBi
aXRzID09IDMyIHx8IGJpdHMgPT0gNjQsCisgICAgICAgICAgICAgICAgbm90X3N1cHBvcnRlZF9i
aW5hcnlfc2l6ZSwgKCkpOworICAgICAgICB9OworCisgICAgICAgIHRlbXBsYXRlIDw+CisgICAg
ICAgIHN0cnVjdCBmbG9hdGluZ19wb2ludDwzMj4KKyAgICAgICAgeworICAgICAgICAgICAgdHlw
ZWRlZiBmbG9hdCB0eXBlOworICAgICAgICB9OworCisgICAgICAgIHRlbXBsYXRlIDw+CisgICAg
ICAgIHN0cnVjdCBmbG9hdGluZ19wb2ludDw2ND4KKyAgICAgICAgeworICAgICAgICAgICAgdHlw
ZWRlZiBkb3VibGUgdHlwZTsKKyAgICAgICAgfTsKKwogICAgICAgICAvLy8vLy8vLy8vLy8vLy8v
Ly8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLwog
ICAgICAgICB0ZW1wbGF0ZSA8Qk9PU1RfU0NPUEVEX0VOVU0oYm9vc3Q6OmludGVnZXI6OmVuZGlh
bm5lc3MpIGJpdHM+CiAgICAgICAgIHN0cnVjdCB3aGF0OwpAQCAtMTc0LDE0ICsyMjAsMTIgQEAK
ICAgICB9CiAKICAgICAvLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8v
Ly8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8KLSAgICB0ZW1wbGF0ZSA8Qk9PU1RfU0NP
UEVEX0VOVU0oYm9vc3Q6OmludGVnZXI6OmVuZGlhbm5lc3MpIGVuZGlhbiwgaW50IGJpdHM+Cisg
ICAgdGVtcGxhdGUgPHR5cGVuYW1lIFQsIEJPT1NUX1NDT1BFRF9FTlVNKGJvb3N0OjppbnRlZ2Vy
OjplbmRpYW5uZXNzKSBlbmRpYW4sIGludCBiaXRzPgogICAgIHN0cnVjdCBhbnlfYmluYXJ5X2dl
bmVyYXRvcgotICAgICAgOiBwcmltaXRpdmVfZ2VuZXJhdG9yPGFueV9iaW5hcnlfZ2VuZXJhdG9y
PGVuZGlhbiwgYml0cz4gPgorICAgICAgOiBwcmltaXRpdmVfZ2VuZXJhdG9yPGFueV9iaW5hcnlf
Z2VuZXJhdG9yPFQsIGVuZGlhbiwgYml0cz4gPgogICAgIHsKICAgICAgICAgdGVtcGxhdGUgPHR5
cGVuYW1lIENvbnRleHQsIHR5cGVuYW1lIFVudXNlZCA9IHVudXNlZF90eXBlPgotICAgICAgICBz
dHJ1Y3QgYXR0cmlidXRlCi0gICAgICAgICAgOiBrYXJtYTo6ZGV0YWlsOjppbnRlZ2VyPGJpdHM+
Ci0gICAgICAgIHt9OworICAgICAgICBzdHJ1Y3QgYXR0cmlidXRlOiBUIHt9OwogCiAgICAgICAg
IHRlbXBsYXRlIDwKICAgICAgICAgICAgIHR5cGVuYW1lIE91dHB1dEl0ZXJhdG9yLCB0eXBlbmFt
ZSBDb250ZXh0LCB0eXBlbmFtZSBEZWxpbWl0ZXIKQEAgLTE5NSwxNiArMjM5LDE0IEBACiAgICAg
ICAgICAgICAvLyBFdmVuIGlmIHRoZSBlbmRpYW4gdHlwZXMgYXJlIG5vdCBwb2QncyAoYXQgbGVh
c3Qgbm90IGluIHRoZQogICAgICAgICAgICAgLy8gZGVmaW5pdGlvbiBvZiBDKyswMykgaXQgc2Vl
bXMgdG8gYmUgc2FmZSB0byBhc3N1bWUgdGhleSBhcmUuCiAgICAgICAgICAgICAvLyBUaGlzIGFs
bG93cyB1cyB0byB0cmVhdCB0aGVtIGFzIGEgc2VxdWVuY2Ugb2YgY29uc2VjdXRpdmUgYnl0ZXMu
Ci0gICAgICAgICAgICBib29zdDo6aW50ZWdlcjo6ZW5kaWFuPAotICAgICAgICAgICAgICAgIGVu
ZGlhbiwgdHlwZW5hbWUga2FybWE6OmRldGFpbDo6aW50ZWdlcjxiaXRzPjo6dHlwZSwgYml0cwot
ICAgICAgICAgICAgPiBwOworICAgICAgICAgICAgYm9vc3Q6OmludGVnZXI6OmVuZGlhbjxlbmRp
YW4sIHR5cGVuYW1lIFQ6OnR5cGUsIGJpdHM+IHA7CiAKICNpZiBkZWZpbmVkKEJPT1NUX01TVkMp
CiAvLyB3YXJuaW5nIEM0MjQ0OiAnYXJndW1lbnQnIDogY29udmVyc2lvbiBmcm9tICdjb25zdCBp
bnQnIHRvICdmb28nLCBwb3NzaWJsZSBsb3NzIG9mIGRhdGEKICNwcmFnbWEgd2FybmluZyhwdXNo
KQogI3ByYWdtYSB3YXJuaW5nKGRpc2FibGU6IDQyNDQpCiAjZW5kaWYKLSAgICAgICAgICAgIHR5
cGVkZWYgdHlwZW5hbWUga2FybWE6OmRldGFpbDo6aW50ZWdlcjxiaXRzPjo6dHlwZSBhdHRyaWJ1
dGVfdHlwZTsKKyAgICAgICAgICAgIHR5cGVkZWYgdHlwZW5hbWUgVDo6dHlwZSBhdHRyaWJ1dGVf
dHlwZTsKICAgICAgICAgICAgIHAgPSB0cmFpdHM6OmV4dHJhY3RfZnJvbTxhdHRyaWJ1dGVfdHlw
ZT4oYXR0ciwgY29udGV4dCk7CiAjaWYgZGVmaW5lZChCT09TVF9NU1ZDKQogI3ByYWdtYSB3YXJu
aW5nKHBvcCkKQEAgLTI0NSw5ICsyODcsOSBAQAogICAgIH07CiAKICAgICAvLy8vLy8vLy8vLy8v
Ly8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8v
Ly8vLy8KLSAgICB0ZW1wbGF0ZSA8Qk9PU1RfU0NPUEVEX0VOVU0oYm9vc3Q6OmludGVnZXI6OmVu
ZGlhbm5lc3MpIGVuZGlhbiwgaW50IGJpdHM+CisgICAgdGVtcGxhdGUgPHR5cGVuYW1lIFQsIEJP
T1NUX1NDT1BFRF9FTlVNKGJvb3N0OjppbnRlZ2VyOjplbmRpYW5uZXNzKSBlbmRpYW4sIGludCBi
aXRzPgogICAgIHN0cnVjdCBsaXRlcmFsX2JpbmFyeV9nZW5lcmF0b3IKLSAgICAgIDogcHJpbWl0
aXZlX2dlbmVyYXRvcjxsaXRlcmFsX2JpbmFyeV9nZW5lcmF0b3I8ZW5kaWFuLCBiaXRzPiA+Cisg
ICAgICA6IHByaW1pdGl2ZV9nZW5lcmF0b3I8bGl0ZXJhbF9iaW5hcnlfZ2VuZXJhdG9yPFQsIGVu
ZGlhbiwgYml0cz4gPgogICAgIHsKICAgICAgICAgdGVtcGxhdGUgPHR5cGVuYW1lIENvbnRleHQs
IHR5cGVuYW1lIFVudXNlZD4KICAgICAgICAgc3RydWN0IGF0dHJpYnV0ZQpAQCAtMjU1LDE1ICsy
OTcsMTUgQEAKICAgICAgICAgICAgIHR5cGVkZWYgdW51c2VkX3R5cGUgdHlwZTsKICAgICAgICAg
fTsKIAotICAgICAgICB0ZW1wbGF0ZSA8dHlwZW5hbWUgVD4KLSAgICAgICAgbGl0ZXJhbF9iaW5h
cnlfZ2VuZXJhdG9yKFQgY29uc3QmIHQpCisgICAgICAgIHRlbXBsYXRlIDx0eXBlbmFtZSBWPgor
ICAgICAgICBsaXRlcmFsX2JpbmFyeV9nZW5lcmF0b3IoViBjb25zdCYgdikKICAgICAgICAgewog
I2lmIGRlZmluZWQoQk9PU1RfTVNWQykKIC8vIHdhcm5pbmcgQzQyNDQ6ICdhcmd1bWVudCcgOiBj
b252ZXJzaW9uIGZyb20gJ2NvbnN0IGludCcgdG8gJ2ZvbycsIHBvc3NpYmxlIGxvc3Mgb2YgZGF0
YQogI3ByYWdtYSB3YXJuaW5nKHB1c2gpCiAjcHJhZ21hIHdhcm5pbmcoZGlzYWJsZTogNDI0NCkK
ICNlbmRpZgotICAgICAgICAgICAgZGF0YV8gPSB0OworICAgICAgICAgICAgZGF0YV8gPSB2Owog
I2lmIGRlZmluZWQoQk9PU1RfTVNWQykKICNwcmFnbWEgd2FybmluZyhwb3ApCiAjZW5kaWYKQEAg
LTI5Nyw3ICszMzksNyBAQAogICAgICAgICB9CiAKICAgICAgICAgdHlwZWRlZiBib29zdDo6aW50
ZWdlcjo6ZW5kaWFuPAotICAgICAgICAgICAgZW5kaWFuLCB0eXBlbmFtZSBrYXJtYTo6ZGV0YWls
OjppbnRlZ2VyPGJpdHM+Ojp0eXBlLCBiaXRzCisgICAgICAgICAgICBlbmRpYW4sIHR5cGVuYW1l
IFQ6OnR5cGUsIGJpdHMKICAgICAgICAgPiBkYXRhX3R5cGU7CiAKICAgICAgICAgZGF0YV90eXBl
IGRhdGFfOwpAQCAtMzA4LDExICszNTAsMTEgQEAKICAgICAvLy8vLy8vLy8vLy8vLy8vLy8vLy8v
Ly8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8KICAg
ICBuYW1lc3BhY2UgZGV0YWlsCiAgICAgewotICAgICAgICB0ZW1wbGF0ZSA8Qk9PU1RfU0NPUEVE
X0VOVU0oYm9vc3Q6OmludGVnZXI6OmVuZGlhbm5lc3MpIGVuZGlhbgorICAgICAgICB0ZW1wbGF0
ZSA8dHlwZW5hbWUgVCwgQk9PU1RfU0NPUEVEX0VOVU0oYm9vc3Q6OmludGVnZXI6OmVuZGlhbm5l
c3MpIGVuZGlhbgogICAgICAgICAgICwgaW50IGJpdHM+CiAgICAgICAgIHN0cnVjdCBiYXNpY19i
aW5hcnkKICAgICAgICAgewotICAgICAgICAgICAgdHlwZWRlZiBhbnlfYmluYXJ5X2dlbmVyYXRv
cjxlbmRpYW4sIGJpdHM+IHJlc3VsdF90eXBlOworICAgICAgICAgICAgdHlwZWRlZiBhbnlfYmlu
YXJ5X2dlbmVyYXRvcjxULCBlbmRpYW4sIGJpdHM+IHJlc3VsdF90eXBlOwogCiAgICAgICAgICAg
ICByZXN1bHRfdHlwZSBvcGVyYXRvcigpKHVudXNlZF90eXBlLCB1bnVzZWRfdHlwZSkgY29uc3QK
ICAgICAgICAgICAgIHsKQEAgLTMyMCwxMSArMzYyLDExIEBACiAgICAgICAgICAgICB9CiAgICAg
ICAgIH07CiAKLSAgICAgICAgdGVtcGxhdGUgPHR5cGVuYW1lIE1vZGlmaWVycworICAgICAgICB0
ZW1wbGF0ZSA8dHlwZW5hbWUgTW9kaWZpZXJzLCB0eXBlbmFtZSBUCiAgICAgICAgICAgLCBCT09T
VF9TQ09QRURfRU5VTShib29zdDo6aW50ZWdlcjo6ZW5kaWFubmVzcykgZW5kaWFuLCBpbnQgYml0
cz4KICAgICAgICAgc3RydWN0IGJhc2ljX2JpbmFyeV9saXRlcmFsCiAgICAgICAgIHsKLSAgICAg
ICAgICAgIHR5cGVkZWYgbGl0ZXJhbF9iaW5hcnlfZ2VuZXJhdG9yPGVuZGlhbiwgYml0cz4gcmVz
dWx0X3R5cGU7CisgICAgICAgICAgICB0eXBlZGVmIGxpdGVyYWxfYmluYXJ5X2dlbmVyYXRvcjxU
LCBlbmRpYW4sIGJpdHM+IHJlc3VsdF90eXBlOwogCiAgICAgICAgICAgICB0ZW1wbGF0ZSA8dHlw
ZW5hbWUgVGVybWluYWw+CiAgICAgICAgICAgICByZXN1bHRfdHlwZSBvcGVyYXRvcigpKFRlcm1p
bmFsIGNvbnN0JiB0ZXJtLCB1bnVzZWRfdHlwZSkgY29uc3QKQEAgLTMzNywxMiArMzc5LDEzIEBA
CiAjZGVmaW5lIEJPT1NUX1NQSVJJVF9NQUtFX0JJTkFSWV9QUklNSVRJVkUobmFtZSwgZW5kaWFu
LCBiaXRzKSAgICAgICAgICAgICAgICBcCiAgICAgdGVtcGxhdGUgPHR5cGVuYW1lIE1vZGlmaWVy
cz4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBcCiAgICAgc3Ry
dWN0IG1ha2VfcHJpbWl0aXZlPHRhZzo6bmFtZSwgTW9kaWZpZXJzPiAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICBcCi0gICAgICA6IGRldGFpbDo6YmFzaWNfYmluYXJ5PGJvb3N0OjppbnRl
Z2VyOjplbmRpYW5uZXNzOjplbmRpYW4sIGJpdHM+IHt9OyAgICBcCisgICAgICA6IGRldGFpbDo6
YmFzaWNfYmluYXJ5PGRldGFpbDo6aW50ZWdlcjxiaXRzPiwgICAgICAgICAgICAgICAgICAgICAg
ICAgICBcCisgICAgICAgIGJvb3N0OjppbnRlZ2VyOjplbmRpYW5uZXNzOjplbmRpYW4sIGJpdHM+
IHt9OyAgICAgICAgICAgICAgICAgICAgICAgICBcCiAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBcCiAg
ICAgdGVtcGxhdGUgPHR5cGVuYW1lIE1vZGlmaWVycywgdHlwZW5hbWUgQTA+ICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICBcCiAgICAgc3RydWN0IG1ha2VfcHJpbWl0aXZlPHRlcm1pbmFs
X2V4PHRhZzo6bmFtZSwgZnVzaW9uOjp2ZWN0b3IxPEEwPiA+ICAgICAgICBcCiAgICAgICAgICAg
LCBNb2RpZmllcnM+ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICBcCi0gICAgICA6IGRldGFpbDo6YmFzaWNfYmluYXJ5X2xpdGVyYWw8TW9kaWZp
ZXJzICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBcCisgICAgICA6IGRldGFpbDo6YmFz
aWNfYmluYXJ5X2xpdGVyYWw8TW9kaWZpZXJzLCBkZXRhaWw6OmludGVnZXI8Yml0cz4gICAgICAg
ICBcCiAgICAgICAgICwgYm9vc3Q6OmludGVnZXI6OmVuZGlhbm5lc3M6OmVuZGlhbiwgYml0cz4g
e307ICAgICAgICAgICAgICAgICAgICAgICBcCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBcCiAgICAg
LyoqKi8KQEAgLTM2Miw2ICs0MDUsMjkgQEAKIAogI3VuZGVmIEJPT1NUX1NQSVJJVF9NQUtFX0JJ
TkFSWV9QUklNSVRJVkUKIAorI2RlZmluZSBCT09TVF9TUElSSVRfTUFLRV9CSU5BUllfSUVFRTc1
NF9QUklNSVRJVkUobmFtZSwgZW5kaWFuLCBiaXRzKSAgICAgICAgXAorICAgIHRlbXBsYXRlIDx0
eXBlbmFtZSBNb2RpZmllcnM+ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgXAorICAgIHN0cnVjdCBtYWtlX3ByaW1pdGl2ZTx0YWc6Om5hbWUsIE1vZGlmaWVycz4g
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgXAorICAgICAgOiBkZXRhaWw6OmJhc2ljX2Jp
bmFyeTxkZXRhaWw6OmZsb2F0aW5nX3BvaW50PGJpdHM+LCAgICAgICAgICAgICAgICAgICAgXAor
ICAgICAgICBib29zdDo6aW50ZWdlcjo6ZW5kaWFubmVzczo6ZW5kaWFuLCBiaXRzPiB7fTsgICAg
ICAgICAgICAgICAgICAgICAgICAgXAorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgXAorICAgIHRlbXBs
YXRlIDx0eXBlbmFtZSBNb2RpZmllcnMsIHR5cGVuYW1lIEEwPiAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgXAorICAgIHN0cnVjdCBtYWtlX3ByaW1pdGl2ZTx0ZXJtaW5hbF9leDx0YWc6
Om5hbWUsIGZ1c2lvbjo6dmVjdG9yMTxBMD4gPiAgICAgICAgXAorICAgICAgICAgICwgTW9kaWZp
ZXJzPiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgXAorICAgICAgOiBkZXRhaWw6OmJhc2ljX2JpbmFyeV9saXRlcmFsPE1vZGlmaWVycywgZGV0
YWlsOjpmbG9hdGluZ19wb2ludDxiaXRzPiAgXAorICAgICAgICAsIGJvb3N0OjppbnRlZ2VyOjpl
bmRpYW5uZXNzOjplbmRpYW4sIGJpdHM+IHt9OyAgICAgICAgICAgICAgICAgICAgICAgXAorICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgXAorICAgIC8qKiovCisKKyAgICBCT09TVF9TUElSSVRfTUFLRV9C
SU5BUllfSUVFRTc1NF9QUklNSVRJVkUoYmluX2Zsb2F0LCBuYXRpdmUsIDMyKQorICAgIEJPT1NU
X1NQSVJJVF9NQUtFX0JJTkFSWV9JRUVFNzU0X1BSSU1JVElWRShiaWdfYmluX2Zsb2F0LCBiaWcs
IDMyKQorICAgIEJPT1NUX1NQSVJJVF9NQUtFX0JJTkFSWV9JRUVFNzU0X1BSSU1JVElWRShsaXR0
bGVfYmluX2Zsb2F0LCBsaXR0bGUsIDMyKQorICAgIEJPT1NUX1NQSVJJVF9NQUtFX0JJTkFSWV9J
RUVFNzU0X1BSSU1JVElWRShiaW5fZG91YmxlLCBuYXRpdmUsIDY0KQorICAgIEJPT1NUX1NQSVJJ
VF9NQUtFX0JJTkFSWV9JRUVFNzU0X1BSSU1JVElWRShiaWdfYmluX2RvdWJsZSwgYmlnLCA2NCkK
KyAgICBCT09TVF9TUElSSVRfTUFLRV9CSU5BUllfSUVFRTc1NF9QUklNSVRJVkUobGl0dGxlX2Jp
bl9kb3VibGUsIGxpdHRsZSwgNjQpCisKKyN1bmRlZiBCT09TVF9TUElSSVRfTUFLRV9CSU5BUllf
SUVFRTc1NF9QUklNSVRJVkUKKwogfX19CiAKICNlbmRpZgo=
--0015176f030428520e04a816337b
Content-Type: text/x-patch; charset=US-ASCII; name="qi.diff"
Content-Disposition: attachment; filename="qi.diff"
Content-Transfer-Encoding: base64
X-Attachment-Id: f_gp0xt0n24

SW5kZXg6IGhvbWUvcWkvYmluYXJ5L2JpbmFyeS5ocHAKPT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gaG9tZS9xaS9i
aW5hcnkvYmluYXJ5LmhwcAkocmV2aXNpb24gNzI2MTkpCisrKyBob21lL3FpL2JpbmFyeS9iaW5h
cnkuaHBwCSh3b3JraW5nIGNvcHkpCkBAIC0yNSw2ICsyNSw3IEBACiAjaW5jbHVkZSA8Ym9vc3Qv
bXBsL29yLmhwcD4KICNpbmNsdWRlIDxib29zdC90eXBlX3RyYWl0cy9pc19pbnRlZ3JhbC5ocHA+
CiAjaW5jbHVkZSA8Ym9vc3QvdHlwZV90cmFpdHMvaXNfZW51bS5ocHA+CisjaW5jbHVkZSA8Ym9v
c3QvdHlwZV90cmFpdHMvaXNfZmxvYXRpbmdfcG9pbnQuaHBwPgogI2luY2x1ZGUgPGJvb3N0L2Nv
bmZpZy5ocHA+CiAKICNkZWZpbmUgQk9PU1RfU1BJUklUX0VOQUJMRV9CSU5BUlkobmFtZSkgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgXApAQCAtNDIsNiArNDMsMTkgQEAK
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgXAogLyoqKi8KIAorI2RlZmluZSBCT09TVF9TUElSSVRf
RU5BQkxFX0JJTkFSWV9JRUVFNzU0KG5hbWUpICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
XAorICAgIHRlbXBsYXRlPD4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgXAorICAgIHN0cnVjdCB1c2VfdGVybWluYWw8cWk6OmRv
bWFpbiwgdGFnOjpuYW1lPjogbXBsOjp0cnVlXyB7fTsgICAgICAgICAgICAgICAgXAorICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgXAorICAgIHRlbXBsYXRlPHR5cGVuYW1lIEEwPiAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgXAorICAgIHN0cnVjdCB1c2Vf
dGVybWluYWw8cWk6OmRvbWFpbiwgdGVybWluYWxfZXg8dGFnOjpuYW1lLCAgICAgICAgICAgICAg
ICAgICAgXAorICAgICAgICBmdXNpb246OnZlY3RvcjE8QTA+ID4gPjogaXNfZmxvYXRpbmdfcG9p
bnQ8QTA+IHt9OyAgICAgICAgICAgICAgICAgICAgXAorICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgXAor
ICAgIHRlbXBsYXRlPD4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgXAorICAgIHN0cnVjdCB1c2VfbGF6eV90ZXJtaW5hbDxxaTo6
ZG9tYWluLCB0YWc6Om5hbWUsIDE+OiBtcGw6OnRydWVfIHt9OyAgICAgICAgXAorICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgXAorLyoqKi8KKwogbmFtZXNwYWNlIGJvb3N0IHsgbmFtZXNwYWNlIHNwaXJp
dAogewogICAgIC8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8v
Ly8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLwpAQCAtNTksOSArNzMsMTYgQEAKICAgICBCT09T
VF9TUElSSVRfRU5BQkxFX0JJTkFSWShiaWdfcXdvcmQpICAgICAgICAgICAgICAgLy8gZW5hYmxl
cyBiaWdfcXdvcmQKICAgICBCT09TVF9TUElSSVRfRU5BQkxFX0JJTkFSWShsaXR0bGVfcXdvcmQp
ICAgICAgICAgICAgLy8gZW5hYmxlcyBsaXR0bGVfcXdvcmQKICNlbmRpZgorICAgIEJPT1NUX1NQ
SVJJVF9FTkFCTEVfQklOQVJZX0lFRUU3NTQoYmluX2Zsb2F0KQorICAgIEJPT1NUX1NQSVJJVF9F
TkFCTEVfQklOQVJZX0lFRUU3NTQoYmlnX2Jpbl9mbG9hdCkKKyAgICBCT09TVF9TUElSSVRfRU5B
QkxFX0JJTkFSWV9JRUVFNzU0KGxpdHRsZV9iaW5fZmxvYXQpCisgICAgQk9PU1RfU1BJUklUX0VO
QUJMRV9CSU5BUllfSUVFRTc1NChiaW5fZG91YmxlKQorICAgIEJPT1NUX1NQSVJJVF9FTkFCTEVf
QklOQVJZX0lFRUU3NTQoYmlnX2Jpbl9kb3VibGUpCisgICAgQk9PU1RfU1BJUklUX0VOQUJMRV9C
SU5BUllfSUVFRTc1NChsaXR0bGVfYmluX2RvdWJsZSkKIH19CiAKICN1bmRlZiBCT09TVF9TUElS
SVRfRU5BQkxFX0JJTkFSWQorI3VuZGVmIEJPT1NUX1NQSVJJVF9FTkFCTEVfQklOQVJZX0lFRUU3
NTQKIAogbmFtZXNwYWNlIGJvb3N0IHsgbmFtZXNwYWNlIHNwaXJpdCB7IG5hbWVzcGFjZSBxaQog
ewpAQCAtOTIsNiArMTEzLDEyIEBACiAgICAgdXNpbmcgYm9vc3Q6OnNwaXJpdDo6YmlnX3F3b3Jk
X3R5cGU7CiAgICAgdXNpbmcgYm9vc3Q6OnNwaXJpdDo6bGl0dGxlX3F3b3JkX3R5cGU7CiAjZW5k
aWYKKyAgICB1c2luZyBib29zdDo6c3Bpcml0OjpiaW5fZmxvYXRfdHlwZTsKKyAgICB1c2luZyBi
b29zdDo6c3Bpcml0OjpiaWdfYmluX2Zsb2F0X3R5cGU7CisgICAgdXNpbmcgYm9vc3Q6OnNwaXJp
dDo6bGl0dGxlX2Jpbl9mbG9hdF90eXBlOworICAgIHVzaW5nIGJvb3N0OjpzcGlyaXQ6OmJpbl9k
b3VibGVfdHlwZTsKKyAgICB1c2luZyBib29zdDo6c3Bpcml0OjpiaWdfYmluX2RvdWJsZV90eXBl
OworICAgIHVzaW5nIGJvb3N0OjpzcGlyaXQ6OmxpdHRsZV9iaW5fZG91YmxlX3R5cGU7CiAKICAg
ICBuYW1lc3BhY2UgZGV0YWlsCiAgICAgewpAQCAtMTM1LDYgKzE2MiwyNiBAQAogICAgICAgICB9
OwogI2VuZGlmCiAKKyAgICAgICAgdGVtcGxhdGUgPGludCBiaXRzPgorICAgICAgICBzdHJ1Y3Qg
ZmxvYXRpbmdfcG9pbnQKKyAgICAgICAgeworICAgICAgICAgICAgQk9PU1RfU1BJUklUX0FTU0VS
VF9NU0coCisgICAgICAgICAgICAgICAgYml0cyA9PSAzMiB8fCBiaXRzID09IDY0LAorICAgICAg
ICAgICAgICAgIG5vdF9zdXBwb3J0ZWRfYmluYXJ5X3NpemUsICgpKTsKKyAgICAgICAgfTsKKwor
ICAgICAgICB0ZW1wbGF0ZSA8PgorICAgICAgICBzdHJ1Y3QgZmxvYXRpbmdfcG9pbnQ8MzI+Cisg
ICAgICAgIHsKKyAgICAgICAgICAgIHR5cGVkZWYgZmxvYXQgdHlwZTsKKyAgICAgICAgfTsKKwor
ICAgICAgICB0ZW1wbGF0ZSA8PgorICAgICAgICBzdHJ1Y3QgZmxvYXRpbmdfcG9pbnQ8NjQ+Cisg
ICAgICAgIHsKKyAgICAgICAgICAgIHR5cGVkZWYgZG91YmxlIHR5cGU7CisgICAgICAgIH07CisK
ICAgICAgICAgLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8v
Ly8vLy8vLy8vLy8vLy8vLy8vLy8vLy8KICAgICAgICAgdGVtcGxhdGUgPEJPT1NUX1NDT1BFRF9F
TlVNKGJvb3N0OjppbnRlZ2VyOjplbmRpYW5uZXNzKSBiaXRzPgogICAgICAgICBzdHJ1Y3Qgd2hh
dDsKQEAgLTE2OCwxNCArMjE1LDE0IEBACiAgICAgfQogCiAgICAgLy8vLy8vLy8vLy8vLy8vLy8v
Ly8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8v
Ci0gICAgdGVtcGxhdGUgPEJPT1NUX1NDT1BFRF9FTlVNKGJvb3N0OjppbnRlZ2VyOjplbmRpYW5u
ZXNzKSBlbmRpYW4sIGludCBiaXRzPgotICAgIHN0cnVjdCBhbnlfYmluYXJ5X3BhcnNlciA6IHBy
aW1pdGl2ZV9wYXJzZXI8YW55X2JpbmFyeV9wYXJzZXI8ZW5kaWFuLCBiaXRzPiA+CisgICAgdGVt
cGxhdGUgPHR5cGVuYW1lIFQsIEJPT1NUX1NDT1BFRF9FTlVNKGJvb3N0OjppbnRlZ2VyOjplbmRp
YW5uZXNzKSBlbmRpYW4sIGludCBiaXRzPgorICAgIHN0cnVjdCBhbnlfYmluYXJ5X3BhcnNlciA6
IHByaW1pdGl2ZV9wYXJzZXI8YW55X2JpbmFyeV9wYXJzZXI8VCwgZW5kaWFuLCBiaXRzPiA+CiAg
ICAgewogICAgICAgICB0ZW1wbGF0ZSA8dHlwZW5hbWUgQ29udGV4dCwgdHlwZW5hbWUgSXRlcmF0
b3I+CiAgICAgICAgIHN0cnVjdCBhdHRyaWJ1dGUKICAgICAgICAgewogICAgICAgICAgICAgdHlw
ZWRlZiBib29zdDo6aW50ZWdlcjo6ZW5kaWFuPAotICAgICAgICAgICAgICAgIGVuZGlhbiwgdHlw
ZW5hbWUgcWk6OmRldGFpbDo6aW50ZWdlcjxiaXRzPjo6dHlwZSwgYml0cworICAgICAgICAgICAg
ICAgIGVuZGlhbiwgdHlwZW5hbWUgVDo6dHlwZSwgYml0cwogICAgICAgICAgICAgPiB0eXBlOwog
ICAgICAgICB9OwogCkBAIC0yMTEsMTAgKzI1OCwxMCBAQAogICAgIH07CiAKICAgICAvLy8vLy8v
Ly8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8v
Ly8vLy8vLy8vLy8KLSAgICB0ZW1wbGF0ZSA8dHlwZW5hbWUgSW50CisgICAgdGVtcGxhdGUgPHR5
cGVuYW1lIFYsIHR5cGVuYW1lIFQKICAgICAgICwgQk9PU1RfU0NPUEVEX0VOVU0oYm9vc3Q6Omlu
dGVnZXI6OmVuZGlhbm5lc3MpIGVuZGlhbiwgaW50IGJpdHM+CiAgICAgc3RydWN0IGJpbmFyeV9s
aXRfcGFyc2VyCi0gICAgICA6IHByaW1pdGl2ZV9wYXJzZXI8YmluYXJ5X2xpdF9wYXJzZXI8SW50
LCBlbmRpYW4sIGJpdHM+ID4KKyAgICAgIDogcHJpbWl0aXZlX3BhcnNlcjxiaW5hcnlfbGl0X3Bh
cnNlcjxWLCBULCBlbmRpYW4sIGJpdHM+ID4KICAgICB7CiAgICAgICAgIHRlbXBsYXRlIDx0eXBl
bmFtZSBDb250ZXh0LCB0eXBlbmFtZSBJdGVyYXRvcj4KICAgICAgICAgc3RydWN0IGF0dHJpYnV0
ZQpAQCAtMjIyLDcgKzI2OSw3IEBACiAgICAgICAgICAgICB0eXBlZGVmIHVudXNlZF90eXBlIHR5
cGU7CiAgICAgICAgIH07CiAKLSAgICAgICAgYmluYXJ5X2xpdF9wYXJzZXIoSW50IG4pCisgICAg
ICAgIGJpbmFyeV9saXRfcGFyc2VyKFYgbikKICAgICAgICAgICA6IG4obikge30KIAogICAgICAg
ICB0ZW1wbGF0ZSA8dHlwZW5hbWUgSXRlcmF0b3IsIHR5cGVuYW1lIENvbnRleHQKQEAgLTIzNyw4
ICsyODQsNyBAQAogICAgICAgICAgICAgLy8gZGVmaW5pdGlvbiBvZiBDKyswMykgaXQgc2VlbXMg
dG8gYmUgc2FmZSB0byBhc3N1bWUgdGhleSBhcmUKICAgICAgICAgICAgIC8vIChidXQgaW4gQysr
MHggdGhlIGVuZGlhbiB0eXBlcyBfYXJlXyBQT0RzKS4KICAgICAgICAgICAgIC8vIFRoaXMgYWxs
b3dzIHVzIHRvIHRyZWF0IHRoZW0gYXMgYSBzZXF1ZW5jZSBvZiBjb25zZWN1dGl2ZSBieXRlcy4K
LSAgICAgICAgICAgIGJvb3N0OjppbnRlZ2VyOjplbmRpYW48Ci0gICAgICAgICAgICAgICAgZW5k
aWFuLCB0eXBlbmFtZSBxaTo6ZGV0YWlsOjppbnRlZ2VyPGJpdHM+Ojp0eXBlLCBiaXRzPiBhdHRy
XzsKKyAgICAgICAgICAgIGJvb3N0OjppbnRlZ2VyOjplbmRpYW48ZW5kaWFuLCB0eXBlbmFtZSBU
Ojp0eXBlLCBiaXRzPiBhdHRyXzsKIAogI2lmIGRlZmluZWQoQk9PU1RfTVNWQykKIC8vIHdhcm5p
bmcgQzQyNDQ6ICdhcmd1bWVudCcgOiBjb252ZXJzaW9uIGZyb20gJ2NvbnN0IGludCcgdG8gJ2Zv
bycsIHBvc3NpYmxlIGxvc3Mgb2YgZGF0YQpAQCAtMjcwLDI3ICszMTYsMjcgQEAKICAgICAgICAg
ICAgIHJldHVybiBpbmZvKHFpOjpkZXRhaWw6OndoYXQ8ZW5kaWFuPjo6aXMoKSk7CiAgICAgICAg
IH0KIAotICAgICAgICBJbnQgbjsKKyAgICAgICAgViBuOwogICAgIH07CiAKICAgICAvLy8vLy8v
Ly8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8v
Ly8vLy8vLy8vLy8KICAgICAvLyBQYXJzZXIgZ2VuZXJhdG9yczogbWFrZV94eHggZnVuY3Rpb24g
KG9iamVjdHMpCiAgICAgLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8v
Ly8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vCi0gICAgdGVtcGxhdGUgPEJPT1NUX1ND
T1BFRF9FTlVNKGJvb3N0OjppbnRlZ2VyOjplbmRpYW5uZXNzKSBlbmRpYW4sIGludCBiaXRzPgor
ICAgIHRlbXBsYXRlIDx0eXBlbmFtZSBULCBCT09TVF9TQ09QRURfRU5VTShib29zdDo6aW50ZWdl
cjo6ZW5kaWFubmVzcykgZW5kaWFuLCBpbnQgYml0cz4KICAgICBzdHJ1Y3QgbWFrZV9iaW5hcnlf
cGFyc2VyCiAgICAgewotICAgICAgICB0eXBlZGVmIGFueV9iaW5hcnlfcGFyc2VyPGVuZGlhbiwg
Yml0cz4gcmVzdWx0X3R5cGU7CisgICAgICAgIHR5cGVkZWYgYW55X2JpbmFyeV9wYXJzZXI8VCwg
ZW5kaWFuLCBiaXRzPiByZXN1bHRfdHlwZTsKICAgICAgICAgcmVzdWx0X3R5cGUgb3BlcmF0b3Io
KSh1bnVzZWRfdHlwZSwgdW51c2VkX3R5cGUpIGNvbnN0CiAgICAgICAgIHsKICAgICAgICAgICAg
IHJldHVybiByZXN1bHRfdHlwZSgpOwogICAgICAgICB9CiAgICAgfTsKIAotICAgIHRlbXBsYXRl
IDx0eXBlbmFtZSBJbnQKKyAgICB0ZW1wbGF0ZSA8dHlwZW5hbWUgViwgdHlwZW5hbWUgVAogICAg
ICAgLCBCT09TVF9TQ09QRURfRU5VTShib29zdDo6aW50ZWdlcjo6ZW5kaWFubmVzcykgZW5kaWFu
LCBpbnQgYml0cz4KICAgICBzdHJ1Y3QgbWFrZV9iaW5hcnlfbGl0X3BhcnNlcgogICAgIHsKLSAg
ICAgICAgdHlwZWRlZiBiaW5hcnlfbGl0X3BhcnNlcjxJbnQsIGVuZGlhbiwgYml0cz4gcmVzdWx0
X3R5cGU7CisgICAgICAgIHR5cGVkZWYgYmluYXJ5X2xpdF9wYXJzZXI8ViwgVCwgZW5kaWFuLCBi
aXRzPiByZXN1bHRfdHlwZTsKICAgICAgICAgdGVtcGxhdGUgPHR5cGVuYW1lIFRlcm1pbmFsPgog
ICAgICAgICByZXN1bHRfdHlwZSBvcGVyYXRvcigpKFRlcm1pbmFsIGNvbnN0JiB0ZXJtLCB1bnVz
ZWRfdHlwZSkgY29uc3QKICAgICAgICAgewpAQCAtMjk4LDE2ICszNDQsMTggQEAKICAgICAgICAg
fQogICAgIH07CiAKLSNkZWZpbmUgQk9PU1RfU1BJUklUX01BS0VfQklOQVJZX1BSSU1JVElWRShu
YW1lLCBlbmRpYW4sIGJpdHMpICAgICAgICAgICAgICAgICAgXAotICAgIHRlbXBsYXRlIDx0eXBl
bmFtZSBNb2RpZmllcnM+ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICBcCi0gICAgc3RydWN0IG1ha2VfcHJpbWl0aXZlPHRhZzo6bmFtZSwgTW9kaWZpZXJzPiAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFwKLSAgICAgIDogbWFrZV9iaW5hcnlfcGFy
c2VyPGJvb3N0OjppbnRlZ2VyOjplbmRpYW5uZXNzOjplbmRpYW4sIGJpdHM+IHt9OyAgICAgICAg
XAotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICBcCi0gICAgdGVtcGxhdGUgPHR5cGVuYW1lIE1vZGlm
aWVycywgdHlwZW5hbWUgQTA+ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFwKLSAg
ICBzdHJ1Y3QgbWFrZV9wcmltaXRpdmU8ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgXAotICAgICAgICB0ZXJtaW5hbF9leDx0YWc6Om5hbWUsIGZ1
c2lvbjo6dmVjdG9yMTxBMD4gPiAsIE1vZGlmaWVycz4gICAgICAgICAgICAgICBcCi0gICAgICA6
IG1ha2VfYmluYXJ5X2xpdF9wYXJzZXI8QTAsIGJvb3N0OjppbnRlZ2VyOjplbmRpYW5uZXNzOjpl
bmRpYW4sIGJpdHM+IHt9O1wKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgXAorI2RlZmluZSBCT09T
VF9TUElSSVRfTUFLRV9CSU5BUllfUFJJTUlUSVZFKG5hbWUsIGVuZGlhbiwgYml0cykgICAgICAg
ICAgICAgICAgXAorICAgIHRlbXBsYXRlIDx0eXBlbmFtZSBNb2RpZmllcnM+ICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgXAorICAgIHN0cnVjdCBtYWtlX3ByaW1p
dGl2ZTx0YWc6Om5hbWUsIE1vZGlmaWVycz4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
XAorICAgICAgOiBtYWtlX2JpbmFyeV9wYXJzZXI8ZGV0YWlsOjppbnRlZ2VyPGJpdHM+LCAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgXAorICAgICAgICBib29zdDo6aW50ZWdlcjo6ZW5kaWFu
bmVzczo6ZW5kaWFuLCBiaXRzPiB7fTsgICAgICAgICAgICAgICAgICAgICAgICAgXAorICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgXAorICAgIHRlbXBsYXRlIDx0eXBlbmFtZSBNb2RpZmllcnMsIHR5cGVu
YW1lIEEwPiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgXAorICAgIHN0cnVjdCBtYWtl
X3ByaW1pdGl2ZTwgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgXAorICAgICAgICB0ZXJtaW5hbF9leDx0YWc6Om5hbWUsIGZ1c2lvbjo6dmVjdG9yMTxB
MD4gPiAsIE1vZGlmaWVycz4gICAgICAgICAgICAgXAorICAgICAgOiBtYWtlX2JpbmFyeV9saXRf
cGFyc2VyPEEwLCBkZXRhaWw6OmludGVnZXI8Yml0cz4sICAgICAgICAgICAgICAgICAgICAgXAor
ICAgICAgICBib29zdDo6aW50ZWdlcjo6ZW5kaWFubmVzczo6ZW5kaWFuLCBiaXRzPiB7fTsgICAg
ICAgICAgICAgICAgICAgICAgICAgXAorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgXAogICAgIC8qKiov
CiAKICAgICBCT09TVF9TUElSSVRfTUFLRV9CSU5BUllfUFJJTUlUSVZFKGJ5dGVfLCBuYXRpdmUs
IDgpCkBAIC0zMjUsNiArMzczLDMwIEBACiAKICN1bmRlZiBCT09TVF9TUElSSVRfTUFLRV9CSU5B
UllfUFJJTUlUSVZFCiAKKyNkZWZpbmUgQk9PU1RfU1BJUklUX01BS0VfQklOQVJZX0lFRUU3NTRf
UFJJTUlUSVZFKG5hbWUsIGVuZGlhbiwgYml0cykgICAgICAgIFwKKyAgICB0ZW1wbGF0ZTx0eXBl
bmFtZSBNb2RpZmllcnM+ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgIFwKKyAgICBzdHJ1Y3QgbWFrZV9wcmltaXRpdmU8dGFnOjpuYW1lLCBNb2RpZmllcnM+ICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgIFwKKyAgICAgIDogbWFrZV9iaW5hcnlfcGFyc2Vy
PGRldGFpbDo6ZmxvYXRpbmdfcG9pbnQ8Yml0cz4sICAgICAgICAgICAgICAgICAgICAgIFwKKyAg
ICAgICAgYm9vc3Q6OmludGVnZXI6OmVuZGlhbm5lc3M6OmVuZGlhbiwgYml0cz4ge307ICAgICAg
ICAgICAgICAgICAgICAgICAgIFwKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFwKKyAgICB0ZW1wbGF0
ZTx0eXBlbmFtZSBNb2RpZmllcnMsIHR5cGVuYW1lIEEwPiAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgIFwKKyAgICBzdHJ1Y3QgbWFrZV9wcmltaXRpdmU8ICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFwKKyAgICAgICAgdGVybWluYWxfZXg8
dGFnOjpuYW1lLCBmdXNpb246OnZlY3RvcjE8QTA+ID4sIE1vZGlmaWVycz4gICAgICAgICAgICAg
IFwKKyAgICAgIDogbWFrZV9iaW5hcnlfbGl0X3BhcnNlcjxBMCwgZGV0YWlsOjpmbG9hdGluZ19w
b2ludDxiaXRzPiwgICAgICAgICAgICAgIFwKKyAgICAgICAgYm9vc3Q6OmludGVnZXI6OmVuZGlh
bm5lc3M6OmVuZGlhbiwgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFwKKyAgICAg
ICAgYml0cz4ge307ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgIFwKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFwKKyAgICAvKioqLworCisg
ICAgQk9PU1RfU1BJUklUX01BS0VfQklOQVJZX0lFRUU3NTRfUFJJTUlUSVZFKGJpbl9mbG9hdCwg
bmF0aXZlLCAzMikKKyAgICBCT09TVF9TUElSSVRfTUFLRV9CSU5BUllfSUVFRTc1NF9QUklNSVRJ
VkUoYmlnX2Jpbl9mbG9hdCwgYmlnLCAzMikKKyAgICBCT09TVF9TUElSSVRfTUFLRV9CSU5BUllf
SUVFRTc1NF9QUklNSVRJVkUobGl0dGxlX2Jpbl9mbG9hdCwgbGl0dGxlLCAzMikKKyAgICBCT09T
VF9TUElSSVRfTUFLRV9CSU5BUllfSUVFRTc1NF9QUklNSVRJVkUoYmluX2RvdWJsZSwgbmF0aXZl
LCA2NCkKKyAgICBCT09TVF9TUElSSVRfTUFLRV9CSU5BUllfSUVFRTc1NF9QUklNSVRJVkUoYmln
X2Jpbl9kb3VibGUsIGJpZywgNjQpCisgICAgQk9PU1RfU1BJUklUX01BS0VfQklOQVJZX0lFRUU3
NTRfUFJJTUlUSVZFKGxpdHRsZV9iaW5fZG91YmxlLCBsaXR0bGUsIDY0KQorCisjdW5kZWYgQk9P
U1RfU1BJUklUX01BS0VfQklOQVJZX0lFRUU3NTRfUFJJTUlUSVZFCisKIH19fQogCiAjZW5kaWYK
--0015176f030428520e04a816337b
Content-Type: text/x-patch; charset=US-ASCII; name="terminals.diff"
Content-Disposition: attachment; filename="terminals.diff"
Content-Transfer-Encoding: base64
X-Attachment-Id: f_gp0xt4355

SW5kZXg6IGhvbWUvc3VwcG9ydC9jb21tb25fdGVybWluYWxzLmhwcAo9PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBo
b21lL3N1cHBvcnQvY29tbW9uX3Rlcm1pbmFscy5ocHAJKHJldmlzaW9uIDcyNjE5KQorKysgaG9t
ZS9zdXBwb3J0L2NvbW1vbl90ZXJtaW5hbHMuaHBwCSh3b3JraW5nIGNvcHkpCkBAIC0xMTYsNiAr
MTE2LDEyIEBACiAgICAgICAgICggcXdvcmQsIHF3b3JkX3R5cGUgKQogICAgICAgICAoIGJpZ19x
d29yZCwgYmlnX3F3b3JkX3R5cGUgKQogICAgICAgICAoIGxpdHRsZV9xd29yZCwgbGl0dGxlX3F3
b3JkX3R5cGUgKQorICAgICAgICAoIGJpbl9mbG9hdCwgYmluX2Zsb2F0X3R5cGUgKQorICAgICAg
ICAoIGJpZ19iaW5fZmxvYXQsIGJpZ19iaW5fZmxvYXRfdHlwZSApCisgICAgICAgICggbGl0dGxl
X2Jpbl9mbG9hdCwgbGl0dGxlX2Jpbl9mbG9hdF90eXBlICkKKyAgICAgICAgKCBiaW5fZG91Ymxl
LCBiaW5fZG91YmxlX3R5cGUgKQorICAgICAgICAoIGJpZ19iaW5fZG91YmxlLCBiaWdfYmluX2Rv
dWJsZV90eXBlICkKKyAgICAgICAgKCBsaXR0bGVfYmluX2RvdWJsZSwgbGl0dGxlX2Jpbl9kb3Vi
bGVfdHlwZSApCiAgICAgICAgICggc2tpcCwgc2tpcF90eXBlICkKICAgICAgICAgKCBkZWxpbWl0
LCBkZWxpbWl0X3R5cGUgKQogICAgICAgICAoIHN0cmVhbSwgc3RyZWFtX3R5cGUgKQo=
--0015176f030428520e04a816337b
Content-Type: text/plain; charset="us-ascii"
MIME-Version: 1.0
Content-Transfer-Encoding: 7bit
Content-Disposition: inline

------------------------------------------------------------------------------
AppSumo Presents a FREE Video for the SourceForge Community by Eric 
Ries, the creator of the Lean Startup Methodology on "Lean Startup 
Secrets Revealed." This video shows you how to validate your ideas, 
optimize your ideas and identify your business strategy.
http://p.sf.net/sfu/appsumosfdev2dev
--0015176f030428520e04a816337b
Content-Type: text/plain; charset="us-ascii"
MIME-Version: 1.0
Content-Transfer-Encoding: 7bit
Content-Disposition: inline

_______________________________________________
Spirit-devel mailing list
[email protected]
https://lists.sourceforge.net/lists/listinfo/spirit-devel

--0015176f030428520e04a816337b--