{"version":3,"sources":["webpack:///./src/app/entities/ApplicationSetting.ts","webpack:///./src/app/directives/CommandBase.ts","webpack:///./src/app/entities/QueuedCommand.ts","webpack:///./src/app/models/edit/EditModel.ts","webpack:///./src/app/libs/CoordinateHelper.ts","webpack:///./src/views/admin.paging.html","webpack:///./src/app/models/paging/PagingModel.ts","webpack:///./src/app/controllers/PagingCtrl.ts","webpack:///./src/app/libs/LeafletHelper.ts","webpack:///./src/app/entities/PrintJob.ts","webpack:///./src/app/services/HttpHandlerService.ts","webpack:///./src/app/entities/AlertingAction.ts","webpack:///./src/app/entities/Asset.ts","webpack:///./src/app/entities/CustomFieldName.ts","webpack:///./src/app/controllers/view/GraphCtrl.ts","webpack:///./src/app/libs/EditMaintenanceHandler/EditMaintenanceHandler_EditAsset.ts","webpack:///./src/app/libs/EditMaintenanceHandler/EditMaintenanceHandler_NewAsset.ts","webpack:///./src/app/entities/MapSite.ts","webpack:///./src/app/controllers/cmd/CmdCenterMapCtrl.ts","webpack:///./src/views/admin.print.html","webpack:///./src/views/admin.reportassets.html","webpack:///./src/views/admin.export.html","webpack:///./src/views/assetsensorhistories.html","webpack:///./src/views/logout.html","webpack:///./src/views/admin.import.uploadfile.html","webpack:///./src/views/admin.import.mapfields.html","webpack:///./src/views/admin.import.fixerrors.html","webpack:///./src/views/admin.import.confirmimport.html","webpack:///./src/views/admin.import.summary.html","webpack:///./src/views/server.import.uploadfile.html","webpack:///./src/views/server.import.mapfields.html","webpack:///./src/views/server.import.fixerrors.html","webpack:///./src/views/server.import.confirmimport.html","webpack:///./src/views/server.import.summary.html","webpack:///./src/app/services/CustomFieldNameService.ts","webpack:///./src/app/models/edit/CustomFieldNameModel.ts","webpack:///./src/app/models/edit/EditAlertingActionModel.ts","webpack:///./src/app/models/edit/EditAssetModel.ts","webpack:///./src/app/models/cmd/CmdCenterEditSiteModel.ts","webpack:///./src/app/models/cmd/CmdCenterMapModel.ts","webpack:///./src/app/models/cmd/CmdCenterQueuedCmdModel.ts","webpack:///./src/app/controllers/view/AssetSensorHistoriesCtrl.ts","webpack:///./src/app/controllers/AdminPagingCtrl.ts","webpack:///./src/app/controllers/export/ExportCtrl.ts","webpack:///./src/app/controllers/cmd/CmdCenterAssetCmdCtrl.ts","webpack:///./src/app/controllers/cmd/CmdCenterShowNearestCtrl.ts","webpack:///./src/app/directives/EditCustomFieldsDirective.ts","webpack:///./src/assets/scss/app.scss?eb4e","webpack:///./src/assets/scss/app.scss","webpack:///./src/assets/img/assetworx_logo.png","webpack:///./src/views/admin.batchmove.html","webpack:///./src/views/graph.html","webpack:///./src/views/admin.editclientapp.html","webpack:///./src/views/admin.editmqttclient.html","webpack:///./src/views/admin.editprintclient.html","webpack:///./src/views/admin.editcompany.html","webpack:///./src/views/admin.pickchild.html","webpack:///./src/views/admin.editmaintenance.html","webpack:///./src/views/admin.editpassword.html","webpack:///./node_modules/moment/locale sync ^\\.\\/.*$","webpack:///./src/views/cmdcenter.shownearest.html","webpack:///./src/views/cmdaccelsensor.html","webpack:///./src/views/cmdactivate.html","webpack:///./src/views/cmdbuzz.html","webpack:///./src/views/cmdclearalarms.html","webpack:///./src/views/cmddwelltime.html","webpack:///./src/views/cmdgetalarms.html","webpack:///./src/views/cmdgetposition.html","webpack:///./src/views/cmdgetthreshold.html","webpack:///./src/views/cmdgpsdiscoverymode.html","webpack:///./src/views/cmdresetnetwork.html","webpack:///./src/views/cmdresettags.html","webpack:///./src/views/cmdresume.html","webpack:///./src/views/cmdsetpositionfixed.html","webpack:///./src/views/cmdsetpositionfixeddialog.html","webpack:///./src/views/cmdsetpositiongateway.html","webpack:///./src/views/cmdsetpositiongatewaydialog.html","webpack:///./src/views/cmdsetreportinginterval.html","webpack:///./src/views/cmdsetsecurity.html","webpack:///./src/views/cmdsetthreshold.html","webpack:///./src/views/cmdshutdown.html","webpack:///./src/views/edit.customfieldnames.html","webpack:///./src/assets/html/signin-callback.html","webpack:///./src/assets/html/silent-callback.html","webpack:///./src/assets/js/angular-csv-import.min.js","webpack:///./src/views/admin.html","webpack:///./src/views/loggedout.html","webpack:///./src/views/licenseexceeded.html","webpack:///./src/views/admin.about.html","webpack:///./src/views/admin.editasset.html","webpack:///./src/views/assetlocationhistories.html","webpack:///./src/views/assetcheckouthistories.html","webpack:///./src/views/admin.showtrack.html","webpack:///./src/views/admin.networkstatus.html","webpack:///./src/views/admin.editlocation.html","webpack:///./src/views/admin.editfixedvtag.html","webpack:///./src/views/admin.editplugin.html","webpack:///./src/views/admin.editreader.html","webpack:///./src/views/admin.edituser.html","webpack:///./src/views/admin.editalertingaction.html","webpack:///./src/views/admin.edittemplate.html","webpack:///./src/views/admin.checkout.html","webpack:///./src/views/admin.scheduledmaintenance.html","webpack:///./src/views/admin.customfieldnames.html","webpack:///./src/views/admin.assetpicture.html","webpack:///./src/views/admin.editoptions.html","webpack:///./src/views/admin.reportlocationhistory.html","webpack:///./src/views/admin.reportlocations.html","webpack:///./src/views/admin.reportcheckouthistory.html","webpack:///./src/views/admin.reportmaintenancehistory.html","webpack:///./src/views/admin.reportvtagcommunication.html","webpack:///./src/views/admin.reportlowbattery.html","webpack:///./src/views/admin.displayoptions.html","webpack:///./src/views/cmdcenter.html","webpack:///./src/views/cmdcenter.map.html","webpack:///./src/views/cmdcenter.sitearea.html","webpack:///./src/views/cmdcenter.editsite.html","webpack:///./src/views/cmdcenter.editarea.html","webpack:///./src/views/cmdcenter.assetcommands.html","webpack:///./src/views/cmdcenter.networkcommands.html","webpack:///./src/views/cmdcenter.queuedcommands.html","webpack:///./src/views/cmdcenter.options.html","webpack:///./src/app/libs/Auth.ts","webpack:///./src/app/services/GridBookmarkService.ts","webpack:///./src/app/entities/GridBookmark.ts","webpack:///./src/app/models/paging/AdminPagingModel.ts","webpack:///./src/app/models/paging/AssetAdminPagingModel.ts","webpack:///./src/app/entities/AlarmAck.ts","webpack:///./src/app/services/BaseService.ts","webpack:///./src/app/services/AlarmAckService.ts","webpack:///./src/app/entities/Alarm.ts","webpack:///./src/app/services/AlarmService.ts","webpack:///./src/app/services/AlertingActionService.ts","webpack:///./src/app/entities/Antenna.ts","webpack:///./src/app/services/AntennaService.ts","webpack:///./src/app/services/ApplicationSettingService.ts","webpack:///./src/app/services/AssetService.ts","webpack:///./src/app/entities/CheckoutHistory.ts","webpack:///./src/app/services/CheckoutHistoryService.ts","webpack:///./src/app/entities/ConfigSetting.ts","webpack:///./src/app/services/ConfigSettingService.ts","webpack:///./src/app/entities/Event.ts","webpack:///./src/app/services/EventService.ts","webpack:///./src/app/services/FileDataService.ts","webpack:///./src/app/entities/FixedVTag.ts","webpack:///./src/app/services/FixedVTagService.ts","webpack:///./src/app/entities/GpsLocationHistory.ts","webpack:///./src/app/services/GpsLocationHistoryService.ts","webpack:///./src/app/entities/LocationHistory.ts","webpack:///./src/app/services/LocationHistoryService.ts","webpack:///./src/app/entities/Location.ts","webpack:///./src/app/services/LocationService.ts","webpack:///./src/app/entities/MaintenanceHistory.ts","webpack:///./src/app/services/MaintenanceHistoryService.ts","webpack:///./src/app/entities/MapArea.ts","webpack:///./src/app/services/MapAreaService.ts","webpack:///./src/app/services/MapSiteService.ts","webpack:///./src/app/services/NotificationService.ts","webpack:///./src/app/entities/Plugin.ts","webpack:///./src/app/services/PluginService.ts","webpack:///./src/app/entities/Printer.ts","webpack:///./src/app/services/PrinterService.ts","webpack:///./src/app/services/PrintJobService.ts","webpack:///./src/app/services/QueuedCommandService.ts","webpack:///./src/app/entities/Reader.ts","webpack:///./src/app/services/ReaderService.ts","webpack:///./src/app/entities/SensorReadingHistory.ts","webpack:///./src/app/services/SensorService.ts","webpack:///./src/app/entities/SensorStatsHistory.ts","webpack:///./src/app/services/SensorStatService.ts","webpack:///./src/app/entities/ServerStatus.ts","webpack:///./src/app/services/ServerStatusService.ts","webpack:///./src/app/entities/Template.ts","webpack:///./src/app/services/TemplateService.ts","webpack:///./src/app/entities/User.ts","webpack:///./src/app/services/UserService.ts","webpack:///./src/app/models/tasks/CheckoutModel.ts","webpack:///./src/app/models/tasks/DisplayOptionsModel.ts","webpack:///./src/app/models/tasks/EditCustomFieldNameModel.ts","webpack:///./src/app/models/tasks/EditOptionsModel.ts","webpack:///./src/app/models/tasks/ScheduledMaintenanceModel.ts","webpack:///./src/app/models/tasks/ShowTrackModel.ts","webpack:///./src/app/models/reports/ReportAssetsModelBase.ts","webpack:///./src/app/models/reports/ReportAssetLocationHistoryModel.ts","webpack:///./src/app/models/reports/ReportGpsLocationHistoryModel.ts","webpack:///./src/app/models/reports/ReportAssetsModel.ts","webpack:///./src/app/models/reports/ReportCheckoutHistoryModel.ts","webpack:///./src/app/models/reports/ReportLocationHistoryModel.ts","webpack:///./src/app/models/reports/ReportLocationModel.ts","webpack:///./src/app/models/reports/ReportLowBatteryModel.ts","webpack:///./src/app/models/reports/ReportMaintenanceScheduleModel.ts","webpack:///./src/app/models/reports/ReportVTagCommunicationModel.ts","webpack:///./src/app/models/paging/AlarmAckAdminPagingModel.ts","webpack:///./src/app/models/paging/AlarmAdminPagingModel.ts","webpack:///./src/app/models/paging/AlertingActionAdminPagingModel.ts","webpack:///./src/app/models/paging/CommandAdminPagingModel.ts","webpack:///./src/app/models/paging/EventAdminPagingModel.ts","webpack:///./src/app/models/paging/FixedVTagAdminPagingModel.ts","webpack:///./src/app/models/paging/LocationAdminPagingModel.ts","webpack:///./src/app/models/paging/PluginAdminPagingModel.ts","webpack:///./src/app/models/paging/PrinterAdminPagingModel.ts","webpack:///./src/app/models/paging/PrintJobAdminPagingModel.ts","webpack:///./src/app/models/paging/ReaderAdminPagingModel.ts","webpack:///./src/app/models/paging/SensorAdminPagingModel.ts","webpack:///./src/app/models/paging/SensorStatAdminPagingModel.ts","webpack:///./src/app/models/paging/TemplateAdminPagingModel.ts","webpack:///./src/app/models/paging/UserAdminPagingModel.ts","webpack:///./src/app/models/serverimport/ServerImportField.ts","webpack:///./src/app/models/serverimport/ServerImportModel.ts","webpack:///./src/app/models/serverimport/ServerAssetImportModel.ts","webpack:///./src/app/models/serverimport/ServerLocationImportModel.ts","webpack:///./src/app/models/import/ImportField.ts","webpack:///./src/app/models/import/ImportModel.ts","webpack:///./src/app/models/import/AssetImportModel.ts","webpack:///./src/app/models/import/LocationImportModel.ts","webpack:///./src/app/models/export/ExportModel.ts","webpack:///./src/app/models/export/AssetExportModel.ts","webpack:///./src/app/models/export/FixedExportModel.ts","webpack:///./src/app/models/export/LocationExportModel.ts","webpack:///./src/app/models/edit/AssetLocationHistoriesModel.ts","webpack:///./src/app/models/edit/EditFixedVTagModel.ts","webpack:///./src/app/models/edit/EditLocationModel.ts","webpack:///./src/app/models/edit/EditPluginModel.ts","webpack:///./src/app/models/edit/EditPrinterModel.ts","webpack:///./src/app/entities/DeviceSetting.ts","webpack:///./src/app/models/edit/EditReaderModel.ts","webpack:///./src/app/models/edit/EditUserModel.ts","webpack:///./src/app/models/edit/PickChildModel.ts","webpack:///./src/app/models/cmd/CmdCenterAssetCmdModel.ts","webpack:///./src/app/models/cmd/CmdCenterEditAreaModel.ts","webpack:///./src/app/models/cmd/CmdCenterEditOptionsModel.ts","webpack:///./src/app/models/cmd/CmdCenterSetPositionFixedModel.ts","webpack:///./src/app/models/cmd/CmdCenterSetPositionGatewayModel.ts","webpack:///./src/app/models/cmd/CmdCenterShowNearestModel.ts","webpack:///./src/app/models/cmd/CmdCenterSiteAreaModel.ts","webpack:///./src/app/controllers/view/AboutCtrl.ts","webpack:///./src/app/controllers/view/AssetCheckoutHistoriesCtrl.ts","webpack:///./src/app/controllers/view/AssetLocationHistoriesCtrl.ts","webpack:///./src/app/controllers/view/ShowTrackCtrl.ts","webpack:///./src/app/controllers/view/NetworkStatusCtrl.ts","webpack:///./src/app/controllers/tasks/BatchMoveCtrl.ts","webpack:///./src/app/controllers/tasks/CheckoutCtrl.ts","webpack:///./src/app/controllers/tasks/DisplayOptionsCtrl.ts","webpack:///./src/app/controllers/tasks/EditCustomFieldNameCtrl.ts","webpack:///./src/app/entities/ClientApp.ts","webpack:///./src/app/entities/Company.ts","webpack:///./src/app/libs/ClientIds.ts","webpack:///./src/app/libs/GrantTypes.ts","webpack:///./src/app/entities/MqttClient.ts","webpack:///./src/app/entities/PrintClient.ts","webpack:///./src/app/controllers/tasks/EditOptionsCtrl.ts","webpack:///./src/app/controllers/tasks/PrintCtrl.ts","webpack:///./src/app/controllers/tasks/AssetPictureCtrl.ts","webpack:///./src/app/controllers/tasks/ScheduledMaintenanceCtrl.ts","webpack:///./src/app/controllers/reports/ReportAssetLocationHistoryCtrl.ts","webpack:///./src/app/controllers/reports/ReportGpsLocationHistoryCtrl.ts","webpack:///./src/app/controllers/reports/ReportAssetsCtrl.ts","webpack:///./src/app/controllers/reports/ReportCheckoutHistoryCtrl.ts","webpack:///./src/app/controllers/reports/ReportLocationHistoryCtrl.ts","webpack:///./src/app/controllers/reports/ReportLocationCtrl.ts","webpack:///./src/app/controllers/reports/ReportLowBatteryCtrl.ts","webpack:///./src/app/controllers/reports/ReportMaintenanceScheduleCtrl.ts","webpack:///./src/app/controllers/reports/ReportVTagCommunicationCtrl.ts","webpack:///./src/app/controllers/import/ImportConfirmCtrl.ts","webpack:///./src/app/controllers/import/ImportFixErrorsCtrl.ts","webpack:///./src/app/controllers/import/ImportMapFieldsCtrl.ts","webpack:///./src/app/controllers/import/ImportSummaryCtrl.ts","webpack:///./src/app/controllers/import/ImportUploadFileCtrl.ts","webpack:///./src/app/controllers/edit/EditBaseCtrl.ts","webpack:///./src/app/controllers/edit/EditAlertingActionCtrl.ts","webpack:///./src/app/controllers/edit/EditAssetCtrl.ts","webpack:///./src/app/controllers/edit/EditFixedVTagCtrl.ts","webpack:///./src/app/controllers/edit/EditLocationCtrl.ts","webpack:///./src/app/controllers/edit/EditMaintenanceCtrl.ts","webpack:///./src/app/controllers/edit/EditPasswordCtrl.ts","webpack:///./src/app/controllers/edit/EditPluginCtrl.ts","webpack:///./src/app/controllers/edit/EditPrinterCtrl.ts","webpack:///./src/app/controllers/edit/EditReaderCtrl.ts","webpack:///./src/app/controllers/edit/EditTemplateCtrl.ts","webpack:///./src/app/controllers/edit/EditUserCtrl.ts","webpack:///./src/app/controllers/edit/PickChildCtrl.ts","webpack:///./src/app/controllers/cmd/CmdCenterEditAreaCtrl.ts","webpack:///./src/app/controllers/cmd/CmdCenterEditOptionsCtrl.ts","webpack:///./src/app/controllers/cmd/CmdCenterEditSiteCtrl.ts","webpack:///./src/app/controllers/cmd/CmdCenterNetworkCmdCtrl.ts","webpack:///./src/app/controllers/cmd/CmdCenterQueuedCmdCtrl.ts","webpack:///./src/app/controllers/cmd/CmdCenterSetPositionFixedCtrl.ts","webpack:///./src/app/controllers/cmd/CmdCenterSetPositionGatewayCtrl.ts","webpack:///./src/app/controllers/cmd/CmdCenterSiteAreaCtrl.ts","webpack:///./src/app/directives/AssetSensorHistoriesDirective.ts","webpack:///./src/app/directives/CommandAccelSensorDirective.ts","webpack:///./src/app/directives/CommandActivateDirective.ts","webpack:///./src/app/directives/CommandBuzzDirective.ts","webpack:///./src/app/directives/CommandClearAlarmsDirective.ts","webpack:///./src/app/directives/CommandDwellTimeDirective.ts","webpack:///./src/app/directives/CommandGetAlarmsDirective.ts","webpack:///./src/app/directives/CommandGetPositionDirective.ts","webpack:///./src/app/directives/CommandGetThresholdDirective.ts","webpack:///./src/app/directives/CommandGPSDiscoveryModeDirective.ts","webpack:///./src/app/directives/CommandResetNetworkDirective.ts","webpack:///./src/app/directives/CommandResetTagDirective.ts","webpack:///./src/app/directives/CommandResumeDirective.ts","webpack:///./src/app/directives/CommandSetPositionFixedDirective.ts","webpack:///./src/app/directives/CommandSetPositionGatewayDirective.ts","webpack:///./src/app/directives/CommandSetReportingIntervalDirective.ts","webpack:///./src/app/directives/CommandSetSecurityDirective.ts","webpack:///./src/app/directives/CommandSetThresholdDirective.ts","webpack:///./src/app/directives/CommandShutdownDirective.ts","webpack:///./src/app/libs/AuthHelper.ts","webpack:///./src/app/services/AboutService.ts","webpack:///./src/app/services/ClientAppService.ts","webpack:///./src/app/services/MqttClientService.ts","webpack:///./src/app/services/PrintClientService.ts","webpack:///./src/app/services/CompanyService.ts","webpack:///./src/app/libs/ClientAppSettings.ts","webpack:///./src/app/controllers/edit/EditClientAppCtrl.ts","webpack:///./src/app/controllers/edit/EditMqttClientCtrl.ts","webpack:///./src/app/controllers/edit/EditPrintClientCtrl.ts","webpack:///./src/app/controllers/edit/EditCompanyCtrl.ts","webpack:///./src/app/controllers/LogoutCtrl.ts","webpack:///./src/app/controllers/LoggedOutCtrl.ts","webpack:///./src/app/controllers/LicenseExceededCtrl.ts","webpack:///./src/app/services/TokenService.ts","webpack:///./src/app/libs/CommandManager.ts","webpack:///./src/app/models/edit/EditTemplateModel.ts","webpack:///./src/app/controllers/AdminCtrl.ts","webpack:///./src/app/controllers/serverimport/ServerImportUploadFileCtrl.ts","webpack:///./src/app/controllers/serverimport/ServerImportMapFieldsCtrl.ts","webpack:///./src/app/controllers/serverimport/ServerImportFixErrorsCtrl.ts","webpack:///./src/app/controllers/serverimport/ServerImportConfirmCtrl.ts","webpack:///./src/app/controllers/serverimport/ServerImportSummaryCtrl.ts","webpack:///./src/app/app.ts","webpack:///./src/app/models/AdminModel.ts"],"names":["ApplicationSetting","id","version","type","licenseKey","company","lastRfidSerialNumber","lastModifiedBy","temperatureFormat","useMeters","assetDisplayColumns","vTagPopupDisplayRows","cmdMapRefresh","cmdActiveTimeout","cmdMapPinZoominEnabled","cmdMapPinDisplacePixels","eventTrim","alarmTrim","sensorReadingTrim","locationHistoryTrim","commandTrim","sensorStatTrim","mqttEnabled","smtpEmailEnableSSL","smtpEmailFrom","smtpEmailHost","smtpEmailPassword","smtpEmailPort","smtpEmailTo","smtpEmailUsername","emailMethod","emailCloudUsername","emailCloudPassword","twoFactorAuthEnabled","authenticationServer","dateFormat","vTagPositionReportingMode","alarmUnassociatedAssets","vTagGpsServerAddress","vTagGpsServerPort","vTagGpsServerUsername","vTagGpsServerPassword","defaultCheckoutLocationId","defaultCheckinLocationId","automaticallySerializeAssetName","assetNameSerialPrefix","assetNameSerialLength","currentAssetNameSerial","enableAssetUnseen","enableGlobalAlarmMessages","enableGlobalEventMessages","enableGlobalGatewayMessages","enableGlobalSensorReadingMessages","enableGlobalTagMovementMessages","enableGlobalTagObservationMessages","updateLastInventoriedForMovedAssets","fixedTagsMoveToDiffMap","json","this","CommandBase","commandManager","qqs","$","each","getItems","index","vTag","queuedCommand","vTagID","getCommandType","getCommandText","readerID","push","runCommands","selectedItems","asset","QueuedCommand","commandType","commandText","status","retryCount","lastAttempt","created","reason","amsName","assetName","assetDescription","EditModel","$q","service","ctor","entityId","when","get","then","data","entity","catch","exc","loadEntity","verifyData","ok","isNaN","insert","update","err","reject","ExactCoordinateHelper","pixelsPerMeter","useZoom","displacePixels","zoomLevel","vTagX","vTagY","GeneralVector","pixelsToDisplace","last4TagId","substring","fractionOf","parseInt","xDispFrac","Math","cos","PI","yDispFrac","sin","actualZoom","pow","xDisp","yDisp","lngOrig","latOrig","GpsCoordinateHelper","r1","r2","userSuppliedPPM","A","B","F","E_SQUARED","RADIANS_PER_DEGREE","DELTA_DEGREES","p1","generate_point","GlobePoint","Latitude","Longitude","Altitude","p2","p3","meters_per_degree_X","distance","meters_per_degree_Y","sr1","ScaledReferencePoint","X_0","Y_0","sr2","v_globe","generate_unit_vector","ScaledLongitude","ScaledLatitude","v_map","pixels_per_meter","distance_2D","x1","y1","x2","y2","x_diff","y_diff","length","sqrt","vTagPositionType","nearestFixed","longitude","latitude","scaled_longitude_offset","scaled_latitude_offset","a","X","Y","b","x","y","x_offset","y_offset","g","result","EllipsoidPoint","st","n","Z","z_diff","ReferencePoint","PagingModel","pagingService","notificationService","page","pageSize","totalItems","items","search","orderColumn","orderDirection","nameValuePairs","getPaged","getCount","all","getPagedPromise","getCountPromise","i","item","transformItem","notifyError","foundIndex","indexOf","selectionChanged","splice","PagingCtrl","$scope","$location","stateService","stateParamsService","pagingModel","gridOptions","locationService","vm","tempSearch","updateLocation","paginationPageSizes","paginationPageSize","useExternalPagination","useExternalSorting","columnDefs","minRowsToShow","onRegisterApi","gridApi","pagination","seek","core","on","sortChanged","grid","sortColumns","field","sort","direction","paginationChanged","newPage","maxRows","min","element","document","getElementsByClassName","css","selection","rowSelectionChanged","row","isSelected","addSelected","removeSelected","rowSelectionChangedBatch","rows","getColumnDefs","setColumns","init","cols","dateFilter","applicationSetting","nv","name","displayName","width","cellFilter","enableSorting","LatLngZoom","lat","lng","zoom","MapDefaults","scrollWheelZoom","crs","maxZoom","minZoom","PrintJob","recordID","tableName","templateID","useWithService","locationName","templateName","message","generatedRfid","completed","HttpHandlerService","$http","$state","httpService","route","action","params","getUrl","response","handlerResponded","error","handleErrorResponse","config","post","put","delete","errMsg","Message","go","getBaseUrl","val","AlertingAction","adminPopupAlert","checkin","checkout","logAlarm","onlyIfCheckedIn","autoAck","pluginActions","changeLocation","smtpEmail","gpO1","gpO1State","gpO1Seconds","gpO2","gpO2State","gpO2Seconds","Asset","description","rfidTag","vTagGpsDeviceID","vTagGpsAppKey","deviceRegistered","assetType","departmentCode","maxUnseenTime","lastObservedLocation","lastObservedTime","checkinStatus","checkedOutTo","additionalInformation","locationID","disposalStatus","disposalMethod","disposalDate","disposalDestination","maintenanceStartDate","maintenanceSingleDate","nextMaintenance","date1","date2","date3","date4","date5","listValue1","listValue2","listValue3","listValue4","listValue5","text1","text2","text3","text4","text5","text6","text7","text8","text9","text10","text11","text12","text13","text14","text15","text16","text17","text18","text19","text20","locationSite","locationBuilding","locationFloor","locationRoom","locationDescription","maintenanceMethod","maintenanceIntervalMonths","vTagZ","altitude","numberOfSatellites","lastGPSFix","gpsAccuracy","missedSatelliteFixes","parentVTag","vTagType","vTagFixedRelay","vTagAccelSensor","vTagBoxX","vTagBoxY","vTagBoxWidth","vTagBoxHeight","vTagAlgorithmType","vTagLastSeen","vTagLastMoved","batteryLevel","nearestFixedName","lastModified","sensorReadingHistoryID","alertingActionID","sensorStatsHistoryID","assetParentID","assetChildCount","fileDataID","batteryVolts","lastInventoried","minutes","diffDate","Date","now","parse","abs","txt","toLowerCase","toFixed","CustomField","value","display","displayIndex","uIEditable","dataType","handheldDisplay","handheldValue","handheldDisplayIndex","customFieldValues","cfn","cfnv","CustomFieldValue","parseJson","customFieldName","GraphCtrl","$uibModalInstance","lineChart","listValues","options","d","xAxis","time","format","yAxis","title","close","dismiss","LineChart","lineData","LineData","key","values","LinePair","EditMaintenanceHandler_EditAsset","mhService","notifyService","$inject","EditMaintenanceHandler_NewAsset","editedMaintenaceHistories","addedMaintenaceHistories","deletedMaintenanceHistories","editedIndex","otherPromises","assetID","ids","map","MapSite","originX","originY","moment","CmdCenterMapCtrl","$window","$interval","leafletData","modal","model","locStorage","defaults","Simple","center","layers","imageLayer","areaSelect","GRIDTYPEASSETTAGS","GRIDTYPFIXEDTAGS","selectedGridType","mapAssets","mapFixedTags","mapGateways","mappedMapItems","controls","console","log","mapDefaults","gridOptionsAsset","gridApiAsset","setSelected","updateMapTagsSmart","gridOptionsFixed","cellTemplate","gridApiFixed","fixedTag","$on","removeWatches","changedInterval","cancel","updateIconsInterval","lastSiteId","LOCALSTORAGE_LASTSITE","lastAreaId","LOCALSTORAGE_LASTAREA","mapPageSize","LOCALSTORAGE_MAP_PAGESIZE","MapAsset","activeMinutes","activeTimeout","selectedMapArea","exactCoordinateHelper","gpsCoordinateHelper","geo1Longitude","geo1Latitude","geo1PixelsX","geo1PixelsY","geo2Longitude","geo2Latitude","geo2PixelsX","geo2PixelsY","getCurrentTags","updateIcons","updateSearchTextInterval","updateSearchText","getChanged","mapRefresh","set","selectedMapSite","addWatches","getCenter","getMap","mapAreaChanged","evt","args","mapItem","selectedIndex","modelName","mapFixedTag","mapAsset","showNearest","showGoogleMaps","control","fullscreen","position","open","vtagId","animation","template","default","controller","resolve","updateIcon","gateway","rawSearchText","searchText","lastCheckedChangedStr","lastCheckedChanged","toUTCString","getChangedAssets","getChangedFixedTags","getChangedGateways","centerStr","LOCALSTORAGE_CENTER","JSON","newVal","oldVal","setImage","selectedMapSiteWatch","$watch","getAssets","getFixedTags","setMapAreas","alert","selectedMapAreaWatch","mapPageSizeWatch","searchTextWatch","selectedFilterWatch","selectedFilter","centerWatch","stringify","removeLayer","getMapAreaImage","height","imageHeight","imageWidth","imgUrl","imageData","imageOverlay","addTo","bringToBack","expandedAsset","expandedFixed","focus","mapFixed","selectedMapAssets","selectedMapFixed","selected","selectedMapAssetIndexes","selectedFixedMapIndexes","startIndex","endIndex","currentAssets","coorHelper","vtagColumnDefs","j","hasVTagData","mapCoorOk","currentFixedTags","MapFixedVTag","currentGateways","mapGateway","MapGateway","modifyRows","tempIndex","selectRow","locateAdv","vtag","panTo","LatLng","assetColumnDefs","coordinateHelper","ppm","displayColumns","draggable","zIndexOffset","icon","MapIcon","setMessage","replace","dc","getColumnDisplayValue","fieldname","displayValue","sel","vector","getCanvasPoint","markerColor","isRecentlyActive","isActiveTag","lastSeen","location","isActive","CustomFieldNameService","applicationSettingService","super","cfns","usePutHandler","getBasesUrl","columnDefsName","nvps","getAll","getCached","columns","split","customFieldNames","jcfn","col","nameValue","charAt","toUpperCase","slice","assets","sql","colVal","useGetHandler","CustomFieldNameModel","testName","deferred","defer","customFields","tempNameValues","tempListValues","lvs","cfnvStrings","promise","cfnName","getCustomField","defaultValue","EditAlertingActionModel","pluginService","plugins","loadData","strPluginIds","pluginIds","plugin","foundMatch","grep","tempItem","SelectablePlugin","selPlugin","join","saveData","EditAssetModel","alertingActionService","readerService","printjobService","cfnModel","fileDataService","allMaintenanceHistories","allChildren","addedChildren","deletedChildren","MAINTENANCE_NOMAINTENANCE","MAINTENANCE_PERIODIC","MAINTENANCE_SINGLEEVENT","disposalStatuses","maintenanceMethods","customFieldNameValues","listvalue1","connect","displayVal","getCustomFieldValue","imagePromise","parentAssetPromise","getChildren","getByAsset","parentAsset","b64String","forceLoad","getCurrentAssetNameSerial","editMaintenanceHandler","locationPromise","alertingActionPromise","readerPromise","cfPromise","locations","unshift","alertingActions","readers","inputString","test","isHex","vtagPromise","getByVTag","rfidPromise","getByRfid","gpsPromise","getByGps","getByName","nameAsset","vtagAsset","rfidAsset","gpsAsset","mainPromise","associateChildren","removeChildren","b64Data","getImageSize","size","dataArr","nextVal","addMaintenance","editMaintenance","deleteMaintenance","selectedAsset","printJob","print","newId","notify","CmdCenterEditSiteModel","mapSiteService","mapSiteId","available","assigned","mapSiteID","getGateways","mapSite","allReaders","reader","selectedAvailable","selectedAssigned","tempAvailable","availableIndex","assignedIndex","readerPromises","CmdCenterMapModel","mapAreaService","assetService","fixedTagService","customFieldNameService","currentPage","CMDGETPOSITION","CMDSETPOSITIONFIXED","CMDSETPOSITIONGATEWAY","CMDACTIVATE","CMDRESETTAG","CMDBUZZ","commands","selectedCommand","SHOWALLTAGS","SHOWACTIVETAGS","SHOWINACTIVETAGS","SHOWALLASSETS","SHOWACTIVEASSETS","SHOWINACTIVEASSETS","SHOWALLFIXED","SHOWACTIVEFIXED","SHOWINACTIVEFIXED","filterTypes","getAssetColumnDefs","getVTagColumnDefs","mapSites","mapAreas","gateways","siteByGateway","getChangedVTagAndGpsAssetsBySite","found","getIsAssetShown","getChangedBySite","fixedTags","changedCurrFixed","getIsFixedTagShown","changedCurrGateways","getIsGatewayShown","defaultMapAreaId","temp","currentMapAreas","newMapArea","mapArea","getVTagAndGpsAssetsBySite","getBySite","tags","foundInCurrent","foundInFixed","getFirstVTagAndGpsMatch","getFirstVTagMatch","foundAsset","foundFixed","foundMapSiteId","foundMapSite","tempMapArea","floorLevel","areaMatch","searchMatch","filtered","tempAssets","currentAsset","tempFixed","currentFixed","tempGateways","currentGateway","CmdCenterQueuedCmdModel","errorMessage","before","commandTypes","selectedCommandType","commandStatuses","selectedCommandStatus","getPagedByTypeStatus","getCountByTypeStatus","updateStatusPromises","updateStatus","toUpdate","toInsert","newQC","upQC","inserts","updates","AssetSensorHistoriesCtrl","sensorService","sensorstatService","sensorstats","sensorreadings","assetId","getLastByAssetId","sensorreading","sensorstat","prop","getByVTagId","lineItems","showGraph","lineDatas","lineItem","linePairs","AdminPagingCtrl","stateParams","adminPagingModel","pm","paginationInfoAvailable","recallPagination","customAction","count","templateType","printTemplateType","totalCount","printer","entityName","handleCustomAction","confirm","searchClick","ExportCtrl","exportModel","assignedGridOptions","multiSelect","addAssignedSelected","removeAssignedSelected","itemsToAdd","currentSelected","assignedItems","currentAssigned","currItem","addItems","toRemove","selectedAssignedItems","removeItems","indexToRemove","CmdCenterAssetCmdCtrl","localGridOptions","enablePaging","addedAssets","addAddedSelected","removeAddedSelected","selectedAddedAssets","CmdCenterShowNearestCtrl","modalInstance","getColumns","EditCustomFields","customFieldNameModel","restrict","transclude","link","scope","attrs","ctrl","clone","children","find","leftPane","rightPane","divs","pTag","tempId","getCustomFieldDisplay","aId","bId","aIdIndex","getCustomFieldDisplayIndex","bIdIndex","left","detachedDiv","detach","appendTo","directive","api","content","__esModule","module","exports","locals","___CSS_LOADER_API_IMPORT___","___CSS_LOADER_GET_URL_IMPORT___","___CSS_LOADER_URL_IMPORT_0___","___CSS_LOADER_URL_IMPORT_1___","___CSS_LOADER_URL_IMPORT_2___","___CSS_LOADER_URL_IMPORT_3___","___CSS_LOADER_URL_IMPORT_4___","___CSS_LOADER_URL_IMPORT_5___","___CSS_LOADER_URL_REPLACEMENT_0___","___CSS_LOADER_URL_REPLACEMENT_1___","hash","___CSS_LOADER_URL_REPLACEMENT_2___","___CSS_LOADER_URL_REPLACEMENT_3___","___CSS_LOADER_URL_REPLACEMENT_4___","___CSS_LOADER_URL_REPLACEMENT_5___","___CSS_LOADER_URL_REPLACEMENT_6___","webpackContext","req","webpackContextResolve","__webpack_require__","o","e","Error","code","keys","Object","angular","header","headerVisible","separator","separatorVisible","encoding","encodingVisible","accept","acceptSize","acceptSizeExceedCallback","callback","uploadButtonLabel","Number","POSITIVE_INFINITY","querySelector","csv","target","csvToJSON","$apply","onChangeEvent","files","filename","FileReader","onload","onLoadEvent","$$postDigest","srcElement","readAsText","lines","RegExp","start","columnCount","headers","obj","currentline","cleanCsvValue","k","clientRoot","getCurrentBaseUrl","settings","authority","client_id","client_secret","redirect_uri","silent_redirect_uri","automaticSilentRenew","post_logout_redirect_uri","userStore","store","localStorage","response_type","response_mode","loadUserInfo","userManager","server","clientId","clientSecret","useLocalStorage","undefined","protocol","host","port","myStorage","sessionStorage","getUser","signinRedirect","signinSilent","signoutRedirect","GridBookmarkService","gridBookmark","gridBookmarkJson","KEY","createDateMs","GridBookmark","gridBookmarkService","savePagination","actionName","deleteAllowed","addEditAllowed","getBookmark","isRecent","setBookmark","customColumnDefs","gotColumns","p","printJobs","prints","xStr","yStr","AlarmAck","tag","eventType","thresholdType","ackTime","jsonArr","arr","t","parseArray","useBaseGetArrayHandler","formatStr","useBaseGetHandler","usePostHandler","entities","useDeleteHandler","Alarm","alarmTime","readerName","readerLocation","alertingActionName","eventDetails","antennaNumber","rSSI","popupRequested","Antenna","number","readerId","antennas","encodeURIComponent","skipAuthorization","baseUrl","username","password","toRecipient","enableSsl","reset","appSettings","getMostRecent","appSettingsStr","APPSETTINGSKEY","appSettingsJson","locationId","changePrimaryLocation","startDate","endDate","responseType","tagId","lastChecked","tagType","department","missing","timeZoneId","Intl","DateTimeFormat","resolvedOptions","timeZone","fileId","importFields","assetIds","parentId","assetIdString","parentID","strParentID","CheckoutHistory","individual","transactionTime","assetname","ConfigSetting","ignoreLocal","activeTimout","CMDACTIVETIMEOUT","CMDUSEMETERS","CMDMAPREFRESH","Event","eventTime","filterAnnotation","rssi","postData","FixedVTag","GpsLocationHistory","timeSeen","groupByAsset","LocationHistory","timeLeft","Location","site","building","floor","room","MaintenanceHistory","whenPerformed","actionPerformed","notes","performedBy","regularMaintenance","currentDate","day","getDate","month","getMonth","year","getFullYear","MapArea","siteId","notifications","msg","timeout","text","layout","closeWith","show","fromErr","Plugin","Printer","filepath","usewithservice","lastId","queuedCommandId","gatewayId","top","Reader","readerModel","radsModeEnabled","ipAddress","deviceSettings","connectionStatus","physicalID","assetMovedAlertingActionID","securityIndicationAlertingActionID","lowBatteryAlertingActionID","sensorThresholdAlertingActionID","innerDirectionAlertingActionID","outerDirectionAlertingActionID","readerDisconnectedAlertingActionID","vTagGpsGatewayID","nowDate","lastSeenDate","serviceName","up","SensorReading","sourceDistanceHops","tTL","minimumTemperatureDegC","maximumTemperatureDegC","z","locationConfidence","maximumAccelerationG","ttl","vtagPositionType","days","SensorStat","numNeighbors","numActiveNeighbors","totalErrors","lastError","bestNeighbor","bestNeighborRssiDbm","minQueue","maxQueue","avgQueue","processedPackets","alarmCount","firmwareVersion","movementTriggers","suspectTriggers","daysSinceReset","leafDroppedPackets","ServerStatus","serverType","Template","printMethod","fileName","printClientID","User","firstName","lastName","email","phone","cardID","hideAdminPopups","companyID","companyName","userType","cmTest","checkingOut","checkOutTo","validate","selectedLocation","updateCheckin","DisplayOptionsModel","availableAssets","assignedAssets","availableVTags","assignedVTags","assetColumns","defaultAssetColumns","defaultVtagColumns","setupAssignedAvailable","selectedAssetAvailable","selectedAssetAssigned","selectedVTagAvailable","selectedVTagAssigned","dbAssigned","defaultAssigned","availableArray","assignedArray","indexToSwap","itemToSwap","selIndex","atEnd","vTagColumns","cfnService","listValueAddText","hhListValueAddText","hhCustomFieldNames","updateAll","selectedItem","selectedCfn","selectedDisplayIndex","itemAbove","itemBelow","selectedHandheldCfn","selectedCfnv","cfnvIndex","selectedHhCfnv","clientAppService","mqttClientService","printClientService","companyService","serverStatusService","temperatureFormats","emailOptions","alarmUnassociatedOptions","vTagGpsServerConnected","serverStatusPromise","chirpstackConnected","appSettingServicePromise","clientAppPromise","mqttClientPromise","printClientPromise","companyPromise","applicationsetting","clientApps","mqttClients","printClients","companies","emptyLocation","newLocations","testChirpstack","testCloudEmail","testSmtpEmail","maintenanceHistoryService","afterDate","beforeDate","afterDateStr","beforeDateStr","getByMaintenance","mh","ShowTrackModel","gpsLocationHistoryService","allGpsLocationHistories","numPoints","firstDisplayedPoint","itemTimeSeen","nDisplayedPoints","nDisplayedPointsOptions","oldMapArea","point_lat","point_long","bFound","min_distance","bestMap","hasGpsCoordinates","calc_distance","middle_lat","middle_long","middle_lat_radians","dy","dx","complexDate","toLocaleString","ReportAssetsModelBase","checkedinStatus","tagTypes","checkinStatuses","trueFalses","fileSaver","blob","locationHistoryService","getReport","Blob","saveAs","getReportCount","ReportCheckoutHistoryModel","$filter","chService","strStart","strEnd","ReportLocationModel","ReportLowBatteryModel","tagsToReport","availableTagsToReport","getBatteryLevelReport","ReportMaintenanceScheduleModel","getMaintenanceReport","getByMaintenanceCount","ReportVTagCommunicationModel","vtagType","vtagTypes","daysToReport","availableDaysToReport","getPositionType","getHistoryCountCounts","pt","getUseMeters","useFahrenheit","ServerImportField","fieldName","required","columnIndex","importService","errors","errorsCount","importColumns","requiredImportFields","optionalImportFields","importProgress","importProgressPrefix","getImportColumns","getImportFields","importField","importFile","started","monitorImportProgress","nextAction","importFileProgress","percent","importResults","importType","ImportField","selectedValue","csvData","errorEntities","okEntities","skipped","import","selSql","getOtherReportSql","getAssetReportSql","fixedService","AssetLocationHistoriesModel","allLocationHistories","gpsHistoryCount","getCountByAsset","foundTag","nameLocation","rfidLocation","DeviceProperty","storageName","choiceValues","isChoice","DeviceSetting","deviceProperties","defaultNetworkSettings","defaultPropertyValues","DevicePropertyValue","deviceProperty","nameValues","nameValuesArr","nameValueArr","isInteger","NaN","antennaService","DISABLEDDEFAULT","networkHostnameEnabled","networkUsernameEnabled","networkPasswordEnabled","devicePropertyValues","connections","readerModels","aaId","locId","antenna","initialLoad","deviceSetting","tempDeviceSetting","currentDeviceSetting","setDefaultNetworkValues","setDevicePropertyValues","dpValue","dpv","getEntityDeviceSettingValue","setValue","dsString","dsPairs","currPair","returnVal","dps","getDefaultPortSettings","defaultSettingsValues","setNetworkValues","myHostname","myPort","myUsername","myPassword","networkPortEnabled","antennasPromise","GetByReader","selectedModelChanged","re","InsertByReader","entityPromise","selectedAssets","getPagedUsableChildren","getCountUsableChildren","CMDACCELSENSOR","CMDSETTHRESHOLDACCELUPPERG","CMDSETTHRESHOLDLIGHTLEVELUPPERLX","CMDSETTHRESHOLDBATTERY","CMDSETTHRESHOLDTEMPERATUREUPPER","CMDSETTHRESHOLDTEMPERATURLOWER","CMDSETDWELLTIME","CMDGETTHRESHOLD","CMDGETALARMS","CMDCLEARALARMS","getVTagAndGpsAssetsPaged","getVTagAndGpsAssetsCount","FileSaver","mapAreaId","measureType","measureTypePlural","round","errorMsg","lower_limit","limit_unit","getImageType","imageType","imageBytes","atob","bytes","Array","charCodeAt","fileBlob","Uint8Array","CmdCenterEditOptionsModel","distances","clearAllRtlsInformation","VTAGTYPEVTAG","VTAGTYPEVTAGGPS","vTagTypes","selectedVTagType","fixedTagID","fixedTagName","positionTypes","selectedPositionType","feetPerMeter","refreshLocations","locs","originalSelected","selectedFixed","currLoc","gatewayName","selectedGateway","CmdCenterShowNearestModel","getFixedChildren","CmdCenterSiteAreaModel","updateMapAreas","defaultMapId","mapSiteIndex","AboutCtrl","aboutService","getAppVersion","getDatabaseVersion","getLicenseSummary","datas","databaseVersion","licenseSummary","newLicense","updateLicense","checkoutHistoryService","testString","checkoutHistoryGridOptions","locationHistoryGridOptions","markers","paths","createIcons","selectMapArea","setPoints","setPaths","setWatches","updateIndex","glh","coords","getTrackPoint","info","m","setIcon","greenIcon","blueIcon","setZIndexOffset","segments","color","weight","opacity","iconUrl","iconRetinaUrl","iconSize","iconAnchor","popupAnchor","shadowSize","serverStatusGridOptions","readerStatusGridOptions","cellClass","rowRenderIndex","colRenderIndex","serverStatuses","intervalPromise","refreshData","getServerReaders","BatchMoveCtrl","batchMove","DisplayOptionsCtrl","EditCustomFieldNameCtrl","uiGridConstants","saved","stateChangedListener","event","toState","toParams","preventDefault","displayGridOptions","handheldDisplayGridOptions","sortInfo","fields","directions","next","current","$off","handleLeaving","moveUp","moveDown","hhMoveUp","hhMoveDown","save","ClientApp","clientID","grantType","allowRefreshTokens","secret","Company","ClientIds","ALARMMONITORINGSERVICE","ALARMNOTIFIER","RADS","GrantTypes","CLIENTCREDENTIALS","AUTHORIZATIONCODE","RESOURCEOWNER","TESTer","MqttClient","accessGatewayMessages","accessTagMovements","accessTagObservations","accessEvents","accessAlarms","accessVTagSensors","machineName","tempCompany","clientAppGridOptions","selectedClientApp","printClientGridOptions","selectedPrintClient","mqttClientGridOptions","selectedMqttClient","companyGridOptions","selectedCompany","addClientApp","mqttClient","openMqttClientDialog","addMqttClient","editMqttClient","deleteMqttClient","printClient","openPrintClientDialog","addPrintClient","editPrintClient","deletePrintClient","clientApp","openClientappDialog","editClientApp","deleteClientApp","openCompanyDialog","addCompany","editCompany","deleteCompany","companyId","PrintCtrl","templateService","templates","selectedTemplate","AssetPictureCtrl","b64Str","ScheduledMaintenanceCtrl","maintenanceHistoryGridOptions","getMaintenanceHistories","newValue","oldValue","ReportAssetLocationHistoryCtrl","ReportGpsLocationHistoryCtrl","ReportAssetsCtrl","ReportCheckoutHistoryCtrl","ReportLocationHistoryCtrl","ReportLocationCtrl","ReportLowBatteryCtrl","ReportMaintenanceScheduleCtrl","ReportVTagCommunicationCtrl","ImportConfirmCtrl","working","getRoute","doImport","finally","ImportFixErrorsCtrl","errorEntity","ImportMapFieldsCtrl","mapFields","ImportUploadFileCtrl","mytest","EditBaseCtrl","pagingRoute","editModel","setNextMaintenance","loadSecondaryData","childrenGridOptions","getEntityNameSerial","b64Object","b64Val","base64","uploadImage","selectedMaintenance","loadEntityNameSerial","removeImage","openChildDialog","childAssets","childAsset","addChild","child","deleteChild","maint","openMaintenanceDialog","maintenance","locationModel","EditMaintenanceCtrl","$modalInstance","EditPasswordCtrl","saveDevicesettings","openPasswordDialog","pwd","pickChildModel","leafletMapEvents","leafletBoundsHelpers","leafletMarkerEvents","CRS","geo1Marker","geo2Marker","calculatePPM","mousePosition","b64","success","export","CmdCenterEditOptionsCtrl","CmdCenterEditSiteCtrl","CmdCenterNetworkCmdCtrl","CMDSHUTDOWN","CMDRESUME","CMDSETSECURITY","CMDRESETNETWORK","CMDSETREPORTINGINTERVAL","CMDSETGPSDISCOVERYMODE","dateOptions","formatYear","maxDate","minDate","startingDay","dateOpened","cancelCommands","resendCommands","setPositionFixedModel","vtagX","vtagY","vtagZ","parseFloat","fixed","setPositionGatewayModel","deleteSite","deleteArea","AssetSensorHistoriesDirective","commandEnabled","accelSensorEnabled","sensorText","CommandClearAlarmsDirective","controllerAs","attributes","dwellTime","CommandDwellTimeDirective","CommandGetAlarmsDirective","thresholdTypes","selectedThresholdType","CommandGetThresholdDirective","discoveryModes","discoveryModeCodes","selectedDiscoveryMode","selectedReader","selectedCode","CommandGPSDiscoveryModeDirective","CommandResetNetworkDirective","CommandResumeDirective","allowFixedTagsDiffMap","mapX","leafletEvent","latlng","mapY","xMeters","yMeters","memFixedTag","tempFixedTag","isGPSTag","runCommand","offsetMode","gatewayService","memGateway","tempGateway","reportingIntervals","selectedReportingInterval","CommandSetReportingIntervalDirective","SECURITYMODEON","SECURITYMODEOFF","SECURITYMODESNOOP","securityModes","selectedSecurityMode","thresholdDbm","CommandSetSecurityDirective","levelAmount","levelDuration","CommandSetThresholdDirective","levelQuantifier","defaultLevel","CommandShutdownDirective","AuthHelper","authService","interval","jwtHelper","checkAuth","bind","user","expiresInSeconds","expires_in","renewToken","access_token","login","ClientAppSettings","ASSETWORXWEBCLIENTID","ASSETWORXWEBCLIENTSECRET","AMSCLIENTID","ASSETWORXMOBILECLIENTID","ASSETWORXMOBILECLIENTSECRET","HANDHELDSYNCCLIENTID","RADSCLIENTID","ALARMNOTIFIERCLIENTID","originalClientId","originalSecret","generateSecret","match","EditMqttClientCtrl","originalUsername","originalPassword","alarmTopic","eventTopic","gatewayMessageTopic","sensorReadingTopic","tagMovementTopic","tagObservationTopic","EditPrintClientCtrl","assignedCompanies","availableCompanies","tempAssignedCompanies","tempAvailableCompanies","foundAt","alreadyAssigned","toCopy","selectedAvailableCompanies","curr","selectedAssignedCompanies","EditCompanyCtrl","LogoutCtrl","tokenService","remove","removeItem","getAuthenticationServer","Logout","logout","LoggedOutCtrl","LicenseExceededCtrl","CommandManager","queuedCommandService","getAllExtended","emptyPrintClient","AdminCtrl","ServerImportUploadFileCtrl","upload","file","url","method","ServerImportMapFieldsCtrl","validateImportColumns","startImport","ServerImportFixErrorsCtrl","errorsGridOptions","getControllersName","ServerImportConfirmCtrl","ServerImportSummaryCtrl","$httpProvider","$stateProvider","$urlRouterProvider","localStorageServiceProvider","notificationsConfigProvider","jwtOptionsProvider","setHideDelay","otherwise","$injector","state","requiresLogin","reloadOnSearch","views","ExportModel","abstract","ImportModel","unauthenticatedRedirector","whiteListedDomains","tokenGetter","expired","interceptors","factory","run","$rootScope","authHelper","adminModel","loading","bodyClass","getAuthenticationData","setAuthenticationServer","webClientID","webClientSecret","getUsername","startMonitoring"],"mappings":"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","file":"main.bcdf45fc36f2b68f2838.js","sourcesContent":["import {BaseEntity} from \"./BaseEntity\";\n\nexport class ApplicationSetting implements BaseEntity {\n static applicationSetting:ApplicationSetting;\n constructor(public id?: number,\n public version?: string,\n public type?: string,\n public licenseKey?: string,\n public company?: string,\n public lastRfidSerialNumber?: number,\n public lastModifiedBy?:string,\n public temperatureFormat?:string,\n public useMeters?:boolean,\n public assetDisplayColumns?:string,\n public vTagPopupDisplayRows?:string,\n public cmdMapRefresh?:number,\n public cmdActiveTimeout?:number,\n public cmdMapPinZoominEnabled?:boolean,\n public cmdMapPinDisplacePixels?:number,\n public eventTrim?:number,\n public alarmTrim?:number,\n public sensorReadingTrim?:number,\n public locationHistoryTrim?:number,\n public commandTrim?:number,\n public sensorStatTrim?: number,\n public mqttEnabled?: boolean,\n public smtpEmailEnableSSL?:boolean,\n public smtpEmailFrom?:string,\n public smtpEmailHost?:string,\n public smtpEmailPassword?:string,\n public smtpEmailPort?:number,\n public smtpEmailTo?:string,\n public smtpEmailUsername?:string,\n public emailMethod?:string,\n public emailCloudUsername?:string,\n public emailCloudPassword?:string,\n public twoFactorAuthEnabled?:boolean,\n public authenticationServer?:string,\n public dateFormat?:string,\n public vTagPositionReportingMode?:string,\n public alarmUnassociatedAssets?:boolean,\n public vTagGpsServerAddress?:string,\n public vTagGpsServerPort?:number,\n public vTagGpsServerUsername?:string,\n public vTagGpsServerPassword?: string,\n public defaultCheckoutLocationId?: number,\n public defaultCheckinLocationId?: number,\n public automaticallySerializeAssetName:boolean = false,\n public assetNameSerialPrefix:string=\"AWRX\",\n public assetNameSerialLength:number = 5,\n public currentAssetNameSerial: number = 1,\n public enableAssetUnseen: boolean = false,\n public enableGlobalAlarmMessages = false,\n public enableGlobalEventMessages = false,\n public enableGlobalGatewayMessages = false,\n public enableGlobalSensorReadingMessages = false,\n public enableGlobalTagMovementMessages = false,\n public enableGlobalTagObservationMessages = false,\n public updateLastInventoriedForMovedAssets = true,\n public fixedTagsMoveToDiffMap = true\n ) {\n }\n\n parseJson(json: any): void {\n this.id = json.id;\n this.defaultCheckinLocationId = json.defaultCheckinLocationId;\n this.defaultCheckoutLocationId = json.defaultCheckoutLocationId;\n this.vTagGpsServerAddress = json.vTagGpsServerAddress;\n this.vTagGpsServerPort = json.vTagGpsServerPort;\n this.vTagGpsServerUsername = json.vTagGpsServerUsername;\n this.vTagGpsServerPassword = json.vTagGpsServerPassword;\n this.version = json.version;\n this.type = json.type;\n this.licenseKey = json.licenseKey;\n this.company = json.company;\n this.lastRfidSerialNumber = json.lastRfidSerialNumber;\n this.lastModifiedBy = json.lastModifiedBy;\n this.temperatureFormat = json.temperatureFormat;\n this.useMeters = json.useMeters;\n this.assetDisplayColumns = json.assetDisplayColumns;\n this.vTagPopupDisplayRows = json.vTagPopupDisplayRows;\n this.cmdMapRefresh = json.cmdMapRefresh;\n this.cmdActiveTimeout = json.cmdActiveTimeout;\n this.cmdMapPinZoominEnabled = json.cmdMapPinZoominEnabled;\n this.cmdMapPinDisplacePixels = json.cmdMapPinDisplacePixels == null || json.cmdMapPinDisplacePixels < 1 ? 20 : json.cmdMapPinDisplacePixels;\n this.eventTrim = json.eventTrim;\n this.alarmTrim = json.alarmTrim;\n this.sensorReadingTrim = json.sensorReadingTrim;\n this.locationHistoryTrim = json.locationHistoryTrim;\n this.commandTrim = json.commandTrim;\n this.sensorStatTrim = json.sensorStatTrim;\n this.mqttEnabled = json.mqttEnabled;\n this.smtpEmailEnableSSL = json.smtpEmailEnableSSL;\n this.smtpEmailFrom = json.smtpEmailFrom;\n this.smtpEmailHost = json.smtpEmailHost;\n this.smtpEmailPassword = json.smtpEmailPassword;\n this.smtpEmailPort = json.smtpEmailPort;\n this.smtpEmailTo = json.smtpEmailTo;\n this.smtpEmailUsername = json.smtpEmailUsername;\n this.emailMethod = json.emailMethod;\n this.emailCloudUsername = json.emailCloudUsername;\n this.emailCloudPassword = json.emailCloudPassword;\n this.twoFactorAuthEnabled = json.twoFactorAuthEnabled;\n this.authenticationServer = json.authenticationServer;\n this.dateFormat = json.dateFormat == null ? \"MM-dd-yyyy HH:mm:ss\" : json.dateFormat;\n this.vTagPositionReportingMode = json.vTagPositionReportingMode;\n this.alarmUnassociatedAssets = json.alarmUnassociatedAssets;\n this.automaticallySerializeAssetName = json.automaticallySerializeAssetName;\n this.assetNameSerialPrefix = json.assetNameSerialPrefix;\n this.assetNameSerialLength = json.assetNameSerialLength;\n this.currentAssetNameSerial = json.currentAssetNameSerial;\n this.enableAssetUnseen = json.enableAssetUnseen;\n this.enableGlobalAlarmMessages = json.enableGlobalAlarmMessages;\n this.enableGlobalEventMessages = json.enableGlobalEventMessages;\n this.enableGlobalGatewayMessages = json.enableGlobalGatewayMessages;\n this.enableGlobalSensorReadingMessages = json.enableGlobalSensorReadingMessages;\n this.enableGlobalTagMovementMessages = json.enableGlobalTagMovementMessages;\n this.enableGlobalTagObservationMessages = json.enableGlobalTagObservationMessages;\n this.updateLastInventoriedForMovedAssets = json.updateLastInventoriedForMovedAssets;\n this.fixedTagsMoveToDiffMap = json.fixedTagsMoveToDiffMap;\n }\n}\n","import {QueuedCommand} from \"../entities/QueuedCommand\";\nimport {IVTag} from \"../entities/IVTag\";\nimport {CommandManager} from \"../libs/CommandManager\";\n\nexport class CommandBase {\n selectedItems:any[];\n constructor(public commandManager:CommandManager){\n }\n runCommand(){\n var qqs:QueuedCommand[] = [];\n $.each(this.getItems(), (index: number, vTag: IVTag) => {\n var queuedCommand = new QueuedCommand(null, vTag.vTagID, this.getCommandType(), this.getCommandText(vTag), vTag.readerID);\n qqs.push(queuedCommand);\n });\n this.commandManager.runCommands(qqs);\n }\n getItems(){\n return this.selectedItems;\n }\n getCommandText(asset:IVTag):string{\n return \"\";\n }\n getCommandType():string{\n return \"\";\n }\n}\n","import {BaseEntity} from \"./BaseEntity\";\n\nexport class QueuedCommand implements BaseEntity {\n assetName:string;\n assetDescription:string;\n constructor(\n public id?:number,\n public vTagID?:string,\n public commandType?:string,\n public commandText?:string,\n public readerID?:number,\n public status:string = \"Queued\",\n public retryCount:string = \"0\",\n public lastAttempt?:string,\n public created?:string,\n public reason?: string,\n public amsName?: string) {\n }\n parseJson(json: any): void {\n this.id = json.id;\n this.vTagID = json.vTagID;\n this.assetName = json.assetName;\n this.assetDescription = json.assetDescription;\n this.commandType = json.commandType;\n this.commandText = json.commandText;\n this.readerID = json.readerID;\n this.status = json.status;\n this.retryCount= json.retryCount;\n this.lastAttempt = json.lastAttempt;\n this.created = json.created;\n this.reason = json.reason;\n this.amsName = json.amsName;\n }\n}\n","import {IService} from \"../../services/IService\";\nimport {BaseEntity, IConstructor} from \"../../entities/BaseEntity\";\n\nexport class EditModel {\n $q:ng.IQService;\n entityId:number;\n entity:T;\n constructor($q:ng.IQService, public service:IService, public ctor:IConstructor){\n this.$q = $q;\n }\n loadEntity(entityId:number):ng.IPromise{\n this.entityId = entityId;\n var entityPromise:ng.IPromise;\n if(entityId == null)\n entityPromise = this.$q.when(new this.ctor());\n else\n entityPromise = this.service.get(entityId);\n return entityPromise.then((data)=>{\n this.entity = data;\n return this.$q.when(true);\n })\n .catch((exc)=>{\n return this.$q.when(true);\n });\n }\n loadData(entityId?:number):ng.IPromise{\n return this.loadEntity(entityId);\n }\n verifyData():ng.IPromise{\n return this.$q.when(true);\n }\n saveData():ng.IPromise{\n return this.verifyData().then((ok)=>{\n if(!ok)\n return this.$q.when(false);\n var mainPromise:ng.IPromise = null;\n if(this.entityId == null || isNaN(this.entityId))\n mainPromise = this.service.insert(this.entity);\n else\n mainPromise = this.service.update(this.entity);\n return mainPromise.then((data)=> {\n return this.$q.when(true);\n })\n .catch((err:any)=>{\n return this.$q.reject(\"Got error in saving data:\"+err);\n });\n });\n }\n\n}\n","import {Asset} from \"../entities/Asset\";\n\nexport interface ICoordinateHelper {\n getCanvasPoint(asset: Asset, zoomLevel: number): GeneralVector;\n}\n\nexport class ExactCoordinateHelper implements ICoordinateHelper {\n \n constructor(public pixelsPerMeter: number, public vTagPositionReportingMode: string, public useZoom:boolean, public displacePixels:number) {\n }\n\n public getCanvasPoint(asset: Asset, zoomLevel: number = 1): GeneralVector {\n if (asset.vTagX == null || asset.vTagY == null) {\n return new GeneralVector(null, null);\n }\n if (this.vTagPositionReportingMode == \"EXACT\") {\n var pixelsToDisplace = this.displacePixels == null || this.displacePixels < 1 ? 20 : this.displacePixels;\n var last4TagId = asset.vTagID.substring(4, 6);\n var last4Int = parseInt(last4TagId, 16);\n var fractionOf = last4Int / 256;\n var xDispFrac = Math.cos(2 * Math.PI * fractionOf);\n var yDispFrac = Math.sin(2 * Math.PI * fractionOf);\n // Leaflet uses powers of 2 for zoom\n var actualZoom = Math.pow(2.0, zoomLevel);\n var xDisp = this.useZoom ? xDispFrac * pixelsToDisplace / actualZoom : xDispFrac * pixelsToDisplace ;\n var yDisp = this.useZoom ? yDispFrac * pixelsToDisplace / actualZoom : yDispFrac * pixelsToDisplace ;\n var lngOrig = asset.vTagX * this.pixelsPerMeter;\n var latOrig = asset.vTagY * this.pixelsPerMeter;\n return new GeneralVector(lngOrig + xDisp, latOrig + yDisp);\n } else {\n return new GeneralVector(asset.vTagX * this.pixelsPerMeter, asset.vTagY * this.pixelsPerMeter);\n }\n }\n}\n\nexport class GpsCoordinateHelper implements ICoordinateHelper {\n A: number = 6378137.00;\n B: number = 6356752.31;\n F: number = 1.0 / 298.257223563;\n E_SQUARED: number = 2 * this.F - this.F * this.F;\n // Degrees to radians\n RADIANS_PER_DEGREE: number = Math.PI / 180.0;\n // Small variation for getting scale\n DELTA_DEGREES: number = 0.001;\n // Member variables\n private sr1: ScaledReferencePoint;\n private sr2: ScaledReferencePoint;\n private meters_per_degree_X: number;\n private meters_per_degree_Y: number;\n private pixels_per_meter: number;\n private v_globe: GeneralVector;\n /* Long, Lat Unit Vector */\n private v_map: GeneralVector;\n\n /* X, Y Pixels Unit Vector */\n constructor(r1: ReferencePoint, r2: ReferencePoint, public userSuppliedPPM:number) {\n // User supplied PPM is only used as a fallback for no GPS fix situation\n // Better to work in meters when transforming 2-D coordinates so we calculate scaling factors - use a small delta change in longitude or latitude\n var p1: EllipsoidPoint = this.generate_point(new GlobePoint(r1.Latitude, r1.Longitude, r1.Altitude));\n var p2: EllipsoidPoint = this.generate_point(new GlobePoint(r1.Latitude, r1.Longitude + this.DELTA_DEGREES, r1.Altitude));\n var p3: EllipsoidPoint = this.generate_point(new GlobePoint(r1.Latitude + this.DELTA_DEGREES, r1.Longitude, r1.Altitude));\n this.meters_per_degree_X = this.distance(p1, p2) / this.DELTA_DEGREES;\n this.meters_per_degree_Y = this.distance(p1, p3) / this.DELTA_DEGREES;\n // Generate new reference points using scaled (long, lat)\n this.sr1 = new ScaledReferencePoint(r1.Longitude * this.meters_per_degree_X, r1.Latitude * this.meters_per_degree_Y, r1.X_0, r1.Y_0);\n this.sr2 = new ScaledReferencePoint(r2.Longitude * this.meters_per_degree_X, r2.Latitude * this.meters_per_degree_Y, r2.X_0, r2.Y_0);\n // Generate unit vectors from the reference points\n this.v_globe = this.generate_unit_vector(this.sr1.ScaledLongitude, this.sr1.ScaledLatitude, this.sr2.ScaledLongitude, this.sr2.ScaledLatitude);\n this.v_map = this.generate_unit_vector(this.sr1.X_0, this.sr1.Y_0, this.sr2.X_0, this.sr2.Y_0);\n this.pixels_per_meter = this.distance_2D(this.sr1.X_0, this.sr1.Y_0, this.sr2.X_0, this.sr2.Y_0) / this.distance_2D(this.sr1.ScaledLongitude, this.sr1.ScaledLatitude, this.sr2.ScaledLongitude, this.sr2.ScaledLatitude);\n }\n\n // Calculate a unit vector from one point to another\n private generate_unit_vector(x1: number, y1: number, x2: number, y2: number): GeneralVector {\n var x_diff: number = x2 - x1;\n var y_diff: number = y2 - y1;\n var length: number = Math.sqrt(x_diff * x_diff + y_diff * y_diff);\n return new GeneralVector(x_diff / length, y_diff / length);\n }\n\n // Calculate a distance in 2D\n private distance_2D(x1: number, y1: number, x2: number, y2: number): number {\n var x_diff: number = x2 - x1;\n var y_diff: number = y2 - y1;\n return Math.sqrt(x_diff * x_diff + y_diff * y_diff);\n }\n\n // Convert GPS coordinates to bitmap coordinates\n public getCanvasPoint(asset: Asset, zoomLevel: number = 1): GeneralVector {\n // No fix - use coordinates of nearest fixed instead\n if (asset.vTagPositionType == \"GPS No Fix\" && asset.nearestFixed != null) {\n if (asset.vTagX == null || asset.vTagY == null) {\n return new GeneralVector(null, null);\n }\n var last4TagId = asset.vTagID.substring(4, 6);\n var last4Int = parseInt(last4TagId, 16);\n var fractionOf = last4Int / 256;\n var xDispFrac = Math.cos(2 * Math.PI * fractionOf);\n var yDispFrac = Math.sin(2 * Math.PI * fractionOf);\n // Leaflet uses powers of 2 for zoom\n var actualZoom = Math.pow(2.0, zoomLevel);\n var xDisp = xDispFrac * 40 / actualZoom;\n var yDisp = yDispFrac * 40 / actualZoom;\n var lngOrig = asset.vTagX * this.userSuppliedPPM;\n var latOrig = asset.vTagY * this.userSuppliedPPM;\n return new GeneralVector(lngOrig + xDisp, latOrig + yDisp);\n }\n // Check for missing coordinates\n if (asset.longitude == null && asset.latitude == null) {\n return new GeneralVector(null, null);\n }\n // Switch to scaled coordinate system for uniform axes then compute offset relative to reference point\n var latitude = asset.latitude;\n var longitude = asset.longitude;\n var scaled_longitude_offset: number = longitude * this.meters_per_degree_X - this.sr1.ScaledLongitude;\n var scaled_latitude_offset: number = latitude * this.meters_per_degree_Y - this.sr1.ScaledLatitude;\n // Project onto unit vector and perpendicular to unit vector\n var a = this.v_globe.X * scaled_longitude_offset + this.v_globe.Y * scaled_latitude_offset;\n var b = -1.0 * this.v_globe.Y * scaled_longitude_offset + this.v_globe.X * scaled_latitude_offset;\n // Take account of difference scales of coordinate systems\n a *= this.pixels_per_meter;\n b *= this.pixels_per_meter;\n // (Long, Lat) is (Long) on X, (Lat) on Y in Cartesian; Pixels is (Bitmap:X) on X, (Bitmap:Y) on (-Y) in Cartesian;\n // Calculate results using projected values\n var x = this.sr1.X_0 + a * this.v_map.X + b * this.v_map.Y * -1.0;\n var y = this.sr1.Y_0 + a * this.v_map.Y + b * this.v_map.X;\n return new GeneralVector(x, y);\n }\n\n // Convert GPS coordinates to bitmap coordinates\n public getTrackPoint(latitude: number, longitude: number): GeneralVector {\n // Switch to scaled coordinate system for uniform axes then compute offset relative to reference point\n var scaled_longitude_offset: number = longitude * this.meters_per_degree_X - this.sr1.ScaledLongitude;\n var scaled_latitude_offset: number = latitude * this.meters_per_degree_Y - this.sr1.ScaledLatitude;\n // Project onto unit vector and perpendicular to unit vector\n var a = this.v_globe.X * scaled_longitude_offset + this.v_globe.Y * scaled_latitude_offset;\n var b = -1.0 * this.v_globe.Y * scaled_longitude_offset + this.v_globe.X * scaled_latitude_offset;\n // Take account of difference scales of coordinate systems\n a *= this.pixels_per_meter;\n b *= this.pixels_per_meter;\n // (Long, Lat) is (Long) on X, (Lat) on Y in Cartesian; Pixels is (Bitmap:X) on X, (Bitmap:Y) on (-Y) in Cartesian;\n // Calculate results using projected values\n var x = this.sr1.X_0 + a * this.v_map.X + b * this.v_map.Y * -1.0;\n var y = this.sr1.Y_0 + a * this.v_map.Y + b * this.v_map.X;\n return new GeneralVector(x, y);\n }\n\n // Convert bitmap coordinates to GPS coordinates\n public pixels_to_degrees(x: number, y: number): GlobePoint {\n // Compute offset relative to reference point\n var x_offset: number = x - this.sr1.X_0;\n var y_offset: number = y - this.sr1.Y_0;\n // Project onto unit vector and perpendicular to unit vector\n var a: number = this.v_map.X * x_offset + this.v_map.Y * y_offset;\n var b: number = -1.0 * this.v_map.Y * x_offset + this.v_map.X * y_offset;\n // Take account of different scales of coordinate systems\n a /= this.pixels_per_meter;\n b /= this.pixels_per_meter;\n // (Long, Lat) is (Long) on X, (Lat) on Y in Cartesian; Pixels is (Bitmap:X) on X, (Bitmap:Y) on (-Y) in Cartesian;\n //b *= -1.0;\n // Calculate results using projected values\n var longitude = (this.sr1.ScaledLongitude + a * this.v_globe.X + b * this.v_globe.Y * -1.0) / this.meters_per_degree_X;\n var latitude = (this.sr1.ScaledLatitude + a * this.v_globe.Y + b * this.v_globe.X) / this.meters_per_degree_Y;\n return new GlobePoint(latitude, longitude, 200);\n }\n\n // Scale for converting pixels to meters\n public get_meters_per_pixel(): number {\n return 1.0 / this.pixels_per_meter;\n }\n\n // Convert longitude, latitude, altitude to (X, Y, Z) using equations from the internet\n generate_point(g: GlobePoint): EllipsoidPoint {\n var result: EllipsoidPoint = new EllipsoidPoint();\n var st: number = Math.sin(g.Latitude * this.RADIANS_PER_DEGREE);\n /* Sin(theta) */\n var n: number = this.A / Math.sqrt(1.0 - this.E_SQUARED * st * st);\n result.X = (n + g.Altitude) * Math.cos(g.Latitude * this.RADIANS_PER_DEGREE) * Math.cos(g.Longitude * this.RADIANS_PER_DEGREE);\n result.Y = (n + g.Altitude) * Math.cos(g.Latitude * this.RADIANS_PER_DEGREE) * Math.sin(g.Longitude * this.RADIANS_PER_DEGREE);\n result.Z = ((1 - this.E_SQUARED) * n + g.Altitude) * st;\n return result;\n }\n\n // Compute distance between points\n distance(p1: EllipsoidPoint, p2: EllipsoidPoint): number {\n var x_diff: number = p1.X - p2.X;\n var y_diff: number = p1.Y - p2.Y;\n var z_diff: number = p1.Z - p2.Z;\n return Math.sqrt(x_diff * x_diff + y_diff * y_diff + z_diff * z_diff);\n }\n}\n\nexport class ReferencePoint {\n constructor(public Longitude: number, public Latitude: number, public Altitude: number, public X_0: number, public Y_0: number) {\n\n }\n}\n\nexport class ScaledReferencePoint {\n constructor(public ScaledLongitude: number, public ScaledLatitude: number, public X_0: number, public Y_0: number) {\n }\n}\n\nexport class GlobePoint {\n constructor(public Latitude: number, public Longitude: number, public Altitude: number) {\n }\n}\n\nexport class EllipsoidPoint {\n constructor(public X?: number, public Y?: number, public Z?: number) {\n }\n}\n\nexport class GeneralVector {\n constructor(public X: number, public Y: number) {\n }\n}\n","export default \"
\\n

\\n
\\n
\\n \\n \\n \\n  \\n \\n
\\n \\n \\n
\\n
\\n
\\n \\n \\n \\n \\n
\\n
\\n
\\n
\\n\";","import {BaseEntity} from \"../../entities/BaseEntity\";\nimport {IService} from \"../../services/IService\";\nimport {NotificationService} from \"../../services/NotificationService\";\n\nexport class PagingModel {\n pagingService: IService;\n page: number = 1;\n pageSize: number = 10;\n totalItems: number = 100000;\n items: T[] = [];\n search: string = \"\";\n orderColumn: string = \"\";\n orderDirection: string = \"\";\n selectedItems: T[] = [];\n $q: ng.IQService;\n nameValuePairs: [string, string, number][] = [];\n\n constructor($q: ng.IQService, pagingService: IService, public notificationService: NotificationService) {\n this.pagingService = pagingService;\n this.$q = $q;\n }\n\n getPagedPromise(): ng.IPromise {\n return this.pagingService.getPaged(this.search, this.page, this.pageSize, this.orderColumn, this.orderDirection);\n }\n\n entityName(): string {\n return \"\";\n }\n\n getCountPromise(): ng.IPromise {\n return this.pagingService.getCount(this.search);\n }\n\n transformItem(entity: T) {\n }\n\n getPaged(): ng.IPromise {\n this.selectedItems = [];\n return this.$q.all([\n this.getPagedPromise(),\n this.getCountPromise()\n ])\n .then((data: any) => {\n for(var i=0; i < data[0].length; i++){\n var item = data[0];\n this.transformItem(item);\n }\n this.items = data[0];\n this.totalItems = data[1];\n })\n .catch((err: any) => {\n this.notificationService.notifyError(err);\n });\n }\n\n addSelected(item: any): void {\n var foundIndex = this.selectedItems.indexOf(item);\n if (foundIndex != -1)\n this.selectedItems[foundIndex] = item;\n else\n this.selectedItems.push(item);\n this.selectionChanged();\n }\n\n removeSelected(item: any): void {\n var foundIndex = this.selectedItems.indexOf(item);\n if (foundIndex != -1)\n this.selectedItems.splice(foundIndex, 1);\n this.selectionChanged();\n }\n\n selectionChanged(): void {\n }\n\n getColumnDefs(): ng.IPromise {\n return null;\n }\n\n}\n","import {BaseEntity} from \"../entities/BaseEntity\";\nimport {PagingModel} from \"../models/paging/PagingModel\";\nimport { StateParams, StateService } from \"@uirouter/angularjs\";\nimport {NotificationService} from \"../services/NotificationService\";\nimport {pagination} from \"ui-grid\";\nimport angular from \"angular\";\nimport {ApplicationSetting} from \"../entities/ApplicationSetting\";\n\nexport class PagingCtrl {\n pagingModel: PagingModel;\n tempSearch: string;\n $scope: any;\n locationService: ng.ILocationService;\n stateParamsService: StateParams;\n stateService: StateService;\n gridOptions: any = null;\n\n // controller's name is registered in Application.ts and specified from ng-controller attribute in index.html\n constructor($scope:any, $location: ng.ILocationService, stateService: StateService,\n stateParamsService: StateParams,\n pagingModel: PagingModel,\n public notificationService: NotificationService) {\n //this.todos = $scope.todos = todoStorage.get();\n this.pagingModel = pagingModel;\n this.stateService = stateService;\n this.stateParamsService = stateParamsService;\n this.$scope = $scope;\n this.locationService = $location;\n $scope.vm = this;\n // Reset the pagination information\n this.pagingModel.search = stateParamsService[\"search\"] ? stateParamsService[\"search\"] : \"\";\n this.pagingModel.page = stateParamsService[\"page\"] ? +stateParamsService[\"page\"] : 1;\n this.pagingModel.pageSize = stateParamsService[\"pageSize\"] ? +stateParamsService[\"pageSize\"] : 10;\n this.pagingModel.orderColumn = (stateParamsService[\"orderColumn\"] != null) ? stateParamsService[\"orderColumn\"] : \"\";\n this.pagingModel.orderDirection = (stateParamsService[\"orderDirection\"] != null) ? stateParamsService[\"orderDirection\"] : \"\";\n this.tempSearch = this.pagingModel.search;\n this.updateLocation();\n // Define grid options\n this.gridOptions = {\n paginationPageSizes: [10, 15, 20, 50, 100, 500],\n paginationPageSize: this.pagingModel.pageSize,\n useExternalPagination: true,\n useExternalSorting: true,\n columnDefs: [],\n totalItems: 100000,\n\n minRowsToShow: this.pagingModel.pageSize + 4,\n data: [],\n onRegisterApi: function (gridApi:any) {\n gridApi.pagination.seek($scope.vm.pagingModel.page);\n gridApi.core.on.sortChanged($scope, function (grid:any, sortColumns:any) {\n if (sortColumns.length == 0) {\n $scope.vm.pagingModel.orderColumn = null;\n } else {\n $scope.vm.pagingModel.orderColumn = sortColumns[0].field;\n $scope.vm.pagingModel.orderDirection = sortColumns[0].sort.direction;\n }\n $scope.vm.getPaged();\n });\n gridApi.pagination.on.paginationChanged($scope, function (newPage:any, pageSize:any) {\n //alert(angular.element(document.getElementsByClassName('grid')[0]));\n //$scope.vm.gridOptions.minRowsToShow = pageSize+1;\n //$scope.vm.gridOptions.virtualizationThreshold = pageSize+1;\n var maxRows = Math.min(pageSize, $scope.vm.gridOptions.totalItems);\n angular.element(document.getElementsByClassName('grid')[0]).css('height', maxRows * 30 + 90 + 'px');\n $scope.vm.pagingModel.page = newPage;\n $scope.vm.pagingModel.pageSize = pageSize;\n $scope.vm.gridOptions.minRowsToShow = pageSize + 2;\n $scope.vm.updateLocation();\n $scope.vm.getPaged();\n });\n gridApi.selection.on.rowSelectionChanged($scope, function (row:any) {\n var entity = row.entity;\n //alert(\"row selection changed. entity.name=\"+entity.name+\". is selected=\"+row.isSelected);\n if (row.isSelected)\n $scope.vm.pagingModel.addSelected(entity);\n else\n $scope.vm.pagingModel.removeSelected(entity);\n });\n gridApi.selection.on.rowSelectionChangedBatch($scope, function (rows:any) {\n $.each(rows, (i, row) => {\n var entity = row.entity;\n if (row.isSelected)\n $scope.vm.pagingModel.addSelected(entity);\n else\n $scope.vm.pagingModel.removeSelected(entity);\n });\n });\n }\n };\n this.pagingModel.getColumnDefs().then(() => {\n this.gridOptions.columnDefs = this.setColumns();\n //this.gridOptions.data\n });\n this.init();\n this.getPaged();\n }\n\n init(): any {\n }\n\n setColumns(): any {\n var cols: any = [];\n var dateFilter = ApplicationSetting.applicationSetting.dateFormat;\n $.each(this.pagingModel.nameValuePairs, (index, nv) => {\n //console.log(\"field=\"+nv[0]+\" and display=\"+nv[1]);\n if (nv[0] == \"created\" || nv[0] == \"lastInventoried\" || nv[0] == \"vTagLastMoved\" || nv[0] == \"vTagLastSeen\" || nv[0] == \"lastModified\" || nv[0] == \"timeseen\" || nv[0] == \"lastObservedTime\" || nv[0] == \"eventTime\" || nv[0] == \"alarmTime\" || nv[0] == \"lastAttempt\" || nv[0] == \"ackTime\" || nv[0] == \"lastGPSFix\" || nv[0] == 'lastSeen' || nv[0] == 'nextMaintenance' || nv[0] == 'lastMaintenance') {\n cols.push({\n field: nv[0],\n name: nv[1],\n displayName: nv[1],\n width: nv[2],\n cellFilter: \"date:'\" + dateFilter + \"'\",\n enableSorting: true,\n sort: null\n });\n } else\n cols.push({\n field: nv[0],\n name: nv[1],\n displayName: nv[1],\n width: nv[2],\n enableSorting: true,\n sort: null\n });\n });\n return cols;\n }\n\n getPaged(): void {\n this.pagingModel.getPaged().then(() => {\n this.gridOptions.totalItems = this.pagingModel.totalItems;\n this.gridOptions.data = this.pagingModel.items;\n });\n }\n\n\n searchClick(): void {\n this.pagingModel.search = this.tempSearch;\n this.getPaged();\n this.updateLocation();\n }\n\n updateLocation(): void {\n this.locationService.search({\n search: this.pagingModel.search,\n page: this.pagingModel.page,\n pageSize: this.pagingModel.pageSize,\n orderColumn: this.pagingModel.orderColumn,\n orderDirection: this.pagingModel.orderDirection\n });\n }\n}\n","\ndeclare function moment(something:any,othersomething?:any): any;\ndeclare namespace moment{\n export var ISO_8601: any;\n export function utc(val:any):any;\n}\ndeclare namespace L{\n export function areaSelect(vals: any): any\n export function rectangle(vals?:any, vals2?:any): any\n}\n\n export class LatLngZoom {\n constructor(public lat:number, public lng:number, public zoom:number) {\n }\n }\n\n export class Layers {\n baselayers:BaseLayers;\n\n constructor(url:string, bounds:any[]) {\n this.baselayers = new BaseLayers();\n }\n }\n\n export class BaseLayers {\n constructor() {\n }\n }\n\n export class BackgroundImage {\n name:string = \"Background\";\n type:string = \"imageOverlay\";\n layerParams:LayerParams = new LayerParams(false, true);\n\n constructor(public url:string, public bounds:any[]) {\n }\n }\n\n export class LayerParams {\n constructor(public showOnSelector:boolean, public noWrap:boolean) {\n }\n }\n\n export class MapDefaults {\n constructor(public scrollWheelZoom:boolean, public crs:any, public maxZoom:number, public minZoom:number) {\n }\n }\n\n export class MapEvents {\n map:any;\n\n constructor(events:string[]) {\n this.map = {};\n this.map.enable = events;\n this.map.logic = \"emit\";\n }\n }\n","import {BaseEntity} from \"./BaseEntity\";\n\nexport class PrintJob implements BaseEntity {\n constructor(public id?: number,\n public recordID?: number,\n public tableName?: string,\n public templateID?: number,\n public useWithService?: string,\n public assetName?: string,\n public locationName?: string,\n public templateName?: string,\n public message?: string, \n public created?: string,\n public generatedRfid?: string,\n public completed: boolean = false) {\n }\n\n parseJson(json: any): void {\n this.id = json.id;\n this.recordID = json.recordID;\n this.tableName = json.tableName;\n this.templateID = json.templateID;\n this.completed = json.completed;\n this.assetName = json.assetName;\n this.locationName = json.locationName;\n this.templateName = json.templateName;\n this.message = json.message;\n this.created = json.created;\n this.generatedRfid = json.generatedRfid;\n this.useWithService = json.useWithService;\n }\n}\n","import { StateService } from \"@uirouter/angularjs\";\n\nexport class HttpHandlerService {\n httpService:ng.IHttpService;\n handlerUrl:string;\n\n constructor(public $http: ng.IHttpService, public $q: ng.IQService, public $state: StateService) {\n this.httpService = $http;\n }\n\n useGetHandler(route:string, action:string, params:any):ng.IPromise< any > {\n var result:ng.IPromise< any > = this.httpService.get(this.getUrl(route, action), params)\n .then(\n (response:any):ng.IPromise< any > => {\n return this.handlerResponded(response, params);\n },\n (error:angular.IHttpPromiseCallbackArg)=>{\n return this.$q.reject(this.handleErrorResponse(route,action, error));\n }\n );\n return result;\n }\n\n usePostHandler(route:string, action:string, params:any, config?:any):ng.IPromise< any > {\n var result:ng.IPromise< any > = this.httpService.post(this.getUrl(route, action), params, config)\n .then(\n (response:any):ng.IPromise< any > => {\n return this.handlerResponded(response, params);\n },\n (error:angular.IHttpPromiseCallbackArg)=>{\n return this.$q.reject(this.handleErrorResponse(route,action, error));\n }\n );\n return result;\n }\n\n usePutHandler(route:string, action:string, params:any):ng.IPromise< any > {\n var result:ng.IPromise< any > = this.httpService.put(this.getUrl(route, action), params)\n .then(\n (response:any):ng.IPromise< any > => {\n return this.handlerResponded(response, params);\n },\n (error:angular.IHttpPromiseCallbackArg)=>{\n return this.$q.reject(this.handleErrorResponse(route,action, error));\n }\n );\n return result;\n }\n\n useDeleteHandler(route:string, action:string, params:any):ng.IPromise< any > {\n var result:ng.IPromise< any > = this.httpService.delete(this.getUrl(route, action), params)\n .then(\n (response:any):ng.IPromise< any > => {\n return this.handlerResponded(response, params);\n },\n (error:angular.IHttpPromiseCallbackArg)=>{\n return this.$q.reject(this.handleErrorResponse(route,action, error));\n }\n );\n return result;\n }\n\n handlerResponded(response:any, params?:any):any {\n //response.data.requestParams = params;\n if(response.status == 204)\n return null;\n else\n return response.data;\n }\n\n handleErrorResponse(route:string, action:string, error:angular.IHttpPromiseCallbackArg):string{\n action = action.indexOf(\"?\") > -1 ? action.substring(0, action.indexOf(\"?\")) : action;\n var errMsg: string = \"\";\n if (error.data != null && error.data.message != null)\n errMsg = error.data.message;\n else if (error.data != null && error.data.Message != null)\n errMsg = error.data.Message;\n if (error.status == 403) {\n if (error.data != null && error.data.message != null && error.data.message.indexOf(\"License Exceeded\") != -1) {\n this.$state.go('licenseexceeded');\n }\n else if (error.data != null && error.data.message != null)\n return error.data.message;\n else\n return \"Your user account do not have enough privilege to take this action.\";\n }\n if(error.status == 400)\n return errMsg;\n if (error.status == 401) {\n this.$state.go('loggedout');\n }\n if(errMsg.length == 0)\n return \"Web service error at \"+route+\"/\"+action+'-'+errMsg;\n else\n return errMsg;\n }\n\n protected getUrl(route:string, action:string){\n var url:string = process.env.assetWorxApiUrl + route + \"/\" + action;\n return url;\n }\n\n protected getBaseUrl():string{\n return \"test\"\n }\n\n protected getBasesUrl():string{\n return this.getBaseUrl() + \"s\";\n }\n\n protected formatStr(val:string):string{\n return val == null ? \"\" : val;\n }\n\n} // HttpHandlerService class\n\nexport class ActionParams{\n action:string;\n params:any;\n constructor(action:string, params:any){\n this.action = action;\n this.params = params;\n }\n}\n","import {BaseEntity} from \"./BaseEntity\";\n\nexport class AlertingAction implements BaseEntity {\n constructor(\n public id?:number,\n public name?:string,\n public adminPopupAlert?:boolean,\n public checkin?:boolean,\n public checkout?:boolean,\n public logAlarm?:boolean,\n public onlyIfCheckedIn?:boolean,\n public autoAck?:boolean,\n public pluginActions?:string,\n public changeLocation?:boolean,\n public smtpEmail?:boolean,\n public gpO1?:boolean,\n public gpO1State?:string,\n public gpO1Seconds?:number,\n public gpO2?:boolean,\n public gpO2State?:string,\n public gpO2Seconds?:number,\n public lastModifiedBy?:string) {\n }\n parseJson(json: any): void {\n this.id = json.id;\n this.name = json.name;\n this.adminPopupAlert = json.adminPopupAlert;\n this.checkin = json.checkin;\n this.checkout = json.checkout;\n this.logAlarm = json.logAlarm;\n this.onlyIfCheckedIn = json.onlyIfCheckedIn;\n this.autoAck = json.autoAck;\n this.pluginActions = json.pluginActions;\n this.changeLocation = json.changeLocation;\n this.smtpEmail = json.smtpEmail;\n this.gpO1 = json.gpO1;\n this.gpO1State = json.gpO1State;\n this.gpO1Seconds = json.gpO1Seconds;\n this.gpO2 = json.gpO2;\n this.gpO2State = json.gpO2State;\n this.gpO2Seconds = json.gpO2Seconds;\n this.lastModifiedBy = json.lastModifiedBy;\n }\n\n}\n","import {BaseEntity} from \"./BaseEntity\";\nimport {IVTag} from \"./IVTag\";\nimport {ApplicationSetting} from \"./ApplicationSetting\";\n\nexport class Asset implements BaseEntity, IVTag {\n constructor(public id?:number,\n public name?:string,\n public description?:string,\n public rfidTag?:string,\n public vTagID?:string,\n public vTagGpsDeviceID?:string,\n public vTagGpsAppKey?:string,\n public deviceRegistered:boolean = false,\n public assetType?:string,\n public departmentCode?:string,\n public maxUnseenTime?:number,\n public lastObservedLocation?:string,\n public lastObservedTime?:string,\n public checkinStatus:string = \"Checked In\",\n public checkedOutTo?:string,\n public additionalInformation?:string,\n public locationID?:number,\n public disposalStatus:string = \"In Service\",\n public disposalMethod?:string,\n public disposalDate?:Date,\n public disposalDestination?:string,\n public maintenanceStartDate?:Date,\n public maintenanceSingleDate?:Date,\n public nextMaintenance?:Date,\n public date1?:Date,\n public date2?:Date,\n public date3?:Date,\n public date4?:Date,\n public date5?:Date,\n public listValue1?:string,\n public listValue2?:string,\n public listValue3?:string,\n public listValue4?:string,\n public listValue5?:string,\n public text1?:string,\n public text2?:string,\n public text3?:string,\n public text4?:string,\n public text5?:string,\n public text6?:string,\n public text7?:string,\n public text8?:string,\n public text9?:string,\n public text10?:string,\n public text11?:string,\n public text12?:string,\n public text13?:string,\n public text14?:string,\n public text15?:string,\n public text16?:string,\n public text17?:string,\n public text18?:string,\n public text19?:string,\n public text20?:string,\n public locationName?:string,\n public locationSite?:string,\n public locationBuilding?:string,\n public locationFloor?:string,\n public locationRoom?:string,\n public locationDescription?:string,\n public maintenanceMethod:string=\"No Maintenance\",\n public maintenanceIntervalMonths?:number,\n public vTagX?:number,\n public vTagY?:number,\n public vTagZ?:number,\n public latitude?:number,\n public longitude?:number,\n public altitude?:number,\n public numberOfSatellites?:number,\n public lastGPSFix?:string,\n public gpsAccuracy?:string,\n public missedSatelliteFixes?:number,\n public parentVTag?:string,\n public vTagType?:string,\n public vTagPositionType?:string,\n public vTagFixedRelay?:boolean,\n public vTagAccelSensor?:boolean,\n public vTagBoxX?:number,\n public vTagBoxY?:number,\n public vTagBoxWidth?:number,\n public vTagBoxHeight?:number,\n public vTagAlgorithmType?:string,\n public vTagLastSeen?:string,\n public vTagLastMoved?:string,\n public batteryLevel?:string,\n public nearestFixed?:string,\n public nearestFixedName?:string,\n public lastModified?:string,\n public created?:string,\n public sensorReadingHistoryID?:number,\n public alertingActionID?:number,\n public sensorStatsHistoryID?:number,\n public assetParentID?:number,\n public assetChildCount?:number,\n public readerID?:number,\n public fileDataID?:number,\n public batteryVolts?:number,\n public lastModifiedBy?:string,\n public lastInventoried?:string) {\n }\n isActiveTag(minutes:number){\n var nowDate:number = Date.now();\n var lastSeenDate:number = this.vTagLastSeen == null ? Date.now() : Date.parse(this.vTagLastSeen);\n var diffDate:number = nowDate - lastSeenDate;\n var diffMinutes:number = Math.abs(diffDate /60000);\n //console.log(\"Asset - tag \"+this.vTagID+\" lastSeen=\"+this.vTagLastSeen+\" and diffMinutes=\"+diffMinutes+\" and minutes=\"+minutes);\n if(diffMinutes > minutes)\n return false;\n else\n return true;\n }\n isRecentlyActive(){\n var nowDate:number = Date.now();\n var lastMovedDate:number = this.vTagLastMoved == null ? Date.now() : Date.parse(this.vTagLastMoved);\n var diffDate:number = nowDate - lastMovedDate;\n var diffMinutes:number = Math.abs(diffDate /60000);\n if(diffMinutes < 5)\n return true;\n else\n return false;\n }\n search(txt:string):boolean{\n if(txt == null || txt.length == 0)\n return true;\n var search:string = txt.toLowerCase();\n if(this.name != null && this.name.toLowerCase().indexOf(search) != -1)\n return true;\n if(this.description != null && this.description.toLowerCase().indexOf(search) != -1)\n return true;\n if(this.rfidTag != null && this.rfidTag.toLowerCase().indexOf(search) != -1)\n return true;\n if(this.vTagID != null && this.vTagID.toLowerCase().indexOf(search) != -1)\n return true;\n if(this.text1 != null && this.text1.toLowerCase().indexOf(search) != -1)\n return true;\n if(this.text2 != null && this.text2.toLowerCase().indexOf(search) != -1)\n return true;\n if(this.text3 != null && this.text3.toLowerCase().indexOf(search) != -1)\n return true;\n if(this.text4 != null && this.text4.toLowerCase().indexOf(search) != -1)\n return true;\n if(this.text5 != null && this.text5.toLowerCase().indexOf(search) != -1)\n return true;\n if(this.text6 != null && this.text6.toLowerCase().indexOf(search) != -1)\n return true;3\n if(this.text7 != null && this.text7.toLowerCase().indexOf(search) != -1)\n return true;\n if(this.text8 != null && this.text8.toLowerCase().indexOf(search) != -1)\n return true;\n if(this.text9 != null && this.text9.toLowerCase().indexOf(search) != -1)\n return true;\n if(this.text10 != null && this.text10.toLowerCase().indexOf(search) != -1)\n return true;\n if(this.text11 != null && this.text11.toLowerCase().indexOf(search) != -1)\n return true;\n if(this.text12 != null && this.text12.toLowerCase().indexOf(search) != -1)\n return true;\n if(this.text13 != null && this.text13.toLowerCase().indexOf(search) != -1)\n return true;\n if(this.text14 != null && this.text14.toLowerCase().indexOf(search) != -1)\n return true;\n if(this.locationName != null && this.locationName.toLowerCase().indexOf(search) != -1)\n return true;\n if(this.locationSite != null && this.locationSite.toLowerCase().indexOf(search) != -1)\n return true;\n if(this.locationBuilding != null && this.locationBuilding.toLowerCase().indexOf(search) != -1)\n return true;\n if(this.locationFloor != null && this.locationFloor.toLowerCase().indexOf(search) != -1)\n return true;\n if(this.locationRoom != null && this.locationRoom.toLowerCase().indexOf(search) != -1)\n return true;\n if(this.locationDescription != null && this.locationDescription.toLowerCase().indexOf(search) != -1)\n return true;\n /*\n //if(this.date1 != null && this.date1.toLowerCase().indexOf(search) != -1)\n // return true;\n if(this.date2 != null && this.date2.toLowerCase().indexOf(search) != -1)\n return true;\n if(this.date3 != null && this.date3.toLowerCase().indexOf(search) != -1)\n return true;\n if(this.date4 != null && this.date4.toLowerCase().indexOf(search) != -1)\n return true;\n if(this.date5 != null && this.date5.toLowerCase().indexOf(search) != -1)\n return true;\n */\n if(this.listValue1 != null && this.listValue1.toLowerCase().indexOf(search) != -1)\n return true;\n if(this.listValue2 != null && this.listValue2.toLowerCase().indexOf(search) != -1)\n return true;\n if(this.listValue3 != null && this.listValue3.toLowerCase().indexOf(search) != -1)\n return true;\n if(this.listValue4 != null && this.listValue4.toLowerCase().indexOf(search) != -1)\n return true;\n if(this.listValue5 != null && this.listValue5.toLowerCase().indexOf(search) != -1)\n return true;\n return false;\n }\n\n parseJson(json:any):void{\n var dateFormat = ApplicationSetting.applicationSetting.dateFormat;\n this.id = json.id;\n this.name = json.name;\n this.description = json.description,\n this.rfidTag = json.rfidTag,\n this.vTagID = json.vTagID,\n this.vTagGpsDeviceID = json.vTagGpsDeviceID,\n this.vTagGpsAppKey = json.vTagGpsAppKey,\n this.deviceRegistered = json.deviceRegistered == null ? false : json.deviceRegistered,\n this.assetType = json.assetType,\n this.departmentCode = json.departmentCode,\n this.maxUnseenTime = json.maxUnseenTime,\n this.lastObservedLocation = json.lastObservedLocation,\n this.lastObservedTime = json.lastObservedTime ;//== null ? \"\" : moment(json.lastObservedTime).format(dateFormat),\n this.checkinStatus = json.checkinStatus,\n this.checkedOutTo = json.checkedOutTo,\n this.additionalInformation = json.additionalInformation,\n this.locationID = json.locationID,\n this.disposalStatus = json.disposalStatus,\n this.disposalMethod = json.disposalMethod,\n this.disposalDate = json.disposalDate == null ? null : new Date(json.disposalDate),\n this.disposalDestination = json.disposalDestination,\n this.maintenanceStartDate = json.maintenanceStartDate == null ? null : new Date(json.maintenanceStartDate),\n this.maintenanceSingleDate = json.maintenanceSingleDate == null ? null : new Date(json.maintenanceSingleDate),\n this.nextMaintenance = json.nextMaintenance == null ? null : new Date(json.nextMaintenance),\n this.date1 = json.date1== null ? null : new Date(json.date1);\n this.date2 = json.date2== null ? null : new Date(json.date2);\n this.date3 = json.date3== null ? null : new Date(json.date3);\n this.date4 = json.date4== null ? null : new Date(json.date4);\n this.date5 = json.date5== null ? null : new Date(json.date5);\n this.listValue1 = json.listValue1,\n this.listValue2 = json.listValue2,\n this.listValue3 = json.listValue3,\n this.listValue4 = json.listValue4,\n this.listValue5 = json.listValue5,\n this.text1= json.text1,\n this.text2 = json.text2,\n this.text3=json.text3,\n this.text4 = json.text4,\n this.text5 = json.text5,\n this.text6 = json.text6,\n this.text7 = json.text7,\n this.text8 = json.text8,\n this.text9 = json.text9,\n this.text10 = json.text10,\n this.text11 = json.text11,\n this.text12 = json.text12,\n this.text13 = json.text13,\n this.text14 = json.text14,\n this.text15 = json.text15,\n this.text16 =json.text16,\n this.text17 = json.text17,\n this.text18 = json.text18,\n this.text19 = json.text19,\n this.text20 = json.text20,\n this.locationName = json.locationName,\n this.locationSite = json.locationSite,\n this.locationBuilding = json.locationBuilding,\n this.locationFloor = json.locationFloor,\n this.locationRoom = json.locationRoom,\n this.locationDescription = json.locationDescription,\n this.maintenanceMethod = json.maintenanceMethod == null ? \"No Maintenance\":json.maintenanceMethod,\n this.maintenanceIntervalMonths = json.maintenanceIntervalMonths,\n this.vTagX = json.vTagX,\n this.vTagY = json.vTagY,\n this.vTagZ = json.vTagZ,\n this.latitude= json.latitude,\n this.longitude = json.longitude,\n this.altitude = json.altitude,\n this.numberOfSatellites = json.numberOfSatellites,\n this.missedSatelliteFixes = json.missedSatelliteFixes,\n this.parentVTag = json.parentVTag,\n this.lastGPSFix = json.lastGPSFix,\n this.gpsAccuracy = json.gpsAccuracy,\n this.vTagType = json.vTagType,\n this.vTagPositionType = json.vTagPositionType,\n this.vTagFixedRelay = json.vTagFixedRelay,\n this.vTagAccelSensor = json.vTagAccelSensor,\n this.vTagBoxX = json.vTagBoxX,\n this.vTagBoxY = json.vTagBoxY,\n this.vTagBoxWidth = json.vTagBoxWidth,\n this.vTagBoxHeight = json.vTagBoxHeight,\n this.vTagAlgorithmType = json.vTagAlgorithmType,\n this.vTagLastSeen = json.vTagLastSeen;// == null ? \"\" : moment(json.vTagLastSeen).format(dateFormat),\n this.vTagLastMoved = json.vTagLastMoved;// == null ? \"\" : moment(json.vTagLastMoved).format(dateFormat),\n this.batteryLevel = json.batteryLevel != null ? json.batteryLevel.toFixed(2) : null,\n this.nearestFixed = json.nearestFixed,\n this.lastModified = json.lastModified;// == null ? \"\" : moment(json.lastModified).format(dateFormat),\n this.created = json.created;// == null ? \"\" : moment(json.created).format(dateFormat),\n this.lastInventoried = json.lastInventoried;\n this.sensorReadingHistoryID = json.sensorReadingHistoryID,\n this.alertingActionID = json.alertingActionID,\n this.sensorStatsHistoryID = json.sensorStatsHistoryID,\n this.readerID = json.readerID,\n this.fileDataID = json.fileDataID,\n this.batteryVolts = json.batteryVolts,\n this.assetParentID = json.assetParentID,\n this.assetChildCount = json.assetChildCount;\n this.lastModifiedBy = json.lastModifiedBy;\n // Modified 01/31/19 by BA - Added nearest fixed name property\n this.nearestFixedName = json.nearestFixedName;\n }\n hasVTagData(){\n //console.log(\"a.name=\"+this.name+\". vtagx=\"+this.vtagx+\",vtagy=\"+this.vtagy+\",vtpos=\"+this.vTagPositionType);\n if(this.vTagX != null && this.vTagY != null && this.vTagPositionType != null && this.vTagPositionType.length > 0)\n return true;\n else if (this.latitude != null && this.longitude != null && this.vTagType == \"VTag GPS\")\n return true;\n else\n return false;\n }\n}\n","export class CustomField {\n customFieldValues:CustomFieldValue[] = [];\n static displayColumns:[string,string][];\n constructor(public name?:string,\n public value?:string,\n public display?:boolean,\n public displayIndex?:number,\n public uIEditable?:boolean,\n public dataType?:string,\n public handheldDisplay?:boolean,\n public handheldValue?:string,\n public handheldDisplayIndex?:number){\n }\n parseJson(json: any): void {\n }\n static parseJson(json:any) : CustomField {\n try {\n var cfn:CustomField = new CustomField(json.name, json.value, json.display, parseInt(json.displayIndex), json.uIEditable,\n json.dataType, json.handheldDisplay, json.handheldValue, parseInt(json.handheldDisplayIndex));\n cfn.customFieldValues = [];\n for(var i=0; i {\n return this.mhService.delete([entity.id]).then(() => {\n return this.$q.when(true);\n })\n .catch((err: any) => {\n return this.$q.reject(\"Got error in deleting maintenance history:\" + err);\n });\n }\n addMaintenance(entity: MaintenanceHistory): IPromise {\n return this.mhService.insert(entity).then(() => {\n return this.$q.when(true);\n })\n .catch((err: any) => {\n return this.$q.reject(\"Got error in adding maintenance history:\" + err);\n });\n }\n editMaintenance(entity: MaintenanceHistory): IPromise {\n return this.mhService.update(entity).then(() => {\n return this.$q.when(true);\n })\n .catch((err: any) => {\n return this.$q.reject(\"Got error in editing maintenance history:\" + err);\n });\n }\n saveData(entityId: number): IPromise {\n return this.$q.when(true);\n }\n}\n","import { IPromise } from \"angular\";\nimport { MaintenanceHistory } from \"../../entities/MaintenanceHistory\";\nimport { MaintenanceHistoryService } from \"../../services/MaintenanceHistoryService\";\nimport { NotificationService } from \"../../services/NotificationService\";\nimport { IEditMaintenanceHandler } from \"./IEditMaintenanceHandler\";\n\nexport class EditMaintenanceHandler_NewAsset implements IEditMaintenanceHandler {\n \n editedMaintenaceHistories: MaintenanceHistory[] = [];\n addedMaintenaceHistories: MaintenanceHistory[] = [];\n deletedMaintenanceHistories: MaintenanceHistory[] = [];\n\n static $inject = ['$q', 'MaintenanceHistoryService', 'NotificationService'];\n\n constructor(public $q: ng.IQService, public mhService: MaintenanceHistoryService, public notifyService: NotificationService) {\n\n }\n\n deleteMaintenance(item: MaintenanceHistory): IPromise {\n var index = this.addedMaintenaceHistories.indexOf(item);\n if (index != -1)\n this.addedMaintenaceHistories.splice(index, 1);\n else\n this.deletedMaintenanceHistories.push(item);\n var editedIndex = this.editedMaintenaceHistories.indexOf(item);\n if (editedIndex != -1)\n this.editedMaintenaceHistories.splice(editedIndex, 1);\n return this.$q.when(true);\n }\n addMaintenance(entity: MaintenanceHistory): IPromise {\n this.addedMaintenaceHistories.push(entity);\n return this.$q.when(true);\n }\n editMaintenance(item: MaintenanceHistory): IPromise {\n if (this.addedMaintenaceHistories.indexOf(item) == -1 && this.editedMaintenaceHistories.indexOf(item) == -1)\n this.editedMaintenaceHistories.push(item);\n return this.$q.when(true);\n }\n saveData(entityId: number): IPromise {\n var otherPromises: ng.IPromise[] = [];\n $.each(this.editedMaintenaceHistories, (i, val) => {\n otherPromises.push(this.mhService.update(val));\n });\n $.each(this.addedMaintenaceHistories, (i, val) => {\n val.assetID = entityId;\n otherPromises.push(this.mhService.insert(val));\n });\n if (this.deletedMaintenanceHistories.length > 0) {\n var ids = $.map(this.deletedMaintenanceHistories, (item, index) => item.id);\n otherPromises.push(this.mhService.delete(ids));\n }\n return this.$q.all(otherPromises)\n .then((data) => {\n return this.$q.when(true);\n })\n .catch((err: any) => {\n return this.$q.reject(\"Got error in saving asset data:\" + err);\n });\n } \n}\n","import {BaseEntity} from \"./BaseEntity\";\n\nexport class MapSite implements BaseEntity {\n constructor(\n public id?:number,\n public name?:string,\n public originX = 1,\n public originY = 1){\n }\n parseJson(json: any): void {\n this.id = json.id;\n this.name = json.name;\n this.originX = json.originX;\n this.originY = json.originY;\n }\n}\n","import {CRS} from \"leaflet\";\nimport IGridOptions = uiGrid.expandable.IGridOptions;\nimport {IGridApi} from \"ui-grid\";\nimport {\n ExactCoordinateHelper,\n GpsCoordinateHelper,\n ICoordinateHelper,\n ReferencePoint\n} from \"../../libs/CoordinateHelper\";\nimport { StateService, StateParams } from \"@uirouter/angularjs\";\nimport {NotificationService} from \"../../services/NotificationService\";\nimport {CmdCenterMapModel} from \"../../models/cmd/CmdCenterMapModel\";\nimport {ApplicationSetting} from \"../../entities/ApplicationSetting\";\nimport {Asset} from \"../../entities/Asset\";\nimport {FixedVTag} from \"../../entities/FixedVTag\";\nimport {Reader} from \"../../entities/Reader\";\nimport {LatLngZoom, MapDefaults} from \"../../libs/LeafletHelper\";\nimport L from \"leaflet\";\nvar moment = require('moment');\nmoment().format();\n\nexport class CmdCenterMapCtrl {\n tempSearch: string = \"beep\";\n static LOCALSTORAGE_CENTER: string = \"LOCALSTORAGE_CENTER\";\n static LOCALSTORAGE_LASTSITE: string = \"LOCALSTORAGE_LASTSITE\";\n static LOCALSTORAGE_LASTAREA: string = \"LOCALSTORAGE_LASTAREA\";\n static LOCALSTORAGE_MAP_PAGESIZE: string = \"LOCALSTORAGE_MAP_PAGESIZE\";\n defaults: MapDefaults = new MapDefaults(false, CRS.Simple, 5, -5);\n center: LatLngZoom = new LatLngZoom(0, 0, 1);\n layers:any = [];\n imageLayer: any = null;\n areaSelect: any = null;\n map: any;\n GRIDTYPEASSETTAGS: string = \"Asset Tags\";\n GRIDTYPFIXEDTAGS: string = \"Fixed Tags\";\n selectedGridType: string = this.GRIDTYPEASSETTAGS;\n gridOptionsAsset: any;\n gridOptionsFixed: any;\n pageSize: number = 50;\n page: number = 1;\n mapAssets: MapAsset[] = [];\n mapFixedTags: MapFixedVTag[] = [];\n mapGateways : MapGateway[] = [];\n mappedMapItems: MapItem[] = [];\n selectedMapSiteWatch: any;\n mapPageSizeWatch: any;\n selectedMapAreaWatch: any;\n selectedFilterWatch: any;\n exactCoordinateHelper: ExactCoordinateHelper;\n gpsCoordinateHelper: GpsCoordinateHelper;\n centerWatch: any;\n searchTextWatch: any;\n changedInterval: any;\n updateSearchTextInterval: any;\n updateIconsInterval: any;\n gridApiAsset: IGridApi;\n gridApiFixed: IGridApi;\n public static $inject = ['$window', '$q', '$scope', '$interval', '$state', '$stateParams', 'leafletData', '$uibModal', 'CmdCenterMapModel', 'localStorageService', 'NotificationService'];\n\n constructor(public $window: Window, public $q: ng.IQService, public $scope: any, public $interval: ng.IIntervalService, public stateService: StateService,\n public stateParamsService: StateParams,\n public leafletData: any, public modal: angular.ui.bootstrap.IModalService, public model: CmdCenterMapModel,\n public locStorage: angular.local.storage.ILocalStorageService, public notifyService: NotificationService) {\n console.log('CmdCenterMapCtrl.Init. default='+this.defaults.crs);\n $scope.vm = this;\n $scope.mapDefaults = new MapDefaults(false, CRS.Simple, 10, -5);\n this.gridOptionsAsset = {\n paginationPageSizes: [10, 15, 20, 50, 100, 200, 400, 600,1000],\n paginationPageSize: this.pageSize,\n useExternalPagination: false,\n useExternalSorting: false,\n columnDefs: [],\n data: [],\n onRegisterApi: function (gridApi:any) {\n $scope.vm.gridApiAsset = gridApi;\n gridApi.pagination.seek($scope.vm.page);\n gridApi.selection.on.rowSelectionChanged($scope, function (row:any) {\n var entity = row.entity;\n //alert(\"row selection changed. entity.name=\"+entity.name+\". is selected=\"+row.isSelected);\n if (row.isSelected) {\n $scope.vm.model.addSelected(entity.asset);\n entity.setSelected(true);\n } else {\n $scope.vm.model.removeSelected(entity.asset);\n entity.setSelected(false);\n }\n });\n gridApi.selection.on.rowSelectionChangedBatch($scope, function (rows:any) {\n $.each(rows, (i, row) => {\n var entity = row.entity;\n if (row.isSelected) {\n $scope.vm.model.addSelected(entity.asset);\n entity.setSelected(true);\n } else {\n $scope.vm.model.removeSelected(entity.asset);\n entity.setSelected(false);\n }\n });\n });\n gridApi.pagination.on.paginationChanged($scope, function (newPage:any, pageSize:any) {\n //alert(angular.element(document.getElementsByClassName('grid')[0]));\n //$scope.vm.gridOptions.minRowsToShow = pageSize+1;\n //$scope.vm.gridOptions.virtualizationThreshold = pageSize+1;\n $scope.vm.page = newPage;\n $scope.vm.pageSize = pageSize;\n $scope.vm.updateMapTagsSmart();\n });\n }\n };\n this.gridOptionsFixed = {\n paginationPageSizes: [10, 15, 20, 50, 100, 200],\n paginationPageSize: this.pageSize,\n useExternalPagination: false,\n useExternalSorting: false,\n columnDefs: [\n {\n name: ' ',\n displayName: ' ',\n enableSorting: false,\n width: 35,\n cellTemplate: '
'\n },\n {field: 'fixedTag.name', name: 'Name', width: 150},\n {field: 'fixedTag.vTagID', name: 'V-Tag ID', width: 90},\n {field: 'fixedTag.locationName', name: 'Location Name', width: 140},\n {\n field: 'fixedTag.vTagLastSeen',\n name: 'Last Seen',\n cellFilter: \"date:'\" + ApplicationSetting.applicationSetting.dateFormat + \"'\",\n width: 190\n }\n ],\n data: [],\n onRegisterApi: function (gridApi:any) {\n $scope.vm.gridApiFixed = gridApi;\n gridApi.selection.on.rowSelectionChanged($scope, function (row:any) {\n var entity = row.entity;\n //alert(\"row selection changed. entity.name=\"+entity.name+\". is selected=\"+row.isSelected);\n if (row.isSelected) {\n $scope.vm.model.addSelected(entity.fixedTag);\n entity.setSelected(true);\n } else {\n $scope.vm.model.removeSelected(entity.fixedTag);\n entity.setSelected(false);\n }\n });\n gridApi.selection.on.rowSelectionChangedBatch($scope, function (rows:any) {\n $.each(rows, (i, row) => {\n var entity = row.entity;\n if (row.isSelected) {\n $scope.vm.model.addSelected(entity.fixedTag);\n entity.setSelected(true);\n } else {\n $scope.vm.model.removeSelected(entity.fixedTag);\n entity.setSelected(false);\n }\n });\n });\n }\n };\n $scope.$on('$destroy', () => {\n // console.log(\"cmdcentermapctrl destroy!! **************\")\n this.removeWatches();\n if (this.changedInterval != null)\n this.$interval.cancel(this.changedInterval);\n if (this.updateIconsInterval != null)\n this.$interval.cancel(this.updateIconsInterval);\n })\n var lastSiteId = this.locStorage.get(CmdCenterMapCtrl.LOCALSTORAGE_LASTSITE);\n var lastAreaId = this.locStorage.get(CmdCenterMapCtrl.LOCALSTORAGE_LASTAREA);\n var mapPageSize = this.locStorage.get(CmdCenterMapCtrl.LOCALSTORAGE_MAP_PAGESIZE);\n if(mapPageSize !== null) {\n this.pageSize = mapPageSize;\n this.gridOptionsAsset.paginationPageSize = mapPageSize;\n }\n this.model.init(lastSiteId, lastAreaId).then((ok) => {\n MapAsset.activeMinutes = this.model.activeTimeout;\n this.gridOptionsAsset.columnDefs = this.setColumns();\n // console.log(\"ctrl model.inet getCurr\");\n if (this.model.selectedMapArea == null) {\n this.notifyService.notifyError(\"No Map Area is defined.\");\n return;\n }\n this.exactCoordinateHelper = new ExactCoordinateHelper(this.model.selectedMapArea.pixelsPerMeter, this.model.vTagPositionReportingMode,ApplicationSetting.applicationSetting.cmdMapPinZoominEnabled,ApplicationSetting.applicationSetting.cmdMapPinDisplacePixels);\n this.gpsCoordinateHelper = new GpsCoordinateHelper(\n new ReferencePoint(this.model.selectedMapArea.geo1Longitude, this.model.selectedMapArea.geo1Latitude, 300, this.model.selectedMapArea.geo1PixelsX, this.model.selectedMapArea.geo1PixelsY),\n new ReferencePoint(this.model.selectedMapArea.geo2Longitude, this.model.selectedMapArea.geo2Latitude, 300, this.model.selectedMapArea.geo2PixelsX, this.model.selectedMapArea.geo2PixelsY),\n this.model.selectedMapArea.pixelsPerMeter);\n this.model.getCurrentTags();\n this.updateMapTagsSmart();\n this.model.selectedItems = [];\n this.updateIconsInterval = this.$interval(() => {\n this.updateIcons();\n }, 300000);\n this.updateSearchTextInterval = this.$interval(() => {\n this.updateSearchText();\n }, 1000);\n this.changedInterval = this.$interval(() => {\n this.getChanged();\n }, this.model.mapRefresh * 1000);\n this.locStorage.set(CmdCenterMapCtrl.LOCALSTORAGE_LASTSITE, this.model.selectedMapSite.id);\n this.locStorage.set(CmdCenterMapCtrl.LOCALSTORAGE_LASTAREA, this.model.selectedMapArea.id);\n this.addWatches();\n this.getCenter();\n var mapPromise = leafletData.getMap(\"mainMap\");\n return mapPromise;\n }).then((map) => {\n // console.log(\"got map\");\n this.map = map;\n this.mapAreaChanged(this.model.selectedMapArea, null);\n //this.setImage();\n $scope.$on('leafletDirectiveMarker.mainMap.contextmenu', (evt:any, args:any) => {\n var mapItem = args.model;\n var selectedIndex = args.modelName;\n var id = this.mappedMapItems[selectedIndex].id;\n var mapFixedTag = null;\n var mapAsset = null;\n // console.log(\"Test id = \" + id);\n for (var i = 0; i < this.mapFixedTags.length; i++) {\n if (this.mapFixedTags[i].id == id && mapItem.fixedTag != null) {\n mapFixedTag = this.mapFixedTags[i];\n break;\n }\n }\n for (var i = 0; i < this.mapAssets.length; i++) {\n if (this.mapAssets[i].id == id && mapItem.asset != null) {\n mapAsset = this.mapAssets[i];\n break;\n }\n }\n if (mapFixedTag != null) {\n this.showNearest(mapFixedTag.fixedTag.vTagID);\n }\n if (mapAsset != null && mapAsset.asset.latitude != null) {\n this.showGoogleMaps(mapAsset.asset.latitude, mapAsset.asset.longitude)\n }\n });\n //var drawnItems = $scope.controls.draw.edit.featureGroup;\n //L.control.mousePosition().addTo(map);\n var fscreen = L.control.fullscreen({position:'topleft'});\n //this.map.addControl(fscreen);\n });\n console.log('CmdCenterMapCtrl.Init.Done');\n }\n\n showGoogleMaps(latitude: number, longitude: number) {\n this.$window.open('https://www.google.com/maps/search/?api=1&query=' + latitude + ',' + longitude, '_blank');\n }\n\n showNearest(vtagId: string) {\n // console.log(\"show dialog now\");\n var modalInstance: angular.ui.bootstrap.IModalServiceInstance = this.modal.open({\n animation: true,\n template: require('../../../views/cmdcenter.shownearest.html').default,\n controller: 'CmdCenterShowNearestCtrl',\n resolve: {\n vtagId: function () {\n return vtagId;\n }\n }\n });\n modalInstance.result.then((asset) => {\n });\n }\n\n updateIcons() {\n $.each(this.mapAssets, (index, asset: MapAsset) => {\n asset.updateIcon();\n });\n $.each(this.mapFixedTags, (index, asset: MapFixedVTag) => {\n asset.updateIcon();\n });\n $.each(this.mapGateways, (index, gateway: MapGateway) => {\n gateway.updateIcon();\n });\n }\n\n // Angular markers directive discards marker changes which happen in a 10 ms window\n // So the search text is updated at 1 second intervals to generate 1 second events\n updateSearchText() {\n if (this.model.rawSearchText !== this.model.searchText) {\n this.model.searchText = this.model.rawSearchText;\n }\n }\n\n getChanged() {\n var nextRefresh: number = this.model.mapRefresh * 1000;\n var lastCheckedChangedStr = this.model.lastCheckedChanged.toUTCString();\n this.model.lastCheckedChanged = new Date();\n // console.log(\"calling getChanged with \"+lastCheckedChangedStr+\", now=\"+this.model.lastCheckedChanged.toUTCString());\n // console.log(\"get changed \"+nextRefresh);\n this.$q.all([this.model.getChangedAssets(lastCheckedChangedStr),\n this.model.getChangedFixedTags(lastCheckedChangedStr),\n this.model.getChangedGateways(lastCheckedChangedStr)]).then(() => {\n this.updateMapTagsSmart();\n });\n }\n\n getCenter(): void {\n if (this.model.selectedMapArea != null) {\n var centerStr = this.locStorage.get(CmdCenterMapCtrl.LOCALSTORAGE_CENTER + \"_\" + this.model.selectedMapArea.id);\n // console.log(\"retrieving center \"+centerStr+\" <----- for id \"+CmdCenterMapCtrl.LOCALSTORAGE_CENTER + \"_\" + this.model.selectedMapArea.id);\n if (centerStr == null)\n this.center = new LatLngZoom(0, 0, 1);\n else\n this.center = JSON.parse(centerStr);\n }\n }\n\n mapAreaChanged(newVal:any, oldVal:any) {\n if (oldVal != newVal) {\n this.exactCoordinateHelper = new ExactCoordinateHelper(newVal.pixelsPerMeter, this.model.vTagPositionReportingMode,\n ApplicationSetting.applicationSetting.cmdMapPinZoominEnabled,ApplicationSetting.applicationSetting.cmdMapPinDisplacePixels);\n this.gpsCoordinateHelper = new GpsCoordinateHelper(\n new ReferencePoint(newVal.geo1Longitude, newVal.geo1Latitude, 300, newVal.geo1PixelsX, newVal.geo1PixelsY),\n new ReferencePoint(newVal.geo2Longitude, newVal.geo2Latitude, 300, newVal.geo2PixelsX, newVal.geo2PixelsY),\n newVal.pixelsPerMeter);\n // console.log(\"selMA watch\");\n this.model.getCurrentTags();\n this.updateMapTagsSmart();\n this.model.selectedItems = [];\n this.getCenter();\n this.setImage();\n this.locStorage.set(CmdCenterMapCtrl.LOCALSTORAGE_LASTAREA, this.model.selectedMapArea.id);\n }\n }\n\n addWatches() {\n\n this.selectedMapSiteWatch = this.$scope.$watch(() => this.model.selectedMapSite, (newVal:any, oldVal:any) => {\n var uuuuhuhuhuhuh = 3;\n // console.log( \"SELECTED MAP SITE CHANGED!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!\");\n if (oldVal != newVal) {\n this.$q.all([this.model.getAssets(), this.model.getFixedTags()]).then(() => {\n this.model.setMapAreas();\n this.locStorage.set(CmdCenterMapCtrl.LOCALSTORAGE_LASTSITE, this.model.selectedMapSite.id);\n }).catch((data: any) => {\n var error = data;\n //handle error\n alert(\"got error in getting tags for site: \" + data);\n });\n }\n });\n this.selectedMapAreaWatch = this.$scope.$watch(() => this.model.selectedMapArea, (newVal:any, oldVal:any) => {\n this.mapAreaChanged(newVal, oldVal);\n });\n this.mapPageSizeWatch = this.$scope.$watch(() => this.pageSize, (newVal:any, oldVal:any) => {\n this.locStorage.set(CmdCenterMapCtrl.LOCALSTORAGE_MAP_PAGESIZE, this.pageSize);\n });\n this.searchTextWatch = this.$scope.$watch(() => this.model.searchText, (newVal:any, oldVal:any) => {\n if (oldVal != newVal) {\n this.model.getCurrentTags();\n this.updateMapTagsSmart();\n }\n });\n this.selectedFilterWatch = this.$scope.$watch(() => this.model.selectedFilter, (newVal:any, oldVal:any) => {\n if (oldVal != newVal) {\n this.model.getCurrentTags();\n this.updateMapTagsSmart();\n if (newVal.indexOf(\"Fixed\") != -1)\n this.selectedGridType = this.GRIDTYPFIXEDTAGS;\n else\n this.selectedGridType = this.GRIDTYPEASSETTAGS;\n }\n });\n this.centerWatch = this.$scope.$watch(() => this.center, (newVal:any, oldVal:any) => {\n if (oldVal != newVal) {\n if (this.model.selectedMapArea != null) {\n var centerStr = JSON.stringify(this.center);\n this.locStorage.set(CmdCenterMapCtrl.LOCALSTORAGE_CENTER + \"_\" + this.model.selectedMapArea.id, centerStr);\n this.updateMapTagsSmart();\n }\n }\n }, true);\n }\n\n removeWatches() {\n if (this.selectedMapSiteWatch != null) {\n this.selectedMapSiteWatch();\n this.selectedMapAreaWatch();\n this.searchTextWatch();\n this.selectedFilterWatch();\n this.selectedMapSiteWatch = null;\n this.selectedMapAreaWatch = null;\n this.searchTextWatch = null;\n this.selectedFilterWatch = null;\n }\n }\n\n setImage() {\n if (this.imageLayer != null) {\n this.map.removeLayer(this.imageLayer);\n }\n if (this.model.selectedMapArea == null)\n return;\n this.model.getMapAreaImage().then((ok) => {\n var fdid = this.model.selectedMapArea.fileDataID;\n var height = this.model.selectedMapArea.imageHeight;\n var width = this.model.selectedMapArea.imageWidth;\n var imgUrl = \"data:image/png;base64,\" + this.model.imageData;\n this.imageLayer = L.imageOverlay(imgUrl, [[0, 0], [-1 * height, width]]).addTo(this.map);\n //this.imageLayer = L.imageOverlay(this.model.getBaseUrl()+\"/getImage?id=\"+fdid, [[0,0],[-1*height,width]]).addTo(this.map);\n this.imageLayer.bringToBack();\n });\n }\n\n updateMapTagsSmart():void {\n //first find any tags with expanded marker (focus)\n var expandedAsset: MapAsset = null;\n var expandedFixed: MapFixedVTag = null;\n //get expanded items\n for(var i=0; i< this.mapAssets.length; i++){\n var mapAsset = this.mapAssets[i];\n if (mapAsset.focus == true) {\n expandedAsset = mapAsset;\n break;\n }\n }\n for(var i=0; i< this.mapFixedTags.length; i++){\n var mapFixed = this.mapFixedTags[i];\n if (mapFixed.focus == true) {\n expandedFixed = mapFixed;\n break;\n }\n }\n var selectedMapAssets: number[] = [];\n var selectedMapFixed: number[] = [];\n //get selected lists\n $.each(this.mapAssets, (i, mapAsset: MapAsset) => {\n if (mapAsset.selected)\n selectedMapAssets.push(mapAsset.asset.id);\n });\n $.each(this.mapFixedTags, (i, mapFixed: MapFixedVTag) => {\n if (mapFixed.selected)\n selectedMapFixed.push(mapFixed.fixedTag.id);\n });\n //finally redo everything and reset focus/expanded\n this.mapAssets.length = 0;\n this.mapFixedTags.length = 0;\n this.mapGateways.length = 0;\n this.mappedMapItems = [];\n this.model.selectedItems = [];\n var selectedMapAssetIndexes: number[] = [];\n var selectedFixedMapIndexes: number[] = [];\n let startIndex = (this.page-1)*this.pageSize;\n let endIndex = this.page*this.pageSize-1;\n for (var i = 0; i < this.model.currentAssets.length; i++) {\n //console.log(\"current asset \"+this.model.currentAssets[i].name+\". i=\"+i);\n //console.log(\"updateMapTags.assets - \"+this.model.currentAssets[i].vTagID+\", selectedMapArea=\"+this.model.selectedMapArea.name+\", and ppm =\"+this.model.selectedMapArea.pixelsPerMeter);\n var coorHelper: ICoordinateHelper = this.model.currentAssets[i].vTagType == \"VTag GPS\" ? this.gpsCoordinateHelper : this.exactCoordinateHelper;\n var mapAsset = new MapAsset(this.model.currentAssets[i], coorHelper, this.model.selectedMapArea.pixelsPerMeter, this.model.vtagColumnDefs, this.center.zoom);\n for(var j=0; j< selectedMapAssets.length; j++){\n var tempMapAsset = selectedMapAssets[j];\n if (tempMapAsset == mapAsset.asset.id) {\n selectedMapAssetIndexes.push(i);\n mapAsset.selected = true;\n break;\n }\n }\n if (expandedAsset != null && expandedAsset.asset.id == mapAsset.asset.id) {\n // console.log(\"expanding mapAsset \"+expandedAsset.asset.name);\n mapAsset.focus = true;\n }\n this.mapAssets.push(mapAsset);\n if (this.model.currentAssets[i].hasVTagData() && mapAsset.mapCoorOk() && i >= startIndex && i <=endIndex) {\n //console.log(\"adding asset to map: \"+this.model.currentAssets[i].name+\" with lat:\"+mapAsset.lat+\" and lng:\"+mapAsset.lng);\n this.mappedMapItems.push(mapAsset);\n } else {\n // console.log(\"*****&*&*&*&*&*& this vtag has no vtag data:\"+this.model.currentAssets[i].name);\n }\n }\n for (var i = 0; i < this.model.currentFixedTags.length; i++) {\n var mapFixedTag: MapFixedVTag = new MapFixedVTag(this.model.currentFixedTags[i], this.model.selectedMapArea.pixelsPerMeter);\n for(var j=0; j {\n var mapAsset = this.mapAssets[tempIndex];\n this.gridApiAsset.selection.selectRow(mapAsset);\n });\n $.each(selectedFixedMapIndexes, (i, tempIndex: number) => {\n var mapFixed = this.mapFixedTags[tempIndex];\n this.gridApiFixed.selection.selectRow(mapFixed);\n });\n // console.log(\"\");\n // console.log(\"\");\n }\n\n locate(): void {\n this.removeWatches();\n this.model.locateAdv().then((vtag) => {\n //at this point the mapsite and maparea have been correctly set\n //do we need to wait until the selectedMapArea watch has been triggered? if so, timeout. if not...\n //center map on the asset in question and then show info box.\n // console.log(\"locate.getCurr\");\n this.exactCoordinateHelper = new ExactCoordinateHelper(this.model.selectedMapArea.pixelsPerMeter, this.model.vTagPositionReportingMode,ApplicationSetting.applicationSetting.cmdMapPinZoominEnabled,ApplicationSetting.applicationSetting.cmdMapPinDisplacePixels);\n this.gpsCoordinateHelper = new GpsCoordinateHelper(\n new ReferencePoint(this.model.selectedMapArea.geo1Longitude, this.model.selectedMapArea.geo1Latitude, 300, this.model.selectedMapArea.geo1PixelsX, this.model.selectedMapArea.geo1PixelsY),\n new ReferencePoint(this.model.selectedMapArea.geo2Longitude, this.model.selectedMapArea.geo2Latitude, 300, this.model.selectedMapArea.geo2PixelsX, this.model.selectedMapArea.geo2PixelsY),\n this.model.selectedMapArea.pixelsPerMeter);\n this.$q.all([this.model.getAssets(), this.model.getFixedTags()]).then(() => {\n this.model.getCurrentTags();\n this.updateMapTagsSmart();\n this.model.selectedItems = [];\n this.setImage();\n var mapItem: MapItem;\n for (var i = 0; i < this.mapFixedTags.length; i++ && mapItem != null) {\n if (this.mapFixedTags[i].fixedTag.vTagID === vtag.vTagID) {\n mapItem = this.mapFixedTags[i];\n }\n }\n for (var i = 0; i < this.mapAssets.length; i++ && mapItem != null) {\n if (this.mapAssets[i].asset.vTagID === vtag.vTagID) {\n mapItem = this.mapAssets[i];\n }\n }\n if (mapItem != null) {\n this.map.panTo(new L.LatLng(mapItem.lat, mapItem.lng));\n mapItem.focus = true;\n }\n this.addWatches();\n });\n });\n }\n\n controls = {\n //draw: {}\n };\n\n setColumns(): any {\n var cols: any = [];\n var dateFilter = ApplicationSetting.applicationSetting.dateFormat;\n cols.push({\n name: ' ',\n displayName: ' ',\n enableSorting: false,\n width: 35,\n cellTemplate: '
'\n });\n //cols.push({ field: \"beep\", name:\"beeper\", width:125, enableSorting:true});\n $.each(this.model.assetColumnDefs, (index, nv) => {\n if (nv[0] == \"created\" || nv[0] == \"vTagLastSeen\" || nv[0] == \"lastGPSFix\" || nv[0] == \"vTagLastMoved\" || nv[0] == \"lastModified\" || nv[0] == \"timeseen\" || nv[0] == \"lastObservedTime\" || nv[0] == \"eventTime\" || nv[0] == \"alarmTime\" || nv[0] == \"lastAttempt\" || nv[0] == \"ackTime\" || nv[0] == \"nextMaintenance\" || nv[0] == \"lastMaintenance\") {\n cols.push({\n field: \"asset.\" + nv[0],\n name: nv[1],\n displayName: nv[1],\n width: nv[2],\n cellFilter: \"date:'\" + dateFilter + \"'\",\n enableSorting: true,\n });\n } else\n cols.push({\n field: \"asset.\" + nv[0],\n name: nv[1],\n displayName: nv[1],\n width: 125,\n enableSorting: true\n });\n })\n return cols;\n }\n\n}\n\nexport interface MapItem {\n lat: number;\n lng: number;\n id: number;\n message: string;//\"
\";\n focus: boolean;\n selected: boolean;\n draggable: boolean;\n scope: any;\n icon: MapIcon;\n}\n\nexport class MapAsset implements MapItem {\n lat: number;\n lng: number;\n id: number;\n message: string = \"\";//\"
\";\n focus: boolean = false;\n selected: boolean = false;\n draggable: boolean = false;\n zIndexOffset: number = 2000;\n scope: any;\n icon: MapIcon = new MapIcon();\n static activeMinutes: number = 60;\n\n constructor(public asset: Asset, public coordinateHelper: ICoordinateHelper, public ppm: number, public displayColumns: [string, string, number][],\n public zoomLevel: number) {\n this.id = asset.id;\n this.setMessage();\n this.updateLocation();\n this.updateIcon();\n }\n\n swapExpanded(evt:any) {\n this.focus = this.focus ? false : true;\n }\n\n mapCoorOk(): boolean {\n if (this.lng == null || this.lat == null || isNaN(this.lng) || isNaN(this.lat))\n return false;\n else\n return true;\n }\n\n setMessage() {\n this.message = \"\";\n if (this.asset.fileDataID !== null) {\n this.message += \"\" + \"\";\n }\n var dateFormat = ApplicationSetting.applicationSetting.dateFormat.replace(\"dd\", \"DD\").replace(\"yyyy\", \"YYYY\");\n for (var i = 0; i < this.displayColumns.length; i++) {\n var dc = this.displayColumns[i];\n var val = this.getColumnDisplayValue(dc[0]);\n if(dc[0] == \"created\" || dc[0] == \"vTagLastSeen\" || dc[0] == \"lastGPSFix\" || dc[0] == \"vTagLastMoved\" || dc[0] == \"lastModified\" || dc[0] == \"timeseen\" || dc[0] == \"lastObservedTime\" || dc[0] == \"eventTime\" || dc[0] == \"alarmTime\" || dc[0] == \"lastAttempt\" || dc[0] == \"ackTime\" || dc[0] == \"nextMaintenance\" || dc[0] == \"lastMaintenance\")\n val = moment(val).format(dateFormat);\n this.message += \"\" + \"\";\n }\n this.message += \"
View Image
\" + dc[1] + \"\" + val + \"
\";\n }\n\n getColumnDisplayValue(fieldname: string) {\n var asdf:any = this.asset;\n var displayValue = (this.asset)[fieldname];\n // console.log(\"GETCOLUMNDISPLAYVALUE fieldname=\"+fieldname+\" and displayVal=\"+displayValue);\n return displayValue == null ? \" \" : displayValue;\n }\n\n setSelected(sel: boolean) {\n this.selected = sel;\n this.updateIcon();\n }\n\n updateLocation() {\n var vector = this.coordinateHelper.getCanvasPoint(this.asset, this.zoomLevel);\n this.lat = vector.Y;\n this.lng = vector.X;\n }\n\n updateIcon() {\n this.icon.icon = \"star\";\n if (this.selected)\n this.icon.markerColor = \"blue\";\n else if (this.asset.isRecentlyActive()) {\n this.icon.markerColor = \"orange\";// \"#00EECF\";\n // console.log(\"mapAsset \"+this.asset.vTagID+\" coler cyan\");\n } else if (this.asset.isActiveTag(MapAsset.activeMinutes)) {\n this.icon.markerColor = \"green\";\n if (this.asset.vTagType === \"VTag GPS\" && this.asset.missedSatelliteFixes > 0) {\n this.icon.markerColor = \"lightgreen\";\n }\n // console.log(\"mapAsset \"+this.asset.vTagID+\" coler green\");\n } else {\n this.icon.markerColor = \"red\";\n // console.log(\"mapAsset \"+this.asset.vTagID+\" coler red\");\n }\n var a34234oeu = 3;\n }\n}\n\nexport class MapFixedVTag implements MapItem {\n lat: number;\n lng: number;\n id: number;\n message: string = \"\";//\"
\";\n focus: boolean = false;\n selected: boolean = false;\n draggable: boolean = false;\n scope: any;\n icon: MapIcon = new MapIcon();\n zIndexOffset: number = 20;\n\n constructor(public fixedTag: FixedVTag, public ppm: number) {\n this.id = fixedTag.id;\n this.setMessage();\n this.updateLocation();\n this.updateIcon();\n }\n\n mapCoorOk() {\n if (this.lat == null || this.lng == null)\n return false;\n else\n return true;\n }\n\n swapExpanded(evt:any) {\n this.focus = this.focus ? false : true;\n }\n\n setMessage() {\n var batteryLevel = this.fixedTag.batteryLevel == null ? \"\" : this.fixedTag.batteryLevel;\n var dateFormat = ApplicationSetting.applicationSetting.dateFormat.replace(\"dd\", \"DD\").replace(\"yyyy\", \"YYYY\");\n var lastSeen = this.fixedTag.vTagLastSeen == null ? \"\" : moment(this.fixedTag.vTagLastSeen).format(dateFormat);\n var location = this.fixedTag.locationName == null ? \"\" : this.fixedTag.locationName;\n this.message = \"\" +\n \"\" + \"\" +\n \"\" + \"\" +\n \"\" + \"\" +\n \"\" + \"\" +\n \"\" + \"\";\n this.message += \"
Tag ID\" + this.fixedTag.vTagID + \"
Name\" + this.fixedTag.name + \"
Location\" + location + \"
Last Seen\" + lastSeen + \"
Battery Level\" + batteryLevel + \"
\";\n }\n\n setSelected(sel: boolean) {\n this.selected = sel;\n this.updateIcon();\n }\n\n updateLocation() {\n // console.log(\"updateLocation for fixed tag \"+this.fixedTag.vTagID);\n if (this.fixedTag.vTagX != null) {\n this.lng = this.fixedTag.vTagX * this.ppm;\n // console.log((\"fixedTag.lng=\"+this.lng+\", vTagX=\"+this.fixedTag.vTagX+\",ppm=\"+this.ppm));\n }\n if (this.fixedTag.vTagY != null) {\n this.lat = this.fixedTag.vTagY * this.ppm;\n // console.log((\"fixedTag.lat=\"+this.lat+\", vTagY=\"+this.fixedTag.vTagY+\",ppm=\"+this.ppm));\n }\n }\n\n updateIcon() {\n this.icon.icon = \"home\";\n if (this.selected)\n this.icon.markerColor = \"blue\";\n else if (this.fixedTag.isActiveTag(MapAsset.activeMinutes))\n this.icon.markerColor = \"green\";\n else\n this.icon.markerColor = \"red\";\n }\n}\n\nexport class MapGateway implements MapItem {\n lat: number;\n lng: number;\n id: number;\n message: string = \"\";\n focus: boolean = false;\n selected: boolean = false;\n draggable: boolean = false;\n scope: any;\n icon: MapIcon = new MapIcon();\n zIndexOffset: number = 20;\n\n constructor(public gateway: Reader, public ppm: number) {\n this.id = gateway.id;\n this.setMessage();\n this.updateLocation();\n this.updateIcon();\n }\n\n mapCoorOk() {\n if (this.lat == null || this.lng == null)\n return false;\n else\n return true;\n }\n\n updateLocation() {\n if (this.gateway.vTagX != null) {\n this.lng = this.gateway.vTagX * this.ppm;\n }\n if (this.gateway.vTagY != null) {\n this.lat = this.gateway.vTagY * this.ppm;\n }\n }\n\n setMessage() {\n this.message = \"\" +\n \"\" + \"\";\n this.message += \"
Name\" + this.gateway.name + \"
\";\n }\n\n updateIcon() {\n this.icon.icon = \"sort\";\n if (this.gateway.isActive(MapAsset.activeMinutes))\n this.icon.markerColor = \"green\";\n else\n this.icon.markerColor = \"red\";\n }\n}\n\nexport class MapIcon {\n type: string = \"awesomeMarker\";\n icon: string = \"adn\";\n markerColor: string = \"red\";\n\n constructor() {\n }\n}\n","export default \"
\\n

Print

\\n
\\n
\\n
\\n
\\n \\n \\n
\\n
\\n \\n \\n
\\n
\\n
\\n
\\n \\n \\n
\\n\";","export default \"
\\n

{{vm.model.getReportName()}}

\\n
\\n
\\n
Search Criteria
\\n
\\n
\\n
\\n
\\n
\\n \\n \\n
\\n
\\n \\n \\n
\\n
\\n \\n \\n
\\n
\\n \\n \\n
\\n
\\n
\\n
\\n
\\n
\\n \\n \\n
\\n
\\n \\n \\n
\\n
\\n \\n \\n
\\n
\\n \\n \\n
\\n
\\n \\n \\n
\\n
\\n
\\n
\\n
\\n
\\n
\\n
\\n
\\n
\\n \\n \\n
\\n
\\n \\n
\\n
\\n \\n
\\n
\\n
\\n
\\n\";","export default \"
\\n

Export {{vm.exportModel.getExportType()}}

\\n
\\n
\\n

{{vm.pagingModel.errorMessage}}

\\n
\\n
\\n
\\n
\\n

Available To Export

\\n
\\n
\\n \\n
\\n
\\n \\n \\n \\n \\n
\\n
\\n  \\n
\\n
\\n  
\\n
\\n
\\n
\\n
\\n

Assigned To Export

\\n
\\n
\\n \\n
\\n \\n
\\n  \\n
\\n
\\n  
\\n
\\n
\\n
\";","export default \"
\\n
\\n
\\n

Sensor Readings

\\n
\\n
\\n \\n \\n
\\n
\\n \\n \\n
\\n
\\n \\n
\\n \\n \\n \\n \\n
\\n
\\n
\\n \\n
\\n \\n \\n \\n \\n
\\n
\\n
\\n \\n
\\n \\n \\n \\n \\n
\\n
\\n
\\n \\n
\\n \\n \\n \\n \\n
\\n
\\n
\\n
\\n
\\n
\\n
\\n

Diagnostics

\\n
\\n
\\n \\n \\n
\\n
\\n \\n \\n
\\n
\\n \\n
\\n \\n \\n \\n \\n
\\n
\\n
\\n \\n
\\n \\n \\n \\n \\n
\\n
\\n
\\n \\n
\\n \\n \\n \\n \\n
\\n
\\n
\\n \\n
\\n \\n \\n \\n \\n
\\n
\\n
\\n \\n \\n
\\n
\\n \\n \\n
\\n
\\n \\n \\n
\\n
\\n \\n
\\n \\n \\n \\n \\n
\\n
\\n
\\n \\n
\\n \\n \\n \\n \\n
\\n
\\n
\\n \\n
\\n \\n \\n \\n \\n
\\n
\\n
\\n \\n
\\n \\n \\n \\n \\n
\\n
\\n
\\n \\n
\\n \\n \\n \\n \\n
\\n
\\n
\\n \\n
\\n \\n \\n \\n \\n
\\n
\\n
\\n \\n
\\n \\n \\n \\n \\n
\\n
\\n
\\n \\n
\\n \\n \\n \\n \\n
\\n
\\n
\\n \\n \\n
\\n
\\n
\";","export default \"\\n\\n
\\n
\\n

Logging out..

\\n
\\n
\\n\";","export default \"
\\n

{{vm.model.importType}} CSV Import - Upload File

\\n
\\n
\\n
\\n To start, please choose a CSV file that you wish to import.
\\n The CSV file should be formatted with headers to identify the rows during import.

\\n\\n Please limit import size to 3,000 or less rows. To import more records, please use the Server Import wizard.\\n
\\n
\\n
\\n \\n\\n
\\n\";","export default \"
\\n

{{vm.model.importType}} CSV Import - Map Fields

\\n
\\n
\\n
\\n Please match the CSV columns with the {{vm.model.importType}} properties\\n
\\n
\\n
\\n Required: {{vm.model.requiredImportFields.length}}\\n
\\n
\\n
\\n
\\n
\\n \\n \\n
\\n
\\n
\\n
\\n
\\n Optional: {{vm.model.optionalImportFields.length}}\\n
\\n
\\n
\\n
\\n
\\n \\n \\n
\\n
\\n
\\n
\\n\\n
\\n \\n \\n Testing Import...\\n
\\n\";","export default \"\\n
\\n

{{vm.model.importType}} CSV Import - Fix Errors

\\n
\\n
\\n
\\n {{vm.model.errorsCount}} errors were found with the import. Please correct before proceeding.\\n
\\n
\\n
\\n
\\n \\n \\n
\\n
\\n
\\n
\\n
    \\n
    \\n
    \\n
    \\n
    \\n
    \\n
    \\n
    \\n \\n \\n
    \\n
    \\n
    \\n
    \\n
    \\n \\n \\n Testing Import...\\n
    \\n\\n\";","export default \"\\n
    \\n

    {{vm.model.importType}} CSV Import - Confirm

    \\n
    \\n
    \\n
    \\n Please review the import data before proceeding.\\n
    \\n
    \\n
    \\n
    \\n
      \\n
      \\n
      \\n
      \\n
      \\n
      \\n
      \\n \\n \\n
      \\n
      \\n
      \\n
      \\n
      \\n \\n \\n Importing...\\n
      \\n\\n\";","export default \"\\n
      \\n

      {{vm.model.importType}} CSV Import - Summary

      \\n
      \\n
      \\n
      \\n Import complete. Below is summary of the import.\\n
      \\n
      \\n
      \\n
      \\n Successful imports: \\n
      \\n
      \\n
      \\n
      \\n
      \\n \\n
      \\n
      \\n
      \\n
      \\n \\n
      \\n\\n\";","export default \"
      \\n

      {{vm.model.importType}} Server Import - Upload File

      \\n
      \\n
      \\n
      \\n All processing for Server Import is done on the web server which allows for virtually unlimited import sizes.

      \\n \\n To start, please choose an Excel file that you wish to import.
      \\n The Excel file should be formatted with headers to identify the rows during import.\\n
      \\n
      \\n
      \\n
      \\n
      \\n \\n
      \\n
      \\n\";","export default \"
      \\n

      {{vm.model.importType}} Excel Import - Map Fields

      \\n
      \\n
      \\n
      \\n Please match the Excel columns with the {{vm.model.importType}} properties\\n
      \\n
      \\n
      \\n Required: {{vm.model.requiredImportFields.length}}\\n
      \\n
      \\n
      \\n
      \\n
      \\n \\n \\n
      \\n
      \\n
      \\n
      \\n
      \\n Optional: {{vm.model.optionalImportFields.length}}\\n
      \\n
      \\n
      \\n
      \\n
      \\n \\n \\n
      \\n
      \\n
      \\n
      \\n\\n
      \\n \\n \\n \\n
      \\n\";","export default \"\\n
      \\n

      {{vm.model.importType}} Excel Import - Fix Errors

      \\n
      \\n
      \\n
      \\n {{vm.model.errorsCount}} errors were found with the import. Please fix the errors in your Excel file, then upload again.\\n
      \\n
      \\n
      \\n
      \\n
      \\n
      \\n
      \\n
      \\n
      \\n \\n
      \\n \\n \\n
      \\n
      \\n\\n\";","export default \"\\n
      \\n

      {{vm.model.importType}} Excel Import - Confirm

      \\n
      \\n
      \\n
      \\n No errors were found during test import. To finalize the import process, click Next.\\n
      \\n
      \\n
      \\n \\n \\n \\n
      \\n\\n\";","export default \"\\n
      \\n

      {{vm.model.importType}} Excel Import - Summary

      \\n
      \\n
      \\n
      \\n Import complete. Click Start Over to import more records.\\n
      \\n
      \\n
      \\n \\n
      \\n\\n\";","import {HttpHandlerService} from \"./HttpHandlerService\";\nimport {ApplicationSettingService} from \"./ApplicationSettingService\";\nimport {CustomField} from \"../entities/CustomFieldName\";\nimport {Asset} from \"../entities/Asset\";\nimport { StateService } from \"@uirouter/angularjs\";\n\nexport class CustomFieldNameService extends HttpHandlerService {\n static $inject = ['$http','$q','$state','localStorageService','ApplicationSettingService'];\n constructor($http:ng.IHttpService,\n $q: ng.IQService, $state: StateService,\n public locStorage:angular.local.storage.ILocalStorageService,\n public applicationSettingService:ApplicationSettingService) {\n super($http, $q, $state);\n }\n protected getBaseUrl():string{\n return \"customfield\";\n }\n updateAll(cfns:CustomField[]):ng.IPromise{\n return this.usePutHandler(this.getBasesUrl(),\"\", cfns).then((data)=>{\n return this.$q.when(true);\n });\n }\n getColumnDefs(columnDefsName:string):ng.IPromise<[string,string,number][]>{\n var nvps:[string,string,number][] = this.locStorage.get<[string,string,number][]>(columnDefsName);\n if (nvps != null) {\n return this.$q.when<[string,string,number][]>(nvps);\n }\n else {\n return this.$q.all([\n this.getAll(),\n this.applicationSettingService.getCached()\n ])\n .then((data:any)=> {\n var nameValuePairs:[string,string,number][] = [];\n var columns:string[] = data[1][columnDefsName].split(\",\");\n var customFieldNames:CustomField[] = [];\n $.each(data[0], (index, jcfn)=> {\n var cfn = CustomField.parseJson(jcfn);\n customFieldNames.push(cfn);\n });\n $.each(columns, (i, col)=> {\n var nameValue:[string,string,number] = [col, col, 230];\n nameValue[1] = nameValue[1].charAt(0).toUpperCase() + nameValue[1].slice(1);\n if (col == \"vTagID\") {\n nameValue[1] = \"V-Tag ID\";\n }\n if (col == \"vTagGpsDeviceID\") {\n nameValue[1] = \"V-Tag GPS Device ID\";\n }\n else if(col == \"parentVTagID\")\n nameValue[i] = \"Parent V-Tag ID\";\n else if(col ==\"rfidTag\"){\n nameValue[1] = \"RFID Tag\";\n }\n else if(col ==\"locationName\"){\n nameValue[1] = \"Location Name\";\n }\n else if(col ==\"locationSite\"){\n nameValue[1] = \"Location Site\";\n }\n else if(col ==\"locationBuilding\"){\n nameValue[1] = \"Location Building\";\n }\n else if(col ==\"locationFloor\"){\n nameValue[1] = \"Location Floor\";\n }\n else if(col ==\"locationRoom\"){\n nameValue[1] = \"Location Room\";\n }\n else if(col ==\"locationDescription\"){\n nameValue[1] = \"Location Description\";\n }\n else if(col == \"lastGPSFix\")\n nameValue[1] = \"Last GPS Fix\";\n else if(col == \"lastObservedTime\")\n nameValue[1] = \"Last Observed Time\";\n else if(col == \"lastModified\")\n nameValue[1] = \"Last Modified\";\n else if(col == \"vTagLastSeen\")\n nameValue[1] = \"V-Tag Last Seen\";\n else if(col === \"vTagLastMoved\")\n nameValue[1] = \"V-Tag Last Moved\";\n else if(col == \"gpsAccuracy\")\n nameValue[1] = \"GPS Accuracy\";\n else {\n for(var i=0; i< customFieldNames.length; i++){\n var cfn = customFieldNames[i];\n var assetcolname = (\"asset.\" + col).toLowerCase();\n if (assetcolname == cfn.name.toLowerCase()) {\n nameValue[1] = cfn.value;\n break;\n }\n }\n }\n nameValuePairs.push(nameValue);\n });\n this.locStorage.set<[string,string,number][]>(columnDefsName, nameValuePairs);\n return this.$q.when<[string,string,number][]>(nameValuePairs);\n });\n }\n }\n getVTagColumnDefs():ng.IPromise<[string,string,number][]> {\n return this.getColumnDefs(\"vTagPopupDisplayRows\");\n }\n getAssetColumnDefs():ng.IPromise<[string,string,number][]> {\n return this.getColumnDefs(\"assetDisplayColumns\");\n }\n getAssetReportSql(assets:any[]):ng.IPromise {\n //var returnPromise:ng.IPromise;\n return this.getAll().then((customFieldNames)=>{\n if(assets == null || assets.length == 0)\n return this.$q.when(\"*\");\n else{\n var asset = assets[0]\n var sql = null;\n for(var col in asset){\n if(col == \"$$hashKey\" || typeof asset[col] === \"function\")\n continue;\n var colVal = \"IFNULL(\"+col+\",'') as [\" + col + \"]\";\n for(var i=0; i< customFieldNames; i++){\n var cfn = customFieldNames[i];\n var tempColVal = \"asset.\" + col;\n if (tempColVal == cfn.name) {\n colVal = \"IFNULL(\"+col+\",'') as [\" +cfn.value + \"]\";\n break;\n }\n }\n if(sql == null)\n sql = colVal;\n else\n sql += \",\" + colVal;\n }\n return this.$q.when(sql);\n }\n })\n }\n\n getOtherReportSql(items:any[]):string {\n if(items == null || items.length == 0)\n return \" * \" ;\n else{\n var item = items[0]\n var sql = null;\n for(var col in item){\n if(col == \"$$hashKey\" || typeof item[col] === \"function\")\n continue;\n var colVal = \"IFNULL([\"+col+\"],'') as [\" + col + \"]\";\n if(sql == null)\n sql = colVal;\n else\n sql += \",\" + colVal;\n }\n return sql;\n }\n }\n\n getAll():ng.IPromise {\n var config:any = {};\n return this.useGetHandler(this.getBasesUrl(),\"\", config);\n }\n}\n","import {CustomFieldNameService} from \"../../services/CustomFieldNameService\";\nimport {CustomField} from \"../../entities/CustomFieldName\";\n\nexport class CustomFieldNameModel {\n service:CustomFieldNameService;\n $q:ng.IQService;\n testName:string = \"Big Daddy\";\n customFields:CustomField[];\n customFieldValues:{ [id: string] : string; } = {};\n listValues:{ [id: string] : string[]; } = {};\n listValue1:string[] = [];\n listValue2:string[] = [];\n listValue3:string[] = [];\n listValue4:string[] = [];\n listValue5:string[] = [];\n public static $inject = ['$q','CustomFieldNameService'];\n constructor($q:ng.IQService, service:CustomFieldNameService){\n this.customFieldValues['asset.text'] = \"Text1\";\n this.service = service;\n this.$q = $q;\n }\n //connect makes sure that all data has been cached before proceeding to use the model\n connect():ng.IPromise{\n var deferred = this.$q.defer();\n this.service.getAll().then((cfns)=> {\n this.customFields = cfns;\n var tempNameValues:{ [id: string] : string; } = {};\n var tempListValues:{ [id: string] : string[]; } = {};\n for(var i:number=0;i{\n return val.value;\n });\n if(val.name==\"asset.listvalue1\")\n this.listValue1 = cfnvStrings;\n if(val.name==\"asset.listvalue2\")\n this.listValue2 = cfnvStrings;\n if(val.name==\"asset.listvalue3\")\n this.listValue3 = cfnvStrings;\n if(val.name==\"asset.listvalue4\")\n this.listValue4 = cfnvStrings;\n if(val.name==\"asset.listvalue5\")\n this.listValue5 = cfnvStrings;\n //this[val.name] = lvs;\n tempListValues[val.name] = cfnvStrings;\n }\n this.customFieldValues = tempNameValues;\n this.listValues = tempListValues;\n deferred.resolve();\n });\n return deferred.promise;\n }\n getCustomField(cfnName:string):CustomField{\n var cfn:CustomField = null;\n for(var i=0; i< this.customFields.length;i++){\n if(this.customFields[i].name === cfnName)\n {\n cfn = this.customFields[i];\n break;\n }\n }\n return cfn;\n }\n getCustomFieldDisplayIndex(cfnName:string):number{\n var cfn:CustomField = this.getCustomField(cfnName);\n var index:number = cfn == null ? -1 : cfn.displayIndex;\n return index;\n }\n getCustomFieldDisplay(cfnName:string):boolean{\n var cfn:CustomField = this.getCustomField(cfnName);\n var display:boolean = cfn == null ? false : cfn.display;\n return display;\n }\n getCustomFieldValue(cfnName:string, defaultValue?:string):string{\n if(defaultValue == null)\n defaultValue = cfnName;\n var cfn:CustomField = this.getCustomField(cfnName);\n var textValue = cfn == null ? defaultValue : cfn.value;\n return textValue;\n }\n}\n","import {AlertingAction} from \"../../entities/AlertingAction\";\nimport {Plugin} from \"../../entities/Plugin\";\nimport {AlertingActionService} from \"../../services/AlertingActionService\";\nimport {PluginService} from \"../../services/PluginService\";\nimport {NotificationService} from \"../../services/NotificationService\";\nimport {EditModel} from \"./EditModel\";\n\nexport class EditAlertingActionModel extends EditModel {\n $q:ng.IQService;\n entityId:number;\n plugins:SelectablePlugin[] = [];\n static $inject = ['$q','AlertingActionService','PluginService','NotificationService'];\n constructor($q:ng.IQService, public service:AlertingActionService, public pluginService:PluginService, public notifyService:NotificationService){\n super($q, service, AlertingAction);\n }\n loadData(entityId:number):ng.IPromise{\n return super.loadData(entityId).then((ok)=> {\n return this.$q.all([this.pluginService.getAll()]).then((data)=>{\n var strPluginIds:string[] = this.entity.pluginActions != null ? this.entity.pluginActions.split(\",\") : [];\n var pluginIds:number[] = $.map(strPluginIds, (a,index)=>parseInt(a));\n var tempSelPlugin:SelectablePlugin[] = [];\n this.plugins = [];//.splice(0,this.plugins.length-1);\n for(var i=0;itempItem == plugin.id).length > 0;\n this.plugins.push(new SelectablePlugin(plugin,foundMatch));\n }\n return this.$q.when(true);\n })\n });\n }\n verifyData():ng.IPromise {\n if (this.entity.name == null || this.entity.name.length == 0) {\n this.notifyService.notifyError(\"Name is required.\");\n return this.$q.when(false);\n }\n return this.$q.when(true);\n }\n saveData():ng.IPromise{\n var pluginIds:number[] = [];\n for(var i=0;i {\n $q:ng.IQService;\n entityId:number;\n imageHeight:number;\n imageWidth:number;\n b64String:string;\n allMaintenanceHistories:MaintenanceHistory[] = [];\n editedMaintenaceHistories:MaintenanceHistory[] = [];\n addedMaintenaceHistories:MaintenanceHistory[] = [];\n deletedMaintenanceHistories:MaintenanceHistory[] = [];\n parentAsset:Asset;\n allChildren:Asset[] = [];\n addedChildren:Asset[] = [];\n deletedChildren:Asset[] = [];\n selectedAsset:Asset;\n selectedMaintenance: MaintenanceHistory;\n enableAssetUnseen: boolean = false;\n locations:Location[];\n alertingActions:AlertingAction[];\n readers:Reader[];\n dateFormat: string;\n editMaintenanceHandler: IEditMaintenanceHandler;\n MAINTENANCE_NOMAINTENANCE = \"No Maintenance\";\n MAINTENANCE_PERIODIC = \"Periodic\";\n MAINTENANCE_SINGLEEVENT = \"Single Event\";\n disposalStatuses = [\"In Service\", \"Disposed\"];\n maintenanceMethods = [this.MAINTENANCE_NOMAINTENANCE, this.MAINTENANCE_PERIODIC,this.MAINTENANCE_SINGLEEVENT];\n customFieldNameValues: { [id: string] : string; } = {};\n listvalue1 = [\"Excellent\", \"Good\", \"Fine\", \"Bad\"];\n static $inject = ['$q', 'AssetService', 'MaintenanceHistoryService', 'LocationService', 'AlertingActionService',\n 'ReaderService', 'PrintJobService', 'CustomFieldNameModel', 'FileDataService', 'NotificationService'];\n constructor($q:ng.IQService, public service:AssetService, public mhService:MaintenanceHistoryService,\n public locationService: LocationService, public alertingActionService: AlertingActionService,\n public readerService:ReaderService, public printjobService:PrintJobService,\n public cfnModel:CustomFieldNameModel,public fileDataService:FileDataService,\n public notifyService:NotificationService){\n super($q, service, Asset);\n this.dateFormat = ApplicationSetting.applicationSetting.dateFormat;\n }\n testPromise():ng.IPromise{\n return this.$q.when(true).then((data)=>{\n return this.$q.when(\"Got here\");\n });\n }\n getCustomFieldValue(cfnName:string):ng.IPromise{\n var deferred = this.$q.defer();\n this.cfnModel.connect().then(()=>{\n var displayVal = this.cfnModel.getCustomFieldValue(cfnName);\n deferred.resolve(displayVal);\n });\n return deferred.promise;\n }\n loadSecondaryData(entityId:number):ng.IPromise{\n this.entityId = entityId;\n var imagePromise:ng.IPromise = this.entity.fileDataID == null ?\n this.$q.when(null) : this.fileDataService.get(this.entity.fileDataID);\n var parentAssetPromise:ng.IPromise = this.entity.assetParentID == null ?\n this.$q.when(null) : this.service.get(this.entity.assetParentID);\n return this.$q.all([this.service.getChildren(entityId),this.mhService.getByAsset(entityId),parentAssetPromise, imagePromise]).then((data)=>{\n this.allChildren = data[0];\n this.allMaintenanceHistories = data[1]; \n this.parentAsset = data[2];\n this.b64String = data[3];\n return this.$q.when(true);\n })\n .catch((exc)=>{\n return this.$q.reject(\"got exc\"+exc);\n });\n }\n loadEntityNameSerial(forceLoad:boolean = false):ng.IPromise{\n var assetSerialPromise:ng.IPromise = ApplicationSetting.applicationSetting.automaticallySerializeAssetName || forceLoad ?\n this.service.getCurrentAssetNameSerial() : this.$q.when(\"\");\n return assetSerialPromise;\n }\n loadData(entityId:number):ng.IPromise{\n return super.loadData(entityId).then((ok) => {\n if (entityId !== null)\n this.editMaintenanceHandler = new EditMaintenanceHandler_EditAsset(this.$q, this.mhService, this.notifyService);\n else\n this.editMaintenanceHandler = new EditMaintenanceHandler_NewAsset(this.$q, this.mhService, this.notifyService);\n var deferred = this.$q.defer();\n var locationPromise:ng.IPromise = this.locationService.getAll();\n var alertingActionPromise:ng.IPromise = this.alertingActionService.getAll();\n var readerPromise:ng.IPromise = this.readerService.getAll();\n\n //var entityPromise:ng.IPromise = null;\n\n var cfPromise: ng.IPromise = this.cfnModel.connect();\n this.enableAssetUnseen = ApplicationSetting.applicationSetting.enableAssetUnseen;\n this.entityId = entityId;\n this.$q.all([locationPromise,alertingActionPromise, readerPromise, cfPromise]).then((data)=>{\n this.locations = data[0];\n data[1].unshift(new AlertingAction(null,\"\"));\n this.alertingActions = data[1];\n this.readers = data[2];\n //this.entity = data[0];\n deferred.resolve(true);\n }).catch((exc)=>{\n alert(\"Got exception \"+exc);\n });\n return deferred.promise;\n });\n }\n isHex(inputString:string):boolean{\n if(inputString == null || inputString.length == 0)\n return true;\n inputString = inputString.replace(' ', '');\n var re = /^[0-9a-f]+$/ig\n if(re.test(inputString)) {\n return true;\n } else {\n return false;\n }\n }\n verifyData():ng.IPromise{\n if(this.entity.name == null || this.entity.name.length == 0){\n this.notifyService.notifyError(\"Name is required.\");\n return this.$q.when(false);\n }\n if (this.entity.vTagGpsDeviceID != null && this.entity.vTagGpsDeviceID.length > 0 && this.entity.vTagGpsDeviceID.length != 16){\n this.notifyService.notifyError(\"VTag GPS Device ID must be 16 characters if set.\");\n return this.$q.when(false);\n }\n if(!this.isHex(this.entity.vTagGpsDeviceID)){\n this.notifyService.notifyError(\"VTag GPS Device ID must be Hexadecimal.\");\n return this.$q.when(false);\n }\n if(this.entity.rfidTag != null && this.entity.rfidTag.length > 0 && !this.isHex(this.entity.rfidTag)){\n this.notifyService.notifyError(\"RFID Tag must be Hexadecimal.\");\n return this.$q.when(false);\n }\n if(this.entity.vTagID != null && this.entity.vTagID.length > 0 && !this.isHex(this.entity.vTagID)){\n this.notifyService.notifyError(\"V-Tag ID must be Hexadecimal.\");\n return this.$q.when(false);\n }\n if (this.entity.vTagID != null && this.entity.vTagID.length > 0 && !(this.entity.vTagID.length == 6 || this.entity.vTagID.length == 12)){\n this.notifyService.notifyError(\"V-Tag ID must be 6 or 12 digits.\");\n return this.$q.when(false);\n }\n var vtagPromise = this.entity.vTagID != null && this.entity.vTagID.length > 0 ? this.service.getByVTag(this.entity.vTagID) : this.$q.when(null);\n var rfidPromise = this.entity.rfidTag != null && this.entity.rfidTag.length > 0 ? this.service.getByRfid(this.entity.rfidTag) : this.$q.when(null);\n var gpsPromise = this.entity.vTagGpsDeviceID != null && this.entity.vTagGpsDeviceID.length > 0 ? this.service.getByGps(this.entity.vTagGpsDeviceID) : this.$q.when(null);\n return this.$q.all([this.service.getByName(this.entity.name),vtagPromise, rfidPromise, gpsPromise]).then((data)=>{\n var nameAsset:Asset = data[0];\n var vtagAsset:Asset = data[1];\n var rfidAsset:Asset = data[2];\n var gpsAsset:Asset = data[3];\n if(nameAsset != null && nameAsset.id != this.entity.id)\n {\n this.notifyService.notifyError(\"Please choose a unique asset name.\");\n return this.$q.when(false);\n }\n else if(vtagAsset != null && vtagAsset.id != this.entity.id)\n {\n this.notifyService.notifyError(\"This V-Tag ID value is already associated with asset \"+vtagAsset.name);\n return this.$q.when(false);\n }\n else if(rfidAsset != null && rfidAsset.id != this.entity.id)\n {\n this.notifyService.notifyError(\"This RFID value is already associated with asset \"+rfidAsset.name);\n return this.$q.when(false);\n }\n else if(gpsAsset != null && gpsAsset.id != this.entity.id)\n {\n this.notifyService.notifyError(\"This VTag GPS Device ID value is already associated with asset \"+gpsAsset.name);\n return this.$q.when(false);\n }\n else\n return this.$q.when(true);\n })\n }\n saveData():ng.IPromise{\n var mainPromise:ng.IPromise = null;\n //var deferred:ng.IDeferred = this.$q.defer();\n return this.verifyData().then((ok)=>{\n //return this.getByName(this.entity.name)\n if(!ok)\n return this.$q.when(false);\n if(this.entityId == null)\n mainPromise = this.service.insert(this.entity);\n else\n mainPromise = this.service.update(this.entity);\n var otherPromises:ng.IPromise[] = []; \n this.entity.assetChildCount = this.addedChildren.length;\n if(this.addedChildren.length > 0){\n var ids = $.map(this.addedChildren, (item, index)=>item.id);\n otherPromises.push(this.service.associateChildren(ids, this.entityId));\n }\n if(this.deletedChildren.length > 0){\n var ids = $.map(this.deletedChildren, (item, index)=>item.id);\n otherPromises.push(this.service.removeChildren(ids));\n } \n return mainPromise.then((data)=>{\n if(this.entityId == null)\n this.entityId = data;\n return this.editMaintenanceHandler.saveData(this.entityId).then(() => {\n return this.$q.all(otherPromises)\n .then((data)=> {\n return this.$q.when(true);\n })\n .catch((err:any)=>{\n return this.$q.reject(\"Got error in saving asset data:\"+err);\n });\n })\n })\n });\n }\n removeImage(){\n this.b64String = null;\n this.imageWidth = 0;\n this.imageHeight = 0;\n this.entity.fileDataID = null;\n }\n uploadImage(b64Data:string):ng.IPromise {\n return this.fileDataService.insert(b64Data)\n .then((id)=> {\n this.b64String = b64Data;\n this.entity.fileDataID = id;\n return this.fileDataService.getImageSize(id);\n })\n .then((size)=>{\n var dataArr:string[] = size.split(\"x\");\n this.imageWidth = parseInt(dataArr[0]);\n this.imageHeight = parseInt(dataArr[1]);\n return this.$q.when(this.entity.fileDataID);\n })\n .catch((exc)=> {\n this.notifyService.notifyError(\"Error inserting file data: \" + exc.message);\n return this.$q.when(null);\n });\n }\n setNextMaintenance():void{\n var nextVal:Date = null;\n if(this.entity.maintenanceMethod == this.MAINTENANCE_PERIODIC){\n nextVal = this.entity.maintenanceStartDate;\n }\n else if(this.entity.maintenanceMethod == this.MAINTENANCE_SINGLEEVENT){\n nextVal = this.entity.maintenanceSingleDate;\n }\n this.entity.nextMaintenance = nextVal;\n }\n addMaintenance(item: MaintenanceHistory): void{\n this.editMaintenanceHandler.addMaintenance(item).then(() => {\n })\n .catch((exc) => {\n this.notifyService.notifyError(\"Error adding maintenance: \" + exc.message);\n return this.$q.when(null);\n }); \n }\n editMaintenance(item:MaintenanceHistory):void{\n this.editMaintenanceHandler.editMaintenance(item).then(() => {\n })\n .catch((exc) => {\n this.notifyService.notifyError(\"Error editing maintenance: \" + exc.message);\n return this.$q.when(null);\n }); \n }\n deleteMaintenance(item: MaintenanceHistory): void{\n this.editMaintenanceHandler.deleteMaintenance(item).then(() => {\n })\n .catch((exc) => {\n this.notifyService.notifyError(\"Error deleting maintenance: \" + exc.message);\n return this.$q.when(null);\n }); \n }\n addChild(item:Asset):boolean{\n var index = this.deletedChildren.indexOf(item);\n if(index != -1)\n this.deletedChildren.splice(index,1);\n for(var i=0;i = null;\n if(this.entityId == null)\n mainPromise = this.service.insert(this.entity);\n else\n mainPromise = this.$q.when(this.entityId);\n mainPromise.then((entityId)=>{\n if(this.entityId == null)\n this.entity.id=entityId;\n this.entityId = entityId;\n var printJob: PrintJob = new PrintJob(-1, this.entity.id, \"Asset\", template.id, template.useWithService);\n return this.printjobService.print(printJob)\n .then((newId) => {\n return this.printjobService.get(newId).then((printJob) => {\n this.entity.rfidTag = printJob.generatedRfid;\n this.notifyService.notify(\"Print Job Scheduled Successfully.\");\n })\n }); \n })\n .catch((exc)=>{\n this.notifyService.notifyError(\"Printing Error\",exc);\n });\n }\n}\n","import {NotificationService} from \"../../services/NotificationService\";\nimport {ReaderService} from \"../../services/ReaderService\";\nimport {MapSiteService} from \"../../services/MapSiteService\";\nimport {Reader} from \"../../entities/Reader\";\nimport {MapSite} from \"../../entities/MapSite\";\n\nexport class CmdCenterEditSiteModel {\n mapSite:MapSite;\n mapSiteID:number;\n available:Reader[];\n selectedAvailable:Reader[];\n assigned:Reader[];\n selectedAssigned:Reader[];\n static $inject = ['$q','MapSiteService','ReaderService','NotificationService'];\n constructor(public $q:ng.IQService,\n public mapSiteService:MapSiteService,\n public readerService:ReaderService,\n public notificationService:NotificationService)\n {\n }\n\n init(mapSiteId:number):ng.IPromise {\n this.available = [];\n this.assigned = [];\n this.mapSiteID = mapSiteId;\n var mainPromise:ng.IPromise = null;\n if(isNaN(this.mapSiteID))\n mainPromise = this.$q.when(null);\n else\n mainPromise = this.mapSiteService.get(this.mapSiteID);\n return this.$q.all([mainPromise,this.readerService.getGateways()]).then((data:any)=> {\n this.mapSite = data[0] == null ? new MapSite() : data[0];\n var allReaders = data[1];\n for(var i=0;i 0 ? [this.available[0]] : [];\n this.selectedAssigned = this.assigned.length > 0 ? [this.assigned[0]] : [];\n });\n }\n add(){\n if(this.selectedAvailable.length == 0)\n return;\n var tempAvailable = this.selectedAvailable[0];\n var availableIndex = this.available.indexOf(tempAvailable);\n this.available.splice(availableIndex, 1);\n this.assigned.push(tempAvailable);\n this.selectedAvailable = this.available.length > 0 ? [this.available[0]] : [];\n }\n remove(){\n if(this.selectedAssigned.length == 0)\n return;\n var assigned = this.selectedAssigned[0];\n var assignedIndex = this.assigned.indexOf(assigned);\n this.assigned.splice(assignedIndex, 1);\n this.available.push(assigned);\n this.selectedAssigned = this.assigned.length > 0 ? [this.assigned[0]] : [];\n }\n save():ng.IPromise{\n if(this.mapSite.name == null || this.mapSite.name.length == 0)\n {\n this.notificationService.notify(\"Please enter a name before saving\");\n return this.$q.when(false);\n }\n var mainPromise:ng.IPromise = null;\n if(isNaN(this.mapSiteID))\n mainPromise = this.mapSiteService.insert(this.mapSite);\n else\n mainPromise = this.mapSiteService.update(this.mapSite);\n var readerPromises:ng.IPromise[] = [];\n return mainPromise.then((data)=>{\n if(this.mapSiteID == null) {\n this.mapSiteID = data;\n this.mapSite.id = data;\n }\n $.each(this.assigned, (i, val)=> {\n val.mapSiteID = this.mapSite.id;\n readerPromises.push(this.readerService.update(val));\n });\n $.each(this.available,(i, val)=> {\n if (val.mapSiteID == this.mapSite.id)\n val.mapSiteID = null;\n readerPromises.push(this.readerService.update(val));\n });\n return this.$q.all(readerPromises);\n });\n }\n}\n","import {MapSite} from \"../../entities/MapSite\";\nimport {MapArea} from \"../../entities/MapArea\";\nimport {Reader} from \"../../entities/Reader\";\nimport {Asset} from \"../../entities/Asset\";\nimport {FixedVTag} from \"../../entities/FixedVTag\";\nimport {MapSiteService} from \"../../services/MapSiteService\";\nimport {MapAreaService} from \"../../services/MapAreaService\";\nimport {AssetService} from \"../../services/AssetService\";\nimport {FixedVTagService} from \"../../services/FixedVTagService\";\nimport {NotificationService} from \"../../services/NotificationService\";\nimport {ReaderService} from \"../../services/ReaderService\";\nimport {CustomFieldNameService} from \"../../services/CustomFieldNameService\";\nimport {ApplicationSettingService} from \"../../services/ApplicationSettingService\";\nimport {FileDataService} from \"../../services/FileDataService\";\nimport {IVTag} from \"../../entities/IVTag\";\n\nexport class CmdCenterMapModel {\n static $inject = ['$q','MapSiteService','MapAreaService','AssetService','FixedVTagService','NotificationService','ReaderService','CustomFieldNameService','ApplicationSettingService','FileDataService'];\n pageSize:number = 200;\n currentPage:number = 1;\n selectedItems:any[] = [];\n mapSites:MapSite[];\n selectedMapSite:MapSite;\n mapAreas:MapArea[];\n currentMapAreas:MapArea[];\n selectedMapArea:MapArea;\n gateways:Reader[];\n assets:Asset[];\n fixedTags:FixedVTag[];\n currentFixedTags:FixedVTag[];\n currentAssets:Asset[];\n currentGateways:Reader[];\n vTagPositionReportingMode:string;\n searchText:string = \"\";\n rawSearchText:string = \"\";\n siteByGateway:any;\n assetColumnDefs:[string,string,number][];\n vtagColumnDefs:[string,string,number][];\n lastCheckedChanged:Date;\n customFieldNames:any[];\n imageData:string;\n mapRefresh:number = 10;\n activeTimeout:number = 90;\n //activeLimitMinutes:number = 60;\n constructor(public $q:ng.IQService,\n public mapSiteService:MapSiteService,\n public mapAreaService:MapAreaService,\n public assetService:AssetService,\n public fixedTagService:FixedVTagService,\n public notificationService:NotificationService,\n public readerService:ReaderService,\n public customFieldNameService:CustomFieldNameService,\n public applicationSettingService:ApplicationSettingService,\n public fileDataService:FileDataService){\n // console.log(\"mapmodel ctr\");\n this.lastCheckedChanged = new Date();\n }\n init(lastSiteId:number, lastAreaId:number):ng.IPromise{\n // console.log(\"INITING!!!\")\n this.selectedItems = [];\n return this.$q.all([\n this.mapSiteService.getAll(),\n this.mapAreaService.getAll(),\n this.readerService.getGateways(),\n this.customFieldNameService.getAssetColumnDefs(),\n this.customFieldNameService.getVTagColumnDefs(),\n this.applicationSettingService.getCached()\n ])\n .then( (data:any)=> {\n // console.log(\"INITING2!!!\")\n this.mapSites = data[0];\n this.mapAreas = data[1];\n this.gateways = data[2];\n this.assetColumnDefs = data[3];\n this.vtagColumnDefs = data[4];\n this.mapRefresh = data[5].cmdMapRefresh;\n this.activeTimeout = data[5].cmdActiveTimeout;\n this.vTagPositionReportingMode = data[5].vTagPositionReportingMode;\n\n this.siteByGateway = {};\n for(var i=0;i 0) {\n this.selectedMapSite = this.mapSites[0];\n }\n // console.log(\"about getAssets\");\n this.setMapAreas(lastAreaId);\n if(this.selectedMapArea == null)\n return this.$q.when(false);\n return this.$q.all([this.getAssets(), this.getFixedTags()]).then((data)=>{\n this.getCurrentTags();\n return this.$q.when(data[0] && data[1]);\n });\n })\n .catch((data:any)=>{\n var error = data;\n //handle error\n alert(\"handle error \"+data);\n });\n }\n getMapAreaImage():ng.IPromise{\n return this.fileDataService.get(this.selectedMapArea.fileDataID).then((b64Data)=>{\n this.imageData = b64Data;\n return this.$q.when(true);\n });\n }\n getChangedAssets(lastCheckedChanged:string):ng.IPromise{\n if(this.selectedMapSite == null)\n return this.$q.when();\n return this.assetService.getChangedVTagAndGpsAssetsBySite(this.selectedMapSite.id, lastCheckedChanged).then((assets)=>{\n //var assets:Asset[] = Asset.parseJsonArr(data);\n $.each(assets, (i,asset:Asset)=>{\n var found:boolean = false;\n for(var j:number=0;j{\n if(this.selectedMapSite == null)\n return this.$q.when();\n return this.fixedTagService.getChangedBySite(this.selectedMapSite.id, lastCheckedChanged).then((fixedTags)=>{\n var changedCurrFixed:FixedVTag[] = [];\n $.each(fixedTags, (i,fixedTag:FixedVTag)=>{\n var found:boolean = false;\n for(var j:number=0;j{\n if(this.selectedMapSite == null)\n return this.$q.when();\n return this.readerService.getChangedBySite(this.selectedMapSite.id, lastCheckedChanged).then((gateways)=>{\n var changedCurrGateways:Reader[] = [];\n $.each(gateways, (i,gateway:Reader)=>{\n var found:boolean = false;\n for(var j:number=0;j 0) {\n // this.selectedMapArea = this.currentMapAreas[0];\n //}\n }\n getAssets(){\n // console.log(\"getAssets\");\n if(this.selectedMapSite == null) {\n this.assets = [];\n return this.$q.when(false);\n }\n return this.assetService.getVTagAndGpsAssetsBySite(this.selectedMapSite.id).then((assets)=>{\n this.assets = assets;\n // console.log(\"getAssets len=\"+this.assets.length);\n return this.$q.when(true);\n })\n }\n getFixedTags():ng.IPromise{\n // console.log(\"getFixedTags\");\n if(this.selectedMapSite == null) {\n this.fixedTags = [];\n return this.$q.when(false);\n }\n return this.fixedTagService.getBySite(this.selectedMapSite.id).then((tags)=>{\n this.fixedTags = tags;\n // console.log(\"getFixedTags len=\"+this.fixedTags.length);\n return this.$q.when(true);\n })\n }\n getGateways():ng.IPromise{\n if(this.selectedMapSite == null) {\n this.gateways = [];\n return this.$q.when(false);\n }\n return this.readerService.getBySite(this.selectedMapSite.id).then((gateways)=>{\n this.gateways = gateways;\n // console.log(\"getFixedTags len=\"+this.fixedTags.length);\n return this.$q.when(true);\n })\n }\n locateAdv():ng.IPromise{\n //first try to find a match of asset\n var vtagPromise:ng.IPromise;\n var foundInCurrent:boolean = false;\n if(this.currentFixedTags.length > 0){\n //first see if there is an exact match in current fixed assets\n vtagPromise = this.$q.when(this.currentFixedTags[0]);\n foundInCurrent = true;\n }\n else if(this.currentAssets.length > 0){\n //next see if there are any matches in currentAssets\n vtagPromise = this.$q.when(this.currentAssets[0]);\n foundInCurrent = true;\n }\n else{\n var foundInFixed:boolean = false;\n //next check if there are any matches in all fixedVTags\n for(var i=0;i(this.fixedTags[i]);\n foundInFixed = true;\n break;\n }\n }\n //next see if there are any matches in all asset tags\n for(var i=0;i(this.assets[i]);\n break;\n }\n }\n }\n if(vtagPromise == null){\n //still nothing? Query the database for either an asset or a fixedvtag that matches the searchText\n vtagPromise = this.$q.all([\n this.assetService.getFirstVTagAndGpsMatch(this.searchText),this.fixedTagService.getFirstVTagMatch(this.searchText)])\n .then((data)=>{\n var foundAsset:Asset = data[0];\n var foundFixed:FixedVTag = data[1];\n if(foundFixed != null){\n return this.$q.when(foundFixed);\n }\n else if(foundAsset != null){\n return this.$q.when(foundAsset);\n }\n else\n return this.$q.when(null);\n });\n }\n return vtagPromise.then((vtag)=>{\n // match the mapsite and maparea with the asset that was found.\n // console.log(\"found in current1=\"+foundInCurrent+\" and tag null?\"+(vtag == null));\n if(vtag == null){\n this.notificationService.notify(\"V-Tag not found that matches search text \"+this.searchText);\n return this.$q.when(null);\n }\n if(!foundInCurrent){\n var foundMapSiteId:number = this.siteByGateway[vtag.readerID];\n var foundMapSite = null;\n for(var i=0;i(vtag);\n }\n }\n }\n return this.$q.when(vtag);\n });\n }\n getIsAssetShown(asset:Asset):boolean{\n var areaMatch:boolean = asset.vTagZ === this.selectedMapArea.floorLevel || asset.vTagZ === null;\n var searchMatch:boolean = asset.search(this.searchText);\n // console.log(\"name=\"+curr.name+\" and search match=\"+searchMatch);\n var isActive = asset.isActiveTag(this.activeTimeout);\n var filtered = false;\n switch(this.selectedFilter){\n case this.SHOWACTIVEASSETS:\n case this.SHOWACTIVETAGS:\n filtered = isActive;\n break;\n case this.SHOWINACTIVEASSETS:\n case this.SHOWINACTIVETAGS:\n filtered = !isActive;\n break;\n case this.SHOWALLASSETS:\n case this.SHOWALLTAGS:\n filtered = true;\n break;\n }\n return areaMatch && searchMatch && filtered;\n }\n getIsFixedTagShown(fixedTag:FixedVTag):boolean{\n var areaMatch:boolean = fixedTag.vTagZ === this.selectedMapArea.floorLevel || fixedTag.vTagZ === null;\n var searchMatch:boolean = fixedTag.search(this.searchText);\n // console.log(\"name=\"+curr.name+\" and search match=\"+searchMatch);\n var isActive = fixedTag.isActiveTag(this.activeTimeout);\n var filtered = false;\n switch(this.selectedFilter){\n case this.SHOWACTIVEFIXED:\n case this.SHOWACTIVETAGS:\n filtered = isActive;\n break;\n case this.SHOWINACTIVEFIXED:\n case this.SHOWINACTIVETAGS:\n filtered = !isActive;\n break;\n case this.SHOWALLFIXED:\n case this.SHOWALLTAGS:\n filtered = true;\n break;\n\n }\n return areaMatch && searchMatch && filtered\n }\n getIsGatewayShown(gateway:Reader):boolean{\n var areaMatch:boolean = gateway.vTagZ === this.selectedMapArea.floorLevel || gateway.vTagZ === null;\n var searchMatch:boolean = gateway.search(this.searchText);\n // console.log(\"name=\"+curr.name+\" and search match=\"+searchMatch);\n var isActive = gateway.isActive(this.activeTimeout);\n var filtered = false;\n switch(this.selectedFilter){\n case this.SHOWACTIVEFIXED:\n case this.SHOWACTIVETAGS:\n filtered = isActive;\n break;\n case this.SHOWINACTIVEFIXED:\n case this.SHOWINACTIVETAGS:\n filtered = !isActive;\n break;\n case this.SHOWALLFIXED:\n case this.SHOWALLTAGS:\n filtered = true;\n break;\n\n }\n return areaMatch && searchMatch && filtered\n }\n getCurrentTags(){\n //filter by selectedMapArea, searchText, selectedFilter\n var tempAssets:Asset[] = [];\n // console.log(\"getCurrAssets. len=\"+this.assets.length);\n for(var i=0;i {\n static $inject = ['$q','QueuedCommandService','NotificationService'];\n errorMessage:string = \"\";\n //addedAssets:Asset[] = [];\n //selectedAddedAssets:Asset[] = [];\n searchText:string = \"\";\n before:string = \"\";\n constructor($q:ng.IQService,\n public pagingService:QueuedCommandService,\n public notifyService:NotificationService) {\n super($q, pagingService, notifyService);\n }\n init(){\n\n }\n entityName():string{\n return \"queuedcommand\";\n }\n displayName():string{\n return \"Queued Commands\";\n }\n transformItem(entity:QueuedCommand){\n }\n getColumnDefs():ng.IPromise{\n this.nameValuePairs =\n [\n ['created', 'Created', 200],\n ['commandType', 'Command Type', 150],\n ['commandText', 'Command Text', 310],\n ['status', 'Status', 135],\n ['lastAttempt', 'Last Attempt', 215],\n ['vTagID', 'V-Tag ID', 120],\n ['retryCount', 'Retry Count', 150],\n ['reason', 'Reason', 145],\n ['amsName', 'Run With AMS', 140],\n ];\n return this.$q.when();\n }\n getPagedPromise():ng.IPromise{\n return this.pagingService.getPagedByTypeStatus(this.selectedCommandType,this.selectedCommandStatus,this.search,this.before,this.page,this.pageSize,this.orderColumn,this.orderDirection);\n }\n getCountPromise():ng.IPromise{\n return this.pagingService.getCountByTypeStatus(this.selectedCommandType,this.selectedCommandStatus,this.search,this.before);\n }\n cancelCommands():ng.IPromise{\n var selected:QueuedCommand[] = this.selectedItems.slice(0);\n var updateStatusPromises:ng.IPromise[] = [];\n $.each(selected,(i,val)=>{\n updateStatusPromises.push(this.pagingService.updateStatus(val.id, \"Failed\", \"Cancelled by user\"));\n });\n return this.$q.all(updateStatusPromises).then((data)=>{\n this.notifyService.notify(\"Command(s) cancelled successfully.\");\n return this.$q.when();\n })\n .catch((exc)=>{\n this.notifyService.notifyError(\"Error in cancelling commands:\",exc);\n return this.$q.when();\n });\n }\n resendCommands(){\n var selected:QueuedCommand[] = this.selectedItems.slice(0);\n var toUpdate:QueuedCommand[] = [];\n var toInsert:QueuedCommand[] = [];\n $.each(selected,(i,val)=>{\n var newQC = new QueuedCommand();\n newQC.parseJson(val);\n newQC.id = null;\n newQC.status = \"Queued\";\n newQC.retryCount = \"0\";\n newQC.lastAttempt = null;\n newQC.reason = null;\n newQC.created = null;\n toInsert.push(newQC);\n if(val.status == \"Failed\"){\n val.status = \"Resent\";\n var upQC = new QueuedCommand();\n upQC.parseJson(val);\n toUpdate.push(upQC);\n }\n });\n return this.pagingService.inserts(toInsert).then(()=>{\n return this.pagingService.updates(toUpdate);\n });\n }\n commandTypes:string[] = [\"\",\"Get Position\",\"Set Position\",\"Get Threshold\",\"Set Threshold\",\"Set Security\",\"Fixed Relay\",\"Accel Sensor\",\"Shutdown\",\"Resume\",\"Set Algorithm\",\"Set Box\",\"Set Dwell Time\"];\n selectedCommandType:string = \"\";\n commandStatuses:string[] = [\"\",\"Queued\",\"In Progress\",\"Success\",\"Failed\"];\n selectedCommandStatus:string = \"\";\n}\n","import {SensorReading} from \"../../entities/SensorReadingHistory\";\nimport {SensorStat} from \"../../entities/SensorStatsHistory\";\nimport {SensorService} from \"../../services/SensorService\";\nimport {SensorStatService} from \"../../services/SensorStatService\";\nimport { StateParams } from \"@uirouter/angularjs\";\nimport {LineChart, LineData, LinePair} from \"./GraphCtrl\";\n\nexport class AssetSensorHistoriesCtrl {\n public static $inject = ['$scope', '$q', '$stateParams', '$uibModal', 'SensorService', 'SensorStatService']\n sensorreading:SensorReading;\n sensorstat:SensorStat;\n sensorstats:SensorStat[] = [];\n sensorreadings:SensorReading[] = [];\n\n assetId:number;\n\n constructor(public $scope:any, public $q:ng.IQService, public stateParamsService:StateParams, public modal:angular.ui.bootstrap.IModalService,\n public sensorService:SensorService, public sensorstatService:SensorStatService) {\n $scope.vm = this;\n this.assetId = stateParamsService[\"id\"];\n if (!this.assetId == null) {\n sensorService.getLastByAssetId(this.assetId).then((data)=> {\n this.sensorreading = data;\n })\n sensorstatService.getLastByAssetId(stateParamsService[\"id\"]).then((data)=> {\n this.sensorstat = data;\n })\n }\n }\n srhGraph(prop:string){\n var promise = this.$q.when([]);\n if(this.sensorreadings.length == 0){\n promise = this.sensorService.getByVTagId(\"007021\");\n }\n promise.then((data)=> {\n if (data != null)\n this.sensorreadings = data;\n var lineItems:[string,string,string][] = [],\n chartName:string = \"\",\n xAxis:string = \"created\",\n yAxis:string = \"\";\n switch (prop) {\n case \"minimumTemperatureDegC\":\n case \"maximumTemperatureDegC\":\n lineItems.push([\"Min Temperature\", \"created\", \"minimumTemperatureDegC\"])\n lineItems.push([\"Max Temperature\", \"created\", \"maximumTemperatureDegC\"])\n break;\n case \"maximumAccelerationG\":\n lineItems.push([\"Max Acceleration G\", \"created\", \"maximumAccelerationG\"])\n break;\n case \"totalErrors\":\n lineItems.push([\"Total Errors\", \"created\", \"totalErrors\"])\n break;\n case \"batteryVolts\":\n lineItems.push([\"Battery Volts\", \"created\", \"batteryVolts\"])\n break;\n }\n this.showGraph(this.sensorreadings, \"\", xAxis, yAxis, lineItems);\n });\n }\n sshGraph(prop:string){\n var promise = this.$q.when([]);\n if(this.sensorstats.length == 0){\n promise = this.sensorstatService.getByVTagId(\"007021\");\n }\n promise.then((data)=>{\n if(data != null)\n this.sensorstats = data;\n var lineItems:[string,string,string][] = [],\n chartName:string = \"\",\n xAxis:string = \"created\",\n yAxis:string = \"\";\n switch(prop){\n case \"numNeighbors\":\n lineItems.push([\"Num Neighbors\",\"created\",\"numNeighbors\"])\n break;\n case \"ttl\":\n lineItems.push([\"TTL\",\"created\",\"ttl\"])\n break;\n case \"numActiveNeighbors\":\n lineItems.push([\"Num Active Neighbors\",\"created\",\"numActiveNeighbors\"])\n break;\n case \"totalErrors\":\n lineItems.push([\"Total Errors\",\"created\",\"totalErrors\"])\n break;\n case \"minQueue\":\n case \"maxQueue\":\n lineItems.push([\"Min Queue\",\"created\",\"minQueue\"])\n lineItems.push([\"Max Queue\",\"created\",\"maxQueue\"])\n break;\n case \"avgQueue\":\n lineItems.push([\"Average Queue\",\"created\",\"avgQueue\"])\n break;\n case \"processedPackets\":\n lineItems.push([\"Processed Packets\",\"created\",\"processedPackets\"])\n break;\n case \"alarmCount\":\n lineItems.push([\"Alarm Count\",\"created\",\"alarmCount\"])\n break;\n case \"movementTriggers\":\n lineItems.push([\"Movement Triggers\",\"created\",\"movementTriggers\"])\n break;\n case \"leafDroppedPackets\":\n lineItems.push([\"Leaf Dropped Packets\",\"created\",\"leafDroppedPackets\"])\n break;\n case \"daysSinceReset\":\n lineItems.push([\"Days Since Reset\",\"created\",\"daysSinceReset\"])\n break;\n case \"firmwareVersion\":\n lineItems.push([\"Firmware Version\",\"created\",\"firmwareVersion\"])\n break;\n }\n this.showGraph(this.sensorstats,\"\",xAxis,yAxis, lineItems);\n });\n }\n showGraph(data:any[],title:string,xAxis:string,yAxis:string, lineItems:[string,string,string][]){\n var lineDatas:LineData[] = [];\n for(var i=0;i{\n linePairs.push(\n new LinePair(\n val[lineItem[1]],\n val[lineItem[2]]\n )\n )\n });\n var lineData = new LineData(lineItem[0], linePairs);\n lineDatas.push(lineData);\n }\n var lineChart = new LineChart(title,xAxis, yAxis, lineDatas);\n var modalInstance:angular.ui.bootstrap.IModalServiceInstance = this.modal.open({\n animation: true,\n template: require('../../../views/graph.html').default,\n controller: 'GraphCtrl',\n size: 'lg',\n resolve: {\n lineChart: function () {\n return lineChart;\n }\n }\n });\n\n return modalInstance.result;\n }\n\n}\n","import {PagingCtrl} from \"./PagingCtrl\";\nimport {BaseEntity} from \"../entities/BaseEntity\";\nimport { StateService, StateParams } from \"@uirouter/angularjs\";\nimport {AdminPagingModel} from \"../models/paging/AdminPagingModel\";\nimport {NotificationService} from \"../services/NotificationService\";\n\nexport class AdminPagingCtrl extends PagingCtrl {\n public static $inject = ['$scope', '$location', '$state', '$stateParams', '$uibModal', 'PagingModel', 'NotificationService'];\n\n constructor($scope:any,\n $location: ng.ILocationService,\n stateService: StateService,\n stateParams: StateParams,\n public modal: angular.ui.bootstrap.IModalService,\n public adminPagingModel: AdminPagingModel,\n notificationService: NotificationService) {\n super($scope, $location, stateService, stateParams, adminPagingModel, notificationService);\n }\n\n init() {\n // Recall pagination\n let pm = this.pagingModel as AdminPagingModel;\n // Only use pagination if URL was not set...\n let paginationPriority:boolean = (this.pagingModel.search === \"\" &&\n this.pagingModel.page === 1 &&\n this.pagingModel.pageSize === 10 &&\n this.pagingModel.orderColumn === \"\" &&\n this.pagingModel.orderDirection === \"\");\n if (paginationPriority && pm.paginationInfoAvailable()) {\n // Use bookmarked pagination information\n pm.recallPagination();\n this.tempSearch = pm.search;\n this.updateLocation();\n }\n }\n\n protected customActionClick(customAction: string) {\n switch (customAction) {\n case \"Batch Print\":\n var count = this.adminPagingModel.selectedItems.length;\n var templateType = this.adminPagingModel.printTemplateType();\n var modalInstance: angular.ui.bootstrap.IModalServiceInstance = this.modal.open({\n animation: true,\n template: require('../../views/admin.print.html').default,\n controller: 'PrintCtrl',\n size: 'lg',\n resolve: {\n totalCount: function () {\n return count;\n },\n templateType: function () {\n return templateType;\n }\n }\n });\n modalInstance.result.then((printer) => {\n this.adminPagingModel.print(printer);\n });\n break;\n case \"Export\":\n this.stateService.go(\"admin.export\" + this.adminPagingModel.entityName());\n break;\n case \"Import\":\n this.stateService.go(\"admin.\" + this.adminPagingModel.entityName() + \"import.fileupload\");\n break;\n case \"Server Import\":\n this.stateService.go(\"admin.server\" + this.adminPagingModel.entityName() + \"import.fileupload\");\n break;\n default:\n this.adminPagingModel.handleCustomAction(customAction).then(() => {\n this.getPaged();\n });\n }\n\n }\n\n protected addClick(): void {\n this.stateService.go(\"admin.edit\" + this.adminPagingModel.entityName());\n //this.stateService.go(\"/admin/edit\"+this.pagingModel.entityName());\n }\n\n protected editClick(): void {\n this.stateService.go(\"admin.edit\" + this.adminPagingModel.entityName(), {\"id\": this.pagingModel.selectedItems[0].id});\n }\n\n protected deleteClick(): void {\n var ids: number[] = $.map(this.pagingModel.selectedItems, (val, i) => val.id);\n if (confirm(\"Are you sure you want to delete these \" + ids.length + \" records?\")) {\n this.adminPagingModel.delete(ids).then((data) => {\n this.searchClick();\n })\n .catch((exc) => {\n this.notificationService.notifyError(\"Error in deleting items:\" + exc);\n });\n }\n }\n}\n","import { StateService, StateParams } from \"@uirouter/angularjs\";\nimport {NotificationService} from \"../../services/NotificationService\";\nimport {ExportModel} from \"../../models/export/ExportModel\";\nimport {PagingCtrl} from \"../PagingCtrl\";\nimport {BaseEntity} from \"../../entities/BaseEntity\";\n\nexport class ExportCtrl extends PagingCtrl{\n public static $inject = ['$scope','$location','$state','$stateParams','ExportModel','NotificationService'];\n assignedGridOptions:any;\n constructor($scope:any, $location: ng.ILocationService, stateService:StateService,\n stateParamsService:StateParams, public exportModel:ExportModel,\n notificationService:NotificationService) {\n super($scope, $location, stateService, stateParamsService, exportModel, notificationService);\n this.assignedGridOptions = {\n multiSelect:true,\n enableSorting:false,\n columnDefs:[],\n data:[],\n onRegisterApi:function(gridApi:any) {\n gridApi.selection.on.rowSelectionChanged($scope,function(row:any){\n var entity = row.entity;\n //alert(\"row selection changed. entity.name=\"+entity.name+\". is selected=\"+row.isSelected);\n if(row.isSelected)\n $scope.vm.exportModel.addAssignedSelected(entity);\n else\n $scope.vm.exportModel.removeAssignedSelected(entity);\n });\n gridApi.selection.on.rowSelectionChangedBatch($scope,function(rows:any){\n $.each(rows, (i, row) => {\n var entity = row.entity;\n if(row.isSelected)\n $scope.vm.exportModel.addAssignedSelected(entity);\n else\n $scope.vm.exportModel.removeAssignedSelected(entity);\n });\n });\n }\n };\n this.pagingModel.getColumnDefs().then(()=>{\n this.assignedGridOptions.columnDefs = this.setColumns();\n });\n }\n protected addItems():void{\n var itemsToAdd:T[] = [];\n for(var i=0;i{\n public static $inject = ['$scope', '$location', '$state', '$stateParams', 'CmdCenterAssetCmdModel','ApplicationSettingService'];\n localGridOptions: any;\n temperatureFormat: string;\n constructor($scope:any, $location: ng.ILocationService, stateService:StateService,\n stateParamsService:StateParams,\n public model: CmdCenterAssetCmdModel,\n public applicationSettingService: ApplicationSettingService,\n public notificationService:NotificationService) {\n super($scope, $location, stateService, stateParamsService, model, notificationService);\n $scope.vm = this;\n this.localGridOptions = {\n enablePaging:false,\n columnDefs:[],\n data:model.addedAssets,\n onRegisterApi:function(gridApi:any) {\n gridApi.selection.on.rowSelectionChanged($scope,function(row:any){\n var entity = row.entity;\n //alert(\"row selection changed. entity.name=\"+entity.name+\". is selected=\"+row.isSelected);\n if(row.isSelected)\n $scope.vm.model.addAddedSelected(entity);\n else\n $scope.vm.pagingModel.removeAddedSelected(entity);\n });\n gridApi.selection.on.rowSelectionChangedBatch($scope,function(rows:any){\n $.each(rows, (i, row) => {\n var entity = row.entity;\n if(row.isSelected)\n $scope.vm.pagingModel.addAddedSelected(entity);\n else\n $scope.vm.pagingModel.removeAddedSelected(entity);\n });\n });\n }\n };\n this.applicationSettingService.getCached().then((data) => {\n this.temperatureFormat = data.temperatureFormat;\n });\n this.pagingModel.getColumnDefs().then(()=>{\n this.localGridOptions.columnDefs = this.setColumns();\n });\n }\n add(){\n if(this.model.selectedItems.length > 0){\n $.each(this.model.selectedItems, (index,val)=>{\n var found = false;\n for(var i=0;i{\n this.model.selectedAddedAssets.splice(this.model.selectedAddedAssets.indexOf(val),1);\n this.model.addedAssets.splice(this.model.addedAssets.indexOf(val),1);\n });\n }\n runCommand(){\n\n }\n}\n","import {CmdCenterShowNearestModel} from \"../../models/cmd/CmdCenterShowNearestModel\";\n\nexport class CmdCenterShowNearestCtrl {\n public static $inject = ['$scope','$uibModalInstance','CmdCenterShowNearestModel','vtagId'];\n gridOptions:any;\n constructor(public $scope:any, public modalInstance:angular.ui.bootstrap.IModalServiceInstance,\n public model:CmdCenterShowNearestModel,\n vtagId:string) {\n $scope.vm= this;\n this.gridOptions = {\n columnDefs:[],\n data:[]\n };\n this.model.init(vtagId).then(()=>{\n this.gridOptions.columnDefs = this.getColumns();\n this.gridOptions.data = this.model.assets;\n });\n }\n\n Ok(){\n this.modalInstance.dismiss('cancel');\n }\n getColumns():any{\n var cols:any = [];\n $.each(this.model.assetColumnDefs, (index,nv)=>{\n cols.push({ field: nv[0], name:nv[1], width:nv[2], enableSorting:true, sort:null });\n })\n return cols;\n }\n}\n","import {CustomFieldNameModel} from \"../models/edit/CustomFieldNameModel\";\nimport angular from \"angular\";\n\nexport class EditCustomFields implements ng.IDirective {\n restrict= 'AEC';\n transclude = true;\n template = require('../../views/edit.customfieldnames.html').default;\n //public static $inject = ['$location', 'CustomFieldNameModel'];\n constructor(public $location:ng.ILocationService, public customFieldNameModel:CustomFieldNameModel) {\n var aoeu8787987987 = 3;\n }\n\n link = (scope:ng.IScope, element:ng.IAugmentedJQuery, attrs:ng.IAttributes, ctrl:any, transclude:ng.ITranscludeFunction) => {\n console.log(this.$location);\n console.log(this.customFieldNameModel);\n transclude((clone)=>{\n this.customFieldNameModel.connect().then(()=> {\n var tempPane = $(element).children().find('#cfnTempPane');\n var leftPane = $(element).children().find('#cfnLeftPane');\n var rightPane = $(element).children().find('#cfnRightPane');\n var divs:any = [];\n $.each(clone, (i, val)=> {\n var pTag = angular.element(val);\n divs.push(pTag);\n });\n console.log(\"divs count=\"+divs.length);\n divs = $.grep(divs, (val:any, i)=> {\n var tempId = val != null && val.length > 0 ? val[0].id : null;\n if (tempId == null)\n return false;\n var toDisplay:boolean = this.customFieldNameModel.getCustomFieldDisplay(tempId);\n return toDisplay\n });\n divs.sort((a:any, b:any)=> {\n var aId = a[0].id;\n var bId = b[0].id;\n var aIdIndex = this.customFieldNameModel.getCustomFieldDisplayIndex(aId);\n var bIdIndex = this.customFieldNameModel.getCustomFieldDisplayIndex(bId);\n console.log(\"aid=\"+aId+\",aIdIndex=\"+aIdIndex+\",bId=\"+bId+\",bIdIndex=\"+bIdIndex);\n return aIdIndex - bIdIndex;\n });\n var left:boolean = true;\n for (var i:number = 0; i < divs.length; i++) {\n var pTag = divs[i];\n if (i < divs.length / 2) {\n var detachedDiv = pTag.detach();\n $(detachedDiv).appendTo(leftPane);\n }\n else {\n var detachedDiv = pTag.detach();\n $(detachedDiv).appendTo(rightPane);\n }\n left = !left;\n }\n });\n var pigtag = 3;\n });\n var aoeuueoa = 3;\n\n }\n\n static factory():ng.IDirectiveFactory {\n var directive = ($location:ng.ILocationService, customFieldNameModel:CustomFieldNameModel) => {\n return new EditCustomFields($location, customFieldNameModel);\n }\n directive.$inject = ['$location', 'CustomFieldNameModel'];\n return directive;\n }\n}\n","var api = require(\"!../../../node_modules/style-loader/dist/runtime/injectStylesIntoStyleTag.js\");\n var content = require(\"!!../../../node_modules/css-loader/dist/cjs.js!../../../node_modules/sass-loader/dist/cjs.js!./app.scss\");\n\n content = content.__esModule ? content.default : content;\n\n if (typeof content === 'string') {\n content = [[module.id, content, '']];\n }\n\nvar options = {};\n\noptions.insert = \"head\";\noptions.singleton = false;\n\nvar update = api(content, options);\n\n\n\nmodule.exports = content.locals || {};","// Imports\nvar ___CSS_LOADER_API_IMPORT___ = require(\"../../../node_modules/css-loader/dist/runtime/api.js\");\nvar ___CSS_LOADER_GET_URL_IMPORT___ = require(\"../../../node_modules/css-loader/dist/runtime/getUrl.js\");\nvar ___CSS_LOADER_URL_IMPORT_0___ = require(\"bootstrap-sass/assets/fonts/bootstrap/glyphicons-halflings-regular.eot\");\nvar ___CSS_LOADER_URL_IMPORT_1___ = require(\"bootstrap-sass/assets/fonts/bootstrap/glyphicons-halflings-regular.woff2\");\nvar ___CSS_LOADER_URL_IMPORT_2___ = require(\"bootstrap-sass/assets/fonts/bootstrap/glyphicons-halflings-regular.woff\");\nvar ___CSS_LOADER_URL_IMPORT_3___ = require(\"bootstrap-sass/assets/fonts/bootstrap/glyphicons-halflings-regular.ttf\");\nvar ___CSS_LOADER_URL_IMPORT_4___ = require(\"bootstrap-sass/assets/fonts/bootstrap/glyphicons-halflings-regular.svg\");\nvar ___CSS_LOADER_URL_IMPORT_5___ = require(\"../img/assetworx_logo.png\");\nexports = ___CSS_LOADER_API_IMPORT___(false);\nvar ___CSS_LOADER_URL_REPLACEMENT_0___ = ___CSS_LOADER_GET_URL_IMPORT___(___CSS_LOADER_URL_IMPORT_0___);\nvar ___CSS_LOADER_URL_REPLACEMENT_1___ = ___CSS_LOADER_GET_URL_IMPORT___(___CSS_LOADER_URL_IMPORT_0___, { hash: \"?#iefix\" });\nvar ___CSS_LOADER_URL_REPLACEMENT_2___ = ___CSS_LOADER_GET_URL_IMPORT___(___CSS_LOADER_URL_IMPORT_1___);\nvar ___CSS_LOADER_URL_REPLACEMENT_3___ = ___CSS_LOADER_GET_URL_IMPORT___(___CSS_LOADER_URL_IMPORT_2___);\nvar ___CSS_LOADER_URL_REPLACEMENT_4___ = ___CSS_LOADER_GET_URL_IMPORT___(___CSS_LOADER_URL_IMPORT_3___);\nvar ___CSS_LOADER_URL_REPLACEMENT_5___ = ___CSS_LOADER_GET_URL_IMPORT___(___CSS_LOADER_URL_IMPORT_4___, { hash: \"#glyphicons_halflingsregular\" });\nvar ___CSS_LOADER_URL_REPLACEMENT_6___ = ___CSS_LOADER_GET_URL_IMPORT___(___CSS_LOADER_URL_IMPORT_5___);\n// Module\nexports.push([module.id, \"/*!\\n * Bootstrap v3.4.1 (https://getbootstrap.com/)\\n * Copyright 2011-2019 Twitter, Inc.\\n * Licensed under MIT (https://github.com/twbs/bootstrap/blob/master/LICENSE)\\n *//*! normalize.css v3.0.3 | MIT License | github.com/necolas/normalize.css */html{font-family:sans-serif;-ms-text-size-adjust:100%;-webkit-text-size-adjust:100%}body{margin:0}article,aside,details,figcaption,figure,footer,header,hgroup,main,menu,nav,section,summary{display:block}audio,canvas,progress,video{display:inline-block;vertical-align:baseline}audio:not([controls]){display:none;height:0}[hidden],template{display:none}a{background-color:transparent}a:active,a:hover{outline:0}abbr[title]{border-bottom:none;text-decoration:underline;text-decoration:underline dotted}b,strong{font-weight:bold}dfn{font-style:italic}h1{font-size:2em;margin:.67em 0}mark{background:#ff0;color:#000}small{font-size:80%}sub,sup{font-size:75%;line-height:0;position:relative;vertical-align:baseline}sup{top:-0.5em}sub{bottom:-0.25em}img{border:0}svg:not(:root){overflow:hidden}figure{margin:1em 40px}hr{box-sizing:content-box;height:0}pre{overflow:auto}code,kbd,pre,samp{font-family:monospace,monospace;font-size:1em}button,input,optgroup,select,textarea{color:inherit;font:inherit;margin:0}button{overflow:visible}button,select{text-transform:none}button,html input[type=button],input[type=reset],input[type=submit]{-webkit-appearance:button;cursor:pointer}button[disabled],html input[disabled]{cursor:default}button::-moz-focus-inner,input::-moz-focus-inner{border:0;padding:0}input{line-height:normal}input[type=checkbox],input[type=radio]{box-sizing:border-box;padding:0}input[type=number]::-webkit-inner-spin-button,input[type=number]::-webkit-outer-spin-button{height:auto}input[type=search]{-webkit-appearance:textfield;box-sizing:content-box}input[type=search]::-webkit-search-cancel-button,input[type=search]::-webkit-search-decoration{-webkit-appearance:none}fieldset{border:1px solid silver;margin:0 2px;padding:.35em .625em .75em}legend{border:0;padding:0}textarea{overflow:auto}optgroup{font-weight:bold}table{border-collapse:collapse;border-spacing:0}td,th{padding:0}/*! Source: https://github.com/h5bp/html5-boilerplate/blob/master/src/css/main.css */@media print{*,*:before,*:after{color:#000 !important;text-shadow:none !important;background:transparent !important;box-shadow:none !important}a,a:visited{text-decoration:underline}a[href]:after{content:\\\" (\\\" attr(href) \\\")\\\"}abbr[title]:after{content:\\\" (\\\" attr(title) \\\")\\\"}a[href^=\\\"#\\\"]:after,a[href^=\\\"javascript:\\\"]:after{content:\\\"\\\"}pre,blockquote{border:1px solid #999;page-break-inside:avoid}thead{display:table-header-group}tr,img{page-break-inside:avoid}img{max-width:100% !important}p,h2,h3{orphans:3;widows:3}h2,h3{page-break-after:avoid}.navbar{display:none}.btn>.caret,.dropup>.btn>.caret{border-top-color:#000 !important}.label{border:1px solid #000}.table{border-collapse:collapse !important}.table td,.table th{background-color:#fff !important}.table-bordered th,.table-bordered td{border:1px solid #ddd !important}}@font-face{font-family:\\\"Glyphicons Halflings\\\";src:url(\" + ___CSS_LOADER_URL_REPLACEMENT_0___ + \");src:url(\" + ___CSS_LOADER_URL_REPLACEMENT_1___ + \") format(\\\"embedded-opentype\\\"),url(\" + ___CSS_LOADER_URL_REPLACEMENT_2___ + \") format(\\\"woff2\\\"),url(\" + ___CSS_LOADER_URL_REPLACEMENT_3___ + \") format(\\\"woff\\\"),url(\" + ___CSS_LOADER_URL_REPLACEMENT_4___ + \") format(\\\"truetype\\\"),url(\" + ___CSS_LOADER_URL_REPLACEMENT_5___ + \") format(\\\"svg\\\")}.glyphicon{position:relative;top:1px;display:inline-block;font-family:\\\"Glyphicons Halflings\\\";font-style:normal;font-weight:400;line-height:1;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}.glyphicon-asterisk:before{content:\\\"*\\\"}.glyphicon-plus:before{content:\\\"+\\\"}.glyphicon-euro:before,.glyphicon-eur:before{content:\\\"€\\\"}.glyphicon-minus:before{content:\\\"−\\\"}.glyphicon-cloud:before{content:\\\"☁\\\"}.glyphicon-envelope:before{content:\\\"✉\\\"}.glyphicon-pencil:before{content:\\\"✏\\\"}.glyphicon-glass:before{content:\\\"\\\"}.glyphicon-music:before{content:\\\"\\\"}.glyphicon-search:before{content:\\\"\\\"}.glyphicon-heart:before{content:\\\"\\\"}.glyphicon-star:before{content:\\\"\\\"}.glyphicon-star-empty:before{content:\\\"\\\"}.glyphicon-user:before{content:\\\"\\\"}.glyphicon-film:before{content:\\\"\\\"}.glyphicon-th-large:before{content:\\\"\\\"}.glyphicon-th:before{content:\\\"\\\"}.glyphicon-th-list:before{content:\\\"\\\"}.glyphicon-ok:before{content:\\\"\\\"}.glyphicon-remove:before{content:\\\"\\\"}.glyphicon-zoom-in:before{content:\\\"\\\"}.glyphicon-zoom-out:before{content:\\\"\\\"}.glyphicon-off:before{content:\\\"\\\"}.glyphicon-signal:before{content:\\\"\\\"}.glyphicon-cog:before{content:\\\"\\\"}.glyphicon-trash:before{content:\\\"\\\"}.glyphicon-home:before{content:\\\"\\\"}.glyphicon-file:before{content:\\\"\\\"}.glyphicon-time:before{content:\\\"\\\"}.glyphicon-road:before{content:\\\"\\\"}.glyphicon-download-alt:before{content:\\\"\\\"}.glyphicon-download:before{content:\\\"\\\"}.glyphicon-upload:before{content:\\\"\\\"}.glyphicon-inbox:before{content:\\\"\\\"}.glyphicon-play-circle:before{content:\\\"\\\"}.glyphicon-repeat:before{content:\\\"\\\"}.glyphicon-refresh:before{content:\\\"\\\"}.glyphicon-list-alt:before{content:\\\"\\\"}.glyphicon-lock:before{content:\\\"\\\"}.glyphicon-flag:before{content:\\\"\\\"}.glyphicon-headphones:before{content:\\\"\\\"}.glyphicon-volume-off:before{content:\\\"\\\"}.glyphicon-volume-down:before{content:\\\"\\\"}.glyphicon-volume-up:before{content:\\\"\\\"}.glyphicon-qrcode:before{content:\\\"\\\"}.glyphicon-barcode:before{content:\\\"\\\"}.glyphicon-tag:before{content:\\\"\\\"}.glyphicon-tags:before{content:\\\"\\\"}.glyphicon-book:before{content:\\\"\\\"}.glyphicon-bookmark:before{content:\\\"\\\"}.glyphicon-print:before{content:\\\"\\\"}.glyphicon-camera:before{content:\\\"\\\"}.glyphicon-font:before{content:\\\"\\\"}.glyphicon-bold:before{content:\\\"\\\"}.glyphicon-italic:before{content:\\\"\\\"}.glyphicon-text-height:before{content:\\\"\\\"}.glyphicon-text-width:before{content:\\\"\\\"}.glyphicon-align-left:before{content:\\\"\\\"}.glyphicon-align-center:before{content:\\\"\\\"}.glyphicon-align-right:before{content:\\\"\\\"}.glyphicon-align-justify:before{content:\\\"\\\"}.glyphicon-list:before{content:\\\"\\\"}.glyphicon-indent-left:before{content:\\\"\\\"}.glyphicon-indent-right:before{content:\\\"\\\"}.glyphicon-facetime-video:before{content:\\\"\\\"}.glyphicon-picture:before{content:\\\"\\\"}.glyphicon-map-marker:before{content:\\\"\\\"}.glyphicon-adjust:before{content:\\\"\\\"}.glyphicon-tint:before{content:\\\"\\\"}.glyphicon-edit:before{content:\\\"\\\"}.glyphicon-share:before{content:\\\"\\\"}.glyphicon-check:before{content:\\\"\\\"}.glyphicon-move:before{content:\\\"\\\"}.glyphicon-step-backward:before{content:\\\"\\\"}.glyphicon-fast-backward:before{content:\\\"\\\"}.glyphicon-backward:before{content:\\\"\\\"}.glyphicon-play:before{content:\\\"\\\"}.glyphicon-pause:before{content:\\\"\\\"}.glyphicon-stop:before{content:\\\"\\\"}.glyphicon-forward:before{content:\\\"\\\"}.glyphicon-fast-forward:before{content:\\\"\\\"}.glyphicon-step-forward:before{content:\\\"\\\"}.glyphicon-eject:before{content:\\\"\\\"}.glyphicon-chevron-left:before{content:\\\"\\\"}.glyphicon-chevron-right:before{content:\\\"\\\"}.glyphicon-plus-sign:before{content:\\\"\\\"}.glyphicon-minus-sign:before{content:\\\"\\\"}.glyphicon-remove-sign:before{content:\\\"\\\"}.glyphicon-ok-sign:before{content:\\\"\\\"}.glyphicon-question-sign:before{content:\\\"\\\"}.glyphicon-info-sign:before{content:\\\"\\\"}.glyphicon-screenshot:before{content:\\\"\\\"}.glyphicon-remove-circle:before{content:\\\"\\\"}.glyphicon-ok-circle:before{content:\\\"\\\"}.glyphicon-ban-circle:before{content:\\\"\\\"}.glyphicon-arrow-left:before{content:\\\"\\\"}.glyphicon-arrow-right:before{content:\\\"\\\"}.glyphicon-arrow-up:before{content:\\\"\\\"}.glyphicon-arrow-down:before{content:\\\"\\\"}.glyphicon-share-alt:before{content:\\\"\\\"}.glyphicon-resize-full:before{content:\\\"\\\"}.glyphicon-resize-small:before{content:\\\"\\\"}.glyphicon-exclamation-sign:before{content:\\\"\\\"}.glyphicon-gift:before{content:\\\"\\\"}.glyphicon-leaf:before{content:\\\"\\\"}.glyphicon-fire:before{content:\\\"\\\"}.glyphicon-eye-open:before{content:\\\"\\\"}.glyphicon-eye-close:before{content:\\\"\\\"}.glyphicon-warning-sign:before{content:\\\"\\\"}.glyphicon-plane:before{content:\\\"\\\"}.glyphicon-calendar:before{content:\\\"\\\"}.glyphicon-random:before{content:\\\"\\\"}.glyphicon-comment:before{content:\\\"\\\"}.glyphicon-magnet:before{content:\\\"\\\"}.glyphicon-chevron-up:before{content:\\\"\\\"}.glyphicon-chevron-down:before{content:\\\"\\\"}.glyphicon-retweet:before{content:\\\"\\\"}.glyphicon-shopping-cart:before{content:\\\"\\\"}.glyphicon-folder-close:before{content:\\\"\\\"}.glyphicon-folder-open:before{content:\\\"\\\"}.glyphicon-resize-vertical:before{content:\\\"\\\"}.glyphicon-resize-horizontal:before{content:\\\"\\\"}.glyphicon-hdd:before{content:\\\"\\\"}.glyphicon-bullhorn:before{content:\\\"\\\"}.glyphicon-bell:before{content:\\\"\\\"}.glyphicon-certificate:before{content:\\\"\\\"}.glyphicon-thumbs-up:before{content:\\\"\\\"}.glyphicon-thumbs-down:before{content:\\\"\\\"}.glyphicon-hand-right:before{content:\\\"\\\"}.glyphicon-hand-left:before{content:\\\"\\\"}.glyphicon-hand-up:before{content:\\\"\\\"}.glyphicon-hand-down:before{content:\\\"\\\"}.glyphicon-circle-arrow-right:before{content:\\\"\\\"}.glyphicon-circle-arrow-left:before{content:\\\"\\\"}.glyphicon-circle-arrow-up:before{content:\\\"\\\"}.glyphicon-circle-arrow-down:before{content:\\\"\\\"}.glyphicon-globe:before{content:\\\"\\\"}.glyphicon-wrench:before{content:\\\"\\\"}.glyphicon-tasks:before{content:\\\"\\\"}.glyphicon-filter:before{content:\\\"\\\"}.glyphicon-briefcase:before{content:\\\"\\\"}.glyphicon-fullscreen:before{content:\\\"\\\"}.glyphicon-dashboard:before{content:\\\"\\\"}.glyphicon-paperclip:before{content:\\\"\\\"}.glyphicon-heart-empty:before{content:\\\"\\\"}.glyphicon-link:before{content:\\\"\\\"}.glyphicon-phone:before{content:\\\"\\\"}.glyphicon-pushpin:before{content:\\\"\\\"}.glyphicon-usd:before{content:\\\"\\\"}.glyphicon-gbp:before{content:\\\"\\\"}.glyphicon-sort:before{content:\\\"\\\"}.glyphicon-sort-by-alphabet:before{content:\\\"\\\"}.glyphicon-sort-by-alphabet-alt:before{content:\\\"\\\"}.glyphicon-sort-by-order:before{content:\\\"\\\"}.glyphicon-sort-by-order-alt:before{content:\\\"\\\"}.glyphicon-sort-by-attributes:before{content:\\\"\\\"}.glyphicon-sort-by-attributes-alt:before{content:\\\"\\\"}.glyphicon-unchecked:before{content:\\\"\\\"}.glyphicon-expand:before{content:\\\"\\\"}.glyphicon-collapse-down:before{content:\\\"\\\"}.glyphicon-collapse-up:before{content:\\\"\\\"}.glyphicon-log-in:before{content:\\\"\\\"}.glyphicon-flash:before{content:\\\"\\\"}.glyphicon-log-out:before{content:\\\"\\\"}.glyphicon-new-window:before{content:\\\"\\\"}.glyphicon-record:before{content:\\\"\\\"}.glyphicon-save:before{content:\\\"\\\"}.glyphicon-open:before{content:\\\"\\\"}.glyphicon-saved:before{content:\\\"\\\"}.glyphicon-import:before{content:\\\"\\\"}.glyphicon-export:before{content:\\\"\\\"}.glyphicon-send:before{content:\\\"\\\"}.glyphicon-floppy-disk:before{content:\\\"\\\"}.glyphicon-floppy-saved:before{content:\\\"\\\"}.glyphicon-floppy-remove:before{content:\\\"\\\"}.glyphicon-floppy-save:before{content:\\\"\\\"}.glyphicon-floppy-open:before{content:\\\"\\\"}.glyphicon-credit-card:before{content:\\\"\\\"}.glyphicon-transfer:before{content:\\\"\\\"}.glyphicon-cutlery:before{content:\\\"\\\"}.glyphicon-header:before{content:\\\"\\\"}.glyphicon-compressed:before{content:\\\"\\\"}.glyphicon-earphone:before{content:\\\"\\\"}.glyphicon-phone-alt:before{content:\\\"\\\"}.glyphicon-tower:before{content:\\\"\\\"}.glyphicon-stats:before{content:\\\"\\\"}.glyphicon-sd-video:before{content:\\\"\\\"}.glyphicon-hd-video:before{content:\\\"\\\"}.glyphicon-subtitles:before{content:\\\"\\\"}.glyphicon-sound-stereo:before{content:\\\"\\\"}.glyphicon-sound-dolby:before{content:\\\"\\\"}.glyphicon-sound-5-1:before{content:\\\"\\\"}.glyphicon-sound-6-1:before{content:\\\"\\\"}.glyphicon-sound-7-1:before{content:\\\"\\\"}.glyphicon-copyright-mark:before{content:\\\"\\\"}.glyphicon-registration-mark:before{content:\\\"\\\"}.glyphicon-cloud-download:before{content:\\\"\\\"}.glyphicon-cloud-upload:before{content:\\\"\\\"}.glyphicon-tree-conifer:before{content:\\\"\\\"}.glyphicon-tree-deciduous:before{content:\\\"\\\"}.glyphicon-cd:before{content:\\\"\\\"}.glyphicon-save-file:before{content:\\\"\\\"}.glyphicon-open-file:before{content:\\\"\\\"}.glyphicon-level-up:before{content:\\\"\\\"}.glyphicon-copy:before{content:\\\"\\\"}.glyphicon-paste:before{content:\\\"\\\"}.glyphicon-alert:before{content:\\\"\\\"}.glyphicon-equalizer:before{content:\\\"\\\"}.glyphicon-king:before{content:\\\"\\\"}.glyphicon-queen:before{content:\\\"\\\"}.glyphicon-pawn:before{content:\\\"\\\"}.glyphicon-bishop:before{content:\\\"\\\"}.glyphicon-knight:before{content:\\\"\\\"}.glyphicon-baby-formula:before{content:\\\"\\\"}.glyphicon-tent:before{content:\\\"⛺\\\"}.glyphicon-blackboard:before{content:\\\"\\\"}.glyphicon-bed:before{content:\\\"\\\"}.glyphicon-apple:before{content:\\\"\\\"}.glyphicon-erase:before{content:\\\"\\\"}.glyphicon-hourglass:before{content:\\\"⌛\\\"}.glyphicon-lamp:before{content:\\\"\\\"}.glyphicon-duplicate:before{content:\\\"\\\"}.glyphicon-piggy-bank:before{content:\\\"\\\"}.glyphicon-scissors:before{content:\\\"\\\"}.glyphicon-bitcoin:before{content:\\\"\\\"}.glyphicon-btc:before{content:\\\"\\\"}.glyphicon-xbt:before{content:\\\"\\\"}.glyphicon-yen:before{content:\\\"¥\\\"}.glyphicon-jpy:before{content:\\\"¥\\\"}.glyphicon-ruble:before{content:\\\"₽\\\"}.glyphicon-rub:before{content:\\\"₽\\\"}.glyphicon-scale:before{content:\\\"\\\"}.glyphicon-ice-lolly:before{content:\\\"\\\"}.glyphicon-ice-lolly-tasted:before{content:\\\"\\\"}.glyphicon-education:before{content:\\\"\\\"}.glyphicon-option-horizontal:before{content:\\\"\\\"}.glyphicon-option-vertical:before{content:\\\"\\\"}.glyphicon-menu-hamburger:before{content:\\\"\\\"}.glyphicon-modal-window:before{content:\\\"\\\"}.glyphicon-oil:before{content:\\\"\\\"}.glyphicon-grain:before{content:\\\"\\\"}.glyphicon-sunglasses:before{content:\\\"\\\"}.glyphicon-text-size:before{content:\\\"\\\"}.glyphicon-text-color:before{content:\\\"\\\"}.glyphicon-text-background:before{content:\\\"\\\"}.glyphicon-object-align-top:before{content:\\\"\\\"}.glyphicon-object-align-bottom:before{content:\\\"\\\"}.glyphicon-object-align-horizontal:before{content:\\\"\\\"}.glyphicon-object-align-left:before{content:\\\"\\\"}.glyphicon-object-align-vertical:before{content:\\\"\\\"}.glyphicon-object-align-right:before{content:\\\"\\\"}.glyphicon-triangle-right:before{content:\\\"\\\"}.glyphicon-triangle-left:before{content:\\\"\\\"}.glyphicon-triangle-bottom:before{content:\\\"\\\"}.glyphicon-triangle-top:before{content:\\\"\\\"}.glyphicon-console:before{content:\\\"\\\"}.glyphicon-superscript:before{content:\\\"\\\"}.glyphicon-subscript:before{content:\\\"\\\"}.glyphicon-menu-left:before{content:\\\"\\\"}.glyphicon-menu-right:before{content:\\\"\\\"}.glyphicon-menu-down:before{content:\\\"\\\"}.glyphicon-menu-up:before{content:\\\"\\\"}*{-webkit-box-sizing:border-box;-moz-box-sizing:border-box;box-sizing:border-box}*:before,*:after{-webkit-box-sizing:border-box;-moz-box-sizing:border-box;box-sizing:border-box}html{font-size:10px;-webkit-tap-highlight-color:rgba(0,0,0,0)}body{font-family:\\\"Helvetica Neue\\\",Helvetica,Arial,sans-serif;font-size:14px;line-height:1.428571429;color:#333;background-color:#fff}input,button,select,textarea{font-family:inherit;font-size:inherit;line-height:inherit}a{color:#337ab7;text-decoration:none}a:hover,a:focus{color:#23527c;text-decoration:underline}a:focus{outline:5px auto -webkit-focus-ring-color;outline-offset:-2px}figure{margin:0}img{vertical-align:middle}.img-responsive{display:block;max-width:100%;height:auto}.img-rounded{border-radius:6px}.img-thumbnail{padding:4px;line-height:1.428571429;background-color:#fff;border:1px solid #ddd;border-radius:4px;-webkit-transition:all .2s ease-in-out;-o-transition:all .2s ease-in-out;transition:all .2s ease-in-out;display:inline-block;max-width:100%;height:auto}.img-circle{border-radius:50%}hr{margin-top:20px;margin-bottom:20px;border:0;border-top:1px solid #eee}.sr-only{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0, 0, 0, 0);border:0}.sr-only-focusable:active,.sr-only-focusable:focus{position:static;width:auto;height:auto;margin:0;overflow:visible;clip:auto}[role=button]{cursor:pointer}h1,h2,h3,h4,h5,h6,.h1,.h2,.h3,.h4,.h5,.h6{font-family:inherit;font-weight:500;line-height:1.1;color:inherit}h1 small,h1 .small,h2 small,h2 .small,h3 small,h3 .small,h4 small,h4 .small,h5 small,h5 .small,h6 small,h6 .small,.h1 small,.h1 .small,.h2 small,.h2 .small,.h3 small,.h3 .small,.h4 small,.h4 .small,.h5 small,.h5 .small,.h6 small,.h6 .small{font-weight:400;line-height:1;color:#777}h1,.h1,h2,.h2,h3,.h3{margin-top:20px;margin-bottom:10px}h1 small,h1 .small,.h1 small,.h1 .small,h2 small,h2 .small,.h2 small,.h2 .small,h3 small,h3 .small,.h3 small,.h3 .small{font-size:65%}h4,.h4,h5,.h5,h6,.h6{margin-top:10px;margin-bottom:10px}h4 small,h4 .small,.h4 small,.h4 .small,h5 small,h5 .small,.h5 small,.h5 .small,h6 small,h6 .small,.h6 small,.h6 .small{font-size:75%}h1,.h1{font-size:36px}h2,.h2{font-size:30px}h3,.h3{font-size:24px}h4,.h4{font-size:18px}h5,.h5{font-size:14px}h6,.h6{font-size:12px}p{margin:0 0 10px}.lead{margin-bottom:20px;font-size:16px;font-weight:300;line-height:1.4}@media(min-width: 768px){.lead{font-size:21px}}small,.small{font-size:85%}mark,.mark{padding:.2em;background-color:#fcf8e3}.text-left{text-align:left}.text-right{text-align:right}.text-center{text-align:center}.text-justify{text-align:justify}.text-nowrap{white-space:nowrap}.text-lowercase{text-transform:lowercase}.text-uppercase,.initialism{text-transform:uppercase}.text-capitalize{text-transform:capitalize}.text-muted{color:#777}.text-primary{color:#337ab7}a.text-primary:hover,a.text-primary:focus{color:#286090}.text-success{color:#3c763d}a.text-success:hover,a.text-success:focus{color:#2b542c}.text-info{color:#31708f}a.text-info:hover,a.text-info:focus{color:#245269}.text-warning{color:#8a6d3b}a.text-warning:hover,a.text-warning:focus{color:#66512c}.text-danger{color:#a94442}a.text-danger:hover,a.text-danger:focus{color:#843534}.bg-primary{color:#fff}.bg-primary{background-color:#337ab7}a.bg-primary:hover,a.bg-primary:focus{background-color:#286090}.bg-success{background-color:#dff0d8}a.bg-success:hover,a.bg-success:focus{background-color:#c1e2b3}.bg-info{background-color:#d9edf7}a.bg-info:hover,a.bg-info:focus{background-color:#afd9ee}.bg-warning{background-color:#fcf8e3}a.bg-warning:hover,a.bg-warning:focus{background-color:#f7ecb5}.bg-danger{background-color:#f2dede}a.bg-danger:hover,a.bg-danger:focus{background-color:#e4b9b9}.page-header{padding-bottom:9px;margin:40px 0 20px;border-bottom:1px solid #eee}ul,ol{margin-top:0;margin-bottom:10px}ul ul,ul ol,ol ul,ol ol{margin-bottom:0}.list-unstyled{padding-left:0;list-style:none}.list-inline{padding-left:0;list-style:none;margin-left:-5px}.list-inline>li{display:inline-block;padding-right:5px;padding-left:5px}dl{margin-top:0;margin-bottom:20px}dt,dd{line-height:1.428571429}dt{font-weight:700}dd{margin-left:0}.dl-horizontal dd:before,.dl-horizontal dd:after{display:table;content:\\\" \\\"}.dl-horizontal dd:after{clear:both}@media(min-width: 768px){.dl-horizontal dt{float:left;width:160px;clear:left;text-align:right;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.dl-horizontal dd{margin-left:180px}}abbr[title],abbr[data-original-title]{cursor:help}.initialism{font-size:90%}blockquote{padding:10px 20px;margin:0 0 20px;font-size:17.5px;border-left:5px solid #eee}blockquote p:last-child,blockquote ul:last-child,blockquote ol:last-child{margin-bottom:0}blockquote footer,blockquote small,blockquote .small{display:block;font-size:80%;line-height:1.428571429;color:#777}blockquote footer:before,blockquote small:before,blockquote .small:before{content:\\\"— \\\"}.blockquote-reverse,blockquote.pull-right{padding-right:15px;padding-left:0;text-align:right;border-right:5px solid #eee;border-left:0}.blockquote-reverse footer:before,.blockquote-reverse small:before,.blockquote-reverse .small:before,blockquote.pull-right footer:before,blockquote.pull-right small:before,blockquote.pull-right .small:before{content:\\\"\\\"}.blockquote-reverse footer:after,.blockquote-reverse small:after,.blockquote-reverse .small:after,blockquote.pull-right footer:after,blockquote.pull-right small:after,blockquote.pull-right .small:after{content:\\\" —\\\"}address{margin-bottom:20px;font-style:normal;line-height:1.428571429}code,kbd,pre,samp{font-family:Menlo,Monaco,Consolas,\\\"Courier New\\\",monospace}code{padding:2px 4px;font-size:90%;color:#c7254e;background-color:#f9f2f4;border-radius:4px}kbd{padding:2px 4px;font-size:90%;color:#fff;background-color:#333;border-radius:3px;box-shadow:inset 0 -1px 0 rgba(0,0,0,.25)}kbd kbd{padding:0;font-size:100%;font-weight:700;box-shadow:none}pre{display:block;padding:9.5px;margin:0 0 10px;font-size:13px;line-height:1.428571429;color:#333;word-break:break-all;word-wrap:break-word;background-color:#f5f5f5;border:1px solid #ccc;border-radius:4px}pre code{padding:0;font-size:inherit;color:inherit;white-space:pre-wrap;background-color:transparent;border-radius:0}.pre-scrollable{max-height:340px;overflow-y:scroll}.container{padding-right:15px;padding-left:15px;margin-right:auto;margin-left:auto}.container:before,.container:after{display:table;content:\\\" \\\"}.container:after{clear:both}@media(min-width: 768px){.container{width:750px}}@media(min-width: 992px){.container{width:970px}}@media(min-width: 1200px){.container{width:1170px}}.container-fluid{padding-right:15px;padding-left:15px;margin-right:auto;margin-left:auto}.container-fluid:before,.container-fluid:after{display:table;content:\\\" \\\"}.container-fluid:after{clear:both}.row{margin-right:-15px;margin-left:-15px}.row:before,.row:after{display:table;content:\\\" \\\"}.row:after{clear:both}.row-no-gutters{margin-right:0;margin-left:0}.row-no-gutters [class*=col-]{padding-right:0;padding-left:0}.col-xs-1,.col-sm-1,.col-md-1,.col-lg-1,.col-xs-2,.col-sm-2,.col-md-2,.col-lg-2,.col-xs-3,.col-sm-3,.col-md-3,.col-lg-3,.col-xs-4,.col-sm-4,.col-md-4,.col-lg-4,.col-xs-5,.col-sm-5,.col-md-5,.col-lg-5,.col-xs-6,.col-sm-6,.col-md-6,.col-lg-6,.col-xs-7,.col-sm-7,.col-md-7,.col-lg-7,.col-xs-8,.col-sm-8,.col-md-8,.col-lg-8,.col-xs-9,.col-sm-9,.col-md-9,.col-lg-9,.col-xs-10,.col-sm-10,.col-md-10,.col-lg-10,.col-xs-11,.col-sm-11,.col-md-11,.col-lg-11,.col-xs-12,.col-sm-12,.col-md-12,.col-lg-12{position:relative;min-height:1px;padding-right:15px;padding-left:15px}.col-xs-1,.col-xs-2,.col-xs-3,.col-xs-4,.col-xs-5,.col-xs-6,.col-xs-7,.col-xs-8,.col-xs-9,.col-xs-10,.col-xs-11,.col-xs-12{float:left}.col-xs-1{width:8.3333333333%}.col-xs-2{width:16.6666666667%}.col-xs-3{width:25%}.col-xs-4{width:33.3333333333%}.col-xs-5{width:41.6666666667%}.col-xs-6{width:50%}.col-xs-7{width:58.3333333333%}.col-xs-8{width:66.6666666667%}.col-xs-9{width:75%}.col-xs-10{width:83.3333333333%}.col-xs-11{width:91.6666666667%}.col-xs-12{width:100%}.col-xs-pull-0{right:auto}.col-xs-pull-1{right:8.3333333333%}.col-xs-pull-2{right:16.6666666667%}.col-xs-pull-3{right:25%}.col-xs-pull-4{right:33.3333333333%}.col-xs-pull-5{right:41.6666666667%}.col-xs-pull-6{right:50%}.col-xs-pull-7{right:58.3333333333%}.col-xs-pull-8{right:66.6666666667%}.col-xs-pull-9{right:75%}.col-xs-pull-10{right:83.3333333333%}.col-xs-pull-11{right:91.6666666667%}.col-xs-pull-12{right:100%}.col-xs-push-0{left:auto}.col-xs-push-1{left:8.3333333333%}.col-xs-push-2{left:16.6666666667%}.col-xs-push-3{left:25%}.col-xs-push-4{left:33.3333333333%}.col-xs-push-5{left:41.6666666667%}.col-xs-push-6{left:50%}.col-xs-push-7{left:58.3333333333%}.col-xs-push-8{left:66.6666666667%}.col-xs-push-9{left:75%}.col-xs-push-10{left:83.3333333333%}.col-xs-push-11{left:91.6666666667%}.col-xs-push-12{left:100%}.col-xs-offset-0{margin-left:0%}.col-xs-offset-1{margin-left:8.3333333333%}.col-xs-offset-2{margin-left:16.6666666667%}.col-xs-offset-3{margin-left:25%}.col-xs-offset-4{margin-left:33.3333333333%}.col-xs-offset-5{margin-left:41.6666666667%}.col-xs-offset-6{margin-left:50%}.col-xs-offset-7{margin-left:58.3333333333%}.col-xs-offset-8{margin-left:66.6666666667%}.col-xs-offset-9{margin-left:75%}.col-xs-offset-10{margin-left:83.3333333333%}.col-xs-offset-11{margin-left:91.6666666667%}.col-xs-offset-12{margin-left:100%}@media(min-width: 768px){.col-sm-1,.col-sm-2,.col-sm-3,.col-sm-4,.col-sm-5,.col-sm-6,.col-sm-7,.col-sm-8,.col-sm-9,.col-sm-10,.col-sm-11,.col-sm-12{float:left}.col-sm-1{width:8.3333333333%}.col-sm-2{width:16.6666666667%}.col-sm-3{width:25%}.col-sm-4{width:33.3333333333%}.col-sm-5{width:41.6666666667%}.col-sm-6{width:50%}.col-sm-7{width:58.3333333333%}.col-sm-8{width:66.6666666667%}.col-sm-9{width:75%}.col-sm-10{width:83.3333333333%}.col-sm-11{width:91.6666666667%}.col-sm-12{width:100%}.col-sm-pull-0{right:auto}.col-sm-pull-1{right:8.3333333333%}.col-sm-pull-2{right:16.6666666667%}.col-sm-pull-3{right:25%}.col-sm-pull-4{right:33.3333333333%}.col-sm-pull-5{right:41.6666666667%}.col-sm-pull-6{right:50%}.col-sm-pull-7{right:58.3333333333%}.col-sm-pull-8{right:66.6666666667%}.col-sm-pull-9{right:75%}.col-sm-pull-10{right:83.3333333333%}.col-sm-pull-11{right:91.6666666667%}.col-sm-pull-12{right:100%}.col-sm-push-0{left:auto}.col-sm-push-1{left:8.3333333333%}.col-sm-push-2{left:16.6666666667%}.col-sm-push-3{left:25%}.col-sm-push-4{left:33.3333333333%}.col-sm-push-5{left:41.6666666667%}.col-sm-push-6{left:50%}.col-sm-push-7{left:58.3333333333%}.col-sm-push-8{left:66.6666666667%}.col-sm-push-9{left:75%}.col-sm-push-10{left:83.3333333333%}.col-sm-push-11{left:91.6666666667%}.col-sm-push-12{left:100%}.col-sm-offset-0{margin-left:0%}.col-sm-offset-1{margin-left:8.3333333333%}.col-sm-offset-2{margin-left:16.6666666667%}.col-sm-offset-3{margin-left:25%}.col-sm-offset-4{margin-left:33.3333333333%}.col-sm-offset-5{margin-left:41.6666666667%}.col-sm-offset-6{margin-left:50%}.col-sm-offset-7{margin-left:58.3333333333%}.col-sm-offset-8{margin-left:66.6666666667%}.col-sm-offset-9{margin-left:75%}.col-sm-offset-10{margin-left:83.3333333333%}.col-sm-offset-11{margin-left:91.6666666667%}.col-sm-offset-12{margin-left:100%}}@media(min-width: 992px){.col-md-1,.col-md-2,.col-md-3,.col-md-4,.col-md-5,.col-md-6,.col-md-7,.col-md-8,.col-md-9,.col-md-10,.col-md-11,.col-md-12{float:left}.col-md-1{width:8.3333333333%}.col-md-2{width:16.6666666667%}.col-md-3{width:25%}.col-md-4{width:33.3333333333%}.col-md-5{width:41.6666666667%}.col-md-6{width:50%}.col-md-7{width:58.3333333333%}.col-md-8{width:66.6666666667%}.col-md-9{width:75%}.col-md-10{width:83.3333333333%}.col-md-11{width:91.6666666667%}.col-md-12{width:100%}.col-md-pull-0{right:auto}.col-md-pull-1{right:8.3333333333%}.col-md-pull-2{right:16.6666666667%}.col-md-pull-3{right:25%}.col-md-pull-4{right:33.3333333333%}.col-md-pull-5{right:41.6666666667%}.col-md-pull-6{right:50%}.col-md-pull-7{right:58.3333333333%}.col-md-pull-8{right:66.6666666667%}.col-md-pull-9{right:75%}.col-md-pull-10{right:83.3333333333%}.col-md-pull-11{right:91.6666666667%}.col-md-pull-12{right:100%}.col-md-push-0{left:auto}.col-md-push-1{left:8.3333333333%}.col-md-push-2{left:16.6666666667%}.col-md-push-3{left:25%}.col-md-push-4{left:33.3333333333%}.col-md-push-5{left:41.6666666667%}.col-md-push-6{left:50%}.col-md-push-7{left:58.3333333333%}.col-md-push-8{left:66.6666666667%}.col-md-push-9{left:75%}.col-md-push-10{left:83.3333333333%}.col-md-push-11{left:91.6666666667%}.col-md-push-12{left:100%}.col-md-offset-0{margin-left:0%}.col-md-offset-1{margin-left:8.3333333333%}.col-md-offset-2{margin-left:16.6666666667%}.col-md-offset-3{margin-left:25%}.col-md-offset-4{margin-left:33.3333333333%}.col-md-offset-5{margin-left:41.6666666667%}.col-md-offset-6{margin-left:50%}.col-md-offset-7{margin-left:58.3333333333%}.col-md-offset-8{margin-left:66.6666666667%}.col-md-offset-9{margin-left:75%}.col-md-offset-10{margin-left:83.3333333333%}.col-md-offset-11{margin-left:91.6666666667%}.col-md-offset-12{margin-left:100%}}@media(min-width: 1200px){.col-lg-1,.col-lg-2,.col-lg-3,.col-lg-4,.col-lg-5,.col-lg-6,.col-lg-7,.col-lg-8,.col-lg-9,.col-lg-10,.col-lg-11,.col-lg-12{float:left}.col-lg-1{width:8.3333333333%}.col-lg-2{width:16.6666666667%}.col-lg-3{width:25%}.col-lg-4{width:33.3333333333%}.col-lg-5{width:41.6666666667%}.col-lg-6{width:50%}.col-lg-7{width:58.3333333333%}.col-lg-8{width:66.6666666667%}.col-lg-9{width:75%}.col-lg-10{width:83.3333333333%}.col-lg-11{width:91.6666666667%}.col-lg-12{width:100%}.col-lg-pull-0{right:auto}.col-lg-pull-1{right:8.3333333333%}.col-lg-pull-2{right:16.6666666667%}.col-lg-pull-3{right:25%}.col-lg-pull-4{right:33.3333333333%}.col-lg-pull-5{right:41.6666666667%}.col-lg-pull-6{right:50%}.col-lg-pull-7{right:58.3333333333%}.col-lg-pull-8{right:66.6666666667%}.col-lg-pull-9{right:75%}.col-lg-pull-10{right:83.3333333333%}.col-lg-pull-11{right:91.6666666667%}.col-lg-pull-12{right:100%}.col-lg-push-0{left:auto}.col-lg-push-1{left:8.3333333333%}.col-lg-push-2{left:16.6666666667%}.col-lg-push-3{left:25%}.col-lg-push-4{left:33.3333333333%}.col-lg-push-5{left:41.6666666667%}.col-lg-push-6{left:50%}.col-lg-push-7{left:58.3333333333%}.col-lg-push-8{left:66.6666666667%}.col-lg-push-9{left:75%}.col-lg-push-10{left:83.3333333333%}.col-lg-push-11{left:91.6666666667%}.col-lg-push-12{left:100%}.col-lg-offset-0{margin-left:0%}.col-lg-offset-1{margin-left:8.3333333333%}.col-lg-offset-2{margin-left:16.6666666667%}.col-lg-offset-3{margin-left:25%}.col-lg-offset-4{margin-left:33.3333333333%}.col-lg-offset-5{margin-left:41.6666666667%}.col-lg-offset-6{margin-left:50%}.col-lg-offset-7{margin-left:58.3333333333%}.col-lg-offset-8{margin-left:66.6666666667%}.col-lg-offset-9{margin-left:75%}.col-lg-offset-10{margin-left:83.3333333333%}.col-lg-offset-11{margin-left:91.6666666667%}.col-lg-offset-12{margin-left:100%}}table{background-color:transparent}table col[class*=col-]{position:static;display:table-column;float:none}table td[class*=col-],table th[class*=col-]{position:static;display:table-cell;float:none}caption{padding-top:8px;padding-bottom:8px;color:#777;text-align:left}th{text-align:left}.table{width:100%;max-width:100%;margin-bottom:20px}.table>thead>tr>th,.table>thead>tr>td,.table>tbody>tr>th,.table>tbody>tr>td,.table>tfoot>tr>th,.table>tfoot>tr>td{padding:8px;line-height:1.428571429;vertical-align:top;border-top:1px solid #ddd}.table>thead>tr>th{vertical-align:bottom;border-bottom:2px solid #ddd}.table>caption+thead>tr:first-child>th,.table>caption+thead>tr:first-child>td,.table>colgroup+thead>tr:first-child>th,.table>colgroup+thead>tr:first-child>td,.table>thead:first-child>tr:first-child>th,.table>thead:first-child>tr:first-child>td{border-top:0}.table>tbody+tbody{border-top:2px solid #ddd}.table .table{background-color:#fff}.table-condensed>thead>tr>th,.table-condensed>thead>tr>td,.table-condensed>tbody>tr>th,.table-condensed>tbody>tr>td,.table-condensed>tfoot>tr>th,.table-condensed>tfoot>tr>td{padding:5px}.table-bordered{border:1px solid #ddd}.table-bordered>thead>tr>th,.table-bordered>thead>tr>td,.table-bordered>tbody>tr>th,.table-bordered>tbody>tr>td,.table-bordered>tfoot>tr>th,.table-bordered>tfoot>tr>td{border:1px solid #ddd}.table-bordered>thead>tr>th,.table-bordered>thead>tr>td{border-bottom-width:2px}.table-striped>tbody>tr:nth-of-type(odd){background-color:#f9f9f9}.table-hover>tbody>tr:hover{background-color:#f5f5f5}.table>thead>tr>td.active,.table>thead>tr>th.active,.table>thead>tr.active>td,.table>thead>tr.active>th,.table>tbody>tr>td.active,.table>tbody>tr>th.active,.table>tbody>tr.active>td,.table>tbody>tr.active>th,.table>tfoot>tr>td.active,.table>tfoot>tr>th.active,.table>tfoot>tr.active>td,.table>tfoot>tr.active>th{background-color:#f5f5f5}.table-hover>tbody>tr>td.active:hover,.table-hover>tbody>tr>th.active:hover,.table-hover>tbody>tr.active:hover>td,.table-hover>tbody>tr:hover>.active,.table-hover>tbody>tr.active:hover>th{background-color:#e8e8e8}.table>thead>tr>td.success,.table>thead>tr>th.success,.table>thead>tr.success>td,.table>thead>tr.success>th,.table>tbody>tr>td.success,.table>tbody>tr>th.success,.table>tbody>tr.success>td,.table>tbody>tr.success>th,.table>tfoot>tr>td.success,.table>tfoot>tr>th.success,.table>tfoot>tr.success>td,.table>tfoot>tr.success>th{background-color:#dff0d8}.table-hover>tbody>tr>td.success:hover,.table-hover>tbody>tr>th.success:hover,.table-hover>tbody>tr.success:hover>td,.table-hover>tbody>tr:hover>.success,.table-hover>tbody>tr.success:hover>th{background-color:#d0e9c6}.table>thead>tr>td.info,.table>thead>tr>th.info,.table>thead>tr.info>td,.table>thead>tr.info>th,.table>tbody>tr>td.info,.table>tbody>tr>th.info,.table>tbody>tr.info>td,.table>tbody>tr.info>th,.table>tfoot>tr>td.info,.table>tfoot>tr>th.info,.table>tfoot>tr.info>td,.table>tfoot>tr.info>th{background-color:#d9edf7}.table-hover>tbody>tr>td.info:hover,.table-hover>tbody>tr>th.info:hover,.table-hover>tbody>tr.info:hover>td,.table-hover>tbody>tr:hover>.info,.table-hover>tbody>tr.info:hover>th{background-color:#c4e3f3}.table>thead>tr>td.warning,.table>thead>tr>th.warning,.table>thead>tr.warning>td,.table>thead>tr.warning>th,.table>tbody>tr>td.warning,.table>tbody>tr>th.warning,.table>tbody>tr.warning>td,.table>tbody>tr.warning>th,.table>tfoot>tr>td.warning,.table>tfoot>tr>th.warning,.table>tfoot>tr.warning>td,.table>tfoot>tr.warning>th{background-color:#fcf8e3}.table-hover>tbody>tr>td.warning:hover,.table-hover>tbody>tr>th.warning:hover,.table-hover>tbody>tr.warning:hover>td,.table-hover>tbody>tr:hover>.warning,.table-hover>tbody>tr.warning:hover>th{background-color:#faf2cc}.table>thead>tr>td.danger,.table>thead>tr>th.danger,.table>thead>tr.danger>td,.table>thead>tr.danger>th,.table>tbody>tr>td.danger,.table>tbody>tr>th.danger,.table>tbody>tr.danger>td,.table>tbody>tr.danger>th,.table>tfoot>tr>td.danger,.table>tfoot>tr>th.danger,.table>tfoot>tr.danger>td,.table>tfoot>tr.danger>th{background-color:#f2dede}.table-hover>tbody>tr>td.danger:hover,.table-hover>tbody>tr>th.danger:hover,.table-hover>tbody>tr.danger:hover>td,.table-hover>tbody>tr:hover>.danger,.table-hover>tbody>tr.danger:hover>th{background-color:#ebcccc}.table-responsive{min-height:.01%;overflow-x:auto}@media screen and (max-width: 767px){.table-responsive{width:100%;margin-bottom:15px;overflow-y:hidden;-ms-overflow-style:-ms-autohiding-scrollbar;border:1px solid #ddd}.table-responsive>.table{margin-bottom:0}.table-responsive>.table>thead>tr>th,.table-responsive>.table>thead>tr>td,.table-responsive>.table>tbody>tr>th,.table-responsive>.table>tbody>tr>td,.table-responsive>.table>tfoot>tr>th,.table-responsive>.table>tfoot>tr>td{white-space:nowrap}.table-responsive>.table-bordered{border:0}.table-responsive>.table-bordered>thead>tr>th:first-child,.table-responsive>.table-bordered>thead>tr>td:first-child,.table-responsive>.table-bordered>tbody>tr>th:first-child,.table-responsive>.table-bordered>tbody>tr>td:first-child,.table-responsive>.table-bordered>tfoot>tr>th:first-child,.table-responsive>.table-bordered>tfoot>tr>td:first-child{border-left:0}.table-responsive>.table-bordered>thead>tr>th:last-child,.table-responsive>.table-bordered>thead>tr>td:last-child,.table-responsive>.table-bordered>tbody>tr>th:last-child,.table-responsive>.table-bordered>tbody>tr>td:last-child,.table-responsive>.table-bordered>tfoot>tr>th:last-child,.table-responsive>.table-bordered>tfoot>tr>td:last-child{border-right:0}.table-responsive>.table-bordered>tbody>tr:last-child>th,.table-responsive>.table-bordered>tbody>tr:last-child>td,.table-responsive>.table-bordered>tfoot>tr:last-child>th,.table-responsive>.table-bordered>tfoot>tr:last-child>td{border-bottom:0}}fieldset{min-width:0;padding:0;margin:0;border:0}legend{display:block;width:100%;padding:0;margin-bottom:20px;font-size:21px;line-height:inherit;color:#333;border:0;border-bottom:1px solid #e5e5e5}label{display:inline-block;max-width:100%;margin-bottom:5px;font-weight:700}input[type=search]{-webkit-box-sizing:border-box;-moz-box-sizing:border-box;box-sizing:border-box;-webkit-appearance:none;appearance:none}input[type=radio],input[type=checkbox]{margin:4px 0 0;margin-top:1px \\\\9 ;line-height:normal}input[type=radio][disabled],input[type=radio].disabled,fieldset[disabled] input[type=radio],input[type=checkbox][disabled],input[type=checkbox].disabled,fieldset[disabled] input[type=checkbox]{cursor:not-allowed}input[type=file]{display:block}input[type=range]{display:block;width:100%}select[multiple],select[size]{height:auto}input[type=file]:focus,input[type=radio]:focus,input[type=checkbox]:focus{outline:5px auto -webkit-focus-ring-color;outline-offset:-2px}output{display:block;padding-top:7px;font-size:14px;line-height:1.428571429;color:#555}.form-control{display:block;width:100%;height:34px;padding:6px 12px;font-size:14px;line-height:1.428571429;color:#555;background-color:#fff;background-image:none;border:1px solid #ccc;border-radius:4px;-webkit-box-shadow:inset 0 1px 1px rgba(0,0,0,.075);box-shadow:inset 0 1px 1px rgba(0,0,0,.075);-webkit-transition:border-color ease-in-out .15s,box-shadow ease-in-out .15s;-o-transition:border-color ease-in-out .15s,box-shadow ease-in-out .15s;transition:border-color ease-in-out .15s,box-shadow ease-in-out .15s}.form-control:focus{border-color:#66afe9;outline:0;-webkit-box-shadow:inset 0 1px 1px rgba(0,0,0,.075),0 0 8px rgba(102,175,233,.6);box-shadow:inset 0 1px 1px rgba(0,0,0,.075),0 0 8px rgba(102,175,233,.6)}.form-control::-moz-placeholder{color:#999;opacity:1}.form-control:-ms-input-placeholder{color:#999}.form-control::-webkit-input-placeholder{color:#999}.form-control::-ms-expand{background-color:transparent;border:0}.form-control[disabled],.form-control[readonly],fieldset[disabled] .form-control{background-color:#eee;opacity:1}.form-control[disabled],fieldset[disabled] .form-control{cursor:not-allowed}textarea.form-control{height:auto}@media screen and (-webkit-min-device-pixel-ratio: 0){input[type=date].form-control,input[type=time].form-control,input[type=datetime-local].form-control,input[type=month].form-control{line-height:34px}input[type=date].input-sm,.input-group-sm>.input-group-btn>input[type=date].btn,.input-group-sm input[type=date],input[type=time].input-sm,.input-group-sm>.input-group-btn>input[type=time].btn,.input-group-sm input[type=time],input[type=datetime-local].input-sm,.input-group-sm>.input-group-btn>input[type=datetime-local].btn,.input-group-sm input[type=datetime-local],input[type=month].input-sm,.input-group-sm>.input-group-btn>input[type=month].btn,.input-group-sm input[type=month]{line-height:30px}input[type=date].input-lg,.input-group-lg>.input-group-btn>input[type=date].btn,.input-group-lg input[type=date],input[type=time].input-lg,.input-group-lg>.input-group-btn>input[type=time].btn,.input-group-lg input[type=time],input[type=datetime-local].input-lg,.input-group-lg>.input-group-btn>input[type=datetime-local].btn,.input-group-lg input[type=datetime-local],input[type=month].input-lg,.input-group-lg>.input-group-btn>input[type=month].btn,.input-group-lg input[type=month]{line-height:46px}}.form-group{margin-bottom:15px}.radio,.checkbox{position:relative;display:block;margin-top:10px;margin-bottom:10px}.radio.disabled label,fieldset[disabled] .radio label,.checkbox.disabled label,fieldset[disabled] .checkbox label{cursor:not-allowed}.radio label,.checkbox label{min-height:20px;padding-left:20px;margin-bottom:0;font-weight:400;cursor:pointer}.radio input[type=radio],.radio-inline input[type=radio],.checkbox input[type=checkbox],.checkbox-inline input[type=checkbox]{position:absolute;margin-top:4px \\\\9 ;margin-left:-20px}.radio+.radio,.checkbox+.checkbox{margin-top:-5px}.radio-inline,.checkbox-inline{position:relative;display:inline-block;padding-left:20px;margin-bottom:0;font-weight:400;vertical-align:middle;cursor:pointer}.radio-inline.disabled,fieldset[disabled] .radio-inline,.checkbox-inline.disabled,fieldset[disabled] .checkbox-inline{cursor:not-allowed}.radio-inline+.radio-inline,.checkbox-inline+.checkbox-inline{margin-top:0;margin-left:10px}.form-control-static{min-height:34px;padding-top:7px;padding-bottom:7px;margin-bottom:0}.form-control-static.input-lg,.input-group-lg>.form-control-static.form-control,.input-group-lg>.form-control-static.input-group-addon,.input-group-lg>.input-group-btn>.form-control-static.btn,.form-control-static.input-sm,.input-group-sm>.form-control-static.form-control,.input-group-sm>.form-control-static.input-group-addon,.input-group-sm>.input-group-btn>.form-control-static.btn{padding-right:0;padding-left:0}.input-sm,.input-group-sm>.form-control,.input-group-sm>.input-group-addon,.input-group-sm>.input-group-btn>.btn{height:30px;padding:5px 10px;font-size:12px;line-height:1.5;border-radius:3px}select.input-sm,.input-group-sm>select.form-control,.input-group-sm>select.input-group-addon,.input-group-sm>.input-group-btn>select.btn{height:30px;line-height:30px}textarea.input-sm,.input-group-sm>textarea.form-control,.input-group-sm>textarea.input-group-addon,.input-group-sm>.input-group-btn>textarea.btn,select[multiple].input-sm,.input-group-sm>select[multiple].form-control,.input-group-sm>select[multiple].input-group-addon,.input-group-sm>.input-group-btn>select[multiple].btn{height:auto}.form-group-sm .form-control{height:30px;padding:5px 10px;font-size:12px;line-height:1.5;border-radius:3px}.form-group-sm select.form-control{height:30px;line-height:30px}.form-group-sm textarea.form-control,.form-group-sm select[multiple].form-control{height:auto}.form-group-sm .form-control-static{height:30px;min-height:32px;padding:6px 10px;font-size:12px;line-height:1.5}.input-lg,.input-group-lg>.form-control,.input-group-lg>.input-group-addon,.input-group-lg>.input-group-btn>.btn{height:46px;padding:10px 16px;font-size:18px;line-height:1.3333333;border-radius:6px}select.input-lg,.input-group-lg>select.form-control,.input-group-lg>select.input-group-addon,.input-group-lg>.input-group-btn>select.btn{height:46px;line-height:46px}textarea.input-lg,.input-group-lg>textarea.form-control,.input-group-lg>textarea.input-group-addon,.input-group-lg>.input-group-btn>textarea.btn,select[multiple].input-lg,.input-group-lg>select[multiple].form-control,.input-group-lg>select[multiple].input-group-addon,.input-group-lg>.input-group-btn>select[multiple].btn{height:auto}.form-group-lg .form-control{height:46px;padding:10px 16px;font-size:18px;line-height:1.3333333;border-radius:6px}.form-group-lg select.form-control{height:46px;line-height:46px}.form-group-lg textarea.form-control,.form-group-lg select[multiple].form-control{height:auto}.form-group-lg .form-control-static{height:46px;min-height:38px;padding:11px 16px;font-size:18px;line-height:1.3333333}.has-feedback{position:relative}.has-feedback .form-control{padding-right:42.5px}.form-control-feedback{position:absolute;top:0;right:0;z-index:2;display:block;width:34px;height:34px;line-height:34px;text-align:center;pointer-events:none}.input-lg+.form-control-feedback,.input-group-lg>.form-control+.form-control-feedback,.input-group-lg>.input-group-addon+.form-control-feedback,.input-group-lg>.input-group-btn>.btn+.form-control-feedback,.input-group-lg+.form-control-feedback,.form-group-lg .form-control+.form-control-feedback{width:46px;height:46px;line-height:46px}.input-sm+.form-control-feedback,.input-group-sm>.form-control+.form-control-feedback,.input-group-sm>.input-group-addon+.form-control-feedback,.input-group-sm>.input-group-btn>.btn+.form-control-feedback,.input-group-sm+.form-control-feedback,.form-group-sm .form-control+.form-control-feedback{width:30px;height:30px;line-height:30px}.has-success .help-block,.has-success .control-label,.has-success .radio,.has-success .checkbox,.has-success .radio-inline,.has-success .checkbox-inline,.has-success.radio label,.has-success.checkbox label,.has-success.radio-inline label,.has-success.checkbox-inline label{color:#3c763d}.has-success .form-control{border-color:#3c763d;-webkit-box-shadow:inset 0 1px 1px rgba(0,0,0,.075);box-shadow:inset 0 1px 1px rgba(0,0,0,.075)}.has-success .form-control:focus{border-color:#2b542c;-webkit-box-shadow:inset 0 1px 1px rgba(0,0,0,.075),0 0 6px #67b168;box-shadow:inset 0 1px 1px rgba(0,0,0,.075),0 0 6px #67b168}.has-success .input-group-addon{color:#3c763d;background-color:#dff0d8;border-color:#3c763d}.has-success .form-control-feedback{color:#3c763d}.has-warning .help-block,.has-warning .control-label,.has-warning .radio,.has-warning .checkbox,.has-warning .radio-inline,.has-warning .checkbox-inline,.has-warning.radio label,.has-warning.checkbox label,.has-warning.radio-inline label,.has-warning.checkbox-inline label{color:#8a6d3b}.has-warning .form-control{border-color:#8a6d3b;-webkit-box-shadow:inset 0 1px 1px rgba(0,0,0,.075);box-shadow:inset 0 1px 1px rgba(0,0,0,.075)}.has-warning .form-control:focus{border-color:#66512c;-webkit-box-shadow:inset 0 1px 1px rgba(0,0,0,.075),0 0 6px #c0a16b;box-shadow:inset 0 1px 1px rgba(0,0,0,.075),0 0 6px #c0a16b}.has-warning .input-group-addon{color:#8a6d3b;background-color:#fcf8e3;border-color:#8a6d3b}.has-warning .form-control-feedback{color:#8a6d3b}.has-error .help-block,.has-error .control-label,.has-error .radio,.has-error .checkbox,.has-error .radio-inline,.has-error .checkbox-inline,.has-error.radio label,.has-error.checkbox label,.has-error.radio-inline label,.has-error.checkbox-inline label{color:#a94442}.has-error .form-control{border-color:#a94442;-webkit-box-shadow:inset 0 1px 1px rgba(0,0,0,.075);box-shadow:inset 0 1px 1px rgba(0,0,0,.075)}.has-error .form-control:focus{border-color:#843534;-webkit-box-shadow:inset 0 1px 1px rgba(0,0,0,.075),0 0 6px #ce8483;box-shadow:inset 0 1px 1px rgba(0,0,0,.075),0 0 6px #ce8483}.has-error .input-group-addon{color:#a94442;background-color:#f2dede;border-color:#a94442}.has-error .form-control-feedback{color:#a94442}.has-feedback label~.form-control-feedback{top:25px}.has-feedback label.sr-only~.form-control-feedback{top:0}.help-block{display:block;margin-top:5px;margin-bottom:10px;color:#737373}@media(min-width: 768px){.form-inline .form-group{display:inline-block;margin-bottom:0;vertical-align:middle}.form-inline .form-control{display:inline-block;width:auto;vertical-align:middle}.form-inline .form-control-static{display:inline-block}.form-inline .input-group{display:inline-table;vertical-align:middle}.form-inline .input-group .input-group-addon,.form-inline .input-group .input-group-btn,.form-inline .input-group .form-control{width:auto}.form-inline .input-group>.form-control{width:100%}.form-inline .control-label{margin-bottom:0;vertical-align:middle}.form-inline .radio,.form-inline .checkbox{display:inline-block;margin-top:0;margin-bottom:0;vertical-align:middle}.form-inline .radio label,.form-inline .checkbox label{padding-left:0}.form-inline .radio input[type=radio],.form-inline .checkbox input[type=checkbox]{position:relative;margin-left:0}.form-inline .has-feedback .form-control-feedback{top:0}}.form-horizontal .radio,.form-horizontal .checkbox,.form-horizontal .radio-inline,.form-horizontal .checkbox-inline{padding-top:7px;margin-top:0;margin-bottom:0}.form-horizontal .radio,.form-horizontal .checkbox{min-height:27px}.form-horizontal .form-group{margin-right:-15px;margin-left:-15px}.form-horizontal .form-group:before,.form-horizontal .form-group:after{display:table;content:\\\" \\\"}.form-horizontal .form-group:after{clear:both}@media(min-width: 768px){.form-horizontal .control-label{padding-top:7px;margin-bottom:0;text-align:right}}.form-horizontal .has-feedback .form-control-feedback{right:15px}@media(min-width: 768px){.form-horizontal .form-group-lg .control-label{padding-top:11px;font-size:18px}}@media(min-width: 768px){.form-horizontal .form-group-sm .control-label{padding-top:6px;font-size:12px}}.btn{display:inline-block;margin-bottom:0;font-weight:normal;text-align:center;white-space:nowrap;vertical-align:middle;touch-action:manipulation;cursor:pointer;background-image:none;border:1px solid transparent;padding:6px 12px;font-size:14px;line-height:1.428571429;border-radius:4px;-webkit-user-select:none;-moz-user-select:none;-ms-user-select:none;user-select:none}.btn:focus,.btn.focus,.btn:active:focus,.btn:active.focus,.btn.active:focus,.btn.active.focus{outline:5px auto -webkit-focus-ring-color;outline-offset:-2px}.btn:hover,.btn:focus,.btn.focus{color:#333;text-decoration:none}.btn:active,.btn.active{background-image:none;outline:0;-webkit-box-shadow:inset 0 3px 5px rgba(0,0,0,.125);box-shadow:inset 0 3px 5px rgba(0,0,0,.125)}.btn.disabled,.btn[disabled],fieldset[disabled] .btn{cursor:not-allowed;filter:alpha(opacity=65);opacity:.65;-webkit-box-shadow:none;box-shadow:none}a.btn.disabled,fieldset[disabled] a.btn{pointer-events:none}.btn-default{color:#333;background-color:#fff;border-color:#ccc}.btn-default:focus,.btn-default.focus{color:#333;background-color:#e6e6e6;border-color:#8c8c8c}.btn-default:hover{color:#333;background-color:#e6e6e6;border-color:#adadad}.btn-default:active,.btn-default.active,.open>.btn-default.dropdown-toggle{color:#333;background-color:#e6e6e6;background-image:none;border-color:#adadad}.btn-default:active:hover,.btn-default:active:focus,.btn-default:active.focus,.btn-default.active:hover,.btn-default.active:focus,.btn-default.active.focus,.open>.btn-default.dropdown-toggle:hover,.open>.btn-default.dropdown-toggle:focus,.open>.btn-default.dropdown-toggle.focus{color:#333;background-color:#d4d4d4;border-color:#8c8c8c}.btn-default.disabled:hover,.btn-default.disabled:focus,.btn-default.disabled.focus,.btn-default[disabled]:hover,.btn-default[disabled]:focus,.btn-default[disabled].focus,fieldset[disabled] .btn-default:hover,fieldset[disabled] .btn-default:focus,fieldset[disabled] .btn-default.focus{background-color:#fff;border-color:#ccc}.btn-default .badge{color:#fff;background-color:#333}.btn-primary{color:#fff;background-color:#337ab7;border-color:#2e6da4}.btn-primary:focus,.btn-primary.focus{color:#fff;background-color:#286090;border-color:#122b40}.btn-primary:hover{color:#fff;background-color:#286090;border-color:#204d74}.btn-primary:active,.btn-primary.active,.open>.btn-primary.dropdown-toggle{color:#fff;background-color:#286090;background-image:none;border-color:#204d74}.btn-primary:active:hover,.btn-primary:active:focus,.btn-primary:active.focus,.btn-primary.active:hover,.btn-primary.active:focus,.btn-primary.active.focus,.open>.btn-primary.dropdown-toggle:hover,.open>.btn-primary.dropdown-toggle:focus,.open>.btn-primary.dropdown-toggle.focus{color:#fff;background-color:#204d74;border-color:#122b40}.btn-primary.disabled:hover,.btn-primary.disabled:focus,.btn-primary.disabled.focus,.btn-primary[disabled]:hover,.btn-primary[disabled]:focus,.btn-primary[disabled].focus,fieldset[disabled] .btn-primary:hover,fieldset[disabled] .btn-primary:focus,fieldset[disabled] .btn-primary.focus{background-color:#337ab7;border-color:#2e6da4}.btn-primary .badge{color:#337ab7;background-color:#fff}.btn-success{color:#fff;background-color:#5cb85c;border-color:#4cae4c}.btn-success:focus,.btn-success.focus{color:#fff;background-color:#449d44;border-color:#255625}.btn-success:hover{color:#fff;background-color:#449d44;border-color:#398439}.btn-success:active,.btn-success.active,.open>.btn-success.dropdown-toggle{color:#fff;background-color:#449d44;background-image:none;border-color:#398439}.btn-success:active:hover,.btn-success:active:focus,.btn-success:active.focus,.btn-success.active:hover,.btn-success.active:focus,.btn-success.active.focus,.open>.btn-success.dropdown-toggle:hover,.open>.btn-success.dropdown-toggle:focus,.open>.btn-success.dropdown-toggle.focus{color:#fff;background-color:#398439;border-color:#255625}.btn-success.disabled:hover,.btn-success.disabled:focus,.btn-success.disabled.focus,.btn-success[disabled]:hover,.btn-success[disabled]:focus,.btn-success[disabled].focus,fieldset[disabled] .btn-success:hover,fieldset[disabled] .btn-success:focus,fieldset[disabled] .btn-success.focus{background-color:#5cb85c;border-color:#4cae4c}.btn-success .badge{color:#5cb85c;background-color:#fff}.btn-info{color:#fff;background-color:#5bc0de;border-color:#46b8da}.btn-info:focus,.btn-info.focus{color:#fff;background-color:#31b0d5;border-color:#1b6d85}.btn-info:hover{color:#fff;background-color:#31b0d5;border-color:#269abc}.btn-info:active,.btn-info.active,.open>.btn-info.dropdown-toggle{color:#fff;background-color:#31b0d5;background-image:none;border-color:#269abc}.btn-info:active:hover,.btn-info:active:focus,.btn-info:active.focus,.btn-info.active:hover,.btn-info.active:focus,.btn-info.active.focus,.open>.btn-info.dropdown-toggle:hover,.open>.btn-info.dropdown-toggle:focus,.open>.btn-info.dropdown-toggle.focus{color:#fff;background-color:#269abc;border-color:#1b6d85}.btn-info.disabled:hover,.btn-info.disabled:focus,.btn-info.disabled.focus,.btn-info[disabled]:hover,.btn-info[disabled]:focus,.btn-info[disabled].focus,fieldset[disabled] .btn-info:hover,fieldset[disabled] .btn-info:focus,fieldset[disabled] .btn-info.focus{background-color:#5bc0de;border-color:#46b8da}.btn-info .badge{color:#5bc0de;background-color:#fff}.btn-warning{color:#fff;background-color:#f0ad4e;border-color:#eea236}.btn-warning:focus,.btn-warning.focus{color:#fff;background-color:#ec971f;border-color:#985f0d}.btn-warning:hover{color:#fff;background-color:#ec971f;border-color:#d58512}.btn-warning:active,.btn-warning.active,.open>.btn-warning.dropdown-toggle{color:#fff;background-color:#ec971f;background-image:none;border-color:#d58512}.btn-warning:active:hover,.btn-warning:active:focus,.btn-warning:active.focus,.btn-warning.active:hover,.btn-warning.active:focus,.btn-warning.active.focus,.open>.btn-warning.dropdown-toggle:hover,.open>.btn-warning.dropdown-toggle:focus,.open>.btn-warning.dropdown-toggle.focus{color:#fff;background-color:#d58512;border-color:#985f0d}.btn-warning.disabled:hover,.btn-warning.disabled:focus,.btn-warning.disabled.focus,.btn-warning[disabled]:hover,.btn-warning[disabled]:focus,.btn-warning[disabled].focus,fieldset[disabled] .btn-warning:hover,fieldset[disabled] .btn-warning:focus,fieldset[disabled] .btn-warning.focus{background-color:#f0ad4e;border-color:#eea236}.btn-warning .badge{color:#f0ad4e;background-color:#fff}.btn-danger{color:#fff;background-color:#d9534f;border-color:#d43f3a}.btn-danger:focus,.btn-danger.focus{color:#fff;background-color:#c9302c;border-color:#761c19}.btn-danger:hover{color:#fff;background-color:#c9302c;border-color:#ac2925}.btn-danger:active,.btn-danger.active,.open>.btn-danger.dropdown-toggle{color:#fff;background-color:#c9302c;background-image:none;border-color:#ac2925}.btn-danger:active:hover,.btn-danger:active:focus,.btn-danger:active.focus,.btn-danger.active:hover,.btn-danger.active:focus,.btn-danger.active.focus,.open>.btn-danger.dropdown-toggle:hover,.open>.btn-danger.dropdown-toggle:focus,.open>.btn-danger.dropdown-toggle.focus{color:#fff;background-color:#ac2925;border-color:#761c19}.btn-danger.disabled:hover,.btn-danger.disabled:focus,.btn-danger.disabled.focus,.btn-danger[disabled]:hover,.btn-danger[disabled]:focus,.btn-danger[disabled].focus,fieldset[disabled] .btn-danger:hover,fieldset[disabled] .btn-danger:focus,fieldset[disabled] .btn-danger.focus{background-color:#d9534f;border-color:#d43f3a}.btn-danger .badge{color:#d9534f;background-color:#fff}.btn-link{font-weight:400;color:#337ab7;border-radius:0}.btn-link,.btn-link:active,.btn-link.active,.btn-link[disabled],fieldset[disabled] .btn-link{background-color:transparent;-webkit-box-shadow:none;box-shadow:none}.btn-link,.btn-link:hover,.btn-link:focus,.btn-link:active{border-color:transparent}.btn-link:hover,.btn-link:focus{color:#23527c;text-decoration:underline;background-color:transparent}.btn-link[disabled]:hover,.btn-link[disabled]:focus,fieldset[disabled] .btn-link:hover,fieldset[disabled] .btn-link:focus{color:#777;text-decoration:none}.btn-lg,.btn-group-lg>.btn{padding:10px 16px;font-size:18px;line-height:1.3333333;border-radius:6px}.btn-sm,.btn-group-sm>.btn{padding:5px 10px;font-size:12px;line-height:1.5;border-radius:3px}.btn-xs,.btn-group-xs>.btn{padding:1px 5px;font-size:12px;line-height:1.5;border-radius:3px}.btn-block{display:block;width:100%}.btn-block+.btn-block{margin-top:5px}input[type=submit].btn-block,input[type=reset].btn-block,input[type=button].btn-block{width:100%}.fade{opacity:0;-webkit-transition:opacity .15s linear;-o-transition:opacity .15s linear;transition:opacity .15s linear}.fade.in{opacity:1}.collapse{display:none}.collapse.in{display:block}tr.collapse.in{display:table-row}tbody.collapse.in{display:table-row-group}.collapsing{position:relative;height:0;overflow:hidden;-webkit-transition-property:height,visibility;transition-property:height,visibility;-webkit-transition-duration:.35s;transition-duration:.35s;-webkit-transition-timing-function:ease;transition-timing-function:ease}.caret{display:inline-block;width:0;height:0;margin-left:2px;vertical-align:middle;border-top:4px dashed;border-top:4px solid \\\\9 ;border-right:4px solid transparent;border-left:4px solid transparent}.dropup,.dropdown{position:relative}.dropdown-toggle:focus{outline:0}.dropdown-menu{position:absolute;top:100%;left:0;z-index:1000;display:none;float:left;min-width:160px;padding:5px 0;margin:2px 0 0;font-size:14px;text-align:left;list-style:none;background-color:#fff;background-clip:padding-box;border:1px solid #ccc;border:1px solid rgba(0,0,0,.15);border-radius:4px;-webkit-box-shadow:0 6px 12px rgba(0,0,0,.175);box-shadow:0 6px 12px rgba(0,0,0,.175)}.dropdown-menu.pull-right{right:0;left:auto}.dropdown-menu .divider{height:1px;margin:9px 0;overflow:hidden;background-color:#e5e5e5}.dropdown-menu>li>a{display:block;padding:3px 20px;clear:both;font-weight:400;line-height:1.428571429;color:#333;white-space:nowrap}.dropdown-menu>li>a:hover,.dropdown-menu>li>a:focus{color:#262626;text-decoration:none;background-color:#f5f5f5}.dropdown-menu>.active>a,.dropdown-menu>.active>a:hover,.dropdown-menu>.active>a:focus{color:#fff;text-decoration:none;background-color:#337ab7;outline:0}.dropdown-menu>.disabled>a,.dropdown-menu>.disabled>a:hover,.dropdown-menu>.disabled>a:focus{color:#777}.dropdown-menu>.disabled>a:hover,.dropdown-menu>.disabled>a:focus{text-decoration:none;cursor:not-allowed;background-color:transparent;background-image:none;filter:progid:DXImageTransform.Microsoft.gradient(enabled = false)}.open>.dropdown-menu{display:block}.open>a{outline:0}.dropdown-menu-right{right:0;left:auto}.dropdown-menu-left{right:auto;left:0}.dropdown-header{display:block;padding:3px 20px;font-size:12px;line-height:1.428571429;color:#777;white-space:nowrap}.dropdown-backdrop{position:fixed;top:0;right:0;bottom:0;left:0;z-index:990}.pull-right>.dropdown-menu{right:0;left:auto}.dropup .caret,.navbar-fixed-bottom .dropdown .caret{content:\\\"\\\";border-top:0;border-bottom:4px dashed;border-bottom:4px solid \\\\9 }.dropup .dropdown-menu,.navbar-fixed-bottom .dropdown .dropdown-menu{top:auto;bottom:100%;margin-bottom:2px}@media(min-width: 768px){.navbar-right .dropdown-menu{right:0;left:auto}.navbar-right .dropdown-menu-left{left:0;right:auto}}.btn-group,.btn-group-vertical{position:relative;display:inline-block;vertical-align:middle}.btn-group>.btn,.btn-group-vertical>.btn{position:relative;float:left}.btn-group>.btn:hover,.btn-group>.btn:focus,.btn-group>.btn:active,.btn-group>.btn.active,.btn-group-vertical>.btn:hover,.btn-group-vertical>.btn:focus,.btn-group-vertical>.btn:active,.btn-group-vertical>.btn.active{z-index:2}.btn-group .btn+.btn,.btn-group .btn+.btn-group,.btn-group .btn-group+.btn,.btn-group .btn-group+.btn-group{margin-left:-1px}.btn-toolbar{margin-left:-5px}.btn-toolbar:before,.btn-toolbar:after{display:table;content:\\\" \\\"}.btn-toolbar:after{clear:both}.btn-toolbar .btn,.btn-toolbar .btn-group,.btn-toolbar .input-group{float:left}.btn-toolbar>.btn,.btn-toolbar>.btn-group,.btn-toolbar>.input-group{margin-left:5px}.btn-group>.btn:not(:first-child):not(:last-child):not(.dropdown-toggle){border-radius:0}.btn-group>.btn:first-child{margin-left:0}.btn-group>.btn:first-child:not(:last-child):not(.dropdown-toggle){border-top-right-radius:0;border-bottom-right-radius:0}.btn-group>.btn:last-child:not(:first-child),.btn-group>.dropdown-toggle:not(:first-child){border-top-left-radius:0;border-bottom-left-radius:0}.btn-group>.btn-group{float:left}.btn-group>.btn-group:not(:first-child):not(:last-child)>.btn{border-radius:0}.btn-group>.btn-group:first-child:not(:last-child)>.btn:last-child,.btn-group>.btn-group:first-child:not(:last-child)>.dropdown-toggle{border-top-right-radius:0;border-bottom-right-radius:0}.btn-group>.btn-group:last-child:not(:first-child)>.btn:first-child{border-top-left-radius:0;border-bottom-left-radius:0}.btn-group .dropdown-toggle:active,.btn-group.open .dropdown-toggle{outline:0}.btn-group>.btn+.dropdown-toggle{padding-right:8px;padding-left:8px}.btn-group>.btn-lg+.dropdown-toggle,.btn-group-lg.btn-group>.btn+.dropdown-toggle{padding-right:12px;padding-left:12px}.btn-group.open .dropdown-toggle{-webkit-box-shadow:inset 0 3px 5px rgba(0,0,0,.125);box-shadow:inset 0 3px 5px rgba(0,0,0,.125)}.btn-group.open .dropdown-toggle.btn-link{-webkit-box-shadow:none;box-shadow:none}.btn .caret{margin-left:0}.btn-lg .caret,.btn-group-lg>.btn .caret{border-width:5px 5px 0;border-bottom-width:0}.dropup .btn-lg .caret,.dropup .btn-group-lg>.btn .caret{border-width:0 5px 5px}.btn-group-vertical>.btn,.btn-group-vertical>.btn-group,.btn-group-vertical>.btn-group>.btn{display:block;float:none;width:100%;max-width:100%}.btn-group-vertical>.btn-group:before,.btn-group-vertical>.btn-group:after{display:table;content:\\\" \\\"}.btn-group-vertical>.btn-group:after{clear:both}.btn-group-vertical>.btn-group>.btn{float:none}.btn-group-vertical>.btn+.btn,.btn-group-vertical>.btn+.btn-group,.btn-group-vertical>.btn-group+.btn,.btn-group-vertical>.btn-group+.btn-group{margin-top:-1px;margin-left:0}.btn-group-vertical>.btn:not(:first-child):not(:last-child){border-radius:0}.btn-group-vertical>.btn:first-child:not(:last-child){border-top-left-radius:4px;border-top-right-radius:4px;border-bottom-right-radius:0;border-bottom-left-radius:0}.btn-group-vertical>.btn:last-child:not(:first-child){border-top-left-radius:0;border-top-right-radius:0;border-bottom-right-radius:4px;border-bottom-left-radius:4px}.btn-group-vertical>.btn-group:not(:first-child):not(:last-child)>.btn{border-radius:0}.btn-group-vertical>.btn-group:first-child:not(:last-child)>.btn:last-child,.btn-group-vertical>.btn-group:first-child:not(:last-child)>.dropdown-toggle{border-bottom-right-radius:0;border-bottom-left-radius:0}.btn-group-vertical>.btn-group:last-child:not(:first-child)>.btn:first-child{border-top-left-radius:0;border-top-right-radius:0}.btn-group-justified{display:table;width:100%;table-layout:fixed;border-collapse:separate}.btn-group-justified>.btn,.btn-group-justified>.btn-group{display:table-cell;float:none;width:1%}.btn-group-justified>.btn-group .btn{width:100%}.btn-group-justified>.btn-group .dropdown-menu{left:auto}[data-toggle=buttons]>.btn input[type=radio],[data-toggle=buttons]>.btn input[type=checkbox],[data-toggle=buttons]>.btn-group>.btn input[type=radio],[data-toggle=buttons]>.btn-group>.btn input[type=checkbox]{position:absolute;clip:rect(0, 0, 0, 0);pointer-events:none}.input-group{position:relative;display:table;border-collapse:separate}.input-group[class*=col-]{float:none;padding-right:0;padding-left:0}.input-group .form-control{position:relative;z-index:2;float:left;width:100%;margin-bottom:0}.input-group .form-control:focus{z-index:3}.input-group-addon,.input-group-btn,.input-group .form-control{display:table-cell}.input-group-addon:not(:first-child):not(:last-child),.input-group-btn:not(:first-child):not(:last-child),.input-group .form-control:not(:first-child):not(:last-child){border-radius:0}.input-group-addon,.input-group-btn{width:1%;white-space:nowrap;vertical-align:middle}.input-group-addon{padding:6px 12px;font-size:14px;font-weight:400;line-height:1;color:#555;text-align:center;background-color:#eee;border:1px solid #ccc;border-radius:4px}.input-group-addon.input-sm,.input-group-sm>.input-group-addon,.input-group-sm>.input-group-btn>.input-group-addon.btn{padding:5px 10px;font-size:12px;border-radius:3px}.input-group-addon.input-lg,.input-group-lg>.input-group-addon,.input-group-lg>.input-group-btn>.input-group-addon.btn{padding:10px 16px;font-size:18px;border-radius:6px}.input-group-addon input[type=radio],.input-group-addon input[type=checkbox]{margin-top:0}.input-group .form-control:first-child,.input-group-addon:first-child,.input-group-btn:first-child>.btn,.input-group-btn:first-child>.btn-group>.btn,.input-group-btn:first-child>.dropdown-toggle,.input-group-btn:last-child>.btn:not(:last-child):not(.dropdown-toggle),.input-group-btn:last-child>.btn-group:not(:last-child)>.btn{border-top-right-radius:0;border-bottom-right-radius:0}.input-group-addon:first-child{border-right:0}.input-group .form-control:last-child,.input-group-addon:last-child,.input-group-btn:last-child>.btn,.input-group-btn:last-child>.btn-group>.btn,.input-group-btn:last-child>.dropdown-toggle,.input-group-btn:first-child>.btn:not(:first-child),.input-group-btn:first-child>.btn-group:not(:first-child)>.btn{border-top-left-radius:0;border-bottom-left-radius:0}.input-group-addon:last-child{border-left:0}.input-group-btn{position:relative;font-size:0;white-space:nowrap}.input-group-btn>.btn{position:relative}.input-group-btn>.btn+.btn{margin-left:-1px}.input-group-btn>.btn:hover,.input-group-btn>.btn:focus,.input-group-btn>.btn:active{z-index:2}.input-group-btn:first-child>.btn,.input-group-btn:first-child>.btn-group{margin-right:-1px}.input-group-btn:last-child>.btn,.input-group-btn:last-child>.btn-group{z-index:2;margin-left:-1px}.nav{padding-left:0;margin-bottom:0;list-style:none}.nav:before,.nav:after{display:table;content:\\\" \\\"}.nav:after{clear:both}.nav>li{position:relative;display:block}.nav>li>a{position:relative;display:block;padding:10px 15px}.nav>li>a:hover,.nav>li>a:focus{text-decoration:none;background-color:#eee}.nav>li.disabled>a{color:#777}.nav>li.disabled>a:hover,.nav>li.disabled>a:focus{color:#777;text-decoration:none;cursor:not-allowed;background-color:transparent}.nav .open>a,.nav .open>a:hover,.nav .open>a:focus{background-color:#eee;border-color:#337ab7}.nav .nav-divider{height:1px;margin:9px 0;overflow:hidden;background-color:#e5e5e5}.nav>li>a>img{max-width:none}.nav-tabs{border-bottom:1px solid #ddd}.nav-tabs>li{float:left;margin-bottom:-1px}.nav-tabs>li>a{margin-right:2px;line-height:1.428571429;border:1px solid transparent;border-radius:4px 4px 0 0}.nav-tabs>li>a:hover{border-color:#eee #eee #ddd}.nav-tabs>li.active>a,.nav-tabs>li.active>a:hover,.nav-tabs>li.active>a:focus{color:#555;cursor:default;background-color:#fff;border:1px solid #ddd;border-bottom-color:transparent}.nav-pills>li{float:left}.nav-pills>li>a{border-radius:4px}.nav-pills>li+li{margin-left:2px}.nav-pills>li.active>a,.nav-pills>li.active>a:hover,.nav-pills>li.active>a:focus{color:#fff;background-color:#337ab7}.nav-stacked>li{float:none}.nav-stacked>li+li{margin-top:2px;margin-left:0}.nav-justified,.nav-tabs.nav-justified{width:100%}.nav-justified>li,.nav-tabs.nav-justified>li{float:none}.nav-justified>li>a,.nav-tabs.nav-justified>li>a{margin-bottom:5px;text-align:center}.nav-justified>.dropdown .dropdown-menu{top:auto;left:auto}@media(min-width: 768px){.nav-justified>li,.nav-tabs.nav-justified>li{display:table-cell;width:1%}.nav-justified>li>a,.nav-tabs.nav-justified>li>a{margin-bottom:0}}.nav-tabs-justified,.nav-tabs.nav-justified{border-bottom:0}.nav-tabs-justified>li>a,.nav-tabs.nav-justified>li>a{margin-right:0;border-radius:4px}.nav-tabs-justified>.active>a,.nav-tabs.nav-justified>.active>a,.nav-tabs-justified>.active>a:hover,.nav-tabs-justified>.active>a:focus{border:1px solid #ddd}@media(min-width: 768px){.nav-tabs-justified>li>a,.nav-tabs.nav-justified>li>a{border-bottom:1px solid #ddd;border-radius:4px 4px 0 0}.nav-tabs-justified>.active>a,.nav-tabs.nav-justified>.active>a,.nav-tabs-justified>.active>a:hover,.nav-tabs-justified>.active>a:focus{border-bottom-color:#fff}}.tab-content>.tab-pane{display:none}.tab-content>.active{display:block}.nav-tabs .dropdown-menu{margin-top:-1px;border-top-left-radius:0;border-top-right-radius:0}.navbar{position:relative;min-height:50px;margin-bottom:20px;border:1px solid transparent}.navbar:before,.navbar:after{display:table;content:\\\" \\\"}.navbar:after{clear:both}@media(min-width: 768px){.navbar{border-radius:4px}}.navbar-header:before,.navbar-header:after{display:table;content:\\\" \\\"}.navbar-header:after{clear:both}@media(min-width: 768px){.navbar-header{float:left}}.navbar-collapse{padding-right:15px;padding-left:15px;overflow-x:visible;border-top:1px solid transparent;box-shadow:inset 0 1px 0 rgba(255,255,255,.1);-webkit-overflow-scrolling:touch}.navbar-collapse:before,.navbar-collapse:after{display:table;content:\\\" \\\"}.navbar-collapse:after{clear:both}.navbar-collapse.in{overflow-y:auto}@media(min-width: 768px){.navbar-collapse{width:auto;border-top:0;box-shadow:none}.navbar-collapse.collapse{display:block !important;height:auto !important;padding-bottom:0;overflow:visible !important}.navbar-collapse.in{overflow-y:visible}.navbar-fixed-top .navbar-collapse,.navbar-static-top .navbar-collapse,.navbar-fixed-bottom .navbar-collapse{padding-right:0;padding-left:0}}.navbar-fixed-top,.navbar-fixed-bottom{position:fixed;right:0;left:0;z-index:1030}.navbar-fixed-top .navbar-collapse,.navbar-fixed-bottom .navbar-collapse{max-height:340px}@media(max-device-width: 480px)and (orientation: landscape){.navbar-fixed-top .navbar-collapse,.navbar-fixed-bottom .navbar-collapse{max-height:200px}}@media(min-width: 768px){.navbar-fixed-top,.navbar-fixed-bottom{border-radius:0}}.navbar-fixed-top{top:0;border-width:0 0 1px}.navbar-fixed-bottom{bottom:0;margin-bottom:0;border-width:1px 0 0}.container>.navbar-header,.container>.navbar-collapse,.container-fluid>.navbar-header,.container-fluid>.navbar-collapse{margin-right:-15px;margin-left:-15px}@media(min-width: 768px){.container>.navbar-header,.container>.navbar-collapse,.container-fluid>.navbar-header,.container-fluid>.navbar-collapse{margin-right:0;margin-left:0}}.navbar-static-top{z-index:1000;border-width:0 0 1px}@media(min-width: 768px){.navbar-static-top{border-radius:0}}.navbar-brand{float:left;height:50px;padding:15px 15px;font-size:18px;line-height:20px}.navbar-brand:hover,.navbar-brand:focus{text-decoration:none}.navbar-brand>img{display:block}@media(min-width: 768px){.navbar>.container .navbar-brand,.navbar>.container-fluid .navbar-brand{margin-left:-15px}}.navbar-toggle{position:relative;float:right;padding:9px 10px;margin-right:15px;margin-top:8px;margin-bottom:8px;background-color:transparent;background-image:none;border:1px solid transparent;border-radius:4px}.navbar-toggle:focus{outline:0}.navbar-toggle .icon-bar{display:block;width:22px;height:2px;border-radius:1px}.navbar-toggle .icon-bar+.icon-bar{margin-top:4px}@media(min-width: 768px){.navbar-toggle{display:none}}.navbar-nav{margin:7.5px -15px}.navbar-nav>li>a{padding-top:10px;padding-bottom:10px;line-height:20px}@media(max-width: 767px){.navbar-nav .open .dropdown-menu{position:static;float:none;width:auto;margin-top:0;background-color:transparent;border:0;box-shadow:none}.navbar-nav .open .dropdown-menu>li>a,.navbar-nav .open .dropdown-menu .dropdown-header{padding:5px 15px 5px 25px}.navbar-nav .open .dropdown-menu>li>a{line-height:20px}.navbar-nav .open .dropdown-menu>li>a:hover,.navbar-nav .open .dropdown-menu>li>a:focus{background-image:none}}@media(min-width: 768px){.navbar-nav{float:left;margin:0}.navbar-nav>li{float:left}.navbar-nav>li>a{padding-top:15px;padding-bottom:15px}}.navbar-form{padding:10px 15px;margin-right:-15px;margin-left:-15px;border-top:1px solid transparent;border-bottom:1px solid transparent;-webkit-box-shadow:inset 0 1px 0 rgba(255,255,255,.1),0 1px 0 rgba(255,255,255,.1);box-shadow:inset 0 1px 0 rgba(255,255,255,.1),0 1px 0 rgba(255,255,255,.1);margin-top:8px;margin-bottom:8px}@media(min-width: 768px){.navbar-form .form-group{display:inline-block;margin-bottom:0;vertical-align:middle}.navbar-form .form-control{display:inline-block;width:auto;vertical-align:middle}.navbar-form .form-control-static{display:inline-block}.navbar-form .input-group{display:inline-table;vertical-align:middle}.navbar-form .input-group .input-group-addon,.navbar-form .input-group .input-group-btn,.navbar-form .input-group .form-control{width:auto}.navbar-form .input-group>.form-control{width:100%}.navbar-form .control-label{margin-bottom:0;vertical-align:middle}.navbar-form .radio,.navbar-form .checkbox{display:inline-block;margin-top:0;margin-bottom:0;vertical-align:middle}.navbar-form .radio label,.navbar-form .checkbox label{padding-left:0}.navbar-form .radio input[type=radio],.navbar-form .checkbox input[type=checkbox]{position:relative;margin-left:0}.navbar-form .has-feedback .form-control-feedback{top:0}}@media(max-width: 767px){.navbar-form .form-group{margin-bottom:5px}.navbar-form .form-group:last-child{margin-bottom:0}}@media(min-width: 768px){.navbar-form{width:auto;padding-top:0;padding-bottom:0;margin-right:0;margin-left:0;border:0;-webkit-box-shadow:none;box-shadow:none}}.navbar-nav>li>.dropdown-menu{margin-top:0;border-top-left-radius:0;border-top-right-radius:0}.navbar-fixed-bottom .navbar-nav>li>.dropdown-menu{margin-bottom:0;border-top-left-radius:4px;border-top-right-radius:4px;border-bottom-right-radius:0;border-bottom-left-radius:0}.navbar-btn{margin-top:8px;margin-bottom:8px}.navbar-btn.btn-sm,.btn-group-sm>.navbar-btn.btn{margin-top:10px;margin-bottom:10px}.navbar-btn.btn-xs,.btn-group-xs>.navbar-btn.btn{margin-top:14px;margin-bottom:14px}.navbar-text{margin-top:15px;margin-bottom:15px}@media(min-width: 768px){.navbar-text{float:left;margin-right:15px;margin-left:15px}}@media(min-width: 768px){.navbar-left{float:left !important}.navbar-right{float:right !important;margin-right:-15px}.navbar-right~.navbar-right{margin-right:0}}.navbar-default{background-color:#f8f8f8;border-color:#e7e7e7}.navbar-default .navbar-brand{color:#777}.navbar-default .navbar-brand:hover,.navbar-default .navbar-brand:focus{color:#5e5e5e;background-color:transparent}.navbar-default .navbar-text{color:#777}.navbar-default .navbar-nav>li>a{color:#777}.navbar-default .navbar-nav>li>a:hover,.navbar-default .navbar-nav>li>a:focus{color:#333;background-color:transparent}.navbar-default .navbar-nav>.active>a,.navbar-default .navbar-nav>.active>a:hover,.navbar-default .navbar-nav>.active>a:focus{color:#555;background-color:#e7e7e7}.navbar-default .navbar-nav>.disabled>a,.navbar-default .navbar-nav>.disabled>a:hover,.navbar-default .navbar-nav>.disabled>a:focus{color:#ccc;background-color:transparent}.navbar-default .navbar-nav>.open>a,.navbar-default .navbar-nav>.open>a:hover,.navbar-default .navbar-nav>.open>a:focus{color:#555;background-color:#e7e7e7}@media(max-width: 767px){.navbar-default .navbar-nav .open .dropdown-menu>li>a{color:#777}.navbar-default .navbar-nav .open .dropdown-menu>li>a:hover,.navbar-default .navbar-nav .open .dropdown-menu>li>a:focus{color:#333;background-color:transparent}.navbar-default .navbar-nav .open .dropdown-menu>.active>a,.navbar-default .navbar-nav .open .dropdown-menu>.active>a:hover,.navbar-default .navbar-nav .open .dropdown-menu>.active>a:focus{color:#555;background-color:#e7e7e7}.navbar-default .navbar-nav .open .dropdown-menu>.disabled>a,.navbar-default .navbar-nav .open .dropdown-menu>.disabled>a:hover,.navbar-default .navbar-nav .open .dropdown-menu>.disabled>a:focus{color:#ccc;background-color:transparent}}.navbar-default .navbar-toggle{border-color:#ddd}.navbar-default .navbar-toggle:hover,.navbar-default .navbar-toggle:focus{background-color:#ddd}.navbar-default .navbar-toggle .icon-bar{background-color:#888}.navbar-default .navbar-collapse,.navbar-default .navbar-form{border-color:#e7e7e7}.navbar-default .navbar-link{color:#777}.navbar-default .navbar-link:hover{color:#333}.navbar-default .btn-link{color:#777}.navbar-default .btn-link:hover,.navbar-default .btn-link:focus{color:#333}.navbar-default .btn-link[disabled]:hover,.navbar-default .btn-link[disabled]:focus,fieldset[disabled] .navbar-default .btn-link:hover,fieldset[disabled] .navbar-default .btn-link:focus{color:#ccc}.navbar-inverse{background-color:#222;border-color:#090909}.navbar-inverse .navbar-brand{color:#9d9d9d}.navbar-inverse .navbar-brand:hover,.navbar-inverse .navbar-brand:focus{color:#fff;background-color:transparent}.navbar-inverse .navbar-text{color:#9d9d9d}.navbar-inverse .navbar-nav>li>a{color:#9d9d9d}.navbar-inverse .navbar-nav>li>a:hover,.navbar-inverse .navbar-nav>li>a:focus{color:#fff;background-color:transparent}.navbar-inverse .navbar-nav>.active>a,.navbar-inverse .navbar-nav>.active>a:hover,.navbar-inverse .navbar-nav>.active>a:focus{color:#fff;background-color:#090909}.navbar-inverse .navbar-nav>.disabled>a,.navbar-inverse .navbar-nav>.disabled>a:hover,.navbar-inverse .navbar-nav>.disabled>a:focus{color:#444;background-color:transparent}.navbar-inverse .navbar-nav>.open>a,.navbar-inverse .navbar-nav>.open>a:hover,.navbar-inverse .navbar-nav>.open>a:focus{color:#fff;background-color:#090909}@media(max-width: 767px){.navbar-inverse .navbar-nav .open .dropdown-menu>.dropdown-header{border-color:#090909}.navbar-inverse .navbar-nav .open .dropdown-menu .divider{background-color:#090909}.navbar-inverse .navbar-nav .open .dropdown-menu>li>a{color:#9d9d9d}.navbar-inverse .navbar-nav .open .dropdown-menu>li>a:hover,.navbar-inverse .navbar-nav .open .dropdown-menu>li>a:focus{color:#fff;background-color:transparent}.navbar-inverse .navbar-nav .open .dropdown-menu>.active>a,.navbar-inverse .navbar-nav .open .dropdown-menu>.active>a:hover,.navbar-inverse .navbar-nav .open .dropdown-menu>.active>a:focus{color:#fff;background-color:#090909}.navbar-inverse .navbar-nav .open .dropdown-menu>.disabled>a,.navbar-inverse .navbar-nav .open .dropdown-menu>.disabled>a:hover,.navbar-inverse .navbar-nav .open .dropdown-menu>.disabled>a:focus{color:#444;background-color:transparent}}.navbar-inverse .navbar-toggle{border-color:#333}.navbar-inverse .navbar-toggle:hover,.navbar-inverse .navbar-toggle:focus{background-color:#333}.navbar-inverse .navbar-toggle .icon-bar{background-color:#fff}.navbar-inverse .navbar-collapse,.navbar-inverse .navbar-form{border-color:#101010}.navbar-inverse .navbar-link{color:#9d9d9d}.navbar-inverse .navbar-link:hover{color:#fff}.navbar-inverse .btn-link{color:#9d9d9d}.navbar-inverse .btn-link:hover,.navbar-inverse .btn-link:focus{color:#fff}.navbar-inverse .btn-link[disabled]:hover,.navbar-inverse .btn-link[disabled]:focus,fieldset[disabled] .navbar-inverse .btn-link:hover,fieldset[disabled] .navbar-inverse .btn-link:focus{color:#444}.breadcrumb{padding:8px 15px;margin-bottom:20px;list-style:none;background-color:#f5f5f5;border-radius:4px}.breadcrumb>li{display:inline-block}.breadcrumb>li+li:before{padding:0 5px;color:#ccc;content:\\\"/ \\\"}.breadcrumb>.active{color:#777}.pagination{display:inline-block;padding-left:0;margin:20px 0;border-radius:4px}.pagination>li{display:inline}.pagination>li>a,.pagination>li>span{position:relative;float:left;padding:6px 12px;margin-left:-1px;line-height:1.428571429;color:#337ab7;text-decoration:none;background-color:#fff;border:1px solid #ddd}.pagination>li>a:hover,.pagination>li>a:focus,.pagination>li>span:hover,.pagination>li>span:focus{z-index:2;color:#23527c;background-color:#eee;border-color:#ddd}.pagination>li:first-child>a,.pagination>li:first-child>span{margin-left:0;border-top-left-radius:4px;border-bottom-left-radius:4px}.pagination>li:last-child>a,.pagination>li:last-child>span{border-top-right-radius:4px;border-bottom-right-radius:4px}.pagination>.active>a,.pagination>.active>a:hover,.pagination>.active>a:focus,.pagination>.active>span,.pagination>.active>span:hover,.pagination>.active>span:focus{z-index:3;color:#fff;cursor:default;background-color:#337ab7;border-color:#337ab7}.pagination>.disabled>span,.pagination>.disabled>span:hover,.pagination>.disabled>span:focus,.pagination>.disabled>a,.pagination>.disabled>a:hover,.pagination>.disabled>a:focus{color:#777;cursor:not-allowed;background-color:#fff;border-color:#ddd}.pagination-lg>li>a,.pagination-lg>li>span{padding:10px 16px;font-size:18px;line-height:1.3333333}.pagination-lg>li:first-child>a,.pagination-lg>li:first-child>span{border-top-left-radius:6px;border-bottom-left-radius:6px}.pagination-lg>li:last-child>a,.pagination-lg>li:last-child>span{border-top-right-radius:6px;border-bottom-right-radius:6px}.pagination-sm>li>a,.pagination-sm>li>span{padding:5px 10px;font-size:12px;line-height:1.5}.pagination-sm>li:first-child>a,.pagination-sm>li:first-child>span{border-top-left-radius:3px;border-bottom-left-radius:3px}.pagination-sm>li:last-child>a,.pagination-sm>li:last-child>span{border-top-right-radius:3px;border-bottom-right-radius:3px}.pager{padding-left:0;margin:20px 0;text-align:center;list-style:none}.pager:before,.pager:after{display:table;content:\\\" \\\"}.pager:after{clear:both}.pager li{display:inline}.pager li>a,.pager li>span{display:inline-block;padding:5px 14px;background-color:#fff;border:1px solid #ddd;border-radius:15px}.pager li>a:hover,.pager li>a:focus{text-decoration:none;background-color:#eee}.pager .next>a,.pager .next>span{float:right}.pager .previous>a,.pager .previous>span{float:left}.pager .disabled>a,.pager .disabled>a:hover,.pager .disabled>a:focus,.pager .disabled>span{color:#777;cursor:not-allowed;background-color:#fff}.label{display:inline;padding:.2em .6em .3em;font-size:75%;font-weight:700;line-height:1;color:#fff;text-align:center;white-space:nowrap;vertical-align:baseline;border-radius:.25em}.label:empty{display:none}.btn .label{position:relative;top:-1px}a.label:hover,a.label:focus{color:#fff;text-decoration:none;cursor:pointer}.label-default{background-color:#777}.label-default[href]:hover,.label-default[href]:focus{background-color:#5e5e5e}.label-primary{background-color:#337ab7}.label-primary[href]:hover,.label-primary[href]:focus{background-color:#286090}.label-success{background-color:#5cb85c}.label-success[href]:hover,.label-success[href]:focus{background-color:#449d44}.label-info{background-color:#5bc0de}.label-info[href]:hover,.label-info[href]:focus{background-color:#31b0d5}.label-warning{background-color:#f0ad4e}.label-warning[href]:hover,.label-warning[href]:focus{background-color:#ec971f}.label-danger{background-color:#d9534f}.label-danger[href]:hover,.label-danger[href]:focus{background-color:#c9302c}.badge{display:inline-block;min-width:10px;padding:3px 7px;font-size:12px;font-weight:bold;line-height:1;color:#fff;text-align:center;white-space:nowrap;vertical-align:middle;background-color:#777;border-radius:10px}.badge:empty{display:none}.btn .badge{position:relative;top:-1px}.btn-xs .badge,.btn-group-xs>.btn .badge{top:0;padding:1px 5px}.list-group-item.active>.badge,.nav-pills>.active>a>.badge{color:#337ab7;background-color:#fff}.list-group-item>.badge{float:right}.list-group-item>.badge+.badge{margin-right:5px}.nav-pills>li>a>.badge{margin-left:3px}a.badge:hover,a.badge:focus{color:#fff;text-decoration:none;cursor:pointer}.jumbotron{padding-top:30px;padding-bottom:30px;margin-bottom:30px;color:inherit;background-color:#eee}.jumbotron h1,.jumbotron .h1{color:inherit}.jumbotron p{margin-bottom:15px;font-size:21px;font-weight:200}.jumbotron>hr{border-top-color:#d5d5d5}.container .jumbotron,.container-fluid .jumbotron{padding-right:15px;padding-left:15px;border-radius:6px}.jumbotron .container{max-width:100%}@media screen and (min-width: 768px){.jumbotron{padding-top:48px;padding-bottom:48px}.container .jumbotron,.container-fluid .jumbotron{padding-right:60px;padding-left:60px}.jumbotron h1,.jumbotron .h1{font-size:63px}}.thumbnail{display:block;padding:4px;margin-bottom:20px;line-height:1.428571429;background-color:#fff;border:1px solid #ddd;border-radius:4px;-webkit-transition:border .2s ease-in-out;-o-transition:border .2s ease-in-out;transition:border .2s ease-in-out}.thumbnail>img,.thumbnail a>img{display:block;max-width:100%;height:auto;margin-right:auto;margin-left:auto}.thumbnail .caption{padding:9px;color:#333}a.thumbnail:hover,a.thumbnail:focus,a.thumbnail.active{border-color:#337ab7}.alert{padding:15px;margin-bottom:20px;border:1px solid transparent;border-radius:4px}.alert h4{margin-top:0;color:inherit}.alert .alert-link{font-weight:bold}.alert>p,.alert>ul{margin-bottom:0}.alert>p+p{margin-top:5px}.alert-dismissable,.alert-dismissible{padding-right:35px}.alert-dismissable .close,.alert-dismissible .close{position:relative;top:-2px;right:-21px;color:inherit}.alert-success{color:#3c763d;background-color:#dff0d8;border-color:#d6e9c6}.alert-success hr{border-top-color:#c9e2b3}.alert-success .alert-link{color:#2b542c}.alert-info{color:#31708f;background-color:#d9edf7;border-color:#bce8f1}.alert-info hr{border-top-color:#a6e1ec}.alert-info .alert-link{color:#245269}.alert-warning{color:#8a6d3b;background-color:#fcf8e3;border-color:#faebcc}.alert-warning hr{border-top-color:#f7e1b5}.alert-warning .alert-link{color:#66512c}.alert-danger{color:#a94442;background-color:#f2dede;border-color:#ebccd1}.alert-danger hr{border-top-color:#e4b9c0}.alert-danger .alert-link{color:#843534}@-webkit-keyframes progress-bar-stripes{from{background-position:40px 0}to{background-position:0 0}}@keyframes progress-bar-stripes{from{background-position:40px 0}to{background-position:0 0}}.progress{height:20px;margin-bottom:20px;overflow:hidden;background-color:#f5f5f5;border-radius:4px;-webkit-box-shadow:inset 0 1px 2px rgba(0,0,0,.1);box-shadow:inset 0 1px 2px rgba(0,0,0,.1)}.progress-bar{float:left;width:0%;height:100%;font-size:12px;line-height:20px;color:#fff;text-align:center;background-color:#337ab7;-webkit-box-shadow:inset 0 -1px 0 rgba(0,0,0,.15);box-shadow:inset 0 -1px 0 rgba(0,0,0,.15);-webkit-transition:width .6s ease;-o-transition:width .6s ease;transition:width .6s ease}.progress-striped .progress-bar,.progress-bar-striped{background-image:-webkit-linear-gradient(45deg, rgba(255, 255, 255, 0.15) 25%, transparent 25%, transparent 50%, rgba(255, 255, 255, 0.15) 50%, rgba(255, 255, 255, 0.15) 75%, transparent 75%, transparent);background-image:-o-linear-gradient(45deg, rgba(255, 255, 255, 0.15) 25%, transparent 25%, transparent 50%, rgba(255, 255, 255, 0.15) 50%, rgba(255, 255, 255, 0.15) 75%, transparent 75%, transparent);background-image:linear-gradient(45deg, rgba(255, 255, 255, 0.15) 25%, transparent 25%, transparent 50%, rgba(255, 255, 255, 0.15) 50%, rgba(255, 255, 255, 0.15) 75%, transparent 75%, transparent);background-size:40px 40px}.progress.active .progress-bar,.progress-bar.active{-webkit-animation:progress-bar-stripes 2s linear infinite;-o-animation:progress-bar-stripes 2s linear infinite;animation:progress-bar-stripes 2s linear infinite}.progress-bar-success{background-color:#5cb85c}.progress-striped .progress-bar-success{background-image:-webkit-linear-gradient(45deg, rgba(255, 255, 255, 0.15) 25%, transparent 25%, transparent 50%, rgba(255, 255, 255, 0.15) 50%, rgba(255, 255, 255, 0.15) 75%, transparent 75%, transparent);background-image:-o-linear-gradient(45deg, rgba(255, 255, 255, 0.15) 25%, transparent 25%, transparent 50%, rgba(255, 255, 255, 0.15) 50%, rgba(255, 255, 255, 0.15) 75%, transparent 75%, transparent);background-image:linear-gradient(45deg, rgba(255, 255, 255, 0.15) 25%, transparent 25%, transparent 50%, rgba(255, 255, 255, 0.15) 50%, rgba(255, 255, 255, 0.15) 75%, transparent 75%, transparent)}.progress-bar-info{background-color:#5bc0de}.progress-striped .progress-bar-info{background-image:-webkit-linear-gradient(45deg, rgba(255, 255, 255, 0.15) 25%, transparent 25%, transparent 50%, rgba(255, 255, 255, 0.15) 50%, rgba(255, 255, 255, 0.15) 75%, transparent 75%, transparent);background-image:-o-linear-gradient(45deg, rgba(255, 255, 255, 0.15) 25%, transparent 25%, transparent 50%, rgba(255, 255, 255, 0.15) 50%, rgba(255, 255, 255, 0.15) 75%, transparent 75%, transparent);background-image:linear-gradient(45deg, rgba(255, 255, 255, 0.15) 25%, transparent 25%, transparent 50%, rgba(255, 255, 255, 0.15) 50%, rgba(255, 255, 255, 0.15) 75%, transparent 75%, transparent)}.progress-bar-warning{background-color:#f0ad4e}.progress-striped .progress-bar-warning{background-image:-webkit-linear-gradient(45deg, rgba(255, 255, 255, 0.15) 25%, transparent 25%, transparent 50%, rgba(255, 255, 255, 0.15) 50%, rgba(255, 255, 255, 0.15) 75%, transparent 75%, transparent);background-image:-o-linear-gradient(45deg, rgba(255, 255, 255, 0.15) 25%, transparent 25%, transparent 50%, rgba(255, 255, 255, 0.15) 50%, rgba(255, 255, 255, 0.15) 75%, transparent 75%, transparent);background-image:linear-gradient(45deg, rgba(255, 255, 255, 0.15) 25%, transparent 25%, transparent 50%, rgba(255, 255, 255, 0.15) 50%, rgba(255, 255, 255, 0.15) 75%, transparent 75%, transparent)}.progress-bar-danger{background-color:#d9534f}.progress-striped .progress-bar-danger{background-image:-webkit-linear-gradient(45deg, rgba(255, 255, 255, 0.15) 25%, transparent 25%, transparent 50%, rgba(255, 255, 255, 0.15) 50%, rgba(255, 255, 255, 0.15) 75%, transparent 75%, transparent);background-image:-o-linear-gradient(45deg, rgba(255, 255, 255, 0.15) 25%, transparent 25%, transparent 50%, rgba(255, 255, 255, 0.15) 50%, rgba(255, 255, 255, 0.15) 75%, transparent 75%, transparent);background-image:linear-gradient(45deg, rgba(255, 255, 255, 0.15) 25%, transparent 25%, transparent 50%, rgba(255, 255, 255, 0.15) 50%, rgba(255, 255, 255, 0.15) 75%, transparent 75%, transparent)}.media{margin-top:15px}.media:first-child{margin-top:0}.media,.media-body{overflow:hidden;zoom:1}.media-body{width:10000px}.media-object{display:block}.media-object.img-thumbnail{max-width:none}.media-right,.media>.pull-right{padding-left:10px}.media-left,.media>.pull-left{padding-right:10px}.media-left,.media-right,.media-body{display:table-cell;vertical-align:top}.media-middle{vertical-align:middle}.media-bottom{vertical-align:bottom}.media-heading{margin-top:0;margin-bottom:5px}.media-list{padding-left:0;list-style:none}.list-group{padding-left:0;margin-bottom:20px}.list-group-item{position:relative;display:block;padding:10px 15px;margin-bottom:-1px;background-color:#fff;border:1px solid #ddd}.list-group-item:first-child{border-top-left-radius:4px;border-top-right-radius:4px}.list-group-item:last-child{margin-bottom:0;border-bottom-right-radius:4px;border-bottom-left-radius:4px}.list-group-item.disabled,.list-group-item.disabled:hover,.list-group-item.disabled:focus{color:#777;cursor:not-allowed;background-color:#eee}.list-group-item.disabled .list-group-item-heading,.list-group-item.disabled:hover .list-group-item-heading,.list-group-item.disabled:focus .list-group-item-heading{color:inherit}.list-group-item.disabled .list-group-item-text,.list-group-item.disabled:hover .list-group-item-text,.list-group-item.disabled:focus .list-group-item-text{color:#777}.list-group-item.active,.list-group-item.active:hover,.list-group-item.active:focus{z-index:2;color:#fff;background-color:#337ab7;border-color:#337ab7}.list-group-item.active .list-group-item-heading,.list-group-item.active .list-group-item-heading>small,.list-group-item.active .list-group-item-heading>.small,.list-group-item.active:hover .list-group-item-heading,.list-group-item.active:hover .list-group-item-heading>small,.list-group-item.active:hover .list-group-item-heading>.small,.list-group-item.active:focus .list-group-item-heading,.list-group-item.active:focus .list-group-item-heading>small,.list-group-item.active:focus .list-group-item-heading>.small{color:inherit}.list-group-item.active .list-group-item-text,.list-group-item.active:hover .list-group-item-text,.list-group-item.active:focus .list-group-item-text{color:#c7ddef}a.list-group-item,button.list-group-item{color:#555}a.list-group-item .list-group-item-heading,button.list-group-item .list-group-item-heading{color:#333}a.list-group-item:hover,a.list-group-item:focus,button.list-group-item:hover,button.list-group-item:focus{color:#555;text-decoration:none;background-color:#f5f5f5}button.list-group-item{width:100%;text-align:left}.list-group-item-success{color:#3c763d;background-color:#dff0d8}a.list-group-item-success,button.list-group-item-success{color:#3c763d}a.list-group-item-success .list-group-item-heading,button.list-group-item-success .list-group-item-heading{color:inherit}a.list-group-item-success:hover,a.list-group-item-success:focus,button.list-group-item-success:hover,button.list-group-item-success:focus{color:#3c763d;background-color:#d0e9c6}a.list-group-item-success.active,a.list-group-item-success.active:hover,a.list-group-item-success.active:focus,button.list-group-item-success.active,button.list-group-item-success.active:hover,button.list-group-item-success.active:focus{color:#fff;background-color:#3c763d;border-color:#3c763d}.list-group-item-info{color:#31708f;background-color:#d9edf7}a.list-group-item-info,button.list-group-item-info{color:#31708f}a.list-group-item-info .list-group-item-heading,button.list-group-item-info .list-group-item-heading{color:inherit}a.list-group-item-info:hover,a.list-group-item-info:focus,button.list-group-item-info:hover,button.list-group-item-info:focus{color:#31708f;background-color:#c4e3f3}a.list-group-item-info.active,a.list-group-item-info.active:hover,a.list-group-item-info.active:focus,button.list-group-item-info.active,button.list-group-item-info.active:hover,button.list-group-item-info.active:focus{color:#fff;background-color:#31708f;border-color:#31708f}.list-group-item-warning{color:#8a6d3b;background-color:#fcf8e3}a.list-group-item-warning,button.list-group-item-warning{color:#8a6d3b}a.list-group-item-warning .list-group-item-heading,button.list-group-item-warning .list-group-item-heading{color:inherit}a.list-group-item-warning:hover,a.list-group-item-warning:focus,button.list-group-item-warning:hover,button.list-group-item-warning:focus{color:#8a6d3b;background-color:#faf2cc}a.list-group-item-warning.active,a.list-group-item-warning.active:hover,a.list-group-item-warning.active:focus,button.list-group-item-warning.active,button.list-group-item-warning.active:hover,button.list-group-item-warning.active:focus{color:#fff;background-color:#8a6d3b;border-color:#8a6d3b}.list-group-item-danger{color:#a94442;background-color:#f2dede}a.list-group-item-danger,button.list-group-item-danger{color:#a94442}a.list-group-item-danger .list-group-item-heading,button.list-group-item-danger .list-group-item-heading{color:inherit}a.list-group-item-danger:hover,a.list-group-item-danger:focus,button.list-group-item-danger:hover,button.list-group-item-danger:focus{color:#a94442;background-color:#ebcccc}a.list-group-item-danger.active,a.list-group-item-danger.active:hover,a.list-group-item-danger.active:focus,button.list-group-item-danger.active,button.list-group-item-danger.active:hover,button.list-group-item-danger.active:focus{color:#fff;background-color:#a94442;border-color:#a94442}.list-group-item-heading{margin-top:0;margin-bottom:5px}.list-group-item-text{margin-bottom:0;line-height:1.3}.panel{margin-bottom:20px;background-color:#fff;border:1px solid transparent;border-radius:4px;-webkit-box-shadow:0 1px 1px rgba(0,0,0,.05);box-shadow:0 1px 1px rgba(0,0,0,.05)}.panel-body{padding:15px}.panel-body:before,.panel-body:after{display:table;content:\\\" \\\"}.panel-body:after{clear:both}.panel-heading{padding:10px 15px;border-bottom:1px solid transparent;border-top-left-radius:3px;border-top-right-radius:3px}.panel-heading>.dropdown .dropdown-toggle{color:inherit}.panel-title{margin-top:0;margin-bottom:0;font-size:16px;color:inherit}.panel-title>a,.panel-title>small,.panel-title>.small,.panel-title>small>a,.panel-title>.small>a{color:inherit}.panel-footer{padding:10px 15px;background-color:#f5f5f5;border-top:1px solid #ddd;border-bottom-right-radius:3px;border-bottom-left-radius:3px}.panel>.list-group,.panel>.panel-collapse>.list-group{margin-bottom:0}.panel>.list-group .list-group-item,.panel>.panel-collapse>.list-group .list-group-item{border-width:1px 0;border-radius:0}.panel>.list-group:first-child .list-group-item:first-child,.panel>.panel-collapse>.list-group:first-child .list-group-item:first-child{border-top:0;border-top-left-radius:3px;border-top-right-radius:3px}.panel>.list-group:last-child .list-group-item:last-child,.panel>.panel-collapse>.list-group:last-child .list-group-item:last-child{border-bottom:0;border-bottom-right-radius:3px;border-bottom-left-radius:3px}.panel>.panel-heading+.panel-collapse>.list-group .list-group-item:first-child{border-top-left-radius:0;border-top-right-radius:0}.panel-heading+.list-group .list-group-item:first-child{border-top-width:0}.list-group+.panel-footer{border-top-width:0}.panel>.table,.panel>.table-responsive>.table,.panel>.panel-collapse>.table{margin-bottom:0}.panel>.table caption,.panel>.table-responsive>.table caption,.panel>.panel-collapse>.table caption{padding-right:15px;padding-left:15px}.panel>.table:first-child,.panel>.table-responsive:first-child>.table:first-child{border-top-left-radius:3px;border-top-right-radius:3px}.panel>.table:first-child>thead:first-child>tr:first-child,.panel>.table:first-child>tbody:first-child>tr:first-child,.panel>.table-responsive:first-child>.table:first-child>thead:first-child>tr:first-child,.panel>.table-responsive:first-child>.table:first-child>tbody:first-child>tr:first-child{border-top-left-radius:3px;border-top-right-radius:3px}.panel>.table:first-child>thead:first-child>tr:first-child td:first-child,.panel>.table:first-child>thead:first-child>tr:first-child th:first-child,.panel>.table:first-child>tbody:first-child>tr:first-child td:first-child,.panel>.table:first-child>tbody:first-child>tr:first-child th:first-child,.panel>.table-responsive:first-child>.table:first-child>thead:first-child>tr:first-child td:first-child,.panel>.table-responsive:first-child>.table:first-child>thead:first-child>tr:first-child th:first-child,.panel>.table-responsive:first-child>.table:first-child>tbody:first-child>tr:first-child td:first-child,.panel>.table-responsive:first-child>.table:first-child>tbody:first-child>tr:first-child th:first-child{border-top-left-radius:3px}.panel>.table:first-child>thead:first-child>tr:first-child td:last-child,.panel>.table:first-child>thead:first-child>tr:first-child th:last-child,.panel>.table:first-child>tbody:first-child>tr:first-child td:last-child,.panel>.table:first-child>tbody:first-child>tr:first-child th:last-child,.panel>.table-responsive:first-child>.table:first-child>thead:first-child>tr:first-child td:last-child,.panel>.table-responsive:first-child>.table:first-child>thead:first-child>tr:first-child th:last-child,.panel>.table-responsive:first-child>.table:first-child>tbody:first-child>tr:first-child td:last-child,.panel>.table-responsive:first-child>.table:first-child>tbody:first-child>tr:first-child th:last-child{border-top-right-radius:3px}.panel>.table:last-child,.panel>.table-responsive:last-child>.table:last-child{border-bottom-right-radius:3px;border-bottom-left-radius:3px}.panel>.table:last-child>tbody:last-child>tr:last-child,.panel>.table:last-child>tfoot:last-child>tr:last-child,.panel>.table-responsive:last-child>.table:last-child>tbody:last-child>tr:last-child,.panel>.table-responsive:last-child>.table:last-child>tfoot:last-child>tr:last-child{border-bottom-right-radius:3px;border-bottom-left-radius:3px}.panel>.table:last-child>tbody:last-child>tr:last-child td:first-child,.panel>.table:last-child>tbody:last-child>tr:last-child th:first-child,.panel>.table:last-child>tfoot:last-child>tr:last-child td:first-child,.panel>.table:last-child>tfoot:last-child>tr:last-child th:first-child,.panel>.table-responsive:last-child>.table:last-child>tbody:last-child>tr:last-child td:first-child,.panel>.table-responsive:last-child>.table:last-child>tbody:last-child>tr:last-child th:first-child,.panel>.table-responsive:last-child>.table:last-child>tfoot:last-child>tr:last-child td:first-child,.panel>.table-responsive:last-child>.table:last-child>tfoot:last-child>tr:last-child th:first-child{border-bottom-left-radius:3px}.panel>.table:last-child>tbody:last-child>tr:last-child td:last-child,.panel>.table:last-child>tbody:last-child>tr:last-child th:last-child,.panel>.table:last-child>tfoot:last-child>tr:last-child td:last-child,.panel>.table:last-child>tfoot:last-child>tr:last-child th:last-child,.panel>.table-responsive:last-child>.table:last-child>tbody:last-child>tr:last-child td:last-child,.panel>.table-responsive:last-child>.table:last-child>tbody:last-child>tr:last-child th:last-child,.panel>.table-responsive:last-child>.table:last-child>tfoot:last-child>tr:last-child td:last-child,.panel>.table-responsive:last-child>.table:last-child>tfoot:last-child>tr:last-child th:last-child{border-bottom-right-radius:3px}.panel>.panel-body+.table,.panel>.panel-body+.table-responsive,.panel>.table+.panel-body,.panel>.table-responsive+.panel-body{border-top:1px solid #ddd}.panel>.table>tbody:first-child>tr:first-child th,.panel>.table>tbody:first-child>tr:first-child td{border-top:0}.panel>.table-bordered,.panel>.table-responsive>.table-bordered{border:0}.panel>.table-bordered>thead>tr>th:first-child,.panel>.table-bordered>thead>tr>td:first-child,.panel>.table-bordered>tbody>tr>th:first-child,.panel>.table-bordered>tbody>tr>td:first-child,.panel>.table-bordered>tfoot>tr>th:first-child,.panel>.table-bordered>tfoot>tr>td:first-child,.panel>.table-responsive>.table-bordered>thead>tr>th:first-child,.panel>.table-responsive>.table-bordered>thead>tr>td:first-child,.panel>.table-responsive>.table-bordered>tbody>tr>th:first-child,.panel>.table-responsive>.table-bordered>tbody>tr>td:first-child,.panel>.table-responsive>.table-bordered>tfoot>tr>th:first-child,.panel>.table-responsive>.table-bordered>tfoot>tr>td:first-child{border-left:0}.panel>.table-bordered>thead>tr>th:last-child,.panel>.table-bordered>thead>tr>td:last-child,.panel>.table-bordered>tbody>tr>th:last-child,.panel>.table-bordered>tbody>tr>td:last-child,.panel>.table-bordered>tfoot>tr>th:last-child,.panel>.table-bordered>tfoot>tr>td:last-child,.panel>.table-responsive>.table-bordered>thead>tr>th:last-child,.panel>.table-responsive>.table-bordered>thead>tr>td:last-child,.panel>.table-responsive>.table-bordered>tbody>tr>th:last-child,.panel>.table-responsive>.table-bordered>tbody>tr>td:last-child,.panel>.table-responsive>.table-bordered>tfoot>tr>th:last-child,.panel>.table-responsive>.table-bordered>tfoot>tr>td:last-child{border-right:0}.panel>.table-bordered>thead>tr:first-child>td,.panel>.table-bordered>thead>tr:first-child>th,.panel>.table-bordered>tbody>tr:first-child>td,.panel>.table-bordered>tbody>tr:first-child>th,.panel>.table-responsive>.table-bordered>thead>tr:first-child>td,.panel>.table-responsive>.table-bordered>thead>tr:first-child>th,.panel>.table-responsive>.table-bordered>tbody>tr:first-child>td,.panel>.table-responsive>.table-bordered>tbody>tr:first-child>th{border-bottom:0}.panel>.table-bordered>tbody>tr:last-child>td,.panel>.table-bordered>tbody>tr:last-child>th,.panel>.table-bordered>tfoot>tr:last-child>td,.panel>.table-bordered>tfoot>tr:last-child>th,.panel>.table-responsive>.table-bordered>tbody>tr:last-child>td,.panel>.table-responsive>.table-bordered>tbody>tr:last-child>th,.panel>.table-responsive>.table-bordered>tfoot>tr:last-child>td,.panel>.table-responsive>.table-bordered>tfoot>tr:last-child>th{border-bottom:0}.panel>.table-responsive{margin-bottom:0;border:0}.panel-group{margin-bottom:20px}.panel-group .panel{margin-bottom:0;border-radius:4px}.panel-group .panel+.panel{margin-top:5px}.panel-group .panel-heading{border-bottom:0}.panel-group .panel-heading+.panel-collapse>.panel-body,.panel-group .panel-heading+.panel-collapse>.list-group{border-top:1px solid #ddd}.panel-group .panel-footer{border-top:0}.panel-group .panel-footer+.panel-collapse .panel-body{border-bottom:1px solid #ddd}.panel-default{border-color:#ddd}.panel-default>.panel-heading{color:#333;background-color:#f5f5f5;border-color:#ddd}.panel-default>.panel-heading+.panel-collapse>.panel-body{border-top-color:#ddd}.panel-default>.panel-heading .badge{color:#f5f5f5;background-color:#333}.panel-default>.panel-footer+.panel-collapse>.panel-body{border-bottom-color:#ddd}.panel-primary{border-color:#337ab7}.panel-primary>.panel-heading{color:#fff;background-color:#337ab7;border-color:#337ab7}.panel-primary>.panel-heading+.panel-collapse>.panel-body{border-top-color:#337ab7}.panel-primary>.panel-heading .badge{color:#337ab7;background-color:#fff}.panel-primary>.panel-footer+.panel-collapse>.panel-body{border-bottom-color:#337ab7}.panel-success{border-color:#d6e9c6}.panel-success>.panel-heading{color:#3c763d;background-color:#dff0d8;border-color:#d6e9c6}.panel-success>.panel-heading+.panel-collapse>.panel-body{border-top-color:#d6e9c6}.panel-success>.panel-heading .badge{color:#dff0d8;background-color:#3c763d}.panel-success>.panel-footer+.panel-collapse>.panel-body{border-bottom-color:#d6e9c6}.panel-info{border-color:#bce8f1}.panel-info>.panel-heading{color:#31708f;background-color:#d9edf7;border-color:#bce8f1}.panel-info>.panel-heading+.panel-collapse>.panel-body{border-top-color:#bce8f1}.panel-info>.panel-heading .badge{color:#d9edf7;background-color:#31708f}.panel-info>.panel-footer+.panel-collapse>.panel-body{border-bottom-color:#bce8f1}.panel-warning{border-color:#faebcc}.panel-warning>.panel-heading{color:#8a6d3b;background-color:#fcf8e3;border-color:#faebcc}.panel-warning>.panel-heading+.panel-collapse>.panel-body{border-top-color:#faebcc}.panel-warning>.panel-heading .badge{color:#fcf8e3;background-color:#8a6d3b}.panel-warning>.panel-footer+.panel-collapse>.panel-body{border-bottom-color:#faebcc}.panel-danger{border-color:#ebccd1}.panel-danger>.panel-heading{color:#a94442;background-color:#f2dede;border-color:#ebccd1}.panel-danger>.panel-heading+.panel-collapse>.panel-body{border-top-color:#ebccd1}.panel-danger>.panel-heading .badge{color:#f2dede;background-color:#a94442}.panel-danger>.panel-footer+.panel-collapse>.panel-body{border-bottom-color:#ebccd1}.embed-responsive{position:relative;display:block;height:0;padding:0;overflow:hidden}.embed-responsive .embed-responsive-item,.embed-responsive iframe,.embed-responsive embed,.embed-responsive object,.embed-responsive video{position:absolute;top:0;bottom:0;left:0;width:100%;height:100%;border:0}.embed-responsive-16by9{padding-bottom:56.25%}.embed-responsive-4by3{padding-bottom:75%}.well{min-height:20px;padding:19px;margin-bottom:20px;background-color:#f5f5f5;border:1px solid #e3e3e3;border-radius:4px;-webkit-box-shadow:inset 0 1px 1px rgba(0,0,0,.05);box-shadow:inset 0 1px 1px rgba(0,0,0,.05)}.well blockquote{border-color:#ddd;border-color:rgba(0,0,0,.15)}.well-lg{padding:24px;border-radius:6px}.well-sm{padding:9px;border-radius:3px}.close{float:right;font-size:21px;font-weight:bold;line-height:1;color:#000;text-shadow:0 1px 0 #fff;filter:alpha(opacity=20);opacity:.2}.close:hover,.close:focus{color:#000;text-decoration:none;cursor:pointer;filter:alpha(opacity=50);opacity:.5}button.close{padding:0;cursor:pointer;background:transparent;border:0;-webkit-appearance:none;appearance:none}.modal-open{overflow:hidden}.modal{position:fixed;top:0;right:0;bottom:0;left:0;z-index:1050;display:none;overflow:hidden;-webkit-overflow-scrolling:touch;outline:0}.modal.fade .modal-dialog{-webkit-transform:translate(0, -25%);-ms-transform:translate(0, -25%);-o-transform:translate(0, -25%);transform:translate(0, -25%);-webkit-transition:-webkit-transform .3s ease-out;-moz-transition:-moz-transform .3s ease-out;-o-transition:-o-transform .3s ease-out;transition:transform .3s ease-out}.modal.in .modal-dialog{-webkit-transform:translate(0, 0);-ms-transform:translate(0, 0);-o-transform:translate(0, 0);transform:translate(0, 0)}.modal-open .modal{overflow-x:hidden;overflow-y:auto}.modal-dialog{position:relative;width:auto;margin:10px}.modal-content{position:relative;background-color:#fff;background-clip:padding-box;border:1px solid #999;border:1px solid rgba(0,0,0,.2);border-radius:6px;-webkit-box-shadow:0 3px 9px rgba(0,0,0,.5);box-shadow:0 3px 9px rgba(0,0,0,.5);outline:0}.modal-backdrop{position:fixed;top:0;right:0;bottom:0;left:0;z-index:1040;background-color:#000}.modal-backdrop.fade{filter:alpha(opacity=0);opacity:0}.modal-backdrop.in{filter:alpha(opacity=50);opacity:.5}.modal-header{padding:15px;border-bottom:1px solid #e5e5e5}.modal-header:before,.modal-header:after{display:table;content:\\\" \\\"}.modal-header:after{clear:both}.modal-header .close{margin-top:-2px}.modal-title{margin:0;line-height:1.428571429}.modal-body{position:relative;padding:15px}.modal-footer{padding:15px;text-align:right;border-top:1px solid #e5e5e5}.modal-footer:before,.modal-footer:after{display:table;content:\\\" \\\"}.modal-footer:after{clear:both}.modal-footer .btn+.btn{margin-bottom:0;margin-left:5px}.modal-footer .btn-group .btn+.btn{margin-left:-1px}.modal-footer .btn-block+.btn-block{margin-left:0}.modal-scrollbar-measure{position:absolute;top:-9999px;width:50px;height:50px;overflow:scroll}@media(min-width: 768px){.modal-dialog{width:600px;margin:30px auto}.modal-content{-webkit-box-shadow:0 5px 15px rgba(0,0,0,.5);box-shadow:0 5px 15px rgba(0,0,0,.5)}.modal-sm{width:300px}}@media(min-width: 992px){.modal-lg{width:900px}}.tooltip{position:absolute;z-index:1070;display:block;font-family:\\\"Helvetica Neue\\\",Helvetica,Arial,sans-serif;font-style:normal;font-weight:400;line-height:1.428571429;line-break:auto;text-align:left;text-align:start;text-decoration:none;text-shadow:none;text-transform:none;letter-spacing:normal;word-break:normal;word-spacing:normal;word-wrap:normal;white-space:normal;font-size:12px;filter:alpha(opacity=0);opacity:0}.tooltip.in{filter:alpha(opacity=90);opacity:.9}.tooltip.top{padding:5px 0;margin-top:-3px}.tooltip.right{padding:0 5px;margin-left:3px}.tooltip.bottom{padding:5px 0;margin-top:3px}.tooltip.left{padding:0 5px;margin-left:-3px}.tooltip.top .tooltip-arrow{bottom:0;left:50%;margin-left:-5px;border-width:5px 5px 0;border-top-color:#000}.tooltip.top-left .tooltip-arrow{right:5px;bottom:0;margin-bottom:-5px;border-width:5px 5px 0;border-top-color:#000}.tooltip.top-right .tooltip-arrow{bottom:0;left:5px;margin-bottom:-5px;border-width:5px 5px 0;border-top-color:#000}.tooltip.right .tooltip-arrow{top:50%;left:0;margin-top:-5px;border-width:5px 5px 5px 0;border-right-color:#000}.tooltip.left .tooltip-arrow{top:50%;right:0;margin-top:-5px;border-width:5px 0 5px 5px;border-left-color:#000}.tooltip.bottom .tooltip-arrow{top:0;left:50%;margin-left:-5px;border-width:0 5px 5px;border-bottom-color:#000}.tooltip.bottom-left .tooltip-arrow{top:0;right:5px;margin-top:-5px;border-width:0 5px 5px;border-bottom-color:#000}.tooltip.bottom-right .tooltip-arrow{top:0;left:5px;margin-top:-5px;border-width:0 5px 5px;border-bottom-color:#000}.tooltip-inner{max-width:200px;padding:3px 8px;color:#fff;text-align:center;background-color:#000;border-radius:4px}.tooltip-arrow{position:absolute;width:0;height:0;border-color:transparent;border-style:solid}.popover{position:absolute;top:0;left:0;z-index:1060;display:none;max-width:276px;padding:1px;font-family:\\\"Helvetica Neue\\\",Helvetica,Arial,sans-serif;font-style:normal;font-weight:400;line-height:1.428571429;line-break:auto;text-align:left;text-align:start;text-decoration:none;text-shadow:none;text-transform:none;letter-spacing:normal;word-break:normal;word-spacing:normal;word-wrap:normal;white-space:normal;font-size:14px;background-color:#fff;background-clip:padding-box;border:1px solid #ccc;border:1px solid rgba(0,0,0,.2);border-radius:6px;-webkit-box-shadow:0 5px 10px rgba(0,0,0,.2);box-shadow:0 5px 10px rgba(0,0,0,.2)}.popover.top{margin-top:-10px}.popover.right{margin-left:10px}.popover.bottom{margin-top:10px}.popover.left{margin-left:-10px}.popover>.arrow{border-width:11px}.popover>.arrow,.popover>.arrow:after{position:absolute;display:block;width:0;height:0;border-color:transparent;border-style:solid}.popover>.arrow:after{content:\\\"\\\";border-width:10px}.popover.top>.arrow{bottom:-11px;left:50%;margin-left:-11px;border-top-color:#999;border-top-color:rgba(0,0,0,.25);border-bottom-width:0}.popover.top>.arrow:after{bottom:1px;margin-left:-10px;content:\\\" \\\";border-top-color:#fff;border-bottom-width:0}.popover.right>.arrow{top:50%;left:-11px;margin-top:-11px;border-right-color:#999;border-right-color:rgba(0,0,0,.25);border-left-width:0}.popover.right>.arrow:after{bottom:-10px;left:1px;content:\\\" \\\";border-right-color:#fff;border-left-width:0}.popover.bottom>.arrow{top:-11px;left:50%;margin-left:-11px;border-top-width:0;border-bottom-color:#999;border-bottom-color:rgba(0,0,0,.25)}.popover.bottom>.arrow:after{top:1px;margin-left:-10px;content:\\\" \\\";border-top-width:0;border-bottom-color:#fff}.popover.left>.arrow{top:50%;right:-11px;margin-top:-11px;border-right-width:0;border-left-color:#999;border-left-color:rgba(0,0,0,.25)}.popover.left>.arrow:after{right:1px;bottom:-10px;content:\\\" \\\";border-right-width:0;border-left-color:#fff}.popover-title{padding:8px 14px;margin:0;font-size:14px;background-color:#f7f7f7;border-bottom:1px solid #ebebeb;border-radius:5px 5px 0 0}.popover-content{padding:9px 14px}.carousel{position:relative}.carousel-inner{position:relative;width:100%;overflow:hidden}.carousel-inner>.item{position:relative;display:none;-webkit-transition:.6s ease-in-out left;-o-transition:.6s ease-in-out left;transition:.6s ease-in-out left}.carousel-inner>.item>img,.carousel-inner>.item>a>img{display:block;max-width:100%;height:auto;line-height:1}@media all and (transform-3d),(-webkit-transform-3d){.carousel-inner>.item{-webkit-transition:-webkit-transform .6s ease-in-out;-moz-transition:-moz-transform .6s ease-in-out;-o-transition:-o-transform .6s ease-in-out;transition:transform .6s ease-in-out;-webkit-backface-visibility:hidden;-moz-backface-visibility:hidden;backface-visibility:hidden;-webkit-perspective:1000px;-moz-perspective:1000px;perspective:1000px}.carousel-inner>.item.next,.carousel-inner>.item.active.right{-webkit-transform:translate3d(100%, 0, 0);transform:translate3d(100%, 0, 0);left:0}.carousel-inner>.item.prev,.carousel-inner>.item.active.left{-webkit-transform:translate3d(-100%, 0, 0);transform:translate3d(-100%, 0, 0);left:0}.carousel-inner>.item.next.left,.carousel-inner>.item.prev.right,.carousel-inner>.item.active{-webkit-transform:translate3d(0, 0, 0);transform:translate3d(0, 0, 0);left:0}}.carousel-inner>.active,.carousel-inner>.next,.carousel-inner>.prev{display:block}.carousel-inner>.active{left:0}.carousel-inner>.next,.carousel-inner>.prev{position:absolute;top:0;width:100%}.carousel-inner>.next{left:100%}.carousel-inner>.prev{left:-100%}.carousel-inner>.next.left,.carousel-inner>.prev.right{left:0}.carousel-inner>.active.left{left:-100%}.carousel-inner>.active.right{left:100%}.carousel-control{position:absolute;top:0;bottom:0;left:0;width:15%;font-size:20px;color:#fff;text-align:center;text-shadow:0 1px 2px rgba(0,0,0,.6);background-color:rgba(0,0,0,0);filter:alpha(opacity=50);opacity:.5}.carousel-control.left{background-image:-webkit-linear-gradient(left, rgba(0, 0, 0, 0.5) 0%, rgba(0, 0, 0, 0.0001) 100%);background-image:-o-linear-gradient(left, rgba(0, 0, 0, 0.5) 0%, rgba(0, 0, 0, 0.0001) 100%);background-image:linear-gradient(to right, rgba(0, 0, 0, 0.5) 0%, rgba(0, 0, 0, 0.0001) 100%);filter:progid:DXImageTransform.Microsoft.gradient(startColorstr=\\\"#80000000\\\", endColorstr=\\\"#00000000\\\", GradientType=1);background-repeat:repeat-x}.carousel-control.right{right:0;left:auto;background-image:-webkit-linear-gradient(left, rgba(0, 0, 0, 0.0001) 0%, rgba(0, 0, 0, 0.5) 100%);background-image:-o-linear-gradient(left, rgba(0, 0, 0, 0.0001) 0%, rgba(0, 0, 0, 0.5) 100%);background-image:linear-gradient(to right, rgba(0, 0, 0, 0.0001) 0%, rgba(0, 0, 0, 0.5) 100%);filter:progid:DXImageTransform.Microsoft.gradient(startColorstr=\\\"#00000000\\\", endColorstr=\\\"#80000000\\\", GradientType=1);background-repeat:repeat-x}.carousel-control:hover,.carousel-control:focus{color:#fff;text-decoration:none;outline:0;filter:alpha(opacity=90);opacity:.9}.carousel-control .icon-prev,.carousel-control .icon-next,.carousel-control .glyphicon-chevron-left,.carousel-control .glyphicon-chevron-right{position:absolute;top:50%;z-index:5;display:inline-block;margin-top:-10px}.carousel-control .icon-prev,.carousel-control .glyphicon-chevron-left{left:50%;margin-left:-10px}.carousel-control .icon-next,.carousel-control .glyphicon-chevron-right{right:50%;margin-right:-10px}.carousel-control .icon-prev,.carousel-control .icon-next{width:20px;height:20px;font-family:serif;line-height:1}.carousel-control .icon-prev:before{content:\\\"‹\\\"}.carousel-control .icon-next:before{content:\\\"›\\\"}.carousel-indicators{position:absolute;bottom:10px;left:50%;z-index:15;width:60%;padding-left:0;margin-left:-30%;text-align:center;list-style:none}.carousel-indicators li{display:inline-block;width:10px;height:10px;margin:1px;text-indent:-999px;cursor:pointer;background-color:#000 \\\\9 ;background-color:rgba(0,0,0,0);border:1px solid #fff;border-radius:10px}.carousel-indicators .active{width:12px;height:12px;margin:0;background-color:#fff}.carousel-caption{position:absolute;right:15%;bottom:20px;left:15%;z-index:10;padding-top:20px;padding-bottom:20px;color:#fff;text-align:center;text-shadow:0 1px 2px rgba(0,0,0,.6)}.carousel-caption .btn{text-shadow:none}@media screen and (min-width: 768px){.carousel-control .glyphicon-chevron-left,.carousel-control .glyphicon-chevron-right,.carousel-control .icon-prev,.carousel-control .icon-next{width:30px;height:30px;margin-top:-10px;font-size:30px}.carousel-control .glyphicon-chevron-left,.carousel-control .icon-prev{margin-left:-10px}.carousel-control .glyphicon-chevron-right,.carousel-control .icon-next{margin-right:-10px}.carousel-caption{right:20%;left:20%;padding-bottom:30px}.carousel-indicators{bottom:20px}}.clearfix:before,.clearfix:after{display:table;content:\\\" \\\"}.clearfix:after{clear:both}.center-block{display:block;margin-right:auto;margin-left:auto}.pull-right{float:right !important}.pull-left{float:left !important}.hide{display:none !important}.show{display:block !important}.invisible{visibility:hidden}.text-hide{font:0/0 a;color:transparent;text-shadow:none;background-color:transparent;border:0}.hidden{display:none !important}.affix{position:fixed}@-ms-viewport{width:device-width}.visible-xs{display:none !important}.visible-sm{display:none !important}.visible-md{display:none !important}.visible-lg{display:none !important}.visible-xs-block,.visible-xs-inline,.visible-xs-inline-block,.visible-sm-block,.visible-sm-inline,.visible-sm-inline-block,.visible-md-block,.visible-md-inline,.visible-md-inline-block,.visible-lg-block,.visible-lg-inline,.visible-lg-inline-block{display:none !important}@media(max-width: 767px){.visible-xs{display:block !important}table.visible-xs{display:table !important}tr.visible-xs{display:table-row !important}th.visible-xs,td.visible-xs{display:table-cell !important}}@media(max-width: 767px){.visible-xs-block{display:block !important}}@media(max-width: 767px){.visible-xs-inline{display:inline !important}}@media(max-width: 767px){.visible-xs-inline-block{display:inline-block !important}}@media(min-width: 768px)and (max-width: 991px){.visible-sm{display:block !important}table.visible-sm{display:table !important}tr.visible-sm{display:table-row !important}th.visible-sm,td.visible-sm{display:table-cell !important}}@media(min-width: 768px)and (max-width: 991px){.visible-sm-block{display:block !important}}@media(min-width: 768px)and (max-width: 991px){.visible-sm-inline{display:inline !important}}@media(min-width: 768px)and (max-width: 991px){.visible-sm-inline-block{display:inline-block !important}}@media(min-width: 992px)and (max-width: 1199px){.visible-md{display:block !important}table.visible-md{display:table !important}tr.visible-md{display:table-row !important}th.visible-md,td.visible-md{display:table-cell !important}}@media(min-width: 992px)and (max-width: 1199px){.visible-md-block{display:block !important}}@media(min-width: 992px)and (max-width: 1199px){.visible-md-inline{display:inline !important}}@media(min-width: 992px)and (max-width: 1199px){.visible-md-inline-block{display:inline-block !important}}@media(min-width: 1200px){.visible-lg{display:block !important}table.visible-lg{display:table !important}tr.visible-lg{display:table-row !important}th.visible-lg,td.visible-lg{display:table-cell !important}}@media(min-width: 1200px){.visible-lg-block{display:block !important}}@media(min-width: 1200px){.visible-lg-inline{display:inline !important}}@media(min-width: 1200px){.visible-lg-inline-block{display:inline-block !important}}@media(max-width: 767px){.hidden-xs{display:none !important}}@media(min-width: 768px)and (max-width: 991px){.hidden-sm{display:none !important}}@media(min-width: 992px)and (max-width: 1199px){.hidden-md{display:none !important}}@media(min-width: 1200px){.hidden-lg{display:none !important}}.visible-print{display:none !important}@media print{.visible-print{display:block !important}table.visible-print{display:table !important}tr.visible-print{display:table-row !important}th.visible-print,td.visible-print{display:table-cell !important}}.visible-print-block{display:none !important}@media print{.visible-print-block{display:block !important}}.visible-print-inline{display:none !important}@media print{.visible-print-inline{display:inline !important}}.visible-print-inline-block{display:none !important}@media print{.visible-print-inline-block{display:inline-block !important}}@media print{.hidden-print{display:none !important}}.noty_layout_mixin,#noty_layout__centerRight,#noty_layout__centerLeft,#noty_layout__center,#noty_layout__bottomRight,#noty_layout__bottomCenter,#noty_layout__bottomLeft,#noty_layout__bottom,#noty_layout__topRight,#noty_layout__topCenter,#noty_layout__topLeft,#noty_layout__top{position:fixed;margin:0;padding:0;z-index:9999999;transform:translateZ(0) scale(1, 1);backface-visibility:hidden;-webkit-font-smoothing:subpixel-antialiased;filter:blur(0);-webkit-filter:blur(0);max-width:90%}#noty_layout__top{top:0;left:5%;width:90%}#noty_layout__topLeft{top:20px;left:20px;width:325px}#noty_layout__topCenter{top:5%;left:50%;width:325px;transform:translate(calc(-50% - .5px)) translateZ(0) scale(1, 1)}#noty_layout__topRight{top:20px;right:20px;width:325px}#noty_layout__bottom{bottom:0;left:5%;width:90%}#noty_layout__bottomLeft{bottom:20px;left:20px;width:325px}#noty_layout__bottomCenter{bottom:5%;left:50%;width:325px;transform:translate(calc(-50% - .5px)) translateZ(0) scale(1, 1)}#noty_layout__bottomRight{bottom:20px;right:20px;width:325px}#noty_layout__center{top:50%;left:50%;width:325px;transform:translate(calc(-50% - .5px), calc(-50% - .5px)) translateZ(0) scale(1, 1)}#noty_layout__centerLeft{top:50%;left:20px;width:325px;transform:translate(0, calc(-50% - .5px)) translateZ(0) scale(1, 1)}#noty_layout__centerRight{top:50%;right:20px;width:325px;transform:translate(0, calc(-50% - .5px)) translateZ(0) scale(1, 1)}.noty_progressbar{display:none}.noty_has_timeout.noty_has_progressbar .noty_progressbar{display:block;position:absolute;left:0;bottom:0;height:3px;width:100%;background-color:#646464;opacity:.2;filter:alpha(opacity=10)}.noty_bar{-webkit-backface-visibility:hidden;-webkit-transform:translate(0, 0) translateZ(0) scale(1, 1);transform:translate(0, 0) scale(1, 1);-webkit-font-smoothing:subpixel-antialiased;overflow:hidden}.noty_effects_open{opacity:0;transform:translate(50%);animation:noty_anim_in .5s cubic-bezier(0.68, -0.55, 0.265, 1.55);animation-fill-mode:forwards}.noty_effects_close{animation:noty_anim_out .5s cubic-bezier(0.68, -0.55, 0.265, 1.55);animation-fill-mode:forwards}.noty_fix_effects_height{animation:noty_anim_height 75ms ease-out}.noty_close_with_click{cursor:pointer}.noty_close_button{position:absolute;top:2px;right:2px;font-weight:bold;width:20px;height:20px;text-align:center;line-height:20px;background-color:rgba(0,0,0,.05);border-radius:2px;cursor:pointer;transition:all .2s ease-out}.noty_close_button:hover{background-color:rgba(0,0,0,.1)}.noty_modal{position:fixed;width:100%;height:100%;background-color:#000;z-index:10000;opacity:.3;left:0;top:0}.noty_modal.noty_modal_open{opacity:0;animation:noty_modal_in .3s ease-out}.noty_modal.noty_modal_close{animation:noty_modal_out .3s ease-out;animation-fill-mode:forwards}@keyframes noty_modal_in{100%{opacity:.3}}@keyframes noty_modal_out{100%{opacity:0}}@keyframes noty_modal_out{100%{opacity:0}}@keyframes noty_anim_in{100%{transform:translate(0);opacity:1}}@keyframes noty_anim_out{100%{transform:translate(50%);opacity:0}}@keyframes noty_anim_height{100%{height:0}}.noty_theme__mint.noty_bar{margin:4px 0;overflow:hidden;border-radius:2px;position:relative}.noty_theme__mint.noty_bar .noty_body{padding:10px;font-size:14px}.noty_theme__mint.noty_bar .noty_buttons{padding:10px}.noty_theme__mint.noty_type__alert,.noty_theme__mint.noty_type__notification{background-color:#fff;border-bottom:1px solid #d1d1d1;color:#2f2f2f}.noty_theme__mint.noty_type__warning{background-color:#ffae42;border-bottom:1px solid #e89f3c;color:#fff}.noty_theme__mint.noty_type__error{background-color:#de636f;border-bottom:1px solid #ca5a65;color:#fff}.noty_theme__mint.noty_type__info,.noty_theme__mint.noty_type__information{background-color:#7f7eff;border-bottom:1px solid #7473e8;color:#fff}.noty_theme__mint.noty_type__success{background-color:#afc765;border-bottom:1px solid #a0b55c;color:#fff}abbr[title],abbr[data-original-title]{cursor:help;border-bottom:1px dotted #fff}.dropdown-menu>li>a:hover,.dropdown-menu>li>a:focus{background-image:none !important}.dropdown-menu>li>a:hover,.dropdown-menu>li>a:focus{background-color:#006dcc;background-image:linear-gradient(to bottom, #0088cc, #0044cc);background-repeat:repeat-x;color:#fff}.cmdcentercommanddiv{margin-left:310px;width:-webkit-calc(100% - 320px);width:-moz-calc(100% - 320px);width:calc(100% - 320px);height:calc(100% - 100px);min-width:300px;min-height:300px}.cmdcentercommandouterdiv{height:-webkit-calc(100% - 100px);height:-moz-calc(100% - 100px);height:calc(100% - 100px)}.cmdcenterbuttondiv{float:right;margin-top:15px}.cmdcenterAssetDiv{float:left;width:-webkit-calc((100% - 420px)/2);width:-moz-calc((100% - 420px)/2);width:calc((100% - 420px)/2);min-width:300px;height:100%}.cmdcenterAssetOuterDiv{height:-webkit-calc(100% - 100px);height:-moz-calc(100% - 100px);height:calc(100% - 100px)}.cmdcenterassetBtnDiv{float:left;width:100px;height:100%;margin-top:-webkit-calc((100% - 100px)/2);margin-top:-moz-calc((100% - 100px)/2);margin-top:calc((100% - 100px)/2)}.leftMapDiv{width:350px;float:left;background:#f5f5f5;height:-webkit-calc(100% - 35px);height:-moz-calc(100% - 35px);height:calc(100% - 35px)}.rightMapDiv{margin-left:350px;background:#f5f5f5;height:-webkit-calc(100% - 35px);height:-moz-calc(100% - 35px);height:calc(100% - 35px)}.rightMapDivMap{background:#b3d9ff;width:100%;min-width:350px;min-height:400px;height:-webkit-calc(100% - 0px);height:-moz-calc(100% - 0px);height:calc(100% - 0px)}.cmdcentermapgrid{width:350px;height:-webkit-calc(100% - 345px);height:-moz-calc(100% - 345px);height:calc(100% - 345px)}.trackMapControls{width:350px;float:left;background:#f5f5f5;height:-webkit-calc(100vh - 100px);height:-moz-calc(100vh - 100px);height:calc(100vh - 100px)}.trackMapContainer{margin-left:350px;height:-webkit-calc(100vh - 100px);height:-moz-calc(100vh - 100px);height:calc(100vh - 100px)}.trackMap{background:#b3d9ff;width:100%;height:100%;min-width:400px;min-height:400px}.leaflet-container img.leaflet-image-layer{max-width:none !important}.logoImage{height:40px;background:url(\" + ___CSS_LOADER_URL_REPLACEMENT_6___ + \")}.red{background-color:red !important;color:#fff !important;font-weight:bolder}.green{background-color:green !important;color:#fff !important;font-weight:bolder}html,body{height:100%}body{padding-top:55px}@media screen and (max-width: 768px){body{padding-top:55px}}.loadingouter{position:relative;width:100%;height:100%;background:#fff}.loadingouter .loadingcontainer{background-color:#fff;color:#fff;padding:15px 25px;width:100%;max-width:300px;position:absolute;transform:translate(-50%, -50%);transform:translate(-335px, -100px);left:50%;top:50%}\", \"\"]);\n// Exports\nmodule.exports = exports;\n","export default __webpack_public_path__ + \"3b768081270ab5e6f91ee6c70fbf5766.png\";","export default \"
      \\n

      Batch Move

      \\n
      \\n
      \\n
      \\n
      \\n \\n \\n
      \\n
      \\n \\n \\n
      \\n
      \\n
      \\n
      \\n \\n \\n
      \";","export default \"
      \\n \\n
      \\n
      \\n \\n \\n
      \";","export default \"
      \\n

      Add/Edit Client App

      \\n
      \\n
      \\n
      \\n
      \\n \\n \\n
      \\n
      \\n \\n \\n
      \\n
      \\n \\n
      \\n
      \\n \\n \\n \\n
      \\n
      \\n
      \\n
      \\n \\n \\n
      \\n\";","export default \"
      \\n

      Add/Edit MQTT Client

      \\n
      \\n
      \\n
      \\n
      \\n \\n \\n
      \\n
      \\n \\n \\n \\n
      \\n
      \\n \\n
      \\n
      \\n \\n
      \\n
      \\n \\n
      \\n
      \\n \\n
      \\n
      \\n \\n
      \\n
      \\n \\n
      \\n
      \\n
      \\n
      \\n \\n \\n
      \\n\";","export default \"
      \\n

      Add/Edit Print Client

      \\n
      \\n
      \\n
      \\n
      \\n \\n \\n
      \\n
      \\n \\n \\n
      \\n
      \\n \\n \\n \\n
      \\n
      \\n Available Companies:
      \\n
      \\n \\n
      \\n
      \\n Assigned Companies:
      \\n
      \\n \\n
      \\n
      \\n
      \\n
      \\n \\n \\n
      \\n\";","export default \"
      \\n

      Add/Edit Company

      \\n
      \\n
      \\n
      \\n
      \\n \\n \\n
      \\n
      \\n
      \\n
      \\n \\n \\n
      \\n\";","export default \"
      \\n
      \\n

      Pick Child

      \\n

      Available children can be found below.

      \\n
      \\n
      \\n
      \\n
      \\n \\n \\n \\n \\n
      \\n
       \\n
      \\n
      \\n  
      \\n
      \\n
      \\n \\n \\n
      \\n
      \\n\\n\";","export default \"
      \\n

      Add/Edit Maintenance History

      \\n
      \\n
      \\n
      \\n
      \\n \\n \\n
      \\n
      \\n \\n \\n
      \\n
      \\n \\n \\n
      \\n
      \\n \\n
      \\n
      \\n
      \\n
      \\n \\n \\n
      \\n\";","export default \"
      \\n

      Set Password

      \\n
      \\n
      \\n
      \\n
      \\n \\n \\n
      \\n
      \\n \\n \\n
      \\n
      \\n
      \\n
      \\n \\n \\n
      \";","var map = {\n\t\"./af\": 113,\n\t\"./af.js\": 113,\n\t\"./ar\": 114,\n\t\"./ar-dz\": 115,\n\t\"./ar-dz.js\": 115,\n\t\"./ar-kw\": 116,\n\t\"./ar-kw.js\": 116,\n\t\"./ar-ly\": 117,\n\t\"./ar-ly.js\": 117,\n\t\"./ar-ma\": 118,\n\t\"./ar-ma.js\": 118,\n\t\"./ar-sa\": 119,\n\t\"./ar-sa.js\": 119,\n\t\"./ar-tn\": 120,\n\t\"./ar-tn.js\": 120,\n\t\"./ar.js\": 114,\n\t\"./az\": 121,\n\t\"./az.js\": 121,\n\t\"./be\": 122,\n\t\"./be.js\": 122,\n\t\"./bg\": 123,\n\t\"./bg.js\": 123,\n\t\"./bm\": 124,\n\t\"./bm.js\": 124,\n\t\"./bn\": 125,\n\t\"./bn.js\": 125,\n\t\"./bo\": 126,\n\t\"./bo.js\": 126,\n\t\"./br\": 127,\n\t\"./br.js\": 127,\n\t\"./bs\": 128,\n\t\"./bs.js\": 128,\n\t\"./ca\": 129,\n\t\"./ca.js\": 129,\n\t\"./cs\": 130,\n\t\"./cs.js\": 130,\n\t\"./cv\": 131,\n\t\"./cv.js\": 131,\n\t\"./cy\": 132,\n\t\"./cy.js\": 132,\n\t\"./da\": 133,\n\t\"./da.js\": 133,\n\t\"./de\": 134,\n\t\"./de-at\": 135,\n\t\"./de-at.js\": 135,\n\t\"./de-ch\": 136,\n\t\"./de-ch.js\": 136,\n\t\"./de.js\": 134,\n\t\"./dv\": 137,\n\t\"./dv.js\": 137,\n\t\"./el\": 138,\n\t\"./el.js\": 138,\n\t\"./en-au\": 139,\n\t\"./en-au.js\": 139,\n\t\"./en-ca\": 140,\n\t\"./en-ca.js\": 140,\n\t\"./en-gb\": 141,\n\t\"./en-gb.js\": 141,\n\t\"./en-ie\": 142,\n\t\"./en-ie.js\": 142,\n\t\"./en-il\": 143,\n\t\"./en-il.js\": 143,\n\t\"./en-in\": 144,\n\t\"./en-in.js\": 144,\n\t\"./en-nz\": 145,\n\t\"./en-nz.js\": 145,\n\t\"./en-sg\": 146,\n\t\"./en-sg.js\": 146,\n\t\"./eo\": 147,\n\t\"./eo.js\": 147,\n\t\"./es\": 148,\n\t\"./es-do\": 149,\n\t\"./es-do.js\": 149,\n\t\"./es-us\": 150,\n\t\"./es-us.js\": 150,\n\t\"./es.js\": 148,\n\t\"./et\": 151,\n\t\"./et.js\": 151,\n\t\"./eu\": 152,\n\t\"./eu.js\": 152,\n\t\"./fa\": 153,\n\t\"./fa.js\": 153,\n\t\"./fi\": 154,\n\t\"./fi.js\": 154,\n\t\"./fil\": 155,\n\t\"./fil.js\": 155,\n\t\"./fo\": 156,\n\t\"./fo.js\": 156,\n\t\"./fr\": 157,\n\t\"./fr-ca\": 158,\n\t\"./fr-ca.js\": 158,\n\t\"./fr-ch\": 159,\n\t\"./fr-ch.js\": 159,\n\t\"./fr.js\": 157,\n\t\"./fy\": 160,\n\t\"./fy.js\": 160,\n\t\"./ga\": 161,\n\t\"./ga.js\": 161,\n\t\"./gd\": 162,\n\t\"./gd.js\": 162,\n\t\"./gl\": 163,\n\t\"./gl.js\": 163,\n\t\"./gom-deva\": 164,\n\t\"./gom-deva.js\": 164,\n\t\"./gom-latn\": 165,\n\t\"./gom-latn.js\": 165,\n\t\"./gu\": 166,\n\t\"./gu.js\": 166,\n\t\"./he\": 167,\n\t\"./he.js\": 167,\n\t\"./hi\": 168,\n\t\"./hi.js\": 168,\n\t\"./hr\": 169,\n\t\"./hr.js\": 169,\n\t\"./hu\": 170,\n\t\"./hu.js\": 170,\n\t\"./hy-am\": 171,\n\t\"./hy-am.js\": 171,\n\t\"./id\": 172,\n\t\"./id.js\": 172,\n\t\"./is\": 173,\n\t\"./is.js\": 173,\n\t\"./it\": 174,\n\t\"./it-ch\": 175,\n\t\"./it-ch.js\": 175,\n\t\"./it.js\": 174,\n\t\"./ja\": 176,\n\t\"./ja.js\": 176,\n\t\"./jv\": 177,\n\t\"./jv.js\": 177,\n\t\"./ka\": 178,\n\t\"./ka.js\": 178,\n\t\"./kk\": 179,\n\t\"./kk.js\": 179,\n\t\"./km\": 180,\n\t\"./km.js\": 180,\n\t\"./kn\": 181,\n\t\"./kn.js\": 181,\n\t\"./ko\": 182,\n\t\"./ko.js\": 182,\n\t\"./ku\": 183,\n\t\"./ku.js\": 183,\n\t\"./ky\": 184,\n\t\"./ky.js\": 184,\n\t\"./lb\": 185,\n\t\"./lb.js\": 185,\n\t\"./lo\": 186,\n\t\"./lo.js\": 186,\n\t\"./lt\": 187,\n\t\"./lt.js\": 187,\n\t\"./lv\": 188,\n\t\"./lv.js\": 188,\n\t\"./me\": 189,\n\t\"./me.js\": 189,\n\t\"./mi\": 190,\n\t\"./mi.js\": 190,\n\t\"./mk\": 191,\n\t\"./mk.js\": 191,\n\t\"./ml\": 192,\n\t\"./ml.js\": 192,\n\t\"./mn\": 193,\n\t\"./mn.js\": 193,\n\t\"./mr\": 194,\n\t\"./mr.js\": 194,\n\t\"./ms\": 195,\n\t\"./ms-my\": 196,\n\t\"./ms-my.js\": 196,\n\t\"./ms.js\": 195,\n\t\"./mt\": 197,\n\t\"./mt.js\": 197,\n\t\"./my\": 198,\n\t\"./my.js\": 198,\n\t\"./nb\": 199,\n\t\"./nb.js\": 199,\n\t\"./ne\": 200,\n\t\"./ne.js\": 200,\n\t\"./nl\": 201,\n\t\"./nl-be\": 202,\n\t\"./nl-be.js\": 202,\n\t\"./nl.js\": 201,\n\t\"./nn\": 203,\n\t\"./nn.js\": 203,\n\t\"./oc-lnc\": 204,\n\t\"./oc-lnc.js\": 204,\n\t\"./pa-in\": 205,\n\t\"./pa-in.js\": 205,\n\t\"./pl\": 206,\n\t\"./pl.js\": 206,\n\t\"./pt\": 207,\n\t\"./pt-br\": 208,\n\t\"./pt-br.js\": 208,\n\t\"./pt.js\": 207,\n\t\"./ro\": 209,\n\t\"./ro.js\": 209,\n\t\"./ru\": 210,\n\t\"./ru.js\": 210,\n\t\"./sd\": 211,\n\t\"./sd.js\": 211,\n\t\"./se\": 212,\n\t\"./se.js\": 212,\n\t\"./si\": 213,\n\t\"./si.js\": 213,\n\t\"./sk\": 214,\n\t\"./sk.js\": 214,\n\t\"./sl\": 215,\n\t\"./sl.js\": 215,\n\t\"./sq\": 216,\n\t\"./sq.js\": 216,\n\t\"./sr\": 217,\n\t\"./sr-cyrl\": 218,\n\t\"./sr-cyrl.js\": 218,\n\t\"./sr.js\": 217,\n\t\"./ss\": 219,\n\t\"./ss.js\": 219,\n\t\"./sv\": 220,\n\t\"./sv.js\": 220,\n\t\"./sw\": 221,\n\t\"./sw.js\": 221,\n\t\"./ta\": 222,\n\t\"./ta.js\": 222,\n\t\"./te\": 223,\n\t\"./te.js\": 223,\n\t\"./tet\": 224,\n\t\"./tet.js\": 224,\n\t\"./tg\": 225,\n\t\"./tg.js\": 225,\n\t\"./th\": 226,\n\t\"./th.js\": 226,\n\t\"./tk\": 227,\n\t\"./tk.js\": 227,\n\t\"./tl-ph\": 228,\n\t\"./tl-ph.js\": 228,\n\t\"./tlh\": 229,\n\t\"./tlh.js\": 229,\n\t\"./tr\": 230,\n\t\"./tr.js\": 230,\n\t\"./tzl\": 231,\n\t\"./tzl.js\": 231,\n\t\"./tzm\": 232,\n\t\"./tzm-latn\": 233,\n\t\"./tzm-latn.js\": 233,\n\t\"./tzm.js\": 232,\n\t\"./ug-cn\": 234,\n\t\"./ug-cn.js\": 234,\n\t\"./uk\": 235,\n\t\"./uk.js\": 235,\n\t\"./ur\": 236,\n\t\"./ur.js\": 236,\n\t\"./uz\": 237,\n\t\"./uz-latn\": 238,\n\t\"./uz-latn.js\": 238,\n\t\"./uz.js\": 237,\n\t\"./vi\": 239,\n\t\"./vi.js\": 239,\n\t\"./x-pseudo\": 240,\n\t\"./x-pseudo.js\": 240,\n\t\"./yo\": 241,\n\t\"./yo.js\": 241,\n\t\"./zh-cn\": 242,\n\t\"./zh-cn.js\": 242,\n\t\"./zh-hk\": 243,\n\t\"./zh-hk.js\": 243,\n\t\"./zh-mo\": 244,\n\t\"./zh-mo.js\": 244,\n\t\"./zh-tw\": 245,\n\t\"./zh-tw.js\": 245\n};\n\n\nfunction webpackContext(req) {\n\tvar id = webpackContextResolve(req);\n\treturn __webpack_require__(id);\n}\nfunction webpackContextResolve(req) {\n\tif(!__webpack_require__.o(map, req)) {\n\t\tvar e = new Error(\"Cannot find module '\" + req + \"'\");\n\t\te.code = 'MODULE_NOT_FOUND';\n\t\tthrow e;\n\t}\n\treturn map[req];\n}\nwebpackContext.keys = function webpackContextKeys() {\n\treturn Object.keys(map);\n};\nwebpackContext.resolve = webpackContextResolve;\nmodule.exports = webpackContext;\nwebpackContext.id = 317;","export default \"
      \\n
      \\n
      \\n
      \\n

      Asset Tags

      \\n

      Below is a list of the Asset Tags that are are closest to the fixed tag

      \\n
      \\n
      \\n
      \\n
      \\n
      \\n \\n
      \\n
      \\n
      \\n
      \\n\";","export default \"
      \\n
      \\n Choose whether to enable the Acceleration Sensor or not, then press the Run Command button.\\n
      \\n
       Acceleration Senson Enabled
      \\n
      \\n \\n
      \\n
      \";","export default \"
      \\n Activate V-Tags for using Finder.\\n
      \\n : Affected Tags
      \\n \\n \\n
      \\n
      \\n\";","export default \"\\n
      \\n Activate the buzz speaker on the tag.\\n
      \\n : Affected Tags
      \\n \\n \\n
      \\n
      \\n\";","export default \"
      \\n
      \\n Clear all alarms that were logged while the VTag was out of range of a gateway.\\n
      \\n
      \\n \\n
      \\n
      \";","export default \"
      \\n
      \\n Set the time to in seconds an Asset should hold still before updating position. Set to 0 to disable feature.\\n
      \\n
      \\n \\n \\n
      \\n
      \\n \\n
      \\n
      \";","export default \"
      \\n
      \\n Get a list of the alarms that were logged while the VTag was out of range of a gateway.\\n
      \\n
      \\n \\n
      \\n
      \";","export default \"\\n
      \\n Query the position of V-Tags.\\n
      \\n : Affected Tags
      \\n \\n \\n
      \\n
      \\n\";","export default \"
      \\n
      \\n Please choose the desired Threshold Type and press the Save Command button.\\n
      \\n
      \\n \\n \\n
      \\n
      \\n \\n
      \\n
      \";","export default \"
      \\n
      \\n This command will tell your GPS Gateway when any GPS Asset Tags on its network should do a GPS discovery.\\n
      \\n
      \\n \\n \\n
      \\n
      \\n \\n \\n
      \\n
      \\n \\n
      \\n
      \\n\";","export default \"
      \\n
      \\n Choose this command if you wish to tell every tag in the network to start recalculating its position.\\n
      \\n
      \\n \\n \\n
      \\n
      \\n \\n
      \\n
      \";","export default \"
      \\n Reset V-Tags back to factory setting.\\n
      \\n : Affected Tags
      \\n \\n \\n
      \\n
      \\n\";","export default \"
      \\n
      \\n Choose this command if you wish to shut down the entire V-Tag network. To enable the network again choose the Resume command. Please wait 5 minutes after sending the Shutdown command before sending the Resume command.\\n
      \\n
      \\n \\n \\n
      \\n
      \\n \\n
      \\n
      \";","export default \"
      \\n When Set Position is selected, click anywhere in the map to set a fixed position tag there.\\n
      \";","export default \"
      \\n
      \\n

      Set Position Fixed

      \\n

      Choose the fixed tag from the list below. When done, choose the new Position Type and press the OK button.

      \\n
      \\n
      \\n
      \\n
      \\n \\n \\n \\n \\n
      \\n
       \\n
      \\n
      \\n  
      \\n
      \\n
      \\n
      \\n \\n \\n
      \\n
      \\n \\n \\n
      \\n
      \\n \\n \\n
      \\n
      \\n \\n \\n
      \\n
      \\n
      \\n \\n \\n \\n \\n \\n \\n \\n
      X({{vm.setPositionFixedModel.measureType}})\\n \\n Y({{vm.setPositionFixedModel.measureType}})\\n \\n
      \\n
      \\n
      \\n \\n \\n
      \\n
      \\n\\n\";","export default \"
      \\n When Set Position is selected, click anywhere in the map to set a V-tag gateway there.\\n
      \\n\";","export default \"
      \\n
      \\n

      Set Position Gateway

      \\n

      Choose the gateway from the list below. When done, press the OK button.

      \\n
      \\n
      \\n
      \\n
      \\n \\n \\n \\n \\n
      \\n
       \\n
      \\n
      \\n  
      \\n
      \\n
      \\n
      \\n \\n \\n
      \\n
      \\n
      \\n \\n \\n
      \\n
      \\n\\n\";","export default \"
      \\n
      \\n Please choose the reporting interval. When done, press the Save Command button.\\n
      \\n
      \\n \\n \\n
      \\n
      \\n \\n \\n
      \\n
      \\n \\n
      \\n
      \\n\";","export default \"
      \\n
      \\n Choose whether to enable Security, then set the Threshold Dbm and press the Run Command button.\\n
      \\n
      \\n \\n \\n
      \\n
      \\n \\n \\n
      \\n
      \\n \\n \\n
      \\n
      \\n \\n
      \\n
      \";","export default \"
      \\n
      \\n Please enter in the new level for the threshold '{{vm.thresholdType}}', then enter the duration and press the Save Command button.\\n
      \\n
      \\n \\n \\n
      \\n
      \\n \\n \\n
      \\n
      \\n \\n
      \\n
      \";","export default \"
      \\n
      \\n Choose this command if you wish to shut down the entire V-Tag network. To enable the network again choose the Resume command. Please wait 5 minutes after sending the Shutdown command before sending the Resume command.\\n
      \\n
      \\n \\n \\n
      \\n
      \\n \\n
      \\n
      \";","export default \"
      \\n
      \\n
      \\n\\n
      \\n
      \\n
      \\n
      \\n\\n
      \\n
      \\n
      \\n
      \";","export default \"\\n\\n\";","export default \"\\n\\n\";","/*! angular-csv-import - v0.0.37 - 2017-05-19\n* Copyright (c) 2017 ; Licensed */\n/* Moodified 05/07/20 by BA */\n/* Fix added for HTML template which was broken in the online version unless material widgets were used */\n\n'use strict';\n\nvar csvImport = angular.module('ngCsvImport', []);\n\ncsvImport.directive('ngCsvImport', function () {\n\treturn {\n\t\trestrict: 'E',\n\t\ttransclude: true,\n\t\treplace: true,\n\t\tscope: {\n\t\t\tcontent: '=?',\n\t\t\theader: '=?',\n\t\t\theaderVisible: '=?',\n\t\t\tseparator: '=?',\n\t\t\tseparatorVisible: '=?',\n\t\t\tresult: '=?',\n\t\t\tencoding: '=?',\n\t\t\tencodingVisible: '=?',\n\t\t\taccept: '=?',\n\t\t\tacceptSize: '=?',\n\t\t\tacceptSizeExceedCallback: '=?',\n\t\t\tcallback: '=?',\n\t\t\tuploadButtonLabel: '='\n\t\t},\n\t\ttemplate: function (element, attrs) {\n\t\t\treturn '
      ' +\n\t\t\t\t'
      Header
      ' +\n\t\t\t\t'
      Encoding
      {{encoding}}
      ' +\n\t\t\t\t'
      Separator
      ' +\n\t\t\t\t'
      ' +\n\t\t\t\t'
      ';\n\t\t},\n\t\tlink: function (scope, element, attrs) {\n\t\t\tscope.separatorVisible = !!scope.separatorVisible;\n\t\t\tscope.headerVisible = !!scope.headerVisible;\n\t\t\tscope.acceptSize = scope.acceptSize || Number.POSITIVE_INFINITY;\n\t\t\tangular.element(element[0].querySelector('.separator-input')).on('keyup', function (e) {\n\t\t\t\tif (scope.content != null) {\n\t\t\t\t\tvar content = {\n\t\t\t\t\t\tcsv: scope.content,\n\t\t\t\t\t\theader: scope.header,\n\t\t\t\t\t\tseparator: e.target.value,\n\t\t\t\t\t\tencoding: scope.encoding\n\t\t\t\t\t};\n\t\t\t\t\tscope.result = csvToJSON(content);\n\t\t\t\t\tscope.$apply();\n\t\t\t\t\tif (typeof scope.callback === 'function') {\n\t\t\t\t\t\tif (scope.callback != null) {\n\t\t\t\t\t\t\tscope.callback(e);\n\t\t\t\t\t\t}\n\t\t\t\t\t}\n\t\t\t\t}\n\t\t\t});\n\n\t\t\telement.on('change', function (onChangeEvent) {\n\t\t\t\tif (!onChangeEvent.target.files.length) {\n\t\t\t\t\treturn;\n\t\t\t\t}\n\n\t\t\t\tif (onChangeEvent.target.files[0].size > scope.acceptSize) {\n\t\t\t\t\tif (typeof scope.acceptSizeExceedCallback === 'function') {\n\t\t\t\t\t\tscope.acceptSizeExceedCallback(onChangeEvent.target.files[0]);\n\t\t\t\t\t}\n\t\t\t\t\treturn;\n\t\t\t\t}\n\n\t\t\t\tscope.filename = onChangeEvent.target.files[0].name;\n\t\t\t\tvar reader = new FileReader();\n\t\t\t\treader.onload = function (onLoadEvent) {\n\t\t\t\t\tscope.$apply(function () {\n\t\t\t\t\t\tvar content = {\n\t\t\t\t\t\t\tcsv: onLoadEvent.target.result.replace(/\\r\\n|\\r/g, '\\n'),\n\t\t\t\t\t\t\theader: scope.header,\n\t\t\t\t\t\t\tseparator: scope.separator\n\t\t\t\t\t\t};\n\t\t\t\t\t\tscope.content = content.csv;\n\t\t\t\t\t\tscope.result = csvToJSON(content);\n\t\t\t\t\t\tscope.result.filename = scope.filename;\n\t\t\t\t\t\tscope.$$postDigest(function () {\n\t\t\t\t\t\t\tif (typeof scope.callback === 'function') {\n\t\t\t\t\t\t\t\tif (scope.callback != null) {\n\t\t\t\t\t\t\t\t\tscope.callback(onChangeEvent);\n\t\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t}\n\t\t\t\t\t\t});\n\t\t\t\t\t});\n\t\t\t\t};\n\n\t\t\t\tif ((onChangeEvent.target.type === \"file\") && (onChangeEvent.target.files != null || onChangeEvent.srcElement.files != null)) {\n\t\t\t\t\treader.readAsText((onChangeEvent.srcElement || onChangeEvent.target).files[0], scope.encoding);\n\t\t\t\t} else {\n\t\t\t\t\tif (scope.content != null) {\n\t\t\t\t\t\tvar content = {\n\t\t\t\t\t\t\tcsv: scope.content,\n\t\t\t\t\t\t\theader: !scope.header,\n\t\t\t\t\t\t\tseparator: scope.separator\n\t\t\t\t\t\t};\n\t\t\t\t\t\tscope.result = csvToJSON(content);\n\t\t\t\t\t\tscope.$$postDigest(function () {\n\t\t\t\t\t\t\tif (typeof scope.callback === 'function') {\n\t\t\t\t\t\t\t\tif (scope.callback != null) {\n\t\t\t\t\t\t\t\t\tscope.callback(onChangeEvent);\n\t\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t}\n\t\t\t\t\t\t});\n\t\t\t\t\t}\n\t\t\t\t}\n\t\t\t});\n\n\t\t\tvar csvToJSON = function (content) {\n\t\t\t\tvar lines = content.csv.split(new RegExp('\\n(?![^\"]*\"(?:(?:[^\"]*\"){2})*[^\"]*$)'));\n\t\t\t\tvar result = [];\n\t\t\t\tvar start = 0;\n\t\t\t\tvar columnCount = lines[0].split(content.separator).length;\n\n\t\t\t\tvar headers = [];\n\t\t\t\tif (content.header) {\n\t\t\t\t\theaders = lines[0].split(content.separator);\n\t\t\t\t\tstart = 1;\n\t\t\t\t}\n\n\t\t\t\tfor (var i = start; i < lines.length; i++) {\n\t\t\t\t\tvar obj = {};\n\t\t\t\t\tvar currentline = lines[i].split(new RegExp(content.separator + '(?![^\"]*\"(?:(?:[^\"]*\"){2})*[^\"]*$)'));\n\t\t\t\t\tif (currentline.length === columnCount) {\n\t\t\t\t\t\tif (content.header) {\n\t\t\t\t\t\t\tfor (var j = 0; j < headers.length; j++) {\n\t\t\t\t\t\t\t\tobj[headers[j]] = cleanCsvValue(currentline[j]);\n\t\t\t\t\t\t\t}\n\t\t\t\t\t\t} else {\n\t\t\t\t\t\t\tfor (var k = 0; k < currentline.length; k++) {\n\t\t\t\t\t\t\t\tobj[k] = cleanCsvValue(currentline[k]);\n\t\t\t\t\t\t\t}\n\t\t\t\t\t\t}\n\t\t\t\t\t\tresult.push(obj);\n\t\t\t\t\t}\n\t\t\t\t}\n\t\t\t\treturn result;\n\t\t\t};\n\n\t\t\tvar cleanCsvValue = function (value) {\n\t\t\t\treturn value\n\t\t\t\t\t.replace(/^\\s*|\\s*$/g, \"\") // remove leading & trailing space\n\t\t\t\t\t.replace(/^\"|\"$/g, \"\") // remove \" on the beginning and end\n\t\t\t\t\t.replace(/\"\"/g, '\"'); // replace \"\" with \"\n\t\t\t};\n\t\t}\n\t};\n});\n","export default \"\\n\\n
      \\n
      \\n
      \\n\";","export default \"\\n\\n
      \\n
      \\n

      You are not logged into AssetWorx.

      \\n\\n \\n
      \\n
      \\n\";","export default \"\\n\\n
      \\n
      \\n

      Max simultaneous users exceeded.

      \\n
      Free up some seats and then log in again.
      \\n \\n
      \\n
      \\n\";","export default \"
      \\n

      About AssetWorx!

      \\n
      \\n
      \\n
      \\n
      \\n
      \\n
      \\n \\n \\n
      \\n
      \\n \\n \\n
      \\n
      \\n \\n \\n
      \\n
      \\n
      \\n \\n \\n \\n \\n
      \\n
      \\n
      \\n
      \\n
      \\n\";","export default \"
      \\n

      Edit Asset

      \\n
      \\n
      \\n \\n \\n
      \\n
      \\n\\n \\n
      \\n
      \\n
      \\n
      \\n \\n
      \\n \\n \\n \\n \\n
      \\n
      \\n
      \\n \\n \\n
      \\n
      \\n \\n \\n
      \\n
      \\n \\n \\n
      \\n
      \\n \\n \\n
      \\n
      \\n \\n \\n
      \\n
      \\n \\n \\n
      \\n
      \\n \\n \\n
      \\n
      \\n \\n \\n
      \\n
      \\n \\n \\n
      \\n
      \\n \\n \\n
      \\n
      \\n
      \\n
      \\n
      \\n
      \\n \\n \\n
      \\n
      \\n \\n \\n
      \\n
      \\n \\n \\n
      \\n
      \\n \\n \\n
      \\n
      \\n \\n \\n
      \\n
      \\n \\n \\n
      \\n
      \\n \\n \\n
      \\n
      \\n
      \\n
      \\n
      \\n
      \\n
      \\n \\n \\n
      \\n
      \\n
      \\n
      \\n \\n \\n
      \\n \\n \\n
      \\n
      \\n \\n \\n
      \\n
      \\n \\n \\n
      \\n
      \\n \\n \\n
      \\n
      \\n \\n \\n
      \\n
      \\n \\n \\n
      \\n
      \\n \\n \\n
      \\n
      \\n \\n \\n
      \\n
      \\n \\n \\n
      \\n
      \\n \\n \\n
      \\n
      \\n \\n \\n
      \\n
      \\n \\n \\n
      \\n
      \\n \\n \\n
      \\n
      \\n \\n \\n
      \\n
      \\n \\n \\n
      \\n
      \\n \\n \\n
      \\n
      \\n \\n \\n
      \\n
      \\n \\n \\n
      \\n
      \\n \\n \\n
      \\n
      \\n \\n \\n
      \\n
      \\n \\n \\n
      \\n
      \\n \\n \\n
      \\n
      \\n \\n \\n
      \\n
      \\n \\n \\n
      \\n
      \\n
      \\n \\n
      \\n
      \\n
      \\n \\n
      \\n
      \\n \\n
      \\n
      \\n \\n
      \\n
      \\n
      \\n
      \\n \\n
      \\n
      \\n
      \\n \\n
      \\n
      \\n
      \\n \\n \\n
      \\n
      \\n
      \\n
      \\n\\n \\n
      \\n
      \\n View Parent\\n
      \\n
      \\n
      \\n
      \\n \\n
      \\n
      \\n
      \\n
      \\n

      Disposal

      \\n
      \\n
      \\n \\n \\n
      \\n
      \\n \\n \\n
      \\n
      \\n \\n \\n
      \\n
      \\n \\n \\n
      \\n
      \\n
      \\n
      \\n
      \\n
      \\n

      Maintenance Schedule

      \\n
      \\n
      \\n \\n \\n
      \\n
      \\n \\n \\n
      \\n
      \\n \\n \\n
      \\n
      \\n \\n \\n
      \\n
      \\n \\n \\n
      \\n
      \\n
      \\n
      \\n
      \\n
      \\n
      \\n \\n
      \\n
      \\n
      \\n \\n \\n \\n
      \\n
      \\n
      \\n
      \\n \\n
      \\n
      \\n \\n
      \\n
      \\n
      \\n
      \\n
      \\n
      \\n \\n
      \\n\";","export default \"
      \\n
      \\n \\n
      \\n
      \\n
      \\n
      \\n
      \\n \\n
      \\n \\n
      \\n\";","export default \"
      \\n
      \\n \\n
      \\n
      \\n
      \\n\";","export default \"
      \\n
      \\n

      GPS Location History

      \\n
      \\n
      \\n
      \\n
      \\n
      \\n \\n \\n
      \\n
      \\n \\n \\n
      \\n
      \\n

      Number of points stored: {{vm.model.numPoints}}

      \\n
      \\n
      \\n
      \\n
      \\n
      \\n
      \\n \\n
      \\n\";","export default \"
      \\n

      Service Status

      \\n
      \\n
      \\n
      \\n
      \\n
      \\n

      Reader Status

      \\n
      \\n
      \\n
      \\n
      \\n\";","export default \"
      \\n

      Edit Location

      \\n
      \\n
      \\n \\n \\n
      \\n
      \\n
      \\n
      \\n
      \\n
      \\n \\n \\n
      \\n
      \\n \\n \\n
      \\n
      \\n \\n \\n
      \\n
      \\n \\n \\n
      \\n
      \\n \\n \\n
      \\n
      \\n \\n \\n
      \\n
      \\n \\n \\n
      \\n
      \\n \\n
      \\n
      \\n
      \\n
      \\n\";","export default \"
      \\n

      Edit Fixed V-Tag

      \\n
      \\n
      \\n \\n \\n
      \\n
      \\n
      \\n
      \\n
      \\n
      \\n \\n \\n
      \\n
      \\n \\n \\n
      \\n
      \\n \\n \\n
      \\n
      \\n \\n \\n
      \\n
      \\n
      \\n
      \\n\";","export default \"
      \\n

      Edit Plugin

      \\n
      \\n
      \\n \\n \\n
      \\n
      \\n
      \\n
      \\n
      \\n
      \\n \\n \\n
      \\n
      \\n \\n \\n
      \\n \\n
      \\n \\n
      \\n
      \\n \\n
      \\n
      \\n\";","export default \"
      \\n

      Edit Reader

      \\n
      \\n
      \\n \\n \\n
      \\n
      \\n\\n \\n
      \\n
      \\n
      \\n
      \\n \\n \\n
      \\n
      \\n \\n \\n
      \\n
      \\n \\n \\n
      \\n
      \\n \\n \\n
      \\n
      \\n \\n \\n
      \\n
      \\n \\n \\n
      \\n
      \\n \\n \\n
      \\n
      \\n
      \\n
      \\n
      \\n
      \\n \\n \\n
      \\n
      \\n \\n \\n
      \\n
      \\n \\n \\n
      \\n
      \\n \\n \\n
      \\n
      \\n \\n \\n
      \\n
      \\n \\n \\n
      \\n
      \\n \\n \\n
      \\n
      \\n \\n \\n
      \\n
      \\n
      \\n \\n \\n
      \\n
      \\n
      \\n \\n
      \\n
      \\n \\n \\n
      \\n
      \\n \\n \\n
      \\n
      \\n \\n
      \\n
      \\n
      \\n
      \\n
      \\n
      \\n
      \\n
      \\n \\n
      \\n
      \\n
      \\n
      \\n \\n \\n
      \\n
      \\n \\n \\n
      \\n
      \\n \\n \\n
      \\n
      \\n \\n \\n
      \\n
      \\n
      \\n
      \\n
      \\n \\n
      \\n
      \\n
      \\n
      \\n \\n \\n
      \\n
      \\n \\n \\n
      \\n
      \\n
      \\n
      \\n
      \\n
      \\n\";","export default \"
      \\n

      Edit User

      \\n
      \\n
      \\n \\n \\n
      \\n
      \\n
      \\n
      \\n
      \\n
      \\n \\n \\n
      \\n
      \\n \\n \\n
      \\n
      \\n \\n \\n
      \\n
      \\n \\n
      \\n
      \\n \\n \\n
      \\n
      \\n \\n \\n
      \\n
      \\n \\n \\n
      \\n
      \\n \\n \\n
      \\n
      \\n \\n \\n
      \\n
      \\n \\n \\n
      \\n \\n
      \\n \\n \\n
      \\n
      \\n \\n \\n
      \\n
      \\n \\n \\n
      \\n
      \\n
      \\n
      \\n\";","export default \"
      \\n

      Edit Alerting Action

      \\n
      \\n
      \\n \\n \\n
      \\n
      \\n
      \\n
      \\n
      \\n
      \\n \\n \\n
      \\n
      \\n \\n
      \\n
      \\n \\n
      \\n
      \\n \\n
      \\n
      \\n \\n
      \\n
      \\n \\n
      \\n
      \\n \\n
      \\n
      \\n \\n
      \\n \\n
      \\n
      \\n
      \\n\\n\";","export default \"
      \\n

      Edit Template

      \\n
      \\n
      \\n \\n \\n
      \\n
      \\n
      \\n
      \\n
      \\n
      \\n \\n \\n
      \\n
      \\n \\n \\n
      \\n
      \\n \\n \\n
      \\n
      \\n \\n \\n
      \\n
      \\n \\n \\n
      \\n
      \\n \\n \\n
      \\n
      \\n
      \\n
      \\n\";","export default \"
      \\n

      Checkin/Checkout

      \\n
      \\n
      \\n

      {{vm.pagingModel.errorMessage}}

      \\n
      \\n
      \\n
      \\n
      \\n
      \\n
      \\n \\n \\n \\n \\n
      \\n
      \\n  \\n
      \\n
      \\n  
      \\n
      \\n
      \\n
      \\n
      \\n
      \\n \\n \\n
      \\n
      \\n \\n \\n
      \\n
      \\n \\n \\n
      \\n
      \\n \\n \\n
      \\n
      \\n \\n \\n
      \\n
      \\n \\n \\n
      \\n
      \\n \\n \\n
      \\n
      \\n \\n \\n
      \\n
      \\n
      \\n
      \\n\";","export default \"
      \\n

      Maintenance

      \\n
      \\n
      \\n

      {{vm.model.errorMessage}}

      \\n
      \\n
      \\n
      \\n \\n \\n
      \\n
      \\n \\n \\n \\n \\n
      \\n
      \\n
      \\n \\n \\n
      \\n
      \\n \\n \\n
      \\n
      \\n \\n \\n
      \\n
      \\n \\n \\n
      \\n
      \\n
      \\n
      \\n
      \\n
      \\n
      \\n
      \\n
      \\n
      \\n \\n \\n
      \\n
      \\n \\n \\n
      \\n
      \\n \\n \\n
      \\n
      \\n \\n \\n
      \\n
      \\n \\n
      \\n
      \\n
      \\n
      \\n
      \\n
      \\n \\n \\n
      \\n
      \\n \\n \\n
      \\n
      \\n \\n \\n
      \\n
      \\n \\n
      \\n
      \\n \\n
      \\n
      \\n
      \\n
      \\n\";","export default \"
      \\n
      \\n \\n
      \\n
      \\n

      {{vm.pagingModel.errorMessage}}

      \\n
      \\n
      \\n
      \\n
      \\n

      Custom Fields For Web

      \\n
      \\n
      \\n \\n \\n  \\n
      \\n
      \\n  
      \\n
      \\n
      \\n
      \\n
      \\n \\n \\n
      \\n
      \\n \\n
      \\n
      -1\\\">\\n \\n \\n
      \\n
      -1\\\">\\n \\n \\n \\n
      \\n
      \\n

      \\n
      \\n
      \\n\\n
      \\n
      \\n

      Custom Fields For Handheld

      \\n
      \\n
      \\n \\n \\n  \\n
      \\n
      \\n  
      \\n
      \\n
      \\n
      \\n
      \\n \\n \\n
      \\n
      \\n \\n
      \\n
      -1\\\">\\n \\n \\n
      \\n
      -1\\\">\\n \\n \\n \\n
      \\n
      \\n

      \\n
      \\n
      \\n
      \\n\";","export default \"
      \\n

      Asset Picture

      \\n
      \\n
      \\n \\n
      \\n
      \\n
      \\n
      \\n
      \\n \\n
      \\n
      \\n
      \\n \";","export default \"
      \\n

      Edit Options

      \\n
      \\n
      \\n
      \\n \\n
      \\n
      \\n

      {{vm.pagingModel.errorMessage}}

      \\n
      \\n\\n \\n
      \\n
      \\n \\n \\n
      \\n
      \\n \\n \\n
      \\n
      \\n \\n \\n
      \\n
      \\n
      \\n \\n
      \\n
      \\n \\n \\n
      \\n
      \\n
      \\n \\n
      \\n
      \\n \\n \\n
      \\n
      \\n
      \\n \\n
      \\n
      \\n \\n \\n
      \\n
      \\n
      \\n
      \\n
      \\n
      \\n
      \\n \\n
      \\n
      \\n The Event and Sensor Data read into the AssetWorx! system can be very large. To manage the size of this data, set the number of days that you want to keep\\n your data for the various data types below. To exempt a data type from the trim service, choose the number zero.\\n
      \\n
      \\n
      \\n
      \\n
      \\n
      \\n \\n \\n
      \\n
      \\n \\n \\n
      \\n
      \\n \\n \\n
      \\n
      \\n \\n \\n
      \\n
      \\n \\n \\n
      \\n
      \\n \\n \\n
      \\n
      \\n
      \\n
      \\n
      \\n \\n
      \\n
      \\n AssetWorx requires all Asset records to have a unique name. You can automatically generate names using a simple serialization formula.\\n
      \\n
      \\n
      \\n
      \\n
      \\n
      \\n \\n \\n
      \\n
      \\n \\n \\n
      \\n
      \\n \\n \\n
      \\n
      \\n
      \\n
      \\n
      \\n \\n
      \\n
      \\n
      \\n
      \\n \\n \\n
      \\n
      \\n \\n \\n
      \\n
      \\n
      \\n
      \\n
      \\n \\n
      \\n
      \\n MQTT Server is used to allow InfinID VG200-1 V-Tag Gateways to connect to AssetWorx. MQTT clients can also subscribe to system topics to receive a stream of data from the server. Standard encrypted port for MQTT is 8883.\\n
      \\n
      \\n
      \\n
      \\n
      \\n
      \\n MQTT\\n
      \\n
      \\n \\n \\n
      \\n
      \\n \\n
      \\n
      \\n \\n
      \\n
      \\n \\n
      \\n
      \\n \\n
      \\n
      \\n \\n
      \\n
      \\n \\n
      \\n
      \\n \\n
      \\n
      \\n
      \\n \\n \\n \\n
      \\n
      \\n

      \\n
      \\n
      \\n \\n
      \\n
      \\n
      \\n \\n \\n \\n
      \\n
      \\n
      \\n
      \\n
      \\n \\n
      \\n
      \\n These email settings can be applied by AssetWorx as an Alerting Action.\\n
      \\n
      \\n
      \\n
      \\n
      \\n
      \\n \\n \\n
      \\n
      \\n \\n \\n
      \\n
      \\n \\n \\n
      \\n
      \\n \\n \\n
      \\n
      \\n \\n \\n
      \\n
      \\n \\n \\n
      \\n
      \\n \\n \\n
      \\n
      \\n \\n \\n
      \\n
      \\n \\n \\n
      \\n
      \\n \\n \\n
      \\n
      \\n \\n
      \\n
      \\n
      \\n
      \\n
      \\n \\n
      \\n
      \\n
      \\n \\n \\n
      \\n
      \\n \\n \\n
      \\n
      \\n \\n \\n
      \\n
      \\n \\n \\n
      \\n
      \\n \\n \\n
      \\n
      \\n \\n \\n
      \\n
      \\n \\n
      \\n
      \\n
      \\n \\n \\n \\n \\n
      \\n
      \\n
      \\n
      \\n \\n
      \\n
      \\n \\n \\n
      \\n \\n \\n
      \\n
      \\n \\n \\n
      \\n
      \\n \\n \\n
      \\n
      \\n \\n \\n
      \\n
      \\n \\n \\n
      \\n
      \\n \\n
      \\n
      \\n
      \\n
      \\n \\n
      \\n
      \\n
      \\n \\n
      \\n
      \\n \\n
      \\n
      \\n
      \\n \\n \\n \\n
      \\n
      \\n
      \\n
      \\n
      \\n\";","export default \"
      \\n

      {{vm.model.getReportName()}}

      \\n
      \\n
      \\n
      Search Criteria
      \\n
      \\n
      \\n
      \\n
      \\n
      \\n \\n \\n
      \\n
      \\n
      \\n
      \\n
      \\n
      \\n
      \\n
      \\n
      \\n
      \\n \\n \\n
      \\n
      \\n \\n
      \\n
      \\n \\n
      \\n
      \\n
      \\n
      \\n\";","export default \"
      \\n

      Locations

      \\n
      \\n
      \\n
      Search Criteria
      \\n
      \\n
      \\n
      \\n
      \\n
      \\n \\n \\n
      \\n
      \\n
      \\n
      \\n
      \\n
      \\n
      \\n
      \\n
      \\n
      \\n \\n \\n
      \\n
      \\n \\n
      \\n
      \\n \\n
      \\n
      \\n
      \\n
      \\n\";","export default \"
      \\n

      Checkout History

      \\n
      \\n
      \\n
      Search Criteria
      \\n
      \\n
      \\n
      \\n
      \\n
      \\n \\n \\n
      \\n
      \\n \\n \\n
      \\n
      \\n \\n \\n
      \\n
      \\n \\n \\n
      \\n
      \\n
      \\n
      \\n
      \\n
      \\n
      \\n
      \\n
      \\n
      \\n \\n \\n
      \\n
      \\n \\n
      \\n
      \\n \\n
      \\n
      \\n
      \\n
      \\n\";","export default \"
      \\n

      Maintenance Histories

      \\n
      \\n
      \\n
      Search Criteria
      \\n
      \\n
      \\n
      \\n
      \\n
      \\n \\n \\n
      \\n
      \\n \\n \\n
      \\n
      \\n \\n \\n
      \\n
      \\n \\n \\n
      \\n
      \\n \\n \\n
      \\n
      \\n
      \\n
      \\n
      \\n
      \\n
      \\n
      \\n
      \\n
      \\n \\n \\n
      \\n
      \\n \\n
      \\n
      \\n \\n
      \\n
      \\n
      \\n
      \\n\";","export default \"
      \\n

      V-Tag Communications

      \\n
      \\n
      \\n
      Search Criteria
      \\n
      \\n
      \\n
      \\n
      \\n
      \\n \\n \\n
      \\n
      \\n \\n \\n
      \\n
      \\n
      \\n
      \\n
      \\n
      \\n
      \\n
      \\n
      \\n
      \\n \\n \\n
      \\n
      \\n \\n
      \\n
      \\n \\n
      \\n
      \\n
      \\n
      \\n\";","export default \"
      \\n

      V-Tag Low Battery Levels

      \\n
      \\n
      \\n
      Search Criteria
      \\n
      \\n
      \\n
      \\n
      \\n
      \\n \\n \\n
      \\n
      \\n
      \\n
      \\n
      \\n
      \\n
      \\n
      \\n
      \\n
      \\n \\n
      \\n
      \\n \\n
      \\n
      \\n
      \\n
      \\n\";","export default \"
      \\n
      \\n \\n
      \\n
      \\n

      {{vm.model.errorMessage}}

      \\n
      \\n
      \\n
      \\n
      \\n

      Available Asset Columns

      \\n
      \\n
      \\n \\n
      \\n
      \\n \\n \\n  \\n
      \\n
      \\n
      \\n

      Assigned Asset Columns

      \\n
      \\n
      \\n \\n
      \\n
      \\n \\n \\n  \\n
      \\n
      \\n  
      \\n
      \\n
      \\n
      \\n
      \\n

      Available VTag Columns

      \\n
      \\n
      \\n \\n
      \\n
      \\n \\n \\n  \\n
      \\n
      \\n
      \\n

      Assigned VTag Columns

      \\n
      \\n
      \\n \\n
      \\n
      \\n \\n \\n  \\n
      \\n
      \\n
      \";","export default \"\\n\\n
      \\n\";","export default \"
      \\n
      \\n \\n \\n \\n \\n \\n
      \\n Site\\n \\n \\n
      \\n
      \\n
      \\n
      \\n \\n \\n \\n \\n
      \\n
      \\n
      \\n \\n
      \\n
      \\n Commands\\n \\n
      \\n
      \\n
      \\n
      \\n
      \\n
      \\n
      \\n
      \\n
      \\n
      \\n
      \\n
      \\n
      \\n
      \\n
      \\n
      \\n
      \\n \\n
      \\n
      \\n
      \\n
      \\n
      \\n \\n \\n \\n \\n \\n
      \\n Area\\n \\n \\n
      \\n
      \\n \\n
      \\n\";","export default \"
      \\n

      Manage Sites/Areas

      \\n
      \\n
      \\n \\n \\n
      \\n
      \\n \\n \\n \\n
      \\n
      \\n
      \\n
      \\n \\n \\n
      \\n
      \\n \\n \\n \\n
      \\n
      \\n
      \\n\\n\";","export default \"
      \\n

      Add/Edit Site

      \\n
      \\n
      \\n \\n \\n
      \\n
      \\n
      \\n
      \\n
      \\n
      \\n \\n \\n
      \\n
      \\n
      \\n
      \\n
      \\n Gateways:\\n
      \\n\\n
      \\n
      \\n
      \\n
      \\n \\n \\n
      \\n
      \\n \\n
      \\n
      \\n
      \\n
      \\n
      \\n
      \\n \\n \\n
      \\n
      \\n \\n
      \\n
      \\n
      \\n
      \\n\\n\";","export default \"
      \\n

      Add/Edit Area

      \\n
      \\n
      \\n \\n \\n \\n
      \\n
      \\n
      \\n
      \\n \\n \\n
      \\n
      \\n
      \\n
      \\n \\n \\n
      \\n
      \\n
      \\n
      \\n \\n \\n
      \\n
      \\n
      \\n
      \\n \\n \\n
      \\n
      \\n
      \\n
      \\n \\n \\n
      \\n
      \\n
      \\n
      \\n \\n \\n
      \\n
      \\n
      \\n
      \\n \\n \\n
      \\n
      \\n
      \\n
      \\n \\n \\n
      \\n
      \\n
      \\n
      \\n \\n \\n
      \\n
      \\n
      \\n
      \\n \\n
      \\n
      \\n
      \\n\\n\";","export default \"
      \\n Asset Commands
      \\n Select from the Available Assets and press the Add button to add to the Assigned Assets list. When done, move to the Commands section to save your commands.\\n
      \\n
      \\n
      \\n
      \\n
      \\n
      \\n
      \\n  \\n
      \\n
      \\n \\n \\n
      \\n
      \\n
      \\n
      \\n
      \\n
      \\n Commands\\n \\n \\n \\n \\n \\n \\n \\n \\n \\n \\n
      \\n
      \\n\";","export default \"

      Network Commands

      \\n
      \\n
      \\n Network Commands are V-Tag commands that apply to the entire network, rather than an individual tag. Choose the command type to program and enter the appropriate values.\\n
      \\n
      \\n Commands\\n \\n \\n \\n \\n \\n \\n \\n
      \\n
      \\n\";","export default \"
      \\n Queued Commands
      \\n The grid below provides a list of the most recent Queued Commands sorted by date. To retry a failed command, simply select the command in the grid and press the Retry button.\\n
      \\n
      \\n
      \\n
      \\n \\n \\n
      \\n
      \\n \\n \\n
      \\n
      \\n \\n

      \\n \\n \\n \\n \\n

      \\n
      \\n
      \\n \\n
      \\n \\n \\n \\n \\n
      \\n
      \\n
      \\n
      \\n
      \\n \\n \\n \\n\\n
      \\n
      \\n
      \\n
      \\n\";","export default \"
      \\n
      \\n

      Edit Options

      \\n
      \\n
      \\n
      \\n \\n
      \\n
      \\n

      {{vm.pagingModel.errorMessage}}

      \\n
      \\n\\n \\n \\n
      \\n
      \\n Setting the Active Asset Timeout affects the duration of time in which Assets must report before they are considered inactive. Inactive assets show up in red instead of green and can be filtered from the map.\\n
      \\n
      \\n \\n \\n
      \\n
      \\n
      \\n \\n
      \\n
      \\n Set the Map Refresh Rate to determine how often the Manage Tags screen will contact the server to get the latest assets.\\n
      \\n
      \\n \\n \\n
      \\n
      \\n
      \\n\\n \\n
      \\n
      \\n \\n \\n
      \\n
      \\n
      \\n\\n \\n
      \\n
      \\n \\n \\n
      \\n
      \\n
      \\n\\n \\n
      \\n
      \\n Clicking \\\"Clear Location Data\\\" will remove all location data associated with the VTag assets. This will effectively remove all VTags from the map.\\n
      \\n
      \\n \\n
      \\n
      \\n
      \\n
      \\n
      \\n\";","import { User, UserManager, UserManagerSettings, WebStorageStateStore } from 'oidc-client';\nexport { User };\n\nexport class AuthService {\n public static $inject = ['$location'];\n userManager: UserManager;\n clientRoot: string;\n constructor(public $location: any) { \n\n this.clientRoot = this.getCurrentBaseUrl();\n const settings = {\n authority: this.clientRoot,\n client_id: \"assetworx.web\",\n client_secret: \"901564A5-E7FE-42CB-B10D-61EF6A8F3654\",\n redirect_uri: this.clientRoot + 'assets/signin-callback.html',\n silent_redirect_uri: this.clientRoot + 'assets/silent-callback.html',\n automaticSilentRenew: true,\n post_logout_redirect_uri: this.clientRoot + '#!loggedout',\n userStore: new WebStorageStateStore({ store: localStorage }),\n response_type: 'code',\n response_mode: 'query',\n scope: 'openid profile email',\n loadUserInfo: false\n };\n console.log(\"*****************Auth settings.!!!!\");\n this.userManager = new UserManager(settings);\n }\n\n public setAuthenticationServer(server: string, clientId: string, clientSecret: string, useLocalStorage: boolean) {\n if (server === null || server === '' || server == undefined) {\n var protocol = this.$location.protocol();\n var host = this.$location.host();\n var port = this.$location.port();\n var combined = protocol + '://' + host + ':' + port;\n server = combined;\n }\n let myStorage = useLocalStorage ? localStorage : sessionStorage;\n const settings = {\n authority: server,\n client_id: clientId,\n //client_secret: \"901564A5-E7FE-42CB-B10D-61EF6A8F3654\",\n client_secret: clientSecret,\n redirect_uri: this.clientRoot + 'assets/signin-callback.html',\n silent_redirect_uri: this.clientRoot + 'assets/silent-callback.html',\n automaticSilentRenew: true,\n post_logout_redirect_uri: this.clientRoot + '#!loggedout',\n userStore: new WebStorageStateStore({ store: myStorage }),\n response_type: 'code',\n response_mode: 'query',\n scope: 'openid profile email',\n loadUserInfo: false\n };\n console.log(\"*****************Auth settings RESET.!!!!\");\n this.userManager = new UserManager(settings);\n }\n\n private getCurrentBaseUrl() {\n var protocol = this.$location.protocol();\n var host = this.$location.host();\n var port = this.$location.port();\n var combined = protocol + '://' + host + ':' + port + '/';\n return combined;\n }\n\n public getUser(): Promise {\n return this.userManager.getUser();\n }\n\n public login(): Promise {\n return this.userManager.signinRedirect();\n }\n\n public renewToken(): Promise {\n return this.userManager.signinSilent();\n }\n\n public logout(): Promise {\n return this.userManager.signoutRedirect();\n }\n}\n","import {GridBookmark} from \"../entities/GridBookmark\";\n\nexport class GridBookmarkService {\n static $inject = ['localStorageService'];\n static KEY:string = \"GRIDBOOKMARK.\";\n constructor(public locStorage:angular.local.storage.ILocalStorageService) {\n }\n // Store a bookmark\n setBookmark(entityName:string, gridBookmark:GridBookmark) {\n if (entityName != null && entityName.length > 0) {\n var gridBookmarkJson = JSON.stringify(gridBookmark);\n this.locStorage.set(GridBookmarkService.KEY + entityName, gridBookmarkJson);\n }\n }\n // Recall a bookmark\n getBookmark(entityName:string):GridBookmark{\n if (entityName != null && entityName.length > 0) {\n var gridBookmarkJson: string = this.locStorage.get(GridBookmarkService.KEY + entityName);\n if (gridBookmarkJson != null) {\n var gridBookmark: GridBookmark = JSON.parse(gridBookmarkJson);\n return gridBookmark;\n }\n }\n return null;\n }\n // Check whether a bookmark is recent\n static isRecent(gridBookmark:GridBookmark) {\n var diff_ms = Date.now() - gridBookmark.createDateMs;\n var diff_secs = diff_ms / 1000;\n return diff_secs < (10 * 60);\n }\n}\n","export class GridBookmark {\n constructor(\n public page:number,\n public pageSize:number,\n public search:string,\n public orderColumn:string,\n public orderDirection:string,\n public createDateMs:number)\n {}\n}\n","import {BaseEntity} from \"../../entities/BaseEntity\";\nimport {PagingModel} from \"./PagingModel\";\nimport {IService} from \"../../services/IService\";\nimport {NotificationService} from \"../../services/NotificationService\";\nimport {GridBookmarkService} from \"../../services/GridBookmarkService\";\nimport {Template} from \"../../entities/Template\";\nimport {GridBookmark} from \"../../entities/GridBookmark\";\n\nexport class AdminPagingModel extends PagingModel {\n constructor($q: ng.IQService, pagingService: IService, notificationService: NotificationService,\n public gridBookmarkService:GridBookmarkService) {\n super($q, pagingService, notificationService);\n }\n\n getPagedPromise(): ng.IPromise {\n this.savePagination();\n return super.getPagedPromise();\n }\n\n print(template: Template) {\n\n }\n\n handleCustomAction(actionName: string): ng.IPromise {\n return this.$q.when();\n }\n\n getCustomActions(): string[] {\n return [];\n }\n\n printTemplateType(): string {\n return \"Asset\";\n }\n\n entityName(): string {\n return \"\";\n }\n\n displayName(): string {\n return \"\";\n }\n\n addEditAllowed(): boolean {\n return true;\n }\n\n deleteAllowed(): boolean {\n return true;\n }\n\n deleteEnabled(): boolean {\n return this.selectedItems.length > 0 && this.deleteAllowed();\n }\n\n addEditEnabled(): boolean {\n return this.selectedItems.length > 0 && this.addEditAllowed();\n }\n\n delete(ids: number[]): ng.IPromise {\n return this.pagingService.delete(ids);\n }\n\n paginationInfoAvailable(): boolean {\n var gridBookmark: GridBookmark = this.gridBookmarkService.getBookmark(this.entityName());\n return (gridBookmark != null && GridBookmarkService.isRecent(gridBookmark));\n }\n\n savePagination() {\n // Store page settings before getting data\n var gridBookmark = new GridBookmark(this.page, this.pageSize, this.search, this.orderColumn, this.orderDirection, Date.now());\n this.gridBookmarkService.setBookmark(this.entityName(), gridBookmark);\n }\n\n recallPagination() {\n // Recall page settings\n var gridBookmark: GridBookmark = this.gridBookmarkService.getBookmark(this.entityName());\n if (gridBookmark != null && GridBookmarkService.isRecent(gridBookmark)) {\n this.page = gridBookmark.page;\n this.pageSize = gridBookmark.pageSize;\n this.search = gridBookmark.search;\n this.orderColumn = gridBookmark.orderColumn;\n this.orderDirection = gridBookmark.orderDirection;\n }\n }\n}\n","import {AdminPagingModel} from \"./AdminPagingModel\";\nimport {Asset} from \"../../entities/Asset\";\nimport {AssetService} from \"../../services/AssetService\";\nimport {CustomFieldNameService} from \"../../services/CustomFieldNameService\";\nimport {PrintJobService} from \"../../services/PrintJobService\";\nimport {NotificationService} from \"../../services/NotificationService\";\nimport {ApplicationSettingService} from \"../../services/ApplicationSettingService\";\nimport {GridBookmarkService} from \"../../services/GridBookmarkService\";\nimport {Template} from \"../../entities/Template\";\nimport {PrintJob} from \"../../entities/PrintJob\";\n\nexport class AssetAdminPagingModel extends AdminPagingModel{\n static $inject = ['$q','$uibModal','AssetService','CustomFieldNameService','PrintJobService','NotificationService','ApplicationSettingService','GridBookmarkService'];\n customColumnDefs:string[] = [\"Name\",\"Description\",\"ActiveTagID\",\"RfidTag\",\"BatteryVolts\",\"VTagLastSeen\"];\n gotColumns:boolean = false;\n useMeters:boolean = true;\n constructor($q:ng.IQService,\n public modal:angular.ui.bootstrap.IModalService,\n public pagingService:AssetService,\n public customFieldNameService:CustomFieldNameService,\n public printjobService:PrintJobService,\n public notificationService:NotificationService,\n public applicationSettingService:ApplicationSettingService,\n gridBookmarkService:GridBookmarkService) {\n super($q, pagingService,notificationService, gridBookmarkService);\n }\n print(template:Template){\n var ids:number[] = this.selectedItems.map((p)=> p.id);\n var printJobs:PrintJob[] = [];\n for (var i = 0; i < ids.length; i++){\n var printJob: PrintJob = new PrintJob(null, ids[i], \"Asset\", template.id, template.useWithService);\n printJobs.push(printJob);\n }\n this.printjobService.prints(printJobs).then(()=>{\n this.notificationService.notify(\"Print Jobs Scheduled successfully.\");\n })\n .catch((exc)=>{\n this.notificationService.notifyError(\"Error printing\", exc);\n });\n\n }\n handleCustomAction(actionName:string):ng.IPromise{\n var assets = this.selectedItems;\n switch(actionName){\n case \"Batch Move\":\n var modalInstance:angular.ui.bootstrap.IModalServiceInstance = this.modal.open({\n animation: true,\n template: require('../../../views/admin.batchmove.html').default,\n controller: 'BatchMoveCtrl',\n size: 'lg',\n resolve: {\n assets: function () {\n return assets;\n }\n }\n });\n return modalInstance.result;\n default:\n return this.$q.resolve();\n }\n }\n getCustomActions():string[]{\n return [\"Batch Print\", \"Batch Move\", \"Server Import\", \"Import\", \"Export\"];\n }\n entityName():string{\n return \"asset\";\n }\n displayName():string{\n return \"Assets\";\n }\n transformItem(entity:Asset){\n if(!this.useMeters){\n var xStr = (entity.vTagX * 3.28084).toFixed(2);\n var yStr = (entity.vTagY * 3.28084).toFixed(2);\n entity.vTagX = Number(xStr);\n entity.vTagY = Number(yStr);\n }\n }\n getColumnDefs():ng.IPromise{\n return this.$q.all([\n this.customFieldNameService.getAssetColumnDefs(),\n this.applicationSettingService.getCached()\n ]).then((data)=>{\n this.nameValuePairs = data[0];\n this.useMeters = data[1].useMeters;\n return this.$q.when();\n });\n }\n}\n","import {BaseEntity} from \"./BaseEntity\";\n\nexport class AlarmAck implements BaseEntity {\n constructor(public id?: number,\n public name?: string,\n public tag?: string,\n public eventType?: string,\n public thresholdType?: string,\n public assetName?: string,\n public assetDescription?: string,\n public ackTime?: string,\n public lastModifiedBy?:string) {\n }\n\n parseJson(json: any): void {\n this.id = json.id;\n this.name = json.name;\n this.tag = json.tag;\n this.eventType = json.eventType;\n this.thresholdType = json.thresholdType;\n this.assetName = json.assetName;\n this.assetDescription = json.assetDescription;\n this.ackTime = json.ackTime; // == null ? \"\" : moment(json.ackTime).format(entities.ApplicationSetting.applicationSetting.dateFormat),\n this.lastModifiedBy = json.lastModifiedBy; // == null ? \"\" : moment(json.lastModifiedBy).format(entities.ApplicationSetting.applicationSetting.dateFormat);\n }\n\n\n}\n","import {BaseEntity, IConstructor} from \"../entities/BaseEntity\";\nimport {HttpHandlerService} from \"./HttpHandlerService\";\nimport {IService} from \"./IService\";\nimport { StateService } from \"@uirouter/angularjs\";\n\nexport class BaseService extends HttpHandlerService implements IService{\n\n constructor($http: ng.IHttpService, $q: ng.IQService, $state: StateService, public ctor:IConstructor) {\n super($http, $q, $state);\n }\n\n private parseArray(jsonArr:any):T[]{\n var arr:T[] = [];\n for(var i:number = 0; i {\n return this.useGetHandler(route,action,params)\n .then(\n (data:any):ng.IPromise< any > => {\n if(data == null)\n return this.$q.when(null);\n else {\n var t: T = new this.ctor();\n t.parseJson(data);\n return this.$q.when(t);\n }\n }\n );\n }\n\n useBaseGetArrayHandler(route:string, action:string, params:any):ng.IPromise< T[] > {\n return this.useGetHandler(route,action,params)\n .then(\n (data:any):ng.IPromise< any > => {\n if(data == null)\n return this.$q.when([]);\n else\n return this.$q.when(this.parseArray(data));\n }\n );\n }\n\n getPaged(search:string,page:number,pageSize:number,orderColumn:string,orderDirection:string):ng.IPromise< T[] > {\n var config:any = {};\n var aoeuoeu = new this.ctor();\n return this.useBaseGetArrayHandler(this.getBasesUrl(),\"Paged?search=\"+this.formatStr(search)+\"&page=\"+page+\"&pageSize=\"+\n pageSize+\"&orderColumn=\"+this.formatStr(orderColumn)+\"&orderDirection=\"+this.formatStr(orderDirection), config);\n }\n\n getCount(search:string=\"\"):ng.IPromise< number > {\n var config:any = {};\n return this.useGetHandler(this.getBasesUrl(),\"Count?search=\"+this.formatStr(search), config);\n }\n\n getAll(search:string=\"\",orderColumn:string=\"\",orderDirection:string=\"\"):ng.IPromise {\n var config:any = {};\n return this.useBaseGetArrayHandler(this.getBasesUrl(),\"?search=\"+search+\"&orderColumn=\"+orderColumn+\"&orderDirection=\"+orderDirection, config);\n }\n\n get(id:number):ng.IPromise {\n var config:any = {};\n return this.useBaseGetHandler(this.getBaseUrl(),\"\"+id, config);\n }\n getMostRecent():ng.IPromise {\n var config:any = {};\n return this.useBaseGetHandler(this.getBaseUrl(),\"MostRecent\", config);\n }\n\n insert(entity:T):ng.IPromise{\n return this.usePostHandler(this.getBaseUrl(),\"\", entity).then((data)=>{\n return this.$q.when(data)\n });\n }\n\n inserts(entities:T[]):ng.IPromise{\n return this.usePostHandler(this.getBasesUrl(),\"\", entities).then((data)=>{\n return this.$q.when(data)\n });\n }\n update(entity:T):ng.IPromise{\n return this.usePutHandler(this.getBaseUrl(),\"\", entity).then((data)=>{\n return this.$q.when(true)\n });\n }\n\n updates(entities:T[]):ng.IPromise{\n return this.usePutHandler(this.getBasesUrl(),\"\", entities).then((data)=>{\n return this.$q.when(data)\n });\n }\n delete(ids:number[]):ng.IPromise{\n if(ids == null || ids.length == 0)\n return this.$q.when(true);\n var action = \"?ids=\"+ids[0];\n for(var i=1; i{\n return this.$q.when(true);\n });\n }\n}\n","import {AlarmAck} from \"../entities/AlarmAck\";\nimport {BaseService} from \"./BaseService\";\nimport { StateService } from \"@uirouter/angularjs\";\n\nexport class AlarmAckService extends BaseService{\n static $inject = ['$http','$q','$state'];\n constructor($http: ng.IHttpService, $q: ng.IQService, $state: StateService) {\n super($http, $q, $state, AlarmAck);\n }\n protected getBaseUrl():string{\n return \"alarmack\";\n }\n}\n","import {BaseEntity} from \"./BaseEntity\";\n\nexport class Alarm implements BaseEntity {\n constructor(public id?: number,\n public alarmTime?: string,\n public rfidTag?: string,\n public readerName?: string,\n public readerLocation?: string,\n public assetName?: string,\n public assetDescription?: string,\n public alertingActionName?: string,\n public eventType?: string,\n public thresholdType?: string,\n public eventDetails?: string,\n public antennaNumber?: string,\n public rSSI?: string,\n public popupRequested?: boolean,\n public lastModifiedBy?:string) {\n }\n\n parseJson(json: any): void {\n this.id = json.id;\n this.alarmTime = json.alarmTime;// == null ? \"\" : moment(json.alarmTime).format(entities.ApplicationSetting.applicationSetting.dateFormat);\n this.rfidTag = json.rfidTag;\n this.readerName = json.readerName;\n this.readerLocation = json.readerLocation;\n this.assetName = json.assetName;\n this.assetDescription = json.assetDescription;\n this.alertingActionName = json.alertingActionName;\n this.eventType = json.eventType;\n this.thresholdType = json.thresholdType;\n this.eventDetails = json.eventDetails;\n this.antennaNumber = json.antennaNumber;\n this.rSSI = json.rSSI;\n this.popupRequested = json.popupRequested;\n this.lastModifiedBy = json.lastModifiedBy;\n }\n}\n","import {Alarm} from \"../entities/Alarm\";\nimport {BaseService} from \"./BaseService\";\nimport { StateService } from \"@uirouter/angularjs\";\n\nexport class AlarmService extends BaseService{\n static $inject = ['$http','$q','$state'];\n constructor($http: ng.IHttpService, $q: ng.IQService, $state: StateService) {\n super($http, $q, $state, Alarm);\n }\n protected getBaseUrl():string{\n return \"alarm\";\n }\n}\n","import {AlertingAction} from \"../entities/AlertingAction\";\nimport {BaseService} from \"./BaseService\";\nimport { StateService } from \"@uirouter/angularjs\";\n\nexport class AlertingActionService extends BaseService{\n static $inject = ['$http','$q','$state'];\n constructor($http: ng.IHttpService, $q: ng.IQService, $state: StateService) {\n super($http, $q, $state, AlertingAction);\n }\n protected getBaseUrl():string{\n return \"alertingaction\";\n }\n}\n","import {BaseEntity} from \"./BaseEntity\";\n\nexport class Antenna implements BaseEntity {\n constructor(public readerID?: number,\n public id?: number,\n public number?: number,\n public alertingActionID?: number,\n public locationID?: number,\n public lastModifiedBy?:string) {\n }\n\n parseJson(json: any): void {\n this.readerID = json.readerID;\n this.id = json.id;\n this.number = json.number;\n this.alertingActionID = json.alertingActionID;\n this.locationID = json.locationID;\n this.lastModifiedBy = json.lastModifiedBy;\n }\n}\n","import {Antenna} from \"../entities/Antenna\";\nimport {BaseService} from \"./BaseService\";\nimport { StateService } from \"@uirouter/angularjs\";\n\nexport class AntennaService extends BaseService{\n static $inject = ['$http','$q','$state'];\n constructor($http: ng.IHttpService, $q: ng.IQService, $state: StateService) {\n super($http, $q, $state, Antenna);\n }\n protected getBaseUrl():string{\n return \"antenna\";\n }\n GetByReader(readerId:number):ng.IPromise{\n var config:any = {};\n return this.useBaseGetArrayHandler(this.getBasesUrl(),\"reader/\"+readerId, config);\n }\n InsertByReader(readerId:number, antennas:Antenna[]):ng.IPromise{\n var config:any = {};\n return this.usePostHandler(this.getBasesUrl(),\"reader/\"+readerId, antennas, config);\n }\n}\n","import {ApplicationSetting} from \"../entities/ApplicationSetting\";\nimport {BaseService} from \"./BaseService\";\nimport { StateService } from \"@uirouter/angularjs\";\nimport { AuthenticationData } from \"../entities/AuthenticationData\";\n\nexport class ApplicationSettingService extends BaseService{\n static $inject = ['$http','$q','$state','localStorageService'];\n static APPSETTINGSKEY:string = \"LOCSTORAGEAPPSETTINGS\";\n constructor($http: ng.IHttpService, $q: ng.IQService, $state: StateService, public locStorage:angular.local.storage.ILocalStorageService) {\n super($http, $q, $state, ApplicationSetting);\n }\n protected getBaseUrl():string{\n return \"applicationsetting\";\n }\n updateLicense(licenseKey:string){\n var config:any = {};\n return this.usePutHandler(this.getBaseUrl(),\"license?licenseKey=\"+encodeURIComponent(licenseKey), config);\n }\n getUseMeters():ng.IPromise{\n return this.getCached().then((data)=>{\n return data.useMeters;\n })\n }\n getUseFahrenheit():ng.IPromise{\n return this.getCached().then((data)=>{\n return data.temperatureFormat == \"Fahrenheit\";\n })\n }\n getAuthenticationServer(): ng.IPromise {\n return this.useGetHandler(this.getBaseUrl(), \"AuthenticationServer\", { skipAuthorization: true });\n }\n getAuthenticationData(): ng.IPromise {\n return this.useGetHandler(this.getBaseUrl(), \"AuthenticationData\", { skipAuthorization: true });\n }\n testChirpstack(baseUrl: string, username: string, password: string): ng.IPromise {\n var config: any = {};\n return this.useGetHandler(this.getBaseUrl(), \"ChirpstackTest?baseUrl=\" + this.formatStr(baseUrl) + '&username=' + this.formatStr(username) + '&password=' + this.formatStr(password), config);\n }\n testCloudEmail(toRecipient: string, username: string, password: string): ng.IPromise {\n var config: any = {};\n return this.usePostHandler(this.getBaseUrl(), \"TestCloudEmail?toRecipient=\" + this.formatStr(toRecipient) + '&username=' + this.formatStr(username) + '&password=' + this.formatStr(password), config);\n }\n testSmtpEmail(host: string, port:number, username: string, password: string, toRecipient:string, enableSsl:boolean): ng.IPromise {\n var config: any = {};\n return this.usePostHandler(this.getBaseUrl(), \"TestSmtpEmail?emailHost=\" + this.formatStr(host) +\n '&emailPort=' + port +\n '&emailUsername=' + this.formatStr(username) +\n '&emailPassword=' + this.formatStr(password) +\n '&enableSsl=' + enableSsl +\n '&toRecipient=' + this.formatStr(toRecipient), config);\n }\n\n getCached(reset:boolean=false):ng.IPromise{\n\n if(reset)\n ApplicationSetting.applicationSetting = null;\n var appSettings = ApplicationSetting.applicationSetting;\n if(appSettings != null) {\n return this.$q.when(appSettings);\n }\n else{\n return this.getMostRecent().then((data)=>{\n var appSettings = data;\n ApplicationSetting.applicationSetting = data;\n return appSettings;\n });\n }\n }\n getCached2(reset:boolean=false):ng.IPromise{\n\n var appSettingsStr:string = this.locStorage.get(ApplicationSettingService.APPSETTINGSKEY);\n var appSettings = null;\n if(appSettingsStr != null && !reset) {\n var appSettingsJson = JSON.parse(appSettingsStr);\n appSettings = new ApplicationSetting();\n appSettings.parseJson(appSettingsJson);\n ApplicationSetting.applicationSetting = appSettings;\n return this.$q.when(appSettings);\n }\n else{\n return this.getMostRecent().then((data)=>{\n var appSettings = data;\n var appSettingsStr = JSON.stringify(data);\n ApplicationSetting.applicationSetting = data;\n this.locStorage.set(ApplicationSettingService.APPSETTINGSKEY,appSettingsStr);\n return appSettings;\n });\n }\n }\n}\n","import {IImportService} from \"./IImportService\";\nimport {Asset} from \"../entities/Asset\";\nimport {BaseService} from \"./BaseService\";\nimport { StateService } from \"@uirouter/angularjs\";\nimport { ImportField } from \"../models/import/ImportField\";\nimport { ImportError } from \"../models/import/ImportError\";\nimport { ImportColumn } from \"../models/import/ImportColumn\";\nimport { ServerImportField } from \"../models/serverimport/ServerImportField\";\n\nexport class AssetService extends BaseService implements IImportService{\n static $inject = ['$http', '$q', '$state'];\n constructor($http: ng.IHttpService, $q: ng.IQService, $state: StateService) {\n super($http, $q, $state, Asset);\n }\n protected getBaseUrl(): string {\n return \"asset\";\n }\n updateCheckin(assetId: number, locationId: number, checkinStatus: string, checkedOutTo: string) {\n var config: any = {};\n return this.usePutHandler(this.getBaseUrl(), \"checkin?assetID=\" + assetId + \"&locationId=\"+locationId+\"&checkinStatus=\" + checkinStatus + \"&checkedOutTo=\" + checkedOutTo, config);\n }\n updateLocation(assetId: number, locationId: number, changePrimaryLocation: boolean) {\n var config: any = {};\n return this.usePutHandler(this.getBaseUrl(), \"location?assetID=\" + assetId + \"&locationId=\" + locationId + \"&changePrimaryLocation=\" + changePrimaryLocation, config);\n }\n getMaintenanceReport(search: string, locationName:string, locationSite:string, startDate: string, endDate: string) {\n var config: any = {\n headers: {\n 'Content-type': 'application/json',\n 'Accept': 'application/vnd.openxmlformats-officedocument.spreadsheetml.sheet'\n },\n responseType: 'arraybuffer'\n };\n return this.useGetHandler(\"Report\", \"ScheduledMaintenance?search=\" + name + \"&locationName=\" + locationName + \"&locationSite=\" + locationSite + \"&startDate=\" + startDate + \"&endDate=\" + endDate, config);\n }\n getByMaintenance(search: string, locationName: string, locationSite: string, startDate: string, endDate: string): ng.IPromise {\n var config: any = {};\n return this.useBaseGetArrayHandler(this.getBasesUrl(), \"maintenance?search=\" + search + \"&locationName=\" + locationName + \"&locationSite=\" + locationSite + \"&startDate=\" + startDate + \"&endDate=\" + endDate, config);\n }\n getByMaintenanceCount(search: string, locationName:string, locationSite:string, startDate: string, endDate: string): ng.IPromise {\n var config: any = {};\n return this.useGetHandler(this.getBasesUrl(), \"maintenanceCount?search=\" + search + \"&locationName=\" + locationName + \"&locationSite=\" + locationSite + \"&startDate=\" + startDate + \"&endDate=\" + endDate, config);\n }\n getByName(name: string): ng.IPromise {\n var config: any = {};\n // Modified 022519 by BA to put name as a query parameter to handle special characters (# and %)\n return this.useBaseGetHandler(this.getBaseUrl(), \"name?name=\" + encodeURIComponent(name), config);\n }\n getByVTag(tagId: string): ng.IPromise {\n var config: any = {};\n return this.useBaseGetHandler(this.getBaseUrl(), \"vtag/\" + tagId, config);\n }\n getCurrentAssetNameSerial(): ng.IPromise {\n var config: any = {};\n return this.useGetHandler(this.getBaseUrl(), \"currentAssetNameSerial\", config);\n }\n getByRfid(tagId: string): ng.IPromise {\n var config: any = {};\n return this.useBaseGetHandler(this.getBaseUrl(), \"rfidtag/\" + tagId, config);\n }\n getByGps(tagId: string): ng.IPromise {\n var config: any = {};\n return this.useBaseGetHandler(this.getBaseUrl(), \"VTagGPS/\" + tagId, config);\n }\n batchMove(ids: number[], locationId: number): ng.IPromise {\n return this.usePutHandler(this.getBasesUrl(), \"move?locationId=\" + locationId, ids);\n }\n getFixedChildren(vtagId: string): ng.IPromise {\n return this.useBaseGetArrayHandler(\"assetvtags\", \"nearestToFixed/\" + vtagId, {});\n }\n // Modified 03/27/20 by BA to include GPS\n getFirstVTagAndGpsMatch(search: string): ng.IPromise {\n var config: any = {};\n return this.useBaseGetHandler(\"assetvtag\", \"firstVTagMatch?search=\" + search, config);\n }\n // Modified 03/27/20 by BA to include GPS\n getVTagAndGpsAssetsBySite(mapSiteId: number): ng.IPromise {\n return this.useBaseGetArrayHandler(\"assetvtags\", \"site?siteId=\" + mapSiteId, {});\n }\n getBatteryLevelReport(count: number) {\n var config: any = {\n headers: {\n 'Content-type': 'application/json',\n 'Accept': 'application/vnd.openxmlformats-officedocument.spreadsheetml.sheet'\n },\n responseType: 'arraybuffer'\n };\n return this.useGetHandler(\"Report\", \"BatteryLevels?count=\" + count, config);\n }\n getBatteryLevels(count: number) {\n var config: any = {};\n return this.useGetHandler(\"assetvtags\", \"BatteryLevels?count=\" + count, config);\n }\n // Modified 03/27/20 by BA to include GPS\n getChangedVTagAndGpsAssetsBySite(mapSiteId: number, lastChecked: string): ng.IPromise {\n var config: any = {};\n return this.useBaseGetArrayHandler(\"assetvtags\", \"changed?siteId=\" + mapSiteId + \"&lastChecked=\" + lastChecked, config);\n }\n getReportCount(name: string, location: string, locationSite: string, tagType: string, assetType: string, department: string, disposalStatus: string, checkinStatus: string, missing: string): ng.IPromise {\n var config: any = {};\n return this.useGetHandler(this.getBasesUrl(), \"ReportCount?name=\" + name + \"&location=\" + location + \"&locationSite=\" + locationSite + \"&tagType=\" + tagType + \"&assetType=\" + assetType + \"&department=\" + department + \"&disposalStatus=\"\n + disposalStatus + \"&checkinStatus=\" + checkinStatus + \"&missing=\" + missing, config);\n }\n getReport(name: string, location: string, locationSite:string, tagType:string, assetType: string, department: string, disposalStatus: string, checkinStatus: string, missing: string) {\n var config: any = {\n headers: {\n 'Content-type': 'application/json',\n 'Accept': 'application/vnd.openxmlformats-officedocument.spreadsheetml.sheet'\n },\n responseType: 'arraybuffer'\n };\n var timeZoneId = Intl.DateTimeFormat().resolvedOptions().timeZone;\n return this.useGetHandler(\"Report\", \"Assets?timeZoneId=\" + timeZoneId+\"&name=\" + name + \"&location=\" + location + \"&locationSite=\" + locationSite + \"&tagType=\" + tagType + \"&assetType=\" + assetType + \"&department=\" + department + \"&disposalStatus=\"\n + disposalStatus + \"&checkinStatus=\" + checkinStatus + \"&missing=\" + missing, config);\n }\n getReportItems(name: string, location: string, assetType: string, department: string, disposalStatus: string, checkinStatus: string, missing: string): ng.IPromise {\n var config: any = {};\n //TODO: work on this. not implemented\n return this.useBaseGetArrayHandler(this.getBasesUrl(), \"Report?name=\" + name + \"&location=\" + location + \"&assetType=\" + assetType + \"&department=\" + department + \"&disposalStatus=\"\n + disposalStatus + \"&checkinStatus=\" + checkinStatus + \"&missing=\" + missing, config);\n }\n getMaintenanceReportCount(name: string, location: string, assetType: string, department: string, disposalStatus: string, checkinStatus: string, missing: string): ng.IPromise {\n var config: any = {};\n //TODO: work on this. not implemented\n return this.useGetHandler(this.getBasesUrl(), \"getMaintenanceReportCount?name=\" + name + \"&location=\" + location + \"&assetType=\" + assetType + \"&department=\" + department + \"&disposalStatus=\"\n + disposalStatus + \"&checkinStatus=\" + checkinStatus + \"&missing=\" + missing, config);\n }\n getMaintenanceReportItems(name: string, location: string, assetType: string, department: string, disposalStatus: string, checkinStatus: string, missing: string): ng.IPromise {\n var config: any = {};\n //TODO: work on this. not implemented\n return this.useBaseGetArrayHandler(this.getBasesUrl(), \"getMaintfgenanceReportItems?name=\" + name + \"&location=\" + location + \"&assetType=\" + assetType + \"&department=\" + department + \"&disposalStatus=\"\n + disposalStatus + \"&checkinStatus=\" + checkinStatus + \"&missing=\" + missing, config);\n }\n getImportFields(): ng.IPromise {\n var config: any = {};\n //TODO: work on this. not implemented\n return this.useGetHandler(this.getBasesUrl(), \"importFields\", config);\n }\n getImportColumns(fileId: string): ng.IPromise {\n var config: any = {};\n //TODO: work on this. not implemented\n return this.useGetHandler(this.getBasesUrl(), \"ImportColumns?fileId=\" + fileId, config);\n }\n importFile(fileId: string, importFields: ServerImportField[], test: boolean): ng.IPromise {\n return this.usePostHandler(this.getBasesUrl(), 'serverImport?fileId=' + fileId + '&test=' + test, importFields);\n }\n importFileProgress(fileId: string): ng.IPromise {\n return this.useGetHandler(this.getBasesUrl(), \"serverimportprogress?fileId=\" + fileId, {});\n }\n importResults(fileId: string): ng.IPromise {\n return this.useGetHandler(this.getBasesUrl(), \"serverimportresults?fileId=\" + fileId, {});\n }\n import(entities:Asset[],test:boolean):ng.IPromise{\n return this.usePostHandler(this.getBasesUrl(),\"import?test=\"+test, entities);\n }\n clearAllRtlsInformation():ng.IPromise{\n var config:any = {};\n return this.useDeleteHandler(\"assetvtags\",\"rtlsInformation\", config);\n }\n associateChildren(assetIds:number[], parentId:number):ng.IPromise{\n return this.usePutHandler(this.getBasesUrl(),\"children?parentID=\"+parentId, assetIds);\n }\n removeChildren(assetIds:number[]):ng.IPromise{\n var assetIdString = \"assetIds=\"+assetIds[0];\n for(var i=1;i{\n var config:any = {};\n var strParentID:string = parentID == null ? \"\" : parentID+\"\";\n return this.useGetHandler(this.getBasesUrl(),\"countUsableChildren?parentID=\"+strParentID+\"&search=\"+search, config);\n }\n getPagedUsableChildren(parentID:number,search:string,page:number,pageSize:number,orderColumn:string,orderDirection:string):ng.IPromise{\n var config:any = {};\n var strParentID:string = parentID == null ? \"\" : parentID+\"\";\n return this.useBaseGetArrayHandler(this.getBasesUrl(),\"pagedUsableChildren?parentID=\"+strParentID+\"&search=\"+search+\"&page=\"+page+\"&pageSize=\"+pageSize+\"&orderColumn=\"+orderColumn+\"&orderDirection=\"+orderDirection, config);\n }\n // Modified 03/27/20 by BA to include GPS\n getVTagAndGpsAssetsCount(search:string):ng.IPromise{\n var config:any = {};\n return this.useGetHandler(\"assetvtags\",\"count?search=\"+search, config);\n }\n // Modified 03/27/20 by BA to include GPS\n getVTagAndGpsAssetsPaged(search:string,page:number,pageSize:number,orderColumn:string,orderDirection:string):ng.IPromise{\n var config:any = {};\n return this.useBaseGetArrayHandler(\"assetvtags\",\"paged?search=\"+search+\"&page=\"+page+\"&pageSize=\"+pageSize+\"&orderColumn=\"+orderColumn+\"&orderDirection=\"+orderDirection, config);\n }\n getChildren(assetId:number):ng.IPromise{\n return this.useBaseGetArrayHandler(\"assets\",\"children/\"+assetId, {});\n }\n}\n","import {BaseEntity} from \"./BaseEntity\";\n\nexport class CheckoutHistory implements BaseEntity {\n constructor(\n public id?:number,\n public checkinStatus?:string,\n public individual?:string,\n public assetName?: string,\n public locationName?: string,\n public transactionTime?:string,\n public assetID?: string,\n public locationID?: string ) {\n }\n parseJson(json: any): void {\n this.id = json.id;\n this.checkinStatus = json.checkinStatus;\n this.individual = json.individual;\n this.assetName = json.assetName;\n this.locationName = json.locationName;\n this.transactionTime = json.transactionTime;\n this.assetID = json.assetID;\n this.locationID = json.locationID;\n }\n}\n","import {BaseService} from \"./BaseService\";\nimport {CheckoutHistory} from \"../entities/CheckoutHistory\";\nimport { StateService } from \"@uirouter/angularjs\";\n\nexport class CheckoutHistoryService extends BaseService{\n static $inject = ['$http','$q','$state'];\n constructor($http: ng.IHttpService, $q: ng.IQService, $state: StateService) {\n super($http, $q, $state, CheckoutHistory);\n }\n protected getBaseUrl():string{\n return \"checkouthistory\";\n }\n protected getBasesUrl():string{\n return \"checkouthistories\";\n }\n getByAsset(assetId:number){\n var config:any = {};\n return this.useBaseGetArrayHandler(this.getBasesUrl(),\"asset/\"+assetId, config);\n }\n getReport(assetname: string, username: string, startDate: string, endDate: string){\n var config:any = {\n headers: {\n 'Content-type': 'application/json',\n 'Accept': 'application/vnd.openxmlformats-officedocument.spreadsheetml.sheet'\n },\n responseType: 'arraybuffer'\n };\n var timeZoneId = Intl.DateTimeFormat().resolvedOptions().timeZone;\n return this.useGetHandler(\"Report\", \"CheckoutHistory?timeZoneId=\" + timeZoneId + \"&name=\" + \"&assetName=\" + assetname + \"&username=\" + username + \"&startDate=\" + startDate + \"&endDate=\" + endDate, config);\n }\n getReportCount(assetname:string,username:string, startDate:string, endDate:string){\n var config:any = {};\n return this.useGetHandler(this.getBasesUrl(), \"ReportCount?name=\" + assetname + \"&username=\" + username + \"&startDate=\" + startDate + \"&endDate=\" + endDate, config);\n }\n getReportItems(assetname:string,username:string):ng.IPromise{\n var config:any = {};\n return this.useBaseGetArrayHandler(this.getBasesUrl(),\"Report?name=\"+assetname+\"&username=\"+username, config);\n }\n}\n","import {BaseEntity} from \"./BaseEntity\";\n\nexport class ConfigSetting implements BaseEntity {\n constructor(public id?: number,\n public name?: string,\n public value?: string) {\n }\n\n parseJson(json: any): void {\n this.id = json.id;\n this.name = json.name;\n this.value = json.value;\n }\n}\n","import {ConfigSetting} from \"../entities/ConfigSetting\";\nimport {BaseService} from \"./BaseService\";\nimport { StateService } from \"@uirouter/angularjs\";\n\nexport class ConfigSettingService extends BaseService{\n static CMDACTIVETIMEOUT:string = \"CMDACTIVETIMEOUT\";\n static CMDUSEMETERS:string = \"CMDUSEMETERS\";\n static CMDMAPREFRESH:string = \"CMDMAPREFRESH\";\n static $inject = ['$http','$q','$state','localStorageService'];\n constructor($http: ng.IHttpService, $q: ng.IQService, $state: StateService,public locStorage:angular.local.storage.ILocalStorageService) {\n super($http, $q, $state, ConfigSetting);\n }\n protected getBaseUrl():string{\n return \"configsetting\";\n }\n getByName(name:string):ng.IPromise< ConfigSetting > {\n var config:any = {};\n return this.useBaseGetHandler(this.getBaseUrl(),\"?name=\"+name, config);\n }\n add(name:string,value:string):ng.IPromise{\n return this.usePostHandler(this.getBaseUrl(),\"?name=\"+name+\"&value=\"+value, null).then((data)=>{\n return this.$q.when(true);\n });\n }\n getCmdActiveTimeout(ignoreLocal:boolean=false):ng.IPromise{\n var activeTimout:number = this.locStorage.get(ConfigSettingService.CMDACTIVETIMEOUT);\n if (activeTimout != null && !ignoreLocal) {\n return this.$q.when(activeTimout);\n }\n return this.getByName(ConfigSettingService.CMDACTIVETIMEOUT).then((data)=>{\n var activeTimeout:number = parseInt(data.value);\n this.locStorage.set(ConfigSettingService.CMDACTIVETIMEOUT,activeTimeout);\n return this.$q.when(activeTimeout);\n });\n }\n getCmdUseMeters(ignoreLocal:boolean=false):ng.IPromise{\n var useMeters:boolean = this.locStorage.get(ConfigSettingService.CMDUSEMETERS);\n if (useMeters != null && !ignoreLocal) {\n return this.$q.when(useMeters);\n }\n return this.getByName(ConfigSettingService.CMDUSEMETERS).then((data)=>{\n var useMeters:boolean = data.value === \"true\" ? true : false;\n this.locStorage.set(ConfigSettingService.CMDUSEMETERS,useMeters);\n return this.$q.when(useMeters);\n });\n }\n getCmdMapRefresh(ignoreLocal:boolean=false):ng.IPromise{\n var mapRefresh:number = this.locStorage.get(ConfigSettingService.CMDMAPREFRESH);\n if (mapRefresh != null && !ignoreLocal) {\n return this.$q.when(mapRefresh);\n }\n return this.getByName(ConfigSettingService.CMDMAPREFRESH).then((data)=>{\n var mapRefresh:number = parseInt(data.value);\n this.locStorage.set(ConfigSettingService.CMDMAPREFRESH,mapRefresh);\n return this.$q.when(mapRefresh);\n });\n }\n}\n","import {BaseEntity} from \"./BaseEntity\";\n\nexport class Event implements BaseEntity {\n constructor(\n public id?:number,\n public eventTime?:string,\n public rfidTag?: string,\n public vTagID?: string,\n public readerName?:string,\n public readerLocation?:string,\n public assetName?:string,\n public assetDescription?:string,\n public eventType?:string,\n public thresholdType?:string,\n public eventDetails?:string,\n public filterAnnotation?:string,\n public antennaNumber?:string,\n public rssi?:string){\n }\n parseJson(json: any): void {\n this.id = json.id;\n this.eventTime = json.eventTime;\n this.rfidTag = json.rfidTag;\n this.vTagID = json.vTagID;\n this.readerName = json.readerName;\n this.readerLocation = json.readerLocation;\n this.assetName = json.assetName;\n this.assetDescription = json.assetDescription;\n this.eventType = json.eventType;\n this.thresholdType = json.thresholdType;\n this.eventDetails = json.eventDetails;\n this.filterAnnotation = json.filterAnnotation;\n this.antennaNumber = json.antennaNumber;\n this.rssi = (json.rssi === \"255\") ? \"\" : json.rssi;\n }\n\n}\n","import {BaseService} from \"./BaseService\";\nimport {Event} from '../entities/Event'\nimport { StateService } from \"@uirouter/angularjs\";\n\nexport class EventService extends BaseService{\n static $inject = ['$http','$q', '$state'];\n constructor($http: ng.IHttpService, $q: ng.IQService, $state: StateService) {\n super($http, $q, $state, Event);\n }\n protected getBaseUrl():string{\n return \"event\";\n }\n}\n","import {HttpHandlerService} from \"./HttpHandlerService\";\nimport { StateService } from \"@uirouter/angularjs\";\n\nexport class FileDataService extends HttpHandlerService {\n static $inject = ['$http','$q','$state'];\n constructor($http: ng.IHttpService, $q: ng.IQService, $state: StateService) {\n super($http,$q,$state);\n }\n getBaseUrl():string{\n return \"filedata\";\n }\n insert(b64Data:string):ng.IPromise{\n var postData:any = JSON.stringify(b64Data);\n return this.usePostHandler(this.getBaseUrl(),\"\", postData).then((data)=>{\n return this.$q.when(data)\n });\n }\n update(id:number,b64Data:string):ng.IPromise{\n var postData:any = JSON.stringify(b64Data);\n return this.usePutHandler(this.getBaseUrl(),\"\"+id, postData).then((data)=>{\n return this.$q.when(true)\n });\n }\n delete(id:number):ng.IPromise{\n return this.useDeleteHandler(this.getBaseUrl(),\"\"+id, {}).then((data)=>{\n return this.$q.when(true);\n });\n }\n get(id:number):ng.IPromise{\n return this.useGetHandler(this.getBaseUrl(),\"\"+id, {});\n }\n //getImage(id:number):ng.IPromise{\n // return this.useGetHandler(this.getBaseUrl(),\"getImage?id=\"+id, {});\n //}\n getImageSize(id:number):ng.IPromise{\n return this.useGetHandler(this.getBaseUrl(),\"ImageSize/\"+id, {});\n }\n\n getImageType(id:number):ng.IPromise{\n return this.useGetHandler(this.getBaseUrl(),\"ImageType/\"+id, {});\n }\n\n}\n","import {BaseEntity} from \"./BaseEntity\";\nimport {IVTag} from \"./IVTag\";\n\nexport class FixedVTag implements BaseEntity, IVTag {\n vTagPositionType:string = \"Fixed\";\n constructor(public id?:number,\n public name?:string,\n public vTagID?:string,\n public vTagX?:number,\n public vTagY?:number,\n public vTagZ?:number,\n public locationID?:number,\n public vTagLastSeen?:string,\n public batteryLevel?:number,\n public locationName?:string,\n public readerID?:number,\n public readerName?:string,\n public vTagType?:string,\n public lastModifiedBy?:string) {\n }\n isActiveTag(minutes:number){\n var nowDate:number = Date.now();\n var lastSeenDate:number = this.vTagLastSeen == null ? Date.now() : Date.parse(this.vTagLastSeen);\n var diffDate:number = nowDate - lastSeenDate;\n var diffMinutes:number = Math.abs(diffDate /60000);\n //console.log(\"fixed tag \"+this.vTagID+\" lastSeen=\"+this.vTagLastSeen+\" and diffMinutes=\"+diffMinutes+\" and minutes=\"+minutes);\n if(diffMinutes > minutes)\n return false;\n else\n return true;\n }\n isGPSTag():boolean{\n if(this.vTagType == \"VTag GPS\")\n return true;\n else if(this.vTagID != null && this.vTagID.length > 0 && this.vTagID.charAt(0) == 'D')\n return true;\n else\n return false;\n }\n isRecentlyActive(){\n var nowDate:number = Date.now();\n var lastSeenDate:number = this.vTagLastSeen == null ? Date.now() : Date.parse(this.vTagLastSeen);\n var diffDate:number = nowDate - lastSeenDate;\n var diffMinutes:number = Math.abs(diffDate /60000);\n if(diffMinutes < 5)\n return true;\n else\n return false;\n }\n search(txt:string):boolean{\n if(txt == null || txt.length == 0)\n return true;\n var search:string = txt.toLowerCase();\n if(this.vTagID != null && this.vTagID.toLowerCase().indexOf(search) != -1)\n return true;\n if(this.locationName != null && this.locationName.toLowerCase().indexOf(search) != -1)\n return true;\n if(this.readerName != null && this.readerName.toLowerCase().indexOf(search) != -1)\n return true;\n return false;\n }\n\n parseJson(json:any):void{\n this.id = json.id;\n this.name = json.name;\n this.vTagID = json.vTagID;\n this.vTagX = json.vTagX;\n this.vTagY = json.vTagY,\n this.vTagZ = json.vTagZ,\n this.vTagType = json.vTagType,\n this.batteryLevel = json.batteryLevel != null ? json.batteryLevel.toFixed(2) : null,\n this.locationName = json.locationName,\n this.locationID = json.locationID,\n this.readerName = json.readerName,\n this.vTagLastSeen = json.vTagLastSeen == null ? \"\" : json.vTagLastSeen;\n this.readerID = json.readerID;\n this.lastModifiedBy = json.lastModifiedBy;\n }\n hasVTagData(){\n if(this.vTagX != null && this.vTagY != null)\n return true;\n else\n return false;\n }\n}\n","import {FixedVTag} from \"../entities/FixedVTag\";\nimport {BaseService} from \"./BaseService\";\nimport { StateService } from \"@uirouter/angularjs\";\n\nexport class FixedVTagService extends BaseService{\n static $inject = ['$http','$q','$state'];\n constructor($http: ng.IHttpService, $q: ng.IQService, $state: StateService) {\n super($http, $q, $state, FixedVTag);\n }\n protected getBaseUrl():string{\n return \"fixedvtag\";\n }\n clearAllRtlsInformation():ng.IPromise{\n var config:any = {};\n return this.useDeleteHandler(this.getBasesUrl(),\"rtlsInformation\", config);\n }\n getBySite(mapSiteId:number):ng.IPromise{\n return this.useBaseGetArrayHandler(this.getBasesUrl(),\"site?siteId=\"+mapSiteId, {});\n }\n getChangedBySite(mapSiteId:number, lastChecked:string):ng.IPromise{\n var config:any = {};\n return this.useBaseGetArrayHandler(this.getBasesUrl(),\"changed?siteId=\"+mapSiteId+\"&lastChecked=\"+lastChecked, config);\n }\n getFirstVTagMatch(search:string):ng.IPromise{\n var config:any = {};\n return this.useBaseGetHandler(this.getBaseUrl(),\"firstVTagMatch?search=\"+search, config);\n }\n}\n","import {BaseEntity} from \"./BaseEntity\";\n\nexport class GpsLocationHistory implements BaseEntity {\n constructor(\n public id?:number,\n public timeSeen?:string,\n public assetID?:string,\n public latitude?:number,\n public longitude?:number){\n }\n parseJson(json: any): void {\n this.id = json.id;\n this.timeSeen = json.timeSeen;\n this.assetID = json.assetID;\n this.latitude = json.latitude;\n this.longitude = json.longitude;\n }\n}\n","import { GpsLocationHistory } from \"../entities/GpsLocationHistory\";\nimport { BaseService } from \"./BaseService\";\nimport { StateService } from \"@uirouter/angularjs\";\n\nexport class GpsLocationHistoryService extends BaseService{\n static $inject = ['$http','$q','$state'];\n constructor($http: ng.IHttpService, $q: ng.IQService, $state: StateService) {\n super($http, $q, $state, GpsLocationHistory);\n }\n protected getBaseUrl():string{\n return \"gpslocationhistory\";\n }\n protected getBasesUrl():string{\n return \"gpslocationhistories\";\n }\n getByAsset(assetId:number):ng.IPromise{\n var config:any = {};\n return this.useBaseGetArrayHandler(this.getBasesUrl(),\"asset/\"+assetId, config);\n }\n getCountByAsset(assetId:number):ng.IPromise{\n var config:any = {};\n return this.useGetHandler(this.getBasesUrl(),\"assetcount/\"+assetId, config);\n }\n getReport(groupByAsset: boolean, name: string, location: string, assetType: string, department: string, disposalStatus: string, checkinStatus: string, missing: string) {\n var config: any = {\n headers: {\n 'Content-type': 'application/json',\n 'Accept': 'application/vnd.openxmlformats-officedocument.spreadsheetml.sheet'\n },\n responseType: 'arraybuffer'\n };\n var timeZoneId = Intl.DateTimeFormat().resolvedOptions().timeZone;\n return this.useGetHandler(\"Report\", \"GpsLocationHistory?timeZoneId=\" + timeZoneId + \"&groupByAsset=\" + groupByAsset + \"&name=\" + name + \"&location=\" + location + \"&assetType=\" + assetType + \"&department=\" + department + \"&disposalStatus=\"\n + disposalStatus + \"&checkinStatus=\" + checkinStatus + \"&missing=\" + missing, config);\n }\n getReportCount(groupByAsset: boolean, name: string, location: string, assetType: string, department: string, disposalStatus: string, checkinStatus: string, missing: string) {\n var config: any = {};\n return this.useGetHandler(this.getBasesUrl(), \"ReportCount?groupByAsset=\" + groupByAsset + \"&name=\" + name + \"&location=\" + location + \"&assetType=\" + assetType + \"&department=\" + department + \"&disposalStatus=\"\n + disposalStatus + \"&checkinStatus=\" + checkinStatus + \"&missing=\" + missing, config);\n }\n getReportItems(groupByAsset: boolean, name: string, location: string, assetType: string, department: string, disposalStatus: string, checkinStatus: string, missing: string): ng.IPromise {\n var config: any = {};\n return this.useBaseGetArrayHandler(this.getBasesUrl(), \"Report?groupByAsset=\" + groupByAsset + \"&name=\" + name + \"&location=\" + location + \"&assetType=\" + assetType + \"&department=\" + department + \"&disposalStatus=\"\n + disposalStatus + \"&checkinStatus=\" + checkinStatus + \"&missing=\" + missing, config);\n }\n}\n","import {BaseEntity} from \"./BaseEntity\";\n\nexport class LocationHistory implements BaseEntity {\n constructor(\n public id?:number,\n public locationName?:string,\n public assetName?:string,\n public timeSeen?: string,\n public timeLeft?: string,\n public assetID?:string){\n }\n parseJson(json: any): void {\n this.id = json.id;\n this.locationName = json.locationName;\n this.assetName = json.assetName;\n this.timeSeen = json.timeSeen;\n this.timeLeft = json.timeLeft;\n this.assetID = json.assetID;\n }\n}\n","import {BaseService} from \"./BaseService\";\nimport {LocationHistory} from \"../entities/LocationHistory\";\nimport { StateService } from \"@uirouter/angularjs\";\n\nexport class LocationHistoryService extends BaseService{\n static $inject = ['$http','$q','$state'];\n constructor($http: ng.IHttpService, $q: ng.IQService, $state: StateService) {\n super($http, $q, $state, LocationHistory);\n }\n protected getBaseUrl():string{\n return \"locationhistory\";\n }\n protected getBasesUrl():string{\n return \"locationhistories\";\n }\n getByAsset(assetId:number):ng.IPromise{\n var config:any = {};\n return this.useBaseGetArrayHandler(this.getBasesUrl(),\"asset/\"+assetId, config);\n }\n getReport(groupByAsset:boolean,name:string,location:string,assetType:string,department:string,disposalStatus:string,checkinStatus:string,missing:string){\n var config:any = {\n headers: {\n 'Content-type': 'application/json',\n 'Accept': 'application/vnd.openxmlformats-officedocument.spreadsheetml.sheet'\n },\n responseType: 'arraybuffer'\n };\n var timeZoneId = Intl.DateTimeFormat().resolvedOptions().timeZone;\n return this.useGetHandler(\"Report\", \"LocationHistory?timeZoneId=\" + timeZoneId + \"&groupByAsset=\"+groupByAsset+\"&name=\"+name+\"&location=\"+location+\"&assetType=\"+assetType+\"&department=\"+department+\"&disposalStatus=\"\n +disposalStatus+\"&checkinStatus=\"+checkinStatus+\"&missing=\"+missing, config);\n }\n getReportCount(groupByAsset:boolean,name:string,location:string,assetType:string,department:string,disposalStatus:string,checkinStatus:string,missing:string){\n var config:any = {};\n return this.useGetHandler(this.getBasesUrl(),\"ReportCount?groupByAsset=\"+groupByAsset+\"&name=\"+name+\"&location=\"+location+\"&assetType=\"+assetType+\"&department=\"+department+\"&disposalStatus=\"\n +disposalStatus+\"&checkinStatus=\"+checkinStatus+\"&missing=\"+missing, config);\n }\n getReportItems(groupByAsset:boolean,name:string,location:string,assetType:string,department:string,disposalStatus:string,checkinStatus:string,missing:string):ng.IPromise{\n var config:any = {};\n return this.useBaseGetArrayHandler(this.getBasesUrl(),\"Report?groupByAsset=\"+groupByAsset+\"&name=\"+name+\"&location=\"+location+\"&assetType=\"+assetType+\"&department=\"+department+\"&disposalStatus=\"\n +disposalStatus+\"&checkinStatus=\"+checkinStatus+\"&missing=\"+missing, config);\n }\n}\n","import {BaseEntity} from \"./BaseEntity\";\n\nexport class Location implements BaseEntity {\n constructor(public id?: number,\n public name?: string,\n public site?: string,\n public building?: string,\n public floor?: string,\n public room?: string,\n public description?: string,\n public rfidTag?: string,\n public lastModifiedBy?:string) {\n }\n\n parseJson(json: any): void {\n this.id = json.id;\n this.name = json.name;\n this.site = json.site;\n this.building = json.building;\n this.floor = json.floor;\n this.room = json.room;\n this.description = json.description;\n this.rfidTag = json.rfidTag;\n this.lastModifiedBy = json.lastModifiedBy;\n }\n}\n","import {IImportService} from \"./IImportService\";\nimport {BaseService} from \"./BaseService\";\nimport {Location} from '../entities/Location'\nimport { StateService } from \"@uirouter/angularjs\";\nimport { ImportField } from \"../models/import/ImportField\";\nimport { ImportError } from \"../models/import/ImportError\";\nimport { ServerImportField } from \"../models/serverimport/ServerImportField\";\nimport { ImportColumn } from \"../models/import/ImportColumn\";\n\nexport class LocationService extends BaseService implements IImportService{\n static $inject = ['$http','$q','$state'];\n constructor($http: ng.IHttpService, $q: ng.IQService, $state: StateService) {\n super($http, $q, $state, Location);\n }\n protected getBaseUrl():string{\n return \"location\";\n }\n getByName(name:string):ng.IPromise{\n // Modified 022519 by BA to put name as a query parameter to handle special characters (# and %)\n return this.useBaseGetHandler(this.getBaseUrl(),\"name?name=\"+ encodeURIComponent(name), {});\n }\n getByRfid(rfidTag:string):ng.IPromise{\n return this.useBaseGetHandler(this.getBaseUrl(),\"rfidtag/\"+rfidTag, {});\n }\n importFile(fileId: string, importFields: ServerImportField[], test: boolean): ng.IPromise {\n return this.usePostHandler(this.getBasesUrl(), 'serverImport?fileId=' + fileId + '&test=' + test, importFields);\n }\n importFileProgress(fileId: string): ng.IPromise {\n return this.useGetHandler(this.getBasesUrl(), \"serverimportprogress?fileId=\" + fileId, {});\n }\n importResults(fileId: string): ng.IPromise {\n return this.useGetHandler(this.getBasesUrl(), \"serverimportresults?fileId=\" + fileId, {});\n }\n getImportColumns(fileId: string): ng.IPromise {\n var config: any = {};\n //TODO: work on this. not implemented\n return this.useGetHandler(this.getBasesUrl(), \"ImportColumns?fileId=\" + fileId, config);\n }\n getImportFields():ng.IPromise{\n var config:any = {};\n return this.useGetHandler(this.getBasesUrl(),\"importFields\", config);\n }\n getReport(search:string){\n var config:any = {\n headers: {\n 'Content-type': 'application/json',\n 'Accept': 'application/vnd.openxmlformats-officedocument.spreadsheetml.sheet'\n },\n responseType: 'arraybuffer'\n };\n return this.useGetHandler(\"Report\",\"Locations?search=\"+search, config);\n }\n import(entities:Location[],test:boolean):ng.IPromise{\n return this.usePostHandler(this.getBasesUrl(),\"import?test=\"+test, entities);\n }\n}\n","import {BaseEntity} from \"./BaseEntity\";\n\nexport class MaintenanceHistory implements BaseEntity {\n constructor(public id?: number,\n public assetID?: number,\n public whenPerformed?: string,\n public actionPerformed?: string,\n public notes?: string,\n public performedBy?: string,\n public regularMaintenance?: boolean) {\n if(whenPerformed == null){\n var currentDate = new Date()\n var day = currentDate.getDate()\n var month = currentDate.getMonth() + 1\n var year = currentDate.getFullYear()\n this.whenPerformed = year + \"-\" + month + \"-\" + day;\n }\n\n }\n parseJson(json: any): void {\n this.id = json.id;\n this.assetID = json.assetID;\n this.whenPerformed = json.whenPerformed;\n this.actionPerformed = json.actionPerformed;\n this.notes = json.notes;\n this.performedBy = json.performedBy;\n this.regularMaintenance = json.regularMaintenance;\n }\n}\n","import {BaseService} from \"./BaseService\";\nimport {MaintenanceHistory} from \"../entities/MaintenanceHistory\";\nimport { StateService } from \"@uirouter/angularjs\";\n\nexport class MaintenanceHistoryService extends BaseService{\n static $inject = ['$http','$q','$state'];\n constructor($http: ng.IHttpService, $q: ng.IQService, $state: StateService) {\n super($http, $q, $state, MaintenanceHistory);\n }\n protected getBaseUrl():string{\n return \"maintenancehistory\";\n }\n protected getBasesUrl():string{\n return \"maintenancehistories\";\n }\n getByAsset(assetId:number):ng.IPromise{\n var config:any = {};\n return this.useBaseGetArrayHandler(this.getBasesUrl(),\"asset/\"+assetId, config);\n }\n}\n","import {BaseEntity} from \"./BaseEntity\";\n\nexport class MapArea implements BaseEntity {\n constructor(\n public id?:number,\n public mapSiteID?:number,\n public floorLevel?:number,\n public name?:string,\n public pixelsPerMeter?:number,\n public imageWidth?:number,\n public imageHeight?:number,\n public geo1PixelsX?:number,\n public geo1PixelsY?:number,\n public geo1Latitude?:number,\n public geo1Longitude?:number,\n public geo2PixelsX?:number,\n public geo2PixelsY?:number,\n public geo2Latitude?:number,\n public geo2Longitude?:number,\n public fileDataID?:number){\n }\n parseJson(json: any): void {\n this.id = json.id;\n this.mapSiteID = json.mapSiteID;\n this.floorLevel = json.floorLevel;\n this.name = json.name;\n this.pixelsPerMeter = json.pixelsPerMeter;\n this.imageWidth = json.imageWidth;\n this.imageHeight = json.imageHeight;\n this.geo1Latitude = json.geo1Latitude;\n this.geo1Longitude = json.geo1Longitude;\n this.geo1PixelsX = json.geo1PixelsX;\n this.geo1PixelsY = json.geo1PixelsY;\n this.geo2PixelsX = json.geo2PixelsX;\n this.geo2PixelsY = json.geo2PixelsY;\n this.geo2Latitude = json.geo2Latitude;\n this.geo2Longitude = json.geo2Longitude;\n this.fileDataID = json.fileDataID;\n }\n}\n","import {MapArea} from \"../entities/MapArea\";\nimport {BaseService} from \"./BaseService\";\nimport { StateService } from \"@uirouter/angularjs\";\n\nexport class MapAreaService extends BaseService {\n static $inject = ['$http','$q','$state'];\n constructor($http: ng.IHttpService, $q: ng.IQService, $state: StateService) {\n super($http, $q, $state, MapArea);\n }\n getBaseUrl():string{\n return \"maparea\";\n }\n getBySite(siteId:number):ng.IPromise{\n var config:any = {};\n return this.useBaseGetArrayHandler(this.getBasesUrl(),\"getBySite?siteId=\"+siteId, config);\n }\n}\n","import {BaseService} from \"./BaseService\";\nimport {MapSite} from \"../entities/MapSite\";\nimport { StateService } from \"@uirouter/angularjs\";\n\nexport class MapSiteService extends BaseService {\n static $inject = ['$http','$q','$state'];\n constructor($http: ng.IHttpService, $q: ng.IQService, $state: StateService) {\n super($http, $q, $state, MapSite);\n }\n protected getBaseUrl():string{\n return \"mapsite\";\n }\n}\n","import * as Noty from \"noty\";\n\nexport class NotificationService{\n public static $inject = ['notifications'];\n constructor(public notifications:any) {\n }\n\n notify(msg:string, timeout:number=5000){\n //alert(\"notificationService:\"+msg);\n //this.notifications.showSuccess({message: msg});\n console.log(\"notify=\"+msg);\n new Noty({\n text: \"\" + msg + \"\",\n type: 'information',\n layout: 'top',\n timeout: timeout == null ? 8000 : timeout,\n closeWith: ['click']\n }).show();\n }\n\n\n notifyError(msg:string, err:any=\"\", timeout:number=10000){\n var fromErr = \"\";\n if(err === null && err.message !== null)\n fromErr = err.message;\n else if(err !== null)\n fromErr = err;\n new Noty({\n text: \"\" + msg + fromErr + \"\",\n type: 'error',\n layout: 'top',\n timeout: timeout == null ? 8000 : timeout,\n closeWith: ['click']\n }).show();\n }\n}\n","import {BaseEntity} from \"./BaseEntity\";\n\nexport class Plugin implements BaseEntity {\n constructor(\n public id?:number,\n public name?:string,\n public description?:string,\n public fileDataID?:number,\n public lastModifiedBy?:string) {\n }\n parseJson(json: any): void {\n this.id= json.id;\n this.name = json.name;\n this.description = json.description;\n this.fileDataID = json.fileDataID;\n this.lastModifiedBy = json.lastModifiedBy;\n }\n}\n","import {BaseService} from \"./BaseService\";\nimport {Plugin} from '../entities/Plugin'\nimport { StateService } from \"@uirouter/angularjs\";\n\nexport class PluginService extends BaseService{\n static $inject = ['$http','$q','$state'];\n constructor($http: ng.IHttpService, $q: ng.IQService, $state: StateService) {\n super($http, $q, $state, Plugin);\n }\n protected getBaseUrl():string{\n return \"plugin\";\n }\n}\n","import {BaseEntity} from \"./BaseEntity\";\n\nexport class Printer implements BaseEntity {\n constructor(\n public id?:number,\n public name?:string,\n public filepath?:string,\n public usewithservice?:string){\n }\n parseJson(json: any): void {\n this.id= json.id;\n this.name = json.name;\n this.filepath = json.filepath;\n this.usewithservice = json.useWithService;\n }\n}\n","import {BaseService} from \"./BaseService\";\nimport {Printer} from \"../entities/Printer\";\nimport { StateService } from \"@uirouter/angularjs\";\n\nexport class PrinterService extends BaseService{\n static $inject = ['$http','$q','$state'];\n constructor($http: ng.IHttpService, $q: ng.IQService, $state: StateService) {\n super($http, $q, $state, Printer);\n }\n protected getBaseUrl():string{\n return \"printer\";\n }\n }\n","import {BaseService} from \"./BaseService\";\nimport {PrintJob} from \"../entities/PrintJob\";\nimport { StateService } from \"@uirouter/angularjs\";\n\nexport class PrintJobService extends BaseService{\n static $inject = ['$http','$q','$state'];\n constructor($http: ng.IHttpService, $q: ng.IQService, $state: StateService) {\n super($http, $q, $state, PrintJob);\n }\n protected getBaseUrl():string{\n return \"printjob\";\n }\n getNew(amsName:string, lastId:number):ng.IPromise{\n var config:any = {};\n return this.useBaseGetArrayHandler(this.getBasesUrl(),\"getNew?amsName=\"+amsName+\"&lastId=\"+lastId, config);\n }\n\n print(printJob:PrintJob):ng.IPromise{\n return this.usePostHandler(this.getBaseUrl(),\"print\", printJob);\n }\n\n printtest(printJob:PrintJob):ng.IPromise{\n return this.usePostHandler(this.getBaseUrl(),\"print\", printJob);\n }\n\n prints(printJobs:PrintJob[]):ng.IPromise{\n return this.usePostHandler(this.getBasesUrl(),\"print\", printJobs);\n }\n generateRfid(){\n var config:any = {};\n return this.useGetHandler(this.getBaseUrl(),\"rfid\", config);\n }\n}\n","import {BaseService} from \"./BaseService\";\nimport {QueuedCommand} from \"../entities/QueuedCommand\";\nimport { StateService } from \"@uirouter/angularjs\";\n\nexport class QueuedCommandService extends BaseService{\n static $inject = ['$http','$q','$state'];\n constructor($http: ng.IHttpService, $q: ng.IQService, $state: StateService) {\n super($http, $q, $state, QueuedCommand);\n }\n protected getBaseUrl():string{\n return \"queuedcommand\";\n }\n getCountByTypeStatus(commandType:string,status:string,search:string,before:string):ng.IPromise{\n var config:any = {};\n return this.useGetHandler(this.getBasesUrl(),\"CountByType?commandType=\"+commandType+\"&status=\"+status+\"&search=\"+search+\"&before=\"+before, config);\n }\n\n getPagedByTypeStatus(commandType:string,status:string,search:string,before:string,page:number,pageSize:number,\n orderColumn:string,orderDirection:string):ng.IPromise{\n var config:any = {};\n return this.useBaseGetArrayHandler(this.getBasesUrl(),\"PagedByType?commandType=\"+commandType+\"&status=\"+status+\"&search=\"+search+\"&before=\"+before+\"&page=\"+page+\"&pageSize=\"+pageSize+\"&orderColumn=\"+orderColumn+\"&orderDirection=\"+orderDirection, config);\n }\n\n deleteOld(){\n var config:any = {};\n return this.useBaseGetHandler(this.getBasesUrl(),\"Old\", config);\n }\n\n getActive(commandType:string, assetId:number):ng.IPromise{\n var config:any = {};\n return this.useBaseGetArrayHandler(this.getBasesUrl(),\"Active\", config);\n }\n\n getQueued():ng.IPromise{\n var config:any = {};\n return this.useBaseGetArrayHandler(this.getBasesUrl(),\"Queued\", config);\n }\n\n getRetry():ng.IPromise{\n var config:any = {};\n return this.useBaseGetArrayHandler(this.getBasesUrl(),\"Retry\", config);\n }\n\n updateLastAttempt(queuedCommandId:number){\n var config:any = {};\n return this.useGetHandler(this.getBaseUrl(),\"ListAttempt/\"+queuedCommandId, config);\n }\n\n getQueuedCommandsByReader(available:number, gatewayId:number):ng.IPromise{\n var config:any = {};\n return this.useBaseGetArrayHandler(this.getBasesUrl(),\"QueuedByReader?available=\"+available+\"&gatewayId=\"+gatewayId, config);\n }\n\n updateStatus(id:number,status:string,reason:string){\n var config:any = {};\n return this.usePutHandler(this.getBaseUrl(),\"Status?id=\"+id+\"&status=\"+status+\"&reason=\"+reason, config);\n }\n\n getRetryCommandsByReader(top:number,readerId:number):ng.IPromise{\n var config:any = {};\n return this.useBaseGetArrayHandler(this.getBasesUrl(),\"RetryByReader?top=\"+top+\"&readerId=\"+readerId, config);\n }\n\n incrementRetry(queuedCommandId:number){\n var config:any = {};\n return this.usePutHandler(this.getBaseUrl(),\"incrementRetry/\"+queuedCommandId, config);\n }\n}\n","import {BaseEntity} from \"./BaseEntity\";\n\nexport class Reader implements BaseEntity {\n constructor(\n public id?:number,\n public name?:string,\n public readerModel:string=\"Alien\",\n public radsModeEnabled?:boolean,\n public port:string=\"\",\n public username: string = \"\",\n public password: string = \"\",\n public ipAddress='10.10.10.10',\n public deviceSettings?:string,\n public connectionStatus?:string,\n public useWithService?:string,\n public physicalID?:string,\n public lastSeen?:string,\n public locationID?:number,\n public assetMovedAlertingActionID?:number,\n public securityIndicationAlertingActionID?:number,\n public lowBatteryAlertingActionID?:number,\n public sensorThresholdAlertingActionID?:number,\n public innerDirectionAlertingActionID?:number,\n public outerDirectionAlertingActionID?:number,\n public readerDisconnectedAlertingActionID?:number,\n public mapSiteID?:number,\n public vTagX?:number,\n public vTagY?:number,\n public vTagZ?:number,\n public vTagGpsGatewayID?:string,\n public lastModifiedBy?:string) {}\n\n parseJson(json: any): void {\n this.id = json.id\n this.name = json.name;\n this.readerModel = json.readerModel;\n this.radsModeEnabled=json.radsModeEnabled;\n this.port = json.port;\n this.ipAddress = json.ipAddress;\n this.username = json.username;\n this.password = json.password;\n this.deviceSettings = json.deviceSettings;\n this.connectionStatus = json.connectionStatus;\n this.useWithService = json.useWithService;\n this.physicalID = json.physicalID;\n this.lastSeen = json.lastSeen;\n this.locationID = json.locationID;\n this.assetMovedAlertingActionID = json.assetMovedAlertingActionID;\n this.securityIndicationAlertingActionID = json.securityIndicationAlertingActionID;\n this.lowBatteryAlertingActionID = json.lowBatteryAlertingActionID;\n this.sensorThresholdAlertingActionID = json.sensorThresholdAlertingActionID;\n this.innerDirectionAlertingActionID = json.innerDirectionAlertingActionID;\n this.outerDirectionAlertingActionID = json.outerDirectionAlertingActionID;\n this.innerDirectionAlertingActionID = json.innerDirectionAlertingActionID;\n this.readerDisconnectedAlertingActionID = json.readerDisconnectedAlertingActionID;\n this.mapSiteID = json.mapSiteID;\n this.vTagX = json.vTagX;\n this.vTagY = json.vTagY,\n this.vTagZ = json.vTagZ,\n this.lastModifiedBy = json.lastModifiedBy;\n this.vTagGpsGatewayID = json.vTagGpsGatewayID;\n }\n\n search(txt:string):boolean{\n if(txt == null || txt.length == 0)\n return true;\n var search:string = txt.toLowerCase();\n if(this.name != null && this.name.toLowerCase().indexOf(search) != -1)\n return true;\n return false;\n }\n\n isActive(minutes:number){\n var nowDate:number = Date.now();\n var lastSeenDate:number = this.lastSeen == null ? Date.now() : Date.parse(this.lastSeen);\n var diffDate:number = nowDate - lastSeenDate;\n var diffMinutes:number = Math.abs(diffDate /60000);\n if(diffMinutes > minutes)\n return false;\n else\n return true;\n }\n\n isRecentlyActive(){\n var nowDate:number = Date.now();\n var lastSeenDate:number = this.lastSeen == null ? null : Date.parse(this.lastSeen);\n if(lastSeenDate === null)\n return false;\n var diffDate:number = nowDate - lastSeenDate;\n var diffMinutes:number = Math.abs(diffDate /60000);\n if(diffMinutes < 30)\n return true;\n else\n return false;\n }\n\n}\n","import {BaseService} from \"./BaseService\";\nimport {Reader} from \"../entities/Reader\";\nimport { StateService } from \"@uirouter/angularjs\";\n\nexport class ReaderService extends BaseService{\n static $inject = ['$http','$q','$state'];\n constructor($http: ng.IHttpService, $q: ng.IQService, $state: StateService) {\n super($http, $q, $state, Reader);\n }\n protected getBaseUrl():string{\n return \"reader\";\n }\n public getServerReaders(){\n var config:any = {};\n return this.useBaseGetArrayHandler(this.getBasesUrl(),\"server\", config);\n }\n public GetGatewaysByService(serviceName:string){\n var config:any = {};\n return this.useBaseGetArrayHandler(\"gateways\",\"service?serviceName=\"+serviceName, config);\n }\n public getGateways(){\n var config:any = {};\n return this.useBaseGetArrayHandler(\"gateways\",\"\", config);\n }\n public getByName(name:string){\n var config:any = {};\n // Modified 022519 by BA to put name as a query parameter to handle special characters (# and %)\n return this.useBaseGetHandler(this.getBaseUrl(),\"name?name=\"+ encodeURIComponent(name), config);\n }\n public updateConnectionStatus(readerId:string,up:boolean){\n var config:any = {};\n return this.useGetHandler(this.getBaseUrl(),\"updateConnectionStatus?readerId=\"+readerId+\"&up=\"+up, config);\n }\n public getAllByService(serviceName:string){\n var config:any = {};\n return this.useBaseGetArrayHandler(this.getBasesUrl(),\"service?serviceName=\"+serviceName, config);\n }\n public getBySite(mapSiteId:number):ng.IPromise{\n return this.useBaseGetArrayHandler(this.getBasesUrl(),\"site?siteId=\"+mapSiteId, {});\n }\n public getChangedBySite(mapSiteId:number, lastChecked:string):ng.IPromise{\n var config:any = {};\n return this.useBaseGetArrayHandler(this.getBasesUrl(),\"changed?siteId=\"+mapSiteId+\"&lastChecked=\"+lastChecked, config);\n }\n}\n","import {BaseEntity} from \"./BaseEntity\";\n\nexport class SensorReading implements BaseEntity {\n constructor(\n public id?:number,\n public vTagID?:string,\n public assetName?:string,\n public created?:string,\n public sourceDistanceHops?:string,\n public tTL?:number,\n public minimumTemperatureDegC?:number,\n public maximumTemperatureDegC?:number,\n public batteryVolts?:number,\n public x?:number,\n public y?:number,\n public z?:number,\n public latitude?:number,\n public longitude?:number,\n public altitude?:number,\n public numberOfSatellites?:number,\n public lastGPSFix?:string,\n public vTagType?:string,\n public gpsAccuracy?:string,\n public parentVTag?:string,\n public locationConfidence?:string,\n public maximumAccelerationG?:number){\n }\n parseJson(json: any): void {\n this.id = json.id;\n this.vTagID = json.vTagID;\n this.assetName = json.assetName;\n this.created = json.created;\n this.sourceDistanceHops = json.sourceDistanceHops;\n this.tTL = json.ttl;\n this.minimumTemperatureDegC = json.minimumTemperatureDegC;\n this.maximumTemperatureDegC = json.maximumTemperatureDegC;\n this.batteryVolts = json.batteryVolts != null ? json.batteryVolts.toFixed(2) : null;\n this.x = json.x;\n this.y = json.y;\n this.z = json.z;\n this.latitude = json.latitude;\n this.longitude = json.longitude;\n this.altitude = json.altitude;\n this.numberOfSatellites = json.numberOfSatellites;\n this.lastGPSFix = json.lastGPSFix;\n this.vTagType = json.vTagType;\n this.gpsAccuracy = json.gpsAccuracy;\n this.parentVTag = json.parentVTag;\n this.locationConfidence = json.locationConfidence;\n this.maximumAccelerationG = json.maximumAccelerationG;\n }\n}\n","import {SensorReading} from \"../entities/SensorReadingHistory\";\nimport {BaseService} from \"./BaseService\";\nimport { StateService } from \"@uirouter/angularjs\";\n\nexport class SensorService extends BaseService{\n static $inject = ['$http','$q','$state'];\n constructor($http: ng.IHttpService, $q: ng.IQService, $state: StateService) {\n super($http, $q, $state, SensorReading);\n }\n protected getBaseUrl():string{\n return \"sensorreading\";\n }\n getByVTagId(vtagId:string):ng.IPromise{\n var config:any = {};\n return this.useBaseGetArrayHandler(this.getBasesUrl(),\"VTag/\"+vtagId, config);\n }\n getLastByAssetId(assetId:number){\n var config:any = {};\n return this.useBaseGetHandler(this.getBaseUrl(),\"last/\"+assetId, config);\n }\n getReport(vtagPositionType:string, days:number){\n var config:any = {\n headers: {\n 'Content-type': 'application/json',\n 'Accept': 'application/vnd.openxmlformats-officedocument.spreadsheetml.sheet'\n },\n responseType: 'arraybuffer'\n };\n return this.useGetHandler(\"Report\",\"VTagCommunications?vTagPositionType=\"+vtagPositionType+\"&days=\"+days, config);\n }\n getHistoryCounts(vtagPositionType:string, days:number){\n var config:any = {};\n return this.useGetHandler(this.getBasesUrl(),\"HistoryCounts?vtagPositionType=\"+vtagPositionType+\"&days=\"+days, config);\n }\n getHistoryCountCounts(vtagPositionType:string, days:number){\n var config:any = {};\n return this.useGetHandler(this.getBasesUrl(),\"HistoryCountCounts?vtagPositionType=\"+vtagPositionType+\"&days=\"+days, config);\n }\n }\n","import {BaseEntity} from \"./BaseEntity\";\n\nexport class SensorStat implements BaseEntity {\n constructor(\n public id?:number,\n public vTagID?:string,\n public created?:Date,\n public sourceDistanceHops?:string,\n public ttl?:number,\n public numNeighbors?:number,\n public numActiveNeighbors?:number,\n public totalErrors?:number,\n public lastError?:number,\n public bestNeighbor?:string,\n public bestNeighborRssiDbm?:number,\n public minQueue?:number,\n public maxQueue?:number,\n public avgQueue?:number,\n public processedPackets?:number,\n public alarmCount?:number,\n public firmwareVersion?:number,\n public movementTriggers?:number,\n public suspectTriggers?:string,\n public daysSinceReset?:number,\n public leafDroppedPackets?:number){\n }\n parseJson(json: any): void {\n this.id = json.id;\n this.vTagID = json.vTagID;\n this.created = json.created;// == null ? \"\" : moment(json.created).format(entities.ApplicationSetting.applicationSetting.dateFormat);\n this.sourceDistanceHops = json.sourceDistanceHops;\n this.ttl = json.ttl;\n this.numNeighbors = json.numNeighbors;\n this.numActiveNeighbors = json.numActiveNeighbors;\n this.totalErrors = json.totalErrors;\n this.lastError = json.lastError;\n this.bestNeighbor = json.bestNeighbor;\n this.bestNeighborRssiDbm = json.bestNeighborRssiDbm;\n this.minQueue = json.minQueue;\n this.maxQueue = json.maxQueue;\n this.avgQueue = json.avgQueue;\n this.processedPackets = json.processedPackets;\n this.alarmCount = json.alarmCount;\n this.firmwareVersion = json.firmwareVersion;\n this.movementTriggers = json.movementTriggers;\n this.suspectTriggers = json.suspectTriggers;\n this.daysSinceReset = json.daysSinceReset != null ? json.daysSinceReset.toFixed(1) : null;\n this.leafDroppedPackets = json.leafDroppedPackets\n }\n}\n","import {BaseService} from \"./BaseService\";\nimport {SensorStat} from \"../entities/SensorStatsHistory\";\nimport { StateService } from \"@uirouter/angularjs\";\n\nexport class SensorStatService extends BaseService{\n static $inject = ['$http','$q','$state'];\n constructor($http: ng.IHttpService, $q: ng.IQService, $state: StateService) {\n super($http, $q, $state, SensorStat);\n }\n protected getBaseUrl():string{\n return \"sensorstat\";\n }\n getByVTagId(vtagId:string):ng.IPromise{\n var config:any = {};\n return this.useBaseGetArrayHandler(this.getBasesUrl(),\"VTag/\"+vtagId, config);\n }\n getLastByAssetId(assetId:number):ng.IPromise{\n var config:any = {};\n return this.useBaseGetHandler(this.getBaseUrl(),\"last/\"+assetId, config);\n }\n}\n","import {BaseEntity} from \"./BaseEntity\";\n\nexport class ServerStatus implements BaseEntity {\n constructor(\n public id?:number,\n public name?:string,\n public version?:string,\n public lastSeen?: string,\n public serverType?:string) {\n }\n isRecentlyActive(){\n var nowDate:number = Date.now();\n var lastSeenDate:number = this.lastSeen == null ? Date.now() : Date.parse(this.lastSeen);\n var diffDate:number = nowDate - lastSeenDate;\n var diffMinutes:number = Math.abs(diffDate /60000);\n if(diffMinutes < 30)\n return true;\n else\n return false;\n }\n parseJson(json: any): void {\n this.id = json.id;\n this.name = json.name;\n this.version = json.version,\n this.lastSeen = json.lastSeen;\n this.serverType = json.serverType;\n }\n}\n","import {BaseService} from \"./BaseService\";\nimport {ServerStatus} from \"../entities/ServerStatus\";\nimport { StateService } from \"@uirouter/angularjs\";\n\nexport class ServerStatusService extends BaseService{\n static $inject = ['$http','$q','$state'];\n constructor($http: ng.IHttpService, $q: ng.IQService, $state: StateService) {\n super($http, $q, $state, ServerStatus);\n }\n protected getBaseUrl():string{\n return \"serverstatus\";\n }\n protected getBasesUrl():string{\n return \"serverstatuses\";\n }\n public getActiveServers(){\n var config:any = {};\n return this.useGetHandler(this.getBasesUrl(),\"active\", config);\n }\n chirpstackConnected():ng.IPromise {\n var config:any = {};\n return this.useGetHandler(this.getBaseUrl(),'Chirpstack', config);\n }\n}\n","import {BaseEntity} from \"./BaseEntity\";\n\nexport class Template implements BaseEntity {\n constructor(public id?:number,\n public name?:string,\n public templateType:string=\"Asset\",\n public printMethod:string=\"Bartender\",\n public fileName?:string,\n public useWithService?: string,\n public printClientID?:number) {\n }\n parseJson(json: any): void {\n this.id = json.id;\n this.name = json.name;\n this.templateType = json.templateType;\n this.printMethod = json.printMethod;\n this.fileName = json.fileName;\n this.useWithService = json.useWithService;\n this.printClientID = json.printClientID;\n }\n}\n","import {Template} from \"../entities/Template\";\nimport {BaseService} from \"./BaseService\";\nimport { StateService } from \"@uirouter/angularjs\";\n\nexport class TemplateService extends BaseService