PPT: number

[email protected] ("Amir Karger") Mon, 09 Aug 2004 14:17:06 -0400
Newsgroups perl.ppt
Message-ID <[email protected]>
--=__Part331368B2.0__=
Content-Type: text/plain; charset=US-ASCII
Content-Transfer-Encoding: 7bit
Content-Disposition: inline

It would be nice to have sample expected output for all these commands,
especially for those of us not using UNIX on a regular basis. Maybe you
could convince someone who wants to help the project but can't think of
anything to implement that they could write some tests instead. (OK,
maybe not.)

This version doesn't do scientific notation.  Maybe when my tuits get
rounder...

To test: 
>perl -MTest::Harness -e "runtests('number.t')"

-Amir Karger

--=__Part331368B2.0__=
Content-Type: application/octet-stream; name="number"
Content-Transfer-Encoding: base64
Content-Disposition: attachment; filename="number"

IyFwZXJsIC13DQoNCnVzZSBzdHJpY3Q7DQp1c2UgR2V0b3B0OjpTdGQ7DQoNCj1oZWFkMSBOQU1F
DQoNCm51bWJlciAtIGNvbnZlcnQgQXJhYmljIG51bWVyYWxzIHRvIEVuZ2xpc2gNCg0KPWhlYWQx
IFNZTk9QU0lTDQoNCm51bWJlciBbLWxdIFsjXQ0KDQo9Y3V0DQoNCg0KIyBHZXQgb3B0cw0KbXkg
JFVzYWdlID0gIlVzYWdlOiBudW1iZXIgWy1sXSBbI11cbiI7DQpvdXIgJG9wdF9sOw0KZ2V0b3B0
cygnbCcpIG9yIGRpZSAkVXNhZ2U7DQpteSAkc2VwYXJhdG9yID0gZGVmaW5lZCAkb3B0X2wgPyAi
ICIgOiAiXG4iIDsNCg0KIyBTZXR1cA0KbXkgQHplcm9fdG9fOTk5ID0gKCIiLCAmb25lX3RvXzk5
OSk7DQojJnByaW50X3Rlc3RfZGF0YSwgZXhpdDsNCg0KIyBDb252ZXJ0DQppZiAoZGVmaW5lZCAo
JF8gPSBzaGlmdCkpIHsNCiAgICBwcmludCAmY29udmVydCgkXywgJHNlcGFyYXRvciksICJcbiI7
DQp9IGVsc2Ugew0KICAgIHdoaWxlICg8Pikgew0KCWNob21wOw0KCXdhcm4oIk5vIGlucHV0XG4i
KSwgbmV4dCB1bmxlc3MgbGVuZ3RoOw0KCXByaW50ICZjb252ZXJ0KCRfLCAkc2VwYXJhdG9yKSwg
IlxuIjsNCiAgICB9DQp9DQoNCmV4aXQ7DQoNCiMjIyMjIyMjIyMjIyMjIyMjIyMjIw0KIyBDb252
ZXJ0IGEgbnVtYmVyIHRvIChBbWVyaWNhbikgRW5nbGlzaC4gUmV0dXJucyAiIiBvbiBmYWlsdXJl
DQpzdWIgY29udmVydCB7DQogICAgbXkgQHBvd2VycyA9ICgiIiwgcXcoDQogICAgICAgIHRob3Vz
YW5kIG1pbGxpb24gYmlsbGlvbiB0cmlsbGlvbiBxdWFkcmlsbGlvbiBxdWludGlsbGlvbg0KCXNl
eHRpbGxpb24gc2VwdGlsbGlvbiBvY3RpbGxpb24gbm9uaWxsaW9uIGRlY2lsbGlvbiB1bmRlY2ls
bGlvbg0KCWR1b2RlY2lsbGlvbiB0cmVkZWNpbGxpb24gcXVhdHR1b3JkZWNpbGxpb24gcXVpbmRl
Y2lsbGlvbiBzZXhkZWNpbGxpb24NCglzZXB0ZW5kZWNpbGxpb24gb2N0b2RlY2lsbGlvbiBub3Zl
bWRlY2lsbGlvbiB2aWdpbnRpbGxpb24NCiAgICApKTsNCg0KICAgIG15ICgkbiwgJHNlcGFyYXRv
cikgPSBAXzsNCiAgICBteSAkcmVzdWx0ID0gIiI7DQogICAgbXkgQHRlcm1zID0gKCk7DQogICAg
bXkgJGlzX25lZ2F0aXZlID0gKCRuID1+IHMvXi0vLyk7DQogICAgaWYgKCRuID1+IC9cRC8pIHsN
Cgl3YXJuICInJG4nIGlzIG5vdCBhIG51bWJlcj9cbiI7DQoJcmV0dXJuICIiOw0KICAgIH0gZWxz
aWYgKCRuKSB7DQoJJG4gPX4gcy9eMCsvLzsgIyBsZWFkaW5nIHplcm9lcw0KCW15ICRsID0gbGVu
Z3RoICRuOw0KCW15ICRwb3cgPSBpbnQoKCRsLTEpIC8gMyk7DQoJd2FybigiTnVtYmVyICckbicg
b3V0IG9mIHJhbmdlIiksIHJldHVybiAiIiBpZiAkcG93ID49IEBwb3dlcnM7DQoJd2hpbGUgKCRu
ID1+IHMvXiguezEsM30pKD89KC57M30pKiQpLy8pIHsNCgkgICAgaWYgKG15ICR0ZXJtID0gJHpl
cm9fdG9fOTk5WyQxXSkgeyAjIHNraXAgJzAwMCcNCgkJJHRlcm0gLj0gIiAkcG93ZXJzWyRwb3dd
IiBpZiAkcG93ZXJzWyRwb3ddOw0KCQlwdXNoIEB0ZXJtcywgJHRlcm07DQoJICAgIH0NCgkgICAg
JHBvdy0tOw0KCX0NCgkkcmVzdWx0ID0gam9pbiAkc2VwYXJhdG9yLCBAdGVybXM7DQogICAgfSBl
bHNlIHsNCgkkcmVzdWx0ID0gInplcm8iOw0KICAgIH0NCiAgICAkcmVzdWx0ID0gIm1pbnVzICRy
ZXN1bHQiIGlmICRpc19uZWdhdGl2ZTsNCiAgICByZXR1cm4gJHJlc3VsdDsNCn0NCg0Kc3ViIG9u
ZV90b185OTkgew0KICAgICMgQWxsIHRoZXNlIGFycmF5cyBkb24ndCBpbmNsdWRlIHplcm8sIHNv
ICRvbmVzWzNdID0gInR3byIuIA0KICAgICMgQW5ub3lpbmcsIGJ1dCBpdCBtYWtlcyBidWlsZGlu
ZyBsYXRlciBhcnJheXMgZWFzaWVyLg0KICAgICMgQW55d2F5LCB0aGV5J3JlIGxvY2FsIHRvIHRo
aXMgc3ViLg0KICAgIG15IEBvbmVzID0gcXcob25lIHR3byB0aHJlZSBmb3VyIGZpdmUgc2l4IHNl
dmVuIGVpZ2h0IG5pbmUpOyANCiAgICBteSBAdXBfdG9fMTkgPSAoDQoJQG9uZXMsIA0KCXF3KHRl
biBlbGV2ZW4gdHdlbHZlKSwgDQoJbWFwIHskXy4idGVlbiJ9IHF3KHRoaXIgZm91ciBmaWYgc2l4
IHNldmVuIGVpZ2ggbmluZSkNCiAgICApOw0KDQogICAgbXkgQHRlbnMgPSBxdyh0d2VudHkgdGhp
cnR5IGZvcnR5IGZpZnR5IHNpeHR5IHNldmVudHkgZWlnaHR5IG5pbmV0eSk7DQogICAgbXkgQHVw
X3RvXzk5ID0gKA0KCUB1cF90b18xOSwNCgltYXAgeyBteSAkdGVuID0gJF87ICgkdGVuLCBtYXAg
eyIkdGVuLSRfIn0gQG9uZXMpIH0gQHRlbnMNCiAgICApOw0KDQogICAgbXkgQHVwX3RvXzk5OSA9
ICgNCglAdXBfdG9fOTksDQoJbWFwIHsNCgkgICAgbXkgJGh1biA9ICIkXyBodW5kcmVkIjsgKCRo
dW4sIG1hcCB7IiRodW4gJF8ifSBAdXBfdG9fOTkpDQoJfSBAb25lcw0KICAgICk7DQoNCiAgICBy
ZXR1cm4gQHVwX3RvXzk5OTsNCn0NCg0KIyBUTVRPV1RESQ0Kc3ViIFVOVVNFRF9vbmVfdG9fOTk5
IHsNCiAgICBteSBAb25lcyA9ICgiIiwgDQogICAgICAgIHF3KG9uZSB0d28gdGhyZWUgZm91ciBm
aXZlIHNpeCBzZXZlbiBlaWdodCBuaW5lIHRlbiBlbGV2ZW4gdHdlbHZlKSwgDQoJbWFwIHskXy4i
dGVlbiJ9IHF3KHRoaXIgZm91ciBmaWYgc2l4IHNldmVuIGVpZ2ggbmluZSkNCiAgICApOw0KICAg
IG15IEB0ZW5zID0gKCIiLCAiIiwgDQogICAgICAgIHF3KHR3ZW50eSB0aGlydHkgZm9ydHkgZmlm
dHkgc2l4dHkgc2V2ZW50eSBlaWdodHkgbmluZXR5KQ0KICAgICk7DQogICAgbXkgQHJlc3VsdDsN
CiAgICBteSAkbiA9IHNoaWZ0Ow0KICAgIG15ICRoID0gaW50ICRuLzEwMDsNCiAgICBwdXNoIEBy
ZXN1bHQsICIkb25lc1skaF0gaHVuZHJlZCIgaWYgJGg7DQogICAgbXkgJHJlbWFpbiA9ICRuICUg
MTAwOw0KICAgIG15ICR0ID0gaW50ICgkcmVtYWluIC8gMTApOw0KICAgIG15ICRvID0gJG4gJSAx
MDsNCiAgICBpZiAoJHQgPT0gMSkgew0KCXB1c2ggQHJlc3VsdCwgJG9uZXNbJG8rMTBdOw0KICAg
IH0gZWxzZSB7DQoJbXkgJHJlczsNCglpZiAoJHQpIHsgIyBoeXBoZW5hdGUhDQoJICAgICRyZXMg
PSAkbyA/ICIkdGVuc1skdF0tJG9uZXNbJG9dIiA6ICIkdGVuc1skdF0iOw0KCX0gZWxzZSB7DQoJ
ICAgICRyZXMgPSAkb25lc1skb107DQoJfQ0KCXB1c2ggQHJlc3VsdCwgJHJlcyBpZiAkcmVzOw0K
ICAgIH0NCiAgICByZXR1cm4gQHJlc3VsdDsNCn0NCg0Kc3ViIHRlc3Rfb25lX3RvXzk5OSB7DQog
ICAgZm9yICgxLi45OTkpIHsNCglteSAkeiA9ICR6ZXJvX3RvXzk5OVskX107DQoJbXkgJHkgPSBq
b2luIiAiLCZVTlVTRURfb25lX3RvXzk5OSgkXyk7DQoJcHJpbnQgImFycmF5ICckeicgbmUgc3Vi
ICckeSdcbiIgdW5sZXNzICR6IGVxICR5Ow0KICAgIH0NCn0NCg0KIyBPSywgaXQncyBub3Qgc28g
Y29vbCB0byB1c2UgdGhlIHByb2dyYW0gdG8gd3JpdGUgaXRzIG93biB0ZXN0IGRhdGEsDQojIGJ1
dCBJJ2xsIHZlcmlmeSB0aGUgcmVzdWx0cyBieSBleWUuDQpzdWIgcHJpbnRfdGVzdF9kYXRhIHsN
CiAgICBwcmludCAiJF9cbiIsIGNvbnZlcnQoJF8sICJcbiIpLCJcbiIgZm9yICgwLi4xMzksIHF3
KA0KCTIyMiAzMzMgNDQ0IDU1NSA2NjYgNzc3IDg4OCA5OTkNCgkxMDAwIDEwMDEgMTAxMCAxMDEx
IDEwMjMgMTEwMCAxMTAxIDExMTAgMTExMQ0KCTIwMDAgMjM0NSA5OTk5IDEwMDAwIDEwMTAxIDEx
MDAwIDIyMDAwIDEwMDAwMSAxMjAxMjANCgkxMDAwMDAwIDEwMDAwMDEgMTEwMDAwMCAxMTAwMDAw
MCAxMjM0NTY3OCAxMjM0NTY3ODkNCgkxMjM0NTY3ODkwMTIzNDU2Nzg5MA0KCTEyMzQ1Njc4OTAx
MjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Ng0K
CTEwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMQ0KCS0xIC0xMDAxDQoJLTEwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMQ0KICAgICkpOw0KfQ0KDQo9aGVhZDEg
REVTQ1JJUFRJT04NCg0KVGhpcyBwb3J0IGlzIHBhcnQgb2YgdGhlIFBlcmwgUG93ZXIgVG9vbHMg
cHJvamVjdC4gDQpUaGlzIHNlY3Rpb24gaXMgY29waWVkIGRpcmVjdGx5IGZyb20gdGhlIEJTRCBt
YW4gcGFnZS4NCg0KVGhlIG51bWJlciB1dGlsaXR5IHByaW50cyB0aGUgRW5nbGlzaCBlcXVpdmFs
ZW50IG9mIHRoZSBudW1iZXIgdG8gdGhlDQpzdGFuZGFyZCBvdXRwdXQsIHdpdGggZWFjaCAxMF4z
IG1hZ25pdHVkZSBkaXNwbGF5ZWQgb24gYSBzZXBhcmF0ZSBsaW5lLg0KSWYgbm8gYXJndW1lbnQg
aXMgc3BlY2lmaWVkLCBudW1iZXIgcmVhZHMgbGluZXMgZnJvbSB0aGUgc3RhbmRhcmQgaW5wdXQu
DQoNClRoZSBvcHRpb25zIGFyZSBhcyBmb2xsb3dzOg0KDQo9b3ZlciA0DQoNCj1pdGVtIC1sDQoN
CkRpc3BsYXkgdGhlIG51bWJlciBvbiBhIHNpbmdsZSBsaW5lLg0KDQo9YmFjaw0KDQpudW1iZXIg
dW5kZXJzdGFuZHMgbmVnYXRpdmUgbnVtYmVycyAoYWx0aG91Z2ggdGhleSBtdXN0IGJlIHByZWNl
ZGVkIGJ5DQpgLS0nIGlmIHRoZXkgYXJlIG9uIHRoZSBjb21tYW5kIGxpbmUgdG8gYXZvaWQgYmVp
bmcgbWlzdGFrZW4gZm9yIG9wdGlvbnMpDQphbmQgbnVtYmVycyBpbiBzY2llbnRpZmljIG5vdGF0
aW9uIChlLmcuIDEuMjM0RSswNSkuDQoNClRoaXMgUFBUIHZlcnNpb24gZG9lcyBub3QgeWV0IGRv
IHNjaWVudGlmaWMgbm90YXRpb24sIGhvd2V2ZXIuDQoNCj1oZWFkMSBESUFHTk9TVElDUw0KDQo9
b3ZlciA0DQoNCj1pdGVtICoNCg0KIk5vIGlucHV0IiBpZiByZWFkIGEgYmxhbmsgbGluZSBmcm9t
IFNURElODQoNCj1pdGVtICoNCg0KIickbicgaXMgbm90IGEgbnVtYmVyPyIgaWYgdGhlIG51bWJl
ciBjb250YWlucyBhbnkgaWxsZWdhbCBjaGFyYWN0ZXJzLg0KDQo9aXRlbSAqDQoNCiJOdW1iZXIg
JyRuJyBpcyBvdXQgb2YgcmFuZ2UiIGlmIHRoZSBudW1iZXIgaXMgPj0gMUU2Ny4NCg0KPWJhY2sN
Cg0KPWhlYWQxIEJVR1MNCg0KTWFrZXMgQnJpdGlzaCBzdWJqZWN0cyB1bmhhcHB5IGZvciBudW1i
ZXJzID49IDFFOS4NCg0KPWhlYWQxIFRPRE8NCg0KRG9lcyBCU0QgdmVyc2lvbiBwcmludCAnbWlu
dXMgemVybycgb3IganVzdCAnemVybyc/DQoNCkV4cG9uZW50cy4gKE5vdGU6IGRvIHRoaXMgYXMg
YSBzdHJpbmcsIG5vdCBqdXN0IG11bHRpcGx5aW5nIGJ5IDEwKipuLA0KYmVjYXVzZSB3ZSBtYXkg
Z2V0IGEgbnVtYmVyIGJpZ2dlciB0aGFuIGEgUGVybCBpbnQuKQ0KDQpTZXZlcmFsIHZlcnNpb25z
IG9mIHRoaXMgb24gdGhlIHdlYiBzYXkgIkFsdGhvdWdoIG51bWJlciB1bmRlcnN0YW5kIGZyYWN0
aW9ucywNCml0IGRvZXNuJ3QgdW5kZXJzdGFuZCBleHBvbmVudHMuIiBEbyB0aGV5IG1lYW4gZGVj
aW1hbHMgb3IgZnJhY3Rpb25zPw0KDQo9aGVhZDEgQVVUSE9SDQoNCkFtaXIgS2FyZ2VyIDxha2Fy
Z2VyQGNwYW4ub3JnPg0KDQo9aGVhZDEgTElDRU5TRQ0KDQpUaGlzIHByb2dyYW0gaXMgY29weXJp
Z2h0IChjKSBBbWlyIEthcmdlciAyMDA0Lg0KDQpUaGlzIHByb2dyYW0gaXMgZnJlZSBhbmQgb3Bl
biBzb2Z0d2FyZS4gWW91IG1heSB1c2UsIG1vZGlmeSwgZGlzdHJpYnV0ZSwgYW5kDQpzZWxsIHRo
aXMgcHJvZ3JhbSAoYW5kIGFueSBtb2RpZmllZCB2YXJpYW50cykgaW4gYW55IHdheSB5b3Ugd2lz
aCwgcHJvdmlkZWQgeW91DQpkbyBub3QgcmVzdHJpY3Qgb3RoZXJzIGZyb20gZG9pbmcgdGhlIHNh
bWUuDQoNCj1oZWFkMSBTRUUgQUxTTw0KDQpQZXJsIFBvd2VyIFRvb2xzIHByb2plY3QsIGh0dHA6
Ly9wcHQucGVybC5vcmcNCg0KPWN1dA0KDQo=

--=__Part331368B2.0__=
Content-Type: application/octet-stream; name="number_data"
Content-Transfer-Encoding: base64
Content-Disposition: attachment; filename="number_data"

MA0KemVybw0KMQ0Kb25lDQoyDQp0d28NCjMNCnRocmVlDQo0DQpmb3VyDQo1DQpmaXZlDQo2DQpz
aXgNCjcNCnNldmVuDQo4DQplaWdodA0KOQ0KbmluZQ0KMTANCnRlbg0KMTENCmVsZXZlbg0KMTIN
CnR3ZWx2ZQ0KMTMNCnRoaXJ0ZWVuDQoxNA0KZm91cnRlZW4NCjE1DQpmaWZ0ZWVuDQoxNg0Kc2l4
dGVlbg0KMTcNCnNldmVudGVlbg0KMTgNCmVpZ2h0ZWVuDQoxOQ0KbmluZXRlZW4NCjIwDQp0d2Vu
dHkNCjIxDQp0d2VudHktb25lDQoyMg0KdHdlbnR5LXR3bw0KMjMNCnR3ZW50eS10aHJlZQ0KMjQN
CnR3ZW50eS1mb3VyDQoyNQ0KdHdlbnR5LWZpdmUNCjI2DQp0d2VudHktc2l4DQoyNw0KdHdlbnR5
LXNldmVuDQoyOA0KdHdlbnR5LWVpZ2h0DQoyOQ0KdHdlbnR5LW5pbmUNCjMwDQp0aGlydHkNCjMx
DQp0aGlydHktb25lDQozMg0KdGhpcnR5LXR3bw0KMzMNCnRoaXJ0eS10aHJlZQ0KMzQNCnRoaXJ0
eS1mb3VyDQozNQ0KdGhpcnR5LWZpdmUNCjM2DQp0aGlydHktc2l4DQozNw0KdGhpcnR5LXNldmVu
DQozOA0KdGhpcnR5LWVpZ2h0DQozOQ0KdGhpcnR5LW5pbmUNCjQwDQpmb3J0eQ0KNDENCmZvcnR5
LW9uZQ0KNDINCmZvcnR5LXR3bw0KNDMNCmZvcnR5LXRocmVlDQo0NA0KZm9ydHktZm91cg0KNDUN
CmZvcnR5LWZpdmUNCjQ2DQpmb3J0eS1zaXgNCjQ3DQpmb3J0eS1zZXZlbg0KNDgNCmZvcnR5LWVp
Z2h0DQo0OQ0KZm9ydHktbmluZQ0KNTANCmZpZnR5DQo1MQ0KZmlmdHktb25lDQo1Mg0KZmlmdHkt
dHdvDQo1Mw0KZmlmdHktdGhyZWUNCjU0DQpmaWZ0eS1mb3VyDQo1NQ0KZmlmdHktZml2ZQ0KNTYN
CmZpZnR5LXNpeA0KNTcNCmZpZnR5LXNldmVuDQo1OA0KZmlmdHktZWlnaHQNCjU5DQpmaWZ0eS1u
aW5lDQo2MA0Kc2l4dHkNCjYxDQpzaXh0eS1vbmUNCjYyDQpzaXh0eS10d28NCjYzDQpzaXh0eS10
aHJlZQ0KNjQNCnNpeHR5LWZvdXINCjY1DQpzaXh0eS1maXZlDQo2Ng0Kc2l4dHktc2l4DQo2Nw0K
c2l4dHktc2V2ZW4NCjY4DQpzaXh0eS1laWdodA0KNjkNCnNpeHR5LW5pbmUNCjcwDQpzZXZlbnR5
DQo3MQ0Kc2V2ZW50eS1vbmUNCjcyDQpzZXZlbnR5LXR3bw0KNzMNCnNldmVudHktdGhyZWUNCjc0
DQpzZXZlbnR5LWZvdXINCjc1DQpzZXZlbnR5LWZpdmUNCjc2DQpzZXZlbnR5LXNpeA0KNzcNCnNl
dmVudHktc2V2ZW4NCjc4DQpzZXZlbnR5LWVpZ2h0DQo3OQ0Kc2V2ZW50eS1uaW5lDQo4MA0KZWln
aHR5DQo4MQ0KZWlnaHR5LW9uZQ0KODINCmVpZ2h0eS10d28NCjgzDQplaWdodHktdGhyZWUNCjg0
DQplaWdodHktZm91cg0KODUNCmVpZ2h0eS1maXZlDQo4Ng0KZWlnaHR5LXNpeA0KODcNCmVpZ2h0
eS1zZXZlbg0KODgNCmVpZ2h0eS1laWdodA0KODkNCmVpZ2h0eS1uaW5lDQo5MA0KbmluZXR5DQo5
MQ0KbmluZXR5LW9uZQ0KOTINCm5pbmV0eS10d28NCjkzDQpuaW5ldHktdGhyZWUNCjk0DQpuaW5l
dHktZm91cg0KOTUNCm5pbmV0eS1maXZlDQo5Ng0KbmluZXR5LXNpeA0KOTcNCm5pbmV0eS1zZXZl
bg0KOTgNCm5pbmV0eS1laWdodA0KOTkNCm5pbmV0eS1uaW5lDQoxMDANCm9uZSBodW5kcmVkDQox
MDENCm9uZSBodW5kcmVkIG9uZQ0KMTAyDQpvbmUgaHVuZHJlZCB0d28NCjEwMw0Kb25lIGh1bmRy
ZWQgdGhyZWUNCjEwNA0Kb25lIGh1bmRyZWQgZm91cg0KMTA1DQpvbmUgaHVuZHJlZCBmaXZlDQox
MDYNCm9uZSBodW5kcmVkIHNpeA0KMTA3DQpvbmUgaHVuZHJlZCBzZXZlbg0KMTA4DQpvbmUgaHVu
ZHJlZCBlaWdodA0KMTA5DQpvbmUgaHVuZHJlZCBuaW5lDQoxMTANCm9uZSBodW5kcmVkIHRlbg0K
MTExDQpvbmUgaHVuZHJlZCBlbGV2ZW4NCjExMg0Kb25lIGh1bmRyZWQgdHdlbHZlDQoxMTMNCm9u
ZSBodW5kcmVkIHRoaXJ0ZWVuDQoxMTQNCm9uZSBodW5kcmVkIGZvdXJ0ZWVuDQoxMTUNCm9uZSBo
dW5kcmVkIGZpZnRlZW4NCjExNg0Kb25lIGh1bmRyZWQgc2l4dGVlbg0KMTE3DQpvbmUgaHVuZHJl
ZCBzZXZlbnRlZW4NCjExOA0Kb25lIGh1bmRyZWQgZWlnaHRlZW4NCjExOQ0Kb25lIGh1bmRyZWQg
bmluZXRlZW4NCjEyMA0Kb25lIGh1bmRyZWQgdHdlbnR5DQoxMjENCm9uZSBodW5kcmVkIHR3ZW50
eS1vbmUNCjEyMg0Kb25lIGh1bmRyZWQgdHdlbnR5LXR3bw0KMTIzDQpvbmUgaHVuZHJlZCB0d2Vu
dHktdGhyZWUNCjEyNA0Kb25lIGh1bmRyZWQgdHdlbnR5LWZvdXINCjEyNQ0Kb25lIGh1bmRyZWQg
dHdlbnR5LWZpdmUNCjEyNg0Kb25lIGh1bmRyZWQgdHdlbnR5LXNpeA0KMTI3DQpvbmUgaHVuZHJl
ZCB0d2VudHktc2V2ZW4NCjEyOA0Kb25lIGh1bmRyZWQgdHdlbnR5LWVpZ2h0DQoxMjkNCm9uZSBo
dW5kcmVkIHR3ZW50eS1uaW5lDQoxMzANCm9uZSBodW5kcmVkIHRoaXJ0eQ0KMTMxDQpvbmUgaHVu
ZHJlZCB0aGlydHktb25lDQoxMzINCm9uZSBodW5kcmVkIHRoaXJ0eS10d28NCjEzMw0Kb25lIGh1
bmRyZWQgdGhpcnR5LXRocmVlDQoxMzQNCm9uZSBodW5kcmVkIHRoaXJ0eS1mb3VyDQoxMzUNCm9u
ZSBodW5kcmVkIHRoaXJ0eS1maXZlDQoxMzYNCm9uZSBodW5kcmVkIHRoaXJ0eS1zaXgNCjEzNw0K
b25lIGh1bmRyZWQgdGhpcnR5LXNldmVuDQoxMzgNCm9uZSBodW5kcmVkIHRoaXJ0eS1laWdodA0K
MTM5DQpvbmUgaHVuZHJlZCB0aGlydHktbmluZQ0KMjIyDQp0d28gaHVuZHJlZCB0d2VudHktdHdv
DQozMzMNCnRocmVlIGh1bmRyZWQgdGhpcnR5LXRocmVlDQo0NDQNCmZvdXIgaHVuZHJlZCBmb3J0
eS1mb3VyDQo1NTUNCmZpdmUgaHVuZHJlZCBmaWZ0eS1maXZlDQo2NjYNCnNpeCBodW5kcmVkIHNp
eHR5LXNpeA0KNzc3DQpzZXZlbiBodW5kcmVkIHNldmVudHktc2V2ZW4NCjg4OA0KZWlnaHQgaHVu
ZHJlZCBlaWdodHktZWlnaHQNCjk5OQ0KbmluZSBodW5kcmVkIG5pbmV0eS1uaW5lDQoxMDAwDQpv
bmUgdGhvdXNhbmQNCjEwMDENCm9uZSB0aG91c2FuZA0Kb25lDQoxMDEwDQpvbmUgdGhvdXNhbmQN
CnRlbg0KMTAxMQ0Kb25lIHRob3VzYW5kDQplbGV2ZW4NCjEwMjMNCm9uZSB0aG91c2FuZA0KdHdl
bnR5LXRocmVlDQoxMTAwDQpvbmUgdGhvdXNhbmQNCm9uZSBodW5kcmVkDQoxMTAxDQpvbmUgdGhv
dXNhbmQNCm9uZSBodW5kcmVkIG9uZQ0KMTExMA0Kb25lIHRob3VzYW5kDQpvbmUgaHVuZHJlZCB0
ZW4NCjExMTENCm9uZSB0aG91c2FuZA0Kb25lIGh1bmRyZWQgZWxldmVuDQoyMDAwDQp0d28gdGhv
dXNhbmQNCjIzNDUNCnR3byB0aG91c2FuZA0KdGhyZWUgaHVuZHJlZCBmb3J0eS1maXZlDQo5OTk5
DQpuaW5lIHRob3VzYW5kDQpuaW5lIGh1bmRyZWQgbmluZXR5LW5pbmUNCjEwMDAwDQp0ZW4gdGhv
dXNhbmQNCjEwMTAxDQp0ZW4gdGhvdXNhbmQNCm9uZSBodW5kcmVkIG9uZQ0KMTEwMDANCmVsZXZl
biB0aG91c2FuZA0KMjIwMDANCnR3ZW50eS10d28gdGhvdXNhbmQNCjEwMDAwMQ0Kb25lIGh1bmRy
ZWQgdGhvdXNhbmQNCm9uZQ0KMTIwMTIwDQpvbmUgaHVuZHJlZCB0d2VudHkgdGhvdXNhbmQNCm9u
ZSBodW5kcmVkIHR3ZW50eQ0KMTAwMDAwMA0Kb25lIG1pbGxpb24NCjEwMDAwMDENCm9uZSBtaWxs
aW9uDQpvbmUNCjExMDAwMDANCm9uZSBtaWxsaW9uDQpvbmUgaHVuZHJlZCB0aG91c2FuZA0KMTEw
MDAwMDANCmVsZXZlbiBtaWxsaW9uDQoxMjM0NTY3OA0KdHdlbHZlIG1pbGxpb24NCnRocmVlIGh1
bmRyZWQgZm9ydHktZml2ZSB0aG91c2FuZA0Kc2l4IGh1bmRyZWQgc2V2ZW50eS1laWdodA0KMTIz
NDU2Nzg5DQpvbmUgaHVuZHJlZCB0d2VudHktdGhyZWUgbWlsbGlvbg0KZm91ciBodW5kcmVkIGZp
ZnR5LXNpeCB0aG91c2FuZA0Kc2V2ZW4gaHVuZHJlZCBlaWdodHktbmluZQ0KMTIzNDU2Nzg5MDEy
MzQ1Njc4OTANCnR3ZWx2ZSBxdWludGlsbGlvbg0KdGhyZWUgaHVuZHJlZCBmb3J0eS1maXZlIHF1
YWRyaWxsaW9uDQpzaXggaHVuZHJlZCBzZXZlbnR5LWVpZ2h0IHRyaWxsaW9uDQpuaW5lIGh1bmRy
ZWQgb25lIGJpbGxpb24NCnR3byBodW5kcmVkIHRoaXJ0eS1mb3VyIG1pbGxpb24NCmZpdmUgaHVu
ZHJlZCBzaXh0eS1zZXZlbiB0aG91c2FuZA0KZWlnaHQgaHVuZHJlZCBuaW5ldHkNCjEyMzQ1Njc4
OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1
Ng0Kb25lIGh1bmRyZWQgdHdlbnR5LXRocmVlIHZpZ2ludGlsbGlvbg0KZm91ciBodW5kcmVkIGZp
ZnR5LXNpeCBub3ZlbWRlY2lsbGlvbg0Kc2V2ZW4gaHVuZHJlZCBlaWdodHktbmluZSBvY3RvZGVj
aWxsaW9uDQp0d2VsdmUgc2VwdGVuZGVjaWxsaW9uDQp0aHJlZSBodW5kcmVkIGZvcnR5LWZpdmUg
c2V4ZGVjaWxsaW9uDQpzaXggaHVuZHJlZCBzZXZlbnR5LWVpZ2h0IHF1aW5kZWNpbGxpb24NCm5p
bmUgaHVuZHJlZCBvbmUgcXVhdHR1b3JkZWNpbGxpb24NCnR3byBodW5kcmVkIHRoaXJ0eS1mb3Vy
IHRyZWRlY2lsbGlvbg0KZml2ZSBodW5kcmVkIHNpeHR5LXNldmVuIGR1b2RlY2lsbGlvbg0KZWln
aHQgaHVuZHJlZCBuaW5ldHkgdW5kZWNpbGxpb24NCm9uZSBodW5kcmVkIHR3ZW50eS10aHJlZSBk
ZWNpbGxpb24NCmZvdXIgaHVuZHJlZCBmaWZ0eS1zaXggbm9uaWxsaW9uDQpzZXZlbiBodW5kcmVk
IGVpZ2h0eS1uaW5lIG9jdGlsbGlvbg0KdHdlbHZlIHNlcHRpbGxpb24NCnRocmVlIGh1bmRyZWQg
Zm9ydHktZml2ZSBzZXh0aWxsaW9uDQpzaXggaHVuZHJlZCBzZXZlbnR5LWVpZ2h0IHF1aW50aWxs
aW9uDQpuaW5lIGh1bmRyZWQgb25lIHF1YWRyaWxsaW9uDQp0d28gaHVuZHJlZCB0aGlydHktZm91
ciB0cmlsbGlvbg0KZml2ZSBodW5kcmVkIHNpeHR5LXNldmVuIGJpbGxpb24NCmVpZ2h0IGh1bmRy
ZWQgbmluZXR5IG1pbGxpb24NCm9uZSBodW5kcmVkIHR3ZW50eS10aHJlZSB0aG91c2FuZA0KZm91
ciBodW5kcmVkIGZpZnR5LXNpeA0KMTAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAxDQpvbmUgaHVuZHJlZCB2aWdpbnRpbGxpb24N
Cm9uZQ0KLTENCm1pbnVzIG9uZQ0KLTEwMDENCm1pbnVzIG9uZSB0aG91c2FuZA0Kb25lDQotMTAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAxDQptaW51cyBvbmUgaHVuZHJlZCB2aWdpbnRpbGxpb24NCm9uZQ0K

--=__Part331368B2.0__=--