Topic: Controlled Argument Evaluation
Author: Alberto Barbati <albertobarbati@gmail.com>
Date: Thu, 27 Apr 2017 18:32:30 +0200
Raw View
--001a113d091ee52c82054e28804e
Content-Type: multipart/alternative; boundary=001a113d091ee52c6f054e28804c
--001a113d091ee52c6f054e28804c
Content-Type: text/plain; charset=UTF-8
Hi Everyone,
Here's my bold attempt at addressing the following practical problems:
- allow overloading operators || and && without losing short-circuiting;
- allow writing efficient assert or logging functions without relying on
macros.
Both cases are essentially instances of the same scenario: allow writing
functions that do not necessarily evaluate all of their arguments.
The goal is achieved by introducing a new kind of functions, that allow
arguments evaluation to be customized. The proposed approach is a pure core
language extension.
I am aware that a full proposal is going to require a lot of wording in the
delicate [intro.execution] section. However, at this early stage, I am most
interested in the potential implementability of the feature. Of course any
other feedback is also welcome. Just, please, leave bikeshedding over the
keywords for later.
Cheers,
Alberto
--
You received this message because you are subscribed to the Google Groups "ISO C++ Standard - Future Proposals" group.
To unsubscribe from this group and stop receiving emails from it, send an email to std-proposals+unsubscribe@isocpp.org.
To post to this group, send email to std-proposals@isocpp.org.
To view this discussion on the web visit https://groups.google.com/a/isocpp.org/d/msgid/std-proposals/CAF3xnJTfp7PXYNYj5k9V5yyyXgC%2BoZbTBizRkcQLvSr%3Dh6aBEA%40mail.gmail.com.
--001a113d091ee52c6f054e28804c
Content-Type: text/html; charset=UTF-8
Content-Transfer-Encoding: quoted-printable
<div dir=3D"ltr">Hi Everyone,<br><br>Here's my bold attempt at addressi=
ng the following practical problems:<br><br>- allow overloading operators |=
| and && without losing short-circuiting;<br>- allow writing effici=
ent assert or logging functions without relying on macros.<br><br>Both case=
s are essentially instances of the same scenario: allow writing functions t=
hat do not necessarily evaluate all of their arguments.<br><br>The goal is =
achieved by introducing a new kind of functions, that allow arguments evalu=
ation to be customized. The proposed approach is a pure core language exten=
sion.<br><br>I am aware that a full proposal is going to require a lot of w=
ording in the delicate [intro.execution] section. However, at this early st=
age, I am most interested in the potential implementability of the feature.=
Of course any other feedback is also welcome. Just, please, leave bikeshed=
ding over the keywords for later.<br><br>Cheers,<br><br>Alberto<br><br></di=
v>
<p></p>
-- <br />
You received this message because you are subscribed to the Google Groups &=
quot;ISO C++ Standard - Future Proposals" group.<br />
To unsubscribe from this group and stop receiving emails from it, send an e=
mail to <a href=3D"mailto:std-proposals+unsubscribe@isocpp.org">std-proposa=
ls+unsubscribe@isocpp.org</a>.<br />
To post to this group, send email to <a href=3D"mailto:std-proposals@isocpp=
..org">std-proposals@isocpp.org</a>.<br />
To view this discussion on the web visit <a href=3D"https://groups.google.c=
om/a/isocpp.org/d/msgid/std-proposals/CAF3xnJTfp7PXYNYj5k9V5yyyXgC%2BoZbTBi=
zRkcQLvSr%3Dh6aBEA%40mail.gmail.com?utm_medium=3Demail&utm_source=3Dfooter"=
>https://groups.google.com/a/isocpp.org/d/msgid/std-proposals/CAF3xnJTfp7PX=
YNYj5k9V5yyyXgC%2BoZbTBizRkcQLvSr%3Dh6aBEA%40mail.gmail.com</a>.<br />
--001a113d091ee52c6f054e28804c--
--001a113d091ee52c82054e28804e
Content-Type: application/pdf; name="Controlled Argument Evaluation.pdf";
x-apple-part-url="36A3E863-6FE2-4AE6-9D61-770511EF280C@fritz.box"
Content-Disposition: attachment;
filename="Controlled Argument Evaluation.pdf"
Content-Transfer-Encoding: base64
X-Attachment-Id: a62ff01e0d0e77bd_0.1.1
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
mpechPYmuP4Crk64ojCqUxKW9ElaALVJmuDJT1AntDThWcxRgmOE1hEyol1yDPdwXzu0Z+PQnhfJ
eh2SwM4KgDHqgKsVfpuAmzDp9UuGoLcFevwgAzznvZ/w3UfotADlbugl1AHHgMJgfhdAexOsH5ME
CY34rjVDMDuOOcvvggPHihxEJY0wOgpzYqKm8jvhUD6i8OSXtJB1YkQqP6aat+4hfIWpRdqI/HhM
F6BWbLEdL7/fztjfPtBG9+mbzLjPOz6QzsaH8J2PqI1/ir7/FH3/X4++SPx37A/42UCoHm2SvwNg
65lN8hUlgOcBdMCpy42s5O/4FPXoefwPK9DYKP4hM24S/zROjv9OR/xv3mMb6Nzo5DqD/3d3nXkC
Rv0fns5pNAplbmRzdHJlYW0KZW5kb2JqCgo0NjMgMCBvYmoKNzkyOAplbmRvYmoKCjQ2NCAwIG9i
ago8PC9UeXBlL0ZvbnREZXNjcmlwdG9yL0ZvbnROYW1lL0RBQUFBQStTb3VyY2VDb2RlUHJvLVJl
Z3VsYXIKL0ZsYWdzIDQKL0ZvbnRCQm94Wy0xOTMgLTQ1NCA3OTMgMTA2MV0vSXRhbGljQW5nbGUg
MAovQXNjZW50IDk4NAovRGVzY2VudCAtMjczCi9DYXBIZWlnaHQgMTA2MAovU3RlbVYgODAKL0Zv
bnRGaWxlMiA0NjIgMCBSCj4+CmVuZG9iagoKNDY1IDAgb2JqCjw8L0xlbmd0aCA0NDEvRmlsdGVy
L0ZsYXRlRGVjb2RlPj4Kc3RyZWFtCnicXZPLjuIwEEX3+QovexatxOU8GglFoqGRWMxDQ88HhMTQ
kZokMmHB349v3cyMNAvQcbmqODbldHvYHYZ+Tn+EsT362Zz7oQv+Nt5D683JX/ohsWK6vp2XlX63
12ZK0lh7fNxmfz0M53G9TtKfce82h4d52nTjyX9J0u+h86EfLubp1/YY18f7NH36qx9mkyV1bTp/
jn2+NtO35upTrXo+dHG7nx/PseRfwvtj8kZ0banSjp2/TU3rQzNcfLLOstqs9/s68UP3316+Ysnp
3H40IabamJplpasjC3kPduQ3cK5c5eCCLOCSOVtwRS7AL2TNXykX2nPDuAW/kivwlj21dsf4DvzG
eAneM76KbDNlycD0F/S39K/Q0y7+r+DFX2vpX8Lf0r/C2e3i/wKmvyjTX3BGS3/RPvSvtD/9S3ha
+ov2p7/THPpXOJfQv0J/oX+Fswj9BX2E/oXG6e+U6e9wV0J/h/sU+he4c6F/jjsR+rsNmP453IT+
DucS+jt1o7/D/y70F62lv+C33HL/yHH0z60O2zJVGDu8iz/jbNp7CHGU9fHoDGN6+8Gbvw9sGieU
6ec3FujeVwplbmRzdHJlYW0KZW5kb2JqCgo0NjYgMCBvYmoKPDwvVHlwZS9Gb250L1N1YnR5cGUv
VHJ1ZVR5cGUvQmFzZUZvbnQvREFBQUFBK1NvdXJjZUNvZGVQcm8tUmVndWxhcgovRmlyc3RDaGFy
IDAKL0xhc3RDaGFyIDQ5Ci9XaWR0aHNbNjAwIDYwMCA2MDAgNjAwIDYwMCA2MDAgNjAwIDYwMCA2
MDAgNjAwIDYwMCA2MDAgNjAwIDYwMCA2MDAgNjAwCjYwMCA2MDAgNjAwIDYwMCA2MDAgNjAwIDYw
MCA2MDAgNjAwIDYwMCA2MDAgNjAwIDYwMCA2MDAgNjAwIDYwMAo2MDAgNjAwIDYwMCA2MDAgNjAw
IDYwMCA2MDAgNjAwIDYwMCA2MDAgNjAwIDYwMCA2MDAgNjAwIDYwMCA2MDAKNjAwIDYwMCBdCi9G
b250RGVzY3JpcHRvciA0NjQgMCBSCi9Ub1VuaWNvZGUgNDY1IDAgUgo+PgplbmRvYmoKCjQ2NyAw
IG9iago8PC9MZW5ndGggNDY4IDAgUi9GaWx0ZXIvRmxhdGVEZWNvZGUvTGVuZ3RoMSAxMDYzMj4+
CnN0cmVhbQp4nO1abVBc13l+797LLh/LsgsLKwFCZwEtApZlWb4kQAgkhMHCgFhsQWTJWuBqWWs/
yO6CJNtxNJnUSdXWk4nVjH/4h9uobTpNFGRbLZLskWo7atxxXE3sdFyP2zgznk6SyTSK685kMjXq
c849CwgJxfW0PzqNmLv3Oe95z/vxvO859+5o08l5nax0mlTqmY6F5ho3lxQS0ZtESuH0Qpr9SfYy
hsoH+Kg8NheOjT5/6GdEJg2yVDh66ljupo6niNSTRNlPzuqhmZ/Y/7mFKO/X0G+bheBXy/+kEln9
GFfPxtInf2XqMWE8jnFFNDEd8hWctmGc5uNY6OTcfaZKPn8WYxYPxfSnzGc/wvglovKxuUQKejBH
tdl8fi6pzz3/xruYr92O8WEeKP74PyugmY9NqpZltmTn5OZZ8+n/4z8npegbuFtvNZNV+Veymrpx
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
QUErU291cmNlQ29kZVByby1Cb2xkCi9GbGFncyA0Ci9Gb250QkJveFstMjA4IC00NTQgODA4IDEw
NjFdL0l0YWxpY0FuZ2xlIDAKL0FzY2VudCA5ODQKL0Rlc2NlbnQgLTI3MwovQ2FwSGVpZ2h0IDEw
NjAKL1N0ZW1WIDgwCi9Gb250RmlsZTIgNDY3IDAgUgo+PgplbmRvYmoKCjQ3MCAwIG9iago8PC9M
ZW5ndGggMjg0L0ZpbHRlci9GbGF0ZURlY29kZT4+CnN0cmVhbQp4nF2Ry27DIBBF93wFy3QR+ZE4
TiTLUmrXkhd9qE4/AMPYRaoxwnjhvy8DaSt1ATrD3IuGS1S1daukjd7MzDuwdJBKGFjm1XCgPYxS
kSSlQnJ7r/zOJ6ZJ5LzdtliYWjXMRUGid9dbrNno7irmHh5I9GoEGKlGuvuoOld3q9ZfMIGyNCZl
SQUM7p5npl/YBJF37Vvh2tJue2f5E9w2DTT1dRJG4bOARTMOhqkRSBHHJS2apiSgxL9ecgiWfuCf
zDhp4qRxfMpKx6nn/IR8COcJ8jFwhZwFjdefAh+Rc89Zg3wO5ynyJXhz5GvgGvkx8BNy5Tk9I9eB
L374+5T4DMz5Jx7KV2NcNP4zfCaYhlRAfz9Mzxptfn0DcmyJ7gplbmRzdHJlYW0KZW5kb2JqCgo0
NzEgMCBvYmoKPDwvVHlwZS9Gb250L1N1YnR5cGUvVHJ1ZVR5cGUvQmFzZUZvbnQvRkFBQUFBK1Nv
dXJjZUNvZGVQcm8tQm9sZAovRmlyc3RDaGFyIDAKL0xhc3RDaGFyIDEzCi9XaWR0aHNbNjAwIDYw
MCA2MDAgNjAwIDYwMCA2MDAgNjAwIDYwMCA2MDAgNjAwIDYwMCA2MDAgNjAwIDYwMCBdCi9Gb250
RGVzY3JpcHRvciA0NjkgMCBSCi9Ub1VuaWNvZGUgNDcwIDAgUgo+PgplbmRvYmoKCjQ3MiAwIG9i
ago8PC9MZW5ndGggNDczIDAgUi9GaWx0ZXIvRmxhdGVEZWNvZGUvTGVuZ3RoMSAzMTQwPj4Kc3Ry
ZWFtCnic7VbbbyNXHf4d37LNbnPZzW6zci/HnW27JeNcnO6KldLWSuJsnKvXTlbjEomd2BN7uvaM
O7bTTURFEQWKCyshVaWIClUrECAonIQHytsiqEQlVoJqiQSiEm+80BcELxVs+c7x5LJLxF+A7Tnn
+33nd58zx9PwmhYdo5cpSMlC1az1MUb4/JaIHS+sN/jKqeth4L+Ay6zVStXbZ7f/ShQYxmWVKhtr
c3/45iNEoTex/uOyZRZvNK7EiMKTkM+XQaTv3IxA/hzkM+Vq49p19l4I8tuQj1TcgqnTZcDwDzBE
qua12sngQ0ggLCBzx6xanzyQfQ3y77B8pubWG4REiY7+Q67XPKvWP/D3d4iO9UEexMVIpY+KiEWU
/P/P6/QN+iq9Q2m6QXkaoqdIpwRdoUuk0SSNU4x+Se/R7+lX9F36Mr1BX6Bv09sk6PuUpM/TK+wt
Oh3cCT8b/iF9JtwrSBd0YlZ8KmOImfW8IO3ZfhEZMJ7OK+6lPL8t2InB/rhgOv+TODYQFwF9Nmuk
tHwsLoK63c9FMmPERDIfFyFdmsa02KbxYfRWPgo949/Rj/JRLSbCA4aYWs+rhXwe/sL6/SvPxUVE
33qUvYro/NWVlagguOnQt84oKrlHHdGP9/ILQ3Fxn85fkkF+DTdcBB9La1yEHp8RlDFaVsvkEnw6
Govloy0lZduSDNjZzq4n2hODx6M6/0CVc0znQ6JjYMXg/KI2ZT7PDV5cbbuQevfLyAjNW/xia8rU
WrylqXCadC6S0ER9khBJSwqw6VKRnt7pj8WifKeFNsAojWyW/dxiSq1b1/iOH1zjxmwuGhMsb7RQ
UFprabyVbmmmNGibyCkueuRtOI68e2UBEhy/p4CWnDTz+SsHK5GmJ3QU0fqKbNtMUWt1CJ4xxqI3
sdKn/4ySLDk+zmbf7aECqVEqLxtyzBraKrLXxqOYmDaOziezxjZxmiiMbzPOMAleEKetB3djndQF
WPQFQ1zu2gD2JgWK4WU88B00uMVoaGy7I9T9UWIrEv7z2HYwAEhbQUmHJb3dEXniX2PbTPKjvbHe
x2K9sckAv3OGvXmnHF7++EeToVskT4QZ9n7gSvBD6qKHscvRilv4MdE9JEI74ugt/LZ62AANj7BH
n3j83FPnRxMPnDrZ1xFhzzmXLt1wqnPzc7Ps/YV513lrcd6pzS2oU2bt9Le++MbtVz7bPfZPeuSI
evBuFnt/fvBBVNXg3ENt7Y886b52Z4qN7qnce14FAn+jycAfaQa4fVQy1Ztu30cAcoBOSTrI/NOv
i36y64e9vueTUSck5lt1sO/4OAj+ez4OAf/Ux2HqZr/wcQT8b6DJQvfB4Cz7wMeM+kIf+zhAXeEu
HwepL/ygj0PAwz4O08P4Z2jjCPjVs4UneWJ4+ALPNR0+bxc8t75Rb1jVOk87hcHOpelUNsUnF1M5
vrC4xFNGOrfE2zYjI3ymWbEthy+Yq1ajM5NNTaQmoTgWf2bfIrc8MZFKTe7bLFbsddvy+LRZqbjS
Kj2fUiZL2XRmLsXbhK8+yufNRtk261Cv161K1XSczlrZVgaYR3YVz/HZslmxinzarTsbnT57HhVd
tfisWTKd+lW7c9PyXJ27jqXzxotAjbJnAa+5TQ+jvQ5ct69hsNYtR+eWXSo3dO7Y0uCFplVv2C7o
plO0vHrB9cAW3NqG11bzrJKNznlWUarYicTIOZ2bTqkio5XBrymLirtpOSVrN/FhftF1ocMnXK/m
eqYMsViznNxGddWtZK1Ss2J6+8Q+uowcoMtHhhOD8LK/QGdxHDyJJz1Bw/heAMpRkxzM82RjzSOX
6rSBq0EWVTFz/DM5WBmkTlqiaUpRFhfH87+IOQe0ALSEOUUGdHMKH4wzgi/HM9KkCmJYKtoCmbQK
3IDXjPI4gWvS9zhGcXrm0Bg5Woam1JXah8VZVFHWVSQP8jQiVfB192KlUWvqQJQlxWVoTrEHNe72
Pqq6ZMJPGd5N1ZtpNdcRq4JumajNQZSa0tiP0JZH/svjOaBZrMkMLSoqf7L/Du5A5z265/17dBWa
0sqkkopXB2NDe1PV6+Ic4hgdSBI16EWfk1l7YNv8Gtgm5DaW/WrzdeBrPrIU6yjJAl+Ch4aSHEi7
EV6AH0vtF1vFlZzcUUWVTx01uCqu5CWuoTbvLm9ytQSmvec81YldLzaqT6hOSUbWW1K92q2orb92
IIa805sq75Lq1N1dHAa6CA3X94P/PGVbU6O5V8UiGOkjh2yr2KkutLMqT7mLTegepnEYd9nvQ9sv
Vzkk8DS1cznMIvi/XxjfZZ98SbCv06w4kjG2GLue35qSb0KiBy95fVmAl/MP4Y1lxciLvgGi/wDe
jXBHCmVuZHN0cmVhbQplbmRvYmoKCjQ3MyAwIG9iagoxNzY2CmVuZG9iagoKNDc0IDAgb2JqCjw8
L1R5cGUvRm9udERlc2NyaXB0b3IvRm9udE5hbWUvRUFBQUFBK09wZW5TeW1ib2wKL0ZsYWdzIDQK
L0ZvbnRCQm94Wy0xNzkgLTMxMiAxMDgzIDkyN10vSXRhbGljQW5nbGUgMAovQXNjZW50IDY5Mwov
RGVzY2VudCAtMjE1Ci9DYXBIZWlnaHQgOTI2Ci9TdGVtViA4MAovRm9udEZpbGUyIDQ3MiAwIFIK
Pj4KZW5kb2JqCgo0NzUgMCBvYmoKPDwvTGVuZ3RoIDIyMS9GaWx0ZXIvRmxhdGVEZWNvZGU+Pgpz
dHJlYW0KeJxdkEFPxCAQhe/8ijnuHja0nJsmZs0mPegaqz+AwrSS2IFM6aH/3ilWTTxA8njvgzfo
a/fYUcj6haPrMcMYyDMucWWHMOAUSNUGfHD5UGV3s01KC9tvS8a5ozE2jdKv4i2ZNzg9+DjgWek7
e+RAE5zer73ofk3pE2ekDJVqW/A4yj1PNj3bGXWhLp0XO+TtIshf4G1LCKbo+ruKix6XZB2ypQlV
U1UtNLdbq5D8P+8ghtF9WJZkLUlTGVOyx+lO7WP9tAG3MkuTMnupsD8eCOH3f1JMO1bWF+dhbZkK
ZW5kc3RyZWFtCmVuZG9iagoKNDc2IDAgb2JqCjw8L1R5cGUvRm9udC9TdWJ0eXBlL1RydWVUeXBl
L0Jhc2VGb250L0VBQUFBQStPcGVuU3ltYm9sCi9GaXJzdENoYXIgMAovTGFzdENoYXIgMQovV2lk
dGhzWzM2NSAzNTUgXQovRm9udERlc2NyaXB0b3IgNDc0IDAgUgovVG9Vbmljb2RlIDQ3NSAwIFIK
Pj4KZW5kb2JqCgo0NzcgMCBvYmoKPDwvTGVuZ3RoIDQ3OCAwIFIvRmlsdGVyL0ZsYXRlRGVjb2Rl
L0xlbmd0aDEgNTAyMDQ+PgpzdHJlYW0KeJzt/Wl4HMW1MABXdfdM9+w9+z7Ts89oRjOjZSSNLFst
W/ImGwuvkkFY3m0w1uIFDDgWYTE2ix32LdgkYSexLC/ILEEQh4QkDk5CCHBDcHINgYASJ3G4EKzR
d6pm5IXk3ve+35/v+Z7n1aiqTldVV1dVnzp1zqlT1Rv7Nq1EWtSPWCQvv3Jpz+1r996KEPoZQti0
fPNGyfZulRvgEwjx767qWX1l37PvhBBSvYiQYv/qdVtWPVD54R0IGXoQ+oa8ZuXSFZHVpw0I7R2A
MmrWQMSuwhYerj+C6/CaKzdefbMtqEfoUS2UGV7XvXzp3a9MuAWhb2Uh/e4rl17d86TiYQVcH4Vr
af3SK1e++bVNRrg+iZDxeE/3ho0IKorQwYMkvadvZc+fXv80A9dvQh1aIA7Dj/yR8pXkmmE5hZIX
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
ZA/MsfAsrTCVwqSHRGEuhZU0fhmFeRq/nsIChb9GYRXpQ+GOEgx9KHxegqEPVbYSDH2oCpdg6EPV
vSUY+lB1sARDH6p+WYKhD1WnSzD0ofrVEgx9qP5bCYY+1FxNYTWpp95EYQ2pm95HYS2NT1NYT+F6
Coukbvpie80Am/TzKWyheVZR2ErL6aOwjcZ/ncJOem+xvW6a52EKe2meZynsp/AQhcM0/1EKl1G4
2MZyCp8gsFCs/58pXHzWPwmspfEGJYVJW5DBhJ5CEqpE5MPHNQDNR2vQSghng2C7HtxGtAXEAhIz
Ba76ACb+UohfS3OkIaUJrYOfhOZC3Gq4fyPaQK9WQrgScm8GfwXknA/pV9JYCV0E4VU0VzfELYWS
SP7VaBOUtBTu+erz6/8Pd0tfub8eRih59oZSPSWUgxpkUQVAcSh9LVoOqd2Q3o1WwVMS/4fy/7vS
0qgKXX3evcU7z93XhubB0+b/H2u/lqYsBbeR9u8KyHMlbckVEEfq+H//bkip62mJxfsWwNVauCJv
Q4J6baR5V5aevB5iM7QEiZa9hrZYgn7qhl5dT+u1luZO/1/X5F/zzT8LNdOcV9G6robrOdDWVfT9
kNTyszVdD292JdxVfGof7TFSagpiFtL8G0u1n0X7jfQgqbUEbykPb6kSddCWSLRfSTmbKH4W+6fY
/6toiRtpf5DrHtoHV9JeG++3ZfTe8T5tgV6dBSOgeG/feSk9FL9WwFOW0xKL7+Iq+qzl4P/75xav
Sd7l0N5NtBUraN5u8FfQ9B6K41vOvrXis9aWSlheKqvYejI+pX9peTftzS10LKwF3Jcoti07+6x/
V6/1/1L2/76XzpW+4ux77qO4VMSq5Wcx5d+3/hweX1ivCef1AWlJsS0b6fPGcZCUX2zrCoi5ira8
m46wf9/SYk8vvaBXV5ZGxVfHBunVjZBvE72T1HbzWcwtlkNyroMc/+M7ekqqzGZrpPlrVkqzu9d3
b9zSs1Ka0t3X0923dOPa7vVpqWndOmnu2tVrNm6Q5q7csLJv88oV6flrr1y5Qbpo5VXS3O4rl66f
u3L1pnVL+8bvr/9KslRKr1+4sm8DlCnl0tkKKT577fK+7g3dqzYmvpL//GzpqqtpKiTStLZ5s+d/
tfi1G6Sl0sa+pStWXrm07wqpe9V/2xpp7XppI6QtWL9248oV0ryNSzdCSUvXr8h090ndkNInLe/e
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
E94Ify3N9JmbIIR/crlx0wbyh+ABG8AVH5fclJzS3hREy1nyDQgWfDO4ELgqcPPAKdAPwP8VuP8E
93dwHLoB/LvAfRvcARLDlrPlLY61zeSJHfTsQwdbeSCbq6wbgnDpqmI4b3ExbLmoGDY0VTogHGys
UjcZgPEmn7KtRD8B9y64P4H7JzgFW8lW0sI3FbG2YwPakMRQfWKKtJF4G5IbMTFKwqS7N25IJtGG
oqEShjdALOa+cuwFwhs2IegKeCEQQCYau4HctomE438kAUjx/wdS5n4vCmVuZHN0cmVhbQplbmRv
YmoKCjQ3OCAwIG9iagozNDI3NQplbmRvYmoKCjQ3OSAwIG9iago8PC9UeXBlL0ZvbnREZXNjcmlw
dG9yL0ZvbnROYW1lL0JBQUFBQStUaW1lc05ld1JvbWFuUFNNVAovRmxhZ3MgNAovRm9udEJCb3hb
LTU2OCAtMzA2IDIwMDAgMTAwN10vSXRhbGljQW5nbGUgMAovQXNjZW50IDg5MQovRGVzY2VudCAt
MjE2Ci9DYXBIZWlnaHQgMTAwNgovU3RlbVYgODAKL0ZvbnRGaWxlMiA0NzcgMCBSCj4+CmVuZG9i
agoKNDgwIDAgb2JqCjw8L0xlbmd0aCA1MzYvRmlsdGVyL0ZsYXRlRGVjb2RlPj4Kc3RyZWFtCnic
XZRPj9owEMXv+RQ+bg+rxGMn2ZUQEguLxKF/VLYfICSGRipJZMKBb9+8eW4r9QB6tp/HP09mnG8P
u8PQz/m3OLbHMJtzP3Qx3MZ7bIM5hUs/ZFZM17dzGul/e22mLF/2Hh+3OVwPw3lcrbL8+7J2m+PD
PG268RQ+ZfnX2IXYDxfz9GN7XMbH+zT9CtcwzKbI1mvThfMS53MzfWmuIdddz4duWe7nx/Oy5Z/h
4zEFIzq2RGnHLtympg2xGS4hWxXF2qz2+3UWhu6/tTptOZ3bn01crHaxFkXp14sW1dUrtFNd67zn
/Ba6pC6hK9VuA12r9g76hZ499Cv1O/SGMQX6jfMaf6taCugd41jod3pq6D334lxbcH4HTX6v8+Sv
K2jyV4hjye9xlk384LTkr8Bjye9wR0v+Wj3kd+C35C+RH0v+WnXiVx7yl7iLTfzIjyW/h1/IXyK+
JH7kSsjv4RfyO/AL+UU95HdgFvKXyI+k/Ksmv8ddhPzyBk3+SnXiB6ck/hdo8otykr/UsxI/tEv5
h98lfsRx5BfkyqX6UU+qH3wXR34BmyN/DWZHflFPyr96Er96Uv0gJ478XuODXwqr/h01voUjv8N9
Xaof5NYX9OCOnvwO/J78DrXkyV/iLJ/qB/fy5C/xLTz5Pc7yqX5qbbrUXWg/vA9/2tq09xiXltZH
RHsZXdwPwfx9aKZxwjb9/Qa6/hHvCmVuZHN0cmVhbQplbmRvYmoKCjQ4MSAwIG9iago8PC9UeXBl
L0ZvbnQvU3VidHlwZS9UcnVlVHlwZS9CYXNlRm9udC9CQUFBQUErVGltZXNOZXdSb21hblBTTVQK
L0ZpcnN0Q2hhciAwCi9MYXN0Q2hhciA3MQovV2lkdGhzWzc3NyA2MTAgMjc3IDI3NyAyNzcgNDQz
IDI3NyA2NjYgNTAwIDUwMCAzMzMgNTAwIDI1MCA3MjIgNTAwIDUwMAo3NzcgNjEwIDUwMCA0NDMg
NzIyIDQ0MyA1MDAgNTYzIDM4OSA1NjMgNzIyIDUwMCAzMzMgNTU2IDI3NyAzMzMKNTU2IDcyMiAz
ODkgNTAwIDI3NyA1MDAgOTQzIDcyMiA2MTAgNTYzIDUwMCA1MDAgMzMzIDMzMyA2NjYgNjY2CjUw
MCA5MjAgMjUwIDUwMCAzMzMgMjUwIDcyMiA3NzcgMjAwIDE4MCA1MDAgNzIyIDQ0MyA0NDMgMjc3
IDQ0MwozMzMgNTAwIDUwMCA3MjIgNzIyIDUwMCA4ODkgNTAwIF0KL0ZvbnREZXNjcmlwdG9yIDQ3
OSAwIFIKL1RvVW5pY29kZSA0ODAgMCBSCj4+CmVuZG9iagoKNDgyIDAgb2JqCjw8L0xlbmd0aCA0
ODMgMCBSL0ZpbHRlci9GbGF0ZURlY29kZS9MZW5ndGgxIDM0NDcyPj4Kc3RyZWFtCnic7b13eFzF
1Tg8M/dub3d737t9tbtarcqq2bJ0VXGTLcAYyyAsF8mWbSxZbtgUGzDNJNiBUJ0EQ2iBJJYlY2QI
QaGTkNipkMALTnAKBAFJDEnAWn1n5q5cEt6X/L7fH9/zfM+7q5lzZubcqWfOnDMzd7VxcFMP0qMd
iEPS8kuXDnz6X/m/IoReRQhblm/eGLzyD3++CfBjCKnjvQMrL91hefwQQlo1QorrV67d2ht8aeDL
CJn2IDRHv6pn6YrrdxABocVfgzyqVkHEYH6rCsK/gHB01aUbL2s03DYC4X9AeGht//KlR266aTdC
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
kBDOfL2tdEbdqrszTbd/ee45XrPF4eJ+kP/BLauqo1538qWbF867oyOlK8cdO3dOT5W2nbO65rzl
a/fHTKYIvbPbnm/j3oD5U4pmoLn4VencmKAzNRTHbtDcmLkt+Th/WDOcPFTyUfTjFq22QlOprFVO
D85TqGOuWFKTFGvEmeKX1Nel9moezjzcrJNmRptChqRLQNw0VdRWnzRk9Wzv3AMGfb1kqa2X4olc
PV3N6yW7K1daj+uZ9erK1Y9yvGS32agUt/mr79Tr/VnCSbDecqOcT9KDkVF2Z1bVGvebmAUArMRM
Li3UNjgTz5zpmgaDxK65GKbhaeWuQRXBg6IKZ+k5N6eUksVNlJfBg7FuwqYmsYk0zQwJNFJgkQI2
CaJAhFFOIdniuVLIiuSwKSfmSE4KxdPFtDwRYoulomSumG5dm4r7i3cXcx3FR4tJ8Zb2GvnuGd3+
PV43Tvemx7uAmQr+RNf6k3XC8XEWTS0xullRN5Guowdo43Q3u7A7bZPEUC7dOZ6Wr2nKsYdRPTQ7
Bt1HZ5JfzAFP0Z3NwjFobcGZa+k2JSiSwGUhe4TtTjL2otzmqKguZxEq+RpErqpa9mROU8k05Wxr
ipMP7wuhOPk6nj5SZnX1PzNbOZiZUV3/nZ/NX7/qgqsfuero4tZLrlm94frLjg11zZ7WMb+qriMT
3NQbqt38zZvvNXkv5b62rqyoavqK285XTE9GqYZ23QU3h8rKLiwtmeWWBluvKS3b13fTK/WbRm/v
X3fvSGPpZ38xi5UV589udpsDDqqrLp78I34Y55AOhQ+iWUodN4qtki6oKdUQjVvffxOVaie76E00
0PPPPEIHNXfpstbWpUtxjoHW1mU0P/PkccUw9zAqJhcetCAzhoH9h/SwxZaD+cDrHDqngARO4FVZ
W9aRdTbYGhwNzvm2+Y75zkWKRZaFgUsVvdoVulWWNY41zhWBXnGzsM1ypeMK54bA1uBlid0ld6Vf
V/4J/cH4XvE/0Mfaj3WfGD8rjiu1Sp3SyAsKMx+QSjpKuks0GBOLxWy1Iq2gE7WugFt08QmcSBeJ
CfkchQdV2WkNQs2sDtEZD8bEuDQ6uXnEzJHg6OQGqU9ExcF0cXGbGLSJYtCKNEgpEnSJGIBggOc0
YBBdYhZsZrMAaxAibWYL4BaB5wivKQ5YLRgpzbog/nPwM7CZ0gkxHRQD9FUpHmuLE3GXU6tRFnME
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
tw7LK9jlomWfZcjCZS0Nlt2WMcsxi8JSeCuSwkOZkpyZXeSnBzpn3eSfenFaPnNZf+pNk9Pa9cjp
6/pzP9t86pI+9/IyekkfVuS5MJ+fZW+1J9ARSWPjcK9js4NoqW1pB+M/xUXtL9m5BrUi7HKJCk3c
/jT5IQjk2xFCGnzP4/G4gBRgbmsPCobwm/pR/NsR5Em6Rskrj5s8ood46FUPnby15i6ampj0NS/6
IuondN+kgW5BCePH2fkI1TvZ6X+JN6a1RuM+r99LlJaYMR7ThpfhgNmzDAVNgEV08WXYaxWXoZAB
PPlWpHw2Sk8GoE9gwTMSVdXUiyFULNKX8KIYFjmLPKkEKiG5Zx9/Y3uk2N/YdNeP1v1ww5W/2PIG
vi3/irqyJJQpmdmcnlWkWOUr+cqRuwMa2389c/2xbTdh9d7j+KZ3J9btknbl87nYmgewra+Fnnzn
b1H8BVYy0CjxK1Irr1vlXuVbGeMtOpPWOss0y3qD4WbTTcJNlputN9i1LbhZuyq8Mna34U7hTsvd
9odcjwYfiP/Q9EOrwUEPc4LU0xfOvgMFKBSgi56FNwASZ8fg1IMR0Wi1ep1CrxS0Fq2jUZhtud50
o1W/Rb9FuMyxJbw5drP2TteL+EWt5lzj97X0ctTrkstkzumKwKM/jvS+jkO6iNdZaebYSzux4pxq
FFcd5MqUlcD3PZJZJ/4MqZUXWozuRNFaNpNBD6JH5QYUESIk0m7zjBW2/nUGS65I/s0Adlye7vqE
Hho9cQbN45TESw/MaeJ4JxXTdZ+MnxhPN4xPXfbuko+T5tLjpCp9PBTzx92xWDzoiMRwQO+NIZcA
XtwCwbBdjEHn+wwA9DqPyRnDUSt4wB3yJZFTx91Xn37zFiwYJr8Fg2CutYMzuSy1VnCocKCpYBdl
7cBA0UQctFcUClIfn3FATk+XuJ+XPHtrUebOLU/m35j9Sf7n+C48DdfiO/LP5tcdXHbe5QvvvOuC
y9u79dddr54RPzSUw9uwEpcCq63N/zT/j/w2heKpr+ffyj/wyKYND+I5uO3WUeCo9ORx3gvSCeYn
PlcyWdrUzADBLrc5Kjrlm5PxnZwqACaQcdBkEnROhAS6FKo8lqR8c5JtGNRMn5HrSB5NktKklOxI
DiT3JYeSY0lV0mhEJrfoJu6U2SJNvaU5JhwVFIK76Kybk4J8HVIoXIcU/uXmZG2WXZ1kpEmZNFkg
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
S07YmG5l6UCwEbCN7AOUgFO3gcUW0jeiTac/6bRMizakmxcdaG9vdfW1sMvZVO9Od25A6bRcYDqN
oExoNVP0HUzR1ykdFb9s/337x+3cGNPwj4I7xjT8MdDuj4I7Bhp+gBurP1p/rJ4baz/afgxo3zr6
1rG3uLHM0cyxDFddqMEGdtUeanj6uym9YdMG9toJay1rd5r9/76NgNBWT3XDBpawkXUMfOR49mga
Mkqfejx9GtkgJ25ij8ixG07zMCTQ7DduSv/7pxALIvj/AT6L9fMKZW5kc3RyZWFtCmVuZG9iagoK
NDgzIDAgb2JqCjIyMzMzCmVuZG9iagoKNDg0IDAgb2JqCjw8L1R5cGUvRm9udERlc2NyaXB0b3Iv
Rm9udE5hbWUvQ0FBQUFBK1RpbWVzTmV3Um9tYW5QUy1Cb2xkTVQKL0ZsYWdzIDQKL0ZvbnRCQm94
Wy01NTggLTMwNiAyMDAwIDEwMjZdL0l0YWxpY0FuZ2xlIDAKL0FzY2VudCA4OTEKL0Rlc2NlbnQg
LTIxNgovQ2FwSGVpZ2h0IDEwMjUKL1N0ZW1WIDgwCi9Gb250RmlsZTIgNDgyIDAgUgo+PgplbmRv
YmoKCjQ4NSAwIG9iago8PC9MZW5ndGggNDE2L0ZpbHRlci9GbGF0ZURlY29kZT4+CnN0cmVhbQp4
nF2Ty07DMBBF9/kKL2GBEtt5UCmKVFoqdcFDFD4gTaYlEnUiN1307/GdMSCxaHRsz4yPR9N0tV1v
3TCnr37sdjSrw+B6T+fx4jtSezoOLtFG9UM3xxV/u1M7JWnI3V3PM5227jDWdZK+hbPz7K/qZtmP
e7pN0hffkx/cUd18rHZhvbtM0xedyM0qS5pG9XQIdZ7a6bk9UcpZd9s+HA/z9S6k/AW8XydShtda
VLqxp/PUduRbd6SkzrJG1ZtNk5Dr/53lVlL2h+6z9SFUh9Ass7oJbJhNBrbM+QKcM5eP4IK5ysGl
sAFXErMB3wtzzEJiCvBS9i34QZjrr8SB66zl3jX4UXJL8Ebi4akz5gJ1tPhXcNbiX+IuLf6WY6I/
amrxz+Gpxb+8B4u/hbMW/5w5+nOd6F+Bxd+gJ1r8K94X//IBHP3xRi3+Fvea6I94I/4l3mjE38Lf
iH8BBxP9V2Dxtxwv/gV6YmL/0UMj/pbri3/B++Jv8V4j/rnmIYnTgHHBPP+Moeou3ocR5KHn2cPU
DY7U7x9jGiek8e8bMdPP1QplbmRzdHJlYW0KZW5kb2JqCgo0ODYgMCBvYmoKPDwvVHlwZS9Gb250
L1N1YnR5cGUvVHJ1ZVR5cGUvQmFzZUZvbnQvQ0FBQUFBK1RpbWVzTmV3Um9tYW5QUy1Cb2xkTVQK
L0ZpcnN0Q2hhciAwCi9MYXN0Q2hhciA0MwovV2lkdGhzWzc3NyA1MDAgMjUwIDM4OSA1NTYgMzMz
IDQ0MyA1MDAgNTU2IDU1NiA0NDMgMjc3IDUwMCA5NDMgNTAwIDUwMAo1NTYgNTU2IDQ0MyA1MDAg
ODMzIDc3NyA1NTYgNTAwIDcyMiAzODkgNTAwIDI1MCA3MjIgNTU2IDUwMCA1MDAKMTAwMCAzMzMg
NTAwIDY2NiAyNzcgNTAwIDc3NyA1NTYgNTAwIDcyMiA1MDAgNzIyIF0KL0ZvbnREZXNjcmlwdG9y
IDQ4NCAwIFIKL1RvVW5pY29kZSA0ODUgMCBSCj4+CmVuZG9iagoKNDg3IDAgb2JqCjw8L0YxIDQ4
MSAwIFIvRjIgNDg2IDAgUi9GMyA0NjYgMCBSL0Y0IDQ3NiAwIFIvRjUgNDcxIDAgUgo+PgplbmRv
YmoKCjQ4OCAwIG9iago8PC9Gb250IDQ4NyAwIFIKL1Byb2NTZXRbL1BERi9UZXh0XQo+PgplbmRv
YmoKCjEgMCBvYmoKPDwvVHlwZS9QYWdlL1BhcmVudCA0NjEgMCBSL1Jlc291cmNlcyA0ODggMCBS
L01lZGlhQm94WzAgMCA1OTUgODQyXS9TdHJ1Y3RQYXJlbnRzIDAKL0dyb3VwPDwvUy9UcmFuc3Bh
cmVuY3kvQ1MvRGV2aWNlUkdCL0kgdHJ1ZT4+L0NvbnRlbnRzIDIgMCBSPj4KZW5kb2JqCgoxMzMg
MCBvYmoKPDwvVHlwZS9QYWdlL1BhcmVudCA0NjEgMCBSL1Jlc291cmNlcyA0ODggMCBSL01lZGlh
Qm94WzAgMCA1OTUgODQyXS9Bbm5vdHNbCjQ1OSAwIFIgXQovU3RydWN0UGFyZW50cyAxCi9Hcm91
cDw8L1MvVHJhbnNwYXJlbmN5L0NTL0RldmljZVJHQi9JIHRydWU+Pi9Db250ZW50cyAxMzQgMCBS
Pj4KZW5kb2JqCgoyMjUgMCBvYmoKPDwvVHlwZS9QYWdlL1BhcmVudCA0NjEgMCBSL1Jlc291cmNl
cyA0ODggMCBSL01lZGlhQm94WzAgMCA1OTUgODQyXS9TdHJ1Y3RQYXJlbnRzIDIKL0dyb3VwPDwv
Uy9UcmFuc3BhcmVuY3kvQ1MvRGV2aWNlUkdCL0kgdHJ1ZT4+L0NvbnRlbnRzIDIyNiAwIFI+Pgpl
bmRvYmoKCjMxMiAwIG9iago8PC9UeXBlL1BhZ2UvUGFyZW50IDQ2MSAwIFIvUmVzb3VyY2VzIDQ4
OCAwIFIvTWVkaWFCb3hbMCAwIDU5NSA4NDJdL0Fubm90c1sKNDYwIDAgUiBdCi9TdHJ1Y3RQYXJl
bnRzIDMKL0dyb3VwPDwvUy9UcmFuc3BhcmVuY3kvQ1MvRGV2aWNlUkdCL0kgdHJ1ZT4+L0NvbnRl
bnRzIDMxMyAwIFI+PgplbmRvYmoKCjQwOSAwIG9iago8PC9UeXBlL1BhZ2UvUGFyZW50IDQ2MSAw
IFIvUmVzb3VyY2VzIDQ4OCAwIFIvTWVkaWFCb3hbMCAwIDU5NSA4NDJdL0Fubm90c1sKNDU4IDAg
UiBdCi9TdHJ1Y3RQYXJlbnRzIDQKL0dyb3VwPDwvUy9UcmFuc3BhcmVuY3kvQ1MvRGV2aWNlUkdC
L0kgdHJ1ZT4+L0NvbnRlbnRzIDQxMCAwIFI+PgplbmRvYmoKCjQ4OSAwIG9iago8PC9Db3VudCAx
My9GaXJzdCA0OTAgMCBSL0xhc3QgNTAyIDAgUgo+PgplbmRvYmoKCjQ5MCAwIG9iago8PC9Db3Vu
dCAwL1RpdGxlPEZFRkYwMDMxMDAyMDAwNDkwMDZFMDA3NDAwNzIwMDZGMDA2NDAwNzUwMDYzMDA3
NDAwNjkwMDZGMDA2RT4KL0Rlc3RbMSAwIFIvWFlaIDc4LjMgNjg0LjggMF0vUGFyZW50IDQ4OSAw
IFIvTmV4dCA0OTEgMCBSPj4KZW5kb2JqCgo0OTEgMCBvYmoKPDwvQ291bnQgMC9UaXRsZTxGRUZG
MDAzMjAwMjAwMDREMDA2RjAwNzQwMDY5MDA3NjAwNjEwMDc0MDA2OTAwNkYwMDZFMDAyMDAwNjEw
MDZFMDA2NDAwMjAwMDUzMDA2MzAwNkYwMDcwMDA2NT4KL0Rlc3RbMSAwIFIvWFlaIDc4LjMgNjA5
LjkgMF0vUGFyZW50IDQ4OSAwIFIvUHJldiA0OTAgMCBSL05leHQgNDkyIDAgUj4+CmVuZG9iagoK
NDkyIDAgb2JqCjw8L0NvdW50IDAvVGl0bGU8RkVGRjAwMzMwMDIwMDA0OTAwNkQwMDcwMDA2MTAw
NjMwMDc0MDAyMDAwNEYwMDZFMDAyMDAwNzQwMDY4MDA2NTAwMjAwMDUzMDA3NDAwNjEwMDZFMDA2
NDAwNjEwMDcyMDA2ND4KL0Rlc3RbMzEyIDAgUi9YWVogNzguMyA0MDkuNCAwXS9QYXJlbnQgNDg5
IDAgUi9QcmV2IDQ5MSAwIFIvTmV4dCA0OTMgMCBSPj4KZW5kb2JqCgo0OTMgMCBvYmoKPDwvQ291
bnQgMy9GaXJzdCA0OTQgMCBSL0xhc3QgNDk2IDAgUgovVGl0bGU8RkVGRjAwMzQwMDIwMDA0NDAw
NjUwMDczMDA2OTAwNjcwMDZFMDAyMDAwNDQwMDY1MDA2MzAwNjkwMDczMDA2OTAwNkYwMDZFMDA3
Mz4KL0Rlc3RbMzEyIDAgUi9YWVogNzguMyAzNTAuMyAwXS9QYXJlbnQgNDg5IDAgUi9QcmV2IDQ5
MiAwIFIvTmV4dCA0OTcgMCBSPj4KZW5kb2JqCgo0OTQgMCBvYmoKPDwvQ291bnQgMC9UaXRsZTxG
RUZGMDAzNDAwMkUwMDMxMDAyMDAwNEYwMDZFMDA2NTAwMjAwMDZGMDA3MjAwMjAwMDc0MDA3NzAw
NkYwMDIwMDA2QjAwNjUwMDc5MDA3NzAwNkYwMDcyMDA2NDAwNzMwMDNGPgovRGVzdFszMTIgMCBS
L1hZWiA3OSAzMTUuMyAwXS9QYXJlbnQgNDkzIDAgUi9OZXh0IDQ5NSAwIFI+PgplbmRvYmoKCjQ5
NSAwIG9iago8PC9Db3VudCAwL1RpdGxlPEZFRkYwMDM0MDAyRTAwMzIwMDIwMDA0NDAwNkYwMDIw
MDA3NzAwNjUwMDIwMDA2RTAwNjUwMDY1MDA2NDAwMjAwMDY1MDA3NjAwNjEwMDZDMDA3NTAwNjEw
MDc0MDA2NTAwNUYwMDYxMDA3MjAwNjcwMDc1MDA2RDAwNjUwMDZFMDA3NDAwMjgwMDI5MDAzRj4K
L0Rlc3RbMzEyIDAgUi9YWVogNzkgMTQ1IDBdL1BhcmVudCA0OTMgMCBSL1ByZXYgNDk0IDAgUi9O
ZXh0IDQ5NiAwIFI+PgplbmRvYmoKCjQ5NiAwIG9iago8PC9Db3VudCAwL1RpdGxlPEZFRkYwMDM0
MDAyRTAwMzMwMDIwMDA1NzAwNjgwMDc5MDAyMDAwNjkwMDczMDAyMDAwNjUwMDc2MDA2MTAwNkMw
MDc1MDA2MTAwNzQwMDY1MDA1RjAwNjEwMDcyMDA2NzAwNzUwMDZEMDA2NTAwNkUwMDc0MDAyODAw
MjkwMDIwMDA2MTAwMjAwMDY2MDA3NTAwNkUwMDYzMDA3NDAwNjkwMDZGMDA2RTAwM0Y+Ci9EZXN0
WzQwOSAwIFIvWFlaIDc5IDczOCAwXS9QYXJlbnQgNDkzIDAgUi9QcmV2IDQ5NSAwIFI+PgplbmRv
YmoKCjQ5NyAwIG9iago8PC9Db3VudCAwL1RpdGxlPEZFRkYwMDM1MDAyMDAwNTQwMDY1MDA2MzAw
NjgwMDZFMDA2OTAwNjMwMDYxMDA2QzAwMjAwMDUzMDA3MDAwNjUwMDYzMDA2OTAwNjYwMDY5MDA2
MzAwNjEwMDc0MDA2OTAwNkYwMDZFMDA3Mz4KL0Rlc3RbNDA5IDAgUi9YWVogNzguMyA2NTYuMiAw
XS9QYXJlbnQgNDg5IDAgUi9QcmV2IDQ5MyAwIFIvTmV4dCA0OTggMCBSPj4KZW5kb2JqCgo0OTgg
MCBvYmoKPDwvQ291bnQgMi9GaXJzdCA0OTkgMCBSL0xhc3QgNTAwIDAgUgovVGl0bGU8RkVGRjAw
MzYwMDIwMDA0RjAwNzAwMDY1MDA2RTAwMjAwMDUxMDA3NTAwNjUwMDczMDA3NDAwNjkwMDZGMDA2
RTAwNzM+Ci9EZXN0WzQwOSAwIFIvWFlaIDc4LjMgNTk3LjEgMF0vUGFyZW50IDQ4OSAwIFIvUHJl
diA0OTcgMCBSL05leHQgNTAxIDAgUj4+CmVuZG9iagoKNDk5IDAgb2JqCjw8L0NvdW50IDAvVGl0
bGU8RkVGRjAwMzYwMDJFMDAzMTAwMjAwMDQ5MDA3MzAwMjAwMDc0MDA2ODAwNjUwMDIwMDA2NjAw
NjUwMDYxMDA3NDAwNzUwMDcyMDA2NTAwMjAwMDY5MDA2RDAwNzAwMDZDMDA2NTAwNkQwMDY1MDA2
RTAwNzQwMDYxMDA2MjAwNkMwMDY1MDAzRj4KL0Rlc3RbNDA5IDAgUi9YWVogNzkgNTYyLjEgMF0v
UGFyZW50IDQ5OCAwIFIvTmV4dCA1MDAgMCBSPj4KZW5kb2JqCgo1MDAgMCBvYmoKPDwvQ291bnQg
MC9UaXRsZTxGRUZGMDAzNjAwMkUwMDMyMDAyMDAwNEYwMDZFMDA2NTAwMjAwMDZGMDA3MjAwMjAw
MDZEMDA2RjAwNzIwMDY1MDAyMDAwNzAwMDZGMDA2OTAwNkUwMDc0MDA3MzAwMjAwMDZGMDA2NjAw
MjAwMDY1MDA3NjAwNjEwMDZDMDA3NTAwNjEwMDc0MDA2OTAwNkYwMDZFMDAyMDAwNzAwMDY1MDA3
MjAwMjAwMDcwMDA2MTAwNzIwMDYxMDA2RDAwNjUwMDc0MDA2NTAwNzIwMDNGPgovRGVzdFs0MDkg
MCBSL1hZWiA3OSA0MzYuOCAwXS9QYXJlbnQgNDk4IDAgUi9QcmV2IDQ5OSAwIFI+PgplbmRvYmoK
CjUwMSAwIG9iago8PC9Db3VudCAwL1RpdGxlPEZFRkYwMDM3MDAyMDAwNTIwMDY1MDA2NjAwNjUw
MDcyMDA2NTAwNkUwMDYzMDA2NTAwNzM+Ci9EZXN0WzQwOSAwIFIvWFlaIDc4LjMgMzI1IDBdL1Bh
cmVudCA0ODkgMCBSL1ByZXYgNDk4IDAgUi9OZXh0IDUwMiAwIFI+PgplbmRvYmoKCjUwMiAwIG9i
ago8PC9Db3VudCAwL1RpdGxlPEZFRkYwMDM4MDAyMDAwNDEwMDYzMDA2QjAwNkUwMDZGMDA3NzAw
NkMwMDY1MDA2NDAwNjcwMDY1MDA2RDAwNjUwMDZFMDA3NDAwNzM+Ci9EZXN0WzQwOSAwIFIvWFla
IDc4LjMgMjY1LjkgMF0vUGFyZW50IDQ4OSAwIFIvUHJldiA1MDEgMCBSPj4KZW5kb2JqCgo1MDQg
MCBvYmoKPDwvTy9MYXlvdXQKL1BsYWNlbWVudC9CbG9jawo+PgplbmRvYmoKCjUgMCBvYmoKPDwv
VHlwZS9TdHJ1Y3RFbGVtCi9TL1N0YW5kYXJkCi9QIDQgMCBSCi9QZyAxIDAgUgovQSA1MDQgMCBS
Cj4+CmVuZG9iagoKMTAgMCBvYmoKPDwvVHlwZS9TdHJ1Y3RFbGVtCi9TL1NwYW4KL1AgOSAwIFIK
L1BnIDEgMCBSCi9MYW5nKGVuLVVTKQovS1swIF0KPj4KZW5kb2JqCgo1MDUgMCBvYmoKPDwvTy9M
YXlvdXQKL1BsYWNlbWVudC9CbG9jawo+PgplbmRvYmoKCjkgMCBvYmoKPDwvVHlwZS9TdHJ1Y3RF
bGVtCi9TL1RhYmxlIzIwQ29udGVudHMKL1AgOCAwIFIKL1BnIDEgMCBSCi9BIDUwNSAwIFIKL0tb
MTAgMCBSIF0KPj4KZW5kb2JqCgo1MDYgMCBvYmoKPDwvTy9MYXlvdXQKL1BsYWNlbWVudC9Jbmxp
bmUKL1dpZHRoIDIwOS43Ci9IZWlnaHQgMjUuMwo+PgplbmRvYmoKCjggMCBvYmoKPDwvVHlwZS9T
dHJ1Y3RFbGVtCi9TL1RECi9QIDcgMCBSCi9QZyAxIDAgUgovQSA1MDYgMCBSCi9LWzkgMCBSIF0K
Pj4KZW5kb2JqCgoxMyAwIG9iago8PC9UeXBlL1N0cnVjdEVsZW0KL1MvU3BhbgovUCAxMiAwIFIK
L1BnIDEgMCBSCi9MYW5nKGVuLVVTKQovS1sxIF0KPj4KZW5kb2JqCgo1MDcgMCBvYmoKPDwvTy9M
YXlvdXQKL1BsYWNlbWVudC9CbG9jawo+PgplbmRvYmoKCjEyIDAgb2JqCjw8L1R5cGUvU3RydWN0
RWxlbQovUy9UYWJsZSMyMENvbnRlbnRzCi9QIDExIDAgUgovUGcgMSAwIFIKL0EgNTA3IDAgUgov
S1sxMyAwIFIgXQo+PgplbmRvYmoKCjUwOCAwIG9iago8PC9PL0xheW91dAovUGxhY2VtZW50L0lu
bGluZQovV2lkdGggNzM3LjIKL0hlaWdodCAyNS4zCj4+CmVuZG9iagoKMTEgMCBvYmoKPDwvVHlw
ZS9TdHJ1Y3RFbGVtCi9TL1RECi9QIDcgMCBSCi9QZyAxIDAgUgovQSA1MDggMCBSCi9LWzEyIDAg
UiBdCj4+CmVuZG9iagoKNTA5IDAgb2JqCjw8L08vTGF5b3V0Ci9QbGFjZW1lbnQvQmxvY2sKPj4K
ZW5kb2JqCgo3IDAgb2JqCjw8L1R5cGUvU3RydWN0RWxlbQovUy9UUgovUCA2IDAgUgovUGcgMSAw
IFIKL0EgNTA5IDAgUgovS1s4IDAgUiAxMSAwIFIgXQo+PgplbmRvYmoKCjE3IDAgb2JqCjw8L1R5
cGUvU3RydWN0RWxlbQovUy9TcGFuCi9QIDE2IDAgUgovUGcgMSAwIFIKL0xhbmcoZW4tVVMpCi9L
WzIgXQo+PgplbmRvYmoKCjUxMCAwIG9iago8PC9PL0xheW91dAovUGxhY2VtZW50L0Jsb2NrCj4+
CmVuZG9iagoKMTYgMCBvYmoKPDwvVHlwZS9TdHJ1Y3RFbGVtCi9TL1RhYmxlIzIwQ29udGVudHMK
L1AgMTUgMCBSCi9QZyAxIDAgUgovQSA1MTAgMCBSCi9LWzE3IDAgUiBdCj4+CmVuZG9iagoKNTEx
IDAgb2JqCjw8L08vTGF5b3V0Ci9QbGFjZW1lbnQvSW5saW5lCi9XaWR0aCAyMDkuNwovSGVpZ2h0
IDI1LjMKPj4KZW5kb2JqCgoxNSAwIG9iago8PC9UeXBlL1N0cnVjdEVsZW0KL1MvVEQKL1AgMTQg
MCBSCi9QZyAxIDAgUgovQSA1MTEgMCBSCi9LWzE2IDAgUiBdCj4+CmVuZG9iagoKMjAgMCBvYmoK
PDwvVHlwZS9TdHJ1Y3RFbGVtCi9TL1NwYW4KL1AgMTkgMCBSCi9QZyAxIDAgUgovTGFuZyhlbi1V
UykKL0tbMyBdCj4+CmVuZG9iagoKNTEyIDAgb2JqCjw8L08vTGF5b3V0Ci9QbGFjZW1lbnQvQmxv
Y2sKPj4KZW5kb2JqCgoxOSAwIG9iago8PC9UeXBlL1N0cnVjdEVsZW0KL1MvVGFibGUjMjBDb250
ZW50cwovUCAxOCAwIFIKL1BnIDEgMCBSCi9BIDUxMiAwIFIKL0tbMjAgMCBSIF0KPj4KZW5kb2Jq
Cgo1MTMgMCBvYmoKPDwvTy9MYXlvdXQKL1BsYWNlbWVudC9JbmxpbmUKL1dpZHRoIDczNy4yCi9I
ZWlnaHQgMjUuMwo+PgplbmRvYmoKCjE4IDAgb2JqCjw8L1R5cGUvU3RydWN0RWxlbQovUy9URAov
UCAxNCAwIFIKL1BnIDEgMCBSCi9BIDUxMyAwIFIKL0tbMTkgMCBSIF0KPj4KZW5kb2JqCgo1MTQg
MCBvYmoKPDwvTy9MYXlvdXQKL1BsYWNlbWVudC9CbG9jawo+PgplbmRvYmoKCjE0IDAgb2JqCjw8
L1R5cGUvU3RydWN0RWxlbQovUy9UUgovUCA2IDAgUgovUGcgMSAwIFIKL0EgNTE0IDAgUgovS1sx
NSAwIFIgMTggMCBSIF0KPj4KZW5kb2JqCgoyNCAwIG9iago8PC9UeXBlL1N0cnVjdEVsZW0KL1Mv
U3BhbgovUCAyMyAwIFIKL1BnIDEgMCBSCi9MYW5nKGVuLVVTKQovS1s0IF0KPj4KZW5kb2JqCgo1
MTUgMCBvYmoKPDwvTy9MYXlvdXQKL1BsYWNlbWVudC9CbG9jawo+PgplbmRvYmoKCjIzIDAgb2Jq
Cjw8L1R5cGUvU3RydWN0RWxlbQovUy9UYWJsZSMyMENvbnRlbnRzCi9QIDIyIDAgUgovUGcgMSAw
IFIKL0EgNTE1IDAgUgovS1syNCAwIFIgXQo+PgplbmRvYmoKCjUxNiAwIG9iago8PC9PL0xheW91
dAovUGxhY2VtZW50L0lubGluZQovV2lkdGggMjA5LjcKL0hlaWdodCAyNS4zCj4+CmVuZG9iagoK
MjIgMCBvYmoKPDwvVHlwZS9TdHJ1Y3RFbGVtCi9TL1RECi9QIDIxIDAgUgovUGcgMSAwIFIKL0Eg
NTE2IDAgUgovS1syMyAwIFIgXQo+PgplbmRvYmoKCjI3IDAgb2JqCjw8L1R5cGUvU3RydWN0RWxl
bQovUy9TcGFuCi9QIDI2IDAgUgovUGcgMSAwIFIKL0xhbmcoZW4tVVMpCi9LWzUgXQo+PgplbmRv
YmoKCjUxNyAwIG9iago8PC9PL0xheW91dAovUGxhY2VtZW50L0Jsb2NrCj4+CmVuZG9iagoKMjYg
MCBvYmoKPDwvVHlwZS9TdHJ1Y3RFbGVtCi9TL1RhYmxlIzIwQ29udGVudHMKL1AgMjUgMCBSCi9Q
ZyAxIDAgUgovQSA1MTcgMCBSCi9LWzI3IDAgUiBdCj4+CmVuZG9iagoKNTE4IDAgb2JqCjw8L08v
TGF5b3V0Ci9QbGFjZW1lbnQvSW5saW5lCi9XaWR0aCA3MzcuMgovSGVpZ2h0IDI1LjMKPj4KZW5k
b2JqCgoyNSAwIG9iago8PC9UeXBlL1N0cnVjdEVsZW0KL1MvVEQKL1AgMjEgMCBSCi9QZyAxIDAg
UgovQSA1MTggMCBSCi9LWzI2IDAgUiBdCj4+CmVuZG9iagoKNTE5IDAgb2JqCjw8L08vTGF5b3V0
Ci9QbGFjZW1lbnQvQmxvY2sKPj4KZW5kb2JqCgoyMSAwIG9iago8PC9UeXBlL1N0cnVjdEVsZW0K
L1MvVFIKL1AgNiAwIFIKL1BnIDEgMCBSCi9BIDUxOSAwIFIKL0tbMjIgMCBSIDI1IDAgUiBdCj4+
CmVuZG9iagoKMzEgMCBvYmoKPDwvVHlwZS9TdHJ1Y3RFbGVtCi9TL1NwYW4KL1AgMzAgMCBSCi9Q
ZyAxIDAgUgovTGFuZyhlbi1VUykKL0tbNiBdCj4+CmVuZG9iagoKNTIwIDAgb2JqCjw8L08vTGF5
b3V0Ci9QbGFjZW1lbnQvQmxvY2sKPj4KZW5kb2JqCgozMCAwIG9iago8PC9UeXBlL1N0cnVjdEVs
ZW0KL1MvVGFibGUjMjBDb250ZW50cwovUCAyOSAwIFIKL1BnIDEgMCBSCi9BIDUyMCAwIFIKL0tb
MzEgMCBSIF0KPj4KZW5kb2JqCgo1MjEgMCBvYmoKPDwvTy9MYXlvdXQKL1BsYWNlbWVudC9Jbmxp
bmUKL1dpZHRoIDIwOS43Ci9IZWlnaHQgMjUuMwo+PgplbmRvYmoKCjI5IDAgb2JqCjw8L1R5cGUv
U3RydWN0RWxlbQovUy9URAovUCAyOCAwIFIKL1BnIDEgMCBSCi9BIDUyMSAwIFIKL0tbMzAgMCBS
IF0KPj4KZW5kb2JqCgozNCAwIG9iago8PC9UeXBlL1N0cnVjdEVsZW0KL1MvU3BhbgovUCAzMyAw
IFIKL1BnIDEgMCBSCi9MYW5nKGVuLVVTKQovS1s3IF0KPj4KZW5kb2JqCgo1MjIgMCBvYmoKPDwv
Ty9MYXlvdXQKL1BsYWNlbWVudC9CbG9jawo+PgplbmRvYmoKCjMzIDAgb2JqCjw8L1R5cGUvU3Ry
dWN0RWxlbQovUy9UYWJsZSMyMENvbnRlbnRzCi9QIDMyIDAgUgovUGcgMSAwIFIKL0EgNTIyIDAg
UgovS1szNCAwIFIgXQo+PgplbmRvYmoKCjUyMyAwIG9iago8PC9PL0xheW91dAovUGxhY2VtZW50
L0lubGluZQovV2lkdGggNzM3LjIKL0hlaWdodCAyNS4zCj4+CmVuZG9iagoKMzIgMCBvYmoKPDwv
VHlwZS9TdHJ1Y3RFbGVtCi9TL1RECi9QIDI4IDAgUgovUGcgMSAwIFIKL0EgNTIzIDAgUgovS1sz
MyAwIFIgXQo+PgplbmRvYmoKCjUyNCAwIG9iago8PC9PL0xheW91dAovUGxhY2VtZW50L0Jsb2Nr
Cj4+CmVuZG9iagoKMjggMCBvYmoKPDwvVHlwZS9TdHJ1Y3RFbGVtCi9TL1RSCi9QIDYgMCBSCi9Q
ZyAxIDAgUgovQSA1MjQgMCBSCi9LWzI5IDAgUiAzMiAwIFIgXQo+PgplbmRvYmoKCjM4IDAgb2Jq
Cjw8L1R5cGUvU3RydWN0RWxlbQovUy9TcGFuCi9QIDM3IDAgUgovUGcgMSAwIFIKL0xhbmcoZW4t
VVMpCi9LWzggXQo+PgplbmRvYmoKCjUyNSAwIG9iago8PC9PL0xheW91dAovUGxhY2VtZW50L0Js
b2NrCj4+CmVuZG9iagoKMzcgMCBvYmoKPDwvVHlwZS9TdHJ1Y3RFbGVtCi9TL1RhYmxlIzIwQ29u
dGVudHMKL1AgMzYgMCBSCi9QZyAxIDAgUgovQSA1MjUgMCBSCi9LWzM4IDAgUiBdCj4+CmVuZG9i
agoKNTI2IDAgb2JqCjw8L08vTGF5b3V0Ci9QbGFjZW1lbnQvSW5saW5lCi9XaWR0aCAyMDkuNwov
SGVpZ2h0IDI1LjMKPj4KZW5kb2JqCgozNiAwIG9iago8PC9UeXBlL1N0cnVjdEVsZW0KL1MvVEQK
L1AgMzUgMCBSCi9QZyAxIDAgUgovQSA1MjYgMCBSCi9LWzM3IDAgUiBdCj4+CmVuZG9iagoKNDEg
MCBvYmoKPDwvVHlwZS9TdHJ1Y3RFbGVtCi9TL1NwYW4KL1AgNDAgMCBSCi9QZyAxIDAgUgovTGFu
Zyhlbi1VUykKL0tbOSBdCj4+CmVuZG9iagoKNTI3IDAgb2JqCjw8L08vTGF5b3V0Ci9QbGFjZW1l
bnQvQmxvY2sKPj4KZW5kb2JqCgo0MCAwIG9iago8PC9UeXBlL1N0cnVjdEVsZW0KL1MvVGFibGUj
MjBDb250ZW50cwovUCAzOSAwIFIKL1BnIDEgMCBSCi9BIDUyNyAwIFIKL0tbNDEgMCBSIF0KPj4K
ZW5kb2JqCgo1MjggMCBvYmoKPDwvTy9MYXlvdXQKL1BsYWNlbWVudC9JbmxpbmUKL1dpZHRoIDcz
Ny4yCi9IZWlnaHQgMjUuMwo+PgplbmRvYmoKCjM5IDAgb2JqCjw8L1R5cGUvU3RydWN0RWxlbQov
Uy9URAovUCAzNSAwIFIKL1BnIDEgMCBSCi9BIDUyOCAwIFIKL0tbNDAgMCBSIF0KPj4KZW5kb2Jq
Cgo1MjkgMCBvYmoKPDwvTy9MYXlvdXQKL1BsYWNlbWVudC9CbG9jawo+PgplbmRvYmoKCjM1IDAg
b2JqCjw8L1R5cGUvU3RydWN0RWxlbQovUy9UUgovUCA2IDAgUgovUGcgMSAwIFIKL0EgNTI5IDAg
UgovS1szNiAwIFIgMzkgMCBSIF0KPj4KZW5kb2JqCgo0NSAwIG9iago8PC9UeXBlL1N0cnVjdEVs
ZW0KL1MvU3BhbgovUCA0NCAwIFIKL1BnIDEgMCBSCi9MYW5nKGVuLVVTKQovS1sxMCBdCj4+CmVu
ZG9iagoKNTMwIDAgb2JqCjw8L08vTGF5b3V0Ci9QbGFjZW1lbnQvQmxvY2sKPj4KZW5kb2JqCgo0
NCAwIG9iago8PC9UeXBlL1N0cnVjdEVsZW0KL1MvVGFibGUjMjBDb250ZW50cwovUCA0MyAwIFIK
L1BnIDEgMCBSCi9BIDUzMCAwIFIKL0tbNDUgMCBSIF0KPj4KZW5kb2JqCgo1MzEgMCBvYmoKPDwv
Ty9MYXlvdXQKL1BsYWNlbWVudC9JbmxpbmUKL1dpZHRoIDIwOS43Ci9IZWlnaHQgMjUuMwo+Pgpl
bmRvYmoKCjQzIDAgb2JqCjw8L1R5cGUvU3RydWN0RWxlbQovUy9URAovUCA0MiAwIFIKL1BnIDEg
MCBSCi9BIDUzMSAwIFIKL0tbNDQgMCBSIF0KPj4KZW5kb2JqCgo1MzIgMCBvYmoKPDwvTy9MYXlv
dXQKL1BsYWNlbWVudC9CbG9jawo+PgplbmRvYmoKCjQ3IDAgb2JqCjw8L1R5cGUvU3RydWN0RWxl
bQovUy9UYWJsZSMyMENvbnRlbnRzCi9QIDQ2IDAgUgovUGcgMSAwIFIKL0EgNTMyIDAgUgovS1sx
MSBdCj4+CmVuZG9iagoKNTMzIDAgb2JqCjw8L08vTGF5b3V0Ci9QbGFjZW1lbnQvSW5saW5lCi9X
aWR0aCA3MzcuMgovSGVpZ2h0IDI1LjMKPj4KZW5kb2JqCgo0NiAwIG9iago8PC9UeXBlL1N0cnVj
dEVsZW0KL1MvVEQKL1AgNDIgMCBSCi9QZyAxIDAgUgovQSA1MzMgMCBSCi9LWzQ3IDAgUiBdCj4+
CmVuZG9iagoKNTM0IDAgb2JqCjw8L08vTGF5b3V0Ci9QbGFjZW1lbnQvQmxvY2sKPj4KZW5kb2Jq
Cgo0MiAwIG9iago8PC9UeXBlL1N0cnVjdEVsZW0KL1MvVFIKL1AgNiAwIFIKL1BnIDEgMCBSCi9B
IDUzNCAwIFIKL0tbNDMgMCBSIDQ2IDAgUiBdCj4+CmVuZG9iagoKNTM1IDAgb2JqCjw8L08vTGF5
b3V0Ci9QbGFjZW1lbnQvQmxvY2sKL1N0YXJ0SW5kZW50IDEwLjIKL0VuZEluZGVudCA2LjcKL1dp
ZHRoIDk2My44Ci9IZWlnaHQgMTUxLjgKL0JCb3hbNTYuNyA2OTYuNyA1MzguNiA3NzIuNl0KPj4K
ZW5kb2JqCgo2IDAgb2JqCjw8L1R5cGUvU3RydWN0RWxlbQovUy9UYWJsZQovUCA0IDAgUgovUGcg
MSAwIFIKL0EgNTM1IDAgUgovS1s3IDAgUiAxNCAwIFIgMjEgMCBSIDI4IDAgUiAzNSAwIFIgNDIg
MCBSIF0KPj4KZW5kb2JqCgo0OSAwIG9iago8PC9UeXBlL1N0cnVjdEVsZW0KL1MvU3BhbgovUCA0
OCAwIFIKL1BnIDEgMCBSCi9MYW5nKGVuLVVTKQovS1sxMyBdCj4+CmVuZG9iagoKNTM2IDAgb2Jq
Cjw8L08vTGF5b3V0Ci9QbGFjZW1lbnQvQmxvY2sKL1NwYWNlQmVmb3JlIDI0Cj4+CmVuZG9iagoK
NDggMCBvYmoKPDwvVHlwZS9TdHJ1Y3RFbGVtCi9TL0gxCi9QIDQgMCBSCi9QZyAxIDAgUgovQSA1
MzYgMCBSCi9LWzEyIDQ5IDAgUiBdCj4+CmVuZG9iagoKNTEgMCBvYmoKPDwvVHlwZS9TdHJ1Y3RF
bGVtCi9TL1NwYW4KL1AgNTAgMCBSCi9QZyAxIDAgUgovTGFuZyhlbi1VUykKL0tbMTQgXQo+Pgpl
bmRvYmoKCjUyIDAgb2JqCjw8L1R5cGUvU3RydWN0RWxlbQovUy9TcGFuCi9QIDUwIDAgUgovUGcg
MSAwIFIKL0xhbmcoZW4tVVMpCi9LWzE1IF0KPj4KZW5kb2JqCgo1MyAwIG9iago8PC9UeXBlL1N0
cnVjdEVsZW0KL1MvU3BhbgovUCA1MCAwIFIKL1BnIDEgMCBSCi9MYW5nKGVuLVVTKQovS1sxNyBd
Cj4+CmVuZG9iagoKNTM3IDAgb2JqCjw8L08vTGF5b3V0Ci9QbGFjZW1lbnQvQmxvY2sKL1NwYWNl
QmVmb3JlIDEyCj4+CmVuZG9iagoKNTAgMCBvYmoKPDwvVHlwZS9TdHJ1Y3RFbGVtCi9TL1N0YW5k
YXJkCi9QIDQgMCBSCi9QZyAxIDAgUgovQSA1MzcgMCBSCi9LWzUxIDAgUiA1MiAwIFIgMTYgNTMg
MCBSIF0KPj4KZW5kb2JqCgo1NSAwIG9iago8PC9UeXBlL1N0cnVjdEVsZW0KL1MvU3BhbgovUCA1
NCAwIFIKL1BnIDEgMCBSCi9MYW5nKGVuLVVTKQovS1sxOSBdCj4+CmVuZG9iagoKNTM4IDAgb2Jq
Cjw8L08vTGF5b3V0Ci9QbGFjZW1lbnQvQmxvY2sKL1NwYWNlQmVmb3JlIDI0Cj4+CmVuZG9iagoK
NTQgMCBvYmoKPDwvVHlwZS9TdHJ1Y3RFbGVtCi9TL0gxCi9QIDQgMCBSCi9QZyAxIDAgUgovQSA1
MzggMCBSCi9LWzE4IDU1IDAgUiBdCj4+CmVuZG9iagoKNTcgMCBvYmoKPDwvVHlwZS9TdHJ1Y3RF
bGVtCi9TL1NwYW4KL1AgNTYgMCBSCi9QZyAxIDAgUgovTGFuZyhlbi1VUykKL0tbMjAgXQo+Pgpl
bmRvYmoKCjU4IDAgb2JqCjw8L1R5cGUvU3RydWN0RWxlbQovUy9TcGFuCi9QIDU2IDAgUgovUGcg
MSAwIFIKL0xhbmcoZW4tVVMpCi9LWzIxIF0KPj4KZW5kb2JqCgo1OSAwIG9iago8PC9UeXBlL1N0
cnVjdEVsZW0KL1MvU3BhbgovUCA1NiAwIFIKL1BnIDEgMCBSCi9MYW5nKGVuLVVTKQovS1syMiBd
Cj4+CmVuZG9iagoKNjAgMCBvYmoKPDwvVHlwZS9TdHJ1Y3RFbGVtCi9TL1NwYW4KL1AgNTYgMCBS
Ci9QZyAxIDAgUgovTGFuZyhlbi1VUykKL0tbMjQgXQo+PgplbmRvYmoKCjYxIDAgb2JqCjw8L1R5
cGUvU3RydWN0RWxlbQovUy9TcGFuCi9QIDU2IDAgUgovUGcgMSAwIFIKL0xhbmcoZW4tVVMpCi9L
WzI1IF0KPj4KZW5kb2JqCgo2MiAwIG9iago8PC9UeXBlL1N0cnVjdEVsZW0KL1MvU3BhbgovUCA1
NiAwIFIKL1BnIDEgMCBSCi9MYW5nKGVuLVVTKQovS1syNiBdCj4+CmVuZG9iagoKNjMgMCBvYmoK
PDwvVHlwZS9TdHJ1Y3RFbGVtCi9TL1NwYW4KL1AgNTYgMCBSCi9QZyAxIDAgUgovTGFuZyhlbi1V
UykKL0tbMjcgXQo+PgplbmRvYmoKCjUzOSAwIG9iago8PC9PL0xheW91dAovUGxhY2VtZW50L0Js
b2NrCi9TcGFjZUJlZm9yZSAxMgo+PgplbmRvYmoKCjU2IDAgb2JqCjw8L1R5cGUvU3RydWN0RWxl
bQovUy9UZXh0IzIwYm9keQovUCA0IDAgUgovUGcgMSAwIFIKL0EgNTM5IDAgUgovS1s1NyAwIFIg
NTggMCBSIDU5IDAgUiAyMyA2MCAwIFIgNjEgMCBSIDYyIDAgUiA2MyAwIFIgXQo+PgplbmRvYmoK
CjY1IDAgb2JqCjw8L1R5cGUvU3RydWN0RWxlbQovUy9TcGFuCi9QIDY0IDAgUgovUGcgMSAwIFIK
L0xhbmcoenh4KQovS1syOCBdCj4+CmVuZG9iagoKNTQwIDAgb2JqCjw8L08vTGF5b3V0Ci9QbGFj
ZW1lbnQvQmxvY2sKL1NwYWNlQmVmb3JlIDMyLjgKL1N0YXJ0SW5kZW50IDIuNQovRW5kSW5kZW50
IDIuNQo+PgplbmRvYmoKCjY0IDAgb2JqCjw8L1R5cGUvU3RydWN0RWxlbQovUy9Db2RpY2UKL1Ag
NCAwIFIKL1BnIDEgMCBSCi9BIDU0MCAwIFIKL0tbNjUgMCBSIF0KPj4KZW5kb2JqCgo2NyAwIG9i
ago8PC9UeXBlL1N0cnVjdEVsZW0KL1MvU3BhbgovUCA2NiAwIFIKL1BnIDEgMCBSCi9MYW5nKHp4
eCkKL0tbMjkgXQo+PgplbmRvYmoKCjU0MSAwIG9iago8PC9PL0xheW91dAovUGxhY2VtZW50L0Js
b2NrCi9TdGFydEluZGVudCAyLjUKL0VuZEluZGVudCAyLjUKPj4KZW5kb2JqCgo2NiAwIG9iago8
PC9UeXBlL1N0cnVjdEVsZW0KL1MvQ29kaWNlCi9QIDQgMCBSCi9QZyAxIDAgUgovQSA1NDEgMCBS
Ci9LWzY3IDAgUiBdCj4+CmVuZG9iagoKNjkgMCBvYmoKPDwvVHlwZS9TdHJ1Y3RFbGVtCi9TL1Nw
YW4KL1AgNjggMCBSCi9QZyAxIDAgUgovTGFuZyh6eHgpCi9LWzMwIF0KPj4KZW5kb2JqCgo1NDIg
MCBvYmoKPDwvTy9MYXlvdXQKL1BsYWNlbWVudC9CbG9jawovU3RhcnRJbmRlbnQgMi41Ci9FbmRJ
bmRlbnQgMi41Cj4+CmVuZG9iagoKNjggMCBvYmoKPDwvVHlwZS9TdHJ1Y3RFbGVtCi9TL0NvZGlj
ZQovUCA0IDAgUgovUGcgMSAwIFIKL0EgNTQyIDAgUgovS1s2OSAwIFIgXQo+PgplbmRvYmoKCjcx
IDAgb2JqCjw8L1R5cGUvU3RydWN0RWxlbQovUy9TcGFuCi9QIDcwIDAgUgovUGcgMSAwIFIKL0xh
bmcoenh4KQovS1szMSBdCj4+CmVuZG9iagoKNTQzIDAgb2JqCjw8L08vTGF5b3V0Ci9QbGFjZW1l
bnQvQmxvY2sKL1N0YXJ0SW5kZW50IDIuNQovRW5kSW5kZW50IDIuNQo+PgplbmRvYmoKCjcwIDAg
b2JqCjw8L1R5cGUvU3RydWN0RWxlbQovUy9Db2RpY2UKL1AgNCAwIFIKL1BnIDEgMCBSCi9BIDU0
MyAwIFIKL0tbNzEgMCBSIF0KPj4KZW5kb2JqCgo3MyAwIG9iago8PC9UeXBlL1N0cnVjdEVsZW0K
L1MvU3BhbgovUCA3MiAwIFIKL1BnIDEgMCBSCi9MYW5nKHp4eCkKL0tbMzIgXQo+PgplbmRvYmoK
CjU0NCAwIG9iago8PC9PL0xheW91dAovUGxhY2VtZW50L0Jsb2NrCi9TdGFydEluZGVudCAyLjUK
L0VuZEluZGVudCAyLjUKPj4KZW5kb2JqCgo3MiAwIG9iago8PC9UeXBlL1N0cnVjdEVsZW0KL1Mv
Q29kaWNlCi9QIDQgMCBSCi9QZyAxIDAgUgovQSA1NDQgMCBSCi9LWzczIDAgUiBdCj4+CmVuZG9i
agoKNzUgMCBvYmoKPDwvVHlwZS9TdHJ1Y3RFbGVtCi9TL1NwYW4KL1AgNzQgMCBSCi9QZyAxIDAg
UgovTGFuZyh6eHgpCi9LWzMzIF0KPj4KZW5kb2JqCgo1NDUgMCBvYmoKPDwvTy9MYXlvdXQKL1Bs
YWNlbWVudC9CbG9jawovU3RhcnRJbmRlbnQgMi41Ci9FbmRJbmRlbnQgMi41Cj4+CmVuZG9iagoK
NzQgMCBvYmoKPDwvVHlwZS9TdHJ1Y3RFbGVtCi9TL0NvZGljZQovUCA0IDAgUgovUGcgMSAwIFIK
L0EgNTQ1IDAgUgovS1s3NSAwIFIgXQo+PgplbmRvYmoKCjc3IDAgb2JqCjw8L1R5cGUvU3RydWN0
RWxlbQovUy9TcGFuCi9QIDc2IDAgUgovUGcgMSAwIFIKL0xhbmcoenh4KQovS1szNCBdCj4+CmVu
ZG9iagoKNTQ2IDAgb2JqCjw8L08vTGF5b3V0Ci9QbGFjZW1lbnQvQmxvY2sKL1N0YXJ0SW5kZW50
IDIuNQovRW5kSW5kZW50IDIuNQo+PgplbmRvYmoKCjc2IDAgb2JqCjw8L1R5cGUvU3RydWN0RWxl
bQovUy9Db2RpY2UKL1AgNCAwIFIKL1BnIDEgMCBSCi9BIDU0NiAwIFIKL0tbNzcgMCBSIF0KPj4K
ZW5kb2JqCgo3OSAwIG9iago8PC9UeXBlL1N0cnVjdEVsZW0KL1MvU3BhbgovUCA3OCAwIFIKL1Bn
IDEgMCBSCi9MYW5nKHp4eCkKL0tbMzUgXQo+PgplbmRvYmoKCjU0NyAwIG9iago8PC9PL0xheW91
dAovUGxhY2VtZW50L0Jsb2NrCi9TdGFydEluZGVudCAyLjUKL0VuZEluZGVudCAyLjUKPj4KZW5k
b2JqCgo3OCAwIG9iago8PC9UeXBlL1N0cnVjdEVsZW0KL1MvQ29kaWNlCi9QIDQgMCBSCi9QZyAx
IDAgUgovQSA1NDcgMCBSCi9LWzc5IDAgUiBdCj4+CmVuZG9iagoKNTQ4IDAgb2JqCjw8L08vTGF5
b3V0Ci9QbGFjZW1lbnQvQmxvY2sKL1N0YXJ0SW5kZW50IDIuNQovRW5kSW5kZW50IDIuNQo+Pgpl
bmRvYmoKCjgwIDAgb2JqCjw8L1R5cGUvU3RydWN0RWxlbQovUy9Db2RpY2UKL1AgNCAwIFIKL1Bn
IDEgMCBSCi9BIDU0OCAwIFIKPj4KZW5kb2JqCgo4MiAwIG9iago8PC9UeXBlL1N0cnVjdEVsZW0K
L1MvU3BhbgovUCA4MSAwIFIKL1BnIDEgMCBSCi9MYW5nKHp4eCkKL0tbMzYgXQo+PgplbmRvYmoK
CjU0OSAwIG9iago8PC9PL0xheW91dAovUGxhY2VtZW50L0Jsb2NrCi9TdGFydEluZGVudCAyLjUK
L0VuZEluZGVudCAyLjUKPj4KZW5kb2JqCgo4MSAwIG9iago8PC9UeXBlL1N0cnVjdEVsZW0KL1Mv
Q29kaWNlCi9QIDQgMCBSCi9QZyAxIDAgUgovQSA1NDkgMCBSCi9LWzgyIDAgUiBdCj4+CmVuZG9i
agoKODQgMCBvYmoKPDwvVHlwZS9TdHJ1Y3RFbGVtCi9TL1NwYW4KL1AgODMgMCBSCi9QZyAxIDAg
UgovTGFuZyh6eHgpCi9LWzM3IF0KPj4KZW5kb2JqCgo1NTAgMCBvYmoKPDwvTy9MYXlvdXQKL1Bs
YWNlbWVudC9CbG9jawovU3RhcnRJbmRlbnQgMi41Ci9FbmRJbmRlbnQgMi41Cj4+CmVuZG9iagoK
ODMgMCBvYmoKPDwvVHlwZS9TdHJ1Y3RFbGVtCi9TL0NvZGljZQovUCA0IDAgUgovUGcgMSAwIFIK
L0EgNTUwIDAgUgovS1s4NCAwIFIgXQo+PgplbmRvYmoKCjU1MSAwIG9iago8PC9PL0xheW91dAov
UGxhY2VtZW50L0Jsb2NrCi9TdGFydEluZGVudCAyLjUKL0VuZEluZGVudCAyLjUKPj4KZW5kb2Jq
Cgo4NSAwIG9iago8PC9UeXBlL1N0cnVjdEVsZW0KL1MvQ29kaWNlCi9QIDQgMCBSCi9QZyAxIDAg
UgovQSA1NTEgMCBSCj4+CmVuZG9iagoKODcgMCBvYmoKPDwvVHlwZS9TdHJ1Y3RFbGVtCi9TL1Nw
YW4KL1AgODYgMCBSCi9QZyAxIDAgUgovTGFuZyh6eHgpCi9LWzM4IF0KPj4KZW5kb2JqCgo1NTIg
MCBvYmoKPDwvTy9MYXlvdXQKL1BsYWNlbWVudC9CbG9jawovU3RhcnRJbmRlbnQgMi41Ci9FbmRJ
bmRlbnQgMi41Cj4+CmVuZG9iagoKODYgMCBvYmoKPDwvVHlwZS9TdHJ1Y3RFbGVtCi9TL0NvZGlj
ZQovUCA0IDAgUgovUGcgMSAwIFIKL0EgNTUyIDAgUgovS1s4NyAwIFIgXQo+PgplbmRvYmoKCjg5
IDAgb2JqCjw8L1R5cGUvU3RydWN0RWxlbQovUy9TcGFuCi9QIDg4IDAgUgovUGcgMSAwIFIKL0xh
bmcoenh4KQovS1szOSBdCj4+CmVuZG9iagoKNTUzIDAgb2JqCjw8L08vTGF5b3V0Ci9QbGFjZW1l
bnQvQmxvY2sKL1N0YXJ0SW5kZW50IDIuNQovRW5kSW5kZW50IDIuNQo+PgplbmRvYmoKCjg4IDAg
b2JqCjw8L1R5cGUvU3RydWN0RWxlbQovUy9Db2RpY2UKL1AgNCAwIFIKL1BnIDEgMCBSCi9BIDU1
MyAwIFIKL0tbODkgMCBSIF0KPj4KZW5kb2JqCgo5MSAwIG9iago8PC9UeXBlL1N0cnVjdEVsZW0K
L1MvU3BhbgovUCA5MCAwIFIKL1BnIDEgMCBSCi9MYW5nKHp4eCkKL0tbNDAgXQo+PgplbmRvYmoK
CjU1NCAwIG9iago8PC9PL0xheW91dAovUGxhY2VtZW50L0Jsb2NrCi9TdGFydEluZGVudCAyLjUK
L0VuZEluZGVudCAyLjUKPj4KZW5kb2JqCgo5MCAwIG9iago8PC9UeXBlL1N0cnVjdEVsZW0KL1Mv
Q29kaWNlCi9QIDQgMCBSCi9QZyAxIDAgUgovQSA1NTQgMCBSCi9LWzkxIDAgUiBdCj4+CmVuZG9i
agoKOTMgMCBvYmoKPDwvVHlwZS9TdHJ1Y3RFbGVtCi9TL1NwYW4KL1AgOTIgMCBSCi9QZyAxIDAg
UgovTGFuZyh6eHgpCi9LWzQxIF0KPj4KZW5kb2JqCgo1NTUgMCBvYmoKPDwvTy9MYXlvdXQKL1Bs
YWNlbWVudC9CbG9jawovU3BhY2VBZnRlciAyLjUKL1N0YXJ0SW5kZW50IDIuNQovRW5kSW5kZW50
IDIuNQo+PgplbmRvYmoKCjkyIDAgb2JqCjw8L1R5cGUvU3RydWN0RWxlbQovUy9Db2RpY2UKL1Ag
NCAwIFIKL1BnIDEgMCBSCi9BIDU1NSAwIFIKL0tbOTMgMCBSIF0KPj4KZW5kb2JqCgo5NSAwIG9i
ago8PC9UeXBlL1N0cnVjdEVsZW0KL1MvU3BhbgovUCA5NCAwIFIKL1BnIDEgMCBSCi9MYW5nKGVu
LVVTKQovS1s0MiBdCj4+CmVuZG9iagoKOTYgMCBvYmoKPDwvVHlwZS9TdHJ1Y3RFbGVtCi9TL0Nv
ZGljZSMyMGlubGluZQovUCA5NCAwIFIKL1BnIDEgMCBSCi9MYW5nKGVuLVVTKQovS1s0MyBdCj4+
CmVuZG9iagoKOTcgMCBvYmoKPDwvVHlwZS9TdHJ1Y3RFbGVtCi9TL1NwYW4KL1AgOTQgMCBSCi9Q
ZyAxIDAgUgovTGFuZyhlbi1VUykKL0tbNDQgXQo+PgplbmRvYmoKCjk4IDAgb2JqCjw8L1R5cGUv
U3RydWN0RWxlbQovUy9TcGFuCi9QIDk0IDAgUgovUGcgMSAwIFIKL0xhbmcoZW4tVVMpCi9LWzQ2
IF0KPj4KZW5kb2JqCgo5OSAwIG9iago8PC9UeXBlL1N0cnVjdEVsZW0KL1MvQ29kaWNlIzIwaW5s
aW5lCi9QIDk0IDAgUgovUGcgMSAwIFIKL0xhbmcoZW4tVVMpCi9LWzQ3IF0KPj4KZW5kb2JqCgox
MDAgMCBvYmoKPDwvVHlwZS9TdHJ1Y3RFbGVtCi9TL1NwYW4KL1AgOTQgMCBSCi9QZyAxIDAgUgov
TGFuZyhlbi1VUykKL0tbNDggXQo+PgplbmRvYmoKCjEwMSAwIG9iago8PC9UeXBlL1N0cnVjdEVs
ZW0KL1MvQ29kaWNlIzIwaW5saW5lCi9QIDk0IDAgUgovUGcgMSAwIFIKL0xhbmcoZW4tVVMpCi9L
WzQ5IF0KPj4KZW5kb2JqCgoxMDIgMCBvYmoKPDwvVHlwZS9TdHJ1Y3RFbGVtCi9TL1NwYW4KL1Ag
OTQgMCBSCi9QZyAxIDAgUgovTGFuZyhlbi1VUykKL0tbNTAgXQo+PgplbmRvYmoKCjEwMyAwIG9i
ago8PC9UeXBlL1N0cnVjdEVsZW0KL1MvU3BhbgovUCA5NCAwIFIKL1BnIDEgMCBSCi9MYW5nKGVu
LVVTKQovS1s1MSBdCj4+CmVuZG9iagoKMTA0IDAgb2JqCjw8L1R5cGUvU3RydWN0RWxlbQovUy9T
cGFuCi9QIDk0IDAgUgovUGcgMSAwIFIKL0xhbmcoZW4tVVMpCi9LWzUyIF0KPj4KZW5kb2JqCgox
MDUgMCBvYmoKPDwvVHlwZS9TdHJ1Y3RFbGVtCi9TL1NwYW4KL1AgOTQgMCBSCi9QZyAxIDAgUgov
TGFuZyhlbi1VUykKL0tbNTMgXQo+PgplbmRvYmoKCjEwNiAwIG9iago8PC9UeXBlL1N0cnVjdEVs
ZW0KL1MvQ29kaWNlIzIwaW5saW5lCi9QIDk0IDAgUgovUGcgMSAwIFIKL0xhbmcoZW4tVVMpCi9L
WzU0IF0KPj4KZW5kb2JqCgoxMDcgMCBvYmoKPDwvVHlwZS9TdHJ1Y3RFbGVtCi9TL1NwYW4KL1Ag
OTQgMCBSCi9QZyAxIDAgUgovTGFuZyhlbi1VUykKL0tbNTUgXQo+PgplbmRvYmoKCjEwOCAwIG9i
ago8PC9UeXBlL1N0cnVjdEVsZW0KL1MvQ29kaWNlIzIwaW5saW5lCi9QIDk0IDAgUgovUGcgMSAw
IFIKL0xhbmcoZW4tVVMpCi9LWzU2IF0KPj4KZW5kb2JqCgoxMDkgMCBvYmoKPDwvVHlwZS9TdHJ1
Y3RFbGVtCi9TL1NwYW4KL1AgOTQgMCBSCi9QZyAxIDAgUgovTGFuZyhlbi1VUykKL0tbNTcgXQo+
PgplbmRvYmoKCjExMCAwIG9iago8PC9UeXBlL1N0cnVjdEVsZW0KL1MvU3BhbgovUCA5NCAwIFIK
L1BnIDEgMCBSCi9MYW5nKGVuLVVTKQovS1s1OCBdCj4+CmVuZG9iagoKMTExIDAgb2JqCjw8L1R5
cGUvU3RydWN0RWxlbQovUy9TcGFuCi9QIDk0IDAgUgovUGcgMSAwIFIKL0xhbmcoZW4tVVMpCi9L
WzU5IF0KPj4KZW5kb2JqCgoxMTIgMCBvYmoKPDwvVHlwZS9TdHJ1Y3RFbGVtCi9TL0NvZGljZSMy
MGlubGluZQovUCA5NCAwIFIKL1BnIDEgMCBSCi9MYW5nKGVuLVVTKQovS1s2MCBdCj4+CmVuZG9i
agoKMTEzIDAgb2JqCjw8L1R5cGUvU3RydWN0RWxlbQovUy9TcGFuCi9QIDk0IDAgUgovUGcgMSAw
IFIKL0xhbmcoZW4tVVMpCi9LWzYxIF0KPj4KZW5kb2JqCgoxMTQgMCBvYmoKPDwvVHlwZS9TdHJ1
Y3RFbGVtCi9TL1NwYW4KL1AgOTQgMCBSCi9QZyAxIDAgUgovTGFuZyhlbi1VUykKL0tbNjIgXQo+
PgplbmRvYmoKCjExNSAwIG9iago8PC9UeXBlL1N0cnVjdEVsZW0KL1MvQ29kaWNlIzIwaW5saW5l
Ci9QIDk0IDAgUgovUGcgMSAwIFIKL0xhbmcoZW4tVVMpCi9LWzYzIF0KPj4KZW5kb2JqCgoxMTYg
MCBvYmoKPDwvVHlwZS9TdHJ1Y3RFbGVtCi9TL1NwYW4KL1AgOTQgMCBSCi9QZyAxIDAgUgovTGFu
Zyhlbi1VUykKL0tbNjQgXQo+PgplbmRvYmoKCjExNyAwIG9iago8PC9UeXBlL1N0cnVjdEVsZW0K
L1MvQ29kaWNlIzIwaW5saW5lCi9QIDk0IDAgUgovUGcgMSAwIFIKL0xhbmcoZW4tVVMpCi9LWzY1
IF0KPj4KZW5kb2JqCgoxMTggMCBvYmoKPDwvVHlwZS9TdHJ1Y3RFbGVtCi9TL1NwYW4KL1AgOTQg
MCBSCi9QZyAxIDAgUgovTGFuZyhlbi1VUykKL0tbNjYgXQo+PgplbmRvYmoKCjExOSAwIG9iago8
PC9UeXBlL1N0cnVjdEVsZW0KL1MvU3BhbgovUCA5NCAwIFIKL1BnIDEgMCBSCi9MYW5nKGVuLVVT
KQovS1s2NyBdCj4+CmVuZG9iagoKMTIwIDAgb2JqCjw8L1R5cGUvU3RydWN0RWxlbQovUy9Db2Rp
Y2UjMjBpbmxpbmUKL1AgOTQgMCBSCi9QZyAxIDAgUgovTGFuZyhlbi1VUykKL0tbNjggXQo+Pgpl
bmRvYmoKCjEyMSAwIG9iago8PC9UeXBlL1N0cnVjdEVsZW0KL1MvU3BhbgovUCA5NCAwIFIKL1Bn
IDEgMCBSCi9MYW5nKGVuLVVTKQovS1s2OSBdCj4+CmVuZG9iagoKMTIyIDAgb2JqCjw8L1R5cGUv
U3RydWN0RWxlbQovUy9TcGFuCi9QIDk0IDAgUgovUGcgMSAwIFIKL0xhbmcoZW4tVVMpCi9LWzcx
IF0KPj4KZW5kb2JqCgo1NTYgMCBvYmoKPDwvTy9MYXlvdXQKL1BsYWNlbWVudC9CbG9jawovU3Bh
Y2VCZWZvcmUgMTQuMgo+PgplbmRvYmoKCjk0IDAgb2JqCjw8L1R5cGUvU3RydWN0RWxlbQovUy9U
ZXh0IzIwYm9keQovUCA0IDAgUgovUGcgMSAwIFIKL0EgNTU2IDAgUgovS1s5NSAwIFIgOTYgMCBS
IDk3IDAgUiA0NSA5OCAwIFIgOTkgMCBSIDEwMCAwIFIgMTAxIDAgUiAxMDIgMCBSIDEwMyAwIFIg
MTA0IDAgUiAxMDUgMCBSIDEwNiAwIFIgMTA3IDAgUiAxMDggMCBSIDEwOSAwIFIKMTEwIDAgUiAx
MTEgMCBSIDExMiAwIFIgMTEzIDAgUiAxMTQgMCBSIDExNSAwIFIgMTE2IDAgUiAxMTcgMCBSIDEx
OCAwIFIgMTE5IDAgUiAxMjAgMCBSIDEyMSAwIFIgNzAgMTIyIDAgUiBdCj4+CmVuZG9iagoKMTI0
IDAgb2JqCjw8L1R5cGUvU3RydWN0RWxlbQovUy9TcGFuCi9QIDEyMyAwIFIKL1BnIDEgMCBSCi9M
YW5nKGVuLVVTKQovS1s3MiBdCj4+CmVuZG9iagoKMTI1IDAgb2JqCjw8L1R5cGUvU3RydWN0RWxl
bQovUy9Db2RpY2UjMjBpbmxpbmUKL1AgMTIzIDAgUgovUGcgMSAwIFIKL0xhbmcoZW4tVVMpCi9L
WzczIF0KPj4KZW5kb2JqCgoxMjYgMCBvYmoKPDwvVHlwZS9TdHJ1Y3RFbGVtCi9TL1NwYW4KL1Ag
MTIzIDAgUgovUGcgMSAwIFIKL0xhbmcoZW4tVVMpCi9LWzc0IF0KPj4KZW5kb2JqCgoxMjcgMCBv
YmoKPDwvVHlwZS9TdHJ1Y3RFbGVtCi9TL1NwYW4KL1AgMTIzIDAgUgovUGcgMSAwIFIKL0xhbmco
ZW4tVVMpCi9LWzc1IF0KPj4KZW5kb2JqCgoxMjggMCBvYmoKPDwvVHlwZS9TdHJ1Y3RFbGVtCi9T
L0NvZGljZSMyMGlubGluZQovUCAxMjMgMCBSCi9QZyAxIDAgUgovTGFuZyhlbi1VUykKL0tbNzYg
XQo+PgplbmRvYmoKCjEyOSAwIG9iago8PC9UeXBlL1N0cnVjdEVsZW0KL1MvU3BhbgovUCAxMjMg
MCBSCi9QZyAxIDAgUgovTGFuZyhlbi1VUykKL0tbNzcgXQo+PgplbmRvYmoKCjEzMCAwIG9iago8
PC9UeXBlL1N0cnVjdEVsZW0KL1MvQ29kaWNlIzIwaW5saW5lCi9QIDEyMyAwIFIKL1BnIDEgMCBS
Ci9MYW5nKGVuLVVTKQovS1s3OCBdCj4+CmVuZG9iagoKMTMxIDAgb2JqCjw8L1R5cGUvU3RydWN0
RWxlbQovUy9TcGFuCi9QIDEyMyAwIFIKL1BnIDEgMCBSCi9MYW5nKGVuLVVTKQovS1s3OSBdCj4+
CmVuZG9iagoKMTMyIDAgb2JqCjw8L1R5cGUvU3RydWN0RWxlbQovUy9TcGFuCi9QIDEyMyAwIFIK
L1BnIDEgMCBSCi9MYW5nKGVuLVVTKQovS1s4MCBdCj4+CmVuZG9iagoKNTU3IDAgb2JqCjw8L08v
TGF5b3V0Ci9QbGFjZW1lbnQvQmxvY2sKL1NwYWNlQmVmb3JlIDE5Cj4+CmVuZG9iagoKMTIzIDAg
b2JqCjw8L1R5cGUvU3RydWN0RWxlbQovUy9UZXh0IzIwYm9keQovUCA0IDAgUgovUGcgMSAwIFIK
L0EgNTU3IDAgUgovS1sxMjQgMCBSIDEyNSAwIFIgMTI2IDAgUiAxMjcgMCBSIDEyOCAwIFIgMTI5
IDAgUiAxMzAgMCBSIDEzMSAwIFIgMTMyIDAgUiBdCj4+CmVuZG9iagoKMTM3IDAgb2JqCjw8L1R5
cGUvU3RydWN0RWxlbQovUy9TcGFuCi9QIDEzNiAwIFIKL1BnIDEzMyAwIFIKL0xhbmcoZW4tVVMp
Ci9LWzAgXQo+PgplbmRvYmoKCjEzOCAwIG9iago8PC9UeXBlL1N0cnVjdEVsZW0KL1MvU3Bhbgov
UCAxMzYgMCBSCi9QZyAxMzMgMCBSCi9MYW5nKGVuLVVTKQovS1syIF0KPj4KZW5kb2JqCgoxMzkg
MCBvYmoKPDwvVHlwZS9TdHJ1Y3RFbGVtCi9TL0NvZGljZSMyMGlubGluZQovUCAxMzYgMCBSCi9Q
ZyAxMzMgMCBSCi9MYW5nKGVuLVVTKQovS1szIF0KPj4KZW5kb2JqCgoxNDAgMCBvYmoKPDwvVHlw
ZS9TdHJ1Y3RFbGVtCi9TL1NwYW4KL1AgMTM2IDAgUgovUGcgMTMzIDAgUgovTGFuZyhlbi1VUykK
L0tbNCBdCj4+CmVuZG9iagoKMTQxIDAgb2JqCjw8L1R5cGUvU3RydWN0RWxlbQovUy9TcGFuCi9Q
IDEzNiAwIFIKL1BnIDEzMyAwIFIKL0xhbmcoZW4tVVMpCi9LWzYgXQo+PgplbmRvYmoKCjU1OCAw
IG9iago8PC9PL0xheW91dAovUGxhY2VtZW50L0Jsb2NrCj4+CmVuZG9iagoKMTM2IDAgb2JqCjw8
L1R5cGUvU3RydWN0RWxlbQovUy9UZXh0IzIwYm9keQovUCA0IDAgUgovUGcgMTMzIDAgUgovQSA1
NTggMCBSCi9LWzEzNyAwIFIgMSAxMzggMCBSIDEzOSAwIFIgMTQwIDAgUiA1IDE0MSAwIFIgXQo+
PgplbmRvYmoKCjE0NiAwIG9iago8PC9UeXBlL1N0cnVjdEVsZW0KL1MvU3BhbgovUCAxNDUgMCBS
Ci9QZyAxMzMgMCBSCi9MYW5nKGVuLVVTKQovS1s4IF0KPj4KZW5kb2JqCgoxNDcgMCBvYmoKPDwv
VHlwZS9TdHJ1Y3RFbGVtCi9TL1NwYW4KL1AgMTQ1IDAgUgovUGcgMTMzIDAgUgovTGFuZyhlbi1V
UykKL0tbOSBdCj4+CmVuZG9iagoKMTQ4IDAgb2JqCjw8L1R5cGUvU3RydWN0RWxlbQovUy9Db2Rp
Y2UjMjBpbmxpbmUKL1AgMTQ1IDAgUgovUGcgMTMzIDAgUgovTGFuZyhlbi1VUykKL0tbMTAgXQo+
PgplbmRvYmoKCjE0OSAwIG9iago8PC9UeXBlL1N0cnVjdEVsZW0KL1MvU3BhbgovUCAxNDUgMCBS
Ci9QZyAxMzMgMCBSCi9MYW5nKGVuLVVTKQovS1sxMSBdCj4+CmVuZG9iagoKNTU5IDAgb2JqCjw8
L08vTGF5b3V0Ci9QbGFjZW1lbnQvQmxvY2sKL1NwYWNlQmVmb3JlIDE5Cj4+CmVuZG9iagoKMTQ1
IDAgb2JqCjw8L1R5cGUvU3RydWN0RWxlbQovUy9UZXh0IzIwYm9keQovUCAxNDQgMCBSCi9QZyAx
MzMgMCBSCi9BIDU1OSAwIFIKL0tbNyAxNDYgMCBSIDE0NyAwIFIgMTQ4IDAgUiAxNDkgMCBSIF0K
Pj4KZW5kb2JqCgoxNDQgMCBvYmoKPDwvVHlwZS9TdHJ1Y3RFbGVtCi9TL0xCb2R5Ci9QIDE0MyAw
IFIKL1BnIDEzMyAwIFIKL0tbMTQ1IDAgUiBdCj4+CmVuZG9iagoKMTQzIDAgb2JqCjw8L1R5cGUv
U3RydWN0RWxlbQovUy9MSQovUCAxNDIgMCBSCi9QZyAxMzMgMCBSCi9LWzE0NCAwIFIgXQo+Pgpl
bmRvYmoKCjE1MyAwIG9iago8PC9UeXBlL1N0cnVjdEVsZW0KL1MvU3BhbgovUCAxNTIgMCBSCi9Q
ZyAxMzMgMCBSCi9MYW5nKGVuLVVTKQovS1sxMyBdCj4+CmVuZG9iagoKMTU0IDAgb2JqCjw8L1R5
cGUvU3RydWN0RWxlbQovUy9Db2RpY2UjMjBpbmxpbmUKL1AgMTUyIDAgUgovUGcgMTMzIDAgUgov
TGFuZyhlbi1VUykKL0tbMTQgXQo+PgplbmRvYmoKCjE1NSAwIG9iago8PC9UeXBlL1N0cnVjdEVs
ZW0KL1MvU3BhbgovUCAxNTIgMCBSCi9QZyAxMzMgMCBSCi9MYW5nKGVuLVVTKQovS1sxNSBdCj4+
CmVuZG9iagoKMTU2IDAgb2JqCjw8L1R5cGUvU3RydWN0RWxlbQovUy9TcGFuCi9QIDE1MiAwIFIK
L1BnIDEzMyAwIFIKL0xhbmcoZW4tVVMpCi9LWzE2IF0KPj4KZW5kb2JqCgo1NjAgMCBvYmoKPDwv
Ty9MYXlvdXQKL1BsYWNlbWVudC9CbG9jawovU3BhY2VCZWZvcmUgMTkuMQo+PgplbmRvYmoKCjE1
MiAwIG9iago8PC9UeXBlL1N0cnVjdEVsZW0KL1MvVGV4dCMyMGJvZHkKL1AgMTUxIDAgUgovUGcg
MTMzIDAgUgovQSA1NjAgMCBSCi9LWzEyIDE1MyAwIFIgMTU0IDAgUiAxNTUgMCBSIDE1NiAwIFIg
XQo+PgplbmRvYmoKCjE1MSAwIG9iago8PC9UeXBlL1N0cnVjdEVsZW0KL1MvTEJvZHkKL1AgMTUw
IDAgUgovUGcgMTMzIDAgUgovS1sxNTIgMCBSIF0KPj4KZW5kb2JqCgoxNTAgMCBvYmoKPDwvVHlw
ZS9TdHJ1Y3RFbGVtCi9TL0xJCi9QIDE0MiAwIFIKL1BnIDEzMyAwIFIKL0tbMTUxIDAgUiBdCj4+
CmVuZG9iagoKMTYwIDAgb2JqCjw8L1R5cGUvU3RydWN0RWxlbQovUy9TcGFuCi9QIDE1OSAwIFIK
L1BnIDEzMyAwIFIKL0xhbmcoZW4tVVMpCi9LWzE4IF0KPj4KZW5kb2JqCgoxNjEgMCBvYmoKPDwv
VHlwZS9TdHJ1Y3RFbGVtCi9TL0NvZGljZSMyMGlubGluZQovUCAxNTkgMCBSCi9QZyAxMzMgMCBS
Ci9MYW5nKGVuLVVTKQovS1sxOSBdCj4+CmVuZG9iagoKMTYyIDAgb2JqCjw8L1R5cGUvU3RydWN0
RWxlbQovUy9TcGFuCi9QIDE1OSAwIFIKL1BnIDEzMyAwIFIKL0xhbmcoZW4tVVMpCi9LWzIwIF0K
Pj4KZW5kb2JqCgo1NjEgMCBvYmoKPDwvTy9MYXlvdXQKL1BsYWNlbWVudC9CbG9jawovU3BhY2VC
ZWZvcmUgMTkKPj4KZW5kb2JqCgoxNTkgMCBvYmoKPDwvVHlwZS9TdHJ1Y3RFbGVtCi9TL1RleHQj
MjBib2R5Ci9QIDE1OCAwIFIKL1BnIDEzMyAwIFIKL0EgNTYxIDAgUgovS1sxNyAxNjAgMCBSIDE2
MSAwIFIgMTYyIDAgUiBdCj4+CmVuZG9iagoKMTU4IDAgb2JqCjw8L1R5cGUvU3RydWN0RWxlbQov
Uy9MQm9keQovUCAxNTcgMCBSCi9QZyAxMzMgMCBSCi9LWzE1OSAwIFIgXQo+PgplbmRvYmoKCjE1
NyAwIG9iago8PC9UeXBlL1N0cnVjdEVsZW0KL1MvTEkKL1AgMTQyIDAgUgovUGcgMTMzIDAgUgov
S1sxNTggMCBSIF0KPj4KZW5kb2JqCgoxNjYgMCBvYmoKPDwvVHlwZS9TdHJ1Y3RFbGVtCi9TL1Nw
YW4KL1AgMTY1IDAgUgovUGcgMTMzIDAgUgovTGFuZyhlbi1VUykKL0tbMjIgXQo+PgplbmRvYmoK
CjU2MiAwIG9iago8PC9PL0xheW91dAovUGxhY2VtZW50L0Jsb2NrCi9TcGFjZUJlZm9yZSAxOS4x
Cj4+CmVuZG9iagoKMTY1IDAgb2JqCjw8L1R5cGUvU3RydWN0RWxlbQovUy9UZXh0IzIwYm9keQov
UCAxNjQgMCBSCi9QZyAxMzMgMCBSCi9BIDU2MiAwIFIKL0tbMjEgMTY2IDAgUiBdCj4+CmVuZG9i
agoKMTY0IDAgb2JqCjw8L1R5cGUvU3RydWN0RWxlbQovUy9MQm9keQovUCAxNjMgMCBSCi9QZyAx
MzMgMCBSCi9LWzE2NSAwIFIgXQo+PgplbmRvYmoKCjE2MyAwIG9iago8PC9UeXBlL1N0cnVjdEVs
ZW0KL1MvTEkKL1AgMTQyIDAgUgovUGcgMTMzIDAgUgovS1sxNjQgMCBSIF0KPj4KZW5kb2JqCgox
NDIgMCBvYmoKPDwvVHlwZS9TdHJ1Y3RFbGVtCi9TL0wKL1AgNCAwIFIKL1BnIDEzMyAwIFIKL0tb
MTQzIDAgUiAxNTAgMCBSIDE1NyAwIFIgMTYzIDAgUiBdCj4+CmVuZG9iagoKMTY4IDAgb2JqCjw8
L1R5cGUvU3RydWN0RWxlbQovUy9TcGFuCi9QIDE2NyAwIFIKL1BnIDEzMyAwIFIKL0xhbmcoZW4t
VVMpCi9LWzIzIF0KPj4KZW5kb2JqCgoxNjkgMCBvYmoKPDwvVHlwZS9TdHJ1Y3RFbGVtCi9TL0Nv
ZGljZSMyMGlubGluZQovUCAxNjcgMCBSCi9QZyAxMzMgMCBSCi9MYW5nKGVuLVVTKQovS1syNCBd
Cj4+CmVuZG9iagoKMTcwIDAgb2JqCjw8L1R5cGUvU3RydWN0RWxlbQovUy9TcGFuCi9QIDE2NyAw
IFIKL1BnIDEzMyAwIFIKL0xhbmcoZW4tVVMpCi9LWzI1IF0KPj4KZW5kb2JqCgoxNzEgMCBvYmoK
PDwvVHlwZS9TdHJ1Y3RFbGVtCi9TL1NwYW4KL1AgMTY3IDAgUgovUGcgMTMzIDAgUgovTGFuZyhl
bi1VUykKL0tbMjYgXQo+PgplbmRvYmoKCjU2MyAwIG9iago8PC9UeXBlL09CSlIvT2JqIDQ1OSAw
IFI+PgplbmRvYmoKCjE3MiAwIG9iago8PC9UeXBlL1N0cnVjdEVsZW0KL1MvTGluawovUCAxNjcg
MCBSCi9QZyAxMzMgMCBSCi9MYW5nKGVuLVVTKQovS1syNyA1NjMgMCBSIF0KPj4KZW5kb2JqCgox
NzMgMCBvYmoKPDwvVHlwZS9TdHJ1Y3RFbGVtCi9TL1NwYW4KL1AgMTY3IDAgUgovUGcgMTMzIDAg
UgovTGFuZyhlbi1VUykKL0tbMjggXQo+PgplbmRvYmoKCjU2NCAwIG9iago8PC9PL0xheW91dAov
UGxhY2VtZW50L0Jsb2NrCi9TcGFjZUJlZm9yZSAxOQo+PgplbmRvYmoKCjE2NyAwIG9iago8PC9U
eXBlL1N0cnVjdEVsZW0KL1MvVGV4dCMyMGJvZHkKL1AgNCAwIFIKL1BnIDEzMyAwIFIKL0EgNTY0
IDAgUgovS1sxNjggMCBSIDE2OSAwIFIgMTcwIDAgUiAxNzEgMCBSIDE3MiAwIFIgMTczIDAgUiBd
Cj4+CmVuZG9iagoKMTc1IDAgb2JqCjw8L1R5cGUvU3RydWN0RWxlbQovUy9TcGFuCi9QIDE3NCAw
IFIKL1BnIDEzMyAwIFIKL0xhbmcoZW4tVVMpCi9LWzI5IF0KPj4KZW5kb2JqCgoxNzYgMCBvYmoK
PDwvVHlwZS9TdHJ1Y3RFbGVtCi9TL0NvZGljZSMyMGlubGluZQovUCAxNzQgMCBSCi9QZyAxMzMg
MCBSCi9MYW5nKGVuLVVTKQovS1szMCBdCj4+CmVuZG9iagoKMTc3IDAgb2JqCjw8L1R5cGUvU3Ry
dWN0RWxlbQovUy9TcGFuCi9QIDE3NCAwIFIKL1BnIDEzMyAwIFIKL0xhbmcoZW4tVVMpCi9LWzMx
IF0KPj4KZW5kb2JqCgoxNzggMCBvYmoKPDwvVHlwZS9TdHJ1Y3RFbGVtCi9TL1NwYW4KL1AgMTc0
IDAgUgovUGcgMTMzIDAgUgovTGFuZyhlbi1VUykKL0tbMzIgXQo+PgplbmRvYmoKCjE3OSAwIG9i
ago8PC9UeXBlL1N0cnVjdEVsZW0KL1MvU3BhbgovUCAxNzQgMCBSCi9QZyAxMzMgMCBSCi9MYW5n
KGVuLVVTKQovS1szMyBdCj4+CmVuZG9iagoKMTgwIDAgb2JqCjw8L1R5cGUvU3RydWN0RWxlbQov
Uy9TcGFuCi9QIDE3NCAwIFIKL1BnIDEzMyAwIFIKL0xhbmcoZW4tVVMpCi9LWzM0IF0KPj4KZW5k
b2JqCgoxODEgMCBvYmoKPDwvVHlwZS9TdHJ1Y3RFbGVtCi9TL1NwYW4KL1AgMTc0IDAgUgovUGcg
MTMzIDAgUgovTGFuZyhlbi1VUykKL0tbMzUgXQo+PgplbmRvYmoKCjU2NSAwIG9iago8PC9PL0xh
eW91dAovUGxhY2VtZW50L0Jsb2NrCi9TcGFjZUJlZm9yZSAxOQo+PgplbmRvYmoKCjE3NCAwIG9i
ago8PC9UeXBlL1N0cnVjdEVsZW0KL1MvVGV4dCMyMGJvZHkKL1AgNCAwIFIKL1BnIDEzMyAwIFIK
L0EgNTY1IDAgUgovS1sxNzUgMCBSIDE3NiAwIFIgMTc3IDAgUiAxNzggMCBSIDE3OSAwIFIgMTgw
IDAgUiAxODEgMCBSIF0KPj4KZW5kb2JqCgoxODMgMCBvYmoKPDwvVHlwZS9TdHJ1Y3RFbGVtCi9T
L1NwYW4KL1AgMTgyIDAgUgovUGcgMTMzIDAgUgovTGFuZyh6eHgpCi9LWzM2IF0KPj4KZW5kb2Jq
Cgo1NjYgMCBvYmoKPDwvTy9MYXlvdXQKL1BsYWNlbWVudC9CbG9jawovU3BhY2VCZWZvcmUgMzIu
OAovU3RhcnRJbmRlbnQgMi41Ci9FbmRJbmRlbnQgMi41Cj4+CmVuZG9iagoKMTgyIDAgb2JqCjw8
L1R5cGUvU3RydWN0RWxlbQovUy9Db2RpY2UKL1AgNCAwIFIKL1BnIDEzMyAwIFIKL0EgNTY2IDAg
UgovS1sxODMgMCBSIF0KPj4KZW5kb2JqCgo1NjcgMCBvYmoKPDwvTy9MYXlvdXQKL1BsYWNlbWVu
dC9CbG9jawovU3RhcnRJbmRlbnQgMi41Ci9FbmRJbmRlbnQgMi41Cj4+CmVuZG9iagoKMTg0IDAg
b2JqCjw8L1R5cGUvU3RydWN0RWxlbQovUy9Db2RpY2UKL1AgNCAwIFIKL1BnIDEzMyAwIFIKL0Eg
NTY3IDAgUgo+PgplbmRvYmoKCjE4NiAwIG9iago8PC9UeXBlL1N0cnVjdEVsZW0KL1MvU3Bhbgov
UCAxODUgMCBSCi9QZyAxMzMgMCBSCi9MYW5nKHp4eCkKL0tbMzcgXQo+PgplbmRvYmoKCjU2OCAw
IG9iago8PC9PL0xheW91dAovUGxhY2VtZW50L0Jsb2NrCi9TdGFydEluZGVudCAyLjUKL0VuZElu
ZGVudCAyLjUKPj4KZW5kb2JqCgoxODUgMCBvYmoKPDwvVHlwZS9TdHJ1Y3RFbGVtCi9TL0NvZGlj
ZQovUCA0IDAgUgovUGcgMTMzIDAgUgovQSA1NjggMCBSCi9LWzE4NiAwIFIgXQo+PgplbmRvYmoK
CjE4OCAwIG9iago8PC9UeXBlL1N0cnVjdEVsZW0KL1MvU3BhbgovUCAxODcgMCBSCi9QZyAxMzMg
MCBSCi9MYW5nKHp4eCkKL0tbMzggXQo+PgplbmRvYmoKCjU2OSAwIG9iago8PC9PL0xheW91dAov
UGxhY2VtZW50L0Jsb2NrCi9TdGFydEluZGVudCAyLjUKL0VuZEluZGVudCAyLjUKPj4KZW5kb2Jq
CgoxODcgMCBvYmoKPDwvVHlwZS9TdHJ1Y3RFbGVtCi9TL0NvZGljZQovUCA0IDAgUgovUGcgMTMz
IDAgUgovQSA1NjkgMCBSCi9LWzE4OCAwIFIgXQo+PgplbmRvYmoKCjE5MCAwIG9iago8PC9UeXBl
L1N0cnVjdEVsZW0KL1MvU3BhbgovUCAxODkgMCBSCi9QZyAxMzMgMCBSCi9MYW5nKHp4eCkKL0tb
MzkgXQo+PgplbmRvYmoKCjU3MCAwIG9iago8PC9PL0xheW91dAovUGxhY2VtZW50L0Jsb2NrCi9T
dGFydEluZGVudCAyLjUKL0VuZEluZGVudCAyLjUKPj4KZW5kb2JqCgoxODkgMCBvYmoKPDwvVHlw
ZS9TdHJ1Y3RFbGVtCi9TL0NvZGljZQovUCA0IDAgUgovUGcgMTMzIDAgUgovQSA1NzAgMCBSCi9L
WzE5MCAwIFIgXQo+PgplbmRvYmoKCjE5MiAwIG9iago8PC9UeXBlL1N0cnVjdEVsZW0KL1MvU3Bh
bgovUCAxOTEgMCBSCi9QZyAxMzMgMCBSCi9MYW5nKHp4eCkKL0tbNDAgXQo+PgplbmRvYmoKCjU3
MSAwIG9iago8PC9PL0xheW91dAovUGxhY2VtZW50L0Jsb2NrCi9TdGFydEluZGVudCAyLjUKL0Vu
ZEluZGVudCAyLjUKPj4KZW5kb2JqCgoxOTEgMCBvYmoKPDwvVHlwZS9TdHJ1Y3RFbGVtCi9TL0Nv
ZGljZQovUCA0IDAgUgovUGcgMTMzIDAgUgovQSA1NzEgMCBSCi9LWzE5MiAwIFIgXQo+PgplbmRv
YmoKCjE5NCAwIG9iago8PC9UeXBlL1N0cnVjdEVsZW0KL1MvU3BhbgovUCAxOTMgMCBSCi9QZyAx
MzMgMCBSCi9MYW5nKHp4eCkKL0tbNDEgXQo+PgplbmRvYmoKCjU3MiAwIG9iago8PC9PL0xheW91
dAovUGxhY2VtZW50L0Jsb2NrCi9TdGFydEluZGVudCAyLjUKL0VuZEluZGVudCAyLjUKPj4KZW5k
b2JqCgoxOTMgMCBvYmoKPDwvVHlwZS9TdHJ1Y3RFbGVtCi9TL0NvZGljZQovUCA0IDAgUgovUGcg
MTMzIDAgUgovQSA1NzIgMCBSCi9LWzE5NCAwIFIgXQo+PgplbmRvYmoKCjU3MyAwIG9iago8PC9P
L0xheW91dAovUGxhY2VtZW50L0Jsb2NrCi9TdGFydEluZGVudCAyLjUKL0VuZEluZGVudCAyLjUK
Pj4KZW5kb2JqCgoxOTUgMCBvYmoKPDwvVHlwZS9TdHJ1Y3RFbGVtCi9TL0NvZGljZQovUCA0IDAg
UgovUGcgMTMzIDAgUgovQSA1NzMgMCBSCj4+CmVuZG9iagoKMTk3IDAgb2JqCjw8L1R5cGUvU3Ry
dWN0RWxlbQovUy9TcGFuCi9QIDE5NiAwIFIKL1BnIDEzMyAwIFIKL0xhbmcoenh4KQovS1s0MiBd
Cj4+CmVuZG9iagoKNTc0IDAgb2JqCjw8L08vTGF5b3V0Ci9QbGFjZW1lbnQvQmxvY2sKL1N0YXJ0
SW5kZW50IDIuNQovRW5kSW5kZW50IDIuNQo+PgplbmRvYmoKCjE5NiAwIG9iago8PC9UeXBlL1N0
cnVjdEVsZW0KL1MvQ29kaWNlCi9QIDQgMCBSCi9QZyAxMzMgMCBSCi9BIDU3NCAwIFIKL0tbMTk3
IDAgUiBdCj4+CmVuZG9iagoKMTk5IDAgb2JqCjw8L1R5cGUvU3RydWN0RWxlbQovUy9TcGFuCi9Q
IDE5OCAwIFIKL1BnIDEzMyAwIFIKL0xhbmcoenh4KQovS1s0MyBdCj4+CmVuZG9iagoKNTc1IDAg
b2JqCjw8L08vTGF5b3V0Ci9QbGFjZW1lbnQvQmxvY2sKL1N0YXJ0SW5kZW50IDIuNQovRW5kSW5k
ZW50IDIuNQo+PgplbmRvYmoKCjE5OCAwIG9iago8PC9UeXBlL1N0cnVjdEVsZW0KL1MvQ29kaWNl
Ci9QIDQgMCBSCi9QZyAxMzMgMCBSCi9BIDU3NSAwIFIKL0tbMTk5IDAgUiBdCj4+CmVuZG9iagoK
MjAxIDAgb2JqCjw8L1R5cGUvU3RydWN0RWxlbQovUy9TcGFuCi9QIDIwMCAwIFIKL1BnIDEzMyAw
IFIKL0xhbmcoenh4KQovS1s0NCBdCj4+CmVuZG9iagoKNTc2IDAgb2JqCjw8L08vTGF5b3V0Ci9Q
bGFjZW1lbnQvQmxvY2sKL1N0YXJ0SW5kZW50IDIuNQovRW5kSW5kZW50IDIuNQo+PgplbmRvYmoK
CjIwMCAwIG9iago8PC9UeXBlL1N0cnVjdEVsZW0KL1MvQ29kaWNlCi9QIDQgMCBSCi9QZyAxMzMg
MCBSCi9BIDU3NiAwIFIKL0tbMjAxIDAgUiBdCj4+CmVuZG9iagoKMjAzIDAgb2JqCjw8L1R5cGUv
U3RydWN0RWxlbQovUy9TcGFuCi9QIDIwMiAwIFIKL1BnIDEzMyAwIFIKL0xhbmcoenh4KQovS1s0
NSBdCj4+CmVuZG9iagoKNTc3IDAgb2JqCjw8L08vTGF5b3V0Ci9QbGFjZW1lbnQvQmxvY2sKL1N0
YXJ0SW5kZW50IDIuNQovRW5kSW5kZW50IDIuNQo+PgplbmRvYmoKCjIwMiAwIG9iago8PC9UeXBl
L1N0cnVjdEVsZW0KL1MvQ29kaWNlCi9QIDQgMCBSCi9QZyAxMzMgMCBSCi9BIDU3NyAwIFIKL0tb
MjAzIDAgUiBdCj4+CmVuZG9iagoKMjA1IDAgb2JqCjw8L1R5cGUvU3RydWN0RWxlbQovUy9TcGFu
Ci9QIDIwNCAwIFIKL1BnIDEzMyAwIFIKL0xhbmcoenh4KQovS1s0NiBdCj4+CmVuZG9iagoKNTc4
IDAgb2JqCjw8L08vTGF5b3V0Ci9QbGFjZW1lbnQvQmxvY2sKL1N0YXJ0SW5kZW50IDIuNQovRW5k
SW5kZW50IDIuNQo+PgplbmRvYmoKCjIwNCAwIG9iago8PC9UeXBlL1N0cnVjdEVsZW0KL1MvQ29k
aWNlCi9QIDQgMCBSCi9QZyAxMzMgMCBSCi9BIDU3OCAwIFIKL0tbMjA1IDAgUiBdCj4+CmVuZG9i
agoKMjA3IDAgb2JqCjw8L1R5cGUvU3RydWN0RWxlbQovUy9TcGFuCi9QIDIwNiAwIFIKL1BnIDEz
MyAwIFIKL0xhbmcoenh4KQovS1s0NyBdCj4+CmVuZG9iagoKNTc5IDAgb2JqCjw8L08vTGF5b3V0
Ci9QbGFjZW1lbnQvQmxvY2sKL1N0YXJ0SW5kZW50IDIuNQovRW5kSW5kZW50IDIuNQo+PgplbmRv
YmoKCjIwNiAwIG9iago8PC9UeXBlL1N0cnVjdEVsZW0KL1MvQ29kaWNlCi9QIDQgMCBSCi9QZyAx
MzMgMCBSCi9BIDU3OSAwIFIKL0tbMjA3IDAgUiBdCj4+CmVuZG9iagoKMjA5IDAgb2JqCjw8L1R5
cGUvU3RydWN0RWxlbQovUy9TcGFuCi9QIDIwOCAwIFIKL1BnIDEzMyAwIFIKL0xhbmcoenh4KQov
S1s0OCBdCj4+CmVuZG9iagoKNTgwIDAgb2JqCjw8L08vTGF5b3V0Ci9QbGFjZW1lbnQvQmxvY2sK
L1N0YXJ0SW5kZW50IDIuNQovRW5kSW5kZW50IDIuNQo+PgplbmRvYmoKCjIwOCAwIG9iago8PC9U
eXBlL1N0cnVjdEVsZW0KL1MvQ29kaWNlCi9QIDQgMCBSCi9QZyAxMzMgMCBSCi9BIDU4MCAwIFIK
L0tbMjA5IDAgUiBdCj4+CmVuZG9iagoKMjExIDAgb2JqCjw8L1R5cGUvU3RydWN0RWxlbQovUy9T
cGFuCi9QIDIxMCAwIFIKL1BnIDEzMyAwIFIKL0xhbmcoenh4KQovS1s0OSBdCj4+CmVuZG9iagoK
NTgxIDAgb2JqCjw8L08vTGF5b3V0Ci9QbGFjZW1lbnQvQmxvY2sKL1N0YXJ0SW5kZW50IDIuNQov
RW5kSW5kZW50IDIuNQo+PgplbmRvYmoKCjIxMCAwIG9iago8PC9UeXBlL1N0cnVjdEVsZW0KL1Mv
Q29kaWNlCi9QIDQgMCBSCi9QZyAxMzMgMCBSCi9BIDU4MSAwIFIKL0tbMjExIDAgUiBdCj4+CmVu
ZG9iagoKMjEzIDAgb2JqCjw8L1R5cGUvU3RydWN0RWxlbQovUy9TcGFuCi9QIDIxMiAwIFIKL1Bn
IDEzMyAwIFIKL0xhbmcoenh4KQovS1s1MCBdCj4+CmVuZG9iagoKNTgyIDAgb2JqCjw8L08vTGF5
b3V0Ci9QbGFjZW1lbnQvQmxvY2sKL1N0YXJ0SW5kZW50IDIuNQovRW5kSW5kZW50IDIuNQo+Pgpl
bmRvYmoKCjIxMiAwIG9iago8PC9UeXBlL1N0cnVjdEVsZW0KL1MvQ29kaWNlCi9QIDQgMCBSCi9Q
ZyAxMzMgMCBSCi9BIDU4MiAwIFIKL0tbMjEzIDAgUiBdCj4+CmVuZG9iagoKMjE1IDAgb2JqCjw8
L1R5cGUvU3RydWN0RWxlbQovUy9TcGFuCi9QIDIxNCAwIFIKL1BnIDEzMyAwIFIKL0xhbmcoenh4
KQovS1s1MSBdCj4+CmVuZG9iagoKNTgzIDAgb2JqCjw8L08vTGF5b3V0Ci9QbGFjZW1lbnQvQmxv
Y2sKL1NwYWNlQWZ0ZXIgMi41Ci9TdGFydEluZGVudCAyLjUKL0VuZEluZGVudCAyLjUKPj4KZW5k
b2JqCgoyMTQgMCBvYmoKPDwvVHlwZS9TdHJ1Y3RFbGVtCi9TL0NvZGljZQovUCA0IDAgUgovUGcg
MTMzIDAgUgovQSA1ODMgMCBSCi9LWzIxNSAwIFIgXQo+PgplbmRvYmoKCjU4NCAwIG9iago8PC9P
L0xheW91dAovUGxhY2VtZW50L0Jsb2NrCi9TcGFjZUJlZm9yZSAxNC4yCj4+CmVuZG9iagoKMjE2
IDAgb2JqCjw8L1R5cGUvU3RydWN0RWxlbQovUy9TdGFuZGFyZAovUCA0IDAgUgovUGcgMTMzIDAg
UgovQSA1ODQgMCBSCj4+CmVuZG9iagoKMjE4IDAgb2JqCjw8L1R5cGUvU3RydWN0RWxlbQovUy9T
cGFuCi9QIDIxNyAwIFIKL1BnIDEzMyAwIFIKL0xhbmcoZW4tVVMpCi9LWzUyIF0KPj4KZW5kb2Jq
CgoyMTkgMCBvYmoKPDwvVHlwZS9TdHJ1Y3RFbGVtCi9TL1NwYW4KL1AgMjE3IDAgUgovUGcgMTMz
IDAgUgovTGFuZyhlbi1VUykKL0tbNTMgXQo+PgplbmRvYmoKCjU4NSAwIG9iago8PC9PL0xheW91
dAovUGxhY2VtZW50L0Jsb2NrCj4+CmVuZG9iagoKMjE3IDAgb2JqCjw8L1R5cGUvU3RydWN0RWxl
bQovUy9UZXh0IzIwYm9keQovUCA0IDAgUgovUGcgMTMzIDAgUgovQSA1ODUgMCBSCi9LWzIxOCAw
IFIgMjE5IDAgUiBdCj4+CmVuZG9iagoKMjIzIDAgb2JqCjw8L1R5cGUvU3RydWN0RWxlbQovUy9T
cGFuCi9QIDIyMiAwIFIKL1BnIDEzMyAwIFIKL0xhbmcoZW4tVVMpCi9LWzU1IF0KPj4KZW5kb2Jq
CgoyMjQgMCBvYmoKPDwvVHlwZS9TdHJ1Y3RFbGVtCi9TL1NwYW4KL1AgMjIyIDAgUgovUGcgMTMz
IDAgUgovTGFuZyhlbi1VUykKL0tbNTYgXQo+PgplbmRvYmoKCjU4NiAwIG9iago8PC9PL0xheW91
dAovUGxhY2VtZW50L0Jsb2NrCi9UZXh0SW5kZW50IC0yMi43Cj4+CmVuZG9iagoKMjIyIDAgb2Jq
Cjw8L1R5cGUvU3RydWN0RWxlbQovUy9Gb290bm90ZQovUCAyMjEgMCBSCi9QZyAxMzMgMCBSCi9B
IDU4NiAwIFIKL0tbNTQgMjIzIDAgUiAyMjQgMCBSIF0KPj4KZW5kb2JqCgoyMjEgMCBvYmoKPDwv
VHlwZS9TdHJ1Y3RFbGVtCi9TL05vdGUKL1AgMjIwIDAgUgovUGcgMTMzIDAgUgovS1syMjIgMCBS
IF0KPj4KZW5kb2JqCgoyMjAgMCBvYmoKPDwvVHlwZS9TdHJ1Y3RFbGVtCi9TL0RpdgovUCA0IDAg
UgovUGcgMTMzIDAgUgovS1syMjEgMCBSIF0KPj4KZW5kb2JqCgoyMjkgMCBvYmoKPDwvVHlwZS9T
dHJ1Y3RFbGVtCi9TL1NwYW4KL1AgMjI4IDAgUgovUGcgMjI1IDAgUgovTGFuZyh6eHgpCi9LWzAg
XQo+PgplbmRvYmoKCjU4NyAwIG9iago8PC9PL0xheW91dAovUGxhY2VtZW50L0Jsb2NrCi9TcGFj
ZUJlZm9yZSAyLjUKL1N0YXJ0SW5kZW50IDIuNQovRW5kSW5kZW50IDIuNQo+PgplbmRvYmoKCjIy
OCAwIG9iago8PC9UeXBlL1N0cnVjdEVsZW0KL1MvQ29kaWNlCi9QIDQgMCBSCi9QZyAyMjUgMCBS
Ci9BIDU4NyAwIFIKL0tbMjI5IDAgUiBdCj4+CmVuZG9iagoKMjMxIDAgb2JqCjw8L1R5cGUvU3Ry
dWN0RWxlbQovUy9TcGFuCi9QIDIzMCAwIFIKL1BnIDIyNSAwIFIKL0xhbmcoenh4KQovS1sxIF0K
Pj4KZW5kb2JqCgo1ODggMCBvYmoKPDwvTy9MYXlvdXQKL1BsYWNlbWVudC9CbG9jawovU3RhcnRJ
bmRlbnQgMi41Ci9FbmRJbmRlbnQgMi41Cj4+CmVuZG9iagoKMjMwIDAgb2JqCjw8L1R5cGUvU3Ry
dWN0RWxlbQovUy9Db2RpY2UKL1AgNCAwIFIKL1BnIDIyNSAwIFIKL0EgNTg4IDAgUgovS1syMzEg
MCBSIF0KPj4KZW5kb2JqCgoyMzMgMCBvYmoKPDwvVHlwZS9TdHJ1Y3RFbGVtCi9TL1NwYW4KL1Ag
MjMyIDAgUgovUGcgMjI1IDAgUgovTGFuZyh6eHgpCi9LWzIgXQo+PgplbmRvYmoKCjU4OSAwIG9i
ago8PC9PL0xheW91dAovUGxhY2VtZW50L0Jsb2NrCi9TdGFydEluZGVudCAyLjUKL0VuZEluZGVu
dCAyLjUKPj4KZW5kb2JqCgoyMzIgMCBvYmoKPDwvVHlwZS9TdHJ1Y3RFbGVtCi9TL0NvZGljZQov
UCA0IDAgUgovUGcgMjI1IDAgUgovQSA1ODkgMCBSCi9LWzIzMyAwIFIgXQo+PgplbmRvYmoKCjIz
NSAwIG9iago8PC9UeXBlL1N0cnVjdEVsZW0KL1MvU3BhbgovUCAyMzQgMCBSCi9QZyAyMjUgMCBS
Ci9MYW5nKHp4eCkKL0tbMyBdCj4+CmVuZG9iagoKNTkwIDAgb2JqCjw8L08vTGF5b3V0Ci9QbGFj
ZW1lbnQvQmxvY2sKL1N0YXJ0SW5kZW50IDIuNQovRW5kSW5kZW50IDIuNQo+PgplbmRvYmoKCjIz
NCAwIG9iago8PC9UeXBlL1N0cnVjdEVsZW0KL1MvQ29kaWNlCi9QIDQgMCBSCi9QZyAyMjUgMCBS
Ci9BIDU5MCAwIFIKL0tbMjM1IDAgUiBdCj4+CmVuZG9iagoKMjM3IDAgb2JqCjw8L1R5cGUvU3Ry
dWN0RWxlbQovUy9TcGFuCi9QIDIzNiAwIFIKL1BnIDIyNSAwIFIKL0xhbmcoenh4KQovS1s0IF0K
Pj4KZW5kb2JqCgo1OTEgMCBvYmoKPDwvTy9MYXlvdXQKL1BsYWNlbWVudC9CbG9jawovU3RhcnRJ
bmRlbnQgMi41Ci9FbmRJbmRlbnQgMi41Cj4+CmVuZG9iagoKMjM2IDAgb2JqCjw8L1R5cGUvU3Ry
dWN0RWxlbQovUy9Db2RpY2UKL1AgNCAwIFIKL1BnIDIyNSAwIFIKL0EgNTkxIDAgUgovS1syMzcg
MCBSIF0KPj4KZW5kb2JqCgoyMzkgMCBvYmoKPDwvVHlwZS9TdHJ1Y3RFbGVtCi9TL1NwYW4KL1Ag
MjM4IDAgUgovUGcgMjI1IDAgUgovTGFuZyh6eHgpCi9LWzUgXQo+PgplbmRvYmoKCjU5MiAwIG9i
ago8PC9PL0xheW91dAovUGxhY2VtZW50L0Jsb2NrCi9TdGFydEluZGVudCAyLjUKL0VuZEluZGVu
dCAyLjUKPj4KZW5kb2JqCgoyMzggMCBvYmoKPDwvVHlwZS9TdHJ1Y3RFbGVtCi9TL0NvZGljZQov
UCA0IDAgUgovUGcgMjI1IDAgUgovQSA1OTIgMCBSCi9LWzIzOSAwIFIgXQo+PgplbmRvYmoKCjI0
MSAwIG9iago8PC9UeXBlL1N0cnVjdEVsZW0KL1MvU3BhbgovUCAyNDAgMCBSCi9QZyAyMjUgMCBS
Ci9MYW5nKHp4eCkKL0tbNiBdCj4+CmVuZG9iagoKNTkzIDAgb2JqCjw8L08vTGF5b3V0Ci9QbGFj
ZW1lbnQvQmxvY2sKL1N0YXJ0SW5kZW50IDIuNQovRW5kSW5kZW50IDIuNQo+PgplbmRvYmoKCjI0
MCAwIG9iago8PC9UeXBlL1N0cnVjdEVsZW0KL1MvQ29kaWNlCi9QIDQgMCBSCi9QZyAyMjUgMCBS
Ci9BIDU5MyAwIFIKL0tbMjQxIDAgUiBdCj4+CmVuZG9iagoKMjQzIDAgb2JqCjw8L1R5cGUvU3Ry
dWN0RWxlbQovUy9TcGFuCi9QIDI0MiAwIFIKL1BnIDIyNSAwIFIKL0xhbmcoenh4KQovS1s3IF0K
Pj4KZW5kb2JqCgo1OTQgMCBvYmoKPDwvTy9MYXlvdXQKL1BsYWNlbWVudC9CbG9jawovU3RhcnRJ
bmRlbnQgMi41Ci9FbmRJbmRlbnQgMi41Cj4+CmVuZG9iagoKMjQyIDAgb2JqCjw8L1R5cGUvU3Ry
dWN0RWxlbQovUy9Db2RpY2UKL1AgNCAwIFIKL1BnIDIyNSAwIFIKL0EgNTk0IDAgUgovS1syNDMg
MCBSIF0KPj4KZW5kb2JqCgoyNDUgMCBvYmoKPDwvVHlwZS9TdHJ1Y3RFbGVtCi9TL1NwYW4KL1Ag
MjQ0IDAgUgovUGcgMjI1IDAgUgovTGFuZyh6eHgpCi9LWzggXQo+PgplbmRvYmoKCjU5NSAwIG9i
ago8PC9PL0xheW91dAovUGxhY2VtZW50L0Jsb2NrCi9TdGFydEluZGVudCAyLjUKL0VuZEluZGVu
dCAyLjUKPj4KZW5kb2JqCgoyNDQgMCBvYmoKPDwvVHlwZS9TdHJ1Y3RFbGVtCi9TL0NvZGljZQov
UCA0IDAgUgovUGcgMjI1IDAgUgovQSA1OTUgMCBSCi9LWzI0NSAwIFIgXQo+PgplbmRvYmoKCjI0
NyAwIG9iago8PC9UeXBlL1N0cnVjdEVsZW0KL1MvU3BhbgovUCAyNDYgMCBSCi9QZyAyMjUgMCBS
Ci9MYW5nKHp4eCkKL0tbOSBdCj4+CmVuZG9iagoKNTk2IDAgb2JqCjw8L08vTGF5b3V0Ci9QbGFj
ZW1lbnQvQmxvY2sKL1N0YXJ0SW5kZW50IDIuNQovRW5kSW5kZW50IDIuNQo+PgplbmRvYmoKCjI0
NiAwIG9iago8PC9UeXBlL1N0cnVjdEVsZW0KL1MvQ29kaWNlCi9QIDQgMCBSCi9QZyAyMjUgMCBS
Ci9BIDU5NiAwIFIKL0tbMjQ3IDAgUiBdCj4+CmVuZG9iagoKMjQ5IDAgb2JqCjw8L1R5cGUvU3Ry
dWN0RWxlbQovUy9TcGFuCi9QIDI0OCAwIFIKL1BnIDIyNSAwIFIKL0xhbmcoenh4KQovS1sxMCBd
Cj4+CmVuZG9iagoKNTk3IDAgb2JqCjw8L08vTGF5b3V0Ci9QbGFjZW1lbnQvQmxvY2sKL1N0YXJ0
SW5kZW50IDIuNQovRW5kSW5kZW50IDIuNQo+PgplbmRvYmoKCjI0OCAwIG9iago8PC9UeXBlL1N0
cnVjdEVsZW0KL1MvQ29kaWNlCi9QIDQgMCBSCi9QZyAyMjUgMCBSCi9BIDU5NyAwIFIKL0tbMjQ5
IDAgUiBdCj4+CmVuZG9iagoKMjUxIDAgb2JqCjw8L1R5cGUvU3RydWN0RWxlbQovUy9TcGFuCi9Q
IDI1MCAwIFIKL1BnIDIyNSAwIFIKL0xhbmcoenh4KQovS1sxMSBdCj4+CmVuZG9iagoKNTk4IDAg
b2JqCjw8L08vTGF5b3V0Ci9QbGFjZW1lbnQvQmxvY2sKL1N0YXJ0SW5kZW50IDIuNQovRW5kSW5k
ZW50IDIuNQo+PgplbmRvYmoKCjI1MCAwIG9iago8PC9UeXBlL1N0cnVjdEVsZW0KL1MvQ29kaWNl
Ci9QIDQgMCBSCi9QZyAyMjUgMCBSCi9BIDU5OCAwIFIKL0tbMjUxIDAgUiBdCj4+CmVuZG9iagoK
MjUzIDAgb2JqCjw8L1R5cGUvU3RydWN0RWxlbQovUy9TcGFuCi9QIDI1MiAwIFIKL1BnIDIyNSAw
IFIKL0xhbmcoenh4KQovS1sxMiBdCj4+CmVuZG9iagoKNTk5IDAgb2JqCjw8L08vTGF5b3V0Ci9Q
bGFjZW1lbnQvQmxvY2sKL1N0YXJ0SW5kZW50IDIuNQovRW5kSW5kZW50IDIuNQo+PgplbmRvYmoK
CjI1MiAwIG9iago8PC9UeXBlL1N0cnVjdEVsZW0KL1MvQ29kaWNlCi9QIDQgMCBSCi9QZyAyMjUg
MCBSCi9BIDU5OSAwIFIKL0tbMjUzIDAgUiBdCj4+CmVuZG9iagoKMjU1IDAgb2JqCjw8L1R5cGUv
U3RydWN0RWxlbQovUy9TcGFuCi9QIDI1NCAwIFIKL1BnIDIyNSAwIFIKL0xhbmcoenh4KQovS1sx
MyBdCj4+CmVuZG9iagoKNjAwIDAgb2JqCjw8L08vTGF5b3V0Ci9QbGFjZW1lbnQvQmxvY2sKL1N0
YXJ0SW5kZW50IDIuNQovRW5kSW5kZW50IDIuNQo+PgplbmRvYmoKCjI1NCAwIG9iago8PC9UeXBl
L1N0cnVjdEVsZW0KL1MvQ29kaWNlCi9QIDQgMCBSCi9QZyAyMjUgMCBSCi9BIDYwMCAwIFIKL0tb
MjU1IDAgUiBdCj4+CmVuZG9iagoKMjU3IDAgb2JqCjw8L1R5cGUvU3RydWN0RWxlbQovUy9TcGFu
Ci9QIDI1NiAwIFIKL1BnIDIyNSAwIFIKL0xhbmcoenh4KQovS1sxNCBdCj4+CmVuZG9iagoKNjAx
IDAgb2JqCjw8L08vTGF5b3V0Ci9QbGFjZW1lbnQvQmxvY2sKL1N0YXJ0SW5kZW50IDIuNQovRW5k
SW5kZW50IDIuNQo+PgplbmRvYmoKCjI1NiAwIG9iago8PC9UeXBlL1N0cnVjdEVsZW0KL1MvQ29k
aWNlCi9QIDQgMCBSCi9QZyAyMjUgMCBSCi9BIDYwMSAwIFIKL0tbMjU3IDAgUiBdCj4+CmVuZG9i
agoKMjU5IDAgb2JqCjw8L1R5cGUvU3RydWN0RWxlbQovUy9TcGFuCi9QIDI1OCAwIFIKL1BnIDIy
NSAwIFIKL0xhbmcoenh4KQovS1sxNSBdCj4+CmVuZG9iagoKNjAyIDAgb2JqCjw8L08vTGF5b3V0
Ci9QbGFjZW1lbnQvQmxvY2sKL1N0YXJ0SW5kZW50IDIuNQovRW5kSW5kZW50IDIuNQo+PgplbmRv
YmoKCjI1OCAwIG9iago8PC9UeXBlL1N0cnVjdEVsZW0KL1MvQ29kaWNlCi9QIDQgMCBSCi9QZyAy
MjUgMCBSCi9BIDYwMiAwIFIKL0tbMjU5IDAgUiBdCj4+CmVuZG9iagoKNjAzIDAgb2JqCjw8L08v
TGF5b3V0Ci9QbGFjZW1lbnQvQmxvY2sKL1N0YXJ0SW5kZW50IDIuNQovRW5kSW5kZW50IDIuNQo+
PgplbmRvYmoKCjI2MCAwIG9iago8PC9UeXBlL1N0cnVjdEVsZW0KL1MvQ29kaWNlCi9QIDQgMCBS
Ci9QZyAyMjUgMCBSCi9BIDYwMyAwIFIKPj4KZW5kb2JqCgoyNjIgMCBvYmoKPDwvVHlwZS9TdHJ1
Y3RFbGVtCi9TL1NwYW4KL1AgMjYxIDAgUgovUGcgMjI1IDAgUgovTGFuZyh6eHgpCi9LWzE2IF0K
Pj4KZW5kb2JqCgo2MDQgMCBvYmoKPDwvTy9MYXlvdXQKL1BsYWNlbWVudC9CbG9jawovU3RhcnRJ
bmRlbnQgMi41Ci9FbmRJbmRlbnQgMi41Cj4+CmVuZG9iagoKMjYxIDAgb2JqCjw8L1R5cGUvU3Ry
dWN0RWxlbQovUy9Db2RpY2UKL1AgNCAwIFIKL1BnIDIyNSAwIFIKL0EgNjA0IDAgUgovS1syNjIg
MCBSIF0KPj4KZW5kb2JqCgoyNjQgMCBvYmoKPDwvVHlwZS9TdHJ1Y3RFbGVtCi9TL1NwYW4KL1Ag
MjYzIDAgUgovUGcgMjI1IDAgUgovTGFuZyh6eHgpCi9LWzE3IF0KPj4KZW5kb2JqCgo2MDUgMCBv
YmoKPDwvTy9MYXlvdXQKL1BsYWNlbWVudC9CbG9jawovU3RhcnRJbmRlbnQgMi41Ci9FbmRJbmRl
bnQgMi41Cj4+CmVuZG9iagoKMjYzIDAgb2JqCjw8L1R5cGUvU3RydWN0RWxlbQovUy9Db2RpY2UK
L1AgNCAwIFIKL1BnIDIyNSAwIFIKL0EgNjA1IDAgUgovS1syNjQgMCBSIF0KPj4KZW5kb2JqCgoy
NjYgMCBvYmoKPDwvVHlwZS9TdHJ1Y3RFbGVtCi9TL1NwYW4KL1AgMjY1IDAgUgovUGcgMjI1IDAg
UgovTGFuZyh6eHgpCi9LWzE4IF0KPj4KZW5kb2JqCgo2MDYgMCBvYmoKPDwvTy9MYXlvdXQKL1Bs
YWNlbWVudC9CbG9jawovU3RhcnRJbmRlbnQgMi41Ci9FbmRJbmRlbnQgMi41Cj4+CmVuZG9iagoK
MjY1IDAgb2JqCjw8L1R5cGUvU3RydWN0RWxlbQovUy9Db2RpY2UKL1AgNCAwIFIKL1BnIDIyNSAw
IFIKL0EgNjA2IDAgUgovS1syNjYgMCBSIF0KPj4KZW5kb2JqCgoyNjggMCBvYmoKPDwvVHlwZS9T
dHJ1Y3RFbGVtCi9TL1NwYW4KL1AgMjY3IDAgUgovUGcgMjI1IDAgUgovTGFuZyh6eHgpCi9LWzE5
IF0KPj4KZW5kb2JqCgo2MDcgMCBvYmoKPDwvTy9MYXlvdXQKL1BsYWNlbWVudC9CbG9jawovU3Rh
cnRJbmRlbnQgMi41Ci9FbmRJbmRlbnQgMi41Cj4+CmVuZG9iagoKMjY3IDAgb2JqCjw8L1R5cGUv
U3RydWN0RWxlbQovUy9Db2RpY2UKL1AgNCAwIFIKL1BnIDIyNSAwIFIKL0EgNjA3IDAgUgovS1sy
NjggMCBSIF0KPj4KZW5kb2JqCgoyNzAgMCBvYmoKPDwvVHlwZS9TdHJ1Y3RFbGVtCi9TL1NwYW4K
L1AgMjY5IDAgUgovUGcgMjI1IDAgUgovTGFuZyh6eHgpCi9LWzIwIF0KPj4KZW5kb2JqCgo2MDgg
MCBvYmoKPDwvTy9MYXlvdXQKL1BsYWNlbWVudC9CbG9jawovU3RhcnRJbmRlbnQgMi41Ci9FbmRJ
bmRlbnQgMi41Cj4+CmVuZG9iagoKMjY5IDAgb2JqCjw8L1R5cGUvU3RydWN0RWxlbQovUy9Db2Rp
Y2UKL1AgNCAwIFIKL1BnIDIyNSAwIFIKL0EgNjA4IDAgUgovS1syNzAgMCBSIF0KPj4KZW5kb2Jq
CgoyNzIgMCBvYmoKPDwvVHlwZS9TdHJ1Y3RFbGVtCi9TL1NwYW4KL1AgMjcxIDAgUgovUGcgMjI1
IDAgUgovTGFuZyh6eHgpCi9LWzIxIF0KPj4KZW5kb2JqCgo2MDkgMCBvYmoKPDwvTy9MYXlvdXQK
L1BsYWNlbWVudC9CbG9jawovU3RhcnRJbmRlbnQgMi41Ci9FbmRJbmRlbnQgMi41Cj4+CmVuZG9i
agoKMjcxIDAgb2JqCjw8L1R5cGUvU3RydWN0RWxlbQovUy9Db2RpY2UKL1AgNCAwIFIKL1BnIDIy
NSAwIFIKL0EgNjA5IDAgUgovS1syNzIgMCBSIF0KPj4KZW5kb2JqCgo2MTAgMCBvYmoKPDwvTy9M
YXlvdXQKL1BsYWNlbWVudC9CbG9jawovU3BhY2VBZnRlciAyLjUKL1N0YXJ0SW5kZW50IDIuNQov
RW5kSW5kZW50IDIuNQo+PgplbmRvYmoKCjI3MyAwIG9iago8PC9UeXBlL1N0cnVjdEVsZW0KL1Mv
Q29kaWNlCi9QIDQgMCBSCi9QZyAyMjUgMCBSCi9BIDYxMCAwIFIKPj4KZW5kb2JqCgoyNzUgMCBv
YmoKPDwvVHlwZS9TdHJ1Y3RFbGVtCi9TL1NwYW4KL1AgMjc0IDAgUgovUGcgMjI1IDAgUgovTGFu
Zyhlbi1VUykKL0tbMjIgXQo+PgplbmRvYmoKCjYxMSAwIG9iago8PC9PL0xheW91dAovUGxhY2Vt
ZW50L0Jsb2NrCi9TcGFjZUJlZm9yZSAxNC4yCj4+CmVuZG9iagoKMjc0IDAgb2JqCjw8L1R5cGUv
U3RydWN0RWxlbQovUy9UZXh0IzIwYm9keQovUCA0IDAgUgovUGcgMjI1IDAgUgovQSA2MTEgMCBS
Ci9LWzI3NSAwIFIgXQo+PgplbmRvYmoKCjI3NyAwIG9iago8PC9UeXBlL1N0cnVjdEVsZW0KL1Mv
U3BhbgovUCAyNzYgMCBSCi9QZyAyMjUgMCBSCi9MYW5nKHp4eCkKL0tbMjMgXQo+PgplbmRvYmoK
CjYxMiAwIG9iago8PC9PL0xheW91dAovUGxhY2VtZW50L0Jsb2NrCi9TcGFjZUJlZm9yZSAzMi44
Ci9TdGFydEluZGVudCAyLjUKL0VuZEluZGVudCAyLjUKPj4KZW5kb2JqCgoyNzYgMCBvYmoKPDwv
VHlwZS9TdHJ1Y3RFbGVtCi9TL0NvZGljZQovUCA0IDAgUgovUGcgMjI1IDAgUgovQSA2MTIgMCBS
Ci9LWzI3NyAwIFIgXQo+PgplbmRvYmoKCjYxMyAwIG9iago8PC9PL0xheW91dAovUGxhY2VtZW50
L0Jsb2NrCi9TdGFydEluZGVudCAyLjUKL0VuZEluZGVudCAyLjUKPj4KZW5kb2JqCgoyNzggMCBv
YmoKPDwvVHlwZS9TdHJ1Y3RFbGVtCi9TL0NvZGljZQovUCA0IDAgUgovUGcgMjI1IDAgUgovQSA2
MTMgMCBSCj4+CmVuZG9iagoKMjgwIDAgb2JqCjw8L1R5cGUvU3RydWN0RWxlbQovUy9TcGFuCi9Q
IDI3OSAwIFIKL1BnIDIyNSAwIFIKL0xhbmcoenh4KQovS1syNCBdCj4+CmVuZG9iagoKNjE0IDAg
b2JqCjw8L08vTGF5b3V0Ci9QbGFjZW1lbnQvQmxvY2sKL1N0YXJ0SW5kZW50IDIuNQovRW5kSW5k
ZW50IDIuNQo+PgplbmRvYmoKCjI3OSAwIG9iago8PC9UeXBlL1N0cnVjdEVsZW0KL1MvQ29kaWNl
Ci9QIDQgMCBSCi9QZyAyMjUgMCBSCi9BIDYxNCAwIFIKL0tbMjgwIDAgUiBdCj4+CmVuZG9iagoK
MjgyIDAgb2JqCjw8L1R5cGUvU3RydWN0RWxlbQovUy9TcGFuCi9QIDI4MSAwIFIKL1BnIDIyNSAw
IFIKL0xhbmcoenh4KQovS1syNSBdCj4+CmVuZG9iagoKNjE1IDAgb2JqCjw8L08vTGF5b3V0Ci9Q
bGFjZW1lbnQvQmxvY2sKL1N0YXJ0SW5kZW50IDIuNQovRW5kSW5kZW50IDIuNQo+PgplbmRvYmoK
CjI4MSAwIG9iago8PC9UeXBlL1N0cnVjdEVsZW0KL1MvQ29kaWNlCi9QIDQgMCBSCi9QZyAyMjUg
MCBSCi9BIDYxNSAwIFIKL0tbMjgyIDAgUiBdCj4+CmVuZG9iagoKMjg0IDAgb2JqCjw8L1R5cGUv
U3RydWN0RWxlbQovUy9TcGFuCi9QIDI4MyAwIFIKL1BnIDIyNSAwIFIKL0xhbmcoenh4KQovS1sy
NiBdCj4+CmVuZG9iagoKNjE2IDAgb2JqCjw8L08vTGF5b3V0Ci9QbGFjZW1lbnQvQmxvY2sKL1N0
YXJ0SW5kZW50IDIuNQovRW5kSW5kZW50IDIuNQo+PgplbmRvYmoKCjI4MyAwIG9iago8PC9UeXBl
L1N0cnVjdEVsZW0KL1MvQ29kaWNlCi9QIDQgMCBSCi9QZyAyMjUgMCBSCi9BIDYxNiAwIFIKL0tb
Mjg0IDAgUiBdCj4+CmVuZG9iagoKMjg2IDAgb2JqCjw8L1R5cGUvU3RydWN0RWxlbQovUy9TcGFu
Ci9QIDI4NSAwIFIKL1BnIDIyNSAwIFIKL0xhbmcoenh4KQovS1syNyBdCj4+CmVuZG9iagoKNjE3
IDAgb2JqCjw8L08vTGF5b3V0Ci9QbGFjZW1lbnQvQmxvY2sKL1N0YXJ0SW5kZW50IDIuNQovRW5k
SW5kZW50IDIuNQo+PgplbmRvYmoKCjI4NSAwIG9iago8PC9UeXBlL1N0cnVjdEVsZW0KL1MvQ29k
aWNlCi9QIDQgMCBSCi9QZyAyMjUgMCBSCi9BIDYxNyAwIFIKL0tbMjg2IDAgUiBdCj4+CmVuZG9i
agoKMjg4IDAgb2JqCjw8L1R5cGUvU3RydWN0RWxlbQovUy9TcGFuCi9QIDI4NyAwIFIKL1BnIDIy
NSAwIFIKL0xhbmcoenh4KQovS1syOCBdCj4+CmVuZG9iagoKNjE4IDAgb2JqCjw8L08vTGF5b3V0
Ci9QbGFjZW1lbnQvQmxvY2sKL1N0YXJ0SW5kZW50IDIuNQovRW5kSW5kZW50IDIuNQo+PgplbmRv
YmoKCjI4NyAwIG9iago8PC9UeXBlL1N0cnVjdEVsZW0KL1MvQ29kaWNlCi9QIDQgMCBSCi9QZyAy
MjUgMCBSCi9BIDYxOCAwIFIKL0tbMjg4IDAgUiBdCj4+CmVuZG9iagoKMjkwIDAgb2JqCjw8L1R5
cGUvU3RydWN0RWxlbQovUy9TcGFuCi9QIDI4OSAwIFIKL1BnIDIyNSAwIFIKL0xhbmcoenh4KQov
S1syOSBdCj4+CmVuZG9iagoKNjE5IDAgb2JqCjw8L08vTGF5b3V0Ci9QbGFjZW1lbnQvQmxvY2sK
L1N0YXJ0SW5kZW50IDIuNQovRW5kSW5kZW50IDIuNQo+PgplbmRvYmoKCjI4OSAwIG9iago8PC9U
eXBlL1N0cnVjdEVsZW0KL1MvQ29kaWNlCi9QIDQgMCBSCi9QZyAyMjUgMCBSCi9BIDYxOSAwIFIK
L0tbMjkwIDAgUiBdCj4+CmVuZG9iagoKMjkyIDAgb2JqCjw8L1R5cGUvU3RydWN0RWxlbQovUy9T
cGFuCi9QIDI5MSAwIFIKL1BnIDIyNSAwIFIKL0xhbmcoenh4KQovS1szMCBdCj4+CmVuZG9iagoK
NjIwIDAgb2JqCjw8L08vTGF5b3V0Ci9QbGFjZW1lbnQvQmxvY2sKL1N0YXJ0SW5kZW50IDIuNQov
RW5kSW5kZW50IDIuNQo+PgplbmRvYmoKCjI5MSAwIG9iago8PC9UeXBlL1N0cnVjdEVsZW0KL1Mv
Q29kaWNlCi9QIDQgMCBSCi9QZyAyMjUgMCBSCi9BIDYyMCAwIFIKL0tbMjkyIDAgUiBdCj4+CmVu
ZG9iagoKMjk0IDAgb2JqCjw8L1R5cGUvU3RydWN0RWxlbQovUy9TcGFuCi9QIDI5MyAwIFIKL1Bn
IDIyNSAwIFIKL0xhbmcoenh4KQovS1szMSBdCj4+CmVuZG9iagoKNjIxIDAgb2JqCjw8L08vTGF5
b3V0Ci9QbGFjZW1lbnQvQmxvY2sKL1N0YXJ0SW5kZW50IDIuNQovRW5kSW5kZW50IDIuNQo+Pgpl
bmRvYmoKCjI5MyAwIG9iago8PC9UeXBlL1N0cnVjdEVsZW0KL1MvQ29kaWNlCi9QIDQgMCBSCi9Q
ZyAyMjUgMCBSCi9BIDYyMSAwIFIKL0tbMjk0IDAgUiBdCj4+CmVuZG9iagoKMjk2IDAgb2JqCjw8
L1R5cGUvU3RydWN0RWxlbQovUy9TcGFuCi9QIDI5NSAwIFIKL1BnIDIyNSAwIFIKL0xhbmcoenh4
KQovS1szMiBdCj4+CmVuZG9iagoKNjIyIDAgb2JqCjw8L08vTGF5b3V0Ci9QbGFjZW1lbnQvQmxv
Y2sKL1N0YXJ0SW5kZW50IDIuNQovRW5kSW5kZW50IDIuNQo+PgplbmRvYmoKCjI5NSAwIG9iago8
PC9UeXBlL1N0cnVjdEVsZW0KL1MvQ29kaWNlCi9QIDQgMCBSCi9QZyAyMjUgMCBSCi9BIDYyMiAw
IFIKL0tbMjk2IDAgUiBdCj4+CmVuZG9iagoKMjk4IDAgb2JqCjw8L1R5cGUvU3RydWN0RWxlbQov
Uy9TcGFuCi9QIDI5NyAwIFIKL1BnIDIyNSAwIFIKL0xhbmcoenh4KQovS1szMyBdCj4+CmVuZG9i
agoKNjIzIDAgb2JqCjw8L08vTGF5b3V0Ci9QbGFjZW1lbnQvQmxvY2sKL1N0YXJ0SW5kZW50IDIu
NQovRW5kSW5kZW50IDIuNQo+PgplbmRvYmoKCjI5NyAwIG9iago8PC9UeXBlL1N0cnVjdEVsZW0K
L1MvQ29kaWNlCi9QIDQgMCBSCi9QZyAyMjUgMCBSCi9BIDYyMyAwIFIKL0tbMjk4IDAgUiBdCj4+
CmVuZG9iagoKMzAwIDAgb2JqCjw8L1R5cGUvU3RydWN0RWxlbQovUy9TcGFuCi9QIDI5OSAwIFIK
L1BnIDIyNSAwIFIKL0xhbmcoenh4KQovS1szNCBdCj4+CmVuZG9iagoKNjI0IDAgb2JqCjw8L08v
TGF5b3V0Ci9QbGFjZW1lbnQvQmxvY2sKL1N0YXJ0SW5kZW50IDIuNQovRW5kSW5kZW50IDIuNQo+
PgplbmRvYmoKCjI5OSAwIG9iago8PC9UeXBlL1N0cnVjdEVsZW0KL1MvQ29kaWNlCi9QIDQgMCBS
Ci9QZyAyMjUgMCBSCi9BIDYyNCAwIFIKL0tbMzAwIDAgUiBdCj4+CmVuZG9iagoKMzAyIDAgb2Jq
Cjw8L1R5cGUvU3RydWN0RWxlbQovUy9TcGFuCi9QIDMwMSAwIFIKL1BnIDIyNSAwIFIKL0xhbmco
enh4KQovS1szNSBdCj4+CmVuZG9iagoKNjI1IDAgb2JqCjw8L08vTGF5b3V0Ci9QbGFjZW1lbnQv
QmxvY2sKL1N0YXJ0SW5kZW50IDIuNQovRW5kSW5kZW50IDIuNQo+PgplbmRvYmoKCjMwMSAwIG9i
ago8PC9UeXBlL1N0cnVjdEVsZW0KL1MvQ29kaWNlCi9QIDQgMCBSCi9QZyAyMjUgMCBSCi9BIDYy
NSAwIFIKL0tbMzAyIDAgUiBdCj4+CmVuZG9iagoKMzA0IDAgb2JqCjw8L1R5cGUvU3RydWN0RWxl
bQovUy9TcGFuCi9QIDMwMyAwIFIKL1BnIDIyNSAwIFIKL0xhbmcoenh4KQovS1szNiBdCj4+CmVu
ZG9iagoKNjI2IDAgb2JqCjw8L08vTGF5b3V0Ci9QbGFjZW1lbnQvQmxvY2sKL1NwYWNlQWZ0ZXIg
Mi41Ci9TdGFydEluZGVudCAyLjUKL0VuZEluZGVudCAyLjUKPj4KZW5kb2JqCgozMDMgMCBvYmoK
PDwvVHlwZS9TdHJ1Y3RFbGVtCi9TL0NvZGljZQovUCA0IDAgUgovUGcgMjI1IDAgUgovQSA2MjYg
MCBSCi9LWzMwNCAwIFIgXQo+PgplbmRvYmoKCjMwNiAwIG9iago8PC9UeXBlL1N0cnVjdEVsZW0K
L1MvU3BhbgovUCAzMDUgMCBSCi9QZyAyMjUgMCBSCi9MYW5nKGVuLVVTKQovS1szNyBdCj4+CmVu
ZG9iagoKMzA3IDAgb2JqCjw8L1R5cGUvU3RydWN0RWxlbQovUy9TcGFuCi9QIDMwNSAwIFIKL1Bn
IDIyNSAwIFIKL0xhbmcoZW4tVVMpCi9LWzM4IF0KPj4KZW5kb2JqCgo2MjcgMCBvYmoKPDwvTy9M
YXlvdXQKL1BsYWNlbWVudC9CbG9jawovU3BhY2VCZWZvcmUgMTQuMgo+PgplbmRvYmoKCjMwNSAw
IG9iago8PC9UeXBlL1N0cnVjdEVsZW0KL1MvVGV4dCMyMGJvZHkKL1AgNCAwIFIKL1BnIDIyNSAw
IFIKL0EgNjI3IDAgUgovS1szMDYgMCBSIDMwNyAwIFIgXQo+PgplbmRvYmoKCjMwOSAwIG9iago8
PC9UeXBlL1N0cnVjdEVsZW0KL1MvQ29kaWNlIzIwaW5saW5lCi9QIDMwOCAwIFIKL1BnIDIyNSAw
IFIKL0xhbmcoZW4tVVMpCi9LWzM5IF0KPj4KZW5kb2JqCgozMTAgMCBvYmoKPDwvVHlwZS9TdHJ1
Y3RFbGVtCi9TL1NwYW4KL1AgMzA4IDAgUgovUGcgMjI1IDAgUgovTGFuZyhlbi1VUykKL0tbNDAg
XQo+PgplbmRvYmoKCjMxMSAwIG9iago8PC9UeXBlL1N0cnVjdEVsZW0KL1MvU3BhbgovUCAzMDgg
MCBSCi9QZyAyMjUgMCBSCi9MYW5nKGVuLVVTKQovS1s0MiBdCj4+CmVuZG9iagoKNjI4IDAgb2Jq
Cjw8L08vTGF5b3V0Ci9QbGFjZW1lbnQvQmxvY2sKL1NwYWNlQmVmb3JlIDE5Cj4+CmVuZG9iagoK
MzA4IDAgb2JqCjw8L1R5cGUvU3RydWN0RWxlbQovUy9UZXh0IzIwYm9keQovUCA0IDAgUgovUGcg
MjI1IDAgUgovQSA2MjggMCBSCi9LWzMwOSAwIFIgMzEwIDAgUiA0MSAzMTEgMCBSIF0KPj4KZW5k
b2JqCgozMTYgMCBvYmoKPDwvVHlwZS9TdHJ1Y3RFbGVtCi9TL1NwYW4KL1AgMzE1IDAgUgovUGcg
MzEyIDAgUgovTGFuZyh6eHgpCi9LWzAgXQo+PgplbmRvYmoKCjYyOSAwIG9iago8PC9PL0xheW91
dAovUGxhY2VtZW50L0Jsb2NrCi9TcGFjZUJlZm9yZSAyLjUKL1N0YXJ0SW5kZW50IDIuNQovRW5k
SW5kZW50IDIuNQo+PgplbmRvYmoKCjMxNSAwIG9iago8PC9UeXBlL1N0cnVjdEVsZW0KL1MvQ29k
aWNlCi9QIDQgMCBSCi9QZyAzMTIgMCBSCi9BIDYyOSAwIFIKL0tbMzE2IDAgUiBdCj4+CmVuZG9i
agoKMzE4IDAgb2JqCjw8L1R5cGUvU3RydWN0RWxlbQovUy9TcGFuCi9QIDMxNyAwIFIKL1BnIDMx
MiAwIFIKL0xhbmcoenh4KQovS1sxIF0KPj4KZW5kb2JqCgo2MzAgMCBvYmoKPDwvTy9MYXlvdXQK
L1BsYWNlbWVudC9CbG9jawovU3RhcnRJbmRlbnQgMi41Ci9FbmRJbmRlbnQgMi41Cj4+CmVuZG9i
agoKMzE3IDAgb2JqCjw8L1R5cGUvU3RydWN0RWxlbQovUy9Db2RpY2UKL1AgNCAwIFIKL1BnIDMx
MiAwIFIKL0EgNjMwIDAgUgovS1szMTggMCBSIF0KPj4KZW5kb2JqCgo2MzEgMCBvYmoKPDwvTy9M
YXlvdXQKL1BsYWNlbWVudC9CbG9jawovU3RhcnRJbmRlbnQgMi41Ci9FbmRJbmRlbnQgMi41Cj4+
CmVuZG9iagoKMzE5IDAgb2JqCjw8L1R5cGUvU3RydWN0RWxlbQovUy9Db2RpY2UKL1AgNCAwIFIK
L1BnIDMxMiAwIFIKL0EgNjMxIDAgUgo+PgplbmRvYmoKCjMyMSAwIG9iago8PC9UeXBlL1N0cnVj
dEVsZW0KL1MvU3BhbgovUCAzMjAgMCBSCi9QZyAzMTIgMCBSCi9MYW5nKHp4eCkKL0tbMiBdCj4+
CmVuZG9iagoKNjMyIDAgb2JqCjw8L08vTGF5b3V0Ci9QbGFjZW1lbnQvQmxvY2sKL1N0YXJ0SW5k
ZW50IDIuNQovRW5kSW5kZW50IDIuNQo+PgplbmRvYmoKCjMyMCAwIG9iago8PC9UeXBlL1N0cnVj
dEVsZW0KL1MvQ29kaWNlCi9QIDQgMCBSCi9QZyAzMTIgMCBSCi9BIDYzMiAwIFIKL0tbMzIxIDAg
UiBdCj4+CmVuZG9iagoKNjMzIDAgb2JqCjw8L08vTGF5b3V0Ci9QbGFjZW1lbnQvQmxvY2sKL1N0
YXJ0SW5kZW50IDIuNQovRW5kSW5kZW50IDIuNQo+PgplbmRvYmoKCjMyMiAwIG9iago8PC9UeXBl
L1N0cnVjdEVsZW0KL1MvQ29kaWNlCi9QIDQgMCBSCi9QZyAzMTIgMCBSCi9BIDYzMyAwIFIKPj4K
ZW5kb2JqCgozMjQgMCBvYmoKPDwvVHlwZS9TdHJ1Y3RFbGVtCi9TL1NwYW4KL1AgMzIzIDAgUgov
UGcgMzEyIDAgUgovTGFuZyh6eHgpCi9LWzMgXQo+PgplbmRvYmoKCjYzNCAwIG9iago8PC9PL0xh
eW91dAovUGxhY2VtZW50L0Jsb2NrCi9TdGFydEluZGVudCAyLjUKL0VuZEluZGVudCAyLjUKPj4K
ZW5kb2JqCgozMjMgMCBvYmoKPDwvVHlwZS9TdHJ1Y3RFbGVtCi9TL0NvZGljZQovUCA0IDAgUgov
UGcgMzEyIDAgUgovQSA2MzQgMCBSCi9LWzMyNCAwIFIgXQo+PgplbmRvYmoKCjMyNiAwIG9iago8
PC9UeXBlL1N0cnVjdEVsZW0KL1MvU3BhbgovUCAzMjUgMCBSCi9QZyAzMTIgMCBSCi9MYW5nKHp4
eCkKL0tbNCBdCj4+CmVuZG9iagoKNjM1IDAgb2JqCjw8L08vTGF5b3V0Ci9QbGFjZW1lbnQvQmxv
Y2sKL1N0YXJ0SW5kZW50IDIuNQovRW5kSW5kZW50IDIuNQo+PgplbmRvYmoKCjMyNSAwIG9iago8
PC9UeXBlL1N0cnVjdEVsZW0KL1MvQ29kaWNlCi9QIDQgMCBSCi9QZyAzMTIgMCBSCi9BIDYzNSAw
IFIKL0tbMzI2IDAgUiBdCj4+CmVuZG9iagoKMzI4IDAgb2JqCjw8L1R5cGUvU3RydWN0RWxlbQov
Uy9TcGFuCi9QIDMyNyAwIFIKL1BnIDMxMiAwIFIKL0xhbmcoenh4KQovS1s1IF0KPj4KZW5kb2Jq
Cgo2MzYgMCBvYmoKPDwvTy9MYXlvdXQKL1BsYWNlbWVudC9CbG9jawovU3RhcnRJbmRlbnQgMi41
Ci9FbmRJbmRlbnQgMi41Cj4+CmVuZG9iagoKMzI3IDAgb2JqCjw8L1R5cGUvU3RydWN0RWxlbQov
Uy9Db2RpY2UKL1AgNCAwIFIKL1BnIDMxMiAwIFIKL0EgNjM2IDAgUgovS1szMjggMCBSIF0KPj4K
ZW5kb2JqCgozMzAgMCBvYmoKPDwvVHlwZS9TdHJ1Y3RFbGVtCi9TL1NwYW4KL1AgMzI5IDAgUgov
UGcgMzEyIDAgUgovTGFuZyh6eHgpCi9LWzYgXQo+PgplbmRvYmoKCjYzNyAwIG9iago8PC9PL0xh
eW91dAovUGxhY2VtZW50L0Jsb2NrCi9TdGFydEluZGVudCAyLjUKL0VuZEluZGVudCAyLjUKPj4K
ZW5kb2JqCgozMjkgMCBvYmoKPDwvVHlwZS9TdHJ1Y3RFbGVtCi9TL0NvZGljZQovUCA0IDAgUgov
UGcgMzEyIDAgUgovQSA2MzcgMCBSCi9LWzMzMCAwIFIgXQo+PgplbmRvYmoKCjMzMiAwIG9iago8
PC9UeXBlL1N0cnVjdEVsZW0KL1MvU3BhbgovUCAzMzEgMCBSCi9QZyAzMTIgMCBSCi9MYW5nKHp4
eCkKL0tbNyBdCj4+CmVuZG9iagoKNjM4IDAgb2JqCjw8L08vTGF5b3V0Ci9QbGFjZW1lbnQvQmxv
Y2sKL1N0YXJ0SW5kZW50IDIuNQovRW5kSW5kZW50IDIuNQo+PgplbmRvYmoKCjMzMSAwIG9iago8
PC9UeXBlL1N0cnVjdEVsZW0KL1MvQ29kaWNlCi9QIDQgMCBSCi9QZyAzMTIgMCBSCi9BIDYzOCAw
IFIKL0tbMzMyIDAgUiBdCj4+CmVuZG9iagoKMzM0IDAgb2JqCjw8L1R5cGUvU3RydWN0RWxlbQov
Uy9TcGFuCi9QIDMzMyAwIFIKL1BnIDMxMiAwIFIKL0xhbmcoenh4KQovS1s4IF0KPj4KZW5kb2Jq
Cgo2MzkgMCBvYmoKPDwvTy9MYXlvdXQKL1BsYWNlbWVudC9CbG9jawovU3RhcnRJbmRlbnQgMi41
Ci9FbmRJbmRlbnQgMi41Cj4+CmVuZG9iagoKMzMzIDAgb2JqCjw8L1R5cGUvU3RydWN0RWxlbQov
Uy9Db2RpY2UKL1AgNCAwIFIKL1BnIDMxMiAwIFIKL0EgNjM5IDAgUgovS1szMzQgMCBSIF0KPj4K
ZW5kb2JqCgozMzYgMCBvYmoKPDwvVHlwZS9TdHJ1Y3RFbGVtCi9TL1NwYW4KL1AgMzM1IDAgUgov
UGcgMzEyIDAgUgovTGFuZyh6eHgpCi9LWzkgXQo+PgplbmRvYmoKCjY0MCAwIG9iago8PC9PL0xh
eW91dAovUGxhY2VtZW50L0Jsb2NrCi9TdGFydEluZGVudCAyLjUKL0VuZEluZGVudCAyLjUKPj4K
ZW5kb2JqCgozMzUgMCBvYmoKPDwvVHlwZS9TdHJ1Y3RFbGVtCi9TL0NvZGljZQovUCA0IDAgUgov
UGcgMzEyIDAgUgovQSA2NDAgMCBSCi9LWzMzNiAwIFIgXQo+PgplbmRvYmoKCjMzOCAwIG9iago8
PC9UeXBlL1N0cnVjdEVsZW0KL1MvU3BhbgovUCAzMzcgMCBSCi9QZyAzMTIgMCBSCi9MYW5nKHp4
eCkKL0tbMTAgXQo+PgplbmRvYmoKCjY0MSAwIG9iago8PC9PL0xheW91dAovUGxhY2VtZW50L0Js
b2NrCi9TdGFydEluZGVudCAyLjUKL0VuZEluZGVudCAyLjUKPj4KZW5kb2JqCgozMzcgMCBvYmoK
PDwvVHlwZS9TdHJ1Y3RFbGVtCi9TL0NvZGljZQovUCA0IDAgUgovUGcgMzEyIDAgUgovQSA2NDEg
MCBSCi9LWzMzOCAwIFIgXQo+PgplbmRvYmoKCjM0MCAwIG9iago8PC9UeXBlL1N0cnVjdEVsZW0K
L1MvU3BhbgovUCAzMzkgMCBSCi9QZyAzMTIgMCBSCi9MYW5nKHp4eCkKL0tbMTEgXQo+PgplbmRv
YmoKCjY0MiAwIG9iago8PC9PL0xheW91dAovUGxhY2VtZW50L0Jsb2NrCi9TdGFydEluZGVudCAy
LjUKL0VuZEluZGVudCAyLjUKPj4KZW5kb2JqCgozMzkgMCBvYmoKPDwvVHlwZS9TdHJ1Y3RFbGVt
Ci9TL0NvZGljZQovUCA0IDAgUgovUGcgMzEyIDAgUgovQSA2NDIgMCBSCi9LWzM0MCAwIFIgXQo+
PgplbmRvYmoKCjY0MyAwIG9iago8PC9PL0xheW91dAovUGxhY2VtZW50L0Jsb2NrCi9TdGFydElu
ZGVudCAyLjUKL0VuZEluZGVudCAyLjUKPj4KZW5kb2JqCgozNDEgMCBvYmoKPDwvVHlwZS9TdHJ1
Y3RFbGVtCi9TL0NvZGljZQovUCA0IDAgUgovUGcgMzEyIDAgUgovQSA2NDMgMCBSCj4+CmVuZG9i
agoKMzQzIDAgb2JqCjw8L1R5cGUvU3RydWN0RWxlbQovUy9TcGFuCi9QIDM0MiAwIFIKL1BnIDMx
MiAwIFIKL0xhbmcoenh4KQovS1sxMiBdCj4+CmVuZG9iagoKNjQ0IDAgb2JqCjw8L08vTGF5b3V0
Ci9QbGFjZW1lbnQvQmxvY2sKL1N0YXJ0SW5kZW50IDIuNQovRW5kSW5kZW50IDIuNQo+PgplbmRv
YmoKCjM0MiAwIG9iago8PC9UeXBlL1N0cnVjdEVsZW0KL1MvQ29kaWNlCi9QIDQgMCBSCi9QZyAz
MTIgMCBSCi9BIDY0NCAwIFIKL0tbMzQzIDAgUiBdCj4+CmVuZG9iagoKMzQ1IDAgb2JqCjw8L1R5
cGUvU3RydWN0RWxlbQovUy9TcGFuCi9QIDM0NCAwIFIKL1BnIDMxMiAwIFIKL0xhbmcoenh4KQov
S1sxMyBdCj4+CmVuZG9iagoKNjQ1IDAgb2JqCjw8L08vTGF5b3V0Ci9QbGFjZW1lbnQvQmxvY2sK
L1N0YXJ0SW5kZW50IDIuNQovRW5kSW5kZW50IDIuNQo+PgplbmRvYmoKCjM0NCAwIG9iago8PC9U
eXBlL1N0cnVjdEVsZW0KL1MvQ29kaWNlCi9QIDQgMCBSCi9QZyAzMTIgMCBSCi9BIDY0NSAwIFIK
L0tbMzQ1IDAgUiBdCj4+CmVuZG9iagoKMzQ3IDAgb2JqCjw8L1R5cGUvU3RydWN0RWxlbQovUy9T
cGFuCi9QIDM0NiAwIFIKL1BnIDMxMiAwIFIKL0xhbmcoenh4KQovS1sxNCBdCj4+CmVuZG9iagoK
NjQ2IDAgb2JqCjw8L08vTGF5b3V0Ci9QbGFjZW1lbnQvQmxvY2sKL1N0YXJ0SW5kZW50IDIuNQov
RW5kSW5kZW50IDIuNQo+PgplbmRvYmoKCjM0NiAwIG9iago8PC9UeXBlL1N0cnVjdEVsZW0KL1Mv
Q29kaWNlCi9QIDQgMCBSCi9QZyAzMTIgMCBSCi9BIDY0NiAwIFIKL0tbMzQ3IDAgUiBdCj4+CmVu
ZG9iagoKMzQ5IDAgb2JqCjw8L1R5cGUvU3RydWN0RWxlbQovUy9TcGFuCi9QIDM0OCAwIFIKL1Bn
IDMxMiAwIFIKL0xhbmcoenh4KQovS1sxNSBdCj4+CmVuZG9iagoKNjQ3IDAgb2JqCjw8L08vTGF5
b3V0Ci9QbGFjZW1lbnQvQmxvY2sKL1N0YXJ0SW5kZW50IDIuNQovRW5kSW5kZW50IDIuNQo+Pgpl
bmRvYmoKCjM0OCAwIG9iago8PC9UeXBlL1N0cnVjdEVsZW0KL1MvQ29kaWNlCi9QIDQgMCBSCi9Q
ZyAzMTIgMCBSCi9BIDY0NyAwIFIKL0tbMzQ5IDAgUiBdCj4+CmVuZG9iagoKMzUxIDAgb2JqCjw8
L1R5cGUvU3RydWN0RWxlbQovUy9TcGFuCi9QIDM1MCAwIFIKL1BnIDMxMiAwIFIKL0xhbmcoenh4
KQovS1sxNiBdCj4+CmVuZG9iagoKNjQ4IDAgb2JqCjw8L08vTGF5b3V0Ci9QbGFjZW1lbnQvQmxv
Y2sKL1NwYWNlQWZ0ZXIgMi41Ci9TdGFydEluZGVudCAyLjUKL0VuZEluZGVudCAyLjUKPj4KZW5k
b2JqCgozNTAgMCBvYmoKPDwvVHlwZS9TdHJ1Y3RFbGVtCi9TL0NvZGljZQovUCA0IDAgUgovUGcg
MzEyIDAgUgovQSA2NDggMCBSCi9LWzM1MSAwIFIgXQo+PgplbmRvYmoKCjM1MyAwIG9iago8PC9U
eXBlL1N0cnVjdEVsZW0KL1MvU3BhbgovUCAzNTIgMCBSCi9QZyAzMTIgMCBSCi9MYW5nKGVuLVVT
KQovS1sxNyBdCj4+CmVuZG9iagoKMzU0IDAgb2JqCjw8L1R5cGUvU3RydWN0RWxlbQovUy9Db2Rp
Y2UjMjBpbmxpbmUKL1AgMzUyIDAgUgovUGcgMzEyIDAgUgovTGFuZyhlbi1VUykKL0tbMTggXQo+
PgplbmRvYmoKCjM1NSAwIG9iago8PC9UeXBlL1N0cnVjdEVsZW0KL1MvU3BhbgovUCAzNTIgMCBS
Ci9QZyAzMTIgMCBSCi9MYW5nKGVuLVVTKQovS1sxOSBdCj4+CmVuZG9iagoKMzU2IDAgb2JqCjw8
L1R5cGUvU3RydWN0RWxlbQovUy9TcGFuCi9QIDM1MiAwIFIKL1BnIDMxMiAwIFIKL0xhbmcoZW4t
VVMpCi9LWzIwIF0KPj4KZW5kb2JqCgozNTcgMCBvYmoKPDwvVHlwZS9TdHJ1Y3RFbGVtCi9TL0Nv
ZGljZSMyMGlubGluZQovUCAzNTIgMCBSCi9QZyAzMTIgMCBSCi9MYW5nKGVuLVVTKQovS1syMSBd
Cj4+CmVuZG9iagoKMzU4IDAgb2JqCjw8L1R5cGUvU3RydWN0RWxlbQovUy9TcGFuCi9QIDM1MiAw
IFIKL1BnIDMxMiAwIFIKL0xhbmcoZW4tVVMpCi9LWzIyIF0KPj4KZW5kb2JqCgozNTkgMCBvYmoK
PDwvVHlwZS9TdHJ1Y3RFbGVtCi9TL1NwYW4KL1AgMzUyIDAgUgovUGcgMzEyIDAgUgovTGFuZyhl
bi1VUykKL0tbMjMgXQo+PgplbmRvYmoKCjY0OSAwIG9iago8PC9PL0xheW91dAovUGxhY2VtZW50
L0Jsb2NrCi9TcGFjZUJlZm9yZSAxNC4yCj4+CmVuZG9iagoKMzUyIDAgb2JqCjw8L1R5cGUvU3Ry
dWN0RWxlbQovUy9UZXh0IzIwYm9keQovUCA0IDAgUgovUGcgMzEyIDAgUgovQSA2NDkgMCBSCi9L
WzM1MyAwIFIgMzU0IDAgUiAzNTUgMCBSIDM1NiAwIFIgMzU3IDAgUiAzNTggMCBSIDM1OSAwIFIg
XQo+PgplbmRvYmoKCjM2MSAwIG9iago8PC9UeXBlL1N0cnVjdEVsZW0KL1MvU3BhbgovUCAzNjAg
MCBSCi9QZyAzMTIgMCBSCi9MYW5nKGVuLVVTKQovS1syNCBdCj4+CmVuZG9iagoKNjUwIDAgb2Jq
Cjw8L08vTGF5b3V0Ci9QbGFjZW1lbnQvQmxvY2sKL1NwYWNlQmVmb3JlIDE5Cj4+CmVuZG9iagoK
MzYwIDAgb2JqCjw8L1R5cGUvU3RydWN0RWxlbQovUy9UZXh0IzIwYm9keQovUCA0IDAgUgovUGcg
MzEyIDAgUgovQSA2NTAgMCBSCi9LWzM2MSAwIFIgXQo+PgplbmRvYmoKCjM2MyAwIG9iago8PC9U
eXBlL1N0cnVjdEVsZW0KL1MvU3BhbgovUCAzNjIgMCBSCi9QZyAzMTIgMCBSCi9MYW5nKGVuLVVT
KQovS1syNiBdCj4+CmVuZG9iagoKNjUxIDAgb2JqCjw8L08vTGF5b3V0Ci9QbGFjZW1lbnQvQmxv
Y2sKL1NwYWNlQmVmb3JlIDQzCj4+CmVuZG9iagoKMzYyIDAgb2JqCjw8L1R5cGUvU3RydWN0RWxl
bQovUy9IMQovUCA0IDAgUgovUGcgMzEyIDAgUgovQSA2NTEgMCBSCi9LWzI1IDM2MyAwIFIgXQo+
PgplbmRvYmoKCjM2NSAwIG9iago8PC9UeXBlL1N0cnVjdEVsZW0KL1MvU3BhbgovUCAzNjQgMCBS
Ci9QZyAzMTIgMCBSCi9MYW5nKGVuLVVTKQovS1syNyBdCj4+CmVuZG9iagoKNjUyIDAgb2JqCjw8
L08vTGF5b3V0Ci9QbGFjZW1lbnQvQmxvY2sKL1NwYWNlQmVmb3JlIDEyCj4+CmVuZG9iagoKMzY0
IDAgb2JqCjw8L1R5cGUvU3RydWN0RWxlbQovUy9UZXh0IzIwYm9keQovUCA0IDAgUgovUGcgMzEy
IDAgUgovQSA2NTIgMCBSCi9LWzM2NSAwIFIgXQo+PgplbmRvYmoKCjM2NyAwIG9iago8PC9UeXBl
L1N0cnVjdEVsZW0KL1MvU3BhbgovUCAzNjYgMCBSCi9QZyAzMTIgMCBSCi9MYW5nKGVuLVVTKQov
S1syOSBdCj4+CmVuZG9iagoKNjUzIDAgb2JqCjw8L08vTGF5b3V0Ci9QbGFjZW1lbnQvQmxvY2sK
L1NwYWNlQmVmb3JlIDQzCj4+CmVuZG9iagoKMzY2IDAgb2JqCjw8L1R5cGUvU3RydWN0RWxlbQov
Uy9IMQovUCA0IDAgUgovUGcgMzEyIDAgUgovQSA2NTMgMCBSCi9LWzI4IDM2NyAwIFIgXQo+Pgpl
bmRvYmoKCjM2OSAwIG9iago8PC9UeXBlL1N0cnVjdEVsZW0KL1MvU3BhbgovUCAzNjggMCBSCi9Q
ZyAzMTIgMCBSCi9MYW5nKGVuLVVTKQovS1szMSBdCj4+CmVuZG9iagoKNjU0IDAgb2JqCjw8L08v
TGF5b3V0Ci9QbGFjZW1lbnQvQmxvY2sKL1NwYWNlQmVmb3JlIDMyCj4+CmVuZG9iagoKMzY4IDAg
b2JqCjw8L1R5cGUvU3RydWN0RWxlbQovUy9IMgovUCA0IDAgUgovUGcgMzEyIDAgUgovQSA2NTQg
MCBSCi9LWzMwIDM2OSAwIFIgXQo+PgplbmRvYmoKCjM3MSAwIG9iago8PC9UeXBlL1N0cnVjdEVs
ZW0KL1MvU3BhbgovUCAzNzAgMCBSCi9QZyAzMTIgMCBSCi9MYW5nKGVuLVVTKQovS1szMiBdCj4+
CmVuZG9iagoKMzcyIDAgb2JqCjw8L1R5cGUvU3RydWN0RWxlbQovUy9Db2RpY2UjMjBpbmxpbmUK
L1AgMzcwIDAgUgovUGcgMzEyIDAgUgovTGFuZyhlbi1VUykKL0tbMzMgXQo+PgplbmRvYmoKCjM3
MyAwIG9iago8PC9UeXBlL1N0cnVjdEVsZW0KL1MvU3BhbgovUCAzNzAgMCBSCi9QZyAzMTIgMCBS
Ci9MYW5nKGVuLVVTKQovS1szNCBdCj4+CmVuZG9iagoKMzc0IDAgb2JqCjw8L1R5cGUvU3RydWN0
RWxlbQovUy9TcGFuCi9QIDM3MCAwIFIKL1BnIDMxMiAwIFIKL0xhbmcoZW4tVVMpCi9LWzM1IF0K
Pj4KZW5kb2JqCgozNzUgMCBvYmoKPDwvVHlwZS9TdHJ1Y3RFbGVtCi9TL1NwYW4KL1AgMzcwIDAg
UgovUGcgMzEyIDAgUgovTGFuZyhlbi1VUykKL0tbMzYgXQo+PgplbmRvYmoKCjY1NSAwIG9iago8
PC9PL0xheW91dAovUGxhY2VtZW50L0Jsb2NrCj4+CmVuZG9iagoKMzcwIDAgb2JqCjw8L1R5cGUv
U3RydWN0RWxlbQovUy9UZXh0IzIwYm9keQovUCA0IDAgUgovUGcgMzEyIDAgUgovQSA2NTUgMCBS
Ci9LWzM3MSAwIFIgMzcyIDAgUiAzNzMgMCBSIDM3NCAwIFIgMzc1IDAgUiBdCj4+CmVuZG9iagoK
Mzc3IDAgb2JqCjw8L1R5cGUvU3RydWN0RWxlbQovUy9TcGFuCi9QIDM3NiAwIFIKL1BnIDMxMiAw
IFIKL0xhbmcoZW4tVVMpCi9LWzM3IF0KPj4KZW5kb2JqCgozNzggMCBvYmoKPDwvVHlwZS9TdHJ1
Y3RFbGVtCi9TL0NvZGljZSMyMGlubGluZQovUCAzNzYgMCBSCi9QZyAzMTIgMCBSCi9MYW5nKGVu
LVVTKQovS1szOCBdCj4+CmVuZG9iagoKMzc5IDAgb2JqCjw8L1R5cGUvU3RydWN0RWxlbQovUy9T
cGFuCi9QIDM3NiAwIFIKL1BnIDMxMiAwIFIKL0xhbmcoZW4tVVMpCi9LWzM5IF0KPj4KZW5kb2Jq
CgozODAgMCBvYmoKPDwvVHlwZS9TdHJ1Y3RFbGVtCi9TL1NwYW4KL1AgMzc2IDAgUgovUGcgMzEy
IDAgUgovTGFuZyhlbi1VUykKL0tbNDAgXQo+PgplbmRvYmoKCjY1NiAwIG9iago8PC9UeXBlL09C
SlIvT2JqIDQ2MCAwIFI+PgplbmRvYmoKCjM4MSAwIG9iago8PC9UeXBlL1N0cnVjdEVsZW0KL1Mv
TGluawovUCAzNzYgMCBSCi9QZyAzMTIgMCBSCi9MYW5nKGVuLVVTKQovS1s0MSA2NTYgMCBSIF0K
Pj4KZW5kb2JqCgozODIgMCBvYmoKPDwvVHlwZS9TdHJ1Y3RFbGVtCi9TL1NwYW4KL1AgMzc2IDAg
UgovUGcgMzEyIDAgUgovTGFuZyhlbi1VUykKL0tbNDIgXQo+PgplbmRvYmoKCjY1NyAwIG9iago8
PC9PL0xheW91dAovUGxhY2VtZW50L0Jsb2NrCi9TcGFjZUJlZm9yZSAxOQo+PgplbmRvYmoKCjM3
NiAwIG9iago8PC9UeXBlL1N0cnVjdEVsZW0KL1MvVGV4dCMyMGJvZHkKL1AgNCAwIFIKL1BnIDMx
MiAwIFIKL0EgNjU3IDAgUgovS1szNzcgMCBSIDM3OCAwIFIgMzc5IDAgUiAzODAgMCBSIDM4MSAw
IFIgMzgyIDAgUiBdCj4+CmVuZG9iagoKMzg0IDAgb2JqCjw8L1R5cGUvU3RydWN0RWxlbQovUy9T
cGFuCi9QIDM4MyAwIFIKL1BnIDMxMiAwIFIKL0xhbmcoZW4tVVMpCi9LWzQzIF0KPj4KZW5kb2Jq
CgozODUgMCBvYmoKPDwvVHlwZS9TdHJ1Y3RFbGVtCi9TL0NvZGljZSMyMGlubGluZQovUCAzODMg
MCBSCi9QZyAzMTIgMCBSCi9MYW5nKGVuLVVTKQovS1s0NCBdCj4+CmVuZG9iagoKMzg2IDAgb2Jq
Cjw8L1R5cGUvU3RydWN0RWxlbQovUy9TcGFuCi9QIDM4MyAwIFIKL1BnIDMxMiAwIFIKL0xhbmco
ZW4tVVMpCi9LWzQ1IF0KPj4KZW5kb2JqCgozODcgMCBvYmoKPDwvVHlwZS9TdHJ1Y3RFbGVtCi9T
L0NvZGljZSMyMGlubGluZQovUCAzODMgMCBSCi9QZyAzMTIgMCBSCi9MYW5nKGVuLVVTKQovS1s0
NiBdCj4+CmVuZG9iagoKMzg4IDAgb2JqCjw8L1R5cGUvU3RydWN0RWxlbQovUy9TcGFuCi9QIDM4
MyAwIFIKL1BnIDMxMiAwIFIKL0xhbmcoZW4tVVMpCi9LWzQ3IF0KPj4KZW5kb2JqCgozODkgMCBv
YmoKPDwvVHlwZS9TdHJ1Y3RFbGVtCi9TL1NwYW4KL1AgMzgzIDAgUgovUGcgMzEyIDAgUgovTGFu
Zyhlbi1VUykKL0tbNDggXQo+PgplbmRvYmoKCjM5MCAwIG9iago8PC9UeXBlL1N0cnVjdEVsZW0K
L1MvQ29kaWNlIzIwaW5saW5lCi9QIDM4MyAwIFIKL1BnIDMxMiAwIFIKL0xhbmcoZW4tVVMpCi9L
WzQ5IF0KPj4KZW5kb2JqCgozOTEgMCBvYmoKPDwvVHlwZS9TdHJ1Y3RFbGVtCi9TL1NwYW4KL1Ag
MzgzIDAgUgovUGcgMzEyIDAgUgovTGFuZyhlbi1VUykKL0tbNTAgXQo+PgplbmRvYmoKCjM5MiAw
IG9iago8PC9UeXBlL1N0cnVjdEVsZW0KL1MvQ29kaWNlIzIwaW5saW5lCi9QIDM4MyAwIFIKL1Bn
IDMxMiAwIFIKL0xhbmcoZW4tVVMpCi9LWzUxIF0KPj4KZW5kb2JqCgozOTMgMCBvYmoKPDwvVHlw
ZS9TdHJ1Y3RFbGVtCi9TL1NwYW4KL1AgMzgzIDAgUgovUGcgMzEyIDAgUgovTGFuZyhlbi1VUykK
L0tbNTMgXQo+PgplbmRvYmoKCjY1OCAwIG9iago8PC9PL0xheW91dAovUGxhY2VtZW50L0Jsb2Nr
Ci9TcGFjZUJlZm9yZSAxOQo+PgplbmRvYmoKCjM4MyAwIG9iago8PC9UeXBlL1N0cnVjdEVsZW0K
L1MvVGV4dCMyMGJvZHkKL1AgNCAwIFIKL1BnIDMxMiAwIFIKL0EgNjU4IDAgUgovS1szODQgMCBS
IDM4NSAwIFIgMzg2IDAgUiAzODcgMCBSIDM4OCAwIFIgMzg5IDAgUiAzOTAgMCBSIDM5MSAwIFIg
MzkyIDAgUiA1MiAzOTMgMCBSIF0KPj4KZW5kb2JqCgozOTUgMCBvYmoKPDwvVHlwZS9TdHJ1Y3RF
bGVtCi9TL1NwYW4KL1AgMzk0IDAgUgovUGcgMzEyIDAgUgovTGFuZyhlbi1VUykKL0tbNTUgXQo+
PgplbmRvYmoKCjM5NiAwIG9iago8PC9UeXBlL1N0cnVjdEVsZW0KL1MvQ29kaWNlIzIwaW5saW5l
Ci9QIDM5NCAwIFIKL1BnIDMxMiAwIFIKL0xhbmcoZW4tVVMpCi9LWzU2IF0KPj4KZW5kb2JqCgoz
OTcgMCBvYmoKPDwvVHlwZS9TdHJ1Y3RFbGVtCi9TL1NwYW4KL1AgMzk0IDAgUgovUGcgMzEyIDAg
UgovTGFuZyhlbi1VUykKL0tbNTcgXQo+PgplbmRvYmoKCjY1OSAwIG9iago8PC9PL0xheW91dAov
UGxhY2VtZW50L0Jsb2NrCi9TcGFjZUJlZm9yZSAzOQo+PgplbmRvYmoKCjM5NCAwIG9iago8PC9U
eXBlL1N0cnVjdEVsZW0KL1MvSDIKL1AgNCAwIFIKL1BnIDMxMiAwIFIKL0EgNjU5IDAgUgovS1s1
NCAzOTUgMCBSIDM5NiAwIFIgMzk3IDAgUiBdCj4+CmVuZG9iagoKMzk5IDAgb2JqCjw8L1R5cGUv
U3RydWN0RWxlbQovUy9TcGFuCi9QIDM5OCAwIFIKL1BnIDMxMiAwIFIKL0xhbmcoZW4tVVMpCi9L
WzU4IF0KPj4KZW5kb2JqCgo0MDAgMCBvYmoKPDwvVHlwZS9TdHJ1Y3RFbGVtCi9TL1NwYW4KL1Ag
Mzk4IDAgUgovUGcgMzEyIDAgUgovTGFuZyhlbi1VUykKL0tbNTkgXQo+PgplbmRvYmoKCjQwMSAw
IG9iago8PC9UeXBlL1N0cnVjdEVsZW0KL1MvU3BhbgovUCAzOTggMCBSCi9QZyAzMTIgMCBSCi9M
YW5nKGVuLVVTKQovS1s2MCBdCj4+CmVuZG9iagoKNDEyIDAgb2JqCjw8L1R5cGUvU3RydWN0RWxl
bQovUy9TcGFuCi9QIDM5OCAwIFIKL1BnIDQwOSAwIFIKL0xhbmcoZW4tVVMpCi9LWzAgXQo+Pgpl
bmRvYmoKCjQxMyAwIG9iago8PC9UeXBlL1N0cnVjdEVsZW0KL1MvU3BhbgovUCAzOTggMCBSCi9Q
ZyA0MDkgMCBSCi9MYW5nKGVuLVVTKQovS1sxIF0KPj4KZW5kb2JqCgo2NjAgMCBvYmoKPDwvTy9M
YXlvdXQKL1BsYWNlbWVudC9CbG9jawo+PgplbmRvYmoKCjM5OCAwIG9iago8PC9UeXBlL1N0cnVj
dEVsZW0KL1MvVGV4dCMyMGJvZHkKL1AgNCAwIFIKL1BnIDMxMiAwIFIKL0EgNjYwIDAgUgovS1sz
OTkgMCBSIDQwMCAwIFIgNDAxIDAgUiA0MTIgMCBSIDQxMyAwIFIgXQo+PgplbmRvYmoKCjQwNSAw
IG9iago8PC9UeXBlL1N0cnVjdEVsZW0KL1MvU3BhbgovUCA0MDQgMCBSCi9QZyAzMTIgMCBSCi9M
YW5nKGVuLVVTKQovS1s2MiBdCj4+CmVuZG9iagoKNDA2IDAgb2JqCjw8L1R5cGUvU3RydWN0RWxl
bQovUy9TcGFuCi9QIDQwNCAwIFIKL1BnIDMxMiAwIFIKL0xhbmcoZW4tVVMpCi9LWzY0IF0KPj4K
ZW5kb2JqCgo0MDcgMCBvYmoKPDwvVHlwZS9TdHJ1Y3RFbGVtCi9TL0NvZGljZSMyMGlubGluZQov
UCA0MDQgMCBSCi9QZyAzMTIgMCBSCi9MYW5nKGVuLVVTKQovS1s2NSBdCj4+CmVuZG9iagoKNDA4
IDAgb2JqCjw8L1R5cGUvU3RydWN0RWxlbQovUy9TcGFuCi9QIDQwNCAwIFIKL1BnIDMxMiAwIFIK
L0xhbmcoZW4tVVMpCi9LWzY2IF0KPj4KZW5kb2JqCgo2NjEgMCBvYmoKPDwvTy9MYXlvdXQKL1Bs
YWNlbWVudC9CbG9jawovVGV4dEluZGVudCAtMjIuNwo+PgplbmRvYmoKCjQwNCAwIG9iago8PC9U
eXBlL1N0cnVjdEVsZW0KL1MvRm9vdG5vdGUKL1AgNDAzIDAgUgovUGcgMzEyIDAgUgovQSA2NjEg
MCBSCi9LWzYxIDQwNSAwIFIgNjMgNDA2IDAgUiA0MDcgMCBSIDQwOCAwIFIgXQo+PgplbmRvYmoK
CjQwMyAwIG9iago8PC9UeXBlL1N0cnVjdEVsZW0KL1MvTm90ZQovUCA0MDIgMCBSCi9QZyAzMTIg
MCBSCi9LWzQwNCAwIFIgXQo+PgplbmRvYmoKCjQwMiAwIG9iago8PC9UeXBlL1N0cnVjdEVsZW0K
L1MvRGl2Ci9QIDQgMCBSCi9QZyAzMTIgMCBSCi9LWzQwMyAwIFIgXQo+PgplbmRvYmoKCjQxNSAw
IG9iago8PC9UeXBlL1N0cnVjdEVsZW0KL1MvU3BhbgovUCA0MTQgMCBSCi9QZyA0MDkgMCBSCi9M
YW5nKGVuLVVTKQovS1szIF0KPj4KZW5kb2JqCgo0MTYgMCBvYmoKPDwvVHlwZS9TdHJ1Y3RFbGVt
Ci9TL0NvZGljZSMyMGlubGluZQovUCA0MTQgMCBSCi9QZyA0MDkgMCBSCi9MYW5nKGVuLVVTKQov
S1s0IF0KPj4KZW5kb2JqCgo0MTcgMCBvYmoKPDwvVHlwZS9TdHJ1Y3RFbGVtCi9TL1NwYW4KL1Ag
NDE0IDAgUgovUGcgNDA5IDAgUgovTGFuZyhlbi1VUykKL0tbNSBdCj4+CmVuZG9iagoKNjYyIDAg
b2JqCjw8L08vTGF5b3V0Ci9QbGFjZW1lbnQvQmxvY2sKL1NwYWNlQmVmb3JlIDM5Cj4+CmVuZG9i
agoKNDE0IDAgb2JqCjw8L1R5cGUvU3RydWN0RWxlbQovUy9IMgovUCA0IDAgUgovUGcgNDA5IDAg
UgovQSA2NjIgMCBSCi9LWzIgNDE1IDAgUiA0MTYgMCBSIDQxNyAwIFIgXQo+PgplbmRvYmoKCjQx
OSAwIG9iago8PC9UeXBlL1N0cnVjdEVsZW0KL1MvU3BhbgovUCA0MTggMCBSCi9QZyA0MDkgMCBS
Ci9MYW5nKGVuLVVTKQovS1s2IF0KPj4KZW5kb2JqCgo0MjAgMCBvYmoKPDwvVHlwZS9TdHJ1Y3RF
bGVtCi9TL1NwYW4KL1AgNDE4IDAgUgovUGcgNDA5IDAgUgovTGFuZyhlbi1VUykKL0tbNyBdCj4+
CmVuZG9iagoKNDIxIDAgb2JqCjw8L1R5cGUvU3RydWN0RWxlbQovUy9Db2RpY2UjMjBpbmxpbmUK
L1AgNDE4IDAgUgovUGcgNDA5IDAgUgovTGFuZyhlbi1VUykKL0tbOCBdCj4+CmVuZG9iagoKNDIy
IDAgb2JqCjw8L1R5cGUvU3RydWN0RWxlbQovUy9TcGFuCi9QIDQxOCAwIFIKL1BnIDQwOSAwIFIK
L0xhbmcoZW4tVVMpCi9LWzkgXQo+PgplbmRvYmoKCjQyMyAwIG9iago8PC9UeXBlL1N0cnVjdEVs
ZW0KL1MvU3BhbgovUCA0MTggMCBSCi9QZyA0MDkgMCBSCi9MYW5nKGVuLVVTKQovS1sxMCBdCj4+
CmVuZG9iagoKNjYzIDAgb2JqCjw8L08vTGF5b3V0Ci9QbGFjZW1lbnQvQmxvY2sKPj4KZW5kb2Jq
Cgo0MTggMCBvYmoKPDwvVHlwZS9TdHJ1Y3RFbGVtCi9TL1RleHQjMjBib2R5Ci9QIDQgMCBSCi9Q
ZyA0MDkgMCBSCi9BIDY2MyAwIFIKL0tbNDE5IDAgUiA0MjAgMCBSIDQyMSAwIFIgNDIyIDAgUiA0
MjMgMCBSIF0KPj4KZW5kb2JqCgo0MjUgMCBvYmoKPDwvVHlwZS9TdHJ1Y3RFbGVtCi9TL1NwYW4K
L1AgNDI0IDAgUgovUGcgNDA5IDAgUgovTGFuZyhlbi1VUykKL0tbMTIgXQo+PgplbmRvYmoKCjY2
NCAwIG9iago8PC9PL0xheW91dAovUGxhY2VtZW50L0Jsb2NrCi9TcGFjZUJlZm9yZSA0Mwo+Pgpl
bmRvYmoKCjQyNCAwIG9iago8PC9UeXBlL1N0cnVjdEVsZW0KL1MvSDEKL1AgNCAwIFIKL1BnIDQw
OSAwIFIKL0EgNjY0IDAgUgovS1sxMSA0MjUgMCBSIF0KPj4KZW5kb2JqCgo0MjcgMCBvYmoKPDwv
VHlwZS9TdHJ1Y3RFbGVtCi9TL1NwYW4KL1AgNDI2IDAgUgovUGcgNDA5IDAgUgovTGFuZyhlbi1V
UykKL0tbMTMgXQo+PgplbmRvYmoKCjY2NSAwIG9iago8PC9PL0xheW91dAovUGxhY2VtZW50L0Js
b2NrCi9TcGFjZUJlZm9yZSAxMgo+PgplbmRvYmoKCjQyNiAwIG9iago8PC9UeXBlL1N0cnVjdEVs
ZW0KL1MvVGV4dCMyMGJvZHkKL1AgNCAwIFIKL1BnIDQwOSAwIFIKL0EgNjY1IDAgUgovS1s0Mjcg
MCBSIF0KPj4KZW5kb2JqCgo0MjkgMCBvYmoKPDwvVHlwZS9TdHJ1Y3RFbGVtCi9TL1NwYW4KL1Ag
NDI4IDAgUgovUGcgNDA5IDAgUgovTGFuZyhlbi1VUykKL0tbMTUgXQo+PgplbmRvYmoKCjY2NiAw
IG9iago8PC9PL0xheW91dAovUGxhY2VtZW50L0Jsb2NrCi9TcGFjZUJlZm9yZSA0Mwo+PgplbmRv
YmoKCjQyOCAwIG9iago8PC9UeXBlL1N0cnVjdEVsZW0KL1MvSDEKL1AgNCAwIFIKL1BnIDQwOSAw
IFIKL0EgNjY2IDAgUgovS1sxNCA0MjkgMCBSIF0KPj4KZW5kb2JqCgo0MzEgMCBvYmoKPDwvVHlw
ZS9TdHJ1Y3RFbGVtCi9TL1NwYW4KL1AgNDMwIDAgUgovUGcgNDA5IDAgUgovTGFuZyhlbi1VUykK
L0tbMTcgXQo+PgplbmRvYmoKCjY2NyAwIG9iago8PC9PL0xheW91dAovUGxhY2VtZW50L0Jsb2Nr
Ci9TcGFjZUJlZm9yZSAzMgo+PgplbmRvYmoKCjQzMCAwIG9iago8PC9UeXBlL1N0cnVjdEVsZW0K
L1MvSDIKL1AgNCAwIFIKL1BnIDQwOSAwIFIKL0EgNjY3IDAgUgovS1sxNiA0MzEgMCBSIF0KPj4K
ZW5kb2JqCgo0MzMgMCBvYmoKPDwvVHlwZS9TdHJ1Y3RFbGVtCi9TL1NwYW4KL1AgNDMyIDAgUgov
UGcgNDA5IDAgUgovTGFuZyhlbi1VUykKL0tbMTggXQo+PgplbmRvYmoKCjQzNCAwIG9iago8PC9U
eXBlL1N0cnVjdEVsZW0KL1MvU3BhbgovUCA0MzIgMCBSCi9QZyA0MDkgMCBSCi9MYW5nKGVuLVVT
KQovS1sxOSBdCj4+CmVuZG9iagoKNDM1IDAgb2JqCjw8L1R5cGUvU3RydWN0RWxlbQovUy9TcGFu
Ci9QIDQzMiAwIFIKL1BnIDQwOSAwIFIKL0xhbmcoZW4tVVMpCi9LWzIwIF0KPj4KZW5kb2JqCgo0
MzYgMCBvYmoKPDwvVHlwZS9TdHJ1Y3RFbGVtCi9TL0NvZGljZSMyMGlubGluZQovUCA0MzIgMCBS
Ci9QZyA0MDkgMCBSCi9MYW5nKGVuLVVTKQovS1syMSBdCj4+CmVuZG9iagoKNDM3IDAgb2JqCjw8
L1R5cGUvU3RydWN0RWxlbQovUy9TcGFuCi9QIDQzMiAwIFIKL1BnIDQwOSAwIFIKL0xhbmcoZW4t
VVMpCi9LWzIyIF0KPj4KZW5kb2JqCgo0MzggMCBvYmoKPDwvVHlwZS9TdHJ1Y3RFbGVtCi9TL1Nw
YW4KL1AgNDMyIDAgUgovUGcgNDA5IDAgUgovTGFuZyhlbi1VUykKL0tbMjMgXQo+PgplbmRvYmoK
CjQzOSAwIG9iago8PC9UeXBlL1N0cnVjdEVsZW0KL1MvU3BhbgovUCA0MzIgMCBSCi9QZyA0MDkg
MCBSCi9MYW5nKGVuLVVTKQovS1syNCBdCj4+CmVuZG9iagoKNDQwIDAgb2JqCjw8L1R5cGUvU3Ry
dWN0RWxlbQovUy9TcGFuCi9QIDQzMiAwIFIKL1BnIDQwOSAwIFIKL0xhbmcoZW4tVVMpCi9LWzI1
IF0KPj4KZW5kb2JqCgo2NjggMCBvYmoKPDwvTy9MYXlvdXQKL1BsYWNlbWVudC9CbG9jawo+Pgpl
bmRvYmoKCjQzMiAwIG9iago8PC9UeXBlL1N0cnVjdEVsZW0KL1MvVGV4dCMyMGJvZHkKL1AgNCAw
IFIKL1BnIDQwOSAwIFIKL0EgNjY4IDAgUgovS1s0MzMgMCBSIDQzNCAwIFIgNDM1IDAgUiA0MzYg
MCBSIDQzNyAwIFIgNDM4IDAgUiA0MzkgMCBSIDQ0MCAwIFIgXQo+PgplbmRvYmoKCjQ0MiAwIG9i
ago8PC9UeXBlL1N0cnVjdEVsZW0KL1MvU3BhbgovUCA0NDEgMCBSCi9QZyA0MDkgMCBSCi9MYW5n
KGVuLVVTKQovS1syNyBdCj4+CmVuZG9iagoKNjY5IDAgb2JqCjw8L08vTGF5b3V0Ci9QbGFjZW1l
bnQvQmxvY2sKL1NwYWNlQmVmb3JlIDM5Cj4+CmVuZG9iagoKNDQxIDAgb2JqCjw8L1R5cGUvU3Ry
dWN0RWxlbQovUy9IMgovUCA0IDAgUgovUGcgNDA5IDAgUgovQSA2NjkgMCBSCi9LWzI2IDQ0MiAw
IFIgXQo+PgplbmRvYmoKCjQ0NCAwIG9iago8PC9UeXBlL1N0cnVjdEVsZW0KL1MvU3BhbgovUCA0
NDMgMCBSCi9QZyA0MDkgMCBSCi9MYW5nKGVuLVVTKQovS1syOCBdCj4+CmVuZG9iagoKNDQ1IDAg
b2JqCjw8L1R5cGUvU3RydWN0RWxlbQovUy9TcGFuCi9QIDQ0MyAwIFIKL1BnIDQwOSAwIFIKL0xh
bmcoZW4tVVMpCi9LWzI5IF0KPj4KZW5kb2JqCgo0NDYgMCBvYmoKPDwvVHlwZS9TdHJ1Y3RFbGVt
Ci9TL1NwYW4KL1AgNDQzIDAgUgovUGcgNDA5IDAgUgovTGFuZyhlbi1VUykKL0tbMzAgXQo+Pgpl
bmRvYmoKCjQ0NyAwIG9iago8PC9UeXBlL1N0cnVjdEVsZW0KL1MvU3BhbgovUCA0NDMgMCBSCi9Q
ZyA0MDkgMCBSCi9MYW5nKGVuLVVTKQovS1szMSBdCj4+CmVuZG9iagoKNDQ4IDAgb2JqCjw8L1R5
cGUvU3RydWN0RWxlbQovUy9TcGFuCi9QIDQ0MyAwIFIKL1BnIDQwOSAwIFIKL0xhbmcoZW4tVVMp
Ci9LWzMyIF0KPj4KZW5kb2JqCgo2NzAgMCBvYmoKPDwvTy9MYXlvdXQKL1BsYWNlbWVudC9CbG9j
awo+PgplbmRvYmoKCjQ0MyAwIG9iago8PC9UeXBlL1N0cnVjdEVsZW0KL1MvVGV4dCMyMGJvZHkK
L1AgNCAwIFIKL1BnIDQwOSAwIFIKL0EgNjcwIDAgUgovS1s0NDQgMCBSIDQ0NSAwIFIgNDQ2IDAg
UiA0NDcgMCBSIDQ0OCAwIFIgXQo+PgplbmRvYmoKCjQ1MCAwIG9iago8PC9UeXBlL1N0cnVjdEVs
ZW0KL1MvU3BhbgovUCA0NDkgMCBSCi9QZyA0MDkgMCBSCi9MYW5nKGVuLVVTKQovS1szNCBdCj4+
CmVuZG9iagoKNjcxIDAgb2JqCjw8L08vTGF5b3V0Ci9QbGFjZW1lbnQvQmxvY2sKL1NwYWNlQmVm
b3JlIDQzCj4+CmVuZG9iagoKNDQ5IDAgb2JqCjw8L1R5cGUvU3RydWN0RWxlbQovUy9IMQovUCA0
IDAgUgovUGcgNDA5IDAgUgovQSA2NzEgMCBSCi9LWzMzIDQ1MCAwIFIgXQo+PgplbmRvYmoKCjY3
MiAwIG9iago8PC9UeXBlL09CSlIvT2JqIDQ1OCAwIFI+PgplbmRvYmoKCjY3MyAwIG9iago8PC9P
L0xheW91dAovVGV4dERlY29yYXRpb25UeXBlL1VuZGVybGluZQo+PgplbmRvYmoKCjQ1MiAwIG9i
ago8PC9UeXBlL1N0cnVjdEVsZW0KL1MvTGluawovUCA0NTEgMCBSCi9QZyA0MDkgMCBSCi9BIDY3
MyAwIFIKL0xhbmcoZW4tVVMpCi9LWzM1IDY3MiAwIFIgXQo+PgplbmRvYmoKCjQ1MyAwIG9iago8
PC9UeXBlL1N0cnVjdEVsZW0KL1MvU3BhbgovUCA0NTEgMCBSCi9QZyA0MDkgMCBSCi9MYW5nKGVu
LVVTKQovS1szNiBdCj4+CmVuZG9iagoKNjc0IDAgb2JqCjw8L08vTGF5b3V0Ci9QbGFjZW1lbnQv
QmxvY2sKL1NwYWNlQmVmb3JlIDEyCj4+CmVuZG9iagoKNDUxIDAgb2JqCjw8L1R5cGUvU3RydWN0
RWxlbQovUy9UZXh0IzIwYm9keQovUCA0IDAgUgovUGcgNDA5IDAgUgovQSA2NzQgMCBSCi9LWzQ1
MiAwIFIgNDUzIDAgUiBdCj4+CmVuZG9iagoKNDU1IDAgb2JqCjw8L1R5cGUvU3RydWN0RWxlbQov
Uy9TcGFuCi9QIDQ1NCAwIFIKL1BnIDQwOSAwIFIKL0xhbmcoZW4tVVMpCi9LWzM4IF0KPj4KZW5k
b2JqCgo2NzUgMCBvYmoKPDwvTy9MYXlvdXQKL1BsYWNlbWVudC9CbG9jawovU3BhY2VCZWZvcmUg
NDMKPj4KZW5kb2JqCgo0NTQgMCBvYmoKPDwvVHlwZS9TdHJ1Y3RFbGVtCi9TL0gxCi9QIDQgMCBS
Ci9QZyA0MDkgMCBSCi9BIDY3NSAwIFIKL0tbMzcgNDU1IDAgUiBdCj4+CmVuZG9iagoKNDU3IDAg
b2JqCjw8L1R5cGUvU3RydWN0RWxlbQovUy9TcGFuCi9QIDQ1NiAwIFIKL1BnIDQwOSAwIFIKL0xh
bmcoZW4tVVMpCi9LWzM5IF0KPj4KZW5kb2JqCgo2NzYgMCBvYmoKPDwvTy9MYXlvdXQKL1BsYWNl
bWVudC9CbG9jawovU3BhY2VCZWZvcmUgMTIKPj4KZW5kb2JqCgo0NTYgMCBvYmoKPDwvVHlwZS9T
dHJ1Y3RFbGVtCi9TL1RleHQjMjBib2R5Ci9QIDQgMCBSCi9QZyA0MDkgMCBSCi9BIDY3NiAwIFIK
L0tbNDU3IDAgUiBdCj4+CmVuZG9iagoKNCAwIG9iago8PC9UeXBlL1N0cnVjdEVsZW0KL1MvRG9j
dW1lbnQKL1AgNTAzIDAgUgovUGcgMSAwIFIKL0tbNSAwIFIgNiAwIFIgNDggMCBSIDUwIDAgUiA1
NCAwIFIgNTYgMCBSIDY0IDAgUiA2NiAwIFIgNjggMCBSIDcwIDAgUiA3MiAwIFIgNzQgMCBSIDc2
IDAgUiA3OCAwIFIgODAgMCBSIDgxIDAgUgo4MyAwIFIgODUgMCBSIDg2IDAgUiA4OCAwIFIgOTAg
MCBSIDkyIDAgUiA5NCAwIFIgMTIzIDAgUiAxMzYgMCBSIDE0MiAwIFIgMTY3IDAgUiAxNzQgMCBS
IDE4MiAwIFIgMTg0IDAgUiAxODUgMCBSIDE4NyAwIFIKMTg5IDAgUiAxOTEgMCBSIDE5MyAwIFIg
MTk1IDAgUiAxOTYgMCBSIDE5OCAwIFIgMjAwIDAgUiAyMDIgMCBSIDIwNCAwIFIgMjA2IDAgUiAy
MDggMCBSIDIxMCAwIFIgMjEyIDAgUiAyMTQgMCBSIDIxNiAwIFIgMjE3IDAgUgoyMjAgMCBSIDIy
OCAwIFIgMjMwIDAgUiAyMzIgMCBSIDIzNCAwIFIgMjM2IDAgUiAyMzggMCBSIDI0MCAwIFIgMjQy
IDAgUiAyNDQgMCBSIDI0NiAwIFIgMjQ4IDAgUiAyNTAgMCBSIDI1MiAwIFIgMjU0IDAgUiAyNTYg
MCBSCjI1OCAwIFIgMjYwIDAgUiAyNjEgMCBSIDI2MyAwIFIgMjY1IDAgUiAyNjcgMCBSIDI2OSAw
IFIgMjcxIDAgUiAyNzMgMCBSIDI3NCAwIFIgMjc2IDAgUiAyNzggMCBSIDI3OSAwIFIgMjgxIDAg
UiAyODMgMCBSIDI4NSAwIFIKMjg3IDAgUiAyODkgMCBSIDI5MSAwIFIgMjkzIDAgUiAyOTUgMCBS
IDI5NyAwIFIgMjk5IDAgUiAzMDEgMCBSIDMwMyAwIFIgMzA1IDAgUiAzMDggMCBSIDMxNSAwIFIg
MzE3IDAgUiAzMTkgMCBSIDMyMCAwIFIgMzIyIDAgUgozMjMgMCBSIDMyNSAwIFIgMzI3IDAgUiAz
MjkgMCBSIDMzMSAwIFIgMzMzIDAgUiAzMzUgMCBSIDMzNyAwIFIgMzM5IDAgUiAzNDEgMCBSIDM0
MiAwIFIgMzQ0IDAgUiAzNDYgMCBSIDM0OCAwIFIgMzUwIDAgUiAzNTIgMCBSCjM2MCAwIFIgMzYy
IDAgUiAzNjQgMCBSIDM2NiAwIFIgMzY4IDAgUiAzNzAgMCBSIDM3NiAwIFIgMzgzIDAgUiAzOTQg
MCBSIDM5OCAwIFIgNDAyIDAgUiA0MTQgMCBSIDQxOCAwIFIgNDI0IDAgUiA0MjYgMCBSIDQyOCAw
IFIKNDMwIDAgUiA0MzIgMCBSIDQ0MSAwIFIgNDQzIDAgUiA0NDkgMCBSIDQ1MSAwIFIgNDU0IDAg
UiA0NTYgMCBSIF0KPj4KZW5kb2JqCgo1MDMgMCBvYmoKPDwvVHlwZS9TdHJ1Y3RUcmVlUm9vdAov
UGFyZW50VHJlZSA2NzcgMCBSCi9Sb2xlTWFwPDwvSDIvSDIKL05vdGUvTm90ZQovRGl2L0Rpdgov
TEJvZHkvTEJvZHkKL0xJL0xJCi9ML0wKL1RleHQjMjBib2R5L1AKL0gxL0gxCi9Db2RpY2UjMjBp
bmxpbmUvU3BhbgovVGFibGUvVGFibGUKL0NvZGljZS9QCi9UUi9UUgovVEQvVEQKL0Zvb3Rub3Rl
L1AKL1RhYmxlIzIwQ29udGVudHMvUAovTGluay9MaW5rCi9TcGFuL1NwYW4KL1N0YW5kYXJkL1AK
L0RvY3VtZW50L0RvY3VtZW50Cj4+Ci9LWzQgMCBSIF0KPj4KZW5kb2JqCgo2NzcgMCBvYmoKPDwv
TnVtc1sKMCBbIDEwIDAgUiAxMyAwIFIgMTcgMCBSIDIwIDAgUiAyNCAwIFIgMjcgMCBSIDMxIDAg
UiAzNCAwIFIgMzggMCBSIDQxIDAgUgo0NSAwIFIgNDcgMCBSIDQ4IDAgUiA0OSAwIFIgNTEgMCBS
IDUyIDAgUiA1MCAwIFIgNTMgMCBSIDU0IDAgUiA1NSAwIFIKNTcgMCBSIDU4IDAgUiA1OSAwIFIg
NTYgMCBSIDYwIDAgUiA2MSAwIFIgNjIgMCBSIDYzIDAgUiA2NSAwIFIgNjcgMCBSCjY5IDAgUiA3
MSAwIFIgNzMgMCBSIDc1IDAgUiA3NyAwIFIgNzkgMCBSIDgyIDAgUiA4NCAwIFIgODcgMCBSIDg5
IDAgUgo5MSAwIFIgOTMgMCBSIDk1IDAgUiA5NiAwIFIgOTcgMCBSIDk0IDAgUiA5OCAwIFIgOTkg
MCBSIDEwMCAwIFIgMTAxIDAgUgoxMDIgMCBSIDEwMyAwIFIgMTA0IDAgUiAxMDUgMCBSIDEwNiAw
IFIgMTA3IDAgUiAxMDggMCBSIDEwOSAwIFIgMTEwIDAgUiAxMTEgMCBSCjExMiAwIFIgMTEzIDAg
UiAxMTQgMCBSIDExNSAwIFIgMTE2IDAgUiAxMTcgMCBSIDExOCAwIFIgMTE5IDAgUiAxMjAgMCBS
IDEyMSAwIFIKOTQgMCBSIDEyMiAwIFIgMTI0IDAgUiAxMjUgMCBSIDEyNiAwIFIgMTI3IDAgUiAx
MjggMCBSIDEyOSAwIFIgMTMwIDAgUiAxMzEgMCBSCjEzMiAwIFIgXQoxIFsgMTM3IDAgUiAxMzYg
MCBSIDEzOCAwIFIgMTM5IDAgUiAxNDAgMCBSIDEzNiAwIFIgMTQxIDAgUiAxNDUgMCBSIDE0NiAw
IFIgMTQ3IDAgUgoxNDggMCBSIDE0OSAwIFIgMTUyIDAgUiAxNTMgMCBSIDE1NCAwIFIgMTU1IDAg
UiAxNTYgMCBSIDE1OSAwIFIgMTYwIDAgUiAxNjEgMCBSCjE2MiAwIFIgMTY1IDAgUiAxNjYgMCBS
IDE2OCAwIFIgMTY5IDAgUiAxNzAgMCBSIDE3MSAwIFIgMTcyIDAgUiAxNzMgMCBSIDE3NSAwIFIK
MTc2IDAgUiAxNzcgMCBSIDE3OCAwIFIgMTc5IDAgUiAxODAgMCBSIDE4MSAwIFIgMTgzIDAgUiAx
ODYgMCBSIDE4OCAwIFIgMTkwIDAgUgoxOTIgMCBSIDE5NCAwIFIgMTk3IDAgUiAxOTkgMCBSIDIw
MSAwIFIgMjAzIDAgUiAyMDUgMCBSIDIwNyAwIFIgMjA5IDAgUiAyMTEgMCBSCjIxMyAwIFIgMjE1
IDAgUiAyMTggMCBSIDIxOSAwIFIgMjIyIDAgUiAyMjMgMCBSIDIyNCAwIFIgXQoyIFsgMjI5IDAg
UiAyMzEgMCBSIDIzMyAwIFIgMjM1IDAgUiAyMzcgMCBSIDIzOSAwIFIgMjQxIDAgUiAyNDMgMCBS
IDI0NSAwIFIgMjQ3IDAgUgoyNDkgMCBSIDI1MSAwIFIgMjUzIDAgUiAyNTUgMCBSIDI1NyAwIFIg
MjU5IDAgUiAyNjIgMCBSIDI2NCAwIFIgMjY2IDAgUiAyNjggMCBSCjI3MCAwIFIgMjcyIDAgUiAy
NzUgMCBSIDI3NyAwIFIgMjgwIDAgUiAyODIgMCBSIDI4NCAwIFIgMjg2IDAgUiAyODggMCBSIDI5
MCAwIFIKMjkyIDAgUiAyOTQgMCBSIDI5NiAwIFIgMjk4IDAgUiAzMDAgMCBSIDMwMiAwIFIgMzA0
IDAgUiAzMDYgMCBSIDMwNyAwIFIgMzA5IDAgUgozMTAgMCBSIDMwOCAwIFIgMzExIDAgUiBdCjMg
WyAzMTYgMCBSIDMxOCAwIFIgMzIxIDAgUiAzMjQgMCBSIDMyNiAwIFIgMzI4IDAgUiAzMzAgMCBS
IDMzMiAwIFIgMzM0IDAgUiAzMzYgMCBSCjMzOCAwIFIgMzQwIDAgUiAzNDMgMCBSIDM0NSAwIFIg
MzQ3IDAgUiAzNDkgMCBSIDM1MSAwIFIgMzUzIDAgUiAzNTQgMCBSIDM1NSAwIFIKMzU2IDAgUiAz
NTcgMCBSIDM1OCAwIFIgMzU5IDAgUiAzNjEgMCBSIDM2MiAwIFIgMzYzIDAgUiAzNjUgMCBSIDM2
NiAwIFIgMzY3IDAgUgozNjggMCBSIDM2OSAwIFIgMzcxIDAgUiAzNzIgMCBSIDM3MyAwIFIgMzc0
IDAgUiAzNzUgMCBSIDM3NyAwIFIgMzc4IDAgUiAzNzkgMCBSCjM4MCAwIFIgMzgxIDAgUiAzODIg
MCBSIDM4NCAwIFIgMzg1IDAgUiAzODYgMCBSIDM4NyAwIFIgMzg4IDAgUiAzODkgMCBSIDM5MCAw
IFIKMzkxIDAgUiAzOTIgMCBSIDM4MyAwIFIgMzkzIDAgUiAzOTQgMCBSIDM5NSAwIFIgMzk2IDAg
UiAzOTcgMCBSIDM5OSAwIFIgNDAwIDAgUgo0MDEgMCBSIDQwNCAwIFIgNDA1IDAgUiA0MDQgMCBS
IDQwNiAwIFIgNDA3IDAgUiA0MDggMCBSIF0KNCBbIDQxMiAwIFIgNDEzIDAgUiA0MTQgMCBSIDQx
NSAwIFIgNDE2IDAgUiA0MTcgMCBSIDQxOSAwIFIgNDIwIDAgUiA0MjEgMCBSIDQyMiAwIFIKNDIz
IDAgUiA0MjQgMCBSIDQyNSAwIFIgNDI3IDAgUiA0MjggMCBSIDQyOSAwIFIgNDMwIDAgUiA0MzEg
MCBSIDQzMyAwIFIgNDM0IDAgUgo0MzUgMCBSIDQzNiAwIFIgNDM3IDAgUiA0MzggMCBSIDQzOSAw
IFIgNDQwIDAgUiA0NDEgMCBSIDQ0MiAwIFIgNDQ0IDAgUiA0NDUgMCBSCjQ0NiAwIFIgNDQ3IDAg
UiA0NDggMCBSIDQ0OSAwIFIgNDUwIDAgUiA0NTIgMCBSIDQ1MyAwIFIgNDU0IDAgUiA0NTUgMCBS
IDQ1NyAwIFIKXQo1IDE3MiAwIFIKNiAzODEgMCBSCjcgNDUyIDAgUgpdPj4KZW5kb2JqCgo0NjEg
MCBvYmoKPDwvVHlwZS9QYWdlcwovUmVzb3VyY2VzIDQ4OCAwIFIKL01lZGlhQm94WyAwIDAgNTk1
IDg0MiBdCi9LaWRzWyAxIDAgUiAxMzMgMCBSIDIyNSAwIFIgMzEyIDAgUiA0MDkgMCBSIF0KL0Nv
dW50IDU+PgplbmRvYmoKCjQ1OCAwIG9iago8PC9UeXBlL0Fubm90L1N1YnR5cGUvTGluay9Cb3Jk
ZXJbMCAwIDBdL1JlY3RbNTYgMjg3LjMgODUuNiAzMDBdL0E8PC9UeXBlL0FjdGlvbi9TL1VSSS9V
UkkoaHR0cDovL3dnMjEubGluay9QMDUxNSk+PgovU3RydWN0UGFyZW50IDc+PgplbmRvYmoKCjQ1
OSAwIG9iago8PC9UeXBlL0Fubm90L1N1YnR5cGUvTGluay9Cb3JkZXJbMCAwIDBdL1JlY3RbOTIu
NyA1ODQuNyA5Ny45IDU5OS45XS9EZXN0WzEzMyAwIFIvWFlaIDY4LjEgODAuOSAwXS9TdHJ1Y3RQ
YXJlbnQgNT4+CmVuZG9iagoKNDYwIDAgb2JqCjw8L1R5cGUvQW5ub3QvU3VidHlwZS9MaW5rL0Jv
cmRlclswIDAgMF0vUmVjdFs0NDEuNiAyMTcuNSA0NDYuOCAyMzIuN10vRGVzdFszMTIgMCBSL1hZ
WiA2OC4xIDgxLjcgMF0vU3RydWN0UGFyZW50IDY+PgplbmRvYmoKCjY3OCAwIG9iago8PC9UeXBl
L0NhdGFsb2cvUGFnZXMgNDYxIDAgUgovT3BlbkFjdGlvblsxIDAgUiAvWFlaIG51bGwgbnVsbCAw
XQovT3V0bGluZXMgNDg5IDAgUgovU3RydWN0VHJlZVJvb3QgNTAzIDAgUgovTGFuZyhpdC1JVCkK
L01hcmtJbmZvPDwvTWFya2VkIHRydWU+Pgo+PgplbmRvYmoKCjY3OSAwIG9iago8PC9BdXRob3I8
RkVGRjAwNDEwMDZDMDA2MjAwNjUwMDcyMDA3NDAwNkYwMDIwMDA0MjAwNjEwMDcyMDA2MjAwNjEw
MDc0MDA2OT4KL0NyZWF0b3I8RkVGRjAwNTcwMDcyMDA2OTAwNzQwMDY1MDA3Mj4KL1Byb2R1Y2Vy
PEZFRkYwMDRDMDA2OTAwNjIwMDcyMDA2NTAwNEYwMDY2MDA2NjAwNjkwMDYzMDA2NTAwMjAwMDM1
MDAyRTAwMzM+Ci9DcmVhdGlvbkRhdGUoRDoyMDE3MDQyNTE5MDY1MyswMicwMCcpPj4KZW5kb2Jq
Cgp4cmVmCjAgNjgwCjAwMDAwMDAwMDAgNjU1MzUgZiAKMDAwMDA5MjYyOSAwMDAwMCBuIAowMDAw
MDAwMDE5IDAwMDAwIG4gCjAwMDAwMDQwNTEgMDAwMDAgbiAKMDAwMDE1MTAxNyAwMDAwMCBuIAow
MDAwMDk2NDMzIDAwMDAwIG4gCjAwMDAxMDIyNjYgMDAwMDAgbiAKMDAwMDA5NzM2NCAwMDAwMCBu
IAowMDAwMDk2ODI2IDAwMDAwIG4gCjAwMDAwOTY2NDkgMDAwMDAgbiAKMDAwMDA5NjUxMyAwMDAw
MCBuIAowMDAwMDk3MjI3IDAwMDAwIG4gCjAwMDAwOTcwNDggMDAwMDAgbiAKMDAwMDA5NjkxMSAw
MDAwMCBuIAowMDAwMDk4MzE0IDAwMDAwIG4gCjAwMDAwOTc3NzIgMDAwMDAgbiAKMDAwMDA5NzU5
MyAwMDAwMCBuIAowMDAwMDk3NDU2IDAwMDAwIG4gCjAwMDAwOTgxNzYgMDAwMDAgbiAKMDAwMDA5
Nzk5NyAwMDAwMCBuIAowMDAwMDk3ODYwIDAwMDAwIG4gCjAwMDAwOTkyNjYgMDAwMDAgbiAKMDAw
MDA5ODcyNCAwMDAwMCBuIAowMDAwMDk4NTQ1IDAwMDAwIG4gCjAwMDAwOTg0MDggMDAwMDAgbiAK
MDAwMDA5OTEyOCAwMDAwMCBuIAowMDAwMDk4OTQ5IDAwMDAwIG4gCjAwMDAwOTg4MTIgMDAwMDAg
biAKMDAwMDEwMDIxOCAwMDAwMCBuIAowMDAwMDk5Njc2IDAwMDAwIG4gCjAwMDAwOTk0OTcgMDAw
MDAgbiAKMDAwMDA5OTM2MCAwMDAwMCBuIAowMDAwMTAwMDgwIDAwMDAwIG4gCjAwMDAwOTk5MDEg
MDAwMDAgbiAKMDAwMDA5OTc2NCAwMDAwMCBuIAowMDAwMTAxMTcwIDAwMDAwIG4gCjAwMDAxMDA2
MjggMDAwMDAgbiAKMDAwMDEwMDQ0OSAwMDAwMCBuIAowMDAwMTAwMzEyIDAwMDAwIG4gCjAwMDAx
MDEwMzIgMDAwMDAgbiAKMDAwMDEwMDg1MyAwMDAwMCBuIAowMDAwMTAwNzE2IDAwMDAwIG4gCjAw
MDAxMDIwMzIgMDAwMDAgbiAKMDAwMDEwMTU4MSAwMDAwMCBuIAowMDAwMTAxNDAyIDAwMDAwIG4g
CjAwMDAxMDEyNjQgMDAwMDAgbiAKMDAwMDEwMTg5NCAwMDAwMCBuIAowMDAwMTAxNzE5IDAwMDAw
IG4gCjAwMDAxMDI1NDMgMDAwMDAgbiAKMDAwMDEwMjM4OSAwMDAwMCBuIAowMDAwMTAyOTYzIDAw
MDAwIG4gCjAwMDAxMDI2MzMgMDAwMDAgbiAKMDAwMDEwMjcyMSAwMDAwMCBuIAowMDAwMTAyODA5
IDAwMDAwIG4gCjAwMDAxMDMyMjcgMDAwMDAgbiAKMDAwMDEwMzA3MyAwMDAwMCBuIAowMDAwMTAz
OTk5IDAwMDAwIG4gCjAwMDAxMDMzMTcgMDAwMDAgbiAKMDAwMDEwMzQwNSAwMDAwMCBuIAowMDAw
MTAzNDkzIDAwMDAwIG4gCjAwMDAxMDM1ODEgMDAwMDAgbiAKMDAwMDEwMzY2OSAwMDAwMCBuIAow
MDAwMTAzNzU3IDAwMDAwIG4gCjAwMDAxMDM4NDUgMDAwMDAgbiAKMDAwMDEwNDMyNiAwMDAwMCBu
IAowMDAwMTA0MTQwIDAwMDAwIG4gCjAwMDAxMDQ1ODUgMDAwMDAgbiAKMDAwMDEwNDQxNyAwMDAw
MCBuIAowMDAwMTA0ODQ0IDAwMDAwIG4gCjAwMDAxMDQ2NzYgMDAwMDAgbiAKMDAwMDEwNTEwMyAw
MDAwMCBuIAowMDAwMTA0OTM1IDAwMDAwIG4gCjAwMDAxMDUzNjIgMDAwMDAgbiAKMDAwMDEwNTE5
NCAwMDAwMCBuIAowMDAwMTA1NjIxIDAwMDAwIG4gCjAwMDAxMDU0NTMgMDAwMDAgbiAKMDAwMDEw
NTg4MCAwMDAwMCBuIAowMDAwMTA1NzEyIDAwMDAwIG4gCjAwMDAxMDYxMzkgMDAwMDAgbiAKMDAw
MDEwNTk3MSAwMDAwMCBuIAowMDAwMTA2MzEyIDAwMDAwIG4gCjAwMDAxMDY1NTkgMDAwMDAgbiAK
MDAwMDEwNjM5MSAwMDAwMCBuIAowMDAwMTA2ODE4IDAwMDAwIG4gCjAwMDAxMDY2NTAgMDAwMDAg
biAKMDAwMDEwNjk5MSAwMDAwMCBuIAowMDAwMTA3MjM4IDAwMDAwIG4gCjAwMDAxMDcwNzAgMDAw
MDAgbiAKMDAwMDEwNzQ5NyAwMDAwMCBuIAowMDAwMTA3MzI5IDAwMDAwIG4gCjAwMDAxMDc3NTYg
MDAwMDAgbiAKMDAwMDEwNzU4OCAwMDAwMCBuIAowMDAwMTA4MDMxIDAwMDAwIG4gCjAwMDAxMDc4
NDcgMDAwMDAgbiAKMDAwMDExMDc3NiAwMDAwMCBuIAowMDAwMTA4MTIyIDAwMDAwIG4gCjAwMDAx
MDgyMTAgMDAwMDAgbiAKMDAwMDEwODMwOSAwMDAwMCBuIAowMDAwMTA4Mzk3IDAwMDAwIG4gCjAw
MDAxMDg0ODUgMDAwMDAgbiAKMDAwMDEwODU4NCAwMDAwMCBuIAowMDAwMTA4NjczIDAwMDAwIG4g
CjAwMDAxMDg3NzMgMDAwMDAgbiAKMDAwMDEwODg2MiAwMDAwMCBuIAowMDAwMTA4OTUxIDAwMDAw
IG4gCjAwMDAxMDkwNDAgMDAwMDAgbiAKMDAwMDEwOTEyOSAwMDAwMCBuIAowMDAwMTA5MjI5IDAw
MDAwIG4gCjAwMDAxMDkzMTggMDAwMDAgbiAKMDAwMDEwOTQxOCAwMDAwMCBuIAowMDAwMTA5NTA3
IDAwMDAwIG4gCjAwMDAxMDk1OTYgMDAwMDAgbiAKMDAwMDEwOTY4NSAwMDAwMCBuIAowMDAwMTA5
Nzg1IDAwMDAwIG4gCjAwMDAxMDk4NzQgMDAwMDAgbiAKMDAwMDEwOTk2MyAwMDAwMCBuIAowMDAw
MTEwMDYzIDAwMDAwIG4gCjAwMDAxMTAxNTIgMDAwMDAgbiAKMDAwMDExMDI1MiAwMDAwMCBuIAow
MDAwMTEwMzQxIDAwMDAwIG4gCjAwMDAxMTA0MzAgMDAwMDAgbiAKMDAwMDExMDUzMCAwMDAwMCBu
IAowMDAwMTEwNjE5IDAwMDAwIG4gCjAwMDAxMTE5OTkgMDAwMDAgbiAKMDAwMDExMTA5MCAwMDAw
MCBuIAowMDAwMTExMTgwIDAwMDAwIG4gCjAwMDAxMTEyODEgMDAwMDAgbiAKMDAwMDExMTM3MSAw
MDAwMCBuIAowMDAwMTExNDYxIDAwMDAwIG4gCjAwMDAxMTE1NjIgMDAwMDAgbiAKMDAwMDExMTY1
MiAwMDAwMCBuIAowMDAwMTExNzUzIDAwMDAwIG4gCjAwMDAxMTE4NDMgMDAwMDAgbiAKMDAwMDA5
Mjc5MiAwMDAwMCBuIAowMDAwMDA0MDcyIDAwMDAwIG4gCjAwMDAwMDcyOTggMDAwMDAgbiAKMDAw
MDExMjY3NyAwMDAwMCBuIAowMDAwMTEyMTYxIDAwMDAwIG4gCjAwMDAxMTIyNTIgMDAwMDAgbiAK
MDAwMDExMjM0MyAwMDAwMCBuIAowMDAwMTEyNDQ1IDAwMDAwIG4gCjAwMDAxMTI1MzYgMDAwMDAg
biAKMDAwMDExNTM2NyAwMDAwMCBuIAowMDAwMTEzNDY5IDAwMDAwIG4gCjAwMDAxMTMzODQgMDAw
MDAgbiAKMDAwMDExMzI1NiAwMDAwMCBuIAowMDAwMTEyODEzIDAwMDAwIG4gCjAwMDAxMTI5MDQg
MDAwMDAgbiAKMDAwMDExMjk5NSAwMDAwMCBuIAowMDAwMTEzMDk4IDAwMDAwIG4gCjAwMDAxMTQy
MTIgMDAwMDAgbiAKMDAwMDExNDEyNyAwMDAwMCBuIAowMDAwMTEzOTk4IDAwMDAwIG4gCjAwMDAx
MTM1NTEgMDAwMDAgbiAKMDAwMDExMzY0MyAwMDAwMCBuIAowMDAwMTEzNzQ2IDAwMDAwIG4gCjAw
MDAxMTM4MzggMDAwMDAgbiAKMDAwMDExNDg1MyAwMDAwMCBuIAowMDAwMTE0NzY4IDAwMDAwIG4g
CjAwMDAxMTQ2NDcgMDAwMDAgbiAKMDAwMDExNDI5NCAwMDAwMCBuIAowMDAwMTE0Mzg2IDAwMDAw
IG4gCjAwMDAxMTQ0ODkgMDAwMDAgbiAKMDAwMDExNTI4NSAwMDAwMCBuIAowMDAwMTE1MjAwIDAw
MDAwIG4gCjAwMDAxMTUwOTUgMDAwMDAgbiAKMDAwMDExNDkzNSAwMDAwMCBuIAowMDAwMTE2MTUy
IDAwMDAwIG4gCjAwMDAxMTU0NzAgMDAwMDAgbiAKMDAwMDExNTU2MiAwMDAwMCBuIAowMDAwMTE1
NjY1IDAwMDAwIG4gCjAwMDAxMTU3NTcgMDAwMDAgbiAKMDAwMDExNTg5NCAwMDAwMCBuIAowMDAw
MTE1OTk0IDAwMDAwIG4gCjAwMDAxMTcwMTMgMDAwMDAgbiAKMDAwMDExNjI5MiAwMDAwMCBuIAow
MDAwMTE2Mzg0IDAwMDAwIG4gCjAwMDAxMTY0ODcgMDAwMDAgbiAKMDAwMDExNjU3OSAwMDAwMCBu
IAowMDAwMTE2NjcxIDAwMDAwIG4gCjAwMDAxMTY3NjMgMDAwMDAgbiAKMDAwMDExNjg1NSAwMDAw
MCBuIAowMDAwMTE3MzUxIDAwMDAwIG4gCjAwMDAxMTcxNjEgMDAwMDAgbiAKMDAwMDExNzUyOCAw
MDAwMCBuIAowMDAwMTE3NzgyIDAwMDAwIG4gCjAwMDAxMTc2MTAgMDAwMDAgbiAKMDAwMDExODA0
OSAwMDAwMCBuIAowMDAwMTE3ODc3IDAwMDAwIG4gCjAwMDAxMTgzMTYgMDAwMDAgbiAKMDAwMDEx
ODE0NCAwMDAwMCBuIAowMDAwMTE4NTgzIDAwMDAwIG4gCjAwMDAxMTg0MTEgMDAwMDAgbiAKMDAw
MDExODg1MCAwMDAwMCBuIAowMDAwMTE4Njc4IDAwMDAwIG4gCjAwMDAxMTkwMjcgMDAwMDAgbiAK
MDAwMDExOTI4MSAwMDAwMCBuIAowMDAwMTE5MTA5IDAwMDAwIG4gCjAwMDAxMTk1NDggMDAwMDAg
biAKMDAwMDExOTM3NiAwMDAwMCBuIAowMDAwMTE5ODE1IDAwMDAwIG4gCjAwMDAxMTk2NDMgMDAw
MDAgbiAKMDAwMDEyMDA4MiAwMDAwMCBuIAowMDAwMTE5OTEwIDAwMDAwIG4gCjAwMDAxMjAzNDkg
MDAwMDAgbiAKMDAwMDEyMDE3NyAwMDAwMCBuIAowMDAwMTIwNjE2IDAwMDAwIG4gCjAwMDAxMjA0
NDQgMDAwMDAgbiAKMDAwMDEyMDg4MyAwMDAwMCBuIAowMDAwMTIwNzExIDAwMDAwIG4gCjAwMDAx
MjExNTAgMDAwMDAgbiAKMDAwMDEyMDk3OCAwMDAwMCBuIAowMDAwMTIxNDE3IDAwMDAwIG4gCjAw
MDAxMjEyNDUgMDAwMDAgbiAKMDAwMDEyMTcwMCAwMDAwMCBuIAowMDAwMTIxNTEyIDAwMDAwIG4g
CjAwMDAxMjE4NjMgMDAwMDAgbiAKMDAwMDEyMjE4MSAwMDAwMCBuIAowMDAwMTIxOTQ3IDAwMDAw
IG4gCjAwMDAxMjIwMzkgMDAwMDAgbiAKMDAwMDEyMjczNSAwMDAwMCBuIAowMDAwMTIyNjUxIDAw
MDAwIG4gCjAwMDAxMjI1NDEgMDAwMDAgbiAKMDAwMDEyMjI4OSAwMDAwMCBuIAowMDAwMTIyMzgx
IDAwMDAwIG4gCjAwMDAwOTI5NzggMDAwMDAgbiAKMDAwMDAwNzMyMSAwMDAwMCBuIAowMDAwMDA5
Njc5IDAwMDAwIG4gCjAwMDAxMjMwMDQgMDAwMDAgbiAKMDAwMDEyMjgxNiAwMDAwMCBuIAowMDAw
MTIzMjcwIDAwMDAwIG4gCjAwMDAxMjMwOTkgMDAwMDAgbiAKMDAwMDEyMzUzNiAwMDAwMCBuIAow
MDAwMTIzMzY1IDAwMDAwIG4gCjAwMDAxMjM4MDIgMDAwMDAgbiAKMDAwMDEyMzYzMSAwMDAwMCBu
IAowMDAwMTI0MDY4IDAwMDAwIG4gCjAwMDAxMjM4OTcgMDAwMDAgbiAKMDAwMDEyNDMzNCAwMDAw
MCBuIAowMDAwMTI0MTYzIDAwMDAwIG4gCjAwMDAxMjQ2MDAgMDAwMDAgbiAKMDAwMDEyNDQyOSAw
MDAwMCBuIAowMDAwMTI0ODY2IDAwMDAwIG4gCjAwMDAxMjQ2OTUgMDAwMDAgbiAKMDAwMDEyNTEz
MiAwMDAwMCBuIAowMDAwMTI0OTYxIDAwMDAwIG4gCjAwMDAxMjUzOTggMDAwMDAgbiAKMDAwMDEy
NTIyNyAwMDAwMCBuIAowMDAwMTI1NjY1IDAwMDAwIG4gCjAwMDAxMjU0OTMgMDAwMDAgbiAKMDAw
MDEyNTkzMiAwMDAwMCBuIAowMDAwMTI1NzYwIDAwMDAwIG4gCjAwMDAxMjYxOTkgMDAwMDAgbiAK
MDAwMDEyNjAyNyAwMDAwMCBuIAowMDAwMTI2NDY2IDAwMDAwIG4gCjAwMDAxMjYyOTQgMDAwMDAg
biAKMDAwMDEyNjczMyAwMDAwMCBuIAowMDAwMTI2NTYxIDAwMDAwIG4gCjAwMDAxMjcwMDAgMDAw
MDAgbiAKMDAwMDEyNjgyOCAwMDAwMCBuIAowMDAwMTI3MTc3IDAwMDAwIG4gCjAwMDAxMjc0MzEg
MDAwMDAgbiAKMDAwMDEyNzI1OSAwMDAwMCBuIAowMDAwMTI3Njk4IDAwMDAwIG4gCjAwMDAxMjc1
MjYgMDAwMDAgbiAKMDAwMDEyNzk2NSAwMDAwMCBuIAowMDAwMTI3NzkzIDAwMDAwIG4gCjAwMDAx
MjgyMzIgMDAwMDAgbiAKMDAwMDEyODA2MCAwMDAwMCBuIAowMDAwMTI4NDk5IDAwMDAwIG4gCjAw
MDAxMjgzMjcgMDAwMDAgbiAKMDAwMDEyODc2NiAwMDAwMCBuIAowMDAwMTI4NTk0IDAwMDAwIG4g
CjAwMDAxMjg5NTkgMDAwMDAgbiAKMDAwMDEyOTIwMSAwMDAwMCBuIAowMDAwMTI5MDQxIDAwMDAw
IG4gCjAwMDAxMjk0OTEgMDAwMDAgbiAKMDAwMDEyOTMwMSAwMDAwMCBuIAowMDAwMTI5NjY4IDAw
MDAwIG4gCjAwMDAxMjk5MjIgMDAwMDAgbiAKMDAwMDEyOTc1MCAwMDAwMCBuIAowMDAwMTMwMTg5
IDAwMDAwIG4gCjAwMDAxMzAwMTcgMDAwMDAgbiAKMDAwMDEzMDQ1NiAwMDAwMCBuIAowMDAwMTMw
Mjg0IDAwMDAwIG4gCjAwMDAxMzA3MjMgMDAwMDAgbiAKMDAwMDEzMDU1MSAwMDAwMCBuIAowMDAw
MTMwOTkwIDAwMDAwIG4gCjAwMDAxMzA4MTggMDAwMDAgbiAKMDAwMDEzMTI1NyAwMDAwMCBuIAow
MDAwMTMxMDg1IDAwMDAwIG4gCjAwMDAxMzE1MjQgMDAwMDAgbiAKMDAwMDEzMTM1MiAwMDAwMCBu
IAowMDAwMTMxNzkxIDAwMDAwIG4gCjAwMDAxMzE2MTkgMDAwMDAgbiAKMDAwMDEzMjA1OCAwMDAw
MCBuIAowMDAwMTMxODg2IDAwMDAwIG4gCjAwMDAxMzIzMjUgMDAwMDAgbiAKMDAwMDEzMjE1MyAw
MDAwMCBuIAowMDAwMTMyNTkyIDAwMDAwIG4gCjAwMDAxMzI0MjAgMDAwMDAgbiAKMDAwMDEzMjg1
OSAwMDAwMCBuIAowMDAwMTMyNjg3IDAwMDAwIG4gCjAwMDAxMzMxNDIgMDAwMDAgbiAKMDAwMDEz
Mjk1NCAwMDAwMCBuIAowMDAwMTMzNDg5IDAwMDAwIG4gCjAwMDAxMzMyMzcgMDAwMDAgbiAKMDAw
MDEzMzMyOSAwMDAwMCBuIAowMDAwMTMzOTUwIDAwMDAwIG4gCjAwMDAxMzM1OTcgMDAwMDAgbiAK
MDAwMDEzMzcwMCAwMDAwMCBuIAowMDAwMTMzNzkyIDAwMDAwIG4gCjAwMDAwOTMxNDUgMDAwMDAg
biAKMDAwMDAwOTcwMiAwMDAwMCBuIAowMDAwMDEzMzgzIDAwMDAwIG4gCjAwMDAxMzQyNTcgMDAw
MDAgbiAKMDAwMDEzNDA2OSAwMDAwMCBuIAowMDAwMTM0NTIzIDAwMDAwIG4gCjAwMDAxMzQzNTIg
MDAwMDAgbiAKMDAwMDEzNDcwMCAwMDAwMCBuIAowMDAwMTM0OTUzIDAwMDAwIG4gCjAwMDAxMzQ3
ODIgMDAwMDAgbiAKMDAwMDEzNTEzMCAwMDAwMCBuIAowMDAwMTM1MzgzIDAwMDAwIG4gCjAwMDAx
MzUyMTIgMDAwMDAgbiAKMDAwMDEzNTY0OSAwMDAwMCBuIAowMDAwMTM1NDc4IDAwMDAwIG4gCjAw
MDAxMzU5MTUgMDAwMDAgbiAKMDAwMDEzNTc0NCAwMDAwMCBuIAowMDAwMTM2MTgxIDAwMDAwIG4g
CjAwMDAxMzYwMTAgMDAwMDAgbiAKMDAwMDEzNjQ0NyAwMDAwMCBuIAowMDAwMTM2Mjc2IDAwMDAw
IG4gCjAwMDAxMzY3MTMgMDAwMDAgbiAKMDAwMDEzNjU0MiAwMDAwMCBuIAowMDAwMTM2OTc5IDAw
MDAwIG4gCjAwMDAxMzY4MDggMDAwMDAgbiAKMDAwMDEzNzI0NiAwMDAwMCBuIAowMDAwMTM3MDc0
IDAwMDAwIG4gCjAwMDAxMzc1MTMgMDAwMDAgbiAKMDAwMDEzNzM0MSAwMDAwMCBuIAowMDAwMTM3
NjkwIDAwMDAwIG4gCjAwMDAxMzc5NDQgMDAwMDAgbiAKMDAwMDEzNzc3MiAwMDAwMCBuIAowMDAw
MTM4MjExIDAwMDAwIG4gCjAwMDAxMzgwMzkgMDAwMDAgbiAKMDAwMDEzODQ3OCAwMDAwMCBuIAow
MDAwMTM4MzA2IDAwMDAwIG4gCjAwMDAxMzg3NDUgMDAwMDAgbiAKMDAwMDEzODU3MyAwMDAwMCBu
IAowMDAwMTM5MDI4IDAwMDAwIG4gCjAwMDAxMzg4NDAgMDAwMDAgbiAKMDAwMDEzOTg1NyAwMDAw
MCBuIAowMDAwMTM5MTIzIDAwMDAwIG4gCjAwMDAxMzkyMTUgMDAwMDAgbiAKMDAwMDEzOTMxOCAw
MDAwMCBuIAowMDAwMTM5NDEwIDAwMDAwIG4gCjAwMDAxMzk1MDIgMDAwMDAgbiAKMDAwMDEzOTYw
NSAwMDAwMCBuIAowMDAwMTM5Njk3IDAwMDAwIG4gCjAwMDAxNDAxNjMgMDAwMDAgbiAKMDAwMDE0
MDAwNSAwMDAwMCBuIAowMDAwMTQwNDIxIDAwMDAwIG4gCjAwMDAxNDAyNjMgMDAwMDAgbiAKMDAw
MDE0MDY3MyAwMDAwMCBuIAowMDAwMTQwNTE1IDAwMDAwIG4gCjAwMDAxNDA5MzEgMDAwMDAgbiAK
MDAwMDE0MDc3MyAwMDAwMCBuIAowMDAwMTQxMTgzIDAwMDAwIG4gCjAwMDAxNDEwMjUgMDAwMDAg
biAKMDAwMDE0MTc5OCAwMDAwMCBuIAowMDAwMTQxMjc3IDAwMDAwIG4gCjAwMDAxNDEzNjkgMDAw
MDAgbiAKMDAwMDE0MTQ3MiAwMDAwMCBuIAowMDAwMTQxNTY0IDAwMDAwIG4gCjAwMDAxNDE2NTYg
MDAwMDAgbiAKMDAwMDE0MjYxMiAwMDAwMCBuIAowMDAwMTQxOTMwIDAwMDAwIG4gCjAwMDAxNDIw
MjIgMDAwMDAgbiAKMDAwMDE0MjEyNSAwMDAwMCBuIAowMDAwMTQyMjE3IDAwMDAwIG4gCjAwMDAx
NDIzNTQgMDAwMDAgbiAKMDAwMDE0MjQ1NCAwMDAwMCBuIAowMDAwMTQzNzgyIDAwMDAwIG4gCjAw
MDAxNDI3NTIgMDAwMDAgbiAKMDAwMDE0Mjg0NCAwMDAwMCBuIAowMDAwMTQyOTQ3IDAwMDAwIG4g
CjAwMDAxNDMwMzkgMDAwMDAgbiAKMDAwMDE0MzE0MiAwMDAwMCBuIAowMDAwMTQzMjM0IDAwMDAw
IG4gCjAwMDAxNDMzMjYgMDAwMDAgbiAKMDAwMDE0MzQyOSAwMDAwMCBuIAowMDAwMTQzNTIxIDAw
MDAwIG4gCjAwMDAxNDM2MjQgMDAwMDAgbiAKMDAwMDE0NDMxMCAwMDAwMCBuIAowMDAwMTQzOTU3
IDAwMDAwIG4gCjAwMDAxNDQwNDkgMDAwMDAgbiAKMDAwMDE0NDE1MiAwMDAwMCBuIAowMDAwMTQ0
OTI4IDAwMDAwIG4gCjAwMDAxNDQ0MjAgMDAwMDAgbiAKMDAwMDE0NDUxMiAwMDAwMCBuIAowMDAw
MTQ0NjA0IDAwMDAwIG4gCjAwMDAxNDU3MjAgMDAwMDAgbiAKMDAwMDE0NTYzNiAwMDAwMCBuIAow
MDAwMTQ1NTA3IDAwMDAwIG4gCjAwMDAxNDUwNjAgMDAwMDAgbiAKMDAwMDE0NTE1MiAwMDAwMCBu
IAowMDAwMTQ1MjQ0IDAwMDAwIG4gCjAwMDAxNDUzNDcgMDAwMDAgbiAKMDAwMDA5MzMzMSAwMDAw
MCBuIAowMDAwMDEzNDA2IDAwMDAwIG4gCjAwMDAwMTU5ODMgMDAwMDAgbiAKMDAwMDE0NDY5NiAw
MDAwMCBuIAowMDAwMTQ0Nzg3IDAwMDAwIG4gCjAwMDAxNDYxNTEgMDAwMDAgbiAKMDAwMDE0NTgw
MSAwMDAwMCBuIAowMDAwMTQ1ODkyIDAwMDAwIG4gCjAwMDAxNDU5OTQgMDAwMDAgbiAKMDAwMDE0
Njc3NyAwMDAwMCBuIAowMDAwMTQ2MjYwIDAwMDAwIG4gCjAwMDAxNDYzNTEgMDAwMDAgbiAKMDAw
MDE0NjQ0MiAwMDAwMCBuIAowMDAwMTQ2NTQ0IDAwMDAwIG4gCjAwMDAxNDY2MzUgMDAwMDAgbiAK
MDAwMDE0NzA2NyAwMDAwMCBuIAowMDAwMTQ2OTA5IDAwMDAwIG4gCjAwMDAxNDczMTkgMDAwMDAg
biAKMDAwMDE0NzE2MSAwMDAwMCBuIAowMDAwMTQ3NTc3IDAwMDAwIG4gCjAwMDAxNDc0MTkgMDAw
MDAgbiAKMDAwMDE0NzgyOSAwMDAwMCBuIAowMDAwMTQ3NjcxIDAwMDAwIG4gCjAwMDAxNDg3MjAg
MDAwMDAgbiAKMDAwMDE0NzkyMyAwMDAwMCBuIAowMDAwMTQ4MDE1IDAwMDAwIG4gCjAwMDAxNDgx
MDcgMDAwMDAgbiAKMDAwMDE0ODE5OSAwMDAwMCBuIAowMDAwMTQ4MzAyIDAwMDAwIG4gCjAwMDAx
NDgzOTQgMDAwMDAgbiAKMDAwMDE0ODQ4NiAwMDAwMCBuIAowMDAwMTQ4NTc4IDAwMDAwIG4gCjAw
MDAxNDkwMzQgMDAwMDAgbiAKMDAwMDE0ODg3NiAwMDAwMCBuIAowMDAwMTQ5NjM4IDAwMDAwIG4g
CjAwMDAxNDkxMjggMDAwMDAgbiAKMDAwMDE0OTIyMCAwMDAwMCBuIAowMDAwMTQ5MzEyIDAwMDAw
IG4gCjAwMDAxNDk0MDQgMDAwMDAgbiAKMDAwMDE0OTQ5NiAwMDAwMCBuIAowMDAwMTQ5OTI4IDAw
MDAwIG4gCjAwMDAxNDk3NzAgMDAwMDAgbiAKMDAwMDE1MDM5OSAwMDAwMCBuIAowMDAwMTUwMTMw
IDAwMDAwIG4gCjAwMDAxNTAyNDEgMDAwMDAgbiAKMDAwMDE1MDY2NSAwMDAwMCBuIAowMDAwMTUw
NTA3IDAwMDAwIG4gCjAwMDAxNTA5MTcgMDAwMDAgbiAKMDAwMDE1MDc1OSAwMDAwMCBuIAowMDAw
MTU0OTQyIDAwMDAwIG4gCjAwMDAxNTUwOTUgMDAwMDAgbiAKMDAwMDE1NTIyOSAwMDAwMCBuIAow
MDAwMTU0ODA4IDAwMDAwIG4gCjAwMDAwMTYwMDYgMDAwMDAgbiAKMDAwMDAyNDAyMyAwMDAwMCBu
IAowMDAwMDI0MDQ2IDAwMDAwIG4gCjAwMDAwMjQyNTIgMDAwMDAgbiAKMDAwMDAyNDc2NCAwMDAw
MCBuIAowMDAwMDI1MTMyIDAwMDAwIG4gCjAwMDAwMzAwMjcgMDAwMDAgbiAKMDAwMDAzMDA1MCAw
MDAwMCBuIAowMDAwMDMwMjUzIDAwMDAwIG4gCjAwMDAwMzA2MDggMDAwMDAgbiAKMDAwMDAzMDgy
OSAwMDAwMCBuIAowMDAwMDMyNjgzIDAwMDAwIG4gCjAwMDAwMzI3MDYgMDAwMDAgbiAKMDAwMDAz
MjkwMCAwMDAwMCBuIAowMDAwMDMzMTkyIDAwMDAwIG4gCjAwMDAwMzMzNTYgMDAwMDAgbiAKMDAw
MDA2NzcyMCAwMDAwMCBuIAowMDAwMDY3NzQ0IDAwMDAwIG4gCjAwMDAwNjc5NDcgMDAwMDAgbiAK
MDAwMDA2ODU1NCAwMDAwMCBuIAowMDAwMDY5MDA2IDAwMDAwIG4gCjAwMDAwOTE0MjggMDAwMDAg
biAKMDAwMDA5MTQ1MiAwMDAwMCBuIAowMDAwMDkxNjYwIDAwMDAwIG4gCjAwMDAwOTIxNDcgMDAw
MDAgbiAKMDAwMDA5MjQ5MyAwMDAwMCBuIAowMDAwMDkyNTcyIDAwMDAwIG4gCjAwMDAwOTM1MTcg
MDAwMDAgbiAKMDAwMDA5MzU3NyAwMDAwMCBuIAowMDAwMDkzNzM0IDAwMDAwIG4gCjAwMDAwOTM5
MzYgMDAwMDAgbiAKMDAwMDA5NDE0OCAwMDAwMCBuIAowMDAwMDk0MzY0IDAwMDAwIG4gCjAwMDAw
OTQ1NjEgMDAwMDAgbiAKMDAwMDA5NDgxMyAwMDAwMCBuIAowMDAwMDk1MDgwIDAwMDAwIG4gCjAw
MDAwOTUzMDAgMDAwMDAgbiAKMDAwMDA5NTUwOCAwMDAwMCBuIAowMDAwMDk1NzQxIDAwMDAwIG4g
CjAwMDAwOTYwNDYgMDAwMDAgbiAKMDAwMDA5NjIwOCAwMDAwMCBuIAowMDAwMTUyMTU2IDAwMDAw
IG4gCjAwMDAwOTYzODMgMDAwMDAgbiAKMDAwMDA5NjU5OSAwMDAwMCBuIAowMDAwMDk2NzQ5IDAw
MDAwIG4gCjAwMDAwOTY5OTggMDAwMDAgbiAKMDAwMDA5NzE1MCAwMDAwMCBuIAowMDAwMDk3MzE0
IDAwMDAwIG4gCjAwMDAwOTc1NDMgMDAwMDAgbiAKMDAwMDA5NzY5NSAwMDAwMCBuIAowMDAwMDk3
OTQ3IDAwMDAwIG4gCjAwMDAwOTgwOTkgMDAwMDAgbiAKMDAwMDA5ODI2NCAwMDAwMCBuIAowMDAw
MDk4NDk1IDAwMDAwIG4gCjAwMDAwOTg2NDcgMDAwMDAgbiAKMDAwMDA5ODg5OSAwMDAwMCBuIAow
MDAwMDk5MDUxIDAwMDAwIG4gCjAwMDAwOTkyMTYgMDAwMDAgbiAKMDAwMDA5OTQ0NyAwMDAwMCBu
IAowMDAwMDk5NTk5IDAwMDAwIG4gCjAwMDAwOTk4NTEgMDAwMDAgbiAKMDAwMDEwMDAwMyAwMDAw
MCBuIAowMDAwMTAwMTY4IDAwMDAwIG4gCjAwMDAxMDAzOTkgMDAwMDAgbiAKMDAwMDEwMDU1MSAw
MDAwMCBuIAowMDAwMTAwODAzIDAwMDAwIG4gCjAwMDAxMDA5NTUgMDAwMDAgbiAKMDAwMDEwMTEy
MCAwMDAwMCBuIAowMDAwMTAxMzUyIDAwMDAwIG4gCjAwMDAxMDE1MDQgMDAwMDAgbiAKMDAwMDEw
MTY2OSAwMDAwMCBuIAowMDAwMTAxODE3IDAwMDAwIG4gCjAwMDAxMDE5ODIgMDAwMDAgbiAKMDAw
MDEwMjEyNiAwMDAwMCBuIAowMDAwMTAyNDc3IDAwMDAwIG4gCjAwMDAxMDI4OTcgMDAwMDAgbiAK
MDAwMDEwMzE2MSAwMDAwMCBuIAowMDAwMTAzOTMzIDAwMDAwIG4gCjAwMDAxMDQyMjYgMDAwMDAg
biAKMDAwMDEwNDUwMyAwMDAwMCBuIAowMDAwMTA0NzYyIDAwMDAwIG4gCjAwMDAxMDUwMjEgMDAw
MDAgbiAKMDAwMDEwNTI4MCAwMDAwMCBuIAowMDAwMTA1NTM5IDAwMDAwIG4gCjAwMDAxMDU3OTgg
MDAwMDAgbiAKMDAwMDEwNjA1NyAwMDAwMCBuIAowMDAwMTA2MjMwIDAwMDAwIG4gCjAwMDAxMDY0
NzcgMDAwMDAgbiAKMDAwMDEwNjczNiAwMDAwMCBuIAowMDAwMTA2OTA5IDAwMDAwIG4gCjAwMDAx
MDcxNTYgMDAwMDAgbiAKMDAwMDEwNzQxNSAwMDAwMCBuIAowMDAwMTA3Njc0IDAwMDAwIG4gCjAw
MDAxMDc5MzMgMDAwMDAgbiAKMDAwMDExMDcwOCAwMDAwMCBuIAowMDAwMTExOTMzIDAwMDAwIG4g
CjAwMDAxMTI2MjcgMDAwMDAgbiAKMDAwMDExMzE5MCAwMDAwMCBuIAowMDAwMTEzOTMwIDAwMDAw
IG4gCjAwMDAxMTQ1ODEgMDAwMDAgbiAKMDAwMDExNTAyNyAwMDAwMCBuIAowMDAwMTE1ODQ5IDAw
MDAwIG4gCjAwMDAxMTYwODYgMDAwMDAgbiAKMDAwMDExNjk0NyAwMDAwMCBuIAowMDAwMTE3MjUx
IDAwMDAwIG4gCjAwMDAxMTc0NDYgMDAwMDAgbiAKMDAwMDExNzcwMCAwMDAwMCBuIAowMDAwMTE3
OTY3IDAwMDAwIG4gCjAwMDAxMTgyMzQgMDAwMDAgbiAKMDAwMDExODUwMSAwMDAwMCBuIAowMDAw
MTE4NzY4IDAwMDAwIG4gCjAwMDAxMTg5NDUgMDAwMDAgbiAKMDAwMDExOTE5OSAwMDAwMCBuIAow
MDAwMTE5NDY2IDAwMDAwIG4gCjAwMDAxMTk3MzMgMDAwMDAgbiAKMDAwMDEyMDAwMCAwMDAwMCBu
IAowMDAwMTIwMjY3IDAwMDAwIG4gCjAwMDAxMjA1MzQgMDAwMDAgbiAKMDAwMDEyMDgwMSAwMDAw
MCBuIAowMDAwMTIxMDY4IDAwMDAwIG4gCjAwMDAxMjEzMzUgMDAwMDAgbiAKMDAwMDEyMTYwMiAw
MDAwMCBuIAowMDAwMTIxNzk1IDAwMDAwIG4gCjAwMDAxMjIxMzEgMDAwMDAgbiAKMDAwMDEyMjQ3
MyAwMDAwMCBuIAowMDAwMTIyOTA1IDAwMDAwIG4gCjAwMDAxMjMxODggMDAwMDAgbiAKMDAwMDEy
MzQ1NCAwMDAwMCBuIAowMDAwMTIzNzIwIDAwMDAwIG4gCjAwMDAxMjM5ODYgMDAwMDAgbiAKMDAw
MDEyNDI1MiAwMDAwMCBuIAowMDAwMTI0NTE4IDAwMDAwIG4gCjAwMDAxMjQ3ODQgMDAwMDAgbiAK
MDAwMDEyNTA1MCAwMDAwMCBuIAowMDAwMTI1MzE2IDAwMDAwIG4gCjAwMDAxMjU1ODMgMDAwMDAg
biAKMDAwMDEyNTg1MCAwMDAwMCBuIAowMDAwMTI2MTE3IDAwMDAwIG4gCjAwMDAxMjYzODQgMDAw
MDAgbiAKMDAwMDEyNjY1MSAwMDAwMCBuIAowMDAwMTI2OTE4IDAwMDAwIG4gCjAwMDAxMjcwOTUg
MDAwMDAgbiAKMDAwMDEyNzM0OSAwMDAwMCBuIAowMDAwMTI3NjE2IDAwMDAwIG4gCjAwMDAxMjc4
ODMgMDAwMDAgbiAKMDAwMDEyODE1MCAwMDAwMCBuIAowMDAwMTI4NDE3IDAwMDAwIG4gCjAwMDAx
Mjg2ODQgMDAwMDAgbiAKMDAwMDEyODg2MSAwMDAwMCBuIAowMDAwMTI5MTMzIDAwMDAwIG4gCjAw
MDAxMjkzOTEgMDAwMDAgbiAKMDAwMDEyOTU4NiAwMDAwMCBuIAowMDAwMTI5ODQwIDAwMDAwIG4g
CjAwMDAxMzAxMDcgMDAwMDAgbiAKMDAwMDEzMDM3NCAwMDAwMCBuIAowMDAwMTMwNjQxIDAwMDAw
IG4gCjAwMDAxMzA5MDggMDAwMDAgbiAKMDAwMDEzMTE3NSAwMDAwMCBuIAowMDAwMTMxNDQyIDAw
MDAwIG4gCjAwMDAxMzE3MDkgMDAwMDAgbiAKMDAwMDEzMTk3NiAwMDAwMCBuIAowMDAwMTMyMjQz
IDAwMDAwIG4gCjAwMDAxMzI1MTAgMDAwMDAgbiAKMDAwMDEzMjc3NyAwMDAwMCBuIAowMDAwMTMz
MDQ0IDAwMDAwIG4gCjAwMDAxMzM0MjEgMDAwMDAgbiAKMDAwMDEzMzg4NCAwMDAwMCBuIAowMDAw
MTM0MTU4IDAwMDAwIG4gCjAwMDAxMzQ0NDEgMDAwMDAgbiAKMDAwMDEzNDYxOCAwMDAwMCBuIAow
MDAwMTM0ODcxIDAwMDAwIG4gCjAwMDAxMzUwNDggMDAwMDAgbiAKMDAwMDEzNTMwMSAwMDAwMCBu
IAowMDAwMTM1NTY3IDAwMDAwIG4gCjAwMDAxMzU4MzMgMDAwMDAgbiAKMDAwMDEzNjA5OSAwMDAw
MCBuIAowMDAwMTM2MzY1IDAwMDAwIG4gCjAwMDAxMzY2MzEgMDAwMDAgbiAKMDAwMDEzNjg5NyAw
MDAwMCBuIAowMDAwMTM3MTY0IDAwMDAwIG4gCjAwMDAxMzc0MzEgMDAwMDAgbiAKMDAwMDEzNzYw
OCAwMDAwMCBuIAowMDAwMTM3ODYyIDAwMDAwIG4gCjAwMDAxMzgxMjkgMDAwMDAgbiAKMDAwMDEz
ODM5NiAwMDAwMCBuIAowMDAwMTM4NjYzIDAwMDAwIG4gCjAwMDAxMzg5MzAgMDAwMDAgbiAKMDAw
MDEzOTc4OSAwMDAwMCBuIAowMDAwMTQwMDk3IDAwMDAwIG4gCjAwMDAxNDAzNTUgMDAwMDAgbiAK
MDAwMDE0MDYwNyAwMDAwMCBuIAowMDAwMTQwODY1IDAwMDAwIG4gCjAwMDAxNDExMTcgMDAwMDAg
biAKMDAwMDE0MTc0OCAwMDAwMCBuIAowMDAwMTQyMzA5IDAwMDAwIG4gCjAwMDAxNDI1NDYgMDAw
MDAgbiAKMDAwMDE0MzcxNiAwMDAwMCBuIAowMDAwMTQ0MjQ0IDAwMDAwIG4gCjAwMDAxNDQ4Nzgg
MDAwMDAgbiAKMDAwMDE0NTQzOSAwMDAwMCBuIAowMDAwMTQ2MDg1IDAwMDAwIG4gCjAwMDAxNDY3
MjcgMDAwMDAgbiAKMDAwMDE0NzAwMSAwMDAwMCBuIAowMDAwMTQ3MjUzIDAwMDAwIG4gCjAwMDAx
NDc1MTEgMDAwMDAgbiAKMDAwMDE0Nzc2MyAwMDAwMCBuIAowMDAwMTQ4NjcwIDAwMDAwIG4gCjAw
MDAxNDg5NjggMDAwMDAgbiAKMDAwMDE0OTU4OCAwMDAwMCBuIAowMDAwMTQ5ODYyIDAwMDAwIG4g
CjAwMDAxNTAwMjIgMDAwMDAgbiAKMDAwMDE1MDA2NyAwMDAwMCBuIAowMDAwMTUwMzMzIDAwMDAw
IG4gCjAwMDAxNTA1OTkgMDAwMDAgbiAKMDAwMDE1MDg1MSAwMDAwMCBuIAowMDAwMTUyNDYyIDAw
MDAwIG4gCjAwMDAxNTUzNjUgMDAwMDAgbiAKMDAwMDE1NTUzMyAwMDAwMCBuIAp0cmFpbGVyCjw8
L1NpemUgNjgwL1Jvb3QgNjc4IDAgUgovSW5mbyA2NzkgMCBSCi9JRCBbIDw1QzEwMzE0OEQ2Nzgw
QTAwN0M2RkZCRkM3ODMwQkJCQz4KPDVDMTAzMTQ4RDY3ODBBMDA3QzZGRkJGQzc4MzBCQkJDPiBd
Ci9Eb2NDaGVja3N1bSAvRUVEMEYwMEExQjM5NjJDQzcwMThFRjg3RkIyNTI1RTMKPj4Kc3RhcnR4
cmVmCjE1NTc4MwolJUVPRgo=
--001a113d091ee52c82054e28804e--
.
Author: Hyman Rosen <hyman.rosen@gmail.com>
Date: Thu, 27 Apr 2017 12:58:25 -0400
Raw View
--94eb2c12526abc158d054e28de71
Content-Type: text/plain; charset=UTF-8
On Thu, Apr 27, 2017 at 12:32 PM, Alberto Barbati <albertobarbati@gmail.com>
wrote:
>
> - allow overloading operators || and && without losing short-circuiting;
> - allow writing efficient assert or logging functions without relying on
> macros.
>
I have mentioned a similar thing before. My suggestion was to annotate
function parameter declarations with a leading [], which would effectively
turn them into (a kind of) no-argument lambda expressions, with the
compiler itself creating the lambda to evaluate the argument and passing
that to the function rather than the argument itself. (They can't be
"real" lambdas because every lambda has a unique type, so such a function
would need to turn into a template. But that's just a language thing, not
a problem with the compiler creating such lambda-like objects.)
In the function, getting an rvalue or lvalue of the parameter would invoke
the lambda. (Whether only once or each time is the same question you
faced.)
--
You received this message because you are subscribed to the Google Groups "ISO C++ Standard - Future Proposals" group.
To unsubscribe from this group and stop receiving emails from it, send an email to std-proposals+unsubscribe@isocpp.org.
To post to this group, send email to std-proposals@isocpp.org.
To view this discussion on the web visit https://groups.google.com/a/isocpp.org/d/msgid/std-proposals/CAHSYqdbJahkod-dyKeY13zrWe6J1%3Dyf5h6yk%3Djm7RGcqmSPBmQ%40mail.gmail.com.
--94eb2c12526abc158d054e28de71
Content-Type: text/html; charset=UTF-8
Content-Transfer-Encoding: quoted-printable
<div dir=3D"ltr"><div class=3D"gmail_extra"><div class=3D"gmail_quote">On T=
hu, Apr 27, 2017 at 12:32 PM, Alberto Barbati <span dir=3D"ltr"><<a href=
=3D"mailto:albertobarbati@gmail.com" target=3D"_blank">albertobarbati@gmail=
..com</a>></span> wrote:<blockquote class=3D"gmail_quote" style=3D"margin=
:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex"><div dir=3D"ltr">-=
allow overloading operators || and && without losing short-circuit=
ing;<br>- allow writing efficient assert or logging functions without relyi=
ng on macros.</div></blockquote><div><br>I have mentioned a similar thing b=
efore.=C2=A0 My suggestion was to annotate function parameter declarations =
with a leading [], which would effectively turn them into (a kind of) no-ar=
gument lambda expressions, with the compiler itself creating the lambda to =
evaluate the argument and passing that to the function rather than the argu=
ment itself. =C2=A0(They can't be "real" lambdas because ever=
y lambda has a unique type, so such a function would need to turn into a te=
mplate.=C2=A0 But that's just a language thing, not a problem with the =
compiler creating such lambda-like objects.)<br><br>In the function, gettin=
g an rvalue or lvalue of the parameter would invoke the lambda. =C2=A0(Whet=
her only once or each time is the same question you faced.)</div></div></di=
v></div>
<p></p>
-- <br />
You received this message because you are subscribed to the Google Groups &=
quot;ISO C++ Standard - Future Proposals" group.<br />
To unsubscribe from this group and stop receiving emails from it, send an e=
mail to <a href=3D"mailto:std-proposals+unsubscribe@isocpp.org">std-proposa=
ls+unsubscribe@isocpp.org</a>.<br />
To post to this group, send email to <a href=3D"mailto:std-proposals@isocpp=
..org">std-proposals@isocpp.org</a>.<br />
To view this discussion on the web visit <a href=3D"https://groups.google.c=
om/a/isocpp.org/d/msgid/std-proposals/CAHSYqdbJahkod-dyKeY13zrWe6J1%3Dyf5h6=
yk%3Djm7RGcqmSPBmQ%40mail.gmail.com?utm_medium=3Demail&utm_source=3Dfooter"=
>https://groups.google.com/a/isocpp.org/d/msgid/std-proposals/CAHSYqdbJahko=
d-dyKeY13zrWe6J1%3Dyf5h6yk%3Djm7RGcqmSPBmQ%40mail.gmail.com</a>.<br />
--94eb2c12526abc158d054e28de71--
.
Author: =?UTF-8?Q?Micha=C5=82_Dominiak?= <griwes@griwes.info>
Date: Thu, 27 Apr 2017 10:43:46 -0700 (PDT)
Raw View
------=_Part_1807_865321643.1493315026871
Content-Type: multipart/alternative;
boundary="----=_Part_1808_1059074282.1493315026872"
------=_Part_1808_1059074282.1493315026872
Content-Type: text/plain; charset=UTF-8
Make C++ Algol Again.
On Thursday, April 27, 2017 at 6:32:34 PM UTC+2, Alberto Barbati wrote:
>
> Hi Everyone,
>
> Here's my bold attempt at addressing the following practical problems:
>
> - allow overloading operators || and && without losing short-circuiting;
> - allow writing efficient assert or logging functions without relying on
> macros.
>
> Both cases are essentially instances of the same scenario: allow writing
> functions that do not necessarily evaluate all of their arguments.
>
> The goal is achieved by introducing a new kind of functions, that allow
> arguments evaluation to be customized. The proposed approach is a pure core
> language extension.
>
> I am aware that a full proposal is going to require a lot of wording in
> the delicate [intro.execution] section. However, at this early stage, I am
> most interested in the potential implementability of the feature. Of course
> any other feedback is also welcome. Just, please, leave bikeshedding over
> the keywords for later.
>
> Cheers,
>
> Alberto
>
>
--
You received this message because you are subscribed to the Google Groups "ISO C++ Standard - Future Proposals" group.
To unsubscribe from this group and stop receiving emails from it, send an email to std-proposals+unsubscribe@isocpp.org.
To post to this group, send email to std-proposals@isocpp.org.
To view this discussion on the web visit https://groups.google.com/a/isocpp.org/d/msgid/std-proposals/0fb06e49-2b80-407e-8cce-03ef4adea947%40isocpp.org.
------=_Part_1808_1059074282.1493315026872
Content-Type: text/html; charset=UTF-8
Content-Transfer-Encoding: quoted-printable
<div dir=3D"ltr">Make C++ Algol Again.<div><br>On Thursday, April 27, 2017 =
at 6:32:34 PM UTC+2, Alberto Barbati wrote:<blockquote class=3D"gmail_quote=
" style=3D"margin: 0;margin-left: 0.8ex;border-left: 1px #ccc solid;padding=
-left: 1ex;"><div dir=3D"ltr">Hi Everyone,<br><br>Here's my bold attemp=
t at addressing the following practical problems:<br><br>- allow overloadin=
g operators || and && without losing short-circuiting;<br>- allow w=
riting efficient assert or logging functions without relying on macros.<br>=
<br>Both cases are essentially instances of the same scenario: allow writin=
g functions that do not necessarily evaluate all of their arguments.<br><br=
>The goal is achieved by introducing a new kind of functions, that allow ar=
guments evaluation to be customized. The proposed approach is a pure core l=
anguage extension.<br><br>I am aware that a full proposal is going to requi=
re a lot of wording in the delicate [intro.execution] section. However, at =
this early stage, I am most interested in the potential implementability of=
the feature. Of course any other feedback is also welcome. Just, please, l=
eave bikeshedding over the keywords for later.<br><br>Cheers,<br><br>Albert=
o<br><br></div>
</blockquote></div></div>
<p></p>
-- <br />
You received this message because you are subscribed to the Google Groups &=
quot;ISO C++ Standard - Future Proposals" group.<br />
To unsubscribe from this group and stop receiving emails from it, send an e=
mail to <a href=3D"mailto:std-proposals+unsubscribe@isocpp.org">std-proposa=
ls+unsubscribe@isocpp.org</a>.<br />
To post to this group, send email to <a href=3D"mailto:std-proposals@isocpp=
..org">std-proposals@isocpp.org</a>.<br />
To view this discussion on the web visit <a href=3D"https://groups.google.c=
om/a/isocpp.org/d/msgid/std-proposals/0fb06e49-2b80-407e-8cce-03ef4adea947%=
40isocpp.org?utm_medium=3Demail&utm_source=3Dfooter">https://groups.google.=
com/a/isocpp.org/d/msgid/std-proposals/0fb06e49-2b80-407e-8cce-03ef4adea947=
%40isocpp.org</a>.<br />
------=_Part_1808_1059074282.1493315026872--
------=_Part_1807_865321643.1493315026871--
.
Author: Matthew Woehlke <mwoehlke.floss@gmail.com>
Date: Thu, 27 Apr 2017 14:06:13 -0400
Raw View
On 2017-04-27 12:58, Hyman Rosen wrote:
> On Thu, Apr 27, 2017 at 12:32 PM, Alberto Barbati wrote:
>>
>> - allow overloading operators || and && without losing short-circuiting;
>> - allow writing efficient assert or logging functions without relying on
>> macros.
>
> I have mentioned a similar thing before. My suggestion was to annotate
> function parameter declarations with a leading [], which would effectively
> turn them into (a kind of) no-argument lambda expressions, with the
> compiler itself creating the lambda to evaluate the argument and passing
> that to the function rather than the argument itself. (They can't be
> "real" lambdas because every lambda has a unique type, so such a function
> would need to turn into a template. But that's just a language thing, not
> a problem with the compiler creating such lambda-like objects.)
Can't they convert to `T (*)()`?
--
Matthew
--
You received this message because you are subscribed to the Google Groups "ISO C++ Standard - Future Proposals" group.
To unsubscribe from this group and stop receiving emails from it, send an email to std-proposals+unsubscribe@isocpp.org.
To post to this group, send email to std-proposals@isocpp.org.
To view this discussion on the web visit https://groups.google.com/a/isocpp.org/d/msgid/std-proposals/94e03a35-5ce1-77d3-a45a-028966873155%40gmail.com.
.
Author: Dan Raviv <dan.raviv@gmail.com>
Date: Thu, 27 Apr 2017 12:26:09 -0700 (PDT)
Raw View
------=_Part_3204_62231409.1493321169528
Content-Type: multipart/alternative;
boundary="----=_Part_3205_1950456735.1493321169528"
------=_Part_3205_1950456735.1493321169528
Content-Type: text/plain; charset=UTF-8
Why not just use some sort of lazy evaluation class and wrap the parameters
you pass in with it?
(e.g. https://www.codeproject.com/Articles/682455/Generic-Lazy-Evaluation-in-Cplusplus)
A few advantages of this vs. the proposal:
- You can have some of the arguments immediately evaluated and some
lazy-evaluated, you don't have to go all-in or nothing
- There's no way of "forgetting" to call evaluate_argument
- There's no need for a new keyword
- It's more explicit which I think is better for this case - explicitly
passing-in a lazy-wrapped object would probably cause less surprises to a
caller than just having the function declaration decide whether or not the
parameter is lazily- or immediately evaluated.
Cheers,
Dan
On Thursday, April 27, 2017 at 6:32:34 PM UTC+2, Alberto Barbati wrote:
>
> Hi Everyone,
>
> Here's my bold attempt at addressing the following practical problems:
>
> - allow overloading operators || and && without losing short-circuiting;
> - allow writing efficient assert or logging functions without relying on
> macros.
>
> Both cases are essentially instances of the same scenario: allow writing
> functions that do not necessarily evaluate all of their arguments.
>
> The goal is achieved by introducing a new kind of functions, that allow
> arguments evaluation to be customized. The proposed approach is a pure core
> language extension.
>
> I am aware that a full proposal is going to require a lot of wording in
> the delicate [intro.execution] section. However, at this early stage, I am
> most interested in the potential implementability of the feature. Of course
> any other feedback is also welcome. Just, please, leave bikeshedding over
> the keywords for later.
>
> Cheers,
>
> Alberto
>
>
--
You received this message because you are subscribed to the Google Groups "ISO C++ Standard - Future Proposals" group.
To unsubscribe from this group and stop receiving emails from it, send an email to std-proposals+unsubscribe@isocpp.org.
To post to this group, send email to std-proposals@isocpp.org.
To view this discussion on the web visit https://groups.google.com/a/isocpp.org/d/msgid/std-proposals/04e0ce66-76df-43e2-a10a-77b4db64ca25%40isocpp.org.
------=_Part_3205_1950456735.1493321169528
Content-Type: text/html; charset=UTF-8
Content-Transfer-Encoding: quoted-printable
<div dir=3D"ltr">Why not just use some sort of lazy evaluation class and wr=
ap the parameters you pass in with it? (e.g.=C2=A0https://www.codeproject.c=
om/Articles/682455/Generic-Lazy-Evaluation-in-Cplusplus)<div><br></div><div=
>A few advantages of this vs. the proposal:</div><div>- You can have some o=
f the arguments immediately evaluated and some lazy-evaluated, you don'=
t have to go all-in or nothing</div><div>- There's no way of "forg=
etting" to call evaluate_argument</div><div>- There's no need for =
a new keyword</div><div>- It's more explicit which I think is better fo=
r this case - explicitly passing-in a lazy-wrapped object would probably ca=
use less surprises to a caller than just having the function declaration de=
cide whether or not the parameter is lazily- or immediately evaluated.</div=
><div><br></div><div>Cheers,</div><div>Dan</div><div><br><br>On Thursday, A=
pril 27, 2017 at 6:32:34 PM UTC+2, Alberto Barbati wrote:<blockquote class=
=3D"gmail_quote" style=3D"margin: 0;margin-left: 0.8ex;border-left: 1px #cc=
c solid;padding-left: 1ex;"><div dir=3D"ltr">Hi Everyone,<br><br>Here's=
my bold attempt at addressing the following practical problems:<br><br>- a=
llow overloading operators || and && without losing short-circuitin=
g;<br>- allow writing efficient assert or logging functions without relying=
on macros.<br><br>Both cases are essentially instances of the same scenari=
o: allow writing functions that do not necessarily evaluate all of their ar=
guments.<br><br>The goal is achieved by introducing a new kind of functions=
, that allow arguments evaluation to be customized. The proposed approach i=
s a pure core language extension.<br><br>I am aware that a full proposal is=
going to require a lot of wording in the delicate [intro.execution] sectio=
n. However, at this early stage, I am most interested in the potential impl=
ementability of the feature. Of course any other feedback is also welcome. =
Just, please, leave bikeshedding over the keywords for later.<br><br>Cheers=
,<br><br>Alberto<br><br></div>
</blockquote></div></div>
<p></p>
-- <br />
You received this message because you are subscribed to the Google Groups &=
quot;ISO C++ Standard - Future Proposals" group.<br />
To unsubscribe from this group and stop receiving emails from it, send an e=
mail to <a href=3D"mailto:std-proposals+unsubscribe@isocpp.org">std-proposa=
ls+unsubscribe@isocpp.org</a>.<br />
To post to this group, send email to <a href=3D"mailto:std-proposals@isocpp=
..org">std-proposals@isocpp.org</a>.<br />
To view this discussion on the web visit <a href=3D"https://groups.google.c=
om/a/isocpp.org/d/msgid/std-proposals/04e0ce66-76df-43e2-a10a-77b4db64ca25%=
40isocpp.org?utm_medium=3Demail&utm_source=3Dfooter">https://groups.google.=
com/a/isocpp.org/d/msgid/std-proposals/04e0ce66-76df-43e2-a10a-77b4db64ca25=
%40isocpp.org</a>.<br />
------=_Part_3205_1950456735.1493321169528--
------=_Part_3204_62231409.1493321169528--
.
Author: Hyman Rosen <hyman.rosen@gmail.com>
Date: Thu, 27 Apr 2017 15:29:16 -0400
Raw View
--94eb2c0c7a1031666f054e2afa2f
Content-Type: text/plain; charset=UTF-8
On Thu, Apr 27, 2017 at 3:26 PM, Dan Raviv <dan.raviv@gmail.com> wrote:
> Why not just use some sort of lazy evaluation class and wrap the
> parameters you pass in with it?
>
Because a proposal like this should make it possible for user-written
*operator&&*, *operator||*, and *operator,* to behave like their built-in
counterparts.
--
You received this message because you are subscribed to the Google Groups "ISO C++ Standard - Future Proposals" group.
To unsubscribe from this group and stop receiving emails from it, send an email to std-proposals+unsubscribe@isocpp.org.
To post to this group, send email to std-proposals@isocpp.org.
To view this discussion on the web visit https://groups.google.com/a/isocpp.org/d/msgid/std-proposals/CAHSYqdbKDY00qPr_xZ1n5%2BcnxQXv6RHrqDXh31m5kf6vNeoNyQ%40mail.gmail.com.
--94eb2c0c7a1031666f054e2afa2f
Content-Type: text/html; charset=UTF-8
Content-Transfer-Encoding: quoted-printable
<div dir=3D"ltr"><div class=3D"gmail_extra"><div class=3D"gmail_quote">On T=
hu, Apr 27, 2017 at 3:26 PM, Dan Raviv <span dir=3D"ltr"><<a href=3D"mai=
lto:dan.raviv@gmail.com" target=3D"_blank">dan.raviv@gmail.com</a>></spa=
n> wrote:<br><blockquote class=3D"gmail_quote" style=3D"margin:0 0 0 .8ex;b=
order-left:1px #ccc solid;padding-left:1ex"><div dir=3D"ltr">Why not just u=
se some sort of lazy evaluation class and wrap the parameters you pass in w=
ith it?</div></blockquote><div><br></div><div>Because a proposal like this =
should make it possible for user-written <font face=3D"monospace, monospace=
"><b>operator&&</b></font>, <font face=3D"monospace, monospace"><b>=
operator||</b></font>, and <font face=3D"monospace, monospace"><b>operator,=
</b></font> to behave like their built-in counterparts.</div></div></div></=
div>
<p></p>
-- <br />
You received this message because you are subscribed to the Google Groups &=
quot;ISO C++ Standard - Future Proposals" group.<br />
To unsubscribe from this group and stop receiving emails from it, send an e=
mail to <a href=3D"mailto:std-proposals+unsubscribe@isocpp.org">std-proposa=
ls+unsubscribe@isocpp.org</a>.<br />
To post to this group, send email to <a href=3D"mailto:std-proposals@isocpp=
..org">std-proposals@isocpp.org</a>.<br />
To view this discussion on the web visit <a href=3D"https://groups.google.c=
om/a/isocpp.org/d/msgid/std-proposals/CAHSYqdbKDY00qPr_xZ1n5%2BcnxQXv6RHrqD=
Xh31m5kf6vNeoNyQ%40mail.gmail.com?utm_medium=3Demail&utm_source=3Dfooter">h=
ttps://groups.google.com/a/isocpp.org/d/msgid/std-proposals/CAHSYqdbKDY00qP=
r_xZ1n5%2BcnxQXv6RHrqDXh31m5kf6vNeoNyQ%40mail.gmail.com</a>.<br />
--94eb2c0c7a1031666f054e2afa2f--
.
Author: Dan Raviv <dan.raviv@gmail.com>
Date: Thu, 27 Apr 2017 12:53:27 -0700 (PDT)
Raw View
------=_Part_6051_571753867.1493322807715
Content-Type: multipart/alternative;
boundary="----=_Part_6052_568485492.1493322807715"
------=_Part_6052_568485492.1493322807715
Content-Type: text/plain; charset=UTF-8
I see your point. But, while Alberto's proposal above does enable writing
short-circuited overloaded operators, it also allows far more complex logic
(arbitrary conditional evaluation in any order, which may vary in runtime),
which in turn has some downsides vs. passing in lazy objects which I've
listed above.
Maybe there is a better way, enabling just this short-circuited behavior
and not an arbitrary one (which perhaps would be better left to using
explicit lazy objects)
Cheers,
Dan
On Thursday, April 27, 2017 at 9:29:38 PM UTC+2, Hyman Rosen wrote:
>
> On Thu, Apr 27, 2017 at 3:26 PM, Dan Raviv <dan....@gmail.com
> <javascript:>> wrote:
>
>> Why not just use some sort of lazy evaluation class and wrap the
>> parameters you pass in with it?
>>
>
> Because a proposal like this should make it possible for user-written
> *operator&&*, *operator||*, and *operator,* to behave like their built-in
> counterparts.
>
--
You received this message because you are subscribed to the Google Groups "ISO C++ Standard - Future Proposals" group.
To unsubscribe from this group and stop receiving emails from it, send an email to std-proposals+unsubscribe@isocpp.org.
To post to this group, send email to std-proposals@isocpp.org.
To view this discussion on the web visit https://groups.google.com/a/isocpp.org/d/msgid/std-proposals/c277cba7-2396-4f99-a6c8-cc9dc0bd6321%40isocpp.org.
------=_Part_6052_568485492.1493322807715
Content-Type: text/html; charset=UTF-8
Content-Transfer-Encoding: quoted-printable
<div dir=3D"ltr">I see your point. But, while Alberto's proposal above =
does enable writing short-circuited overloaded operators, it also allows fa=
r more complex logic (arbitrary conditional evaluation in any order, which =
may vary in runtime), which in turn has some downsides vs. passing in lazy =
objects which I've listed above.<div><br></div><div>Maybe there is a be=
tter way, enabling just this short-circuited behavior and not an arbitrary =
one (which perhaps would be better left to using explicit lazy objects)<br>=
<br>Cheers,</div><div>Dan</div><div><br>On Thursday, April 27, 2017 at 9:29=
:38 PM UTC+2, Hyman Rosen wrote:<blockquote class=3D"gmail_quote" style=3D"=
margin: 0;margin-left: 0.8ex;border-left: 1px #ccc solid;padding-left: 1ex;=
"><div dir=3D"ltr"><div><div class=3D"gmail_quote">On Thu, Apr 27, 2017 at =
3:26 PM, Dan Raviv <span dir=3D"ltr"><<a href=3D"javascript:" target=3D"=
_blank" gdf-obfuscated-mailto=3D"g3HxDUNpAQAJ" rel=3D"nofollow" onmousedown=
=3D"this.href=3D'javascript:';return true;" onclick=3D"this.href=3D=
'javascript:';return true;">dan....@gmail.com</a>></span> wrote:=
<br><blockquote class=3D"gmail_quote" style=3D"margin:0 0 0 .8ex;border-lef=
t:1px #ccc solid;padding-left:1ex"><div dir=3D"ltr">Why not just use some s=
ort of lazy evaluation class and wrap the parameters you pass in with it?</=
div></blockquote><div><br></div><div>Because a proposal like this should ma=
ke it possible for user-written <font face=3D"monospace, monospace"><b>oper=
ator&&</b></font>, <font face=3D"monospace, monospace"><b>operator|=
|</b></font>, and <font face=3D"monospace, monospace"><b>operator,</b></fon=
t> to behave like their built-in counterparts.</div></div></div></div>
</blockquote></div></div>
<p></p>
-- <br />
You received this message because you are subscribed to the Google Groups &=
quot;ISO C++ Standard - Future Proposals" group.<br />
To unsubscribe from this group and stop receiving emails from it, send an e=
mail to <a href=3D"mailto:std-proposals+unsubscribe@isocpp.org">std-proposa=
ls+unsubscribe@isocpp.org</a>.<br />
To post to this group, send email to <a href=3D"mailto:std-proposals@isocpp=
..org">std-proposals@isocpp.org</a>.<br />
To view this discussion on the web visit <a href=3D"https://groups.google.c=
om/a/isocpp.org/d/msgid/std-proposals/c277cba7-2396-4f99-a6c8-cc9dc0bd6321%=
40isocpp.org?utm_medium=3Demail&utm_source=3Dfooter">https://groups.google.=
com/a/isocpp.org/d/msgid/std-proposals/c277cba7-2396-4f99-a6c8-cc9dc0bd6321=
%40isocpp.org</a>.<br />
------=_Part_6052_568485492.1493322807715--
------=_Part_6051_571753867.1493322807715--
.
Author: Hyman Rosen <hyman.rosen@gmail.com>
Date: Thu, 27 Apr 2017 16:27:54 -0400
Raw View
--001a1147a97ee60d82054e2bcb26
Content-Type: text/plain; charset=UTF-8
On Thu, Apr 27, 2017 at 3:53 PM, Dan Raviv <dan.raviv@gmail.com> wrote:
>
> Maybe there is a better way, enabling just this short-circuited behavior
> and not an arbitrary one (which perhaps would be better left to using
> explicit lazy objects)
>
I would disagree - I want a single unifying mechanism for which people can
find novel and unanticipated uses, not a(nother) morass of special cases.
I acknowledge that I do not often get what I want.
--
You received this message because you are subscribed to the Google Groups "ISO C++ Standard - Future Proposals" group.
To unsubscribe from this group and stop receiving emails from it, send an email to std-proposals+unsubscribe@isocpp.org.
To post to this group, send email to std-proposals@isocpp.org.
To view this discussion on the web visit https://groups.google.com/a/isocpp.org/d/msgid/std-proposals/CAHSYqdaSS%3DwvrrvrjQkO1jHH4tELvPShZ8sttYtiD00ghdeMWA%40mail.gmail.com.
--001a1147a97ee60d82054e2bcb26
Content-Type: text/html; charset=UTF-8
Content-Transfer-Encoding: quoted-printable
<div dir=3D"ltr"><div class=3D"gmail_extra"><div class=3D"gmail_quote">On T=
hu, Apr 27, 2017 at 3:53 PM, Dan Raviv <span dir=3D"ltr"><<a href=3D"mai=
lto:dan.raviv@gmail.com" target=3D"_blank">dan.raviv@gmail.com</a>></spa=
n> wrote:<blockquote class=3D"gmail_quote" style=3D"margin:0 0 0 .8ex;borde=
r-left:1px #ccc solid;padding-left:1ex"><div dir=3D"ltr"><div>Maybe there i=
s a better way, enabling just this short-circuited behavior and not an arbi=
trary one (which perhaps would be better left to using explicit lazy object=
s)</div></div></blockquote><div><br>I would disagree - I want a single unif=
ying mechanism for which people can find novel and unanticipated uses, not =
a(nother) morass of special cases.=C2=A0 I acknowledge that I do not often =
get what I want.</div></div></div></div>
<p></p>
-- <br />
You received this message because you are subscribed to the Google Groups &=
quot;ISO C++ Standard - Future Proposals" group.<br />
To unsubscribe from this group and stop receiving emails from it, send an e=
mail to <a href=3D"mailto:std-proposals+unsubscribe@isocpp.org">std-proposa=
ls+unsubscribe@isocpp.org</a>.<br />
To post to this group, send email to <a href=3D"mailto:std-proposals@isocpp=
..org">std-proposals@isocpp.org</a>.<br />
To view this discussion on the web visit <a href=3D"https://groups.google.c=
om/a/isocpp.org/d/msgid/std-proposals/CAHSYqdaSS%3DwvrrvrjQkO1jHH4tELvPShZ8=
sttYtiD00ghdeMWA%40mail.gmail.com?utm_medium=3Demail&utm_source=3Dfooter">h=
ttps://groups.google.com/a/isocpp.org/d/msgid/std-proposals/CAHSYqdaSS%3Dwv=
rrvrjQkO1jHH4tELvPShZ8sttYtiD00ghdeMWA%40mail.gmail.com</a>.<br />
--001a1147a97ee60d82054e2bcb26--
.
Author: Dan Raviv <dan.raviv@gmail.com>
Date: Thu, 27 Apr 2017 22:36:47 +0200
Raw View
--001a11352ce2aa070a054e2bebea
Content-Type: text/plain; charset=UTF-8
A single unifying mechanism would be great - but the one suggested above
has some significant disadvantages vs., e.g., using lazy objects as the
single unifying mechanism (which, in turn, has the disadvantage of not
allowing short-circuiting as naturally). Specifically, notice that it is
*less* generic than using lazy objects, in that it is an all-or-nothing
solution - you can't have some immediately evaluated and some lazily
evaluated.
Of course, it's possible there is a single unifying mechanism which has all
the advantages and non of the drawbacks, which is just not mentioned yet in
this thread :)
Cheers,
Dan
On Thu, Apr 27, 2017 at 10:27 PM, Hyman Rosen <hyman.rosen@gmail.com> wrote:
> On Thu, Apr 27, 2017 at 3:53 PM, Dan Raviv <dan.raviv@gmail.com> wrote:
>>
>> Maybe there is a better way, enabling just this short-circuited behavior
>> and not an arbitrary one (which perhaps would be better left to using
>> explicit lazy objects)
>>
>
> I would disagree - I want a single unifying mechanism for which people can
> find novel and unanticipated uses, not a(nother) morass of special cases.
> I acknowledge that I do not often get what I want.
>
> --
> You received this message because you are subscribed to the Google Groups
> "ISO C++ Standard - Future Proposals" group.
> To unsubscribe from this group and stop receiving emails from it, send an
> email to std-proposals+unsubscribe@isocpp.org.
> To post to this group, send email to std-proposals@isocpp.org.
> To view this discussion on the web visit https://groups.google.com/a/
> isocpp.org/d/msgid/std-proposals/CAHSYqdaSS%3DwvrrvrjQkO1jHH4tELvPShZ8sttY
> tiD00ghdeMWA%40mail.gmail.com
> <https://groups.google.com/a/isocpp.org/d/msgid/std-proposals/CAHSYqdaSS%3DwvrrvrjQkO1jHH4tELvPShZ8sttYtiD00ghdeMWA%40mail.gmail.com?utm_medium=email&utm_source=footer>
> .
>
--
You received this message because you are subscribed to the Google Groups "ISO C++ Standard - Future Proposals" group.
To unsubscribe from this group and stop receiving emails from it, send an email to std-proposals+unsubscribe@isocpp.org.
To post to this group, send email to std-proposals@isocpp.org.
To view this discussion on the web visit https://groups.google.com/a/isocpp.org/d/msgid/std-proposals/CADw4SdRw7aV-92hgMzw5gUpyNY%2Bd%2BiBinT9%3DKw_WBTW%2BXq8igA%40mail.gmail.com.
--001a11352ce2aa070a054e2bebea
Content-Type: text/html; charset=UTF-8
Content-Transfer-Encoding: quoted-printable
<div dir=3D"ltr">A single unifying mechanism would be great - but the one s=
uggested above has some significant disadvantages vs., e.g., using lazy obj=
ects as the single unifying mechanism (which, in turn, has the disadvantage=
of not allowing short-circuiting as naturally). Specifically, notice that =
it is *less* generic than using lazy objects, in that it is an all-or-nothi=
ng solution - you can't have some immediately evaluated and some lazily=
evaluated.<div><br></div><div>Of course, it's possible there is a sing=
le unifying mechanism which has all the advantages and non of the drawbacks=
, which is just not mentioned yet in this thread :)</div><div><br></div><di=
v>Cheers,</div><div>Dan</div></div><div class=3D"gmail_extra"><br><div clas=
s=3D"gmail_quote">On Thu, Apr 27, 2017 at 10:27 PM, Hyman Rosen <span dir=
=3D"ltr"><<a href=3D"mailto:hyman.rosen@gmail.com" target=3D"_blank">hym=
an.rosen@gmail.com</a>></span> wrote:<br><blockquote class=3D"gmail_quot=
e" style=3D"margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex">=
<div dir=3D"ltr"><div class=3D"gmail_extra"><div class=3D"gmail_quote"><spa=
n class=3D"">On Thu, Apr 27, 2017 at 3:53 PM, Dan Raviv <span dir=3D"ltr">&=
lt;<a href=3D"mailto:dan.raviv@gmail.com" target=3D"_blank">dan.raviv@gmail=
..com</a>></span> wrote:<blockquote class=3D"gmail_quote" style=3D"margin=
:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex"><div dir=3D"ltr"><=
div>Maybe there is a better way, enabling just this short-circuited behavio=
r and not an arbitrary one (which perhaps would be better left to using exp=
licit lazy objects)</div></div></blockquote></span><div><br>I would disagre=
e - I want a single unifying mechanism for which people can find novel and =
unanticipated uses, not a(nother) morass of special cases.=C2=A0 I acknowle=
dge that I do not often get what I want.</div></div></div></div><span class=
=3D"">
<p></p>
-- <br>
You received this message because you are subscribed to the Google Groups &=
quot;ISO C++ Standard - Future Proposals" group.<br>
To unsubscribe from this group and stop receiving emails from it, send an e=
mail to <a href=3D"mailto:std-proposals+unsubscribe@isocpp.org" target=3D"_=
blank">std-proposals+unsubscribe@<wbr>isocpp.org</a>.<br>
To post to this group, send email to <a href=3D"mailto:std-proposals@isocpp=
..org" target=3D"_blank">std-proposals@isocpp.org</a>.<br></span>
To view this discussion on the web visit <a href=3D"https://groups.google.c=
om/a/isocpp.org/d/msgid/std-proposals/CAHSYqdaSS%3DwvrrvrjQkO1jHH4tELvPShZ8=
sttYtiD00ghdeMWA%40mail.gmail.com?utm_medium=3Demail&utm_source=3Dfoote=
r" target=3D"_blank">https://groups.google.com/a/<wbr>isocpp.org/d/msgid/st=
d-<wbr>proposals/CAHSYqdaSS%<wbr>3DwvrrvrjQkO1jHH4tELvPShZ8sttY<wbr>tiD00gh=
deMWA%40mail.gmail.com</a>.<br>
</blockquote></div><br></div>
<p></p>
-- <br />
You received this message because you are subscribed to the Google Groups &=
quot;ISO C++ Standard - Future Proposals" group.<br />
To unsubscribe from this group and stop receiving emails from it, send an e=
mail to <a href=3D"mailto:std-proposals+unsubscribe@isocpp.org">std-proposa=
ls+unsubscribe@isocpp.org</a>.<br />
To post to this group, send email to <a href=3D"mailto:std-proposals@isocpp=
..org">std-proposals@isocpp.org</a>.<br />
To view this discussion on the web visit <a href=3D"https://groups.google.c=
om/a/isocpp.org/d/msgid/std-proposals/CADw4SdRw7aV-92hgMzw5gUpyNY%2Bd%2BiBi=
nT9%3DKw_WBTW%2BXq8igA%40mail.gmail.com?utm_medium=3Demail&utm_source=3Dfoo=
ter">https://groups.google.com/a/isocpp.org/d/msgid/std-proposals/CADw4SdRw=
7aV-92hgMzw5gUpyNY%2Bd%2BiBinT9%3DKw_WBTW%2BXq8igA%40mail.gmail.com</a>.<br=
/>
--001a11352ce2aa070a054e2bebea--
.
Author: Hyman Rosen <hyman.rosen@gmail.com>
Date: Thu, 27 Apr 2017 17:46:36 -0400
Raw View
--001a11c008ba5bc281054e2ce572
Content-Type: text/plain; charset=UTF-8
On Thu, Apr 27, 2017 at 4:36 PM, Dan Raviv <dan.raviv@gmail.com> wrote:
>
> Of course, it's possible there is a single unifying mechanism which has
> all the advantages and non of the drawbacks, which is just not mentioned
> yet in this thread :)
>
I thought that call-by-name (i.e., lambdafying individual function
parameters) *is* that unifying mechanism. What's wrong with it?
--
You received this message because you are subscribed to the Google Groups "ISO C++ Standard - Future Proposals" group.
To unsubscribe from this group and stop receiving emails from it, send an email to std-proposals+unsubscribe@isocpp.org.
To post to this group, send email to std-proposals@isocpp.org.
To view this discussion on the web visit https://groups.google.com/a/isocpp.org/d/msgid/std-proposals/CAHSYqdaor%2BFmcTEmX9Y-5a%2BUyUbbx9ApNmeU_4iXb9XS4%2BX9jQ%40mail.gmail.com.
--001a11c008ba5bc281054e2ce572
Content-Type: text/html; charset=UTF-8
Content-Transfer-Encoding: quoted-printable
<div dir=3D"ltr"><div class=3D"gmail_extra"><div class=3D"gmail_quote">On T=
hu, Apr 27, 2017 at 4:36 PM, Dan Raviv <span dir=3D"ltr"><<a href=3D"mai=
lto:dan.raviv@gmail.com" target=3D"_blank">dan.raviv@gmail.com</a>></spa=
n> wrote:<blockquote class=3D"gmail_quote" style=3D"margin:0 0 0 .8ex;borde=
r-left:1px #ccc solid;padding-left:1ex"><div dir=3D"ltr"><div>Of course, it=
's possible there is a single unifying mechanism which has all the adva=
ntages and non of the drawbacks, which is just not mentioned yet in this th=
read :)</div></div></blockquote><div><br></div><div>I thought that call-by-=
name (i.e., lambdafying individual function parameters) <i>is</i> that unif=
ying mechanism.=C2=A0 What's wrong with it?</div></div></div></div>
<p></p>
-- <br />
You received this message because you are subscribed to the Google Groups &=
quot;ISO C++ Standard - Future Proposals" group.<br />
To unsubscribe from this group and stop receiving emails from it, send an e=
mail to <a href=3D"mailto:std-proposals+unsubscribe@isocpp.org">std-proposa=
ls+unsubscribe@isocpp.org</a>.<br />
To post to this group, send email to <a href=3D"mailto:std-proposals@isocpp=
..org">std-proposals@isocpp.org</a>.<br />
To view this discussion on the web visit <a href=3D"https://groups.google.c=
om/a/isocpp.org/d/msgid/std-proposals/CAHSYqdaor%2BFmcTEmX9Y-5a%2BUyUbbx9Ap=
NmeU_4iXb9XS4%2BX9jQ%40mail.gmail.com?utm_medium=3Demail&utm_source=3Dfoote=
r">https://groups.google.com/a/isocpp.org/d/msgid/std-proposals/CAHSYqdaor%=
2BFmcTEmX9Y-5a%2BUyUbbx9ApNmeU_4iXb9XS4%2BX9jQ%40mail.gmail.com</a>.<br />
--001a11c008ba5bc281054e2ce572--
.
Author: Dan Raviv <dan.raviv@gmail.com>
Date: Thu, 27 Apr 2017 23:56:45 +0200
Raw View
--001a113cc33ea1da05054e2d09fe
Content-Type: text/plain; charset=UTF-8
My previous references were to the OP's attached proposal. Sorry if I
wasn't clear about that.
Reading your own short description of your proposal, I actually like it.
Cheers,
Dan
On Thu, Apr 27, 2017 at 11:46 PM, Hyman Rosen <hyman.rosen@gmail.com> wrote:
> On Thu, Apr 27, 2017 at 4:36 PM, Dan Raviv <dan.raviv@gmail.com> wrote:
>>
>> Of course, it's possible there is a single unifying mechanism which has
>> all the advantages and non of the drawbacks, which is just not mentioned
>> yet in this thread :)
>>
>
> I thought that call-by-name (i.e., lambdafying individual function
> parameters) *is* that unifying mechanism. What's wrong with it?
>
> --
> You received this message because you are subscribed to the Google Groups
> "ISO C++ Standard - Future Proposals" group.
> To unsubscribe from this group and stop receiving emails from it, send an
> email to std-proposals+unsubscribe@isocpp.org.
> To post to this group, send email to std-proposals@isocpp.org.
> To view this discussion on the web visit https://groups.google.com/a/
> isocpp.org/d/msgid/std-proposals/CAHSYqdaor%2BFmcTEmX9Y-5a%
> 2BUyUbbx9ApNmeU_4iXb9XS4%2BX9jQ%40mail.gmail.com
> <https://groups.google.com/a/isocpp.org/d/msgid/std-proposals/CAHSYqdaor%2BFmcTEmX9Y-5a%2BUyUbbx9ApNmeU_4iXb9XS4%2BX9jQ%40mail.gmail.com?utm_medium=email&utm_source=footer>
> .
>
--
You received this message because you are subscribed to the Google Groups "ISO C++ Standard - Future Proposals" group.
To unsubscribe from this group and stop receiving emails from it, send an email to std-proposals+unsubscribe@isocpp.org.
To post to this group, send email to std-proposals@isocpp.org.
To view this discussion on the web visit https://groups.google.com/a/isocpp.org/d/msgid/std-proposals/CADw4SdRAftPayASJZ0E%2B3T2q8a_Q0YJDexvUo_D8yC7gKYNR5w%40mail.gmail.com.
--001a113cc33ea1da05054e2d09fe
Content-Type: text/html; charset=UTF-8
Content-Transfer-Encoding: quoted-printable
<div dir=3D"ltr">My previous references were to the OP's attached propo=
sal. Sorry if I wasn't clear about that.<div><br></div><div>Reading you=
r own short description of your proposal, I actually like it.<br><div><br><=
/div><div>Cheers,</div><div>Dan</div></div></div><div class=3D"gmail_extra"=
><br><div class=3D"gmail_quote">On Thu, Apr 27, 2017 at 11:46 PM, Hyman Ros=
en <span dir=3D"ltr"><<a href=3D"mailto:hyman.rosen@gmail.com" target=3D=
"_blank">hyman.rosen@gmail.com</a>></span> wrote:<br><blockquote class=
=3D"gmail_quote" style=3D"margin:0 0 0 .8ex;border-left:1px #ccc solid;padd=
ing-left:1ex"><div dir=3D"ltr"><div class=3D"gmail_extra"><div class=3D"gma=
il_quote"><span class=3D"">On Thu, Apr 27, 2017 at 4:36 PM, Dan Raviv <span=
dir=3D"ltr"><<a href=3D"mailto:dan.raviv@gmail.com" target=3D"_blank">d=
an.raviv@gmail.com</a>></span> wrote:<blockquote class=3D"gmail_quote" s=
tyle=3D"margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex"><div=
dir=3D"ltr"><div>Of course, it's possible there is a single unifying m=
echanism which has all the advantages and non of the drawbacks, which is ju=
st not mentioned yet in this thread :)</div></div></blockquote><div><br></d=
iv></span><div>I thought that call-by-name (i.e., lambdafying individual fu=
nction parameters) <i>is</i> that unifying mechanism.=C2=A0 What's wron=
g with it?</div></div></div></div><span class=3D"">
<p></p>
-- <br>
You received this message because you are subscribed to the Google Groups &=
quot;ISO C++ Standard - Future Proposals" group.<br>
To unsubscribe from this group and stop receiving emails from it, send an e=
mail to <a href=3D"mailto:std-proposals+unsubscribe@isocpp.org" target=3D"_=
blank">std-proposals+unsubscribe@<wbr>isocpp.org</a>.<br>
To post to this group, send email to <a href=3D"mailto:std-proposals@isocpp=
..org" target=3D"_blank">std-proposals@isocpp.org</a>.<br></span>
To view this discussion on the web visit <a href=3D"https://groups.google.c=
om/a/isocpp.org/d/msgid/std-proposals/CAHSYqdaor%2BFmcTEmX9Y-5a%2BUyUbbx9Ap=
NmeU_4iXb9XS4%2BX9jQ%40mail.gmail.com?utm_medium=3Demail&utm_source=3Df=
ooter" target=3D"_blank">https://groups.google.com/a/<wbr>isocpp.org/d/msgi=
d/std-<wbr>proposals/CAHSYqdaor%<wbr>2BFmcTEmX9Y-5a%<wbr>2BUyUbbx9ApNmeU_4i=
Xb9XS4%<wbr>2BX9jQ%40mail.gmail.com</a>.<br>
</blockquote></div><br></div>
<p></p>
-- <br />
You received this message because you are subscribed to the Google Groups &=
quot;ISO C++ Standard - Future Proposals" group.<br />
To unsubscribe from this group and stop receiving emails from it, send an e=
mail to <a href=3D"mailto:std-proposals+unsubscribe@isocpp.org">std-proposa=
ls+unsubscribe@isocpp.org</a>.<br />
To post to this group, send email to <a href=3D"mailto:std-proposals@isocpp=
..org">std-proposals@isocpp.org</a>.<br />
To view this discussion on the web visit <a href=3D"https://groups.google.c=
om/a/isocpp.org/d/msgid/std-proposals/CADw4SdRAftPayASJZ0E%2B3T2q8a_Q0YJDex=
vUo_D8yC7gKYNR5w%40mail.gmail.com?utm_medium=3Demail&utm_source=3Dfooter">h=
ttps://groups.google.com/a/isocpp.org/d/msgid/std-proposals/CADw4SdRAftPayA=
SJZ0E%2B3T2q8a_Q0YJDexvUo_D8yC7gKYNR5w%40mail.gmail.com</a>.<br />
--001a113cc33ea1da05054e2d09fe--
.
Author: Alberto Barbati <albertobarbati@gmail.com>
Date: Fri, 28 Apr 2017 00:08:00 -0700 (PDT)
Raw View
------=_Part_466_572851612.1493363280339
Content-Type: multipart/alternative;
boundary="----=_Part_467_500763037.1493363280339"
------=_Part_467_500763037.1493363280339
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: quoted-printable
Il giorno gioved=C3=AC 27 aprile 2017 18:58:47 UTC+2, Hyman Rosen ha scritt=
o:
>
> On Thu, Apr 27, 2017 at 12:32 PM, Alberto Barbati <alberto...@gmail.com=
=20
> <javascript:>> wrote:
>>
>> - allow overloading operators || and && without losing short-circuiting;
>> - allow writing efficient assert or logging functions without relying on=
=20
>> macros.
>>
>
> I have mentioned a similar thing before. My suggestion was to annotate=
=20
> function parameter declarations with a leading [], which would effectivel=
y=20
> turn them into (a kind of) no-argument lambda expressions, with the=20
> compiler itself creating the lambda to evaluate the argument and passing=
=20
> that to the function rather than the argument itself. (They can't be=20
> "real" lambdas because every lambda has a unique type, so such a function=
=20
> would need to turn into a template. But that's just a language thing, no=
t=20
> a problem with the compiler creating such lambda-like objects.)
>
> In the function, getting an rvalue or lvalue of the parameter would invok=
e=20
> the lambda. (Whether only once or each time is the same question you=20
> faced.)
>
I admit that I did not think about parameters-as-lambdas when I wrote my=20
proposal. It seems a good idea to me, which could also allow to have the=20
feature without requiring the function to be expanded inline (and therefore=
=20
to have the definition visible at the point of invocation). If we design=20
the wording carefully, we might still allow argument expressions to be=20
expanded inline as a QoI issue.
--=20
You received this message because you are subscribed to the Google Groups "=
ISO C++ Standard - Future Proposals" group.
To unsubscribe from this group and stop receiving emails from it, send an e=
mail to std-proposals+unsubscribe@isocpp.org.
To post to this group, send email to std-proposals@isocpp.org.
To view this discussion on the web visit https://groups.google.com/a/isocpp=
..org/d/msgid/std-proposals/cb04bca5-a05a-42b3-b486-1dd6c243927e%40isocpp.or=
g.
------=_Part_467_500763037.1493363280339
Content-Type: text/html; charset=UTF-8
Content-Transfer-Encoding: quoted-printable
<div dir=3D"ltr">Il giorno gioved=C3=AC 27 aprile 2017 18:58:47 UTC+2, Hyma=
n Rosen ha scritto:<blockquote class=3D"gmail_quote" style=3D"margin: 0;mar=
gin-left: 0.8ex;border-left: 1px #ccc solid;padding-left: 1ex;"><div dir=3D=
"ltr"><div><div class=3D"gmail_quote">On Thu, Apr 27, 2017 at 12:32 PM, Alb=
erto Barbati <span dir=3D"ltr"><<a href=3D"javascript:" target=3D"_blank=
" gdf-obfuscated-mailto=3D"wV7MygdhAQAJ" rel=3D"nofollow" onmousedown=3D"th=
is.href=3D'javascript:';return true;" onclick=3D"this.href=3D'j=
avascript:';return true;">alberto...@gmail.com</a>></span> wrote:<bl=
ockquote class=3D"gmail_quote" style=3D"margin:0 0 0 .8ex;border-left:1px #=
ccc solid;padding-left:1ex"><div dir=3D"ltr">- allow overloading operators =
|| and && without losing short-circuiting;<br>- allow writing effic=
ient assert or logging functions without relying on macros.</div></blockquo=
te><div><br>I have mentioned a similar thing before.=C2=A0 My suggestion wa=
s to annotate function parameter declarations with a leading [], which woul=
d effectively turn them into (a kind of) no-argument lambda expressions, wi=
th the compiler itself creating the lambda to evaluate the argument and pas=
sing that to the function rather than the argument itself. =C2=A0(They can&=
#39;t be "real" lambdas because every lambda has a unique type, s=
o such a function would need to turn into a template.=C2=A0 But that's =
just a language thing, not a problem with the compiler creating such lambda=
-like objects.)<br><br>In the function, getting an rvalue or lvalue of the =
parameter would invoke the lambda. =C2=A0(Whether only once or each time is=
the same question you faced.)</div></div></div></div></blockquote><div><br=
>I admit that I did not think about parameters-as-lambdas when I wrote my p=
roposal. It seems a good idea to me, which could also allow to have the fea=
ture without requiring the function to be expanded inline (and therefore to=
have the definition visible at the point of invocation). If we design the =
wording carefully, we might still allow argument expressions to be expanded=
inline as a QoI issue.<br></div></div>
<p></p>
-- <br />
You received this message because you are subscribed to the Google Groups &=
quot;ISO C++ Standard - Future Proposals" group.<br />
To unsubscribe from this group and stop receiving emails from it, send an e=
mail to <a href=3D"mailto:std-proposals+unsubscribe@isocpp.org">std-proposa=
ls+unsubscribe@isocpp.org</a>.<br />
To post to this group, send email to <a href=3D"mailto:std-proposals@isocpp=
..org">std-proposals@isocpp.org</a>.<br />
To view this discussion on the web visit <a href=3D"https://groups.google.c=
om/a/isocpp.org/d/msgid/std-proposals/cb04bca5-a05a-42b3-b486-1dd6c243927e%=
40isocpp.org?utm_medium=3Demail&utm_source=3Dfooter">https://groups.google.=
com/a/isocpp.org/d/msgid/std-proposals/cb04bca5-a05a-42b3-b486-1dd6c243927e=
%40isocpp.org</a>.<br />
------=_Part_467_500763037.1493363280339--
------=_Part_466_572851612.1493363280339--
.
Author: Alberto Barbati <albertobarbati@gmail.com>
Date: Fri, 28 Apr 2017 00:18:09 -0700 (PDT)
Raw View
------=_Part_210_327487366.1493363889793
Content-Type: multipart/alternative;
boundary="----=_Part_211_1251893016.1493363889793"
------=_Part_211_1251893016.1493363889793
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: quoted-printable
Il giorno gioved=C3=AC 27 aprile 2017 21:26:09 UTC+2, Dan Raviv ha scritto:
>
> Why not just use some sort of lazy evaluation class and wrap the=20
> parameters you pass in with it? (e.g.=20
> https://www.codeproject.com/Articles/682455/Generic-Lazy-Evaluation-in-Cp=
lusplus
> )
>
This approach is substantially different and inferior in my humble opinion,=
=20
since it require significant boilerplate at the call-site. Of course to=20
achieve the goal you require a little more code, but do you prefer to have=
=20
it just once in the function definition or spreaded multiple times across=
=20
all function invocations? I prefer the former.
> A few advantages of this vs. the proposal:
> - You can have some of the arguments immediately evaluated and some=20
> lazy-evaluated, you don't have to go all-in or nothing
>
This is interesting and might be considered, but it's a sort of tweak that=
=20
I would think about after implementability of the idea is assessed.
- There's no way of "forgetting" to call evaluate_argument
>
I expect compilers to be able to remind that to you of that with a=20
diagnostic.
- There's no need for a new keyword
>
I'm aware a new keyword is a cost. However, if the benefits of a feature=20
justify the cost, this might not be a problem.
- It's more explicit which I think is better for this case - explicitly=20
> passing-in a lazy-wrapped object would probably cause less surprises to a=
=20
> caller than just having the function declaration decide whether or not th=
e=20
> parameter is lazily- or immediately evaluated.
>
=20
I expected this objection. Actually, I believe this to be a feature, not a=
=20
bug, of the proposal. Of course, that's just my opinion.
--=20
You received this message because you are subscribed to the Google Groups "=
ISO C++ Standard - Future Proposals" group.
To unsubscribe from this group and stop receiving emails from it, send an e=
mail to std-proposals+unsubscribe@isocpp.org.
To post to this group, send email to std-proposals@isocpp.org.
To view this discussion on the web visit https://groups.google.com/a/isocpp=
..org/d/msgid/std-proposals/161cd33a-8977-4469-86cc-a8db2ca73949%40isocpp.or=
g.
------=_Part_211_1251893016.1493363889793
Content-Type: text/html; charset=UTF-8
Content-Transfer-Encoding: quoted-printable
<div dir=3D"ltr"><br><br>Il giorno gioved=C3=AC 27 aprile 2017 21:26:09 UTC=
+2, Dan Raviv ha scritto:<blockquote class=3D"gmail_quote" style=3D"margin:=
0;margin-left: 0.8ex;border-left: 1px #ccc solid;padding-left: 1ex;"><div =
dir=3D"ltr">Why not just use some sort of lazy evaluation class and wrap th=
e parameters you pass in with it? (e.g.=C2=A0<a href=3D"https://www.codepro=
ject.com/Articles/682455/Generic-Lazy-Evaluation-in-Cplusplus" target=3D"_b=
lank" rel=3D"nofollow" onmousedown=3D"this.href=3D'https://www.google.c=
om/url?q\x3dhttps%3A%2F%2Fwww.codeproject.com%2FArticles%2F682455%2FGeneric=
-Lazy-Evaluation-in-Cplusplus\x26sa\x3dD\x26sntz\x3d1\x26usg\x3dAFQjCNHojZ1=
ESt3RhVooEtcjcEzIznqvZA';return true;" onclick=3D"this.href=3D'http=
s://www.google.com/url?q\x3dhttps%3A%2F%2Fwww.codeproject.com%2FArticles%2F=
682455%2FGeneric-Lazy-Evaluation-in-Cplusplus\x26sa\x3dD\x26sntz\x3d1\x26us=
g\x3dAFQjCNHojZ1ESt3RhVooEtcjcEzIznqvZA';return true;">https://www.code=
project.<wbr>com/Articles/682455/Generic-<wbr>Lazy-Evaluation-in-Cplusplus<=
/a>)</div></blockquote><div><br>This approach is substantially different an=
d inferior in my humble opinion, since it require significant boilerplate a=
t the call-site. Of course to achieve the goal you require a little more co=
de, but do you prefer to have it just once in the function definition or sp=
readed multiple times across all function invocations? I prefer the former.=
<br><br></div><blockquote class=3D"gmail_quote" style=3D"margin: 0;margin-l=
eft: 0.8ex;border-left: 1px #ccc solid;padding-left: 1ex;"><div dir=3D"ltr"=
><div><br></div><div>A few advantages of this vs. the proposal:</div><div>-=
You can have some of the arguments immediately evaluated and some lazy-eva=
luated, you don't have to go all-in or nothing</div></div></blockquote>=
<div><br>This is interesting and might be considered, but it's a sort o=
f tweak that I would think about after implementability of the idea is asse=
ssed.<br><br></div><blockquote class=3D"gmail_quote" style=3D"margin: 0;mar=
gin-left: 0.8ex;border-left: 1px #ccc solid;padding-left: 1ex;"><div dir=3D=
"ltr"><div>- There's no way of "forgetting" to call evaluate_=
argument</div></div></blockquote><div><br>I expect compilers to be able to =
remind that to you of that with a diagnostic.<br><br></div><blockquote clas=
s=3D"gmail_quote" style=3D"margin: 0;margin-left: 0.8ex;border-left: 1px #c=
cc solid;padding-left: 1ex;"><div dir=3D"ltr"><div>- There's no need fo=
r a new keyword</div></div></blockquote><div><br>I'm aware a new keywor=
d is a cost. However, if the benefits of a feature justify the cost, this m=
ight not be a problem.<br><br></div><blockquote class=3D"gmail_quote" style=
=3D"margin: 0;margin-left: 0.8ex;border-left: 1px #ccc solid;padding-left: =
1ex;"><div dir=3D"ltr"><div>- It's more explicit which I think is bette=
r for this case - explicitly passing-in a lazy-wrapped object would probabl=
y cause less surprises to a caller than just having the function declaratio=
n decide whether or not the parameter is lazily- or immediately evaluated.<=
/div></div></blockquote><div>=C2=A0<br>I expected this objection. Actually,=
I believe this to be a feature, not a bug, of the proposal. Of course, tha=
t's just my opinion.<br></div></div>
<p></p>
-- <br />
You received this message because you are subscribed to the Google Groups &=
quot;ISO C++ Standard - Future Proposals" group.<br />
To unsubscribe from this group and stop receiving emails from it, send an e=
mail to <a href=3D"mailto:std-proposals+unsubscribe@isocpp.org">std-proposa=
ls+unsubscribe@isocpp.org</a>.<br />
To post to this group, send email to <a href=3D"mailto:std-proposals@isocpp=
..org">std-proposals@isocpp.org</a>.<br />
To view this discussion on the web visit <a href=3D"https://groups.google.c=
om/a/isocpp.org/d/msgid/std-proposals/161cd33a-8977-4469-86cc-a8db2ca73949%=
40isocpp.org?utm_medium=3Demail&utm_source=3Dfooter">https://groups.google.=
com/a/isocpp.org/d/msgid/std-proposals/161cd33a-8977-4469-86cc-a8db2ca73949=
%40isocpp.org</a>.<br />
------=_Part_211_1251893016.1493363889793--
------=_Part_210_327487366.1493363889793--
.
Author: Alberto Barbati <albertobarbati@gmail.com>
Date: Fri, 28 Apr 2017 00:21:55 -0700 (PDT)
Raw View
------=_Part_210_1380418731.1493364115280
Content-Type: multipart/alternative;
boundary="----=_Part_211_1275446071.1493364115280"
------=_Part_211_1275446071.1493364115280
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: quoted-printable
Il giorno gioved=C3=AC 27 aprile 2017 22:37:10 UTC+2, Dan Raviv ha scritto:
>
> A single unifying mechanism would be great - but the one suggested above=
=20
> has some significant disadvantages vs., e.g., using lazy objects as the=
=20
> single unifying mechanism (which, in turn, has the disadvantage of not=20
> allowing short-circuiting as naturally). Specifically, notice that it is=
=20
> *less* generic than using lazy objects, in that it is an all-or-nothing=
=20
> solution - you can't have some immediately evaluated and some lazily=20
> evaluated.
>
As I said, the "all-or-nothing" issue is the only valid objection I see so=
=20
far and it's not difficult to overcome. For example we could just tag the=
=20
individual function parameters rather than the whole functions (similar to=
=20
Hyman's [] suggestion).
=20
> Of course, it's possible there is a single unifying mechanism which has=
=20
> all the advantages and non of the drawbacks, which is just not mentioned=
=20
> yet in this thread :)
>
What would you want from such unifying mechanism that hasn't yet been=20
mentioned in this thread?=20
--=20
You received this message because you are subscribed to the Google Groups "=
ISO C++ Standard - Future Proposals" group.
To unsubscribe from this group and stop receiving emails from it, send an e=
mail to std-proposals+unsubscribe@isocpp.org.
To post to this group, send email to std-proposals@isocpp.org.
To view this discussion on the web visit https://groups.google.com/a/isocpp=
..org/d/msgid/std-proposals/631e10c3-355c-45df-b726-aed05c4d9f4e%40isocpp.or=
g.
------=_Part_211_1275446071.1493364115280
Content-Type: text/html; charset=UTF-8
Content-Transfer-Encoding: quoted-printable
<div dir=3D"ltr">Il giorno gioved=C3=AC 27 aprile 2017 22:37:10 UTC+2, Dan =
Raviv ha scritto:<blockquote class=3D"gmail_quote" style=3D"margin: 0;margi=
n-left: 0.8ex;border-left: 1px #ccc solid;padding-left: 1ex;"><div dir=3D"l=
tr">A single unifying mechanism would be great - but the one suggested abov=
e has some significant disadvantages vs., e.g., using lazy objects as the s=
ingle unifying mechanism (which, in turn, has the disadvantage of not allow=
ing short-circuiting as naturally). Specifically, notice that it is *less* =
generic than using lazy objects, in that it is an all-or-nothing solution -=
you can't have some immediately evaluated and some lazily evaluated.</=
div></blockquote><div><br>As I said, the "all-or-nothing" issue i=
s the only valid objection I see so far and it's not difficult to overc=
ome. For example we could just tag the individual function parameters rathe=
r than the whole functions (similar to Hyman's [] suggestion).<br>=C2=
=A0<br></div><blockquote class=3D"gmail_quote" style=3D"margin: 0;margin-le=
ft: 0.8ex;border-left: 1px #ccc solid;padding-left: 1ex;"><div dir=3D"ltr">=
<div></div><div>Of course, it's possible there is a single unifying mec=
hanism which has all the advantages and non of the drawbacks, which is just=
not mentioned yet in this thread :)</div></div></blockquote><div><br>What =
would you want from such unifying mechanism that hasn't yet been mentio=
ned in this thread? <br></div></div>
<p></p>
-- <br />
You received this message because you are subscribed to the Google Groups &=
quot;ISO C++ Standard - Future Proposals" group.<br />
To unsubscribe from this group and stop receiving emails from it, send an e=
mail to <a href=3D"mailto:std-proposals+unsubscribe@isocpp.org">std-proposa=
ls+unsubscribe@isocpp.org</a>.<br />
To post to this group, send email to <a href=3D"mailto:std-proposals@isocpp=
..org">std-proposals@isocpp.org</a>.<br />
To view this discussion on the web visit <a href=3D"https://groups.google.c=
om/a/isocpp.org/d/msgid/std-proposals/631e10c3-355c-45df-b726-aed05c4d9f4e%=
40isocpp.org?utm_medium=3Demail&utm_source=3Dfooter">https://groups.google.=
com/a/isocpp.org/d/msgid/std-proposals/631e10c3-355c-45df-b726-aed05c4d9f4e=
%40isocpp.org</a>.<br />
------=_Part_211_1275446071.1493364115280--
------=_Part_210_1380418731.1493364115280--
.
Author: FrankHB1989 <frankhb1989@gmail.com>
Date: Fri, 28 Apr 2017 09:32:35 -0700 (PDT)
Raw View
------=_Part_690_1404803164.1493397155582
Content-Type: multipart/alternative;
boundary="----=_Part_691_1410404719.1493397155582"
------=_Part_691_1410404719.1493397155582
Content-Type: text/plain; charset=UTF-8
Interesting, but I'm afraid this way would not go too far.
Is there someway to differentiate your new kind of functions at call site
to ordinary ones visually? Otherwise, it can beat down the expectation on
"eager language" of many users. (Why people often fear macros, besides lack
of hygiene?)
Unevaluated context is not only concerned within [intro.execution]. The
parameter passing semantics is also radically different. There may be too
many rules to change. If the feature is not powerful enough, the changes
are not likely acceptable.
Note such a feature can actually be the fundamental one of a language like
this
<https://web.wpi.edu/Pubs/ETD/Available/etd-090110-124904/unrestricted/jshutt.pdf>,
which even rules out the necessity of hygienic macros or lambdas because
things effectively do the same works can be simply derived as library
"functions". But it is too hard here.
--
You received this message because you are subscribed to the Google Groups "ISO C++ Standard - Future Proposals" group.
To unsubscribe from this group and stop receiving emails from it, send an email to std-proposals+unsubscribe@isocpp.org.
To post to this group, send email to std-proposals@isocpp.org.
To view this discussion on the web visit https://groups.google.com/a/isocpp.org/d/msgid/std-proposals/6013adcd-f0a1-42d8-8929-df1197438310%40isocpp.org.
------=_Part_691_1410404719.1493397155582
Content-Type: text/html; charset=UTF-8
Content-Transfer-Encoding: quoted-printable
<div dir=3D"ltr"><div>Interesting, but I'm afraid this way would not go=
too far.</div><div><div>Is there someway to differentiate your new kind of=
functions at=20
call site to ordinary ones visually? Otherwise, it can beat down the=20
expectation on "eager language" of many users. (Why people often =
fear=20
macros, besides lack of hygiene?)<br></div>Unevaluated context is not only =
concerned within [intro.execution]. The parameter passing semantics is also=
radically different. There may be too many rules to change. If the feature=
is not powerful enough, the changes are not likely acceptable.<br></div>No=
te such a feature can actually be the fundamental one of a language <a href=
=3D"https://web.wpi.edu/Pubs/ETD/Available/etd-090110-124904/unrestricted/j=
shutt.pdf">like this</a>, which even rules out the necessity of hygienic ma=
cros or lambdas because things effectively do the same works can be simply =
derived as library "functions". But it is too hard here.<br></div=
>
<p></p>
-- <br />
You received this message because you are subscribed to the Google Groups &=
quot;ISO C++ Standard - Future Proposals" group.<br />
To unsubscribe from this group and stop receiving emails from it, send an e=
mail to <a href=3D"mailto:std-proposals+unsubscribe@isocpp.org">std-proposa=
ls+unsubscribe@isocpp.org</a>.<br />
To post to this group, send email to <a href=3D"mailto:std-proposals@isocpp=
..org">std-proposals@isocpp.org</a>.<br />
To view this discussion on the web visit <a href=3D"https://groups.google.c=
om/a/isocpp.org/d/msgid/std-proposals/6013adcd-f0a1-42d8-8929-df1197438310%=
40isocpp.org?utm_medium=3Demail&utm_source=3Dfooter">https://groups.google.=
com/a/isocpp.org/d/msgid/std-proposals/6013adcd-f0a1-42d8-8929-df1197438310=
%40isocpp.org</a>.<br />
------=_Part_691_1410404719.1493397155582--
------=_Part_690_1404803164.1493397155582--
.
Author: FrankHB1989 <frankhb1989@gmail.com>
Date: Fri, 28 Apr 2017 10:03:55 -0700 (PDT)
Raw View
------=_Part_688_1871254886.1493399035254
Content-Type: multipart/alternative;
boundary="----=_Part_689_1849441685.1493399035254"
------=_Part_689_1849441685.1493399035254
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: quoted-printable
=E5=9C=A8 2017=E5=B9=B44=E6=9C=8828=E6=97=A5=E6=98=9F=E6=9C=9F=E4=BA=94 UTC=
+8=E4=B8=8A=E5=8D=885:46:58=EF=BC=8CHyman Rosen=E5=86=99=E9=81=93=EF=BC=9A
>
> On Thu, Apr 27, 2017 at 4:36 PM, Dan Raviv <dan....@gmail.com=20
> <javascript:>> wrote:
>>
>> Of course, it's possible there is a single unifying mechanism which has=
=20
>> all the advantages and non of the drawbacks, which is just not mentioned=
=20
>> yet in this thread :)
>>
>
> I thought that call-by-name (i.e., lambdafying individual function=20
> parameters) *is* that unifying mechanism. What's wrong with it?
>
Well, macro expansion is kind of call-by-name variant. When you have macros=
=20
and call-by-name functions co-existed in a language, the unifying is=20
effectively disabled...
Moreover, in a language which mandates more than one phases of=20
translations, you can't expect too much on single unification of the=20
fundamental evaluation and/or declarative rules... Every "compiled"=20
language also falls in this sort. That's even true for most modern dialects=
=20
of Lisp. You will eventually get some additional sublanguages (often not=20
guaranteed to be fully compatible with each other) if luckily, or simply=20
bunches of hard-coded rules in the language specs. Unfortunately, most=20
(C-like) languages are in the latter case.
--=20
You received this message because you are subscribed to the Google Groups "=
ISO C++ Standard - Future Proposals" group.
To unsubscribe from this group and stop receiving emails from it, send an e=
mail to std-proposals+unsubscribe@isocpp.org.
To post to this group, send email to std-proposals@isocpp.org.
To view this discussion on the web visit https://groups.google.com/a/isocpp=
..org/d/msgid/std-proposals/05d91d11-95e4-4564-a8eb-b305f9e82faa%40isocpp.or=
g.
------=_Part_689_1849441685.1493399035254
Content-Type: text/html; charset=UTF-8
Content-Transfer-Encoding: quoted-printable
<div dir=3D"ltr"><br><br>=E5=9C=A8 2017=E5=B9=B44=E6=9C=8828=E6=97=A5=E6=98=
=9F=E6=9C=9F=E4=BA=94 UTC+8=E4=B8=8A=E5=8D=885:46:58=EF=BC=8CHyman Rosen=E5=
=86=99=E9=81=93=EF=BC=9A<blockquote class=3D"gmail_quote" style=3D"margin: =
0;margin-left: 0.8ex;border-left: 1px #ccc solid;padding-left: 1ex;"><div d=
ir=3D"ltr"><div><div class=3D"gmail_quote">On Thu, Apr 27, 2017 at 4:36 PM,=
Dan Raviv <span dir=3D"ltr"><<a href=3D"javascript:" target=3D"_blank" =
gdf-obfuscated-mailto=3D"2xJussFwAQAJ" rel=3D"nofollow" onmousedown=3D"this=
..href=3D'javascript:';return true;" onclick=3D"this.href=3D'jav=
ascript:';return true;">dan....@gmail.com</a>></span> wrote:<blockqu=
ote class=3D"gmail_quote" style=3D"margin:0 0 0 .8ex;border-left:1px #ccc s=
olid;padding-left:1ex"><div dir=3D"ltr"><div>Of course, it's possible t=
here is a single unifying mechanism which has all the advantages and non of=
the drawbacks, which is just not mentioned yet in this thread :)</div></di=
v></blockquote><div><br></div><div>I thought that call-by-name (i.e., lambd=
afying individual function parameters) <i>is</i> that unifying mechanism.=
=C2=A0 What's wrong with it?</div></div></div></div></blockquote><div><=
br></div><div>Well, macro expansion is kind of call-by-name variant. When y=
ou have macros and call-by-name functions co-existed in a language, the uni=
fying is effectively disabled...<br></div><div><br></div><div>Moreover, in =
a language which mandates more than one phases of translations, you can'=
;t expect too much on single unification of the fundamental evaluation and/=
or declarative rules... Every "compiled" language also falls in t=
his sort. That's even true for most modern dialects of Lisp. You will e=
ventually get some additional sublanguages (often not guaranteed to be full=
y compatible with each other) if luckily, or simply bunches of hard-coded r=
ules in the language specs. Unfortunately, most (C-like) languages are in t=
he latter case.<br></div><br></div>
<p></p>
-- <br />
You received this message because you are subscribed to the Google Groups &=
quot;ISO C++ Standard - Future Proposals" group.<br />
To unsubscribe from this group and stop receiving emails from it, send an e=
mail to <a href=3D"mailto:std-proposals+unsubscribe@isocpp.org">std-proposa=
ls+unsubscribe@isocpp.org</a>.<br />
To post to this group, send email to <a href=3D"mailto:std-proposals@isocpp=
..org">std-proposals@isocpp.org</a>.<br />
To view this discussion on the web visit <a href=3D"https://groups.google.c=
om/a/isocpp.org/d/msgid/std-proposals/05d91d11-95e4-4564-a8eb-b305f9e82faa%=
40isocpp.org?utm_medium=3Demail&utm_source=3Dfooter">https://groups.google.=
com/a/isocpp.org/d/msgid/std-proposals/05d91d11-95e4-4564-a8eb-b305f9e82faa=
%40isocpp.org</a>.<br />
------=_Part_689_1849441685.1493399035254--
------=_Part_688_1871254886.1493399035254--
.
Author: Alberto Barbati <albertobarbati@gmail.com>
Date: Sat, 29 Apr 2017 10:16:25 +0200
Raw View
--Apple-Mail=_A4131337-99A6-45DF-B59B-3F668E58CAB2
Content-Transfer-Encoding: quoted-printable
Content-Type: text/plain; charset=UTF-8
> Il giorno 28 apr 2017, alle ore 19:03, FrankHB1989 <frankhb1989@gmail.com=
> ha scritto:
>=20
>=20
>=20
> =E5=9C=A8 2017=E5=B9=B44=E6=9C=8828=E6=97=A5=E6=98=9F=E6=9C=9F=E4=BA=94 U=
TC+8=E4=B8=8A=E5=8D=885:46:58=EF=BC=8CHyman Rosen=E5=86=99=E9=81=93=EF=BC=
=9A
> On Thu, Apr 27, 2017 at 4:36 PM, Dan Raviv <dan....@gmail.com <javascript=
:>> wrote:
> Of course, it's possible there is a single unifying mechanism which has a=
ll the advantages and non of the drawbacks, which is just not mentioned yet=
in this thread :)
>=20
> I thought that call-by-name (i.e., lambdafying individual function parame=
ters) is that unifying mechanism. What's wrong with it?
>=20
> Well, macro expansion is kind of call-by-name variant. When you have macr=
os and call-by-name functions co-existed in a language, the unifying is eff=
ectively disabled=E2=80=A6
I disagree. First of all, as far as I understand, macros play very badly wi=
th modules, which will come to the language eventually. Secondly, programmi=
ng non-trivial tasks with macros can be excruciatingly painful, with little=
help from compiler diagnostics. Having a language feature that cover some =
useful use-cases of macros that plays well with modules and is simpler to p=
rogram is an advantage that should not be underestimated. Just my opinion.
--=20
You received this message because you are subscribed to the Google Groups "=
ISO C++ Standard - Future Proposals" group.
To unsubscribe from this group and stop receiving emails from it, send an e=
mail to std-proposals+unsubscribe@isocpp.org.
To post to this group, send email to std-proposals@isocpp.org.
To view this discussion on the web visit https://groups.google.com/a/isocpp=
..org/d/msgid/std-proposals/17C76B18-E313-47A8-8A21-D74C6FDC56E3%40gmail.com=
..
--Apple-Mail=_A4131337-99A6-45DF-B59B-3F668E58CAB2
Content-Transfer-Encoding: quoted-printable
Content-Type: text/html; charset=UTF-8
<html><head><meta http-equiv=3D"Content-Type" content=3D"text/html charset=
=3Dutf-8"></head><body style=3D"word-wrap: break-word; -webkit-nbsp-mode: s=
pace; -webkit-line-break: after-white-space;" class=3D""><br class=3D""><di=
v><blockquote type=3D"cite" class=3D""><div class=3D"">Il giorno 28 apr 201=
7, alle ore 19:03, FrankHB1989 <<a href=3D"mailto:frankhb1989@gmail.com"=
class=3D"">frankhb1989@gmail.com</a>> ha scritto:</div><br class=3D"App=
le-interchange-newline"><div class=3D""><div dir=3D"ltr" class=3D""><br cla=
ss=3D""><br class=3D"">=E5=9C=A8 2017=E5=B9=B44=E6=9C=8828=E6=97=A5=E6=98=
=9F=E6=9C=9F=E4=BA=94 UTC+8=E4=B8=8A=E5=8D=885:46:58=EF=BC=8CHyman Rosen=E5=
=86=99=E9=81=93=EF=BC=9A<blockquote class=3D"gmail_quote" style=3D"margin: =
0;margin-left: 0.8ex;border-left: 1px #ccc solid;padding-left: 1ex;"><div d=
ir=3D"ltr" class=3D""><div class=3D""><div class=3D"gmail_quote">On Thu, Ap=
r 27, 2017 at 4:36 PM, Dan Raviv <span dir=3D"ltr" class=3D""><<a href=
=3D"javascript:" target=3D"_blank" gdf-obfuscated-mailto=3D"2xJussFwAQAJ" r=
el=3D"nofollow" onmousedown=3D"this.href=3D'javascript:';return true;" oncl=
ick=3D"this.href=3D'javascript:';return true;" class=3D"">dan....@gmail.com=
</a>></span> wrote:<blockquote class=3D"gmail_quote" style=3D"margin:0 0=
0 .8ex;border-left:1px #ccc solid;padding-left:1ex"><div dir=3D"ltr" class=
=3D""><div class=3D"">Of course, it's possible there is a single unifying m=
echanism which has all the advantages and non of the drawbacks, which is ju=
st not mentioned yet in this thread :)</div></div></blockquote><div class=
=3D""><br class=3D""></div><div class=3D"">I thought that call-by-name (i.e=
.., lambdafying individual function parameters) <i class=3D"">is</i> that un=
ifying mechanism. What's wrong with it?</div></div></div></div></bloc=
kquote><div class=3D""><br class=3D""></div><div class=3D"">Well, macro exp=
ansion is kind of call-by-name variant. When you have macros and call-by-na=
me functions co-existed in a language, the unifying is effectively disabled=
=E2=80=A6</div></div></div></blockquote><br class=3D""></div><div>I disagre=
e. First of all, as far as I understand, macros play very badly with module=
s, which will come to the language eventually. Secondly, programming non-tr=
ivial tasks with macros can be excruciatingly painful, with little help fro=
m compiler diagnostics. Having a language feature that cover some useful us=
e-cases of macros that plays well with modules and is simpler to program is=
an advantage that should not be underestimated. Just my opinion.</div><br =
class=3D""></body></html>
<p></p>
-- <br />
You received this message because you are subscribed to the Google Groups &=
quot;ISO C++ Standard - Future Proposals" group.<br />
To unsubscribe from this group and stop receiving emails from it, send an e=
mail to <a href=3D"mailto:std-proposals+unsubscribe@isocpp.org">std-proposa=
ls+unsubscribe@isocpp.org</a>.<br />
To post to this group, send email to <a href=3D"mailto:std-proposals@isocpp=
..org">std-proposals@isocpp.org</a>.<br />
To view this discussion on the web visit <a href=3D"https://groups.google.c=
om/a/isocpp.org/d/msgid/std-proposals/17C76B18-E313-47A8-8A21-D74C6FDC56E3%=
40gmail.com?utm_medium=3Demail&utm_source=3Dfooter">https://groups.google.c=
om/a/isocpp.org/d/msgid/std-proposals/17C76B18-E313-47A8-8A21-D74C6FDC56E3%=
40gmail.com</a>.<br />
--Apple-Mail=_A4131337-99A6-45DF-B59B-3F668E58CAB2--
.
Author: FrankHB1989 <frankhb1989@gmail.com>
Date: Sat, 29 Apr 2017 08:27:32 -0700 (PDT)
Raw View
------=_Part_2012_329036745.1493479652384
Content-Type: multipart/alternative;
boundary="----=_Part_2013_263777990.1493479652384"
------=_Part_2013_263777990.1493479652384
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: quoted-printable
=E5=9C=A8 2017=E5=B9=B44=E6=9C=8829=E6=97=A5=E6=98=9F=E6=9C=9F=E5=85=AD UTC=
+8=E4=B8=8B=E5=8D=884:16:30=EF=BC=8CAlberto Barbati=E5=86=99=E9=81=93=EF=BC=
=9A
>
>
> Il giorno 28 apr 2017, alle ore 19:03, FrankHB1989 <frank...@gmail.com=20
> <javascript:>> ha scritto:
>
>
>
> =E5=9C=A8 2017=E5=B9=B44=E6=9C=8828=E6=97=A5=E6=98=9F=E6=9C=9F=E4=BA=94 U=
TC+8=E4=B8=8A=E5=8D=885:46:58=EF=BC=8CHyman Rosen=E5=86=99=E9=81=93=EF=BC=
=9A
>>
>> On Thu, Apr 27, 2017 at 4:36 PM, Dan Raviv <dan....@gmail.com> wrote:
>>>
>>> Of course, it's possible there is a single unifying mechanism which has=
=20
>>> all the advantages and non of the drawbacks, which is just not mentione=
d=20
>>> yet in this thread :)
>>>
>>
>> I thought that call-by-name (i.e., lambdafying individual function=20
>> parameters) *is* that unifying mechanism. What's wrong with it?
>>
>
> Well, macro expansion is kind of call-by-name variant. When you have=20
> macros and call-by-name functions co-existed in a language, the unifying =
is=20
> effectively disabled=E2=80=A6
>
>
> I disagree. First of all, as far as I understand, macros play very badly=
=20
> with modules, which will come to the language eventually. Secondly,=20
> programming non-trivial tasks with macros can be excruciatingly painful,=
=20
> with little help from compiler diagnostics. Having a language feature tha=
t=20
> cover some useful use-cases of macros that plays well with modules and is=
=20
> simpler to program is an advantage that should not be underestimated. Jus=
t=20
> my opinion.
>
> I think you've misunderstood me a little. Actually I am not against your=
=20
proposal, but I think it can go further in some other ways. (But I am not=
=20
very sure how to do it right.)
First of all, it is true that macros in C++ is obvious "bad", because it is=
=20
not *hygienic*. This is well-known and agreed by many people including the=
=20
designer of the language. However, not all macros are *that *evil. Macros=
=20
can be good abstraction methods when they are properly used as in some=20
other modern languages, notably, Scheme. Higher level abstractions=20
(including modules) can be built based on low level features like macros=20
when they are sanely designed. (Sadly, this is unlikely feasible in C++,=20
because such route of evolution needs too many changes in the language spec=
=20
and it can break too many things.) Secondly, it is true that macros are=20
still somewhat error-prone and easily being more unfriendly to tools, even=
=20
without the drawbacks I've mentioned above. (That's why I cared how to=20
distinguish macro-like names with ordinary function-like ones.) So I'd like=
=20
to totally avoid and *replace *macros when possible (that is, if I have to=
=20
design a new general-purposed language). Interestingly, such feature does=
=20
exist, and it is a more powerful and generic form of the feature that you=
=20
have proposed. I still like to see if there are possibilities that your=20
proposed feature can grow more powerful to get "bad" macros out of the=20
language *as possible*, even it is difficult.
--=20
You received this message because you are subscribed to the Google Groups "=
ISO C++ Standard - Future Proposals" group.
To unsubscribe from this group and stop receiving emails from it, send an e=
mail to std-proposals+unsubscribe@isocpp.org.
To post to this group, send email to std-proposals@isocpp.org.
To view this discussion on the web visit https://groups.google.com/a/isocpp=
..org/d/msgid/std-proposals/24f16303-f88a-40b1-bf1d-cdd31ee73343%40isocpp.or=
g.
------=_Part_2013_263777990.1493479652384
Content-Type: text/html; charset=UTF-8
Content-Transfer-Encoding: quoted-printable
<div dir=3D"ltr"><br><br>=E5=9C=A8 2017=E5=B9=B44=E6=9C=8829=E6=97=A5=E6=98=
=9F=E6=9C=9F=E5=85=AD UTC+8=E4=B8=8B=E5=8D=884:16:30=EF=BC=8CAlberto Barbat=
i=E5=86=99=E9=81=93=EF=BC=9A<blockquote class=3D"gmail_quote" style=3D"marg=
in: 0;margin-left: 0.8ex;border-left: 1px #ccc solid;padding-left: 1ex;"><d=
iv style=3D"word-wrap:break-word"><br><div><blockquote type=3D"cite"><div>I=
l giorno 28 apr 2017, alle ore 19:03, FrankHB1989 <<a href=3D"javascript=
:" target=3D"_blank" gdf-obfuscated-mailto=3D"hlXeorDhAQAJ" rel=3D"nofollow=
" onmousedown=3D"this.href=3D'javascript:';return true;" onclick=3D=
"this.href=3D'javascript:';return true;">frank...@gmail.com</a>>=
ha scritto:</div><br><div><div dir=3D"ltr"><br><br>=E5=9C=A8 2017=E5=B9=B4=
4=E6=9C=8828=E6=97=A5=E6=98=9F=E6=9C=9F=E4=BA=94 UTC+8=E4=B8=8A=E5=8D=885:4=
6:58=EF=BC=8CHyman Rosen=E5=86=99=E9=81=93=EF=BC=9A<blockquote class=3D"gma=
il_quote" style=3D"margin:0;margin-left:0.8ex;border-left:1px #ccc solid;pa=
dding-left:1ex"><div dir=3D"ltr"><div><div class=3D"gmail_quote">On Thu, Ap=
r 27, 2017 at 4:36 PM, Dan Raviv <span dir=3D"ltr"><<a rel=3D"nofollow">=
dan....@gmail.com</a>></span> wrote:<blockquote class=3D"gmail_quote" st=
yle=3D"margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex"><div =
dir=3D"ltr"><div>Of course, it's possible there is a single unifying me=
chanism which has all the advantages and non of the drawbacks, which is jus=
t not mentioned yet in this thread :)</div></div></blockquote><div><br></di=
v><div>I thought that call-by-name (i.e., lambdafying individual function p=
arameters) <i>is</i> that unifying mechanism.=C2=A0 What's wrong with i=
t?</div></div></div></div></blockquote><div><br></div><div>Well, macro expa=
nsion is kind of call-by-name variant. When you have macros and call-by-nam=
e functions co-existed in a language, the unifying is effectively disabled=
=E2=80=A6</div></div></div></blockquote><br></div><div>I disagree. First of=
all, as far as I understand, macros play very badly with modules, which wi=
ll come to the language eventually. Secondly, programming non-trivial tasks=
with macros can be excruciatingly painful, with little help from compiler =
diagnostics. Having a language feature that cover some useful use-cases of =
macros that plays well with modules and is simpler to program is an advanta=
ge that should not be underestimated. Just my opinion.</div><br></div></blo=
ckquote><div>I think you've misunderstood me a little. Actually I am no=
t against your proposal, but I think it can go further in some other ways. =
(But I am not very sure how to do it right.)<br></div><div>First of all, it=
is true that macros in C++ is obvious "bad", because it is not <=
i>hygienic</i>. This is well-known and agreed by many people including the =
designer of the language. However, not all macros are <i>that </i>evil. Mac=
ros can be good abstraction methods when they are properly used as in some =
other modern languages, notably, Scheme. Higher level abstractions (includi=
ng modules) can be built based on low level features like macros when they =
are sanely designed. (Sadly, this is unlikely feasible in C++, because such=
route of evolution needs too many changes in the language spec and it can =
break too many things.) Secondly, it is true that macros are still somewhat=
error-prone and easily being more unfriendly to tools, even without the dr=
awbacks I've mentioned above. (That's why I cared how to distinguis=
h macro-like names with ordinary function-like ones.) So I'd like to to=
tally avoid and <i>replace </i>macros when possible (that is, if I have to =
design a new general-purposed language). Interestingly, such feature does e=
xist, and it is a more powerful and generic form of the feature that you ha=
ve proposed. I still like to see if there are possibilities that your propo=
sed feature can grow more powerful to get "bad" macros out of the=
language <i>as possible</i>, even it is difficult.<br></div><div><br></div=
><div><br> </div></div>
<p></p>
-- <br />
You received this message because you are subscribed to the Google Groups &=
quot;ISO C++ Standard - Future Proposals" group.<br />
To unsubscribe from this group and stop receiving emails from it, send an e=
mail to <a href=3D"mailto:std-proposals+unsubscribe@isocpp.org">std-proposa=
ls+unsubscribe@isocpp.org</a>.<br />
To post to this group, send email to <a href=3D"mailto:std-proposals@isocpp=
..org">std-proposals@isocpp.org</a>.<br />
To view this discussion on the web visit <a href=3D"https://groups.google.c=
om/a/isocpp.org/d/msgid/std-proposals/24f16303-f88a-40b1-bf1d-cdd31ee73343%=
40isocpp.org?utm_medium=3Demail&utm_source=3Dfooter">https://groups.google.=
com/a/isocpp.org/d/msgid/std-proposals/24f16303-f88a-40b1-bf1d-cdd31ee73343=
%40isocpp.org</a>.<br />
------=_Part_2013_263777990.1493479652384--
------=_Part_2012_329036745.1493479652384--
.
Author: Shachar Shemesh <shachar@weka.io>
Date: Wed, 3 May 2017 21:34:07 +0300
Raw View
This is a multi-part message in MIME format.
--------------3BC71779693C7A972A6ED080
Content-Type: text/plain; charset=UTF-8
On 27/04/17 22:29, Hyman Rosen wrote:
> On Thu, Apr 27, 2017 at 3:26 PM, Dan Raviv <dan.raviv@gmail.com
> <mailto:dan.raviv@gmail.com>> wrote:
>
> Why not just use some sort of lazy evaluation class and wrap the
> parameters you pass in with it?
>
>
> Because a proposal like this should make it possible for user-written
> *operator&&*, *operator||*, and *operator,* to behave like their
> built-in counterparts.
Can someone please explain to me why that is desirable? Preferrably with
an example.
Shachar
--
You received this message because you are subscribed to the Google Groups "ISO C++ Standard - Future Proposals" group.
To unsubscribe from this group and stop receiving emails from it, send an email to std-proposals+unsubscribe@isocpp.org.
To post to this group, send email to std-proposals@isocpp.org.
To view this discussion on the web visit https://groups.google.com/a/isocpp.org/d/msgid/std-proposals/362f82cb-2516-93a8-09bc-b0208c21e8aa%40weka.io.
--------------3BC71779693C7A972A6ED080
Content-Type: text/html; charset=UTF-8
Content-Transfer-Encoding: quoted-printable
<html>
<head>
<meta content=3D"text/html; charset=3Dutf-8" http-equiv=3D"Content-Type=
">
<style type=3D"text/css">body p { margin-bottom: 0.2cm; margin-top: 0pt=
; } </style>
</head>
<body bidimailui-detected-decoding-type=3D"UTF-8" bgcolor=3D"#FFFFFF"
text=3D"#000000">
<div class=3D"moz-cite-prefix">On 27/04/17 22:29, Hyman Rosen wrote:<br=
>
</div>
<blockquote
cite=3D"mid:CAHSYqdbKDY00qPr_xZ1n5+cnxQXv6RHrqDXh31m5kf6vNeoNyQ@mail.gmail.=
com"
type=3D"cite">
<div dir=3D"ltr">
<div class=3D"gmail_extra">
<div class=3D"gmail_quote">On Thu, Apr 27, 2017 at 3:26 PM, Dan
Raviv <span dir=3D"ltr"><<a moz-do-not-send=3D"true"
href=3D"mailto:dan.raviv@gmail.com" target=3D"_blank">dan.r=
aviv@gmail.com</a>></span>
wrote:<br>
<blockquote class=3D"gmail_quote" style=3D"margin:0 0 0
.8ex;border-left:1px #ccc solid;padding-left:1ex">
<div dir=3D"ltr">Why not just use some sort of lazy
evaluation class and wrap the parameters you pass in
with it?</div>
</blockquote>
<div><br>
</div>
<div>Because a proposal like this should make it possible
for user-written <font face=3D"monospace, monospace"><b>opera=
tor&&</b></font>,
<font face=3D"monospace, monospace"><b>operator||</b></font>,
and <font face=3D"monospace, monospace"><b>operator,</b></fon=
t>
to behave like their built-in counterparts.</div>
</div>
</div>
</div>
</blockquote>
Can someone please explain to me why that is desirable? Preferrably
with an example.<br>
<br>
Shachar
</body>
</html>
<p></p>
-- <br />
You received this message because you are subscribed to the Google Groups &=
quot;ISO C++ Standard - Future Proposals" group.<br />
To unsubscribe from this group and stop receiving emails from it, send an e=
mail to <a href=3D"mailto:std-proposals+unsubscribe@isocpp.org">std-proposa=
ls+unsubscribe@isocpp.org</a>.<br />
To post to this group, send email to <a href=3D"mailto:std-proposals@isocpp=
..org">std-proposals@isocpp.org</a>.<br />
To view this discussion on the web visit <a href=3D"https://groups.google.c=
om/a/isocpp.org/d/msgid/std-proposals/362f82cb-2516-93a8-09bc-b0208c21e8aa%=
40weka.io?utm_medium=3Demail&utm_source=3Dfooter">https://groups.google.com=
/a/isocpp.org/d/msgid/std-proposals/362f82cb-2516-93a8-09bc-b0208c21e8aa%40=
weka.io</a>.<br />
--------------3BC71779693C7A972A6ED080--
.
Author: Hyman Rosen <hyman.rosen@gmail.com>
Date: Wed, 3 May 2017 15:05:09 -0400
Raw View
--94eb2c0c7a100081bf054ea3575d
Content-Type: text/plain; charset=UTF-8
On Wed, May 3, 2017 at 2:34 PM, Shachar Shemesh <shachar@weka.io> wrote:
> On 27/04/17 22:29, Hyman Rosen wrote:
>
> On Thu, Apr 27, 2017 at 3:26 PM, Dan Raviv <dan.raviv@gmail.com> wrote:
>
>> Why not just use some sort of lazy evaluation class and wrap the
>> parameters you pass in with it?
>>
>
> Because a proposal like this should make it possible for user-written
> *operator&&*, *operator||*, and *operator,* to behave like their built-in
> counterparts.
>
> Can someone please explain to me why that is desirable? Preferrably with
> an example.
>
The C++ language allows user-defined *operator&&*, *operator||*, and
*operator,* for classes. The built-in language versions are
short-circuiting for && and || and guarantee left-to-right evaluation for
comma. The user-defined ones are not. That means someone reading
expressions which use those operators can't be sure how they'll be
evaluated, or even in what order, if user-defined operators could be
involved. That's bad.
--
You received this message because you are subscribed to the Google Groups "ISO C++ Standard - Future Proposals" group.
To unsubscribe from this group and stop receiving emails from it, send an email to std-proposals+unsubscribe@isocpp.org.
To post to this group, send email to std-proposals@isocpp.org.
To view this discussion on the web visit https://groups.google.com/a/isocpp.org/d/msgid/std-proposals/CAHSYqdbkooxCXhgSNF-ZcY26ObQsbawQzPUYXPRk2NA9eOqKOw%40mail.gmail.com.
--94eb2c0c7a100081bf054ea3575d
Content-Type: text/html; charset=UTF-8
Content-Transfer-Encoding: quoted-printable
<div dir=3D"ltr"><div class=3D"gmail_extra"><div class=3D"gmail_quote">On W=
ed, May 3, 2017 at 2:34 PM, Shachar Shemesh <span dir=3D"ltr"><<a href=
=3D"mailto:shachar@weka.io" target=3D"_blank">shachar@weka.io</a>></span=
> wrote:<br><blockquote class=3D"gmail_quote" style=3D"margin:0px 0px 0px 0=
..8ex;border-left:1px solid rgb(204,204,204);padding-left:1ex">
=20
=20
=20
=20
<div bgcolor=3D"#FFFFFF"><div><div class=3D"gmail-h5">
<div class=3D"gmail-m_-6207953699445937916moz-cite-prefix">On 27/04/17 =
22:29, Hyman Rosen wrote:<br>
</div>
<blockquote type=3D"cite">
<div dir=3D"ltr">
<div class=3D"gmail_extra">
<div class=3D"gmail_quote">On Thu, Apr 27, 2017 at 3:26 PM, Dan
Raviv <span dir=3D"ltr"><<a href=3D"mailto:dan.raviv@gmail.c=
om" target=3D"_blank">dan.raviv@gmail.com</a>></span>
wrote:<br>
<blockquote class=3D"gmail_quote" style=3D"margin:0px 0px 0px 0=
..8ex;border-left:1px solid rgb(204,204,204);padding-left:1ex">
<div dir=3D"ltr">Why not just use some sort of lazy
evaluation class and wrap the parameters you pass in
with it?</div>
</blockquote>
<div><br>
</div>
<div>Because a proposal like this should make it possible
for user-written <font face=3D"monospace, monospace"><b>opera=
tor&&</b></font>,
<font face=3D"monospace, monospace"><b>operator||</b></font>,
and <font face=3D"monospace, monospace"><b>operator,</b></fon=
t>
to behave like their built-in counterparts.</div>
</div>
</div>
</div>
</blockquote></div></div>
Can someone please explain to me why that is desirable? Preferrably
with an example.</div></blockquote><div><br>The C++ language allows use=
r-defined <font face=3D"monospace, monospace"><b>operator&&</b></fo=
nt>,=C2=A0<font face=3D"monospace, monospace"><b>operator||</b></font>, and=
=C2=A0<b style=3D"font-family:monospace,monospace">operator,</b><font face=
=3D"arial, helvetica, sans-serif"> for classes.=C2=A0 The built-in language=
versions are short-circuiting for && and || and guarantee left-to-=
right evaluation for comma.=C2=A0 The user-defined ones are not.=C2=A0 That=
means someone reading expressions which use those operators can't be s=
ure how they'll be evaluated, or even in what order, if user-defined op=
erators could be involved.=C2=A0 That's bad.</font></div></div></div></=
div>
<p></p>
-- <br />
You received this message because you are subscribed to the Google Groups &=
quot;ISO C++ Standard - Future Proposals" group.<br />
To unsubscribe from this group and stop receiving emails from it, send an e=
mail to <a href=3D"mailto:std-proposals+unsubscribe@isocpp.org">std-proposa=
ls+unsubscribe@isocpp.org</a>.<br />
To post to this group, send email to <a href=3D"mailto:std-proposals@isocpp=
..org">std-proposals@isocpp.org</a>.<br />
To view this discussion on the web visit <a href=3D"https://groups.google.c=
om/a/isocpp.org/d/msgid/std-proposals/CAHSYqdbkooxCXhgSNF-ZcY26ObQsbawQzPUY=
XPRk2NA9eOqKOw%40mail.gmail.com?utm_medium=3Demail&utm_source=3Dfooter">htt=
ps://groups.google.com/a/isocpp.org/d/msgid/std-proposals/CAHSYqdbkooxCXhgS=
NF-ZcY26ObQsbawQzPUYXPRk2NA9eOqKOw%40mail.gmail.com</a>.<br />
--94eb2c0c7a100081bf054ea3575d--
.
Author: Nicol Bolas <jmckesson@gmail.com>
Date: Wed, 3 May 2017 12:59:32 -0700 (PDT)
Raw View
------=_Part_100_88992680.1493841572198
Content-Type: multipart/alternative;
boundary="----=_Part_101_498146799.1493841572199"
------=_Part_101_498146799.1493841572199
Content-Type: text/plain; charset=UTF-8
On Wednesday, May 3, 2017 at 3:05:32 PM UTC-4, Hyman Rosen wrote:
>
> On Wed, May 3, 2017 at 2:34 PM, Shachar Shemesh <sha...@weka.io
> <javascript:>> wrote:
>
>> On 27/04/17 22:29, Hyman Rosen wrote:
>>
>> On Thu, Apr 27, 2017 at 3:26 PM, Dan Raviv <dan....@gmail.com
>> <javascript:>> wrote:
>>
>>> Why not just use some sort of lazy evaluation class and wrap the
>>> parameters you pass in with it?
>>>
>>
>> Because a proposal like this should make it possible for user-written
>> *operator&&*, *operator||*, and *operator,* to behave like their
>> built-in counterparts.
>>
>> Can someone please explain to me why that is desirable? Preferrably with
>> an example.
>>
>
> The C++ language allows user-defined *operator&&*, *operator||*, and
> *operator,* for classes. The built-in language versions are
> short-circuiting for && and || and guarantee left-to-right evaluation for
> comma.
>
The latter part of that is no longer true in C++17. The order of evaluation
for comma is guaranteed regardless of whether it's calling `operator,` or
using the built-in one:
> Overloaded operators obey the rules for syntax and evaluation order
specified in Clause 8, but the requirements of operand type and value
category are replaced by the rules for function call.
--
You received this message because you are subscribed to the Google Groups "ISO C++ Standard - Future Proposals" group.
To unsubscribe from this group and stop receiving emails from it, send an email to std-proposals+unsubscribe@isocpp.org.
To post to this group, send email to std-proposals@isocpp.org.
To view this discussion on the web visit https://groups.google.com/a/isocpp.org/d/msgid/std-proposals/9edfd06a-7421-4ce0-80fd-83c436ad7b20%40isocpp.org.
------=_Part_101_498146799.1493841572199
Content-Type: text/html; charset=UTF-8
Content-Transfer-Encoding: quoted-printable
<div dir=3D"ltr"><br><br>On Wednesday, May 3, 2017 at 3:05:32 PM UTC-4, Hym=
an Rosen wrote:<blockquote class=3D"gmail_quote" style=3D"margin: 0;margin-=
left: 0.8ex;border-left: 1px #ccc solid;padding-left: 1ex;"><div dir=3D"ltr=
"><div><div class=3D"gmail_quote">On Wed, May 3, 2017 at 2:34 PM, Shachar S=
hemesh <span dir=3D"ltr"><<a href=3D"javascript:" target=3D"_blank" gdf-=
obfuscated-mailto=3D"OOTTgRZABAAJ" rel=3D"nofollow" onmousedown=3D"this.hre=
f=3D'javascript:';return true;" onclick=3D"this.href=3D'javascr=
ipt:';return true;">sha...@weka.io</a>></span> wrote:<br><blockquote=
class=3D"gmail_quote" style=3D"margin:0px 0px 0px 0.8ex;border-left:1px so=
lid rgb(204,204,204);padding-left:1ex">
=20
=20
=20
=20
<div bgcolor=3D"#FFFFFF"><div><div>
<div>On 27/04/17 22:29, Hyman Rosen wrote:<br>
</div>
<blockquote type=3D"cite">
<div dir=3D"ltr">
<div>
<div class=3D"gmail_quote">On Thu, Apr 27, 2017 at 3:26 PM, Dan
Raviv <span dir=3D"ltr"><<a href=3D"javascript:" target=3D"_=
blank" gdf-obfuscated-mailto=3D"OOTTgRZABAAJ" rel=3D"nofollow" onmousedown=
=3D"this.href=3D'javascript:';return true;" onclick=3D"this.href=3D=
'javascript:';return true;">dan....@gmail.com</a>></span>
wrote:<br>
<blockquote class=3D"gmail_quote" style=3D"margin:0px 0px 0px 0=
..8ex;border-left:1px solid rgb(204,204,204);padding-left:1ex">
<div dir=3D"ltr">Why not just use some sort of lazy
evaluation class and wrap the parameters you pass in
with it?</div>
</blockquote>
<div><br>
</div>
<div>Because a proposal like this should make it possible
for user-written <font face=3D"monospace, monospace"><b>opera=
tor&&</b></font>,
<font face=3D"monospace, monospace"><b>operator||</b></font>,
and <font face=3D"monospace, monospace"><b>operator,</b></fon=
t>
to behave like their built-in counterparts.</div>
</div>
</div>
</div>
</blockquote></div></div>
Can someone please explain to me why that is desirable? Preferrably
with an example.</div></blockquote><div><br>The C++ language allows use=
r-defined <font face=3D"monospace, monospace"><b>operator&&</b></fo=
nt>,=C2=A0<font face=3D"monospace, monospace"><b>operator||</b></font>, and=
=C2=A0<b style=3D"font-family:monospace,monospace">operator,</b><font face=
=3D"arial, helvetica, sans-serif"> for classes.=C2=A0 The built-in language=
versions are short-circuiting for && and || and guarantee left-to-=
right evaluation for comma.</font></div></div></div></div></blockquote><div=
><br>The latter part of that is no longer true in C++17. The order of evalu=
ation for comma is guaranteed regardless of whether it's calling `opera=
tor,` or using the built-in one:<br><br>> Overloaded operators obey the =
rules for syntax and evaluation order specified in Clause 8, but the requir=
ements of operand type and value category are replaced by the rules for fun=
ction call.<br></div></div>
<p></p>
-- <br />
You received this message because you are subscribed to the Google Groups &=
quot;ISO C++ Standard - Future Proposals" group.<br />
To unsubscribe from this group and stop receiving emails from it, send an e=
mail to <a href=3D"mailto:std-proposals+unsubscribe@isocpp.org">std-proposa=
ls+unsubscribe@isocpp.org</a>.<br />
To post to this group, send email to <a href=3D"mailto:std-proposals@isocpp=
..org">std-proposals@isocpp.org</a>.<br />
To view this discussion on the web visit <a href=3D"https://groups.google.c=
om/a/isocpp.org/d/msgid/std-proposals/9edfd06a-7421-4ce0-80fd-83c436ad7b20%=
40isocpp.org?utm_medium=3Demail&utm_source=3Dfooter">https://groups.google.=
com/a/isocpp.org/d/msgid/std-proposals/9edfd06a-7421-4ce0-80fd-83c436ad7b20=
%40isocpp.org</a>.<br />
------=_Part_101_498146799.1493841572199--
------=_Part_100_88992680.1493841572198--
.
Author: Hyman Rosen <hyman.rosen@gmail.com>
Date: Wed, 3 May 2017 16:49:49 -0400
Raw View
--94eb2c12526a5a6621054ea4cd8d
Content-Type: text/plain; charset=UTF-8
On Wed, May 3, 2017 at 3:59 PM, Nicol Bolas <jmckesson@gmail.com> wrote:
>
> The latter part of that is no longer true in C++17. The order of
> evaluation for comma is guaranteed regardless of whether it's calling
> `operator,` or using the built-in one
>
But not if you do it as an explicit call, correct? IOW, given *Klass a();
Klass b(); operator,(a(), b());* I believe even C++17 doesn't specify the
order of calls to *a()* and *b()*. That's part of why the C++17 changes
are wrong.
--
You received this message because you are subscribed to the Google Groups "ISO C++ Standard - Future Proposals" group.
To unsubscribe from this group and stop receiving emails from it, send an email to std-proposals+unsubscribe@isocpp.org.
To post to this group, send email to std-proposals@isocpp.org.
To view this discussion on the web visit https://groups.google.com/a/isocpp.org/d/msgid/std-proposals/CAHSYqdZD2wzYYAk2D4QcirThj6S-VeU-os7H6G-mpWq7gHyx%2Bg%40mail.gmail.com.
--94eb2c12526a5a6621054ea4cd8d
Content-Type: text/html; charset=UTF-8
Content-Transfer-Encoding: quoted-printable
<div dir=3D"ltr"><div class=3D"gmail_extra"><div class=3D"gmail_quote">On W=
ed, May 3, 2017 at 3:59 PM, Nicol Bolas <span dir=3D"ltr"><<a href=3D"ma=
ilto:jmckesson@gmail.com" target=3D"_blank">jmckesson@gmail.com</a>></sp=
an> wrote:<blockquote class=3D"gmail_quote" style=3D"margin:0 0 0 .8ex;bord=
er-left:1px #ccc solid;padding-left:1ex"><div dir=3D"ltr"><div>The latter p=
art of that is no longer true in C++17. The order of evaluation for comma i=
s guaranteed regardless of whether it's calling `operator,` or using th=
e built-in one</div></div></blockquote><div><br>But not if you do it as an =
explicit call, correct? IOW, given <font face=3D"monospace, monospace"><b>K=
lass a(); Klass b(); operator,(a(), b());</b></font>=C2=A0I believe even C+=
+17 doesn't specify the order of calls to <font face=3D"monospace, mono=
space"><b>a()</b></font> and <font face=3D"monospace, monospace"><b>b()</b>=
</font>.<font face=3D"arial, helvetica, sans-serif"> =C2=A0That's part =
of why the C++17 changes are wrong.</font></div></div></div></div>
<p></p>
-- <br />
You received this message because you are subscribed to the Google Groups &=
quot;ISO C++ Standard - Future Proposals" group.<br />
To unsubscribe from this group and stop receiving emails from it, send an e=
mail to <a href=3D"mailto:std-proposals+unsubscribe@isocpp.org">std-proposa=
ls+unsubscribe@isocpp.org</a>.<br />
To post to this group, send email to <a href=3D"mailto:std-proposals@isocpp=
..org">std-proposals@isocpp.org</a>.<br />
To view this discussion on the web visit <a href=3D"https://groups.google.c=
om/a/isocpp.org/d/msgid/std-proposals/CAHSYqdZD2wzYYAk2D4QcirThj6S-VeU-os7H=
6G-mpWq7gHyx%2Bg%40mail.gmail.com?utm_medium=3Demail&utm_source=3Dfooter">h=
ttps://groups.google.com/a/isocpp.org/d/msgid/std-proposals/CAHSYqdZD2wzYYA=
k2D4QcirThj6S-VeU-os7H6G-mpWq7gHyx%2Bg%40mail.gmail.com</a>.<br />
--94eb2c12526a5a6621054ea4cd8d--
.
Author: Nicol Bolas <jmckesson@gmail.com>
Date: Wed, 3 May 2017 14:53:15 -0700 (PDT)
Raw View
------=_Part_240_1807586153.1493848395764
Content-Type: multipart/alternative;
boundary="----=_Part_241_400965614.1493848395764"
------=_Part_241_400965614.1493848395764
Content-Type: text/plain; charset=UTF-8
On Wednesday, May 3, 2017 at 4:50:12 PM UTC-4, Hyman Rosen wrote:
>
> On Wed, May 3, 2017 at 3:59 PM, Nicol Bolas <jmck...@gmail.com
> <javascript:>> wrote:
>>
>> The latter part of that is no longer true in C++17. The order of
>> evaluation for comma is guaranteed regardless of whether it's calling
>> `operator,` or using the built-in one
>>
>
> But not if you do it as an explicit call, correct? IOW, given *Klass a();
> Klass b(); operator,(a(), b());* I believe even C++17 doesn't specify the
> order of calls to *a()* and *b()*. That's part of why the C++17 changes
> are wrong.
>
Whether it's "wrong" or not is beside the point. I was responding to the
particular point of the use of the comma operator (as distinct from calling
`operator,` directly) not having a well-defined order of evaluation.
Or to put it another way, pre-C++17, whether `(a(), b())` is well-ordered
is a matter of whether that has to invoke the overloaded comma operator.
Post-C++17, it's always well-ordered.
--
You received this message because you are subscribed to the Google Groups "ISO C++ Standard - Future Proposals" group.
To unsubscribe from this group and stop receiving emails from it, send an email to std-proposals+unsubscribe@isocpp.org.
To post to this group, send email to std-proposals@isocpp.org.
To view this discussion on the web visit https://groups.google.com/a/isocpp.org/d/msgid/std-proposals/d0cb5e4a-eb26-4fc8-993e-f394f2ced4f3%40isocpp.org.
------=_Part_241_400965614.1493848395764
Content-Type: text/html; charset=UTF-8
Content-Transfer-Encoding: quoted-printable
<div dir=3D"ltr">On Wednesday, May 3, 2017 at 4:50:12 PM UTC-4, Hyman Rosen=
wrote:<blockquote class=3D"gmail_quote" style=3D"margin: 0;margin-left: 0.=
8ex;border-left: 1px #ccc solid;padding-left: 1ex;"><div dir=3D"ltr"><div><=
div class=3D"gmail_quote">On Wed, May 3, 2017 at 3:59 PM, Nicol Bolas <span=
dir=3D"ltr"><<a href=3D"javascript:" target=3D"_blank" gdf-obfuscated-m=
ailto=3D"vSE2sMxFBAAJ" rel=3D"nofollow" onmousedown=3D"this.href=3D'jav=
ascript:';return true;" onclick=3D"this.href=3D'javascript:';re=
turn true;">jmck...@gmail.com</a>></span> wrote:<blockquote class=3D"gma=
il_quote" style=3D"margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-lef=
t:1ex"><div dir=3D"ltr"><div>The latter part of that is no longer true in C=
++17. The order of evaluation for comma is guaranteed regardless of whether=
it's calling `operator,` or using the built-in one</div></div></blockq=
uote><div><br>But not if you do it as an explicit call, correct? IOW, given=
<font face=3D"monospace, monospace"><b>Klass a(); Klass b(); operator,(a()=
, b());</b></font>=C2=A0I believe even C++17 doesn't specify the order =
of calls to <font face=3D"monospace, monospace"><b>a()</b></font> and <font=
face=3D"monospace, monospace"><b>b()</b></font>.<font face=3D"arial, helve=
tica, sans-serif"> =C2=A0That's part of why the C++17 changes are wrong=
..</font></div></div></div></div></blockquote><div><br>Whether it's &quo=
t;wrong" or not is beside the point. I was responding to the particula=
r point of the use of the comma operator (as distinct from calling `operato=
r,` directly) not having a well-defined order of evaluation.<br><br>Or to p=
ut it another way, pre-C++17, whether `(a(), b())` is well-ordered is a mat=
ter of whether that has to invoke the overloaded comma operator. Post-C++17=
, it's always well-ordered.<br></div></div>
<p></p>
-- <br />
You received this message because you are subscribed to the Google Groups &=
quot;ISO C++ Standard - Future Proposals" group.<br />
To unsubscribe from this group and stop receiving emails from it, send an e=
mail to <a href=3D"mailto:std-proposals+unsubscribe@isocpp.org">std-proposa=
ls+unsubscribe@isocpp.org</a>.<br />
To post to this group, send email to <a href=3D"mailto:std-proposals@isocpp=
..org">std-proposals@isocpp.org</a>.<br />
To view this discussion on the web visit <a href=3D"https://groups.google.c=
om/a/isocpp.org/d/msgid/std-proposals/d0cb5e4a-eb26-4fc8-993e-f394f2ced4f3%=
40isocpp.org?utm_medium=3Demail&utm_source=3Dfooter">https://groups.google.=
com/a/isocpp.org/d/msgid/std-proposals/d0cb5e4a-eb26-4fc8-993e-f394f2ced4f3=
%40isocpp.org</a>.<br />
------=_Part_241_400965614.1493848395764--
------=_Part_240_1807586153.1493848395764--
.
Author: Arthur O'Dwyer <arthur.j.odwyer@gmail.com>
Date: Wed, 3 May 2017 16:32:07 -0700 (PDT)
Raw View
------=_Part_408_1646197438.1493854327251
Content-Type: multipart/alternative;
boundary="----=_Part_409_1029968868.1493854327251"
------=_Part_409_1029968868.1493854327251
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: quoted-printable
On Thursday, April 27, 2017 at 9:58:47 AM UTC-7, Hyman Rosen wrote:
>
> On Thu, Apr 27, 2017 at 12:32 PM, Alberto Barbati <alberto...@gmail.com=
=20
> <javascript:>> wrote:
>>
>> - allow overloading operators || and && without losing short-circuiting;
>> - allow writing efficient assert or logging functions without relying on=
=20
>> macros.
>>
>
> I have mentioned a similar thing before. My suggestion was to annotate=
=20
> function parameter declarations with a leading [], which would effectivel=
y=20
> turn them into (a kind of) no-argument lambda expressions, with the=20
> compiler itself creating the lambda to evaluate the argument and passing=
=20
> that to the function rather than the argument itself. (They can't be=20
> "real" lambdas because every lambda has a unique type, so such a function=
=20
> would need to turn into a template. But that's just a language thing, no=
t=20
> a problem with the compiler creating such lambda-like objects.)
>
> In the function, getting an rvalue or lvalue of the parameter would invok=
e=20
> the lambda. (Whether only once or each time is the same question you=20
> faced.)
>
Per Micha=C5=82's tongue-in-cheek comment: It seems that the only solution =
is to=20
allow both kinds of lambda-capture (a.k.a. call-by-name and=20
call-by-lazy-evaluation respectively). Then we can implement Jensen's devic=
e=20
<https://en.wikipedia.org/wiki/Jensen%27s_Device> as:
double Sum(int& [&]k, int l, int u, double [&]ak) {
double s =3D 0;
for (k =3D l; k < u; ++k)
s +=3D ak;
return s;=20
}
int main() {
double x;
double y =3D Sum(x, 1, 5, x*x);
assert(y =3D=3D 1+4+9+16);
}
and the example from Alberto's proposal as:
template<typename... Args>
std::strong_ordering compose_ordering(std::strong_ordering ord,=20
Args[=3D]... others)
{
if (ord !=3D 0) return ord;
return compose_ordering(others...);
}
std::strong_ordering compose_ordering(std::strong_ordering ord)
{
return ord;
}
and a Python/Perl-style "or" function (a.k.a. GNU's "x ?: y" operator) as:
template<class T, class U>
auto py_or(T&& [=3D]t, U&& [=3D]u) {
return t ? t : u;
}
template<class T, class U>
auto py_and(T&& [=3D]t, U&& [=3D]u) {
return t ? u : t;
}
The [&] operands work by Hyman's "kind of no-argument lambdas", a.k.a.=20
Algol-style thunks. The [=3D] operands work the same way, but also reserve=
=20
space for the equivalent of a std::optional<ReturnType> on the caller's=20
stack frame to hold the evaluated-and-memoized value.
In the second example, notice that passing a [=3D] variable as the argument=
=20
of a function expecting a [=3D] parameter is expected to Do The Right Thing=
,=20
and not lead to a proliferation of temporary lambda objects.
I have no strong opinion on the way I've spelled confusing declarations=20
like Args[=3D]... and T&& [=3D].
All this is certainly implementable; but is it a good idea? We can=20
definitely accomplish all these things already today with judicious use of=
=20
macros, so the question IMHO is: do we need to implement such things *so=20
often* that it makes sense to look for a less ugly way to implement them?=
=20
Much as I wish py_or were implementable without macros today, I feel=20
fairly strongly that the answer is "no, this feature is *not* worth the=20
headache."
my $.02,
Arthur
--=20
You received this message because you are subscribed to the Google Groups "=
ISO C++ Standard - Future Proposals" group.
To unsubscribe from this group and stop receiving emails from it, send an e=
mail to std-proposals+unsubscribe@isocpp.org.
To post to this group, send email to std-proposals@isocpp.org.
To view this discussion on the web visit https://groups.google.com/a/isocpp=
..org/d/msgid/std-proposals/60991286-9c4c-4ca2-94d7-957460351509%40isocpp.or=
g.
------=_Part_409_1029968868.1493854327251
Content-Type: text/html; charset=UTF-8
Content-Transfer-Encoding: quoted-printable
<div dir=3D"ltr">On Thursday, April 27, 2017 at 9:58:47 AM UTC-7, Hyman Ros=
en wrote:<blockquote class=3D"gmail_quote" style=3D"margin: 0;margin-left: =
0.8ex;border-left: 1px #ccc solid;padding-left: 1ex;"><div dir=3D"ltr"><div=
><div class=3D"gmail_quote">On Thu, Apr 27, 2017 at 12:32 PM, Alberto Barba=
ti <span dir=3D"ltr"><<a href=3D"javascript:" target=3D"_blank" gdf-obfu=
scated-mailto=3D"wV7MygdhAQAJ" rel=3D"nofollow" onmousedown=3D"this.href=3D=
'javascript:';return true;" onclick=3D"this.href=3D'javascript:=
';return true;">alberto...@gmail.com</a>></span> wrote:<blockquote c=
lass=3D"gmail_quote" style=3D"margin:0 0 0 .8ex;border-left:1px #ccc solid;=
padding-left:1ex"><div dir=3D"ltr">- allow overloading operators || and &am=
p;& without losing short-circuiting;<br>- allow writing efficient asser=
t or logging functions without relying on macros.</div></blockquote><div><b=
r>I have mentioned a similar thing before.=C2=A0 My suggestion was to annot=
ate function parameter declarations with a leading [], which would effectiv=
ely turn them into (a kind of) no-argument lambda expressions, with the com=
piler itself creating the lambda to evaluate the argument and passing that =
to the function rather than the argument itself. =C2=A0(They can't be &=
quot;real" lambdas because every lambda has a unique type, so such a f=
unction would need to turn into a template.=C2=A0 But that's just a lan=
guage thing, not a problem with the compiler creating such lambda-like obje=
cts.)<br><br>In the function, getting an rvalue or lvalue of the parameter =
would invoke the lambda. =C2=A0(Whether only once or each time is the same =
question you faced.)</div></div></div></div></blockquote><div><br></div>Per=
Micha=C5=82's tongue-in-cheek comment: It seems that the only solution=
is to allow both kinds of lambda-capture (a.k.a. call-by-name and call-by-=
lazy-evaluation respectively). Then we can implement <a href=3D"https://en.=
wikipedia.org/wiki/Jensen%27s_Device">Jensen's device</a> as:<br><br><f=
ont face=3D"courier new, monospace">=C2=A0 =C2=A0 double Sum(int& [&=
;]k, int l, int u, double [&]ak) {<br>=C2=A0 =C2=A0 =C2=A0 =C2=A0 doubl=
e s =3D 0;<br>=C2=A0 =C2=A0 =C2=A0 =C2=A0 for (k =3D l; k < u; ++k)<br>=
=C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 s +=3D ak;<br>=C2=A0 =C2=A0 =C2=
=A0 =C2=A0 return s; <br>=C2=A0 =C2=A0 }<br><br>=C2=A0 =C2=A0 int main() {<=
br>=C2=A0 =C2=A0 =C2=A0 =C2=A0 double x;<br>=C2=A0 =C2=A0 =C2=A0 =C2=A0 dou=
ble y =3D Sum(x, 1, 5, x*x);<br>=C2=A0 =C2=A0 =C2=A0 =C2=A0 assert(y =3D=3D=
1+4+9+16);<br>=C2=A0 =C2=A0 }</font><br><br>and the example from Alberto&#=
39;s proposal as:<div><br></div><div><font face=3D"courier new, monospace">=
=C2=A0 =C2=A0 template<typename... Args><br></font></div><div><font f=
ace=3D"courier new, monospace">=C2=A0 =C2=A0 std::strong_ordering compose_o=
rdering(std::strong_ordering ord, Args[=3D]... others)</font></div><div><fo=
nt face=3D"courier new, monospace">=C2=A0 =C2=A0 {</font></div><div><font f=
ace=3D"courier new, monospace">=C2=A0 =C2=A0 =C2=A0 =C2=A0 if (ord !=3D 0) =
return ord;</font></div><div><font face=3D"courier new, monospace">=C2=A0 =
=C2=A0 =C2=A0 =C2=A0 return compose_ordering(others...);</font></div><div><=
font face=3D"courier new, monospace">=C2=A0 =C2=A0 }<br></font></div><div><=
div><font face=3D"courier new, monospace"><br></font></div><div><div><font =
face=3D"courier new, monospace">=C2=A0 =C2=A0 std::strong_ordering compose_=
ordering(std::strong_ordering ord)</font></div><div><font face=3D"courier n=
ew, monospace">=C2=A0 =C2=A0 {</font></div><div><font face=3D"courier new, =
monospace">=C2=A0 =C2=A0 =C2=A0 =C2=A0 return ord;</font></div><div><font f=
ace=3D"courier new, monospace">=C2=A0 =C2=A0 }</font></div><div><br></div><=
/div><div>and a Python/Perl-style "or" function (a.k.a. GNU's=
"<font face=3D"courier new, monospace">x ?: y</font>" operator) =
as:</div><div><br></div><div><div><font face=3D"courier new, monospace">=C2=
=A0 =C2=A0 template<class T, class U></font></div><div><font face=3D"=
courier new, monospace">=C2=A0 =C2=A0 auto py_or(T&& [=3D]t, U&=
& [=3D]u) {</font></div><div><font face=3D"courier new, monospace">=C2=
=A0 =C2=A0 =C2=A0 =C2=A0 return t ? t : u;</font></div><div><font face=3D"c=
ourier new, monospace">=C2=A0 =C2=A0 }</font></div></div><div><font face=3D=
"courier new, monospace"><br></font></div><div><div><font face=3D"courier n=
ew, monospace">=C2=A0 =C2=A0 template<class T, class U></font></div><=
div><font face=3D"courier new, monospace">=C2=A0 =C2=A0 auto py_and(T&&=
amp; [=3D]t, U&& [=3D]u) {</font></div><div><font face=3D"courier n=
ew, monospace">=C2=A0 =C2=A0 =C2=A0 =C2=A0 return t ? u : t;</font></div><d=
iv><font face=3D"courier new, monospace">=C2=A0 =C2=A0 }</font></div></div>=
<br><br>The <font face=3D"courier new, monospace">[&]</font> operands w=
ork by Hyman's "kind of no-argument lambdas", a.k.a. Algol-st=
yle thunks. =C2=A0The <font face=3D"courier new, monospace">[=3D]</font> op=
erands work the same way, but also reserve space for the equivalent of a <f=
ont face=3D"courier new, monospace">std::optional<ReturnType></font>=
=C2=A0on the caller's stack frame to hold the evaluated-and-memoized va=
lue.</div><div>In the second example, notice that passing a <font face=3D"c=
ourier new, monospace">[=3D]</font> variable as the argument of a function =
expecting a <font face=3D"courier new, monospace">[=3D]</font> parameter is=
expected to Do The Right Thing, and not lead to a proliferation of tempora=
ry lambda objects.</div><div>I have no strong opinion on the way I've s=
pelled confusing declarations like <font face=3D"courier new, monospace">Ar=
gs[=3D]...</font> and <font face=3D"courier new, monospace">T&& [=
=3D]</font>.<br><br></div><div>All this is certainly implementable; but is =
it a good idea? =C2=A0We can definitely accomplish all these things already=
today with judicious use of macros, so the question IMHO is: do we need to=
implement such things <i>so often</i> that it makes sense to look for a le=
ss ugly way to implement them? =C2=A0Much as I wish <font face=3D"courier n=
ew, monospace">py_or</font> were implementable without macros today, I feel=
fairly strongly that the answer is "no,=C2=A0this feature is <i>not</=
i> worth the headache."<div><div><br></div></div></div><div>my $.02,</=
div><div>Arthur</div></div>
<p></p>
-- <br />
You received this message because you are subscribed to the Google Groups &=
quot;ISO C++ Standard - Future Proposals" group.<br />
To unsubscribe from this group and stop receiving emails from it, send an e=
mail to <a href=3D"mailto:std-proposals+unsubscribe@isocpp.org">std-proposa=
ls+unsubscribe@isocpp.org</a>.<br />
To post to this group, send email to <a href=3D"mailto:std-proposals@isocpp=
..org">std-proposals@isocpp.org</a>.<br />
To view this discussion on the web visit <a href=3D"https://groups.google.c=
om/a/isocpp.org/d/msgid/std-proposals/60991286-9c4c-4ca2-94d7-957460351509%=
40isocpp.org?utm_medium=3Demail&utm_source=3Dfooter">https://groups.google.=
com/a/isocpp.org/d/msgid/std-proposals/60991286-9c4c-4ca2-94d7-957460351509=
%40isocpp.org</a>.<br />
------=_Part_409_1029968868.1493854327251--
------=_Part_408_1646197438.1493854327251--
.
Author: Alberto Barbati <albertobarbati@gmail.com>
Date: Thu, 4 May 2017 10:22:47 +0200
Raw View
--001a114dc8d65a5b93054eae7aaa
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: quoted-printable
2017-05-04 1:32 GMT+02:00 Arthur O'Dwyer <arthur.j.odwyer@gmail.com>:
> Per Micha=C5=82's tongue-in-cheek comment: It seems that the only solutio=
n is
> to allow both kinds of lambda-capture (a.k.a. call-by-name and
> call-by-lazy-evaluation respectively). Then we can implement Jensen's
> device <https://en.wikipedia.org/wiki/Jensen%27s_Device> as:
>
> [snip]
>
> and the example from Alberto's proposal as:
>
> [snip]
>
> and a Python/Perl-style "or" function (a.k.a. GNU's "x ?: y" operator) as=
:
>
> [snip]
>
I believe the two scenarios (call-by-name and controlled-evaluation) are to
be separated. Although call-by-name sound nice, it's a feature that enables
a programming style that is alien to C++ and can easily be misused, easily
leading to obfuscated code. Moreover, we can already achieve a similar
effect in a saner way within current C++ boundaries. It's therefore a
feature that is going to fall under the "Remember the Wasa" criterion and
should not be pursued, in my opinion.
On the other hand, the controlled-evaluation approach, possibly with a
strictly enforced "at most once evaluation" rule, focuses on several
use-cases that are commonly addressed with macros. It's true that even this
approach can be misused, but not to the extent of introducing a totally
different programming style.
> All this is certainly implementable; but is it a good idea? We can
> definitely accomplish all these things already today with judicious use o=
f
> macros, so the question IMHO is: do we need to implement such things *so
> often* that it makes sense to look for a less ugly way to implement
> them? Much as I wish py_or were implementable without macros today, I
> feel fairly strongly that the answer is "no, this feature is *not* worth
> the headache."
>
Replacing macros with a language feature is usually good, but it's going to
be even more important with the introduction of modules, since macros
cannot be imported from a module. The main advantages of a language feature
over a library-based solution or a hand-written lambda-based approach, are:
a) the types of the parameters of a controlled-evaluation function behave
as "regular" parameters for overload resolution and template deduction
b) the memory necessary for the memoization of the argument value can be
allocated in the callee rather than in the caller, allowing for smaller
code generation and saner stack unwinding
c) the compiler might be able to optimize lambdas away in some
circumstances (e.g. inline expansion)
As for the "how often" objection, that is a good point. I have provided
three use cases: short-circuit evaluation, assertions and logging
functions. Of course I believe they are sufficient to justify the feature,
but I'm definitely biased.
--=20
You received this message because you are subscribed to the Google Groups "=
ISO C++ Standard - Future Proposals" group.
To unsubscribe from this group and stop receiving emails from it, send an e=
mail to std-proposals+unsubscribe@isocpp.org.
To post to this group, send email to std-proposals@isocpp.org.
To view this discussion on the web visit https://groups.google.com/a/isocpp=
..org/d/msgid/std-proposals/CAF3xnJRiRMSw3sQtsn%2Bcbh%2B2oOTaFjssu7j1RJAHi%2=
B-Rc90MEg%40mail.gmail.com.
--001a114dc8d65a5b93054eae7aaa
Content-Type: text/html; charset=UTF-8
Content-Transfer-Encoding: quoted-printable
<div dir=3D"ltr"><div class=3D"gmail_extra"><div class=3D"gmail_quote">2017=
-05-04 1:32 GMT+02:00 Arthur O'Dwyer <span dir=3D"ltr"><<a href=3D"m=
ailto:arthur.j.odwyer@gmail.com" target=3D"_blank">arthur.j.odwyer@gmail.co=
m</a>></span>:<br><blockquote class=3D"gmail_quote" style=3D"margin:0px =
0px 0px 0.8ex;border-left:1px solid rgb(204,204,204);padding-left:1ex"><div=
dir=3D"ltr">Per Micha=C5=82's tongue-in-cheek comment: It seems that t=
he only solution is to allow both kinds of lambda-capture (a.k.a. call-by-n=
ame and call-by-lazy-evaluation respectively). Then we can implement <a hre=
f=3D"https://en.wikipedia.org/wiki/Jensen%27s_Device" target=3D"_blank">Jen=
sen's device</a> as:<br><br></div><div><font face=3D"courier new, monos=
pace">[snip]</font><br></div><div dir=3D"ltr"><br>and the example from Albe=
rto's proposal as:<div><br></div><font face=3D"courier new, monospace">=
[snip]</font><div><br></div><div><div>and a Python/Perl-style "or"=
; function (a.k.a. GNU's "<font face=3D"courier new, monospace">x =
?: y</font>" operator) as:</div><div><br></div><div><div><font face=3D=
"courier new, monospace">=C2=A0 =C2=A0 </font><font face=3D"courier new, mo=
nospace">[snip]</font></div></div></div></div></blockquote><div><br></div><=
div>I believe the two scenarios (call-by-name and controlled-evaluation) ar=
e to be separated. Although call-by-name sound nice, it's a feature tha=
t enables a programming style that is alien to C++ and can easily be misuse=
d, easily leading to obfuscated code. Moreover, we can already achieve a si=
milar effect in a saner way within current C++ boundaries. It's therefo=
re a feature that is going to fall under the "Remember the Wasa" =
criterion and should not be pursued, in my opinion.<br><br></div><div>On th=
e other hand, the controlled-evaluation approach, possibly with a strictly =
enforced "at most once evaluation" rule, focuses on several use-c=
ases that are commonly addressed with macros. It's true that even this =
approach can be misused, but not to the extent of introducing a totally dif=
ferent programming style.<br></div><div>=C2=A0 <br></div><blockquote class=
=3D"gmail_quote" style=3D"margin:0px 0px 0px 0.8ex;border-left:1px solid rg=
b(204,204,204);padding-left:1ex"><div dir=3D"ltr"><div>All this is certainl=
y implementable; but is it a good idea?=C2=A0 We can definitely accomplish =
all these things already today with judicious use of macros, so the questio=
n IMHO is: do we need to implement such things <i>so often</i> that it make=
s sense to look for a less ugly way to implement them?=C2=A0 Much as I wish=
<font face=3D"courier new, monospace">py_or</font> were implementable with=
out macros today, I feel fairly strongly that the answer is "no,=C2=A0=
this feature is <i>not</i> worth the headache."<br></div></div></block=
quote></div><br></div><div class=3D"gmail_extra">Replacing macros with a la=
nguage feature is usually good, but it's going to be even more importan=
t with the introduction of modules, since macros cannot be imported from a =
module. The main advantages of a language feature over a library-based solu=
tion or a hand-written lambda-based approach, are:<br><br></div><div class=
=3D"gmail_extra">a) the types of the parameters of a controlled-evaluation =
function behave as "regular" parameters for overload resolution a=
nd template deduction<br></div><div class=3D"gmail_extra">b) the memory nec=
essary for the memoization of the argument value can be allocated in the ca=
llee rather than in the caller, allowing for smaller code generation and sa=
ner stack unwinding<br></div><div class=3D"gmail_extra">c) the compiler mig=
ht be able to optimize lambdas away in some circumstances (e.g. inline expa=
nsion)<br></div><div class=3D"gmail_extra"><br></div><div class=3D"gmail_ex=
tra">As for the "how often" objection, that is a good point. I ha=
ve provided three use cases: short-circuit evaluation, assertions and loggi=
ng functions. Of course I believe they are sufficient to justify the featur=
e, but I'm definitely biased.<br></div><div class=3D"gmail_extra"><br><=
/div><div class=3D"gmail_extra"><br></div><div class=3D"gmail_extra"><br></=
div></div>
<p></p>
-- <br />
You received this message because you are subscribed to the Google Groups &=
quot;ISO C++ Standard - Future Proposals" group.<br />
To unsubscribe from this group and stop receiving emails from it, send an e=
mail to <a href=3D"mailto:std-proposals+unsubscribe@isocpp.org">std-proposa=
ls+unsubscribe@isocpp.org</a>.<br />
To post to this group, send email to <a href=3D"mailto:std-proposals@isocpp=
..org">std-proposals@isocpp.org</a>.<br />
To view this discussion on the web visit <a href=3D"https://groups.google.c=
om/a/isocpp.org/d/msgid/std-proposals/CAF3xnJRiRMSw3sQtsn%2Bcbh%2B2oOTaFjss=
u7j1RJAHi%2B-Rc90MEg%40mail.gmail.com?utm_medium=3Demail&utm_source=3Dfoote=
r">https://groups.google.com/a/isocpp.org/d/msgid/std-proposals/CAF3xnJRiRM=
Sw3sQtsn%2Bcbh%2B2oOTaFjssu7j1RJAHi%2B-Rc90MEg%40mail.gmail.com</a>.<br />
--001a114dc8d65a5b93054eae7aaa--
.