From 3c85f21497f0ff49faadc43389bd0b4699ad2a86 2016-08-16 10:43:09 From: Hannes Muehleisen Date: 2016-08-16 10:43:09 Subject: [PATCH] more stuff --- diff --git a/newproto.R b/newproto.R index d3fff6c21b060144230a74f24cfe7e6ad550ffad..0ea0805fc9424bd7d827e5db2c82d4aa8bdc5019 100644 --- a/newproto.R +++ b/newproto.R @@ -10,21 +10,21 @@ theme(axis.title.y=element_text(vjust=0.9), axis.ticks.x=element_blank()) -read.table("newproto.csv", header=T, sep=",", stringsAsFactors=F, na.strings=c("-1", "")) -> dd3 +read.table("11.csv", header=T, sep=",", stringsAsFactors=F, na.strings=c("-1", "")) %>% filter(db=="netcat") -> dd3 +dd3 %>% filter(bin_chunksize==100000, tuple > 1000) %>% group_by(system, tuple) %>% summarise_each(funs(mean,sd,se=sd(.)/sqrt(n()))) -> dd4 -ggplot(dd3 %>% filter(bin_chunksize==100000, tuple > 1000, run == 0), aes(color=system, y=time, x=tuple)) + geom_line(size=1.5) + geom_point(size=2) + scale_x_log10() + scale_y_log10() +ggplot(dd4 , aes(color=system, y=time_mean, x=tuple)) + geom_line(size=1.5) + geom_point(size=2) + scale_x_log10() + scale_y_log10() -ggplot(dd3 %>% filter(bin_chunksize==100000, tuple > 1000, run == 0), aes(fill=system, y=bytes, x=tuple)) + scale_x_log10() + geom_bar(stat="identity", position="dodge") +ggplot(dd4, aes(fill=system, y=bytes_mean, x=tuple)) + scale_x_log10() + geom_bar(stat="identity", position="dodge") -read.table("newproto2.csv", header=T, sep=",", stringsAsFactors=F, na.strings=c("-1", "")) -> dd3 dd3 %>% filter(bin_compress %in% c("lz4", NA, "snappy"), tuple == 1000000) %>% group_by( bin_orientation, bin_compress,bin_chunksize) %>% summarise_each(funs(mean,sd,se=sd(.)/sqrt(n()))) %>% mutate(sys2=paste( bin_orientation, bin_compress)) -> df4 diff --git a/protopics/hive.eps b/protopics/hive.eps index 433c711801d9610b2c9ef3f3c4d34792acf86e32..721c0ee320209bace4530c7c868527f2fa45402a 100644 --- a/protopics/hive.eps +++ b/protopics/hive.eps @@ -1,10 +1,10 @@ %!PS-Adobe-3.0 EPSF-3.0 %%Creator: cairo 1.14.4 (http://cairographics.org) -%%CreationDate: Fri Aug 12 15:28:26 2016 +%%CreationDate: Fri Aug 12 16:39:28 2016 %%Pages: 1 %%DocumentData: Clean7Bit %%LanguageLevel: 2 -%%BoundingBox: 0 0 401 398 +%%BoundingBox: 0 0 385 235 %%EndComments %%BeginProlog save @@ -95,11 +95,13 @@ end readonly def dup 48 /zero put dup 49 /one put dup 50 /two put +dup 51 /three put dup 52 /four put dup 53 /five put dup 54 /six put dup 55 /seven put -dup 63 /question put +dup 56 /eight put +dup 65 /A put dup 66 /B put dup 67 /C put dup 69 /E put @@ -126,58 +128,65 @@ d8783af997890ddfd26a2ea037eb2f17f0599cafaab45fb3b188096d5ebbfc47c2611436e0928b 433218e181348fb1e4c575478075e259f5bd36bdf351902d99c97c8bd62de76b86a674e3a7e96c 726d4e568243dc407058ec1b3db4077813391feae0c276a983077c161141d240cb9867f2bb1359 5707cfda4d49aed9668839f697f6ef77522a0035d93dbae2d870efce54c9b283927d1e7a2e0e7e -d76ae58d37d451b11340a3c835f41a2e3f96420bf52cf07f77ac7bfa1368e45aa4fcf8996d57f7 -65756d75768d28fce6b347697a7711638d57605694a71424d3e53a80348566f882530db3914b4b -cb765bb6f0ea299d0cfaa89a5d350f6d4589940c6cf164f649701865e2e3fbad3bbc932bd721a1 -c5f18e4857576946cc84eaf43dbf2f4f6b2a4648502efab5813e8af199c29064cbc0503fa4bc83 -afb9a309eb159b36045d9f91898053e8c0153fe3d5a5b0e109dc8b42756ba0ea75b6622ed08101 -5a9c379b8ba03f37508fe12a9ecd872cda6cb4847bea67a4b551718243580cd6fba1b70fa2641b -cd7364a3cfe4bff69358e930b2510bf10e682cee775e9ef54725d8536600189cc44f5fecec1a37 -dd8fe145bb2fbff2741aa8497c8a691ababe46df5072cd348bcdbe21af9f02d2f7bbac370ae57f -0ab948381d82f44f9e6211176f8ad5d91321cf3a7d746cf398f65541979249d5a45e92852c04cc -c0e58fecf25a9d29afd5853e19a001fe16ef79ea3a73b4dd2195e42dacfb8002ff12d06a00aa0a -62a17e64304620141463fbd7cf522dfb43fd9e0b48347a394aa633442d17d3d9d6dd4b7cd6221c -5618d6ddda77710e1d23fcf5c5fa17987900a1cba5114a3500a67a0c62484ca4701b70765e3aca -10dbed66de031c8cd245032bbfb25d579500380308fac1cad564a7aaa204b9909414bc3156b3ea -9e25e0ffe8024bd918fee87e9917f37c3dbd6b6cbf7dcaf3a35f4402f34422851e7c9516b709fd -0b7e77d73e1fb79b0194b22cc3b9462102bb3ce0371baccb5fc53c8c7b1dd12048ba214f4d416c -c1a12357f6868de1a3f3c363fd3d8823105a015d78f35da43cabe8508ee740238618563577f81f -b3949ad1cdb91adbcbec7de8213b4046238f0dff8cb6d727ab16ad4763d60fab1ff77eee943d2f -8416a03485e0789024eb6eaa7cdc709d69bd3ab284fb3a111dd0204a2972a619e94d3714f4f2d2 -1d9dca6132fe9e29f46f2ca01b16129d85908f1b4c3c2eb08bcd44e92307887b31f115747bb173 -75f9d5f4fcae58106fc9b14ffa6bc34cc5ed6775dcd1c5f233c1968ca837945d8a670047532fe6 -fd8068f002d65458d7f0ac8e904799dc5f29ce072d3d133ce854fb9a44f1d3752a21ebdefa028a -5f1b4c60dd68ac3c03ba393033d73271c364cd8bf33045071069b0cf9556ba351845c0f5e425ee -3fd425da32cdba0f0b0e07c61f3caaef006da219cfc69989a7d07188fdc81681260659d780f0e3 -ffad2e46b0148ed1ee10b878f642a443a19ae9dee8e86438ab7ceb767f7ff4c3057c9007ee185e -ecc6fdcb9b58d1c72af6318f0efa6b17c836504a1abe9f453d19121b2f8b1f2dd279c98c3a8512 -0ee0a57c13d1038eff3049f2391de6c288e0041752ff6dcf5e445b48096f4fa4bec151af6ed16d -a8aee1f7a565fd61ee1daa49ad41f269c6339af46d916df897fcab627aa6f0c03458d747773ac6 -a94dd6a843ad5d64fbefc37356f3b8ba6e6dc21dd1afd529f8272bcb181183284cac3d7dfad4cf -f06c5b946e216d8a021e24e5cf3a321cf7057b4589cb7b2ab292eab56b460190f19bfe2000ab1e -e3bff0bb1b67807338238d406ec0b7dc086630a55f89b04f3f57d7b6f46d4a02263ffbf3a3255b -891355bf270a90039b84953a488a881ec856e6bd5a66b88bd049d54f410609f9c418688ed24953 -0f3734c2b9d6e757d19d50e03c61be02cf2fe93dfc11374ff2c965b0b1958fff5b0ef25146729d -f1126c26663c4104c9e4a36d8ddb5bc3381df8ba2e1f7a1076eae5565549576b715fe8365ccb44 -f826d35d07cb81745b6b9b20e216cd4708dd6540ed35e9531d5cef8e66bf20ae201ed398b1f203 -43459b5e8c136b81a5708fe8821521957541fb72715838a2702175cd25ee74103deb65688c877e -ec9b64e3b530efb1df0d4f3662ea5dee6a2b66639141c55c45bf8c479efb73a129441daba5d20e -b153172c3733b568f92e787e7be5a2f6c47dcf5a764179c499dd38f21b46818cc0de19bdade199 -5214eebf1ce12f841b76a88b42a4054bed401aedb44d5b85b728c3e45fd92828041ae72893e0c0 -44c93b7cad3da8267b043dd1a30919d739962fa7aa8b79a3ad5de1762fcae01ffe4772008eef9d -ff31cbc227ef02c383cf63401a17cf63acb917457462c0135127089af5e643a37f2dfd1f79e567 -203b1ff8e54ae9e7fd9b6f935d4b795aa2fd07e772d41a87b0154a8fb81b5ff856cc052b6a85ba -cbbc2e97303e5232a6226c568e1e6eef1b211a93f34b54a903338a221db367186eef544ccf26cd -b6ff2ec62144bfe358eda7a08dc8aecfd8e4dcd9e4196426dd314952ca7557afa56ceb34990a4a -5e256a932d73dd7b16956f26ea3b07be1637f8a48495be30ae7efab660a2d04ab49daa9404a689 -0139391582b2f0cd6cab5f8e52ba04fdafe8ba6a9da93969bef4a7c588ec7454e8f4975dc3df0e -b88d641b5176d77938af05f3c983a65bb0b863f46bc0c59d9f1e01de061eaeb4c2f2067d627362 -649d82a562221624cb803c00f5d1320d9bf40ea5d7c6d60777336ed92fe901477e7566ae528b28 -59b98bf834f4f792927d7cb51eb0ff2b20f60155f54b313486f134b3bd4efd31f2bb82d58c24b3 -7aed5da663584fe05a7e651bddf305f4cb2eff6405c0588e8bb2b917fdd61f8d4ebf55b954da9e -0863071e2604899a0c3109416b509b8c0012d549dbd27c1d80da1767688d1f1fb85ad74e11d84a -2ee4e5b77939e425a8af64aa8c9eee81a14259483e8ad3fded7c25decd5cfd01574bde6117bea3 -d03153ee63e0bc6504a8f620efd70c7bbe2a741c4e8095661cc9f1763a48685d +d76ae58d37d451b11340a3c835f41a2e3f96420bf52cf07f77ac7bfa1368e45aa4fcf89ce7c743 +99b8b4b9d35c6d37f49968a14cd8774e8f93921030349807e10bd8d5941eb16f4af1e5e72a5e71 +2d4546dc7b0b2bb9762245132c2e4aacdde095d43077d53e2b67b7b31ea068c594266601c6d699 +828ae51d6655705927a1468c4192ae8d8799c7d5ba79b65fbd13a1681e388dfff9e7a81363b412 +1d10f99814424aad7064c26778cdcb1a043ab81faddffc5d463f883de61da342204c8aec4a8149 +33845978af6c2c2fa824dd1997b1782ef8ab885b900b8591e0336e81e0f5a2a54c505570deba6e +448b68768eaba929b1991980e1963b50fa5cd53e3d76be6ed428d5ea3964a62eb9afb65430be3d +15e3fb961cc06ac21459d211df841a2309c721eb4aa81691bfa3ca2417ee0bf240d9f8f5bccfda +f81ca07942a96eb21cbf280bab6e8876137fe1d76b0c4925fa99c3147324f24129fb0c8ba7ea01 +9a69a13d34618e2067be074a2204094c1ba156a666c269702e4ebcdd4f05e8a131e484328cb7d5 +bcbd8d905ba39ef5f2db0061d145e04bb837bb1465dbf9775f87325631b3a44fdefc90f498da5a +3ae4711a5410268e28689f5468b07aa266f57dab0024004cf98fe0551d22fa7a840ee1d68e1fe4 +c76e2222c2721e2eebbf20f9facc8db76909c4cb30eedfc7800288d55e972fac9b1dbf6bc3148c +0e7e8b45ed17e2684e95b1cba421b60c60ce6403a7bdedf2254e70b39bf80dcd4977b57684b7c1 +9ec363c51dcd56eaeb98af040c33e0ad2c8bb439ad27262df2b09edf19f861630fa8d43911fac8 +0608534719f4afd5279d7349f716737c28316b9257e21bcc938f28d10f30d7c5f4080e323bee8b +56fa7fdd362992cd867a2b7fdc7737bb0121bf2e5ab2b741d8db6e9ed966d6510478ba3ac3507e +c5e198e1d11bf6bc29b5b1c41988859cb24fca1d39c92ca972e040da5b57500076f2a34ea874db +f2af6716a672a99030e4a2fc24455864c608629151ac4361d601cd2ba1548cc59f96e59fe61584 +eb5ff810802371ba58c67a89b45e27531d2e9c6fbd5f0709fedd26de5c2219a1cbec1539493e81 +98d3980c794fe1cdaaff00b0663e424ad81160c8335986ca028f27632657a2838ba70631b48fe1 +e0f86ba89401d09a20585beb36b685bdfb2b4848ee46d54354e5aec19ef2bdbb0ee1902a437915 +aa3f66aa64aa4275dd4da4f252cfd662b5227923eed2b4ea6940ca9ea78365d8fcae70c492a762 +65cf1d783ec7b15b438512211f2f112703f44b22abd6be2a655e0d5786e3e85f9e28335dcc0d68 +c160ad08697ddf67c55d8b14c7aa685c9a78560c4162e0594b9e3c25abe5a4796e61f9da018b9c +63b860a6ce190db54452f961ee031ead2fa41a8174bf95a83e554afbc2d1ce6a1a6784d40c2ddc +fcc9b3211648ee75121e356b0335a5fe695d06fa20a83768489e20256bcfc2dec2a403e817265f +192a9ec1b9e2045fe01e19742d6240dc6fff10d3adea4391f04312a2c6f8c670f1081e63c6059e +29e81a8c69339e2c1093effe018ddb169195f20e5ebc2c8678fd083bb07ae1d021404964e4f7b7 +8c70f852eba5ebbd1e33071cad14e79d69e041a61f6890bd6b5c0a1599f77bcd10faad441bd2d1 +62c186bbaf5238b8a8ce0d93a8dc670cb335d1f1a4f12c2b7266bfceee4fb708050c7535e4f92d +55276d48633dcdeb7f20bed8e1d6bb299349aa928c129bbde5d223c2f7e678d5be463d6b3452d0 +bcd9a3c7f5a1d140370a9bb9137ec0870136b42ef50279b64722f39d70531bf0cdfb27a0901d2c +aedd4c6f7f21254eaccee77096beca356d6f9b7919d771abec7429769e6988204ad2d5fa7c5117 +a9461c92de71158142dd59302505a7ddf0694c01b7d814919e36ca17d4692f88171e6f29eff07a +e83130c46c646f3f3e0d6447d45d93ee23c195ccca2268b02fa7bb45f50f9c0140defbf2679d94 +8e5d2f3a6f5a468fdb6b2e503bc72cc72bd6c8de2362417e7e2e221e109e6c2b070e3d55db94d2 +3b5a7f45e1865b9866edaf398c584d625c15df63c9e280c181808aee5c776507cbffd82841dceb +a85b9ac8aec34e8a24dee2bb57eecc795af114df5131f03bcbe568b2bf1c10689763220a0d95df +948f30ae98898032a15fe9dc9da3b48e9b59867b3323d57d12c9170a1b97e0a3031cae14dba771 +696496cc44349afcf316749afafbdb298f0be7efe2564ac22b3139d9e374f00cc8a2dae4384b45 +ca01e8fd1f5c824045fae6d3e08b2db8eef2a8bf1dd136ef03ab5d7d87b97fd3e0571c29eb87cb +3da8cfa58d9d96ebb60f1c1df2a1996784f28e5a726326c767732c53863c7b7b3989e3b557b458 +f7895b466f15891154b419f4aaa3131b8071e2cebf92e86930cefcda5e2c4a6f7d2ac84d8c8896 +3137b4c4b6a1fc9b611455e4247b527e0191cf4844c30202f3360f2c8ec39b8c2f1f9ee067d758 +0fa0357fde200cd5f3148055098334ba5d42477c2e8a75906de20ce9f52d2902d9cb476b169d2b +e758efa522a78ca06c26a2067d7c8c66e8ffc2d1a7fb700a6204ff5022b6350cc979bdc203a015 +3b57eadf0c02b1c893b888596e775f60fb740e3175ce3f86c06377bd52571dbeb6a42bddc7894d +2d35bb15277b6583ca153a717acaa046934665d5d8774ef42fdeabf8fd70bccea1dd5d81a295cd +46e6e189853da1dd0e541fa94f0e6841802fdda17910abfebe05b81059f32754a6f77121d503b8 +5073e60b87860d623af24049cf3ded83f8d20318ce09550320e1b2b3a03271a6c21c28b1f78558 +5ea4f9bfc235a249577199ea2fb8903208930da320b39d493bbe78aa0ade67e7c5b63c7b0f0177 +f88ab887f9933a6bf9cb633639d8f203a2dc64d463a8782e4e8c02facf530b366cc638d2c3c32b +415e37ddb5d197ad6326beb2c62870d66e6d09e39ab45eccc40f30a7d823fba4d51ccd49805d31 +969029e5bf9352f7ef11ce7501497d469f8f6eb837907b87c5d5eeb20257ce300ffb6870062a2f +b3cdf49822ac46299959cda736c75bbf269b0a53b7d173bb3e8b040dcd4feabaf6eff55086d5c1 +3a99148e6dcaadeecbde2e9da5a3d9b488551f401746a8ae40d5d9fdcd507c613a1e0971c9e76d +6f93b4aea2348e1d3fd0bdc9b3f666a24f650d68b4cf7e0bcf222ab2a3f0ee733beec3c9169a23 +bb4afe24156fa77584babc67ad9218dc5e4aee02a32956a1c4c5920004d5 0000000000000000000000000000000000000000000000000000000000000000 0000000000000000000000000000000000000000000000000000000000000000 0000000000000000000000000000000000000000000000000000000000000000 @@ -222,6 +231,7 @@ end readonly def /Encoding 256 array 0 1 255 {1 index exch /.notdef put} for dup 66 /B put +dup 67 /C put dup 70 /F put dup 76 /L put dup 79 /O put @@ -234,12 +244,14 @@ dup 103 /g put dup 104 /h put dup 105 /i put dup 108 /l put +dup 109 /m put dup 110 /n put dup 111 /o put dup 112 /p put dup 114 /r put dup 115 /s put dup 116 /t put +dup 117 /u put dup 119 /w put readonly def currentdict end @@ -391,101 +403,115 @@ d480c93506ef722cccb75fdb73e43bc02dd4c626d82fba1f06080262c0d9be2c79d72560315611 0958b3abdf0a4d3fd57c4b2f220dc7c268e27e5896921ae83116ca0e4e8686095cf4acdcc4cc95 990abf2e14210890dea482bc4a7ed4d48ebc77cb28fb9ce1aac9dfc79f2d6dc926198f733fdc59 f0a0d2d3771d362181ede3bdc87c32c0e5ec45f2118d94d945bcfab45ded6ad61d6eb37e0b1b2d -b80c2da3aebe0c87306151fde3cdbf13044361ace6dd48c88d5ec2f087ac0e0c4a0e5b0b404964 -35513f8fe5af223b7ea064dfcc69f44ffcae3872857bf629b8c40211821eac567fc09bf8075042 -40c51eceea5ac37704220fdf5b93e4b4a5013ea65246050e8750d81a85fb12eac63327d815830b -d5b5922320833f576e31c90f7986a82b85907878aa8fbe2f29f5b8b5ca7eb3f975b6006a325f15 -cca7aa42dc46408b9b00e76fdbfdc7c2057a66e9bd3e6cecc8377547c4b6055f8087ab1a58a4d1 -f36d0eba33b6a18a7a3b83b612cb0042e08c9aecb93f1c14348936338f9151f471e2d0c7b39abd -53b99585e16d198660cdfa00c19ec555f796b8d4817dff9b0ad394b0c642148ce7965d72dffb5b -29788d6e0a3c97db1d4d08e64a46afaabd64e6b5eb642abdf1c42d70e7cf8b31edd87b7ccbdf0a -f3d91b88f8effbb4fe7fb1e57870f29becf3bdf0005b1f919cac38bb76daaa7d1cdfd25ac31bd4 -f615642cf08e84732e39bc00bc26ff152df0c236a41d69879f4170e61372a991fd8e5319e19372 -f8a8f560b7774c936347bddaa6385db9fb8ae2eba57390376d32c78f18f10a355fe95f00f74448 -e4fa26816b952d0bf8fd972c45d34e494314ffe40ea564baefc3d532c33a93ada08a48e396b04e -6d40f58a93b79ee33423a3e8a2892eadc8a7d8e7c7c5c7adbc40955e1dceec3395ab6d7ed4df10 -2a0104a6c48116c53d515f9e7ecdd10c045215c334aaeb022a4ee6900f2c984765fbf2f46b9702 -67cb597baa7b01beff9b37b8abbcf14058effa493eb7740075afec964e9a1913418d079faaa2d3 -c033645840bb10ae6f19c6174a413a86139ac9a4acd6ed1255f7598b33599ab72456320bc4ade8 -b2522829e9ed34ab0051904b9832e7826035a5f6615dfad6b33816c78872ae8e3b3e2ba6c86f0e -95cbc1be35a433596138789c88c1b31098d82ea0711c8ece72f5cea7d02380217aeb9a11464b61 -71440bf5a9d137aa098f8ca370dc2cdcb785507e05a18ec8c8210f66086ba1a6dbb3949d665d2f -98e12af9bdad2b83e281751dfaf6c02f87c35f9fe72bb76a044e962daf8291c433d1beb906d8ec -9570eccdf86479fe83fdaf9b999f77a0a2e7212f768dbe023f027754bfc1062e0f1df3ea67fb11 -70acaf9ceb2ec18e6e075a21182ab6cbdb1c6e91564817801066e586149d0288d2d0a0ff0c4bf9 -56df0c656e9a68df6a801bcfe9af5809c69a18db17f89960bffd7182cbb26c76b975e43d9eb326 -807cc8f80c391154649a96d395ca2e7953d1a911bd64ce9e13db6c413a162431fae2ceccc364ce -50e48f41f427bfda46f30910eae44e05e18c9d43bd9f6a5c8f1d64af76411af64a4eb63a61541d -91637892f24b1f3a9d64b4963fcc467904e438f845ab7d5f8e24d54c834458314e9dcc6d392218 -442b516af9d96c6915789e5231b82f2d60dc660338293926e20802ba2075fe30b949544876c2f3 -85c55cac275d87febd7ace6b5ead99554b74efc76b861084fd75daaca1cb391d0db8f09f2368c3 -97280daea2bfa0dc38cde3f8594ba1af4d3a215c3fe4314bcd6da3e190f77a7ac382b4abfa4946 -6f92d2ca6004330752ab1acf1d4c2942331d86ff8ec1c112ee15867ae5ddff5c537abc5a8e4286 -b309dc6a5f5da7aa9a845f8a951b63464866833e38ba0b21959530df7a7e3c6e3e1fdc8ee625c6 -354711e5a038c6c59e5edc99f06ca4e1e243ea5ff23e3c3e54994fc0e3efc2b50cda35072fae87 -de68dacf730b845f7845a9a2364b7c470ab6e2080bf832fa7983016f4b6c779e566a7e11c134d3 -783ec564248c81cfdc386ccecbe04ab5f48a961f5507f5ef85ddf5d09f1505207fa5ee1a8bd933 -caf2a8c7554e0e6cd94851e190d2b1c9a14b22f3feb097952c7803b73a30e872e2397bf2444977 -5939d6c452f7d4d3b8e68b6dacc7ef6e953e1d5f514760e8ee00df45630553e8372f71bac861d5 -1c21652f5a9a8ea08171d1d7e07cf66d550b397428d075b2a9f6f7c6fbe7c54571d860d747c124 -67c2783377b1bb94889ffb93d9043e0358b8964847e9b34cb852e8d34cd3081db9dacd7ed1c92a -67120bb17f526d26729c47a3ec588e9cdefd9f0f1b918f420d0d7d9e409e9bf05fc456a6608070 -c1245643a3be3b9edd77bb62ade17a55b76d038f51c3de3d088308d05350e96e1b3041b1e7ec5c -b8a84fb241e4430332471805126f5dfa81e4079c8e0984871d90a3e370b5cccd665b7e788f87bd -74029ac86dc1b306bae01544cf03b8b9473bbe2892347d47af85b9ba1440a68e792830aa4266c3 -9ade2283c871b89664e55ce73e2fd74833d4d1f526f249176a95999122fff5660b3b5aa22b256e -ce84d926175ac9f9ce2aaac57478840dc3bfb8e0741769d8b9c4e422286e3940f155d975b13173 -33b42a176265efd2d8d2575177911d7e17e7d0eb9e1373db3f79e177deb1651e0c79c0da5627e8 -38cf91c2aed7c65e86e83eefbe04195fc760128aabe2ccb27b876bb305119b0214343405386aa7 -8bbf0d497f624ffb85dbc25cdfe8721dabb4f41316b3b768c81cac1df6f5618b16f1457ed1e27c -1f0c6a9d81be82d074d7c162a617584ed2303945880b2ff0d7f671d411b58e4fd5f01636310fe1 -6a7ede650e78bb3b50add8a28ea199369a9e49fc35c9a3faaeabe76c83a8d2355ece16a77735e7 -9010847772d222889427b523136bd930768aa878311a94fa22a69c653ec1f1668ad71fd867b3aa -0a54f3d1199f7a54b55380386bbceb168c976882f0fc11fd786d7b144192d8c9688d4fd84c803a -d7bbe285e2fef8ff0459755c83a94f75978bc92ee0f7a95e049b09c97340e510e7c8a147046317 -760b323694bd7ec9430c3c2fde5cd2b4bcef7013e1302c642609e18d0d69a2c41f607bce795a37 -ced8114da404e9ea7916cc4767d889dd10b514ef39023fbbc8cfb0fa7b1fc720fd3adc0f45831c -6d1d10f7bedf1f204199c8c6773d65e5aafc877527d2a6411d40930c1456b967297c30264ebf2c -25570ffd5229d990314a7cb53180012d0de5b778b2b47ffd56143ac03a0fd18035b990313166b3 -c4868f43b902cba68ac3f126801415f6fb0f83ea1ee8b5ccec1b2f0d2379561e14d0f9a5d75f1e -705ac09ea75d34ec5b62b4874cf627ad4fe39cdfd56324e454d3fba81ccb0e7cc942eeeadd24b7 -d876672ad616abca4e44460d7858d1e649f6483523881edfa2640edbe0119e9dc958c8b5bf05e1 -60e60b00e3a9be1bb1a99cc1ffb9082211637aaf198d8b1b2d4d8b5da6dfefa0878058bd0849b0 -f7191f4f4fcb2592c1d99af7fc2372e1a34a0c73eabf8fd3814c096327abc5a4175dcc0602cfeb -193b8fbbfd0aedcdb2e7e24abf55940bcb44b91e9d3baabe26907893f5c3688e7ea42629fbb5e6 -cfa1daf1aff914e0e3d090e0e58752ce5b9f197359208a740d69a99df3b6d1e6fc0c471674ca63 -241e80d8396e87debbe501ea7dd97b23f75ddb7293132be443a47899b7471fba72c29298362de4 -7e085aaaec53c3483291fcf8053a29634ecbf66114d3f5f99d198e1a488e0e270a8f9ba9bc093e -1f01c09edce0fdfd26d41f83bd4b4a9565d4f7c6af0d12c93fdc5e5b60c2c19e7db6096b8788fc -0d8bf7646755aa60cdcd8fca75946cd001758025e5f1adad45cef9a5b9602551b3cc7901102ea5 -02c03fce94ac361415af99daac9bb599a95e1f1c5145f99370178c39cfffa11c061deefe0026a9 -c2d511c3af25acde0fea82357a6e44065fba805652d3b7ee7f7f0761fb7651518d57a5a3d3e376 -c811aab130cb2ef4053bc82841c0ef4de2b704f2ccc04927b2e4c12aaa836eb0c0da010fce4b0a -c53c38c39889d660d50c6620efb906e4968426647bdce11bd8b544db1e4ca4ee56c5f159c4e6af -e5cd345c5b10a2af20e616a89e1ef2863b6bf8a1599a4f7b0080d787c42e340137f8b3f5c8a7dd -f3e28c55f6698fbff46ae6c394103ac36d2e1e536d8a2c7b5bd699d4317f250ace85f1f0208aad -2716c9e6bea220976447ff0a6ec1a6647ccf10dd8cf9a1a708b10af9c6bcb93edf5963182708c3 -cacb8c2e8a0c280d703b16a9ee24b23fea15833eadd55b5368df6e3840f42aa2e7328ed9af9454 -a221a2e36ff726e69a27f6e238c28bda8ff1f7aa3f3c79221f976dcda0de508cee25dc981ac88c -b682f9c037d69d6ba95a4a12cf5789ea748ef011db32d5b5240e0a1bb3d390f9b7b0f90074a1d7 -07ca4c1030463dd699ebc338ae67a824f781527fbe1e79d9d13b28ccb47a5c6f02774298ed0154 -234378558d6578ab65a76e8cdb76a46a4e8204f4619d062f78967efc507e357b1d73f9893b3998 -88cce5d32ed382bc84d5563f58d4a4c786f51e4420bb4c65771634f6d45045127ba1d6591fad1b -d10b7b5671229cfa1dbc3bde72523c4b35991aa139381db5a0833488c2fb7e51143557e19b5455 -63be942d9fe6375232e90052db962f6011ffd801786e1c20f2a3fe0651dcdae117c4b4c85889c2 -eb051c9d211200474a0088242261116421b3138633b2be046506d5166c4730ab15bac50fdb7486 -4391d481b3e9c7d0ece8231580c6ddf08d999830765d7a375af5c85c9c569fd9e77480943a1e3f -9c94095a1de37f70feb27936e9ceca94a47892f048dfcc4300affc0b4d38c9ab622a69e67e38d3 -710e9e895a22822380cca16c294988d63226d8f334ad244db6e91fbef52457c422cb5f67d25881 -1455be4db83749b9482a354fd64a76af9c9453d386579bd78cea78a846771e9d3f04cff1d66b85 -f4dc5410f5a42ecd46a505b7d1c824b46a7db912b8e47bba23cfee0f74f106f1a41a6696fbda16 -6a20197fd96513393bc007892b73f7501d54aa3aba9cf4947b9a279b0a94c389489baff59d940b -a3f43507f29ee37d4b9b009a163edb6a31dc8d61bf323c60241db0b7dcd625f91b961bfcbbf796 -0feff3a8d546205f8ccf0c8200e73440a514cd711cdcd31c9c7773c5a4d1b826771364f2fa055a -5ce2a389eec5e43eaaa0c3d366556e3599cd7fd4175629ec3c82f98052e74354fa0b2c240a11a7 -80fcb94980475330690336a4d262a1b139a2f7a442383f176142c5ff24f015bfca71be6f3794d1 -78b0dd28a5387c60e74124b4d2b2d72beeeb93aa214b9dcf4e6d51b503af86d04dddf813b6d947 -a6f433a2838ac9edf2 +b80c2da3aebe0c87306151fde3cdbf1304468c2038cdabdfa5b281ecf5eef8e7b2b376f0ffb749 +6f79d9f3db6eb088b8e6123958d287b7f9d0c64a99bc166120b0feec66358b3938be625a822832 +e6dea52d2eae9c317ddf59eb040d12439c87a2cc833f5d722d39cac6cb41a931bcc2f4d76f15e1 +3473ba37e27a04f65eb7c40b90008411940d530afbe64de8777a59aa502d17f1e49dc974298ac0 +e1fee7ab876e769932e0335b37fa5b4ae1811bb53b6463a7596667e5031a0bc901dadef3d04948 +a948c34b58b71adac5fd1ab9a88b8b8e6ee9e5e6774a65eb9d4782b072d35981154db913eae208 +c3dccf7ad3a34266d60b65e46c381f9cb58e9fe2bb5b2a7dac61927f241b97e13edf8cf3b5a58b +e102e2c46c5140bf9f5c4ecd4e69245bd00f3caab021c8a7f215261f2e4c608667e6a38ca040d4 +2b0d9f21db8d05a41fc945bc64f650452b74046f3e208b3c81aecdab9980e9ed64ab7d65c735ea +52f126e61284e096405ca92ab1e89827a9eecb7a3d3c7f03a55f71bb3fa8e679f97f168f105a5e +f60917ab896708d63d24a2e09f7716cd5b329ded40e3ed0057410c9f29be396f1ba6ecad675f4d +18f7b5749e9c4b3009965dfd71a3206f8562ab5d1469e61eaad853713c75ee0353d0039ce92c6f +67121ad8335ac1fb931aa9a2c8d2dc36cb8d15c0490c2f162b091c867807be7737e3e32882d5a7 +7c5451b6cf2a07b6eda0e130f4feb2a7ac4933f9143608afda850c48ab36828d55fa836577b411 +fee8603f853ca308df3e53985c834be60bf349e68e5529d5981dca3391cf836c71a83095d99e7b +025844c6c66fb2558d132b8d3b3b58325c8fddff1b519495249fd32d9d49e44108094ab1706c8f +dc57fc84ebc67e20be1d1aa1d5e5cf9ad7215511862320df5dc591fff8dcd6436a1f67033aa872 +88200505c07e64b2d49a2e990e6bbbce0be86f8eebd646189d3f8770f32b30ec31c8347e02bd95 +1bf24cad9d4c76c2bc432959bdb9b6426c46ab625369b6d2808d02bf077b9046923da72b1f00da +56fe6af82904a60d56ec094cef4db87314cac05f1e85c6fde892f24a60925422bf4ddf25793608 +5051571dd7a38c43d5224a2c4c361932ca133cbefb917271703f52486ccc0aba9434e8f450c110 +33acbf0d3d5ed07fb2d746648774c9ee4c422be337327a12dc4d11fd53645424a7105e02197588 +6c40a32e3a6529f2232340f035666b1f781ec3f4efc1f28d80d164b0f833f79948d498d20d7c71 +8c12d8c7b6076b0e6caec57f47201785761f544b8e204800dce4b5a842fc578e81f073ee4fe6e9 +f1042b4c8537e06db9f7db43eab580c7a6831b80424a1b66a9b059bf165ac1d2f45db31f985d8a +cb4e534a37649a4169902f831682d0f3b1dbd23540ab8cdbc7359d364407e56e7b667c98548a8e +c0cc1448bcb1d821c66a1538ddb4dc0004e8c547712a6aac94946d5466c07994451b6d2963aaf3 +bb3643e33d5d173d98a540faf2ba330938330501b8c3a15caca72198d5c69ba4b76d0a4d8690e1 +ba8b184b256b5248df80cde5227d3b5b0d5aca329692c4dbb09ee66b18b50c5a1a0821ac1dec10 +9968de4c92d87331f31ecf1630d1b8c3877e8714d001149189f5410849a2493d29a01ea1f72c60 +2e668e48aed9dca2d41495763bcad24e40e5450df2790bc3cd94d9763706badb7ded09534a25d8 +b3a140df08073aeb1807666e7945b49dfac99e611405a2364823eb0256bca77aef8132ceb36aef +74788ed73cf48b4e039717e5bbf56cf44088ecafd32814c28e34c136ccb72692526b33b00bf265 +c2f158f7c8a142dea62a510e16cf9cb4b8dfca63a6e32cb6a8adb09ed654da57b21a05d72403c4 +2c5286225bb26b03b3577b8d59d54ce6967a9f1ec030f2c16e2404342a1d306067cced22104d0d +6660dacd13929c9c2599f9df10fb285243ffb61f1a087cf65445ae9a7fc2cbc8efb6270be052f6 +58ad5c2099907bddd7cd7727ae483b17b553ade9550a3fcb26bf11a8a6462cac6a7c77d186d609 +bd75a28991ea80e20958711b0251e5bf913a20c00c24532047b041417b9ef981ccd57af22522a5 +4f2b5d6d1b2c3b8839f6e407a9f6c9bf0756e41f481e8f86d0ae1219d074e16f92fca8fa89190a +350f9ae9b888bf0b5e69cd89a4fd4d1b034ef873e01088c81143c2ddd4d4a53ca653bf273512fe +6b4bb6680216448466ee926f47cae743f931ab3edab52409b6ee44d181ab74245d31d08f5f18f9 +30f61ee76d2b2a92c2a7cefb5ff27353d6123658e2d64ee7fafd28d1f8b723aab31041e7fa40bf +27e2cf97226167df39814cb22f26f830d7d783c4ee7dbb96c2b9b23fc134f2160a8e95628acccc +6b085fa277618ab2844691fab25956462d288c1680cfaa212fd2df75105998410cac1c58ffa34f +6d987194143b464a73a0fa1265b4dde6ce2f1a3195b4bf97f2a4c12b5905ace360d845ec008f6c +e0e0b98604d0069f3c319c3e12754570fc9f13e18e1f600e442fe9e22674f11430e25a3ecd7ceb +a19f644a8a15e972110d7006bd4637d047c88cb775f4da7cc4cdfd99cfaffa4a27898cde6b27f5 +3cd778a7d8f644712c1fa62ee499127ff8a4cfed73c3f1315a4a53d1fe56bf58e4462fb812f190 +32755d1fbd7682ae5cb20526778afd9b84fce9938e6331a9284665acd894219b1b2d653327fae9 +6e687264076c95ae9b549a32dfe7b9464aee37c3aebf5515f7ed4940d85b7b5409cfe3c84108d1 +b7542867791cbd85bf493182d4e28045bb6556a0d36e82d3edf34cd22628c3c5004980f8b7765f +6a7792e7efe374943d2fed14260073fbdaeab4caadcfbc2668d28e26ef8c69d72d4e509af5f35c +55ae0d149b25937288bed92b9f27d576938ea8c54a5aa53f9ebae3dff215316b8f4f6db4d86528 +e829e2bbe49e9f73de64a735d8a18b99b554673eedb856b61159735ee01d8729121d5b50c2ab6f +eb2102046b553ed44f00c575a63c048e214ba2a9d47ae65aec403a00bd8ec49064d2ae55d5125b +ab2a4b0e0c3dea9548db6d1603c9fb74870726a6201956b8977c8d0bf152d18c95c6f3f033b3f4 +d09f8e5a80134e3708e48b91576c937f3258aa178c2cb7bf8bb3de50c5ff9d3397d5d1327e8982 +afe306cbc14d77cb3177e6f07f4c5043b127e4f112412bc8f07c60d0be826818becf664421563b +ccf8921b376aa5622b8995d12a6fae677efea943b141e8023d2309b58dfc961b70a9cd77c0d41b +3a788139a4e2954cc360b5178ac461616f1669f45ebbdfb12d7068ede4c57bc2d18446f5c9b1ee +d0d21e6470410f9f253da7f21f58b6935f2c616b1cf6fef6e75e978a9f8816076092c7d9d413fb +b7aa0bb7d254f938a02b612f8dbb5080e57b5f07611783a50f0a790fe1a984c55c33899e535a11 +fceb4e1778614d372b0437c1f9c9a79beef032255845f3d2f8ac92c44b1e42bdc7d9ef6851088f +1d9615cdd75d7ac48a6c100a07b5a91ee9e7b239e7e370d2d5723786fd6501b145232964f376fd +b7cd6bc62ac1be3f408faa10f991aaad344fc0b1e038aa912d5d140c06cdadae4596a4451b9d93 +32b409bd83bc669b3870ecad4034dd2b42a308b5d9a395b24bbc2160076009e892eb998cc79e2b +9e4a89446d9683d582b74d33a96a4f3b4963c7120a70a1bda3fb2ccb18a0322056f0fa987c6d74 +6d35b3c7dc433bc3285b3dbfda4974f73235e936876967563dffe62e99df4639579a7afd6e4b02 +baffea34f7066b0615c437ba7110b515de4c0b6c88cb0828e920121f0c6bfff2d22288e0788ce0 +54e2d67edb4edb219add2f84b9d4d974a2b6f278bb230271219f278fe9ae48b2757046bea327bd +3e7cadd2656f2f2a0ed9dc934df754dd19509b3cc8ed6e8c202d2af8284d47dde92055147923ce +454ac100cc716308a8adf7e4f9d8063969418af042737018f71604514ece7eafc06e82b3205778 +3f99e298185405d27e2da17bbacb3361c8d4536c8b6813800d654b1e721545d0d38a7123ee975a +072e6cae0a9b3a0d6e452dd362a686f6052d19b7cda05a17d48533f2978b02eb2b01afb58165ff +bd192b2af6d5945fb0f742a4d82c9f475a0978309fdd699ecc72562bcbc39e3e4a7a65e557b49e +42fad3091d41725f02de51162eca5acc63631635266fc2ca5e1beb33ea116b4c94d35e2ffbf36c +534cdaeaba01b8d75e09be279ff6647a02b42ae6a6e6809c4d43e250f1305654317a2a1a743874 +5939ac5d52729f363e0e4be8f874f707b97363771b4ad55826619606eec06255978f2af5742a19 +87ea57aa99d940ea27edb6511d73a2beb01a1ba07f1a4e8cee7d7f1306294db399bc8a5a10ba8f +a17f7b5bb370d98fc67eb6c26046083f89e5f6e28f5b604000b015840f2b013c2ec297a8dee60d +8d3ccb7b2ac9ef5378c797579caceddc5a4eea875f305b799cb833a57859a1079eaed26d532b8d +8c0ab8b4ca5da194be94ab5b977346a4c77d924ff787dcf01dcb880acf1b263cc57b10a6d91c5a +1656222e1cdd12e5762e27fdce037cbc91743080d423c4e06cb9ffc01551143bc966a93b6da2d2 +dfa28e35baf66982d72624a589424f42a5c773d2bfda89a320c7f735f6386380903571eada796a +06acb8a99019dd928d1890ba5a0c182be9a76902658c5271e25616dde31b5caf8c2839b9a44c58 +12f635d33b548b0a887f00b1115e2d7c382af1557e40304c0210e9f621e43e48befd97ddf37d03 +7dd6b6cfdf8345ad216dcb455c9f42c2a88612ca69cef7d9820cae732527e248ad353e3f4f6906 +8ef3a0946baa393618eab35f4ff556f3f83b002e7082bb508af110b01c6add8476ba0e9f2a7b25 +524b08c70599d5297697798b69a948430d31ec1518d26353a357a56aff94e1ee3f5cff290814b3 +e1e5e6f6f4461e9245248c152f38bba42cd2b6d792bb563a7feed76928a6b495f1f7a607c33cef +a2f3b06106c601e52e7234a702c7e42ab1913696711f68f73e5b06e43ab4fb89e59fd9a375bf88 +0de8ecbd30c5488401afcce71c04a5fdcddb550b4453d66ebb46c764a4d31ad10a6189d7d0bda8 +9e5a5623c2f9b416900283926c94b8440836e2886fe7f8df25d30d5585e079e5c61cb8009210ed +9a4dbf2cb196bdef4194eb590aa8fc25cdb13cc92638ae153acbafc490354b3e807257673310d1 +9a8a6881162c3eec8f616b3914ff7ff88e4bacb205c9a83a00fa5e353a0b302a0f86232c743b5c +c320a2c03e1d12eb4d6d5c802771d567f6e51ad4d79ecb5e36f8e08d22e41a1736e0bfb09aec8b +dc4804c8e448aea37c467082d76f03bee26b3e8a2b16ff26bd6a810d076e45cfb5178858f3ce03 +e15237f538b5b5008289a4e5f90dd0c1a78a5102ce0e19bb262a8fa58e40d3e228766ac7db31ef +a023d84ac9d0a087eb1ae65a84827a9ddee362b3b8abfc557d6bbcae046d59f113897a51cb2b78 +551535ee5da5bdcdbb4108c6815fe9af64ae2c79eb26a65f072d0422037da639c00edcd2291d96 +a7fc079a5b6da3601a54ee1a4129d497b3967ceecd27a46a14ec64c7b83d0148f191b2b63245b3 +d9f6ed80209028ed377e9b5dbc5dcfe39799da04c89ab3f110c8c8d9ffdfb5d20fe27118c42519 +9277000e72e44a26dd1d35fcd5638ba16a48f035a585a45286991c5b4e4a43134e7346179a9b79 +4dd08149d46fab0091485f6ae5642f2e131ec6060affd15468923cf6e696567021d25e2f1ab18e +8bb7d23669a5496d11bba2a3509a300bd21100d31b5aa79d1c49f6d085c4316371d3765533c963 +013a21e985f628794944c248b0a72eac585287cd01d5c640d74ed5c1210cf56022a378014a368b +80037e09ae090795639737d877fb21c5fc3db14022c9d06e5b0eebd603dce1ca57e887c84e1ff8 +e5946ec237e4e5ca9291166245a74ede0c2236f9f6a93a28ae049df87c32762a11a6cd4eb5dc0f +b7b4f3b064cded155ade91fca7bff3337bbae22d88190d7b9a55259367ebf7f405a78b 0000000000000000000000000000000000000000000000000000000000000000 0000000000000000000000000000000000000000000000000000000000000000 0000000000000000000000000000000000000000000000000000000000000000 @@ -705,27 +731,27 @@ cleartomark %%EndSetup %%Page: 1 1 %%BeginPageSetup -%%PageBoundingBox: 0 0 401 398 +%%PageBoundingBox: 0 0 385 235 %%EndPageSetup -q 0 0 401 398 rectclip q +q 0 0 385 235 rectclip q 0 g BT -14.3462 0 0 14.3462 1.435 276.172663 Tm +14.3462 0 0 14.3462 1.435 113.172663 Tm /f-0-0 1 Tf -(??)Tj -0.0815652 14.34597 -14.34597 0.0815652 11.251572 293.897883 Tm +(1A)Tj +0.0815652 14.34597 -14.34597 0.0815652 11.251572 130.897883 Tm /f-1-0 1 Tf [(Field)-329(Begin)]TJ ET 0.745 g BT -14.3462 0 0 14.3462 17.435 276.172663 Tm +14.3462 0 0 14.3462 17.435 113.172663 Tm /f-0-0 1 Tf (00)Tj ET 0 g BT -0.0815652 14.34597 -14.34597 0.0815652 86.041527 293.88202 Tm +0.0815652 14.34597 -14.34597 0.0815652 86.041527 130.88202 Tm /f-1-0 1 Tf [(Start)-327(Ro)27(w)-326(O)]TJ /f-1-1 1 Tf @@ -737,152 +763,185 @@ ET 0 J 1 j [] 0.0 d -10 M 0.199 288.555 16 -16 re S -16.199 288.555 128 -16 re S -1 g -384.199 16.555 16 -16 re f* +10 M 0.199 125.555 16 -16 re S +16.199 125.555 128 -16 re S 0.745 g BT -14.3462 0 0 14.3462 33.435 276.172663 Tm +14.3462 0 0 14.3462 33.435 113.172663 Tm /f-0-0 1 Tf [(00)-87(00)-88(00)-87(00)-87(00)-88(00)-87(00)]TJ ET 0 g BT -14.3462 0 0 14.3462 145.435 276.172663 Tm +14.3462 0 0 14.3462 145.435 113.172663 Tm /f-0-0 1 Tf -(??)Tj -0.0815652 14.34597 -14.34597 0.0815652 155.251572 293.897883 Tm +(3F)Tj +0.0815652 14.34597 -14.34597 0.0815652 155.251572 130.897883 Tm /f-1-0 1 Tf [(Field)-329(Begin)]TJ ET -144.199 288.555 16 -16 re S +144.199 125.555 16 -16 re S BT -14.3462 0 0 14.3462 161.435 276.172663 Tm +14.3462 0 0 14.3462 161.435 113.172663 Tm /f-0-0 1 Tf -(??)Tj -0.0815652 14.34597 -14.34597 0.0815652 171.251572 293.897883 Tm +(1F)Tj +0.0815652 14.34597 -14.34597 0.0815652 171.251572 130.897883 Tm /f-1-0 1 Tf [(Field)-329(Begin)]TJ ET -160.199 288.555 16 -16 re S +160.199 125.555 16 -16 re S BT -14.3462 0 0 14.3462 177.435 276.172663 Tm +14.3462 0 0 14.3462 177.435 113.172663 Tm /f-0-0 1 Tf -(??)Tj -0.0815652 14.34597 -14.34597 0.0815652 195.251572 293.897883 Tm +(28)Tj +0.0815652 14.34597 -14.34597 0.0815652 187.251572 130.897883 Tm /f-1-0 1 Tf [(List)-327(Begin)]TJ ET -176.199 288.555 32 -16 re S -BT -14.3462 0 0 14.3462 193.435 276.172663 Tm -/f-0-0 1 Tf -(??)Tj -ET 0.745 g BT -14.3462 0 0 14.3462 145.435 244.172663 Tm +14.3462 0 0 14.3462 145.435 81.172663 Tm /f-0-0 1 Tf (00)Tj ET 0 g BT -0.0815652 14.34597 -14.34597 0.0815652 154.888866 170.103904 Tm +0.0815652 14.34597 -14.34597 0.0815652 154.888866 7.103904 Tm /f-1-0 1 Tf [(Field)-329(Stop)]TJ ET -144.199 256.555 16 -16 re S +144.199 93.555 16 -16 re S 0.565 0.933 0.565 rg -16.199 256.555 64 -16 re f* +16.199 93.555 64 -16 re f* 0 g -16.199 256.555 64 -16 re S +16.199 93.555 64 -16 re S BT -14.3462 0 0 14.3462 65.435 244.172663 Tm +14.3462 0 0 14.3462 65.435 81.172663 Tm /f-0-0 1 Tf [(BC)2143(10)2143(00)2144(00)]TJ ET 0.565 0.933 0.565 rg -80.199 256.555 64 -16 re f* +80.199 93.555 64 -16 re f* 0 g -80.199 256.555 64 -16 re S +80.199 93.555 64 -16 re S BT -14.3462 0 0 14.3462 129.435 244.172663 Tm +14.3462 0 0 14.3462 129.435 81.172663 Tm /f-0-0 1 Tf -[(00)2143(E1)2143(F5)2144(05)-4549(??)]TJ -0.0815652 14.34597 -14.34597 0.0815652 170.850057 163.278013 Tm +[(00)2143(E1)2143(F5)2144(05)-4549(1F)]TJ +0.0815652 14.34597 -14.34597 0.0815652 170.850057 0.278013 Tm /f-1-0 1 Tf [(Field)-329(Begin)]TJ ET -160.199 256.555 16 -16 re S +160.199 93.555 16 -16 re S BT -14.3462 0 0 14.3462 177.435 244.172663 Tm +14.3462 0 0 14.3462 177.435 81.172663 Tm /f-0-0 1 Tf -(??)Tj -0.0815652 14.34597 -14.34597 0.0815652 194.891765 170.613896 Tm +(2B)Tj +0.0815652 14.34597 -14.34597 0.0815652 186.891765 7.613896 Tm /f-1-0 1 Tf [(List)-327(Begin)]TJ ET -176.199 256.555 32 -16 re S +176.199 93.555 16 -16 re S BT -14.3462 0 0 14.3462 193.435 244.172663 Tm +14.3462 0 0 14.3462 193.435 81.172663 Tm /f-0-0 1 Tf -[(??)-87(05)]TJ -0.0815652 14.34597 -14.34597 0.0815652 219.006447 190.784573 Tm +(05)Tj +0.0815652 14.34597 -14.34597 0.0815652 203.006447 27.784573 Tm /f-1-0 1 Tf [(Length)]TJ ET -208.199 256.555 16 -16 re S +192.199 93.555 16 -16 re S 0.565 0.933 0.565 rg -224.199 256.555 80 -16 re f* +208.199 93.555 80 -16 re f* 0 g -224.199 256.555 80 -16 re S +208.199 93.555 80 -16 re S BT -14.3462 0 0 14.3462 225.435 244.172663 Tm +14.3462 0 0 14.3462 209.435 81.172663 Tm /f-0-0 1 Tf [(44)-87(50)-88(46)-87(4B)-87(47)-88(02)]TJ -0.0815652 14.34597 -14.34597 0.0815652 315.006447 190.784573 Tm +0.0815652 14.34597 -14.34597 0.0815652 299.006447 27.784573 Tm /f-1-0 1 Tf [(Length)]TJ ET -304.199 256.555 16 -16 re S +288.199 93.555 16 -16 re S 0.565 0.933 0.565 rg -320.199 256.555 32 -16 re f* +304.199 93.555 32 -16 re f* 0 g -320.199 256.555 32 -16 re S +304.199 93.555 32 -16 re S BT -14.3462 0 0 14.3462 321.435 244.172663 Tm +14.3462 0 0 14.3462 305.435 81.172663 Tm /f-0-0 1 Tf [(4F)-87(4B)]TJ ET 0.745 g BT -14.3462 0 0 14.3462 353.435 244.172663 Tm +14.3462 0 0 14.3462 337.435 81.172663 Tm /f-0-0 1 Tf (00)Tj ET 0 g BT -0.0815652 14.34597 -14.34597 0.0815652 362.888866 170.103904 Tm +0.0815652 14.34597 -14.34597 0.0815652 346.884866 7.103904 Tm /f-1-0 1 Tf [(Field)-329(Stop)]TJ ET -352.199 256.555 16 -16 re S +336.199 93.555 16 -16 re S 0.745 g BT -14.3462 0 0 14.3462 369.435 244.172663 Tm +14.3462 0 0 14.3462 353.435 81.172663 Tm /f-0-0 1 Tf (00)Tj ET 0 g BT -0.0815652 14.34597 -14.34597 0.0815652 378.888866 170.103904 Tm +0.0815652 14.34597 -14.34597 0.0815652 362.884866 7.103904 Tm /f-1-0 1 Tf [(Field)-329(Stop)]TJ ET -368.199 256.555 16 -16 re S +352.199 93.555 16 -16 re S 0.745 g -16.199 256.555 m 208.199 272.555 l S +BT +14.3462 0 0 14.3462 305.435 113.172663 Tm +/f-0-0 1 Tf +[(00)-87(00)-88(00)]TJ +ET +0 g +BT +14.3462 0 0 14.3462 353.435 113.172663 Tm +/f-0-0 1 Tf +(02)Tj +ET +304.199 125.555 64 -16 re S +352.199 125.555 m 352.199 109.555 l h +352.199 125.555 m S +368.199 109.555 m 368.199 125.555 l h +368.199 109.555 m S +BT +14.3462 0 0 14.3462 369.435 113.172663 Tm +/f-0-0 1 Tf +(00)Tj +0.0815652 14.34597 -14.34597 0.0815652 379.247572 130.897883 Tm +/f-1-0 1 Tf +[(Field)-329(Stop)]TJ +ET +368.199 125.555 16 -16 re S +BT +14.3462 0 0 14.3462 289.435 113.172663 Tm +/f-0-0 1 Tf +(58)Tj +0.0815652 14.34597 -14.34597 0.0815652 299.251572 130.897883 Tm +/f-1-0 1 Tf +[(Field)-329(Begin)]TJ +ET +288.199 125.555 16 -16 re S +BT +0.0815652 14.34597 -14.34597 0.0815652 342.037527 130.88202 Tm +/f-1-0 1 Tf +[(Colum)-3(n)-327(Coun)25(t)]TJ +ET +176.199 125.555 16 -16 re S +192.199 109.555 m 16.199 93.555 l S +288.199 109.555 m 368.199 93.555 l S Q Q showpage %%Trailer diff --git a/protopics/hive.pdf b/protopics/hive.pdf index fb4440dfcc88c7c53ec13abfcac8aa4b88032954..5c93c85b7755b88f40d0f2f0a2116ee5a365a891 100644 GIT binary patch delta 10721 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

VWuY-tHXM;H5Kc%xbZGHr5H}hsPnh zJKXoZqFPwdFM0ExT?nr}EhDrf^<;KlG%B2FV+BZ5RFUo1R;B1KVsS>5&RW({p$%vT z49Q)f0**#yq0b5~+%1?W3>&3~>V|onh3yE7^}iAgA^}wCd(OwD-%>GPbzv6`oyKhm zRB5!1nGXo3iC)rUwS9caJ*52+T zVz8Qnbw|rJ?`cFz*urFrpJY2ObV7{VpF1-%*w@Vw8i91pX4AsL z7PIn0v6nE=Gh1iQJYi+7%cbSv&C*VkI{2~K4ZH+^1|I=q0s4Mnl!U6ysf?osCq2OY ztLhKdo_snZ#O{q+m$Md1?+l=^v)(RTJ>rELw0dSi2k*~>>P8i)KNaejZ(y9C;pZuF zvUKXjZe8m=R^9c)Frr68!urnkjnwxdgTklZ(D!nd+o&#Y1g<>9eUtD%bzme8mo1rP zrZ{*BcnIHq>PwdT70uy$Jepo802}u1nX`LwmAO8%kLZ&JE$2rBq8(I^S&bKaqy#jf zFJwZaSmIuY@~TA4HVn9jpewK5%%v;sF23=Ae#0s4+1EAGO7@6zzNhJ`TK1_Q81L}Y z)$v|hX%*jjYJLXS5|K8I>)2=ZlJb^{cogK%mjfVo1#)_}HFy@0gFG5_pZM zY|eQ`>}Lrr@pv4i_pT!|IKLwDA=RnXJf*OQl}k9|^cP zxT94A+*NXQSMWYmLU%MBk+tgHCd#hjoS4s>L zA!;P}B+GThNH078&e;>%rcM5XlvCtwv>huK0_4`?j7@un$j=shdwa%ljFh{7Y$cJh z`|0En9v{aE4{qO(P%6e(mLq0p@=js#vdL4FdZ4?)*@13zQE#kXWn{8OD7=2t}eaw@SbPH@y`vr9Cc=)jIFeX2;7ddY5@_^}Q$e$`azl9>4`^T3B0tW8p!pIPCP~xGpCJG6MVMYGv_w%&1qlH3X2m~$k?+5bh4PpoREki<) z2*MZ3&j;fAmkf?U;=s9wrvU^GM^O8(PAC$NB97@#^JC;Ucdox!f!1O4a6ake<1wT3B#e0 zL;!IZDB;WW=kvD`IH7Ua3j`S&OEeCF{$&Wk{y!!oe^T(!f|&o35rqT}gZ_sMMmXFb zS`UUq{^^-t{)fX*u*237h)%2+h9y=)7)Yc9PE25e=(ojx8VpAR#7f{eI1v~)4tqH6 za0G&g=>!>?$o&Knk^2!C`0ua-f4CnB{eR)VWLTmF37JC_CL|I~1R9AUc0UsPZ({!R zKO6;v9cCs$h9OdnLJ|`Rg(6BtI0_3tOkjeH*n?;omSF!Of}r6;(*tI80dRUrPSbfkhzy zo$dtx!?DDr6^_La6%~REOB7=q6hq`091KC^85|Np6k;3_hXxM2ABQDoH4aO}Y6KKU z#A-r55D^#wMZpexkRZeSl}*53I}!ql#T@1Wf>2WqTZ|xF796&iAj2NE7(u{y*kS}> z*Ez%m0E&R&5Qp;u2hrER#Y!UyCClrc+qtQeb!!bWE4Szm=bKz(CfI@!N zzkdmdVvIl_utWxuDIu<+1PcDc1>pY=1Oy?D2qE%6VuwUwh`fNrVu?bB z#1U;`2oxN77$ATk)DNP`C^S()LJ-RL;mHUTj@bQZDB@6zp$Ig=*@r!YM*KW4{PO=l zF+pR96{9i4iZM`P#TXb-kwRdQM8yYzLH&{1!0$5}f{@xoOve&(>@aF9oT$ztu!Q dd3 +read.table("13.csv", header=T, sep=",", stringsAsFactors=F, na.strings="-1") -> dd3 str(dd3) -dd3 %>% filter(tuple > 1, network=="unlimited", protocol == "native", timeout != 1) %>% group_by(system, tuple) %>% summarise_each(funs(mean,sd,se=sd(.)/sqrt(n()))) -> df4 +dd3 %>% filter(tuple > 1, network=="unlimited", protocol == "native", timeout != 1, is.na(bin_chunksize) | system %in% c("netcat-prot-col-chunk-100000-snappy"), !grepl("netcat-csv-", system, fixed=T)) %>% group_by(system, tuple) %>% summarise_each(funs(mean,sd,se=sd(.)/sqrt(n()))) -> df4 tuplelabels <- c("100"="10^2","1000"="10^3","10000"="10^4", "100000"="10^5", "1000000"="10^6", "10000000"="10^7") tuplebreaks <- as.numeric(names(tuplelabels)) @@ -82,6 +82,15 @@ ggplot(df4, aes(color=system, y=time_mean, x=tuple, label=round(time_mean, 2))) dev.off() +pdf("protocols-time2.pdf", width=10, height=5) + +ggplot(df4 %>% filter(tuple==1000000), aes(fill=system, y=time_mean, x=tuple, label=round(time_mean, 2))) + geom_bar(stat="identity", position="dodge") + scale_x_log10(breaks=tuplebreaks, labels=tuplelabels) + theme + ggtitle("Wall clock time") + xlab("Tuples (#, log)") + ylab("Wall clock time (s)") + +dev.off() + + + + pdf("protocols-bytes1.pdf", width=10, height=5) # bytes per db @@ -120,16 +129,17 @@ ggplot(df4, aes(color=system, y=memory_max_kb_mean, x=tuple)) + geom_line(size=1 dev.off() -#pdf("protocols-bytes1.pdf", width=10, height=5) +# protocols -dd3 %>% filter(system != "mariadb-compress", network=="unlimited", db != "mongodb" & db != "hbase" & db != "netcat", timeout != 1) %>% group_by(db, protocol, tuple) %>% summarise_each(funs(mean,sd,se=sd(.)/sqrt(n()))) -> df5 +dd3 %>% filter(system != "mariadb-compress", network=="unlimited", db != "mongodb" & db != "hbase" & db != "netcat", timeout != 1, is.na(bin_chunksize)) %>% group_by(db, protocol, tuple) %>% summarise_each(funs(mean,sd,se=sd(.)/sqrt(n()))) -> df5 -# protocols pdf("protocols-wrapper-time.pdf", width=10, height=5) + + ggplot(df5, aes(color=protocol, y=time_mean, x=tuple)) + geom_line(size=1.5) + geom_point(size=2) + scale_x_log10() + scale_y_log10() + ylab("Wall clock time (s, log)") + theme + xlab("Tuples (#, log)") + ggtitle ("Wrapper overhead") + facet_grid( ~ db) + theme( axis.text.x=element_blank()) @@ -165,3 +175,11 @@ dev.off() +pdf("protocols-network2.pdf", width=10, height=5) + +ggplot(df6, aes(fill=system, y=time_mean, x=tuple)) + geom_bar(stat="identity", position="dodge") +scale_x_log10() + ylab("Wall clock time (s)") + theme + xlab("Tuples (#, log)") + ggtitle ("Network speed impact") + facet_grid( ~ network) + theme( axis.text.x=element_blank()) + +dev.off() + + + diff --git a/vldb-protocols.labnotes b/vldb-protocols.labnotes index 1ef411d94e015dc29d23f08b8511eb88a7f2b34e..85ceba967d00c491b97427de336f853c24c2aa97 100644 --- a/vldb-protocols.labnotes +++ b/vldb-protocols.labnotes @@ -627,3 +627,10 @@ CREATE TABLE lineitem (L_ORDERKEY INT, L_PARTKEY INT, L_SUPPKEY INT, L_LINENUMBE insert into lineitem select * from lineitem_ext; + + + +$HIVE_HOME/bin/beeline -u jdbc:hive2://localhost:10000 + +insert overwrite directory '/tmp/export' STORED AS PARQUET select * from lineitem limit 10; +