function ib(a,b,d,e){this.Init(a,b,d,e)}v("AdfObjectTransferable",ib);z.l(ib,jb);ib.Wea=function(a,b){B.assert(a);B.Vi(b,hb);var d;b&&(B.J(b,hb),d=[b]);return new ib([[a]],d)};v("AdfObjectTransferable.createSingleObjectTransferable",ib.Wea);ib.R2a=function(a,b){B.yc(a);B.J(b,hb);return new ib([a],[b])};v("AdfObjectTransferable.createMultiObjectTransferable",ib.R2a);
ib.prototype.Init=function(a,b,d,e){ib.f.Init.call(this);B.Jf(a);B.Jf(b);B.Jf(d);B.Jf(e);B.assert(a!=n||d!=n&&e!=n&&b!=n,"Either the objects for the AdfTransferable have to be specified, or base objects and converters must be specified");B.assert(!b||a.length==b.length,"data Objects and AdfDataFlavor arrays lengths must be identical:data objects:["+a+"] data flavors:["+b+"]");this.kSa=d;this.jTa=e;this.BN=ib.nTa(a,b);D.i.fine("data flavors for:",a,"\x3d",this.BN);a==n&&(a=[]);this.Zba=a};
z.a("AdfObjectTransferable.prototype.Init",{Init:ib.prototype.Init});ib.prototype.em=function(a){var b=this.BN[a.PC()];b===k&&a===hb.mK&&(b=0);if(b!=k){a=this.Zba[b];if(a==n){var d=this.kSa;if(d!=n){var e=this.jTa[b],f=d.length;a=Array(f);for(var g=0;g<f;g++)a[g]=e(d[g]);this.Zba[b]=a}}return a}};z.a("AdfObjectTransferable.prototype.getTransferData",{em:ib.prototype.em});ib.prototype.xy=r("BN");z.a("AdfObjectTransferable.prototype.getTransferDataFlavors",{xy:ib.prototype.xy});
ib.prototype.wJ=function(a){return a===hb.mK?l:a.PC()in this.BN};z.a("AdfObjectTransferable.prototype.isDataFlavorSupported",{wJ:ib.prototype.wJ});ib.prototype.ma=function(){return ib.f.ma.call(this)+"[ dataObjects:"+this.Zba+" dataFlavors:"+this.BN+"]"};z.a("AdfObjectTransferable.prototype.toDebugString",{ma:ib.prototype.ma});ib.nTa=function(a,b){for(var d=a.length,e=[],f=0;f<d;f++){var g=a[f];B.yc(g);var h=b?b[f]:n;h||(h=hb.dJ(g[0]));B.J(h,hb);ib.pRa(h,e,f)}return e};
ib.pRa=function(a,b,d){ib.J8(a,b,d);if(a!==hb.mK){var e=a.PC(),f=hb.u6;if(!e.indexOf(f)){a=hb.a4;if((e=window[e.substr(f.length)])&&z.prototype.isPrototypeOf(e))for(e=e.f;e;)f=hb.bR(e),ib.J8(f,b,d),e=e.f;ib.J8(a,b,d)}}};ib.J8=function(a,b,d){var e=a.PC();e in b||(b.push(a),b[e]=d)};