Project

General

Profile

Download (76 KB) Statistics
| Branch: | Revision:

sokoban / distorted-sokoban / src / main / java / org / distorted / sokoban / SokobanDatabase.java @ 1f6d1786

1
package org.distorted.sokoban;
2

    
3
import android.content.Context;
4
import android.content.SharedPreferences;
5
import android.provider.Settings.Secure;
6
import android.util.Log;
7
import android.app.Activity;
8

    
9
import java.lang.ref.WeakReference;
10
import java.util.Map;
11

    
12
///////////////////////////////////////////////////////////////////
13

    
14
public class SokobanDatabase 
15
{ 
16
	private static final String TAG_DB = "SokobanDatabase";
17
	private static final String PREFS_NAME = "sokobanPrefsFile";
18
	public static final int BEGIN_LEVELS = 1000;
19
	public static final int INVALID = 1000000;
20

    
21
  private static SokobanDatabase mThis =null;
22

    
23
	private int mNumRunnings;
24
	private int mNumPlayings;
25
	private String mUsername;
26
	private String mVeriname;
27
	private int mUniqueid;
28
	private int mScrollpos;
29
	private final boolean mFinishedBootup;
30
	private String mISO = null;
31
	private final WeakReference<Context> mContext;
32

    
33
	private static final String[] bl = new String[]
34
	  {
35
	  "4", "12001100451111311100", // tmp/microban1.1
36
	  "4", "11111051134112411111", // tmp/microban1.2
37
	  "4", "0111010211111112010003350111", // tmp/microban1.3
38
	  "4", "111012101410141013111511", // tmp/microban1.4
39
	  "5", "000111111112321135311232111111", // tmp/microban1.5
40
	  "4", "1111133113111100012001200120111010101510", // tmp/microban1.6
41
	  "5", "111111232113231123211323111511", // tmp/microban1.7
42
	  "6", "001225001331000100000100000100000100111100101110111010001110", // tmp/microban1.8
43
	  "4", "21105331011100110002", // tmp/microban1.9
44
	  "6", "000111000501000111000301000111000301222111100300111100", // tmp/microban1.10
45
	  "6", "000111000211111210100010101110153310001110", // tmp/microban1.11
46
	  "6", "110000131000113011011511000221000101000111", // tmp/microban1.12
47
	  "5", "21000251002130003100013110111101100", // tmp/microban1.13
48
	  "4", "11211011113110401150", // tmp/microban1.14
49
	  "5", "01100011000110001000021315410101111", // tmp/microban1.15
50
	  "6", "000211111111110212010000011111011531001331000011", // tmp/microban1.16
51
	  "4", "15102220333011111111", // tmp/microban1.17
52
	  "5", "11111212111001011310003100051000110", // tmp/microban1.18
53
	  "6", "111221115331000010000110000110000110", // tmp/microban1.19
54
	  "6", "110000110000150111131111130100020100021100", // tmp/microban1.20
55
	  "4", "11101231013102010151", // tmp/microban1.21
56
	  "5", "11100212111110101011053310111101100", // tmp/microban1.22
57
	  "5", "1141111111010100352001110", // tmp/microban1.23
58
	  "5", "0011100335111001111112121", // tmp/microban1.24
59
	  "5", "0110001331022211153111100", // tmp/microban1.25
60
	  "4", "015101110031122213310011", // tmp/microban1.26
61
	  "5", "1112010010113351011121100", // tmp/microban1.27
62
	  "5", "1110015100133000212101111", // tmp/microban1.28
63
	  "7", "000011100013010001101000130100011011101501111010111121210111000", // tmp/microban1.29
64
	  "4", "11001331222115311110", // tmp/microban1.30
65
	  "5", "0011005320133111212100111", // tmp/microban1.31
66
	  "5", "0110011111244351110001100", // tmp/microban1.32
67
	  "5", "2101111311213051131121011", // tmp/microban1.33
68
	  "4", "0151013111411141014101210111", // tmp/microban1.34
69
	  "5", "0011002130023100231002310021300111500111", // tmp/microban1.35
70
	  "3", "111132012032012032011031011031011051011", // tmp/microban1.36
71
	  "6", "011100011300011100003100001351000101222111", // tmp/microban1.37
72
	  "5", "1111010020101101235010331101011020111111", // tmp/microban1.38
73
	  "7", "11101111010101111111100100000133500021210000011000001100", // tmp/microban1.39
74
	  "4", "00111132113611320011", // tmp/microban1.40
75
	  "4", "151013111301132111210020", // tmp/microban1.41
76
	  "5", "000110005100032111321013211110", // tmp/microban1.42
77
	  "7", "0000015000001100000121113112113301211110000011000", // tmp/microban1.43
78
	  "1", "532", // tmp/microban1.44
79
	  "4", "22211131103011311151", // tmp/microban1.45
80
	  "5", "011111100110131114120105001110", // tmp/microban1.46
81
	  "5", "011110305111011130201111011020110110001100011", // tmp/microban1.47
82
	  "6", "115100110100120110123331120111000111", // tmp/microban1.48
83
	  "6", "151100130100131100131000001000011011022211011111", // tmp/microban1.49
84
	  "5", "0110001300131111110101101051010200102111", // tmp/microban1.50
85
	  "5", "111001110001311014210050100111", // tmp/microban1.51
86
	  "4", "001511311142114211310011", // tmp/microban1.52
87
	  "5", "0212014141110111313101510", // tmp/microban1.53
88
	  "6", "000110000351001131001131000311000100110110122220111110111000", // tmp/microban1.54
89
	  "6", "110000510000110000010000113131111111000020000020", // tmp/microban1.55
90
	  "4", "11001141131101210115", // tmp/microban1.56
91
	  "6", "001100005100001100001000111141113111000021", // tmp/microban1.57
92
	  "5", "1100024311123010151101110", // tmp/microban1.58
93
	  "7", "11111001000300101131010111101013000101100010110001011011111002115111210011121", // tmp/microban1.59
94
	  "8", "0111111105000001110111011101113211003002030011021113110211101100", // tmp/microban1.60
95
	  "7", "11111101000010102225010003001011111113313100011100002000", // tmp/microban1.61
96
	  "4", "01110111031113101310121012000200020013101510", // tmp/microban1.62
97
	  "4", "11001100111101110100010001000300111121210030001000100010001100510011", // tmp/microban1.63
98
	  "7", "01100001110000113100013322221110011000011000005300000110", // tmp/microban1.64
99
	  "7", "0011110001131000003100131310222201011111510110111", // tmp/microban1.65
100
	  "7", "000500000030000112110110101110111011011101101110111010110131310002120000111000011100", // tmp/microban1.66
101
	  "5", "111001011053420011210130100111", // tmp/microban1.67
102
	  "5", "0011111222110050113101300031000110001100", // tmp/microban1.68
103
	  "6", "111151111111000201011102011211001000111311113131000111", // tmp/microban1.69
104
	  "6", "151000111111131331030011111000122110022110000110", // tmp/microban1.70
105
	  "7", "11111111300001150110113111011101101000100111011011211101110110101000010211111", // tmp/microban1.71
106
	  "8", "001100000113115101130111000100001101110011113100122011001120000011000000", // tmp/microban1.72
107
	  "6", "110000133131111111010010222050100010111111110111", // tmp/microban1.73
108
	  "6", "000110131110110311053101003111011000011000011200022200", // tmp/microban1.74
109
	  "5", "0110011100211102031020131203110013100511", // tmp/microban1.75
110
	  "8", "011100001111000011020111510201311102011011110110011003300011111000110000", // tmp/microban1.76
111
	  "5", "110005111111031201112011020310201101331000110", // tmp/microban1.77
112
	  "6", "011000113150131011113011131021113121011021000020000020", // tmp/microban1.78
113
	  "4", "00111111132210301321005111111111", // tmp/microban1.79
114
	  "8", "110000001121001213011112010010120111101100001011001531000013310000111100", // tmp/microban1.80
115
	  "4", "0111012101411140115001310111", // tmp/microban1.81
116
	  "6", "111000121110040311120131150010111110", // tmp/microban1.82
117
	  "6", "111100131310013311010111010010011212015212011000", // tmp/microban1.83
118
	  "8", "11100000111111112000001120151011203330101111111000111010000000110000001100000011", // tmp/microban1.84
119
	  "9", "000000011013111111011131311010000000010121100110101100115121000010101000011121000", // tmp/microban1.85
120
	  "6", "000111001522013022031310111310110100011100", // tmp/microban1.86
121
	  "7", "00000111111111112221203000001311000111300001131100015110", // tmp/microban1.87
122
	  "9", "000001100000111100000110100000310200000110100000310200000110100000310200151111100111011000", // tmp/microban1.88
123
	  "7", "11000001300000110000001122220300011151111110313111110000", // tmp/microban1.89
124
	  "5", "0001111011131315102211022131311101100011", // tmp/microban1.90
125
	  "3", "111131131150220022031131111", // tmp/microban1.91
126
	  "8", "00001100000011001110110011113000000131000003010000011100000100000001000000010000012221510101011101111100", // tmp/microban1.92
127
	  "9", "011101110111101111113101311111424111000252000111424111113101311111101111011101110", // tmp/microban1.93
128
	  "6", "110110533110110210030200110210111111110111", // tmp/microban1.94
129
	  "6", "511111123321132231132231123321111111", // tmp/microban1.95
130
	  "9", "001111000001111000000011000111020000111353111000020111000010010000111320000111000", // tmp/microban1.96
131
	  "8", "001511000010131100103101113010111311111101100000031000000200000002000000020000000200000002000000", // tmp/microban1.97
132
	  "8", "1110110011313100131311100110111000100000003000000010000001101110022222110000001100000111000001110000151100001110", // tmp/microban1.98
133
	//"8", "0011110000111100001501000011110000111000000010000000100000002000000020000011211100112011000000100011011000111310001103101111011010110310111001100000131000001110", // tmp/microban1.99
134
	  "6", "150110231110210130230111210131110111", // tmp/microban1.100
135
	  "11", "0011100000000101000000001141101110001001110100111110411001010101001140361110010111001000111011411000000001010000000011100", // tmp/microban1.101
136
	  "6", "211100211100205100211100011100110011130011131331111111", // tmp/microban1.102
137
	  "6", "001210001311121305103121113100012100", // tmp/microban1.103
138
	  "7", "0000111111131111303050010111001222100001100000110", // tmp/microban1.104
139
	  "9", "011000110111010111114212411003111300011151110003111300114212411111010111011000110", // tmp/microban1.105
140
	  "7", "00011001512300110210011023001102100133231111101010000111", // tmp/microban1.106
141
	  "6", "111111134441141141141141144421111115", // tmp/microban1.107
142
	  "6", "112120112121010501011111000110000110000110000010000110131310110110131310011100", // tmp/microban1.108
143
	  "7", "00111110010101001513100100011110001131100201311020013112000130200001020000111", // tmp/microban1.109
144
	  "7", "0011000001300000212111310131112120000031000001500", // tmp/microban1.110
145
	  "7", "1111000111122211112220000011001101100133100015311001331100013010001111", // tmp/microban1.111
146
	  "8", "0111000011333110101113101113001000110211001101110000010001110100015222200111111001110110", // tmp/microban1.112
147
	  "11", "001111000000011110000001102000000111011000001021252000011101110000000003000000000111100000001111111000001333110000001110000000011000", // tmp/microban1.113
148
	  "7", "111011011111311030011111023103512100110230000021000002300000210", // tmp/microban1.114
149
	  "6", "011000011131010131012051112031102131112030012110011000011000", // tmp/microban1.115
150
	  "5", "0011000510003100231002311123011231112100", // tmp/microban1.116
151
	  "8", "000121101121201011212030010101110101331101011310111011101511030001111100", // tmp/microban1.117
152
	  "8", "0111000011311000131311000030121000101211001002110151121001110110", // tmp/microban1.118
153
	  "7", "00111100010011013310101531010111101000101111222101111100", // tmp/microban1.119
154
	  "9", "000000110131111110130000011115011011010022111110122000131100000130000000110000000", // tmp/microban1.120
155
	  "9", "012110000032010000114110000122000000031000000010000111110000101111513131011011111", // tmp/microban1.121
156
	  "9", "111000000103110000131110000131310000130110000115000000010000000111111222111111111000000022", // tmp/microban1.122
157
	  "9", "110000000130000000110000000130000000131313111115110111000111100000000100002120100001211110002120110001111100001100000", // tmp/microban1.123
158
	  "7", "110000013111111500001130110113111011101101000100111011011211101110110112000011211111", // tmp/microban1.124
159
	  "6", "000112000212000112000110000010000110110310131110110331015101000111", // tmp/microban1.125
160
	  "5", "01111231012311123000231102301023110230101511011000", // tmp/microban1.126
161
	  "7", "00011110111151030131011101001310110022221001301100110000", // tmp/microban1.127
162
	  "6", "011000041011111011133451111010020110110100121100110000", // tmp/microban1.128
163
	  "6", "011000041011111011533411111010040110121100121000111000", // tmp/microban1.129
164
	  "5", "11100131001311103351010000111001111212012120111111", // tmp/microban1.130
165
	  "5", "111001210025200020111131113111033110110001100", // tmp/microban1.131
166
	  "6", "122000542111010101013111003100001100003110001110", // tmp/microban1.132
167
	  "6", "000110110110121530210331120111210111020330011110", // tmp/microban1.133
168
	  "8", "01100000011000000131111100100051001221100111113003022110010000101111311011100110", // tmp/microban1.134
169
	  "5", "111101301013130101111510300111001010211202112", // tmp/microban1.135
170
	  "6", "002121113201101201101111101010135330001110", // tmp/microban1.136
171
	  "8", "0011100000111111000100010002120100021211000010010111511111301000131310000131000001110000", // tmp/microban1.137
172
	  "9", "011111000010501000111111000112200000001211100002203131000013311000011101000011311000001100", // tmp/microban1.138
173
	  "10", "01111000001111100000111110000002200000110221511031022013111100000101110000010100000001310000000011100000003310000000131000000111000000011100", // tmp/microban1.139
174
	  "7", "112222011000110111101115110111111111100100000130000131000131100131100011100001100000", // tmp/microban1.140
175
	  "7", "00001110000131111011111131050100100121011124423311210111", // tmp/microban1.141
176
	  "7", "0011000001100000323111125211113230000011000001100", // tmp/microban1.142
177
	  "7", "1100000131110012011001301000121100000010000001000000100001131100103010131513112202210011100", // tmp/microban1.143
178
	  "10", "0001100000013310111001312123300122102131001044121111214401001312012210033252131001110133100000011000", // tmp/microban1.144
179
	  "9", "000151000000111000002333200113222311113202311113222311002333200000111000000111000", // tmp/microban1.145
180
	  "7", "0112110123332113212312315132132123112333210112110", // tmp/microban1.146
181
	  "8", "02100000011111000103331101011001020111110110111001110000151100001011000012110000", // tmp/microban1.147
182
	  "5", "11100101102201111201112010501111131110311101100031000110003100011", // tmp/microban1.148
183
	  "8", "01100000531110000013100001100000011322220110100000101000013010000111100001100000", // tmp/microban1.149
184
	  "6", "000110011310010110010310011310112010132311000111001100001500002100002110002110", // tmp/microban1.150
185
	  "8", "00011110001100100011313111303111111111100000005000000110000001100000011200000222", // tmp/microban1.151
186
	  "7", "1213112101100110111151100101111110100101011310101101011310110111101104011011100110020001111", // tmp/microban1.152
187
	  "8", "2222222200000022131111115313131101000000111111111131313100000010111111111313131111100000", // tmp/microban1.153
188
	//"15", "000000000000002111111111111131100000000000005101111111111111101000000000000101011111111111101010000000001101010111111101101010100000101101010101110101101010101010101101010101010101101010101010101101010101010101101010101010101101010101010101101010101010101101010101010101101010101010101101010101010101101010111010101101010000010101101011111110101101000000000101101111111111101100000000000001111111111111111", // tmp/microban1.154
189
	//"15", "011000000000111011000011011101011111111010111001000111011110001011100000010001021111111010111000000101010111111000111010010101000000010010111111000010010101011000010010111010000010010000010011011010111110111111010110110110110010010000010000011011111010110011011011010131010000010010115010111110010110010110110010010010010000011010011011111111010011011000010010010000011010011110110111011111111111111011000011011011000000", // tmp/microban1.155
190

    
191
	  "4", "110011001100233511211100", // tmp/microban2.1
192
	  "4", "011102011151113110401110", // tmp/microban2.2
193
	  "5", "000111101112121153311010011100", // tmp/microban2.3
194
	  "6", "011100110310501311111111011011021200011100001100", // tmp/microban2.4
195
	  "5", "110001300013110115110012200110", // tmp/microban2.5
196
	  "6", "051000021000040000111110111111000301000111", // tmp/microban2.6
197
	  "5", "0011111301112310100201115", // tmp/microban2.7
198
	  "5", "110001100011211543411101111000", // tmp/microban2.8
199
	  "4", "11111035124210311111", // tmp/microban2.9
200
	  "4", "11321132113200510011", // tmp/microban2.10
201
	  "4", "2011533122310111", // tmp/microban2.11
202
	  "6", "011011011031011246111031111011011000011000", // tmp/microban2.12
203
	  "5", "111001111111111002001343111611", // tmp/microban2.13
204
	  "5", "0110012311523111231001100", // tmp/microban2.14
205
	  "5", "1100011011234450111101110", // tmp/microban2.15
206
	  "6", "000011001331001011012035111111122000", // tmp/microban2.16
207
	  "4", "011103050131111024211111", // tmp/microban2.17
208
	  "5", "011100305101311011001321121211", // tmp/microban2.18
209
	  "5", "111111333201052010120110100111", // tmp/microban2.19
210
	  "5", "011000311101201042111310015100", // tmp/microban2.20
211
	  "7", "000011002121100110151001011100100110131100011310001010000111000", // tmp/microban2.21
212
	  "7", "000011111001011311111110002013000100100020111511011101100000110", // tmp/microban2.22
213
	  "6", "000111150111133111110010011011001111001011121000121100111100", // tmp/microban2.23
214
	  "10", "0000011100111001010013531111000010001000111111111011100012210000111101000010110100001100110000011110", // tmp/microban2.24
215
	  "5", "011101232113031123211111001500", // tmp/microban2.25
216
	  "6", "111111100031101131102435102011112011", // tmp/microban2.26
217
	  "5", "1161114341210121101111011110111303111011", // tmp/microban2.27
218
	  "6", "001100002100112300104311101511101100111000", // tmp/microban2.28
219
	  "6", "111100100300101311152421011111011000", // tmp/microban2.29
220
	  "7", "002221000110110011111001501000110100011010000001000110100011011113103110111311110111", // tmp/microban2.30
221
	  "7", "00001100000510111021011112100300210110001111313111101110", // tmp/microban2.31
222
	  "6", "111111111101002232001030001151000131000101000111", // tmp/microban2.32
223
	  "5", "000000001100015013310213102101121011000111111", // tmp/microban2.33
224
	  "7", "111000011201100122110010015101011110131000013000001310000111000", // tmp/microban2.34
225
	  "9", "000000011111111111110000222011110100013110100110501100101131000101310000110010000011110000", // tmp/microban2.35
226
	  "6", "000110001510001310001400111411101201101101110011011110", // tmp/microban2.36
227
	  "6", "011100010100131110113021013121011021000015000011", // tmp/microban2.37
228
	  "6", "001111001001122211113100103000113100115100", // tmp/microban2.38
229
	  "6", "011110110010501310114220010300011111000111", // tmp/microban2.39
230
	  "4", "0111012111411010113101410151", // tmp/microban2.40
231
	  "5", "111101005011330022410110101111", // tmp/microban2.41
232
	  "6", "001100111100102211102001101011133350011100011000", // tmp/microban2.42
233
	  "6", "001100001110002121001121000100111110533310011010001110", // tmp/microban2.43
234
	  "8", "000001110111110101100201013102011135021111100100030111100111111000000110", // tmp/microban2.44
235
	  "5", "0111001220002200011000110013000131001350113001111011110", // tmp/microban2.45
236
	  "8", "11100011111111210100001111000020111111101101302000013110000031000000510000001100", // tmp/microban2.46
237
	  "7", "111100013151101100010133131011111000010011122221111111111100000", // tmp/microban2.47
238
	  "5", "0011001311013010622201301113111010011100", // tmp/microban2.48
239
	  "5", "01110111101232003031023210111101510", // tmp/microban2.49
240
	  "5", "00111112111143100500134111121111100", // tmp/microban2.50
241
	  "5", "110151101133133221221101111011", // tmp/microban2.51
242
	  "6", "000110000310000110000500113111112241111011", // tmp/microban2.52
243
	  "5", "000111203111311121101253000110", // tmp/microban2.53
244
	  "9", "000001110000011010000011510000011110000000200001111211001030211113311000101111000111000000", // tmp/microban2.54
245
	  "7", "00011000131310011101000311100011010000101000210100020010002001011111111115111", // tmp/microban2.55
246
	  "6", "000111001201113435111201001011001110", // tmp/microban2.56
247
	  "6", "000111011111144310114120001050001110", // tmp/microban2.57
248
	  "7", "0000110011113101011010103335122110012210000011000", // tmp/microban2.58
249
	  "6", "000011110021133111110020111510030021011111000011", // tmp/microban2.59
250
	  "5", "001111113111010110111103111011010100501101031020110201002011111111101111000", // tmp/microban2.60
251
	  "4", "11321132113200320012003100110051", // tmp/microban2.61
252
	  "6", "000011000011000031113131122221015300011100", // tmp/microban2.62
253
	  "7", "1100000111000011300000310000011000003102100111110003221100121110001510", // tmp/microban2.63
254
	  "5", "1110013111010010312113210141201501001110", // tmp/microban2.64
255
	  "7", "11110001001000101410010541101014111101413110010201111000", // tmp/microban2.65
256
	  "12", "000001110000000001010000000001110000000000310000111132230000101321120111111021123101000032231111000013000000000011100000000010100000000015100000", // tmp/microban2.66
257
	  "8", "0001100000141100013123101121514114111211013213100011410000011000", // tmp/microban2.67
258
	  "9", "000020000000131000001111100011444110231454132011444110001111100000131000000020000", // tmp/microban2.68
259
	  "5", "1212123332135312333212121", // tmp/microban2.69
260
	  "6", "110111110221133333110222110111115111", // tmp/microban2.70
261
	  "6", "111011132321021131131120123231110115", // tmp/microban2.71
262
	  "7", "1111111143434113222311421241132223114343411111115", // tmp/microban2.72
263
	  "7", "1111111123232113232311235321132323112323211111111", // tmp/microban2.73
264
	  "7", "1111111132323112323210325230123232113232311111111", // tmp/microban2.74
265
	  "7", "1110111123232113232310235320132323112323211110111", // tmp/microban2.75
266
	  "7", "0112100013211111343312245422133431111123100012110", // tmp/microban2.76
267
	  "9", "001110000001011100011230111010323201113252311102323010111032110001110100000011100", // tmp/microban2.77
268
	  "7", "0111110113231113020310225221130203111323111110110", // tmp/microban2.78
269
	  "7", "0000110011111002010105313011123111102300110210000", // tmp/microban2.79
270
	  "7", "011000011200001214111012011100300000111100113050013111001100000", // tmp/microban2.80
271
	  "9", "000000011111000011111111111001001010113100010111321030020121112011300011005100011001100000", // tmp/microban2.81
272
	  "6", "000111122201103401101201105311101101113001113111111100", // tmp/microban2.82
273
	  "8", "11200000212000001120000011200000010000000111000005333111110111311111310000111000", // tmp/microban2.83
274
	  "6", "110011112211121121001000011110013351000131001101111131111100", // tmp/microban2.84
275
	  "11", "0000000011000000000110000000111100000011030000000131311000000311110000001100011111011000115110011001101122220011110000000", // tmp/microban2.85
276
	  "8", "0011100001101000011110001131000011330210003111100011011000000210000502100001121100011111", // tmp/microban2.86
277
	  "10", "00000110000000012110000021211100002110510000010011000011000000013100000013110000013110000013110000001110000000", // tmp/microban2.87
278
	  "5", "000112103111311241101253000110", // tmp/microban2.88
279
	  "6", "111111102011114111034310114500102000111000", // tmp/microban2.89
280
	  "5", "0111001110034310212112520134300111001110", // tmp/microban2.90
281
	  "7", "00110000011000001100000313101135311111011100000100001212001121200111110011000", // tmp/microban2.91
282
	  "6", "000110111110512110102010112010012110010000031000013100011310010131111111111000", // tmp/microban2.92
283
	  "6", "000011001211011111123210131000123000001111003011011011011510000110", // tmp/microban2.93
284
	  "8", "00000110000111110001101100003111011311000103330001011100110100001021200010212000110120000100101101115111000110110001011000011100", // tmp/microban2.94
285
	  "6", "110510111212110212110210100010101110113310001310113310111110110000", // tmp/microban2.95
286
	  "9", "000001100000001100011313100012011000012033110012011111114000511111111110012000000", // tmp/microban2.96
287
	  "10", "110000111011111113101100000100010131331101013101110101115100010120000001012000000100200000111120000010002000001111100000", // tmp/microban2.97
288
	  "7", "11100001013100101311110230051023111112000001211000111100", // tmp/microban2.98
289
	  "9", "000011110000011011111222221111111010110000050000001110000003311000011131000011331000011100", // tmp/microban2.99
290
	  "10", "01111100000100011000011100111101131000010003122222000110000100033011110113101000011510100001000010000111111000", // tmp/microban2.100
291
	  "6", "011000011000123100213231132312001321000510000110", // tmp/microban2.101
292
	  "10", "000110000000111000000011111110001110111000011112000000000200000000020000111112110011030211113313100011131510000011000000", // tmp/microban2.102
293
	  "10", "001100000000110000001111110000121111000012000000000200500000111111111112011133311000000100111111310000000011100000001110", // tmp/microban2.103
294
	  "8", "000111101111001010011111101101111133033100313130001111100000500001121221012212110120011100000111", // tmp/microban2.104
295
	  "6", "011000011110114121143431012321051100", // tmp/microban2.105
296
	  "5", "0011011210104111320503201113111110011000", // tmp/microban2.106
297
	  "7", "001100001133110101101013130101011010501101010301112222201110000", // tmp/microban2.107
298
	  "9", "000110000000130000001121100001232111132353231111232100001121100000031000000011000", // tmp/microban2.108
299
	  "8", "0121000003133131012212120311123113211130212122105313313000001210", // tmp/microban2.109
300
	  "8", "0011011100222121111101001511110000110100000013100001311000131100113110001111011111001111111111100110110000001100", // tmp/microban2.110
301
	  "10", "0011000000001100000011312000001130200011113120111100002013110000203051001121131100111000110001100000", // tmp/microban2.111
302
	  "5", "11111133311242102520124211333111111", // tmp/microban2.112
303
	  "5", "110111141114341114111252011411143411141111011", // tmp/microban2.113
304
	//"13", "0000001110000000011101000000001011100000000131300000111001010111010131222130101111025201111010312221310101110101001110000031310000000011101000000001011100000000111000000", // tmp/microban2.114
305
	  "11", "0000010000000001110000000123210000012323210001231313210113235323110123131321000123232100000123210000000111000000000100000", // tmp/microban2.115
306
	  "9", "111000011111111111010000011110000010111111020110111110000003020000111010000113020000111010000113020000111010000113010000111510", // tmp/microban2.116
307
	  "9", "000000011011100111111101131101003110101113100501203100112211000002100000001100000", // tmp/microban2.117
308
	  "10", "00112120000011212000001121200000110500000001111111110011001111100001101311001310013113311000131111000001110000", // tmp/microban2.118
309
	  "8", "011111000100021101012101010222115111200011011000010000001331110011331110001331100011111000011100", // tmp/microban2.119
310
	  "10", "0000011121000101512100011011210131100121011011112111111310211131010000010101000001001100000111300000010331000001111100000000110000", // tmp/microban2.120
311
	  "8", "000121110011211101342010010121100101210011000100101115001333011011111010001110100030011000111100", // tmp/microban2.121
312
	  "5", "000110144101135111411102101110", // tmp/microban2.122
313
	  "9", "011000000013100000110100000130100000111100000011111000033002200011112111000002151000001100", // tmp/microban2.123
314
	  "7", "111011113141312201022131013112353211310131220102213141311110111", // tmp/microban2.124
315
	  "12", "000000001110002120001110002121151100001110001111000200001111111100000000101100000000101000000000101111000000101303100000110113100000131130100000111011100000011111000000", // tmp/microban2.125
316
	  "12", "011111000000013311000000011300000000010110000000010310000000010110000000010010000000111122000000500022211111111020000131001020131331001121111011000000000011", // tmp/microban2.126
317
	  "5", "5121011411132310141100200011000130001100", // tmp/microban2.127
318
	  "7", "001500000131000114100110410010141111012101101110111000110111110", // tmp/microban2.128
319
	  "9", "000000011111113111110020011030011210011213010010002011010001511011131000011000000", // tmp/microban2.129
320
	//"15", "000000000000111000000000001141000000000011440000000000114410000000001144110000000011441100000000114411000000001144110000000011441100000000114411000000001144110000000011441100000000114411000000000153110000000000011100000000000012000000000000", // tmp/microban2.130
321
	//"15", "000000000002000000000000023150000000000232310000000002323310000000023233232000000232332320000002323323200000023233232000000232332320000002323323200000023233232000000032332320000000123323200000000113232000000000012320000000000011000000000000", // tmp/microban2.131
322
	//"25", "0000000000000000001110000000000000000111000101000000000000000010111111100000000001110001110000100000111000101000001000010000010111151100000100001000001110000300000010000111000001000012111111011110100000100001100110111101110000010000011001111010000000011111111100110001000000001010001011000001100000000111000111100011110001110000000011000001101000101000000001000110011111111100000000101111001100000100000111011110110011000010000010111101111111100001000001110000100000010000111000001000010000011111110100000100001000001010001110000010000111000111000000000011111110100000000000000001010001110000000000000000111000000000000000000", // tmp/microban2.132
323
	//"32", "0000111110111111111111111111000000011011011000000000000000011000001101101101111111111111111011000110110110110000000000000011011011011011011011111111111111011011101101101101100000000000011011011010110110110111111111111011011110101011011011000000000011011011101010101101101111111111011011011010101010110110000000011011011010101010101011011111111011011011101010101010101100000011011011011010101010101010111111011011010110101010101010101000011011010101101010101010101111111011010101011010101010101110010011010101010110101010101100100111010101010101101010101101111523010101010101011010101101100001010101010101010110101101101111110101010101010101101101101100000011010101010101011101101101111111101101010101010101101101100000000110110101010101101101101111111111011011010101011101101100000000001101101101010111101101111111111110110110110101101101100000000000011011011011011101101111111111111101101101101101101100000000000000110110110110001101111111111111111011011011000001100000000000000001101101100000001111111111111111110111110000", // tmp/microban2.133
324
	//"35", "0000000000001110000001100000000000000000000000011111111111000000000000000000000000010000000110000000000000000000001110110000001001100000000000000000011111100000111111000000000000000000010011001001110110000000000000001110110000111000001001100000000000011111100011111000111111000000000000010011001101111001110110000000001110110000111010111000001001100000011111100011110101111000111111000000010011001111101010111001110110001110110000111001011101111000001001111111100011111111101010111000111111010011001110000001110101111001110110100000111111111110101111111000001001000011100010100101010000011000010010001111111111115111111111111000100100001100000101010010100011100001001000001111111010111111111110000010110111001111010111000000111001100101111110001110101011111111100011111111001000001111011101001110000110111000110111001110101011111001100100000001111110001111010111100011111100000011001000001110101110000110111000000000110111001111011001100100000000000001111110001111100011111100000000000011001000001110000110111000000000000000110111001001100100000000000000000001111110111011111100000000000000000011001001010110111000000000000000000000110010100100000000000000000000000001113101211100000000000000000000000011000000111000000000000", // tmp/microban2.134
325
	//"39", "000000000000000000000001100000000000000000000000000000000000001100000000000000000000000000000000000001101110000000000000000000000000000000000111110000000000000000000000000000000111110000011000000000000001100000000110111010011011000000001100001100000000110000010011011011100001100001101110000110000010011001111100001100000111110000011111110001111100000000111111110000011111000111111100110000111110000010111011101100100000110110000111011000011111000001100100000110110000000011011111000000001100101110110000000000011011101011100000000111110000000000000000000001111100000111110000000000000000000001111100000000111010111000000000000000001110101110000000011111000000000000000000000111110000011111000001100000000000000111110000011011101001101100000000000110111010011011000001001101101110000110110000010011011000001001100113250000110110000010011001111111000111110000000110011111110001111100011111110011000000011111000111111100110010000011011000011111001100100000110110010000011011000011101101100100000110110010111011000000000001101100101110110000011111000000000000001100000111110000011111000000000000000000000111110000000011101011100000000000000000111010111000000001111100000000000000000000011111000001111100000000000000000000011111000000001110101110110000000000011011101001100000000111110110000000011011000001001100000111110000110111000011011000001001101110111010000011111000011001111111000111110000011111111000000001111100011111110000011111000001100001111100110010000011000011101100001100001110110110010000011000000001100001100000000110110010111011000000001100000000000000110000011111000000000000000000000000000000011111000000000000000000000000000000000011101100000000000000000000000000000000000001100000000000000000000000000000000000001100000000000000000000000", // tmp/microban2.135
326

    
327
	  "6", "110000110000110000233135112121110000", // tmp/microban3.1
328
	  "4", "01110311124415110011", // tmp/microban3.2
329
	  "5", "111111231102300115111230111111", // tmp/microban3.3
330
	  "4", "1151103112420031114111110011", // tmp/microban3.4
331
	  "4", "11001100113113210120032001500110", // tmp/microban3.5
332
	  "5", "111111445100111133101221000110", // tmp/microban3.6
333
	  "7", "0110000031113101202110100010132021015111300000110", // tmp/microban3.7
334
	  "6", "111111113111020000111111111111004000111111111511000400111111111111000020111311111111", // tmp/microban3.8
335
	  "6", "000011011032111151110032010011010111010000010110011210010310010210011310000110", // tmp/microban3.9
336
	  "5", "11011133311222110300123101251000110", // tmp/microban3.10
337
	  "6", "111110115110100100200110223110000100011311013111111000111000110000", // tmp/microban3.11
338
	  "6", "110000222110200110113131003131005111", // tmp/microban3.12
339
	  "5", "011000141101405014111123011110", // tmp/microban3.13
340
	  "6", "111151131131010010130130112210012210", // tmp/microban3.14
341
	  "6", "150000111110120211033331121200111100", // tmp/microban3.15
342
	  "6", "000510011110030221113101101311122030011110011000", // tmp/microban3.16
343
	  "6", "110011111331113011001210004210001251000111", // tmp/microban3.17
344
	  "5", "11100134111141120102114111143500111", // tmp/microban3.18
345
	  "6", "121000132100133210123321012335001231000121", // tmp/microban3.19
346
	  "7", "000110001211000131100000500011111001414110014141100141110001110", // tmp/microban3.20
347
	  "7", "00001110001151000101021211211100011013131001131000001100", // tmp/microban3.21
348
	  "9", "111000111111100111011113310011011310000110110000150000000111100000100100011110100022120100001000100001111100", // tmp/microban3.22
349
	//"13", "0000110000000000011210000000001131000000000010000000000001110011101101141111110230145410320111111411011011100111000000000000100000000001311000000000121100000000000110000", // tmp/microban3.23
350
	//"13", "0000110000000000011210000000001131000000000010000000000001100011101100141111110230141410320111111410011011100011000000000000100000000001311000000000125100000000000110000", // tmp/microban3.24
351
	  "6", "111000101100103200112311103201102301113215002301001101000111", // tmp/microban3.25
352
	  "9", "000000011000000111121212151103010110111101100001010100001011100001011000001131000001030000001110000", // tmp/microban3.26
353
	  "8", "0110000001111111010010110131011001010110115101102222101000011010000033100001311000011100", // tmp/microban3.27
354
	  "5", "1110013210033210121501211033211321011100", // tmp/microban3.28
355
	  "6", "001111013335011111013000022220022220000310111110133310111100", // tmp/microban3.29
356
	  "6", "110000110000411111230111460300230110411110110110110000", // tmp/microban3.30
357
	  "9", "001110000001310000013131100013131100011000100010111100011101011112221151212001011000001110", // tmp/microban3.31
358
	  "9", "111110000115110000110100000222200000000100000111100000113100000010000000111101110131301011003111101001111101000110011000011110", // tmp/microban3.32
359
	  "10", "00000001110000011101000002120100000111010000021201000001110100000212010000011101000000100100111151110113101000113100110010130131001031001100101310000011111000000001100000", // tmp/microban3.33
360
	  "5", "01110032101321053200132100321001110", // tmp/microban3.34
361
	  "6", "111000123210134110011431012321000115", // tmp/microban3.35
362
	  "9", "111011111112310011102300221100111330110111011033111001122003201110013211111510111", // tmp/microban3.36
363
	  "6", "111211111311000320000110000320000110000320000510", // tmp/microban3.37
364
	  "6", "150000110000233100112100110000233131112121110000", // tmp/microban3.38
365
	  "8", "00000011000001510001131100011110000010000013310012222200111331001010110011100000", // tmp/microban3.39
366
	  "9", "000111011000111111000003001011101001011101102001131102001101102003000002001011001111111115130011011111111000", // tmp/microban3.40
367
	  "8", "111001105031111011330010011110100030021100110212000112000001111000001110", // tmp/microban3.41
368
	  "8", "110011001110110011303100021012000230320002151200013031110110111101100000", // tmp/microban3.42
369
	  "9", "000110000000110000000321000001323311112252211113323100000123000000011000000011000", // tmp/microban3.43
370
	  "6", "001100111111131313424242131313424242151111", // tmp/microban3.44
371
	  "9", "001100000001313100001020200111110111101020201101313101110110101011011101001100011000115110", // tmp/microban3.45
372
	  "12", "110000000111131000001131113100011310011310113100001122221000000120020000000020021000000122221100001311013110013110001311131100000131511000000011", // tmp/microban3.46
373
	  "11", "00114141100001111111000001020100001110201110031102011301131020131110100500101113102013110311020113001110201110000102010000011111110000114141100", // tmp/microban3.47
374
	  "5", "11000511101441000111133111221100110", // tmp/microban3.48
375
	  "6", "000110001110112431114235011100011000", // tmp/microban3.49
376
	  "6", "000110001110112431114235011100001100", // tmp/microban3.50
377
	  "7", "0000111011131101103001412110114105000121100011000", // tmp/microban3.51
378
	  "7", "00001110111311011030014121101141050011411001210000011000", // tmp/microban3.52
379
	  "7", "00001110111311011030014121101141050011411001412000011100", // tmp/microban3.53
380
	  "10", "11100000001130000000011000000001301100000111110000011015000001101101100000111110001130001000111310200001001021000110222100031000000001100000", // tmp/microban3.54
381
	  "9", "111000111102101101113231321011323210003252300012323110123132311101101201111000111", // tmp/microban3.55
382
	  "9", "000111000000123000000321000131323311122252221113323131000123000000321000000111000", // tmp/microban3.56
383
	  "11", "0011111110000101010100113232323111023232320111320102311102315132011132010231110232323201113232323110010101010000111111100", // tmp/microban3.57
384
	//"13", "1111111111111101010101010111323232323111023232323201113232323231110232323232011132325232311102323232320111323232323111023232323201113232323231110101010101011111111111111", // tmp/microban3.58
385
	  "9", "123232111132323101123232101132323101123232101101010101101010101101010305101010101101010101101010101101010101101010101101010101111111111", // tmp/microban3.59
386
	  "6", "001110001011003201113205103201101111110100011100", // tmp/microban3.60
387
	  "5", "111111010113331122201500011000", // tmp/microban3.61
388
	  "5", "00000110001110013335022210110001100", // tmp/microban3.62
389
	  "5", "001100011000320113201032111151", // tmp/microban3.63
390
	  "6", "110000111000111100011110001111000100153331112221", // tmp/microban3.64
391
	  "6", "111000103211112305003211001100001100", // tmp/microban3.65
392
	  "6", "001111111001103211502300103200111110001110", // tmp/microban3.66
393
	  "5", "015110100113231123211010011100", // tmp/microban3.67
394
	  "6", "000111113201502311103200101100111100", // tmp/microban3.68
395
	  "5", "00110012100141001400113101151011000", // tmp/microban3.69
396
	  "6", "110000111110112010004010054111013111000110", // tmp/microban3.70
397
	  "4", "012101410141114115311100", // tmp/microban3.71
398
	  "5", "0121101401054110141000311011110101001110", // tmp/microban3.72
399
	  "6", "111000112100113100014151003101002011001110", // tmp/microban3.73
400
	  "6", "111000102100113151004111113100102000111000", // tmp/microban3.74
401
	  "4", "1110121013100410131112150011", // tmp/microban3.75
402
	  "5", "0001101215013110041011310102101110001100", // tmp/microban3.76
403
	  "6", "011000011000011000003311113211102200150100011100", // tmp/microban3.77
404
	  "5", "111001010053320032210101101111", // tmp/microban3.78
405
	  "5", "011100101003320132215110100111", // tmp/microban3.79
406
	  "5", "01110010100151003300132111220100111", // tmp/microban3.80
407
	  "5", "000110011111311124200131000510", // tmp/microban3.81
408
	  "4", "001100311242103111511110", // tmp/microban3.82
409
	  "7", "0001110000101101131011124211101311011050000111000", // tmp/microban3.83
410
	  "5", "00111005010121103430112101010011100", // tmp/microban3.84
411
	  "6", "111000113100034210012511011011000011", // tmp/microban3.85
412
	  "6", "111000105311113421000210011110011100", // tmp/microban3.86
413
	  "6", "001111001111115300103421101201101101100001111111", // tmp/microban3.87
414
	  "8", "0011000000111111001000111531101113421010002000100111111001110110", // tmp/microban3.88
415
	  "5", "001110011111410125301141001100", // tmp/microban3.89
416
	  "5", "0110001410125311141111011", // tmp/microban3.90
417
	  "5", "0011101411125301141100111", // tmp/microban3.91
418
	  "6", "011100010110141011253101141101001111001100", // tmp/microban3.92
419
	  "6", "001100001100013411114215111000110000", // tmp/microban3.93
420
	  "5", "11000111111134100420015100111001100", // tmp/microban3.94
421
	  "6", "005100001100003410114211111111000011", // tmp/microban3.95
422
	  "6", "011100011111001011003450014210111100111000", // tmp/microban3.96
423
	  "4", "511013310312012200110011", // tmp/microban3.97
424
	  "5", "11000510001331013121002210111001110", // tmp/microban3.98
425
	  "5", "1111011110013300135200122", // tmp/microban3.99
426
	  "4", "01110331135210221111", // tmp/microban3.100
427
	//"40", "000001110000000111000000011100000000000000000101011000010101100001010110011100000000011111110001111111000111111101211000000000010111100001011110000101111015110000000011101111001110111100111011110111101110001111011110111101111011110111101110101011011110111101111011110111101111010011111110111101111011110111101111011111110010111101111011110111101111011110110101011101111011110111101111011110111100011101111011110111101111011110111101111000000011110111101111011110111101111011110000000111101111011110111101111011110111100000001111011110111101111011110111101111000000011110111101111011110111101111011110111000111101111011110111101111011110111010101101111011110111101111011110111101001111111011110111101111011110111101111111001011110111101111011110111101111011010101110111101111011110111101111011110001110111101111011110111101111011110111100000001111011110111101111011110111101111000000011110111101111011110111101111011110000000111101111011110111101111011110111100000001111011110111101111011110111101111011100011110111101111011110111101111011101010110111101111011110111101111011110100111111101111011110111101111011110111111100101111011110111101111011110111101101010111011110111101111011110111101111000111011110111101111011110111101111011110000000111101111011110111101111011110111100000001111011110111101111011110111101111000000011110111101111011110111101111011110000000111101111011110111101111011110111101110001111011110111101111011110111101110101011011110111101111011110111101111010011111110111101111011110111101111011111110010111101111011110111101111011110110101011101111011110111101111011110111100011101111011110111001111011100111101110000000011110111101000011110100001111010000000000113101111111000111111100011111110000000001110011010100001101010000110101000000000000000001110000000111000000011100000", // tmp/microban3.101
428

    
429
	  "4", "011101110310541012101100", // tmp/microban4.1
430
	  "5", "001110015100310014100121003100141001210011000", // tmp/microban4.2
431
	  "5", "111111322103141141301223111151", // tmp/microban4.3
432
	  "4", "1231132113215230132113211231", // tmp/microban4.4
433
	  "5", "00000010000110001511011310020000200002001311111311001110001100001", // tmp/microban4.5
434
	  "6", "100000110000131000113110111110002000002000002000002000131111113111001510000110000010", // tmp/microban4.6
435
	  "7", "01100000111310030202011050101302021111131100010110001110", // tmp/microban4.7
436
	  "6", "121121233332132231132631233332121121", // tmp/microban4.8
437
	  "9", "000011000000032000001111100121141100131454131001444121001111100000230000000110000", // tmp/microban4.9
438
	  "10", "000011000000001100000000110000111010000011134011000005411110000320111100012001110003200000000120000000031000000001100000", // tmp/microban4.10
439
	  "5", "110151323112321123211323111011", // tmp/microban4.11
440
	  "5", "11511131310242001110132311232111011", // tmp/microban4.12
441
	  "5", "01511014310120001331112211110011000", // tmp/microban4.13
442
	  "6", "001511003211121300103210101010111110011100", // tmp/microban4.14
443
	  "5", "001101211013110005001110011411041110141100110", // tmp/microban4.15
444
	  "5", "00111011010230104111141001510011000", // tmp/microban4.16
445
	  "5", "111001151103402011330122101141", // tmp/microban4.17
446
	  "7", "00001100011110112031011414100141411013021101151000110000", // tmp/microban4.18
447
	  "6", "001100113110503010123212001111001100", // tmp/microban4.19
448
	  "5", "001111141111430112100023100151", // tmp/microban4.20
449
	  "6", "001100014100113110503010123212001111001100", // tmp/microban4.21
450
	  "5", "00000110111141123432105011111100000", // tmp/microban4.22
451
	  "7", "000000001101100513110011421000414000124110011311001101100000000", // tmp/microban4.23
452
	  "8", "001100000053000001210000012300000141111000200010013111110111011100000000", // tmp/microban4.24
453
	  "6", "001110011310020310025310020310020110010000011110111010101111111101010111011100", // tmp/microban4.25
454
	  "6", "000111000111112230112231030501131111111000", // tmp/microban4.26
455
	  "6", "000110000110011410011140010212133101110151110000", // tmp/microban4.27
456
	  "7", "000110001111110144411004241101151001310000104110011111000011100", // tmp/microban4.28
457
	  "7", "00110000111000114110014111000141000031000001151000042411014441101111110001100", // tmp/microban4.29
458
	  "11", "000000011000000000122100000001331000000001000000011011100001111111000011003200110050011002300110000111111100001110110000000100000000133100000001221000000000110000000", // tmp/microban4.30
459
	  "6", "011000112110112011134331002110001150", // tmp/microban4.31
460
	  "8", "0110110002301221123113311110010000000111121111111315032000110110", // tmp/microban4.32
461
	  "7", "1110111101010111434110025200114341110101011111111", // tmp/microban4.33
462
	  "6", "011100111110143431012121023430010521011111", // tmp/microban4.34
463
	  "7", "1112111103030113212312011102132123110303011116111", // tmp/microban4.35
464
	  "10", "1111111115103000000110201112311012312001101100310110130011011002132101132111020110000003011111111111", // tmp/microban4.36
465
	  "7", "0012100023132013141312145412131413102313200012100", // tmp/microban4.37
466
	  "7", "0111110132323112323211325231123232113232310111110", // tmp/microban4.38
467
	  "10", "001100000001110000000103110000111311000011130000000011000000001000000000100000000010000000011000110001111111000000000100000000010000000001000001110100001111011100105121220011100000", // tmp/microban4.39
468
	//"8", "0000110000111100012111001121100021200000010000000100000001000000011111110110001100000010000000100000001000000110000011100000353100013301000111010000111100001110", // tmp/microban4.40
469
	  "9", "000000110111111110110000010010000110010000111013200311011131110000200110000100000000200000000100000000100000011110000011511000000111000000011000", // tmp/microban4.41
470
	//"10", "0000001110000000101000000011100000113100110010010011101001001131311311013130010101131101050110011101000000011100000001000000000100000000010000000001000000000100011000010001110001000112110100001211010000120001000011220100001111111000122101100000000110", // tmp/microban4.42
471
	  "5", "01100013000131501301011010110102101010111212011110", // tmp/microban4.43
472
	  "6", "011000011000013011131131113011011010011050021010020110121200111100", // tmp/microban4.44
473
	  "8", "111100001001100011101211053442111110210011301000013110000101000001110000", // tmp/microban4.45
474
	  "9", "000000110111111110100051030111000011011011011131122031131022010101022011131022311101011011111000030001111131000000111", // tmp/microban4.46
475
	  "7", "11111002000100201313120113112013131200051011111101100000", // tmp/microban4.47
476
	  "7", "11111002000100201313120113112013131200150011111001100000", // tmp/microban4.48
477
	  "7", "11111002000100201313120113112013131205100011110001100000", // tmp/microban4.49
478
	  "12", "011000011000011110113111010110110001110100011102110111113102110110001101010110100105110000110101111111110102000000010002000001033101000001111111000001110111", // tmp/microban4.50
479
	  "5", "00111023211323012321132310111500000", // tmp/microban4.51
480
	  "5", "01111023211323112320132310111500110", // tmp/microban4.52
481
	  "5", "01111023211323012320132310111500011", // tmp/microban4.53
482
	  "5", "00111023211323012320132310111501100", // tmp/microban4.54
483
	  "7", "001100012110001311000005000011110001141411041411101410110111000", // tmp/microban4.55
484
	  "9", "110011111131113102110001002010001102131113102111001102001000002003011312111111111130110151111110111", // tmp/microban4.56
485
	  "7", "01111000141111114444111454111444411111141000111100001000000100000010000001000013310001221000001100", // tmp/microban4.57
486
	//"13", "0000000000000000000000000000000111000000000112100000000013431100000113020311000012425242100001130203110000011343100000000012110000000001110000000000000000000000000000000", // tmp/microban4.58
487
	  "11", "0001100000000011000000000112100000001343111100130203111002425242001113020310011113431000000012110000000001100000000011000", // tmp/microban4.59
488
	  "11", "0000111000000002320000000131310000013232310012324242321131320231311232424232100132323100000131310000000232000000001510000", // tmp/microban4.60
489
	  "8", "000011101110101013111110042043000121121000340240011151310101011101110000", // tmp/microban4.61
490
	  "9", "000011100111010100131111100042023000011141100003202300001141110000320240001115131001010111001110000", // tmp/microban4.62
491
	  "7", "011111001000101113111132224104363301322241111311101000100111110", // tmp/microban4.63
492
	  "7", "011111001001301110111142224104363401321231111011103100100111110", // tmp/microban4.64
493
	  "7", "1110110113431011232100021100012521101343110110111", // tmp/microban4.65
494
	  "7", "0111110014431013232111025201112323101443100111110", // tmp/microban4.66
495
	  "6", "000011131331122411021301022511021301122411131331000011", // tmp/microban4.67
496
	  "7", "000001101313310122411002030113225111121300002110000031000001100", // tmp/microban4.68
497
	  "9", "000001100000133131001222111012001310032324300132002110111222110013133500000110000", // tmp/microban4.69
498
	  "9", "000111000000111000113333310111212110010202000010462110000202010011212111013333311000111000000111000", // tmp/microban4.70
499
	  "6", "110000153131122211032310012300032100122211131331000011000011", // tmp/microban4.71
500
	  "9", "000110000000153131000122211000132331111002100111232000001021100011313100011000000011000000", // tmp/microban4.72
501
	  "8", "0000110013231400112121000042133101252111032132001310310011111100", // tmp/microban4.73
502
	  "7", "1100000110000013350000121000032000001200000320000112221013133111100111", // tmp/microban4.74
503
	  "11", "000011100000000131000000011110000000330001100001151111100042224031110210110111303222303111021011011130422240001111131100001100001111000000131010000001011100000011100", // tmp/microban4.75
504
	  "9", "110000011130000031131101131112222211030201030015141110030102030112222211131101131130000031110000011", // tmp/microban4.76
505
	  "7", "011100001010000132411012314100403251123141103241111110111110000", // tmp/microban4.77
506
	  "8", "000011000000130000001100001313000012231100025411000221000002330011121311111001110000011000000110", // tmp/microban4.78
507
	  "7", "011100001010110132411012314100403251123231103232111110110000011", // tmp/microban4.79
508
	  "10", "11000000001300000000110000000053313131001122222100002020300011212231311014332111111101100000001310000000111000", // tmp/microban4.80
509
	  "8", "011000000113131001042210112111001332233100111251012240100131311000000110", // tmp/microban4.81
510
	  "8", "000001100011011000133310002222201103230011132100131121510003231100011000", // tmp/microban4.82
511
	  "8", "000011000110110003203200132312111120323103251230013421100011100000111000", // tmp/microban4.83
512
	  "8", "0110110002303210023132110121213103202300131213101510111001100000", // tmp/microban4.84
513
	  "11", "000011100000000131000000001111000011000330001111151100013042223000110100120111301222303111010012011000222230310001131111111110000110101310000001110100000000111000000", // tmp/microban4.85
514
	  "7", "011111001030101213121132123100141001325231121312101030100111110", // tmp/microban4.86
515
	  "7", "1101100230320014141111121131014100011410001150000", // tmp/microban4.87
516
	  "10", "11100110001122435000013121100000020000000121110000014443000001113111110000301111000110001100011111100000000110", // tmp/microban4.88
517
	  "7", "0000000011215001232100233320012321001323100134310013231001232100233320012321001121100000000", // tmp/microban4.89
518
	  "7", "0000000012325001323100114110011411002343200321230023432001141100114110013231001232100000000", // tmp/microban4.90
519
	  "7", "0000000011115001111100343430021212001232100134310012321002121200343430011111001111100000000", // tmp/microban4.91
520
	  "7", "0000000011115003243200141410014141001141100114110011411001414100141410023423001111100000000", // tmp/microban4.92
521
	  "7", "0000000011215001323100132310024242001323100134310013231002424200132310013231001121100000000", // tmp/microban4.93
522
	  "7", "0000000011415001232100132310011321001323100232320013231001241100132310012321001141100000000", // tmp/microban4.94
523
	  "7", "0000000011215001343100232120014441001113100234320013111001444100212320013431001121100000000", // tmp/microban4.95
524
	  "7", "0000000011415001333100223220013331002212200134310022122001333100223220013331001141100000000", // tmp/microban4.96
525
	  "8", "0000000001323250012323100132321001132310011232100123231001323210012321100132311001232310013232100123231000000000", // tmp/microban4.97
526
	  "8", "0000000001411450014114100123321001422410014133100132231001322310013314100142241001233210014114100141141000000000", // tmp/microban4.98
527
	  "8", "0000000001111150013433100142241002313320024223200132131001312310023224200233132001422410013343100111111000000000", // tmp/microban4.99
528
	  "8", "0000000001123150031321200132321002132130013232100321132002311230012323100312312001232310021231300113211000000000", // tmp/microban4.100
529
	//"40", "0000000000000000000000110000011100011000000011100001101110000011000001111111100000001111111110111111111100000000100110001110000011111001000000100110111011010000111111111000001101110111111011111101011001000000100110111111011101100100110101100101110111111011001000000100011000010110011111011101100001101110111111101101010011001000000100110111111011100110111111001101101110111111011001000000000011001100110111111011101100000100111101100100110000011001000000100110010111110111111011100000000100110111111111011000011011101110000111011011011100110100101100100000000000011111101100000000011010111111011101100000100110111111111111101011011101111110111011000001100001101100100100000010011011111101100000110010000110011011101101000010110111111111101101111011101111110100001000011000100110000100101100010011010000101100100011010010000110010001100001000010111111011101111011011111111110110100001011011101100110000100110000011011111101100100000010010011011000011000001101110111111011101101011111111111110110010000011011101111110101100000000011011111100000000000010011010010110011101101101110000111011101100001101111111110110010000000011101111110111110100110010000001001100000110010011011110010000011011101111110110011001100000000001001101111110111011011001111110110011101111110110010000001001100101011011111110111011000011011101111100110100001100010000001001101111110111010011010110010011011101111110110010000001001101011111101111110111011000003251111110000101101110110010000001001111100000111000110010000000011111111110111111111000000011111111000001100000111011000011100000001100011100000110000000000000000000000", // tmp/microban4.101
530
	//"42", "000001100000000110110000000001101100000000000001100000001111111000000011111110000000000001100000001100011000000011000110000000000011011000110110110110001101101101100000000011111101111110111111011111101111110000000001101101101100011011011011000110110000000000001000100000000010001000000000100000000001101101101100011011011011000110110000000011111101111110111111011111101111110000000011011000110110110110001101101101100000000001000000000100010000000001000100000000000011011000110110110110001101101101100000000011111101111110111111011111101111110000000001101101101100011011011011000110110000000000011000110000000110001100000001100110011011011111110110110111111101101101111111111111101101101111111011011011111110110011110001100000001100011000000011000110000010010011011000110110110110001101101101100110011011111101111110111111011111101111110110011001101101101100011011011011000110110010010000011000110000000110001100000001100011110110011111110110110111111101101101111111111111001101101111111011011011111110110110011011000000001100011000000011000110000000000110011000110110110110001101101101100000000111111101111110111111011111101111110000000011001101101100011011011011000110110000000000001000100000000010001000000000100000000001101101101100011011011011000110110000000011111101111110111111011111101111110000000011011000110110110110001101101101100000000001000000000100010000000001000100000000000011011000110110110110001101101101100000000011111101111110111111011111101111110000000001101101101100011011011011000110110000000000001000100000000010001000000000100000000001101101101100011011011011000110110000000011111101111110111111011111101111110000000011011000110110110110001101101101100000000001000000000100010000000001000100000000000011011000110110110110001101101101100000000011111101111110111111011111101111110000000001101101101100011011011011000110110000000000011000110000000110001100000001300000000000011111110000000111111100000005100000000000001101100000000011011000000001200000", // tmp/microban4.102
531

    
532
	  "6", "001110131010101121111101010111051100", // tmp/minicosmos.1
533
	  "6", "001110131010101121111101030211051100", // tmp/minicosmos.2
534
	  "6", "001110131010101121121101030231051100", // tmp/minicosmos.3
535
	  "6", "000011111311112011010010111111150111110000", // tmp/minicosmos.4
536
	  "6", "000011111311142011010010111111150111110000", // tmp/minicosmos.5
537
	  "6", "000011111411142011010010131111150111110000", // tmp/minicosmos.6
538
	  "6", "011100010310131111212011001510001010001110", // tmp/minicosmos.7
539
	  "6", "011100020310131111212031001510001010001110", // tmp/minicosmos.8
540
	  "6", "011100030100111351101101102121111000", // tmp/minicosmos.9
541
	  "6", "011100030100112351101101102231111000", // tmp/minicosmos.10
542
	  "6", "011100120100111111120101010311011310000510", // tmp/minicosmos.11
543
	  "6", "011100120100111111120101010311021330000510", // tmp/minicosmos.12
544
	  "7", "0000110013111011010302521110010101101111110110000", // tmp/minicosmos.13
545
	  "7", "0000110013111011010302522110010101101113110110000", // tmp/minicosmos.14
546
	  "6", "000110131110112010010211151131111000", // tmp/minicosmos.15
547
	  "6", "000110131310112010010211151131211000", // tmp/minicosmos.16
548
	  "7", "00001110001141001131001111001211000105000011110000111000", // tmp/minicosmos.17
549
	  "7", "00001110001141001131001141001211000105000011110000111000", // tmp/minicosmos.18
550
	  "6", "110000111110111110001000133110121251000111", // tmp/minicosmos.19
551
	  "6", "110000111110111110001000133310122251000111", // tmp/minicosmos.20
552
	  "5", "11100111110111100030113101511100212", // tmp/minicosmos.21
553
	  "5", "11100121110131100030113101511100212", // tmp/minicosmos.22
554
	  "7", "011100001110000133100011010001001100121512110010111111110000110", // tmp/minicosmos.23
555
	  "7", "011100001130000133100011020001001100121512110010111111110000110", // tmp/minicosmos.24
556
	  "7", "0000011000122101330110101050111111111101110000011", // tmp/minicosmos.25
557
	  "7", "0000011000122101330110101050114111111101110000011", // tmp/minicosmos.26
558
	  "6", "011000011111010211040030111111101511111100", // tmp/minicosmos.27
559
	  "6", "011000011111010211040030111141101511111100", // tmp/minicosmos.28
560
	  "6", "111011111111010211111100101210133010001150", // tmp/minicosmos.29
561
	  "6", "111011111111010212111100101410133010001150", // tmp/minicosmos.30
562
	  "5", "111001011021031115112003011110", // tmp/minicosmos.31
563
	  "5", "110001111012031015110203001110", // tmp/minicosmos.32
564
	  "5", "00111111111411004050131101210001100", // tmp/minicosmos.33
565
	  "5", "01100111001411004050131101211100111", // tmp/minicosmos.34
566
	  "5", "011110100111111141400302001510", // tmp/minicosmos.35
567
	  "6", "111000101100111431001105001421001100", // tmp/minicosmos.36
568
	  "5", "00110011101143110105114210011000110", // tmp/minicosmos.37
569
	  "6", "001100001211053331121210111000110000", // tmp/minicosmos.38
570
	  "6", "001110111110110200053331020201011111011000", // tmp/minicosmos.39
571
	  "5", "001100121053331212011011111100", // tmp/minicosmos.40
572

    
573
	  "7", "011100001111110014401110414511141001100110011111002301100110000", // tmp/picocosmos.1
574
	  "8", "00000011000001110000125200013311001412000113110002320000113100001010000011100000", // tmp/picocosmos.2
575
	  "7", "00011000001100114341111454010124411010111011110001110000", // tmp/picocosmos.3
576
	  "7", "0001100014141011414101141411113141500210000011000", // tmp/picocosmos.4
577
	  "6", "001600011100014100111311104141111410014100001100", // tmp/picocosmos.5
578
	  "6", "001100013231112311123205012321013231000110", // tmp/picocosmos.6
579
	  "6", "011000011311042221111311144440111350011000", // tmp/picocosmos.7
580
	  "7", "000110000111110044421011111011440001111100004345000111100011000", // tmp/picocosmos.8
581
	  "7", "00110001113110114041001141610140411001414000111100011100", // tmp/picocosmos.9
582
	  "7", "01100001111110144544101101110144310011411000121000001100", // tmp/picocosmos.10
583
	  "7", "00011000001110001241000414111144411111310001451000110000", // tmp/picocosmos.11
584
	  "5", "016100323001410014100141001411114111111001100", // tmp/picocosmos.12
585
	  "6", "011000014110011111004141001100000100011311014441111110116000110000", // tmp/picocosmos.13
586
	  "7", "00110110111111010101111444105041130114441000121100000110", // tmp/picocosmos.14
587
	  "7", "0011000051310001241001334241102210111131110011000", // tmp/picocosmos.15
588
	  "6", "001500114141143411114141121410001110000110", // tmp/picocosmos.16
589
	  "5", "016100323001410014100141011410114111141100110", // tmp/picocosmos.17
590
	  "6", "001100124111114101114435014110114410111100", // tmp/picocosmos.18
591
	  "6", "000011000131114111114411011401014211054100001100", // tmp/picocosmos.19
592
	  "6", "001100011100114441114501014421011111010300011100", // tmp/picocosmos.20
593
	  /*
594
	  "5", "000110001111111101311110000100003000010000100111312221100150", // tmp/microban5.1
595
	  "11", "0000000111100000001151000000012000000110320000001101200000013132001110110120011113300000000011000000000110000000001100000", // tmp/microban5.2
596
	  "9", "001101100003203200121131131131121121003252300121121131131131121002302300001101100", // tmp/microban5.3
597
	  "10", "111100000011210000000021000000001111111111100013115022200310112220011000011003100000011310000001110000000011100000001310000000031000000001100000000310000000131100000111110000011100", // tmp/microban5.4
598
	  "5", "001110111111441144110324514411114410111100111", // tmp/microban5.5
599
	  "6", "111100144100141110114411111441054230111441114411141110144100111100", // tmp/microban5.6
600
	  "7", "01100000111310010031001001100100310015011001003100100110010001111222211110110", // tmp/microban5.7
601
	  "9", "110000011111111111130000001010112222010101000010101110010111111010050111011110000000031000000013100000011310000001110000000110", // tmp/microban5.8
602
	  "8", "01100000013000000221100011301110111000500100011101110311000112200000031000000110", // tmp/microban5.9
603
	  "6", "011510011011023032011411023032011011001111", // tmp/microban5.10
604
	  "6", "011510011011023032011011023432011011023032011011001111", // tmp/microban5.11
605
	  "7", "1100110112321111030110114115010301011232101110110", // tmp/microban5.12
606
	  "5", "01110011110243102200113311151100011", // tmp/microban5.13
607
	  "6", "001100003110014221113131152240001131000111", // tmp/microban5.14
608
	  "6", "111100110100143411124211143411110100015100", // tmp/microban5.15
609
	  "6", "011000013000111000143211542211143211111000013000011000", // tmp/microban5.16
610
	  "6", "001100003100001100001000112210134211110315000111", // tmp/microban5.17
611
	  "7", "01100001111110110133001000100512131112140112141110011000", // tmp/microban5.18
612
	  "11", "0000010000000001210000000114110000011323110001132323110124235324210113232311000113231100000114110000000121000000000100000", // tmp/microban5.19
613
	  "7", "1121110123230123132311235321132313210323210111211", // tmp/microban5.20
614
	  "8", "1111111112323231132323211230023113200321123232311323232151111111", // tmp/microban5.21
615
	  "9", "000121100011313110110020010130111031212151212130111031010020011011313110001121000", // tmp/microban5.22
616
	  "9", "111000111101000101113131311001222100003202300001222100113131311101001005111001111", // tmp/microban5.23
617
	  "9", "111101111101101101114434411114212411003151300114212411114434411101101101111101111", // tmp/microban5.24
618
	  "8", "1321112123321233123323321121132112351211233233213321233212111231", // tmp/microban5.25
619
	  "11", "2111121111210011011001100013100011100333001111132223111203325233021113222311111003330011100013100011001101100121111211112", // tmp/microban5.26
620
	  
621
	  */
622
	  };
623

    
624
	  public static final int BUILTIN_LEVELS = bl.length/2;
625

    
626
///////////////////////////////////////////////////////////////////
627

    
628
	private SokobanDatabase( Context co )
629
	{
630
	    mContext = new WeakReference<>(co);
631
	    
632
	    SokobanLevels levels = SokobanLevels.getInstance();
633
	    mNumRunnings = 0;
634
	    mNumPlayings = 0;
635
	    mUniqueid    = 0;
636
	    mUsername    ="";
637
	    mVeriname    ="";
638
	    mScrollpos   = 0;
639
	    
640
	    for(int i=0; i<BUILTIN_LEVELS; i++)
641
	      {
642
	      int xlen = Integer.parseInt(bl[2*i]);
643
	      SokobanLevel sl = new SokobanLevel( null, null, INVALID, INVALID, null, false,xlen, bl[2*i+1]);
644
	      levels.addLevel(sl,i);
645
	      }
646

    
647
	    try
648
		  {
649
		  SharedPreferences settings = co.getSharedPreferences(PREFS_NAME, Context.MODE_PRIVATE);
650
		  readPreferences(settings);
651
		  }
652
		catch( Exception ex )
653
		  {
654
		  Log.e( TAG_DB, "Failed to retrieve preferences: "+ex.toString());
655
		  }
656
	    
657
	    if( mVeriname==null ) mVeriname="";
658
	    if( mUsername==null ) mUsername="";
659
	    if( mUniqueid==0 ) mUniqueid = getDeviceID();
660

    
661
	    levels.setScroll(mScrollpos);
662
	    levels.updateMyRecords(mUsername);
663

    
664
	    mFinishedBootup = true;
665
	    SokobanCanvas.setRepaint();
666
	}
667

    
668
///////////////////////////////////////////////////////////////////
669

    
670
	private void readPreferences(SharedPreferences settings)
671
	{
672
		String key, sett;
673
		int num;
674
		
675
		for (Map.Entry<String, ?> entry : settings.getAll().entrySet()) 
676
		{
677
            Object val = entry.getValue();
678
        
679
            if( val!=null )
680
            {
681
            	key = entry.getKey();
682
            
683
            	try
684
            	{
685
            		num = Integer.parseInt(key);
686
            		sett= String.valueOf(val);
687
            		
688
            		switch(num)
689
            		{
690
            		case 1 : mUsername    = sett; break;
691
            		case 2 : mVeriname    = sett; break;
692
            		case 3 : mNumRunnings = Integer.parseInt(sett); break;
693
            		case 4 : mNumPlayings = Integer.parseInt(sett); break;
694
            		case 5 : mUniqueid    = Integer.parseInt(sett); break;
695
            		case 6 : mScrollpos   = Integer.parseInt(sett); break;
696
            		}
697
            	}
698
            	catch( Exception ex )
699
            	{
700
            		Log.e(TAG_DB, "error retrieving preference "+val+" :"+ex.toString());
701
            	}                     	     
702
            }   
703
        }
704
	}
705

    
706
///////////////////////////////////////////////////////////////////
707
	
708
	private int getDeviceID()
709
	{	
710
		int ret;
711
		
712
		try
713
		  {
714
		  Context co = mContext.get();
715
		  String s = Secure.getString(co.getContentResolver(), Secure.ANDROID_ID);
716
		  ret = s!=null ? s.hashCode():0;
717
		  }
718
		catch(Exception ex)
719
		  {
720
		  ret =0;
721
		  Log.e(TAG_DB, "Exception in getDeviceID()");	
722
		  }
723
		
724
		return ret<0 ? -ret:ret;
725
	}	  
726

    
727
///////////////////////////////////////////////////////////////////
728
	
729
	public boolean saveValues()
730
	    {
731
	    if( !mFinishedBootup ) return false;
732

    
733
	    boolean ret = false;
734
	   
735
	    mNumRunnings++;
736
	    mScrollpos = SokobanLevels.getScroll();
737
	    
738
	    try
739
	      {
740
	      Context co = mContext.get();
741
        SharedPreferences settings = co.getSharedPreferences(PREFS_NAME,Context.MODE_PRIVATE);
742
        SharedPreferences.Editor editor = settings.edit();
743
	      
744
        editor.putString("1", mUsername);
745
        editor.putString("2", mVeriname);
746
        editor.putInt("3"   , mNumRunnings);
747
        editor.putInt("4"   , mNumPlayings);
748
        editor.putInt("5"   , mUniqueid);
749
        editor.putInt("6"   , mScrollpos);
750

    
751
	      editor.commit();
752
	      ret = true;
753
	      }
754
	    catch( Exception ex)
755
	      {
756
	      Log.e(TAG_DB, "Failed to save preferences: "+ex.toString() );	
757
	      }
758

    
759
	    return ret;
760
	    }
761

    
762
///////////////////////////////////////////////////////////////////
763

    
764
	public static void init(Activity act)
765
	{
766
	  if( mThis==null ) mThis = new SokobanDatabase((Context)act);
767
	}
768

    
769
///////////////////////////////////////////////////////////////////
770

    
771
	public int getNumRunnings()
772
	{
773
		return mNumRunnings;
774
	}
775

    
776
///////////////////////////////////////////////////////////////////
777

    
778
	public int getId()
779
	{
780
	    return mUniqueid;
781
	}
782

    
783
///////////////////////////////////////////////////////////////////
784
	
785
	public int getNumPlayings()
786
	{
787
		return mNumPlayings;
788
	}
789

    
790
///////////////////////////////////////////////////////////////////
791

    
792
	public void incNumPlayings()
793
	{
794
		mNumPlayings++;
795
	}
796

    
797
///////////////////////////////////////////////////////////////////
798
	
799
	public void setName(String newname)
800
	{
801
		mUsername = newname;
802
	}
803

    
804
///////////////////////////////////////////////////////////////////
805
	
806
	public String getName()
807
	{
808
		return mUsername;
809
	}
810

    
811
///////////////////////////////////////////////////////////////////
812

    
813
	public void setVeri(String newveri)
814
	{
815
		mVeriname = newveri;
816
	}
817

    
818
///////////////////////////////////////////////////////////////////
819

    
820
	public String getVeri()
821
	{
822
		return mVeriname;
823
	}
824

    
825
///////////////////////////////////////////////////////////////////
826

    
827
	public static SokobanDatabase getInstance()
828
	{
829
		return mThis;
830
	}
831

    
832
///////////////////////////////////////////////////////////////////
833

    
834
  public int getNumLevels()
835
		{
836
		return BUILTIN_LEVELS;
837
		}
838

    
839
///////////////////////////////////////////////////////////////////
840

    
841
	public String getCountry()
842
	{
843
		if( mISO==null ) mISO = SokobanCanvas.getIso();
844
	
845
		char digit1, digit2;
846
		
847
		try
848
		  {
849
		  digit1 = mISO.charAt(0);
850
		  digit2 = mISO.charAt(1);
851
		  }
852
		catch( Exception ex )
853
		  {
854
		  return "usa";	
855
		  }
856
		
857
        if (digit1 == 'a')
858
        {
859
            if (digit2=='z') return "aze";
860
            if (digit2=='e') return "uae";
861
            if (digit2=='f') return "afg";
862
            if (digit2=='u') return "aus";
863
            if (digit2=='r') return "arg";
864
            if (digit2=='t') return "aut";
865
            if (digit2=='d') return "and";
866
            if (digit2=='m') return "arm";
867
            if (digit2=='l') return "alb";
868
        }
869
        else if (digit1 == 'b')
870
        {
871
            if (digit2=='t') return "bhu";
872
            if (digit2=='h') return "bah";
873
            if (digit2=='d') return "ban";
874
            if (digit2=='n') return "bru";
875
            if (digit2=='o') return "bol";
876
            if (digit2=='r') return "bra";
877
            if (digit2=='z') return "blz";
878
            if (digit2=='a') return "bos";
879
            if (digit2=='y') return "blr";
880
            if (digit2=='g') return "bul";
881
            if (digit2=='e') return "bel";
882
        }
883
        else if (digit1 == 'c')
884
        {
885
            if (digit2=='a') return "can";
886
            if (digit2=='n') return "chn";
887
            if (digit2=='o') return "col";
888
            if (digit2=='l') return "chi";
889
            if (digit2=='u') return "cub";
890
            if (digit2=='r') return "cos";
891
            if (digit2=='z') return "cze";
892
            if (digit2=='h') return "swi";
893
            if (digit2=='y') return "cyp";
894
        }
895
        else if (digit1 == 'd')
896
        {
897
            if (digit2=='o') return "dom";
898
            if (digit2=='e') return "ger";
899
            if (digit2=='k') return "den";
900
            if (digit2=='j') return "dij";
901
            if (digit2=='z') return "alg";
902
        }
903
        else if (digit1 == 'e')
904
        {
905
            if (digit2=='c') return "ecu";
906
            if (digit2=='e') return "est";
907
            if (digit2=='s') return "esp";
908
            if (digit2=='g') return "egy";
909
        }
910
        else if (digit1 == 'f')
911
        {
912
            if (digit2=='k') return "fal";
913
            if (digit2=='i') return "fin";
914
            if (digit2=='r') return "fra";
915
        }
916
        else if (digit1 == 'g')
917
        {
918
            if (digit2=='e') return "geo";
919
            if (digit2=='f') return "fgu";
920
            if (digit2=='y') return "guy";
921
            if (digit2=='u') return "gum";
922
            if (digit2=='t') return "gua";
923
            if (digit2=='b') return "uk";
924
            if (digit2=='i') return "gib";
925
            if (digit2=='q') return "egu";
926
            if (digit2=='r') return "gre";
927
        }
928
        else if (digit1 == 'h')
929
        {
930
            if (digit2=='k') return "hk";
931
            if (digit2=='t') return "hai";
932
            if (digit2=='n') return "hon";
933
            if (digit2=='r') return "cro";
934
            if (digit2=='u') return "hun";
935
        }
936
        else if (digit1 == 'i')
937
        {
938
            if (digit2=='r') return "irn";
939
            if (digit2=='l') return "isr";
940
            if (digit2=='q') return "irq";
941
            if (digit2=='n') return "ind";
942
            if (digit2=='d') return "ina";
943
            if (digit2=='t') return "ita";
944
            if (digit2=='e') return "irl";
945
            if (digit2=='s') return "isl";
946
        }
947
        else if (digit1 == 'j')
948
        {
949
            if (digit2=='o') return "jor";
950
            if (digit2=='m') return "jam";
951
            if (digit2=='p') return "jap";
952
        }
953
        else if (digit1 == 'k')
954
        {
955
            if (digit2=='z') return "kaz";
956
            if (digit2=='g') return "kyr";
957
            if (digit2=='w') return "kuw";
958
            if (digit2=='h') return "cam";
959
            if (digit2=='p') return "prk";
960
            if (digit2=='r') return "kor";
961
            if (digit2=='e') return "ken";
962
        }
963
        else if (digit1 == 'l')
964
        {
965
            if (digit2=='b') return "leb";
966
            if (digit2=='k') return "cey";
967
            if (digit2=='a') return "lao";
968
            if (digit2=='i') return "lie";
969
            if (digit2=='v') return "lat";
970
            if (digit2=='t') return "lit";
971
            if (digit2=='u') return "lux";
972
            if (digit2=='y') return "lib";
973
        }
974
        else if (digit1 == 'm')
975
        {
976
            if (digit2=='n') return "mon";
977
            if (digit2=='v') return "mld";
978
            if (digit2=='m') return "bir";
979
            if (digit2=='o') return "mac";
980
            if (digit2=='y') return "mly";
981
            if (digit2=='x') return "mex";
982
            if (digit2=='k') return "mna";
983
            if (digit2=='e') return "mnt";
984
            if (digit2=='c') return "mco";
985
            if (digit2=='d') return "mda";
986
            if (digit2=='t') return "mal";
987
            if (digit2=='a') return "mor";
988
            if (digit2=='l') return "mli";
989
        }
990
        else if (digit1 == 'n')
991
        {
992
            if (digit2=='p') return "nep";
993
            if (digit2=='z') return "nz";
994
            if (digit2=='i') return "nic";
995
            if (digit2=='o') return "nor";
996
            if (digit2=='l') return "ned";
997
            if (digit2=='g') return "nig";
998
        }
999
        else if (digit1 == 'o')
1000
        {
1001
            if (digit2=='m') return "omn";
1002
        }
1003
        else if (digit1 == 'p')
1004
        {
1005
            if (digit2=='k') return "pak";
1006
            if (digit2=='g') return "pap";
1007
            if (digit2=='h') return "phi";
1008
            if (digit2=='y') return "par";
1009
            if (digit2=='e') return "per";
1010
            if (digit2=='m') return "miq";
1011
            if (digit2=='a') return "pan";
1012
            if (digit2=='l') return "pol";
1013
            if (digit2=='t') return "por";
1014
        }
1015
        else if (digit1 == 'q')
1016
        {
1017
            if (digit2=='q') return "qat";
1018
        }
1019
        else if (digit1 == 'r')
1020
        {
1021
            if (digit2=='u') return "rus";
1022
            if (digit2=='o') return "rom";
1023
            if (digit2=='s') return "srb";
1024
        }
1025
        else if (digit1 == 's')
1026
        {
1027
            if (digit2=='a') return "sar";
1028
            if (digit2=='y') return "syr";
1029
            if (digit2=='g') return "sin";
1030
            if (digit2=='r') return "sur";
1031
            if (digit2=='v') return "sal";
1032
            if (digit2=='e') return "swe";
1033
            if (digit2=='k') return "svk";
1034
            if (digit2=='i') return "slo";
1035
            if (digit2=='m') return "sma";
1036
            if (digit2=='n') return "sen";
1037
        }
1038
        else if (digit1 == 't')
1039
        {
1040
            if (digit2=='m') return "tkm";
1041
            if (digit2=='j') return "tjk";
1042
            if (digit2=='r') return "tur";
1043
            if (digit2=='w') return "twn";
1044
            if (digit2=='h') return "tha";
1045
            if (digit2=='n') return "tun";
1046
        }
1047
        else if (digit1 == 'u')
1048
        {
1049
            if (digit2=='z') return "uzb";
1050
            if (digit2=='y') return "uru";
1051
            if (digit2=='s') return "usa";
1052
            if (digit2=='a') return "ukr";
1053
        }
1054
        else if (digit1 == 'v')
1055
        {
1056
            if (digit2=='n') return "vie";
1057
            if (digit2=='e') return "ven";
1058
        }
1059
        else if (digit1 == 'y')
1060
        {
1061
            if (digit2=='e') return "yem";
1062
        }
1063
        else if (digit1 == 'z')
1064
        {
1065
            if (digit2=='a') return "za";
1066
        }
1067
        
1068
    return "unk";
1069
}
1070
	
1071
///////////////////////////////////////////////////////////////////
1072
// end of SokobanDatabase
1073
}
(3-3/12)