--- Icon builder use svg and inkscape
--- build=false skip to not rebuild Icon
--- paths = {{background},{foreground}}
--- -> put a list of path or polygon
--- -> for path {d="...",transform="rotate(-45.001 2.5 2.5)"} transform is optionnal
--- -> for polygon {p="...",transform="scale(0.5)"} transform is optionnal
--- at the end file you can change some parameter
--- -> for rebuild all change this at true: local force_build = false
--- -> for locate inkscape change: local inkscape = "E:\\Autre\\inkscape\\bin\\inkscape"
local sprites = {
    {
        name="add_table",
        size=64,
        count=4,
        colors = {
            black=true,
            white=true
        },
        paths={{

        },{
            {d="M7 5h-2v2h-2v-2h-2v-2h2v-2h2v2h2v2z"},
            {d="M2 8v7h13v-12h-7v3h2v2h-3v-2h-1v2h-4zm4 6h-3v-2h3v2zm0-3h-3v-2h3v2zm4 3h-3v-2h3v2zm0-3h-3v-2h3v2zm4 3h-3v-2h3v2zm0-3h-3v-2h3v2zm0-3h-3v-2h3v2z"}
        }},
        build=false
    }
    ,{
        name="arrow_bottom",
        size=64,
        count=4,
        colors = {
            black=true,
            white=true
        },
        paths={{
            
        },{
            {d="M3.207,7.293,7,11.086V1H9V11.086l3.793-3.793,1.414,1.414L8,14.914,1.793,8.707Z"}
        }},
        build=false
    }
    ,{
        name="arrow_left",
        size=64,
        count=4,
        colors = {
            black=true,
            white=true
        },
        paths={{
            
        },{
            {transform="rotate(90 8 8)", d="M3.207,7.293,7,11.086V1H9V11.086l3.793-3.793,1.414,1.414L8,14.914,1.793,8.707Z"}
        }},
        build=false
    }
    ,{
        name="arrow_top",
        size=64,
        count=4,
        colors = {
            black=true,
            white=true
        },
        paths={{
            
        },{
            {transform="rotate(180 8 8)", d="M3.207,7.293,7,11.086V1H9V11.086l3.793-3.793,1.414,1.414L8,14.914,1.793,8.707Z"}
        }},
        build=false
    }
    ,{
        name="arrow_right",
        size=64,
        count=4,
        colors = {
            black=true,
            white=true
        },
        paths={{
            
        },{
            {transform="rotate(-90 8 8)", d="M3.207,7.293,7,11.086V1H9V11.086l3.793-3.793,1.414,1.414L8,14.914,1.793,8.707Z"}
        }},
        build=false
    }
    ,{
        name="calculator",
        size=64,
        count=4,
        colors = {
            black=true,
            white=true
        },
        paths={{
            
        },{
            {d="M6 6h1v1h-1v-1zm2 5h1v-1h-1v1zm0 2h1v-1h-1v1zm-2 0h1v-1h-1v1zm0-2h1v-1h-1v1zm0-2h1v-1h-1v1zm4 4h1v-3h-1v3zm-4-8h5v-2h-5v2zm2 4h1v-1h-1v1zm2-2h1v-1h-1v1zm3-5v12l-1 1h-7l-1-1v-12l1-1h7l1 1zm-1 .414l-.414-.414h-6.172l-.414.414v11.172l.414.414h6.172l.414-.414v-11.172zm-2 6.586h1v-1h-1v1zm-2-2h1v-1h-1v1z"}
        }},
        build=false
    }
    ,{
        name="check_dot",
        size=64,
        count=4,
        colors = {
            black=true,
            white=true
        },
        paths={{
            
        },{
            {d="M14 8c0 3.314-2.686 6-6 6-3.313 0-6-2.686-6-6 0-3.313 2.687-6 6-6 3.314 0 6 2.687 6 6z"}
        }},
        build=false
    }
    ,{
        name="close",
        size=64,
        count=4,
        colors = {
            black=true,
            white=true
        },
        paths={{
            
        },{
            {d="M9.414 8l4.543 4.543-1.414 1.414L8 9.414l-4.543 4.543-1.414-1.414L6.586 8 2.043 3.457l1.414-1.414L8 6.586l4.543-4.543 1.414 1.414L9.414 8z"}
        }},
        build=false
    }
    ,{
        name="plugged",
        size=64,
        count=4,
        colors = {
            black=true,
            white=true
        },
        paths={{
            
        },{
            {d="M14.718 1.99l-.707-.707-2.16 2.159c-1.155-.798-2.837-.698-3.851.315l-2.828 2.829c-.567.566-.879 1.32-.879 2.121 0 .631.2 1.229.56 1.733l-2.156 2.156.707.707 2.156-2.157c.504.359 1.102.56 1.733.56.801 0 1.555-.313 2.121-.879l2.828-2.827c1.049-1.049 1.15-2.683.318-3.853l2.158-2.157zm-6.011 8.131c-.756.756-2.072.756-2.828 0-.378-.378-.586-.88-.586-1.414s.208-1.036.586-1.414l1.061-1.061 2.828 2.828-1.061 1.061zm2.828-2.828l-1.061 1.061-2.828-2.829 1.061-1.061c.756-.755 2.072-.755 2.828 0 .78.78.78 2.049 0 2.829z"}
        }},
        build=false
    }
    ,{
        name="unplugged",
        size=64,
        count=4,
        colors = {
            black=true,
            white=true
        },
        paths={{
            
        },{
            {d="M8.707 8.707l-1.414 1.414-1.414-1.414 1.414-1.414-.707-.707-1.414 1.414-.708-.707-1.414 1.414c-1.049 1.049-1.15 2.683-.318 3.854l-1.45 1.45.707.707 1.449-1.45c.518.368 1.123.56 1.732.56.768 0 1.537-.292 2.122-.877l1.414-1.415-.706-.708 1.414-1.414-.707-.707zm-2.121 3.536c-.779.778-2.044.779-2.823.004l-.01-.01c-.775-.781-.774-2.045.004-2.824l.707-.707 2.829 2.828-.707.709zm8.132-10.253l-.707-.707-1.453 1.452c-1.156-.797-2.837-.698-3.851.315l-1.414 1.414 4.242 4.243 1.414-1.414c1.049-1.049 1.15-2.682.318-3.853l1.451-1.45zm-2.476 4.596l-.707.707-2.828-2.829.707-.707c.756-.755 2.072-.755 2.828 0 .78.78.78 2.049 0 2.829z"}
        }},
        build=false
    }
    ,{
        name="copy",
        size=64,
        count=4,
        colors = {
            black=true,
            white=true
        },
        paths={{
            
        },{
            {d="M11.207,4H10.19L7.2,1H2V12H6v3h9V7.793ZM11,5.207,13.793,8H11ZM6,11H3V2H6.8L8.81,4H6Zm8,3H7V5h3V9h4Z"}
        }},
        build=false
    }
    ,{
        name="create",
        size=64,
        count=4,
        colors = {
            black=true,
            white=true
        },
        paths={{
            
        },{
            {d="M 5.3295212,10.592386 5.0073231,10.269612 6.1530938,9.1236796 7.2988644,7.9777469 H 5.6577771 4.0166898 V 7.4993046 7.0208623 h 1.6356051 c 0.8995827,0 1.635605,-0.00747 1.635605,-0.01661 0,-0.00914 -0.5131298,-0.5298121 -1.1402884,-1.1570593 L 5.0073231,4.7067439 5.329626,4.383865 5.6519288,4.0609861 6.8259841,5.2348846 C 7.4717145,5.8805288 7.997527,6.4157514 7.9944563,6.4242682 7.9913858,6.4327849 7.8561892,6.5796858 7.6940195,6.7507147 L 7.3991655,7.0616766 V 7.5033199 7.9449633 L 7.7108195,8.2560209 8.0224734,8.5670785 6.8485895,9.7411191 C 6.2029532,10.386842 5.6695335,10.91516 5.6632123,10.91516 c -0.00632,0 -0.1564822,-0.145248 -0.3336911,-0.322774 z"},
            {d="M 8.0222531,4.7065369 V 3.015299 h 0.4784423 0.4784423 v 1.6201131 1.6201132 l -0.073382,0.071125 -0.073382,0.071125 H 8.4273133 8.0222531 Z"},
            {d="M 8.0222531,10.292072 V 8.6008345 h 0.4228095 c 0.3257217,0 0.4228094,-0.00645 0.4228094,-0.028104 0,-0.045027 0.637622,-0.6699823 0.654952,-0.6419415 C 9.569048,8.005582 9.579972,7.920457 9.579972,7.4854536 9.579972,7.0617811 9.576542,7.01826 9.545197,7.0442735 9.5151962,7.0691721 9.4662392,7.0290695 9.1885689,6.7521442 8.8760005,6.4404144 8.8686581,6.4309532 8.9340531,6.4241811 c 0.05942,-0.00615 0.067338,-0.015321 0.067338,-0.077969 0,-0.064046 0.1089177,-0.1798975 1.1126509,-1.1834803 l 1.112651,-1.1124841 0.328151,0.3281514 0.328152,0.3281514 -1.140385,1.1405465 c -0.627212,0.6273005 -1.1403854,1.1480208 -1.1403854,1.1571562 0,0.00914 0.7560494,0.01661 1.6801114,0.01661 h 1.680111 v 0.4784423 0.4784423 h -1.680111 c -0.924062,0 -1.6801114,0.00747 -1.6801114,0.01661 0,0.00914 0.5107554,0.5274379 1.1350134,1.1517837 l 1.135013,1.1351735 -0.322876,0.322301 -0.322877,0.3223 -1.107073,-1.1069071 C 9.5105352,9.2102084 9.0048789,8.7121001 8.9957449,8.7121001 c -0.00913,0 -0.016607,0.7360223 -0.016607,1.6356049 V 11.98331 H 8.5006954 8.0222531 Z"}
        }},
        build=false
    }
    ,{
        name="download_document",
        size=64,
        count=4,
        colors = {
            black=true,
            white=true
        },
        paths={{
            
        },{
            {d="M10.207 1H6v1h3v4h4v8H4V8.931L3 7.927V15h11V4.793L10.207 1zM10 5V2.207L12.793 5H10z"},
            {d="M5 6.063V1H4v5.081l-2.148-2.14-.707.707L4.485 8l3.352-3.352-.707-.707L5 6.063z"}
        }},
        build=false
    }
    ,{
        name="edit_document",
        size=64,
        count=4,
        colors = {
            black=true,
            white=true
        },
        paths={{
            
        },{
            {d="M11.641 3H6.415l1 1H11v3h3v7H6V9.413l-1-1V14c0 1 .965 1 .965 1h8c1 0 1.035-1 1.035-1V6l-3.359-3z"},
            {d="M4.586 3.171h2.828v5.656H4.586z",transform="rotate(-45.001 6 6)"},
            {d="M1.086 1.793h2.828v1.414H1.086z",transform="rotate(-45.001 2.5 2.5)"},
            {d="M10 8v1.999L8 10"}
        }},
        build=false
    }
    ,{
        name="edit_subdocument",
        size=64,
        count=4,
        colors = {
            black=true,
            white=true
        },
        paths={{
            
        },{
            {d="M11.641 3H6.415l1 1H11v3h3v7H6V9.413l-1-1V14c0 1 .965 1 .965 1h8c1 0 1.035-1 1.035-1V6l-3.359-3z"},
            {d="M4.586 3.171h2.828v5.656H4.586z",transform="rotate(-45.001 6 6)"},
            {d="M1.086 1.793h2.828v1.414H1.086z",transform="rotate(-45.001 2.5 2.5)"},
            {d="M 9.3945312 3.9921875 L 9.3945312 5.9882812 L 10.367188 7.0175781 L 10.367188 3.9921875 L 9.3945312 3.9921875 z M 11.039062 8.7929688 C 11.02322 8.7929688 11.009766 8.8064229 11.009766 8.8222656 L 11.009766 9.8652344 C 11.009766 9.8810771 11.02322 9.8945312 11.039062 9.8945312 L 13.998047 9.8945312 C 14.01389 9.8945312 14.027344 9.8810771 14.027344 9.8652344 L 14.027344 8.8222656 C 14.027344 8.8064229 14.01389 8.7929688 13.998047 8.7929688 L 11.039062 8.7929688 z M 9.3652344 10.972656 L 9.3652344 13.998047 L 10.337891 13.998047 L 10.337891 10.972656 L 9.3652344 10.972656 z"},
            {d="M10 8v1.999L8 10"}
        }},
        build=true
    }
    ,{
        name="education",
        size=64,
        count=4,
        colors = {
            black=true,
            white=true
        },
        paths={{
            
        },{
            {d="M12 7.798v2.39c0 1.119-1.402 2.308-4 2.308s-4-1.188-4-2.308v-2.39l4 1.25 4-1.25zM2 7.173V12.5h1V7.485l-1-.312zm6-3.694L1 5.813 8 8l7-2.188-7-2.333z"}
        }},
        build=false
    }
    ,{
        name="eraser",
        size=64,
        count=4,
        colors = {
            black=true,
            white=true
        },
        paths={{
            
        },{
            {d="M15.046 6.941L9.532 1.414 1.296 9.625c-.478.497-.478 1.245.013 1.754L4.08 14.05H12v-1H9.085l5.961-6.109zm-1.404.008l-4.71 4.826L4.75 7.594l4.78-4.766 4.112 4.121zm-9.159 6.102l-2.467-2.378c-.105-.109-.105-.244-.007-.346L4.042 8.3l4.191 4.191-.546.56H4.483z"}
        }},
        build=false
    }
    ,{
        name="event",
        size=64,
        count=4,
        colors = {
            black=true,
            white=true
        },
        paths={{
            
        },{
            {d="m 4.037968,14.949267 c 0.1248972,-0.244249 2.9518854,-5.9400233 2.9518854,-5.9474145 0,-0.00536 -0.8928974,-0.00974 -1.9842164,-0.00974 -1.0913191,0 -1.9842165,-0.00407 -1.9842165,-0.00904 0,-0.00497 0.8969597,-1.8029402 1.9932438,-3.9954904 L 7.007908,1.0011274 H 9.9977329 12.987558 L 9.9842165,4.0045096 6.9808749,7.0078918 H 9.9752023 12.96953 L 8.9740699,11.003382 4.97861,14.998873 H 4.4956062 4.0126023 Z"}
        }},
        build=false
    }
    ,{
        name="expand_right",
        size=64,
        count=4,
        colors = {
            black=true,
            white=true
        },
        paths={{
            
        },{
            {d="M 5.8692017,11.733021 5.3518749,11.215694 6.9596073,9.6078471 8.5673397,8 6.9595484,6.3920939 5.3517572,4.784188 5.8748475,4.261453 6.3979378,3.7387179 8.5285643,5.8693444 10.659191,7.9999708 8.5340898,10.125159 c -1.1688057,1.168854 -2.1301547,2.125189 -2.1363312,2.125189 -0.00618,0 -0.2440272,-0.232797 -0.5285569,-0.517327 z"}
        }},
        build=false
    }
    ,{
        name="expand_right_group",
        size=64,
        count=4,
        colors = {
            black=true,
            white=true
        },
        paths={{
            
        },{
            {d="M3.834 10.896l2.896-2.896-2.896-2.897.707-.707 3.604 3.604-3.604 3.604-.707-.708zm5.082.708l3.604-3.604-3.604-3.604-.707.707 2.896 2.897-2.896 2.896.707.708z"}
        }},
        build=false
    }
    ,{
        name="favorite",
        size=64,
        count=4,
        colors = {
            black=true,
            white=true
        },
        paths={{
            
        },{
            {d="M10.614 9.133l1.886 5.867-4.5-4-4.5 4 1.887-5.867-4.387-3.133h5.394l1.607-5 1.606 5h5.393l-4.386 3.133z"}
        }},
        build=false
    }
    ,{
        name="filter",
        size=64,
        count=4,
        colors = {
            black=true,
            white=true
        },
        paths={{
            
        },{
            {d="M10 15h-4v-6.319l-5-6v-1.681h14v1.681l-5 6v6.319zm-3-1h2v-5.681l5-6v-.319h-12v.319l5 6v5.681z"}
        }},
        build=false
    }
    ,{
        name="gauge_round",
        size=64,
        count=4,
        colors = {
            black=true,
            white=true
        },
        paths={{
            
        },{
            {d="M14.936 12c-.153-2-1.596-4.598-3.662-5.704l-.371 1.162a5.436 5.436 0 0 1 2.217 4.379c0 .055-.006.163-.008.163h1.824zM8.554 6.467l.683-.883a7.004 7.004 0 0 0-1.229-.113c-3.693 0-6.704 2.88-6.93 6.517 0 0 .841.037.841-.016 0-3.006 2.757-5.582 5.762-5.582.298.001.588.031.873.077zM11.04 4.511l-.087-.046-3.542 5.137a1.386 1.386 0 1 0 1.663 1.357c0-.221-.058-.428-.149-.613l2.115-5.835z"}
        }},
        build=false
    }
    ,{
        name="graph_left_to_right",
        size=64,
        count=4,
        colors = {
            black=true,
            white=true
        },
        paths={{
            
        },{
            {d="M15 2l-1-1h-3l-1 1v1.441l-4 2V5L5 4H2L1 5v5l1 1h3l1-1v-.441l4 2V13l1 1h3l1-1v-3l-.5-.5.5-.5V6l-.5-.5.5-.5V2zM5 10H2V5h3v5zm5 0v.441l-4-2V8h4v1l.5.5-.5.5zm0-4v1H6v-.441l4-2V5l.5.5-.5.5zm4 7h-3v-3h3v3zm0-4h-3V6h3v3zm0-4h-3V2h3v3z"}
        }},
        build=false
    }
    ,{
        name="graph_top_to_bottom",
        size=64,
        count=4,
        colors = {
            black=true,
            white=true
        },
        paths={{
            
        },{
            {d="M14 10h-1.441l-2-4H11l1-1V2l-1-1H6L5 2v3l1 1h.441l-2 4H3l-1 1v3l1 1h3l.5-.5.5.5h3l.5-.5.5.5h3l1-1v-3l-1-1zM6 5V2h5v3H6zm0 9H3v-3h3v3zm.5-3.5L6 10h-.441l2-4H8v4H7l-.5.5zM10 14H7v-3h3v3zm.5-3.5L10 10H9V6h.441l2 4H11l-.5.5zM14 14h-3v-3h3v3z"}
        }},
        build=false
    }
    ,{
        name="graph_bottom_to_top",
        size=64,
        count=4,
        colors = {
            black=true,
            white=true
        },
        paths={{
            
        },{
            {d="M14 1h-3l-.5.5L10 1H7l-.5.5L6 1H3L2 2v3l1 1h1.441l2 4H6l-1 1v3l1 1h5l1-1v-3l-1-1h-.441l2-4H14l1-1V2l-1-1zM7 2h3v3H7V2zM3 5V2h3v3H3zm2.559 1H6l.5-.5.5.5h1v4h-.441l-2-4zM11 11v3H6v-3h5zm-1.559-1H9V6h1l.5-.5.5.5h.441l-2 4zM14 5h-3V2h3v3z"}
        }},
        build=false
    }
    ,{
        name="home",
        size=64,
        count=4,
        colors = {
            black=true,
            white=true
        },
        paths={{
            
        },{
            {d="M.646,8.646l.708.708L2,8.707V15H7V10H9v5h5V8.707l.647.647.706-.708L8,1.293ZM13,14H10V9H6v5H3V7.707l5-5,5,5Z"}
        }},
        build=false
    }
    ,{
        name="lock",
        size=64,
        count=4,
        colors = {
            black=true,
            white=true
        },
        paths={{
            
        },{
            {d="M12 6V4.75c0-2.206-1.794-4-4-4s-4 1.794-4 4V6H2v9h12V6h-2zM5 4.75c0-1.654 1.346-3 3-3s3 1.346 3 3V6H5V4.75zM13 14H3V7h10v7zM6.75 9.25a1.25 1.25 0 0 1 2.5 0c0 .512-.309.95-.75 1.143V13h-1v-2.607a1.248 1.248 0 0 1-.75-1.143z"}
        }},
        build=false
    }
    ,{
        name="pen_four",
        size=64,
        count=4,
        colors = {
            black=true,
            white=true
        },
        paths={{
            
        },{
            {d="M15 4L5 14l-3-3L12 1h3v3zM1 15h3l-3-3v3z"}
        }},
        build=false
    }
    ,{
        name="pinned_item",
        size=64,
        count=4,
        colors = {
            black=true,
            white=true
        },
        paths={{
            
        },{
            {d="M9.768 4.111l1.414 1.414-3.536 3.536-1.414-1.415 3.536-3.535zm-1.414 7.071l.707.707-.707.707-2.121-2.121-2.828 2.828-.707-.707 2.828-2.828-2.122-2.122.707-.707.707.707 4.95-4.95 3.536 3.536-4.95 4.95zm2.828-5.657L9.768 4.111 6.232 7.646 7.646 9.06l3.536-3.535z"}
        }},
        build=false
    }
    ,{
        name="process",
        size=64,
        count=4,
        colors = {
            black=true,
            white=true
        },
        paths={{
            
        },{
            {d="M13.8 5.675a3.058 3.058 0 0 0-.012-.947l1.181-.693A4.266 4.266 0 0 0 14.8 3.5a4.563 4.563 0 0 0-.271-.487l-1.318.387a3.015 3.015 0 0 0-.68-.658l.347-1.329A4.421 4.421 0 0 0 11.849 1l-.661 1.2a3.075 3.075 0 0 0-.948.012l-.694-1.177a4.36 4.36 0 0 0-.53.168 4.32 4.32 0 0 0-.487.271l.383 1.315a3.044 3.044 0 0 0-.659.681l-1.33-.347a4.436 4.436 0 0 0-.409 1.03l1.2.66a3.039 3.039 0 0 0 .011.947l-1.181.693a4.294 4.294 0 0 0 .168.531 4.244 4.244 0 0 0 .271.487l1.317-.38a3.019 3.019 0 0 0 .681.658l-.346 1.329a4.454 4.454 0 0 0 1.03.41l.661-1.2a3.076 3.076 0 0 0 .948-.012l.693 1.181a4.272 4.272 0 0 0 .53-.168 4.108 4.108 0 0 0 .486-.271L12.6 7.7a3.041 3.041 0 0 0 .659-.681l1.33.347A4.392 4.392 0 0 0 15 6.335zm-2.169 1.59a2.2 2.2 0 1 1 1.149-2.891 2.2 2.2 0 0 1-1.152 2.891zm-3.917 3.077a2.744 2.744 0 0 0-.331-.795l.768-.984a4 4 0 0 0-.712-.713l-.985.768a2.783 2.783 0 0 0-.8-.331L5.5 7.051A3.9 3.9 0 0 0 5 7a3.9 3.9 0 0 0-.5.051l-.157 1.235a2.783 2.783 0 0 0-.8.331l-.981-.767a4 4 0 0 0-.712.713l.768.984a2.744 2.744 0 0 0-.331.795l-1.236.158A3.9 3.9 0 0 0 1 11a3.9 3.9 0 0 0 .051.5l1.235.154a2.744 2.744 0 0 0 .331.795l-.768.984a4 4 0 0 0 .712.713l.985-.768a2.783 2.783 0 0 0 .8.331l.154 1.24A3.886 3.886 0 0 0 5 15a3.886 3.886 0 0 0 .5-.051l.153-1.235a2.783 2.783 0 0 0 .8-.331l.985.768a4 4 0 0 0 .712-.713l-.768-.984a2.744 2.744 0 0 0 .331-.795l1.236-.159A3.9 3.9 0 0 0 9 11a3.9 3.9 0 0 0-.051-.5zM5 13a2 2 0 1 1 2-2 2 2 0 0 1-2 2zm1-2a1 1 0 1 1-1-1 1 1 0 0 1 1 1zm5.767-6.191a1.1 1.1 0 1 1-1.445-.575 1.1 1.1 0 0 1 1.445.575z"}
        }},
        build=false
    }
    ,{
        name="property",
        size=64,
        count=4,
        colors = {
            black=true,
            white=true
        },
        paths={{
            
        },{
            {d="M15,5.5A4.474,4.474,0,0,1,8.571,9.55l-5.01,5.01a1.5,1.5,0,0,1-2.122-2.12L6.45,7.429A4.474,4.474,0,0,1,12.429,1.45L9.636,4.243l2.121,2.121L14.55,3.571A4.462,4.462,0,0,1,15,5.5Z"}
        }},
        build=false
    }
    ,{
        name="push_pin",
        size=64,
        count=4,
        colors = {
            black=true,
            white=true
        },
        paths={{
            
        },{
            {d="M11 9V2H6v7H5v1h3v4h1v-4h3V9h-1zM9 8H7V3h2v5z"}
        }},
        build=false
    }
    ,{
        name="push_pin_unpin",
        size=64,
        count=4,
        colors = {
            black=true,
            white=true
        },
        paths={{
            
        },{
            {d="M7 5v-1h-1v3h-4v1h4v3h1v-1h7v-5h-7zm6 3h-5v-2h5v2z"}
        }},
        build=false
    }
    ,{
        name="run",
        size=64,
        count=4,
        colors = {
            black=true,
            white=true
        },
        paths={{
            
        },{
            {d="M4,2V14l8-6L4,2Z"}
        }},
        build=false
    }
    ,{
        name="run_test",
        size=64,
        count=4,
        colors = {
            black=true,
            white=true
        },
        paths={{
            
        },{
            {d="M13.51 11.459L10 6V4h1V3H6.277l1.667 1L7 4.566V6l-3.51 5.459A1 1 0 0 0 4.332 13h8.337a1 1 0 0 0 .841-1.541zM6.276 9L8 6.291V4h1v2.291L10.724 9H6.276z"},
            {d="M1 1l5 3-5 3V1z"}
        }},
        build=false
    }
    ,{
        name="script",
        size=64,
        count=4,
        colors = {
            black=true,
            white=true
        },
        paths={{
            
        },{
            {d="M13 1H5c-1.103 0-2 .897-2 2v8c-.534 0-1.036.208-1.414.586S1 12.466 1 13s.208 1.036.586 1.414S2.466 15 3 15h7c1.103 0 2-.897 2-2V5h1c1.103 0 2-.897 2-2s-.897-2-2-2zM3 14a.993.993 0 0 1-.707-.293C2.104 13.518 2 13.267 2 13s.104-.518.293-.707A.993.993 0 0 1 3 12h5.267a1.98 1.98 0 0 0 .01 2H3zm8-11v10a1.001 1.001 0 0 1-2 0c0-.267.104-.518.293-.707A.993.993 0 0 1 10 12a.5.5 0 0 0 0-1H4V3c0-.551.449-1 1-1h6.278A1.978 1.978 0 0 0 11 3zm2 1h-1V3c0-.551.449-1 1-1s1 .449 1 1-.449 1-1 1z"}
        }},
        build=false
    }
    ,{
        name="settings",
        size=64,
        count=4,
        colors = {
            black=true,
            white=true
        },
        paths={{
            
        },{
            {d="M9.964 3.257l-.443-.133-.354-2.124h-2.334l-.353 2.121c-.296.093-.58.21-.855.354l-1.75-1.25-1.65 1.65 1.252 1.752-.22.409-.133.443-2.124.354v2.333l2.121.354c.092.296.21.58.354.855l-1.25 1.75 1.65 1.65 1.752-1.252.408.219.444.134.354 2.124h2.333l.354-2.121c.296-.092.58-.21.854-.354l1.75 1.25 1.65-1.65-1.252-1.752.219-.408.134-.444 2.125-.354v-2.334l-2.121-.353c-.092-.296-.21-.58-.354-.854l1.25-1.75-1.65-1.65-1.752 1.252-.409-.221zm.248 4.743c0 1.222-.991 2.212-2.212 2.212-1.222 0-2.212-.991-2.212-2.212s.99-2.212 2.212-2.212c1.222 0 2.212.99 2.212 2.212z"}
        }},
        build=false
    }
    ,{
        name="status_help",
        size=64,
        count=4,
        colors = {
            black=true,
            white=true
        },
        paths={{
            {d="M9 10h-2v-1c0-1.104.897-2 2-2v-1.797c-.159-.088-.505-.203-1-.203s-.841.115-1 .203v.797h-2v-1c0-1.159 1.262-2 3-2s3 .841 3 2v2c0 1.104-.898 2-2 2v1zm0 1h-2v2h2v-2z"}
        },{
            {d="M8 1c-3.866 0-7 3.134-7 7 0 3.865 3.134 7 7 7s7-3.135 7-7c0-3.866-3.134-7-7-7zm1 12h-2v-2h2v2zm2-6c0 1.104-.898 2-2 2v1h-2v-1c0-1.104.897-2 2-2v-1.797c-.159-.088-.505-.203-1-.203s-.841.115-1 .203v.797h-2v-1c0-1.159 1.262-2 3-2s3 .841 3 2v2z"}
        }},
        build=false
    }
    ,{
        name="status_information",
        size=64,
        count=4,
        colors = {
            black=true,
            white=true
        },
        paths={{
            {d="M7,6H9v7H7ZM7,5H9V3H7Z"}
        },{
            {d="M8,1a7,7,0,1,0,7,7A7,7,0,0,0,8,1ZM9,13H7V6H9ZM9,5H7V3H9Z"}
        }},
        build=false
    }
    ,{
        name="time",
        size=64,
        count=4,
        colors = {
            black=true,
            white=true
        },
        paths={{
            
        },{
            {d="M8,8h3V9H7V4H8Zm7,0A7,7,0,1,1,8,1,7.009,7.009,0,0,1,15,8ZM14,8a6,6,0,1,0-6,6A6.006,6.006,0,0,0,14,8Z"}
        }},
        build=false
    }
    ,{
        name="minimize",
        size=64,
        count=4,
        colors = {
            black=true,
            white=true
        },
        paths={{
            
        },{
            {d="M 13,7 V 8 H 3 V 7 Z"}
        }},
        build=false
    }
    ,{
        name="maximize",
        size=64,
        count=4,
        colors = {
            black=true,
            white=true
        },
        paths={{
            
        },{
            {d="M 3,3 V 13 H 13 V 3 Z m 9,9 H 4 V 4 h 8 z"}
        }},
        build=false
    }
    ,{
        name="save",
        size=64,
        count=4,
        colors = {
            black=true,
            white=true
        },
        paths={{
            
        },{
            {d="M6,12H8v3H6ZM15,2V15H12V10H4v5H3L1,13V2A1,1,0,0,1,2,1H14A1,1,0,0,1,15,2ZM13,3H3V7H13Z"}
        }},
        build=false
    }
    ,{
        name="refresh",
        size=64,
        count=4,
        colors = {
            black=true,
            white=true
        },
        paths={{
            
        },{
            {d="M15,8A7,7,0,1,1,3.12,3H1V1H7V7H5V4a5,5,0,1,0,5.764-.169l1.107-1.666A6.989,6.989,0,0,1,15,8Z"}
        }},
        build=false
    }
    ,{
        name="upload_document",
        size=64,
        count=4,
        colors = {
            black=true,
            white=true
        },
        paths={{
            
        },{
            {d="M11.207 1H5.85l1 1H10v4h4v8H5V9H4v6h11V4.793L11.207 1zM11 5V2.207L13.793 5H11z"},
            {d="M1.084 4.355l.707.707L4 2.853V8h1V2.978l2.084 2.084.707-.707-3.353-3.354z"}
        }},
        build=false
    }
    ,{
        name="paste",
        size=64,
        count=4,
        colors = {
            black=true,
            white=true
        },
        paths={{
            
        },{
            {d="M12,7V3H9A2,2,0,0,0,5,3H2V14H7v1h7V7ZM5,4H6V3A1,1,0,0,1,8,3V4H9V5H5ZM3,13V4H4V6h6V4h1V7H7v6Zm10,1H8V8h5Z"}
        }},
        build=false
    }
    ,{
        name="factory",
        size=64,
        count=4,
        colors = {
            black=true,
            white=true
        },
        paths={{
            
        },{
            {transform="scale(0.063)", p="43.646,14.684 20.079,14.684 12.767,150.786 50.96,150.786"},
            {transform="scale(0.063)", p="104.316,14.684 80.749,14.684 73.437,150.786 111.629,150.786"},
            {transform="scale(0.063)", d="M121.717,108.13v57.632H0v72.988h253.435V84.781L121.717,108.13z M56.553,215.774H14.872v-27.037h41.681V215.774zM117.223,215.774H75.542v-27.037h41.681V215.774z M177.893,215.774h-41.681v-27.037h41.681V215.774z M177.893,168.927h-41.681v-27.036h41.681V168.927z M238.562,215.774h-41.681v-27.037h41.681V215.774z M238.562,168.927h-41.681v-27.036h41.681V168.927z"}
        }},
        build=false
    }
    ,{
        name="transport",
        size=64,
        count=4,
        colors = {
            black=true,
            white=true
        },
        paths={{
            
        },{
            {transform="scale(0.5)", d="M23,15h2v2h-2V15z M30,16v6h-2c0,1.657-1.343,3-3,3s-3-1.343-3-3h-2c0,1.657-1.343,3-3,3s-3-1.343-3-3h-4c0,1.657-1.343,3-3,3s-3-1.343-3-3H2V8h20v4h4L30,16z M8,22c0-0.551-0.449-1-1-1s-1,0.449-1,1s0.449,1,1,1S8,22.551,8,22z M18,22c0-0.551-0.449-1-1-1s-1,0.449-1,1s0.449,1,1,1S18,22.551,18,22z M20,10H4v10h0.779C5.328,19.39,6.115,19,7,19s1.672,0.39,2.221,1h5.557c0.549-0.61,1.336-1,2.221-1s1.672,0.39,2.221,1H20V10z M26,22c0-0.551-0.449-1-1-1s-1,0.449-1,1s0.449,1,1,1S26,22.551,26,22z M28,16.828L25.172,14H22v6h0.779c0.549-0.61,1.336-1,2.221-1s1.672,0.39,2.221,1H28V16.828z"}
        }},
        build=false
    }
    ,{
        name="database_settings",
        size=64,
        count=4,
        colors = {
            black=true,
            white=true
        },
        paths={{
            
        },{
            {d="M8.949,11.504C8.971,11.337,9,11.173,9,11s-0.029-0.337-0.051-0.504l-1.235-0.154c-0.068-0.285-0.182-0.551-0.331-0.795L8.15,8.562C7.943,8.295,7.705,8.057,7.438,7.85L6.453,8.617C6.21,8.468,5.943,8.355,5.657,8.286L5.504,7.051C5.337,7.03,5.173,7,5,7S4.663,7.03,4.496,7.051L4.343,8.286C4.057,8.355,3.79,8.468,3.547,8.617L2.562,7.85C2.295,8.057,2.057,8.295,1.85,8.562l0.768,0.985c-0.149,0.244-0.263,0.51-0.331,0.795l-1.235,0.154C1.029,10.663,1,10.827,1,11s0.029,0.337,0.051,0.504l1.235,0.154c0.068,0.285,0.182,0.551,0.331,0.795L1.85,13.438c0.207,0.268,0.445,0.506,0.712,0.713l0.985-0.768c0.243,0.148,0.51,0.262,0.796,0.331l0.153,1.235C4.663,14.971,4.827,15,5,15s0.337-0.029,0.504-0.051l0.153-1.235c0.286-0.069,0.553-0.183,0.796-0.331l0.985,0.768c0.267-0.207,0.505-0.445,0.712-0.713l-0.768-0.984c0.149-0.244,0.263-0.51,0.331-0.795L8.949,11.504z M5,13c-1.104,0-2-0.896-2-2s0.896-2,2-2s2,0.896,2,2S6.104,13,5,13z M6,11c0,0.553-0.448,1-1,1s-1-0.447-1-1c0-0.553,0.448-1,1-1S6,10.447,6,11z"},
            {d="M11,1C8.791,1,7,1.896,7,3v3.924l0.438-0.341L8.052,7.06c0.333,0.259,0.632,0.558,0.89,0.889l0.476,0.614L8.719,9.46L9.842,9.6l0.1,0.769c0.032,0.238,0.05,0.4,0.055,0.561C10.318,10.971,10.651,11,11,11c2.209,0,4-0.896,4-2V3C15,1.896,13.209,1,11,1z M11,4.325C9.001,4.325,7.675,3.527,7.675,3S9.001,1.675,11,1.675S14.325,2.473,14.325,3S12.999,4.325,11,4.325z"}
        }},
        build=false
    }
    ,{
        name="database_schema",
        size=64,
        count=4,
        colors = {
            black=true,
            white=true
        },
        paths={{
            
        },{
            {d="M11 1c-2.209 0-4 .896-4 2v2h1v4h2v1.93c.321.041.652.07 1 .07 2.209 0 4-.896 4-2V3c0-1.104-1.791-2-4-2zm0 3.325c-1.999 0-3.325-.798-3.325-1.325S9.001 1.675 11 1.675s3.325.798 3.325 1.325S12.999 4.325 11 4.325z"},
            {d="M10 13v2H7v-2h1v-2H3v2h1v2H1v-2h1v-3h3V8H4V6h3v2H6v2h3v3h1z"}
        }},
        build=false
    }
    ,{
        name="database_test",
        size=64,
        count=4,
        colors = {
            black=true,
            white=true
        },
        paths={{
            
        },{
            {d="M8,8V6h1V5H4v1h1v2l-3.51,5.459C1.063,14.125,1.541,15,2.332,15h8.337c0.791,0,1.269-0.875,0.841-1.541L8,8z M4.276,11L6,8.291V6h1v2.291L8.724,11H4.276z"},
            {d="M15,3v3v3c0,1.089-1.742,1.971-3.908,1.995L9,7.709V7h1V4.247c0.313,0.045,0.641,0.078,1,0.078c1.999,0,3.325-0.798,3.325-1.325S12.999,1.675,11,1.675C9.001,1.675,7.675,2.473,7.675,3c0,0.313,0.477,0.72,1.277,1H7V3c0-0.504,0.385-0.959,1-1.311C8.733,1.271,9.799,1,11,1c1.201,0,2.267,0.271,3,0.689C14.615,2.041,15,2.496,15,3z"}
        }},
        build=false
    }
    ,{
        name="database_method",
        size=64,
        count=4,
        colors = {
            black=true,
            white=true
        },
        paths={{
            
        },{
            {d="M5.041,6.512L1.167,8.471v4.403l4.081,2.57l3.507-2.57V8.471L5.041,6.512z M8.115,12.561l-2.426,1.748v-3.274L8.115,9.56V12.561z M2.265,8.659l2.731-1.387l2.913,1.435L5.2,10.333L2.265,8.659z M1.861,12.456v-3.15l3.059,1.709v3.436L1.861,12.456z"},
            {d="M11,1C8.791,1,7,1.896,7,3v3.415l2.755,1.453v3.018c0.081,0.013,0.158,0.031,0.241,0.042v0c0,0,0.001,0,0.001,0c0.001,0,0.002,0,0.003,0.001v0C10.321,10.971,10.653,11,11,11c2.209,0,4-0.896,4-2V3C15,1.896,13.209,1,11,1z M11,4.325C9.001,4.325,7.675,3.527,7.675,3S9.001,1.675,11,1.675S14.325,2.473,14.325,3S12.999,4.325,11,4.325z"}
        }},
        build=false
    }
    ,{
        name="text_block",
        size=64,
        count=4,
        colors = {
            black=true,
            white=true
        },
        paths={{
            
        },{
            {d="M1 1v14h14V1H1zm13 13H2V2h12v12zm-2-9H9v8H7V5H4V3h8v2z"}
        }},
        build=false
    }
    ,{
        name="pause",
        size=64,
        count=4,
        colors = {
            black=true,
            white=true
        },
        paths={{
            
        },{
            {d="M4,3H7v9H4ZM9,3v9h3V3Z"}
        }},
        build=false
    }
    ,{
        name="checkmark",
        size=64,
        count=4,
        colors = {
            black=true,
            white=true
        },
        paths={{
            
        },{
            {d="M14.707,4.707,6,13.414,1.293,8.707,2.707,7.293,6,10.586l7.293-7.293Z"}
        }},
        build=false
    }
    ,{
        name="column_chart",
        size=64,
        count=4,
        colors = {
            black=true,
            white=true
        },
        paths={{
            
        },{
            {d="M2 1.003v13.997h13v-14l-13 .003zm12 .997v12h-1v-10h-2v10h-1v-6h-2v6h-1v-9h-2v9h-2v-12h11z"}
        }},
        build=false
    }
    ,{
        name="status_ok",
        size=64,
        count=4,
        colors = {
            black=true,
            white=true
        },
        paths={{
            
        },{
            {d="M8,1a7,7,0,1,0,7,7A7,7,0,0,0,8,1ZM6.3,12.389,3.043,9.132,4.457,7.718,6.3,9.561l5.243-5.243,1.414,1.414Z"}
        }},
        build=false
    }
    ,{
        name="list_view",
        size=64,
        count=4,
        colors = {
            black=true,
            white=true
        },
        paths={{
            
        },{
            {d="M1 1v13h14v-13h-14zm13 12h-12v-11h12v11zm-4-8h-6v-1h6v1zm-6 1h8v1h-8v-1zm6 3h-6v-1h6v1zm-6 1h8v1h-8v-1z"}
        }},
        build=false
    }
    ,{
        name="jewel",
        size=64,
        count=4,
        colors = {
            black=true,
            white=true
        },
        paths={{
            
        },{
            {transform="scale(0.174)", d="M90.9,31.2L74,13.3c-0.8-0.8-1.8-1.3-2.9-1.3H20.9c-1.1,0-2.2,0.5-2.9,1.3l-16.9,18c-1.5,1.6-1.4,4,0.1,5.6l42,42c0.8,0.8,1.8,1.2,2.8,1.2s2.1-0.4,2.8-1.2l42-42C92.4,35.3,92.4,32.8,90.9,31.2z M27.4,37l7.4,21.6L13.2,37H27.4z M49.4,20l6.4,10H36.2l6.4-10H49.4z M46,70.3l0-0.2L34.8,37h22.4L46,70.1L46,70.3z M64.6,37h14.3L57.2,58.6L64.6,37zM79.2,30H64l-6.4-10h11.7L79.2,30z M22.6,20h11.7L28,30H12.8L22.6,20z"}
        }},
        build=false
    }
    ,{
        name="beacon",
        size=64,
        count=4,
        colors = {
            black=true,
            white=true
        },
        paths={{
            
        },{
            {transform="scale(0.67)", d="M3.51472 0.514648C1.34424 2.68513 0 5.6865 0 8.99993C0 12.3134 1.34424 15.3147 3.51472 17.4852L4.92893 16.071C3.11819 14.2603 2 11.7616 2 8.99993C2 6.23823 3.11819 3.7396 4.92893 1.92886L3.51472 0.514648ZM6.34315 3.34308C4.89653 4.7897 4 6.79107 4 8.99993C4 11.2088 4.89653 13.2102 6.34315 14.6568L7.75736 13.2426C6.67048 12.1557 6 10.6571 6 8.99993C6 7.3428 6.67048 5.84417 7.75736 4.75729L6.34315 3.34308ZM12 4.99995C9.79086 4.99995 8 6.79081 8 8.99995C8 10.8638 9.27477 12.4299 11 12.8739V23H13V12.8739C14.7252 12.4299 16 10.8638 16 8.99995C16 6.79081 14.2091 4.99995 12 4.99995ZM10 8.99995C10 7.89538 10.8954 6.99995 12 6.99995C13.1046 6.99995 14 7.89538 14 8.99995C14 10.1045 13.1046 11 12 11C10.8954 11 10 10.1045 10 8.99995ZM17.6568 3.34308C19.1034 4.7897 20 6.79107 20 8.99993C20 11.2088 19.1034 13.2102 17.6568 14.6568L16.2426 13.2426C17.3295 12.1557 18 10.6571 18 8.99993C18 7.3428 17.3295 5.84417 16.2426 4.75729L17.6568 3.34308ZM20.4852 0.514648C22.6557 2.68513 23.9999 5.6865 23.9999 8.99993C23.9999 12.3134 22.6557 15.3147 20.4852 17.4852L19.071 16.071C20.8817 14.2603 21.9999 11.7616 21.9999 8.99993C21.9999 6.23823 20.8817 3.7396 19.071 1.92886L20.4852 0.514648Z"}
        }},
        build=false
    }
    ,{
        name="skull",
        size=64,
        count=4,
        colors = {
            black=true,
            white=true
        },
        paths={{
            
        },{
            {transform="scale(0.25)", d="M59.5 43.785a9.014 9.014 0 0 0-2.281-5.99a24.147 24.147 0 0 0 2.279-10.208C59.498 13.479 47.162 2 31.998 2C16.836 2 4.5 13.479 4.5 27.587c0 3.516.783 7.006 2.277 10.208a9 9 0 0 0-2.277 5.99c0 4.396 3.217 8.098 7.547 9.112a7.34 7.34 0 0 0-.059.271c-.348 1.788.135 3.604 1.359 5.104c1.529 1.873 4.057 3.046 6.617 3.074c.152.012.445.027.777.027c.865 0 1.84-.087 2.631-.691l.004.003C24.559 61.772 26.4 62 27.738 62c1.303 0 3.082-.216 4.262-1.226C33.182 61.785 34.959 62 36.26 62c1.338 0 3.18-.228 4.357-1.312l.006-.006c.791.604 1.768.691 2.631.691c.334 0 .629-.016.781-.027c2.557-.028 5.082-1.199 6.611-3.071c1.227-1.501 1.711-3.316 1.363-5.113c-.016-.076-.033-.163-.059-.265c4.331-1.013 7.55-4.715 7.55-9.112m-9.945 6.867c-.387 0-.771-.028-1.145-.085c.469 1.074 1.016 2.407 1.145 3.077c.545 2.817-2.514 5.183-5.617 5.183c0 0-.313.025-.684.025c-.441 0-.967-.036-1.143-.198c-1.162-1.069 0-5.882 0-5.882c0-.811-.711-1.467-1.592-1.467c-.875 0-1.59.656-1.59 1.467c0 0 1.16 4.984 0 6.055c-.471.435-1.57.651-2.67.651s-2.199-.217-2.672-.651c-1.158-1.07 0-6.055 0-6.055c0-.811-.709-1.467-1.59-1.467c-.877 0-1.588.656-1.588 1.467c0 0 1.16 4.984 0 6.055c-.473.435-1.572.651-2.672.651s-2.199-.217-2.672-.651c-1.158-1.07 0-6.055 0-6.055c0-.811-.709-1.467-1.588-1.467c-.881 0-1.594.656-1.594 1.467c0 0 1.16 4.813 0 5.882c-.176.162-.699.198-1.143.198c-.369 0-.682-.025-.682-.025c-3.102 0-6.166-2.365-5.617-5.183c.127-.67.674-2.003 1.143-3.077a7.556 7.556 0 0 1-1.143.085C10.332 50.652 7 47.579 7 43.785c0-2.208 1.129-4.175 2.889-5.431A21.514 21.514 0 0 1 7 27.587C7 14.847 18.189 4.521 31.998 4.521s25 10.326 25 23.066c0 3.889-1.045 7.554-2.889 10.767c1.756 1.256 2.889 3.223 2.891 5.431c0 3.794-3.334 6.867-7.445 6.867"},
            {transform="scale(0.25)", d="M14.285 29.455c-6.025.333 1.26 8.292 4.07 10.195c2.807 1.897 9.555-1.638 9.166-3.944c-.576-3.388-9.527-6.457-13.236-6.251"},
            {transform="scale(0.25)", d="M32 40.371c-1.09 0-1.537 1.403-2.424 2.954c-.766 1.333-2.975 2.283-1.633 3.526c1.432 1.321 6.676 1.321 8.107 0c1.313-1.211-.867-2.193-1.631-3.528c-.886-1.55-1.331-2.952-2.419-2.952"},
            {transform="scale(0.25)", d="M49.715 29.455c-3.711-.206-12.66 2.864-13.236 6.25c-.391 2.307 6.359 5.842 9.168 3.944c2.806-1.902 10.091-9.862 4.068-10.194"}
        }},
        build=false
    }
    ,{
        name="add",
        size=64,
        count=4,
        colors = {
            black=true,
            white=true
        },
        paths={{
            
        },{
            {d="M15,9H9v6H7V9H1V7H7V1H9V7h6Z"}
        }},
        build=false
    }
    ,{
        name="remove",
        size=64,
        count=4,
        colors = {
            black=true,
            white=true
        },
        paths={{
            
        },{
            {d="M15 7v2H1V7h14z"}
        }},
        build=false
    }
    ,{
        name="steam_heat",
        size=64,
        count=4,
        colors = {
            black=true,
            white=true
        },
        paths={{
        },{
            {d="m 6.4055661,8.0244347 c 1.1151869,0.726603 2.2303757,1.453206 3.3455618,2.1798093 0.3276741,0.669171 1.0473391,1.262172 0.9245991,2.042541 0.12219,0.53007 -0.07841,1.072222 -0.495488,1.468498 -0.2319636,0.29458 -0.4639223,0.589161 -0.695884,0.883742 C 8.6467685,14.982399 7.9284968,14.241964 8.1900762,13.552546 8.1628002,13.082275 7.7473408,12.76359 7.3074701,12.544848 6.267955,11.881842 5.2284414,11.218835 4.1889255,10.555829 3.636889,9.9669727 3.2339929,9.2137591 3.3546789,8.4433259 3.1036169,7.7193728 3.5824991,7.0022223 4.1230344,6.4729011 4.3650612,5.9235059 5.3953508,5.6224581 5.7915054,6.20889 6.0528323,6.7950276 6.1756997,7.4269053 6.4055661,8.0244347 Z"},
            {d="m 10.510545,4.6140836 c 1.115186,0.726603 2.230375,1.4532064 3.345562,2.1798098 0.327677,0.6691702 1.047338,1.262172 0.924599,2.0425409 0.122191,0.5300703 -0.07841,1.0722218 -0.495488,1.4684977 -0.231963,0.294581 -0.463922,0.589161 -0.695885,0.883742 C 12.821304,11.542189 12.018892,10.915228 12.33262,10.232618 12.220122,9.3567517 11.16031,9.0130279 10.460023,8.527032 9.7259165,8.0426915 8.9491397,7.5956569 8.2417359,7.0879707 7.7167187,6.5104615 7.3428699,5.7779115 7.4596621,5.0329756 7.2085997,4.3090221 7.6874823,3.5918713 8.2280168,3.0625497 8.4700439,2.5131516 9.5003425,2.2121096 9.8964886,2.7985512 10.157796,3.3846846 10.280694,4.0165934 10.510545,4.6140836 Z"}
        }},
        build=false
    }
    ,{
        name="search",
        size=64,
        count=4,
        colors = {
            black=true,
            white=true
        },
        paths={{
        },{
            {d="M10.167,1A4.839,4.839,0,0,0,5.333,5.833a4.786,4.786,0,0,0,1.1,3.029L1.147,14.146a.5.5,0,0,0,.707.708L7.138,9.569a4.783,4.783,0,0,0,3.029,1.1,4.834,4.834,0,0,0,0-9.667Zm0,8.667A3.834,3.834,0,1,1,14,5.833,3.838,3.838,0,0,1,10.167,9.667Z"},
        }},
        build=false
    }
    ,{
        name="info_arrow_top",
        size=64,
        count=4,
        colors = {
            red=true
        },
        paths={{
            {transform="rotate(180 8 8)", p="7.672 16 8.328 16 15.621 8.707 12.793 5.879 10 8.672 10 0 6 0 6 8.672 3.207 5.879 0.379 8.707 7.672 16"}
        },{
            {transform="rotate(180 8 8)", d="M3.207,7.293,7,11.086V1H9V11.086l3.793-3.793,1.414,1.414L8,14.914,1.793,8.707Z"}
        }},
        build=false
    }
    ,{
        name="info_add",
        size=64,
        count=4,
        colors = {
            red=true
        },
        paths={{
            {d="M6,16V10H0V6H6V0h4V6h6v4H10v6Z"}
        },{
            {d="M15,9H9v6H7V9H1V7H7V1H9V7h6Z"}
        }},
        build=false
    }
    ,{
        name="info_remove",
        size=64,
        count=4,
        colors = {
            red=true
        },
        paths={{
            {d="M16 6v4H0V6h16z"}
        },{
            {d="M15 7v2H1V7h14z"}
        }},
        build=false
    }
    ,{
        name="info_fire",
        size=64,
        count=4,
        colors = {
            blue=true
        },
        paths={{
            {transform="scale(0.034)", d="m 205.57369,7.039486 c 0.65334,13.911162 1.44965,27.81498 1.99698,41.731512 -0.12498,6.043791 -0.7437,12.07067 -1.74819,18.020184 -0.16743,0.90536 -0.35506,2.058132 -0.55481,3.054307 -0.36899,1.91787 -0.74877,3.704879 -1.17771,5.558235 -3.15119,13.854603 -8.22128,27.351006 -14.81565,39.838656 -2.2838,4.34051 -4.79391,8.63051 -7.38243,12.66242 -1.85067,2.86456 -3.71153,5.58722 -5.7181,8.33824 -1.04059,1.42146 -2.2068,2.97049 -3.33273,4.4109 -6.69811,8.59665 -14.19212,16.47722 -22.18479,23.72657 -14.39222,13.14956 -27.81431,27.59198 -39.17839,43.74842 -10.30419,14.65456 -18.90683,30.77152 -24.430556,48.11223 -4.156877,12.86617 -6.564329,26.34438 -7.264713,39.91577 -0.509974,9.42484 -0.365119,18.87395 -0.106557,28.30498 0.861102,23.21563 6.71833,46.27614 17.434816,66.59484 11.1735,21.28768 27.59227,39.35259 46.92181,52.53328 21.10285,14.41605 45.46665,23.12026 70.33209,26.49503 2.11105,0.24076 4.3577,0.84754 6.39066,-0.12127 2.34459,-0.78572 4.68918,-1.57145 7.03378,-2.35718 2.91123,1.43688 5.80027,2.97462 8.76314,4.26254 25.72662,0.66294 51.60115,-5.51343 74.49403,-17.95463 22.07214,-11.95027 41.24809,-29.71949 55.53525,-51.12417 10.43738,-15.58076 18.27422,-33.07703 23.18414,-51.44265 5.60408,-20.86158 7.57277,-42.8312 5.56922,-64.42223 -1.01099,-11.26733 -2.59444,-22.4697 -4.36778,-33.62871 -0.71061,-4.30643 -1.40288,-8.62137 -2.28125,-12.89261 -1.78175,-6.7779 -4.18896,-13.3476 -6.5658,-19.9111 C 367.96354,182.37133 347.01721,147.39298 322.67007,115.65998 301.78118,88.448456 278.30288,63.480453 252.90557,40.96378 245.26189,34.212825 237.27516,27.913693 229.21673,21.729984 221.27234,15.554317 213.32851,9.3778574 205.38374,3.2027589 c 0.0633,1.278909 0.12664,2.557818 0.18995,3.8367271 z m 43.29132,258.623824 c 16.32317,19.67749 31.00827,41.22972 41.90285,64.85312 4.16337,8.78772 6.3332,18.45008 7.73577,28.11469 0.24375,1.71908 0.49874,3.62359 0.69798,5.42072 0.13818,1.2953 0.28011,2.55658 0.38611,3.78344 0.33585,3.63418 0.55684,7.28002 0.66242,10.92978 0.0802,3.50529 0.14111,7.19511 -0.30321,10.74441 -0.74533,6.34609 -2.39845,12.56362 -4.71686,18.46435 -2.32914,5.82163 -5.58563,11.41776 -9.35715,16.17474 -6.88185,8.73535 -16.12701,15.34552 -26.35342,18.8645 -6.03174,2.1173 -12.37125,3.15186 -18.71657,3.32929 -2.08216,0.13935 -4.22993,0.1327 -6.18433,1.00734 -2.04428,0.80659 -3.9348,1.98927 -5.96539,2.82468 -2.2904,-1.58802 -4.55507,-3.25774 -6.91483,-4.70824 -1.13592,-0.1795 -2.13735,-0.33727 -3.26,-0.53884 -0.71638,-0.14028 -1.68054,-0.31853 -2.48741,-0.49564 -7.81983,-1.62593 -15.51297,-4.54542 -22.02616,-9.48529 -5.21817,-3.91817 -9.60298,-9.13028 -12.40439,-15.23307 -2.66229,-5.54608 -4.0814,-11.66799 -4.733,-17.82412 -0.83718,-6.59937 -1.65311,-13.23847 -1.55388,-19.91036 0.24357,-10.22799 3.40929,-20.16222 7.99481,-29.0981 0.71092,-1.39436 1.35783,-2.62628 2.12286,-3.99661 4.40161,-7.90265 9.64603,-15.24677 15.21694,-22.26479 4.53321,-5.66108 9.44372,-11.20008 14.17866,-16.76113 12.03881,-14.34541 22.94484,-29.75389 32.54686,-46.02264 0.51045,0.60926 1.0209,1.21852 1.53134,1.82777 z"}            
        },{
            {transform="scale(0.034)", d="m 376.91241,242.91684 -0.23927,-1.0104 C 341.45538,125.21083 236.51902,42.362982 232.05655,38.910724 l -13.5449,-10.524114 0.87701,17.680547 c 0,0.758479 2.4692,69.293453 -60.39692,126.293003 -68.283903,61.96787 -67.886284,113.07512 -67.726202,140.52312 l 0.0809,3.78875 c 0,74.84927 51.982342,130.81387 126.352762,140.0402 -4.04849,-0.67208 -8.18391,-1.54423 -12.33396,-2.88476 -23.98371,-7.83033 -38.00627,-25.59546 -40.71559,-51.19183 l -0.63688,-5.05107 c -2.15163,-19.78592 -4.94013,-44.28731 36.01386,-90.76366 15.29804,-17.34405 28.60453,-36.03591 39.60019,-55.48533 l 5.49783,-9.76563 7.2501,8.41874 c 21.67287,25.00523 38.24553,50.2642 49.40041,74.84927 10.27787,21.72303 10.91647,56.07556 10.11864,63.40024 -3.9039,37.38279 -29.48067,65.25186 -63.74225,69.29254 -2.23338,0.26919 -5.57615,0.5302 -9.66853,0.62661 0.35975,0.003 0.70228,0.0463 1.06376,0.0463 80.95266,0 144.29643,-68.7878 144.29643,-156.60395 8.7e-4,-21.04731 -6.6924,-57.1678 -6.9308,-58.68294 z"}
        }},
        build=false
    }
    ,{
        name="info_education",
        size=64,
        count=4,
        colors = {
            blue=true
        },
        paths={{
            {d="M8 2.425L0 5.092v1.441l1 .333V13h3v-.761c.831.74 2.173 1.256 4 1.256 3.282 0 5-1.664 5-3.308V7.533l3-1V5.092L8 2.425z"}
        },{
            {d="M12 7.798v2.39c0 1.119-1.402 2.308-4 2.308s-4-1.188-4-2.308v-2.39l4 1.25 4-1.25zM2 7.173V12.5h1V7.485l-1-.312zm6-3.694L1 5.813 8 8l7-2.188-7-2.333z"}
        }},
        build=false
    }
    ,{
        name="info_energy",
        size=64,
        count=4,
        colors = {
            blue=true
        },
        paths={{
            {d="M14,1.414,9.414,6H14V7.414L5.414,16H3V14.766L5.371,10H2V8.764L6.382,0H14Z"}
        },{
            {d="M7,7h6L5,15H4L6.985,9H3L7,1h6Z"}
        }},
        build=false
    }
    ,{
        name="tooltip_edit",
        size=64,
        count=4,
        colors = {
            yellow=true
        },
        paths={{
        },{
            {transform="scale(0.9)", d="M15 4L5 14l-3-3L12 1h3v3zM1 15h3l-3-3v3z"}
        }},
        build=false
    }
    ,{
        name="tooltip_add",
        size=64,
        count=4,
        colors = {
            yellow=true
        },
        paths={{
        },{
            {transform="scale(0.9)", d="M15,9H9v6H7V9H1V7H7V1H9V7h6Z"}
        }},
        build=false
    }
    ,{
        name="tooltip_remove",
        size=64,
        count=4,
        colors = {
            yellow=true
        },
        paths={{
        },{
            {transform="scale(0.9)", d="M15 7v2H1V7h14z"}
        }},
        build=false
    }
    ,{
        name="tooltip_favorite",
        size=64,
        count=4,
        colors = {
            yellow=true
        },
        paths={{
        },{
            {transform="scale(0.9)", d="M10.614 9.133l1.886 5.867-4.5-4-4.5 4 1.887-5.867-4.387-3.133h5.394l1.607-5 1.606 5h5.393l-4.386 3.133z"}
        }},
        build=false
    }
    ,{
        name="tooltip_expand_right",
        size=64,
        count=4,
        colors = {
            yellow=true
        },
        paths={{
        },{
            {transform="scale(0.9)", d="M 5.8692017,11.733021 5.3518749,11.215694 6.9596073,9.6078471 8.5673397,8 6.9595484,6.3920939 5.3517572,4.784188 5.8748475,4.261453 6.3979378,3.7387179 8.5285643,5.8693444 10.659191,7.9999708 8.5340898,10.125159 c -1.1688057,1.168854 -2.1301547,2.125189 -2.1363312,2.125189 -0.00618,0 -0.2440272,-0.232797 -0.5285569,-0.517327 z"}
        }},
        build=false
    }
    ,{
        name="tooltip_expand_right_group",
        size=64,
        count=4,
        colors = {
            yellow=true
        },
        paths={{
        },{
            {transform="scale(0.9)", d="M3.834 10.896l2.896-2.896-2.896-2.897.707-.707 3.604 3.604-3.604 3.604-.707-.708zm5.082.708l3.604-3.604-3.604-3.604-.707.707 2.896 2.897-2.896 2.896.707.708z"}
        }},
        build=false
    }
    ,{
        name="tooltip_erase",
        size=64,
        count=4,
        colors = {
            yellow=true
        },
        paths={{
        },{
            {transform="scale(0.9)", d="M15.046 6.941L9.532 1.414 1.296 9.625c-.478.497-.478 1.245.013 1.754L4.08 14.05H12v-1H9.085l5.961-6.109zm-1.404.008l-4.71 4.826L4.75 7.594l4.78-4.766 4.112 4.121zm-9.159 6.102l-2.467-2.378c-.105-.109-.105-.244-.007-.346L4.042 8.3l4.191 4.191-.546.56H4.483z"}
        }},
        build=false
    }
    ,{
        name="tooltip_pipette",
        size=64,
        count=4,
        colors = {
            yellow=true
        },
        paths={{
        },{
            {transform="scale(0.9)", d="M9.467 7.932l.612.613-5.071 5.072-2.795 1.198-1.032-1.032 1.057-2.936 5.072-5.072.585.585v.003l-4.356 4.356 1.569 1.569 4.355-4.356h.004zm4.995-6.422c-.667-.664-1.777-.729-2.435-.072l-2.188 2.189-.836-.835-.174.174-1.497 1.497 4.177 4.177 1.671-1.671-.835-.835 2.189-2.189c.658-.658.592-1.768-.072-2.435z"}
        }},
        build=false
    }
    ,{
        name="tooltip_information",
        size=64,
        count=4,
        colors = {
            white=true
        },
        paths={{
        },{
            {d="M8,1a7,7,0,1,0,7,7A7.008,7.008,0,0,0,8,1ZM8,14a6,6,0,1,1,6-6A6.006,6.006,0,0,1,8,14ZM7.5,4h1v6h-1Zm0,7h1v1h-1Z"}
        }},
        build=false
    }
    ,{
        name="hangar",
        size=64,
        count=4,
        colors = {
            black=true,
            white=true
        },
        paths={{
        },{
            {transform="scale(1)", d="M 8.0605469 0.53125 L 7.7285156 0.7890625 L 1.1523438 5.8691406 L 1.0996094 5.9492188 C 0.93587514 6.2073518 0.84179688 6.5202587 0.84179688 6.8496094 L 0.84179688 13.544922 C 0.84179688 14.476425 1.6153922 15.228516 2.546875 15.228516 L 13.648438 15.228516 C 14.579921 15.228516 15.353516 14.475633 15.353516 13.544922 L 15.353516 6.8496094 C 15.353516 6.5225215 15.260551 6.2090885 15.095703 5.9492188 L 15.044922 5.8691406 L 8.0605469 0.53125 z M 8.0683594 1.9199219 L 14.179688 6.5917969 C 14.22 6.6699537 14.253906 6.7521883 14.253906 6.8496094 L 14.253906 13.544922 C 14.253906 13.875823 13.99981 14.128906 13.648438 14.128906 L 11.337891 14.128906 L 11.337891 9.3457031 L 4.5839844 9.3457031 L 4.5839844 9.6933594 L 4.5839844 14.128906 L 2.546875 14.128906 C 2.1955029 14.128906 1.9414063 13.875029 1.9414062 13.544922 L 1.9414062 6.8496094 C 1.9414062 6.756599 1.9766569 6.6771539 2.015625 6.5996094 L 8.0683594 1.9199219 z"}
        }},
        build=false
    }
    ,{
        name="info_hangar",
        size=64,
        count=4,
        colors = {
            white=true
        },
        paths={{
            {transform="scale(1)", d="M 8.0605469 0.18359375 L 7.5585938 0.56835938 L 0.9453125 5.6757812 L 0.87109375 5.8027344 C 0.68091809 6.1025533 0.56835937 6.4665811 0.56835938 6.8496094 L 0.56835938 13.544922 C 0.56835941 14.626775 1.470364 15.509766 2.546875 15.509766 L 13.648438 15.509766 C 14.724949 15.509766 15.626953 14.625586 15.626953 13.544922 L 15.626953 6.8496094 C 15.626953 6.4699736 15.516064 6.1051589 15.324219 5.8027344 L 15.251953 5.6757812 L 8.0605469 0.18359375 z M 8.0683594 2.265625 L 13.958984 6.7773438 C 13.965523 6.8017595 13.980469 6.8201517 13.980469 6.8496094 L 13.980469 13.544922 C 13.980469 13.725871 13.854785 13.855469 13.648438 13.855469 L 11.818359 13.855469 L 11.818359 8.8652344 L 4.1035156 8.8652344 L 4.1035156 9.6933594 L 4.1035156 13.855469 L 2.546875 13.855469 C 2.3405313 13.855469 2.2148437 13.72468 2.2148438 13.544922 L 2.2148438 6.8496094 C 2.2148438 6.8161984 2.2346427 6.7903827 2.2441406 6.7617188 L 8.0683594 2.265625 z M 5.7578125 10.519531 L 10.164062 10.519531 L 10.164062 13.759766 L 5.7578125 13.759766 L 5.7578125 10.519531 z M 5.7695312 10.525391 L 5.7695312 12.136719 L 5.7695312 13.746094 L 7.9648438 13.746094 L 10.160156 13.746094 L 10.160156 12.136719 L 10.160156 10.525391 L 7.9648438 10.525391 L 5.7695312 10.525391 z"},
        },{
            {transform="scale(1)", d="M 8.0605469 0.53125 L 7.7285156 0.7890625 L 1.1523438 5.8691406 L 1.0996094 5.9492188 C 0.93587514 6.2073518 0.84179688 6.5202587 0.84179688 6.8496094 L 0.84179688 13.544922 C 0.84179688 14.476425 1.6153922 15.228516 2.546875 15.228516 L 13.648438 15.228516 C 14.579921 15.228516 15.353516 14.475633 15.353516 13.544922 L 15.353516 6.8496094 C 15.353516 6.5225215 15.260551 6.2090885 15.095703 5.9492188 L 15.044922 5.8691406 L 8.0605469 0.53125 z M 8.0683594 1.9199219 L 14.179688 6.5917969 C 14.22 6.6699537 14.253906 6.7521883 14.253906 6.8496094 L 14.253906 13.544922 C 14.253906 13.875823 13.99981 14.128906 13.648438 14.128906 L 11.337891 14.128906 L 11.337891 9.3457031 L 4.5839844 9.3457031 L 4.5839844 9.6933594 L 4.5839844 14.128906 L 2.546875 14.128906 C 2.1955029 14.128906 1.9414063 13.875029 1.9414062 13.544922 L 1.9414062 6.8496094 C 1.9414062 6.756599 1.9766569 6.6771539 2.015625 6.5996094 L 8.0683594 1.9199219 z"}
        }},
        build=false
    }
    ,{
        name="info_settings",
        size=64,
        count=4,
        colors = {
            blue=true
        },
        paths={{
            {d="M5.986 16l-.373-2.237-1.846 1.317-2.848-2.847 1.319-1.847-2.238-.373v-4.027l2.238-.373-1.319-1.846 2.849-2.848 1.846 1.319.372-2.238h4.028l.372 2.238 1.847-1.319 2.847 2.848-1.318 1.846 2.238.373v4.028l-2.238.372 1.318 1.847-2.847 2.847-1.847-1.318-.373 2.238h-4.027z"},
        },{
            {d="M9.964 3.257l-.443-.133-.354-2.124h-2.334l-.353 2.121c-.296.093-.58.21-.855.354l-1.75-1.25-1.65 1.65 1.252 1.752-.22.409-.133.443-2.124.354v2.333l2.121.354c.092.296.21.58.354.855l-1.25 1.75 1.65 1.65 1.752-1.252.408.219.444.134.354 2.124h2.333l.354-2.121c.296-.092.58-.21.854-.354l1.75 1.25 1.65-1.65-1.252-1.752.219-.408.134-.444 2.125-.354v-2.334l-2.121-.353c-.092-.296-.21-.58-.354-.854l1.25-1.75-1.65-1.65-1.752 1.252-.409-.221zm.248 4.743c0 1.222-.991 2.212-2.212 2.212-1.222 0-2.212-.991-2.212-2.212s.99-2.212 2.212-2.212c1.222 0 2.212.99 2.212 2.212z"}
        }},
        build=false
    }
    ,{
        name="expand_left",
        size=64,
        count=4,
        colors = {
            black=true,
            white=true
        },
        paths={{
            
        },{
            {transform="rotate(180 8 8)", d="M 5.8692017,11.733021 5.3518749,11.215694 6.9596073,9.6078471 8.5673397,8 6.9595484,6.3920939 5.3517572,4.784188 5.8748475,4.261453 6.3979378,3.7387179 8.5285643,5.8693444 10.659191,7.9999708 8.5340898,10.125159 c -1.1688057,1.168854 -2.1301547,2.125189 -2.1363312,2.125189 -0.00618,0 -0.2440272,-0.232797 -0.5285569,-0.517327 z"}
        }},
        build=false
    }
    ,{
        name="expand_left_group",
        size=64,
        count=4,
        colors = {
            black=true,
            white=true
        },
        paths={{
            
        },{
            {transform="rotate(180 8 8)", d="M3.834 10.896l2.896-2.896-2.896-2.897.707-.707 3.604 3.604-3.604 3.604-.707-.708zm5.082.708l3.604-3.604-3.604-3.604-.707.707 2.896 2.897-2.896 2.896.707.708z"}
        }},
        build=false
    }
    ,{
        name="two_rows",
        size=64,
        count=4,
        colors = {
            black=true,
            white=true
        },
        paths={{
            
        },{
            {d="M2 1v13h13v-13h-13zm12 12h-11v-5h11v5zm0-6h-11v-5h11v5z"}
        }},
        build=false
    }
    ,{
        name="three_rows",
        size=64,
        count=4,
        colors = {
            black=true,
            white=true
        },
        paths={{
            
        },{
            {d="M2 1v13h13v-13h-13zm12 12h-11v-3h11v3zm0-4h-11v-3h11v3zm0-4h-11v-3h11v3z"}
        }},
        build=false
    } 
    ,{
        name="parameter",
        size=64,
        count=4,
        colors = {
            black=true,
            white=true
        },
        paths={{
        },{
            {transform="scale(1)", d="M12.318 4c.25 0 .475.616.648.977.005.007.005.023.009.023H14v6h-2v1h3V4h-2.682zM3.648 11H2V5h1v.048C3 4.689 3.714 4 3.986 4H1v8h3v-.535c-.126-.131-.242-.465-.352-.465z"},
            {transform="scale(1)", d="M12.155 5.416a3.677 3.677 0 0 0-.939-1.226 4.194 4.194 0 0 0-1.383-.77 5.192 5.192 0 0 0-1.69-.27c-.472 0-.912.055-1.325.167-.413.112-.791.27-1.134.473a4.257 4.257 0 0 0-1.608 1.683c-.186.346-.33.72-.428 1.118-.1.399-.148.815-.148 1.247 0 .652.11 1.248.332 1.777.22.531.531.982.928 1.361.397.377.872.666 1.417.869a5.164 5.164 0 0 0 1.807.305 8.057 8.057 0 0 0 1.488-.127c.194-.037.365-.078.512-.125.148-.049.274-.094.376-.139v-.854a8.594 8.594 0 0 1-.463.184c-.16.055-.336.104-.52.141-.188.039-.387.07-.605.09a6.101 6.101 0 0 1-.7.033 4.062 4.062 0 0 1-1.508-.264 3.272 3.272 0 0 1-1.126-.73 3.155 3.155 0 0 1-.708-1.123 4.082 4.082 0 0 1-.243-1.433c0-.545.09-1.051.272-1.521.182-.471.435-.879.758-1.224a3.525 3.525 0 0 1 1.156-.816 3.57 3.57 0 0 1 1.457-.294c.419 0 .797.044 1.123.136.328.091.619.215.87.369.254.158.466.339.643.547a3.076 3.076 0 0 1 .684 1.398c.05.254.075.5.075.74 0 .344-.033.654-.102.926a2.632 2.632 0 0 1-.269.695 1.28 1.28 0 0 1-.386.432.787.787 0 0 1-.453.15.558.558 0 0 1-.215-.045.361.361 0 0 1-.165-.158.953.953 0 0 1-.107-.304 2.598 2.598 0 0 1-.039-.492c0-.063.008-.17.018-.324.009-.152.026-.33.041-.531.015-.202.035-.417.055-.643.018-.227.037-.445.057-.648.018-.205.033-.386.049-.546a7.18 7.18 0 0 0 .026-.345h-.919l-.054.6h-.02a.766.766 0 0 0-.137-.281.928.928 0 0 0-.233-.216 1.18 1.18 0 0 0-.676-.188c-.336 0-.645.071-.923.216a2.184 2.184 0 0 0-.721.6 2.777 2.777 0 0 0-.466.903c-.114.35-.169.727-.169 1.135 0 .344.045.643.134.9.089.26.211.473.36.646.153.172.329.301.534.383.2.084.416.129.641.129.176 0 .342-.027.499-.082.155-.05.302-.128.431-.232.134-.104.248-.23.348-.381a1.74 1.74 0 0 0 .237-.517h.026c0 .375.101.674.308.893.206.219.501.328.888.328.292 0 .58-.063.862-.197.284-.131.537-.328.764-.586.221-.262.404-.582.543-.965.138-.387.208-.832.208-1.342 0-.606-.117-1.151-.345-1.635zM8.847 7.965a2.53 2.53 0 0 1-.245.719 1.43 1.43 0 0 1-.408.482.968.968 0 0 1-.572.176.832.832 0 0 1-.633-.31 1.235 1.235 0 0 1-.197-.391 1.894 1.894 0 0 1-.072-.547c0-.236.027-.48.08-.729.056-.248.137-.473.25-.678.11-.199.25-.363.417-.491a.923.923 0 0 1 .581-.192c.123 0 .235.021.34.063a.738.738 0 0 1 .279.197c.08.086.145.197.189.33.044.133.07.293.07.48.001.317-.029.615-.079.891z"}
        }},
        build=false
    }
    ,{
        name="branch",
        size=64,
        count=4,
        colors = {
            black=true,
            blue=true,
            white=true
        },
        paths={{
        },{
            {transform="scale(0.25)", d="m 34,30 h 30 v 4 H 34 Z"},
            {transform="scale(0.25)", d="m 30,0 h 4 v 64 h -4 z"},
        }},
        build=false
    }
    ,{
        name="branch_next",
        size=64,
        count=4,
        colors = {
            black=true,
            blue=true,
            white=true
        },
        paths={{
        },{
            {transform="scale(0.25)", d="m 30,0 h 4 v 64 h -4 z"},
        }},
        build=false
    }
    ,{
        name="branch_end",
        size=64,
        count=4,
        colors = {
            black=true,
            blue=true,
            white=true
        },
        paths={{
        },{
            {transform="scale(0.25)", d="m 30,0 h 4 v 34 h -4 z"},
            {transform="scale(0.25)", d="m 34,30 h 30 v 4 H 34 Z"},
        }},
        build=false
    }
    ,{
        name="collapse",
        size=64,
        count=4,
        colors = {
            gray=true,
            black=true
        },
        paths={{
        },{
            {d="M 12.8,7V 9 H 3.2 V 7 Z"},
            {d="M 1,1 V 15 H 15 V 1 Z M 2,2 H 14 V 14 H 2 Z"},
        }},
        build=false
    }
    ,{
        name="expand",
        size=64,
        count=4,
        colors = {
            gray=true,
            black=true
        },
        paths={{
        },{
            {d="M 12.5,7 V 9 H 9 L 9,12.5 7,12.5 7,9 H 3.6 V 7 H 7 V 3.4 H 9 V 7 Z"},
            {d="M 1,1 V 15 H 15 V 1 Z M 2,2 H 14 V 14 H 2 Z"},
        }},
        build=false
    }
    ,{
        name="reset",
        size=64,
        count=4,
        colors = {
            black=true,
            white=true
        },
        paths={{
            
        },{
            {transform="matrix(1,0,0,-1,0,16.018502)", d="M 15,8 A 7,7 0 1 1 3.12,3 H 1 V 1 H 7 V 7 H 5 V 4 A 5,5 0 1 0 10.764,3.831 L 11.871,2.165 A 6.989,6.989 0 0 1 15,8 Z"}
        }},
        build=false
    }
    ,{
        name="rocket",
        size=64,
        count=4,
        colors = {
            blue=true
        },
        paths={{
            {d="M2,14H4v1H1V12H2Zm9-3.657V14.5l-.5.5h-3l-.353-.146-1-1H6.137l-4-4V9.843l-.989-.989L1,8.5v-3L1.5,5H5.655C7.836,2.983,10.891,1,14.489,1l.5.5C14.994,5.111,13.019,8.165,11,10.343ZM2,8.293l.418.418A24.023,24.023,0,0,1,4.648,6H2Zm4.555,4.563c1.434-.987,7.1-5.228,7.421-10.84C8.377,2.355,4.126,8,3.134,9.437ZM10,14V11.351A23.537,23.537,0,0,1,7.28,13.574L7.7,14ZM8.441,7.562a1.5,1.5,0,0,0,2.444-1.637,1.473,1.473,0,0,0-.326-.487A1.5,1.5,0,1,0,8.441,7.562Z"}
        },{
            {d="M 13.919922 2.03125 C 13.660403 2.0324802 12.779505 2.1742159 12.322266 2.2890625 C 10.762929 2.6807275 9.1229056 3.5205136 7.6074219 4.7011719 C 6.1047574 5.8718434 4.5368238 7.5098212 3.3828125 9.1171875 L 3.1464844 9.4472656 L 4.8476562 11.128906 C 5.783156 12.053908 6.5597016 12.810249 6.5722656 12.810547 C 6.6454581 12.812284 7.9228762 11.821421 8.5136719 11.304688 C 11.658279 8.5542882 13.542095 5.5236616 13.896484 2.6445312 C 13.975784 2.0003432 13.975322 2.0309874 13.919922 2.03125 z M 9.4296875 4.9746094 C 10.22362 4.9537259 11.000592 5.5567838 11.003906 6.4765625 C 11.005549 6.9325553 10.85662 7.288434 10.537109 7.5898438 C 10.328471 7.7866625 10.133623 7.8944747 9.8671875 7.9628906 C 9.6562786 8.0170516 9.3156345 8.0178356 9.1113281 7.9628906 C 8.5629304 7.8154081 8.0932606 7.3123783 7.9941406 6.765625 C 7.9046876 6.2721945 8.0611092 5.767125 8.4082031 5.4199219 C 8.7047389 5.1232928 9.0688092 4.9841018 9.4296875 4.9746094 z M 2.015625 6.0058594 L 2.015625 7.1269531 L 2.015625 8.2480469 L 2.2070312 8.4414062 C 2.3120122 8.5471978 2.4072694 8.6269603 2.4199219 8.6191406 C 2.4325745 8.6113209 2.5890501 8.4148618 2.765625 8.1835938 C 3.3830287 7.3749531 3.8070639 6.8645799 4.3574219 6.265625 L 4.5957031 6.0058594 L 3.3066406 6.0058594 L 2.015625 6.0058594 z M 9.9941406 11.375 L 9.7617188 11.59375 C 9.2158347 12.107278 8.351163 12.816869 7.6445312 13.332031 L 7.3125 13.576172 L 7.515625 13.779297 L 7.7207031 13.984375 L 8.8574219 13.984375 L 9.9941406 13.984375 L 9.9941406 12.679688 L 9.9941406 11.375 z "}
        }},
        build=false
    }
    ,{
        name="pick_cursor",
        size=64,
        count=4,
        colors = {
            blue=true,
            red=true
        },
        paths={{
            {d="M15 8A7 7 0 1 1 .999 7.999 7 7 0 0 1 15 8z"}
        },{
            {d="M8 2a6 6 0 1 0 .002 12.002A6 6 0 0 0 8 2zm0 10a4 4 0 1 1 0-8 4 4 0 0 1 0 8zm2-4a2 2 0 1 1-4.001-.001A2 2 0 0 1 10 8z"}
        }},
        build=false
    }
    ,{
        name="asterisk",
        size=64,
        count=4,
        colors = {
            blue=true,
            red=true
        },
        paths={{
            {transform="translate(-2 -2) scale(1.25)", d="M8.004 11.229l-1.217 2.226-3.383-2.339 1.656-2.005-2.402-.409 1.395-3.912 2.135.89-.279-2.68h4.183l-.279 2.68 2.134-.89 1.394 3.91-2.39.411 1.637 2.002-3.341 2.342-1.243-2.226z"}
        },{
            {transform="translate(-2 -2) scale(1.25)", d="M9.091 8.416l2.041 2.496-1.552 1.088-1.585-2.84-1.553 2.84-1.573-1.088 2.063-2.496-2.932-.499.641-1.797 2.715 1.132-.337-3.252h1.964l-.337 3.251 2.714-1.132.64 1.798-2.909.499z"}
        }},
        build=false
    }
    ,{
        name="mining",
        size=64,
        count=4,
        colors = {
            blue=true
        },
        paths={{
            {d="M14.481 4.702l.759-1.377L12.677.762l-1.378.759C9.627.562 7.354 0 5.078 0c-.834 0-1.592.079-2.254.234l-.771.182v1.87l.799.164c1.367.281 2.893.914 4.65 1.931l-.001 1.204L0 13.086v.828L2.086 16h.828l7.501-7.5h1.204c1.015 1.752 1.649 3.277 1.933 4.65l.165.797h1.866l.182-.77c.535-2.259.18-5.92-1.284-8.475z"}
        },{
            {d="M13.32 4.732L14 3.5 12.5 2l-1.233.68C8.983 1.121 5.25.691 3.053 1.208v.263c1.674.344 3.445 1.131 5.448 2.34L8.5 6 .999 13.5 2.5 15 10 7.5h2.189c1.21 2.002 1.995 3.774 2.342 5.447h.261c.519-2.195.086-5.93-1.472-8.215z"}
        }},
        build=false
    }
    ,{
        name="hotspot",
        size=64,
        count=4,
        colors = {
            blue=true
        },
        paths={{
            {d="M13.661,6.768c.082.244,1.461,5.816-2.695,7.894l-.862.1H5.377c-1.415,0-2.39-1.7-2.645-2.35a5.574,5.574,0,0,1-.008-4.139c.132-.358.346-.812.585-1.315C3.8,5.937,4.53,4.388,4.395,3.668L3.781.427l2.31,2.355A6.6,6.6,0,0,1,7.615,5.428a3.407,3.407,0,0,0-.188-1.2,9.787,9.787,0,0,0-.765-1.752l-1-1.707,2,.1A6.8,6.8,0,0,1,11.5,6.506l1.158-1.738,1,2"}
        },{
            {d="M9.229,10.557s1.715-1.715,1.715-3.429A6.09,6.09,0,0,0,7.515,1.985s3.429,3.43,0,6.856A7.581,7.581,0,0,0,5.8,3.7c.27,1.427-1.256,3.9-1.715,5.143a4.578,4.578,0,0,0,0,3.43c.216.549.971,1.713,1.715,1.713H7.515c-1.317,0-2.742-2.395-1.714-3.428-.389.391.582,1.463.856,1.715.5.453,1.84,1.713,2.571,1.713h1.715s-3.427-1.713-1.714-3.427m3.428-3.43c0,1.714-1.713,3.429-1.713,3.429a2.373,2.373,0,0,0,0,3.428c3.428-1.713,1.713-6.857,1.713-6.857"}
        }},
        build=false
    }
    ,{
        name="cookie_cutter",
        size=64,
        count=4,
        colors = {
            black=true,
            white=true
        },
        paths={{
        },{
            {d="M8.005 15.007a7 7 0 0 1-4.429-1.578 6.954 6.954 0 0 1-2.539-4.72A6.958 6.958 0 0 1 2.58 3.576 6.955 6.955 0 0 1 7.3 1.035a6.978 6.978 0 0 1 5.133 1.543 7.03 7.03 0 0 1 2.361 7.116l-.194.782-.648-.478a2.687 2.687 0 0 0-3.676.456 2.7 2.7 0 0 0-.004 3.403l.512.627-.776.23a6.982 6.982 0 0 1-2.003.293zm.011-12.93c-.201 0-.404.01-.607.031-1.575.159-2.994.922-3.995 2.148S1.95 7.025 2.109 8.6a5.887 5.887 0 0 0 2.148 3.994 5.919 5.919 0 0 0 4.733 1.252 3.787 3.787 0 0 1 .451-4.073 3.756 3.756 0 0 1 4.439-1.056 5.949 5.949 0 0 0-2.129-5.304 5.875 5.875 0 0 0-3.735-1.336zM9.53 3.76c-.48-.23-1.135.049-1.444.488-.62-.259-1.138.704-.513 1.12.592.393 1.454.852 2.049.206.417-.453.561-1.501-.092-1.814zM3.822 6.561c-.184.351.005.846.324 1.088-.21.455.493.867.819.413.309-.43.675-1.059.21-1.52-.326-.322-1.102-.458-1.353.019zm1.794 3.562c.09.472.657.771 1.157.732.145.588 1.151.391 1.122-.292-.03-.646-.157-1.521-.967-1.563-.569-.029-1.435.481-1.312 1.123z"}
        }},
        build=false
    }

}

-------------------------------------------------------------------------------
--- builder functions
local function create_path(svg, path, color)
    if path.p ~= nil then
        if path.transform ~= nil then
            table.insert(svg, string.format("<polygon style=\"fill:%s\" transform=\"%s\" points=\"%s\"/>", color, path.transform, path.p))
        else
            table.insert(svg, string.format("<polygon style=\"fill:%s\" points=\"%s\"/>", color, path.p))
        end
    else
        if path.transform ~= nil then
            table.insert(svg, string.format("<path style=\"fill:%s\" transform=\"%s\" d=\"%s\"/>", color, path.transform, path.d))
        else
            table.insert(svg, string.format("<path style=\"fill:%s\" d=\"%s\"/>", color, path.d))
        end
    end
end

local function create_svg(sprite, background_color, foreground_color)
    local height = sprite.size
    local width = 0
    local transforms = {}
    for i = 1, sprite.count, 1 do
        local x = width
        local scale = 2 * ( sprite.size / 16 ) / ( 2 ^ i )
        local transform = string.format("translate(%s 0) scale(%s)", x, scale)
        table.insert(transforms, transform)
        width = width + 2 * sprite.size / ( 2 ^ i )
    end
    local svg = {}
    table.insert(svg, string.format("<svg viewBox=\"0 0 %s %s\" xmlns=\"http://www.w3.org/2000/svg\" xmlns:svg=\"http://www.w3.org/2000/svg\">", width, height))
    table.insert(svg, "<g>")

    for _, transform in pairs(transforms) do
        table.insert(svg, string.format("<g transform=\"%s\">", transform))
        local background_paths = sprite.paths[1]
        local foreground_paths = sprite.paths[2]
        for _, path in pairs(background_paths) do
            if sprite.invert == true then
                create_path(svg, path, foreground_color)
            else
                create_path(svg, path, background_color)
            end
        end
        for _, path in pairs(foreground_paths) do
            if sprite.invert == true then
                create_path(svg, path, background_color)
            else
                create_path(svg, path, foreground_color)
            end
        end
        table.insert(svg, "</g>")
    end

    table.insert(svg, "</g>")
    table.insert(svg, "</svg>")
    local text = table.concat(svg,"")
    return text
end

local function write_file(filename, content)
    local file = io.open(filename, "w+")
    file:write(content)
    file:close();
end

local function inkscape_command(inkscape, filename)
    local cmd = string.format("%s --export-type=\"png\" \"%s\"", inkscape, filename)
    os.execute(cmd)
end
-------------------------------------------------------------------------------
local force_build = false
local inkscape = "D:\\Autre\\inkscape\\bin\\inkscape"
local info = debug.getinfo(1)
local current_file=string.gsub(info.source, "/", "\\")
current_file=string.gsub(current_file, "@", "")
local current_dir = string.gsub(current_file, "^(.+\\)[^\\]+$", "%1");
local colors = {
    black = {"#FFFFFF", "#000000"},
    gray = {"#DDDDDD", "#C0C0C0"},
    white = {"#000000", "#FFFFFF"},
    red = {"#000000", "#FF0000"},
    blue = {"#000000", "#6CCEED"},
    yellow = {"#000000", "#FCDC3B"}
}
-------------------------------------------------------------------------------
--- Image builder
local total = 0
for index, sprite in pairs(sprites) do
    total = total + 1
end
for index, sprite in pairs(sprites) do
    if force_build or sprite.build then
        print(string.format("Process %s (%s/%s)", sprite.name, index, total))
        for color_name, is_valid in pairs(sprite.colors) do
            if is_valid then
                local color = colors[color_name]
                local content = create_svg(sprite, color[1], color[2])
                local path = string.format("%sicons\\%s_%s.svg", current_dir, sprite.name, color_name)
                write_file(path, content)
                inkscape_command(inkscape, path)
                os.remove(path)
            end
        end
    end
end

-------------------------------------------------------------------------------
--- Defines builder
--- Put this result in defines.lua file
print("===== defines.lua =====")
local defines_builded = {}
table.insert(defines_builded, "defines.sprites = {}")
for _, sprite in pairs(sprites) do
    local array = string.format("defines.sprites.%s = {}", sprite.name)
    table.insert(defines_builded, array)
    for color_name, is_valid in pairs(sprite.colors) do
        if is_valid then
            local value = string.format("defines.sprites.%s.%s = \"%s_%s\"", sprite.name, color_name, sprite.name, color_name)
            table.insert(defines_builded, value)
        end
    end
end
local path = string.format("%s..\\core\\defines_builded.lua", current_dir)
local defines_content = table.concat(defines_builded,"\n")
write_file(path, defines_content)
-------------------------------------------------------------------------------
--- Defines builder
--- Put this result in sprites.lua file
print("===== sprites.lua =====")
local sprites_builded = {}
table.insert(sprites_builded, "local mipmaps = {")
for _, sprite in pairs(sprites) do
    for color_name, is_valid in pairs(sprite.colors) do
        if is_valid then
            table.insert(sprites_builded, string.format("{name=\"%s_%s\", size=%s, count=%s},", sprite.name, color_name, sprite.size, sprite.count))
        end
    end
end
table.insert(sprites_builded, "}")
table.insert(sprites_builded, "return mipmaps")
local path = string.format("%s..\\prototypes\\sprites_builded.lua", current_dir)
local sprites_content = table.concat(sprites_builded,"\n")
write_file(path, sprites_content)
