-
Notifications
You must be signed in to change notification settings - Fork 1
/
init.js
208 lines (146 loc) · 42.4 KB
/
init.js
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
177
178
179
180
181
182
183
184
185
186
187
188
189
190
191
192
193
194
195
196
197
198
199
200
201
202
203
204
205
206
207
208
/*
Copyright (C) 2019 Jef Bucas
This program is free software: you can redistribute it and/or modify it under the terms of the GNU General Public License as published by the Free Software Foundation, either version 3 of the License, or (at your option) any later version.
This program is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License for more details.
You should have received a copy of the GNU General Public License along with this program. If not, see <http://www.gnu.org/licenses/>
*/
// Eternity II - Initialization of variables
// ----- Constants
var TYPE_CORNER = 1;
var TYPE_BORDER = 2;
var TYPE_CENTER = 4;
var TYPE_FIXED = 8;
var TYPE_DEFAULT = TYPE_CENTER;
var TYPE_STR = [ "None", "Corner", "Border", "Center", "Fixed" ];
var EDGE_UP = 0;
var EDGE_RIGHT = 1;
var EDGE_DOWN = 2;
var EDGE_LEFT = 3;
// ----- Puzzle real pieces hash to verify
var E2_PIECES = "aabd,aabe,aacd,aadc,abgb,abhc,abjb,abjf,abmd,aboe,abpc,abte,abtf,abve,achb,acid,ackf,acnf,acoc,acpc,acqe,acrb,acrf,acsb,acvb,adgc,adgd,adhd,adid,adof,adpc,adsd,adtc,adte,aduf,adwe,aeib,aelf,aemf,aenc,aend,aepb,aepc,aepd,aeqb,aese,aete,aeue,afgf,afhb,afhc,afjb,afoe,afqe,afqf,aftd,afub,afuf,afvc,afwd,ggji,ggko,ghhl,gigt,giiw,gikk,gimh,gisj,giwt,gllo,glor,gmki,gmpq,gmsp,gmtl,gnkp,gnnp,golu,gosl,gouv,gpni,gqii,gqmq,grin,grjk,grtr,grus,gsgv,gsjw,gsqu,gtmr,gtnp,gtnq,gtqv,gtrk,gvvl,gwqn,gwst,gwvj,gwwv,hhrp,hhru,hhun,hhwj,hiqp,hjlt,hjnt,hjqp,hjum,hkpr,hkrp,hlsn,hlsu,hmkq,hmor,hmrm,hmwu,hnlv,hour,hptw,hqkw,hsju,hskn,hssp,htrw,htvp,hukj,hunv,huql,hust,hvjs,hvrk,hwku,hwmq,hwql,hwus,iiso,ijjl,ijjm,ijjr,ijnv,ijpj,ijur,ijvv,iklq,ilir,iliw,illk,ilpr,injm,inqw,iomm,iomn,iowu,iqoo,iqor,iqwo,isou,istj,itvv,iujs,iuks,iwpm,iwqu,jklq,jkqt,jmll,jnmp,jnnv,joqt,josu,jovm,jppp,jprs,jqov,jron,jskq,jtru,jttp,juou,jvmu,jvom,kknt,klwo,kmnr,kmtt,knvo,kokv,koln,koun,kpll,kpps,kqmo,krvm,krvw,krwp,ksmw,ksnt,ksss,ktnl,kuvt,kuwo,kvrn,kvrt,kvul,kvwv,llwo,lmnw,lmtp,lomn,loup,lplu,lqtt,lrls,lrqw,lrwv,lsnp,luqr,lvmq,lwmu,lwvv,lwvw,mmrw,mmso,mmup,monp,morr,mqnt,msow,msut,mtrs,mtrv,nnns,nouq,nqoq,nqos,nqrp,nrqu,nspw,nsvp,ntov,ntqv,oppr,opst,oqws,ovuw,ppvw,pqrq,prqv,psuv,qqwt,qrtr,rtus,suvu,swuw,twvw";
var E2_PIECES_MOTIFS_ORDER_JEF = "aaie,aaiw,aaqw,aawq,aebe,aefi,aegm,aeje,aeki,aekq,aekw,aeom,aete,aeuq,aeuw,aevi,aibe,aibm,aice,aidi,aidm,aihi,aikq,aiow,aipq,aise,ambw,amce,amdi,amfe,amfm,amhm,amji,amjm,ampi,ampq,amrw,amsq,aqcq,aqfe,aqkq,aqlm,aqni,aqnm,aqpi,aqsi,aqti,aqum,aqvw,awbe,awbq,awcm,awhq,awhw,awjm,awkq,awpw,awre,awtw,awvw,bbgf,bbkd,bblo,bckt,bcsu,bdcf,bdlf,bdvt,bffr,bfsh,bfsu,bgho,bhrt,bhvh,bhvr,bjtn,bkgo,bljs,bllu,blsn,bltu,bnfn,bnhn,bnjd,bnlh,bnrp,bnso,bnto,bofu,bonh,botj,bpdg,bpdu,bpjt,brpk,brsr,bskp,bssv,bufh,bugl,bukh,ccvf,cfrt,cfuf,cggr,cgjh,cgul,chgg,chhl,cjdj,cjfu,cjkg,cjnp,cjsh,cjul,cjvt,ckkn,clfo,clgr,cljr,clsl,clus,cnhg,cnno,cnpo,cnvf,cods,coot,coov,coug,couv,crjv,crot,csdf,csjr,csod,ctgh,ctjd,ctuf,cudn,cuko,cvfr,cvvt,ddgv,ddnv,ddov,dfkp,dhrs,dhvt,djnv,djop,djpt,dkdv,dkkk,dknt,dlgf,dlhn,dogg,dovu,dpjl,dppr,drht,dsoj,dssv,dtlf,dtps,dtvj,duok,dusv,duus,dvhh,fgpj,fgpr,fgso,fhfo,fhok,fjht,fjun,fjvr,fkfn,fkpv,flrp,fngj,fnku,fpol,fpro,frgn,frvu,fskn,fuhr,fvlg,fvvh,gglk,gglv,ghpp,ghss,gjgk,gknv,glsj,gngt,gnrs,gour,groj,grsr,grss,gspu,gtjp,gtuk,gtup,gvnv,gvrv,hkuv,hnjt,hnvu,holv,hotk,hrrs,hsht,hulk,huuk,hvll,hvop,hvvr,jkoo,jltv,jpor,jppn,jprl,jrtr,jsjt,jskt,jtpr,jupp,jusp,kksr,kktl,klnr,knpl,kovr,kpln,kppn,kptt,krut,kuts,lnso,lnsr,loun,lpsn,lsnu,lsrs,ltor,lttt,lupt,nopo,nroo,tuuu";
var E2_PIECES_MOTIFS_ORDER_JBLACKWOOD = "aabf,aabr,aajr,aarj,abcb,abgb,abgn,abhf,abif,abin,abkj,ablr,abpj,abvf,afdn,afeb,afif,afln,afpb,afpj,afpr,afqf,afsb,aftj,aftr,afuf,ajef,ajhj,ajkb,ajmb,ajmn,ajon,ajpj,ajsr,ajtn,ajub,ajvb,ancn,anef,anen,angb,anhf,anir,ankb,ankj,anqb,anqn,anvj,anwr,arcj,arcr,arhn,arif,arij,arkr,arpj,arqn,arsr,arur,arwf,ccgs,ccoh,cddh,cdhm,cele,cess,chdq,chqv,chud,cics,ciev,cilm,cimo,cite,citp,ckkd,clid,clos,clpe,clup,cmgo,cmim,cmqu,cmst,cpts,cslk,csoo,cssw,csug,cswi,ctop,cttp,cucv,cueq,cugw,cvvd,cwet,cwui,cwvg,cwwv,ddgl,ddop,ddos,ddwh,dego,deii,deso,dhlt,dhqp,dikg,dkqe,dkwe,dlip,dltw,dmdu,dmew,dmwv,doit,dovq,dpdq,dpms,dqem,dsgg,dsms,dsws,dtoh,duqk,dutk,dutp,dvkt,dvle,dwho,dwlq,dwvv,dwvw,eewi,eguo,ehet,ehhs,ehms,ehut,ehvg,eigh,eigo,eklo,ekwl,elho,emep,emim,empt,eowk,epkg,epks,eqsw,eqtm,ethq,etil,evpm,evti,ewhs,ewst,ewuh,ggls,ggms,ghuq,ghvl,giip,gimq,gkkw,gkqo,glst,gmht,gpgs,gpmu,gppp,gqhq,gqku,gqlk,gqms,gsui,gtik,gtlp,gttv,gtvs,gukv,gusq,gvhl,gvlq,gvvs,hlls,hllu,hlts,hmkl,hmml,hoqw,hotv,hovo,hppm,hpui,hqmk,hqsu,hqto,hssu,htpl,hvqw,hvti,hwlu,hwqs,iiol,ikqu,iluq,imul,imvl,imwk,ioot,ioqv,iout,iovm,iqum,ivpk,ivvs,iwkp,iwvw,kkmp,kkmq,kkqt,klml,klwq,komp,kopm,kqtv,kuot,kuup,kvmo,kwoq,kwqu,llmw,llqp,lomv,lswp,ltmo,lwou,mtov,mvwo,mwpo,oppu,ousq,ouuu,ovwv,ppvw,ptuv,puqv,pwtu,quqv,qwuw,tttu";
var E2_EDGES2PIECES = [ "abeaacsbabpcafubacrfadpcaftdabtfafjbaemfaboeacvbaencafoeadofaabdendasvpnphtvuqlhlvmqpsuvhwustqqwjhhwmrmhopprvwppnspwoqwsoqnqbaeqdufaplouthjllsnhuvusuwovuwswqlhwhjummlljwvvlrnkvpgnnwvjgmtrveadtfqfaovjqjnnvnsnnuhlsmorhsujohhruunhhlqttvvitkvwvntovjtrurwhtdafwfhbajqphnouqnpmollkprqwljklqrvwkhnlvtmqniommwmsookqmrwpkokuwfackbjfapjijuoujmnlokounwuiolkvuwhqklghhqmqgmupmsrtuqpqrpjppuhsjcabhfhcaiqphunrqlktnuvtkijvvvomjqtjohustqrlupnqrtkknqtjkpjttshvjbachcrbaphkrrphhtwhptwvwvwlwmulwjsiusphslmtpqhwmkprhjnmptqvnvprqcacpbteakvrthunvhwkuvlrwlwollmnwijjmhukjtmsuwuhmrhoumkqhvkokrvmkcafvepcarsjpntkskmttrwmmoklwnhskjnthkpgnskpphvrkoknvqjskovmjmujvfafucnfajronkmnrtrsmmorrlugosgrutrkgglorplulrlslnkolsmwkmsomjgisfafgfqeaosnqnplsstoprqrtgtnqrgrtkoggoiqouksissskoiiswquioriqilirfaelepdanigpllkiogllringnjmirijjggjiqiigsouislgoijjlurijilpriwileadwdhdagimhkkgilqikngwqmtlgjistjnviiomnuvgogsgvjwgsinqwpgtniiwgdadidgdampqggmspiwpmwvgwlgvvsqugvgtqmkiggrjkgtmrgigtqwoitgiwwstgdadsdcaaqeacseaepbaegbabveabueaeteaeibaejbabmdabgcadocacidactcaddaac", "002024011057023031056013052039010025040053030001041240126129219250136251104116243247239245235045035211106112254246255135109167221203077099232034055175169233113115171102103213160206241178125060050108234226191215165195118228152229193196202017008142180210190154205121063083225253248173122006051105238200201144182170130218237183166179131015022111101120256222220161124209134110168242249020012204128133216207208139127230117119114188194059043174198186223184123107076192132187177172181058018176185231227078087095071212214189197224068049054236217244252093086062155162199137164156146038044081148070084150140061082158079138143149147036028067066145097075159141153080088089151092065029027073074163100096090094072085091064157069098032004021046042005014048047037007009026019016033003" ];
// ----- Global variables
// Set of known situations
var puzzles_urls = new Array();
// Puzzle parameters
var puzzle = undefined; // the puzzle name
var board_w = undefined; // width
var board_h = undefined; // height
var board_types = undefined; // the type for each space on the board
var board_pieces = undefined; // the piece for each space on the board
var board_edges = undefined; // the edges for each space on the board
var board_custom = undefined; // a custom text on each space
var puzzle_verified = false; // puzzle pieces are verified
var XY_TILES_PACE_SCALAR = [ [1,1], [2,1], [2,2], [4,2], [4,4], [8,4], [8,8], [16,8], [16,16] ]
// ----- SVG constants
var motifs_svg_definitions = [
// number, bg color, bg stroke, path, path color, path stroke
["00", "#9a9a9a", "#9a9a9a", null, null, null],
["01", "#f88512", "black", "m-128,-80 h 16 a64,64 30 0,0 64,64 v 32 a64,64 30 0,0 -64,64 h -16", "#80d5f8", "#9ea599"],
["02", "#155c8c", "black", "m-128,-64 a32,32 30 0,1 32,32 a32,32 30 0,1 0,64 a32,32 30 0,1 -32,32 v -32 a32,32 30 0,0 0,-64", "#fef102", "#7c8c48"],
["03", "#ec35a0", "black", "m-128,-80 h 16 a64,64 30 0,0 64,64 v 32 a64,64 30 0,0 -64,64 h -16 v -48 a32,32 30 1,0 0,-64", "#81d1f0", "#af4f8d"],
["04", "#33b441", "black", "m-128,-64 h 32 l 32,32 v 64 l -32,32 h -32 v -16 a48,48 30 1,0 0,-96", "#265e93", "#3b6c8c"],
["05", "#831b43", "black", "m-128,0 m-8,-40 a16,16 30 1,1 16,0 l 32,32 a16,16 30 1,1 0,16 l -32,32 a16,16 30 1,1 -16,0 l 8,-16 l 24,-24 l -24,-24", "#f48614", "#b76742"],
["06", "#ee3ea8", "black", "m-8,0 m-128,0 v -8 v -32 a16,16 30 1,1 16,0 v 32 h 32 a16,16 30 1,1 0,16 h -32 v 32 a16,16 30 1,1 -16,0 v -32","#f0ed24", "#d7ad60"],
["07", "#864ba3", "black", "m-128,-96 l 32,32 l -8,40 l 40,-8 l 32,32 l -32,32 l -40,-8 l 8,40 l -32,32", "#b6e8f9", "#8d8db2"],
["08", "#eded25", "black", "m-128,-32 l 32,-32 v 48 l 32,16 l -32,16 v 48 l -32,-32", "#43aee6", "#92ad65"],
["09", "#854aa3", "black", "m-128,-32 v -32 a64,64 30 0,1 0,128 v -40 l 24, 24 l 24,-24 l -24,-24 l 24,-24 l -24,-24 l -24,24", "#eced25", "#c9bb4b"],
["0a", "#32b459", "black", "m-128,0 m-8,0 v -8 v -32 a16,16 30 1,1 16,0 v 32 h 32 a16,16 30 1,1 0,16 h -32 v 32 a16,16 30 1,1 -16,0 v -32", "#ee3ea8", "#698367"],
["0b", "#ac3c6b", "black", "m-128,-32 v -32 a64,64 30 0,1 0,128 v -40 l 24, 24 l 24,-24 l -24,-24 l 24,-24 l -24,-24 l -24,24", "#2bb35a", "#76615e"],
["0c", "#2bb35a", "black", "m-128,-96 l 32,32 l -8,40 l 40,-8 l 32,32 l -32,32 l -40,-8 l 8,40 l -32,32", "#f4892a", "#778e3d"],
["0d", "#ac3c6b", "black", "m-128,-32 l 32,-32 v 48 l 32,16 l -32,16 v 48 l -32,-32", "#eced29", "#944b53"],
["0e", "#5cc9f2", "black", "m-128,-96 l 32,32 l -8,8 l 32,32 l 8,-8 l 32,32 l -32,32 l -8,-8 l -32,32 l 8,8 l -32,32", "#ee3fa8", "#8682bc"],
["0f", "#eded25", "black", "m-128,-96 l 96,96 l -96, 96 v -32 l 64,-64 l -64,-64", "#2bb356", "#cbcd2a"],
["10", "#5cc9f2", "black", "m-128,-96 l 32,32 l -8,40 l 40,-8 l 32,32 l -32,32 l -40,-8 l 8,40 l -32,32", "#ee3fa8", "#8682bc"],
["11", "#fdf103", "black", "m-128,-96 l 32,32 l -8,8 l 32,32 l 8,-8 l 32,32 l -32,32 l -8,-8 l -32,32 l 8,8 l -32,32", "#145c8c", "#8e9743"],
["12", "#f88826", "black", "m-128,-32 l 32,-32 v 48 l 32,16 l -32,16 v 48 l -32,-32", "#864ca4", "#b56844"],
["13", "#26638e", "black", "m-8,0 m-128,0 v -8 v -32 a16,16 30 1,1 16,0 v 32 h 32 a16,16 30 1,1 0,16 h -32 v 32 a16,16 30 1,1 -16,0 v -32", "#f38622", "#c1732d"],
["14", "#265e92", "black", "m-128,-96 l 96,96 l -96, 96 v -32 l 64,-64 l -64,-64", "#75cff2", "#4585ad"],
["15", "#ed3da5", "black", "m-128,-96 l 32,32 l -8,8 l 32,32 l 8,-8 l 32,32 l -32,32 l -8,-8 l -32,32 l 8,8 l -32,32", "#fdf102", "#edc524"],
["16", "#145c8c", "black", "m-128,-32 v -32 a64,64 30 0,1 0,128 v -40 l 24, 24 l 24,-24 l -24,-24 l 24,-24 l -24,-24 l -24,24", "#ec359e", "#a95397"],
//["17", "rgba(255,255,255,0.8)", "white", null, null, null ], // Conflict motif - white
//["18", "rgba(128,128,128,0.8)", "white", null, null, null ], // Conflict motif - gray
];
var motifs_svg_definitions_editor_mapping_jef = [
[ "00","00" ],
[ "01","08" ],
[ "02","10" ],
[ "03","16" ],
[ "04","04" ],
[ "05","0c" ],
[ "06","07" ],
[ "07","0f" ],
[ "08","15" ],
[ "09","03" ],
[ "0a","0b" ],
[ "0b","06" ],
[ "0c","0e" ],
[ "0d","14" ],
[ "0e","02" ],
[ "0f","0a" ],
[ "10","05" ],
[ "11","0d" ],
[ "12","13" ],
[ "13","01" ],
[ "14","09" ],
[ "15","12" ],
[ "16","11" ]
];
var motifs_svg_definitions_editor_mapping_marie = [
[ "00","00" ],
[ "01","01" ], //
[ "02","09" ],
[ "03","11" ], //
[ "04","05" ], //
[ "05","0d" ],
[ "06","02" ],
[ "07","0a" ],
[ "08","12" ], //
[ "09","06" ], //
[ "0a","0e" ], //
[ "0b","03" ],
[ "0c","0b" ],
[ "0d","13" ],
[ "0e","07" ],
[ "0f","0f" ],
[ "10","04" ], //
[ "11","0c" ],
[ "12","14" ],
[ "13","08" ],
[ "14","10" ],
[ "15","15" ],
[ "16","16" ]
];
// tr "abcdefghijklmnopqrstuvw" "atojeqlgbupkfrmhcwvsnid"
// button start/stop/found
//var button_circle = "M500,10C229.4,10,10,229.4,10,500c0,270.6,219.4,490,490,490s490-219.4,490-490C990,229.4,770.6,10,500,10L500,10z M500,920C268.4,920,80,731.6,80,500C80,268.4,268.4,80,500,80s420,188.4,420,420C920,731.6,731.6,920,500,920L500,920z";
//var button_start = "M410.4,725.2c-2.7,0-5.4-0.6-7.9-1.9c-5.9-3-9.6-9-9.6-15.6v-400c0-6.5,3.6-12.5,9.4-15.5c5.7-3,12.7-2.6,18.1,1.1l280,194.8c4.6,3.2,7.5,8.5,7.5,14.1c0.1,5.7-2.6,11-7.1,14.3l-280,205.2C417.7,724.1,414.1,725.2,410.4,725.2z";
//var button_pause = "M360,287.8c-38.7,0-70,31.3-70,70v280c0,38.7,31.3,70,70,70c38.7,0,70-31.3,70-70v-280C430,319.1,398.7,287.8,360,287.8z M640,288.9c-38.7,0-70,31.3-70,70v280c0,38.7,31.3,70,70,70c38.7,0,70-31.3,70-70v-280C710,320.2,678.7,288.9,640,288.9z";
//var button_found = "M500,141l107.4,217.7l240.2,34.9L673.8,563l41,239.2L500,689.2l-214.8,113l41-239.2L152.4,393.5l240.2-34.9L500,141z";
// List of puzzles
puzzles_urls.push("puzzle=Sample_4x4&board_w=4&board_h=4&board_edges=ajjaajojaetjaaeejoeaootottooeajteojattoootttjajtjeaaoeaeteaejaae&board_pieces=000001002003004005006007008009010011012013014015&board_types=bccbcddccddcbccb");
//puzzles_urls.push("puzzle=Sample_4x4_Jef&board_w=4&board_h=4&board_edges=addaadcdaebdaaeedceaccbcbbcceadbecdabbcccbbbdadbdeaaceaebeaedaae&board_pieces=000001002003004005006007008009010011012013014015&board_types=bccbcddccddcbccb&motifs_order=jef");
puzzles_urls.push("puzzle=Joshua_Blackwood_470&board_w=16&board_h=16&board_edges=ajraaftjabvfafpbajefarcjablrajubafpjanefajmnabpjafebabifafsbaabfruratiouvvsiptuvewstcugwlwouuicwpdlieiidmocipctoelecigoesccgbabcrifaootisddoudmdsggdlddgopddcluplmwlimemicswttpcehutotvhcwetbajvftratuttdchumstcgvvsdwvvdwvwuhewwluhedvlsmsdptemupwtvvdcepemjarprijatdoihltdtmolvwomvcwwvcieesscuhssvtihshltetehwdltdhcdeighrarcjhjaoelhtileoliiosclwcssitpcscptscicilmclshlehhslgvhcwvgppvwrafpjmbalhmmlluhimulcmimsggmpppgpmhpiovmmwpohsewhwqsvwiwvovwvqdofafqbgbamhtguqghucmqitecglstpeclhmsevlompgtlehvgqtohievtvpmedutpfafubhfatplhgiipmqgiemdqsdpmclidsgglodegtohdvohoocsovcucmgoctikgfafiflnalqpliluqghvlddwhpdqdikgdgepkewiehodwhccosugcuuouoegukwlefarwnqnapdhqutkdvkqtwedkqswegpgspuopihpudqchcueqgqkuousqgpmulswprarsncnahqvckwoqqwuwdmewwvdmgttvovmtpkivcslkepkskuupsqgumsgqwsdsrajsnhfavqwhogkqukvgeowkdesothqemklhimwklklmkqtkuikqgsuigtvsdvktjanvfdnawlqdkgqlvlqgwqklsuhqqvqulimvwkpiloektkuokdckuqkdvpuqkompnajongbaqhqgqmkhqkkmkwgkhoqwqviomokvpmkoeqtmumiqcdhmkqedukwqmpkkjajpbraaqnarkjankbajgnabqbaninabkbankjabtnajiranhnarenanwrankrarjaar&motifs_order=jblackwood");
puzzles_urls.push("puzzle=Joshua_Blackwood_230&board_w=16&board_h=16&board_edges=aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaafufatpduiwkphsewtglscsugaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaafpjadlipklmletillpgtuihpdeiivtiedoitdwhooulwgpmuemepwllmupcljarpjefaigoemsggivvsgcwvhudcicwuilmciiolhvtiledvmimeevcilimvcswirajsfifaoutigwcuvvdwwomvdegowieemuliouuutttudhltmsehcptsmsdpwplsjajpftratpctcitpdclimstcgtvsemptlhmmutehtvgtlghvehvgtplhddopltwdjaftrifacscitewslhoetgmhvvsgptuvmolteguogdsghcddvcucloscocsowetcfanefebacitewvwiohovmcdhslkcuhwlllshuhllssuhdswsuhqssehhsodetioonabiblratshlwcssohccdtohkdutwlqdsggllddgudmdwhddqethhetedkweopmkbafprcrahdqcsmsdcmimokvmuupkqilugsuiddosmwvddmewtovmtvhowvovmiovfabiruraqghusgpgiipgvpkipvwplqgvuikqoqvivpuqeclpvvdchlgvomvlocimbabcrwfahoqwppuoppgpkompwkeogqlkkwoqvcwwueqclecedkqegdikvktdimwkbajmfdnaqdpduqkdgqhqmsgqepksllqpoeklwuheqvquchqvqmkhiqumtmeqwpomjabpnenapkgekdckhqpdgimqkgtiqkugkwgkhvqwqdovqemdkwleuwqweqswousqbajunvjagukvcmqupkkmmqkktkkquotkgkqoqtvkohqtmklhlwqkqukwsqgushwqjajhjraakrarqnarkjankbajkjabtnajqbanvfabqfaflnafqnankbangnabwranjaar&motifs_order=jblackwood");
//puzzles_urls.push("puzzle=Joshua_Blackwood_227&board_w=16&board_h=16&board_edges=aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaafpbalhtpvlghaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaabpjatscpggdstlpghoelmvlovsivewhsetcwvsgtdsmshltsuhwlsehhcelebafejubacvcudwvvplswedvlltwdioothdtocvvdgttvmolttvhowomvhccolidcfaribifacwuivgcwsgpgvvsgwiwvoutitehuvpmetuvplimuhvtimiovcscidpmsrafpfufauouucimopgiisccgwwvctupwhewumepevciemimctdoiopddclupmwllfarwfsbauhssmmlhimemcilmvpkipmhpwpompuopigsumhtgodwhdhcdudchlipdraniblrashlllgvhehvgltdhkuothqsuousqoegusscetewswieecswiclospeclnaneruralwouvwdwvdmwdgldocmgslkcsgglgmsgcdhmwhddeighwkpiopmkcitpnabirkraompkdudmmiquletimptekuupgcsusoochovodesogodepctomquctmeqbajmrpjappgpdutpqilutecithqeuqghshwqoqwhvchqsswcdswstglsusqgehmsjajhjsragqmstvkqlqgvcueqqkdugepkwdmewlqdhmklwkimwlekluhlqvpumtovjaftrijamqgikugqgwcueqswdpdqpvwpmokvqvioktdvikgteowkhqtopllqoeklfanejonagkqogdikckkdsepkdkwewqukklwqimvldqemgqhqwuwqtkdulmlkkhqmnarhnvjaquqvikqukmqkpkkmwgkkukvgwoqkvqdoedkqhqpdwhvqdqchlkgqqtkkraftjraaqnarqnanqbankjabkbajvfabqfafdnafkjanpjajvbajcbabgnabkbanfaab&motifs_order=jblackwood");
puzzles_urls.push("puzzle=JBlackwood+PMcGavin_469&board_w=16&board_h=16&board_edges=adcaaendadweadhdafwdafgfaemfacqeaencafqeadofaepdaeueaeseadteaacdcnfansnnwuwshlsuwvvlgsgvmtrsqvgtntqvkkntokvkpllkulplsnhltovncacofqfangwqwwvgstgwvphtgnnprqungqmqqkwhuwokvwlwlrqwpnqrhsknvpnscadpfvcawkrvvrnkglorhuqlnvhuusuvmonpwnspouqnlkvuqmokqhwmkrphlslrdadscpcarqvpntmqopstqrqphmorulwmnkolsntkqoqnuvgoosnqwsoqphssoggkdadgcrfavmkrmupmsthuqqwtoriqwmmrorrmtrgrqrtrgtmrnlktogllsquggtnqdaftfoeaknvopgtnhhlgwushiowumnlorkmngtrktlqtmnwlkounllwougolnkpgfackelfavhnltrwhluqrsrtuwvlrlgvvmkigrwpkqlhwwokluisowquiooiqpprocaepfufanhhuwkuhqtjktpjtloupvmjoijjmpppjhhrpkprhskppuvtkitvvrvmteabvfhcahwjhuhmwjnthjronuhhrjqphjskqpgmsrusgrhouptwhtkmtvrtkmhmrbafhcsbajwgsmsowtjisoqtjhmkqpjnmkgrjmpqgsuvpoujuwovummsotlgmmtplfabtbteagiwtomniiwpmtwvwksmwnplsrilpqwoivkvwjhukvrkhsjprgwvjppvwbaepeibawilinqwiphiqvjshmlljlkillqikovjqvijvuksikgikpnigvjnnvomjeabobjfalijjwgiiisjgsksslqjkiigqisoijuhsjosuslgoirilijurnvijmqlvbaeqfjbajrijingrjminsutmjtrugigtommihjumsiujggjiimhgujvmijpjlthjeaetbdaaidadgcadidactcadrbacgbabmdabufadubafjbabhcabvbacpcabhbaceaab&board_types=bccccccccccccccbcddddddddddddddccddddddddddddddccddddddddddddddccddddddddddddddccddddddddddddddccddddddddddddddccddddddddddddddccddddddddddddddccddddddddddddddccddddddddddddddccddddddddddddddccddddddddddddddccddddddddddddddccddddddddddddddcbccccccccccccccb");
puzzles_urls.push("puzzle=JBlackwood+PMcGavin_469_a&board_w=16&board_h=16&board_edges=arjaaftrarwfarkranwrancnaflnajefaftjanefarhnafprafqfafufarifaajrjtnatuttwqwukduqwvvdcucvlimuevcitievootihovopddoqdpdutkdihvtjajhnenatcwewwvcuicwvpkicttpmeqtceleeowkqwhovwdwdmewptemkuotvptujarpnvjawomvvmtocdhmkqedtvkqquqvlhtpwtuphqetdovqelhoekwlompkdudmrarujpjamevptilehpuiemepklhmqdwltohdutioehutqvchhetewuhepkuuhccorarcjmnavlomlqpluikqeewihmsewllmhmmlimcmemimcilmtdoihcddueqcciteraninhfaotvhpcitkkdcwqukshwqltdhmoltcimoideiltwdohqtddwhqchdtopcnajofdnavktdimwkdqemumiqwvdmdcvvloscmwpoedkwwhodqsuhweqshhseppmhjafpnqnatkkqwoqkeigoipgidhqpvlghsgglpppgkkmpopmkuoppqviosivvmvlifabvnkjakwgkqklwgtikgmhtqkkmgepkguoepclumqucmkhqpiwkiolivmiolklmbankjubagwculuhwigsuheigkloepgtlocmglpecuqvphqgqwhvqlluhidcllipdnabibifacswihltsswpliwvwoulwtpdumsdpewhsvovwgkqovmokugpmcwvgppvwbafpfsbawsdstewspksevguklddgdosddesohvgevsgvqousocsoptscvgttvhlgfabhbgnadsggwcsssugcuouudegosscesuhsgqkughuqudchsmsdsgqmtvsgledvbafengbagmsgstcmglstuqilgimqcscihllskgqlusqgccgsslkcqgvlsgpgdikgfafibraasrarcjarsrajijarmbajcbablrabqnarqbangbabkjabvbajpjabkbajfaab&motifs_order=jblackwood");
puzzles_urls.push("puzzle=JBlackwood+Jef_469_a&board_w=16&board_h=16&board_edges=abraabgbangbabinajubabkjankbafdnabhfafebabifajvbabpjajkbaftjaabfrpjagtlpgmhtiqumukwqkwgkkeowdvlehotveguoiipgvpkipgppkqogtmeqbajmjhjalgvhhuqguuouwqwugimqootiliiotdoiudmdkwedkwoqppvwomwpepemjafpjonavmtoqkkmompkwkimmpkkteheiidepdlimewdewieomvwvlomwqkluikqfafinenatilekgtipmugimemkopmhqtotvkqlimvwvwiioqvvptudovqtupwkvgufabvnqnalkgqtdvkuqkdethqplhttmolkhqmmmlhwllmqplltempvpmepuopgqkubanqnkjagepkvtiekduthltdhmklokvmqedklecelhoelluhmcilmgocoeigkloenafljpjapmhpiovmusqotewskwlevovwdesociteoutiupkuiwkpoulwihpuoqwhfafqjefahhsevgehqmsgwvdmlghvvlqgsgglttvgttutkkqtkdckltwdpdutwhddfanhfufasqguemdqsggmdikghvtiquqvgcsuvcucugwcqhqgcddhwlqduhwldtohnajtfpbagsgpdswsgtvskuottehuqcueslkcuqilwhvqqpdhddopqdpdwhodovohjanvbgnagdsgwvwdvdwvosddhllsupclksepivvsvdcvdgldodegpmsdocimohccnarhnefassceweqswuhedchulpeccitpevcivsgvcptslswpehmssewhighecwvgranwftracmstqucmhssuhwqsetcwtpctctopglsttshlwicsmcmiwuichqsuvchqnancrcjasciccgscsuigqvpucwwvcsswoocssclohdqcclidmlklimulsdsmhmcdnajmjraaijarsrajifarprafwfarsbafcbablrabqnarirankrarurarsrarcrarjaar&motifs_order=jblackwood");
puzzles_urls.push("puzzle=JBlackwood+Jef_469_b&board_w=16&board_h=16&board_edges=abraabgbajkbanvjabinafebabhfajvbajhjaftjanefanenaflnabvfafpbaabfrqnagvlqktdvvgttiipgeewihvgevsivhltstwdledkweiidluqivptupuopbajunkjalwqkdwvwtupwpkuuwqukgimqiolitkuoduqkkvgumiovqtmettutikgtjabkjonaqwhovovwpmkougpmuoegmwpoomvwwllmqkkmgdikopddmhppdtohgmhtbajmngbahvlgvdwvkqedpllqedvlpgppvhlgltdhkkqtimwkdqempdhqoitdhpuijafpbgnalddgwhddetehlpgtpvwppkivlmlkdudmqvpuioqvvqdohqgqtohquuuofafunqbadpdqdlipekwlgqlkwuwqikquloekdesopkseqogkdwhogkkwhqmkuqvqfafqbpjadutpicwuwvgclimvwvwiqwhveqswshwqsehhgodehovokvmomtovvhotfanhjefatilewkpigepkmepewuhehllusgglwcughqvcdwlqvdmwmewdowkeoqkwnanqfifalmciptemplhtpeclhutelimugoeiutiovkqtlhmkmsehwplskkmpkdcknafdfpractopecithdqcclidtmolmlhmecelievcqcuemimcevtilomvmpkocitpfabirhnaoelhigheqmsgiqumousqhqsuethqvsgtuigsmemitcwemquckugqtkdubanknwraluhwhssuscesucvcswicsdswhcddgsccgpgsmevpwhseuqghgusqdchunancrsrahllsstglewstvcwwimocsdpmdosdcsoogvvsvdcvsggdgmsgsdsmhmcdnajmrcjalupcgcsuslkcwoulotiopcttscicohccvtihcmstgocmsclosswccptsjajpjraapjarsrajkrarurarijartnajirancrarifarsbafcbablrabwfartrafjaar&motifs_order=jblackwood");
puzzles_urls.push("puzzle=JBlackwood+Jef_469_c&board_w=16&board_h=16&board_edges=arjaafpranefanqnajtnabpjankbafdnabvfafpbanhfabinajkbajhjafpjaabfjefapemeewiequkwtpduppgpkivpdeiivpmepvwppuqvigsupmughppmpmkobajmflnamwlliwvwkeowdkqegqlkvquqiluqmlklwoulqviosgvvukvgpiwkkquijabknkjaloekvqdoogkqqhqgltdhutttuvptkqtvumiqiovmtvhovdwvwhoduqghbafejmnaeqtmdpdqkompqwhodltwtilepgiittvgioutvohohmmlwpomoppugtlpfabhnenatehedvlemtovhqettohqltmoikgtvmokvwomhddwmwvdoqkwpllqluhlbajungbahvlglimvootieguoheigmptegsgpodesopdddhqpvqwhkugqlimuhpuijajpbgnalddgmdudtohduuuoicwuttpcglsteceldhmcqmkhwkimgepkmdqeutkdjaftnvjadcvvueqchuteupkuwtupplhtsgglehvgmklhkmqkimempkkmqtkkkuotfafujonavwvoqklwtdvkkweduhewhsehggmsvhlgllshqdwlegodkkwgkdckoitdfabinwravwdwlekwvtieewstetcwecitmimclmcisehmwhseoelhwdmechudtgmhbabgrhnadqchkduqikgdsepkclpeiiolmocicsoohwqssdswlipdmqgiucmqmstcbafsncnacgscusqggtvspcitptscopctcluposclqoussddopmsdgocmmvlotihvfafinqbasweqqwuwvcwwicscswiccsswuhssccohucvcddhcsggdcwvgluhwhqsufafqbcbaesscugcswcugslkcidclsmsdsgqmoeigvciehqvcgvlqvsivhltsswplfarwbraasrarcrarurarkrarcjarsrajqnariranijarvbajlrabifartrafpjarraaj&motifs_order=jblackwood&seed=7337682481402309965");
puzzles_urls.push("puzzle=JBlackwood+Jef_469_d&board_w=16&board_h=16&board_edges=abraajmbajhjajpjaftjabvfajubafpjabhfankbaflnabifafebafifafqfaabfrijamwkihoqwpmkotovmvwvouwqwpomwhqtokwoqllmwihpuetehihvtqpdhbangjkbakmqkqgimkkwgvmokvlimqdwlmwvdthqeoelhmdqepdqdeewivtiedoitnajobgbaqlkgiiolwkpiompkiqumwhodvgehqkuglwqkqukwqvpuwppvkivpipgijabpbinakquiogkqpppgpmhpulimomvlptemuvptlwoukeowpemepkgekdckwvwdbajvnkjauupkkvgupmevhtgmiootvohoeguopmugoltmoeklmimegheicddhwvvdjanvjmnapkkmgdikesodgqmsousqhlluuqiluqvqtmeqklhmmlkledvldopdvqdonanqnefakwleiwvwomvwmlhmswplluhwigsuvhlgewuhhvqwkqtvvioqpdlidgldnabgfdnaltwdvhotvlghhtplpduthltdsggllstguhqsqgqhttvgopctllqplshlbafsnenawdmeosddgpgspuopuuoutkdugtiktuttqkduqtkkvsgtclosqgvlhuqgfafunhfamsehdswsggdsocmgohccdtohilettshldpmsksepggmsodegvktdqedkfajefpbaeclpwvgcdcvvmquccueqotkuewsthddwmdudeiidmocieigotecidkwejabkbcbalupcgwcuvcwwucvceleckcslscicdhmcutehioutcsoogvvschqvwqshbanqblrapgtlcsugweqsvcieesscswcsicswmstcewhsuicwovmivsivqgussccgnancrpjatscpuhssqmkhimcmsdsmchudsehhtcwehdqcclidmcilitpcupwtcttpnajtjraacrarsrarkrarcjarsrajurarhnarwranqnariranifarprafwfartrafjaar&motifs_order=jblackwood&seed=8805128131227927663");
puzzles_urls.push("puzzle=JBlackwood+Jef_469_e&board_w=16&board_h=16&board_edges=arjaaftranhfanenanqnajmnajhjafpjajefabpjabgbajvbabkjangbafdnaabfjtnatvgthlgvekwlqtvkmeqthetepemeewiequkwgqkuvquqkkmqgdikkqedbanqnkbagepkguoewqwuvioqqumitehumimeideikgqlkqoguikqmvliwomvelhonaflbifapgiiodegwhddodwhmdudwlqdmlkledvlqdpdopddkuuplipdmuliqvpufabvfebaigoeehvgdtohwdltdhcdqmkhpkkmvmokptemdoitulwopkivloekpmkobajmbinaootivmiooltmlmwlcilmkgtikkwgompkewdmvovwwkeoimwkevpmktdvjaftnefatileiolitvhowiwvluqitkduwoqkpctodhmcvqwhemdqwpomppgpdutpfafufpbalhtpllshhmklwvdmqdovdgldqmsgtovmmvlowppvdhqpoqwhgvlqtievfafibgnatlpgstglkkqtduqkoppullqpsgglvvsglghvpgsgqhqgwluhluhleqcufafqnkjapiwkgheiqsuhqguspmugqgimgmsgsdpmhltdswplqklwuotkhqtochdqfabhjpjawtupewstuhewuqghucmqitecshltpuihtttupcttlpectuvptioudclibabcjubauuousqouethqgmhtmlhmecellupcigsutvsgtihvevcivdcvosddlkcsbajkblraoscloocshccohudchssuepkspmhpsehmsodehovocimocswidsmscptsjarprifacwuicugwcvcudwvvsdswkwedhsewhwqsdwvwvcwwmstcwcssmimctpcirafpfsbaugcsgdsgckkdvguksccgesscehhsqvchvsivweqstcwescicmgoccwvgfarwbraacrarsrarkrarurarcjarsrajhnarcnaniranqnarwranijaronajvjanraaj&motifs_order=jblackwood&seed=1305989533813316938");
puzzles_urls.push("puzzle=JBlackwood+Jef_469_f&board_w=16&board_h=16&board_edges=abraankbajonankjafdnajefajhjajpjabpjafebabhfajmbabkjafpbafufaabfrifakgdiodegkweddltwekwlhqmkogkqpmugevpmhotvmwpokimwpdliuqkdbanqflnaddgleiideewitehewdmemdudkqeduikqplhttdhlpkivvmokmlhmklmlnajtnvjagttviletwoulhqtomqgiumiqeqtmklwqhdtohqpdiluqopddhoqwmpkojafpjmnatovmeklouupktpdugtlpikgttdvkwvwdtievpgiiukvgdutkqvqukqtvfafqngbavlqglmwlpkkmdckklidcgoeivqdowhvqeighiolivohotkuowoqktioofafibgbaqhqgwqshkkmqkqtkdpdqeclpddhcvledgvhllimvhpuiuoppqvioovwvfabvbgnaqkugsepkmimetdoidwhdluhwhqsuemdqhtgmmoltuuuopwtuiwvwwvcwbajvnqnaukwqpiwkmulioeguhutehllusggldsgggvvslomvutiotuttvptucttpjaftnenawuhewqwulkgqgepkthqeltshglstghvlvgehmsggivvstihvtpcitempfanenhfahsehwplsgppppmhpqucmsqgusweqvdmwesodgqmsvchqhdqccvvdmiovnabiftraewstlqdwpllqhmklcmimgocmelhomcilohccmcdhhudcqvpuvdwvosddbafsrhnassuhdsmslkcskwgkicswcgschuqgigsucsugdswsdpmspvwpwomvdwhofarwnwrauicwmocicsoogtvsscptsswcqousscloucvcwetcmepewhsemsehhllsrablrijacscicessowkevgcwpgsgwcugueqclecevcietopcpmkostcmecitlupcbajujraacrarsrarkrarcjarsrajurarqnarcnaniranpjarkbajcbabifabprafjaar&motifs_order=jblackwood&seed=267311615453313090");
puzzles_urls.push("puzzle=JBlackwood+Jef_469_g&board_w=16&board_h=16&board_edges=abfaajubajhjabpjangbabinabgbafpbafqfafufabhfafebabifajmbarpjaajrftjauvpthotvppuogiipioligqlkpllqqgvluoeghovoelhoimulmlhmpkkmjankjefapemethqeutehikgtlwqklekwqtmevkqteowkvmtohppmuihpkquikugqnajtfifamvliqdoveiidgoeiqwhokimwmemivciewwvcvvdwpuqvhwluuwqwgkkwjabkflnaluhlotkuihvtewuhhvqwmokvmwpoiwvwvwdwdmewqkkmloekqtohkkqtbanknqnahqgqkduqvktduupkqghukqogpdhqutpddoitvmiokhqmmklhompkqgimnabgnefagodeuuuotioupdlihltdomvlhtgmpcttiteciootqvioledvpkgeivpkbajvfpjadqdpumiqocimlpectempvtieglsttshlehmsodwhikgddutkgpmupvwpjanvjkbadckkitpciletecelmquciluqsgglheigmdqewlqdghvltplhmkopwedknaneblraklmlpgtlehvgetehutttupwtgpppiwkpqukwqvquvdcvltwdohdtddwhnafdrifamcmitopcvwvoetcwtvgtwomvpddokqedkwoqqshwccgswuicdmduwvdmfabvfpramevppksevgukcsuggtvsmoltdesoewieoulwhqsugusqigsudsggdsmsbafsrqnavchqscicucvcugwcvhlgllshswplicswlupcsqousweqsdswglddmwllfarwnhfahsehivvsvsgvwcssloscsddopmsdsgqmpgsgocmgesscsuhsdchulidcraniftraewstvgcwgmsgstcmscptdhmcsewhqcueslkcmcilsoochccohdqcdhcdnarhrjaasrajcrarsrarcjarpjajmnajwranurarkrarijaronajcnanqbancbabraab&motifs_order=jblackwood&seed=1321648488836252408");
puzzles_urls.push("puzzle=Joshua_Blackwood_468&board_w=16&board_h=16&board_edges=acdaaepcabteacsbacpcacocadtcaendaboeabgbacrbaencabveacvbadpcaabddsdapgmstmrgsutmplouomnlttkmusrtowmshtrwrvmtnwlmuwswvgwwllogbachdgcamtlgrgrttqvgosnqntkskkntrwpkmmrwrmhmmpjnlsnpsphswnspopprcabpcqealhwqruhhvtkunlktkpllnkpgprhkrkmnhvrkjshvnnnshhunsknhppskbaepeteawvwthnlvkvrnkvwvlwvvppvwhhrpmkqhrphkhtvpnqgtvntqnpgnsuvpeaeueqbawsoqlgosrusgwokuvntovoknrrmoqunrhlsuuqrlgqmqttlqgwstvwlweadwbhcaourhoujusuvukjhuttpjkvrtmqlvngwqsqugrpnqmonplnkosvpnlgvvdadgckfarvwkjnnvvhunhlghplulrlsllkilwhqkuqlhnqoqnouqkqmopqrqvprqdaepfhcawushnkouuhwkgimhuksismwkijjmqovjllwoorglujtrmlljrqwlrtrqeadtcrfasmtrorhmwvlrmujvsthuwhptjumhvgouwvjggsgvtopslugowovuriqodadifqeatjoqhhwjlsnhjprshjqppppjmiwpomnijovmggkopniggrinvmkrqhwmdadheseaoiiswquintmqrkgtqtjkplmtwoklnjrovvijkokviqwoiigqklqiwmuldabmelfaijjluhsjmwuhgsjwjgismkigkgikrjkgistjkqjswtqqgigtqooiuisobaeifufajsiussksujosjrijilpririlijurklqjthjljnthqwingiiwommisommeafofwdailiwkvulomjvinjmpgtniwtguiowqphijijptvviijnviggjmpqgmmupfaemdcaaidacufadjbafjbabtfabtdafofadhbafjfabvcafnfacgfafqfafubafeaab");
puzzles_urls.push("puzzle=Louis_Verhaard_467&board_w=16&board_h=16&board_edges=abeaacsbabpcafubacrfadpcaftdabtfafjbaemfaboeacvbaencafoeadofaabdendasvpnphtvuqlhlvmqpsuvhwustqqwjhhwmrmhopprvwppnspwoqwsoqnqbaeqdufaplouthjllsnhuvusuwovuwswqlhwhjummlljwvvlrnkvpgnnwvjgmtrveadtfqfaovjqjnnvnsnnuhlsmorhsujohhruunhhlqttvvitkvwvntovjtrurwhtdafwfhbajqphnouqnpmollkprqwljklqrvwkhnlvtmqniommwmsookqmrwpkokuwfackbjfapjijuoujmnlokounwuiolkvuwhqklghhqmqgmupmsrtuqpqrpjppuhsjcabhfhcaiqphunrqlktnuvtkijvvvomjqtjohustqrlupnqrtkknqtjkpjttshvjbachcrbaphkrrphhtwhptwvwvwlwmulwjsiusphslmtpqhwmkprhjnmptqvnvprqcacpbteakvrthunvhwkuvlrwlwollmnwijjmhukjtmsuwuhmrhoumkqhvkokrvmkcafvepcarsjpntkskmttrwmmoklwnhskjnthkpgnskpphvrkoknvqjskovmjmujvfafucnfajronkmnrtrsmmorrlugosgrutrkgglorplulrlslnkolsmwkmsomjgisfafgfqeaosnqnplsstoprqrtgtnqrgrtkoggoiqouksissskoiiswquioriqilirfaelepdanigpllkiogllringnjmirijjggjiqiigsouislgoijjlurijilpriwileadwdhdagimhkkgilqikngwqmtlgjistjnviiomnuvgogsgvjwgsinqwpgtniiwgdadidgdampqggmspiwpmwvgwlgvvsqugvgtqmkiggrjkgtmrgigtqwoitgiwwstgdadsdcaaqeacseaepbaegbabveabueaeteaeibaejbabmdabgcadocacidactcaddaac&board_pieces=002024011057023031056013052039010025040053030001041240126129219250136251104116243247239245235045035211106112254246255135109167221203077099232034055175169233113115171102103213160206241178125060050108234226191215165195118228152229193196202017008142180210190154205121063083225253248173122006051105238200201144182170130218237183166179131015022111101120256222220161124209134110168242249020012204128133216207208139127230117119114188194059043174198186223184123107076192132187177172181058018176185231227078087095071212214189197224068049054236217244252093086062155162199137164156146038044081148070084150140061082158079138143149147036028067066145097075159141153080088089151092065029027073074163100096090094072085091064157069098032004021046042005014048047037007009026019016033003");
puzzles_urls.push("puzzle=Louis_Verhaard_467_a&board_w=16&board_h=16&board_edges=abeaacrbafvcacrfafhcackfaencaeueabveacvbacocacpcabhcachbadpcaabdelfarwvlvgwwrusghhrukprhnhlshwjhvvlwvitvuksippskhkrphvrkpsuvbacsftdaovntwkrvssskrtusrqrtlhwqjqphlhuqtqvnphiqsouiriqoronjuplocaepdsdantksrujtshwuunvhrqunwsoqphssunhhvjnnistjuhlsjnthnkoulqikeabodtcakmttjvomwlwvvhnlukjhvrnksjprumhjnrkmtkvrlqjktjkqosujiujsbafucqeatjoqovmjwppvnqrpjskqnplsppjphtvpkkntvulkjvmukvwvusuvjuhsfafueseaowmsmulwpmmurmhmkqhmlvmqjqovvprqnsvplgosmtlgwvwtuwovhtrwfabtepbamiwpllkimtplhusthwkumqhwooiqrrmovmkrorhmlslrwuwsoujurhoubafhbpcawnspkolnpprostopkuvthmwuijjmmlljkpllhhrplghhwvjgjshvommsfaemcnfasnnnlktnrwpkokuwvkokwhqkjlthlwollmnwrwmmhptwjnmphsknmtrseabtfqfantmqtlqtpluluqrlosnqqugstmsuokqmnvokmtrvtpjtmonpklworqwlbaeqfoeamnloqoqnuqnorqpqngwqgkogsmwkqgqmouvgrijujpjinigpwquiwtqqeadteibalpriqgmpnnpgpgtnwstgoiiswtgiqvgtvijvjjlijrijglorugolqiigdadibmdargtmmkigpgnktrkgtrgrilirgvvlgsgvjgisllogiwiloiqwommiinjmdaendgdatgigimhgniomkkgigrjkingrvijnggjiiiwgowuiinqwqgtnmspgjwgseadwdcaaidachdadofadgfafjbafgbabjbabjfabwdafufadqeafteaepdaegcaddaac&board_pieces=002022059023051017040048014025019020006015031001038216100087102110112104221160162192111132250024056241195199253252135108129242105158156176211043032198178136128238245124103169159113107190145010033186182222118127203174109185204165166171161057021170172247237177217173126183205181206254122058046229220225116114219175249240079075256246125013042163148209130133134155227194115214255180119050011239189243244201117139167191101063099131224039018233200196202188121106207208223120168123231012055228213212218236090230193187232179226184215045053210235234248097062197083080143142081164251034037149073077092098137069094144138140071078082029009091072076095086146096088068070147157152150041027064067153066085084141061065154151093074089036004016028030049052005007008060035054047044026003");
puzzles_urls.push("puzzle=Louis_Verhaard_467_b&board_w=16&board_h=16&board_edges=abeaafjbafgfacnfaencaeteafqeafufadofabmdacrbafhcacrfaepcadweaabdeseajprsgnnpnvjnntovtpjtqrqpurhoonjrtksnrphkhssprtusplouwmulbafuemfaupmmnsvpjklqounkjuouqnouhsknjuhshmwuhjumshvjuwswoiqwuksifackfvcamkrvvrnkluqrnvhuomjvorrmkhvrulkvwvwluwovvmujsutmvusushwucabhchbaruhhnrquqwlrhqkwovjqrtkvvphtkrwpwvlroknvuwoktwvwstgwwhptbafhbtfahjntqphjlmtpkqhmjskqkppshhrpwjhhlijjnjmioqtjvprqgnkpplsnfaelfqfantmqhjlttrujhkprkntkpmonrwmmhtrwjkqtmnrktqvnrtrqkmttsowmeafofwdamqhwlhwqusthpwnstqqwooiqmmiormhmqgqmrusgvtkursmttopswuiofadudgcahhlgwkuhtnlknnsnqgtnimhgijjmhukjqlhusnhlkolnmmsopjnmistjdadscocallwoulpllkplsmwktrvmhmorjovmkvkohnlvhhunlsuhssksnqosttlqdaftcvbawppvproppnqrwlmnvmqlokqmvwvkkrvwlslrujosurijkgtrolugljmlfabjbveapsuvoiisqorimnloqoqnqwsovjgwvvijlwvvoklwigmktqvgugsqmspgbacseibaujsiijpjrijjllkiqiklsouiglloiwilvgwwlorgmniovijnsjgipppjcadpboeaslgopriljkgrkgikkogguvgolgvviiwgwtgirgrtigtgjigggqiiphiqdadhendagrinilirgmtliwpmgsjwgvgsvitvwquigmpqrgtmtnpggwqninqwigpndadgdcaaidacidadteadpbaejbabgbabteabueaepdaetcadpcacqeacqbaepcabdaac&board_pieces=002052049018040047054058030009022051023043036001046174077169241179248119176198111124253211220057039225240165190180234123122117109131255157162017059194203218128182227132205222246181230254136006015102238215121175204126196216187202256098120050013107108209114177192101104138150170249076217038055228106178110183226223125166185242252186229053060134135130239251155152116083087201231244154035026063133200233093067139127129112189224168159032019207212191197232115172188118103113199236213056025247243237208219193206195214171143095078167008014250137156210235245099144221184072094090074024037161142140148145158070147100071153141068173031010079149085066062080096065069086064061082105028041084146075163089088160164073091092097151081027004016029034042007005012048044033020021045011003");
puzzles_urls.push("puzzle=Louis_Verhaard_467_c&board_w=16&board_h=16&board_edges=abdaacvbabpcachbaepcaeseafqeafqfacrfacpcafhcadofafwdacnfaencaabedhdavrkhphkrhruhplouslrlqttlpjttpppjpskphwusovuwwtwvnpgtnsvpbacsdtcakuvtksiuuvusomjvrmhmtrvmtkvrpgnkhhlgukjhuhwksntkgwqnvvlwcafvckfavrnkijuruhsjjnthhhunvjshvmujtplmlsnpjprswnsptkknokvklwokfabtfufanvhuulkvsnhltmqnupmmsuvpsthurujtnkounhskssphkqjsvprqlulpbafufhbahwjhkrvwhkprqhmkmwuhvwlwhptwjnmpouqnsrtuphhrjqphrpnqllkpfaelbmdajovmvjqopjijmlljuqrllhuqtvphmkrvqmoktrsmhourpstonnnskolneabodpcavwppqlhwijjllthjrqrtugsqpnigrqunosnqssksutmstkmtnvoklrwvbacrcocapprohiqpjvvihnlvrkmnsmwkijjmuoujnpmokrwpmorrmmsoorhmwhtrcabhcqearqpqqwtqvkvwlqjkmqgqwsoqjwgsuiowmhgiwmqhrwmmswuwhqkwtjoqbabjendapgnntqvgvntqjrongtmrovntgwwvokuwgrjkqwlrmsowujoskqtjoqnqbaeqdteanlktvmqltlgmomnlmiomngriwstguhlsjumhlwmuollwoglltnqgnvjneabvemfakigmqwoigiiwnqwiooiqriqotvvilgvvmpqgmiwplirillkiqikljjribafjftdagigtomniinjmwlmniwilquiwvgouvgsgqiigwtgirkgtkgikkoggrglofafgdgdagjignvijjgwvmspgiujsisouoiissjgiistjgrusgrtrilprgosllugofadudcaaidacidadweadpbaejfaboeafibaegbabteabueaeteaepdaesdadgcaddaac&board_pieces=001025011015043046054055023020051030060018040002028132111102211214213179173192136246256092240024033201162254182116232204076063127133198097221059017203143122107103131181209217174239183188184013058128205112228225250130178190123124177249212057050104195110114117222120168234253101108237191038009172175142167218129126194193231119244233189010031247135138106252090081238236199230186187216022019243105144118185197139180226196227224115125006021248251206165083245089154067134223255121170007041077094242176091241100202085215229171166235045034200219075210152084098113109220207070093169014039072157065151155156160096073163146148145140052056064153150208147164080088082069095066062071049027061141099074161158137068159087086149079078035004016029036042008053037005012048047044032026003");
//puzzles_urls.push("puzzle=2009-04-05_MFT&board_w=16&board_h=16&board_edges=awqaawtwamrwaqlmampqawcmaekwaiseamdiamjmaidmaqniawkqaeuwaebeaaieqkqatbckrsrblsrspugscjfukgcjsofgdcsojdjcdnvdnocnkfhouhrfbhvhiaihqnmacudnrgourclgggrcfvlgcouvfprosnlpjppnvfkpctufhggcrtrjvjltiamjmbwadcfboovclvhorvgvllhvuptlrdpplgfdpjfgnvdjbnjdgtgnroonlfpomamfwbqafsubvbsshvrbgvnvghobktlkprjtfbdlfufcsclugulcgcnhootcponomaeoqumausdusvdsrhvvnbnhonhbvfcnjhtftdrhfcsdvfrcccvfnpocttkpnbjteawbmsqadhrsdvhhvhfvnjthhcgjjulctjborcsjsubcrcljlkggokdukdkkjptdwawpqfearvufhkuvfnfktupgglbuvgglbljsshthbukhgnfrgjgkddgvkntdtobnwaioekiaufnkuboffshbobnsbkdbgobkvddotlfdknplfnbngjfnldpjtpsdbskpiaqsibmanlhbounlhnvufjundtvjbpjtdfkpfrbfpbnrbgfbnrsgpnkpsrlnkksrqaekmceahhlcndlhvtbdubltgtukjpgtkbrpblobnkplfhbufofhlnsoljprsjtjeaejeuqalkhulnrkblsnlubluutugcourjvcopdjpjupdctjfrtcojgrporjtcroeaicqpiahvoprfjvsrgrkncktkhoovrkvtcvdhvtuukhtkrutjskglsjrpflrfgpiaefikqaoojkjdsokdvdubpdhrtbrshrcodsvudokocurltoslclsnulfskngrsseawrqcqajshcsghsknvgpcjntghchppgdgbpdoggclfotttlcjvtuspjkutssvduwawvqwaahwawhqawvwaqjmawhmampiambeaigmaefeamteaeviaepqaitiaqdiaiwaai&board_pieces=004032060017051030044014052058008022031041047002020244256206118234211219172180140227073097064005023176208184207145153134132102105236070255162057056170152072147066123104165129143178214223114055033242160069146075192136166235187189071224116039018169144065086091156090089175157155115124253034059099061082087078190230246241202191168173122028021151081248112200148201088092215212138174231009042237228094232179209139177110252218127131126025013095185084238161130108251125213216101195247043053062085159198217113120186111093083194133254048040076196204183233210154109103171245220117229010015067164222243074163137068077239250205121135045011225181142107098100182150226197188203249221036019080096149119079063106167193199158128240141029003027026016035049050012038054046037006024007001&motifs_order=jef");
//puzzles_urls.push("puzzle=2009-04-26_MFT&board_w=16&board_h=16&board_edges=awqaawtwamrwaqlmampqawcmaekwaiseamdiamjmaibmaqniawkqaeuwaebeaaieqkqatbckrsrblsrspjuscjdjkgcjspugdgbpjfngbbgfnfnbkfnfuhrfbhvhiaihqnmacudnrgourssgubcsdcfbcvfcudovbbkdnhnbgcnhnpocnjpprtrjvjltiamjmbwadlfbounlsvducrjvfgprfvlgvrhvkocunhbonjthopdjpnkproonlfpomamfwbqafsubnlpsdpjljuppproflvhohokfcfrtbghogglkpghpkgjgoovcponomaeoqumaukhupbskjtnbprjtojgrhcgjsdfcrhtdvrbhlnsrgtgnjsjtvbssnrpbeawrmsqahrrssdhrkdvdtvjdgknvgobkfhfothshbnlhsolndcsogsofsduupprdwawpqfearcvfhhlcvllhusclnulsghctfvvhshbflbugljsbtbpjofubucjfrotcwaioeviavtcvlfdtlrpfcggrlsjgcodsvddooggdulcgsnblplknublljporttkpiaqtidmactjddjptprljgrsrjsktdbnjdvtbgglvcougbblokhotvtdhorltkksrqaekmceajulcptlultttskuthbuknkuftcjvljrctcoorbffnvuhdssvlclssjrceaejeuqalkhulnrktdknuokduvcoufrvjhtfrtbhubltntobupgtsdtplgfdrclgeaicqpiahvoprfjvkpdfkuvhckknrutktuuubpdulnkpocnngnfrtukgfcfulfociaefikqaoojkjdsodgvdvrvgkovrtjbounfjdlhnkktlpvfkfcnvjnpcfsknobnseawbqcqajshcsghsvnvgvdjnvhhdbufhfctuhggctjpgfgpjnrsgpkbrkdkknvddwawvqwaahwawhqawvwaqjmawhmamfeamteaegmaepiampqaisiaqbeaikiaediaiwaai&board_pieces=004032060017051030044014052058013022031041047002020244256206128180211118106218213252248097064005023176208221241170155150179086071115102255162057056166185141154135145065226091087109101223114055033242132127103134072073245075191063212152116039018077126253136220078175089069195214254160125036059100099142161149209083088095194172219169104028021157062066187203079082094200201130228234229009037137177121207205182139167189204110183117124024008171122133222250178159148210186074068197247043053190123199240092237158202224251084144188246048040076196174168153151090098198231112131165184010015067164108081243239233107111227215217235193045011225181138147163230238085192105156119249232034019080096146143061093236070113129216120173140029003027026016035049054046038050006025012042007001&motifs_order=jef");
//puzzles_urls.push("puzzle=2009-05-17_MFT&board_w=16&board_h=16&board_edges=awqaawtwamrwaidmaqniampqaibmaefiaiseamdiawjmaekwawreaeuwaebeaaieqkqatbckrsrbdhrsnjthppnjbnrpfjunsbljdcfbjnpckplnrfgpuhrfbhvhiaihqnmacudnrgourojgtcoonhgcrtbhufctlrpffjvrptdjlkktgjgkrtrjvjdtiamjmbwadvtbophvdlhnvholgrcgbhvrcgjhpprdvtdhdrhtkksrgobkrjpodjcjmamjwpwatluphbnlnsobolnschhlrrshjvcrrvgvdbbktupgnbnhblobpsnlclusmaqlwbqauglbnrsgotcrnbjtnjdbkovrcnnovuhnbfsupolfnhbookfhntdkukgtqaikqumalcjusubccjfuunlobnfnvgvnnfrghfofugcolkggkdkkfkpdduokgspuiaqsmfeajhtfbukhfcfuvvtcfcnvvfccrcvfodscctjdgngtgjfnltvjorltpkbrqawkeuqatkruknckfkfntjsknvdjcoovvddossvdjtjsghctfvvhvrhvljprbotjwaioqfearvufcouvfprosdtpdnvdopondgbpvddgjopdcukovhkuhdvhpjldtprjiaqpeteauuutusdurlnstttlsodconroblsnsrgrpbskssgrknplvgknlsjgrslsqamsekiaufnkdlgfnrkltublsjrcrcljsdfctobnslclgfvlpnkpkpttjtbplfdtmamficeanpocgtjpkhotbfshrbffllubfbdlbgfbchggvllhkhulthshbufhdovumaeoekqaoojkjdsooggdsofgfuboukhudvdkfkpvgcjklgrculcgsnulfsknvbsseawbqcqajshcsghsglvgfoclbghohppgdubpppjujfgprtcfcjvtuspjkutssvduwawvqwaahwawhqawvwaqcmawhmampiambeaijeaegmaeceamviaepqaitiaqdiaiwaai&board_pieces=004032060008022051013045014052035044036041047002020244256099087102125238201170119111135097064005023176208220224071098236121164122192212255161057056159067085072207069078104068089247209117180058028123095232194062100154147179112086186132187017033200216229253178163227084242114091073174217011018190241234185252146215083210191173108168118025054090092235137156155157182171214218162197120031040239243248250143152139144254079082065133230009021151153134131140116106138109226081061127136015046233169195199172223204222126221110149205206059042237165196198246202175231188145101124130177055010115113074094251183166213070066076088093150039043225181167219228077142105211184189203249160034019080096148193075063107103129245158128240141029003027026016030049050012048038053037006024007001&motifs_order=jef");
puzzles_urls.push("puzzle=Clues&board_w=16&board_h=16&board_edges=aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaargouaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaartrjaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaavddoaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaajdsoaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaafsknaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa&board_pieces=000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000208000000000000000000000000000000255000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000139000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000181000000000000000000000000000000249000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000&motifs_order=jef");
puzzles_urls.push();