(function(n){"use strict";var t=function(n,t){var i=function(){return n.get("api/query/GetCommodityGroups")},r=function(t){var i="api/query/GetCommodities?groupCode="+t;return n.get(i)},u=function(){return n.get("api/query/GetMarketYearMisaligners")},f=function(){return n.get("api/query/GetAllCountriesAndRegions")},e=function(){return n.get("api/query/getMaxMarketYear")},o=function(t){var i="api/query/GetMultiCommodityAttributes?commodityCodes="+t;return n.get(i)},s=function(t){return n.post("api/query/RunQuery",t)},h=function(t){return n.post("api/query/SaveQuery",t)},c=function(){if(t.authentication.isAuth)return n.get("api/query/LoadQueries")},l=function(i){if(t.authentication.isAuth){var r="api/query/LoadQuery?queryId="+i.queryId;return n.get(r)}},a=function(){if(t.authentication.isAuth)return n.get("api/query/GetUserQueryMigrationStatus")},v=function(){if(t.authentication.isAuth)return n.get("api/query/DeclineUserQueryImport")},y=function(i){if(t.authentication.isAuth){var r="api/query/LoadMigratedQueires?legacyUserName="+i;return n.get(r)}},p=function(i){if(t.authentication.isAuth){var r="api/query/ImportUserQueries?legacyUserName="+i;return n.get(r)}},w=function(i){if(t.authentication.isAuth){var r="api/query/DeleteQuery?queryId="+i;return n.get(r)}};return{getCommodityGroups:i,getCommodities:r,getMarketYearMisaligners:u,getAllCountriesAndRegions:f,getMaxMarketYear:e,getMultiCommodityAttributes:o,runQuery:s,saveQuery:h,loadQueries:c,loadQuery:l,getUserQueryMigrationStatus:a,declineUserQueryImport:v,loadMigratedQueires:y,importUserQueries:p,deleteQuery:w}};n.factory("advQueryService",["baseService","authService",t])})(angular.module("common")),function(n){"use strict";function t(n,t,i,r){var u={},f=function(n){n.headers=n.headers||{};var t=r.get("authorizationData");return t&&(n.headers.Authorization="Bearer "+t.token),n},e=function(u){if(u.status===401){var e=t.get("authService"),f=r.get("authorizationData");if(f&&f.useRefreshTokens)return i.path("/refresh"),n.reject(u);e.logout();i.path("/app/login")}return n.reject(u)};return u.request=f,u.responseError=e,u}n.factory("authInterceptorService",["$q","$injector","$location","localStorageService",t])}(angular.module("common")),function(n){"use strict";function t(n,t,i,r){var e=r.apiServiceBaseUri,f={},u={isAuth:!1,userName:"",apiKey:""},o=function(){i.remove("authorizationData");u.isAuth=!1;u.userName="";u.apiKey=""},s=function(){var n=i.get("authorizationData");n&&(u.isAuth=!0,u.userName=n.userName,u.apiKey=n.apiKey)},h=function(r){var f=t.defer();return n.get(e+"api/account/ObtainLocalAccessToken",{params:{provider:r.provider,externalAccessToken:r.externalAccessToken}}).success(function(n){i.set("authorizationData",{token:n.access_token,userName:n.userName,apiKey:n.apiKey});u.isAuth=!0;u.userName=n.userName;u.apiKey=n.apiKey;f.resolve(n)}).error(function(n){o();f.reject(n)}),f.promise},c=function(r){var f=t.defer();return n.post(e+"api/account/registerexternal",r).success(function(n){i.set("authorizationData",{token:n.access_token,userName:n.userName,apiKey:n.apiKey});u.isAuth=!0;u.userName=n.userName;u.apiKey=n.apiKey;f.resolve(n)}).error(function(n){logOut();f.reject(n)}),f.promise};return f.logout=o,f.fillAuthData=s,f.authentication=u,f.obtainAccessToken=h,f.externalAuthData={provider:"",userName:"",externalAccessToken:""},f.registerExternal=c,f}n.factory("authService",["$http","$q","localStorageService","authSettings",t])}(angular.module("common")),function(n){"use strict";var t=function(n,t,i){var r=i.apiServiceBaseUri,u=function(i){var u=t.defer();return n.get(r+i).success(function(n,t){u.resolve(n,t)}).error(function(n){u.reject(n)}),u.promise},f=function(i){var r=t.defer();return n.get(i).success(function(n,t){r.resolve(n,t)}).error(function(n){r.reject(n)}),r.promise},e=function(i,u){var f=t.defer();return n.post(r+i,u).success(function(n,t){f.resolve(n,t)}).error(function(n){f.reject(n)}),f.promise},o=function(i,u){var f=t.defer();return n.post(r+i,u,{responseType:"arraybuffer"}).success(function(n,t){f.resolve(n,t)}).error(function(n){f.reject(n)}),f.promise};return{getFromHandler:f,get:u,post:e,postForDownload:o}};n.factory("baseService",["$http","$q","authSettings",t])}(angular.module("common")),function(n){"use strict";var t=function(n){var t=function(){return n.get("api/StatsByCommodity/GetRegions")},i=function(t){var i="api/StatsByCommodity/GetRegion?regioncode="+t;return n.get(i)},r=function(){return n.get("api/StatsByCommodity/GetCommodityGroups")},u=function(t){var i="api/StatsByCommodity/GetCommodities?commodityGroupId="+t;return n.get(i)},f=function(t){var i="api/StatsByCommodity/GetGroupAttributes?commodityGroupId="+t;return n.get(i)},e=function(t){return n.post("api/StatsByCommodity/GetRegionStatistics",t)},o=function(t){return n.post("api/StatsByCommodity/GetCountrySpecificData",t)},s=function(t,i){var r="api/StatsByCommodity/GetDataAvailability?commodityCode="+t+"&countryCode="+i;return n.get(r)},h=function(t){return n.post("api/StatsByCommodity/GetTopCommoditiesByCountry",'"'+t+'"')};return{getGeographicRegions:t,getRegion:i,getCommodityGroups:r,getCommodities:u,getGroupAttributes:f,getRegionStatistics:e,getCountrySpecificData:o,getDataAvailability:s,getTopCommoditiesByCountry:h}};n.factory("commodityStatsService",["baseService",t])}(angular.module("common")),function(n){"use strict";function t(n){var t=function(){return n.get("api/CompositeVisualization/GetReportingPeriods")},i=function(){return n.get("api/CompositeVisualization/GetCommodityGroups")},r=function(t){var i="api/CompositeVisualization/GetCommodities?commodityGroupCode="+t;return n.get(i)},u=function(t){var i="api/CompositeVisualization/GetRegions?commodityCode="+t;return n.get(i)},f=function(t,i){var r="api/CompositeVisualization/GetCountries?regionCode="+t+"&commodityCode="+i;return n.get(r)},e=function(t){return n.post("api/CompositeVisualization/GetAllAttributeData",t)},o=function(t){return n.post("api/CompositeVisualization/GetSingleAttributeAllYearsData",t)},s=function(t){return n.post("api/CompositeVisualization/GetSingleAttributeMonthlyChangeData",t)},h=function(t){return n.post("api/CompositeVisualization/GetSingleAttributeYearlyChangeData",t)},c=function(t){return n.post("api/CompositeVisualization/GetSingleAttributeWindowedChangeData",t)},l=function(t){return n.post("api/CompositeVisualization/GetTopRankedAttributeData",t)},a=function(t){return n.post("api/CompositeVisualization/GetTopStackedAttributeData",t)};return{getReportingPeriods:t,getCommodityGroups:i,getCommodities:r,getRegions:u,getCountries:f,getAllAttributeData:e,getSingleAttributeAllYearsData:o,getSingleAttributeMonthlyChangeData:s,getSingleAttributeYearlyChangeData:h,getSingleAttributeWindowedChangeData:c,getTopRankedAttributeData:l,getTopStackedAttributeData:a}}n.factory("compositeVizService",["baseService",t])}(angular.module("common")),function(n){"use strict";var t=function(n){var t=function(){return n.get("api/StatsByCountry/GetCommodityGroups")},i=function(t){var i="api/StatsByCountry/GetCommodityGroup?commodityGroupId="+t;return n.get(i)},r=function(){return n.get("api/StatsByCountry/GetRegions")},u=function(t,i){var r="api/StatsByCountry/getCountries?commodityGroupId="+t+"&regionCode="+i;return n.get(r)},f=function(t){var i="api/StatsByCountry/GetGroupAttributes?commodityGroupId="+t;return n.get(i)},e=function(t){return n.post("api/StatsByCountry/GetGroupStatistics",t)},o=function(t){return n.post("api/StatsByCountry/GetCommoditySpecificData",t)},s=function(t){return n.post("api/StatsByCountry/GetTopCountriesByCommodity",'"'+t+'"')};return{getCommodityGroups:t,getCommodityGroup:i,getRegions:r,getCountries:u,getGroupAttributes:f,getGroupStatistics:e,getCommoditySpecificData:o,getTopCountriesByCommodity:s}};n.factory("countryStatsService",["baseService",t])}(angular.module("common")),function(n){"use strict";var t=function(n,t){var i=function(){return t.get("api/downloadableData/GetNextRelease")},r=function(n,i){var r="api/downloadableData/GetReleaseSchedules?commodity="+n+"&scheduleType="+i;return t.get(r)},u=function(){return t.get("api/downloadableData/GetCommodityReportHeaders")},f=function(){return t.get("api/downloadableData/GetAllCommodities")},e=function(){return t.get("api/downloadableData/GetAllCountries")},o=function(n){var i="api/downloadableData/GetAvailabilityByCommodity?commodityCode="+n;return t.get(i)},s=function(n){var i="api/downloadableData/GetAvailabilitybyCountry?countryCode="+n;return t.get(i)},h=function(){return t.get("api/downloadableData/GetAllRegions")},c=function(){return t.get("api/downloadableData/GetAllAttributes")},l=function(){return t.get("api/downloadableData/GetAllUOMs")},a=function(i){var r=n.rootPath+"/DatasetHandler.ashx?returnType="+i;return t.getFromHandler(r)},v=function(i,r,u){var f=n.rootPath+"/DatasetHandler.ashx?returnType="+i+"&year="+r+"&month="+u;return t.getFromHandler(f)},y=function(i){var r=n.rootPath+"/DatasetHandler.ashx?returnType="+i;return t.getFromHandler(r)},p=function(){var i=n.rootPath+"/CircularsHandler.ashx";return t.getFromHandler(i)},w=function(){return t.get("api/downloadableData/getCommodityGroups")},b=function(n){var i="api/downloadableData/GetDatasetContents?dataSetName="+n;return t.get(i)};return{getNextRelease:i,getReleaseSchedules:r,getCommodityReportHeaders:u,getAllCommodities:f,getAllCountries:e,getAvailabilityByCommodity:o,getAvailabilityByCountry:s,getAllRegions:h,getAllAttributes:c,getAllUOMs:l,getCurrentDataset:a,getArchiveDataset:v,getArchiveSetInfo:y,getCircularSetInfo:p,getCommodityGroups:w,getDatasetContents:b}};n.factory("downloadService",["appSettings","baseService",t])}(angular.module("common")),function(n){"use strict";var t=function(n){var t=function(t){return n.post("api/notification/sendNotification",t)};return{sendNotification:t}};n.factory("notificationService",["baseService",t])}(angular.module("common")),function(n){"use strict";var t=function(n){var t=function(t){return n.postForDownload("api/ImageServer/Download",t)};return{download:t}};n.factory("imageConversionService",["baseService",t])}(angular.module("common")),function(n){function t(n){var i=n.navigator.userAgent,t={chrome:/chrome/i},r=function(){for(var n in t)if(t[n].test(i))return!0;return!1};return{isExportToPngSupported:r}}n.service("browserDetector",["$window",t])}(angular.module("common"))