//>>built define(["./_base","dojo/_base/lang","dojox/math/matrix"],function(d,p,m){d.Colorspace=new function(){var f=this,e={2:{E:{x:1/3,y:1/3,t:5400},D50:{x:.34567,y:.3585,t:5E3},D55:{x:.33242,y:.34743,t:5500},D65:{x:.31271,y:.32902,t:6500},D75:{x:.29902,y:.31485,t:7500},A:{x:.44757,y:.40745,t:2856},B:{x:.34842,y:.35161,t:4874},C:{x:.31006,y:.31616,t:6774},9300:{x:.2848,y:.2932,t:9300},F2:{x:.37207,y:.37512,t:4200},F7:{x:.31285,y:.32918,t:6500},F11:{x:.38054,y:.37691,t:4E3}},10:{E:{x:1/3,y:1/3,t:5400},D50:{x:.34773, y:.35952,t:5E3},D55:{x:.33411,y:.34877,t:5500},D65:{x:.31382,y:.331,t:6500},D75:{x:.29968,y:.3174,t:7500},A:{x:.45117,y:.40594,t:2856},B:{x:.3498,y:.3527,t:4874},C:{x:.31039,y:.31905,t:6774},F2:{x:.37928,y:.36723,t:4200},F7:{x:.31565,y:.32951,t:6500},F11:{x:.38543,y:.3711,t:4E3}}},g={"Adobe RGB 98":[2.2,"D65",.64,.33,.297361,.21,.71,.627355,.15,.06,.075285],"Apple RGB":[1.8,"D65",.625,.34,.244634,.28,.595,.672034,.155,.07,.083332],"Best RGB":[2.2,"D50",.7347,.2653,.228457,.215,.775,.737352,.13,.035, .034191],"Beta RGB":[2.2,"D50",.6888,.3112,.303273,.1986,.7551,.663786,.1265,.0352,.032941],"Bruce RGB":[2.2,"D65",.64,.33,.240995,.28,.65,.683554,.15,.06,.075452],"CIE RGB":[2.2,"E",.735,.265,.176204,.274,.717,.812985,.167,.009,.010811],"ColorMatch RGB":[1.8,"D50",.63,.34,.274884,.295,.605,.658132,.15,.075,.066985],"DON RGB 4":[2.2,"D50",.696,.3,.27835,.215,.765,.68797,.13,.035,.03368],"ECI RGB":[1.8,"D50",.67,.33,.32025,.21,.71,.602071,.14,.08,.077679],"EktaSpace PS5":[2.2,"D50",.695,.305,.260629, .26,.7,.734946,.11,.005,.004425],"NTSC RGB":[2.2,"C",.67,.33,.298839,.21,.71,.586811,.14,.08,.11435],"PAL/SECAM RGB":[2.2,"D65",.64,.33,.222021,.29,.6,.706645,.15,.06,.071334],"Pro Photo RGB":[1.8,"D50",.7347,.2653,.28804,.1596,.8404,.711874,.0366,1E-4,8.6E-5],"SMPTE/C RGB":[2.2,"D65",.63,.34,.212395,.31,.595,.701049,.155,.07,.086556],sRGB:[2.2,"D65",.64,.33,.212656,.3,.6,.715158,.15,.06,.072186],"Wide Gamut RGB":[2.2,"D50",.735,.265,.258187,.115,.826,.724938,.157,.018,.016875]},h={"XYZ scaling":{ma:[[1, 0,0],[0,1,0],[0,0,1]],mai:[[1,0,0],[0,1,0],[0,0,1]]},Bradford:{ma:[[.8951,-.7502,.0389],[.2664,1.7135,-.0685],[-.1614,.0367,1.0296]],mai:[[.986993,.432305,-.008529],[-.147054,.51836,.040043],[.159963,.049291,.968487]]},"Von Kries":{ma:[[.40024,-.2263,0],[.7076,1.16532,0],[-.08081,.0457,.91822]],mai:[[1.859936,.361191,0],[-1.129382,.638812,0],[.219897,-6E-6,1.089064]]}},c={XYZ:{xyY:function(a,b){b=dojo.mixin({whitepoint:"D65",observer:"10",useApproximation:!0},b||{});var c=f.whitepoint(b.whitepoint, b.observer),d=a.X+a.Y+a.Z;0==d?(b=c.x,c=c.y):(b=a.X/d,c=a.Y/d);return{x:b,y:c,Y:a.Y}},Lab:function(a,b){b=dojo.mixin({whitepoint:"D65",observer:"10",useApproximation:!0},b||{});var c=f.kappa(b.useApproximation),d=f.epsilon(b.useApproximation),l=f.whitepoint(b.whitepoint,b.observer);b=a.X/l.x;var e=a.Y/l.y;a=a.z/l.z;e=e>d?Math.pow(e,1/3):(c*e+16)/116;return{L:116*e-16,a:500*((b>d?Math.pow(b,1/3):(c*b+16)/116)-e),b:200*(e-(a>d?Math.pow(a,1/3):(c*a+16)/116))}},Luv:function(a,b){b=dojo.mixin({whitepoint:"D65", observer:"10",useApproximation:!0},b||{});var c=f.kappa(b.useApproximation),d=f.epsilon(b.useApproximation);b=f.whitepoint(b.whitepoint,b.observer);var l=a.Y/b.y,c=l>d?116*Math.pow(l,1/3)-16:c*l;return{L:c,u:13*c*(4*a.X/(a.X+15*a.Y+3*a.Z)-4*b.x/(b.x+15*b.y+3*b.z)),v:13*c*(9*a.Y/(a.X+15*a.Y+3*a.Z)-9*b.y/(b.x+15*b.y+3*b.z))}}},xyY:{XYZ:function(a){if(0==a.y){var b=0,c=0;a=0}else b=a.x*a.Y/a.y,c=a.Y,a=(1-a.x-a.y)*a.Y/a.y;return{X:b,Y:c,Z:a}}},Lab:{XYZ:function(a,b){b=dojo.mixin({whitepoint:"D65",observer:"10", useApproximation:!0},b||{});var c=b.useApproximation,d=f.kappa(c),c=f.epsilon(c);b=f.whitepoint(b.whitepoint,b.observer);var l=a.L>d*c?Math.pow((a.L+16)/116,3):a.L/d,e=l>c?(a.L+16)/116:(d*l+16)/116,g=a.a/500+e;a=e-a.b/200;var e=Math.pow(g,3),h=Math.pow(a,3);return{X:(e>c?e:(116*g-16)/d)*b.x,Y:l*b.y,Z:(h>c?h:(116*a-16)/d)*b.z}},LCHab:function(a){var b=a.L,c=Math.pow(a.a*a.a+a.b*a.b,.5);a=180/Math.PI*Math.atan(a.b,a.a);0>a&&(a+=360);360>a&&(a-=360);return{L:b,C:c,H:a}}},LCHab:{Lab:function(a){var b= a.L,c=a.C/Math.pow(Math.pow(Math.tan(Math.PI/180*a.H),2)+1,.5);90a.H&&(c=-c);var d=Math.pow(Math.pow(a.C,2)-Math.pow(c,2),.5);180d*c?Math.pow((a.L+16)/116,3):a.L/d;e=1/3*(52*a.L/(a.u+4*e.x/(e.x+15*e.y+3*e.z)*a.L*13)-1);c=-5*d;a=(d*(39* a.L/(a.v+13*a.L*b)-5)-c)/(e- -(1/3));return{X:a,Y:d,Z:a*e+c}},LCHuv:function(a){var b=a.L,c=Math.pow(a.u*a.u+a.v*a*v,.5);a=180/Math.PI*Math.atan(a.v,a.u);0>a&&(a+=360);360a)return console.warn("dojox.color.Colorspace::tempToWhitepoint: can't find a white point for temperatures less than 4000K. (Passed ",a,")."),{x:0,y:0};if(25E3=a?-4.607*d/c+2.9678*e/b+.09911*f/a+.2444063:-2.0064*d/c+1.9018*e/b+.24748*f/a+.23704;return{x:a,y:-3*a*a+2.87*a-.275}};this.primaries=function(a){a=dojo.mixin({profile:"sRGB",whitepoint:"D65",observer:"10",adaptor:"Bradford"},a||{});var b=[];g[a.profile]?b=g[a.profile].slice(0):console.warn("dojox.color.Colorspace::primaries: the passed profile was not found. ","Available profiles include: ",g,". The profile passed was ", a.profile);b={name:a.profile,gamma:b[0],whitepoint:b[1],xr:b[2],yr:b[3],Yr:b[4],xg:b[5],yg:b[6],Yg:b[7],xb:b[8],yb:b[9],Yb:b[10]};if(a.whitepoint!=b.whitepoint)var c=this.convert(this.adapt({color:this.convert({x:xr,y:yr,Y:Yr},"xyY","XYZ"),adaptor:a.adaptor,source:b.whitepoint,destination:a.whitepoint}),"XYZ","xyY"),d=this.convert(this.adapt({color:this.convert({x:xg,y:yg,Y:Yg},"xyY","XYZ"),adaptor:a.adaptor,source:b.whitepoint,destination:a.whitepoint}),"XYZ","xyY"),e=this.convert(this.adapt({color:this.convert({x:xb, y:yb,Y:Yb},"xyY","XYZ"),adaptor:a.adaptor,source:b.whitepoint,destination:a.whitepoint}),"XYZ","xyY"),b=dojo.mixin(b,{xr:c.x,yr:c.y,Yr:c.Y,xg:d.x,yg:d.y,Yg:d.Y,xb:e.x,yb:e.y,Yb:e.Y,whitepoint:a.whitepoint});return dojo.mixin(b,{zr:1-b.xr-b.yr,zg:1-b.xg-b.yg,zb:1-b.xb-b.yb})};this.adapt=function(a){a.color&&a.source||console.error("dojox.color.Colorspace::adapt: color and source arguments are required. ",a);a=dojo.mixin({adaptor:"Bradford",destination:"D65"},a);var b=this.whitepoint(a.source),c=this.whitepoint(a.destination); if(h[a.adaptor])var d=h[a.adaptor].ma,e=h[a.adaptor].mai;else console.warn("dojox.color.Colorspace::adapt: the passed adaptor '",a.adaptor,"' was not found.");b=m.multiply([[b.x,b.y,b.z]],d);c=m.multiply([[c.x,c.y,c.z]],d);d=m.multiply(m.multiply(d,[[c[0][0]/b[0][0],0,0],[0,c[0][1]/b[0][1],0],[0,0,c[0][2]/b[0][2]]]),e);a=m.multiply([[a.color.X,a.color.Y,a.color.Z]],d)[0];return{X:a[0],Y:a[1],Z:a[2]}};this.matrix=function(a,b){var c=this.whitepoint(b.whitepoint),d=b.xr/b.yr,e=(1-b.xr-b.yr)/b.yr,f= b.xg/b.yg,g=(1-b.xg-b.yg)/b.yg,h=b.xb/b.yb;b=(1-b.xb-b.yb)/b.yb;var k=m.multiply([[c.X,c.Y,c.Z]],m.inverse([[d,1,e],[f,1,g],[h,1,b]])),c=k[0][0],n=k[0][1],k=k[0][2],d=[[c*d,1*c,c*e],[n*f,1*n,n*g],[k*h,1*k,k*b]];return"RGB"==a?m.inverse(d):d};this.epsilon=function(a){return a||"undefined"==typeof a?.008856:216/24289};this.kappa=function(a){return a||"undefined"==typeof a?903.3:24389/27};this.convert=function(a,b,c,d){if(k[b]&&k[b][c])return k[b][c](a,d);console.warn("dojox.color.Colorspace::convert: Can't convert ", a," from ",b," to ",c,".")}};dojo.mixin(d,{fromXYZ:function(f,e){e=e||{};e=d.Colorspace.primaries(e);var g=d.Colorspace.matrix("RGB",e),g=dojox.math.matrix.multiply([[f.X,f.Y,f.Z]],g),h=g[0][0];f=g[0][1];g=g[0][2];"sRGB"==e.profile?(h=.0031308