Plugin Directory

Changeset 2738848


Ignore:
Timestamp:
06/07/2022 08:59:11 PM (4 years ago)
Author:
genolve
Message:
  • Add inner shadow to masking shadow options.
  • Arrows, sports, machines are now separate mask categories.
Location:
genolve-toolkit/trunk
Files:
5 edited

Legend:

Unmodified
Added
Removed
  • genolve-toolkit/trunk/genolve-toolkit.php

    r2719585 r2738848  
    22/*
    33 * Plugin Name: Genolve Slideshow Maker Toolkit
    4  * Version: 3.0.0
     4 * Version: 3.0.1
    55 * Plugin URI: https://www.genolve.com/
    66 * Description: Create artistic slideshows freely mixing images, video, SVG or text with animations choreographed to a soundtrack.
  • genolve-toolkit/trunk/inc/functions.php

    r2719585 r2738848  
    1212define( 'GENOLVE_MANAGE_GROUP', 'genolve-manage-group');
    1313define( 'GENOLVE_DASHBOARD_GROUP', 'genolve-dashboard-group');
    14 /* TEST
     14/* TEST  
    1515define( 'GENOLVE_ACTION_URL',  'http://localhost/widget/');
    1616define( 'GENOLVE_JS_URL',      'http://localhost/widget/js/' );
    1717define( 'GENOLVE_VER',      '' );
    18   */
     18 */
    1919
    2020/* PRODUCTION  also change version in genolve-toolkit.php,eloop and readme.txt  */
    2121define( 'GENOLVE_ACTION_URL',  'https://www.genolve.com/');     
    2222define( 'GENOLVE_JS_URL',      'https://www.genolve.com/js/' );
    23 define( 'GENOLVE_VER',         '-3.0.0' );
     23define( 'GENOLVE_VER',         '-3.0.1' );
    2424
    2525/* * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * *
  • genolve-toolkit/trunk/js/genolve-3rdparty.js

    r2719585 r2738848  
    1 function GNLV_3RDPARTY(c,B,x){function R(b){for(var a=0,d="",e="0123456789abcdef".split("");a<b;)d+=e[Math.floor(16*Math.random())],a++;return"#"+d}function Y(b,a){if(a<b.length)for(var d=0;d<b.length;d++){var e=b[d].attr("class");c.vprint("d3","confetti:  SPRITE ["+d+"] current:"+e);d==a?b[d].classed("gnlv-gone",!1):b[d].classed("gnlv-gone",!0)}else console.warn("3rdparty.classAct sprite"+a+" past num:"+b.length)}var p=this,A=this,F=-1,J=[42,43],Z="easeLinear,easeQuad,easeQuadIn,easeQuadOut,easeCubic,easeCubicIn,easeCubicOut,easeSin,easeSinIn,easeSinOut,easeExp,easeExpIn,easeExpOut,easeCircle,easeCircleIn,easeCircleOut".split(/,/),
    2 aa=["uniform","bands","bigMiddle","bigEdge","RANDOM"],ba="complementary splitcomplementary analagous triadic tetradic monochromatic".split(" "),fa="complementaryScheme,splitComplementaryScheme,splitComplementaryCWScheme,splitComplementaryCCWScheme,triadicScheme,clashScheme,tetradicScheme,fourToneCWScheme,fourToneCCWScheme,fiveToneAScheme,fiveToneBScheme,fiveToneCScheme,fiveToneDScheme,fiveToneEScheme,sixToneCWScheme,sixToneCCWScheme,neutralScheme,analogousScheme".split(/,/),ha="interpolateMagma,interpolateViridis,interpolateInferno,interpolatePlasma,interpolateWarm,interpolateCool,interpolateRainbow,interpolateCubehelixDefault".split(/,/);
    3 this.apidiv=this.imgkey="notset";this.apidivA={};this.Color=this.cryb="notset";this.kulaA;this.pjA;this.limitkula;this.setValMode=Object.freeze({LOOP:"LOOP",LIMIT:"LIMIT",RANDOM:"RANDOM"});null==x&&(x=jQuery);c.vprint("d3","3 3 3 3 3 3 3 3 3 3 3 3  INIT 3rd party scripts  have d3?"+typeof d3+" have Color?"+typeof net+" have ColorRYB?"+typeof ColorRYB+"3 3 3 3 3 3 3 3 3 3 3 3 eloop:"+typeof document.eloop);var y=document.eloop;"undefined"==typeof net||"undefined"==typeof ColorRYB?(c.vprint("d3","3 3 3 3 3 3 3 3 3 3 3 3  INIT dynamic load color.js scripts   3 3 3 3 3 3 3 3 3 3 3 3 from:"+
    4 y.actionhost),x.getScript(y.actionhost+"/js/color-js/color.js",function(){p.Color=net.brehaut.Color;p.cryb=new ColorRYB(c,x);c.vprint("d3","3 3 3 3 3 3 3 3 3 3 3 3 DONE INIT dynamic load color scripts DONE  3 3 3 3 3 3 3 3 3 3 3 3 had net.Color?"+typeof net+" cryb?"+typeof ColorRYB)})):(p.Color=net.brehaut.Color,p.cryb=new ColorRYB(c,x),c.vprint("d3","3 3 3 3 3 3 3 3 3 3 3 3  INIT normal load color scripts DONE  3 3 3 3 3 3 3 3 3 3 3 3"));"undefined"==typeof d3&&x.getScript(y.actionhost+"/js/d3/d3.min.js",
    5 function(){c.vprint("d3","3 3 3 3 3 3 3 3 3 3 3 3  d3 loaded DONE  3 3 3 3 3 3 3 3 3 3 3 3")});this.mulberry32=function(b){return function(){var a=b+=1831565813;a=Math.imul(a^a>>>15,a|1);a^=a+Math.imul(a^a>>>7,a|61);return((a^a>>>14)>>>0)/4294967296}};this.d3interpolate=function(b,a,d){c.vprint("d3","d3interpolate  = = =  START = = =  with rootel:"+b);var e,g=this.d3_getNchild(b,2),f=g[0],h=f.cloneNode();g=g[1];b=d3.select(b);this.pjA=a;null!=d&&(J=d,F=-1);c.vprint("d3","found child1:"+h.nodeName+
    6 " child2:"+g.nodeName);var m=[];for(d=0;d<a.cfTag.length;d++){var n={};n.cfTag=a.cfTag[d];n.from=h.getAttribute(a.cfTag[d]);n.to=g.getAttribute(a.cfTag[d]);n.vals=d3.quantize(d3.interpolate(n.from,n.to),a.cfSections);var k=null==a.cfEase?d3.easeLinear:d3["ease"+a.cfEase[d]];n.vals=c.zero2one(a.cfSections).map(function(l){return d3.interpolate(n.from,n.to)(k(l))});m.push(n)}f.remove();g.remove();c.vprint("d3","packed up dataA:"+c.dumpvar(m));c.vprint("d3","TEMPLATE:"+h);a=b.selectAll(h.nodeName).data(c.ones(a.cfSections)).enter().append(function(){return h.cloneNode()});
    7 for(e=0;e<m.length;e++)c.vprint("d3","process tag:"+m[e].cfTag+" vals:"+m[e].vals),a.attr(m[e].cfTag,function(l,q){c.vprint("d3","tag:"+m[e].cfTag+" val["+q+"]"+m[e].vals[q]);return m[e].vals[q]})};this.d3limitrange=function(b,a,d){var e=d3.select(b);null!=d&&(J=d,F=-1);c.vprint("d3","d3limitrange SELECT["+b+"] rootel type:"+e.node().nodeName+" transform: have data:"+a);p.limitkula=A.codonSel(a.cfRange,"scale");d=e.selectAll(a.cfSelector);c.vprint("d3","d3limitrange my limited color is:"+p.limitkula+
    8 " apply to selection:"+a.cfSelector+" children:"+d.size());for(b=0;b<a.cfTag.length;b++)c.vprint("d3","process tag:"+a.cfTag[b]+":"),d.style(a.cfTag[b],function(g,f){return p.limitkula})};this.d3colormatch=function(b,a,d){var e=d3.select(b);null!=d&&(J=d,F=-1);d=a.dominate;"currentColor"==d&&(d=c.curcolor);if(d.match(/^grab.*/)){var g=d.replace(/grab/,"");var f=e.attr(g);var h=c.getCstyle(e.node(),g);c.vprint("d3","d3colormatch   S E E D  C O L O R   grab["+g+"].attr found:"+f+" cstyle:"+h);d="#883300";
    9 null!=f&&(d=f);null!=h&&(d=h)}c.vprint("d3","d3colormatch - START - rootel type:"+e.node().nodeName+" transform: have data:"+a+" seedColor:"+d+" scheme:"+a.cfScheme+","+typeof a.cfScheme);if("function"!=typeof p.Color)if(c.vprint("d3","d3colormatch no Color obj!"),"undefined"!=typeof net)p.Color=net.brehaut.Color;else return;h=p.Color(d);null==a.cfScheme||"RANDOMRGB"==a.cfScheme?(c.vprint("d3","d3colormatch ** RGB mode"),f=A.codonSel(fa),p.kulaA=h[f]()):null!=a.subordinate?(g=a.subordinate.replace(/grab/,
    10 ""),f=e.attr(g),h=c.getCstyle(e.node(),g),c.vprint("d3","d3colormatch ** S U B O R D I N A T E  C O L O R   grab["+g+"].attr found:"+f+" cstyle:"+h),g="#883300",null!=f&&(g=f),null!=h&&(g=h),c.vprint("d3","d3colormatch seedColor:"+d+" subColor:"+g),p.kulaF=d3.interpolateRgb(d,g)):a.cfScheme&&"string"==typeof a.cfScheme&&a.cfScheme.match(/^interpolate/)?(d=a.cfScheme&&d3[a.cfScheme]?a.cfScheme:B.iterate(ha,null,"random"),c.vprint("d3","d3colormatch ** interpolation function:"+d),p.kulaF=d3[d]):x.isArray(a.cfScheme)?
    11 (f=A.codonSel(a.cfScheme),c.vprint("d3","d3colormatch ** RYB Array mode:"+f+" seedColor:"+d+" CSS:"+h.toCSS()+" have cryb?"+typeof p.cryb),p.kulaA=p.cryb.getAllSymmetries(f,h.toCSS(),"ryb")):(f=A.codonSel(ba),c.vprint("d3","d3colormatch ** RYB Random Array mode:"+ba+"->"+f),p.kulaA=p.cryb.getAllSymmetries(f,d,"ryb"),"complementary"!=f&&"analagous"!=f||p.kulaA.push(d));c.vprint("d3","d3colormatch can choose from colors=======>"+p.kulaA+" stagger?"+a.cfStagger);p.limitkula=A.codonSel(p.kulaA);if("none"!=
    12 a.cfSelector)for(b=d3.select(c.bubbleUp(b,"svg")),e=e.selectAll(a.cfSelector),c.vprint("d3","d3colormatch my limited color is:"+p.limitkula+" apply to selection:"+a.cfSelector+" children found:"+e.size()),0==e.size()&&(e=b.selectAll(a.cfSelector)),p.numkids=e.size(),b=0;b<a.cfTag.length;b++)c.vprint("d3","child["+b+"] tag:"+a.cfTag[b]+": color:"+p.limitkula),"flood-color"==a.cfTag[b]?e.attr(a.cfTag[b],function(m,n){return V(m,n,a)}):e.style(a.cfTag[b],function(m,n){return V(m,n,a)});c.vprint("d3",
    13 "d3colormatch done!")};var V=function(b,a,d){if(null==d.cfStagger)return p.limitkula;if("cycle"==d.cfStagger)return p.kulaA[a%p.kulaA.length];if(null!=d.subordinate||d.cfScheme&&"string"==typeof d.cfScheme&&d.cfScheme.match(/^interpolate/))return b=p.kulaF(2*a/p.numkids),2*a>p.numkids&&(b=p.kulaF((2*p.numkids-2*a)/p.numkids)),b;a=A.getRandPoint(1,[[0,0],[p.kulaA.length-1,20]],d.cfStagger,"uniform");a=parseInt(a[0][0]);return p.kulaA[a]};this.d3voronify=function(b,a,d){var e;var g="0 0 200 200";var f,
    14 h,m,n;c.vprint("d3","voronify START with el.id:"+b.id);var k=d3.select(b);c.vprint("d3","voronify have rootel?"+typeof k);c.vprint("d3","voronify have rootel.node?"+typeof k.node+" fill?"+k.attr("fill"));F=-1;J=d;d=d3.select(c.bubbleUp(b,"svg"));c.vprint("d3","voronify have svg?"+typeof d);var l=d.node().getBBox();d.attr&&d.attr("viewBox")&&(g=d.attr("viewBox"));g=g.split(/ /);c.vprint("d3","voronify  eloop.template box: "+y.viewBoxA+" local bbox?"+typeof l+" local viewBox:"+d.attr("viewBox")+" obj bbox:"+
    15 c.dumpvar(l,"onelevel"));g="standard"==a.target?[[0,0],[1E3,1E3]]:null!=y.viewBoxA&&"template"==a.target?[[y.viewBoxA[0],y.viewBoxA[1]],[y.viewBoxA[2],y.viewBoxA[3]]]:0<l.width?[[c.d0(l.x),c.d0(l.y)],[c.d0(l.width),c.d0(l.height)]]:[[g[0],g[1]],[g[2],g[3]]];var q=[[0,0],[g[1][0]-1,g[1][1]-1]],r=[[0,0],[g[1][0]+1,g[1][1]+1]],C=d3.scaleLinear().domain([0,c.d0(l.width-1)]).rangeRound([0,255]).clamp(!0),G=d3.scaleLinear().domain([0,c.d0(l.width-1)]).rangeRound([0,255]).clamp(!0);c.vprint("d3","voronify d3 extentA:"+
    16 c.dumpvar(q,"onelevel")+" extentB:"+c.dumpvar(r,"onelevel"));q=A.getRandPoint(A.codonSel(a.num),q,a.xpat,a.ypat);c.startTimer();c.vprint("util","voronify d3 rand points time:"+c.getTimer()+" num sites:"+q.length);l="pattern_"+c.alphanumA[Math.floor(36*Math.random())]+c.alphanumA[Math.floor(36*Math.random())]+c.alphanumA[Math.floor(36*Math.random())]+"_1_";null!=a.colorO&&null!=a.colorO.cfFunc&&(c.vprint("d3","voronify d3 -START- using color func:"+a.colorO.cfFunc),p[a.colorO.cfFunc](b,a.colorO),c.vprint("d3",
    17 "voronify d3 -END-  using color func:"+a.colorO.cfFunc));b=d3.voronoi().extent(r);c.vprint("d3","voronify d3 GERNERATE time:"+c.getTimer());var t=[],H="fill";x.isArray(a.shape)&&(a.shape=A.codonSel(a.shape));null!=a.shrink&&(a.shrink=A.codonSelJSON(a.shrink),"lines"!=a.shape&&"oneline"!=a.shape&&"triangles"!=a.shape||null==a.shrink.thinthreshold||delete a.shrink.thinthreshold);"lines"==a.shape||"oneline"==a.shape?(H="stroke",b=b.links(q)):b="triangles"==a.shape?b.triangles(q):b.polygons(q);c.vprint("d3",
    18 "voronify making pattern with num points:"+b.length+" have svg el?"+d);g=d.select("defs").append("pattern").attr("id",l).attr("x",g[0][0]).attr("y",g[0][1]).attr("width",g[1][0]).attr("height",g[1][1]).attr("patternUnits","userSpaceOnUse").attr("patternTransform","scale(1)");null!=a.cfApplyClass&&g.attr("class",a.cfApplyClass);g.selectAll("path").data(b).enter().append("path").attr(H,function(u,M){return null==u||null==u.length&&null==u.source?(c.vprint("d3^2","BAD d at index["+M+"]"+c.dumpvar(u,
    19 "onelevel")),""):null!=a.colorO?(f=null==u.source?u[0][0]:c.d0(u.source[0]),h=null==u.source?u[0][1]:c.d0(u.source[1]),e="#34F","solid"==a.colorO.scheme&&null!=a.colorO.hex?e=a.colorO.hex:"monochrome"==a.colorO.scheme?e="rgb(0, 0, "+C(f)+")":"inerpolateColor"==a.colorO.scheme?e=d3[a.colorO.schemeParam](C(h)/255):"random"==a.colorO.scheme?e="rgb("+(h+f)%255+", "+C(f)+", "+G(h)+")":null!=a.colorO.cfFunc?e=V(u,M,a.colorO):c.vprint("d3","no color to set! had colorO but no scheme"),c.vprint("d3^2","setting "+
    20 H+":"+e),e):""}).attr("d",function(u,M){if(null==u||null==u.length&&null==u.source)return"";if(null!=u.source)return f=c.dd(u.source[0]),h=c.dd(u.source[1]),m=c.dd(u.target[0]),n=c.dd(u.target[1]),t.push("M",f,h,m,n),"M"+f+","+h+" "+m+","+n;var w=B.vA2O(u);w=null!=a.shrink?A.vM2Q(w,a.shrink):B.vMstr(w);c.vprint("d3^2","d["+M+"]:numpoints:"+u.length+": Cstr:"+w);return w});0<t.length&&"oneline"==a.shape&&(b=d.select("g"),c.vprint("d3","voronify had allPoints:"+t.length+" have g element?"+b),g=t.join(),
    21 g=g.replace(/,?M,/g," M"),r=null==e?"":" stroke='"+e+"'",b.node().innerHTML="<path "+r+"  d='"+g+"' />");c.vprint("util","voronify d3 MODIFY time:"+c.getTimer());k.attr("fill","url(#"+l+")");y.isBlocks&&d.append("rect").attr("x",0).attr("y",0).attr("width","100%").attr("height","100%").attr("fill","url(#"+l+")")};this.d3transform=function(b,a,d){c.vprint("d3","d3transform  = = =  START = = =  with rootel:"+b);b=d3.select(b);F=-1;c.vprint("d3","have codondex:"+F+" codon array:"+d);var e=this.codonSel(a.cfSections);
    22 var g=ia(a,e);d=null!=a.cfData?a.cfData:c.ones(e);c.vprint("d3","my data array:"+d);var f=b.node().firstChild;for(c.vprint("d3","num first child:"+f.nodeName+","+f+" nextSibling:"+f.nextSibling.nodeName);("#text"==f.nodeName||"#comment"==f.nodeName)&&null!=f.nextSibling;)f=f.nextSibling;c.vprint("d3","look for tag:"+f.nodeName);c.vprint("d3","rendering with cfSections:"+e+" cfTag:"+a.cfTag+" cfWrap:"+a.cfWrap+" incA:"+g+":");this.incA=g;this.jA=a;x.isArray(a.cfTag)||(a.cfTag=[a.cfTag]);x.isArray(a.cfWrap)||
    23 (a.cfWrap=[a.cfWrap]);d=b.selectAll(f.nodeName).data(c.ones(e)).enter().append(function(){return f.cloneNode()});for(b=0;b<a.cfTag.length;b++)this.wrap=a.cfWrap[b],this.contA=this.wrap.match(/CONTENT[0-9]+_/g),c.vprint("d3","process tag:"+a.cfTag[b]+" wrap:"+this.wrap+" numtags:"+this.contA),d.attr(a.cfTag[b],ja.bind(this))};this.divEffect=function(b){var a=b.getAttribute("data-div");var d=b.getAttribute("data-aa");c.vprint("d3","divEffect: - - - - - - - - - -  - - - - - - - - - -arg:"+typeof b+"  have data?"+
    24 typeof genolve_gen_sel_hash+" key:"+d+" "+a);if(a.match(/(decoration|text|flair)/)){var e=parseFloat(b.getAttribute("data-dur"));b=parseFloat(b.getAttribute("data-pause"));c.vprint("d3","divEffect: - - - - - - - - - -  - - - - - - - - ani dur:"+e+" pause:"+b);var g="falling-snow-"+a;var f=x("#"+g);1<=f.length?c.vprint("eloop","divEffect: - - - - - - - - - -  - - - - - - - - div already there!"+g):(x("body").prepend('<div id="'+g+'" class="gnlv-falling"/>'),f=x("#"+g),a=d3.select("#"+d+" #"+a).node().innerHTML,
     1function GNLV_3RDPARTY(c,E,y){function W(b){for(var a=0,d="",e="0123456789abcdef".split("");a<b;)d+=e[Math.floor(16*Math.random())],a++;return"#"+d}function da(b,a){if(a<b.length)for(var d=0;d<b.length;d++){var e=b[d].attr("class");c.vprint("d3","confetti:  SPRITE ["+d+"] current:"+e);d==a?b[d].classed("gnlv-gone",!1):b[d].classed("gnlv-gone",!0)}else console.warn("3rdparty.classAct sprite"+a+" past num:"+b.length)}var l=this,D=this,I=-1,P=[42,43],ea="easeLinear,easeQuad,easeQuadIn,easeQuadOut,easeCubic,easeCubicIn,easeCubicOut,easeSin,easeSinIn,easeSinOut,easeExp,easeExpIn,easeExpOut,easeCircle,easeCircleIn,easeCircleOut".split(/,/),
     2fa=["uniform","bands","bigMiddle","bigEdge","RANDOM"],ha="complementary splitcomplementary analagous triadic tetradic monochromatic".split(" "),la="complementaryScheme,splitComplementaryScheme,splitComplementaryCWScheme,splitComplementaryCCWScheme,triadicScheme,clashScheme,tetradicScheme,fourToneCWScheme,fourToneCCWScheme,fiveToneAScheme,fiveToneBScheme,fiveToneCScheme,fiveToneDScheme,fiveToneEScheme,sixToneCWScheme,sixToneCCWScheme,neutralScheme,analogousScheme".split(/,/),ma="interpolateMagma,interpolateViridis,interpolateInferno,interpolatePlasma,interpolateWarm,interpolateCool,interpolateRainbow,interpolateCubehelixDefault".split(/,/);
     3this.apidiv=this.imgkey="notset";this.apidivA={};this.Color=this.cryb="notset";this.kulaA;this.pjA;this.limitkula;this.setValMode=Object.freeze({LOOP:"LOOP",LIMIT:"LIMIT",RANDOM:"RANDOM"});null==y&&(y=jQuery);c.vprint("d3","3 3 3 3 3 3 3 3 3 3 3 3  INIT 3rd party scripts  have d3?"+typeof d3+" have Color?"+typeof net+" have ColorRYB?"+typeof ColorRYB+"3 3 3 3 3 3 3 3 3 3 3 3 eloop:"+typeof document.eloop);var C=document.eloop;"undefined"==typeof net||"undefined"==typeof ColorRYB?(c.vprint("d3","3 3 3 3 3 3 3 3 3 3 3 3  INIT dynamic load color.js scripts   3 3 3 3 3 3 3 3 3 3 3 3 from:"+
     4C.actionhost),y.getScript(C.actionhost+"/js/color-js/color.js",function(){l.Color=net.brehaut.Color;l.cryb=new ColorRYB(c,y);c.vprint("d3","3 3 3 3 3 3 3 3 3 3 3 3 DONE INIT dynamic load color scripts DONE  3 3 3 3 3 3 3 3 3 3 3 3 had net.Color?"+typeof net+" cryb?"+typeof ColorRYB)})):(l.Color=net.brehaut.Color,l.cryb=new ColorRYB(c,y),c.vprint("d3","3 3 3 3 3 3 3 3 3 3 3 3  INIT normal load color scripts DONE  3 3 3 3 3 3 3 3 3 3 3 3"));"undefined"==typeof d3&&y.getScript(C.actionhost+"/js/d3/d3.min.js",
     5function(){c.vprint("d3","3 3 3 3 3 3 3 3 3 3 3 3  d3 loaded DONE  3 3 3 3 3 3 3 3 3 3 3 3")});this.mulberry32=function(b){return function(){var a=b+=1831565813;a=Math.imul(a^a>>>15,a|1);a^=a+Math.imul(a^a>>>7,a|61);return((a^a>>>14)>>>0)/4294967296}};this.d3interpolate=function(b,a,d){c.vprint("d3","d3interpolate  = = =  START = = =  with rootel:"+b);var e,g=this.d3_getNchild(b,2),f=g[0],h=f.cloneNode();g=g[1];b=d3.select(b);this.pjA=a;null!=d&&(P=d,I=-1);c.vprint("d3","found child1:"+h.nodeName+
     6" child2:"+g.nodeName);var p=[];for(d=0;d<a.cfTag.length;d++){var r={};r.cfTag=a.cfTag[d];r.from=h.getAttribute(a.cfTag[d]);r.to=g.getAttribute(a.cfTag[d]);r.vals=d3.quantize(d3.interpolate(r.from,r.to),a.cfSections);var z=null==a.cfEase?d3.easeLinear:d3["ease"+a.cfEase[d]];r.vals=c.zero2one(a.cfSections).map(function(q){return d3.interpolate(r.from,r.to)(z(q))});p.push(r)}f.remove();g.remove();c.vprint("d3","packed up dataA:"+c.dumpvar(p));c.vprint("d3","TEMPLATE:"+h);a=b.selectAll(h.nodeName).data(c.ones(a.cfSections)).enter().append(function(){return h.cloneNode()});
     7for(e=0;e<p.length;e++)c.vprint("d3","process tag:"+p[e].cfTag+" vals:"+p[e].vals),a.attr(p[e].cfTag,function(q,m){c.vprint("d3","tag:"+p[e].cfTag+" val["+m+"]"+p[e].vals[m]);return p[e].vals[m]})};this.d3limitrange=function(b,a,d){var e=d3.select(b);null!=d&&(P=d,I=-1);c.vprint("d3","d3limitrange SELECT["+b+"] rootel type:"+e.node().nodeName+" transform: have data:"+a);l.limitkula=D.codonSel(a.cfRange,"scale");d=e.selectAll(a.cfSelector);c.vprint("d3","d3limitrange my limited color is:"+l.limitkula+
     8" apply to selection:"+a.cfSelector+" children:"+d.size());for(b=0;b<a.cfTag.length;b++)c.vprint("d3","process tag:"+a.cfTag[b]+":"),d.style(a.cfTag[b],function(g,f){return l.limitkula})};this.d3colormatch=function(b,a,d){var e=d3.select(b);null!=d&&(P=d,I=-1);d=a.dominate;"currentColor"==d&&(d=c.curcolor);if(d.match(/^grab.*/)){var g=d.replace(/grab/,"");var f=e.attr(g);var h=c.getCstyle(e.node(),g);c.vprint("d3","d3colormatch   S E E D  C O L O R   grab["+g+"].attr found:"+f+" cstyle:"+h);d="#883300";
     9null!=f&&(d=f);null!=h&&(d=h)}c.vprint("d3","d3colormatch - START - rootel type:"+e.node().nodeName+" transform: have data:"+a+" seedColor:"+d+" scheme:"+a.cfScheme+","+typeof a.cfScheme);if("function"!=typeof l.Color)if(c.vprint("d3","d3colormatch no Color obj!"),"undefined"!=typeof net)l.Color=net.brehaut.Color;else return;h=l.Color(d);null==a.cfScheme||"RANDOMRGB"==a.cfScheme?(c.vprint("d3","d3colormatch ** RGB mode"),f=D.codonSel(la),l.kulaA=h[f]()):null!=a.subordinate?(g=a.subordinate.replace(/grab/,
     10""),f=e.attr(g),h=c.getCstyle(e.node(),g),c.vprint("d3","d3colormatch ** S U B O R D I N A T E  C O L O R   grab["+g+"].attr found:"+f+" cstyle:"+h),g="#883300",null!=f&&(g=f),null!=h&&(g=h),c.vprint("d3","d3colormatch seedColor:"+d+" subColor:"+g),l.kulaF=d3.interpolateRgb(d,g)):a.cfScheme&&"string"==typeof a.cfScheme&&a.cfScheme.match(/^interpolate/)?(d=a.cfScheme&&d3[a.cfScheme]?a.cfScheme:E.iterate(ma,null,"random"),c.vprint("d3","d3colormatch ** interpolation function:"+d),l.kulaF=d3[d]):y.isArray(a.cfScheme)?
     11(f=D.codonSel(a.cfScheme),c.vprint("d3","d3colormatch ** RYB Array mode:"+f+" seedColor:"+d+" CSS:"+h.toCSS()+" have cryb?"+typeof l.cryb),l.kulaA=l.cryb.getAllSymmetries(f,h.toCSS(),"ryb")):(f=D.codonSel(ha),c.vprint("d3","d3colormatch ** RYB Random Array mode:"+ha+"->"+f),l.kulaA=l.cryb.getAllSymmetries(f,d,"ryb"),"complementary"!=f&&"analagous"!=f||l.kulaA.push(d));c.vprint("d3","d3colormatch can choose from colors=======>"+l.kulaA+" stagger?"+a.cfStagger);l.limitkula=D.codonSel(l.kulaA);if("none"!=
     12a.cfSelector)for(b=d3.select(c.bubbleUp(b,"svg")),e=e.selectAll(a.cfSelector),c.vprint("d3","d3colormatch my limited color is:"+l.limitkula+" apply to selection:"+a.cfSelector+" children found:"+e.size()),0==e.size()&&(e=b.selectAll(a.cfSelector)),l.numkids=e.size(),b=0;b<a.cfTag.length;b++)c.vprint("d3","child["+b+"] tag:"+a.cfTag[b]+": color:"+l.limitkula),"flood-color"==a.cfTag[b]?e.attr(a.cfTag[b],function(p,r){return Y(p,r,a)}):e.style(a.cfTag[b],function(p,r){return Y(p,r,a)});c.vprint("d3",
     13"d3colormatch done!")};var Y=function(b,a,d){if(null==d.cfStagger)return l.limitkula;if("cycle"==d.cfStagger)return l.kulaA[a%l.kulaA.length];if(null!=d.subordinate||d.cfScheme&&"string"==typeof d.cfScheme&&d.cfScheme.match(/^interpolate/))return b=l.kulaF(2*a/l.numkids),2*a>l.numkids&&(b=l.kulaF((2*l.numkids-2*a)/l.numkids)),b;a=D.getRandPoint(1,[[0,0],[l.kulaA.length-1,20]],d.cfStagger,"uniform");a=parseInt(a[0][0]);return l.kulaA[a]};this.d3voronify=function(b,a,d){var e;var g="0 0 200 200";var f,
     14h,p,r;c.vprint("d3","voronify START with el.id:"+b.id);var z=d3.select(b);c.vprint("d3","voronify have rootel?"+typeof z);c.vprint("d3","voronify have rootel.node?"+typeof z.node+" fill?"+z.attr("fill"));I=-1;P=d;d=d3.select(c.bubbleUp(b,"svg"));c.vprint("d3","voronify have svg?"+typeof d);var q=d.node().getBBox();d.attr&&d.attr("viewBox")&&(g=d.attr("viewBox"));g=g.split(/ /);c.vprint("d3","voronify  eloop.template box: "+C.viewBoxA+" local bbox?"+typeof q+" local viewBox:"+d.attr("viewBox")+" obj bbox:"+
     15c.dumpvar(q,"onelevel"));g="standard"==a.target?[[0,0],[1E3,1E3]]:null!=C.viewBoxA&&"template"==a.target?[[C.viewBoxA[0],C.viewBoxA[1]],[C.viewBoxA[2],C.viewBoxA[3]]]:0<q.width?[[c.d0(q.x),c.d0(q.y)],[c.d0(q.width),c.d0(q.height)]]:[[g[0],g[1]],[g[2],g[3]]];var m=[[0,0],[g[1][0]-1,g[1][1]-1]],k=[[0,0],[g[1][0]+1,g[1][1]+1]],t=d3.scaleLinear().domain([0,c.d0(q.width-1)]).rangeRound([0,255]).clamp(!0),K=d3.scaleLinear().domain([0,c.d0(q.width-1)]).rangeRound([0,255]).clamp(!0);c.vprint("d3","voronify d3 extentA:"+
     16c.dumpvar(m,"onelevel")+" extentB:"+c.dumpvar(k,"onelevel"));m=D.getRandPoint(D.codonSel(a.num),m,a.xpat,a.ypat);c.startTimer();c.vprint("util","voronify d3 rand points time:"+c.getTimer()+" num sites:"+m.length);q="pattern_"+c.alphanumA[Math.floor(36*Math.random())]+c.alphanumA[Math.floor(36*Math.random())]+c.alphanumA[Math.floor(36*Math.random())]+"_1_";null!=a.colorO&&null!=a.colorO.cfFunc&&(c.vprint("d3","voronify d3 -START- using color func:"+a.colorO.cfFunc),l[a.colorO.cfFunc](b,a.colorO),c.vprint("d3",
     17"voronify d3 -END-  using color func:"+a.colorO.cfFunc));b=d3.voronoi().extent(k);c.vprint("d3","voronify d3 GERNERATE time:"+c.getTimer());var w=[],G="fill";y.isArray(a.shape)&&(a.shape=D.codonSel(a.shape));null!=a.shrink&&(a.shrink=D.codonSelJSON(a.shrink),"lines"!=a.shape&&"oneline"!=a.shape&&"triangles"!=a.shape||null==a.shrink.thinthreshold||delete a.shrink.thinthreshold);"lines"==a.shape||"oneline"==a.shape?(G="stroke",b=b.links(m)):b="triangles"==a.shape?b.triangles(m):b.polygons(m);c.vprint("d3",
     18"voronify making pattern with num points:"+b.length+" have svg el?"+d);g=d.select("defs").append("pattern").attr("id",q).attr("x",g[0][0]).attr("y",g[0][1]).attr("width",g[1][0]).attr("height",g[1][1]).attr("patternUnits","userSpaceOnUse").attr("patternTransform","scale(1)");null!=a.cfApplyClass&&g.attr("class",a.cfApplyClass);g.selectAll("path").data(b).enter().append("path").attr(G,function(v,J){return null==v||null==v.length&&null==v.source?(c.vprint("d3^2","BAD d at index["+J+"]"+c.dumpvar(v,
     19"onelevel")),""):null!=a.colorO?(f=null==v.source?v[0][0]:c.d0(v.source[0]),h=null==v.source?v[0][1]:c.d0(v.source[1]),e="#34F","solid"==a.colorO.scheme&&null!=a.colorO.hex?e=a.colorO.hex:"monochrome"==a.colorO.scheme?e="rgb(0, 0, "+t(f)+")":"inerpolateColor"==a.colorO.scheme?e=d3[a.colorO.schemeParam](t(h)/255):"random"==a.colorO.scheme?e="rgb("+(h+f)%255+", "+t(f)+", "+K(h)+")":null!=a.colorO.cfFunc?e=Y(v,J,a.colorO):c.vprint("d3","no color to set! had colorO but no scheme"),c.vprint("d3^2","setting "+
     20G+":"+e),e):""}).attr("d",function(v,J){if(null==v||null==v.length&&null==v.source)return"";if(null!=v.source)return f=c.dd(v.source[0]),h=c.dd(v.source[1]),p=c.dd(v.target[0]),r=c.dd(v.target[1]),w.push("M",f,h,p,r),"M"+f+","+h+" "+p+","+r;var n=E.vA2O(v);n=null!=a.shrink?D.vM2Q(n,a.shrink):E.vMstr(n);c.vprint("d3^2","d["+J+"]:numpoints:"+v.length+": Cstr:"+n);return n});0<w.length&&"oneline"==a.shape&&(b=d.select("g"),c.vprint("d3","voronify had allPoints:"+w.length+" have g element?"+b),g=w.join(),
     21g=g.replace(/,?M,/g," M"),k=null==e?"":" stroke='"+e+"'",b.node().innerHTML="<path "+k+"  d='"+g+"' />");c.vprint("util","voronify d3 MODIFY time:"+c.getTimer());z.attr("fill","url(#"+q+")");C.isBlocks&&d.append("rect").attr("x",0).attr("y",0).attr("width","100%").attr("height","100%").attr("fill","url(#"+q+")")};this.d3transform=function(b,a,d){c.vprint("d3","d3transform  = = =  START = = =  with rootel:"+b);b=d3.select(b);I=-1;c.vprint("d3","have codondex:"+I+" codon array:"+d);var e=this.codonSel(a.cfSections);
     22var g=na(a,e);d=null!=a.cfData?a.cfData:c.ones(e);c.vprint("d3","my data array:"+d);var f=b.node().firstChild;for(c.vprint("d3","num first child:"+f.nodeName+","+f+" nextSibling:"+f.nextSibling.nodeName);("#text"==f.nodeName||"#comment"==f.nodeName)&&null!=f.nextSibling;)f=f.nextSibling;c.vprint("d3","look for tag:"+f.nodeName);c.vprint("d3","rendering with cfSections:"+e+" cfTag:"+a.cfTag+" cfWrap:"+a.cfWrap+" incA:"+g+":");this.incA=g;this.jA=a;y.isArray(a.cfTag)||(a.cfTag=[a.cfTag]);y.isArray(a.cfWrap)||
     23(a.cfWrap=[a.cfWrap]);d=b.selectAll(f.nodeName).data(c.ones(e)).enter().append(function(){return f.cloneNode()});for(b=0;b<a.cfTag.length;b++)this.wrap=a.cfWrap[b],this.contA=this.wrap.match(/CONTENT[0-9]+_/g),c.vprint("d3","process tag:"+a.cfTag[b]+" wrap:"+this.wrap+" numtags:"+this.contA),d.attr(a.cfTag[b],oa.bind(this))};this.divEffect=function(b){var a=b.getAttribute("data-div");var d=b.getAttribute("data-aa");c.vprint("d3","divEffect: - - - - - - - - - -  - - - - - - - - - -arg:"+typeof b+"  have data?"+
     24typeof genolve_gen_sel_hash+" key:"+d+" "+a);if(a.match(/(decoration|text|flair)/)){var e=parseFloat(b.getAttribute("data-dur"));b=parseFloat(b.getAttribute("data-pause"));c.vprint("d3","divEffect: - - - - - - - - - -  - - - - - - - - ani dur:"+e+" pause:"+b);var g="falling-snow-"+a;var f=y("#"+g);1<=f.length?c.vprint("eloop","divEffect: - - - - - - - - - -  - - - - - - - - div already there!"+g):(y("body").prepend('<div id="'+g+'" class="gnlv-falling"/>'),f=y("#"+g),a=d3.select("#"+d+" #"+a).node().innerHTML,
    2525a=a.replace("opacity: 0","opacity: 1"),c.vprint("d3","divEffect: - - - - - - - - - -  - - - - - - - - svg:"+a),a='<?xml version="1.0" encoding="UTF-8" standalone="no"?><svg width="100%" height="100%"  preserveAspectRatio="xMinYMin slice" xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" xmlns:html="http://www.w3.org/1999/xhtml"><desc>evolved at www.genolve.com</desc>CONTENT</svg>'.replace(/CONTENT/,a),d="data:image/svg+xml;utf8,"+encodeURIComponent(a),d="data:image/svg+xml;base64,"+
    26 btoa(a),f.css({"background-image":"url( '"+d+"')"}),f.css({opacity:0,animation:"gnlv-opacity-fadein  linear  "+e+"s forwards"}),document.fallingtimeout1=window.setTimeout(function(){x("#"+g).css({opacity:1,animation:"gnlv-opacity-fade  linear  "+e+"s forwards"})},1E3*(e+b)),document.fallingtimeout2=window.setTimeout(function(){x("#"+g).remove()},1E3*(2*e+b)))}else"undefined"!=typeof genolve_gen_sel_hash&&genolve_gen_sel_hash[a]?(c.vprint("d3","divEffect: data:"+c.dumpvar(genolve_gen_sel_hash[a])),
    27 genolve_divEffect(a,c,x)):c.vprint("warn","divEffect: genolve_gen_sel_hash had no data for:"+a)};this.d3confetti=function(b,a,d,e,g,f,h){var m=f.match(/(burst-selfzoomInOut)/)?9:f.match(/(sprinkle)/)?20:30;var n=0;var k=b.getAttribute("lastcall"),l=b.getAttribute("dur");var q=b.getAttribute("utarg");e=parseInt(e);if(0<e)if(null==k&&"repeat"==h){if(h=y.anielapsed()-parseFloat(b.getAttribute("begin")),0>h&&(h+=parseFloat(l)),b.setAttribute("lastcall",Date.now()-1E3*h),c.vprint("d3","d3confetti first call ignore, start delta:"+
    28 h+" firefox:"+c.getBrowser("isfirefox")),c.getBrowser("isfirefox"))return}else if("begin"==h)c.vprint("d3","d3confetti 1st begin OK");else{if(Date.now()-k<1E3*(parseFloat(l)-.5)){c.vprint("d3","d3confetti anirepeat ignore delta:"+(Date.now()-k)+" < "+1E3*(parseFloat(l)-.5));return}c.vprint("d3","d3confetti trigger:"+b.id+"  delta:"+(Date.now()-k)+" event:"+h);b.setAttribute("lastcall",Date.now())}k=b.getAttribute("lastcall");var r=p.mulberry32(parseFloat(k));l=d3.select(a);if(null==l||null==l.size||
    29 1!=l.size())c.vprint("warn","confetti X X X X found none or more than one of place targ:"+a);else if(f.match(/(sprinkle)/)){var C=b.getAttribute("vx");var G=b.getAttribute("vy");c.vprint("d3","d3confetti sprinkle tw/th:"+y.tw+","+y.th+" scaled xy limits:"+C+","+G)}f.match(/(burst-selfzoomInOut)/);k=d3.select("#"+d);null!=k&&null!=k.size&&1==k.size()&&null!=k.node||c.vprint("warn","confetti X X X X found none or more than one of targ:"+d+":"+typeof k);var t=a.match(/(text)/)?"g[id^=tgrp]":"g[id^=B0]";
    30 h=k.select(t);f.match(/(corner)/)&&(h=d3.select("#"+q));if(null==h||null==h.size||1!=h.size()||null==h.node)c.vprint("warn","confetti X X X X found none or more than one of:usetarg:"+typeof h+" place:"+a+" selector:"+t+" from :"+k.attr("id")),f.match(/(self)/)||(h=k),c.vprint("warn","usetarg alternate:"+(h.size?h.size():"nada"));else{var H=[];n=f.match(/(sprite)/)?k:h;n=n.selectAll(".gnlv-sprite");n.each(function(N){H.push(d3.select(this))});f.match(/(sprite)/)||n.classed("gnlv-gone",!1);n=n.size();
    31 0<n&&c.vprint("d3","confetti: is a sprite? found:"+n)}t=k.node().getBBox();q=[[c.d0(t.x),c.d0(t.y)],[c.d0(t.width),c.d0(t.height)]];var u=2*Math.max(t.width,t.height);var M=a.match(/(text)/)?100:50;var w=c.dd(Math.abs(g)/15);w=f.match(/(burst-selfzoom)/)?1:w;var ka=Math.floor(90*Math.random()-45);k="interpolateCool";t="interpolateWarm";if(f.match(/(burst-selfzoomInOut|sprinkle|sprite)/)){k="interpolateRainbow";t="interpolateViridis";var E=parseFloat(b.getAttribute("ppp"));var I=parseFloat(b.getAttribute("ddd"))}var W=
    32 d3[k],ca=d3[t];if(f.match(/(sprite)/)&&0<H.length)0<e?(Y(H,1),window.setTimeout(y.tpr.d3confetti,1E3*(I+E-1.1),b,a,d,-e,g,f)):(c.vprint("d3","confetti:  SPRITE X deactivate X"),Y(H,0));else if(0<e){l.select("#confetti"+d).remove();k=d3.select("#"+d);t=k.node().getBBox();E=a.match(/(text)/)?t.x+t.width/2:t.width/2;var O=t.height/2;10!=Math.abs(g)&&3!=Math.abs(g)||!f.match(/(burst-self|corner)/)?a.match(/(text)/)&&(E=f.match(/(burst-selfzoom)/)?0:E/2,O=f.match(/(burst-selfzoom)/)?0:O/2):O=E=0;var P=
    33 "translate("+E+","+O+")",da="";d.match(/tel[0-9]+_/)&&(da+=" "+l.select("g[id^=tgrp]").attr("class"),h=k,k=parseFloat(d.split("_")[1]),O=f.match(/(burst-self|corner)/)?(k-1)*t.height*w:(k-1)*t.height,P=f.match(/(burst-selfzoom)/)?P:"translate("+E+","+O+")");c.vprint("d3","confetti: making it, toggle:"+e+" under:"+a+" id:"+l.attr("id")+" svg:bbox:"+q+"  scale:"+w+" gtrans:"+P);E=l.append("g").attr("id","confetti"+d).attr("transform",P).attr("class",f+da);f.match(/(InOut)/)&&(k=document.createElement("style"),
    34 k.type="text/css",I=document.createTextNode(".gnlv-btime use { --bdur:"+I+"s; }"),k.appendChild(I),E.node().appendChild(k));I=E.append("g").attr("id","confettig").attr("class","gnlv-btime").attr("style","transform:translate(0px,0px)");if(f.match(/(burst-self|corner)/)){1<l.size()&&alert("size for place too big:"+l.size());var Q=[];n=0==n?h.attr("id"):H[0].attr("id");I.selectAll("use").data(d3.range(m)).enter().append("use").attr("xlink:href","#"+n).attr("style",function(N,z){var v;var S=f.match(/(burst-selfzoom)/)?
    35 W(z/m):R(6);var X=f.match(/(burst-selfzoom)/)?ca(z/m):R(6);var T=v=100;var K=0;if(f.match(/(collapse)/)){v=c.ddd(Math.random()*Math.PI*2);Q.push(v);K=c.d0(180*v/Math.PI+90);var D=0+u;T=f.match(/(burst-selfzoom)/)?100:100+D*Math.cos(v);v=f.match(/(burst-selfzoom)/)?100:100+D*Math.sin(v);w=a.match(/(text)/)?3:.7}f.match(/(sprinkle)/)&&(v=c.ddd(Math.random()*Math.PI*2),Q.push(v),K=0,T=parseFloat(C)*r()-C/2,v=parseFloat(G)*r()-G/2,w=0);D=f.match(/(burst-selfzoom|sprinkle)/)?";transition-delay:"+c.dd(1-
    36 z/m)+"s;":"";return"transform:translate("+T+"px,"+v+"px) rotate("+K+"deg) scale("+w+") translate(-100px,-100px);opacity:1;fill:"+S+"; stroke:"+X+D});b.setAttribute("ang",Q.join())}else I.selectAll("path").data(d3.range(m)).enter().append("path").attr("d",function(N,z){var v;"burst-triangle"==f||"burst-confetti"==f?v="M 0,0 60,0 30,40z":"burst-stars"==f?v="M47-9.4L19.4,11.5l8.9,33.5L-0.1,25.1l-29.1,18.8l10.1-33.1L-46-11l34.6-0.7L1.1-44l11.3,32.7L47-9.4   L19.4,11.5":"burst-bubbles"==f?v="M25,0.8c0,6.6-2.6,12.5-6.9,17C13.5,22.5,7.9,25,1.1,25c-7.8,0-13.5-3.8-17.1-7.1c-4.2-3.9-7-11-7-17.1\t\tc-0.1-5.4,2.1-12.1,7-16.8c4.9-4.7,10.5-7,17-7c7.7,0,13.3,3.1,17,7C22.3-11.4,25-5.8,25,0.8c0,6.6-2.6,12.5-6.9,17":
    37 console.warn("3rdparty.raindrop has no option to make:"+f);return v}).attr("style",function(N,z){var v="burst-bubbles"==f?W(z/m):R(6);return"transform:translate(0px,0px) scale("+w+");opacity:1;fill:"+v});window.setTimeout(y.tpr.d3confetti,100,b,a,d,-e,g,f)}else k=f.match(/(burst-self|corner)/)?"use":"path",c.vprint("d3","confetti: animate it, toggle:"+e+" target:"+d+": found?"+l.select("#confetti"+d).size()+" selecting:"+k),-3==e&&f.match(/(burst-selfzoomInOut)/)?(c.vprint("d3","confetti remove confetti hack!"),
    38 l.select("#confetti"+d).remove()):(f.match(/(burst-selfzoom)/)&&(q=l.select("#defs"+d),0==q.size()&&(c.vprint("d3","confetti: create defs wrap"),t=document.createElementNS("http://www.w3.org/2000/svg","defs"),t.setAttribute("id","defs"+d),(P=h.node().parentElement)?(P.appendChild(t),q=l.select("#defs"+d)):c.vprint("d3","confetti: utarg parent null")),q.node().appendChild(h.node())),l=l.select("#confetti"+d),l=l.selectAll("g").attr("style",function(N,z){var v=0;"burst-bubbles"==f&&(v=-600*w,u/=2);
    39 return"transform:translate(0px,"+v+"px)"}),l=l.selectAll(k),f.match(/(collapse)/)&&(h=b.getAttribute("ang"),Q=h.split(/,/).map(Number),r=p.mulberry32(Q[0])),l.attr("style",function(N,z){var v=0,S=0;var X=f.match(/(burst-selfzoom|burst-bubbles)/)?ca(z/m):R(6);var T=f.match(/(burst-selfzoom|burst-bubbles)/)?W(z/m):R(6);var K=f.match(/(burst-selfzoom)/)?ka:c.d0(360*Math.random()-180);var D=c.ddd(Math.random()*Math.PI*2);var L=Math.random()*u;var U=0;f.match(/(collapse)/)&&(D=Q[z],K=c.d0(180*D/Math.PI+
    40 90),L=r()*M,S=25*r()-12.5,U=-2==e?0:1,v=100,w=a.match(/(text)/)?1:.1);var ea=f.match(/(burst-selfzoom)/)?100:v+S+L*Math.cos(D);D=f.match(/(burst-selfzoom)/)?100:v+S+L*Math.sin(D);f.match(/(burst-selfzoomInOut)/)&&-1==e?(w=14,U=1):f.match(/(burst-selfzoomInOut)/)&&-2==e?U=w=1:w=f.match(/(burst-selfzoom)/)?c.dd(10*z/m):w;f.match(/(sprinkle)/)&&(K=0,ea=parseFloat(C)*r()-C/2,D=parseFloat(G)*r()-G/2,w=5>z?3.5+Math.random():.3+Math.random(),-2==e&&(w=.1),U=-2==e?0:1);L=f.match(/(burst-self|corner|sprinkle)/)?
    41 "translate(-100px,-100px)":"";L+=f.match(/(burst-selfzoom|corner)/)?";transition-delay:"+(-1==e?c.dd(1-z/m):c.dd(z/m))+"s":"";L+=f.match(/(sprinkle)/)?";transition-delay:"+(-1==e?c.dd(z/m):c.dd(1-z/m))+"s":"";return"transform:translate("+ea+"px,"+D+"px) rotate("+K+"deg) scale("+w+") "+L+";opacity:"+U+";fill:"+X+"; stroke:"+T}),f.match(/(collapse)/)&&0<n&&(c.vprint("d3","confetti s s s s s s s s s s s s s s s s s s s s s s s s s s s sprites found:"+n),l.on("transitionend",function(N,z){d3.select(this).attr("href",
    42 "#"+H[1].attr("id"))})),-3<e&&f.match(/(burst-selfzoomInOut|sprinkle)/)&&(c.vprint("d3","confetti: que 3rd toggle, reverse"+e),-1==e?window.setTimeout(y.tpr.d3confetti,1E3*(I+E-1.1),b,a,d,e-1,g,f):window.setTimeout(y.tpr.d3confetti,3500,b,a,d,e-1,g,f)),-2<e&&f.match(/(collapse)/)&&(c.vprint("d3","confetti: que sprite opacity"+e),window.setTimeout(y.tpr.d3confetti,2200,b,a,d,e-1,g,f)))};var ja=function(b,a){var d,e=this.wrap;for(d=0;d<this.contA.length;d++){var g=c.d0(this.contA[d])-1;var f=null==
    43 this.jA.cfCalc?"+":this.jA.cfCalc[g];c.vprint("d3","d3Attr_templateEngine i["+a+"] d["+b+"] nn["+d+"] wrap:"+this.contA[d]+" inc["+g+"]="+this.incA[g]+" calc:"+f);"*"==f?(e=e.replace(this.contA[d],this.jA.cfFrom[g]),this.jA.cfFrom[g]*=this.incA[g]):e=e.replace(this.contA[d],this.jA.cfFrom[g]+a*this.incA[g])}return e};this.codonSelJSON=function(b){for(var a in b)x.isArray(b[a])&&(b[a]=A.codonSel(b[a]));return b};this.setCodonA=function(b){J=b};this.codonSel=function(b,a){if(("scale"==a||"normal"==
    44 a||null==a)&&!x.isArray(b))return c.vprint("d3","codonSel, have NORMAL mode but not passed a array!"+b),b;F=c.setVal(F,1,0,J.length-1,c.setValMode.LOOP);var d=parseInt(J[F]);if("scale"==a)var e=d3.scaleLinear().domain([0,200]).range(b).clamp(!0)(d);else"func"==a?("function"!=typeof b&&c.vprint("d3","codonSel, have function mode but not passed a function!"+b),e=b(parseFloat(d)/200)):e=b[d%b.length];c.vprint("d3","codonSel codonA["+F+"]="+d+" selects   = =>    "+e);return e};this.d3_getNchild=function(b,
    45 a){var d=[],e=b.firstChild;for(c.vprint("d3","d3_getNchild first child:"+e.nodeName+","+e+" nextSibling:"+e.nextSibling.nodeName);null!=e.nextSibling&&0<a;)"#text"==e.nodeName||"#comment"==e.nodeName?e=e.nextSibling:(d.push(e),e=e.nextSibling,a--);return d};this.getRandPoint=function(b,a,d,e,g,f){var h=[],m=c.d0(a[0][0]),n=c.d0(a[0][1]),k=c.d0(a[1][0]),l=c.d0(a[1][1]);d3.scaleLinear().domain([m,m+k]).range([m,m+k]).ticks(7);"VRANDOM"==d&&(d=A.codonSel(aa));"VRANDOM"==e&&(e=A.codonSel(aa));"RANDOM"==
    46 d&&(d=A.codonSel(Z));"RANDOM"==e&&(e=A.codonSel(Z));for(a=0;a<b;a++){var q=Math.random();var r=Math.random();var C=.5+.1*Math.sin(2*r*Math.PI);var G=.5+.1*Math.sin(2*q*Math.PI);"uniform"!=d&&("bigEdge"==d?q=q>C?d3.easeQuadIn(q):d3.easeQuadOut(q):"bigMiddle"==d?q=q<C?d3.easeQuadIn(q):d3.easeQuadOut(q):"bands"==d?q=15*Math.round(q*k/15)/k:(null==d3[d]&&(c.vprint("warn","getRandPoint did not find ease:"+d+" selecting: easeLinear"),d="easeLinear"),q=d3[d](q)));"uniform"!=e&&("bigEdge"==e?r=r>G?d3.easeQuadIn(r):
    47 d3.easeQuadOut(r):"bigMiddle"==e?r=r<G?d3.easeQuadIn(r):d3.easeQuadOut(r):"bands"==e?r=15*Math.round(r*l/15)/l:(null==d3[e]&&c.vprint("warn","getRandPoint did not find ease:"+e),r=d3[e](r)));r=[c.d0(q*k+m),c.d0(r*l+n)];null!=g&&r.push(c.dd(c.setVal(0,0,g[0],g[1],c.setValMode.RANDOM)));null!=f&&r.push(c.dd(c.setVal(0,0,f[0],f[1],c.setValMode.RANDOM)));h.push(r)}return h};var ia=function(b,a){var d,e=[];1>a&&console.error("doFromToBy sections must be 1 or more");x.isArray(b.cfFrom)||(b.cfFrom=[b.cfFrom]);
    48 if(null!=b.cfTo)for(x.isArray(b.cfTo)||(b.cfTo=[b.cfTo]),b.cfTo.length!=b.cfFrom.length&&console.warn("doFromToBy: size From != To: "+b.cfFrom.length+"!="+b.cfTo.length),d=0;d<b.cfTo.length;d++){var g=(b.cfTo[d]-b.cfFrom[d])/(a-1);c.vprint("d3","doFromToBy["+d+"] sections:"+a+":"+g);e[d]=g}null!=b.cfInc&&(x.isArray(b.cfInc)||(b.cfInc=[b.cfInc]),b.cfInc.length!=b.cfFrom.length&&console.warn("doFromToBy: size From != cfInc: "+b.cfFrom.length+"!="+b.cfInc.length),e=b.cfInc);return e};this.vM2Q=function(b,
    49 a){var d,e,g=[];if(null!=a.thinthreshold&&(b=B.vthinpoints(b,a.thinthreshold),3>b.length))return"";var f=B.vcentroid(b);var h=a.shrinkamount;for(d=0;d<b.length;d++){var m="centroid"==a.shrinkmode?B.vwave(b[d],h,f,1):"fixed"==a.shrinkmode?B.vmovetoward(b[d],f,h):b[d];g.push(m);0==d&&(e=m);if(d<b.length-1){m=B.vave(b[d],b[d+1]);var n=B.vmag(B.vsub(b[d],b[d+1]))}else m=B.vave(b[d],b[0]),n=B.vmag(B.vsub(b[d],b[0]));var k=1-Math.pow(.3*n/Math.abs(h),1.1);n=-2>k?-2*h:k*h;c.vprint("util^2","vM2Q factor:"+
    50 k+" delta2:"+n);"fixed"==a.shrinkmode?g.push(B.vmovetoward(m,f,n)):g.push(m)}g.push(e);0==g.length%2&&c.vprint("util","vM2Q POINTS missmatch EVEN need ODD");if("points"==a.retmode)return g;e="M"+g[0].cx+","+g[0].cy+" Q";for(d=1;d<g.length;d++)e+=g[d].cx+","+g[d].cy+" ";return e+" Z"}};
     26btoa(a),f.css({"background-image":"url( '"+d+"')"}),f.css({opacity:0,animation:"gnlv-opacity-fadein  linear  "+e+"s forwards"}),document.fallingtimeout1=window.setTimeout(function(){y("#"+g).css({opacity:1,animation:"gnlv-opacity-fade  linear  "+e+"s forwards"})},1E3*(e+b)),document.fallingtimeout2=window.setTimeout(function(){y("#"+g).remove()},1E3*(2*e+b)))}else"undefined"!=typeof genolve_gen_sel_hash&&genolve_gen_sel_hash[a]?(c.vprint("d3","divEffect: data:"+c.dumpvar(genolve_gen_sel_hash[a])),
     27genolve_divEffect(a,c,y)):c.vprint("warn","divEffect: genolve_gen_sel_hash had no data for:"+a)};this.d3confetti=function(b,a,d,e,g,f,h){var p=0,r=0,z,q=f.match(/(burst-selfzoomInOut)/)?9:f.match(/(sprinkle)/)?20:30;var m=0;var k=b.getAttribute("lastcall");var t=b.getAttribute("dur");var K=b.getAttribute("utarg");var w=b.getAttribute("sizehint");e=parseInt(e);if(0<e)if(null==k&&"repeat"==h){if(h=C.anielapsed()-parseFloat(b.getAttribute("begin")),0>h&&(h+=parseFloat(t)),b.setAttribute("lastcall",Date.now()-
     281E3*h),c.vprint("d3","d3confetti first call ignore, start delta:"+h+" firefox:"+c.getBrowser("isfirefox")),c.getBrowser("isfirefox"))return}else if("begin"==h)c.vprint("d3","d3confetti 1st begin OK");else{if(Date.now()-k<1E3*(parseFloat(t)-.5)){c.vprint("d3","d3confetti anirepeat ignore delta:"+(Date.now()-k)+" < "+1E3*(parseFloat(t)-.5));return}c.vprint("d3","d3confetti trigger:"+b.id+"  delta:"+(Date.now()-k)+" event:"+h);b.setAttribute("lastcall",Date.now())}k=b.getAttribute("lastcall");var G=
     29l.mulberry32(parseFloat(k));t=d3.select(a);if(null==t||null==t.size||1!=t.size())c.vprint("warn","confetti X X X X found none or more than one of place targ:"+a);else if(f.match(/(sprinkle)/)){var v=b.getAttribute("vx");var J=b.getAttribute("vy");c.vprint("d3","d3confetti sprinkle tw/th:"+C.tw+","+C.th+" scaled xy limits:"+v+","+J)}var n=d3.select("#"+d);null!=n&&null!=n.size&&1==n.size()&&null!=n.node||c.vprint("warn","confetti X X X X found none or more than one of targ:"+d+":"+typeof n);k=a.match(/(text)/)?
     30"g[id^=tgrp]":"g[id^=B0]";h=n.select(k);f.match(/(corner)/)&&(h=d3.select("#"+K));if(null==h||null==h.size||1!=h.size()||null==h.node)c.vprint("warn","confetti X X X X found none or more than one of:usetarg:"+typeof h+" place:"+a+" selector:"+k+" from :"+n.attr("id")),f.match(/(self)/)||(h=n),c.vprint("warn","usetarg alternate:"+(h.size?h.size():"nada"));else{var R=[];m=f.match(/(sprite)/)?n:h;m=m.selectAll(".gnlv-sprite");m.each(function(S){R.push(d3.select(this))});f.match(/(sprite)/)||m.classed("gnlv-gone",
     31!1);m=m.size();0<m&&c.vprint("d3","confetti: is a sprite? found:"+m)}var A=n.node().getBBox();k=[[c.d0(A.x),c.d0(A.y)],[c.d0(A.width),c.d0(A.height)]];var Z=2*Math.max(A.width,A.height);var pa=a.match(/(text)/)?100:50;var B=c.dd(Math.abs(g)/15);B=f.match(/(burst-selfzoom)/)?1:B;var qa=Math.floor(90*Math.random()-45),N=1;if(f.match(/(tile)/)){n=d3.select("#"+K);n=n.node().getBBox();if("object"!=typeof n||0==n.width)n={x:0,y:0,width:200,height:200};r=p=0;w&&(N=parseFloat(w)/10);q=parseInt(200/(N*n.width))*
     32parseInt(200/(N*n.height));c.vprint("d3","confetti: TILE TILE "+K+" tilesizer:"+w+"->"+N+" targetsize:"+A.width+","+A.height+" size:"+n.width+","+n.height+" object size:"+A.width+","+A.height+" NUM:"+q)}w="interpolateCool";n="interpolateWarm";if(f.match(/(burst-selfzoomInOut|sprinkle|sprite)/)){w="interpolateRainbow";n="interpolateViridis";var H=parseFloat(b.getAttribute("ppp"));var Q=parseFloat(b.getAttribute("ddd"))}var aa=d3[w],ia=d3[n];if(f.match(/(sprite)/)&&0<R.length)0<e?(da(R,1),window.setTimeout(C.tpr.d3confetti,
     331E3*(Q+H-1.1),b,a,d,-e,g,f)):(c.vprint("d3","confetti:  SPRITE X deactivate X"),da(R,0));else if(0<e){t.select("#confetti"+d).remove();n=d3.select("#"+d);A=n.node().getBBox();H=a.match(/(text)/)?A.x+A.width/2:A.width/2;var T=A.height/2;10!=Math.abs(g)&&3!=Math.abs(g)||!f.match(/(burst-self|corner)/)?a.match(/(text)/)&&(H=f.match(/(burst-selfzoom)/)?0:H/2,T=f.match(/(burst-selfzoom)/)?0:T/2):T=H=0;w="translate("+H+","+T+")";var ja="";d.match(/tel[0-9]+_/)&&(ja+=" "+t.select("g[id^=tgrp]").attr("class"),
     34h=n,n=parseFloat(d.split("_")[1]),T=f.match(/(burst-self|corner)/)?(n-1)*A.height*B:(n-1)*A.height,w=f.match(/(burst-selfzoom)/)?w:"translate("+H+","+T+")");c.vprint("d3","confetti: making it, toggle:"+e+" under:"+a+" id:"+t.attr("id")+" svg:bbox:"+k+"  scale:"+B+" gtrans:"+w);H=t.append("g").attr("id","confetti"+d).attr("transform",w).attr("class",f+ja);f.match(/(InOut)/)&&(k=document.createElement("style"),k.type="text/css",Q=document.createTextNode(".gnlv-btime use { --bdur:"+Q+"s; }"),k.appendChild(Q),
     35H.node().appendChild(k));var ba=H.append("g").attr("id","confettig").attr("class","gnlv-btime").attr("style","transform:translate(0px,0px)");if(f.match(/(burst-self|corner)/)){1<t.size()&&alert("size for place too big:"+t.size());var O=[];Q=0==m?h.attr("id"):R[0].attr("id");ba.selectAll("use").data(d3.range(q)).enter().append("use").attr("xlink:href","#"+Q).attr("style",function(S,x){var u;var X=f.match(/(burst-selfzoom)/)?aa(x/q):W(6);var ca=f.match(/(burst-selfzoom)/)?ia(x/q):W(6);var U=u=100;var L=
     360;if(f.match(/(collapse)/)){u=c.ddd(Math.random()*Math.PI*2);O.push(u);L=c.d0(180*u/Math.PI+90);var F=0+Z;U=f.match(/(burst-selfzoom)/)?100:100+F*Math.cos(u);u=f.match(/(burst-selfzoom)/)?100:100+F*Math.sin(u);B=a.match(/(text)/)?3:.7}else f.match(/(sprinkle)/)?(u=c.ddd(Math.random()*Math.PI*2),O.push(u),L=0,U=parseFloat(v)*G()-v/2,u=parseFloat(J)*G()-J/2,B=0):f.match(/(tile)/)&&(u=c.ddd(Math.atan2(r-100,p-100)),O.push(u),L=0,u=U=100,z="mask_"+x,ba.append("mask").attr("id",z).append("use").attr("xlink:href",
     37"#"+K).attr("fill","#FFFFFF").attr("transform","translate("+p+","+r+") scale("+N+")"),p+=200*N,200<=p&&(p=0,r+=200*N,200<=r&&c.vprint("d3","confetti["+x+"]:  y:"+r+" past bound:200 delta:"+200*N)),B=1);F=f.match(/(burst-selfzoom|sprinkle|tile)/)?";transition-delay:"+c.dd(1-x/q)+"s;":"";f.match(/(tile)/)&&(F+=";mask:url('#"+z+"');");return"transform:translate("+U+"px,"+u+"px) rotate("+L+"deg) scale("+B+") translate(-100px,-100px);opacity:1;fill:"+X+"; stroke:"+ca+F});b.setAttribute("ang",O.join())}else ba.selectAll("path").data(d3.range(q)).enter().append("path").attr("d",
     38function(S,x){var u;"burst-triangle"==f||"burst-confetti"==f?u="M 0,0 60,0 30,40z":"burst-stars"==f?u="M47-9.4L19.4,11.5l8.9,33.5L-0.1,25.1l-29.1,18.8l10.1-33.1L-46-11l34.6-0.7L1.1-44l11.3,32.7L47-9.4   L19.4,11.5":"burst-bubbles"==f?u="M25,0.8c0,6.6-2.6,12.5-6.9,17C13.5,22.5,7.9,25,1.1,25c-7.8,0-13.5-3.8-17.1-7.1c-4.2-3.9-7-11-7-17.1\t\tc-0.1-5.4,2.1-12.1,7-16.8c4.9-4.7,10.5-7,17-7c7.7,0,13.3,3.1,17,7C22.3-11.4,25-5.8,25,0.8c0,6.6-2.6,12.5-6.9,17":console.warn("3rdparty.raindrop has no option to make:"+
     39f);return u}).attr("style",function(S,x){var u="burst-bubbles"==f?aa(x/q):W(6);return"transform:translate(0px,0px) scale("+B+");opacity:1;fill:"+u});window.setTimeout(C.tpr.d3confetti,1E3,b,a,d,-e,g,f)}else k=f.match(/(burst-self|corner)/)?"use":"path",c.vprint("d3","confetti: animate it, toggle:"+e+" target:"+d+": found?"+t.select("#confetti"+d).size()+" selecting:"+k),-3==e&&f.match(/(burst-selfzoomInOut)/)?(c.vprint("d3","confetti remove confetti hack!"),t.select("#confetti"+d).remove()):-2==e&&
     40f.match(/(burst-selftile)/)?(w=t.select("#defs"+d),1==w.size()&&(c.vprint("d3","d3confetti UNDO defs hide"),b=w.select("#defs"+d+">g"),1==b.size()?t.node().appendChild(b.node()):c.vprint("d3","d3confetti UNDO defs found other than 1:"+b.size()))):(f.match(/(burst-selfzoom|tile)/)&&(w=t.select("#defs"+d),0==w.size()&&(c.vprint("d3","confetti: create defs wrap"),n=document.createElementNS("http://www.w3.org/2000/svg","defs"),n.setAttribute("id","defs"+d),(A=h.node().parentElement)?(A.appendChild(n),
     41w=t.select("#defs"+d)):c.vprint("d3","confetti: utarg parent null")),w.node().appendChild(h.node())),h=t.select("#confetti"+d),h=h.selectAll("g").attr("style",function(S,x){var u=0;"burst-bubbles"==f&&(u=-600*B,Z/=2);return"transform:translate(0px,"+u+"px)"}),h=t.selectAll("#confetti"+d+" g>"+k),f.match(/(collapse|tile)/)&&(t=b.getAttribute("ang"),O=t.split(/,/).map(Number),G=l.mulberry32(O[0])),h.attr("style",function(S,x){var u=0,X=0;var ca=f.match(/(burst-selfzoom|burst-bubbles)/)?ia(x/q):W(6);
     42var U=f.match(/(burst-selfzoom|burst-bubbles)/)?aa(x/q):W(6);var L=f.match(/(burst-selfzoom)/)?qa:c.d0(360*Math.random()-180);var F=c.ddd(Math.random()*Math.PI*2);var M=Math.random()*Z;var V=0;f.match(/(collapse)/)?(F=O[x],L=c.d0(180*F/Math.PI+90),M=G()*pa,X=25*G()-12.5,V=-2==e?0:1,u=100,B=a.match(/(text)/)?1:.1):f.match(/(tile)/)&&(F=O[x],M=50,B=1,u=100,L=V=0);var ka=f.match(/(burst-selfzoom)/)?100:u+X+M*Math.cos(F);F=f.match(/(burst-selfzoom)/)?100:u+X+M*Math.sin(F);f.match(/(burst-selfzoomInOut)/)&&
     43-1==e?(B=14,V=1):f.match(/(burst-selfzoomInOut)/)&&-2==e?V=B=1:B=f.match(/(burst-selfzoom)/)?c.dd(10*x/q):B;f.match(/(sprinkle)/)&&(L=0,ka=parseFloat(v)*G()-v/2,F=parseFloat(J)*G()-J/2,B=5>x?3.5+Math.random():.3+Math.random(),-2==e&&(B=.1),V=-2==e?0:1);M=f.match(/(burst-self|corner|sprinkle|tile)/)?"translate(-100px,-100px)":"";M+=f.match(/(burst-selfzoom|corner|tile)/)?";transition-delay:"+(-1==e?c.dd(1-x/q):c.dd(x/q))+"s":"";M+=f.match(/(sprinkle)/)?";transition-delay:"+(-1==e?c.dd(x/q):c.dd(1-
     44x/q))+"s":"";M+=f.match(/(tile)/)?";mask:url('#mask_"+x+"')":"";return"transform:translate("+ka+"px,"+F+"px) rotate("+L+"deg) scale("+B+") "+M+";opacity:"+V+";fill:"+ca+"; stroke:"+U}),f.match(/(collapse)/)&&0<m&&(c.vprint("d3","confetti s s s s s s s s s s s s s s s s s s s s s s s s s s s sprites found:"+m),h.on("transitionend",function(S,x){d3.select(this).attr("href","#"+R[1].attr("id"))})),-3<e&&f.match(/(burst-selfzoomInOut|sprinkle)/)&&(c.vprint("d3","confetti: que - = 3rd toggle = - , reverse"+
     45e),-1==e?window.setTimeout(C.tpr.d3confetti,1E3*(Q+H-1.1),b,a,d,e-1,g,f):window.setTimeout(C.tpr.d3confetti,3500,b,a,d,e-1,g,f)),-2<e&&f.match(/(collapse|tile)/)&&(c.vprint("d3","confetti: - = 2nd toggle = -, que sprite opacity"+e),window.setTimeout(C.tpr.d3confetti,2200,b,a,d,e-1,g,f)))};var oa=function(b,a){var d,e=this.wrap;for(d=0;d<this.contA.length;d++){var g=c.d0(this.contA[d])-1;var f=null==this.jA.cfCalc?"+":this.jA.cfCalc[g];c.vprint("d3","d3Attr_templateEngine i["+a+"] d["+b+"] nn["+d+
     46"] wrap:"+this.contA[d]+" inc["+g+"]="+this.incA[g]+" calc:"+f);"*"==f?(e=e.replace(this.contA[d],this.jA.cfFrom[g]),this.jA.cfFrom[g]*=this.incA[g]):e=e.replace(this.contA[d],this.jA.cfFrom[g]+a*this.incA[g])}return e};this.codonSelJSON=function(b){for(var a in b)y.isArray(b[a])&&(b[a]=D.codonSel(b[a]));return b};this.setCodonA=function(b){P=b};this.codonSel=function(b,a){if(("scale"==a||"normal"==a||null==a)&&!y.isArray(b))return c.vprint("d3","codonSel, have NORMAL mode but not passed a array!"+
     47b),b;I=c.setVal(I,1,0,P.length-1,c.setValMode.LOOP);var d=parseInt(P[I]);if("scale"==a)var e=d3.scaleLinear().domain([0,200]).range(b).clamp(!0)(d);else"func"==a?("function"!=typeof b&&c.vprint("d3","codonSel, have function mode but not passed a function!"+b),e=b(parseFloat(d)/200)):e=b[d%b.length];c.vprint("d3","codonSel codonA["+I+"]="+d+" selects   = =>    "+e);return e};this.d3_getNchild=function(b,a){var d=[],e=b.firstChild;for(c.vprint("d3","d3_getNchild first child:"+e.nodeName+","+e+" nextSibling:"+
     48e.nextSibling.nodeName);null!=e.nextSibling&&0<a;)"#text"==e.nodeName||"#comment"==e.nodeName?e=e.nextSibling:(d.push(e),e=e.nextSibling,a--);return d};this.getRandPoint=function(b,a,d,e,g,f){var h=[],p=c.d0(a[0][0]),r=c.d0(a[0][1]),z=c.d0(a[1][0]),q=c.d0(a[1][1]);d3.scaleLinear().domain([p,p+z]).range([p,p+z]).ticks(7);"VRANDOM"==d&&(d=D.codonSel(fa));"VRANDOM"==e&&(e=D.codonSel(fa));"RANDOM"==d&&(d=D.codonSel(ea));"RANDOM"==e&&(e=D.codonSel(ea));for(a=0;a<b;a++){var m=Math.random();var k=Math.random();
     49var t=.5+.1*Math.sin(2*k*Math.PI);var K=.5+.1*Math.sin(2*m*Math.PI);"uniform"!=d&&("bigEdge"==d?m=m>t?d3.easeQuadIn(m):d3.easeQuadOut(m):"bigMiddle"==d?m=m<t?d3.easeQuadIn(m):d3.easeQuadOut(m):"bands"==d?m=15*Math.round(m*z/15)/z:(null==d3[d]&&(c.vprint("warn","getRandPoint did not find ease:"+d+" selecting: easeLinear"),d="easeLinear"),m=d3[d](m)));"uniform"!=e&&("bigEdge"==e?k=k>K?d3.easeQuadIn(k):d3.easeQuadOut(k):"bigMiddle"==e?k=k<K?d3.easeQuadIn(k):d3.easeQuadOut(k):"bands"==e?k=15*Math.round(k*
     50q/15)/q:(null==d3[e]&&c.vprint("warn","getRandPoint did not find ease:"+e),k=d3[e](k)));k=[c.d0(m*z+p),c.d0(k*q+r)];null!=g&&k.push(c.dd(c.setVal(0,0,g[0],g[1],c.setValMode.RANDOM)));null!=f&&k.push(c.dd(c.setVal(0,0,f[0],f[1],c.setValMode.RANDOM)));h.push(k)}return h};var na=function(b,a){var d,e=[];1>a&&console.error("doFromToBy sections must be 1 or more");y.isArray(b.cfFrom)||(b.cfFrom=[b.cfFrom]);if(null!=b.cfTo)for(y.isArray(b.cfTo)||(b.cfTo=[b.cfTo]),b.cfTo.length!=b.cfFrom.length&&console.warn("doFromToBy: size From != To: "+
     51b.cfFrom.length+"!="+b.cfTo.length),d=0;d<b.cfTo.length;d++){var g=(b.cfTo[d]-b.cfFrom[d])/(a-1);c.vprint("d3","doFromToBy["+d+"] sections:"+a+":"+g);e[d]=g}null!=b.cfInc&&(y.isArray(b.cfInc)||(b.cfInc=[b.cfInc]),b.cfInc.length!=b.cfFrom.length&&console.warn("doFromToBy: size From != cfInc: "+b.cfFrom.length+"!="+b.cfInc.length),e=b.cfInc);return e};this.vM2Q=function(b,a){var d,e,g=[];if(null!=a.thinthreshold&&(b=E.vthinpoints(b,a.thinthreshold),3>b.length))return"";var f=E.vcentroid(b);var h=a.shrinkamount;
     52for(d=0;d<b.length;d++){var p="centroid"==a.shrinkmode?E.vwave(b[d],h,f,1):"fixed"==a.shrinkmode?E.vmovetoward(b[d],f,h):b[d];g.push(p);0==d&&(e=p);if(d<b.length-1){p=E.vave(b[d],b[d+1]);var r=E.vmag(E.vsub(b[d],b[d+1]))}else p=E.vave(b[d],b[0]),r=E.vmag(E.vsub(b[d],b[0]));var z=1-Math.pow(.3*r/Math.abs(h),1.1);r=-2>z?-2*h:z*h;c.vprint("util^2","vM2Q factor:"+z+" delta2:"+r);"fixed"==a.shrinkmode?g.push(E.vmovetoward(p,f,r)):g.push(p)}g.push(e);0==g.length%2&&c.vprint("util","vM2Q POINTS missmatch EVEN need ODD");
     53if("points"==a.retmode)return g;e="M"+g[0].cx+","+g[0].cy+" Q";for(d=1;d<g.length;d++)e+=g[d].cx+","+g[d].cy+" ";return e+" Z"}};
  • genolve-toolkit/trunk/js/genolve-scroll.js

    r2719585 r2738848  
    11GenolveScroll=function(J){function qa(d,l){O="mouse";X=window.scrollY;da=d.pageX;ma=d.pageY;Y(d,l)}function ra(d,l){O="tilt";X=window.scrollY;Z=d.gamma;Z=d.accelerationIncludingGravity?d.accelerationIncludingGravity.x:0;ea=d.beta;d.data={};d.data.value=e;Y(d,l)}function sa(d,l){O="scroll";X=window.scrollY;Y(d,l)}function ta(d,l){O="music";if(d=gnlvSound.getAna())aa=d.data.freq,latestT=d.data.time,N=d.data.size,na=d.data.metro,d.data.value=e,Y(d,l)}function Y(d,l){fa||(e=d.data.value,requestAnimationFrame(ua),
    2 ha++);fa=!0}var L=this;this.ver="2.0.0";var ba=[],z={},V={},m={},E={},P,da=0,ma=0,Z=0,ea=0,aa=0,N=0,na=0,r=0,U,K,e,O,ha=0,ia=!1,ja,F="notset",ka=!1,la=!0,W={};this.ani_start_timestamp=Date.now();this.muzlock="none";"object"!=typeof window.gnlv_start_time&&(window.gnlv_start_time={"default":L.ani_start_timestamp});null==$&&($=jQuery);if(J&&J.vpr)var a=J.vpr;var M=J&&J.usemode?J.usemode:"edit",Q=J&&J.atime?J.atime:15;null==a&&(a={name:"scroll-vpr-stub",vprint:function(d,l){vv||console.log(l)},dumpvar:function(d){return JSON.stringify(d)},
     2ha++);fa=!0}var L=this;this.ver="2.0.0";var ba=[],z={},V={},m={},F={},P,da=0,ma=0,Z=0,ea=0,aa=0,N=0,na=0,r=0,U,K,e,O,ha=0,ia=!1,ja,G="notset",ka=!1,la=!0,W={};this.ani_start_timestamp=Date.now();this.muzlock="none";"object"!=typeof window.gnlv_start_time&&(window.gnlv_start_time={"default":L.ani_start_timestamp});null==$&&($=jQuery);if(J&&J.vpr)var a=J.vpr;var M=J&&J.usemode?J.usemode:"edit",Q=J&&J.atime?J.atime:15;null==a&&(a={name:"scroll-vpr-stub",vprint:function(d,l){vv||console.log(l)},dumpvar:function(d){return JSON.stringify(d)},
    33d0:function(d){d=String(d).replace(/[^0-9\-\.]/g,"");return Math.round(parseFloat(d))},dd:function(d){return Math.round(100*parseFloat(d))/100},ddd:function(d){return Math.round(1E3*parseFloat(d))/1E3},d4:function(d){return Math.round(1E4*parseFloat(d))/1E4},keeptime:function(d){var l="default";d&&d.getAttribute("data-target")&&(l=d.getAttribute("data-target"));"object"!=typeof window.gnlv_start_time&&(window.gnlv_start_time={});window.gnlv_start_time[l]=Date.now()},parsejson:function(d){try{return JSON.parse(d.replace(/'/g,
    44'"'))}catch(l){alert("JSON parse error on["+d+"]:"+l)}},getBrowser:function(){var d=!1,l=navigator.userAgent||navigator.vendor||window.opera;if(/(android|bb\d+|meego).+mobile|avantgo|bada\/|blackberry|blazer|compal|elaine|fennec|hiptop|iemobile|ip(hone|od)|iris|kindle|lge |maemo|midp|mmp|mobile.+firefox|netfront|opera m(ob|in)i|palm( os)?|phone|p(ixi|re)\/|plucker|pocket|psp|series(4|6)0|symbian|treo|up\.(browser|link)|vodafone|wap|windows ce|xda|xiino|android|ipad|playbook|silk/i.test(l)||/1207|6310|6590|3gso|4thp|50[1-6]i|770s|802s|a wa|abac|ac(er|oo|s\-)|ai(ko|rn)|al(av|ca|co)|amoi|an(ex|ny|yw)|aptu|ar(ch|go)|as(te|us)|attw|au(di|\-m|r |s )|avan|be(ck|ll|nq)|bi(lb|rd)|bl(ac|az)|br(e|v)w|bumb|bw\-(n|u)|c55\/|capi|ccwa|cdm\-|cell|chtm|cldc|cmd\-|co(mp|nd)|craw|da(it|ll|ng)|dbte|dc\-s|devi|dica|dmob|do(c|p)o|ds(12|\-d)|el(49|ai)|em(l2|ul)|er(ic|k0)|esl8|ez([4-7]0|os|wa|ze)|fetc|fly(\-|_)|g1 u|g560|gene|gf\-5|g\-mo|go(\.w|od)|gr(ad|un)|haie|hcit|hd\-(m|p|t)|hei\-|hi(pt|ta)|hp( i|ip)|hs\-c|ht(c(\-| |_|a|g|p|s|t)|tp)|hu(aw|tc)|i\-(20|go|ma)|i230|iac( |\-|\/)|ibro|idea|ig01|ikom|im1k|inno|ipaq|iris|ja(t|v)a|jbro|jemu|jigs|kddi|keji|kgt( |\/)|klon|kpt |kwc\-|kyo(c|k)|le(no|xi)|lg( g|\/(k|l|u)|50|54|\-[a-w])|libw|lynx|m1\-w|m3ga|m50\/|ma(te|ui|xo)|mc(01|21|ca)|m\-cr|me(rc|ri)|mi(o8|oa|ts)|mmef|mo(01|02|bi|de|do|t(\-| |o|v)|zz)|mt(50|p1|v )|mwbp|mywa|n10[0-2]|n20[2-3]|n30(0|2)|n50(0|2|5)|n7(0(0|1)|10)|ne((c|m)\-|on|tf|wf|wg|wt)|nok(6|i)|nzph|o2im|op(ti|wv)|oran|owg1|p800|pan(a|d|t)|pdxg|pg(13|\-([1-8]|c))|phil|pire|pl(ay|uc)|pn\-2|po(ck|rt|se)|prox|psio|pt\-g|qa\-a|qc(07|12|21|32|60|\-[2-7]|i\-)|qtek|r380|r600|raks|rim9|ro(ve|zo)|s55\/|sa(ge|ma|mm|ms|ny|va)|sc(01|h\-|oo|p\-)|sdk\/|se(c(\-|0|1)|47|mc|nd|ri)|sgh\-|shar|sie(\-|m)|sk\-0|sl(45|id)|sm(al|ar|b3|it|t5)|so(ft|ny)|sp(01|h\-|v\-|v )|sy(01|mb)|t2(18|50)|t6(00|10|18)|ta(gt|lk)|tcl\-|tdg\-|tel(i|m)|tim\-|t\-mo|to(pl|sh)|ts(70|m\-|m3|m5)|tx\-9|up(\.b|g1|si)|utst|v400|v750|veri|vi(rg|te)|vk(40|5[0-3]|\-v)|vm40|voda|vulc|vx(52|53|60|61|70|80|81|83|85|98)|w3c(\-| )|webc|whit|wi(g |nc|nw)|wmlb|wonu|x700|yas\-|your|zeto|zte\-/i.test(l.substr(0,
     
    77a.keeptime&&(eloop.keeptime=a.keeptime);"function"==typeof GNLV_3RDPARTY&&null==eloop.tpr&&(a.vprint("scrl"," -  =  CREATE 3rdparty"),eloop.tpr=new GNLV_3RDPARTY(a,{name:"vekstub"},$));var X=0,fa=!1;this.changeDiv=function(d,l){if(null==d)return e;a.vprint("scrl",vv?"":" -  =  changeDiv   "+e+" -> "+d+" muz:"+l);null==W[e]?a.vprint("scrl",vv?"":" -  =  changeDiv  XXXX lookup fail"):(e=d,null!=l&&(L.muzlock="vol_on"==l?e:"none"))};var va=function(d,l){a.vprint("scrl",vv?"":" -  =  onBeat  =  -  got event:"+
    88d.type+","+d.keyoff+" num ani:"+m[e].gnlvaniA.length);ia=!0;gnlvSound.volColor()};this.toggleMuzPlay=function(){oa("play")};this.toggleMuzPause=function(){oa("pause")};var oa=function(d){var l;a.vprint("scrl",vv?"":"- = toggleMuz("+d+") for num ani:"+m[e].gnlvaniA.length);for(l=0;l<m[e].gnlvaniA.length;l++){paramO=m[e].gnlvaniA[l];var b=paramO.myself;"pause"==d?(b.attr("repeatDur","indefinite"),b.node.setAttribute("fill","remove")):b.attr("repeatDur",1E-6)}},ua=function(d,l){a.vprint("anmt",vv?"":
    9 "- - - - - - - - - - - - - aniOnScrollWrap event:"+O);for(K in W)if(0===String(z[K]).indexOf(O))if("none"!=L.muzlock&&L.muzlock!=K)a.vprint("anmt",vv?"":"- - - - - - - - - - - - - aniOnScrollWrap skip:"+K+" "+O+" for muzlock:"+L.muzlock);else{e=K;a.vprint("anmt",vv?"":"- - - - - - - - - - - - - aniOnScrollWrap on:"+K+" "+O);var b=void 0,n=void 0,k=void 0,g=void 0,t=void 0,C=void 0,H=void 0,D=void 0,G=void 0,x=void 0,A=void 0;var f=[];var R=[],q=[],c={},w=$.extend({},m[e].numAbyTarget),y={},B={};var h=
    10 0;null==E[e]&&(E[e]={lastime:(new Date).getTime(),tiltG:0,tiltB:0,gpa:.5,num_group_mode:0});var u=X;if(null==z[e]||"scroll"==z[e]||"scroll_standard"==z[e]||"scroll_near_top"==z[e]){var v=$("#"+e.replace(/_svg$/,""));1>v.length&&a.vprint("warn",vv?"":"aniOnScroll did not find  div:"+e.replace(/_svg$/,""));D=parseInt(v.offset().top);H=parseInt(v.height());C=parseInt($(window).height());t=parseInt($(window).width());g=D-u;k=C-g}var p=(new Date).getTime();v=p-E[e].lastime;E[e].lastime=p;if(null==z[e]||
    11 "scroll"==z[e])D<.5*C?(z[e]="scroll_near_top",h=0,V[e]=H>C?.1:.6):(z[e]="scroll_standard",h=.2*H,V[e]=H>C?.6:1);if("scroll_standard"==z[e])x=a.d4(Math.min(1,(k-h)/C*V[e]));else if("scroll_near_top"==z[e])x=a.d4(Math.min(1,u/(g+H*V[e])));else if("mouse"==z[e])x=a.d4((k-h)/C),1.5>x&&0<x&&(x=a.d4(Math.min(1,da/t)));else if("tilt"==z[e])x=a.d4((k-h)/C),1.5>x&&0<x&&(window.matchMedia("only screen and (orientation:portrait)").matches?E[e].gpa=a.setVal(E[e].gpa,Z*Math.PI/180,0,1,a.setValMode.LIMIT):E[e].gpa=
    12 a.setVal(E[e].gpa,ea*Math.PI/180,0,1,a.setValMode.LIMIT),x=E[e].gpa);else if("music"==z[e]){var S=t=p=x=0,I=0,T=!1,pa=0,wa=Math.max(15,E[e].num_group_mode);A=na;for(h=0;h<N;h++)255>aa[h]&&!T&&(T=!0,n=h),h>wa+n&&15>aa[h]&&pa++,f[h]=a.setVal(aa[h]/255,0,0,1,a.setValMode.LIMIT),R[h]=a.setVal(latestT[h]/255,0,0,1,a.setValMode.LIMIT),T&&3>pa&&q.push(f[h]),I=Math.max(I,f[h]),x+=f[h],h<N/3?S+=f[h]:h<N/3+N/3?t+=f[h]:p+=f[h];c.ave=x/=N;c.max=I;c.bass=S/(N/3);c.mid=t/(N/3);c.treb=p/(N/3);c["group mode"]=f}a.vprint("scrl",
     9"- - - - - - - - - - - - - aniOnScrollWrap event:"+O);for(K in W)if(0===String(z[K]).indexOf(O))if("none"!=L.muzlock&&L.muzlock!=K)a.vprint("anmt",vv?"":"- - - - - - - - - - - - - aniOnScrollWrap skip:"+K+" "+O+" for muzlock:"+L.muzlock);else{e=K;a.vprint("anmt",vv?"":"- - - - - - - - - - - - - aniOnScrollWrap on:"+K+" "+O);var b=void 0,n=void 0,k=void 0,g=void 0,t=void 0,C=void 0,H=void 0,E=void 0,D=void 0,x=void 0,A=void 0;var f=[];var R=[],q=[],c={},w=$.extend({},m[e].numAbyTarget),y={},B={};var h=
     100;null==F[e]&&(F[e]={lastime:(new Date).getTime(),tiltG:0,tiltB:0,gpa:.5,num_group_mode:0});var u=X;if(null==z[e]||"scroll"==z[e]||"scroll_standard"==z[e]||"scroll_near_top"==z[e]){var v=$("#"+e.replace(/_svg$/,""));1>v.length&&a.vprint("warn",vv?"":"aniOnScroll did not find  div:"+e.replace(/_svg$/,""));E=parseInt(v.offset().top);H=parseInt(v.height());C=parseInt($(window).height());t=parseInt($(window).width());g=E-u;k=C-g}var p=(new Date).getTime();v=p-F[e].lastime;F[e].lastime=p;if(null==z[e]||
     11"scroll"==z[e])E<.5*C?(z[e]="scroll_near_top",h=0,V[e]=H>C?.1:.6):(z[e]="scroll_standard",h=.2*H,V[e]=H>C?.6:1);if("scroll_standard"==z[e])x=a.d4(Math.min(1,(k-h)/C*V[e]));else if("scroll_near_top"==z[e])x=a.d4(Math.min(1,u/(g+H*V[e])));else if("mouse"==z[e])x=a.d4((k-h)/C),1.5>x&&0<x&&(x=a.d4(Math.min(1,da/t)));else if("tilt"==z[e])x=a.d4((k-h)/C),1.5>x&&0<x&&(window.matchMedia("only screen and (orientation:portrait)").matches?F[e].gpa=a.setVal(F[e].gpa,Z*Math.PI/180,0,1,a.setValMode.LIMIT):F[e].gpa=
     12a.setVal(F[e].gpa,ea*Math.PI/180,0,1,a.setValMode.LIMIT),x=F[e].gpa);else if("music"==z[e]){var S=t=p=x=0,I=0,T=!1,pa=0,wa=Math.max(15,F[e].num_group_mode);A=na;for(h=0;h<N;h++)255>aa[h]&&!T&&(T=!0,n=h),h>wa+n&&15>aa[h]&&pa++,f[h]=a.setVal(aa[h]/255,0,0,1,a.setValMode.LIMIT),R[h]=a.setVal(latestT[h]/255,0,0,1,a.setValMode.LIMIT),T&&3>pa&&q.push(f[h]),I=Math.max(I,f[h]),x+=f[h],h<N/3?S+=f[h]:h<N/3+N/3?t+=f[h]:p+=f[h];c.ave=x/=N;c.max=I;c.bass=S/(N/3);c.mid=t/(N/3);c.treb=p/(N/3);c["group mode"]=f}a.vprint("scrl",
    1313vv?"":"aniOnScroll - - - - ");a.vprint("scrl",vv?"":"aniOnScroll - - - - START[ divid "+e+" ] event:"+O+" calc: "+z[e]+" talldiv:"+V[e]+" found svgA?"+typeof svgA+" svgH.id:"+typeof W[e]);if("undefined"!=typeof gnlvSound&&gnlvSound.muted&&"music"==z[e])a.vprint("scrl",vv?"":"aniOnScroll MUTE abort");else{cur_t=eloop.anielapsed?eloop.anielapsed():L.anielapsed();for(b in m[e].slot)isVis=!0,h=m[e].slot[b],h.transO&&h.transO.slide&&h.transO.slide.startDelay&&h.transO.slide.duration&&("none"!=h.transO.slide.animateIn||
    141410==h.transO.slide.addFade)?(a.vprint("scrl",vv?"":"aniOnScroll slot["+b+"]transO?"+h.transO),start_t=h.transO.slide.startDelay,gofor="none"!=h.transO.slide.animateOut?h.transO.slide.animateOutPause+2*h.transO.slide.duration:Q-start_t,m[e].slot[b].isVis=cur_t>start_t&&cur_t<start_t+gofor?!0:!1,a.vprint("scrl",vv?"":"aniOnScroll slot["+b+"]vis?"+m[e].slot[b].isVis)):a.vprint("scrl",vv?"":"aniOnScroll["+e+"] slot["+b+"] no trasO or not faded");a.vprint("scrl",vv?"":"aniOnScroll - - - - START[ divid "+
    15 e+" , "+z[e]+"] dt:"+v+" - - - divscroll:"+D+" h:"+H+" winscroll:"+u+" h:"+C+" x:"+da+" y:"+ma+" g:"+Z+" b:"+ea+"->"+g+" inverse:"+k+" %:"+x+" num ani:"+m[e].gnlvaniA.length);if(1>x&&0<x)for(h=D=0;h<m[e].gnlvaniA.length;h++){b=m[e].gnlvaniA[h];u=b.valsA.length;n=1;v=x;F="notsound";if("music"==z[e]&&b.music&&b.music.enable){if(b.music.keyoff&&c[b.music.keyoff]&&(v=c[b.music.keyoff],b.slot&&m[e].slot[b.slot]&&!1===m[e].slot[b.slot].isVis)){a.vprint("scrl",vv?"":"aniOnScroll skip ani:"+h);continue}F=
    16 b.music.drivemode;1<b.music.beatMultiple?g=a.setVal(A*b.music.beatMultiple,0,0,1,a.setValMode.LOOP):-1>=b.music.beatMultiple?(g=A/Math.abs(b.music.beatMultiple),ia&&(b.gpb+=b.mpAlongPrev),g=b.gpb+g,1<g&&(g=b.gpb=0)):g=A;g<b.mpAlongPrev?(b.mpPulse=.002*9,a.vprint("scrl",vv?"":"aniOnScroll                     *  Pulse  *")):b.mpPulse*=.6;b.mpAlongPrev=g;k=v>b.threshold?1:0;b.threshold=v>b.threshold?b.threshold+.005:b.threshold-.005;G=1*Math.cos(g*Math.PI*2)+1.2;"freqbar"==F?g=v:"waveform"==F?g=R[0]:
    17 "beat"!=F&&("beat with flow"==F?g=a.setVal(b.gpa,b.mpPulse+.002,0,1,a.setValMode.LOOP):"beat against flow"==F?g=a.setVal(b.gpa,b.mpPulse+-.002,0,1,a.setValMode.LOOP):"freqbar with easeback"==F?g=a.setVal(Math.max(v,b.gpa),-.002,0,1,a.setValMode.LIMIT):"advance jumpy"==F?g=a.setVal(b.gpa,.002*k,0,1,a.setValMode.LOOP):"advance"==F?g=a.setVal(b.gpa,.002*v,0,1,a.setValMode.LOOP):"advance with easeback"==F&&(g=a.setVal(b.gpa,.006*k-.002,0,1,a.setValMode.LOOP)));if("group mode"==b.music.keyoff){k="freqbar"==
    18 F?q.length:N;C=E[e].num_group_mode<k?Math.round(k/E[e].num_group_mode):1;H=a.setVal(D*C,0,0,k,a.setValMode.LOOP);if("freqbar"==F)g=q[H];else if("waveform"==F)g=R[H];else{if(0==D){ba=[];for(v=E[e].num_group_mode-1;0<v;v--)m[e].gnlvaniA[h+v].twa=m[e].gnlvaniA[h+v-1].twa,ba[h+v]=m[e].gnlvaniA[h+v].twa;m[e].gnlvaniA[h].twa=a.d4(c.mid);m[e].gnlvaniA[h].twa=R[3];ba[h]=m[e].gnlvaniA[h].twa;a.vprint("scrl",vv?"":"aniOnScrol set    T T T at ii="+h+" beat/pulse val:"+m[e].gnlvaniA[h].twa+"   TWA "+a.dumpvar(ba))}g=
    19 m[e].gnlvaniA[h].twa}v=g;a.vprint("scrl",vv?"":"aniOnScroll div:"+e+" GROUPMODE[ "+D+" of "+E[e].num_group_mode+" ] * binstep:"+C+" of max:"+k+"->dex"+H+" extracted gpA of:"+g);D++}a.vprint("scrl",vv?"":"aniOnScroll div:"+e+" MUSIC keyoff["+b.music.keyoff+"] % "+v+"  drivemode["+F+"] durm?"+b.durm+" beatM:"+b.music.beatMultiple+" %> "+g);v=b.gpa=g}for(v=a.setVal(v*b.durm,0,0,1,a.setValMode.LOOP);b.timsA[n]<v&&n<u;)n++;g=b.timsA[n]-b.timsA[n-1];k=v-b.timsA[n-1];H=a.d4(k/g);k=b.type;C=b.valsA[n-1];
     15e+" , "+z[e]+"] dt:"+v+" - - - divscroll:"+E+" h:"+H+" winscroll:"+u+" h:"+C+" x:"+da+" y:"+ma+" g:"+Z+" b:"+ea+"->"+g+" inverse:"+k+" %:"+x+" num ani:"+m[e].gnlvaniA.length);if(1>x&&0<x)for(h=E=0;h<m[e].gnlvaniA.length;h++){b=m[e].gnlvaniA[h];u=b.valsA.length;n=1;v=x;G="notsound";if("music"==z[e]&&b.music&&b.music.enable){if(b.music.keyoff&&c[b.music.keyoff]&&(v=c[b.music.keyoff],b.slot&&m[e].slot[b.slot]&&!1===m[e].slot[b.slot].isVis)){a.vprint("scrl",vv?"":"aniOnScroll skip ani:"+h);continue}G=
     16b.music.drivemode;1<b.music.beatMultiple?g=a.setVal(A*b.music.beatMultiple,0,0,1,a.setValMode.LOOP):-1>=b.music.beatMultiple?(g=A/Math.abs(b.music.beatMultiple),ia&&(b.gpb+=b.mpAlongPrev),g=b.gpb+g,1<g&&(g=b.gpb=0)):g=A;g<b.mpAlongPrev?(b.mpPulse=.002*9,a.vprint("scrl",vv?"":"aniOnScroll                     *  Pulse  *")):b.mpPulse*=.6;b.mpAlongPrev=g;k=v>b.threshold?1:0;b.threshold=v>b.threshold?b.threshold+.005:b.threshold-.005;D=1*Math.cos(g*Math.PI*2)+1.2;"freqbar"==G?g=v:"waveform"==G?g=R[0]:
     17"beat"!=G&&("beat with flow"==G?g=a.setVal(b.gpa,b.mpPulse+.002,0,1,a.setValMode.LOOP):"beat against flow"==G?g=a.setVal(b.gpa,b.mpPulse+-.002,0,1,a.setValMode.LOOP):"freqbar with easeback"==G?g=a.setVal(Math.max(v,b.gpa),-.002,0,1,a.setValMode.LIMIT):"advance jumpy"==G?g=a.setVal(b.gpa,.002*k,0,1,a.setValMode.LOOP):"advance"==G?g=a.setVal(b.gpa,.002*v,0,1,a.setValMode.LOOP):"advance with easeback"==G&&(g=a.setVal(b.gpa,.006*k-.002,0,1,a.setValMode.LOOP)));if("group mode"==b.music.keyoff){k="freqbar"==
     18G?q.length:N;C=F[e].num_group_mode<k?Math.round(k/F[e].num_group_mode):1;H=a.setVal(E*C,0,0,k,a.setValMode.LOOP);if("freqbar"==G)g=q[H];else if("waveform"==G)g=R[H];else{if(0==E){ba=[];for(v=F[e].num_group_mode-1;0<v;v--)m[e].gnlvaniA[h+v].twa=m[e].gnlvaniA[h+v-1].twa,ba[h+v]=m[e].gnlvaniA[h+v].twa;m[e].gnlvaniA[h].twa=a.d4(c.mid);m[e].gnlvaniA[h].twa=R[3];ba[h]=m[e].gnlvaniA[h].twa;a.vprint("scrl",vv?"":"aniOnScrol set    T T T at ii="+h+" beat/pulse val:"+m[e].gnlvaniA[h].twa+"   TWA "+a.dumpvar(ba))}g=
     19m[e].gnlvaniA[h].twa}v=g;a.vprint("scrl",vv?"":"aniOnScroll div:"+e+" GROUPMODE[ "+E+" of "+F[e].num_group_mode+" ] * binstep:"+C+" of max:"+k+"->dex"+H+" extracted gpA of:"+g);E++}a.vprint("scrl",vv?"":"aniOnScroll div:"+e+" MUSIC keyoff["+b.music.keyoff+"] % "+v+"  drivemode["+G+"] durm?"+b.durm+" beatM:"+b.music.beatMultiple+" %> "+g);v=b.gpa=g}for(v=a.setVal(v*b.durm,0,0,1,a.setValMode.LOOP);b.timsA[n]<v&&n<u;)n++;g=b.timsA[n]-b.timsA[n-1];k=v-b.timsA[n-1];H=a.d4(k/g);k=b.type;C=b.valsA[n-1];
    2020g=b.valsA[n];p=C;t=g;S=H;I=[];if("number"==typeof p)p+=(t-p)*S;else if("object"==typeof p){p.length!=t.length&&a.vprint("scrl",vv?"":"X X X X X X X interpolate beg end LENGTH mismatch:"+p.join("|")+":"+t.join("|"));for(f=0;f<p.length;f++)"number"==typeof p[f]?I.push(p[f]+(t[f]-p[f])*S):(p[f]!=t[f]&&a.vprint("scrl",vv?"":"X X X X X X X interpolate beg end mismatch:"+p[f]+":"+t[f]),I.push(p[f]));p=I.join(",")}else a.vprint("warn","interpolate bad type:"+typeof p),p=void 0;f=b.mytargetid;a.vprint("scrl",
    21 vv?"":"aniOnScroll["+h+"] [type: "+k+"  ][drive: "+F+" ] numvals:"+u+" aBYtran["+f+"]:"+(w[f]-1)+" "+m[e].gnlvaniA[h].attributeName+" gpAlongS:"+x+" gpAlong:"+v+" lpAlong:"+H+" times:"+b.timsA+" vals:"+b.valsA+" dex:"+n+",beg,end:"+C+"|"+g+" now:"+p);if(null!=b.keyPoints)point=Snap.path.getPointAtLength(b.pathd,p*b.zlen),"auto"!=b.rotate&&"auto-reverse"!=b.rotate||null==b.prevpoint?b.prevpoint=point:(theta=Math.atan2(point.y-b.prevpoint.y,point.x-b.prevpoint.x),B[f]=180*theta/Math.PI,"auto-reverse"==
     21vv?"":"aniOnScroll["+h+"] [type: "+k+"  ][drive: "+G+" ] numvals:"+u+" aBYtran["+f+"]:"+(w[f]-1)+" "+m[e].gnlvaniA[h].attributeName+" gpAlongS:"+x+" gpAlong:"+v+" lpAlong:"+H+" times:"+b.timsA+" vals:"+b.valsA+" dex:"+n+",beg,end:"+C+"|"+g+" now:"+p);if(null!=b.keyPoints)point=Snap.path.getPointAtLength(b.pathd,p*b.zlen),"auto"!=b.rotate&&"auto-reverse"!=b.rotate||null==b.prevpoint?b.prevpoint=point:(theta=Math.atan2(point.y-b.prevpoint.y,point.x-b.prevpoint.x),B[f]=180*theta/Math.PI,"auto-reverse"==
    2222b.rotate&&(B[f]+=180)),a.vprint("scrl",vv?"":"aniOnScroll["+h+"] for keyPoint:"+p+" got:"+point.x+","+point.y+" add2rotate:"+B[f]),p=point.x+","+point.y;else if(null!=B[f]&&"rotate"==k)a.vprint("scrl",vv?"":"aniOnScroll["+h+"] combine rotate:"+p+" and autorotate:"+B[f]),p+=B[f];else if("d"==b.attributeName)p=p.replace(/,?([a-zA-Z]),?/g," $1 "),a.vprint("scrl",vv?"":"aniOnScroll["+h+"] - - - -  CLEANED   - - - -   up d valstr:"+p);else if(!b.attributeName.match(/(stroke-|fill-)/))if(b.attributeName.match(/(stop-color|fill|stroke|flood-color)/)){valstrA=
    2323p.split(/,/);for(hh=0;3>hh;hh++)u=Number(a.setVal(Math.round(valstrA[hh]),0,0,255,a.setValMode.LIMIT)).toString(16),valstrA[hh]=2==u.length?u:"0"+u;p="#"+valstrA.join("");a.vprint("scrl",vv?"":"aniOnScroll["+h+"] cleaned up color valstr:"+p)}else"string"==typeof p&&(p=p.replace(/,([%])/g,"$1"));if("transform"==b.attributeName)if(w[f]--,ja.transform(k+"("+p+")"),u=ja.transform().localMatrix,null==y[f]&&(y[f]=[]),0==w[f]){y[f].push(u);"sum"==b.additive&&y[f].push(b.lmatrix.clone());a.vprint("scrl",
    2424vv?"":"aniOnScroll["+h+"] - APPLY - matrix["+f+"]: num"+y[f].length+" slot:"+b.slot+" kind:"+b.kind+" type:"+b.type);if("path"!=b.kind)if("slide"==b.kind)"scale"==b.type||"rotate"==b.type&&3>y[f].length||"rotate"==b.type&&3>=y[f].length&&b.slot.match(/^image/)?y[f]=y[f].reverse():2<y[f].length&&(first1=y[f].shift(),y[f]=y[f].reverse(),y[f].unshift(first1));else if("patternTransform"==b.realattributeName||"intrinsic"==b.kind&&"rotate"==b.type)y[f]=y[f].reverse();u=new Snap.Matrix;for(n=0;n<y[f].length;n++)u.add(y[f][n]);
    25 b.mytarget.transform(u)}else y[f].push(u);else"currentTime"==b.attributeName?0==ha%5&&(a.vprint("scrl",vv?"":"aniOnScroll["+h+"]["+ha+"]   V I D E O   [  "+m[e].gnlvaniA[h].attributeName+"  ]-> "+p+" cpAlong:"+G),la?b.mytarget.node.fastSeek?b.mytarget.node.fastSeek(p):(la=!1,b.mytarget.node.play()):b.mytarget.node.playbackRate=G):"gradientTransform"==b.attributeName?(u=m[e].gnlvaniA[h].type+"("+p+")",b.mytarget.attr(u),a.vprint("scrl",vv?"":"aniOnScroll["+h+"] [  "+m[e].gnlvaniA[h].attributeName+
     25b.mytarget.transform(u)}else y[f].push(u);else"currentTime"==b.attributeName?0==ha%5&&(a.vprint("scrl",vv?"":"aniOnScroll["+h+"]["+ha+"]   V I D E O   [  "+m[e].gnlvaniA[h].attributeName+"  ]-> "+p+" cpAlong:"+D),la?b.mytarget.node.fastSeek?b.mytarget.node.fastSeek(p):(la=!1,b.mytarget.node.play()):b.mytarget.node.playbackRate=D):"gradientTransform"==b.attributeName?(u=m[e].gnlvaniA[h].type+"("+p+")",b.mytarget.attr(u),a.vprint("scrl",vv?"":"aniOnScroll["+h+"] [  "+m[e].gnlvaniA[h].attributeName+
    2626" type:"+m[e].gnlvaniA[h].type+" ]-> "+u)):(b.mytarget.attr(b.attributeName,p),a.vprint("scrl",vv?"":"aniOnScroll["+h+"] [  "+m[e].gnlvaniA[h].attributeName+"  ]-> "+p));"patternTransform"==b.realattributeName&&(a.vprint("scrl",vv?"":"aniOnScroll["+h+"] patternTransform updated id:"+b.realtarget.attr("id")+" with val:"+p),b.realtarget.transform(b.mytarget.transform().localMatrix))}ia=!1}}fa=!1};this.anielapsed=function(d){var l="default";"undefined"!=typeof gnlvScroll&&(l=gnlvScroll.changeDiv());
    2727var b=window.gnlv_start_time&&null!=window.gnlv_start_time[l]?window.gnlv_start_time[l]:L.ani_start_timestamp,n=(Date.now()-b)/1E3;if("absolute"==d)return n;d=a.setVal(n,0,0,Q,a.setValMode.LOOP);a.vprint("scrl",vv?"":"anielapsed["+l+"] atime:"+Q+" starttimestamp:"+b+" delta:"+n+" return:"+d);return d};this.resetTransforms=function(d){var l=0;null!=d&&L.changeDiv(d);a.vprint("scrl",vv?"":"resetTransforms start on["+e+"] "+(null!=m[e]));for(d=0;d<m[e].gnlvaniA.length;d++){var b=m[e].gnlvaniA[d];a.vprint("scrl",
    2828vv?"":"resetTransforms ["+d+"] id:"+b.id+" type:"+b.type+" have orig tran?"+b.origtransform+" target?"+(null!=b.mytarget));b.origtransform&&b.mytarget&&(l++,b.mytarget.transform(b.origtransform))}a.vprint("scrl",vv?"":"resetTransforms checking reset "+l+" of "+m[e].gnlvaniA.length)};var ca=function(d,l){for(var b,n,k,g=d.split(l),t=0;t<g.length;t++)b=g[t].match(/(,\s*|\s+)/),n=g[t].match(/[a-zA-Z%]/),k=g[t].match(/#/),b?g[t]=ca(g[t],b[0]):k?(diskula=g[t].replace(/#/,""),g[t]=[parseInt(diskula.substr(0,
    29292),16),parseInt(diskula.substr(2,2),16),parseInt(diskula.substr(4,2),16)]):n||(g[t]=a.d4(g[t]));return g},xa=function(d){a.vprint("scrl",vv?"":"parseSplines starting on:"+a.dumpvar(d));d.valsA=ca(d.values,/\s*;\s*/);var l=d.valsA.length;if(null!=d.keyTimes)var b=ca(d.keyTimes,/\s*;\s*/);else{var n=[0];for(b=1;b<l;b++)n[b]=Math.min(1,n[b-1]+1/(l-1));b=n}d.timsA=b;if(null!=d.keySplines)l=ca(d.keySplines,/\s*;\s*/);else{n=[];var k=[0,0,1,1];for(b=1;b<l;b++)n.push(k);l=n}d.splsA=l;return d};this.doSetup=
    30 function(d){var l="FROMDIV .gnlv-scroll, FROMDIV .gnlv-mouse, FROMDIV .gnlv-music",b="id attributeName values type dur xlink:href calcMode repeatDur keyTimes keySplines keyPoints rotate additive".split(" "),n={};null==d&&(d={},z={},V={},m={},E={});M=d.usemode?d.usemode:M;l=null==d.fromdiv?l.replace(/FROMDIV/g,""):l.replace(/FROMDIV/g,"#"+d.fromdiv);var k=Snap.selectAll(l);var g;a.vprint("scrl",vv?"":"scrollSetup - - - -doSetup - - - - START usemode:"+M+" - - -fromdiv?"+d.fromdiv+" on num:"+k.length);
     30function(d){var l="FROMDIV .gnlv-scroll, FROMDIV .gnlv-mouse, FROMDIV .gnlv-music",b="id attributeName values type dur xlink:href calcMode repeatDur keyTimes keySplines keyPoints rotate additive".split(" "),n={};null==d&&(d={},z={},V={},m={},F={});M=d.usemode?d.usemode:M;l=null==d.fromdiv?l.replace(/FROMDIV/g,""):l.replace(/FROMDIV/g,"#"+d.fromdiv);var k=Snap.selectAll(l);var g;a.vprint("scrl",vv?"":"scrollSetup - - - -doSetup - - - - START usemode:"+M+" - - -fromdiv?"+d.fromdiv+" on num:"+k.length);
    3131for(r=0;r<k.length;r++){var t={};l=!1;var C,H;if("edit"==M)mydivid="default";else if(mydivid=k[r].attr("id"),null==mydivid||null!=W[mydivid])mydivid=null==d.fromdiv?"svg"+r:d.fromdiv+"_svg",a.vprint("scrl",vv?"":"scrollSetup - - - -id missing or not unique, newid >   "+mydivid+" <"),k[r].attr("id",mydivid);m[mydivid]={};m[mydivid].slot={};m[mydivid].gnlvaniA=[];m[mydivid].numAbyTarget={};k[r].started=!1;k[r].hasClass("gnlv-scroll")?P="scroll":k[r].hasClass("gnlv-mouse")?P="mouse":k[r].hasClass("gnlv-music")&&
    32 (P="music");a.vprint("scrl",vv?"":"scrollSetup - - - -doSetup - - - - START svgA["+r+"] divid[ "+mydivid+" ] ,anitype:"+P);null==E[mydivid]&&(E[mydivid]={lastime:(new Date).getTime(),tiltG:0,tiltB:0,gpa:.5});E[mydivid].num_group_mode=0;var D=k[r].select(".gnlv-slot-template");if(D&&D.attr){var G=D.attr("gnlv-data");a.vprint("scrl",vv?"":"TEMPLATE DATA:"+G);G=a.parsejson(G);G.music&&G.music.mp3?k[r].tlmusic=G.music.mp3:a.vprint("warn","scrollSetup found no mp3!");Q!=G.atime&&(a.vprint("warn","scrollSetup found atime missmatch!"+
    33 Q+"< going with:>"+G.atime+" if defined"),Q=G.atime?G.atime:Q)}var x=!1;k[r].hasClass("gnlv-music")&&(x=!0,"undefined"==typeof eloop&&(eloop={}),eloop.templatediv=k[r].parent().attr("id"),eloop.templatediv||(eloop.templatediv="tempid"+Math.floor(1E4*Math.random()),a.vprint("scrl",vv?"":"scrollSetup no id on templatediv, setting now"),k[r].parent().attr("id",eloop.templatediv)),a.vprint("scrl",vv?"":"scrollSetup | | | | | | | | |  watching MUSIC | | | | | | | | |divid: "+mydivid+" templatediv:"+eloop.templatediv+
    34 " tlmusic:"+k[r].tlmusic),"undefined"==typeof gnlvSound&&"undefined"!=typeof GenolveSound?(a.vprint("scrl",vv?"":"scrollSetup X X X NO snd gnlvSound but had CLAS, instantiate now"),gnlvSound=new GenolveSound({vpr:a}),document.gnlvSound=gnlvSound,volControl=document.gnlvSound.addVol(D)):J&&J.volel&&(a.vprint("scrl",vv?"":"scrollSetup registro vol:"+J.volel),volControl=gnlvSound.registerVol(J.volel)),z[mydivid]="music",eloop.autoResize=eloop.autoResizeSnd?eloop.autoResizeSnd:function(){console.log("gnlvScroll X  X  X  non eloop autoResizeSnd ")},
    35 eloop.autoResize());a.vprint("scrl",vv?"":"scrollSetup START with num SVG["+r+"] tag >"+mydivid+"< of "+k.length+" -------------------------------------------------vv--------------------");var A=k[r].selectAll("g[id=hiddenslotsubnode]");1>A.length?a.vprint("warn","scrollSetup  did not find hiddenslotsubnode for:"+mydivid):ja=A[0];k[r].selectAll(".gnlv-slot-eloop").forEach(function(p,S){var I=p.attr("id");G=p.attr("gnlv-data");if(I.match(/.*hidden.*/)||null==G)a.vprint("scrl",vv?"":"scrollSetup skip datagnlv for slot["+
    36 I+"] ");else{a.vprint("scrl",vv?"":"SLOT [ "+I+" ]  DATA:"+G);q=a.parsejson(G);if(null!=q.usetagID)for(K in q.usetagID){var T=q.usetagID[K];t[T]=I;T.match(/\d$/)&&(t[T.replace(/\d+$/,"N")]=I);("imgcorner"==K||"imgmask"==K)&&(C=k[r].select("#"+T))&&C.parent()&&C.parent().parent()&&(H="imgcorner"==K?C.parent().parent().attr("id"):C.parent().attr("id"),a.vprint("scrl",vv?"":"["+K+"] tagged:"+H),t[H]=I)}null==m[mydivid].slot[I]?m[mydivid].slot[I]=q:a.vprint("warn","scrollSetup slot["+I+"] not empty! mydata already logged??????")}});
    37 var f=k[r].select("#theoverlayVid");"undefined"!=typeof eloop&&eloop.rmVidTimer?eloop.rmVidTimer(D):f&&f.remove();D=k[r].selectAll("animate,animateTransform,animateMotion");a.vprint("scrl",vv?"":"scrollSetup START looping animations["+mydivid+"]  -- - - -- "+D.length);for(var R in m[mydivid].slot){var q=m[mydivid].slot[R];if(q.transO&&q.transO.music&&q.transO.music.enable&&"video"==q.transO.music.whichani)for(videlA=k[r].selectAll("#"+R+" video"),a.vprint("scrl",vv?"":"scrollSetup    > videojog <     for slot["+
    38 R+"] numel:"+videlA.length),g=0;g<videlA.length;g++)videlA[g].attr("id","anivid"+Math.floor(1E4*Math.random())),D.push(videlA[g])}for(U=0;U<D.length;U++){f=D[U];var c={};A=f.parent();g=f.attr("id");null==g&&(g="anmttemp"+Math.floor(1E4*Math.random()),f.attr("id",g));var w=g.match(/^aniusr/)?"slide":g.match(/^anipth/)?"path":g.match(/^anmt/)?"intrinsic":g.match(/^anifal/)?"fallingeffect":g.match(/^anivid/)?"video":"unknown";a.vprint("scrl",vv?"":"scrollSetup ======== start["+U+"]["+g+"]"+w);var y=
     32(P="music");a.vprint("scrl",vv?"":"scrollSetup - - - -doSetup - - - - START svgA["+r+"] divid[ "+mydivid+" ] ,anitype:"+P);null==F[mydivid]&&(F[mydivid]={lastime:(new Date).getTime(),tiltG:0,tiltB:0,gpa:.5});F[mydivid].num_group_mode=0;var E=k[r].select(".gnlv-slot-template");if(E&&E.attr){var D=E.attr("gnlv-data");a.vprint("scrl",vv?"":"TEMPLATE DATA:"+D);D=a.parsejson(D);D.music&&D.music.mp3?k[r].tlmusic=D.music.mp3:a.vprint("warn","scrollSetup found no mp3!");Q!=D.atime&&(a.vprint("warn","scrollSetup found atime missmatch!"+
     33Q+"< going with:>"+D.atime+" if defined"),Q=D.atime?D.atime:Q)}var x=!1;k[r].hasClass("gnlv-music")&&(x=!0,"undefined"==typeof eloop&&(eloop={}),eloop.templatediv=k[r].parent().attr("id"),eloop.templatediv||(eloop.templatediv="tempid"+Math.floor(1E4*Math.random()),a.vprint("scrl",vv?"":"scrollSetup no id on templatediv, setting now"),k[r].parent().attr("id",eloop.templatediv)),a.vprint("scrl",vv?"":"scrollSetup | | | | | | | | |  watching MUSIC | | | | | | | | |divid: "+mydivid+" templatediv:"+eloop.templatediv+
     34" tlmusic:"+k[r].tlmusic),"undefined"==typeof gnlvSound&&"undefined"!=typeof GenolveSound?(a.vprint("scrl",vv?"":"scrollSetup X X X NO snd gnlvSound but had CLAS, instantiate now"),gnlvSound=new GenolveSound({vpr:a}),document.gnlvSound=gnlvSound,volControl=document.gnlvSound.addVol(E)):J&&J.volel&&(a.vprint("scrl",vv?"":"scrollSetup registro vol:"+J.volel),volControl=gnlvSound.registerVol(J.volel)),z[mydivid]="music",eloop.autoResize=eloop.autoResizeSnd?eloop.autoResizeSnd:function(){console.log("gnlvScroll X  X  X  non eloop autoResizeSnd ")},
     35eloop.autoResize());a.vprint("scrl",vv?"":"scrollSetup START with num SVG["+r+"] tag >"+mydivid+"< of "+k.length+" -------------------------------------------------vv--------------------");var A=k[r].selectAll("g[id=hiddenslotsubnode]");1>A.length?a.vprint("warn","scrollSetup  did not find hiddenslotsubnode for:"+mydivid):ja=A[0];k[r].selectAll(".gnlv-slot-eloop").forEach(function(p,S){var I=p.attr("id");D=p.attr("gnlv-data");if(I.match(/.*hidden.*/)||null==D)a.vprint("scrl",vv?"":"scrollSetup skip datagnlv for slot["+
     36I+"] ");else{a.vprint("scrl",vv?"":"SLOT [ "+I+" ]  DATA:"+D);q=a.parsejson(D);if(null!=q.usetagID)for(K in q.usetagID){var T=q.usetagID[K];t[T]=I;T.match(/\d$/)&&(t[T.replace(/\d+$/,"N")]=I);("imgcorner"==K||"imgmask"==K)&&(C=k[r].select("#"+T))&&C.parent()&&C.parent().parent()&&(H="imgcorner"==K?C.parent().parent().attr("id"):C.parent().attr("id"),a.vprint("scrl",vv?"":"["+K+"] tagged:"+H),t[H]=I)}null==m[mydivid].slot[I]?m[mydivid].slot[I]=q:a.vprint("warn","scrollSetup slot["+I+"] not empty! mydata already logged??????")}});
     37var f=k[r].select("#theoverlayVid");"undefined"!=typeof eloop&&eloop.rmVidTimer?eloop.rmVidTimer(E):f&&f.remove();E=k[r].selectAll("animate,animateTransform,animateMotion");a.vprint("scrl",vv?"":"scrollSetup START looping animations["+mydivid+"]  -- - - -- "+E.length);for(var R in m[mydivid].slot){var q=m[mydivid].slot[R];if(q.transO&&q.transO.music&&q.transO.music.enable&&"video"==q.transO.music.whichani)for(videlA=k[r].selectAll("#"+R+" video"),a.vprint("scrl",vv?"":"scrollSetup    > videojog <     for slot["+
     38R+"] numel:"+videlA.length),g=0;g<videlA.length;g++)videlA[g].attr("id","anivid"+Math.floor(1E4*Math.random())),E.push(videlA[g])}for(U=0;U<E.length;U++){f=E[U];var c={};A=f.parent();g=f.attr("id");null==g&&(g="anmttemp"+Math.floor(1E4*Math.random()),f.attr("id",g));var w=g.match(/^aniusr/)?"slide":g.match(/^anipth/)?"path":g.match(/^anmt/)?"intrinsic":g.match(/^anifal/)?"fallingeffect":g.match(/^anivid/)?"video":"unknown";a.vprint("scrl",vv?"":"scrollSetup ======== start["+U+"]["+g+"]"+w);var y=
    3939A.attr("id")?A.attr("id"):"none",B=h,h=A,u=h.attr?h.attr("id"):"nada";if("vidtimer"!=g&&"marqSOani"!=g&&"timekeeperani"!=g){for(;h.parent()&&h.parent().attr&&!h.hasClass("gnlv-slot-eloop")&&!h.hasClass("gnlv-svg");)B=h,h=h.parent(),u=h.attr("id")?h.attr("id"):"nada";if("hiddenslot"==u||h.hasClass("gnlv-svg"))a.vprint("scrl",vv?"":"scrollSetup found hidden, SKIP:"+g+":");else{if("hiddenslotdefs"==u){B=B.attr("id");if(t[B])u=t[B];else if(t[B.replace(/\d+$/,"N")])u=t[B.replace(/\d+$/,"N")];else{a.vprint("scrl",
    4040vv?"":"X SKIP X  hiddenslot lookup fail on key:"+B+" for hsd2slot hash:"+a.dumpvar(t));continue}q=m[mydivid].slot[u];a.vprint("scrl",vv?"":"scrollSetup hiddenslotdefs translate for["+B+"]->"+u)}else m[mydivid].slot[u]?q=m[mydivid].slot[u]:a.vprint("scrl",vv?"":"scrollSetup X X X X X X no slot data/mydata for "+u);B=q&&q.transO&&q.transO.music&&q.transO.music.whichani?q.transO.music.whichani:"all";var v=q&&q.transO&&q.transO.music&&q.transO.music.enable?q.transO.music.enable:!1;a.vprint("scrl",vv?
     
    4545A.attr("origid");"feColorMatrix"==A.node.localName&&(c.type="feColorMatrix");if("rotate"==c.type||"d"==c.attributeName||"feColorMatrix"==c.type)c.values=c.values.replace(/\s*;\s*/g,";").replace(/\s+$/,"").replace(/([a-yA-Y])/g,"$1 ").replace(/\s+/g,",").replace(/,,/g,",").replace(/[,;]$/,""),a.vprint("scrl",vv?"":"scrollSetup CLEANED UP rotate/d values:"+c.values);"feColorMatrix"==c.type&&(c.values=c.values.replace(/\r\n/g,""));c.attributeName&&c.attributeName.match(/(stop-color|fill|stroke|flood-color|d)/)||
    4646!c.values||(c.values=c.values.replace(/([a-zA-Z%])/g,",$1"));null!=c.keyPoints&&(c.values=c.keyPoints,thepathid=f.select("mpath").attr("xlink:href"),pathd=k[r].select(thepathid),a.vprint("scrl",vv?"":"aniOnScroll aniMo pathid:"+thepathid+" found it?"+pathd),null!=pathd&&(c.pathd=pathd.attr("d"),c.zlen=Snap.path.getTotalLength(c.pathd),c.attributeName="transform",c.type="translate",c.kind="path"));c=xa(c);c.durm=Q/parseFloat(c.dur);x&&(c.durm=1,q.transO&&q.transO.music&&q.transO.music.enable&&("slide"==
    47 w&&q.transO.music.drivemode.match(/(freqbar|waveform)/)&&"group mode"==q.transO.music.keyoff&&(c.skipPause=!0,junk=c.timsA.shift(),junk=c.valsA.shift(),1<c.timsA.length&&(junk=c.timsA.pop(),junk=c.valsA.pop()),c.timsA[0]=0,c.timsA[c.timsA.length-1]=1,a.vprint("scrl",vv?"":" drivemode freqbarmod valsA  now:"+c.valsA+" timsA:"+c.timsA)),a.vprint("scrl",vv?"":" drivemode:"+F+","+q.transO.music.drivemode),q.transO.music.drivemode.match(/^beat/)&&(ka=!0),"group mode"==q.transO.music.keyoff&&E[mydivid].num_group_mode++,
     47w&&q.transO.music.drivemode.match(/(freqbar|waveform)/)&&"group mode"==q.transO.music.keyoff&&(c.skipPause=!0,junk=c.timsA.shift(),junk=c.valsA.shift(),1<c.timsA.length&&(junk=c.timsA.pop(),junk=c.valsA.pop()),c.timsA[0]=0,c.timsA[c.timsA.length-1]=1,a.vprint("scrl",vv?"":" drivemode freqbarmod valsA  now:"+c.valsA+" timsA:"+c.timsA)),a.vprint("scrl",vv?"":" drivemode:"+G+","+q.transO.music.drivemode),q.transO.music.drivemode.match(/^beat/)&&(ka=!0),"group mode"==q.transO.music.keyoff&&F[mydivid].num_group_mode++,
    4848null==m[mydivid].slot[c.slot].started?(k[r].tlmusic?a.vprint("scrl",vv?"":"scrollSetup  have tlmusic SKIP paramO file ["+c.sound.snd+"]!!!!!"):(a.vprint("scrl",vv?"":"scrollSetup  START paramO music["+c.sound.snd+"]  !!!!!"),gnlvSound.start(c.sound)),a.vprint("scrl",vv?"":"scrollSetup  TODO  beat or headless per sound"),m[mydivid].slot[c.slot].started=!0):a.vprint("scrl",vv?"":"scrollSetup  sound["+c.sound.snd+"] already started")));a.vprint("scrl",vv?"":"scrollSetup paramO [ "+U+" ]  : "+a.dumpvar(c));
    4949a.vprint("scrl",vv?"":"scrollSetup paramO------------------------------");c.mytarget=c["xlink:href"]?k[r].select(c["xlink:href"]):"video"==c.kind?f:A;w=c.mytargetid=c.mytarget.attr("id");null==w&&(w=c.mytargetid="temp"+Math.floor(1E4*Math.random()),a.vprint("scrl",vv?"":"scrollSetup no id for animate target! setting now:"+w),c.mytarget.attr?c.mytarget.attr("id",w):a.vprint("warn","scrollSetup failed to set id"));"transform"==c.attributeName&&(c.mytarget&&"function"==typeof c.mytarget.transform&&"symbol"!=
     
    5151c.attributeName&&(g=c.mytarget.attr("patternTransform"),a.vprint("scrl",vv?"":"scrollSetup patternTransform attr:"+c.mytarget.attr("patternTransform")+" parentid:"+y+" lmat:"+g+" type:"+c.type),c.realtarget=c.mytarget,A=k[r].selectAll("g[id=hiddenslotdefssubnode]"),1>A.length?a.vprint("warn","scrollSetup patternTransform did not find hiddenslotdefssubnode"):(c.mytarget=A[0],c.mytarget.transform(g),c.lmatrix=c.mytarget.transform().localMatrix.clone(),a.vprint("scrl",vv?"":"scrollSetup patternTransform proxy setup with transform:"+
    5252c.lmatrix),c.realattributeName=c.attributeName,c.attributeName="transform",w=y,m[mydivid].numAbyTarget[w]=null==m[mydivid].numAbyTarget[w]?1:m[mydivid].numAbyTarget[w]+1));null==n[w]&&(n[w]={});y=c.realattributeName?c.realattributeName:c.attributeName;"currentTime"!=y&&(n[w][y]=1,f.node.setAttribute("fill","remove"),"idle2play"==M?(f.attr("repeatDur","indefinite"),f.node.setAttribute("fill","remove")):f.attr("repeatDur",1E-6),c.lmatrix&&c.mytarget&&(c.origtransform=c.lmatrix.toString()+"",c.mytarget.attr("data-transform",
    53 c.origtransform)));c.myself=f;m[mydivid].gnlvaniA.push(c)}}}}1==l&&(a.vprint("scrl",vv?"":"scrollSetup SPECIAL SORT!"),m[mydivid].gnlvaniA.sort(function(p,S){return parseFloat(p.order)-parseFloat(S.order)}));a.vprint("scrl",vv?"":"scrollSetup ======== vv ============================== vv");a.vprint("scrl",vv?"":"scrollSetup ======== setup scroll for num animations:"+m[mydivid].gnlvaniA.length+" ID:"+mydivid);a.vprint("scrl",vv?"":"scrollSetup ======== last drivemode:"+F+" found_beat?"+ka);a.vprint("scrl",
    54 vv?"":"scrollSetup ======== willchange list:"+a.dumpvar(n));k[r].tlmusic&&0==k[r].started?(gnlvSound.doplots=!1,F.match(/^beat/)||ka?gnlvSound.ana("onbeat"):gnlvSound.ana("headless"),l={enable:!0,snd:"tlmusic",pl:mydivid,playmode:"continuous",do3d:!1,file:k[r].tlmusic,usemode:M},myvol=k[r].select("#vol_on_off"),a.vprint("scrl",vv?"":"scrollSetup =======   M U S I C  ======= PRELOAD top level music usemode:"+M+"  vol["+typeof myvol+"] file:"+a.dumpvar(l)+" ======== !!!!!"),myvol&&myvol.attr&&(volver=
     53c.origtransform)));c.myself=f;m[mydivid].gnlvaniA.push(c)}}}}1==l&&(a.vprint("scrl",vv?"":"scrollSetup SPECIAL SORT!"),m[mydivid].gnlvaniA.sort(function(p,S){return parseFloat(p.order)-parseFloat(S.order)}));a.vprint("scrl",vv?"":"scrollSetup ======== vv =============["+r+"]================ vv");a.vprint("scrl",vv?"":"scrollSetup ======== setup scroll for num animations:"+m[mydivid].gnlvaniA.length+" ID:"+mydivid);a.vprint("scrl",vv?"":"scrollSetup ======== last drivemode:"+G+" found_beat?"+ka);a.vprint("scrl",
     54vv?"":"scrollSetup ======== willchange list:"+a.dumpvar(n));myvol=k[r].select("#vol_on_off");k[r].tlmusic&&0==k[r].started?(gnlvSound.doplots=!1,G.match(/^beat/)||ka?gnlvSound.ana("onbeat"):gnlvSound.ana("headless"),l={enable:!0,snd:"tlmusic",pl:mydivid,playmode:"continuous",do3d:!1,file:k[r].tlmusic,usemode:M},a.vprint("scrl",vv?"":"scrollSetup =======   M U S I C  ======= PRELOAD top level music usemode:"+M+"  vol["+typeof myvol+"] file:"+a.dumpvar(l)+" ======== !!!!!"),myvol&&myvol.attr&&(volver=
    5555myvol.attr("data-ver"),myvol.attr("data-target",mydivid),l.volel=myvol,myvol.parent()&&myvol.parent().select("#timekeeperani")&&myvol.parent().select("#timekeeperani").attr("data-target",mydivid)),"idle2play"==M?gnlvSound.preload(l):gnlvSound.start(l),k[r].started=!0,gnlvSound.muteTrans=L.resetTransforms):a.vprint("scrl",vv?"":"scrollSetup ======== NO top level music defined");for(K in n)if(l=Object.keys(n[K]).join(","),x=k[r].select("#"+K))x.node.style.willChange=l;"scroll"==P?(a.vprint("scrl",vv?
    56 "":"scrollSetup | | | | | | | | |  watching SCROLL | | | | | | | | | "+mydivid),myvol&&myvol.attr&&myvol.removeClass("gnlv-gone"),z[mydivid]="scroll",$(window).off("scroll.genolve"),$(window).on("scroll.genolve",{value:mydivid},sa)):"mouse"==P?a.getBrowser("isMobile")?(a.vprint("scrl",vv?"":"scrollSetup | | | | | | | | |  watching TILT | | | | | | | | | "+mydivid),z[mydivid]="tilt",e=mydivid,window.addEventListener("devicemotion",ra,!1)):(a.vprint("scrl",vv?"":"scrollSetup | | | | | | | | |  watching MOUSE | | | | | | | | | "+
    57 mydivid),z[mydivid]="mouse",$(window).off("mousemove.genolve"),$(window).on("mousemove.genolve",{value:mydivid},qa)):"music"==P?(a.vprint("scrl",vv?"":"scrollSetup | | | | | | | | |  watching MUSIC | | | | | | | | | ID:"+mydivid+" interval->20"),z[mydivid]="music",e=mydivid,"idle2play"==M&&(gnlvSound.muteExtra&&a.vprint("warn",vv?"":"scrollSetup setting muteExtra toggleMuzPause but not null:"+gnlvSound.muteExtra),gnlvSound.muteExtra=L.toggleMuzPause,gnlvSound.playExtra&&a.vprint("warn",vv?"":"scrollSetup setting playExtra toggleMuzPlay but not null:"+
    58 gnlvSound.playExtra),gnlvSound.playExtra=L.toggleMuzPlay),document.gnlv_ana_interval=window.setInterval(ta,20),$(window).off("beat"),$(window).on("beat",va)):a.vprint("scrl",vv?"":"scrollSetup NO ANITYPE no scroll flages detected");W[mydivid]=k[r]}a.vprint("scrl",vv?"":"scrollSetup | | | | | | | | | setup done");a.vprint("scrl",vv?"":"scrollSetup | | | | |");"undefined"!=typeof eloop&&eloop.mkVidtimer&&"edit"==M&&(a.vprint("scrl",vv?"":"scrollSetup | | mkVidtimer"),eloop.mkVidtimer())};J&&"minimal"==
    59 J.usemode||L.doSetup();"stub"==eloop.version&&null==eloop.anielapsed&&(eloop.anielapsed=this.anielapsed)};
     56"":"scrollSetup | | | | | | | | |  watching SCROLL | | | | | | | | | "+mydivid+" vol?"+typeof myvol+" music?"+D.music),myvol&&myvol.attr&&D.music&&D.music.mp3&&myvol.removeClass("gnlv-gone"),z[mydivid]="scroll",$(window).off("scroll.genolve"),$(window).on("scroll.genolve",{value:mydivid},sa),a.vprint("scrl",vv?"":"scrollSetup | | now")):"mouse"==P?a.getBrowser("isMobile")?(a.vprint("scrl",vv?"":"scrollSetup | | | | | | | | |  watching TILT | | | | | | | | | "+mydivid),z[mydivid]="tilt",e=mydivid,
     57window.addEventListener("devicemotion",ra,!1)):(a.vprint("scrl",vv?"":"scrollSetup | | | | | | | | |  watching MOUSE | | | | | | | | | "+mydivid),z[mydivid]="mouse",$(window).off("mousemove.genolve"),$(window).on("mousemove.genolve",{value:mydivid},qa)):"music"==P?(a.vprint("scrl",vv?"":"scrollSetup | | | | | | | | |  watching MUSIC | | | | | | | | | ID:"+mydivid+" interval->20"),z[mydivid]="music",e=mydivid,"idle2play"==M&&(gnlvSound.muteExtra&&a.vprint("warn",vv?"":"scrollSetup setting muteExtra toggleMuzPause but not null:"+
     58gnlvSound.muteExtra),gnlvSound.muteExtra=L.toggleMuzPause,gnlvSound.playExtra&&a.vprint("warn",vv?"":"scrollSetup setting playExtra toggleMuzPlay but not null:"+gnlvSound.playExtra),gnlvSound.playExtra=L.toggleMuzPlay),document.gnlv_ana_interval=window.setInterval(ta,20),$(window).off("beat"),$(window).on("beat",va)):a.vprint("scrl",vv?"":"scrollSetup NO ANITYPE no scroll flages detected");W[mydivid]=k[r]}a.vprint("scrl",vv?"":"scrollSetup | | | | | | | | | setup done");a.vprint("scrl",vv?"":"scrollSetup | | | | |");
     59"undefined"!=typeof eloop&&eloop.mkVidtimer&&"edit"==M&&(a.vprint("scrl",vv?"":"scrollSetup | | mkVidtimer"),eloop.mkVidtimer())};J&&"minimal"==J.usemode||L.doSetup();"stub"==eloop.version&&null==eloop.anielapsed&&(eloop.anielapsed=this.anielapsed)};
  • genolve-toolkit/trunk/readme.txt

    r2719585 r2738848  
    44Tags: slideshow maker, animate on scroll, SVG editor, animate SVG, featured image, stock photos, music video
    55Requires at least: 5.0
    6 Tested up to: 5.9.3
    7 Stable tag: 3.0.0
     6Tested up to: 6.0
     7Stable tag: 3.0.1
    88Requires PHP: 5.2.4
    99License: GPLv2 or later
     
    103103
    104104== Changelog ==
     105= 3.0.1 =
     106* Add inner shadow to masking shadow options.
     107* Arrows, sports, machines are now separate mask categories.
     108
    105109= 3.0.0 =
    106110* Big improvements to Animate on Scroll, including adding an optional mp3 track.
Note: See TracChangeset for help on using the changeset viewer.