h-strings with interpolation for PTL

Neil Schemenauer <[email protected]> Fri, 8 Dec 2017 12:12:01 -0600
Newsgroups gmane.comp.web.quixote.user
Message-ID <[email protected]>
QWZ0ZXIgZXZhbHVhdGluZyBvdGhlciBIVE1MIHRlbXBsYXRpbmcgc3lzdGVtcywgSSBzdGlsbCBw
cmVmZXIgUFRMCm92ZXIgdGhlIG90aGVycy4gIEhvd2V2ZXIsIHRoZSBmYWN0IHRoYXQgYWxsIGxp
dGVyYWwgc3RyaW5ncyBiZWNvbWUKaHRtbHRleHQoKSBpbnN0YW5jZSBpbnNpZGUgUFRMIHRlbXBs
YXRlIGZ1bmN0aW9ucyBkb2VzIGNhdXNlIHNvbWUKaXNzdWVzLiAgRS5nLiB5b3UgYXJlIHBhc3Np
bmcgYSBzdHJpbmcgdG8gc29tZSBmdW5jdGlvbiBhbmQgYXJlIG5vdAp1c2luZyBpdCBhcyBIVE1M
IG91dHB1dC4gIFNvbWV0aW1lcyB5b3UgaGF2ZSB0byB3cmFwIHN0aW5ncyBpbiBzdHIoKQpjYWxs
cy4gIEkgdGhpbmsgdGhpcyBpcyB0aGUgbW9zdCBjb21tb24gb2JqZWN0aW9uIHRvIFBUTC4KCkkg
aGF2ZSBjb21lIHVwIHdpdGggYW4gZWxlZ2FudCBzb2x1dGlvbi4gIEFzIHlvdSBwcm9iYWJseSBr
bm93LApQeXRob24gMy42IGluY2x1ZGVzIGEgZmVhdHVyZSBjYWxsZWQgZi1zdHJpbmdzLiAgVGhl
c2UgYXJlIGEgd2F5IG9mCnNhZmVseSBkb2luZyBzdHJpbmcgaW50ZXJwb2xhdGlvbi4gIEluIGEg
d2F5LCB0aGV5IGFyZSBzaW1pbGFyIHRvCnRoZSBpZGVhIG9mIFBUTC4gIEJlY2F1c2UgdGhleSBv
bmx5IHdvcmsgb24gbGl0ZXJhbCBzdHJpbmdzLCB5b3UKYXZvaWQgaGF2aW5nIHRoZSBpbnRlcnBv
bGF0aW9uIHN5bnRheCBiZWNvbWluZyBhIHNlY3VyaXR5IGhvbGUgKGUuZy4KYW4gYXR0YWNrZXIg
aW5qZWN0cyBpbnRlcnBvbGF0aW9uIGNvbnRhaW5pbmcgc3RyaW5ncyBhbmQgZXh0cmFjdHMKZGF0
YSBmcm9tIHZhcmlhYmxlcyB0aGV5IHNob3VsZCBub3Qgc2VlKS4KCkFmdGVyIHBsYXlpbmcgd2l0
aCBmLXN0cmluZ3MsIEkgcmVhbGl6ZWQgdGhhdCBpdCB3b3VsZCBiZSBuaWNlIGlmClBUTCBzdXBw
b3J0ZWQgYW4gaHRtbHRleHQgdmVyc2lvbiBvZiB0aGVtLiAgQWZ0ZXIgaW1wbGVtZW50aW5nIGl0
LCBJCnJlYWxpemUgdGhhdCB0aGUgInN0cmluZ3MgaW4gaHRtbCB0ZW1wbGF0ZXMgYmVjb21lIGh0
bWx0ZXh0KCkiIHJ1bGUKb2YgUFRMIGlzIG5vIGxvbmdlciBuZWVkZWQuICBJbnN0ZWFkLCB5b3Ug
Y2FuIGp1c3QgcHJlZml4IHRoZQpzdHJpbmdzIHdpdGggJ2gnIGlmIHlvdSBuZWVkIHRoZW0gdG8g
YmUgaHRtbHRleHQuICBPdGhlciBsaXRlcmFsCnN0cmluZ3Mgd2lsbCByZW1haW4gYXMgYSBzdHIu
ICBZb3UgY2FuIGZyZWVseSB1c2UgdGhlIGgtc3RyaW5nCnN5bnRheCBvdXRzaWRlIG9mIHRlbXBs
YXRlIGZ1bmN0aW9ucyBhcyB3ZWxsLCBhcyBsb25nIGFzIHlvdSBhcmUKaW5zaWRlIGEgLnB0bCBt
b2R1bGUuCgpOb3RlIHRoYXQgaC1zdHJpbmdzIHN1cHBvcnQgZi1zdHJpbmcgc3R5bGUgaW50ZXJw
b2xhdGlvbi4gIE9mdGVuIHlvdQphcmUgaW5zZXJ0aW5nIHZhcmlhYmxlcyBpbnRvIHlvdXIgbWFy
a3VwIHNvIGl0IHNlZW1zIGdvb2QgdG8gbWFrZQppbnRlcnBvbGF0aW9uIGVuYWJsZWQgYnkgZGVm
YXVsdC4gIElmIHlvdSBkb24ndCB1c2UgYW55IGN1cmx5CmJyYWNlcywgdGhlIGJ5dGVjb2RlIGlz
IGV4ZWN0bHkgdGhlIHNhbWUgYXMgaWYgbm8gaW50ZXJwb2xhdGlvbiBpcwpkb25lLiAgU28sIHRo
ZXJlIGlzIG5vIHJlYWwgcnVuLXRpbWUgcGVyZm9ybWFuY2UgY29zdC4KCkFuIGV4YW1wbGU6Cgpk
ZWYgcGFnZV9oZWFkZXIgW2h0bWxdICh0aXRsZSk6CiAgICBoJzwhRE9DVFlQRSBodG1sPlxuJwog
ICAgaCc8aHRtbD4nCiAgICBoJzxoZWFkPicKICAgIGgnPG1ldGEgY2hhcnNldD0idXRmLTgiPicK
ICAgIGgnPHRpdGxlPkF3ZXNvbWUgV2ViIFNpdGU6IHt0aXRsZX08L3RpdGxlPicKICAgIGNzc19w
YXRoID0gU1RBVElDX0RJUi5tYWtlX3BhdGgoJ2NzcycpCiAgICBoJzxsaW5rIHJlbD0ic3R5bGVz
aGVldCIgaHJlZj0ie2Nzc19wYXRofSI+JwogICAgaCc8L2hlYWQ+JwogICAgaCc8Ym9keT5cbicK
CklmIHlvdSB3YW50IHRvIHNlZSB3aGF0IHRoZSBieXRlY29kZSBsb29rcyBsaWtlLCB5b3UgY2Fu
IHVzZSB0aGUKcHRsX3BhcnNlIG1vZHVsZSwgZS5nLgoKICAgIHB5dGhvbiAtbSBxdWl4b3RlLnB0
bC5wdGxfcGFyc2UgLWQgPGZpbGU+LnB0bAoKSWYgeW91IHVzZSB0aGUgLWEgb3B0aW9uLCB5b3Ug
d2lsbCBnZXQgYSBkdW1wIG9mIHRoZSBBU1QgKGluc3RhbGwKYXN0cHJldHR5IHBhY2thZ2UgZmly
c3QgdG8gZ2V0IG5pY2VseSBpbmRlbnRlZCBvdXRwdXQpLiAgQXMgd2l0aCBvbGQKUFRMLCB0aGUg
UFRMIGNvbXBpbGVyIGdlbmVyYXRlcyBhIHJlZ3VsYXIgLnB5YyBmaWxlLiAgUHl0aG9uIGRvZXNu
J3QKa25vdyBpdCBpcyBydW5uaW5nIGFueXRoaW5nIHNwZWNpYWwgYW5kIHNvIGRlYnVnZ2Vycywg
Y29kZSBjb3ZlcmFnZQp0b29scywgZXRjIGFsbCB3b3JrIGFzIG5vcm1hbC4gIFdoZW4gdGhlIC5w
eWMgaXMgYWxyZWF5IG1hZGUsIGltcG9ydAppcyBhYm91dCBhcyBmYXN0IGFzIGEgbm9ybWFsIFB5
dGhvbiBtb2R1bGUuCgpUaGlzIFBUTCBjaGFuZ2UgaXMgaW5jb21wYXRpYmxlIHdpdGggb2xkIHN0
eWxlIFBUTC4gIEkgYW0gY2F1dGlvdXMKYWJvdXQgaW5jb21wYXRpYmxlIGNoYW5nZXMgYWZ0ZXIg
dGhlIFF1aXhvdGUgMSB0byAyIGRlYmFjbGUuCkhvd2V2ZXIsIGNvbnZlcnRpb24gaXMgbmVhcmx5
IGF1dG9tYXRlZC4gIEkgaGF2ZSB3cml0dGVuIGEgdG9vbCwKdG9vbHMvY29udmVydF9oc3RyaW5n
LnB5IHRoYXQgZG9lcyBpdCBhbG1vc3QgcGVyZmVjdGx5LiAgQXQgbGVhc3QKZm9yIG15IGNvZGUg
aXQgZGlkLgoKVGhpcyBpcyBub3QgcmVhZHkgZm9yIHJlbGVhc2UgeWV0IGJ1dCBJIHB1dCBhIGJy
YW5jaCB1cCBvbiBnaXRodWI6CgpodHRwczovL2dpdGh1Yi5jb20vbmFzY2hlbWUvcXVpeG90ZS90
cmVlL2hzdHJpbmcKCkkgaGF2ZSBjb252ZXJ0ZWQgYSBsYXJnZSB3ZWIgYXBwbGljYXRpb24gdG8g
dGhpcyBuZXcgUFRMIGNvbXBpbGVyCmFuZCB3aWxsIGJlIGRvaW5nIG1vcmUgdGVzdGluZyBvdmVy
IHRoZSBuZXh0IHdlZWsuICBJIGFtIHF1aXRlCmV4Y2l0ZWQgYWJvdXQgdGhpcyBhcyB0aGUgbmV3
IGNvZGUgbG9va3MgY2xlYW5lciBhbmQgdGhlCmludGVycG9sYXRpb24gYnkgZGVmYXVsdCB3aWxs
IGJlIHF1aXRlIGhhbmR5LgoKUmVnYXJkcywKCiAgTmVpbApfX19fX19fX19fX19fX19fX19fX19f
X19fX19fX19fX19fX19fX19fX19fX19fXwpRdWl4b3RlLXVzZXJzIG1haWxpbmcgbGlzdApRdWl4
b3RlLXVzZXJzQGxpc3RzLnF1aXhvdGUuY2EKaHR0cDovL2xpc3RzLnF1aXhvdGUuY2EvY2dpLWJp
bi9tYWlsbWFuL2xpc3RpbmZvL3F1aXhvdGUtdXNlcnMK