Pages:
Author

Topic: Exposed ... Mistakes or ... (Read 584 times)

member
Activity: 873
Merit: 22
$$P2P BTC BRUTE.JOIN NOW ! https://uclck.me/SQPJk
October 17, 2022, 10:46:10 PM
#21
Any scrypt python+ GPU for substract scalar from pub, multiply pub to scalar ?
member
Activity: 330
Merit: 34
October 12, 2022, 01:10:51 PM
#20
A bit off-topic but...

SAGE seems to have represented these finite fields and curves & operations really well. It would be nice if this  functionality could be had in other languages as well - especially C-C++ where there are many applications for this kind of thing because of its raw speed, but are hard to implement because all the crypto libraries for these languages are half-arsed or incomplete (libsecp256k1 is the closest that replicates SAGE stuff but a general-purpose curve and field library would be a nice to-have).


I have used PARI/GP C library
The following is with the provided gp shell (some empty lines omitted):
Code:
gp > ellgroup(ellinit([0,7]), 2^256 - 2^32 - 977)
%1 = [115792089237316195423570985008687907852837564279074904382605163141518161494337]
gp > factor(%1[1] - 1)
%2 =
[                                2 6]
[                                3 1]
[                              149 1]
[                              631 1]
[               107361793816595537 1]
[            174723607534414371449 1]
[341948486974166000522343609283189 1]

The easiest for me was doing pari_init_opts, then (after recording avma) using gp_read_str with corresponding string (instead of interfacing each and every function), and then pari_sprintf("%Ps",...) to get the result as text (then recovering avma), and parse it to something meaningful.

Couldn't find a function returning the multiplicative order of point though.

are you trying to find magic numbers, which part i mention here before a year
https://bitcointalksearch.org/topic/m.57373246
here is full list of numbers
Code:
1
2
3
4
6
8
12
16
24
32
48
64
96
149
192
298
447
596
631
894
1192
1262
1788
1893
2384
2524
3576
3786
4768
5048
7152
7572
9536
10096
14304
15144
20192
28608
30288
40384
60576
94019
121152
188038
282057
376076
564114
752152
1128228
1504304
2256456
3008608
4512912
6017216
9025824
18051648
107361793816595537
214723587633191074
322085381449786611
429447175266382148
644170762899573222
858894350532764296
1288341525799146444
1717788701065528592
2576683051598292888
3435577402131057184
5153366103196585776
6871154804262114368
10306732206393171552
15996907278672735013
20613464412786343104
31993814557345470026
47990721836018205039
63987629114690940052
67745291898271783847
95981443672036410078
127975258229381880104
135490583796543567694
174723607534414371449
191962887344072820156
203235875694815351541
255950516458763760208
270981167593087135388
349447215068828742898
383925774688145640312
406471751389630703082
511901032917527520416
524170822603243114347
541962335186174270776
698894430137657485796
767851549376291280624
812943502779261406164
1023802065835055040832
1048341645206486228694
1083924670372348541552
1397788860275314971592
1535703098752582561248
1625887005558522812328
2096683290412972457388
2167849340744697083104
2795577720550629943184
3071406197505165122496
3251774011117045624656
4193366580825944914776
4335698681489394166208
5591155441101259886368
6503548022234091249312
8386733161651889829552
10094048492842495793203
11182310882202519772736
13007096044468182498624
16773466323303779659104
20188096985684991586406
26033817522627741345901
30282145478527487379609
33546932646607559318208
40376193971369983172812
52067635045255482691802
60564290957054974759218
78101452567883224037703
80752387942739966345624
104135270090510965383604
110250596354215468384319
121128581914109949518436
156202905135766448075406
161504775885479932691248
208270540181021930767208
220501192708430936768638
242257163828219899036872
312405810271532896150812
323009551770959865382496
330751789062646405152957
416541080362043861534416
441002385416861873537276
484514327656439798073744
624811620543065792301624
646019103541919730764992
661503578125292810305914
833082160724087723068832
882004770833723747074552
969028655312879596147488
1249623241086131584603248
1323007156250585620611828
1666164321448175446137664
1764009541667447494149104
1938057310625759192294976
2499246482172263169206496
2646014312501171241223656
3528019083334894988298208
4998492964344526338412992
5292028625002342482447312
7056038166669789976596416
10584057250004684964894624
16427338856778104789263531
21168114500009369929789248
32854677713556209578527062
49282016570334314367790593
65709355427112419157054124
98564033140668628735581186
131418710854224838314108248
197128066281337257471162372
262837421708449676628216496
394256132562674514942324744
525674843416899353256432992
788512265125349029884649488
1051349686833798706512865984
1577024530250698059769298976
3154049060501396119538597952
341948486974166000522343609283189
683896973948332001044687218566378
1025845460922498001567030827849567
1367793947896664002089374437132756
2051690921844996003134061655699134
2735587895793328004178748874265512
4103381843689992006268123311398268
5471175791586656008357497748531024
8206763687379984012536246622796536
10942351583173312016714995497062048
16413527374759968025072493245593072
21884703166346624033429990994124096
32827054749519936050144986491186144
50950324559150734077829197783195161
65654109499039872100289972982372288
101900649118301468155658395566390322
152850973677452202233487593349585483
203801298236602936311316791132780644
215769495280698746329598817457692259
305701947354904404466975186699170966
407602596473205872622633582265561288
431538990561397492659197634915384518
611403894709808808933950373398341932
647308485842096238988796452373076777
815205192946411745245267164531122576
863077981122794985318395269830769036
1222807789419617617867900746796683864
1294616971684192477977592904746153554
1630410385892823490490534329062245152
1726155962245589970636790539661538072
2445615578839235235735801493593367728
2589233943368384955955185809492307108
3260820771785646980981068658124490304
3452311924491179941273581079323076144
4891231157678470471471602987186735456
5178467886736769911910371618984614216
6904623848982359882547162158646152288
9782462315356940942943205974373470912
10356935773473539823820743237969228432
13809247697964719765094324317292304576
18758639927001554244874997690913623113
20713871546947079647641486475938456864
32149654796824113203110223801196146591
37517279854003108489749995381827246226
41427743093894159295282972951876913728
56275919781004662734624993072740869339
64299309593648226406220447602392293182
75034559708006216979499990763654492452
96448964390472339609330671403588439773
112551839562009325469249986145481738678
128598619187296452812440895204784586364
150069119416012433958999981527308984904
192897928780944679218661342807176879546
225103679124018650938499972290963477356
257197238374592905624881790409569172728
300138238832024867917999963054617969808
385795857561889358437322685614353759092
450207358248037301876999944581926954712
514394476749185811249763580819138345456
600276477664049735835999926109235939616
771591715123778716874645371228707518184
900414716496074603753999889163853909424
1028788953498371622499527161638276690912
1200552955328099471671999852218471879232
1543183430247557433749290742457415036368
1800829432992149207507999778327707818848
2057577906996743244999054323276553381824
2795037349123231582486374655946129843837
3086366860495114867498581484914830072736
3601658865984298415015999556655415637696
5590074698246463164972749311892259687674
6172733720990229734997162969829660145472
8385112047369694747459123967838389531511
11180149396492926329945498623784519375348
11836701793937980728516123542966496184303
16770224094739389494918247935676779063022
22360298792985852659890997247569038750696
23673403587875961457032247085932992368606
33540448189478778989836495871353558126044
35510105381813942185548370628899488552909
44720597585971705319781994495138077501392
47346807175751922914064494171865984737212
67080896378957557979672991742707116252088
71020210763627884371096741257798977105818
89441195171943410639563988990276155002784
94693614351503845828128988343731969474424
134161792757915115959345983485414232504176
142040421527255768742193482515597954211636
178882390343886821279127977980552310005568
189387228703007691656257976687463938948848
268323585515830231918691966970828465008352
284080843054511537484386965031195908423272
378774457406015383312515953374927877897696
536647171031660463837383933941656930016704
568161686109023074968773930062391816846544
757548914812030766625031906749855755795392
1136323372218046149937547860124783633693088
1763668567296759128548902407902007931461147
2272646744436092299875095720249567267386176
3527337134593518257097804815804015862922294
5291005701890277385646707223706023794383441
7054674269187036514195609631608031725844588
10582011403780554771293414447412047588766882
14109348538374073028391219263216063451689176
21164022807561109542586828894824095177533764
28218697076748146056782438526432126903378352
42328045615122219085173657789648190355067528
56437394153496292113564877052864253806756704
84656091230244438170347315579296380710135056
112874788306992584227129754105728507613513408
169312182460488876340694631158592761420270112
338624364920977752681389262317185522840540224
36712202954417214842724336778420075919000906527493
73424405908834429685448673556840151838001813054986
110136608863251644528173010335260227757002719582479
146848811817668859370897347113680303676003626109972
220273217726503289056346020670520455514005439164958
293697623635337718741794694227360607352007252219944
440546435453006578112692041341040911028010878329916
587395247270675437483589388454721214704014504439888
881092870906013156225384082682081822056021756659832
1174790494541350874967178776909442429408029008879776
1762185741812026312450768165364163644112043513319664
2349580989082701749934357553818884858816058017759552
3524371483624052624901536330728327288224087026639328
5470118240208165011565926179984591311931135072596457
7048742967248105249803072661456654576448174053278656
10940236480416330023131852359969182623862270145192914
16410354720624495034697778539953773935793405217789371
21880472960832660046263704719938365247724540290385828
23165400064237262565759056507183067904889572018848083
32820709441248990069395557079907547871586810435578742
43760945921665320092527409439876730495449080580771656
46330800128474525131518113014366135809779144037696166
59746473235060985162263246577491932178200490877270861
65641418882497980138791114159815095743173620871157484
69496200192711787697277169521549203714668716056544249
87521891843330640185054818879753460990898161161543312
92661600256949050263036226028732271619558288075392332
119492946470121970324526493154983864356400981754541722
131282837764995960277582228319630191486347241742314968
138992400385423575394554339043098407429337432113088498
175043783686661280370109637759506921981796322323086624
179239419705182955486789739732475796534601472631812583
185323200513898100526072452057464543239116576150784664
238985892940243940649052986309967728712801963509083444
262565675529991920555164456639260382972694483484629936
277984800770847150789108678086196814858674864226176996
350087567373322560740219275519013843963592644646173248
358478839410365910973579479464951593069202945263625166
370646401027796201052144904114929086478233152301569328
477971785880487881298105972619935457425603927018166888
525131351059983841110328913278520765945388966969259872
555969601541694301578217356172393629717349728452353992
716957678820731821947158958929903186138405890527250332
741292802055592402104289808229858172956466304603138656
955943571760975762596211945239870914851207854036333776
1050262702119967682220657826557041531890777933938519744
1111939203083388603156434712344787259434699456904707984
1433915357641463643894317917859806372276811781054500664
1482585604111184804208579616459716345912932609206277312
1911887143521951525192423890479741829702415708072667552
2223878406166777206312869424689574518869398913809415968
2867830715282927287788635835719612744553623562109001328
3451644609571352122298099419570277117828546230808364367
3823774287043903050384847780959483659404831416145335104
4447756812333554412625738849379149037738797827618831936
5735661430565854575577271671439225489107247124218002656
6903289219142704244596198839140554235657092461616728734
8902224512024086789177223740046297894551873140713358289
10354933828714056366894298258710831353485638692425093101
11471322861131709151154543342878450978214494248436005312
13806578438285408489192397678281108471314184923233457468
17804449024048173578354447480092595789103746281426716578
20709867657428112733788596517421662706971277384850186202
26706673536072260367531671220138893683655619422140074867
27613156876570816978384795356562216942628369846466914936
35608898048096347156708894960185191578207492562853433156
37700024611323481637388108590397409204444509743557913291
41419735314856225467577193034843325413942554769700372404
53413347072144520735063342440277787367311238844280149734
55226313753141633956769590713124433885256739692933829872
71217796096192694313417789920370383156414985125706866312
75400049222646963274776217180794818408889019487115826582
82839470629712450935154386069686650827885109539400744808
106826694144289041470126684880555574734622477688560299468
110452627506283267913539181426248867770513479385867659744
113100073833970444912164325771192227613333529230673739873
142435592192385388626835579840740766312829970251413732624
150800098445293926549552434361589636817778038974231653164
165678941259424901870308772139373301655770219078801489616
213653388288578082940253369761111149469244955377120598936
220905255012566535827078362852497735541026958771735319488
226200147667940889824328651542384455226667058461347479746
284871184384770777253671159681481532625659940502827465248
301600196890587853099104868723179273635556077948463306328
331357882518849803740617544278746603311540438157602979232
427306776577156165880506739522222298938489910754241197872
452400295335881779648657303084768910453334116922694959492
569742368769541554507342319362963065251319881005654930496
603200393781175706198209737446358547271112155896926612656
662715765037699607481235088557493206623080876315205958464
854613553154312331761013479044444597876979821508482395744
904800590671763559297314606169537820906668233845389918984
1206400787562351412396419474892717094542224311793853225312
1709227106308624663522026958088889195753959643016964791488
1809601181343527118594629212339075641813336467690779837968
2412801575124702824792838949785434189084448623587706450624
3619202362687054237189258424678151283626672935381559675936
5617303667087198763970828179969213971462231951790129080359
7238404725374108474378516849356302567253345870763119351872
11234607334174397527941656359938427942924463903580258160718
16851911001261596291912484539907641914386695855370387241077
22469214668348795055883312719876855885848927807160516321436
33703822002523192583824969079815283828773391710740774482154
44938429336697590111766625439753711771697855614321032642872
67407644005046385167649938159630567657546783421481548964308
89876858673395180223533250879507423543395711228642065285744
134815288010092770335299876319261135315093566842963097928616
179753717346790360447066501759014847086791422457284130571488
269630576020185540670599752638522270630187133685926195857232
359507434693580720894133003518029694173582844914568261142976
539261152040371081341199505277044541260374267371852391714464
1078522304080742162682399010554089082520748534743704783428928
6414488540731361226607730496888035255996436684289152125202372832747357
12828977081462722453215460993776070511992873368578304250404745665494714
19243465622194083679823191490664105767989310052867456375607118498242071
25657954162925444906430921987552141023985746737156608500809491330989428
38486931244388167359646382981328211535978620105734912751214236996484142
51315908325850889812861843975104282047971493474313217001618982661978856
76973862488776334719292765962656423071957240211469825502428473992968284
102631816651701779625723687950208564095942986948626434003237965323957712
153947724977552669438585531925312846143914480422939651004856947985936568
205263633303403559251447375900417128191885973897252868006475930647915424
307895449955105338877171063850625692287828960845879302009713895971873136
410527266606807118502894751800834256383771947794505736012951861295830848
615790899910210677754342127701251384575657921691758604019427791943746272
955758792568972822764551844036317253143469065959083666655153552079356193
1231581799820421355508684255402502769151315843383517208038855583887492544
1911517585137945645529103688072634506286938131918167333310307104158712386
2867276377706918468293655532108951759430407197877250999965460656238068579
3823035170275891291058207376145269012573876263836334666620614208317424772
4047542269201488933989477943536350246533751547786454991002697257463582267
5734552755413836936587311064217903518860814395754501999930921312476137158
7646070340551782582116414752290538025147752527672669333241228416634849544
8095084538402977867978955887072700493067503095572909982005394514927164534
11469105510827673873174622128435807037721628791509003999861842624952274316
12142626807604466801968433830609050739601254643359364973008091772390746801
15292140681103565164232829504581076050295505055345338666482456833269699088
16190169076805955735957911774145400986135006191145819964010789029854329068
22938211021655347746349244256871614075443257583018007999723685249904548632
24285253615208933603936867661218101479202509286718729946016183544781493602
30584281362207130328465659009162152100591010110690677332964913666539398176
32380338153611911471915823548290801972270012382291639928021578059708658136
45876422043310695492698488513743228150886515166036015999447370499809097264
48570507230417867207873735322436202958405018573437459892032367089562987204
61168562724414260656931318018324304201182020221381354665929827333078796352
64760676307223822943831647096581603944540024764583279856043156119417316272
91752844086621390985396977027486456301773030332072031998894740999618194528
97141014460835734415747470644872405916810037146874919784064734179125974408
129521352614447645887663294193163207889080049529166559712086312238834632544
183505688173242781970793954054972912603546060664144063997789481999236389056
194282028921671468831494941289744811833620074293749839568129468358251948816
259042705228895291775326588386326415778160099058333119424172624477669265088
388564057843342937662989882579489623667240148587499679136258936716503897632
603083798111021851164432213586916186733528980620181793659401891362073757783
777128115686685875325979765158979247334480297174999358272517873433007795264
1206167596222043702328864427173832373467057961240363587318803782724147515566
1809251394333065553493296640760748560200586941860545380978205674086221273349
2412335192444087404657728854347664746934115922480727174637607565448295031132
3618502788666131106986593281521497120401173883721090761956411348172442546698
4824670384888174809315457708695329493868231844961454349275215130896590062264
7237005577332262213973186563042994240802347767442181523912822696344885093396
9649340769776349618630915417390658987736463689922908698550430261793180124528
14474011154664524427946373126085988481604695534884363047825645392689770186792
19298681539552699237261830834781317975472927379845817397100860523586360249056
28948022309329048855892746252171976963209391069768726095651290785379540373584
38597363079105398474523661669562635950945854759691634794201721047172720498112
57896044618658097711785492504343953926418782139537452191302581570759080747168
115792089237316195423570985008687907852837564279074904382605163141518161494336
legendary
Activity: 1568
Merit: 6660
bitcoincleanup.com / bitmixlist.org
October 12, 2022, 11:01:45 AM
#19
I have used PARI/GP C library
The following is with the provided gp shell (some empty lines omitted):
Code:
gp > ellgroup(ellinit([0,7]), 2^256 - 2^32 - 977)
%1 = [115792089237316195423570985008687907852837564279074904382605163141518161494337]
gp > factor(%1[1] - 1)
%2 =
[                                2 6]
[                                3 1]
[                              149 1]
[                              631 1]
[               107361793816595537 1]
[            174723607534414371449 1]
[341948486974166000522343609283189 1]

The easiest for me was doing pari_init_opts, then (after recording avma) using gp_read_str with corresponding string (instead of interfacing each and every function), and then pari_sprintf("%Ps",...) to get the result as text (then recovering avma), and parse it to something meaningful.

Couldn't find a function returning the multiplicative order of point though.


Amazing stuff, I'll definitely check it out!
member
Activity: 330
Merit: 34
October 12, 2022, 08:11:23 AM
#18


Ok but a multiplication of what by what ?...sorry i d'ont understand
for multiplication or halve the point (50k loop)

Code:
from fastecdsa.curve import secp256k1
from fastecdsa.point import Point
from fastecdsa import keys, curve

def c2ux(point):

 p_hex = 'FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFEFFFFFC2F'
 p = int(p_hex, 16)
 compressed_key_hex = point
 x_hex = compressed_key_hex[2:66]
 x = int(x_hex, 16)
 prefix = compressed_key_hex[0:2]

 y_square = (pow(x, 3, p)  + 7) % p
 y_square_square_root = pow(y_square, (p+1) * pow(4, p - 2, p) % p , p)
 if (prefix == "02" and y_square_square_root & 1) or (prefix == "03" and not y_square_square_root & 1):
     y = (-y_square_square_root) % p
 else:
     y = y_square_square_root

 return x_hex

def c2uy(point):

 p_hex = 'FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFEFFFFFC2F'
 p = int(p_hex, 16)
 compressed_key_hex = point
 x_hex = compressed_key_hex[2:66]
 x = int(x_hex, 16)
 prefix = compressed_key_hex[0:2]

 y_square = (pow(x, 3, p)  + 7) % p
 y_square_square_root = pow(y_square, (p+1) * pow(4, p - 2, p) % p , p)
 if (prefix == "02" and y_square_square_root & 1) or (prefix == "03" and not y_square_square_root & 1):
     y = (-y_square_square_root) % p
 else:
     y = y_square_square_root

 computed_y_hex = format(y, '064x')


 return computed_y_hex


def cpub(x,y):
 prefix = '02' if y % 2 == 0 else '03'
 c = prefix+ hex(x)[2:].zfill(64)
 return c

with open('in.txt') as f:
  for line in f:
    line=line.strip()

    xs = int(c2ux(line),16)
    ys = int(c2uy(line),16)
    S = Point(xs, ys, curve=secp256k1)

    xsorg = 0x79be667ef9dcbbac55a06295ce870b07029bfcdb2dce28d959f2815b16f81798
    ysorg = 0x483ada7726a3c4655da4fbfc0e1108a8fd17b448a68554199c47d08ffb10d4b8
    Sorg = Point(xsorg, ysorg, curve=secp256k1)
    for i in range(0,50000):
      S=S*57896044618658097711785492504343953926418782139537452191302581570759080747169
      xx=S.x
      yy=S.y
      pub04=cpub(xx,yy)
      print(pub04,file=open("out.txt", "a"))
     
full member
Activity: 206
Merit: 447
October 11, 2022, 07:19:00 PM
#17
A bit off-topic but...

SAGE seems to have represented these finite fields and curves & operations really well. It would be nice if this  functionality could be had in other languages as well - especially C-C++ where there are many applications for this kind of thing because of its raw speed, but are hard to implement because all the crypto libraries for these languages are half-arsed or incomplete (libsecp256k1 is the closest that replicates SAGE stuff but a general-purpose curve and field library would be a nice to-have).


I have used PARI/GP C library
The following is with the provided gp shell (some empty lines omitted):
Code:
gp > ellgroup(ellinit([0,7]), 2^256 - 2^32 - 977)
%1 = [115792089237316195423570985008687907852837564279074904382605163141518161494337]
gp > factor(%1[1] - 1)
%2 =
[                                2 6]
[                                3 1]
[                              149 1]
[                              631 1]
[               107361793816595537 1]
[            174723607534414371449 1]
[341948486974166000522343609283189 1]

The easiest for me was doing pari_init_opts, then (after recording avma) using gp_read_str with corresponding string (instead of interfacing each and every function), and then pari_sprintf("%Ps",...) to get the result as text (then recovering avma), and parse it to something meaningful.

Couldn't find a function returning the multiplicative order of point though.
jr. member
Activity: 56
Merit: 26
October 11, 2022, 12:02:14 PM
#16


Ok but a multiplication of what by what ?...sorry i d'ont understand
member
Activity: 330
Merit: 34
October 10, 2022, 11:31:05 PM
#15
Something is wrong here because the order of the group formed by multiplication of 2 mod n is much much larger than 20 million, so you can't generate all these addresses by going 20 million steps in either direction from any of them.

Code:
sage: F = FiniteField (0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFEFFFFFC2F)
C = EllipticCurve ([F (0), F (7)])
G = C.lift_x(0x79BE667EF9DCBBAC55A06295CE870B07029BFCDB2DCE28D959F2815B16F81798)
N = FiniteField (C.order())
sage: N(2).multiplicative_order()
1809251394333065553493296640760748560200586941860545380978205674086221273349

yes , will take time aprox 7 hours for 20m generate multiplication steps
but in my first message already tip
pick 1 pubkey from 1634 list, get pubkey
example
https://blockchain.info/q/pubkeyaddr/1121f21h1wyrnm2ipXiKaCULLopeBegt2s
result: 027262bdb402fe5ddc6b1e81cef02bcd673140e6a26857503459a4891920a6a5a9
it could be your starting point,
now take 50k steps by pubkey point * 2, ( you can create script here, same time generate next pubkey and convert address and verify from 1634 list, and can print results)
same 50k steps of pubkey point * 57896044618658097711785492504343953926418782139537452191302581570759080747169
(halv the point)
and same convert and verufy address, print)

up and down side 50k +50k, take few minutes

as for 20m halve required too much time, for this i create an other thread, for discus this issue, where i ask developer, just for basic add/sub/mul conversion creator/generator by pycuda or cuda tools , when said tools available, these job are for seconds for millions point
https://bitcointalksearch.org/topic/cuda-scripts-for-point-addition-multiplication-etc-5409721




this following python script (you need to have bit and gmpy2 installed) can do the work in 2 seconds...

Code:
from bit.format import public_key_to_address,public_key_to_coords,coords_to_public_key
from bit.utils import bytes_to_hex,hex_to_bytes
import gmpy2

def point_double_gmp(point):

x1, y1 = point

m = (3 *gmpy2.powmod(x1, 2,P)) * gmpy2.invert(2 * y1,P)
x3 = gmpy2.powmod(m, 2,P) - x1 - x1
y3 = y1 + m * (x3 - x1)
result = (int(x3%P),int(-y3%P))
return result

P=0xfffffffffffffffffffffffffffffffffffffffffffffffffffffffefffffc2f

start_pubk='0398ce5d78ed1a3b121cbdbd62daecda243a43cf3f201c3599ee78a391d0190950'
start_coord=public_key_to_coords(hex_to_bytes(start_pubk))


pt=start_coord
for m in range(1,50001):
pt=point_double_gmp(pt)
x,y=pt
mulmod="2^%d mod P "%m
pubk=coords_to_public_key(x,y,compressed=True)
add=public_key_to_address(pubk)

print("pubk * %s ==> pubk:%s add:%s"%(mulmod,bytes_to_hex(pubk),add))

script about double point, could you post multiplication point script too ?
jr. member
Activity: 56
Merit: 26
October 10, 2022, 03:19:16 PM
#14
Something is wrong here because the order of the group formed by multiplication of 2 mod n is much much larger than 20 million, so you can't generate all these addresses by going 20 million steps in either direction from any of them.

Code:
sage: F = FiniteField (0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFEFFFFFC2F)
C = EllipticCurve ([F (0), F (7)])
G = C.lift_x(0x79BE667EF9DCBBAC55A06295CE870B07029BFCDB2DCE28D959F2815B16F81798)
N = FiniteField (C.order())
sage: N(2).multiplicative_order()
1809251394333065553493296640760748560200586941860545380978205674086221273349

yes , will take time aprox 7 hours for 20m generate multiplication steps
but in my first message already tip
pick 1 pubkey from 1634 list, get pubkey
example
https://blockchain.info/q/pubkeyaddr/1121f21h1wyrnm2ipXiKaCULLopeBegt2s
result: 027262bdb402fe5ddc6b1e81cef02bcd673140e6a26857503459a4891920a6a5a9
it could be your starting point,
now take 50k steps by pubkey point * 2, ( you can create script here, same time generate next pubkey and convert address and verify from 1634 list, and can print results)
same 50k steps of pubkey point * 57896044618658097711785492504343953926418782139537452191302581570759080747169
(halv the point)
and same convert and verufy address, print)

up and down side 50k +50k, take few minutes

as for 20m halve required too much time, for this i create an other thread, for discus this issue, where i ask developer, just for basic add/sub/mul conversion creator/generator by pycuda or cuda tools , when said tools available, these job are for seconds for millions point
https://bitcointalksearch.org/topic/cuda-scripts-for-point-addition-multiplication-etc-5409721




this following python script (you need to have bit and gmpy2 installed) can do the work in 2 seconds...

Code:
from bit.format import public_key_to_address,public_key_to_coords,coords_to_public_key
from bit.utils import bytes_to_hex,hex_to_bytes
import gmpy2

def point_double_gmp(point):

x1, y1 = point

m = (3 *gmpy2.powmod(x1, 2,P)) * gmpy2.invert(2 * y1,P)
x3 = gmpy2.powmod(m, 2,P) - x1 - x1
y3 = y1 + m * (x3 - x1)
result = (int(x3%P),int(-y3%P))
return result

P=0xfffffffffffffffffffffffffffffffffffffffffffffffffffffffefffffc2f

start_pubk='0398ce5d78ed1a3b121cbdbd62daecda243a43cf3f201c3599ee78a391d0190950'
start_coord=public_key_to_coords(hex_to_bytes(start_pubk))


pt=start_coord
for m in range(1,50001):
pt=point_double_gmp(pt)
x,y=pt
mulmod="2^%d mod P "%m
pubk=coords_to_public_key(x,y,compressed=True)
add=public_key_to_address(pubk)

print("pubk * %s ==> pubk:%s add:%s"%(mulmod,bytes_to_hex(pubk),add))
legendary
Activity: 1568
Merit: 6660
bitcoincleanup.com / bitmixlist.org
October 10, 2022, 09:52:32 AM
#13
A bit off-topic but...

SAGE seems to have represented these finite fields and curves & operations really well. It would be nice if this  functionality could be had in other languages as well - especially C-C++ where there are many applications for this kind of thing because of its raw speed, but are hard to implement because all the crypto libraries for these languages are half-arsed or incomplete (libsecp256k1 is the closest that replicates SAGE stuff but a general-purpose curve and field library would be a nice to-have).
staff
Activity: 4284
Merit: 8808
October 10, 2022, 09:43:37 AM
#12
pick pubkey of any address,
pubkey point * 2, and loop it to till 50000 pubkey generate, convert to address, you will get all these 1634 addresses,
same you can halve till 50000 pubkey too,

What am I failing to understand here, then? Because to me this clearly appears to saying that you can "pick any of the pubkeys" and double it to generate all 1634 addresses.    Or, alternatively, you can do the same by repeated halving.

Because the order is ~2^250, that isn't possible.  

Now, if it said that you could start at the first (in sequence rather than sorted order) and double to generate the reset or the last and halve to generate the reset-- sure, that is plausible.
member
Activity: 330
Merit: 34
October 10, 2022, 07:37:02 AM
#11
You can't do 1809251394333065553493296640760748560200586941860545380978205674086221273349 operations in several hours either.

I don't have any reason to doubt that you've listed a number of points related by doubling, but the claim that you were able to wrap around and enumerate all of them from any starting position and then moving in one direction (either doubling or halving) can't be true, AFAICT.

He doesn't talking about mapping all points, which can be generated by doubling/halving.
As I understand it, he found a sequence of keys that are generated in this way and leads to the used addresses.
It looks like a manual generation of something like HD wallet with bad realisation. Something like if you take first address key ("master key") and derive other wallet addresses just by doubling "master key" N times. It is obvious that such an algorithm, unlike a normal HD wallet, allows you to recover the keys to all addresses, if you know any one of them.


Agree
member
Activity: 110
Merit: 61
October 10, 2022, 03:59:13 AM
#10
You can't do 1809251394333065553493296640760748560200586941860545380978205674086221273349 operations in several hours either.

I don't have any reason to doubt that you've listed a number of points related by doubling, but the claim that you were able to wrap around and enumerate all of them from any starting position and then moving in one direction (either doubling or halving) can't be true, AFAICT.

He doesn't talking about mapping all points, which can be generated by doubling/halving.
As I understand it, he found a sequence of keys that are generated in this way and leads to the used addresses.
It looks like a manual generation of something like HD wallet with bad realisation. Something like if you take first address key ("master key") and derive other wallet addresses just by doubling "master key" N times. It is obvious that such an algorithm, unlike a normal HD wallet, allows you to recover the keys to all addresses, if you know any one of them.

staff
Activity: 4284
Merit: 8808
October 10, 2022, 03:17:57 AM
#9
You can't do 1809251394333065553493296640760748560200586941860545380978205674086221273349 operations in several hours either.

I don't have any reason to doubt that you've listed a number of points related by doubling, but the claim that you were able to wrap around and enumerate all of them from any starting position and then moving in one direction (either doubling or halving) can't be true, AFAICT.

member
Activity: 110
Merit: 61
October 10, 2022, 12:33:06 AM
#8
as for 20m halve required too much time, for this i create an other thread, for discus this issue, where i ask developer, just for basic add/sub/mul conversion creator/generator by pycuda or cuda tools , when said tools available, these job are for seconds for millions point
https://bitcointalksearch.org/topic/cuda-scripts-for-point-addition-multiplication-etc-5409721

If you need 50k keys by sequential halving the original, why use expensive division on each step, you just can take "last" key (original / 2^50000), and then generate all keys by fast doubling.
member
Activity: 330
Merit: 34
October 09, 2022, 11:05:58 PM
#7
Something is wrong here because the order of the group formed by multiplication of 2 mod n is much much larger than 20 million, so you can't generate all these addresses by going 20 million steps in either direction from any of them.

Code:
sage: F = FiniteField (0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFEFFFFFC2F)
C = EllipticCurve ([F (0), F (7)])
G = C.lift_x(0x79BE667EF9DCBBAC55A06295CE870B07029BFCDB2DCE28D959F2815B16F81798)
N = FiniteField (C.order())
sage: N(2).multiplicative_order()
1809251394333065553493296640760748560200586941860545380978205674086221273349

yes , will take time aprox 7 hours for 20m generate multiplication steps
but in my first message already tip
pick 1 pubkey from 1634 list, get pubkey
example
https://blockchain.info/q/pubkeyaddr/1121f21h1wyrnm2ipXiKaCULLopeBegt2s
result: 027262bdb402fe5ddc6b1e81cef02bcd673140e6a26857503459a4891920a6a5a9
it could be your starting point,
now take 50k steps by pubkey point * 2, ( you can create script here, same time generate next pubkey and convert address and verify from 1634 list, and can print results)
same 50k steps of pubkey point * 57896044618658097711785492504343953926418782139537452191302581570759080747169
(halv the point)
and same convert and verufy address, print)

up and down side 50k +50k, take few minutes

as for 20m halve required too much time, for this i create an other thread, for discus this issue, where i ask developer, just for basic add/sub/mul conversion creator/generator by pycuda or cuda tools , when said tools available, these job are for seconds for millions point
https://bitcointalksearch.org/topic/cuda-scripts-for-point-addition-multiplication-etc-5409721
staff
Activity: 4284
Merit: 8808
October 09, 2022, 08:23:45 PM
#6
Something is wrong here because the order of the group formed by multiplication of 2 mod n is much much larger than 20 million, so you can't generate all these addresses by going 20 million steps in either direction from any of them.

Code:
sage: F = FiniteField (0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFEFFFFFC2F)
C = EllipticCurve ([F (0), F (7)])
G = C.lift_x(0x79BE667EF9DCBBAC55A06295CE870B07029BFCDB2DCE28D959F2815B16F81798)
N = FiniteField (C.order())
sage: N(2).multiplicative_order()
1809251394333065553493296640760748560200586941860545380978205674086221273349
member
Activity: 330
Merit: 34
October 08, 2022, 07:19:28 AM
#5
connection exist here too  26 dec 2020

https://bitcointalksearch.org/topic/--5303856
legendary
Activity: 2534
Merit: 6080
Self-proclaimed Genius
October 07, 2022, 06:11:49 AM
#4
I'm not sure I understand where's the problem (as in 2022);
I think he's presuming that there could be a centralized service or exchange that have a broken implementation of HD wallet which produces the child keys in series instead of the standard implementation.

In fact, all of the addresses he presented belong to a single wallet according to walletexplorer: walletexplorer.com/wallet/00113e9c26df0947/addresses
Having a total of 6,023 linked addresses suggests that it's indeed an exchange or service provider.
legendary
Activity: 3668
Merit: 6382
Looking for campaign manager? Contact icopress!
October 07, 2022, 05:36:46 AM
#3
if any one address prv key exposed, in series all addresses balances could be in high risk

I'm not sure I understand where's the problem (as in 2022); similarly with any modern HD wallet, it would be utterly stupid to an user to expose any of his private keys.
Did you manage to get private keys? I guess not. It is written everywhere nowadays that people should avoid brain wallets since they're unsafe. I think that all brain wallets got emptied years ago (the few addresses from your list I've checked were also emptied years ago).
member
Activity: 330
Merit: 34
October 07, 2022, 05:20:00 AM
#2
Code:
1FC5Y4y7j9YJoeWvxK2p7mfve43YNFqzCS
1FcEi7F6VSrJr8WF566VA6HWP4VJLFjJaD
1FCWNedrk4vZTzqkKkahqHvnvFWr1Qw8vD
1FDePYFo7z4TLjESdiXmX9n1bKLdsJeZQg
1FdMf2QJx3do4U7mX2TqZ91bighmRcqn3S
1FdqRW8RXEAWCrLMZVcCDU3s5eVbvPPaiA
1Fehrh3rBLG87DqsJgDvMR4vrMzjYgsBJx
1FemCkkRWA2tmdZpGGMAxmB1ST2YxhGBEH
1FeQUSjCgBTJvZV9MuHdYxKLK65Y8GooeQ
1FESdQJwTy4Ve2iiadyHWBJomZp3QZH1Hm
1FFr1j74tiyrqD5mbW3styyrnC3c3ue4KN
1FG1YStGnBRc9y11Zb6MnA49TbpFht1DbZ
1Fg4pKoK3HC1abEkacZyLSruLZc1tp6EZR
1FGJLbWGqdv5UJApxhwWAUxP7VTcG51KPh
1FgmYX3cJ15ZYjpGHjyGQSAeDgqjV5oDJ3
1FgTAuErPmBs6nC7D4JStnRFR3WXN653FQ
1FgzkE1Yx1imJzb8UVxrajvqvmyuMAtX3f
1Fh437TXVycgP6Y8yCSu9dRwuutrWXxcYf
1FHmpbSi6hs4TTU4ejim256Q6BWf1avy4X
1FHuQkF1Bnk5wArTMn2SizBGK62qiwqYg1
1FiqrF5tZg6uJzBAt8By2xZn2Lbqo4BYXu
1Fjnq6opsugrZcNT4KXwfVaXtkcNMxEt5w
1Fjyhr23anEeNdTxd2qmMQn7KPLqjWPhq
1Fk3hBf4yrC2d2YkiMCuAaV6sB6YvZuRoT
1FkChoRsfTQRuZidumamS4C4z9syk5Fn6n
1FkkfckWiLC4bk5m98gtenzYskmYXMoPtf
1FkME4jMenXPc6rZ8RFMjwdxJ1UnoZgUqb
1FKmgg66BPYLA6DRS9si4vZ1XiG6NjHMdq
1FLPjtR2reT1C6Zzmv6JDZgiqKKEJTqZXv
1FLYbyfisxuis8LwaFtR5YfdjsVbBqFmHF
1FmvWKpjrNX6Eiwgm6gEBstLcFf9DcRjVW
1FnQXYkeeG2hBS48tMdZgQFinc8uwidpMu
1FnTsv9WMhRRFFcBBWMT8tJYiT9VHxUPmp
1FoMuMyTCfakJGwhoQ5P8j3Tt8mDspNMBU
1FPCEGD822LgtmpqX8NYnQU865d1Y5gf48
1FPpLXU3D9QcEQ3nFcxyRHteuoerG64Yz5
1Fq4wpGS5n75qaqBn7Hecnc8tKaiZaxdhZ
1FSDGNYHaCf5Hj9FRsywJTKmkE2ihE4wFf
1FsUnz9P4CvAccvreHs8wQuknahsF2jtWE
1FTe9RkkRDMtNvFQ2nnd2Mh6DAp7JPZ3JD
1FU3d9rRjXD5abPhTajfNX4rfyVEKqPqQ9
1FULEBfaWwywpn4Zvhz3Y9e37uWJptbbM1
1FuxNbAwp9rq4CEhDUzNRiJrUupBPAPZuK
1FUy3rs2v13V6BBWyNdUuN5XUSKSjqMjAy
1FuzebmQahE2wuSqbbghc4itxzkaZTwTDw
1FV4EYRtKi73MALrYwASWu2YmVMMHEDktJ
1FVfM2mbiVh5sevWP7VVZZeC1AHggKhnpt
1FvuaJX35xegLM7YTreMpZi3Yte8TF32ct
1FvvvJFLyKSUYyUAGTJGQuxxqFzpCVzskY
1FW1VxXeNjHkRnoBAuUdFqFCZyUGatBjqY
1FW2TrdKbiporjAtNLejBeZ3Li8pzCLc6t
1FWQk3qgZQpEjD2H9zSSXMknXpqKgabbaS
1FWy11cxtNiWMBd6rTiF5NmBtkXmWaTSfp
1FxvMZqjLjdBs3mNoExswpuynkxQqb7UXw
1FxxkW7J6Pq5HrNPTpZ2VtdECmcpcD64Cg
1FY8JePeuGrjFM3gaJ5x1hwXV4WShZMJ6G
1Fy9R53RiU3MSw1SaYMsLyiB4SV9QwXtK
1FYMxmAdnPZrz1M7DT6r8gugcVzjkeVkF6
1FZNNw2n9jrJL3nZby9GQTrqorUVKWbbDu
1g1x9Qs72CehC21u3wyY3s2abdPAM9TmV
1G4bRBYKtSzbXZvXzzSJA4BKeesP6jj5G4
1G5B7CTdDLeia1EVC5AddSo2CYWAjggCBK
1G5XMksCrVsf2NaVgEurqMfX6imCMKizgs
1G6ywdCL8b7J7CRjKpJvtEeB44ZrAW32pf
1G7HkuHWwnoecmxk4Yh8oDgmxemdggNa3W
1GAWWfsGDgRvEJQVjrUjMUf8R9Jwk4xSxn
1GAWykYGhb9SRgVQN2n7iibfprja1WPxtJ
1Gb34W79JzzMsbFBnti3RV1JFWLtvgkatG
1GBfr3CS4bEATyzofS4fsUWJXouAkpHXKU
1Gbm9jGeE2owpjTar9cSCVT7AEyY1X1pJ5
1GbvUFTuDrfxPC968gmXnXHzng38AfzPNV
1GcjzMWSwoW8435SR2uB5SCfF4sncF3p4p
1GcYkVXJuXpigWRv27P8E1RpemGJnj9Xut
1GDbmHF5RJDsVxMRuqndbUp9HMfEHkBC7G
1GDiDfqXnqJjtuCEKDYFPUNd3iHgdUYkJR
1GDoyWU3iC5kSYTgENaTuFYMYZMRrZdG7C
1Gduqa8AgzcHk7rT2S37S2JQatZgxqJeDR
1Genrcb5d6si4cHgYVEXM4fqEXvMVBe6w3
1Gg1HCuPKxB1YqogYyBkw4cqaaHy25QNfb
1Gg3TD8RmQfft9HmeBsi4r88kS4hxvWem
1GGitMXQSi4U8ZDmErbPUZaEoBWPfrtUaK
1GgwTS4X21Cyy215cXag2568LmyKeAezu8
1GiCHfnoqbdwPwDXACFcwLMG3NRFFaUdu5
1Gks6Gogd9p1zQ8GbrdiRGEinyactj99ya
1GKxPTHVmHHt7GMnvB7ERvkuXUCLBdwQsG
1Gmxe4Ugh4eTZehdS8Ueu4r4dQmsAjU3L2
1GndssCjkuo6PHFebAwtnWSHbKaZCYkRmx
1Go31ekS1QA9GRekzw4jk8JngjKcYve6uo
1GoCDTkSvyfEXEFgwC4PpKgXU3WfEt49Co
1GoPv2JwHmzmsfG2J6JUkDwVAumkRu8t4q
1GpPgxwNhibjd7i3WoZuPKofKKBNh5ymzH
1GPWknKw1yXA67ujMBLUF4wpTHszQmhH1m
1Gqfx9rpDFWPGx7myt9acXwdeDb2WoKSQa
1GQRmiwcZcE49bdJmpMS4EoLQs4Nu7PxSs
1GqtQB4yq3JSWj1J6dX7xPf1w7pEFEFgrf
1GREfjCJzk5KTrPvkhSH43qMuvXPEM3oAu
1GrVqptkp6AHPT8Se7XQYZNBuZpAJKwXi7
1GsuKYDRPawQyT3x1i83sNLyDQ9i983g2T
1GsWS6v32EgUVonwgDP89imbKPz8Wj1J2V
1Gsyj49DJrhmjfUyzgzcMhhAGCFcC1WQgH
1GtfmThuTeQSkgLRv9HNEERSG9RLfsQ1Rx
1GToS5FomS9tAhuji1pzXoQ7iPQGCZfRYZ
1GTrut4jNu3Xukh3eJaxuwWkoBKvC959M4
1GUEuwXXvoLYYABXhSaxJVHdC8tBXLZs1b
1GujQMyRb8u4tkdSmKsCPuhpBmUtwFsi3B
1GUoZzeVKK5Go6BfbChPEoqFYsaCJUkfYn
1GuYp2BEYEy2pNQmS8tQvmi9gVSEMb5P8R
1Gw4q8ec4b5Hn7aABKGeAqy8bbuTu9ia2P
1GWJdVaq8K3NLELsqN3HYuJ1puzVhmvCm8
1Gx2CHsjEChaGYdRHbq28DuSm2ZyatKtqv
1Gx5wiXJXxrq8nDdV3te7HM1KShzaJtCwV
1GX98MTM4riwSGiSTP5mVo3HVkHZdCp8ZR
1GXG9WFmc7SPGki4XULiaH44eB1gUwUG8i
1GyEa6rvhtxcdecfDYeihYEBG2wYpSY9ha
1GyQtXHKKsu8jJmtx4QcYeoHWCdiQtw6F3
1Gzm1QkcPTC3HV7VhwAMnYzuyLAknr4Mor
1GZndWiACaEhA3gFLv2bEHnMa5ibZ2GUQ5
1GztsKN21583QuJEy8xZPtpJQKpL9Dpm4Z
1H2D7YAGu1FLF6f6eqEGLN2ZKQzEFbcgXR
1H3SJdEMpSubqx13sgsCK6VrxpfYZ9HDuA
1H3UBsii5yQHPmKsQvd3BEWBQkdENsDiAV
1H4BdQEHgLrfkdqxv1PHQzobLib7UNf6vZ
1H4txMWQEgpjxpX9YLKcZAN5zoP1jdRfq7
1H5DrpxMUUEBbpHV6uZUffjEH8TGH9phc6
1H5zdzrsUVacPXitDREZEsKHiiQWDL9SfG
1H6YH5mRDbHz6S6n4LZrKqSGiAmeYz54CG
1H7tgQXicWiCbqjPxoEv5z6zQxytD4goJ4
1H8omYnHKiL28ofCYmYz5yQBGbNZien8jt
1H8WMXG1fuvMSnWEFnMCzJSo1gF4szHtZk
1HaFHd5T3Ly5DNt7YJMpzzEHrGY9agf9MN
1HCTca5B6nJwXMVV9rQmdz7P8eaXwcM866
1HdeLCCVkpE58wZCtmeMWMvyZxxccaTpaq
1HdhQeoEAvmSZwbLE4b1PjhNbzB2mjwCFZ
1HEahT341aj1Xwd4tKKDbHvjD6fkxWU4v9
1Hecx4n1pxAbofbtFgpFu1nSvrq3KeSy2n
1HeHcC7a1V9bJ4MQpZbs8EuddGkKizYHRc
1HewJx3XeSWGDqvzqMRPAD9ne3GNz4zvbZ
1Hf1oBvsT9GSooPVnSTQs33giQnwaUxhTa
1HF66GC7ngqfw2RgrxZBVXuGrt7VnFmnh3
1HFZm9KvoSjFXs9VfB6ZyZzDhjjp8Np6wP
1Hgbmk7SvsWN34YxGbwyZxrpmfVrvQVx8S
1HH1qhFiQxHA2iT7HNUcJvvPPDr1euBdeU
1Hi3UaubATb1aKLZXBbEoStAwx526aZszz
1hijMYxXAKpovTvNggFXQ3zRtjW1KjCff
1His1QW8tAqct3UxCNefKgoRHBVNfZCg7m
1HJ1gtWgn8UUfMqP6pkU6PwmCcwHq9xy5x
1HjS5eAY6KYY9tepUhh9TQdKBVnepGnPxB
1HJtWGpftxUCw8KEXRfrzdvasvinZq7Vu6
1HKFhgfEYL76MMm5BZeHse8QKJYWApAbXk
1HkjV6magaQbJgo33FDUb8S3kYKbnTreHV
1HkPvfeCTqnFZrzKb7hmR4egtnbP1no2fy
1HKRFytgFQ9AaEL7zTcW1V6h66Aw1NXhpX
1HLPhj9GcHUw3FbGzeLnh9dFLo1iX923h2
1HM3n2dWfY8tW9teuAu5wNY1dL2zf6Ksrx
1HmRLH5XdqUS4xL7o8pfDt64acPt26wSbZ
1HMyH85DAnRVEaKhVKZSH6DJiyekNeDVRi
1HNGkjV94hy2TcE7gBq953fYWYNQ4Y6CQm
1HNrro2pKyacvCYBzbfDYrPczQxW8KKq4v
1Ho4zVUUnjktAfWRcfe6bTsJU9x89tNgth
1Hofn5Ldhi41nKCCYCzoQvBApTYQaE3PfT
1HoyxY6i593B6qBGFxZzzPpK6CgMcWPgBw
1Hp9r4fMuG5E5wSgx31mbaHUrNR8GdC9UD
1HpfXU8SyqKPqBFXyws5MVQQQXbixNFocM
1HQYNHueP7YFzjikddxQvEoe31LHFziN1P
1HRrzUXrevVNaQH4EsPVv1aaiKgumB7KkJ
1HRwwbmLSyS7WgeZYSHSAMpcPazhK9sq4S
1HScxkd6femVbwN6fDWa6UMV5SpSt6zZ5J
1HtEpng1mcZDtyDHCUBDH4fRVEzL9dGrk
1Hu24N6VxdgQwgdEqKQGETgkVZUUjSzKXR
1HUSkoAhu19pksDUgWjRMiyrw7ANpC22mm
1HvFtZCRUKgrj2n3QZjwMAy3y92fgZChMj
1HVLvjpHkiAQPCJQP7RJKke9d1jGrw7XJq
1HwbJzV8bcKuGN42Vrucrx4zmzyZLUvkut
1HwuFySomxpxqiQE3rzgtfW1gWv6nPGwg1
1HxAtTZa3Zj1MqASnMPLJzxiq64UcEh8Kg
1Hxhje7U8r1HtcjdEkKLC6zdaLLHZa2KeV
1Hxk7Wh32HMvWtEwTw3KQ7eWAEqoQiDbnW
1HYaJaAyXkjuBExgrqwozFREZZrZYNxGF9
1HYM7Ft8uVnGbubXk4yuyrA5ApEC1haRks
1HYwQxaLkFiSuCxkqj6weGQMEzYkdij9W7
1HzdrFMy6dH1JeUeopMAaKH13Puwan7iqV
1J2DuC59xCfD66Gx9CvBNdrkeU8Y729kL9
1J2NGfUaL8BW7dhhDbyqxfUW41vXisTtLn
1J2Rg6cJyjBhcWt4aLpDt2ADjCe4SFZKkB
1J3amEEhDn2XkyFfoBzqM8mssTY8sxZABu
1J4Ms493vYQXGkjEJTsu6gV7Vwg1rMPGm5
1J54XVw4YYXKMP2DzEQtLC9vT64D8f5Xz
1J5CULPXeWa8zxT5K3r3tPDJNCpwPBaxzi
1J5D7pWBVUS8xM35rhvEnMuDvnpagn7rRc
1J5DdUaXjoBpkjfm9a5kLejV4sxiSSDmwz
1J5fk49kiALn1f3a8y8TiiH9LyQo4Vyqbn
1J61Byxu2VnpDibd6E8wGd4YhmY7LzbGX5
1J6JwQvaz5ou3joCt3bjn5q4Zxp5AoLgS2
1J6sPopXAhY5u4XjurxCD772FL3rkSWWGL
1J7bfUScxjPmfCxRa5WM5xR6eEyFzw13WU
1J9iHDv9boC57w1PikBGfENHVKJp6Ap557
1J9qhN1n7ESoJksB7NE5ZsSDsSdMaEMj57
1J9XWsRVqFq7BZCmSwZZh8YEth7gPsQdYx
1JAmZK3jfQU45eiyKiNsFP6gSN5EprdD26
1JapyDRnvmcxvtWAciGmVDKgBpXRDyMeYj
1JATtxQcja7CLoGgxoMdgP9yGeNMQ9R7zx
1Jb44XAeWzy5auJrBHoVCrnspMv8AzBP9p
1JBdBonjB4mPATXj39j6LtG8GN6jKnVw5m
1JBgcibSXKEZGumqY6DhxqmdmAfYVm36gA
1JbXeYeNAW653NpuzDjyJxNazBZvsiC2Ge
1JcaoVvR9wdKyfef7V8MLNF4BKwUzEXuu6
1JCbmNmJ3LngBGUuJQ43bBBn2BA3fSe4Uz
1JCc7QcbnUzPfMG19FAHcekyDSzzZdxn9v
1Jce4pHkNZwnngvTP97GwQF3pDXobwT1kB
1JcfTyBcPHgMLLU9DrriQLED8h8stXHDBs
1JcVr2ugFsgjuSRPKr25kphFPyUkqx5cae
1JDqoVc1e5esz7mDkhNLiAQM2BVxf1ZQse
1JdyrpEkWmC5zzT5DnLdk3iW2ZXfjSoz3C
1JeKwy4k8Est2U3c22EMW4YzY97JvTTEo
1JeSKChF7bCmJs6R2Pi7DMF4FfrHr5YZzq
1JfNFUVkhnm7hoggKhWwohwRmpwWBWgonY
1JgA3Ka83Tfym3RQvFCnsFjUZq1YsH9Gve
1JGiHG3oAEqZyKUDuaNMdFE7wGNtEV4zLC
1JhS4skvNLBnHLBVuPJseSv78wGDJkPSD
1Jhu4Q51EvENbTD4fV7Tv3KMAQTefYe676
1JhUs8SAFMC54HfYNhJyNZVGCfV5EunUi9
1JHzYHfqTVEp9oRht8dQFo1fjf4khTyVYb
1Jig6GSxYZkKb9BiPzS88bkEp4auk5fmzp
1JJkdwgz2txzmdxqrHXU1Q6qG6MYbBbkDL
1JKcfaQWiHutR9S63pPRdZy9L8q4tdh4Yc
1JkPVjVUkHwVuXtLTsh4VvRyXYx24y7qAc
1JL9HUre4cyXxsZRDfG7gSTdi8WBDCD5EH
1JLg8jE8fZurK21u8ALdF3He2WxXkjaB3B
1JLi7YNb6Vb4cZ6MMYF8QvfFhYpQoWhNu3
1Jm14XCgRRUtjhiuMnG8qxYaQLGNezVyus
1JM1qWtsFWsvD8KazohEJqt3zX2FVpN5AC
1Jm7mK2o465XdPf7cDdHfUAUhBphndvBzR
1Jm8zg42q8ZjhK53xHakUWgAQV5DeoBMzc
1Jmu8qXJ47owodHZmutYmnc2bAD3fxk9Wu
1JMuaD8v5r3PrEnRnSEr49fjfeuAqtcDzS
1JNPn93bFtBLBjDi9pWCk7U2kqkhMx7bus
1JNQmVjSTs8xcEwuqcF7kFrPtPMRSNJmJ5
1JonRNiRjg6t3riwFPu1ag3wLYcdwVoZV8
1JPLZUtwSeToPB6mBLkSNWyTDygEgtAUp8
1JPZ5W5ZTpg1vt5dxF45FABmM3UeXrpBC2
1JqZsJVXwZFQFVWsgqJgH75sKXRsZ1RbDk
1JR2KADYBnGyKAmfgHPWu9U3hmXmySGFYB
1Jr6E5xUX72e1tuHT8reAFNfDRJBgz6xAP
1JSL26jfDqAZLt6xt1sWk49fe6ZrVwUyf
1JTiCdCDR4CTBsuCaKSLFo9uhympY3Lhfi
1JtiUEy4RAQA3c56oukxVU7QcmWBWupdd1
1Ju99kTwwp59wXM4RkHFLFdZU1yBgN9dqy
1JueeUNAxcgoqtoznnZXFUUvn2qX4ubDEs
1JvsGMFuHf7GhHJHeJ31Rg3tmZkbmZei3W
1Jw46bvzRLPm2kNN4JSsLxbGEHYgU1AaWK
1JwEVveebRCFhUoTNZdDMwt7Dp6QnKse82
1JWF4pZ5B1Ae75WxU6Ar5sBDchfRxfK6zq
1JwMjMNPqcpKzgsVmCPodHMr2JTDuYnPtu
1Jx36Dc9VNoBRu3EumWwQK7rbkhY8g4AtX
1JxddWUuFmVbCCozddskaihQd2WbZ6MTwB
1JxFo5RSbTavynewS8BjLywBd7wAKuivBZ
1JXSnwU7isTjuLXoa4wEq1RTJnGbykCM6o
1JYBrqFrfHDZSoBC3osMMqW36yuhqaAGFJ
1JYcPpGVc7WDxbyj2JNBQAFs9uetTs7h6H
1JyuVPNvKjfd91QkAdDySbGbNYBn1Czq3w
1JyycH3n9dgHEJ19xV8sCnAuUe3ZKEx3Wv
1JZ2ASG5TGwDVnxEGWRiAne2WqjpQwEumY
1JZ4hw4sgUesy5838wgZXMfAKABhKdExS6
1JZASnY43BnRD14jQACvgsj82KnDaFkub4
1JzJbG3LfBNZm8fezwa1opFQ3BgQfsXyNL
1JZjpPfBz5rgeTxfhiCxYa453zPUsSAwTK
1K2Gk6tFuhdGyDY1JYQ3w4RLSCTH5bRivs
1K2YomN3qraw6TAtUmsia9vMv8YxKXf4gf
1K3mHePoVAAFn395qpc9qYY7PzUkvUh2F2
1K3mJg6iS6m9W1Smd5hU8SDmzju738URxS
1K4MkghcvnhnwgdRuk4M2jcgKDgLM7vD6g
1K6AFByd9qCa2ZpuD5BW7NGXGnFDNFcRBE
1K6ygiecr7zNNkwmDh1hWm7JgraMLKE9aR
1K75RFFwwpuA4npxbzmEKMfNj3xXGimDsB
1K8WoAXniUjZEMvP9AtJ79mBjvVzzhEGZ3
1K96FXrDyLgFkgTi4yYpzCawN6ufr3dwPA
1K9h6o8vsk5a1Xyd2ngq3NRy7mVaFmQ2nQ
1KAC1gFM3apSo7jkbcZXCVMwC6XrDKYjBg
1KAW51qk2dkAp5mDvuJoMua4S3kXSLdJ53
1Kb3hMmmkNnPHfmAkimJNVzVMaaAjiyNGt
1KB5nemK1mmXGNmFzbvYapXzzn2BABofAg
1KbEQmTGZMxerhrcvLmo9ny4ZU1K5Caj52
1KBHKF43Tj2hLyRroYZwjcRm4ZgPrTDJwj
1Kbu3fAf4KjBiiMb2dxTYtodMDZdnLWiVa
1KcArU6EdmgtAMLNSzVZAwKo1StN1qZ7sw
1KD7Pte4Hiqnt8e8qkoiEMXaFVchWvFiTs
1KdgpopqDassDVPqu9RHn34mrVBGcm6QRV
1KDMLQQpdvAtLu4JMNgmAwSGvmZnj3iYn5
1ke1FxD2bnfGHJ8MKKsayQzrVebKG88mP
1KFq6ibzNAwDau7sL4zvFPP5iRxpEmDSNj
1KFSFww9ctEbruVbQu5WprZMEWy583y9Vg
1KG3u7dfZqDhu6Bz7bSGworLg5jePCrgFL
1Kg73VkWDdG5sTkDCCvLzgit7B6d5Zo2hW
1KGBxMsK5JvMfLdyn41qDsA9RFC3LezYKQ
1KGe4pn8xc2Suk51AXmgnBZcAP7SkfonEP
1Kgw9X8v2qGRenPDQ1fcUedXkaiNxEAnNx
1Kh9jvLpD12ncZfiJGyPkQR5t43ei18jRr
1KHEsBA4XghJyuFFE7PT5eC4kzeGpsYzJJ
1Ki33FeN1aVfzvSWVqXtnuVJQVydseGFE4
1Ki76GJ7XXC5WWt3Ej4Dr7TTPY8jNj3tpu
1KisESX9yrYUW1vmGAGE8NWBDmKKtUuZeq
1KJnmfhxFaNvHarM5HjJE5LFW9dvJEc2gG
1KJUiYrv6ZRiG8jcHKsMDUS6cLayTnEiRa
1KKCuWXrdu18gbeLPpoFwyJEoYjWbkPaLg
1KKnqhnh4xQvxLBwubB5rW6XJYz8mWtdpg
1KKrK92sUA1KcmbuRi698Kbmr1fAmBFXub
1KL3dmvEBRUEcbcn5GnsS97T7YD6geaGMg
1KMaM7Dj12RnMH9zPgyVgKHJHtFDigm1p3
1KmBaXZedeobku8van2dkTRnuUr1h29RkP
1KmNQaHfN63ioUSnyFScu6CzXXCjvKugKU
1KMYWbEEUcBfzkq3LFwTBmWcE7MSGmgrjH
1KMyxRCxeKWtpNBgTrEKsREKRrb2G7uBrP
1KNhtN3cwqZ1S4uVbfDt9867Wcxp6CvqDG
1KNiqtgSgYqc7asX26DcW4c8fppiZxaTuY
1KnL7kdvURUabdwf1kEYwfDxx6cXpfRM1u
1KoZ2r8ncBYnEdUxLtHxdLeWWcaBBfLPGt
1KpDUQ3nJrFeJHeUyS3qJfoHR6WD7cUZA2
1KPtGqHA2ZKD8iW1KxA2CRBZhhCqb52PgZ
1KpuQw5YZYjJV86uxxypfFcNdN367YUMkv
1KqeRDJyg3CcTeUSNhw54Z4GFVyodep6NC
1KQuT58D2JRa6FF5ZtmYmvsTxD8TtjKSzN
1Krsax8Tnt7BSzV66EhwTHryuvtoCKrFKc
1KRVL5WiQJjtfnLGN28bA7uPajoPcQf1sX
1KRxeE7ahWtjTqQyFK6LSzu7KHcprFfTPy
1KSiYRVMZvJwpwySrxzzxCzq7XhavGKjZm
1KtJawyVuDfMYqKrZ1YJyYQFJLpGDcoVuZ
1KtoWrbUm2rMeAoovwbeHPkH7Kiooq7oLj
1KTQjETgti8gke2mJDYajBZK1YTES1A6e8
1KU4gStkazGvC1c52H3kJ9iz2AUYJAYGse
1KU7RSnCxAWtRZd4QSTK2o8dy695D2JDuu
1KU8oaC1dc1Jq8txu7Dr9UoWRaAe9P2Lsy
1KUDf6DpBwpsNb7tyQC4TQg6LxdGPWYhEw
1KUQrkkWUKSBz3Ho6jid7dMK5dF9uhSYN5
1KviWZzphniBNfUVF5gEFioSHVjN6PHe6u
1KvrTE8ociSUEd3ssMLj8TrDYVdPrDHHQ5
1KvVQAQ9bJdjzaKNUmSWhKsErpUWaq2Yfj
1KWvqBCuERmUkCY4AmcQPCqkAfKr6tM4wb
1KwwspvnrpExktnzFiJMuHe4RBY92YzeGF
1KwXydugC2XDLdKKXBpDRdbPHJAANQtdRg
1Kx8tJBureByqZRqV9DGfK38inMMjB23bH
1KY2CaLVhMryGACHWcXe3VC247G9JRg22N
1Ky9123sodefR6Kq2btryKAkpQxoU1Y8h1
1KYbwYfrrSWutDRPfGTad53Fr2FAtGYGtQ
1KYikSSZzDipgnVZJJoVJoziV7whDQSBCB
1KzyN9bTyopamnHtiATwHu6VJNBVAU6eUC
1KzzsQpGg4vQoGPVVjE65jEK2kAJpVFuPn
1L1DwdYoVfDg4kMig8MKcaTK2mqRHCiv3x
1L1U5mpkCpCxASHCHN3JwyUK28YPKg8Wrx
1L284a7VenFCUdfdGKhgixMmvhX8bYFVBh
1L2giBYWHANdXmY9jmUAJK1JQNFpm9FCZQ
1L4pck6Rktvo5cnx1pWXqRdTeJ4pQ7KDNi
1L5dPVMwJcs332pgJ2qyXh9NtEDjzNB4VE
1L5PVtDeKN6p3D7gGNgFp24wQzoYrGVqc6
1L6FJgN1uqRbqX4SFSrK27bntHsTTH3yFg
1L6GhNHGLQGfmzKpDka3U1mtAHCuZGGBoM
1L6yHPcQjpMAPhtReAdMT3h1cU622GWtva
1L8VYq236PfFfBAboUyXdqxkHbMn88S2xw
1L9upiC5XMAKqJTLvyLtV663mmQ4bPwQJC
1LACHQZaxUoj6CKJ3g4botbg11RrJPqrWM
1LAkB2c13wDLgKthvencM73fHqbXLZiZpb
1LAWXXXB5Z4SFvoKJkkK9teSoXZVDmJrdo
1LB2DR1n98E8K46UxNv9j8Z6E1LdxnMUNT
1LBrmH5HbEZZSsN6nayF8xgnZZmkrnR8zb
1LbybGPYhBZEXku5NFSMCJ5huMsCKmN6eP
1LByYb7w1ruGwY2AvB5sBqfhN33ymN2jMc
1Lc7eSAqH7JeKVfqbHypRV6EVDZUyz3ZQs
1LcBMmpN4X5eRQx3jwTpdKhrXVgGb1yfaX
1Ld2Un5e6XFoDbQQi89TKYWbof9eEwtFsW
1LD2UPf6Ke4XVnMXnVNz8Ymr1Hv1VNfr4p
1LdHdeY3gPf3JbEAbHcY8wfMNDF6dFiWBH
1LDMDC8nK6JrgeBc4vxBgpgWEjgC44AEV2
1LdPSeiSwfxwiJRxjSnNk3m5uPvxKTJFTz
1LDQiVsVAmStU5ieMG241DvYpW32zmXULS
1LDzCNBewnEdRzBxxyrjAmB5r2eB3NN6Bg
1LEJB68y71yTepXER6KFy4r1v3PVxbJG3F
1LEsFe2ffVrD4JbCP9DKELfjj6nGuZhSko
1Lf6UPaBQiHECNYS8va7RkwyimWccRqJbE
1LfBfucBvWfXtcxPpJGR9DfUtSa91uSWdJ
1LFjXhFY3YrkPLP6i9qNYoMQ5Y2PVmhJJe
1LFvcxxTc56aiYKiQyBixrKEqgGMKEhuBK
1LG2T1YRFTFa6Q6XbQhJMbNgMBxDiUtZtN
1Lgio2EoFn2fFtZSfBeXsm2LXGq5u4qmvt
1LgsQUWNtfxnSQbNxum58aSydSXaSzXG83
1LHG96Ajr928AqQAqx3GVSNNW1fTFYdUKE
1LiA5yYb2WgqFHKBazz56E5ZAEW9JAzCxn
1LKeDDee4E2KqBpYAaz3gY4qyNLrFumFFC
1LKZrwpfQTZ8Ch43teNampgUUoWXDS1qNY
1LmAifV1pBVfZh1r8ej6Kipji6n9RzihLH
1LmFFpRBnv3fGx2sgaeQrXcqzstEyHLrSM
1LnDYUcmrHAcYeQHsE7biwRBckwrECc8gi
1LoiKWC8XxgDB1FtUsZLN8m55T8SXoifw3
1LpmcBywuEEvpUjHNMoZK3cxPB4LkaUKrr
1LQFP7e7iiYHxSpBYLpwtSzGQ2jzsgcLKc
1LQSGddcC7jdLQWC9Bn41FgZYZpv2DLSFU
1LqtinJTvvgBZWf4mK2bDLdg5EKoJZbbk8
1Lr557aHyjVYyig9oYx2cDu4QsgJS3u1fi
1LrektRCZDYN67q9TjoVE44gHj8kDcJWi5
1LrFy5J1rWhUyJDYzz5puSDCout1Kp2kmZ
1LSfsT7YG8EXay8xkZYMdunqzxhQZhNGn6
1LSVTgH4tABRK819gL89ZkdPSaYFW8iuDv
1LT8W1dsJimuC5qq3LafDkryMohEhE2RSq
1LTDVRsv98NnoavfVL8tna2GnnT78tadwd
1LTEFbXnquuEY3mVgBAYeDsC7T8xwMtwGH
1LthAS9KxXKonH7Py1YNP59aD5dY3FC5rk
1LTmLmKeL6BK96homsm7zPwgtkhojfn8gr
1LuDevvtTncrnAKbThZfSxmmGWQ4JPNj8f
1LUJ29yTzFmwuvARDcJ6dx4kuTLNucMoq
1LUmVaPQWcSom8P1fk3QYwoVB5DgAuShQu
1LvBQkkswdmvp9RJdU3n9x9SHQNDgpnXSw
1LVdUW85Zmnhfipop8vVCigMhwmJu6AxDW
1Lw5Ksv9C6Ln1EfM4Eu4hkPUEjRAYMxTay
1LWFaiJvxZ1YNuFfWtUJsdwrtTYzVN8xzW
1LWJAcUJTfeyZkgSUcaw4CwQjakNKYvAGv
1LwmyCzeQHTRnvbU5aERhiEBNL1aWKvwsL
1LXqnmH2u3kvKbHDBmJJEMw4xZPDnzcwMs
1LyECahQUFx4kRmuJUvWwjSV7qWn63XT1D
1LySNWzYHK5wyR8wZZXvC1b1dyx2PFpF9U
1Lz1NN2VdHAMxrj6vzynJsBpf7Sxew8u2W
1M1XddeqmrcWefPXxPxHAuJXFxcL64RNn
1M2dCCuJWfpwVQGFGqLMoxVMWddSrahwXh
1M42SJcyqWoLo4CQMCdV9r5sHve4FbEFuB
1M4YAFvEdqxxfgLc6cWm85QFeeXHfLQXNV
1M5bZmBwmGRxpxHgZG7FfBMT2Pz8HEVFrF
1M5UBUJ8AS9axvjmc9ERKs7hqoBHddGgyn
1M6swCijwNhnvDgJKiKCdz5ETVENnuXbFf
1M7kTYKgL4Ez4C12aVw19kUwHrbCdWWYJz
1Mb8teom7KMvL32FdaoA4NKctx1FZh4sLo
1MBKvnXSkkW4U1d1fRxRsFMrrnJh71hADb
1MBUR4SCLKFcnhtZqMXPsiDARJX7mBa2BS
1Mc3iFjXj1WCTkf5TWFMqqAc57Va4hEWUT
1McnR1RC2G2huMcJ3CDhtUdQZACREyKApY
1Md3BdcNtKiFAJ9Uxec6WkDdgyCsEdXCTa
1MdNfceuQ3ExcD7s3bsPzTLpXTMmsYHZ1
1MdpThRhCytSw7Y7jAKB1RoxH6NcjJHxeh
1MDRQ7QGWqxt5YDf1hGoB1gpZ3TRk2FsRg
1Mec8jtQV88xD4ih9MKEPmk1vvY65XN6su
1MeR5gvKh2KzMrQM9qR7BT5FGj5WHKfsbf
1MgBTXmEhR1AwQfoQ9ShFEa2sTJkyxppii
1MgWjTMP1AqLDQJMLcrSWqg18x3whtNgwN
1MhvcDAwL2bSxGw6iHuAiaQA88en8LyoTt
1MHYNsxWod84miCHfdqrdCZvda3vHhWwWB
1MiTAyoQLj6sTcmTzaEproKgEVrdnPXFHp
1MixSnmH2SPc2yzPLCujSKWKrqHGF7Lrex
1MiYZC6AYv1nDGy1T2vj5qv34wcgFmZ7uh
1MJ4SFmj8b8ef7muBZksneA2iHGNYmds9S
1MJa3bR89c8w9Ut6CfDdH2EmkK5mBYrjJB
1Mk4zjyLFUBuyQnBWnbCJwwn9RpPJjrwMK
1MLBME1YU4oBTBYaKKnkSX6JxFwCgms6zc
1MMDo11VqhCGX5R7mwJGgX4JDWmGyUUMuc
1MmwJXSW8182nMSWnWvDpP4Cqk17tkG3nM
1MnBcwe1SRTw2vyxEnEg5cZPj5XbJd67qU
1MNBeVmmLB4pcReScs5XRbe9ifp6tB6ZTj
1Moec9AzVW6ypqWa82sdsaUCuz7wpviKYH
1MPa95YECpN3gMJbxkangm2w9ibHK3VUJk
1MPhVCK6gA8YSNK7gSeoKEMWfkpvC3jh2v
1MPJf1cJ5RMEGMiqi9ZowsBvsAyAm7D7NS
1Mqj7KjULCbEwn3mQqLEyH7wKmQ7D83CTB
1MQVGYJa6unF74B9JYXkwB36ZzSfFTEXBB
1MqxkdXpWCu9nij7T9tZEPt9SvZLySemRu
1Mr5wDqACsoxN5BFhSPwonZ7xC38bryQ4v
1MRvHZxmQMUBKAqM6xipntuMeUscwTXErt
1MSehZiTckb1pjVi17diXDz8w1rJsNMW4X
1MsgTPFJRDTJQzHEDwtKJqaoR6K9Nkc4ND
1MtG3iXs7moFa3sT5aHQ2oPSqLS6AcKp4A
1MtWBow4j9jzgfYeRZuUou3fKpJ6DrDNqz
1MuSP6mqKNw7BS2qonRfceSxKtvZPRfTi1
1MuZQ8r7u59QohLcuvSxcJr5NBneof2RHU
1MvKCfhqoKiwEnAWtq2QY4Epx2xMywpHtj
1MvwgTwJ6kGuzJTZhynrJMhNJKLKwPF8sk
1Mw9tyJYkG2REqkmxprEjucab7ybD6AAza
1MwSAbBcNmnyPZjvBX8bj3ADVxWbLSZVei
1MxBrgAAKD4ydKeHDMhW1Xg3KcAfqgRwDD
1MyHTPFBMS4PG8feFKLLfTpZfxTyXagbbd
1MztfDG8nEiLmN7CJx8bYnF4bvojcEwtpt
1N2mvSVwRoP8BRZhwkieKnSojUR7YMwSM4
1N3cYJfcRk4pxUzBuuFXdjmYz3qUqfxx4j
1N6hu8Fb5p1bQDgkqwMTWkgnVXvoMYGf2Q
1N8LBEerFNtQyQAHk18Z3Bx3P6CujtocKd
1N8nM5N6LU2HE3vdc4juT9S4AnqaNxc44p
1N9125j5TWxbTHSTXSKcnkuY4jhB9GU3Wf
1N9AZYDwcmpHAAPUG6m39TweC2zNMWFWwp
1Na1Ad1ViGM8XLCUKR81d42LysN2g7iERN
1NBfFu1psDcSBdhiTJSWWFJL57aHQHaDMS
1NBkX8FBwP4uqkv9a6tCR6i8gkhS2A5oqz
1NBMhGpJoLdeYswb8g2pDbKQL5oJH67EHG
1NboDXZ5o933jDkYMLduTTeeqTjTk3f1fk
1NBpSurpDKN9bsdYkwSYF31FFNYgV5Zk4o
1NBQZer25ktqCaEJcSoeFg3XVsC4uRJDNM
1NC6mjoHu438PupHZ1aEtVZs2LQJRGEYXd
1NCpoFe5ESSNwynux4GrWTSmNw8PZ9UGHr
1ND89Qj9YT4HErnehQUmhbKKbnpYu4cd2f
1NdnAxhgcVyPsPf8UZKb5Q3LtjTZyRex3M
1NDuey5v9mH6GUdviUrzKvhHd5aTfQ1zW5
1NeEzdnAACRKjjWPgpmdzVn1ipaswcQ6z8
1NEnHtkFRgXCFnVcupS2Q4CVxT3bJnbxzM
1NEt6VRLs5jvyn3Vrcoiu9PZuFJJuZivj9
1Nfbr9BMFKR348JG3cHMhzQaJFZPK4UdsY
1NGj6NwtWaU8bD5FxiSfzucMEM4gfJFZeA
1NgrSTiFVuv2bWUBuWyGGLzGw5CSFUUWdP
1NGYC2t5WRVKcAyxwPAHJai2jzbybL317u
1NhnRVLaKicnfJYK1U2wLWM2CAwbfecwCj
1NHxCnEhgSbC26bg6By58pMaGEjNtsKBnD
1NjghG62ZgnTXAcX8DadEK2Huifq9bsnTQ
1NkER5T9DZrkwmaZ8DYRTMWq2LK3HxJGKU
1Nkg9B2i6RH7AiwTWeHaV1khLR7uqiBgno
1NKi6ZTF7VNDoVsHBqx242uK3hCphkeR3g
1NKNcsTvyedTow9PE945RuobVDsEhpP9QT
1NLNBWGhYzKusN89eiqRSZD6aALXQQteC4
1NLwJ5iLsgML9neTKwcmx5jq2GbeGyGxL9
1NMDwVyLBmXKyUpGqg7JWzBCKiTygFy1xK
1NmGZ8wywcozt6Lvf2i7bBXrPrDkU53Rpx
1NmHYFwhrezY8qhrfZ7Gr2uVdwk7hP7F1z
1NmjM29Y9kQid4XL4AP5JKgwYgB7yfS8Ds
1NN5XDpp7rgxvXkjVccbWeBANmJ5kpJDm5
1NNgjsHacsBrpptnHq5qvsoZeae9E4Bzzk
1NNgM7148Atx3Bcov7sEmkraWhVgZrBM2n
1Noib6JTFBLgUzjW6qhkammibx9svcriba
1NP7ysaDqAa8wff6ezQKoRa6aehByBhtuu
1NPdu7LzSmgHX1VE3DkWpu73iyJUA67kZh
1NpkUmXMZqQxQmp1NCQ66trxytNZHYHPhD
1NPMrz7n8RBtWrjA6xgPzGucXbnchr2qWw
1NPmZSFRShp6NV6Ej1oQ8QanhiJ99Xj6d9
1NPrN1prGK8ws6b2ZeULzjLVrhj9rbkDXD
1NQu1isQAjpEPwkZK8bpwty9KxqQQCvDHw
1NQyAvcFJZCsa8xrDEDr79HbxKQjwHs1bf
1NrGUwVBuGg3YG2tWmsKHX5bLWrbxiDJDJ
1NtbHNEBZQrQKvZ9wbVGQFwj41h6MYdbLt
1NtEZfd9WG8PLKsF1FvwGjguKfKWgieT1t
1NtLzWwmBFoect7E5fcc3ZiMfJQQaQDY7P
1NtVtfQBhMcwcY4Bgp3uAqaevN79zA38CG
1NUfno2r4UveNHDVfNLD4XxC7pXQkeMERt
1NUFzrTa8eEPb8gdCr7St9Lo635JzhLBHa
1NukKtfPoWoayHC1irsxxLrUkaQx3iEsHv
1NuuyfG9oq4Sw5Je1xvvSCFHQuDtqhzffK
1NUWeNE8W1QMsaDETZbXLsDvZYijvERTFp
1NvfqvK9wP8KSdAdgJ1jxM6M4sKjR2jX6c
1NVW1eHrh3rwe1mJt6pZCuDLCs1D2U24c8
1NVWDdesBckzDeuZ8kcdihq75yX7MHTAHk
1NVyg1XAncpn4wJhm2Ch9rzg7vDHkCxnu7
1Nw9N6eeGzFFBJqz1yeoLeFYdkcbAomLSn
1NwD9cyTc7Rjx32USiyBmWk22wBaE9GZ1a
1NwK7M5bqVgZdAAdApuygH8E2kdGbSTRGu
1nwKgaFGKmYdQiD6RHbbrdH9kvaEDzLLQ
1NWxGdTmKzPe2EW1D4au9tZBVmiuMSJor4
1NxiiRJWY3JuHVihMZRJparLnp1hreRrUt
1nXJTh4AmtJXUAjvmvS44g2aszYBK52AK
1NXTeeXZSjtu11LSy2AmhTu1v1UzTAgnVW
1NybBPJpTKJJXZFVdQbVqWtZapyfLCSUKs
1NYQ1vZQWN34ZMkbgw49m9K7DQ6ezJAv72
1NYqtppUn8BXBAAuXxscH3BfMPm3r97SPx
1NZ4qWY7c176Uk9T3wdS2potdqVqzEKzna
1NzmpJMDn7mZK8ymc5KHvw7ndbMUTaUFyM
1Nzq6Vr614R9eyQE39UhZkpA1zWHLbU4E2
1oBrTs1uQ4eSSbQSpP2FQwkjiV5i4YjuJ
1P1hr1YGheH6ArZ4rx8AAk2YAipaqMWw9f
1P1pAkHEHTXKKmyrcEAxcSsEQDXqpBkV6f
1P2toabEkoowSVr6ucJ43aLxT5R4ZBbFEA
1P3wSkb2qNMLfyQkVSN7iyQxHpfGpWy5VH
1P578c8wPxGuyhfRKGoShavKibPUUkR5Ki
1P5NTsgCevbACie5LcdigsXRSH6Qs68i1h
1P622wX1RAc78DV4kBu4TxCKF4fjCUNBvC
1P677avHGykBWDquJVQK1SWzT7SPmardgQ
1P6WtrsJjpFm6JyuntooYLVQx5hmhRJbZ3
1P99A7C7gZ1zXuAWQcAqgTqckXFKY9tAEq
1P9MbKs6qqATD3fDHt1qgQ2vDPtyyaq7tY
1PA4LQcTbdU8oaHmBPnSQfjqvFoXjCaq3r
1PauBbaAftGbjsMX6DaHLcy71UDWkFQu52
1PAvF2DmUuqnVLajrEYU8j5JM442ZE59xM
1PbdYR5sLuEWFb393vyTCk63CpsywHqLNF
1PCNjaVLrs1fmPrD42x3Zpq87Ay2ntzX33
1PCoJigQqpJoTEQY5uZqGGoHNSuk75P9oP
1PCY3ma1cXVAqWqB26pT8La7TjQsR5891u
1PD1897YRzQ551iXRpFetLy5JYbpa11opX
1PdjkQS7vKXJxXHFSRVvjENKaL3aYzaAMB
1PEPzeuJ9Eisum11PTyL9YD59hCSZPZxr2
1PFL5anKozEJ9hXQdzya1sWdHUe2Gk2Mc4
1Pfo7q5r6atfDkua3ssVnvRwFF6GbtR9QB
1PfvCddnyXeLh4Z1yjuqrqQH5SSqg8TxU4
1PfX6wUrgFY5Q8DGTduhTi8yL1bwNU3JNK
1PHDU96tMNJAsWyB7U5B8knCN5mYGdam9s
1PHPGdnVna1K1hjUWnRZt4mRx7apNi3wu5
1Pj89SWCppcgSPjcWY2qrtCuAjZ9NVGPGC
1PjJBfRdZBQNBVMRjK8e4mxKJPkm4BX8Mw
1PjkwwKQGs6A5N5vAex4J1KXqJ41ZXdPCj
1Pk5nFVFmg2Nma93utjYxQB9hb6J1F1VqY
1PkqbcBRE7RQ8jcRR7RW8AkSEpXvy7c4Gp
1PkZbhQmD373cr2v6cBqTdYj83TeXkDvtJ
1PLhQSJKCRgkTroC1ZCkt2emwYd3em6EGs
1PLSimrqgtcmCcqh7dsRWbk5wwNXCc2Frc
1PLsNo2huXQztY9jtmxpD7sChfztismUih
1Pm39rzxVT5fv2D7UrN33Jyg3npdofyVSK
1PmdQHbEwuHFTNFa15orbF6rrJWhbkBMer
1PMNd7canw5Tbv9JxJyGiQ2idYBpVMmGJw
1PmosdsieYxcT2NzvUScyF6YiA6L1yvcCq
1PoioCvTFS3kLBUiUMcLXUMG7qWygyhxY9
1PP1oEeHDCRvdQVX1LkCXLCUjZjWz1Q7cm
1Pp4FAsHfkP5X6P9iK1kHGgxdh38ZfSYLy
1PPh3nGjzg6A77p5CU7QJ64jnWS2fV3qFi
1PPuM2unu3dmEqXLcNPbEGBNB9EKo7Sits
1Ppxw3J1NYYHhSKtQ3iFs11ZQfb3km58D5
1PQ426uyYw2JPhD9T6KWrEgrx6wbN5LPYq
1PQdfWgjt7epy5imRe7w5Ad1UmXrpyt96g
1PRBVraqrCZ6pkuNyzXEmpAdaUACRUYe86
1PRKtzzzpG4qBmJxhjWLLhZ1kp3CMZxB4C
1Ps5NzxSRUTWfnNPUxNFnPpfH9vBAXVJuQ
1PsDKb7AE6Bb4g6sc64CmZ4h8EXzs6gW4f
1PSdQoPY3aRi1umpT5zQH6RYUbd3r9PMKf
1PSyox4tQ9CJYAeB2ojXiRcDmubHnCDofa
1PTSUQL2BwmALbkXRiTcX4MTFmWDaXczbu
1PTViQUvnR6o579ccShqbFtLLJbbrARd5S
1PuCcMcTN5SdkWA7qPFoXpoUryv56tsQWt
1Pudn2KtcjT5b33pEZ3sjzjiPt1TXEjzUN
1PUUWUqrP4NHiT4mxPQNbyJpsDU1XWSDo5
1PuZEgRiTiP5rjU8J1WyrktKchaTFfpkrU
1PuZN4v6zPA3oE9bKnG9gxbA7uJd8wub8P
1PV3jM1fFA5kN1dEbqLmCYob2UJNGNzhek
1PV9wAtbgWfoh9vVNkwgJ3Ed5Bn4fMmpNy
1PvkSvvhYMbT7SCTeqJFzP27XzxE8QBoNj
1PVLGf9V3gv5r112RfDxqujfPxQoMz5oDT
1PWgghxAtEp7ohp4F1jTmiQLTG5BKnNTys
1PwrB3ZwmknPXnmnafqkLUJxQ6nPuNg8Mn
1PykZFokPhjXTqUVLbzsrayFWwudtmNsHZ
1PYPws5kZe3VhTmCoj8SPxRmzQRD2Xe4YT
1PYvUMBS7YEH5VSCQnvsFRyrMzBxtVyiZv
1Pz4zqwUry9JzGUXHmUsHZSbCmCDamaf6q
1Q1ftoVqXKxSYgTNRWrLsxCizYxvqrjM2n
1Q1LuTdtBQ7QM7YZD66Up2ZB7qPBuKLMe4
1Q2LoRseD63WLRa2isVmYhz8s4Jyww2XRX
1Q2TFFB1AYygrMDkTn1pkzF1behPSjUYFh
1Q33tTdmfMyGZ4iNVnuJdGGuDzzv4VJNtX
1Q3ZgqBVCzxhEMmysu3AyBHPajcjxtaJ9B
1Q4GehasksU9nYmgqYF5qofQZLPUgeoC1S
1Q5aj2cytusjbGfafrYE17kF6eLEda5T5s
1Q5auRZi4PkHxyaQmHgrJrVyETk7ikhfFH
1Q66dQju3BfNFT4MPWP29fLfivCYG4ayCp
1Q6jKKpHU7U71A8bPtkJAKyFHscY6BjpA5
1Q6PdYiPjZP1Zic9pZMN4SQkptZ27RgJZF
1Q71Azbu2bgZ59TNYbHhm9aLwUzrXLanm7
1Q8KTb7KUC4NBB7RiNoKwmtAiyz86a8r4D
1Q98hLM3eG9gS2keBdtxV6SkyfdSG1WgJd
1QAPFXGmkGuQADURQ4ujShFdGHM6sfikKo
1QCEKaFEC2zY54J3zcjyNKYHKy8Zyk9mGS
1QEE5eXFkdhVxftt7cZefgXNuvrxLWdHz9
1QEydB97SWHxkMEqr61zPe1b1CoTEqCFjW
1QEZsq6BkvY4zRYtyLsgvoAhy7dLQnXspF
1QFQ784hwTdhtjbjBACjbYfpPHGGZYegLf
1QGekdnozM7xAB1ADwMStQh2iTBpm6Q3Cz
1QH3mdRa7P3ZED6DWvfktPXSiUtq7GXR5G
1QHocc13M9GmVj79gJmo98Q9Dc59tw5gqJ
1qiuQMceBXBJ5WhyBLLDAAh9kHXBHWnWa
1QJDQGCN3mQy22WbMdqPhuRNs6QWNZt7jG
1QKAoiXrrg66U2BWgcQW2XdSNnAcgZNfrP
1QLKgoCMyo61eqjNwbJ3sh581FzVFN6md8
1RCodGSapmgV5msNPepfrjTJGearvVaC1
1s9Fd7tFfo2MeoSyFQhuBBPDpjF77iLh8
1saS33EB9gxhs8UDCrUTWQcZ23YWP6Yon
1SxuyCJtqn91QtgD94bxXXjUhdGJcURf3
1TMJz39r9CcD9oain8rwYpu6DzM1HZb6Z
1TU8fuKFQsGRySvVJK4YbdF3krZrP637V
1TVceQyXvL8Umx4jR93jaEDcTQWsYzV6A
1uDUg5ZrTEpoY12Rwgnb8DaJrB7XZyqdX
1uVtgw8htsgNw4D9sn2iwJBxK32fGgxUV
1VrsicphfMLHaPNoQoVwwu1UEuBB6DSsA
1w2NfYF2tACtvS9FWKccepCSzjQzyRF91
1X1hXPN54jBiUhkdYFR52GA4CzvFVBU4A
1x6xxjAU5b2YRoLjJcWjD4tukweeVmATP
1X8EnoA77xUXre44tXFwnnNevfeYhtMJd
1xwTMrvQobLjsN87PbBdcTELRV8Hq7wys
1Y5C1M5Sucb9oJLpJ6MyNhRYDtpzFfyVa
1YFBGE1aA956piwVkvCmdKkmDWnzJEvkg
1ypbxfDwwz6KYxJeCeovvDHto7dpfJP5R
1YSmMYYWHNY3bDEDbWm6veoQJf78U7FHV
1ySWXWDr688a4fFRHGBmZ15a8gRcadpWc
1ZeG1Q12mcNMAyPtCiGmRLz9gKtMyDLsa
1ZirAw442wKnhZWgXw4M1f5zRRMrn19MG
1zJk882hsRqyyk8HFbT2BYYYwcuG9Bzgb
Pages:
Jump to: