//>>built define("dojo/_base/lang dojo/_base/declare dojo/_base/array dojo/io/script dojox/data/FlickrStore dojo/_base/connect".split(" "),function(p,v,q,w,t,x){var u=v("dojox.data.FlickrRestStore",t,{constructor:function(a){a&&(a.label&&(this.label=a.label),a.apikey&&(this._apikey=a.apikey));this._cache=[];this._prevRequests={};this._handlers={};this._prevRequestRanges=[];this._maxPhotosPerUser={};this._id=u.prototype._id++},_id:0,_requestCount:0,_flickrRestUrl:"https://www.flickr.com/services/rest/",_apikey:null, _storeRef:"_S",_cache:null,_prevRequests:null,_handlers:null,_sortAttributes:{"date-posted":!0,"date-taken":!0,interestingness:!0},_fetchItems:function(a,d,l){var b={};a.query?p.mixin(b,a.query):a.query=b={};var e=[],f=[],c={format:"json",method:"flickr.photos.search",api_key:this._apikey,extras:"owner_name,date_upload,date_taken,geo"};b.userid&&(c.user_id=a.query.userid,e.push("userid"+a.query.userid));b.groupid&&(c.group_id=b.groupid,e.push("groupid"+b.groupid));if(b.apikey)c.api_key=a.query.apikey, f.push("api"+a.query.apikey);else if(c.api_key)a.query.apikey=c.api_key,f.push("api"+c.api_key);else throw Error("dojox.data.FlickrRestStore: An API key must be specified.");a._curCount=a.count;if(b.page)c.page=a.query.page,f.push("page"+c.page);else if("start"in a&&null!==a.start){a.count||(a.count=20);var g=a.start,h=a.count;if(0!==a.start%a.count){if(g=h){m=n;break}h=g/m}a._realStart=a.start;a._realCount=a.count;a._curStart=g;a._curCount= h}else a._realStart=a._realCount=null,a._curStart=a.start,a._curCount=a.count;c.page=g/h+1;f.push("page"+c.page)}a._curCount&&(c.per_page=a._curCount,f.push("count"+a._curCount));b.lang&&(c.lang=a.query.lang,e.push("lang"+a.lang));b.setid&&(c.method="flickr.photosets.getPhotos",c.photoset_id=a.query.setid,e.push("set"+a.query.setid));b.tags&&(c.tags=b.tags instanceof Array?b.tags.join(","):b.tags,e.push("tags"+c.tags),!b.tag_mode||"any"!==b.tag_mode.toLowerCase()&&"all"!==b.tag_mode.toLowerCase()|| (c.tag_mode=b.tag_mode));b.text&&(c.text=b.text,e.push("text:"+b.text));b.bbox&&(c.bbox=b.bbox,e.push("bbox:"+b.bbox));b.sort&&0=a.start&&b<=a.end})}});return u});