Algorithm-ConsistentHash-Ketama
view release on metacpan or search on metacpan
t/002_consistent_hash.t view on Meta::CPAN
$hashed{$key} = -1;
}
}
note( explain( \%hashed ) );
return \%hashed;
}
sub check_consistency {
my ($hashed) = @_;
local $Test::Builder::Level = $Test::Builder::Level + 1;
if ($hashed->{"localhost:1000"} > 0) {
ok( $hashed->{"localhost:1001"} > $hashed->{"localhost:1000"}, "1001 > 1000" );
}
ok( $hashed->{"localhost:1002"} > $hashed->{"localhost:1001"}, "1002 > 1001" );
ok( $hashed->{"localhost:1003"} > $hashed->{"localhost:1002"}, "1003 > 1002" );
if ($hashed->{"localhost:1004"} > 0) {
ok( $hashed->{"localhost:1004"} > $hashed->{"localhost:1003"}, "1004 > 1003" );
}
}
sub add_keys {
my ($howmany) = @_;
my %keys;
while ($howmany-- > 0) {
my $key = <DATA>;
chomp $key;
if (! $key) {
Carp::croak("Could not read in line");
}
$keys{ $key } = undef;
}
return \%keys;
}
__DATA__
6dc1cda6ba8caea25fb32b14851fc86d
ba3272461caec8ec41556596f7df010f
13209f88100162609aeabfa4d7da85b4
13fa74d50ec3cd71d2975e30f8f85bd8
7e0c51bf844b69e2770e4d2f85f6aa73
b30fe2d51f2ce81331667b7c63523fc3
b1ae7436ecfa94a9ffbbcb9acd6cf35a
3ee5e07aa0655623ac15d94b9d629fa9
aff7ea8210d12aa9cf3a3d9c91eb3980
29b2e192fa6cc3fea4fdbf73576aa64d
ee8a3610a0f43d7f2da4d38e51dad493
02c95a61e82cf22ec3d68bf95fa2daa9
8a73b9ac46a808de13f98863f9f5c319
7f147f3a2eaaec0c7d8accc14db60c53
da5aed33f08e0488605b6438f828d33d
b8079b34bf4abc5722c6f0afe1286d2d
55316ba8b906f3342f7913bcb00b81a2
3543af97b66aced00534c1d49f142763
a83855bb9a66ec84f65b2c04122c2447
0073ee1a9b4ba9b4feed48f26b98a092
77ab95e67d16ae5b00e1d1d45d933918
f791b63c743c1277d5704a0c9a1c0586
df06e29e5862c70184e82f580eca7bc7
c4e6a34043256f7758ef87105668d68c
40e83e64838d64e38317beacb25cb055
f73d91c112483c16ac5253cd35f09291
47ad87c460f7116b154688bc1b6bd055
efe9a2a688db6e7da1acd9d08963a2a6
2629359154e0c7b1f005d375a3a461f6
ed623b5692894f792ebe235c5c653a27
7c80af1d1d42a6246b3d47f8fe36ffbc
f1c4606776dd42833a543782de625775
59fc482306f261c61f210b140175b8da
e9ca428d24620c8696bd3a6c0c5854b5
524205160e478686a83a3e93854488c0
a47f9b030da6676b6716033b70cb3b86
7fc030509391d7019f138e268c52087c
ea82dbd8ee048dea6d016ca10b3f1e94
e61d2d2fcddc7a4d217a3ce048549329
5c4bca5772d4748ff824837d7938519c
72a80a26115e283e392a60bc57e2fc34
a2b1812f16e3db35a890300fba3c057e
51df27c338c35740a02bba62d9a30447
0c1146bf126d2275318b906a73a84cb5
02be0fb20a2d9e0bbaf8171260d3c3fa
4925d79c95187e1ec4e37f446884e8dc
37688b5001728cceb9f9baa721513857
49e8d92a3f631b3739e05a075e4b5206
65f4920d7df2945e778abd65a4a2969d
4c9e8591eec75e411879b23d5c0907f2
ffca1dcd3be8ed9c4c6926a3f9a3f012
9a05fda96ca9513751642ad9b5ed47c4
4ed1d04b8469c08eb1db913c344746c3
4a43b66a824730d5304eadce434d4356
f7dd8bdcb8d790b237228eb17d8f2ca7
d2fbba1212026e8d29d96d01d7160071
e55d1d314345dfa50c623f62a0a262c5
e77a1edbe164b82d5c7ef291144b64cb
4c504f9d7f6b33fa92da6c97f6e16bf5
8e2abb9f39ac2d079295f24d4d59c5cf
bf7167360ba8529c778794ee14c0539b
ab64618f3b6765b71ad1aacc1369f83b
8f05c798c08dc316f608d65317c4e60c
38cfd0dd64d589835394c6776fd35018
3ec0274e025483b2349bc4e526b40da7
d65b2b20ea8e7bee4e1a8b8bb7a75911
d332363113f9bc9d4f0992c55305d631
36fd406b77e26c98301a5811a34ce861
831f0c0e394b7d1d20460b15b9094bb4
6c3b3f8d463d0511b9cd55cbab552ad4
e59def80c2474c2604b5f07eee4cee0e
783e1ec2ff006229f6466454b9892021
ec9c7026c5793901e750c4ff2fd85ea6
60d768f77bb3bfa5c8d7ef5b4e6c8543
797c53c4c66b99fb6ddf9f91f5de846e
6e07e0b8ced814eb2c2cec5470da98ad
ba3b8187e6b983169a06a877de5f23ea
2606ec152d13ebb08e9c6875509e2016
2b8c0e3dbebc726e78635772a9602424
10370de71576153802b212828f12915a
e003890d1d2fa1e632a92da067867785
5d0b233ab867d57ec357ac0cc42afe91
bb498350e9cece014d01c32ca255e65d
f4c251b26631ada3f98d5810a725d4cb
t/002_consistent_hash.t view on Meta::CPAN
e63c3c22a3d39a2b4aa57a27c1631582
9879ad9df1c712cc22ee62e794489eb5
769cf71c382d4c93fb515e019f71b48f
647a96170e8332a4d1298803582be9ce
eb3840b165f2cb8c5dff56b37cf8bd6c
6b8943fdb6c27b9788b4a7de30b6046e
135b7fd997f2d9a11297bcc5b0eaaf09
c10921e85049e98eb1199a65e3cf8aa2
510a91521d06be71f8f96e3c9d7be445
113264429316df34de72f3f17be81eef
ca9bece9402974e05d8232b86dff16ce
194104ef50d5de04c0f32cafecdec6d0
ac6ec03a6cdc76727449c3b2d9f25150
8d924c59f3daa290a7117064a8eed51f
aa653d2c1623f5e846a7794f964a368a
01e0be0dfda075f626a9654c2e903739
651ff19a8e452816715fb0343ea0df76
57ba251f2edd3adfe4b0ee0a6dc4a49b
60e89f1e9a559eb006840bdbf0d8828f
4582b9e44b3c2b1a42699abdb107a86a
8cc5b5f57fc2790c8f17231c4680600a
24ac4ff4c779152950596b8fb2ff66b4
f79072b0941241c8fff042f9af04470e
7779a97f53fca9845ce571806602b2c8
ad2836814ca1692f9b0ecaafc55e4ab2
4a152be330efff1f3309a9d88cc55841
6268a424c8c94959d318e00023c2d213
82cc62ed465f5a6a2f6544c8fc760d43
e88a7f76176b245597a33056d669d1fd
f9c730d83bd64b913c2f30c6aa1b9b86
e21e73f04796820d0317576caf260ea5
86b7758c9feb3264b2f7b29ca19d0b94
002aec2d164d058261cd5c8953bbf211
b769cd21e2011249380fbed12db81f19
aa648bbee11d89dd4da110502c2557d2
d961c1e07cfc7ff1d059ed0c85c52a1f
8140805e06a30fffc4b91658740c3970
54d011f2744c2ac7f18ae99a1ddbac14
fa01965f100b83da74aaae430ccce16c
75dff34a19d653ab1867942394734ffd
9ecd70fe6e1d9a38b6b1c18c0825f83b
df92c72d4819f3e40cee04de14fe01b7
382a004feb8b4e9152a09f9656fecdfa
ae7b59913e2222e351e1572dc814f589
cddfd7304e2fb20943f5cdc063e45b1c
5239739544e08338f43aa21fcbb98dbf
d7f61c9ea7ac3850e2d6e94c0b05b6b2
9402eb9699a5ce29e96bab2f29fe5984
d07ba80ac437febace8fd1e9059a55cd
26edbdcfca40cbabeae2b46f93488482
0efc7daf54d17e4d98c8b2cc0167727d
e1526f04a5f606a0e37efce2a6e8a241
9675c57750a6b3c83d323310a2decedc
ecedbeddbbb114a90629d220904cc4e2
35e4a7a05a32f90273a29d970fa30801
b067b851f4dea1ef4191e69976efa686
a3d87e6c027a436ebb7c7bf924dadc6f
b2898e6aad55bd154cda55020108c977
5e0833421d577b11e6364e6f876f2d19
120cbd9f0e32a6abcb44bd6e2055f3d1
37b3ea297d95739c06966cf60f404634
f665c8f0522be81bf25ac870cebd563e
0d6bdc6a17398fd4c75da65c162547b0
87f0e04953af8f4d2100b530924d99fa
2518efa0e7b2f510166acf414af72483
dfd20660f76d0cc839a2c2668180b3da
727159f2f069fcbe4ec9ede2cbb8af2e
8d26ad38abdec1701df0d49735dc5161
cee80d2e3b9919922f8953f6db578f87
c9035d4900ccebe64ff8cce8d81fae55
0c314844d0d4bc7f5659e1994e677403
80203de6ff26c6b1cb38081bdeccd579
679d57bfebde69e03661d3f467671ea8
62388c7e2d5719b0721a0bd9efeee5c3
825e3eecd3357ee8ad64e2d3cd11967e
2953d43e400cc77ae84b09b4fc20bfa3
6c18df2317713dededc49e83c1fd8d06
f16773d527fdb55b17ce8bc7b734c8e9
089a365b327dfa3890b109257fda6be3
c2b60613bab2f23ad2de3279cc0d71f8
791877b3492a1f14dbfd90fbcc5a5ebb
673ce870626e844b6adc912e24cff85d
8ecd49ed14ccc961f8c66239fa152f70
bf2f352e210c7c1b3904c1aeb972d63f
771123ba38ddf05469ec7408256c0a54
25d3e51b8f98895eca3d28b6b576ec21
68a554d0202b9b13659ef6c38c5c94e4
5a2ab1d6f262734c3e6ea6723867ebd2
b81845f0000044bfff1ec9cf2c4fcf67
7791116d0974efaa97507fd12239965d
e18a421940488d8ed707bce9e4a7a48d
5793694570d844d60cf50f551f125b23
7774e56765072eddb78ad897f2f5370a
a228be28e06c0661b529e5b5dbbf8fda
7b75d0538dde24f28dddafe3f4eb67c3
6625b1cd6bc73e0295ac78471f75c0ef
60f769690688fd1de1c3792e7437ecbc
0d4bbb4b9cfc230c782a0cfd7eaf7846
0d4f6dd2ccbaa94d0492ea6713e7b575
f788f9e5e5d3d6a8c8b40c9a9632341a
3662e03464eb47d0c03b09426aa0a0f6
03bb76c7be739097bcf58a8079768acf
eda1beb9a102e927c49624f5e51ef34c
05582fa48864632c450ec9d40177e1fe
d15a4cf02ccc70a5d8e0314d495b40c4
773d37179110c8a2cc2677cc0c84cd37
c625d7326d1fde145a979d5ecb93eb91
44de564cc03ef60cf4423d8abe1a9c3b
369c5e27bc989847a2bc5e6494db7e98
8f49460dd6a1e7928a21bce168133fb8
60a00c5cbb7a534b0c7803e7d9e08c53
5991020124eb2da0a27a22591dbd84e4
9e575d03dacb0179b88c15b106c298ae
3ee9ec953b0dab55574d28ffa4dcacc0
d383d59b77c0b8fd1d664faec365eb20
a6d203e296c593ed9cacbec3ef3d3219
2c1b42c0e624bb06f5590248e25fa6c9
2c33fe5c71f853952c9fdcf5425659d2
b4d01193788b100614d58eec73c1ef87
54fede7a4156bc139fff8745685f8c71
beae1ad66112c6c29227f53e29959f5d
4b2c34647599d2a4bf34274e53d2edb0
17c6473d1a3537ef9ecb48544d094864
ddd816b7abe7dffc460df56b3183d33e
c53e3c088a4287758dd54c7bd8b15e69
0f1e5157d11a3537a4870474fc242198
2c5d5b5b76da4eda258bb1ec8d5fe357
bdfdd78b5c1cb7b024c11c9712af42da
617e83b485cac7962886efad65906320
cb349d893e015e006af4323f206cb107
60af5a04f87878beff512a2c9abfd6a1
62e15ead07052faf09326e8650c4a63e
0060726ba074af8f2d9c104870145030
ad75f37b45868ce061c0180fb4072d24
e726d533f12c0e8adf2768eaa55faa83
9b4b9fc2c35e00fe342ce5c8801cec2d
91ef9f9a403512a0a446407ea5301933
5d487ef840dd9c9f77ec1f91c4fd003b
03790b82d83f0467469b8faf3e63887e
ec83033fd57002a2a8edd88d44810a1c
de6296f5ad2b9a62a7c3afb6d3e92b7e
dae6bacb459203ab0b6275c69d3d23d2
9c80d783d62cb5d3a5eef9655e92e02e
74f757162dc6b260716b50cf0ef86748
a2dd7c23e89c190485e14bf4ad0f5c54
9b1768e7a5fdae16f2b3b433aa410faf
b9e16d6843b20b4170f79bf1bc1a4992
ef4077f596cd69afb122d0e74e189f9b
1331b6d8492e5fa3ef27185b8637472f
7d34f30a794c47e9e9064b3be83458bc
bd47aa6816e3ff5b20608894a6d7d713
d8eaa9e01c99654b28ee22461c8a32bf
8c42118265297286a9ce1f66ba51e8ea
78243d265b62c24be422dca7d75b8cb4
c4d4bafc775e89432db32a6bca25aebf
165a7ed5ae9b53ded5512550e8bbcb52
e20d620e70558b57317f2d1429ebdbc7
27eaad840d7444ab3cc28897eeff4852
61db3f4f849d6ac021752c5906eecad0
e5f3c71ae2cae84cae7c016524a23b92
19147d5dd853bfd465d5a8c4c9c34fba
d93dad41499e351d8e932bdd41e36cb6
dab6daec1db636bc3b82d994dfe075b8
4591f9f42de6bc847257342777e22193
e84c4984952cb3d59eea935f4deeabb6
9e6f7ece67c81d3b78390075c30ac2f5
a6853b188f6b455299a3a51b7a5bcf3c
e84900c838d0bf3513c050918dd9dcea
d7a2bf90ddba66a7a88e7c2e645ef8ec
8cf41cc8cbd75ebdc15922bbcdca7c5d
34d299aed93729045473b6023137291f
a9ee39996ce94aa9a1154a825e32ba71
688970631dde11598d11c75f68fa9d91
89e2d197746613ed47077aa3f4c4fa54
7bab1daa79cc98f245a8254a38cf5074
fd83465cfc41b26d914583804de6a7bd
d027d3677c1e969de2376ab28593f40b
a54e6822b937890ff17ecd07e341e238
65412f036eddefd925d16b2591839528
2e9d3de8c8c2a84f5ed92ba93807f809
932f3eca3e30c0e6cb77b9e6ba69349c
b99a676d249849dbb388db14d3833d85
d79d5ba2448e1b6b6dbbe30fb9fa58d6
b9eda8e16c276dbff7054bf8e61ae1fd
cb98c6110ec9d2b53bfbfcf63abae9b5
d37eb9ccece9428526f2c7c503b84f05
30a522f721bff308d367c121e824b41c
d034d2b86d761734591fda87575e4030
5d56f1fb4f6810c61dd9a62d2942ef1f
aec0b38679df80e0c37e7157e21b4af7
ab44c7a9b4a6940a316e91d9cdbfd925
05df81da369bad9e0d590b70995b189a
765b9bda086f7d0da0530e3994c63d2b
00d6bc3be6ac161853816f40c1baecf3
d02a8c083ce0dd98c3444bde74e7e9ad
58ab38e63ae742a6979df9b6784e0d1b
ef90d362fc4efa35569aec62ce6aa24b
93c9039345503f778f366a5bc069ce95
b22669a6b86c33deb2eb6bc543557c73
c3c2d9c9a86b0a16adf485c40443eefb
3bddcf641c5be077542b1b1a54f4a688
e27d318fc90d1ffa4cb1fa28c8ef9c7b
6f61112743ca5f9e562f11f989163897
c30321f795122bcd048940f2234bd465
e98dd9090bdbbf813c5ad935f6572d16
794a276f67e45e1d92e9d65417088484
d714f0d536b3d37fe67cddc62bb25f1e
bd989be0d384ce924bbc35c381c4d8da
bae233c3f3843444554c8435f90c4edf
a63833d7f04590e0b631472d8a81b500
319b22fa63a7420bb9aa40a2b6c4b0b8
e1d851291640333a2dc27ce950d8d74c
b653486ff605cd55a9e81013ef4f8484
ccb9ece6c0ad77764d811a36ada81e67
e5e2c35d31ba20de12cb7f59ca14a0e5
a0bdc3408fd62cbeaf1fe419e31defb0
502413181eac3604d7bfe8b2fac442a4
38bc56952ec01c6727100b1982e94104
1eec0cfd7e69a91febdec8d1210f24d6
18f24ffb9a18907686eeca4252a0f38e
85462ee8fd7a9abb7728738dea2a8b3e
a74aa90b827af1e93b33b5452d62b30f
d8aae86677d0d33ce1991b94fcc97c70
19248b7b5bf9953597e247354223d21c
b1c972e20d27797ca184fe08c789b275
1155e7cc34a5b39373eb1648e1244587
c8d3939fb837389a9afd50a1b38abbb9
72f087f0d1d9b744c15b6bac2e8ad4ad
be14e2124af10119d811d34d93404d65
861386f19fbfc2ac81ef7b01df014e8b
1dd0e36c4edeab912e9a873af51949ad
7f358f049d4b156db831427acf646b1c
7331afdc3321b3e49ef7de95abb38b67
4a7440ead8c544154ea21f8288246315
50bcc015c055c3b9f6dee32e0210be11
00b7943d583a7c4bc62f7dbb40b7bc07
9971fd2db74725a22a91dfbedb9737b1
a918151bbaf9a217d6a13c0e8fa1bb62
384b025f3805c091481a92e57a953339
9e9f73fdcfc509aa414adfc8f33d1bc5
8fc1958ca6c22fe4805da5bbef6e4c7b
c13b2c793f7141b46a703a1ab4d71ff7
32c2a27aa99ad6bd4d60f62777754304
93d632b72aa81cc18c005ab25dfe56e0
f0593d0998f721785a36e9bbc6a66af0
1e2d862669eaeb20906628e8558d4b8e
ebd8a92bc503e9f2e757334b9ff66f9b
4fe94b0f155988552d05e9d6b780751d
54803e5af07b8cbc5398171cb932fe8c
5a0d6c53b99775214dc81e4825a6f795
f4bec6518f1b4e4bcaa527d90d63577a
81c3382e31c2fdb02a67777371b1d2b8
12e80df7310ed6b7a8b5b152c4d9037e
0518557bd2eedb6dd8f5ae5881e95f95
69d523f717e0695b64c6c4315166a8e9
69befe58fb637eb5f43f376486232fd7
86c125dd41fb435dbd6fec683d42d9f5
94118eadc9a89de7737f1483134be188
d0b3459cbbb959267b0a43aa01f80e60
79bcd8765127537c41f5608730836d90
e4884ebe20f97b83287bc796580e4966
54e4f4ce8e7fc2816604547d968c63ce
7fd066e3ce562402c2b80c511ab6d6e2
d6fe4d8f9a15531c23c22ce178e15c89
eaa6e588180219fff32ba66b2b7407b7
69a119bea3989372ed9e9194cca59f90
7778cb0ebbdfc545a5bacb2608b2d660
42390a1e65bdfbda6840404c110e03db
687d5773fcfc54fb1e829c841c255870
309e8c85d142e0681f779d7c09face16
f88ea24219e3c5d41c16c354d4b030bf
61c4023d47d9f09a0be83a5ed8a01ab6
990a1b3d1914351708207e4c47c11324
8857ddbfdc4fadc8edc7556afc18932f
f1bfe55eb0ab230ae8d0b9b2f6d98671
4c533b29db0e6b0279aed4951b564f0c
7ea878224c3732e12941ec5e3d8e9508
26cd7d0c0713fa0719f4bb06cc5f0a7b
8f42c4fc4e3fdbef15da20fea29b3918
5744527b93ca691cb9814c9c5f0993e1
e62a30401c686efd997b8e88d0a7c620
846a4d881d0bb22c72ff763760b9660c
33e063c1fd61c92cf227b44c7b6aeeae
605fd03c3864de0a024b92c119e3de6b
3a3c6adac015d8de52285d5934350f83
bf91970543fa59bf1941d49de2cb1fc8
5260163aadb2daec8c07a7d193484513
6392bce21434c0bd6c98a9bfe339221b
4438ef2ba3b0d8b0018ddbf3bc44e037
26d4e6ad2a5d585431346b417264269c
d2bc952ebe449c0b35d1f00587147be5
57c0a5f65098189b46a09d99e45cc871
e79f05dd3bd0da17f61d1a9c4b095580
fb1fd9999bd55d9eb6c25c67ec59ce69
834f6264799940371d19bd50d3106ffc
feb41a07dc0380fc2be14bf20de15802
a513269c6891015be0d02aebc9fc3c6b
fdbafc6ddd2488e2453f719213059d4f
65381f8e82138a894c35ae985ef07d4f
e5786c5f8efd776cfa507371ddb4dba6
56160c6b2667d854e4fa1fe5b4517de0
0c15649db90c06d6d7b6d04a857ba874
e316cb2539df96845033579735e33205
0e2387f10d59eee2ac3b31489f01cd14
81b0583ea0884e749aceb1149994bb6d
c39deca5eded7b06d69cb60298f23a15
8c58b3192a73fb2df1d82a27ec3b343f
a7ed9ef5456bd0f8fa7a0ec1028bb819
64eb92c7f266fde5c9cba4cfd5ff6ae1
5210d18e92596323f651dae8e4d019af
f8f71dc19f7b53367a427a2a52975670
7fd365934b1cadb99b3841146f2997fa
6ca41ef7b11827e682bb2fd452d0bfbb
89f713ab8a18f751d5784ec7b51fad11
95d2fc458d0497687a47ff2a379d0106
2f3935c7f6fc9c5165f773dc1a46e38c
5e1e735e9b1a4b903cbe635659b182c9
849ee96e144db23b412dfa695d5f814b
378ee06dfe4b4517892b9f448b470de4
37fee7729bdc646a538b36dfd50e976b
e055cc3708159a433a703e9edba27e42
5c3384a5e36e1510438d73c9b0518dac
bc918d7cddffef67bee07ca750d21708
47bb315cb385c95744213d2b5aab9d3d
d468abdf7afa7170f1a244c2c255f40d
8d2bd566312ea2080d4221a22a945509
9e3367d4d2dcef365306fdc7cf60d8b9
995be8e5c8e2ee6531ce9d9aa087130a
t/002_consistent_hash.t view on Meta::CPAN
1c12d430cd4cdb7da540af97198b1d52
7f8bcb09bf282970397e967936930e06
bfd66e448300978af2b2cd9a8e053f44
5f304b74aa452b51c2d2bb0d9a1bed3a
64603c0cccdc93939780b8aaffe8003c
04a6274950f7daeb4f6f296250dec31c
e637ea9767697282b7fe1510dbc1c2b7
59055585a1e0829aa63ea337e1d0ff2f
39df7e14239d8b86827e498aa83e8a2c
a75ab16a6f988bc8e48e55a6450bd619
9f6cce4075bcc944f3244f30ae4e34e8
124edc05118c7b6ed27baadaa8815aac
2ad451143e6f0a5152ecd0a494aee439
744fce003db9b2f6357ec3203e757703
cb25b048a8d1e91c0513bb7e8daa62c4
0c3625f0492177f703261975fbf26a65
8aabc596699cf6ddbee03cc977c717df
cf6680a23d700cfe482e87c1a25f9baa
66ca739f5088a3fb9a28b18f24742c08
eabc723eb05476f042592a9203808163
a9f6938b8721835ae7fad9ef6161f497
af50d1d251ddb25c11462d87cff6c2b0
d2654fd5796afaa66db88b258ee98cb1
dd50e0b15f8b3aa3d56ef90fbb2a5310
59c32076f508835c5c67d6c3702d92d9
0949f8375b2668a6f9acfdcaf6e91c36
c9661a85bdbc886b92b81d192f6f63b7
fd807df84403ddcd81c4117bffb71999
894361e398e09ca0e8d09dd2d6269b1e
a1d1d183f510a8b6a2d9bf307ae3ca20
ccb7efd3be55f2d837e273d170499c76
5ebfdac03cfcdb6342c0c0672fd44ae5
c6570ff73a9ceb2d62958c22370197ee
1e05641e3097e0be33895afb23384b7b
cc61adc64470ee07e6e162e40d9689c2
fe1f862aa3461e3e1870e316b33ef546
58597655313b2821449681613043212a
de91752f11f43e89d1de98ea2523a266
0214110862118965531df018333c2f4d
049e0cb18038be2a5ec80eccd3d92f0a
5913181175cab7e215caaf13fb94bd3b
45da3aa5112e2ab69e7889d11e349f00
4436af6801d3c1812a8823c5eb0c3f58
f64a61eb3b45743fd2c6575af220ca4d
57b557a9c324ba81e51c200a0458e333
aaeaa18b52e256bb188c26f6c1a318a5
de23c5e306fa4207bf2f30886ec51b5d
6c32423f3f724717f8b9e60713510f5f
708bd3acfef280a723406ec70b01a76c
fde377a9467d9fccf8ca2c42d97ed5b4
5eff66d9640c6e00d5322556fc0bb27c
647f5f0458278264166a823811018e19
839bdcdc96e541939ca7aac4bf3ce177
b75a54865eb5e2df826bcf54a989895e
544a666e8227e966bec157d52b32253c
748e8aac31faf2febf4b3d3f69d52416
3c39d86824d1d6908508296b1b0c2426
3dc3b95e3910b31a848b33e185fae806
0fe138e1b20dce0f1633465fa0964c85
5318d8427e9ab8a6d55386839321a479
d3151404d32a5ba11fc7bed5f3479a02
2d89180deec8b05d97fd801830ab3b47
1510b73f80fa48fb1269c8b86183df4f
e61b6917fe484fc0d859c25c0bb266ea
0efe2b6dc46765fd266e74d5b3e14056
3ebcd7570560133fffb1bd9136ce6b39
17fd4f7ffae7c61a69a9587595bb1802
c9938f19d5f8aced634cc2a045d81a72
56e5db1621b6dbb9c3fdff07b2c0b6ea
32c65890bb1878f7e4a76d2eb65f074e
0eef126bb8679e8ce36041c4a84d8f8f
a3c8b6cbfb13cdce5ecee8f19a31c7b5
205a8d6f26b76628f82bc7b544220b66
b35590b39426fa357be5e82f8e4a5d2f
3e92545b2ea5e39bf64296dddb1189b7
ba02ee687542a63f259dad7f24535f40
4441d38bcadc11e153d14d9a9b7465d9
9e14a0ccc2653c4afa13ada8eb7d15e8
1db4b70fefd7b17f0b956af985f8451f
04b026130cad510c1b3f88f555966542
001ff60a3e27f6a9b6d78b78d01e862e
fd090ad61ced34606d21e574b9214a04
af147701f1fc05bb8385dd93a3709b8d
9668894274ed245e261c8326dfa264ff
98ac482101de1bcbafc7a5c512d73c9d
c88b7661e5a3d5123ada2e12b108689f
1fe507ca40a3dbc4b0f7305c9346dd6e
653846c7aa210b12007f45cf184de431
12595fb475f53e10a1bb3c60e51660a7
e05283943d1c7b8e3e023d67a5ddf0d2
1c18782e463cda4d57a87a3ecb6357a5
f74eb5895b530f0a06acf05645ce3944
615448bedec291248c3734120fb37b03
41ae00a6a2e4749cda6d03797dfb5286
c064411c93a2ae9404eb297764be1c06
555b3567ebe3bde7c0cfcd9a025e40f7
732880b7776d29366d7d55ac9e83d121
5f6ac101a947c0b19c01bd35a3e30639
90666cdc50e8a920b351cfd7f0d56e3e
9c5adc010fd3f4bb75018935dd576b3e
e58a683e1ccfd1e8a9f662f69f543b75
9c6b91c525d8c3def27c2efad62ba59d
bceb8fcb56161b215126514f9a34ca0b
d4749d4b4a37215190c9032b78724563
ca9cf76606fd107a7d9496b9fc2dc212
5fd18de6bbccf47750c4a366b9fa3585
4d9adb0d3bdd6c26f1b1b6a4076a39f5
ba30a3f728a44b4501199bf047a51d2d
b268468302c925e9f28e223d57102f1c
2782c0993a2b79ac7ca24ce8b341e0b7
cdd862c803a9abd701d59682388288be
07483b36d5a7ab229db8bc509f820e79
e4f249b7bf8794ddd41a7ee3640a70f2
3ade7f88ba6550b94ebf7e25939da0af
ebc080c377bba1f5e8299b0d1d0e1607
af19a7bb632a0c2276e7a9f8d11cec9c
e8098eb63ed8842eb945b29531a71fc0
ae2f13fba12b08c9c0f62b712576e175
59fdc0c8d7bb6856142c2181de46328c
1ed3d891c7779d90e4df14f59025cedf
27f9912fb6f714642ed340aa05d6ba82
5c9bf6e78b8b63c1c7c170f2eb763e91
20e4d1753b054e81653e28ff8825f7cd
b9afc8ff94c61bb58039012d19f11b0b
48ba396008e7f30be60226856c3b7ddb
3778c7414a282deecbebc562918147f8
11df6a383c74e9084c565ab8f4029af4
47b45563789c4a4cdbeff2a9acad135b
755e9047376a10c7f9629f2b12a048c9
082a4fd0eb1415ab29c290109bc3f2d0
6182d1f47e35956421edd292a40fcfc9
e1ba034ff5af4879408bbbf4fa2c808f
f161541860b55b20f98271923772aad7
bef7dae3389e34a6f0e928b442de58d8
e022dcbfa05f2736a00a9d55193a82fd
581cc77f53ed2f6fd179be6d6dbe0132
77bc07364c35abc00a9c91f6b66c6760
0f373871ffd3699de550dca1b9723910
95bb98308e13e58a6a89df9da2012cc9
b82f2a7725a13c0351ffb05be8db3f0f
0747c5ad22e0155534fbec8ae3dd60c7
d3a47d3b9e5be5fca3a58635303c6979
4881b7bb0199d87a8e626e87f92d2669
b7aeb22da49ecc095477b7fae58c51bd
a2b1aab292869ab03e213ac899f60306
ffc18988681af0a8d76b0beac0e21190
72a037ee3459b5cc4a3088edeed88f26
cd43733021983c8704901efc017a5bef
e915fee02f264d7aa6295c3cec305522
de7db13ac8ce3337076f82acc4d91dcf
275d509562d4b6a9bbdcfc600e126528
5581d0ae383fd48fc1d1d2503193013a
024ffeebc5b113220819151db9e54380
6c00c29768aad2bdbcb697754b0d5c86
693ee828286a0052956cb513bd524247
0ae2aa136786378bb4190af7284029c4
404c6df0c7b5d56f9a8062b79dc14e14
220950e3acea44e19310c079dda65ba8
ce462a55ae4976e70cc380e0a8be2538
4c967786c2736466712f73d55ec26003
1604df88b457dcdc0753895f21535ae2
53e6cad330e60444a291287596c5fbe9
0928b64911c27aad0bb8f103f6477de4
8843c9d588718a624435eb68e03123b9
3fb3aa2467cc29da0969f9d6518c4a06
c8b9e517bb9e1bb2d8baebb338b07555
f18e9b219f0eb43c51d39ae3a0d54175
b8ead435ec98c3feceb6b3395daaa00a
67f7017e16e5de078e4de30121b3f70c
6d697ac56f29603c0143fc34618050f1
e8bef72665e30d5db82b5cac4c21e3af
42ceed9f863b1d30a9359b64bef5873b
b13e1bd913918cd5c941f10d60ad7e48
31708fd977508140ce7222e4ede7588b
66afbaa9d0f43ab0ac042e5fe19dd5fd
8ab17d326d09e8d6150077d4b58b446c
4bda13987d775c143adb2b548de99eff
4bd687af35de18f507885cc68353ddfe
336be64a567782c156d2f5108f75eb9a
a64892203b4815c0cfb580039654b5d6
732441e86c71138c9e8d4a80ae032ffd
968a41f527a3e1ba78425a3cd0ebf3c5
386d4214363e7cc93f6a505c1b3d8f03
fb2f5a586962985ec85c2bc72776173a
57a6ce4f4f220ad499115234ca18eb7f
06ac291a795fbd366f265a6642a021fa
7578a07823c8c61f369dfa0c3338a456
4c5e2bf68269e9c3d32b04089e84a9c0
f7194a654623245bd83c4d20fa362c8e
83e999399f35737290ceadff7f6405e6
b3e793af83266dd5baab9ffb6da17792
dd3c8e25f69aabaaf68aea61a829a0eb
027a705f56abd91757e844efcf3d9f1f
e2a0bac7defdd8623dbd9d94fea98196
494d8fcc2206f3583dc04b70873e929b
b8d40b57982e678fa0f2680dbc8a2bb2
19b43cb1973436706b29e472236b40cd
25364f01c569f9d15f2045d355079240
6ec0e681b5adea1254fc77e531a38acc
d1894e44877d041668738c834f9f48f6
3d091c80fc7608019c20e35aed12e02a
04e3c28ad97436624378e5034117f1bd
c7a5cc4b25f32a64139157bb68cf8abf
a5e789486cb97aac0e2d375ca7305e9d
72e2718c04f03e45e735fec81a40ca59
eb38802b5e4a997db06d695e9edabdf2
af112469ea82dccfabe38ea2dfb5d17c
9f9dd51988fd3e1afc546a037cda90fd
6cf3de958ae1b3922cb4dc7f9827fedf
8252295795f1698da82fc05a76b5eca3
9ca64c914c2e8a939e389bc5dd57ddc8
18e5af72263ca95bd45946d05a604b8e
d6845cd7d2103780932f68641902df62
4c1cffe6172263ad17f439bc3df49170
766199ce2d747f005eab40b193aaae25
245eb04be4a6e76517609940e462ca30
12566537ddb13f97018443d18553bec9
t/002_consistent_hash.t view on Meta::CPAN
545451779dfc5829898c01aebdd228d8
acf6234969f43aa858252e8180362b96
9a6b97b0e6448493470db36ef40ca08b
f4727565706bca9c24de9ee733bc49a2
0324c7ade471cf9cc466af2d2b06b88d
319fb023fc6ffe4d6a5bc1f558a1d9bf
8a66cc31b767873b40c5204ddbe79aa2
0ff46b0cb48ccd5706f9cc5257100664
24accdebc66f8d5da93985ba730a13e1
d9480501ad9bd62b7169d9fa17a0f805
52ea53dfee9333e33fd30c5e5360fa76
1d0f2b469277050364a589d0a6b030ea
7367bf6baac994f82ac3d565d27ff0b4
562e030f42bb92b4cec86b21e3cee57a
4c38960187629aab6279b7f098ee6e82
5096b91d0108df2577debf4d02332087
a0c6e1d2b1482ed794ce100c1988ebd0
ae55f453ab7566f4f041154c20b3b09d
ab23dc9c28a8b32ec44a52cb51a83bfc
56f2061c7ce194cd9c774b8dd9728ca0
f15ccb18370ec669abfe8dc053d51c91
f12e9b3bcf5614275dda7c1baf55a055
c0428b485bbdbb52f08cdc7545571d28
1ded3e250b57a8ede190fea2ad072ad2
29fed6eb5835c8ec305e3000101d4df3
79097811a6e53241639e06499de103c8
21ea64f6b1e922bde8ecec06d39911d5
120457de69d10d6e321eec57e2ad8bbc
1ae9c97184eb6fd517b1a1c0a8843ac2
ad30575d5f8c6309c50238b0ad07d366
a9e97bd055cff2a086160de5e50e2a93
bd4e148788bbc03c6d7b7ab8119ceee8
cb8d80b931af1be3fed905618b15b8e2
196c9498c7fec89438b328e843dd9f09
c7e028098a5e9122129a1dacde75ee0b
63592441c54be5f93ed074ca4be21e49
30bbfb277353e210f53e07e88fed5a01
1e09049e9d3418cb0e383fb713d2e7aa
135a3a67e549031e456a51361de8c35e
60d163c6018186417885766809a3be7e
14432d5260c255abaf8c72c74a3cf535
91f21cd6f5ac062c890faa15f088fab1
8596d3035bf324f440cdec758b5b32da
4b8edf24a6a7e38a6815d1e0c5abeadf
5c6cfcbe0ee3c71948aacaa54e39ae7f
643eea0499fa643ea36ffc08ac228462
f8d2fcfbb76ffd727d456d36bbfb43e5
3511adf8ff174bcda6ac9197a49eaa2f
6de143f83038c52d1b45afc39dd5e1e4
45dad5d62c382413301ab211e90b6708
ab309166c6db257cc22f6376dd3181e5
c34738b346d68e66b946211dfec57b0d
45dad6749dffdb42ddce344da13c4312
d250e626120224f20af7fb0a6500bab3
6cdb79768a3341957c41525f09b97f0b
92aeda5510728284a6692025bd7d19d5
f7fa28a725a8ae20e89bf81d46965c90
2f3f4d49073d96487ab7aa38c6dbdcc4
c972fd50f6eb8643363e6a18de55053f
e00f7790c1a64dc5e55cd5e31eeb70a7
bdbe7f64049ae716281b4d4cd737cc6d
4ce3aab88e66ead314349553a0914951
490874908a69c4f50ff49ccdc5d936d0
c4add271be8383464571e161588aaa3f
9784a540b047760f753bd170ae1ec01d
8477aa69d014e39ba10f80e6441d6d96
233348a86d2ec03defb81e53bb6b5f73
e2efef7bd8a6fdf90b6eb4ab5a6402c8
7d5245c9c1c9fa05171733f3056b2a69
6e2c1f21d10702f00d713e5d74176125
568c7eb03e56d792dd3b097945a2a254
78f130ca1b7f4e168f1a79366fdcaf31
4663533a133020cf540dd64586944ec2
0af6ec6c946b2c8ea0049043ead2daf0
6d6feb39d000b1b2af990a7285555530
0ea846b0436e087c9601336ae447ec84
d6404240edd84c39755bda29db36538e
15c69ce503dfd2007814df2dcd641337
f57d6d6980d41021cdb669a8b6a32f56
27d06b057aea7f35d11a4fc34cb54da9
a0f27875e9123e09be7d6ce15ceed6d6
43d9a38ecc79266a9d0ba9fdf3d239c5
3d0728268a1666ae97a74ef026178098
ad60e221ea35442b84d4fd7e93a20ee8
1f88ad19babcd269cd961ecbd26e6a44
16f24b121a3c6ff84406d8c06ea6aae3
1b9cb19e4d087cff567ed006850f4d4d
4fe6ec92af12cab92074d34d59ac6077
a5623867f342de65f1ce20a2b5ed181f
a5c87473a62ca8966ddefd079ff5cddb
391560026aa64526cc8d6acbc322db86
c9f501aa9c0cbbf9d171dd325b52b1b4
7d68c63cf49540d19fe7a0531c0890e6
55e9933d1d542de01c1847cb2e3b60b3
2465f871cb0360c709509d672d280613
dc6258a26e2be539e38ac000bf4204ee
06aadce308603bf901ad03a6640cca86
c0db2ef62dabf7335034af4acf4df9ff
b84f0a01182ca2ef26b0b4db13dde31c
2e94700da12040c98f2b4726b6bdd04e
1218b6a5619e6815dc3d4f6ccd4fed84
b2a3bcc14419c6ecd36c42ec721255d0
91e8e16ebf9852a883a7a27f84dd3ea4
70f9596f3e9b730900aa1133f6a602cb
32875e1e4e1ada4e1050a08a81e142bb
4c486c99502e35a55650756492de7040
a7fa9049c40bdbb89c7ea72e55ebe5df
10ed6b7ad183d10c702907b6305a4487
44b2840ca82c1b55786f3c8229bd09b2
ac7130111e02e22dd5e37b52aeef455a
1aa2c384e79a97944c36ea9adcddd7db
f41adae2bb494d9ef8e7a6bd8d66d1a0
e328701e4e99d78850838db76b389177
c8ef4551468e33d61039a8b789fb4762
a82689d072a93cf96c60b2ec5c4ee83c
74cfd24575e7e5b53181e5ec0ad5e750
025ce0e8a409bb3ff114fd796dd432de
6c718b28bd19b7c508b577c9c4cf4b41
026304a3a56000688905e5b80ba3da87
268fbd3af5ede72170aaf9e47e3c9106
8bf780312ec38927f59b3f4071bce2b9
5741dcf6ebdca1e6aa4005ee090d6426
cc7aa9c22b3d38e3b8813078e8fe03c1
1a809268eb75b4a16b61bda60978c0fa
6ca5c61d7edba5bd2d0303b1dba25a70
8de9e1557cd2ea93ac887744a2bb8b85
adc7de73accc2e2fb7d43b4e8da10242
9802a1e7cc5cc114c2ced2ed96090790
449ce0732e1c96818938506fe1269a67
926948f31ed0040115fee33e2769832b
c6015c6a6dbc8f0ba10289e2b5c98000
50a73e64c01f5134ea72fc438b971813
28ff8ece5245640ea420477bf026c071
045bc016045e776fd4611851ec742880
e8c934e8f67f77c6ef979d33e4645a2f
06ccb2b41de5f0d5799683d355a4abe2
1128b02bedd170aad12b990c772ed12f
t/002_consistent_hash.t view on Meta::CPAN
92a3099233b207f4e743fb04c3b3afa6
1901ab8edd99144f7cd57a420321b076
52b8491bb0a1ae464051680e254be3ba
58061b9a279498c6b71b51ab5a115db3
077faafde920ecc37944677d4e8a34bd
6cbf50db8b79072ca13daf2d2cf7cc80
69d313cd5a64806f0419556d832febc7
07d86a1d7e37fa9222e7e29ae27272d2
186aec4469e339bc9df86834580432a8
9e2b98f6267ff121068e64ba65b4b625
63ffcc9652845f8c822bfc5150b480dd
50861f86a9ab11955fd7b3a9c50b4afd
02f587152bf9d59cee9f984ed3f6e1d1
776c4a2a3fd254f656d4c7e67b3e2ded
7a70ac3d29b77d855801801e8553c4b4
c3d9c485c206b52fa9b965452919aeb6
57c7424a2930b41c94dd58c9a37aa3ad
725828ccb541b053fc5ad0d05473a04c
756ba2cef8520b0e172f4e393fe1bbce
580c16b70cecfe737b2a67f1663078c6
7bce2c93030f4e81f25f27051027d21e
e1ce2395aa4ffbf2fc29bafd91701457
e86285ad41dddb322602387631883af5
14eb54612f94327deb7f3e6c39373f4e
7e4b742d18209465eb9a7b9a7161acac
fa2a826c78c5bf999ffb817a8af312d4
8264721eaa16bd5e5dd7275a93034c3d
79e053bc6c2cf989651f2ee5e6a0dae9
197a443800b9701b15b6b27599fe4a91
2b23aa89f80ed6af0da6b151e34ec051
f0818b1bce98b1c30a4b684a97a12799
82fde9fe12b4e5ed85a5dcd992a93771
c239f0e2cc1208fa1964bd5fdef2c7ca
c7b4d8431849e8a255cc56dfcce0f894
0cfe7f795e79ca0136ec33b739e42243
7a877568c29001aec286fe77f9352519
935486a582ef4099fef8d1a71d0768a5
d21d94818cfc2f768821bac7eabc9428
42fc7af2a4d5f09288c0bfe2f18e92b4
c59a3b53258c0b75b722f87afd88aa99
54993557188d12c040111b3d18ceed36
78f6b26f4be886dea574fb40ee961b3b
69094f2c6b2fff529dce660198e4a374
1e82c7428e67e712768f02c50db7b551
71cc7bc69788048325fb311fb80a16d3
a3c44be6a6a675ef8f7d6a83b3ae3d47
b6a8c6bd648dfecae6eeaa4b6fe95ddf
f95460edc872853b65868be0c7d748b4
720c9f3842ee94851e85b1b223c164af
a30af077ac40a06555e2ee8f0eae8b9b
6ab926c9be4670c9556b6a7514b45714
6629a56274fa5407b187068bfc92d6df
8fd38ed9d38c7ad9dfc9f48db9024569
801f468cded1a3457621930f34115871
a1f97526f6685dc741cd9e321db1ecd3
4ecef780cbd30a0c23fd0244180dfb26
34c26862fcd2f4ce9121f219c3032052
10b66264d20e5b183364ce50e96d5961
c8094c0a460fc30e4325c9ec11d2d154
5e6eab2d7e77c6cf4b1933f1ae4ce585
fa48ebc2ac4042dab550425843468bd8
8ff0cebd403ccd6d86b4038582317e57
164816a54d4748fb5a0c85a04d35813f
467ba3500be80b60bafb91c2300a29d6
52d69593b7aaa4bbed033550f4c7bfbb
4a5df7def7518a16be594e6325b1cc4e
824b185befb587e5d7c3c64f41f23925
53ee4b272b3d45d37b024acfd71c883a
f7563dfd0665b66a2b6224d56d26c80d
269695626a46b48d33720cdd852532c6
e4359821639caafcf3484a3c189695f4
f15214d7c70befda7a829f9919c4d3e2
324bf9ecc8e65bc63db087b5b2fe7278
085da40ca0177c2eeaff5736b6fd00a2
335bf0f2f0f1940d50349fb4e32deb09
e467b4531f6e9ea1a2f6fff430da2681
c081f35de4827bbcf1f0eb88f56cfa03
5a4e605d7694475d800e841588a849de
bc5b6463f2a41e4e040699a8d469614a
bba1dc7b7165059ea3b96c0960781d5e
7d97805a35d463ca6d5a6c232293c696
78b64a4de8b6438333fc319f3294e3a2
ba2133dfa0aadc0c3f9f29da07f92674
dec464ce8333664555081baa8fa6108b
6ed828d5f0c7b46da777fd5c0e1a3825
139a02768fa1b8e1180c13310f6b1dcc
2536a5fc991a6fa6b9c437a5cd58744c
a65830b63b838c38c2f54d414a853dad
4143ce1889d61b331101259c7ace671b
26b4fdbf1903b471e181cfc928c3f853
7828d948ca6bba4247eb76755eaf07e5
f09e51f3b04964ce87b07a6e2884f767
700d40dccf7f70b9d253e23ea36e735b
22c0bc33326793d6e6f0902d2b0b5126
db6b3a95a9777233fb95d4a83c655cd8
2a4022ee7810998217e47741396d6def
8185672a952c404e8e155665c0bc009a
297041ed2d8290e0031768b038455f41
32cc4f6874b9648fc1c8a0175eb2a256
25dc0b50fc50d7819f9012683de0a2b7
89bc69368878f0c687870a610fc6f7a9
9aa972e9df32816b1e37b564888899dc
38593c6a5047cc9872a345294b6d3073
8b5b79e530f1b339ecc3f087ef34543a
750d58692c9fe098da9d0a28a7d041f3
db8fb346147d1fd266424ec7d293b93f
ed9a641e343cef3eb10f22bf2de515bc
6b86725e762f09c187e7cb908b897aa7
7c2fa72bf0bb2810b5d9d91f7cb63fc4
408900860728cf143939454b09465a9f
e36185edf1530255176f03d9db9f1d13
164e965557bdd33989b7b363b6af1db8
169ba803341c51fdec1b30bf7b21fe09
d54c73db8d715a800a4aae9361c940a2
b0631a8d147b5f272af184b3f84c0620
a94fc9b02a4d2b90bec07fbe8ec7168b
13d4c2099fef2794d451205f884c7e2d
70cc8134de566b2681d6b2cbb95e819f
dd5a0244d4bbaa4ab649b562619784d4
fdb31527fd2ad9d665a99d1b46f50678
44f681507e395d7fb4e0798ede51e65f
7415582724a846fed87751456ee0bc61
b97d7624f34afa2103fcec8ff63e73e1
7203e5b96245723cc210ca07ce178bb4
2c0f4e081b7f8209ce5dcb9b5f3c507a
8a922b92663f36c6bdc14d42674cbe37
4c77c037ad1c58d741350b939a77cf33
23ebef5324550f175698b0458f5cc1c2
0ec45637bce9a031ca8ac17103f876c4
63c819424e24e0fcc6622ff76c2a1c43
013d93886c57cb87a07465da7149d3da
c8542f82eacb3645e1eb61b2e1a3af53
4cc0aacd9a337c1c88dc782316393876
42f6539b352fdbb0cd538a1ef753f7b0
e05fbf741d72c8a32999daf2ec6cac66
3893787099605f145dae30909d8301a4
dc5b0164d072c43fcad67b54d82bd4e7
9b758839f4d89e1d621ec41b7de43b34
0118867937ad55f3829998e08824f216
2eb9f512def07ef61ca0dcd0457a44cc
89e62e5ca7bda65b6f4737ebc970313e
4c5d6e468f618cb18bf66611eeca1549
9abd8d3dad8d62d015f72d0c5e9d3b83
30068495aa71e8c06d41075bbd655400
115092aa00ab452d48c7647bbc268252
9524f647ac02fdacb6d2c74a05e9d02c
71bc271eb80b204fd12b4a244eaa420e
c7a8593a6ffd28b05666429b5b1510f7
c84b1119d4eb40936b4e944d458f1c07
d03f26ed32f2b79e3864aaa80ae149ac
f11ccbd66694893dcccfdbd1389f5d69
4c778770fb418c9fde5c0ae8d5c2e29b
ddb78573b0bf0e94b2de2b6a35fbaa30
c6ebfe9e36e2e2848c81df70827c976b
0343c56677ceb8d05237cad043641e0c
bcd817e921ecbef1366a51017d68016d
fe4c73a5ece2b1c22f6765352524ebd9
c73efcc7be4e28b942f695a4d7b4f39a
88e07fb6d60bf92a0e3484d1e09e5477
9de1fb03a65cefac9b345993eec53dad
e1921d7d8c41d097f94cec46bd576750
866498d17a5d4c254cc5e27b74d1708d
2e37924b8620da4d30ccd804ace0d5a4
d7a91b10408e6c67928c945a79c44846
34195241e5ab4a97789e4c55809c5104
88c651f97f4d0befdf5dc5f3d6081e4c
60a6c9e27a8eced62eca317969705f9e
9ad27fa2678849392486aa1b7b34143f
82a8a6eadb3033ce2db7f878d7ed5ef0
759af1fb2f7a2603148442cbcd34a8c0
ae9539dcf0780850e2aa3cbac7ffac45
88165e120a7c1d85532016f4eba33f70
ad9fe1dbbd7d80eb67da7fcc4f240147
c5ba392b29f01483bcc2cc2731eff529
a4924390d4fb67ab2ed88a8b79267244
d7f79e8cc8b9477b94fca7b1364d410c
bf5c25c91ef6652500b08bd6b8c8b30c
68c315433294a72c349f5991c3cde614
044cef78ee835d3091395f832cd66d68
f6d443c1d0e4144c9ed24e29a3ab8bce
decd096bff10d898503e759b4bdb7503
be84f9b5b8c1dd3d0bab8b929d35bfcb
e9c0111f062feb6321c4c3e00e8d0bc0
541b8261c13695a82fbd849d8acf5ab6
a86346995861f9bd7cb0fd241a24c917
627b332ee2b6bf04e0cbea0344012569
a19c9761c90724ef47dbbdfef90a76c0
84a91bff209fb3943283124bdf585ca1
1176758f30f630bc2f5d4289054c0df8
f3cd63c836203b7dca3f842894bef814
575cab629ec3c2cdfac05c595e684917
9974ce4c720dd081ad94e670921f77b5
be0fb1cf6727f724023484fedc70bf58
c7cc5116156e07872ef073f0fe51d43a
98c5c443f96f0c113e4e4a43cf86f619
7808ad94340da7e021e34e87cf61a4f7
b521a9d81da4dc568d034075665e8b92
ad18a900541a25e253fde661106efbfe
b9f4736aa3bc1d595ff443da08bddeb2
666015fe064f82b3075f7e93aac6c2e8
31b99711241ee86e8bc699a0fab44da6
e0919af3c66ad368e4f81ada2ead7e8b
c6115b53dc454d681d885fd1ae34c651
5c1d3afcb9d3b2d6448c359339fe2a05
21e130f64ddcf3e62be64697932c97de
61ae0f682d6fcd46ab7647b9f88f670a
273fb68fb3603b12211877d22c731198
cc5d8197c7afecad798d135ca58e66ed
e80a64f80305cd3c2c45a7308e0d8a8c
7fc579220edd53f121c4b34522d66d49
71d4af200910dfa26176f4fca9e460e7
50f50a8b99745999f065e99f96bb9d9a
f57d633fec8e78456c9e07ec46552218
b29f289d688e178eed77c6bb4e29034e
90e429ba72ec9b2ebfd11d2714ea46ba
b518018577f4043c2e38637cba5c318c
b2dd8f57922c7679eee5063c175a6440
28ed16de9bd73835002256dbd7725748
b5c5714f36f96c6c41dd2b2cf21d2ae7
8a91476bfe0f7b104621fa5dfd305632
5ff2871cac729a0bd5dd12aab65423d4
33681f6dcd47df2f8863cf7d06631e26
9de5f564f5c9bfcec59bf429b3b4b5e3
b2b41890fefe7c77cab65c35a455a8fc
bf619f8ae06d9ae4019628874357cc21
0bb134d367200d89426001ecea8ad4ba
9f3eb8ee04ead554f47e1b29bb1aeade
5ba95d3b8d7a91d8ec732a9d2ca6e9f6
448f9c4df5fec78552a77b0f90df23b1
4ccbd523b5a2b4d5dd5094e2c0e1fc67
ba940a5c999501033d431c8a798f49b5
23c8293174faf22e506047f314934278
47f372c456ec6cf265b7eec583b0293a
b0d5dd35bf489a280310e4b1428d390a
b7511cabe14906b82e3904f30b000afa
35c8069f62d7993af0ed8f550dba1f0c
e507551ed480e64d97d57609d410531f
658a7acbc87a9681d9a756dde56d2bad
f900a91795302e306f30d3f1b3608f65
232fc1f03626ecc86867bc9c6545d649
ac5c85817e46a6813c87a542fb6a556a
2365af891a5915e916d2a78866906040
ae3d03f4645f546cf3fbd86f3263bc97
57d1add6de82341393340d5fc91a5827
553e9c43ea075815cf742ebdba7beccc
0fb0e2e1170492c925d5b184be183644
eb0dbf79c7b6563768dfd81a7ef77584
d3415c9c4faf662b22938528781946cc
f401c3fbe3677ec43a60ad66e45c769f
0ca498874ddfa1c1e4c07f001da33bad
bc58c141c7253fc5ea731a38e538b9bb
3b9fa76ff726a9d8ce6e2f6df1650134
b943a8fbbc4321e1a62001fd52d2c307
83dd59f5875fba3f1757e961161e3afc
6836e8cbb0486a3d50482f7ba7b658ba
bad87c0d072109da204fdb7d005baa9d
709a6c346d053355d281f16a8e5e9f3d
2128484108d65caef20b6bf2c3524036
c12e53b74c7a392dc33a3fb35b98ce48
e63d490e40a87fab6ddb19958c455b2f
937641f9ae2e59ba9e1836fe76910ab8
a8eb3185b6cf76e7015c69e6ace7e94e
42155617df95ceec039cfbfd7e3af37f
6ffa1fb7e4c174212aaa5f00e0d9bad9
fbe863418ad15ccd9382124fda08fd63
4671a6e7c81a5fc60bc64890fe24adde
783830dca68be3d4554a09abcbda7450
2bf4f88b0ba12cfaac2e717b3644d9b2
16fa22c5de046a1425e025b3af4a1911
e4b9d27b1ee786015dad777474c23cda
c1fd4ef59f4651f45c1ccb1d1900b7e6
41d6abbf28c55f17c9f3754b833ee5b4
bd5c1da45dbdd55475421b07ef7b534d
66220436b4e127f081c5facf61669192
df30260b5c259fa470db4a1f2bfda544
ed34022b90e90957bdee097af9177595
( run in 1.626 second using v1.01-cache-2.11-cpan-39bf76dae61 )