Skip to content

Instantly share code, notes, and snippets.

@moluapple
Created July 15, 2011 02:36
Show Gist options
  • Save moluapple/1083929 to your computer and use it in GitHub Desktop.
Save moluapple/1083929 to your computer and use it in GitHub Desktop.
DatasetsMagic_ScriptUI
//#include 'doEx.jsx'
#target illustrator
#targetengine 'main'
/* doEx.jsx:jQuery風にドキュメントのオブジェクトを抽出するかも
* Copyright 2010 kamiseto. All Rights Reserved.
* ScriptClip http://556.sub.jp/scriptclip/
* なにする? DTP + WEB http://d.hatena.ne.jp/kamiseto/
*/
var myDialogMaker;
(function () {
var setPosition = function (a, b) {
return [a[0] + b[0], a[1] + b[1], a[2] + b[2], a[3] + b[3]];
};
extend = function (target, source) {
try {
for (var property in source) {
try {
target.prototype[property] = source[property];
} catch (e) {
target[property] = source[property];
};
};
} catch (e) {};
return target;
}
myDialogMaker = function (option) {
return new myDialogMaker.prototype.init(option);
};
myDialogMaker.prototype = {
'init': function (option) {
if (!option) {
var F = File.openDialog();
F.open("r");
eval("option = " + F.read());
F.close();
}
this.wD = new Window(option['type'], option['title'], option['pos'], option['properties']);
extend(this.wD, option['option']);
option['layout'].length > 0 && this.items = this.buildLayout(this.wD, option['layout']);
return this;
},
'dialog': function (wD, pos, Config) {
var D = new Window('dialog', Config['label'], Config['pos'], Config['option']);
try {
Config['layout'].length > 0 && D.items = this.buildLayout(D, Config['layout']);
} catch (e) {
}
D.parents = wD;
return D;
},
'statictext': function (wD, pos, Config) {
var sT = wD.add('statictext', pos, Config['label'], {});
return sT;
},
'edittext': function (wD, pos, Config) {
if (Config['width'] && Config['height'] && Config['size']) {
if (Config['label']) var sT = this.statictext(wD, setPosition([0, 3, Config['width'] - (Config['size'] * 10), 20], pos), Config);
var sET = wD.add(Config['type'], setPosition([Config['width'] - (Config['size'] * 10), 0, Config['width'], Config['height']], pos), Config['default'], {
name: Config['name']
});
} else {
var Size = 0;
if (Config['label']) {
Size = Config['label'].length;
var sT = this.statictext(wD, [pos[0], pos[1], pos[0] * 1 + Size * 10, pos[3]], Config);
}
var sET = wD.add(Config['type'], [pos[0] * 1 + Size * 10, pos[1], pos[2], pos[3]], Config['default'], Config['option']);
}
extend(sET, Config['option']);
return sET;
},
'checkbox': function (wD, pos, Config) {
var cB = wD.add('checkbox', [pos[0], pos[1], pos[2] * 1 + Config['label'].length * 10, pos[3]], Config['label']);
extend(cB, Config['option']);
return cB;
},
'checkboxies': function (wD, pos, Config) {
var GP = wD.add('group', pos, Config['label']);
switch (typeof Config['list']) {
case 'object':
for (var x in Config['list']) {
this.checkbox(GP, checkpos, Config['list'][x]);
}
break;
}
return GP;
},
'radiobutton': function (wD, pos, Config) {
var RB = wD.add('radiobutton', pos, Config['label']);
extend(RB, Config['option']);
return RB;
},
'button': function (wD, pos, Config) {
var bT = wD.add('button', pos, Config['label'], {
name: Config['name']
});
extend(bT, Config['option']);
return bT;
},
'iconbutton': function (wD, pos, Config) {
try {
var SI = ScriptUI.newImage(Config['label']);
var iB = wD.add('iconbutton', pos, SI);
extend(iB, Config['option']);
return iB
} catch (e) {
return this.button(wD, pos, Config);
}
},
'dropdownlist': function (wD, pos, Config) {
var ddl = wD.add('dropdownlist', pos);
Config['list'] && this.addListItems(ddl, Config['list']);
ddl.selection = ddl.items[0];
extend(ddl, Config['option']);
return ddl;
},
'treeview': function (wD, pos, Config) {
var TB = wD.add('treeview', pos, '');
Config['list'] && this.addListItems(TB, Config['list']);
extend(TB, Config['option']);
return TB;
},
'listbox': function (wD, pos, Config) {
var TB = wD.add('listbox', pos, '');
Config['list'] && this.addListItems(TB, Config['list']);
extend(TB, Config['option']);
return TB;
},
'flashplayer': function (wD, pos, Config) {
var FP = wD.add('flashplayer', pos);
extend(FP, Config['option']);
return FP;
},
'progressbar': function (wD, pos, Config) {
var PB = wD.add('progressbar', pos);
extend(PB, Config['option']);
return PB;
},
'addListItems': function (TG, LIST) {
//$.bp();
switch (LIST.constructor.name) {
case 'Function':
LIST(TG);
//TG.selection = TG.items[0];
break;
case 'Array':
for (var x in LIST) {
TG.add('item', LIST[x]);
}
break;
case 'Object':
for (var x in LIST) {
TG.add('item', x);
}
//TG.selection = TG.items[0];
break;
}
},
'slider': function (wD, pos, Config) {
var SL = wD.add('slider', pos, '');
extend(SL, Config['option']);
return SL;
},
'group': function (wD, pos, Config) {
var GP = wD.add('group', pos, Config['label']);
GP.items = this.buildLayout(GP, Config['items']);
extend(GP, Config['option']);
//if(Config.option.hasOwnProperty('orientation') && Config['option']['orientation'] !== '--')GP.layout.resize();
return GP;
},
'panel': function (wD, pos, Config) {
var GP = wD.add('panel', pos, Config['label']);
GP.items = this.buildLayout(GP, Config['items']);
extend(GP, Config['option']);
return GP;
},
'save': function () {},
'items': {},
'getItem': function (name) {
return this.items.hasOwnProperty(name) ? this.items[name] : false;
},
'temp': {},
'buildLayout': function (wD, layout) {
var layout_L = layout.length;
var myitems = {};
for (var xi = 0; xi < layout_L; xi++) {
//$.writeln(layout[xi]['type']);
var ret = myDialogMaker.prototype[layout[xi]['type']](wD, layout[xi]['pos'], layout[xi]);
layout[xi].hasOwnProperty('name') && typeof layout[xi]['name'] == 'string' && myitems[layout[xi]['name']] = ret;
}
return myitems;
}
};
myDialogMaker.prototype.init.prototype = myDialogMaker.prototype;
})();
var buildDialogLayout = myDialogMaker.prototype.buildLayout;
var addListItems = myDialogMaker.prototype.addListItems;
var MDM = myDialogMaker;
function drawMosaicPictA(target, picData, point) {
var px = 0,
py = 0;
try {
px = typeof point[0] == 'number' ? point[0] : 0;
py = typeof point[1] == 'number' ? point[1] : 0;
} catch (e) {
}
try {
var r = g = b = 0,
z = {};
for (var i = 0; i < picData.height; i++) {
for (var j = 0; j < picData.width; j++) {
target.graphics.newPath();
target.graphics.rectPath((j * picData.pictsize + px), (i * picData.pictsize + py), picData.pictsize, picData.pictsize);
if (picData.type == 'mono') {
r = g = b = picData.data[i * picData.width + j];
} else {
r = picData.data.r[i * picData.width + j];
g = picData.data.g[i * picData.width + j];
b = picData.data.b[i * picData.width + j];
a = picData.data.a[i * picData.width + j];
};
z = target.graphics.newBrush(target.graphics.BrushType.SOLID_COLOR, [r, g, b, a]);
target.graphics.fillPath(z);
}
}
} catch (ex) {
$.writeln("xxx : " + ex);
}
};
/**Author: isamuyano
* http://code.google.com/p/csvdatajs/
*/
var CSVData = CSVData ||
function (fileObj) {
this.colDelimiter = ',';
this.data = function () {
fileObj.open('r');
var csvData = fileObj.read();
fileObj.close();
return csvData;
}
/**
* CSV data parser
* @param {String} data CSV textdata
* @return {Array} 2d
*/
this.parse = function () {
var data = this.data(),
rows = [],
cols = [],
quated = false,
colStartIndex = 0,
quateCount = 0;
for (i = 0; i < data.length; i++) {
var c = data.charAt(i);
if (c == '"') {
quateCount++;
if (!quated) {
quated = true;
} else {
if (quateCount % 2 == 0) {
if (i == data.length - 1 || data.charAt(i + 1) != '"') {
quated = false;
}
}
}
}
if (!quated) {
if (c == this.colDelimiter) {
var value = data.substring(colStartIndex, i);
value = this.unescape(value);
cols.push(value);
colStartIndex = i + 1;
} else if (c == '\r') {
var value = data.substring(colStartIndex, i);
value = this.unescape(value);
cols.push(value);
i += 1;
colStartIndex = i + 1;
rows.push(cols);
cols = new Array();
} else if (c == '\n') {
var value = data.substring(colStartIndex, i);
value = this.unescape(value);
cols.push(value);
colStartIndex = i + 1;
rows.push(cols);
cols = new Array();
}
}
}
return rows;
};
/**
* CSV column escape
* @param {String} value Column value
* @return {String} Escaped value
*/
this.escape = function (value) {
value = value.replace(/"/g, '""');
value = '"' + value + '"';
return value;
};
/**
* CSV column unescape
* @param {String} value Column value
* @return {String} Unescaped value
*/
this.unescape = function (value) {
if (value.charAt(0) == '"' && value.charAt(value.length - 1) == '"') {
value = value.substring(1, value.length - 1);
}
value = value.replace(/""/g, '"');
return value;
};
};
function btMsg(func) {
var bt = new BridgeTalk();
bt.target = 'illustrator';
bt.body = func;
//$.writeln(bt.body);
bt.onError = BridgeTalkErrorHandler;
bt.send();
}
function BridgeTalkErrorHandler(btObj) {
alert(btObj.body + '(' + btObj.headers['Error-Code'] + ')');
}
function selectfile() {
this.parent.items._DATA.text = File.openDialog('选择 CSV 文件', 'CSV 文件:*.csv').fsName;
}
function getImage() {
return String(new Folder().selectDlg('请选择图像路径:'));
}
function getValue(obj) {
return {
csvData: new CSVData(File(obj.items._DATA.text)).parse(),
folder: obj.items._IMG.text,
link: obj.items.LINK.value,
visib: obj.items.VISIB.value
};
}
function ImportData() {
try {
var docRef = activeDocument;
} catch (e) {
alert('仅能将变量导入已打开的文档,请新建或打开一个文档');
return
}
var Seetings = getValue(myD.items.OPTION),
csvData = Seetings.csvData,
textRef = [],
imageRef = [],
s = 0,
i, j, values, files, textVar, imgVar, visibilityVar, folderImg, img, iText, sub;
while (s < csvData[0].length) {
if (csvData[0][s] == 'image') {
sub = s;
break;
}
s++;
}
if (Seetings.link) {
files = new Folder(Seetings.folder).getFiles();
folderImg = docRef.placedItems[docRef.placedItems.length - 1];
imgVar = docRef.variables.add();
imgVar.kind = VariableKind.IMAGE;
imgVar.name = 'FolderImage';
folderImg.contentVariable = imgVar;
folderImg.file = files[0];
}
for (j = 1; j < csvData.length; j++) {
values = csvData[j];
if (Seetings.link) folderImg.file = files[j - 1];
for (i = 0; i < values.length; i++) {
if (Seetings.visib && i < docRef.pathItems.length) {
try {
visibilityVar = docRef.variables.getByName('VisualPath_' + (i + 1));
} catch (e) {
visibilityVar = docRef.variables.add();
visibilityVar.kind = VariableKind.VISIBILITY;
docRef.pathItems[i].visibilityVariable = visibilityVar;
visibilityVar.name = 'VisualPath_' + (i + 1);
}
docRef.pathItems[i].hidden = Math.round(Math.random());
}
if (csvData[0][i] == 'image') {
img = docRef.placedItems[i - sub];
try {
imgVar = docRef.variables.getByName('Image_' + (i - sub + 1));
} catch (e) {
imgVar = docRef.variables.add();
imgVar.kind = VariableKind.IMAGE;
imgVar.name = 'Image_' + (i - sub + 1);
img.contentVariable = imgVar;
}
img.file = new File(values[i]);
} else {
iText = docRef.textFrames[i];
try {
textVar = docRef.variables.getByName(csvData[0][i]);
} catch (e) {
textVar = docRef.variables.add();
textVar.kind = VariableKind.TEXTUAL;
textVar.name = csvData[0][i];
iText.contentVariable = textVar;
}
iText.contents = unescape(escape(values[i]).replace(/%0A/g, String.fromCharCode(13)));
}
}
docRef.dataSets.add();
}
docRef.dataSets[0].display();
}
function run() {
try {
btMsg(ImportData.toSource() + '();');
} catch (e) {
alert(e);
}
}
function datasetMakeup() {
var trim = 0,
sourceDoc = app.activeDocument,
wh = sourceDoc.width,
ht = sourceDoc.height,
sourceGroup = sourceDoc.groupItems[0],
itemWh = sourceGroup.pageItems[0].width,
itemHt = sourceGroup.pageItems[0].height,
repeatx = Math.floor((wh - trim * 2) / itemWh),
repeaty = Math.floor((ht - trim * 2) / itemHt),
itemPP = repeatx * repeaty,
pages = Math.ceil(sourceDoc.dataSets.length / itemPP),
offsetX = (wh - itemWh * repeatx) / 2,
offsetY = (ht - itemHt * repeaty) / 2,
targetDoc, dupRef, originX, originY, i, d, ab, t, k;
if (pages > 100) {
alert('超过画板上限,可尝试将数据分组载入...');
return
}
targetDoc = app.documents.add(DocumentColorSpace.CMYK, wh, ht, pages, DocumentArtboardLayout.GridByRow, 20.0, Math.round(Math.sqrt(pages)));
sourceDoc.activate();
for (d = 0; d < sourceDoc.dataSets.length; d++) {
sourceDoc.dataSets[d].display();
dupRef = sourceGroup.duplicate();
targetLayer = d === 0 ? targetDoc.layers[0] : targetDoc.layers.add();
dupRef.moveToEnd(targetLayer);
}
targetDoc.layers.add();
sourceDoc.close(SaveOptions.DONOTSAVECHANGES);
ab = 0;
for (i = targetDoc.layers.length - 1; i > 0; i -= itemPP) {
originX = targetDoc.artboards[ab].artboardRect[0];
originY = targetDoc.artboards[ab].artboardRect[1];
k = -1;
for (t = 0; t < itemPP; t++) {
if ((i - t) < 1) break;
if (t % repeatx == 0) {
k++;
}
dupRef = targetDoc.layers[i - t].groupItems[0];
dupRef.left = originX + offsetX + itemWh * (t % repeatx);
dupRef.top = originY - offsetY - itemHt * k;
}
ab++;
}
}
function datasetMerge() {
try {
btMsg(datasetMakeup.toSource() + '();');
} catch (e) {
alert(e);
}
}
function exportPDF() {
var export_PDF = function () {
var PDF = new PDFSaveOptions();
PDF.preserveEditability = false;
PDF.embedAllFonts = true;
PDF.viewAfterSaving = false;
var doc = app.activeDocument;
var dataFolder = new Folder('~/Desktop/Datasets');
if (!dataFolder.exists) dataFolder.create();
for (var i = 0; i < doc.dataSets.length; i++) {
doc.dataSets[i].display();
var myFile = new File(dataFolder + '/' + doc.dataSets[i].name);
doc.saveAs(myFile, PDF);
}
}
try {
btMsg(export_PDF.toSource() + '();');
} catch (e) {
alert(e);
}
}
function printDs() {
var func = function () {
var doc = app.activeDocument;
for (var i = 0; i < doc.dataSets.length; i++) {
doc.dataSets[i].display();
app.redraw();
doc.print();
}
}
try {
btMsg(func.toSource() + '();')
} catch (e) {
alert(e);
}
}
function helpme() {
var message = [
['* CSV文件首行用于命名变量',
'需符合XML规则(不含空格引号等特殊字符)',
'链接图数据列放置于最后', '一律命名"image"',
'图像路径参照"C:\\dir\\file.jpg"录入(不含引号)'].join(','),
['* 请事先创建相应数目占位符对象也即建立好模板再运行脚本',
'(若勾选增选图像源则占位符计数 + 1)。动态可视路径仅供娱乐',
'数量以数据列数为上限'].join(','),
['* 数据组打印, 请先使用{文件>打印}命令',
'作好各项打印设置,点击完成后再点按钮执行'].join(','),
['* 导出PDF,将数据组全部保存于桌面上新建的Datasets文件夹里'],
['* 合并数据组',
'根据页面大小将所有数据组拷贝至新文档进行自动拼版',
'请注意页数需小于 AI 画板上限'].join(','),
['* 建议将复杂非变量图形建立为符号',
'运行合并命令前需绘制定界矩形于最上层',
'将所有对象编组并放置于最顶层'].join(','),
['* 作者: animalia 跳入苹果 2011-7']
];
alert(message.join('\n\n'), '使用提示');
}
function GearIcon() {
return ({
type: 'rgb',
width: 24,
height: 24,
pictsize: 1,
data: {
r: [0.0, 0.0, 0.0, 0.0, 0.0, 0.02, 0.15, 0.13, 0.0, 0.32, 0.99, 0.99, 0.99, 0.99, 0.59, 0.0, 0.04, 0.06, 0.03, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.19, 0.84, 1.0, 0.99, 0.59, 0.64, 0.99, 1.0, 1.0, 0.99, 0.88, 0.38, 0.96, 1.0, 0.89, 0.25, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.03, 0.96, 0.99, 0.99, 0.99, 0.99, 0.99, 1.0, 1.0, 1.0, 1.0, 0.99, 0.99, 0.99, 0.99, 0.99, 0.98, 0.18, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.06, 1.0, 0.99, 1.0, 1.0, 0.99, 0.98, 1.0, 1.0, 1.0, 1.0, 0.99, 0.99, 1.0, 1.0, 1.0, 0.99, 0.25, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.01, 0.9, 1.0, 1.0, 1.0, 1.0, 1.0, 1.0, 1.0, 1.0, 1.0, 1.0, 1.0, 1.0, 1.0, 1.0, 0.99, 0.18, 0.0, 0.0, 0.0, 0.0, 0.18, 0.36, 0.32, 0.72, 0.99, 0.99, 0.99, 0.99, 0.99, 0.99, 0.99, 0.99, 0.99, 0.99, 0.99, 0.99, 0.99, 0.99, 0.91, 0.27, 0.27, 0.19, 0.0, 0.0, 0.87, 0.98, 0.98, 0.98, 0.98, 0.98, 0.98, 0.98, 0.98, 0.98, 0.98, 0.98, 0.98, 0.98, 0.98, 0.98, 0.98, 0.98, 0.98, 0.98, 0.98, 0.95, 0.05, 0.2, 0.97, 0.98, 0.98, 0.98, 0.98, 0.98, 0.98, 0.98, 0.98, 0.98, 0.95, 0.93, 0.98, 0.98, 0.98, 0.98, 0.98, 0.98, 0.98, 0.98, 0.98, 0.98, 0.33, 0.33, 0.97, 0.97, 0.97, 0.97, 0.97, 0.97, 0.97, 0.97, 0.97, 0.54, 0.06, 0.04, 0.45, 0.95, 0.97, 0.97, 0.97, 0.97, 0.97, 0.97, 0.97, 0.97, 0.51, 0.3, 0.96, 0.96, 0.96, 0.96, 0.96, 0.96, 0.96, 0.96, 0.52, 0.0, 0.0, 0.0, 0.0, 0.38, 0.96, 0.96, 0.96, 0.96, 0.96, 0.96, 0.96, 0.96, 0.47, 0.01, 0.42, 0.93, 0.96, 0.96, 0.96, 0.96, 0.96, 0.92, 0.05, 0.0, 0.0, 0.0, 0.0, 0.0, 0.82, 0.96, 0.96, 0.96, 0.96, 0.96, 0.96, 0.6, 0.05, 0.0, 0.22, 0.84, 0.95, 0.95, 0.95, 0.95, 0.95, 0.88, 0.02, 0.0, 0.0, 0.0, 0.0, 0.0, 0.77, 0.95, 0.95, 0.95, 0.95, 0.95, 0.92, 0.39, 0.0, 0.23, 0.93, 0.94, 0.95, 0.95, 0.95, 0.95, 0.95, 0.96, 0.38, 0.0, 0.0, 0.0, 0.0, 0.25, 0.96, 0.95, 0.95, 0.95, 0.95, 0.95, 0.95, 0.94, 0.4, 0.32, 0.94, 0.94, 0.94, 0.94, 0.94, 0.94, 0.94, 0.95, 0.94, 0.33, 0.0, 0.0, 0.24, 0.88, 0.95, 0.94, 0.94, 0.94, 0.94, 0.94, 0.94, 0.94, 0.49, 0.25, 0.93, 0.93, 0.93, 0.93, 0.93, 0.93, 0.93, 0.93, 0.95, 0.96, 0.78, 0.75, 0.96, 0.95, 0.93, 0.93, 0.93, 0.93, 0.93, 0.93, 0.93, 0.93, 0.37, 0.02, 0.86, 0.93, 0.93, 0.93, 0.93, 0.93, 0.93, 0.93, 0.93, 0.93, 0.95, 0.95, 0.94, 0.93, 0.93, 0.93, 0.93, 0.93, 0.93, 0.93, 0.93, 0.92, 0.1, 0.0, 0.29, 0.46, 0.46, 0.73, 0.92, 0.92, 0.92, 0.92, 0.92, 0.92, 0.92, 0.92, 0.92, 0.92, 0.92, 0.92, 0.92, 0.93, 0.86, 0.46, 0.46, 0.36, 0.0, 0.0, 0.0, 0.0, 0.0, 0.76, 0.91, 0.91, 0.91, 0.91, 0.91, 0.91, 0.91, 0.91, 0.91, 0.91, 0.91, 0.91, 0.91, 0.92, 0.94, 0.13, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.05, 0.9, 0.9, 0.9, 0.9, 0.9, 0.9, 0.9, 0.9, 0.9, 0.9, 0.9, 0.9, 0.9, 0.9, 0.9, 0.92, 0.23, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.04, 0.89, 0.9, 0.9, 0.9, 0.9, 0.9, 0.9, 0.9, 0.9, 0.9, 0.89, 0.9, 0.9, 0.9, 0.9, 0.9, 0.21, 0.0, 0.0, 0.0, 0.09, 0.16, 0.21, 0.24, 0.58, 0.81, 0.85, 0.84, 0.78, 0.76, 0.88, 0.89, 0.89, 0.89, 0.81, 0.75, 0.82, 0.85, 0.82, 0.64, 0.24, 0.21, 0.16, 0.09, 0.64, 0.64, 0.64, 0.64, 0.64, 0.64, 0.65, 0.65, 0.64, 0.64, 0.76, 0.88, 0.88, 0.8, 0.65, 0.64, 0.64, 0.65, 0.64, 0.64, 0.64, 0.64, 0.64, 0.64, 0.64, 0.64, 0.64, 0.64, 0.64, 0.64, 0.64, 0.64, 0.64, 0.64, 0.64, 0.67, 0.67, 0.64, 0.64, 0.64, 0.64, 0.64, 0.64, 0.64, 0.64, 0.64, 0.64, 0.64, 0.5, 0.58, 0.64, 0.64, 0.64, 0.64, 0.64, 0.64, 0.64, 0.64, 0.64, 0.64, 0.64, 0.64, 0.64, 0.64, 0.64, 0.64, 0.64, 0.64, 0.64, 0.64, 0.58, 0.5],
g: [0.0, 0.0, 0.0, 0.0, 0.0, 0.02, 0.11, 0.1, 0.0, 0.24, 0.77, 0.8, 0.8, 0.78, 0.45, 0.0, 0.03, 0.04, 0.02, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.14, 0.64, 0.76, 0.77, 0.46, 0.49, 0.78, 0.75, 0.75, 0.77, 0.68, 0.29, 0.75, 0.76, 0.68, 0.19, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.02, 0.73, 0.78, 0.79, 0.8, 0.8, 0.78, 0.76, 0.75, 0.74, 0.75, 0.77, 0.79, 0.8, 0.79, 0.78, 0.75, 0.14, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.04, 0.75, 0.76, 0.74, 0.74, 0.78, 0.8, 0.75, 0.74, 0.74, 0.74, 0.8, 0.79, 0.75, 0.74, 0.76, 0.76, 0.18, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.01, 0.67, 0.74, 0.74, 0.74, 0.74, 0.74, 0.74, 0.74, 0.74, 0.74, 0.74, 0.74, 0.74, 0.74, 0.74, 0.74, 0.13, 0.0, 0.0, 0.0, 0.0, 0.13, 0.27, 0.24, 0.54, 0.73, 0.73, 0.73, 0.73, 0.73, 0.73, 0.73, 0.73, 0.73, 0.73, 0.73, 0.73, 0.73, 0.73, 0.67, 0.21, 0.2, 0.14, 0.0, 0.0, 0.65, 0.76, 0.81, 0.81, 0.77, 0.72, 0.72, 0.72, 0.72, 0.72, 0.72, 0.72, 0.72, 0.72, 0.72, 0.72, 0.72, 0.76, 0.81, 0.81, 0.77, 0.71, 0.04, 0.14, 0.72, 0.75, 0.71, 0.71, 0.71, 0.71, 0.71, 0.71, 0.71, 0.71, 0.69, 0.68, 0.71, 0.71, 0.71, 0.71, 0.71, 0.71, 0.71, 0.71, 0.74, 0.73, 0.24, 0.24, 0.72, 0.7, 0.7, 0.7, 0.7, 0.7, 0.7, 0.7, 0.7, 0.39, 0.04, 0.02, 0.33, 0.69, 0.7, 0.7, 0.7, 0.7, 0.7, 0.7, 0.7, 0.72, 0.37, 0.22, 0.69, 0.69, 0.69, 0.69, 0.69, 0.69, 0.69, 0.69, 0.37, 0.0, 0.0, 0.0, 0.0, 0.27, 0.69, 0.69, 0.69, 0.69, 0.69, 0.69, 0.69, 0.69, 0.34, 0.0, 0.3, 0.66, 0.68, 0.68, 0.68, 0.68, 0.68, 0.65, 0.03, 0.0, 0.0, 0.0, 0.0, 0.0, 0.58, 0.68, 0.68, 0.68, 0.68, 0.68, 0.68, 0.42, 0.04, 0.0, 0.15, 0.58, 0.66, 0.67, 0.67, 0.67, 0.67, 0.67, 0.01, 0.0, 0.0, 0.0, 0.0, 0.0, 0.59, 0.67, 0.67, 0.67, 0.67, 0.67, 0.64, 0.27, 0.0, 0.16, 0.64, 0.65, 0.65, 0.65, 0.65, 0.65, 0.65, 0.75, 0.33, 0.0, 0.0, 0.0, 0.0, 0.22, 0.76, 0.66, 0.65, 0.65, 0.65, 0.65, 0.65, 0.65, 0.27, 0.22, 0.64, 0.64, 0.65, 0.65, 0.64, 0.65, 0.65, 0.72, 0.78, 0.28, 0.0, 0.0, 0.21, 0.74, 0.73, 0.65, 0.64, 0.65, 0.65, 0.64, 0.65, 0.64, 0.34, 0.17, 0.64, 0.64, 0.64, 0.64, 0.64, 0.64, 0.64, 0.64, 0.75, 0.8, 0.67, 0.64, 0.81, 0.76, 0.64, 0.64, 0.64, 0.64, 0.64, 0.64, 0.64, 0.64, 0.25, 0.01, 0.58, 0.62, 0.62, 0.62, 0.62, 0.62, 0.62, 0.62, 0.62, 0.67, 0.72, 0.72, 0.68, 0.62, 0.62, 0.62, 0.62, 0.62, 0.62, 0.62, 0.62, 0.62, 0.07, 0.0, 0.2, 0.31, 0.31, 0.49, 0.61, 0.61, 0.61, 0.61, 0.61, 0.61, 0.61, 0.61, 0.61, 0.61, 0.61, 0.61, 0.61, 0.64, 0.64, 0.31, 0.31, 0.24, 0.0, 0.0, 0.0, 0.0, 0.0, 0.5, 0.6, 0.6, 0.6, 0.6, 0.6, 0.6, 0.6, 0.6, 0.6, 0.6, 0.6, 0.6, 0.6, 0.62, 0.74, 0.1, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.04, 0.59, 0.59, 0.59, 0.59, 0.59, 0.59, 0.59, 0.59, 0.59, 0.59, 0.59, 0.59, 0.59, 0.59, 0.59, 0.65, 0.16, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.03, 0.58, 0.58, 0.58, 0.58, 0.58, 0.58, 0.58, 0.58, 0.58, 0.58, 0.58, 0.58, 0.58, 0.58, 0.58, 0.58, 0.14, 0.0, 0.0, 0.0, 0.09, 0.16, 0.21, 0.24, 0.47, 0.6, 0.58, 0.58, 0.6, 0.59, 0.57, 0.57, 0.57, 0.57, 0.59, 0.59, 0.59, 0.58, 0.59, 0.51, 0.24, 0.21, 0.16, 0.09, 0.64, 0.64, 0.64, 0.64, 0.64, 0.64, 0.64, 0.64, 0.64, 0.64, 0.6, 0.56, 0.56, 0.58, 0.64, 0.64, 0.64, 0.64, 0.64, 0.64, 0.64, 0.64, 0.64, 0.64, 0.64, 0.64, 0.64, 0.64, 0.64, 0.64, 0.64, 0.64, 0.64, 0.64, 0.64, 0.63, 0.63, 0.64, 0.64, 0.64, 0.64, 0.64, 0.64, 0.64, 0.64, 0.64, 0.64, 0.64, 0.5, 0.58, 0.64, 0.64, 0.64, 0.64, 0.64, 0.64, 0.64, 0.64, 0.64, 0.64, 0.64, 0.64, 0.64, 0.64, 0.64, 0.64, 0.64, 0.64, 0.64, 0.64, 0.58, 0.5],
b: [0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.01, 0.14, 0.27, 0.28, 0.16, 0.04, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.05, 0.06, 0.12, 0.07, 0.06, 0.16, 0.0, 0.0, 0.15, 0.1, 0.04, 0.13, 0.06, 0.06, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.04, 0.19, 0.23, 0.25, 0.26, 0.16, 0.08, 0.0, 0.0, 0.05, 0.15, 0.24, 0.27, 0.23, 0.2, 0.07, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.03, 0.11, 0.0, 0.0, 0.16, 0.31, 0.02, 0.0, 0.0, 0.0, 0.27, 0.21, 0.0, 0.0, 0.1, 0.08, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.01, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.02, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.01, 0.03, 0.03, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.02, 0.03, 0.02, 0.0, 0.0, 0.0, 0.04, 0.19, 0.39, 0.38, 0.21, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.15, 0.36, 0.39, 0.23, 0.06, 0.0, 0.0, 0.06, 0.13, 0.0, 0.01, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.01, 0.0, 0.13, 0.08, 0.0, 0.0, 0.07, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.09, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.01, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.02, 0.18, 0.01, 0.0, 0.0, 0.0, 0.0, 0.0, 0.16, 0.02, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.27, 0.2, 0.0, 0.0, 0.0, 0.0, 0.13, 0.31, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.2, 0.41, 0.18, 0.0, 0.0, 0.13, 0.4, 0.22, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.01, 0.29, 0.43, 0.38, 0.37, 0.45, 0.31, 0.01, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.13, 0.23, 0.24, 0.13, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.07, 0.16, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.05, 0.31, 0.05, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.14, 0.03, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.09, 0.16, 0.21, 0.24, 0.27, 0.21, 0.11, 0.14, 0.29, 0.28, 0.02, 0.0, 0.0, 0.0, 0.2, 0.32, 0.17, 0.11, 0.19, 0.27, 0.24, 0.21, 0.16, 0.09, 0.64, 0.64, 0.64, 0.64, 0.64, 0.64, 0.61, 0.62, 0.64, 0.63, 0.31, 0.0, 0.0, 0.21, 0.62, 0.64, 0.63, 0.62, 0.64, 0.64, 0.64, 0.64, 0.64, 0.64, 0.64, 0.64, 0.64, 0.64, 0.64, 0.64, 0.64, 0.64, 0.64, 0.64, 0.64, 0.57, 0.57, 0.63, 0.64, 0.64, 0.64, 0.64, 0.64, 0.64, 0.64, 0.64, 0.64, 0.64, 0.5, 0.58, 0.64, 0.64, 0.64, 0.64, 0.64, 0.64, 0.64, 0.64, 0.64, 0.64, 0.64, 0.64, 0.64, 0.64, 0.64, 0.64, 0.64, 0.64, 0.64, 0.64, 0.58, 0.5],
a: [0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.28, 0.79, 0.8, 0.41, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.23, 0.08, 0.0, 0.0, 0.69, 1.0, 1.0, 0.87, 0.0, 0.0, 0.03, 0.22, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.03, 0.6, 1.0, 0.89, 0.23, 0.03, 0.95, 1.0, 1.0, 1.0, 0.16, 0.13, 0.8, 1.0, 0.62, 0.04, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.28, 1.0, 1.0, 1.0, 0.98, 0.68, 1.0, 1.0, 1.0, 1.0, 0.73, 0.93, 1.0, 1.0, 1.0, 0.43, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.04, 0.95, 1.0, 1.0, 1.0, 1.0, 1.0, 1.0, 1.0, 1.0, 1.0, 1.0, 1.0, 1.0, 1.0, 0.16, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.63, 1.0, 1.0, 1.0, 1.0, 1.0, 1.0, 1.0, 1.0, 1.0, 1.0, 1.0, 1.0, 0.81, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.02, 0.49, 0.52, 0.49, 0.7, 1.0, 1.0, 1.0, 1.0, 1.0, 1.0, 1.0, 1.0, 1.0, 1.0, 1.0, 1.0, 0.79, 0.49, 0.51, 0.49, 0.02, 0.0, 0.0, 0.26, 1.0, 1.0, 1.0, 1.0, 1.0, 1.0, 1.0, 0.91, 0.42, 0.15, 0.15, 0.4, 0.89, 1.0, 1.0, 1.0, 1.0, 1.0, 1.0, 1.0, 0.3, 0.0, 0.0, 0.57, 1.0, 1.0, 1.0, 1.0, 1.0, 1.0, 0.89, 0.11, 0.0, 0.0, 0.0, 0.0, 0.09, 0.87, 1.0, 1.0, 1.0, 1.0, 1.0, 1.0, 0.62, 0.0, 0.0, 0.24, 0.89, 1.0, 1.0, 1.0, 1.0, 1.0, 0.35, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.31, 1.0, 1.0, 1.0, 1.0, 1.0, 0.95, 0.33, 0.0, 0.0, 0.0, 0.07, 0.65, 1.0, 1.0, 1.0, 0.99, 0.05, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.02, 0.97, 1.0, 1.0, 1.0, 0.76, 0.13, 0.0, 0.0, 0.0, 0.0, 0.0, 0.35, 0.99, 1.0, 1.0, 0.98, 0.02, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.96, 1.0, 1.0, 1.0, 0.51, 0.01, 0.0, 0.0, 0.0, 0.07, 0.65, 1.0, 1.0, 1.0, 1.0, 1.0, 0.22, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.18, 1.0, 1.0, 1.0, 1.0, 1.0, 0.76, 0.13, 0.0, 0.0, 0.59, 1.0, 1.0, 1.0, 1.0, 1.0, 1.0, 0.74, 0.01, 0.0, 0.0, 0.0, 0.0, 0.0, 0.7, 1.0, 1.0, 1.0, 1.0, 1.0, 1.0, 0.65, 0.0, 0.0, 0.36, 1.0, 1.0, 1.0, 1.0, 1.0, 1.0, 1.0, 0.7, 0.12, 0.0, 0.0, 0.11, 0.67, 1.0, 1.0, 1.0, 1.0, 1.0, 1.0, 1.0, 0.4, 0.0, 0.0, 0.06, 0.79, 0.83, 0.8, 0.88, 1.0, 1.0, 1.0, 1.0, 0.99, 0.85, 0.84, 0.99, 1.0, 1.0, 1.0, 1.0, 0.92, 0.79, 0.82, 0.8, 0.08, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.52, 1.0, 1.0, 1.0, 1.0, 1.0, 1.0, 1.0, 1.0, 1.0, 1.0, 1.0, 1.0, 0.7, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.87, 1.0, 1.0, 1.0, 1.0, 1.0, 1.0, 1.0, 1.0, 1.0, 1.0, 1.0, 1.0, 0.98, 0.08, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.22, 1.0, 1.0, 1.0, 1.0, 0.92, 1.0, 1.0, 1.0, 1.0, 0.92, 1.0, 1.0, 1.0, 1.0, 0.39, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.13, 0.85, 1.0, 0.99, 0.52, 0.1, 0.98, 1.0, 1.0, 1.0, 0.25, 0.38, 0.96, 1.0, 0.87, 0.17, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.05, 0.54, 0.29, 0.0, 0.0, 0.78, 1.0, 1.0, 0.94, 0.02, 0.0, 0.18, 0.53, 0.06, 0.0, 0.0, 0.0, 0.0, 0.0, 0.02, 0.08, 0.13, 0.17, 0.2, 0.24, 0.27, 0.27, 0.27, 0.32, 0.69, 1.0, 1.0, 0.8, 0.32, 0.27, 0.27, 0.27, 0.23, 0.2, 0.16, 0.13, 0.07, 0.01, 0.15, 0.49, 0.64, 0.73, 0.77, 0.82, 0.84, 0.85, 0.88, 0.89, 0.9, 0.91, 0.91, 0.9, 0.89, 0.88, 0.85, 0.84, 0.82, 0.76, 0.72, 0.63, 0.47, 0.11, 0.0, 0.01, 0.03, 0.05, 0.06, 0.09, 0.09, 0.1, 0.13, 0.14, 0.14, 0.14, 0.14, 0.14, 0.14, 0.13, 0.1, 0.09, 0.09, 0.06, 0.05, 0.03, 0.01, 0.0]
}
})
}
function HintIcon() {
return ({
type: 'rgb',
width: 23,
height: 23,
pictsize: 1,
data: {
r: [1.0, 1.0, 1.0, 1.0, 1.0, 1.0, 1.0, 1.0, 1.0, 1.0, 1.0, 1.0, 1.0, 1.0, 1.0, 1.0, 1.0, 1.0, 1.0, 1.0, 1.0, 1.0, 1.0, 1.0, 1.0, 1.0, 1.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 1.0, 1.0, 1.0, 1.0, 1.0, 1.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 1.0, 1.0, 1.0, 1.0, 1.0, 1.0, 0.0, 0.0, 0.0, 0.0, 0.93, 0.94, 0.94, 0.94, 0.93, 0.92, 0.85, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 1.0, 1.0, 1.0, 1.0, 1.0, 1.0, 0.0, 0.0, 0.0, 0.93, 0.96, 0.99, 0.99, 1.0, 1.0, 0.98, 0.95, 0.85, 0.0, 0.0, 0.0, 0.0, 0.0, 1.0, 1.0, 1.0, 1.0, 1.0, 1.0, 0.0, 0.0, 0.93, 0.96, 1.0, 0.99, 1.0, 1.0, 1.0, 1.0, 1.0, 0.94, 0.75, 0.0, 0.0, 0.0, 0.0, 1.0, 1.0, 1.0, 1.0, 1.0, 1.0, 0.0, 0.0, 0.93, 0.99, 1.0, 1.0, 1.0, 1.0, 1.0, 0.99, 0.98, 0.98, 0.85, 0.0, 0.0, 0.0, 0.0, 1.0, 1.0, 1.0, 1.0, 1.0, 1.0, 0.0, 0.0, 0.93, 1.0, 1.0, 1.0, 0.99, 1.0, 1.0, 0.99, 0.98, 0.97, 0.87, 0.0, 0.0, 0.0, 0.0, 1.0, 1.0, 1.0, 1.0, 1.0, 1.0, 0.0, 0.0, 0.93, 0.99, 1.0, 1.0, 1.0, 1.0, 1.0, 0.99, 0.97, 0.95, 0.85, 0.0, 0.0, 0.0, 0.0, 1.0, 1.0, 1.0, 1.0, 1.0, 1.0, 0.0, 0.0, 0.93, 0.98, 1.0, 1.0, 1.0, 1.0, 0.99, 0.96, 0.94, 0.92, 0.83, 0.0, 0.0, 0.0, 0.0, 1.0, 1.0, 1.0, 1.0, 1.0, 1.0, 0.0, 0.0, 0.91, 0.98, 0.99, 1.0, 1.0, 0.99, 0.96, 0.94, 0.91, 0.89, 0.77, 0.0, 0.0, 0.0, 0.0, 1.0, 1.0, 1.0, 1.0, 1.0, 1.0, 0.0, 0.0, 0.85, 0.94, 0.99, 1.0, 0.98, 0.96, 0.94, 0.92, 0.89, 0.82, 0.56, 0.0, 0.0, 0.0, 0.0, 1.0, 1.0, 1.0, 1.0, 1.0, 1.0, 0.0, 0.0, 0.0, 0.87, 0.96, 0.97, 0.96, 0.93, 0.91, 0.89, 0.85, 0.72, 0.0, 0.0, 0.0, 0.0, 0.0, 1.0, 1.0, 1.0, 1.0, 1.0, 1.0, 0.0, 0.0, 0.0, 0.56, 0.86, 0.93, 0.93, 0.91, 0.89, 0.86, 0.76, 0.21, 0.0, 0.0, 0.0, 0.0, 0.0, 1.0, 1.0, 1.0, 1.0, 1.0, 1.0, 0.0, 0.0, 0.0, 0.0, 0.74, 0.86, 0.91, 0.89, 0.87, 0.8, 0.49, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 1.0, 1.0, 1.0, 1.0, 1.0, 1.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.75, 0.82, 0.8, 0.78, 0.69, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 1.0, 1.0, 1.0, 1.0, 1.0, 1.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.18, 0.31, 0.31, 0.32, 0.12, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 1.0, 1.0, 1.0, 1.0, 1.0, 1.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.15, 0.56, 0.56, 0.54, 0.13, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 1.0, 1.0, 1.0, 1.0, 1.0, 1.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.11, 0.32, 0.45, 0.31, 0.13, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 1.0, 1.0, 1.0, 1.0, 1.0, 1.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.11, 0.27, 0.12, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 1.0, 1.0, 1.0, 1.0, 1.0, 1.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 1.0, 1.0, 1.0, 1.0, 1.0, 1.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 1.0, 1.0, 1.0, 1.0, 1.0, 1.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 1.0, 1.0],
g: [1.0, 1.0, 1.0, 1.0, 1.0, 1.0, 1.0, 1.0, 1.0, 1.0, 1.0, 1.0, 1.0, 1.0, 1.0, 1.0, 1.0, 1.0, 1.0, 1.0, 1.0, 1.0, 1.0, 1.0, 1.0, 1.0, 1.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 1.0, 1.0, 1.0, 1.0, 1.0, 1.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 1.0, 1.0, 1.0, 1.0, 1.0, 1.0, 0.0, 0.0, 0.0, 0.0, 0.8, 0.8, 0.82, 0.83, 0.81, 0.75, 0.69, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 1.0, 1.0, 1.0, 1.0, 1.0, 1.0, 0.0, 0.0, 0.0, 0.8, 0.85, 0.96, 1.0, 1.0, 0.98, 0.92, 0.79, 0.66, 0.0, 0.0, 0.0, 0.0, 0.0, 1.0, 1.0, 1.0, 1.0, 1.0, 1.0, 0.0, 0.0, 0.79, 0.85, 1.0, 1.0, 1.0, 1.0, 0.98, 0.96, 0.94, 0.75, 0.55, 0.0, 0.0, 0.0, 0.0, 1.0, 1.0, 1.0, 1.0, 1.0, 1.0, 0.0, 0.0, 0.78, 0.95, 1.0, 1.0, 1.0, 0.98, 0.96, 0.95, 0.93, 0.88, 0.61, 0.0, 0.0, 0.0, 0.0, 1.0, 1.0, 1.0, 1.0, 1.0, 1.0, 0.0, 0.0, 0.8, 1.0, 1.0, 1.0, 0.98, 0.98, 0.95, 0.94, 0.92, 0.9, 0.65, 0.0, 0.0, 0.0, 0.0, 1.0, 1.0, 1.0, 1.0, 1.0, 1.0, 0.0, 0.0, 0.81, 1.0, 1.0, 0.99, 1.0, 0.96, 0.95, 0.92, 0.89, 0.88, 0.6, 0.0, 0.0, 0.0, 0.0, 1.0, 1.0, 1.0, 1.0, 1.0, 1.0, 0.0, 0.0, 0.78, 1.0, 1.0, 0.98, 0.97, 0.97, 0.92, 0.9, 0.87, 0.86, 0.55, 0.0, 0.0, 0.0, 0.0, 1.0, 1.0, 1.0, 1.0, 1.0, 1.0, 0.0, 0.0, 0.72, 0.96, 1.0, 0.98, 0.96, 0.95, 0.91, 0.87, 0.85, 0.82, 0.45, 0.0, 0.0, 0.0, 0.0, 1.0, 1.0, 1.0, 1.0, 1.0, 1.0, 0.0, 0.0, 0.66, 0.79, 1.0, 0.99, 0.96, 0.93, 0.87, 0.85, 0.84, 0.59, 0.34, 0.0, 0.0, 0.0, 0.0, 1.0, 1.0, 1.0, 1.0, 1.0, 1.0, 0.0, 0.0, 0.0, 0.65, 0.84, 0.97, 0.93, 0.89, 0.86, 0.83, 0.71, 0.42, 0.0, 0.0, 0.0, 0.0, 0.0, 1.0, 1.0, 1.0, 1.0, 1.0, 1.0, 0.0, 0.0, 0.0, 0.43, 0.65, 0.86, 0.91, 0.89, 0.84, 0.78, 0.44, 0.13, 0.0, 0.0, 0.0, 0.0, 0.0, 1.0, 1.0, 1.0, 1.0, 1.0, 1.0, 0.0, 0.0, 0.0, 0.0, 0.56, 0.71, 0.89, 0.87, 0.85, 0.6, 0.3, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 1.0, 1.0, 1.0, 1.0, 1.0, 1.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.56, 0.69, 0.67, 0.65, 0.49, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 1.0, 1.0, 1.0, 1.0, 1.0, 1.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.07, 0.16, 0.16, 0.16, 0.04, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 1.0, 1.0, 1.0, 1.0, 1.0, 1.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.05, 0.44, 0.44, 0.43, 0.04, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 1.0, 1.0, 1.0, 1.0, 1.0, 1.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.03, 0.19, 0.33, 0.18, 0.04, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 1.0, 1.0, 1.0, 1.0, 1.0, 1.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.03, 0.17, 0.04, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 1.0, 1.0, 1.0, 1.0, 1.0, 1.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 1.0, 1.0, 1.0, 1.0, 1.0, 1.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 1.0, 1.0, 1.0, 1.0, 1.0, 1.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 1.0, 1.0],
b: [1.0, 1.0, 1.0, 1.0, 1.0, 1.0, 1.0, 1.0, 1.0, 1.0, 1.0, 1.0, 1.0, 1.0, 1.0, 1.0, 1.0, 1.0, 1.0, 1.0, 1.0, 1.0, 1.0, 1.0, 1.0, 1.0, 1.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 1.0, 1.0, 1.0, 1.0, 1.0, 1.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 1.0, 1.0, 1.0, 1.0, 1.0, 1.0, 0.0, 0.0, 0.0, 0.0, 0.38, 0.38, 0.36, 0.33, 0.29, 0.24, 0.18, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 1.0, 1.0, 1.0, 1.0, 1.0, 1.0, 0.0, 0.0, 0.0, 0.38, 0.38, 0.65, 0.71, 0.63, 0.52, 0.35, 0.16, 0.09, 0.0, 0.0, 0.0, 0.0, 0.0, 1.0, 1.0, 1.0, 1.0, 1.0, 1.0, 0.0, 0.0, 0.35, 0.37, 0.81, 0.82, 0.74, 0.59, 0.48, 0.36, 0.23, 0.05, 0.0, 0.0, 0.0, 0.0, 0.0, 1.0, 1.0, 1.0, 1.0, 1.0, 1.0, 0.0, 0.0, 0.33, 0.69, 0.94, 0.98, 0.87, 0.55, 0.43, 0.3, 0.19, 0.02, 0.0, 0.0, 0.0, 0.0, 0.0, 1.0, 1.0, 1.0, 1.0, 1.0, 1.0, 0.0, 0.0, 0.29, 0.86, 1.0, 0.97, 0.77, 0.48, 0.35, 0.22, 0.13, 0.08, 0.0, 0.0, 0.0, 0.0, 0.0, 1.0, 1.0, 1.0, 1.0, 1.0, 1.0, 0.0, 0.0, 0.25, 0.8, 0.99, 0.96, 0.69, 0.4, 0.26, 0.15, 0.1, 0.07, 0.0, 0.0, 0.0, 0.0, 0.0, 1.0, 1.0, 1.0, 1.0, 1.0, 1.0, 0.0, 0.0, 0.2, 0.66, 0.94, 0.93, 0.71, 0.3, 0.19, 0.14, 0.09, 0.06, 0.0, 0.0, 0.0, 0.0, 0.0, 1.0, 1.0, 1.0, 1.0, 1.0, 1.0, 0.0, 0.0, 0.14, 0.46, 0.57, 0.71, 0.65, 0.22, 0.16, 0.11, 0.07, 0.01, 0.0, 0.0, 0.0, 0.0, 0.0, 1.0, 1.0, 1.0, 1.0, 1.0, 1.0, 0.0, 0.0, 0.08, 0.06, 0.39, 0.33, 0.25, 0.18, 0.14, 0.09, 0.06, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 1.0, 1.0, 1.0, 1.0, 1.0, 1.0, 0.0, 0.0, 0.0, 0.0, 0.07, 0.26, 0.21, 0.16, 0.11, 0.07, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 1.0, 1.0, 1.0, 1.0, 1.0, 1.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.11, 0.17, 0.12, 0.09, 0.01, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 1.0, 1.0, 1.0, 1.0, 1.0, 1.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.14, 0.11, 0.06, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 1.0, 1.0, 1.0, 1.0, 1.0, 1.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.02, 0.02, 0.01, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 1.0, 1.0, 1.0, 1.0, 1.0, 1.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 1.0, 1.0, 1.0, 1.0, 1.0, 1.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.2, 0.19, 0.18, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 1.0, 1.0, 1.0, 1.0, 1.0, 1.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.01, 0.11, 0.01, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 1.0, 1.0, 1.0, 1.0, 1.0, 1.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.02, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 1.0, 1.0, 1.0, 1.0, 1.0, 1.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 1.0, 1.0, 1.0, 1.0, 1.0, 1.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 1.0, 1.0, 1.0, 1.0, 1.0, 1.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 1.0, 1.0],
a: [0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.32, 0.82, 1.0, 1.0, 1.0, 0.82, 0.34, 0.02, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.51, 1.0, 1.0, 1.0, 1.0, 1.0, 1.0, 1.0, 0.54, 0.03, 0.01, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.32, 1.0, 1.0, 1.0, 1.0, 1.0, 1.0, 1.0, 1.0, 1.0, 0.38, 0.03, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.82, 1.0, 1.0, 1.0, 1.0, 1.0, 1.0, 1.0, 1.0, 1.0, 0.84, 0.08, 0.02, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 1.0, 1.0, 1.0, 1.0, 1.0, 1.0, 1.0, 1.0, 1.0, 1.0, 1.0, 0.12, 0.04, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 1.0, 1.0, 1.0, 1.0, 1.0, 1.0, 1.0, 1.0, 1.0, 1.0, 1.0, 0.15, 0.05, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 1.0, 1.0, 1.0, 1.0, 1.0, 1.0, 1.0, 1.0, 1.0, 1.0, 1.0, 0.15, 0.05, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.82, 1.0, 1.0, 1.0, 1.0, 1.0, 1.0, 1.0, 1.0, 1.0, 0.85, 0.15, 0.05, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.34, 1.0, 1.0, 1.0, 1.0, 1.0, 1.0, 1.0, 1.0, 1.0, 0.44, 0.12, 0.04, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.02, 0.71, 1.0, 1.0, 1.0, 1.0, 1.0, 1.0, 1.0, 0.75, 0.16, 0.08, 0.02, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.1, 0.83, 1.0, 1.0, 1.0, 1.0, 1.0, 0.9, 0.23, 0.11, 0.04, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.01, 0.29, 1.0, 1.0, 1.0, 1.0, 1.0, 0.39, 0.13, 0.06, 0.01, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.02, 1.0, 1.0, 1.0, 1.0, 1.0, 0.17, 0.09, 0.02, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 1.0, 1.0, 1.0, 1.0, 1.0, 0.15, 0.05, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 1.0, 1.0, 1.0, 1.0, 1.0, 0.15, 0.05, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.82, 1.0, 1.0, 1.0, 0.95, 0.15, 0.05, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.42, 0.84, 1.0, 0.9, 0.51, 0.13, 0.04, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.02, 0.26, 0.45, 0.33, 0.14, 0.08, 0.02, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.02, 0.05, 0.07, 0.06, 0.03, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.01, 0.02, 0.01, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0]
}
})
}
var myD = MDM({
type: 'palette',
title: '变量巫术师 V 2.0',
option: {
closeOnKey: 'OSCmnd+W'
},
layout: [
{
name: 'OPTION',
type: 'panel',
label: '变量创建',
pos: [0, 0, 315, 190],
items: [
{
type: 'statictext',
label: '变量数据源:',
pos: [10, 10, 100, 30]
},
{
name: 'DATA',
type: 'button',
label: 'CSV文件',
pos: [10, 30, 100, 55],
option: {
onClick: function () {
this.parent.items._DATA.text = File.openDialog('选择 CSV 文件', 'CSV 文件:*.csv').fsName;
}
}
},
{
name: '_DATA',
type: 'edittext',
label: '',
pos: [110, 30, 300, 55]
},
{
name: 'LINK',
type: 'checkbox',
label: '增选链接图像',
pos: [10, 60, 50, 80]
},
{
name: 'IMG',
type: 'button',
label: '图像文件夹',
pos: [10, 85, 100, 110],
option: {
onClick: function () {
this.parent.items._IMG.text = new Folder().selectDlg('请选择图像路径:').fsName;
}
}
},
{
name: '_IMG',
type: 'edittext',
label: '',
pos: [110, 85, 300, 110]
},
{
type: 'statictext',
label: '动态可视路径:',
pos: [10, 120, 100, 140]
},
{
name: 'VISIB',
type: 'checkbox',
label: '创建随机可视性',
pos: [110, 118, 150, 138]
},
{
name: 'OK',
type: 'button',
label: '确定',
pos: [110, 145, 200, 170],
option: {
onClick: run
}
},
]
},
{
type: 'panel',
label: '数据组处理',
pos: [0, 0, 315, 65],
items: [
{
type: 'statictext',
label: '',
pos: [0, 0, 1, 1]
},
{
name: 'MERGE',
type: 'button',
label: '合并数据组',
pos: [10, 15, 100, 40],
option: {
onClick: datasetMerge
}
},
{
name: 'EXPORT',
type: 'button',
label: '批导出PDF',
pos: [110, 15, 200, 40],
option: {
onClick: exportPDF
}
},
{
name: 'PRINT',
type: 'button',
label: '批打印',
pos: [210, 15, 300, 40],
option: {
onClick: printDs
}
},
]
},
{
name: '',
type: 'group',
label: '',
pos: [0, 0, 315, 24],
items: [
{
name: '',
type: 'button',
label: '使用提示',
pos: [0, 0, 23, 23],
option: {
onDraw: function () {
drawMosaicPictA(this, HintIcon());
},
onClick: helpme
}
},
{
name: '',
type: 'button',
label: '',
pos: [50, 0, 74, 24],
option: {
onDraw: function () {
drawMosaicPictA(this, GearIcon());
},
onClick: function () {
var s = $.screens[0].toString().split ('-')[1].split(':');
this.location = [50 + Math.random() * 240, this.location[1]];
while (this.parent.parent.location[0] < s[0]-15){
this.parent.parent.location = [this.parent.parent.location[0]+10, this.parent.parent.location[1]];
}
}
}
}
]
}
]
});
myD.wD.show();
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment