@overmap-ai/core 1.0.78-document-service-fix.0 → 1.0.78-gcs.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (153) hide show
  1. package/dist/constants/defaults.d.ts +2 -1
  2. package/dist/enums/index.d.ts +0 -1
  3. package/dist/enums/issue.d.ts +5 -7
  4. package/dist/overmap-core.js +4523 -4947
  5. package/dist/overmap-core.umd.cjs +7 -7
  6. package/dist/sdk/constants.d.ts +1 -2
  7. package/dist/sdk/services/AssetAttachmentService.d.ts +1 -1
  8. package/dist/sdk/services/AssetProcedureService.d.ts +1 -1
  9. package/dist/sdk/services/AssetProcedureStepFieldValuesAttachmentService.d.ts +1 -1
  10. package/dist/sdk/services/AssetProcedureStepFieldValuesService.d.ts +3 -10
  11. package/dist/sdk/services/AssetProcedureStepFieldsAttachmentService.d.ts +1 -1
  12. package/dist/sdk/services/AssetProcedureStepFieldsService.d.ts +1 -1
  13. package/dist/sdk/services/AssetProcedureStepService.d.ts +1 -1
  14. package/dist/sdk/services/AssetProcedureTypeAttachmentService.d.ts +1 -1
  15. package/dist/sdk/services/AssetProcedureTypeFieldValuesAttachmentService.d.ts +1 -1
  16. package/dist/sdk/services/AssetProcedureTypeFieldValuesService.d.ts +3 -9
  17. package/dist/sdk/services/AssetProcedureTypeFieldsAttachmentService.d.ts +1 -1
  18. package/dist/sdk/services/AssetProcedureTypeFieldsService.d.ts +1 -1
  19. package/dist/sdk/services/AssetProcedureTypeService.d.ts +1 -1
  20. package/dist/sdk/services/AssetService.d.ts +2 -2
  21. package/dist/sdk/services/AssetStageCompletionService.d.ts +1 -1
  22. package/dist/sdk/services/AssetStageService.d.ts +1 -1
  23. package/dist/sdk/services/AssetTypeAttachmentService.d.ts +1 -1
  24. package/dist/sdk/services/AssetTypeFieldValuesAttachmentService.d.ts +1 -1
  25. package/dist/sdk/services/AssetTypeFieldValuesService.d.ts +3 -8
  26. package/dist/sdk/services/AssetTypeFieldsAttachmentService.d.ts +1 -1
  27. package/dist/sdk/services/AssetTypeFieldsService.d.ts +1 -1
  28. package/dist/sdk/services/AssetTypeIdentifierService.d.ts +1 -1
  29. package/dist/sdk/services/AssetTypeIdentifierValueService.d.ts +1 -1
  30. package/dist/sdk/services/AssetTypeService.d.ts +1 -1
  31. package/dist/sdk/services/BaseOfflineAttachmentModelService.d.ts +1 -1
  32. package/dist/sdk/services/CategoryService.d.ts +1 -1
  33. package/dist/sdk/services/DocumentAttachmentService.d.ts +1 -1
  34. package/dist/sdk/services/DocumentService.d.ts +1 -1
  35. package/dist/sdk/services/FormIdentifierService.d.ts +1 -1
  36. package/dist/sdk/services/FormIdentifierValueService.d.ts +1 -1
  37. package/dist/sdk/services/FormRevisionAttachmentService.d.ts +2 -2
  38. package/dist/sdk/services/FormRevisionService.d.ts +1 -1
  39. package/dist/sdk/services/FormService.d.ts +1 -1
  40. package/dist/sdk/services/FormSubmissionAttachmentService.d.ts +2 -2
  41. package/dist/sdk/services/FormSubmissionService.d.ts +1 -1
  42. package/dist/sdk/services/GeoImageService.d.ts +2 -2
  43. package/dist/sdk/services/IssueAssociationService.d.ts +1 -1
  44. package/dist/sdk/services/IssueAttachmentService.d.ts +1 -1
  45. package/dist/sdk/services/IssueCommentAttachmentService.d.ts +1 -1
  46. package/dist/sdk/services/IssueCommentService.d.ts +1 -1
  47. package/dist/sdk/services/IssueService.d.ts +1 -1
  48. package/dist/sdk/services/IssueTypeAttachmentService.d.ts +1 -1
  49. package/dist/sdk/services/IssueTypeFieldValuesAttachmentService.d.ts +1 -1
  50. package/dist/sdk/services/IssueTypeFieldValuesService.d.ts +1 -1
  51. package/dist/sdk/services/IssueTypeFieldsAttachmentService.d.ts +1 -1
  52. package/dist/sdk/services/IssueTypeFieldsService.d.ts +1 -1
  53. package/dist/sdk/services/IssueTypeIdentifierService.d.ts +1 -1
  54. package/dist/sdk/services/IssueTypeIdentifierValueService.d.ts +1 -1
  55. package/dist/sdk/services/IssueTypeService.d.ts +1 -1
  56. package/dist/sdk/services/IssueUpdateService.d.ts +136 -2
  57. package/dist/sdk/services/OrganizationAccessService.d.ts +1 -1
  58. package/dist/sdk/services/OrganizationService.d.ts +1 -1
  59. package/dist/sdk/services/ProjectAccessService.d.ts +1 -1
  60. package/dist/sdk/services/ProjectAttachmentService.d.ts +1 -1
  61. package/dist/sdk/services/ProjectFileService.d.ts +1 -1
  62. package/dist/sdk/services/ProjectService.d.ts +1 -1
  63. package/dist/sdk/services/TeamMembershipService.d.ts +1 -1
  64. package/dist/sdk/services/TeamService.d.ts +1 -1
  65. package/dist/sdk/services/UserService.d.ts +5 -5
  66. package/dist/sdk/services/index.d.ts +0 -3
  67. package/dist/store/reducers.d.ts +0 -9
  68. package/dist/store/selectors/index.d.ts +1 -0
  69. package/dist/store/selectors/utils.d.ts +1 -0
  70. package/dist/store/slices/agentsSlice.d.ts +1 -1
  71. package/dist/store/slices/assetAttachmentSlice.d.ts +1 -1
  72. package/dist/store/slices/assetProcedureSlice.d.ts +1 -4
  73. package/dist/store/slices/assetProcedureStepFieldValuesAttachmentSlice.d.ts +1 -4
  74. package/dist/store/slices/assetProcedureStepFieldValuesSlice.d.ts +1 -4
  75. package/dist/store/slices/assetProcedureStepFieldsAttachmentSlice.d.ts +1 -4
  76. package/dist/store/slices/assetProcedureStepFieldsSlice.d.ts +1 -7
  77. package/dist/store/slices/assetProcedureStepSlice.d.ts +2 -5
  78. package/dist/store/slices/assetProcedureTypeAttachmentSlice.d.ts +69 -2
  79. package/dist/store/slices/assetProcedureTypeFieldValuesAttachmentSlice.d.ts +1 -4
  80. package/dist/store/slices/assetProcedureTypeFieldValuesSlice.d.ts +1 -4
  81. package/dist/store/slices/assetProcedureTypeFieldsAttachmentSlice.d.ts +1 -4
  82. package/dist/store/slices/assetProcedureTypeFieldsSlice.d.ts +1 -1
  83. package/dist/store/slices/assetProcedureTypeSlice.d.ts +1 -1
  84. package/dist/store/slices/assetSlice.d.ts +2 -5
  85. package/dist/store/slices/assetStageCompletionSlice.d.ts +1 -4
  86. package/dist/store/slices/assetStageSlice.d.ts +1 -4
  87. package/dist/store/slices/assetTypeAttachmentSlice.d.ts +1 -1
  88. package/dist/store/slices/assetTypeFieldValuesAttachmentSlice.d.ts +1 -4
  89. package/dist/store/slices/assetTypeFieldValuesSlice.d.ts +1 -4
  90. package/dist/store/slices/assetTypeFieldsAttachmentSlice.d.ts +1 -4
  91. package/dist/store/slices/assetTypeFieldsSlice.d.ts +1 -4
  92. package/dist/store/slices/assetTypeIdentifierSlice.d.ts +2 -2
  93. package/dist/store/slices/assetTypeIdentifierValueSlice.d.ts +2 -2
  94. package/dist/store/slices/assetTypeSlice.d.ts +2 -2
  95. package/dist/store/slices/categorySlice.d.ts +1 -4
  96. package/dist/store/slices/documentAttachmentSlice.d.ts +1 -1
  97. package/dist/store/slices/documentSlice.d.ts +3 -3
  98. package/dist/store/slices/formIdentifierSlice.d.ts +2 -2
  99. package/dist/store/slices/formIdentifierValueSlice.d.ts +2 -2
  100. package/dist/store/slices/formRevisionAttachmentSlice.d.ts +2 -5
  101. package/dist/store/slices/formRevisionSlice.d.ts +1 -4
  102. package/dist/store/slices/formSlice.d.ts +2 -5
  103. package/dist/store/slices/formSubmissionAttachmentSlice.d.ts +3 -3
  104. package/dist/store/slices/formSubmissionSlice.d.ts +1 -1
  105. package/dist/store/slices/geoImageSlice.d.ts +1 -4
  106. package/dist/store/slices/index.d.ts +0 -3
  107. package/dist/store/slices/issueAssociationSlice.d.ts +1 -4
  108. package/dist/store/slices/issueAttachmentSlice.d.ts +1 -1
  109. package/dist/store/slices/issueCommentAttachmentSlice.d.ts +1 -1
  110. package/dist/store/slices/issueCommentSlice.d.ts +1 -1
  111. package/dist/store/slices/issueSlice.d.ts +1 -1
  112. package/dist/store/slices/issueTypeAttachmentSlice.d.ts +2 -2
  113. package/dist/store/slices/issueTypeFieldValuesAttachmentSlice.d.ts +1 -4
  114. package/dist/store/slices/issueTypeFieldValuesSlice.d.ts +1 -4
  115. package/dist/store/slices/issueTypeFieldsAttachmentSlice.d.ts +1 -4
  116. package/dist/store/slices/issueTypeFieldsSlice.d.ts +1 -4
  117. package/dist/store/slices/issueTypeIdentifierSlice.d.ts +2 -2
  118. package/dist/store/slices/issueTypeIdentifierValueSlice.d.ts +2 -2
  119. package/dist/store/slices/issueTypeSlice.d.ts +1 -1
  120. package/dist/store/slices/issueUpdateSlice.d.ts +204 -3
  121. package/dist/store/slices/organizationAccessSlice.d.ts +2 -2
  122. package/dist/store/slices/organizationSlice.d.ts +2 -5
  123. package/dist/store/slices/projectAccessSlice.d.ts +2 -2
  124. package/dist/store/slices/projectAttachmentSlice.d.ts +3 -3
  125. package/dist/store/slices/projectFileSlice.d.ts +1 -4
  126. package/dist/store/slices/projectSlice.d.ts +3 -6
  127. package/dist/store/slices/teamMembershipSlice.d.ts +3 -3
  128. package/dist/store/slices/teamSlice.d.ts +2 -2
  129. package/dist/store/slices/userSlice.d.ts +10 -20
  130. package/dist/typings/models/assets.d.ts +1 -10
  131. package/dist/typings/models/base.d.ts +1 -1
  132. package/dist/typings/models/categories.d.ts +1 -1
  133. package/dist/typings/models/emailVerification.d.ts +1 -1
  134. package/dist/typings/models/index.d.ts +0 -1
  135. package/dist/typings/models/issues.d.ts +8 -19
  136. package/dist/typings/models/organizations.d.ts +1 -1
  137. package/dist/typings/models/projects.d.ts +1 -1
  138. package/dist/typings/models/teams.d.ts +2 -1
  139. package/dist/typings/models/users.d.ts +10 -6
  140. package/dist/utils/models/assets.d.ts +1 -2
  141. package/dist/utils/models/index.d.ts +0 -1
  142. package/dist/utils/utils.d.ts +0 -7
  143. package/dist/utils/uuid.d.ts +2 -0
  144. package/package.json +3 -3
  145. package/dist/enums/asset.d.ts +0 -8
  146. package/dist/sdk/services/AssetTypeStatusService.d.ts +0 -28
  147. package/dist/sdk/services/EmailDomainsService.d.ts +0 -26
  148. package/dist/sdk/services/IssueTypeStatusService.d.ts +0 -28
  149. package/dist/store/slices/assetTypeStatusSlice.d.ts +0 -112
  150. package/dist/store/slices/emailDomainsSlice.d.ts +0 -112
  151. package/dist/store/slices/issueTypeStatusSlice.d.ts +0 -112
  152. package/dist/typings/models/emailDomain.d.ts +0 -6
  153. package/dist/utils/models/issues.d.ts +0 -2
@@ -1,15 +1,15 @@
1
- (function(i,L){typeof exports=="object"&&typeof module<"u"?L(exports,require("@redux-offline/redux-offline/lib/types"),require("@reduxjs/toolkit"),require("superagent"),require("uuid"),require("file-saver"),require("fast-tree-builder"),require("ts-tree-lib"),require("react"),require("@redux-offline/redux-offline"),require("@redux-offline/redux-offline/lib/defaults"),require("localforage"),require("redux-persist-migrate"),require("buffer"),require("@overmap-ai/forms"),require("idb"),require("jwt-decode"),require("dependency-graph"),require("@tiptap/core")):typeof define=="function"&&define.amd?define(["exports","@redux-offline/redux-offline/lib/types","@reduxjs/toolkit","superagent","uuid","file-saver","fast-tree-builder","ts-tree-lib","react","@redux-offline/redux-offline","@redux-offline/redux-offline/lib/defaults","localforage","redux-persist-migrate","buffer","@overmap-ai/forms","idb","jwt-decode","dependency-graph","@tiptap/core"],L):(i=typeof globalThis<"u"?globalThis:i||self,L(i["overmap-core"]={},null,i.toolkit,i.request,i.uuid,i.fileSaver,i.buildTree,i.tsTreeLib,i.react,i.reduxOffline,i.offlineConfig,i.localforage,i.createMigration,null,null,i.idb,i.jwtDecode,i.dependencyGraph))})(this,function(i,L,o,et,tt,gO,Un,mt,bO,_O,Ln,MO,RO,Ob,Pb,wO,EO,vO){"use strict";var Tb=Object.defineProperty;var Ib=(i,L,o)=>L in i?Tb(i,L,{enumerable:!0,configurable:!0,writable:!0,value:o}):i[L]=o;var y=(i,L,o)=>Ib(i,typeof L!="symbol"?L+"":L,o);var PO;const kn=Object.freeze([]),Nn=Object.freeze({});var Gn=(t=>(t[t.GUEST=0]="GUEST",t[t.BASIC=2]="BASIC",t[t.ADMIN=4]="ADMIN",t))(Gn||{}),m=(t=>(t.GET="GET",t.POST="POST",t.PATCH="PATCH",t.PUT="PUT",t.DELETE="DELETE",t))(m||{}),Hn=(t=>(t[t.PLANNED=0]="PLANNED",t[t.ACTIVE=1]="ACTIVE",t[t.MAINTENANCE=2]="MAINTENANCE",t[t.INACTIVE=3]="INACTIVE",t[t.RETIRED=4]="RETIRED",t[t.DISPOSED=5]="DISPOSED",t))(Hn||{}),Wn=(t=>(t.Issue="issue",t.Asset="asset",t.AssetType="asset_type",t.Project="project",t.Document="document",t))(Wn||{}),$t=(t=>(t[t.LOWEST=0]="LOWEST",t[t.LOW=2]="LOW",t[t.MEDIUM=4]="MEDIUM",t[t.HIGH=6]="HIGH",t[t.HIGHEST=8]="HIGHEST",t))($t||{}),C=(t=>(t.STATUS="status",t.PRIORITY="priority",t.CATEGORY="category",t.DESCRIPTION="description",t.TITLE="title",t.ASSIGNED_TO="assigned_to",t.DUE_DATE="due_date",t))(C||{}),Kn=(t=>(t[t.BACKLOG=0]="BACKLOG",t[t.PLANNED=1]="PLANNED",t[t.IN_PROGRESS=2]="IN_PROGRESS",t[t.COMPLETED=3]="COMPLETED",t[t.CANCELLED=4]="CANCELLED",t))(Kn||{});const VO=$t.MEDIUM,Yn=6e4;function M(t){return{addOne:(h,p)=>{const A=t(p.payload);h.instances[A]=p.payload},addMany:(h,p)=>{for(const A of p.payload){const f=t(A);h.instances[f]=A}},setOne:(h,p)=>{const A=t(p.payload);h.instances[A]=p.payload},setMany:(h,p)=>{for(const A of p.payload){const f=t(A);h.instances[f]=A}},updateOne:(h,p)=>{const A=t(p.payload);h.instances[A]=p.payload},updateMany:(h,p)=>{for(const A of p.payload){const f=t(A);h.instances[f]=A}},deleteOne:(h,p)=>{delete h.instances[p.payload]},deleteMany:(h,p)=>{for(const A of p.payload)delete h.instances[A]},initialize:(h,p)=>{h.instances={};const A=new Set;for(const f of p.payload){const S=t(f);A.add(S),h.instances[S]=f}A.size!==p.payload.length&&console.warn("duplicate ids detected when initializing model instances.")}}}function zO(){return{initializeSelection:(u,d)=>{u.selection=Array.from(new Set(d.payload))},selectOne:(u,d)=>{new Set(u.selection).has(d.payload)||u.selection.push(d.payload)},selectMany:(u,d)=>{const h=new Set(u.selection);for(const p of d.payload)h.has(p)||h.add(p);u.selection=Array.from(h)},unselectOne:(u,d)=>{const h=new Set(u.selection);h.has(d.payload)&&(h.delete(d.payload),u.selection=Array.from(h))},unselectMany:(u,d)=>{const h=new Set(u.selection);for(const p of d.payload)h.has(p)&&h.delete(p);u.selection=Array.from(h)},toggleOne:(u,d)=>{const h=new Set(u.selection);h.has(d.payload)?h.delete(d.payload):h.add(d.payload),u.selection=Array.from(h)},toggleMany:(u,d)=>{const h=new Set(u.selection);for(const p of d.payload)h.has(p)?h.delete(p):h.add(p);u.selection=Array.from(h)},getInitialState:u=>({...u,selection:[]})}}const dt="versioning",b=o.createAction("RESET"),j=o.createAction("RESET_PROJECT_STATE"),R=o.createAction("RESET_ORGANIZATION_STATE");PO=Symbol.toStringTag;class Ut{constructor(){y(this,PO,"Promise");y(this,"_promise");y(this,"_resolve");y(this,"_reject");y(this,"_state","pending");this._resolve=null,this._reject=null,this._promise=new Promise((s,e)=>{this._resolve=s,this._reject=e})}get state(){return this._state}then(s,e){return this._promise.then(s,e)}catch(s){return this._promise.catch(s)}resolve(s){if(!this._resolve)throw new Error("No resolve callback");this._resolve(s),this._state="fulfilled"}reject(s){if(!this._reject)throw s;this._reject(s),this._state="rejected"}finally(s){throw new Error("`finally` not implemented")}}let Lt=!1;["true","1"].includes("".toLowerCase())&&(Lt=!0);function BO(t,s){if(t===s)return!0;if(typeof t!=typeof s)return!1;const e=Object.keys(t),n=Object.keys(s),a=e.length;if(a!==n.length)return!1;for(let c=0;c<a;c++){const r=e[c];if(!Object.prototype.hasOwnProperty.call(s,r)||t[r]!==s[r])return!1}return!0}function kt(t){const s={};return function(){const e=Array.prototype.slice.call(arguments);return e in s?(Lt&&console.debug(`Memoization debug: Using memorized return value for ${t.toString()}(`,e,")"),s[e]):(Lt&&console.debug(`Memoization debug: Cache miss! Memoizing ${t.toString()}(`,e,")"),s[e]=t.apply(this,e))}}function jO(t,s){if(t.length!==s.length)return!1;for(let e=0;e<t.length;e++)if(t[e]!==s[e])return!1;return!0}const I=t=>t.length===0?kn:t,yt=t=>Object.keys(t).length===0?Nn:t,Zn=kt(t=>{if(!t)return"";const s=new Date(t),e=s.getFullYear()===Nt.getFullYear(),n={day:"numeric",month:"short"};return e||(n.year="numeric"),s.toLocaleDateString([],n)}),qO=new Intl.RelativeTimeFormat([],{style:"long",numeric:"auto"}),DO=1e3*86400,Nt=new Date,CO=t=>new Date(t).toDateString()===Nt.toDateString(),$O=kt((t,s,e)=>{const n=Math.round((new Date(t).getTime()-Nt.getTime())/DO);return n<s||n>e?Zn(t):qO.format(n,"days")});function UO(t){return new Uint8Array(t).reduce((e,n)=>e+n.toString(16).padStart(2,"0"),"")}const Gt=async(t,s)=>{s||(s=await st(t));let e=t.type;if(e.includes("/")&&(e=e.split("/")[1]),!e)throw new Error(`Could not extract file type from ${t.type}`);return`${s}.${e}`};function st(t){return new Promise((s,e)=>{const n=new FileReader;n.onload=()=>{const a=n.result;if(!a){e(new Error("FileReader did not return a valid ArrayBuffer."));return}crypto.subtle.digest("SHA-1",a).then(c=>{const r=UO(c);s(r)})},n.readAsArrayBuffer(t)})}function LO(t){if(!t.name||!t.type||!t.size){const s="File has no name, type, and/or size";throw new Error(s)}return`${t.name}&${t.type}${t.size}`}function Jn(t,s){return new File([t],s,{type:t.type})}function kO(t,s){const e=document.createElement("a");e.setAttribute("href","data:text/plain;charset=utf-8,"+encodeURIComponent(s)),e.setAttribute("download",t),e.style.display="none",document.body.appendChild(e),e.click(),document.body.removeChild(e)}const NO=async t=>{const s={};for(const e of t){const n=await st(e);s[n]={sha1:n,extension:e.name.split(".").pop()||"",file_type:e.type,size:e.size}}return Object.values(s)},Xn=async t=>(await fetch(t)).blob(),GO=t=>new Promise((s,e)=>{const n=new FileReader;n.onloadend=()=>{var a;s(((a=n.result)==null?void 0:a.toString())||"")},n.readAsDataURL(t)});function HO(t){const s=new Blob([t]);gO.saveAs(s,t.name)}const Qn={};function WO(t,s,e,...n){const a=Qn[t];let c=!1;a?a[s]||(a[s]=!0,c=!0):(Qn[t]={[s]:!0},c=!0),c&&console[e](...n)}const xn=["created_at","updated_at","index","revision"];function _(t){return{...t,uuid:tt.v4()}}function KO(t){const s={};for(const e of t)s[e.uuid]=e;return s}function D(t){return t.map(({uuid:s})=>s)}function YO(t,s=void 0,e=255){let n=t.replace(/[^a-z0-9_\-.]/gi,"_").replace(/_{2,}/g,"_");if(!s){const c=t.split(".");c.length>1&&(s=c[c.length-1])}s&&!s.startsWith(".")&&(s="."+s);const a=s?s.length:0;return n.length+a>e&&(n=n.slice(0,e-a)+(s||"")),n}function ZO(t){return t.toLowerCase().replace(" ","-")}function JO(t,s=!1){return t.normalize("NFKD").toLowerCase().replace(/[^\w\s-]/g,"").trim().replace(/[-\s]+/g,s?"_":"-")}function XO(t,s){if(t.length<=s)return t;const e=t.slice(0,s-1);return e.slice(0,e.lastIndexOf(" "))+"…"}const T=t=>s=>e=>t(e,s);function QO(t,s,e){return e.findIndex(n=>n.uuid===t.uuid)===s}function xO(t,s,e){return e.findIndex(n=>n.file_sha1===t.file_sha1)===s}const eP=/^.+@.+\..+$/;function z(t){const s={...t};for(const e of[...xn,"created_by"])e in s&&delete s[e];return s}const ea=t=>{const s=t.toSorted((e,n)=>e.order-n.order);return Un(s,{id:e=>e.uuid,parentId:e=>e.parent,includeEmptyChildrenArray:!0,valueKey:!1})},tP=t=>{const{roots:s}=ea(t);return s.map(e=>new mt.Tree(e))},ta=(t,s)=>{const{nodes:e}=ea(s),n=e.get(t);if(!n)throw new Error(`Node with uuid ${t} does not exist in asset procedure step tree.`);return new mt.Tree(n)},sa=(t,s)=>t.type!==s.type?t.type-s.type:t.order-s.order,ia=(t,s)=>t.type!==s.type?t.type-s.type:t.order-s.order,na=t=>Un(t,{id:s=>s.uuid,parentId:s=>s.parent_document,includeEmptyChildrenArray:!0,valueKey:!1}),sP=t=>{const{roots:s}=na(t);return s.map(e=>new mt.Tree(e))},aa=(t,s)=>{const{nodes:e}=na(s),n=e.get(t);if(!n)throw new Error(`Node with uuid ${t} does not exist in document tree.`);return new mt.Tree(n)},k=M(t=>t.uuid),ca={instances:{}},Ht=o.createSlice({name:"agents",initialState:ca,extraReducers:t=>t.addMatcher(o.isAnyOf(b,j,R),s=>Object.assign(s,ca)),reducers:{initializeConversations:k.initialize,addConversation:k.addOne,addConversations:k.addMany,setConversation:k.setOne,setConversations:k.setMany,updateConversation:k.updateOne,updateConversations:k.updateMany,deleteConversation:k.deleteOne,deleteConversations:k.deleteMany}}),{initializeConversations:da,addConversation:ra,addConversations:iP,setConversation:ua,setConversations:nP,updateConversation:la,updateConversations:aP,deleteConversation:cP,deleteConversations:dP}=Ht.actions,Wt=t=>t.agentsReducer.instances,rP=o.createSelector([Wt],t=>Object.values(t)),uP=T(o.createSelector([Wt,(t,s)=>s],(t,s)=>t[s])),oa=Ht.reducer,N=M(t=>t.uuid),ha={instances:{}},Kt=o.createSlice({name:"assetAttachments",initialState:ha,extraReducers:t=>t.addMatcher(o.isAnyOf(b,j,R),s=>Object.assign(s,ha)),reducers:{initializeAssetAttachments:N.initialize,addAssetAttachment:N.addOne,addAssetAttachments:N.addMany,setAssetAttachment:N.setOne,setAssetAttachments:N.setMany,updateAssetAttachment:N.updateOne,updateAssetAttachments:N.updateMany,deleteAssetAttachment:N.deleteOne,deleteAssetAttachments:N.deleteMany}}),{initializeAssetAttachments:ma,addAssetAttachment:ya,addAssetAttachments:Yt,setAssetAttachment:pa,setAssetAttachments:Aa,updateAssetAttachment:fa,updateAssetAttachments:Sa,deleteAssetAttachment:Ta,deleteAssetAttachments:Zt}=Kt.actions,Ia=t=>t.assetAttachmentReducer.instances,Jt=o.createSelector([Ia],t=>Object.values(t)),Oa=t=>s=>s.assetAttachmentReducer.instances[t],Pa=T(o.createSelector([Jt,(t,s)=>s],(t,s)=>{const e=new Set(s);return I(t.filter(({uuid:n})=>e.has(n)))})),Fa=T(o.createSelector([Jt,(t,s)=>s],(t,s)=>I(t.filter(({asset:e})=>s===e)))),ga=Kt.reducer,G=M(({uuid:t})=>t),ba={instances:{}},Xt=o.createSlice({name:"assetProcedureTypeAttachments",initialState:ba,extraReducers:t=>t.addMatcher(o.isAnyOf(b,R),s=>Object.assign(s,ba)),reducers:{initializeAssetProcedureTypeAttachments:G.initialize,addAssetProcedureTypeAttachment:G.addOne,addAssetProcedureTypeAttachments:G.addMany,setAssetProcedureTypeAttachment:G.setOne,setAssetProcedureTypeAttachments:G.setMany,updateAssetProcedureTypeAttachment:G.updateOne,updateAssetProcedureTypeAttachments:G.updateMany,deleteAssetProcedureTypeAttachment:G.deleteOne,deleteAssetProcedureTypeAttachments:G.deleteMany}}),{initializeAssetProcedureTypeAttachments:_a,addAssetProcedureTypeAttachment:Ma,addAssetProcedureTypeAttachments:Ra,setAssetProcedureTypeAttachment:wa,setAssetProcedureTypeAttachments:Ea,updateAssetProcedureTypeAttachment:va,updateAssetProcedureTypeAttachments:Va,deleteAssetProcedureTypeAttachment:za,deleteAssetProcedureTypeAttachments:Ba}=Xt.actions,ja=Xt.reducer,qa=t=>t.assetProcedureTypeAttachmentReducer.instances,Qt=o.createSelector([qa],t=>Object.values(t)),Da=t=>s=>s.assetProcedureTypeAttachmentReducer.instances[t],Ca=T(o.createSelector([Qt,(t,s)=>s],(t,s)=>{const e=new Set(s);return I(t.filter(({uuid:n})=>e.has(n)))})),lP=T(o.createSelector([Qt,(t,s)=>s],(t,s)=>I(t.filter(({asset_procedure_type:e})=>s===e)))),H=M(({uuid:t})=>t),$a={instances:{}},xt=o.createSlice({name:"assetProcedureTypeFieldsAttachments",initialState:$a,extraReducers:t=>t.addMatcher(o.isAnyOf(b,R),s=>Object.assign(s,$a)),reducers:{initializeAssetProcedureTypeFieldsAttachments:H.initialize,addAssetProcedureTypeFieldsAttachment:H.addOne,addAssetProcedureTypeFieldsAttachments:H.addMany,setAssetProcedureTypeFieldsAttachment:H.setOne,setAssetProcedureTypeFieldsAttachments:H.setMany,updateAssetProcedureTypeFieldsAttachment:H.updateOne,updateAssetProcedureTypeFieldsAttachments:H.updateMany,deleteAssetProcedureTypeFieldsAttachment:H.deleteOne,deleteAssetProcedureTypeFieldsAttachments:H.deleteMany}}),{initializeAssetProcedureTypeFieldsAttachments:Ua,addAssetProcedureTypeFieldsAttachment:La,addAssetProcedureTypeFieldsAttachments:ka,setAssetProcedureTypeFieldsAttachment:Na,setAssetProcedureTypeFieldsAttachments:Ga,updateAssetProcedureTypeFieldsAttachment:Ha,updateAssetProcedureTypeFieldsAttachments:Wa,deleteAssetProcedureTypeFieldsAttachment:Ka,deleteAssetProcedureTypeFieldsAttachments:Ya}=xt.actions,Za=xt.reducer,Ja=t=>t.assetProcedureTypeFieldsAttachmentReducer.instances,es=o.createSelector([Ja],t=>Object.values(t)),oP=T(o.createSelector([es,(t,s)=>s],(t,s)=>I(t.filter(e=>e.fields_revision===s)))),Xa=t=>s=>s.assetProcedureTypeFieldsAttachmentReducer.instances[t],Qa=T(o.createSelector([es,(t,s)=>s],(t,s)=>{const e=new Set(s);return I(t.filter(({uuid:n})=>e.has(n)))})),W=M(({uuid:t})=>t),xa={instances:{}},ts=o.createSlice({name:"assetProcedureTypeFields",initialState:xa,extraReducers:t=>t.addMatcher(o.isAnyOf(b,R),s=>Object.assign(s,xa)),reducers:{initializeAssetProcedureTypeFields:W.initialize,addAssetProcedureTypeFields:W.addOne,addAssetProcedureTypeFieldsMany:W.addMany,setAssetProcedureTypeFields:W.setOne,setAssetProcedureTypeFieldsMany:W.setMany,updateAssetProcedureTypeFields:W.updateOne,updateAssetProcedureTypeFieldsMany:W.updateMany,deleteAssetProcedureTypeFields:W.deleteOne,deleteAssetProcedureTypeFieldsMany:W.deleteMany}}),{initializeAssetProcedureTypeFields:ec,addAssetProcedureTypeFields:tc,addAssetProcedureTypeFieldsMany:sc,setAssetProcedureTypeFields:ic,setAssetProcedureTypeFieldsMany:nc,updateAssetProcedureTypeFields:ac,updateAssetProcedureTypeFieldsMany:cc,deleteAssetProcedureTypeFields:dc,deleteAssetProcedureTypeFieldsMany:rc}=ts.actions,uc=ts.reducer,lc=t=>t.assetProcedureTypeFieldsReducer.instances,pt=o.createSelector([lc],t=>Object.values(t)),hP=T(o.createSelector([pt,(t,s)=>s],(t,s)=>I(t.filter(e=>e.asset_procedure_type===s)))),mP=T(o.createSelector([pt,(t,s)=>s],(t,s)=>t.filter(e=>e.asset_procedure_type===s).sort((e,n)=>e.submitted_at>n.submitted_at?-1:1)[0])),oc=t=>s=>s.assetProcedureTypeFieldsReducer.instances[t],hc=T(o.createSelector([pt,(t,s)=>s],(t,s)=>{const e=new Set(s);return I(t.filter(({uuid:n})=>e.has(n)))})),K=M(({uuid:t})=>t),mc={instances:{}},ss=o.createSlice({name:"assetProcedureTypeFieldValuesAttachments",initialState:mc,extraReducers:t=>t.addMatcher(o.isAnyOf(b,j,R),s=>Object.assign(s,mc)),reducers:{initializeAssetProcedureTypeFieldValuesAttachments:K.initialize,addAssetProcedureTypeFieldValuesAttachment:K.addOne,addAssetProcedureTypeFieldValuesAttachments:K.addMany,setAssetProcedureTypeFieldValuesAttachment:K.setOne,setAssetProcedureTypeFieldValuesAttachments:K.setMany,updateAssetProcedureTypeFieldValuesAttachment:K.updateOne,updateAssetProcedureTypeFieldValuesAttachments:K.updateMany,deleteAssetProcedureTypeFieldValuesAttachment:K.deleteOne,deleteAssetProcedureTypeFieldValuesAttachments:K.deleteMany}}),{initializeAssetProcedureTypeFieldValuesAttachments:yc,addAssetProcedureTypeFieldValuesAttachment:pc,addAssetProcedureTypeFieldValuesAttachments:is,setAssetProcedureTypeFieldValuesAttachment:Ac,setAssetProcedureTypeFieldValuesAttachments:fc,updateAssetProcedureTypeFieldValuesAttachment:Sc,updateAssetProcedureTypeFieldValuesAttachments:Tc,deleteAssetProcedureTypeFieldValuesAttachment:Ic,deleteAssetProcedureTypeFieldValuesAttachments:ns}=ss.actions,Oc=ss.reducer,Pc=t=>t.assetProcedureTypeFieldValuesAttachmentReducer.instances,as=o.createSelector([Pc],t=>Object.values(t)),Fc=t=>s=>s.assetProcedureTypeFieldValuesAttachmentReducer.instances[t],gc=T(o.createSelector([as,(t,s)=>s],(t,s)=>{const e=new Set(s);return I(t.filter(({uuid:n})=>e.has(n)))})),bc=T(o.createSelector([as,(t,s)=>s],(t,s)=>I(t.filter(e=>e.field_values===s)))),Y=M(({uuid:t})=>t),_c={instances:{}},cs=o.createSlice({name:"assetProcedureTypeFieldValues",initialState:_c,extraReducers:t=>t.addMatcher(o.isAnyOf(b,j,R),s=>Object.assign(s,_c)),reducers:{initializeAssetProcedureTypeFieldValues:Y.initialize,addAssetProcedureTypeFieldValues:Y.addOne,addAssetProcedureTypeFieldValuesMany:Y.addMany,setAssetProcedureTypeFieldValues:Y.setOne,setAssetProcedureTypeFieldValuesMany:Y.setMany,updateAssetProcedureTypeFieldValues:Y.updateOne,updateAssetProcedureTypeFieldValuesMany:Y.updateMany,deleteAssetProcedureTypeFieldValues:Y.deleteOne,deleteAssetProcedureTypeFieldValuesMany:Y.deleteMany}}),{initializeAssetProcedureTypeFieldValues:Mc,addAssetProcedureTypeFieldValues:Rc,addAssetProcedureTypeFieldValuesMany:wc,setAssetProcedureTypeFieldValues:Ec,setAssetProcedureTypeFieldValuesMany:vc,updateAssetProcedureTypeFieldValues:Vc,updateAssetProcedureTypeFieldValuesMany:zc,deleteAssetProcedureTypeFieldValues:Bc,deleteAssetProcedureTypeFieldValuesMany:jc}=cs.actions,qc=cs.reducer,Dc=t=>t.assetProcedureTypeFieldValuesReducer.instances,At=o.createSelector([Dc],t=>Object.values(t)),yP=T(o.createSelector([At,(t,s)=>s],(t,s)=>I(t.filter(e=>e.asset===s)))),pP=T(o.createSelector([At,(t,s)=>s],(t,s)=>I(t.filter(e=>e.asset_procedure===s)))),Cc=t=>s=>s.assetProcedureTypeFieldValuesReducer.instances[t],$c=T(o.createSelector([At,(t,s)=>s],(t,s)=>{const e=new Set(s);return I(t.filter(({uuid:n})=>e.has(n)))})),Z=M(({uuid:t})=>t),Uc={instances:{}},ds=o.createSlice({name:"assetProcedures",initialState:Uc,extraReducers:t=>t.addMatcher(o.isAnyOf(b,j,R),s=>Object.assign(s,Uc)),reducers:{initializeAssetProcedures:Z.initialize,addAssetProcedure:Z.addOne,addAssetProcedures:Z.addMany,setAssetProcedure:Z.setOne,setAssetProcedures:Z.setMany,updateAssetProcedure:Z.updateOne,updateAssetProcedures:Z.updateMany,deleteAssetProcedure:Z.deleteOne,deleteAssetProcedures:Z.deleteMany}}),{initializeAssetProcedures:Lc,addAssetProcedure:kc,addAssetProcedures:rs,updateAssetProcedure:Nc,updateAssetProcedures:Gc,deleteAssetProcedure:Hc,deleteAssetProcedures:us,setAssetProcedure:Wc,setAssetProcedures:Kc}=ds.actions,Yc=ds.reducer,Zc=t=>t.assetProcedureReducer.instances,ft=o.createSelector([Zc],t=>Object.values(t)),Jc=T(o.createSelector([ft,(t,s)=>s],(t,s)=>I(t.filter(e=>e.asset_procedure_type===s)))),AP=T(o.createSelector([ft,(t,s)=>s],(t,s)=>I(t.filter(e=>e.asset_type===s)))),Xc=t=>s=>s.assetProcedureReducer.instances[t],Qc=T(o.createSelector([ft,(t,s)=>s],(t,s)=>{const e=new Set(s);return I(t.filter(({uuid:n})=>e.has(n)))})),J=M(t=>t.uuid),xc={instances:{}},ls=o.createSlice({name:"assetProcedureTypes",initialState:xc,extraReducers:t=>t.addMatcher(o.isAnyOf(b,R),s=>Object.assign(s,xc)),reducers:{initializeAssetProcedureTypes:J.initialize,addAssetProcedureType:J.addOne,addAssetProcedureTypes:J.addMany,setAssetProcedureType:J.setOne,setAssetProcedureTypes:J.setMany,updateAssetProcedureType:J.updateOne,updateAssetProcedureTypes:J.updateMany,deleteAssetProcedureType:J.deleteOne,deleteAssetProcedureTypes:J.deleteMany}}),{initializeAssetProcedureTypes:ed,addAssetProcedureType:td,addAssetProcedureTypes:sd,updateAssetProcedureType:id,updateAssetProcedureTypes:nd,deleteAssetProcedureType:ad,deleteAssetProcedureTypes:cd,setAssetProcedureType:dd,setAssetProcedureTypes:rd}=ls.actions,ud=ls.reducer,ld=t=>t.assetProcedureTypeReducer.instances,os=o.createSelector([ld],t=>Object.values(t)),od=t=>s=>s.assetProcedureTypeReducer.instances[t],hd=T(o.createSelector([os,(t,s)=>s],(t,s)=>{const e=new Set(s);return I(t.filter(({uuid:n})=>e.has(n)))})),fP=T(o.createSelector([os,(t,s)=>s],(t,s)=>I(t.filter(e=>e.organization===s)))),X=M(t=>t.uuid),md={instances:{}},hs=o.createSlice({name:"assetProcedureStepFieldsAttachments",initialState:md,extraReducers:t=>t.addMatcher(o.isAnyOf(b,R),s=>Object.assign(s,md)),reducers:{initializeAssetProcedureStepFieldsAttachments:X.initialize,addAssetProcedureStepFieldsAttachment:X.addOne,addAssetProcedureStepFieldsAttachments:X.addMany,setAssetProcedureStepFieldsAttachment:X.setOne,setAssetProcedureStepFieldsAttachments:X.setMany,updateAssetProcedureStepFieldsAttachment:X.updateOne,updateAssetProcedureStepFieldsAttachments:X.updateMany,deleteAssetProcedureStepFieldsAttachment:X.deleteOne,deleteAssetProcedureStepFieldsAttachments:X.deleteMany}}),{initializeAssetProcedureStepFieldsAttachments:yd,addAssetProcedureStepFieldsAttachment:pd,addAssetProcedureStepFieldsAttachments:Ad,setAssetProcedureStepFieldsAttachment:fd,setAssetProcedureStepFieldsAttachments:Sd,updateAssetProcedureStepFieldsAttachment:Td,updateAssetProcedureStepFieldsAttachments:Id,deleteAssetProcedureStepFieldsAttachment:Od,deleteAssetProcedureStepFieldsAttachments:Pd}=hs.actions,Fd=t=>t.assetProcedureStepFieldsAttachmentReducer.instances,ms=o.createSelector([Fd],t=>Object.values(t)),SP=T(o.createSelector([ms,(t,s)=>s],(t,s)=>I(t.filter(e=>e.fields_revision===s)))),gd=t=>s=>s.assetProcedureStepFieldsAttachmentReducer.instances[t],bd=T(o.createSelector([ms,(t,s)=>s],(t,s)=>{const e=new Set(s);return I(t.filter(({uuid:n})=>e.has(n)))})),_d=hs.reducer,Q=M(t=>t.uuid),Md={instances:{}},ys=o.createSlice({name:"assetProcedureStepFields",initialState:Md,extraReducers:t=>t.addMatcher(o.isAnyOf(b,R),s=>Object.assign(s,Md)),reducers:{initializeAssetProcedureStepFields:Q.initialize,addAssetProcedureStepFields:Q.addOne,addAssetProcedureStepFieldsMany:Q.addMany,setAssetProcedureStepFields:Q.setOne,setAssetProcedureStepFieldsMany:Q.setMany,updateAssetProcedureStepFields:Q.updateOne,updateAssetProcedureStepFieldsMany:Q.updateMany,deleteAssetProcedureStepFields:Q.deleteOne,deleteAssetProcedureStepFieldsMany:Q.deleteMany}}),{initializeAssetProcedureStepFields:Rd,addAssetProcedureStepFields:wd,addAssetProcedureStepFieldsMany:Ed,setAssetProcedureStepFields:vd,setAssetProcedureStepFieldsMany:Vd,updateAssetProcedureStepFields:zd,updateAssetProcedureStepFieldsMany:Bd,deleteAssetProcedureStepFields:jd,deleteAssetProcedureStepFieldsMany:qd}=ys.actions,ps=t=>t.assetProcedureStepFieldsReducer.instances,St=o.createSelector([ps],t=>Object.values(t)),TP=T(o.createSelector([St,(t,s)=>s],(t,s)=>I(t.filter(e=>e.asset_procedure_step===s)))),IP=T(o.createSelector([St,(t,s)=>s],(t,s)=>t.filter(e=>e.asset_procedure_step===s).sort((e,n)=>e.submitted_at>n.submitted_at?-1:1)[0])),OP=o.createSelector([ps],t=>{const s={};for(const e of Object.values(t)){const n=s[e.asset_procedure_step];(!n||n.submitted_at<e.submitted_at)&&(s[e.asset_procedure_step]=e)}return s}),Dd=t=>s=>s.assetProcedureStepFieldsReducer.instances[t],Cd=T(o.createSelector([St,(t,s)=>s],(t,s)=>{const e=new Set(s);return I(t.filter(({uuid:n})=>e.has(n)))})),$d=ys.reducer,x=M(t=>t.uuid),Ud={instances:{}},As=o.createSlice({name:"assetProcedureStepFieldValuesAttachments",initialState:Ud,extraReducers:t=>t.addMatcher(o.isAnyOf(b,j,R),s=>Object.assign(s,Ud)),reducers:{initializeAssetProcedureStepFieldValuesAttachments:x.initialize,addAssetProcedureStepFieldValuesAttachment:x.addOne,addAssetProcedureStepFieldValuesAttachments:x.addMany,setAssetProcedureStepFieldValuesAttachment:x.setOne,setAssetProcedureStepFieldValuesAttachments:x.setMany,updateAssetProcedureStepFieldValuesAttachment:x.updateOne,updateAssetProcedureStepFieldValuesAttachments:x.updateMany,deleteAssetProcedureStepFieldValuesAttachment:x.deleteOne,deleteAssetProcedureStepFieldValuesAttachments:x.deleteMany}}),{initializeAssetProcedureStepFieldValuesAttachments:Ld,addAssetProcedureStepFieldValuesAttachment:kd,addAssetProcedureStepFieldValuesAttachments:fs,setAssetProcedureStepFieldValuesAttachment:Nd,setAssetProcedureStepFieldValuesAttachments:Gd,updateAssetProcedureStepFieldValuesAttachment:Hd,updateAssetProcedureStepFieldValuesAttachments:Wd,deleteAssetProcedureStepFieldValuesAttachment:Kd,deleteAssetProcedureStepFieldValuesAttachments:Ss}=As.actions,Yd=t=>t.assetProcedureStepFieldValuesAttachmentReducer.instances,Ts=o.createSelector([Yd],t=>Object.values(t)),Zd=t=>s=>s.assetProcedureStepFieldValuesAttachmentReducer.instances[t],Jd=T(o.createSelector([Ts,(t,s)=>s],(t,s)=>{const e=new Set(s);return I(t.filter(({uuid:n})=>e.has(n)))})),Xd=T(o.createSelector([Ts,(t,s)=>s],(t,s)=>I(t.filter(e=>e.field_values===s)))),Qd=As.reducer,ee=M(t=>t.uuid),xd={instances:{}},Is=o.createSlice({name:"assetProcedureStepFieldValues",initialState:xd,extraReducers:t=>t.addMatcher(o.isAnyOf(b,j,R),s=>Object.assign(s,xd)),reducers:{initializeAssetProcedureStepFieldValues:ee.initialize,addAssetProcedureStepFieldValues:ee.addOne,addAssetProcedureStepFieldValuesMany:ee.addMany,setAssetProcedureStepFieldValues:ee.setOne,setAssetProcedureStepFieldValuesMany:ee.setMany,updateAssetProcedureStepFieldValues:ee.updateOne,updateAssetProcedureStepFieldValuesMany:ee.updateMany,deleteAssetProcedureStepFieldValues:ee.deleteOne,deleteAssetProcedureStepFieldValuesMany:ee.deleteMany}}),{initializeAssetProcedureStepFieldValues:er,addAssetProcedureStepFieldValues:tr,addAssetProcedureStepFieldValuesMany:sr,setAssetProcedureStepFieldValues:ir,setAssetProcedureStepFieldValuesMany:nr,updateAssetProcedureStepFieldValues:ar,updateAssetProcedureStepFieldValuesMany:cr,deleteAssetProcedureStepFieldValues:dr,deleteAssetProcedureStepFieldValuesMany:rr}=Is.actions,ur=t=>t.assetProcedureStepFieldValuesReducer.instances,rt=o.createSelector([ur],t=>Object.values(t)),PP=T(o.createSelector([rt,(t,s)=>s],(t,s)=>I(t.filter(e=>e.asset===s)))),FP=T(o.createSelector([rt,(t,s)=>s],(t,s)=>I(t.filter(e=>e.asset_procedure===s)))),gP=T(o.createSelector([rt,(t,s)=>s],(t,s)=>I(t.filter(e=>e.asset_procedure_step===s)))),lr=t=>s=>s.assetProcedureStepFieldValuesReducer.instances[t],or=T(o.createSelector([rt,(t,s)=>s],(t,s)=>{const e=new Set(s);return I(t.filter(({uuid:n})=>e.has(n)))})),hr=Is.reducer,te=M(t=>t.uuid),mr={instances:{}},Os=o.createSlice({name:"assetProcedureSteps",initialState:mr,extraReducers:t=>t.addMatcher(o.isAnyOf(b,R),s=>Object.assign(s,mr)),reducers:{initializeAssetProcedureSteps:te.initialize,setAssetProcedureStep:te.setOne,setAssetProcedureSteps:te.setMany,addAssetProcedureStep:te.addOne,addAssetProcedureSteps:te.addMany,updateAssetProcedureStep:te.updateOne,updateAssetProcedureSteps:te.updateMany,deleteAssetProcedureStep:te.deleteOne,deleteAssetProcedureSteps:te.deleteMany}}),{initializeAssetProcedureSteps:yr,setAssetProcedureStep:pr,setAssetProcedureSteps:Ar,addAssetProcedureStep:fr,addAssetProcedureSteps:Sr,updateAssetProcedureStep:Tr,updateAssetProcedureSteps:Ir,deleteAssetProcedureStep:Or,deleteAssetProcedureSteps:Pr}=Os.actions,Fr=Os.reducer,Tt=t=>t.assetProcedureStepReducer.instances,gr=t=>s=>s.assetProcedureStepReducer.instances[t],Ps=o.createSelector([Tt],t=>Object.values(t)),bP=T(o.createSelector([Tt,(t,s)=>s],(t,s)=>{const e={};for(const[n,a]of Object.entries(t))a.asset_procedure_type===s&&(e[n]=a);return yt(e)})),_P=T(o.createSelector([Ps,(t,s)=>s],(t,s)=>I(t.filter(e=>e.asset_procedure_type===s)))),br=T(o.createSelector([Ps,(t,s)=>s],(t,s)=>{const e=new Set(s);return I(t.filter(({uuid:n})=>e.has(n)))})),_r=T(o.createSelector([Tt,(t,s)=>s],(t,s)=>{if(!t[s])return I([]);const a=ta(s,Object.values(t)).all().map(({model:c})=>c);return I(a)})),se=M(t=>t.uuid),Mr={instances:{}},Fs=o.createSlice({name:"assets",initialState:Mr,extraReducers:t=>t.addMatcher(o.isAnyOf(b,j,R),s=>Object.assign(s,Mr)),reducers:{initializeAssets:se.initialize,addAsset:se.addOne,addAssets:se.addMany,setAsset:se.setOne,setAssets:se.setMany,updateAsset:se.updateOne,updateAssets:se.updateMany,deleteAsset:se.deleteOne,deleteAssets:se.deleteMany}}),{initializeAssets:Rr,addAsset:wr,addAssets:gs,updateAsset:Er,updateAssets:vr,deleteAsset:Vr,deleteAssets:bs,setAsset:zr,setAssets:Br}=Fs.actions,jr=t=>t.assetReducer.instances,_s=o.createSelector([jr],t=>I(Object.values(t))),Ms=T(o.createSelector([_s,(t,s)=>s],(t,s)=>I(t.filter(e=>e.asset_type===s)))),qr=t=>s=>s.assetReducer.instances[t],Dr=T(o.createSelector([_s,(t,s)=>s],(t,s)=>{const e=new Set(s);return I(t.filter(({uuid:n})=>e.has(n)))})),MP=t=>s=>Ms(t)(s).length,Cr=Fs.reducer,ie=M(t=>t.uuid),$r={instances:{}},Rs=o.createSlice({name:"assetStageCompletions",initialState:$r,extraReducers:t=>t.addMatcher(o.isAnyOf(b,j,R),s=>Object.assign(s,$r)),reducers:{initializeAssetStageCompletions:ie.initialize,addAssetStageCompletion:ie.addOne,addAssetStageCompletions:ie.addMany,setAssetStageCompletion:ie.setOne,setAssetStageCompletions:ie.setMany,updateAssetStageCompletion:ie.updateOne,updateAssetStageCompletions:ie.updateMany,deleteAssetStageCompletion:ie.deleteOne,deleteAssetStageCompletions:ie.deleteMany}}),{initializeAssetStageCompletions:Ur,addAssetStageCompletion:Lr,addAssetStageCompletions:kr,setAssetStageCompletion:Nr,setAssetStageCompletions:Gr,updateAssetStageCompletion:Hr,updateAssetStageCompletions:Wr,deleteAssetStageCompletion:Kr,deleteAssetStageCompletions:Yr}=Rs.actions,Zr=Rs.reducer,Jr=t=>t.assetStageCompletionReducer.instances,Xr=o.createSelector([Jr],t=>Object.values(t)),Qr=t=>s=>s.assetStageCompletionReducer.instances[t],xr=T(o.createSelector([Xr,(t,s)=>s],(t,s)=>{const e=new Set(s);return I(t.filter(({uuid:n})=>e.has(n)))})),ne=M(t=>t.uuid),eu={instances:{}},ws=o.createSlice({name:"assetStages",initialState:eu,extraReducers:t=>t.addMatcher(o.isAnyOf(b,R),s=>Object.assign(s,eu)),reducers:{initializeAssetStages:ne.initialize,setAssetStage:ne.setOne,setAssetStages:ne.setMany,addAssetStage:ne.addOne,addAssetStages:ne.addMany,updateAssetStage:ne.updateOne,updateAssetStages:ne.updateMany,deleteAssetStage:ne.deleteOne,deleteAssetStages:ne.deleteMany}}),{initializeAssetStages:tu,setAssetStage:su,setAssetStages:iu,addAssetStage:nu,addAssetStages:au,updateAssetStage:cu,updateAssetStages:du,deleteAssetStage:ru,deleteAssetStages:uu}=ws.actions,lu=ws.reducer,Es=t=>t.assetStageReducer.instances,ou=t=>s=>s.assetStageReducer.instances[t],vs=o.createSelector([Es],t=>Object.values(t)),RP=T(o.createSelector([Es,(t,s)=>s],(t,s)=>{const e={};for(const[n,a]of Object.entries(t))a.asset_procedure_type===s&&(e[n]=a);return yt(e)})),wP=T(o.createSelector([vs,(t,s)=>s],(t,s)=>I(t.filter(e=>e.asset_procedure_type===s)))),hu=T(o.createSelector([vs,(t,s)=>s],(t,s)=>{const e=new Set(s);return I(t.filter(({uuid:n})=>e.has(n)))})),ae=M(t=>t.uuid),mu={instances:{}},Vs=o.createSlice({name:"assetTypeAttachments",initialState:mu,extraReducers:t=>t.addMatcher(o.isAnyOf(b,R),s=>Object.assign(s,mu)),reducers:{initializeAssetTypeAttachments:ae.initialize,addAssetTypeAttachment:ae.addOne,addAssetTypeAttachments:ae.addMany,setAssetTypeAttachment:ae.setOne,setAssetTypeAttachments:ae.setMany,updateAssetTypeAttachment:ae.updateOne,updateAssetTypeAttachments:ae.updateMany,deleteAssetTypeAttachment:ae.deleteOne,deleteAssetTypeAttachments:ae.deleteMany}}),{initializeAssetTypeAttachments:yu,addAssetTypeAttachment:pu,addAssetTypeAttachments:zs,setAssetTypeAttachment:Au,setAssetTypeAttachments:fu,updateAssetTypeAttachment:Su,updateAssetTypeAttachments:Tu,deleteAssetTypeAttachment:Iu,deleteAssetTypeAttachments:Bs}=Vs.actions,Ou=t=>t.assetTypeAttachmentReducer.instances,js=o.createSelector([Ou],t=>Object.values(t)),Pu=t=>s=>s.assetTypeAttachmentReducer.instances[t],Fu=T(o.createSelector([js,(t,s)=>s],(t,s)=>{const e=new Set(s);return I(t.filter(({uuid:n})=>e.has(n)))})),gu=T(o.createSelector([js,(t,s)=>s],(t,s)=>I(t.filter(({asset_type:e})=>s===e)))),bu=Vs.reducer,ce=M(t=>t.uuid),_u={instances:{}},qs=o.createSlice({name:"assetTypeFieldsAttachments",initialState:_u,extraReducers:t=>t.addMatcher(o.isAnyOf(b,R),s=>Object.assign(s,_u)),reducers:{initializeAssetTypeFieldsAttachments:ce.initialize,addAssetTypeFieldsAttachment:ce.addOne,addAssetTypeFieldsAttachments:ce.addMany,setAssetTypeFieldsAttachment:ce.setOne,setAssetTypeFieldsAttachments:ce.setMany,updateAssetTypeFieldsAttachment:ce.updateOne,updateAssetTypeFieldsAttachments:ce.updateMany,deleteAssetTypeFieldsAttachment:ce.deleteOne,deleteAssetTypeFieldsAttachments:ce.deleteMany}}),{initializeAssetTypeFieldsAttachments:Mu,addAssetTypeFieldsAttachment:Ru,addAssetTypeFieldsAttachments:wu,setAssetTypeFieldsAttachment:Eu,setAssetTypeFieldsAttachments:vu,updateAssetTypeFieldsAttachment:Vu,updateAssetTypeFieldsAttachments:zu,deleteAssetTypeFieldsAttachment:Bu,deleteAssetTypeFieldsAttachments:ju}=qs.actions,qu=t=>t.assetTypeFieldsAttachmentReducer.instances,Ds=o.createSelector([qu],t=>Object.values(t)),EP=T(o.createSelector([Ds,(t,s)=>s],(t,s)=>I(t.filter(e=>e.fields_revision===s)))),Du=t=>s=>s.assetTypeFieldsAttachmentReducer.instances[t],Cu=T(o.createSelector([Ds,(t,s)=>s],(t,s)=>{const e=new Set(s);return I(t.filter(({uuid:n})=>e.has(n)))})),$u=qs.reducer,de=M(t=>t.uuid),Uu={instances:{}},Cs=o.createSlice({name:"assetTypeFields",initialState:Uu,extraReducers:t=>t.addMatcher(o.isAnyOf(b,R),s=>Object.assign(s,Uu)),reducers:{initializeAssetTypeFields:de.initialize,addAssetTypeFields:de.addOne,addAssetTypeFieldsMany:de.addMany,setAssetTypeFields:de.setOne,setAssetTypeFieldsMany:de.setMany,updateAssetTypeFields:de.updateOne,updateAssetTypeFieldsMany:de.updateMany,deleteAssetTypeFields:de.deleteOne,deleteAssetTypeFieldsMany:de.deleteMany}}),{initializeAssetTypeFields:Lu,addAssetTypeFields:ku,addAssetTypeFieldsMany:Nu,setAssetTypeFields:Gu,setAssetTypeFieldsMany:Hu,updateAssetTypeFields:Wu,updateAssetTypeFieldsMany:Ku,deleteAssetTypeFields:Yu,deleteAssetTypeFieldsMany:Zu}=Cs.actions,Ju=t=>t.assetTypeFieldsReducer.instances,ut=o.createSelector([Ju],t=>Object.values(t)),vP=T(o.createSelector([ut,(t,s)=>s],(t,s)=>I(t.filter(e=>e.asset_type===s)))),VP=T(o.createSelector([ut,(t,s)=>s],(t,s)=>t.filter(e=>e.asset_type===s).sort((e,n)=>e.submitted_at>n.submitted_at?-1:1)[0])),Xu=t=>s=>s.assetTypeFieldsReducer.instances[t],Qu=T(o.createSelector([ut,(t,s)=>s],(t,s)=>{const e=new Set(s);return I(t.filter(({uuid:n})=>e.has(n)))})),xu=Cs.reducer,re=M(t=>t.uuid),el={instances:{}},$s=o.createSlice({name:"assetTypeFieldValuesAttachments",initialState:el,extraReducers:t=>t.addMatcher(o.isAnyOf(b,j,R),s=>Object.assign(s,el)),reducers:{initializeAssetTypeFieldValuesAttachments:re.initialize,addAssetTypeFieldValuesAttachment:re.addOne,addAssetTypeFieldValuesAttachments:re.addMany,setAssetTypeFieldValuesAttachment:re.setOne,setAssetTypeFieldValuesAttachments:re.setMany,updateAssetTypeFieldValuesAttachment:re.updateOne,updateAssetTypeFieldValuesAttachments:re.updateMany,deleteAssetTypeFieldValuesAttachment:re.deleteOne,deleteAssetTypeFieldValuesAttachments:re.deleteMany}}),{initializeAssetTypeFieldValuesAttachments:tl,addAssetTypeFieldValuesAttachment:sl,addAssetTypeFieldValuesAttachments:Us,setAssetTypeFieldValuesAttachment:il,setAssetTypeFieldValuesAttachments:nl,updateAssetTypeFieldValuesAttachment:al,updateAssetTypeFieldValuesAttachments:cl,deleteAssetTypeFieldValuesAttachment:dl,deleteAssetTypeFieldValuesAttachments:Ls}=$s.actions,rl=t=>t.assetTypeFieldValuesAttachmentReducer.instances,ks=o.createSelector([rl],t=>Object.values(t)),ul=t=>s=>s.assetTypeFieldValuesAttachmentReducer.instances[t],ll=T(o.createSelector([ks,(t,s)=>s],(t,s)=>{const e=new Set(s);return I(t.filter(({uuid:n})=>e.has(n)))})),ol=T(o.createSelector([ks,(t,s)=>s],(t,s)=>I(t.filter(e=>e.field_values===s)))),hl=$s.reducer,ue=M(t=>t.uuid),ml={instances:{}},Ns=o.createSlice({name:"assetTypeFieldValues",initialState:ml,extraReducers:t=>t.addMatcher(o.isAnyOf(b,j,R),s=>Object.assign(s,ml)),reducers:{initializeAssetTypeFieldValues:ue.initialize,addAssetTypeFieldValues:ue.addOne,addAssetTypeFieldValuesMany:ue.addMany,setAssetTypeFieldValues:ue.setOne,setAssetTypeFieldValuesMany:ue.setMany,updateAssetTypeFieldValues:ue.updateOne,updateAssetTypeFieldValuesMany:ue.updateMany,deleteAssetTypeFieldValues:ue.deleteOne,deleteAssetTypeFieldValuesMany:ue.deleteMany}}),{initializeAssetTypeFieldValues:yl,addAssetTypeFieldValues:pl,addAssetTypeFieldValuesMany:Al,setAssetTypeFieldValues:fl,setAssetTypeFieldValuesMany:Sl,updateAssetTypeFieldValues:Tl,updateAssetTypeFieldValuesMany:Il,deleteAssetTypeFieldValues:Ol,deleteAssetTypeFieldValuesMany:Pl}=Ns.actions,Fl=t=>t.assetTypeFieldValuesReducer.instances,It=o.createSelector([Fl],t=>Object.values(t)),zP=T(o.createSelector([It,(t,s)=>s],(t,s)=>I(t.filter(e=>e.asset===s)))),BP=T(o.createSelector([ut,It,(t,s)=>s],(t,s,e)=>{const n=new Set(t.filter(a=>a.asset_type===e).map(a=>a.uuid));return I(s.filter(a=>n.has(a.fields_revision)))})),gl=t=>s=>s.assetTypeFieldValuesReducer.instances[t],bl=T(o.createSelector([It,(t,s)=>s],(t,s)=>{const e=new Set(s);return I(t.filter(({uuid:n})=>e.has(n)))})),_l=Ns.reducer,le=M(t=>t.uuid),Ml={instances:{}},Gs=o.createSlice({name:"assetTypeIdentifiers",initialState:Ml,extraReducers:t=>t.addMatcher(o.isAnyOf(b,R),s=>Object.assign(s,Ml)),reducers:{initializeAssetTypeIdentifiers:le.initialize,addAssetTypeIdentifier:le.addOne,addAssetTypeIdentifiers:le.addMany,setAssetTypeIdentifier:le.setOne,setAssetTypeIdentifiers:le.setMany,updateAssetTypeIdentifier:le.updateOne,updateAssetTypeIdentifiers:le.updateMany,deleteAssetTypeIdentifier:le.deleteOne,deleteAssetTypeIdentifiers:le.deleteMany}}),{initializeAssetTypeIdentifiers:Rl,addAssetTypeIdentifier:wl,addAssetTypeIdentifiers:El,setAssetTypeIdentifier:vl,setAssetTypeIdentifiers:Vl,updateAssetTypeIdentifier:zl,updateAssetTypeIdentifiers:Bl,deleteAssetTypeIdentifier:jl,deleteAssetTypeIdentifiers:ql}=Gs.actions,Dl=t=>t.assetTypeIdentifierReducer.instances,Hs=o.createSelector([Dl],t=>Object.values(t)),Cl=t=>s=>s.assetTypeIdentifierReducer.instances[t],$l=T(o.createSelector([Hs,(t,s)=>s],(t,s)=>{const e=new Set(s);return I(t.filter(({uuid:n})=>e.has(n)))})),jP=T(o.createSelector([Hs,(t,s)=>s],(t,s)=>I(t.filter(e=>e.asset_type===s)))),Ul=Gs.reducer,oe=M(t=>t.uuid),Ll={instances:{}},Ws=o.createSlice({name:"assetTypeIdentifierValues",initialState:Ll,extraReducers:t=>t.addMatcher(o.isAnyOf(b,j,R),s=>Object.assign(s,Ll)),reducers:{initializeAssetTypeIdentifierValues:oe.initialize,addAssetTypeIdentifierValue:oe.addOne,addAssetTypeIdentifierValues:oe.addMany,setAssetTypeIdentifierValue:oe.setOne,setAssetTypeIdentifierValues:oe.setMany,updateAssetTypeIdentifierValue:oe.updateOne,updateAssetTypeIdentifierValues:oe.updateMany,deleteAssetTypeIdentifierValue:oe.deleteOne,deleteAssetTypeIdentifierValues:oe.deleteMany}}),{initializeAssetTypeIdentifierValues:kl,addAssetTypeIdentifierValue:Nl,addAssetTypeIdentifierValues:Gl,setAssetTypeIdentifierValue:Hl,setAssetTypeIdentifierValues:Wl,updateAssetTypeIdentifierValue:Kl,updateAssetTypeIdentifierValues:Yl,deleteAssetTypeIdentifierValue:Zl,deleteAssetTypeIdentifierValues:Jl}=Ws.actions,Xl=t=>t.assetTypeIdentifierValueReducer.instances,Ot=o.createSelector([Xl],t=>Object.values(t)),Ql=t=>s=>s.assetTypeIdentifierValueReducer.instances[t],xl=T(o.createSelector([Ot,(t,s)=>s],(t,s)=>{const e=new Set(s);return I(t.filter(({uuid:n})=>e.has(n)))})),qP=T(o.createSelector([Ot,(t,s)=>s],(t,s)=>I(t.filter(e=>e.asset===s)))),DP=T(o.createSelector([Ot,(t,s)=>s],(t,s)=>I(t.filter(e=>e.asset_type_identifier===s)))),eo=Ws.reducer,he=M(t=>t.uuid),to={instances:{}},Ks=o.createSlice({name:"assetTypes",initialState:to,extraReducers:t=>t.addMatcher(o.isAnyOf(b,R),s=>Object.assign(s,to)),reducers:{initializeAssetTypes:he.initialize,setAssetType:he.setOne,setAssetTypes:he.setMany,addAssetType:he.addOne,addAssetTypes:he.addMany,updateAssetType:he.updateOne,updateAssetTypes:he.updateMany,deleteAssetType:he.deleteOne,deleteAssetTypes:he.deleteMany}}),{initializeAssetTypes:so,setAssetType:io,setAssetTypes:no,addAssetType:ao,addAssetTypes:co,updateAssetType:ro,updateAssetTypes:uo,deleteAssetType:lo,deleteAssetTypes:oo}=Ks.actions,ho=t=>t.assetTypeReducer.instances,Ys=o.createSelector([ho],t=>Object.values(t)),mo=t=>s=>s.assetTypeReducer.instances[t],yo=T(o.createSelector([Ys,(t,s)=>s],(t,s)=>{const e=new Set(s);return I(t.filter(({uuid:n})=>e.has(n)))})),CP=T(o.createSelector([Ys,(t,s)=>s],(t,s)=>I(t.filter(e=>e.organization===s)))),po=Ks.reducer,me=M(t=>t.uuid),Ao={instances:{}},Zs=o.createSlice({name:"assetTypeStatuses",initialState:Ao,extraReducers:t=>t.addMatcher(o.isAnyOf(b,R),s=>Object.assign(s,Ao)),reducers:{initializeAssetTypeStatuses:me.initialize,addAssetTypeStatus:me.addOne,addAssetTypeStatuses:me.addMany,setAssetTypeStatus:me.setOne,setAssetTypeStatuses:me.setMany,updateAssetTypeStatus:me.updateOne,updateAssetTypeStatuses:me.updateMany,deleteAssetTypeStatus:me.deleteOne,deleteAssetTypeStatuses:me.deleteMany}}),{initializeAssetTypeStatuses:fo,addAssetTypeStatus:So,addAssetTypeStatuses:To,setAssetTypeStatus:Io,setAssetTypeStatuses:Oo,updateAssetTypeStatus:Po,updateAssetTypeStatuses:Fo,deleteAssetTypeStatus:go,deleteAssetTypeStatuses:bo}=Zs.actions,_o=t=>t.assetTypeStatusReducer.instances,Js=o.createSelector([_o],t=>I(Object.values(t).toSorted(sa))),Mo=t=>s=>s.assetTypeStatusReducer.instances[t],Ro=T(o.createSelector([Js,(t,s)=>s],(t,s)=>{const e=new Set(s);return I(t.filter(({uuid:n})=>e.has(n)))})),$P=T(o.createSelector([Js,(t,s)=>s],(t,s)=>I(t.filter(e=>e.asset_type===s)))),wo=Zs.reducer,Eo={accessToken:"",refreshToken:"",isLoggedIn:!1},Pt=o.createSlice({name:"auth",initialState:Eo,extraReducers:t=>t.addCase(b,s=>Object.assign(s,Eo)),reducers:{setTokens:(t,s)=>{t.accessToken=s.payload.accessToken,t.refreshToken=s.payload.refreshToken},clearTokens:t=>{t.accessToken="",t.refreshToken=""},setLoggedIn:(t,s)=>{s.payload||Pt.caseReducers.clearTokens(t),t.isLoggedIn=s.payload}}}),{setTokens:UP,clearTokens:LP,setLoggedIn:vo}=Pt.actions,kP=t=>t.authReducer.accessToken,NP=t=>t.authReducer.isLoggedIn,Vo=Pt.reducer,ye=M(t=>t.uuid),zo={instances:{}},Xs=o.createSlice({name:"categories",initialState:zo,extraReducers:t=>t.addMatcher(o.isAnyOf(b,R),s=>Object.assign(s,zo)),reducers:{initializeCategories:ye.initialize,addCategory:ye.addOne,addCategories:ye.addMany,setCategory:ye.setOne,setCategories:ye.setMany,updateCategory:ye.updateOne,updateCategories:ye.updateMany,deleteCategory:ye.deleteOne,deleteCategories:ye.deleteMany}}),{initializeCategories:Bo,addCategory:jo,addCategories:qo,setCategory:Do,setCategories:Co,updateCategory:$o,updateCategories:Uo,deleteCategory:Lo,deleteCategories:ko}=Xs.actions,No=t=>t.categoryReducer.instances,Qs=o.createSelector([No],t=>Object.values(t)),xs=t=>s=>s.categoryReducer.instances[t],Go=T(o.createSelector([Qs,(t,s)=>s],(t,s)=>{const e=new Set(s);return I(t.filter(({uuid:n})=>e.has(n)))})),GP=T(o.createSelector([Qs,(t,s)=>s],(t,s)=>I(t.filter(e=>e.project===s)))),Ho=Xs.reducer,pe=M(t=>t.uuid),Wo={instances:{}},ei=o.createSlice({name:"documentAttachments",initialState:Wo,extraReducers:t=>t.addCase(b,s=>Object.assign(s,Wo)),reducers:{initializeDocumentAttachments:pe.initialize,addDocumentAttachment:pe.addOne,addDocumentAttachments:pe.addMany,setDocumentAttachment:pe.setOne,setDocumentAttachments:pe.setMany,updateDocumentAttachment:pe.updateOne,updateDocumentAttachments:pe.updateMany,deleteDocumentAttachment:pe.deleteOne,deleteDocumentAttachments:pe.deleteMany}}),{initializeDocumentAttachments:Ko,addDocumentAttachment:Yo,addDocumentAttachments:Zo,setDocumentAttachment:Jo,setDocumentAttachments:Xo,updateDocumentAttachment:Qo,updateDocumentAttachments:xo,deleteDocumentAttachment:eh,deleteDocumentAttachments:th}=ei.actions,sh=t=>t.documentAttachmentReducer.instances,ti=o.createSelector([sh],t=>Object.values(t)),ih=t=>s=>s.documentAttachmentReducer.instances[t],nh=T(o.createSelector([ti,(t,s)=>s],(t,s)=>{const e=new Set(s);return I(t.filter(({uuid:n})=>e.has(n)))})),HP=T(o.createSelector([ti,(t,s)=>s],(t,s)=>I(t.filter(({document:e})=>s===e)))),ah=ei.reducer,Ae=M(({uuid:t})=>t),ch={instances:{}},si=o.createSlice({name:"documents",initialState:ch,extraReducers:t=>t.addMatcher(o.isAnyOf(b,R),s=>{Object.assign(s,ch)}),reducers:{initializeDocuments:Ae.initialize,addDocument:Ae.addOne,addDocuments:Ae.addMany,setDocument:Ae.setOne,setDocuments:Ae.setMany,updateDocument:Ae.updateOne,updateDocuments:Ae.updateMany,deleteDocument:Ae.deleteOne,deleteDocuments:Ae.deleteMany}}),{initializeDocuments:dh,addDocument:rh,addDocuments:uh,setDocument:lh,setDocuments:oh,updateDocument:hh,updateDocuments:mh,deleteDocument:yh,deleteDocuments:ph}=si.actions,Ah=si.reducer,ii=t=>t.documentsReducer.instances,Ft=o.createSelector([ii],t=>Object.values(t)),fh=t=>s=>s.documentsReducer.instances[t],Sh=T(o.createSelector([Ft,(t,s)=>s],(t,s)=>{const e=new Set(s);return I(t.filter(({uuid:n})=>e.has(n)))})),WP=T(o.createSelector([Ft,(t,s)=>s],(t,s)=>t.filter(e=>e.project===s))),KP=T(o.createSelector([Ft,(t,s)=>s],(t,s)=>t.filter(e=>e.organization===s))),Th=T(o.createSelector([ii,(t,s)=>s],(t,s)=>{if(!t[s])return I([]);const a=aa(s,Object.values(t)).all().map(({model:c})=>c);return I(a)})),fe=M(t=>t.uuid),Ih={instances:{}},ni=o.createSlice({name:"emailDomains",initialState:Ih,extraReducers:t=>t.addMatcher(o.isAnyOf(b,R),s=>Object.assign(s,Ih)),reducers:{initializeEmailDomains:fe.initialize,addEmailDomain:fe.addOne,addEmailDomains:fe.addMany,setEmailDomain:fe.setOne,setEmailDomains:fe.setMany,updateEmailDomain:fe.updateOne,updateEmailDomains:fe.updateMany,deleteEmailDomain:fe.deleteOne,deleteEmailDomains:fe.deleteMany}}),{initializeEmailDomains:Oh,addEmailDomain:Ph,addEmailDomains:Fh,setEmailDomain:gh,setEmailDomains:bh,updateEmailDomain:_h,updateEmailDomains:Mh,deleteEmailDomain:Rh,deleteEmailDomains:wh}=ni.actions,Eh=t=>t.emailDomainsReducer.instances,ai=o.createSelector([Eh],t=>Object.values(t)),vh=t=>s=>s.emailDomainsReducer.instances[t],Vh=T(o.createSelector([ai,(t,s)=>s],(t,s)=>{const e=new Set(s);return I(t.filter(({uuid:n})=>e.has(n)))})),YP=T(o.createSelector([ai,(t,s)=>s],(t,s)=>I(t.filter(e=>e.organization===s)))),zh=ni.reducer,Bh={s3Urls:{}},jh=1e3*60*60,ZP=jh*24*7,ci=o.createSlice({name:"file",initialState:Bh,extraReducers:t=>t.addCase(b,s=>Object.assign(s,Bh)),reducers:{setUploadUrl:(t,s)=>{const{url:e,fields:n,sha1:a}=s.payload,c=new Date,r=new Date(c.getTime()+ZP);t.s3Urls[a]={url:e,fields:n,exp:r.getTime()}}}}),{setUploadUrl:qh}=ci.actions,Dh=t=>s=>{const e=s.fileReducer.s3Urls[t];if(!e)return;const n=new Date().getTime();if(!((e.exp??n)-n<jh))return e},Ch=ci.reducer,Se=M(t=>t.uuid),$h={instances:{}},di=o.createSlice({name:"formIdentifiers",initialState:$h,extraReducers:t=>t.addMatcher(o.isAnyOf(b,R),s=>Object.assign(s,$h)),reducers:{initializeFormIdentifiers:Se.initialize,addFormIdentifier:Se.addOne,addFormIdentifiers:Se.addMany,setFormIdentifier:Se.setOne,setFormIdentifiers:Se.setMany,updateFormIdentifier:Se.updateOne,updateFormIdentifiers:Se.updateMany,deleteFormIdentifier:Se.deleteOne,deleteFormIdentifiers:Se.deleteMany}}),{initializeFormIdentifiers:Uh,addFormIdentifier:Lh,addFormIdentifiers:kh,setFormIdentifier:Nh,setFormIdentifiers:Gh,updateFormIdentifier:Hh,updateFormIdentifiers:Wh,deleteFormIdentifier:Kh,deleteFormIdentifiers:Yh}=di.actions,Zh=t=>t.formIdentifierReducer.instances,ri=o.createSelector([Zh],t=>Object.values(t)),Jh=t=>s=>s.formIdentifierReducer.instances[t],Xh=T(o.createSelector([ri,(t,s)=>s],(t,s)=>{const e=new Set(s);return I(t.filter(({uuid:n})=>e.has(n)))})),JP=T(o.createSelector([ri,(t,s)=>s],(t,s)=>I(t.filter(e=>e.form===s)))),Qh=di.reducer,Te=M(t=>t.uuid),xh={instances:{}},ui=o.createSlice({name:"formIdentifierValues",initialState:xh,extraReducers:t=>t.addMatcher(o.isAnyOf(b,R),s=>Object.assign(s,xh)),reducers:{initializeFormIdentifierValues:Te.initialize,addFormIdentifierValue:Te.addOne,addFormIdentifierValues:Te.addMany,setFormIdentifierValue:Te.setOne,setFormIdentifierValues:Te.setMany,updateFormIdentifierValue:Te.updateOne,updateFormIdentifierValues:Te.updateMany,deleteFormIdentifierValue:Te.deleteOne,deleteFormIdentifierValues:Te.deleteMany}}),{initializeFormIdentifierValues:em,addFormIdentifierValue:tm,addFormIdentifierValues:sm,setFormIdentifierValue:im,setFormIdentifierValues:nm,updateFormIdentifierValue:am,updateFormIdentifierValues:cm,deleteFormIdentifierValue:dm,deleteFormIdentifierValues:rm}=ui.actions,um=t=>t.formIdentifierValueReducer.instances,gt=o.createSelector([um],t=>Object.values(t)),lm=t=>s=>s.formIdentifierValueReducer.instances[t],om=T(o.createSelector([gt,(t,s)=>s],(t,s)=>{const e=new Set(s);return I(t.filter(({uuid:n})=>e.has(n)))})),XP=T(o.createSelector([gt,(t,s)=>s],(t,s)=>I(t.filter(e=>e.form_submission===s)))),QP=T(o.createSelector([gt,(t,s)=>s],(t,s)=>I(t.filter(e=>e.form_identifier===s)))),hm=ui.reducer,Ie=M(t=>t.uuid),mm={instances:{}},li=o.createSlice({name:"formRevisionAttachments",initialState:mm,extraReducers:t=>t.addMatcher(o.isAnyOf(b,R),s=>Object.assign(s,mm)),reducers:{initializeFormRevisionAttachments:Ie.initialize,addFormRevisionAttachment:Ie.addOne,addFormRevisionAttachments:Ie.addMany,setFormRevisionAttachment:Ie.setOne,setFormRevisionAttachments:Ie.setMany,updateFormRevisionAttachment:Ie.updateOne,updateFormRevisionAttachments:Ie.updateMany,deleteFormRevisionAttachment:Ie.deleteOne,deleteFormRevisionAttachments:Ie.deleteMany}}),{initializeFormRevisionAttachments:ym,addFormRevisionAttachment:pm,addFormRevisionAttachments:Am,setFormRevisionAttachment:fm,setFormRevisionAttachments:Sm,updateFormRevisionAttachment:Tm,updateFormRevisionAttachments:Im,deleteFormRevisionAttachment:Om,deleteFormRevisionAttachments:Pm}=li.actions,bt=t=>t.formRevisionAttachmentReducer.instances,Fm=o.createSelector([bt],t=>Object.values(t)),gm=T(o.createSelector([bt,(t,s)=>s],(t,s)=>t[s])),bm=T(o.createSelector([Fm,(t,s)=>s],(t,s)=>{const e=new Set(s);return I(t.filter(({uuid:n})=>e.has(n)))})),xP=T(o.createSelector([bt,(t,s)=>s],(t,s)=>I(Object.values(t).filter(e=>e.form_revision===s)))),_m=li.reducer,Oe=M(t=>t.uuid),Mm={instances:{}},oi=o.createSlice({name:"formRevisions",initialState:Mm,extraReducers:t=>t.addMatcher(o.isAnyOf(b,R),s=>Object.assign(s,Mm)),reducers:{initializeFormRevisions:Oe.initialize,addFormRevision:Oe.addOne,addFormRevisions:Oe.addMany,setFormRevision:Oe.setOne,setFormRevisions:Oe.setMany,updateFormRevision:Oe.updateOne,updateFormRevisions:Oe.updateMany,deleteFormRevision:Oe.deleteOne,deleteFormRevisions:Oe.deleteMany}}),{initializeFormRevisions:Rm,addFormRevision:hi,addFormRevisions:mi,setFormRevision:wm,setFormRevisions:Em,updateFormRevision:vm,updateFormRevisions:Vm,deleteFormRevision:yi,deleteFormRevisions:pi}=oi.actions,Ai=t=>t.formRevisionReducer.instances,_t=o.createSelector([Ai],t=>Object.values(t)),zm=t=>s=>s.formRevisionReducer.instances[t],Bm=T(o.createSelector([_t,(t,s)=>s],(t,s)=>{const e=new Set(s);return I(t.filter(({uuid:n})=>e.has(n)))})),eF=T(o.createSelector([_t,(t,s)=>s],(t,s)=>t.filter(e=>e.form===s).sort((e,n)=>e.submitted_at>n.submitted_at?-1:1)[0])),jm=T(o.createSelector([_t,(t,s)=>s],(t,s)=>I(t.filter(e=>e.form===s)))),qm=oi.reducer,Pe=M(t=>t.uuid),Dm={instances:{}},fi=o.createSlice({name:"forms",initialState:Dm,extraReducers:t=>t.addMatcher(o.isAnyOf(b,R),s=>Object.assign(s,Dm)),reducers:{initializeForms:Pe.initialize,addForm:Pe.addOne,addForms:Pe.addMany,setForm:Pe.setOne,setForms:Pe.setMany,updateForm:Pe.updateOne,updateForms:Pe.updateMany,deleteForm:Pe.deleteOne,deleteForms:Pe.deleteMany}}),{initializeForms:Cm,addForm:$m,addForms:Um,setForm:Lm,setForms:km,updateForm:Nm,updateForms:Gm,deleteForm:Hm,deleteForms:Wm}=fi.actions,Km=fi.reducer,Ym=t=>t.formReducer.instances,Si=o.createSelector([Ym],t=>Object.values(t)),Zm=t=>s=>s.formReducer.instances[t],Jm=T(o.createSelector([Si,(t,s)=>s],(t,s)=>{const e=new Set(s);return I(t.filter(({uuid:n})=>e.has(n)))})),tF=T(o.createSelector([Si,(t,s)=>s],(t,s)=>I(t.filter(e=>e.organization===s)))),Fe=M(t=>t.uuid),Xm={instances:{}},Ti=o.createSlice({name:"formSubmissionAttachments",initialState:Xm,extraReducers:t=>t.addMatcher(o.isAnyOf(b,R),s=>Object.assign(s,Xm)),reducers:{initializeFormSubmissionAttachments:Fe.initialize,addFormSubmissionAttachment:Fe.addOne,addFormSubmissionAttachments:Fe.addMany,setFormSubmissionAttachment:Fe.setOne,setFormSubmissionAttachments:Fe.setMany,updateFormSubmissionAttachment:Fe.updateOne,updateFormSubmissionAttachments:Fe.updateMany,deleteFormSubmissionAttachment:Fe.deleteOne,deleteFormSubmissionAttachments:Fe.deleteMany}}),{initializeFormSubmissionAttachments:Qm,addFormSubmissionAttachment:xm,addFormSubmissionAttachments:Ii,setFormSubmissionAttachment:ey,setFormSubmissionAttachments:ty,updateFormSubmissionAttachment:sy,updateFormSubmissionAttachments:iy,deleteFormSubmissionAttachment:ny,deleteFormSubmissionAttachments:Oi}=Ti.actions,Pi=t=>t.formSubmissionAttachmentReducer.instances,Fi=o.createSelector([Pi],t=>Object.values(t)),ay=T(o.createSelector([Pi,(t,s)=>s],(t,s)=>t[s])),gi=T(o.createSelector([Fi,(t,s)=>s],(t,s)=>{const e=new Set(s);return I(t.filter(n=>e.has(n.uuid)))})),cy=gi,dy=T(o.createSelector([Fi,(t,s)=>s],(t,s)=>I(t.filter(e=>e.form_submission===s)))),ry=Ti.reducer,ge=M(t=>t.uuid),uy={instances:{}},bi=o.createSlice({name:"formSubmissions",initialState:uy,extraReducers:t=>t.addMatcher(o.isAnyOf(b,R),s=>Object.assign(s,uy)),reducers:{initializeFormSubmissions:ge.initialize,setFormSubmission:ge.setOne,setFormSubmissions:ge.setMany,addFormSubmission:ge.addOne,addFormSubmissions:ge.addMany,updateFormSubmission:ge.updateOne,updateFormSubmissions:ge.updateMany,deleteFormSubmission:ge.deleteOne,deleteFormSubmissions:ge.deleteMany}}),{initializeFormSubmissions:ly,setFormSubmission:oy,setFormSubmissions:hy,addFormSubmission:my,addFormSubmissions:_i,updateFormSubmission:yy,updateFormSubmissions:py,deleteFormSubmission:Ay,deleteFormSubmissions:Mi}=bi.actions,Ri=t=>t.formSubmissionReducer.instances,fy=o.createSelector([Ri],t=>Object.values(t)),Sy=t=>s=>s.formSubmissionReducer.instances[t],Ty=T(o.createSelector([fy,(t,s)=>s],(t,s)=>{const e=new Set(s);return I(t.filter(({uuid:n})=>e.has(n)))})),Iy=T(o.createSelector([Ri,Ai,(t,s)=>s],(t,s,e)=>{const n=new Set;for(const a of Object.values(s))a.form===e&&n.add(a.uuid);return Object.values(t).filter(a=>n.has(a.form_revision))})),Oy=bi.reducer,be=M(t=>t.uuid),Py={instances:{}},wi=o.createSlice({name:"geoImages",initialState:Py,extraReducers:t=>t.addMatcher(o.isAnyOf(b,j,R),s=>Object.assign(s,Py)),reducers:{initializeGeoImages:be.initialize,setGeoImage:be.setOne,setGeoImages:be.setMany,addGeoImage:be.addOne,addGeoImages:be.addMany,updateGeoImage:be.updateOne,updateGeoImages:be.updateMany,deleteGeoImage:be.deleteOne,deleteGeoImages:be.deleteMany}}),{initializeGeoImages:Fy,setGeoImage:gy,setGeoImages:by,addGeoImage:_y,addGeoImages:My,updateGeoImage:Ry,updateGeoImages:wy,deleteGeoImage:Ey,deleteGeoImages:vy}=wi.actions,Vy=t=>t.geoImageReducer.instances,Ei=o.createSelector([Vy],t=>Object.values(t)),zy=t=>s=>s.geoImageReducer.instances[t],By=T(o.createSelector([Ei,(t,s)=>s],(t,s)=>{const e=new Set(s);return I(t.filter(({uuid:n})=>e.has(n)))})),sF=T(o.createSelector([Ei,(t,s)=>s],(t,s)=>I(t.filter(e=>e.project===s)))),jy=wi.reducer,_e=M(t=>t.uuid),qy={instances:{}},vi=o.createSlice({name:"issueAssociations",initialState:qy,extraReducers:t=>t.addMatcher(o.isAnyOf(b,j,R),s=>Object.assign(s,qy)),reducers:{initializeIssueAssociations:_e.initialize,addIssueAssociation:_e.addOne,addIssueAssociations:_e.addMany,setIssueAssociation:_e.setOne,setIssueAssociations:_e.setMany,updateIssueAssociation:_e.updateOne,updateIssueAssociations:_e.updateMany,deleteIssueAssociation:_e.deleteOne,deleteIssueAssociations:_e.deleteMany}}),{initializeIssueAssociations:Dy,setIssueAssociations:Cy,setIssueAssociation:$y,updateIssueAssociation:Uy,updateIssueAssociations:Ly,addIssueAssociation:ky,addIssueAssociations:Mt,deleteIssueAssociation:Ny,deleteIssueAssociations:Rt}=vi.actions,lt=t=>t.issueAssociationReducer.instances,Gy=o.createSelector([lt],t=>Object.values(t)),Hy=t=>s=>s.issueAssociationReducer.instances[t],Wy=T(o.createSelector([Gy,(t,s)=>s],(t,s)=>{const e=new Set(s);return I(t.filter(({uuid:n})=>e.has(n)))})),Ky=T(o.createSelector([lt,(t,s)=>s],(t,s)=>I(Object.values(t).filter(e=>e.associated_issue===s)))),Yy=T(o.createSelector([lt,(t,s)=>s],(t,s)=>I(Object.values(t).filter(e=>e.issue===s)))),Zy=T(o.createSelector([lt,(t,s)=>s],(t,s)=>I(Object.values(t).filter(e=>e.asset===s)))),Jy=vi.reducer,Me=M(t=>t.uuid),Xy={instances:{}},Vi=o.createSlice({name:"issueAttachments",initialState:Xy,extraReducers:t=>t.addMatcher(o.isAnyOf(b,j,R),s=>Object.assign(s,Xy)),reducers:{initializeIssueAttachments:Me.initialize,addIssueAttachment:Me.addOne,addIssueAttachments:Me.addMany,setIssueAttachment:Me.setOne,setIssueAttachments:Me.setMany,updateIssueAttachment:Me.updateOne,updateIssueAttachments:Me.updateMany,deleteIssueAttachment:Me.deleteOne,deleteIssueAttachments:Me.deleteMany}}),{initializeIssueAttachments:Qy,addIssueAttachment:xy,addIssueAttachments:zi,setIssueAttachment:ep,setIssueAttachments:tp,updateIssueAttachment:sp,updateIssueAttachments:ip,deleteIssueAttachment:np,deleteIssueAttachments:Bi}=Vi.actions,ap=t=>t.issueAttachmentReducer.instances,ji=o.createSelector([ap],t=>Object.values(t)),cp=T(o.createSelector([ji,(t,s)=>s],(t,s)=>I(t.filter(({issue:e})=>s===e)))),dp=t=>s=>s.issueAttachmentReducer.instances[t],rp=T(o.createSelector([ji,(t,s)=>s],(t,s)=>{const e=new Set(s);return I(t.filter(({uuid:n})=>e.has(n)))})),up=Vi.reducer,Re=M(t=>t.uuid),lp={instances:{}},qi=o.createSlice({name:"issueCommentAttachments",initialState:lp,extraReducers:t=>t.addMatcher(o.isAnyOf(b,j,R),s=>Object.assign(s,lp)),reducers:{initializeIssueCommentAttachments:Re.initialize,addIssueCommentAttachment:Re.addOne,addIssueCommentAttachments:Re.addMany,setIssueCommentAttachment:Re.setOne,setIssueCommentAttachments:Re.setMany,updateIssueCommentAttachment:Re.updateOne,updateIssueCommentAttachments:Re.updateMany,deleteIssueCommentAttachment:Re.deleteOne,deleteIssueCommentAttachments:Re.deleteMany}}),{initializeIssueCommentAttachments:op,addIssueCommentAttachment:hp,addIssueCommentAttachments:mp,setIssueCommentAttachment:yp,setIssueCommentAttachments:pp,updateIssueCommentAttachment:Ap,updateIssueCommentAttachments:fp,deleteIssueCommentAttachment:Sp,deleteIssueCommentAttachments:Tp}=qi.actions,Ip=t=>t.issueCommentAttachmentReducer.instances,Di=o.createSelector([Ip],t=>Object.values(t)),Op=t=>s=>s.issueCommentAttachmentReducer.instances[t],Pp=T(o.createSelector([Di,(t,s)=>s],(t,s)=>{const e=new Set(s);return I(t.filter(({uuid:n})=>e.has(n)))})),iF=T(o.createSelector([Di,(t,s)=>s],(t,s)=>I(t.filter(({issue_comment:e})=>s===e)))),Fp=qi.reducer,we=M(t=>t.uuid),gp={instances:{}},Ci=o.createSlice({name:"issueComments",initialState:gp,extraReducers:t=>t.addMatcher(o.isAnyOf(b,j,R),s=>Object.assign(s,gp)),reducers:{initializeIssueComments:we.initialize,addIssueComment:we.addOne,addIssueComments:we.addMany,setIssueComment:we.setOne,setIssueComments:we.setMany,updateIssueComment:we.updateOne,updateIssueComments:we.updateMany,deleteIssueComment:we.deleteOne,deleteIssueComments:we.deleteMany}}),{initializeIssueComments:bp,addIssueComment:_p,addIssueComments:Mp,setIssueComment:Rp,setIssueComments:wp,updateIssueComment:Ep,updateIssueComments:vp,deleteIssueComment:Vp,deleteIssueComments:zp}=Ci.actions,$i=t=>t.issueCommentReducer.instances,Bp=t=>s=>s.issueCommentReducer.instances[t],jp=T(o.createSelector([$i,(t,s)=>s],(t,s)=>{const e=new Set(s);return I(Object.values(t).filter(({uuid:n})=>e.has(n)))})),nF=T(o.createSelector([$i,(t,s)=>s],(t,s)=>I(Object.values(t).filter(e=>e.issue===s)))),qp=Ci.reducer,Ee=M(t=>t.uuid),Dp={instances:{}},Ui=o.createSlice({name:"issues",initialState:Dp,extraReducers:t=>t.addMatcher(o.isAnyOf(b,j,R),s=>Object.assign(s,Dp)),reducers:{initializeIssues:Ee.initialize,addIssue:Ee.addOne,addIssues:Ee.addMany,setIssue:Ee.setOne,setIssues:Ee.setMany,updateIssue:Ee.updateOne,updateIssues:Ee.updateMany,deleteIssue:Ee.deleteOne,deleteIssues:Ee.deleteMany}}),{initializeIssues:Cp,addIssue:$p,addIssues:Li,setIssue:Up,setIssues:Lp,updateIssue:kp,updateIssues:Np,deleteIssue:Gp,deleteIssues:ki}=Ui.actions,Hp=t=>t.issueReducer.instances,wt=o.createSelector([Hp],t=>Object.values(t)),Wp=t=>s=>s.issueReducer.instances[t],Kp=T(o.createSelector([wt,(t,s)=>s],(t,s)=>{const e=new Set(s);return I(t.filter(({uuid:n})=>e.has(n)))})),aF=T(o.createSelector([wt,(t,s)=>s],(t,s)=>t.filter(e=>e.project===s))),Yp=T(o.createSelector([wt,(t,s)=>s],(t,s)=>t.filter(e=>e.issue_type===s))),Zp=Ui.reducer,ve=M(t=>t.uuid),Jp={instances:{}},Ni=o.createSlice({name:"issueTypeAttachments",initialState:Jp,extraReducers:t=>t.addMatcher(o.isAnyOf(b,R),s=>Object.assign(s,Jp)),reducers:{initializeIssueTypeAttachments:ve.initialize,addIssueTypeAttachment:ve.addOne,addIssueTypeAttachments:ve.addMany,setIssueTypeAttachment:ve.setOne,setIssueTypeAttachments:ve.setMany,updateIssueTypeAttachment:ve.updateOne,updateIssueTypeAttachments:ve.updateMany,deleteIssueTypeAttachment:ve.deleteOne,deleteIssueTypeAttachments:ve.deleteMany}}),{initializeIssueTypeAttachments:Xp,addIssueTypeAttachment:Qp,addIssueTypeAttachments:xp,setIssueTypeAttachment:eA,setIssueTypeAttachments:tA,updateIssueTypeAttachment:sA,updateIssueTypeAttachments:iA,deleteIssueTypeAttachment:nA,deleteIssueTypeAttachments:aA}=Ni.actions,cA=t=>t.issueTypeAttachmentReducer.instances,Gi=o.createSelector([cA],t=>Object.values(t)),dA=t=>s=>s.issueTypeAttachmentReducer.instances[t],rA=T(o.createSelector([Gi,(t,s)=>s],(t,s)=>{const e=new Set(s);return I(t.filter(({uuid:n})=>e.has(n)))})),cF=T(o.createSelector([Gi,(t,s)=>s],(t,s)=>I(t.filter(({issue_type:e})=>s===e)))),uA=Ni.reducer,Ve=M(t=>t.uuid),lA={instances:{}},Hi=o.createSlice({name:"issueTypeFieldsAttachments",initialState:lA,extraReducers:t=>t.addMatcher(o.isAnyOf(b,R),s=>Object.assign(s,lA)),reducers:{initializeIssueTypeFieldsAttachments:Ve.initialize,addIssueTypeFieldsAttachment:Ve.addOne,addIssueTypeFieldsAttachments:Ve.addMany,setIssueTypeFieldsAttachment:Ve.setOne,setIssueTypeFieldsAttachments:Ve.setMany,updateIssueTypeFieldsAttachment:Ve.updateOne,updateIssueTypeFieldsAttachments:Ve.updateMany,deleteIssueTypeFieldsAttachment:Ve.deleteOne,deleteIssueTypeFieldsAttachments:Ve.deleteMany}}),{initializeIssueTypeFieldsAttachments:oA,addIssueTypeFieldsAttachment:hA,addIssueTypeFieldsAttachments:mA,setIssueTypeFieldsAttachment:yA,setIssueTypeFieldsAttachments:pA,updateIssueTypeFieldsAttachment:AA,updateIssueTypeFieldsAttachments:fA,deleteIssueTypeFieldsAttachment:SA,deleteIssueTypeFieldsAttachments:TA}=Hi.actions,IA=t=>t.issueTypeFieldsAttachmentReducer.instances,Wi=o.createSelector([IA],t=>Object.values(t)),dF=T(o.createSelector([Wi,(t,s)=>s],(t,s)=>I(t.filter(e=>e.fields_revision===s)))),OA=t=>s=>s.issueTypeFieldsAttachmentReducer.instances[t],PA=T(o.createSelector([Wi,(t,s)=>s],(t,s)=>{const e=new Set(s);return I(t.filter(({uuid:n})=>e.has(n)))})),FA=Hi.reducer,ze=M(t=>t.uuid),gA={instances:{}},Ki=o.createSlice({name:"issueTypeFieldValues",initialState:gA,extraReducers:t=>t.addMatcher(o.isAnyOf(b,j,R),s=>Object.assign(s,gA)),reducers:{initializeIssueTypeFieldValues:ze.initialize,addIssueTypeFieldValues:ze.addOne,addIssueTypeFieldValuesMany:ze.addMany,setIssueTypeFieldValues:ze.setOne,setIssueTypeFieldValuesMany:ze.setMany,updateIssueTypeFieldValues:ze.updateOne,updateIssueTypeFieldValuesMany:ze.updateMany,deleteIssueTypeFieldValues:ze.deleteOne,deleteIssueTypeFieldValuesMany:ze.deleteMany}}),{initializeIssueTypeFieldValues:bA,addIssueTypeFieldValues:_A,addIssueTypeFieldValuesMany:MA,setIssueTypeFieldValues:RA,setIssueTypeFieldValuesMany:wA,updateIssueTypeFieldValues:EA,updateIssueTypeFieldValuesMany:vA,deleteIssueTypeFieldValues:VA,deleteIssueTypeFieldValuesMany:zA}=Ki.actions,BA=t=>t.issueTypeFieldValuesReducer.instances,Et=o.createSelector([BA],t=>Object.values(t)),rF=T(o.createSelector([Et,(t,s)=>s],(t,s)=>I(t.filter(e=>e.issue===s)))),jA=t=>s=>s.issueTypeFieldValuesReducer.instances[t],qA=T(o.createSelector([Et,(t,s)=>s],(t,s)=>{const e=new Set(s);return I(t.filter(({uuid:n})=>e.has(n)))})),DA=Ki.reducer,Be=M(t=>t.uuid),CA={instances:{}},Yi=o.createSlice({name:"issueTypeFields",initialState:CA,extraReducers:t=>t.addMatcher(o.isAnyOf(b,R),s=>Object.assign(s,CA)),reducers:{initializeIssueTypeFields:Be.initialize,addIssueTypeFields:Be.addOne,addIssueTypeFieldsMany:Be.addMany,setIssueTypeFields:Be.setOne,setIssueTypeFieldsMany:Be.setMany,updateIssueTypeFields:Be.updateOne,updateIssueTypeFieldsMany:Be.updateMany,deleteIssueTypeFields:Be.deleteOne,deleteIssueTypeFieldsMany:Be.deleteMany}}),{initializeIssueTypeFields:$A,addIssueTypeFields:UA,addIssueTypeFieldsMany:LA,setIssueTypeFields:kA,setIssueTypeFieldsMany:NA,updateIssueTypeFields:GA,updateIssueTypeFieldsMany:HA,deleteIssueTypeFields:WA,deleteIssueTypeFieldsMany:KA}=Yi.actions,YA=t=>t.issueTypeFieldsReducer.instances,ot=o.createSelector([YA],t=>Object.values(t)),uF=T(o.createSelector([ot,(t,s)=>s],(t,s)=>I(t.filter(e=>e.issue_type===s)))),lF=T(o.createSelector([ot,(t,s)=>s],(t,s)=>t.filter(e=>e.issue_type===s).sort((e,n)=>e.submitted_at>n.submitted_at?-1:1)[0])),oF=T(o.createSelector([ot,Et,(t,s)=>s],(t,s,e)=>{const n=new Set(t.filter(a=>a.issue_type===e).map(a=>a.uuid));return I(s.filter(a=>n.has(a.fields_revision)))})),ZA=t=>s=>s.issueTypeFieldsReducer.instances[t],JA=T(o.createSelector([ot,(t,s)=>s],(t,s)=>{const e=new Set(s);return I(t.filter(({uuid:n})=>e.has(n)))})),XA=Yi.reducer,je=M(t=>t.uuid),QA={instances:{}},Zi=o.createSlice({name:"issueTypeFieldValuesAttachments",initialState:QA,extraReducers:t=>t.addMatcher(o.isAnyOf(b,j,R),s=>Object.assign(s,QA)),reducers:{initializeIssueTypeFieldValuesAttachments:je.initialize,addIssueTypeFieldValuesAttachment:je.addOne,addIssueTypeFieldValuesAttachments:je.addMany,setIssueTypeFieldValuesAttachment:je.setOne,setIssueTypeFieldValuesAttachments:je.setMany,updateIssueTypeFieldValuesAttachment:je.updateOne,updateIssueTypeFieldValuesAttachments:je.updateMany,deleteIssueTypeFieldValuesAttachment:je.deleteOne,deleteIssueTypeFieldValuesAttachments:je.deleteMany}}),{initializeIssueTypeFieldValuesAttachments:xA,addIssueTypeFieldValuesAttachment:ef,addIssueTypeFieldValuesAttachments:Ji,setIssueTypeFieldValuesAttachment:tf,setIssueTypeFieldValuesAttachments:sf,updateIssueTypeFieldValuesAttachment:nf,updateIssueTypeFieldValuesAttachments:af,deleteIssueTypeFieldValuesAttachment:cf,deleteIssueTypeFieldValuesAttachments:Xi}=Zi.actions,df=t=>t.issueTypeFieldValuesAttachmentReducer.instances,Qi=o.createSelector([df],t=>Object.values(t)),rf=t=>s=>s.issueTypeFieldValuesAttachmentReducer.instances[t],uf=T(o.createSelector([Qi,(t,s)=>s],(t,s)=>{const e=new Set(s);return I(t.filter(({uuid:n})=>e.has(n)))})),lf=T(o.createSelector([Qi,(t,s)=>s],(t,s)=>I(t.filter(e=>e.field_values===s)))),of=Zi.reducer,qe=M(t=>t.uuid),hf={instances:{}},xi=o.createSlice({name:"issueTypeIdentifiers",initialState:hf,extraReducers:t=>t.addMatcher(o.isAnyOf(b,R),s=>Object.assign(s,hf)),reducers:{initializeIssueTypeIdentifiers:qe.initialize,addIssueTypeIdentifier:qe.addOne,addIssueTypeIdentifiers:qe.addMany,setIssueTypeIdentifier:qe.setOne,setIssueTypeIdentifiers:qe.setMany,updateIssueTypeIdentifier:qe.updateOne,updateIssueTypeIdentifiers:qe.updateMany,deleteIssueTypeIdentifier:qe.deleteOne,deleteIssueTypeIdentifiers:qe.deleteMany}}),{initializeIssueTypeIdentifiers:mf,addIssueTypeIdentifier:yf,addIssueTypeIdentifiers:pf,setIssueTypeIdentifier:Af,setIssueTypeIdentifiers:ff,updateIssueTypeIdentifier:Sf,updateIssueTypeIdentifiers:Tf,deleteIssueTypeIdentifier:If,deleteIssueTypeIdentifiers:Of}=xi.actions,Pf=t=>t.issueTypeIdentifierReducer.instances,en=o.createSelector([Pf],t=>Object.values(t)),Ff=t=>s=>s.issueTypeIdentifierReducer.instances[t],gf=T(o.createSelector([en,(t,s)=>s],(t,s)=>{const e=new Set(s);return I(t.filter(({uuid:n})=>e.has(n)))})),hF=T(o.createSelector([en,(t,s)=>s],(t,s)=>I(t.filter(e=>e.issue_type===s)))),bf=xi.reducer,De=M(t=>t.uuid),_f={instances:{}},tn=o.createSlice({name:"issueTypeIdentifierValues",initialState:_f,extraReducers:t=>t.addMatcher(o.isAnyOf(b,j,R),s=>Object.assign(s,_f)),reducers:{initializeIssueTypeIdentifierValues:De.initialize,addIssueTypeIdentifierValue:De.addOne,addIssueTypeIdentifierValues:De.addMany,setIssueTypeIdentifierValue:De.setOne,setIssueTypeIdentifierValues:De.setMany,updateIssueTypeIdentifierValue:De.updateOne,updateIssueTypeIdentifierValues:De.updateMany,deleteIssueTypeIdentifierValue:De.deleteOne,deleteIssueTypeIdentifierValues:De.deleteMany}}),{initializeIssueTypeIdentifierValues:Mf,addIssueTypeIdentifierValue:Rf,addIssueTypeIdentifierValues:wf,setIssueTypeIdentifierValue:Ef,setIssueTypeIdentifierValues:vf,updateIssueTypeIdentifierValue:Vf,updateIssueTypeIdentifierValues:zf,deleteIssueTypeIdentifierValue:Bf,deleteIssueTypeIdentifierValues:jf}=tn.actions,qf=t=>t.issueTypeIdentifierValueReducer.instances,vt=o.createSelector([qf],t=>Object.values(t)),Df=t=>s=>s.issueTypeIdentifierValueReducer.instances[t],Cf=T(o.createSelector([vt,(t,s)=>s],(t,s)=>{const e=new Set(s);return I(t.filter(({uuid:n})=>e.has(n)))})),mF=T(o.createSelector([vt,(t,s)=>s],(t,s)=>I(t.filter(e=>e.issue===s)))),yF=T(o.createSelector([vt,(t,s)=>s],(t,s)=>I(t.filter(e=>e.issue_type_identifier===s)))),$f=tn.reducer,Ce=M(t=>t.uuid),Uf={instances:{}},sn=o.createSlice({name:"issueTypes",initialState:Uf,extraReducers:t=>t.addMatcher(o.isAnyOf(b,R),s=>Object.assign(s,Uf)),reducers:{initializeIssueTypes:Ce.initialize,addIssueType:Ce.addOne,addIssueTypes:Ce.addMany,setIssueType:Ce.setOne,setIssueTypes:Ce.setMany,updateIssueType:Ce.updateOne,updateIssueTypes:Ce.updateMany,deleteIssueType:Ce.deleteOne,deleteIssueTypes:Ce.deleteMany}}),{initializeIssueTypes:Lf,addIssueType:kf,addIssueTypes:Nf,setIssueType:Gf,setIssueTypes:Hf,updateIssueType:Wf,updateIssueTypes:Kf,deleteIssueType:Yf,deleteIssueTypes:Zf}=sn.actions,Jf=t=>t.issueTypeReducer.instances,nn=o.createSelector(Jf,t=>Object.values(t)),Xf=t=>s=>s.issueTypeReducer.instances[t],Qf=T(o.createSelector([nn,(t,s)=>s],(t,s)=>{const e=new Set(s);return I(t.filter(({uuid:n})=>e.has(n)))})),pF=T(o.createSelector([nn,(t,s)=>s],(t,s)=>I(t.filter(e=>e.organization===s)))),xf=sn.reducer,$e=M(t=>t.uuid),eS={instances:{}},an=o.createSlice({name:"issueTypeStatuses",initialState:eS,extraReducers:t=>t.addMatcher(o.isAnyOf(b,R),s=>Object.assign(s,eS)),reducers:{initializeIssueTypeStatuses:$e.initialize,addIssueTypeStatus:$e.addOne,addIssueTypeStatuses:$e.addMany,setIssueTypeStatus:$e.setOne,setIssueTypeStatuses:$e.setMany,updateIssueTypeStatus:$e.updateOne,updateIssueTypeStatuses:$e.updateMany,deleteIssueTypeStatus:$e.deleteOne,deleteIssueTypeStatuses:$e.deleteMany}}),{initializeIssueTypeStatuses:tS,addIssueTypeStatus:sS,addIssueTypeStatuses:iS,setIssueTypeStatus:nS,setIssueTypeStatuses:aS,updateIssueTypeStatus:cS,updateIssueTypeStatuses:dS,deleteIssueTypeStatus:rS,deleteIssueTypeStatuses:uS}=an.actions,lS=t=>t.issueTypeStatusReducer.instances,cn=o.createSelector([lS],t=>I(Object.values(t).toSorted(ia))),dn=t=>s=>s.issueTypeStatusReducer.instances[t],oS=T(o.createSelector([cn,(t,s)=>s],(t,s)=>{const e=new Set(s);return I(t.filter(({uuid:n})=>e.has(n)))})),AF=T(o.createSelector([cn,(t,s)=>s],(t,s)=>I(t.filter(e=>e.issue_type===s)))),hS=an.reducer,Ue=M(t=>t.uuid),mS={instances:{}},rn=o.createSlice({name:"issueUpdates",initialState:mS,extraReducers:t=>t.addMatcher(o.isAnyOf(b,j,R),s=>Object.assign(s,mS)),reducers:{initializeIssueUpdates:Ue.initialize,addIssueUpdate:Ue.addOne,addIssueUpdates:Ue.addMany,setIssueUpdate:Ue.setOne,setIssueUpdates:Ue.setMany,updateIssueUpdate:Ue.updateOne,updateIssueUpdates:Ue.updateMany,deleteIssueUpdate:Ue.deleteOne,deleteIssueUpdates:Ue.deleteMany}}),{initializeIssueUpdates:yS,addIssueUpdate:un,addIssueUpdates:ln,setIssueUpdate:pS,setIssueUpdates:AS,updateIssueUpdate:fS,updateIssueUpdates:SS,deleteIssueUpdate:on,deleteIssueUpdates:hn}=rn.actions,mn=t=>t.issueUpdateReducer.instances,yn=o.createSelector([mn],t=>Object.values(t)),TS=T(o.createSelector([mn,(t,s)=>s],(t,s)=>t[s])),IS=T(o.createSelector([yn,(t,s)=>s],(t,s)=>{const e=new Set(s);return I(t.filter(({uuid:n})=>e.has(n)))})),OS=T(o.createSelector([yn,(t,s)=>s],(t,s)=>I(t.filter(e=>e.issue===s)))),PS=rn.reducer,Le=M(t=>t.id),FS={instances:{},currentUser:null},pn=o.createSlice({name:"users",initialState:FS,extraReducers:t=>t.addMatcher(o.isAnyOf(b,R),s=>Object.assign(s,FS)),reducers:{initializeUsers:Le.initialize,setUsers:Le.setMany,setUser:Le.setOne,addUsers:Le.addMany,addUser:Le.addOne,updateUsers:Le.updateMany,updateUser:Le.updateOne,deleteUser:Le.deleteOne,deleteUsers:Le.deleteMany,setCurrentUser:(t,s)=>{t.currentUser=s.payload},setProfilePicture:(t,s)=>{if(!t.currentUser)return;t.currentUser.profile.file=s.payload.file??null,t.currentUser.profile.file_sha1=s.payload.file_sha1??null;const e=t.instances[t.currentUser.id];if(!e)throw new Error("Unable to find current user in users slice");e.profile.file=s.payload.file??null,e.profile.file_sha1=s.payload.file_sha1??null}}}),{initializeUsers:gS,setUsers:bS,setUser:_S,addUsers:MS,addUser:An,updateUsers:RS,updateUser:wS,deleteUser:fn,deleteUsers:ES,setCurrentUser:fF,setProfilePicture:SF}=pn.actions,vS=pn.reducer,VS=t=>t.userReducer.currentUser,Sn=t=>t.userReducer.instances,Vt=o.createSelector([Sn],t=>Object.values(t)),zt=t=>s=>s.userReducer.instances[t],zS=T(o.createSelector([Vt,(t,s)=>s],(t,s)=>{const e=new Set(s);return I(t.filter(({id:n})=>e.has(n)))})),ke=M(t=>t.uuid),BS={instances:{}},Tn=o.createSlice({name:"organizationAccess",initialState:BS,extraReducers:t=>t.addMatcher(o.isAnyOf(b,R),s=>Object.assign(s,BS)),reducers:{initializeOrganizationAccesses:ke.initialize,addOrganizationAccess:ke.addOne,addOrganizationAccesses:ke.addMany,setOrganizationAccess:ke.setOne,setOrganizationAccesses:ke.setMany,updateOrganizationAccess:ke.updateOne,updateOrganizationAccesses:ke.updateMany,deleteOrganizationAccess:ke.deleteOne,deleteOrganizationAccesses:ke.deleteMany}}),{initializeOrganizationAccesses:jS,addOrganizationAccess:qS,addOrganizationAccesses:DS,setOrganizationAccess:CS,setOrganizationAccesses:$S,updateOrganizationAccess:US,updateOrganizationAccesses:LS,deleteOrganizationAccess:kS,deleteOrganizationAccesses:NS}=Tn.actions,GS=Tn.reducer,Bt=t=>t.organizationAccessReducer.instances,HS=t=>s=>s.organizationAccessReducer.instances[t],WS=T(o.createSelector([Bt,(t,s)=>s],(t,s)=>{const e=new Set(s);return I(Object.values(t).filter(({uuid:n})=>e.has(n)))})),TF=o.createSelector([VS,Bt],(t,s)=>Object.values(s).find(n=>n.user===(t==null?void 0:t.id))??null),KS=o.createSelector([Bt],t=>{const s={};for(const e of Object.values(t))s[e.user]=e;return yt(s)}),IF=T(o.createSelector([Sn,KS,(t,s)=>s],(t,s,e)=>I(Object.values(t).filter(n=>{const a=s[n.id];return!!a&&a.organization===e})))),Ne=M(t=>t.uuid),YS={instances:{}},In=o.createSlice({name:"organizations",initialState:YS,extraReducers:t=>t.addMatcher(o.isAnyOf(b,R),s=>Object.assign(s,YS)),reducers:{initializeOrganizations:Ne.initialize,setOrganizations:Ne.setMany,setOrganization:Ne.setOne,addOrganizations:Ne.addMany,addOrganization:Ne.addOne,updateOrganizations:Ne.updateMany,updateOrganization:Ne.updateOne,deleteOrganization:Ne.deleteOne,deleteOrganizations:Ne.deleteMany}}),{initializeOrganizations:ZS,setOrganizations:JS,setOrganization:XS,addOrganizations:QS,addOrganization:xS,updateOrganizations:eT,updateOrganization:tT,deleteOrganization:sT,deleteOrganizations:iT}=In.actions,nT=t=>t.organizationReducer.instances,aT=o.createSelector([nT],t=>Object.values(t)),cT=t=>s=>s.organizationReducer.instances[t],dT=T(o.createSelector([aT,(t,s)=>s],(t,s)=>{const e=new Set(s);return I(t.filter(({uuid:n})=>e.has(n)))})),rT=In.reducer,uT=(t,s,e)=>{const n=t.uuid?t:{...t,uuid:tt.v4()};return{payload:n,type:"",meta:{offline:{effect:{timestamp:new Date().toISOString(),request:n,BASE_URL:s,serviceName:e}}}}},lT={deletedRequests:[],latestRetryTime:0},On=o.createSlice({name:"outbox",initialState:lT,extraReducers:t=>t.addCase(b,s=>Object.assign(s,lT)),reducers:{enqueueRequest:{reducer:(t,s)=>t,prepare:t=>{console.debug("Preparing to enqueue request",t);const{BASE_URL:s,serviceName:e,...n}=t;return uT(n,s,e)}},markForDeletion(t,s){t.deletedRequests.push(s.payload)},markAsDeleted(t,s){const e=t.deletedRequests.indexOf(s.payload);e!==-1&&t.deletedRequests.splice(e,1)},_setLatestRetryTime:(t,s)=>{t.latestRetryTime=s.payload}}}),OF=t=>t.outboxReducer.deletedRequests,PF=t=>t.outboxReducer.latestRetryTime,{enqueueRequest:oT,markForDeletion:FF,markAsDeleted:hT,_setLatestRetryTime:mT}=On.actions,yT=On.reducer,Ge=M(t=>t.uuid),pT={instances:{}},Pn=o.createSlice({name:"projectAccess",initialState:pT,extraReducers:t=>t.addMatcher(o.isAnyOf(b,R),s=>Object.assign(s,pT)),reducers:{initializeProjectAccesses:Ge.initialize,addProjectAccess:Ge.addOne,addProjectAccesses:Ge.addMany,setProjectAccess:Ge.setOne,setProjectAccesses:Ge.setMany,updateProjectAccess:Ge.updateOne,updateProjectAccesses:Ge.updateMany,deleteProjectAccess:Ge.deleteOne,deleteProjectAccesses:Ge.deleteMany}}),{initializeProjectAccesses:AT,addProjectAccess:fT,addProjectAccesses:ST,setProjectAccess:TT,setProjectAccesses:IT,updateProjectAccess:OT,updateProjectAccesses:PT,deleteProjectAccess:FT,deleteProjectAccesses:gT}=Pn.actions,bT=Pn.reducer,Fn=t=>t.projectAccessReducer.instances,ht=o.createSelector(Fn,t=>Object.values(t)),_T=t=>s=>s.projectAccessReducer.instances[t],MT=T(o.createSelector([ht,(t,s)=>s],(t,s)=>{const e=new Set(s);return I(t.filter(({uuid:n})=>e.has(n)))})),gF=T(o.createSelector([Fn,(t,s)=>s],(t,s)=>I(Object.values(t).filter(e=>e.project===s)))),bF=T(o.createSelector([ht,(t,s)=>s],(t,s)=>{const e={};for(const n of t.filter(a=>a.project===s))e[n.user]=n;return e})),_F=T(o.createSelector([Vt,ht,(t,s)=>s],(t,s,e)=>{const n=new Set(s.filter(a=>a.project===e).map(a=>a.user));return I(t.filter(a=>n.has(a.id)))})),He=M(t=>t.uuid),RT={instances:{}},gn=o.createSlice({name:"projectAttachments",initialState:RT,extraReducers:t=>t.addMatcher(o.isAnyOf(b,R),s=>Object.assign(s,RT)),reducers:{initializeProjectAttachments:He.initialize,addProjectAttachment:He.addOne,addProjectAttachments:He.addMany,setProjectAttachment:He.setOne,setProjectAttachments:He.setMany,updateProjectAttachment:He.updateOne,updateProjectAttachments:He.updateMany,deleteProjectAttachment:He.deleteOne,deleteProjectAttachments:He.deleteMany}}),{initializeProjectAttachments:wT,addProjectAttachment:ET,addProjectAttachments:vT,setProjectAttachment:VT,setProjectAttachments:zT,updateProjectAttachment:BT,updateProjectAttachments:jT,deleteProjectAttachment:qT,deleteProjectAttachments:DT}=gn.actions,CT=t=>t.projectAttachmentReducer.instances,bn=o.createSelector([CT],t=>Object.values(t)),$T=t=>s=>s.projectAttachmentReducer.instances[t],UT=T(o.createSelector([bn,(t,s)=>s],(t,s)=>{const e=new Set(s);return I(t.filter(({uuid:n})=>e.has(n)))})),MF=T(o.createSelector([bn,(t,s)=>s],(t,s)=>I(t.filter(({project:e})=>s===e)))),LT=gn.reducer,We=M(t=>t.uuid),kT={instances:{},activeProjectFileId:null,isImportingProjectFile:!1},_n=o.createSlice({name:"projectFiles",initialState:kT,extraReducers:t=>t.addMatcher(o.isAnyOf(b,j,R),s=>Object.assign(s,kT)),reducers:{initializeProjectFiles:We.initialize,setProjectFile:We.setOne,setProjectFiles:We.setMany,addProjectFile:We.addOne,addProjectFiles:We.addMany,updateProjectFile:We.updateOne,updateProjectFiles:We.updateMany,deleteProjectFile:We.deleteOne,deleteProjectFiles:We.deleteMany,setIsImportingProjectFile:(t,s)=>{t.isImportingProjectFile=s.payload},saveActiveProjectFileBounds:(t,s)=>{const e=t.activeProjectFileId;if(!e)throw new Error("Tried to save bounds for active project file, but no active project file was set.");if(!t.instances[e])throw new Error(`Tried to save bounds for active project file, but project file with ID ${e}
2
- doesn't exist.`);t.instances[e].bounds=s.payload},setActiveProjectFileId:(t,s)=>{t.activeProjectFileId=s.payload}}}),{initializeProjectFiles:NT,setProjectFile:GT,setProjectFiles:HT,addProjectFile:WT,addProjectFiles:KT,updateProjectFile:YT,updateProjectFiles:ZT,deleteProjectFile:JT,deleteProjectFiles:XT,setIsImportingProjectFile:QT,setActiveProjectFileId:xT,saveActiveProjectFileBounds:eI}=_n.actions,tI=t=>t.projectFileReducer.instances,sI=o.createSelector([tI],t=>I(Object.values(t).sort((s,e)=>s.z_index-e.z_index))),iI=t=>s=>s.projectFileReducer.instances[t],nI=T(o.createSelector([sI,(t,s)=>s],(t,s)=>{const e=new Set(s);return I(t.filter(({uuid:n})=>e.has(n)))})),RF=t=>t.projectFileReducer.activeProjectFileId,wF=t=>t.projectFileReducer.isImportingProjectFile,aI=_n.reducer,Ke=M(t=>t.uuid),cI={instances:{}},Mn=o.createSlice({name:"projects",initialState:cI,extraReducers:t=>t.addMatcher(o.isAnyOf(b,R),s=>Object.assign(s,cI)),reducers:{initializeProjects:Ke.initialize,setProjects:Ke.setMany,setProject:Ke.setOne,addProjects:Ke.addMany,addProject:Ke.addOne,updateProjects:Ke.updateMany,updateProject:Ke.updateOne,deleteProject:Ke.deleteOne,deleteProjects:Ke.deleteMany}}),{initializeProjects:dI,setProjects:rI,setProject:uI,addProjects:lI,addProject:oI,updateProjects:hI,updateProject:mI,deleteProject:yI,deleteProjects:pI}=Mn.actions,AI=Mn.reducer,fI=t=>t.projectReducer.instances,jt=o.createSelector([fI],t=>I(Object.values(t))),SI=t=>s=>s.projectReducer.instances[t],TI=T(o.createSelector([jt,(t,s)=>s],(t,s)=>{const e=new Set(s);return I(t.filter(({uuid:n})=>e.has(n)))})),EF=T(o.createSelector([jt,ht,(t,s)=>s],(t,s,e)=>{const n=new Set(s.filter(a=>a.user===e).map(a=>a.project));return I(t.filter(a=>n.has(a.uuid)))})),vF=T(o.createSelector([jt,(t,s)=>s],(t,s)=>I(t.filter(e=>e.organization===s)))),VF={isRehydrated:!1},Rn=o.createSlice({name:"rehydrated",initialState:VF,reducers:{setRehydrated:(t,s)=>{t.isRehydrated=s.payload}}}),{setRehydrated:zF}=Rn.actions,BF=t=>t.rehydratedReducer.isRehydrated,II=Rn.reducer,Ye=M(t=>t.uuid),OI={instances:{}},wn=o.createSlice({name:"teamMemberships",initialState:OI,extraReducers:t=>t.addMatcher(o.isAnyOf(b,R),s=>Object.assign(s,OI)),reducers:{initializeTeamMemberships:Ye.initialize,addTeamMembership:Ye.addOne,addTeamMemberships:Ye.addMany,setTeamMembership:Ye.setOne,setTeamMemberships:Ye.setMany,updateTeamMembership:Ye.updateOne,updateTeamMemberships:Ye.updateMany,deleteTeamMembership:Ye.deleteOne,deleteTeamMemberships:Ye.deleteMany}}),{initializeTeamMemberships:PI,addTeamMembership:FI,addTeamMemberships:gI,setTeamMembership:bI,setTeamMemberships:_I,updateTeamMembership:MI,updateTeamMemberships:RI,deleteTeamMembership:wI,deleteTeamMemberships:EI}=wn.actions,vI=wn.reducer,VI=t=>t.teamMembershipReducer.instances,qt=o.createSelector([VI],t=>Object.values(t)),zI=t=>s=>s.teamMembershipReducer.instances[t],BI=T(o.createSelector([qt,(t,s)=>s],(t,s)=>{const e=new Set(s);return I(t.filter(({uuid:n})=>e.has(n)))})),jF=T(o.createSelector([qt,(t,s)=>s],(t,s)=>{const e={};for(const n of t.filter(a=>a.team===s))e[n.user]=n;return e})),qF=T(o.createSelector([Vt,qt,(t,s)=>s],(t,s,e)=>{const n=new Set(s.filter(a=>a.team===e).map(a=>a.user));return I(t.filter(a=>n.has(a.id)))})),Ze=M(t=>t.uuid),jI={instances:{}},En=o.createSlice({name:"teams",initialState:jI,extraReducers:t=>t.addMatcher(o.isAnyOf(b,R),s=>Object.assign(s,jI)),reducers:{initializeTeams:Ze.initialize,addTeam:Ze.addOne,addTeams:Ze.addMany,setTeam:Ze.setOne,setTeams:Ze.setMany,updateTeam:Ze.updateOne,updateTeams:Ze.updateMany,deleteTeam:Ze.deleteOne,deleteTeams:Ze.deleteMany}}),{initializeTeams:qI,addTeam:DI,addTeams:CI,setTeam:$I,setTeams:UI,updateTeam:LI,updateTeams:kI,deleteTeam:NI,deleteTeams:GI}=En.actions,HI=t=>t.teamReducer.instances,vn=o.createSelector([HI],t=>Object.values(t)),WI=t=>s=>s.teamReducer.instances[t],KI=T(o.createSelector([vn,(t,s)=>s],(t,s)=>{const e=new Set(s);return I(t.filter(({uuid:n})=>e.has(n)))})),DF=T(o.createSelector([vn,(t,s)=>s],(t,s)=>I(t.filter(e=>e.organization===s)))),YI=En.reducer,CF={version:0},ZI=o.createSlice({name:"versioning",initialState:CF,reducers:{}}),JI=ZI.reducer,Vn={outboxReducer:yT,fileReducer:Ch,authReducer:Vo},$F=o.combineReducers(Vn),XI={...Vn,[dt]:JI,categoryReducer:Ho,assetReducer:Cr,assetAttachmentReducer:ga,assetStageCompletionReducer:Zr,assetStageReducer:lu,assetTypeReducer:po,assetTypeAttachmentReducer:bu,issueReducer:Zp,issueAttachmentReducer:up,issueTypeReducer:xf,issueTypeAttachmentReducer:uA,organizationReducer:rT,projectReducer:AI,projectAttachmentReducer:LT,projectAccessReducer:bT,organizationAccessReducer:GS,projectFileReducer:aI,rehydratedReducer:II,formReducer:Km,formRevisionReducer:qm,formRevisionAttachmentReducer:_m,formSubmissionAttachmentReducer:ry,formSubmissionReducer:Oy,formIdentifierReducer:Qh,formIdentifierValueReducer:hm,userReducer:vS,emailDomainsReducer:zh,documentsReducer:Ah,documentAttachmentReducer:ah,teamReducer:YI,agentsReducer:oa,issueCommentReducer:qp,issueCommentAttachmentReducer:Fp,issueUpdateReducer:PS,geoImageReducer:jy,issueAssociationReducer:Jy,issueTypeFieldsReducer:XA,issueTypeFieldValuesReducer:DA,issueTypeFieldsAttachmentReducer:FA,issueTypeFieldValuesAttachmentReducer:of,issueTypeIdentifierReducer:bf,issueTypeIdentifierValueReducer:$f,issueTypeStatusReducer:hS,assetTypeFieldsReducer:xu,assetTypeFieldValuesReducer:_l,assetTypeFieldsAttachmentReducer:$u,assetTypeFieldValuesAttachmentReducer:hl,assetTypeIdentifierReducer:Ul,assetTypeIdentifierValueReducer:eo,assetTypeStatusReducer:wo,assetProcedureTypeReducer:ud,assetProcedureReducer:Yc,assetProcedureTypeFieldsReducer:uc,assetProcedureTypeFieldValuesReducer:qc,assetProcedureTypeFieldsAttachmentReducer:Za,assetProcedureTypeFieldValuesAttachmentReducer:Oc,assetProcedureTypeAttachmentReducer:ja,assetProcedureStepFieldsAttachmentReducer:_d,assetProcedureStepFieldsReducer:$d,assetProcedureStepFieldValuesAttachmentReducer:Qd,assetProcedureStepFieldValuesReducer:hr,assetProcedureStepReducer:Fr,teamMembershipReducer:vI},UF=o.combineReducers(XI);function LF(t,s){return bO.useMemo(t,s)}class kF{constructor(s){y(this,"operations",[]);y(this,"getData");this.getData=s}performOperations(s){let e=s;for(const n of this.operations)e=n(e);return e}filter(s,e){return this.operations.push(n=>n.filter(a=>a[s]===e)),this}exclude(s,e){return this.operations.push(n=>n.filter(a=>a[s]!==e)),this}orderBy(s){return this.operations.push(e=>[...e].sort((n,a)=>n[s]<=a[s]?1:-1)),this}reverse(){return this.operations.push(s=>[...s].reverse()),this}all(){return this.operations.push(s=>s),this}get(s,e){return o.createSelector([this.getData],n=>this.performOperations(n).find(a=>a[s]===e))}count(){return o.createSelector([this.getData],s=>this.performOperations(s).length)}first(){return o.createSelector([this.getData],s=>this.performOperations(s)[0])}last(){return o.createSelector([this.getData],s=>{const e=this.performOperations(s);return e[e.length-1]})}exists(){return o.createSelector([this.getData],s=>this.performOperations(s).length>0)}toSelector(){return o.createSelector([this.getData],s=>I(this.performOperations(s)))}}const QI=1e4,xI=200,zn=[400,409,403,404,405,500],eO={};class tO{constructor(s){y(this,"client");y(this,"pageSize",QI);eO[this.constructor.name]=this,this.client=s}async performRequest(s,e){return this.client.performRequest(this.host,s,this,e)}async enqueueRequest(s){return this.client.enqueueRequest(s,this.host,this.constructor.name)}async performPagination(s,e){return this.client.performPagination(this.host,s,this.pageSize,this,e)}dispatch(s){this.client.store.dispatch(s)}}const sO=()=>aO.length-1,iO=t=>(t[dt]={version:sO()},t),nO=()=>iO({}),NF=t=>(t.outboxReducer&&(t.outboxReducer.deletedRequests=[]),t),GF=t=>s=>{var e;return s===void 0&&(s={}),((e=s[dt])==null?void 0:e.version)===sO()?s:t(s)},aO=[iO,nO,nO,NF],HF=Object.fromEntries(aO.map((t,s)=>[s,GF(t)])),WF=t=>{if(t)throw t;const s=ct();s?s.dispatch({type:"rehydrated/setRehydrated",payload:!0}):console.error("Client store not set")},cO=(t,s,e)=>{const n=xe();return n?(n.addRequest(s),n.getQueue()):(console.warn("Outbox coordinator not set; cannot enqueue request yet."),[])},dO=(t,s,e)=>{const n=xe();if(!n)return console.warn("Outbox coordinator not set; cannot dequeue request yet."),[];const c=s.meta.offlineAction.payload.uuid;return n.remove(c),n.getQueue()};async function KF(t,s){if(!s.payload)throw new Error("Received empty payload");return IO(s)}const YF={...Ln,effect:KF,discard:uO,returnPromises:!0,persistCallback:WF,retry:QF,persistOptions:{storage:MO},queue:{...Ln.queue,enqueue:cO,dequeue:dO,peek:(...t)=>XF(...t)}},ZF=RO(HF,dt),JF=o.compose(_O.offline(YF),ZF);async function rO(t,s,e){if(s.store.getState().outboxReducer.deletedRequests.includes(t.payload.uuid))throw new Error("Request was marked for deletion");const a=eO[t.meta.offline.effect.serviceName];if(!a)throw new Error(`Service ${t.meta.offline.effect.serviceName} not found`);return Dn(t.meta.offline.effect.BASE_URL,t.meta.offline.effect.request,s,a,e)}function uO(t,s,e=0){var d;if(console.debug("Considering discarding request due to error:",t,`(${typeof t})`,`
1
+ (function(i,L){typeof exports=="object"&&typeof module<"u"?L(exports,require("@redux-offline/redux-offline/lib/types"),require("@reduxjs/toolkit"),require("superagent"),require("uuid"),require("react"),require("file-saver"),require("fast-tree-builder"),require("ts-tree-lib"),require("@redux-offline/redux-offline"),require("@redux-offline/redux-offline/lib/defaults"),require("localforage"),require("redux-persist-migrate"),require("buffer"),require("@overmap-ai/forms"),require("idb"),require("jwt-decode"),require("dependency-graph"),require("@tiptap/core")):typeof define=="function"&&define.amd?define(["exports","@redux-offline/redux-offline/lib/types","@reduxjs/toolkit","superagent","uuid","react","file-saver","fast-tree-builder","ts-tree-lib","@redux-offline/redux-offline","@redux-offline/redux-offline/lib/defaults","localforage","redux-persist-migrate","buffer","@overmap-ai/forms","idb","jwt-decode","dependency-graph","@tiptap/core"],L):(i=typeof globalThis<"u"?globalThis:i||self,L(i["overmap-core"]={},null,i.toolkit,i.request,i.uuid,i.react,i.fileSaver,i.buildTree,i.tsTreeLib,i.reduxOffline,i.offlineConfig,i.localforage,i.createMigration,null,null,i.idb,i.jwtDecode,i.dependencyGraph))})(this,function(i,L,o,Qe,xe,_I,MI,En,ot,RI,Vn,wI,vI,Ag,fg,EI,VI,zI){"use strict";var yg=Object.defineProperty;var pg=(i,L,o)=>L in i?yg(i,L,{enumerable:!0,configurable:!0,writable:!0,value:o}):i[L]=o;var y=(i,L,o)=>pg(i,typeof L!="symbol"?L+"":L,o);var gI;const zn=Object.freeze([]),Bn=Object.freeze({});var jn=(t=>(t[t.GUEST=0]="GUEST",t[t.BASIC=2]="BASIC",t[t.ADMIN=4]="ADMIN",t))(jn||{}),m=(t=>(t.GET="GET",t.POST="POST",t.PATCH="PATCH",t.PUT="PUT",t.DELETE="DELETE",t))(m||{}),qn=(t=>(t.Issue="issue",t.Asset="asset",t.AssetType="asset_type",t.Project="project",t.Document="document",t))(qn||{}),Dt=(t=>(t[t.LOWEST=0]="LOWEST",t[t.LOW=2]="LOW",t[t.MEDIUM=4]="MEDIUM",t[t.HIGH=6]="HIGH",t[t.HIGHEST=8]="HIGHEST",t))(Dt||{}),$t=(t=>(t[t.BACKLOG=0]="BACKLOG",t[t.SELECTED=2]="SELECTED",t[t.DONE=4]="DONE",t))($t||{}),$=(t=>(t.STATUS="status",t.PRIORITY="priority",t.CATEGORY="category",t.DESCRIPTION="description",t.TITLE="title",t.ASSIGNED_TO="assigned_to",t.DUE_DATE="due_date",t))($||{});const BI=$t.BACKLOG,jI=Dt.MEDIUM,Cn=6e4;function R(t){return{addOne:(h,p)=>{const A=t(p.payload);h.instances[A]=p.payload},addMany:(h,p)=>{for(const A of p.payload){const f=t(A);h.instances[f]=A}},setOne:(h,p)=>{const A=t(p.payload);h.instances[A]=p.payload},setMany:(h,p)=>{for(const A of p.payload){const f=t(A);h.instances[f]=A}},updateOne:(h,p)=>{const A=t(p.payload);h.instances[A]=p.payload},updateMany:(h,p)=>{for(const A of p.payload){const f=t(A);h.instances[f]=A}},deleteOne:(h,p)=>{delete h.instances[p.payload]},deleteMany:(h,p)=>{for(const A of p.payload)delete h.instances[A]},initialize:(h,p)=>{h.instances={};const A=new Set;for(const f of p.payload){const I=t(f);A.add(I),h.instances[I]=f}A.size!==p.payload.length&&console.warn("duplicate ids detected when initializing model instances.")}}}function qI(){return{initializeSelection:(u,d)=>{u.selection=Array.from(new Set(d.payload))},selectOne:(u,d)=>{new Set(u.selection).has(d.payload)||u.selection.push(d.payload)},selectMany:(u,d)=>{const h=new Set(u.selection);for(const p of d.payload)h.has(p)||h.add(p);u.selection=Array.from(h)},unselectOne:(u,d)=>{const h=new Set(u.selection);h.has(d.payload)&&(h.delete(d.payload),u.selection=Array.from(h))},unselectMany:(u,d)=>{const h=new Set(u.selection);for(const p of d.payload)h.has(p)&&h.delete(p);u.selection=Array.from(h)},toggleOne:(u,d)=>{const h=new Set(u.selection);h.has(d.payload)?h.delete(d.payload):h.add(d.payload),u.selection=Array.from(h)},toggleMany:(u,d)=>{const h=new Set(u.selection);for(const p of d.payload)h.has(p)?h.delete(p):h.add(p);u.selection=Array.from(h)},getInitialState:u=>({...u,selection:[]})}}const nt="versioning",_=o.createAction("RESET"),C=o.createAction("RESET_PROJECT_STATE"),w=o.createAction("RESET_ORGANIZATION_STATE");function CI(t,s){return _I.useMemo(t,s)}gI=Symbol.toStringTag;class Ut{constructor(){y(this,gI,"Promise");y(this,"_promise");y(this,"_resolve");y(this,"_reject");y(this,"_state","pending");this._resolve=null,this._reject=null,this._promise=new Promise((s,e)=>{this._resolve=s,this._reject=e})}get state(){return this._state}then(s,e){return this._promise.then(s,e)}catch(s){return this._promise.catch(s)}resolve(s){if(!this._resolve)throw new Error("No resolve callback");this._resolve(s),this._state="fulfilled"}reject(s){if(!this._reject)throw s;this._reject(s),this._state="rejected"}finally(s){throw new Error("`finally` not implemented")}}let Lt=!1;["true","1"].includes("".toLowerCase())&&(Lt=!0);function DI(t,s){if(t===s)return!0;if(typeof t!=typeof s)return!1;const e=Object.keys(t),n=Object.keys(s),a=e.length;if(a!==n.length)return!1;for(let c=0;c<a;c++){const r=e[c];if(!Object.prototype.hasOwnProperty.call(s,r)||t[r]!==s[r])return!1}return!0}function kt(t){const s={};return function(){const e=Array.prototype.slice.call(arguments);return e in s?(Lt&&console.debug(`Memoization debug: Using memorized return value for ${t.toString()}(`,e,")"),s[e]):(Lt&&console.debug(`Memoization debug: Cache miss! Memoizing ${t.toString()}(`,e,")"),s[e]=t.apply(this,e))}}function $I(t,s){if(t.length!==s.length)return!1;for(let e=0;e<t.length;e++)if(t[e]!==s[e])return!1;return!0}const T=t=>t.length===0?zn:t,ht=t=>Object.keys(t).length===0?Bn:t,Dn=kt(t=>{if(!t)return"";const s=new Date(t),e=s.getFullYear()===Nt.getFullYear(),n={day:"numeric",month:"short"};return e||(n.year="numeric"),s.toLocaleDateString([],n)}),UI=new Intl.RelativeTimeFormat([],{style:"long",numeric:"auto"}),LI=1e3*86400,Nt=new Date,kI=t=>new Date(t).toDateString()===Nt.toDateString(),NI=kt((t,s,e)=>{const n=Math.round((new Date(t).getTime()-Nt.getTime())/LI);return n<s||n>e?Dn(t):UI.format(n,"days")});function GI(t){return new Uint8Array(t).reduce((e,n)=>e+n.toString(16).padStart(2,"0"),"")}const Gt=async(t,s)=>{s||(s=await et(t));let e=t.type;if(e.includes("/")&&(e=e.split("/")[1]),!e)throw new Error(`Could not extract file type from ${t.type}`);return`${s}.${e}`};function et(t){return new Promise((s,e)=>{const n=new FileReader;n.onload=()=>{const a=n.result;if(!a){e(new Error("FileReader did not return a valid ArrayBuffer."));return}crypto.subtle.digest("SHA-1",a).then(c=>{const r=GI(c);s(r)})},n.readAsArrayBuffer(t)})}function HI(t){if(!t.name||!t.type||!t.size){const s="File has no name, type, and/or size";throw new Error(s)}return`${t.name}&${t.type}${t.size}`}function $n(t,s){return new File([t],s,{type:t.type})}function WI(t,s){const e=document.createElement("a");e.setAttribute("href","data:text/plain;charset=utf-8,"+encodeURIComponent(s)),e.setAttribute("download",t),e.style.display="none",document.body.appendChild(e),e.click(),document.body.removeChild(e)}const KI=async t=>{const s={};for(const e of t){const n=await et(e);s[n]={sha1:n,extension:e.name.split(".").pop()||"",file_type:e.type,size:e.size}}return Object.values(s)},Un=async t=>(await fetch(t)).blob(),YI=t=>new Promise((s,e)=>{const n=new FileReader;n.onloadend=()=>{var a;s(((a=n.result)==null?void 0:a.toString())||"")},n.readAsDataURL(t)});function ZI(t){const s=new Blob([t]);MI.saveAs(s,t.name)}const Ln={};function JI(t,s,e,...n){const a=Ln[t];let c=!1;a?a[s]||(a[s]=!0,c=!0):(Ln[t]={[s]:!0},c=!0),c&&console[e](...n)}const kn=["created_at","updated_at","index","revision"];function M(t){return{...t,uuid:xe.v4()}}function XI(t){const s={};for(const e of t)s[e.uuid]=e;return s}function D(t){return t.map(({uuid:s})=>s)}function Nn(t,s){return t.localeCompare(s)}function QI(t,s){return Nn(t.uuid,s.uuid)}function xI(t,s=void 0,e=255){let n=t.replace(/[^a-z0-9_\-.]/gi,"_").replace(/_{2,}/g,"_");if(!s){const c=t.split(".");c.length>1&&(s=c[c.length-1])}s&&!s.startsWith(".")&&(s="."+s);const a=s?s.length:0;return n.length+a>e&&(n=n.slice(0,e-a)+(s||"")),n}function eO(t){return t.toLowerCase().replace(" ","-")}function tO(t,s=!1){return t.normalize("NFKD").toLowerCase().replace(/[^\w\s-]/g,"").trim().replace(/[-\s]+/g,s?"_":"-")}function sO(t,s){if(t.length<=s)return t;const e=t.slice(0,s-1);return e.slice(0,e.lastIndexOf(" "))+"…"}const iO=/^.+@.+\..+$/;function z(t){const s={...t};for(const e of[...kn,"created_by"])e in s&&delete s[e];return s}const Gn=t=>{const s=t.toSorted((e,n)=>e.order-n.order);return En(s,{id:e=>e.uuid,parentId:e=>e.parent,includeEmptyChildrenArray:!0,valueKey:!1})},nO=t=>{const{roots:s}=Gn(t);return s.map(e=>new ot.Tree(e))},Hn=(t,s)=>{const{nodes:e}=Gn(s),n=e.get(t);if(!n)throw new Error(`Node with uuid ${t} does not exist in asset procedure step tree.`);return new ot.Tree(n)},Wn=t=>En(t,{id:s=>s.uuid,parentId:s=>s.parent_document,includeEmptyChildrenArray:!0,valueKey:!1}),aO=t=>{const{roots:s}=Wn(t);return s.map(e=>new ot.Tree(e))},Kn=(t,s)=>{const{nodes:e}=Wn(s),n=e.get(t);if(!n)throw new Error(`Node with uuid ${t} does not exist in document tree.`);return new ot.Tree(n)};class cO{constructor(s){y(this,"operations",[]);y(this,"getData");this.getData=s}performOperations(s){let e=s;for(const n of this.operations)e=n(e);return e}filter(s,e){return this.operations.push(n=>n.filter(a=>a[s]===e)),this}exclude(s,e){return this.operations.push(n=>n.filter(a=>a[s]!==e)),this}orderBy(s){return this.operations.push(e=>[...e].sort((n,a)=>n[s]<=a[s]?1:-1)),this}reverse(){return this.operations.push(s=>[...s].reverse()),this}all(){return this.operations.push(s=>s),this}get(s,e){return o.createSelector([this.getData],n=>this.performOperations(n).find(a=>a[s]===e))}count(){return o.createSelector([this.getData],s=>this.performOperations(s).length)}first(){return o.createSelector([this.getData],s=>this.performOperations(s)[0])}last(){return o.createSelector([this.getData],s=>{const e=this.performOperations(s);return e[e.length-1]})}exists(){return o.createSelector([this.getData],s=>this.performOperations(s).length>0)}toSelector(){return o.createSelector([this.getData],s=>T(this.performOperations(s)))}}const S=t=>(...s)=>e=>t(e,...s),k=R(t=>t.uuid),Yn={instances:{}},Ht=o.createSlice({name:"agents",initialState:Yn,extraReducers:t=>t.addMatcher(o.isAnyOf(_,C,w),s=>Object.assign(s,Yn)),reducers:{initializeConversations:k.initialize,addConversation:k.addOne,addConversations:k.addMany,setConversation:k.setOne,setConversations:k.setMany,updateConversation:k.updateOne,updateConversations:k.updateMany,deleteConversation:k.deleteOne,deleteConversations:k.deleteMany}}),{initializeConversations:Zn,addConversation:Jn,addConversations:dO,setConversation:Xn,setConversations:rO,updateConversation:Qn,updateConversations:uO,deleteConversation:lO,deleteConversations:oO}=Ht.actions,Wt=t=>t.agentsReducer.instances,hO=o.createSelector([Wt],t=>Object.values(t)),mO=S(o.createSelector([Wt,(t,s)=>s],(t,s)=>t[s])),xn=Ht.reducer,N=R(t=>t.uuid),ea={instances:{}},Kt=o.createSlice({name:"assetAttachments",initialState:ea,extraReducers:t=>t.addMatcher(o.isAnyOf(_,C,w),s=>Object.assign(s,ea)),reducers:{initializeAssetAttachments:N.initialize,addAssetAttachment:N.addOne,addAssetAttachments:N.addMany,setAssetAttachment:N.setOne,setAssetAttachments:N.setMany,updateAssetAttachment:N.updateOne,updateAssetAttachments:N.updateMany,deleteAssetAttachment:N.deleteOne,deleteAssetAttachments:N.deleteMany}}),{initializeAssetAttachments:ta,addAssetAttachment:sa,addAssetAttachments:Yt,setAssetAttachment:ia,setAssetAttachments:na,updateAssetAttachment:aa,updateAssetAttachments:ca,deleteAssetAttachment:da,deleteAssetAttachments:Zt}=Kt.actions,ra=t=>t.assetAttachmentReducer.instances,Jt=o.createSelector([ra],t=>Object.values(t)),ua=t=>s=>s.assetAttachmentReducer.instances[t],la=S(o.createSelector([Jt,(t,s)=>s],(t,s)=>{const e=new Set(s);return T(t.filter(({uuid:n})=>e.has(n)))})),oa=S(o.createSelector([Jt,(t,s)=>s],(t,s)=>T(t.filter(({asset:e})=>s===e)))),ha=Kt.reducer,G=R(({uuid:t})=>t),ma={instances:{}},Xt=o.createSlice({name:"assetProcedureTypeAttachments",initialState:ma,extraReducers:t=>t.addMatcher(o.isAnyOf(_,w),s=>Object.assign(s,ma)),reducers:{initializeAssetProcedureTypeAttachments:G.initialize,addAssetProcedureTypeAttachment:G.addOne,addAssetProcedureTypeAttachments:G.addMany,setAssetProcedureTypeAttachment:G.setOne,setAssetProcedureTypeAttachments:G.setMany,updateAssetProcedureTypeAttachment:G.updateOne,updateAssetProcedureTypeAttachments:G.updateMany,deleteAssetProcedureTypeAttachment:G.deleteOne,deleteAssetProcedureTypeAttachments:G.deleteMany}}),{initializeAssetProcedureTypeAttachments:ya,addAssetProcedureTypeAttachment:pa,addAssetProcedureTypeAttachments:Aa,setAssetProcedureTypeAttachment:fa,setAssetProcedureTypeAttachments:Sa,updateAssetProcedureTypeAttachment:Ta,updateAssetProcedureTypeAttachments:Ia,deleteAssetProcedureTypeAttachment:Oa,deleteAssetProcedureTypeAttachments:Pa}=Xt.actions,Fa=Xt.reducer,ga=t=>t.assetProcedureTypeAttachmentReducer.instances,Qt=o.createSelector([ga],t=>Object.values(t)),ba=t=>s=>s.assetProcedureTypeAttachmentReducer.instances[t],_a=S(o.createSelector([Qt,(t,s)=>s],(t,s)=>{const e=new Set(s);return T(t.filter(({uuid:n})=>e.has(n)))})),yO=S(o.createSelector([Qt,(t,s)=>s],(t,s)=>T(t.filter(({asset_procedure_type:e})=>s===e)))),H=R(({uuid:t})=>t),Ma={instances:{}},xt=o.createSlice({name:"assetProcedureTypeFieldsAttachments",initialState:Ma,extraReducers:t=>t.addMatcher(o.isAnyOf(_,w),s=>Object.assign(s,Ma)),reducers:{initializeAssetProcedureTypeFieldsAttachments:H.initialize,addAssetProcedureTypeFieldsAttachment:H.addOne,addAssetProcedureTypeFieldsAttachments:H.addMany,setAssetProcedureTypeFieldsAttachment:H.setOne,setAssetProcedureTypeFieldsAttachments:H.setMany,updateAssetProcedureTypeFieldsAttachment:H.updateOne,updateAssetProcedureTypeFieldsAttachments:H.updateMany,deleteAssetProcedureTypeFieldsAttachment:H.deleteOne,deleteAssetProcedureTypeFieldsAttachments:H.deleteMany}}),{initializeAssetProcedureTypeFieldsAttachments:Ra,addAssetProcedureTypeFieldsAttachment:wa,addAssetProcedureTypeFieldsAttachments:va,setAssetProcedureTypeFieldsAttachment:Ea,setAssetProcedureTypeFieldsAttachments:Va,updateAssetProcedureTypeFieldsAttachment:za,updateAssetProcedureTypeFieldsAttachments:Ba,deleteAssetProcedureTypeFieldsAttachment:ja,deleteAssetProcedureTypeFieldsAttachments:qa}=xt.actions,Ca=xt.reducer,Da=t=>t.assetProcedureTypeFieldsAttachmentReducer.instances,es=o.createSelector([Da],t=>Object.values(t)),pO=S(o.createSelector([es,(t,s)=>s],(t,s)=>T(t.filter(e=>e.fields_revision===s)))),$a=t=>s=>s.assetProcedureTypeFieldsAttachmentReducer.instances[t],Ua=S(o.createSelector([es,(t,s)=>s],(t,s)=>{const e=new Set(s);return T(t.filter(({uuid:n})=>e.has(n)))})),W=R(({uuid:t})=>t),La={instances:{}},ts=o.createSlice({name:"assetProcedureTypeFields",initialState:La,extraReducers:t=>t.addMatcher(o.isAnyOf(_,w),s=>Object.assign(s,La)),reducers:{initializeAssetProcedureTypeFields:W.initialize,addAssetProcedureTypeFields:W.addOne,addAssetProcedureTypeFieldsMany:W.addMany,setAssetProcedureTypeFields:W.setOne,setAssetProcedureTypeFieldsMany:W.setMany,updateAssetProcedureTypeFields:W.updateOne,updateAssetProcedureTypeFieldsMany:W.updateMany,deleteAssetProcedureTypeFields:W.deleteOne,deleteAssetProcedureTypeFieldsMany:W.deleteMany}}),{initializeAssetProcedureTypeFields:ka,addAssetProcedureTypeFields:Na,addAssetProcedureTypeFieldsMany:Ga,setAssetProcedureTypeFields:Ha,setAssetProcedureTypeFieldsMany:Wa,updateAssetProcedureTypeFields:Ka,updateAssetProcedureTypeFieldsMany:Ya,deleteAssetProcedureTypeFields:Za,deleteAssetProcedureTypeFieldsMany:Ja}=ts.actions,Xa=ts.reducer,Qa=t=>t.assetProcedureTypeFieldsReducer.instances,mt=o.createSelector([Qa],t=>Object.values(t)),AO=S(o.createSelector([mt,(t,s)=>s],(t,s)=>T(t.filter(e=>e.asset_procedure_type===s)))),fO=S(o.createSelector([mt,(t,s)=>s],(t,s)=>t.filter(e=>e.asset_procedure_type===s).sort((e,n)=>e.submitted_at>n.submitted_at?-1:1)[0])),xa=t=>s=>s.assetProcedureTypeFieldsReducer.instances[t],ec=S(o.createSelector([mt,(t,s)=>s],(t,s)=>{const e=new Set(s);return T(t.filter(({uuid:n})=>e.has(n)))})),K=R(({uuid:t})=>t),tc={instances:{}},ss=o.createSlice({name:"assetProcedureTypeFieldValuesAttachments",initialState:tc,extraReducers:t=>t.addMatcher(o.isAnyOf(_,C,w),s=>Object.assign(s,tc)),reducers:{initializeAssetProcedureTypeFieldValuesAttachments:K.initialize,addAssetProcedureTypeFieldValuesAttachment:K.addOne,addAssetProcedureTypeFieldValuesAttachments:K.addMany,setAssetProcedureTypeFieldValuesAttachment:K.setOne,setAssetProcedureTypeFieldValuesAttachments:K.setMany,updateAssetProcedureTypeFieldValuesAttachment:K.updateOne,updateAssetProcedureTypeFieldValuesAttachments:K.updateMany,deleteAssetProcedureTypeFieldValuesAttachment:K.deleteOne,deleteAssetProcedureTypeFieldValuesAttachments:K.deleteMany}}),{initializeAssetProcedureTypeFieldValuesAttachments:sc,addAssetProcedureTypeFieldValuesAttachment:ic,addAssetProcedureTypeFieldValuesAttachments:is,setAssetProcedureTypeFieldValuesAttachment:nc,setAssetProcedureTypeFieldValuesAttachments:ac,updateAssetProcedureTypeFieldValuesAttachment:cc,updateAssetProcedureTypeFieldValuesAttachments:dc,deleteAssetProcedureTypeFieldValuesAttachment:rc,deleteAssetProcedureTypeFieldValuesAttachments:ns}=ss.actions,uc=ss.reducer,lc=t=>t.assetProcedureTypeFieldValuesAttachmentReducer.instances,as=o.createSelector([lc],t=>Object.values(t)),oc=t=>s=>s.assetProcedureTypeFieldValuesAttachmentReducer.instances[t],hc=S(o.createSelector([as,(t,s)=>s],(t,s)=>{const e=new Set(s);return T(t.filter(({uuid:n})=>e.has(n)))})),mc=S(o.createSelector([as,(t,s)=>s],(t,s)=>T(t.filter(e=>e.field_values===s)))),Y=R(({uuid:t})=>t),yc={instances:{}},cs=o.createSlice({name:"assetProcedureTypeFieldValues",initialState:yc,extraReducers:t=>t.addMatcher(o.isAnyOf(_,C,w),s=>Object.assign(s,yc)),reducers:{initializeAssetProcedureTypeFieldValues:Y.initialize,addAssetProcedureTypeFieldValues:Y.addOne,addAssetProcedureTypeFieldValuesMany:Y.addMany,setAssetProcedureTypeFieldValues:Y.setOne,setAssetProcedureTypeFieldValuesMany:Y.setMany,updateAssetProcedureTypeFieldValues:Y.updateOne,updateAssetProcedureTypeFieldValuesMany:Y.updateMany,deleteAssetProcedureTypeFieldValues:Y.deleteOne,deleteAssetProcedureTypeFieldValuesMany:Y.deleteMany}}),{initializeAssetProcedureTypeFieldValues:pc,addAssetProcedureTypeFieldValues:Ac,addAssetProcedureTypeFieldValuesMany:fc,setAssetProcedureTypeFieldValues:Sc,setAssetProcedureTypeFieldValuesMany:Tc,updateAssetProcedureTypeFieldValues:Ic,updateAssetProcedureTypeFieldValuesMany:Oc,deleteAssetProcedureTypeFieldValues:Pc,deleteAssetProcedureTypeFieldValuesMany:Fc}=cs.actions,gc=cs.reducer,bc=t=>t.assetProcedureTypeFieldValuesReducer.instances,yt=o.createSelector([bc],t=>Object.values(t)),SO=S(o.createSelector([yt,(t,s)=>s],(t,s)=>T(t.filter(e=>e.asset===s)))),TO=S(o.createSelector([yt,(t,s)=>s],(t,s)=>T(t.filter(e=>e.asset_procedure===s)))),_c=t=>s=>s.assetProcedureTypeFieldValuesReducer.instances[t],Mc=S(o.createSelector([yt,(t,s)=>s],(t,s)=>{const e=new Set(s);return T(t.filter(({uuid:n})=>e.has(n)))})),Z=R(({uuid:t})=>t),Rc={instances:{}},ds=o.createSlice({name:"assetProcedures",initialState:Rc,extraReducers:t=>t.addMatcher(o.isAnyOf(_,C,w),s=>Object.assign(s,Rc)),reducers:{initializeAssetProcedures:Z.initialize,addAssetProcedure:Z.addOne,addAssetProcedures:Z.addMany,setAssetProcedure:Z.setOne,setAssetProcedures:Z.setMany,updateAssetProcedure:Z.updateOne,updateAssetProcedures:Z.updateMany,deleteAssetProcedure:Z.deleteOne,deleteAssetProcedures:Z.deleteMany}}),{initializeAssetProcedures:wc,addAssetProcedure:vc,addAssetProcedures:rs,updateAssetProcedure:Ec,updateAssetProcedures:Vc,deleteAssetProcedure:zc,deleteAssetProcedures:us,setAssetProcedure:Bc,setAssetProcedures:jc}=ds.actions,qc=ds.reducer,Cc=t=>t.assetProcedureReducer.instances,pt=o.createSelector([Cc],t=>Object.values(t)),Dc=S(o.createSelector([pt,(t,s)=>s],(t,s)=>T(t.filter(e=>e.asset_procedure_type===s)))),IO=S(o.createSelector([pt,(t,s)=>s],(t,s)=>T(t.filter(e=>e.asset_type===s)))),$c=t=>s=>s.assetProcedureReducer.instances[t],Uc=S(o.createSelector([pt,(t,s)=>s],(t,s)=>{const e=new Set(s);return T(t.filter(({uuid:n})=>e.has(n)))})),J=R(t=>t.uuid),Lc={instances:{}},ls=o.createSlice({name:"assetProcedureTypes",initialState:Lc,extraReducers:t=>t.addMatcher(o.isAnyOf(_,w),s=>Object.assign(s,Lc)),reducers:{initializeAssetProcedureTypes:J.initialize,addAssetProcedureType:J.addOne,addAssetProcedureTypes:J.addMany,setAssetProcedureType:J.setOne,setAssetProcedureTypes:J.setMany,updateAssetProcedureType:J.updateOne,updateAssetProcedureTypes:J.updateMany,deleteAssetProcedureType:J.deleteOne,deleteAssetProcedureTypes:J.deleteMany}}),{initializeAssetProcedureTypes:kc,addAssetProcedureType:Nc,addAssetProcedureTypes:Gc,updateAssetProcedureType:Hc,updateAssetProcedureTypes:Wc,deleteAssetProcedureType:Kc,deleteAssetProcedureTypes:Yc,setAssetProcedureType:Zc,setAssetProcedureTypes:Jc}=ls.actions,Xc=ls.reducer,Qc=t=>t.assetProcedureTypeReducer.instances,os=o.createSelector([Qc],t=>Object.values(t)),xc=t=>s=>s.assetProcedureTypeReducer.instances[t],ed=S(o.createSelector([os,(t,s)=>s],(t,s)=>{const e=new Set(s);return T(t.filter(({uuid:n})=>e.has(n)))})),OO=S(o.createSelector([os,(t,s)=>s],(t,s)=>T(t.filter(e=>e.organization===s)))),X=R(t=>t.uuid),td={instances:{}},hs=o.createSlice({name:"assetProcedureStepFieldsAttachments",initialState:td,extraReducers:t=>t.addMatcher(o.isAnyOf(_,w),s=>Object.assign(s,td)),reducers:{initializeAssetProcedureStepFieldsAttachments:X.initialize,addAssetProcedureStepFieldsAttachment:X.addOne,addAssetProcedureStepFieldsAttachments:X.addMany,setAssetProcedureStepFieldsAttachment:X.setOne,setAssetProcedureStepFieldsAttachments:X.setMany,updateAssetProcedureStepFieldsAttachment:X.updateOne,updateAssetProcedureStepFieldsAttachments:X.updateMany,deleteAssetProcedureStepFieldsAttachment:X.deleteOne,deleteAssetProcedureStepFieldsAttachments:X.deleteMany}}),{initializeAssetProcedureStepFieldsAttachments:sd,addAssetProcedureStepFieldsAttachment:id,addAssetProcedureStepFieldsAttachments:nd,setAssetProcedureStepFieldsAttachment:ad,setAssetProcedureStepFieldsAttachments:cd,updateAssetProcedureStepFieldsAttachment:dd,updateAssetProcedureStepFieldsAttachments:rd,deleteAssetProcedureStepFieldsAttachment:ud,deleteAssetProcedureStepFieldsAttachments:ld}=hs.actions,od=t=>t.assetProcedureStepFieldsAttachmentReducer.instances,ms=o.createSelector([od],t=>Object.values(t)),PO=S(o.createSelector([ms,(t,s)=>s],(t,s)=>T(t.filter(e=>e.fields_revision===s)))),hd=t=>s=>s.assetProcedureStepFieldsAttachmentReducer.instances[t],md=S(o.createSelector([ms,(t,s)=>s],(t,s)=>{const e=new Set(s);return T(t.filter(({uuid:n})=>e.has(n)))})),yd=hs.reducer,Q=R(t=>t.uuid),pd={instances:{}},ys=o.createSlice({name:"assetProcedureStepFields",initialState:pd,extraReducers:t=>t.addMatcher(o.isAnyOf(_,w),s=>Object.assign(s,pd)),reducers:{initializeAssetProcedureStepFields:Q.initialize,addAssetProcedureStepFields:Q.addOne,addAssetProcedureStepFieldsMany:Q.addMany,setAssetProcedureStepFields:Q.setOne,setAssetProcedureStepFieldsMany:Q.setMany,updateAssetProcedureStepFields:Q.updateOne,updateAssetProcedureStepFieldsMany:Q.updateMany,deleteAssetProcedureStepFields:Q.deleteOne,deleteAssetProcedureStepFieldsMany:Q.deleteMany}}),{initializeAssetProcedureStepFields:Ad,addAssetProcedureStepFields:fd,addAssetProcedureStepFieldsMany:Sd,setAssetProcedureStepFields:Td,setAssetProcedureStepFieldsMany:Id,updateAssetProcedureStepFields:Od,updateAssetProcedureStepFieldsMany:Pd,deleteAssetProcedureStepFields:Fd,deleteAssetProcedureStepFieldsMany:gd}=ys.actions,ps=t=>t.assetProcedureStepFieldsReducer.instances,At=o.createSelector([ps],t=>Object.values(t)),FO=S(o.createSelector([At,(t,s)=>s],(t,s)=>T(t.filter(e=>e.asset_procedure_step===s)))),gO=S(o.createSelector([At,(t,s)=>s],(t,s)=>t.filter(e=>e.asset_procedure_step===s).sort((e,n)=>e.submitted_at>n.submitted_at?-1:1)[0])),bO=o.createSelector([ps],t=>{const s={};for(const e of Object.values(t)){const n=s[e.asset_procedure_step];(!n||n.submitted_at<e.submitted_at)&&(s[e.asset_procedure_step]=e)}return s}),bd=t=>s=>s.assetProcedureStepFieldsReducer.instances[t],_d=S(o.createSelector([At,(t,s)=>s],(t,s)=>{const e=new Set(s);return T(t.filter(({uuid:n})=>e.has(n)))})),Md=ys.reducer,x=R(t=>t.uuid),Rd={instances:{}},As=o.createSlice({name:"assetProcedureStepFieldValuesAttachments",initialState:Rd,extraReducers:t=>t.addMatcher(o.isAnyOf(_,C,w),s=>Object.assign(s,Rd)),reducers:{initializeAssetProcedureStepFieldValuesAttachments:x.initialize,addAssetProcedureStepFieldValuesAttachment:x.addOne,addAssetProcedureStepFieldValuesAttachments:x.addMany,setAssetProcedureStepFieldValuesAttachment:x.setOne,setAssetProcedureStepFieldValuesAttachments:x.setMany,updateAssetProcedureStepFieldValuesAttachment:x.updateOne,updateAssetProcedureStepFieldValuesAttachments:x.updateMany,deleteAssetProcedureStepFieldValuesAttachment:x.deleteOne,deleteAssetProcedureStepFieldValuesAttachments:x.deleteMany}}),{initializeAssetProcedureStepFieldValuesAttachments:wd,addAssetProcedureStepFieldValuesAttachment:vd,addAssetProcedureStepFieldValuesAttachments:fs,setAssetProcedureStepFieldValuesAttachment:Ed,setAssetProcedureStepFieldValuesAttachments:Vd,updateAssetProcedureStepFieldValuesAttachment:zd,updateAssetProcedureStepFieldValuesAttachments:Bd,deleteAssetProcedureStepFieldValuesAttachment:jd,deleteAssetProcedureStepFieldValuesAttachments:Ss}=As.actions,qd=t=>t.assetProcedureStepFieldValuesAttachmentReducer.instances,Ts=o.createSelector([qd],t=>Object.values(t)),Cd=t=>s=>s.assetProcedureStepFieldValuesAttachmentReducer.instances[t],Dd=S(o.createSelector([Ts,(t,s)=>s],(t,s)=>{const e=new Set(s);return T(t.filter(({uuid:n})=>e.has(n)))})),$d=S(o.createSelector([Ts,(t,s)=>s],(t,s)=>T(t.filter(e=>e.field_values===s)))),Ud=As.reducer,ee=R(t=>t.uuid),Ld={instances:{}},Is=o.createSlice({name:"assetProcedureStepFieldValues",initialState:Ld,extraReducers:t=>t.addMatcher(o.isAnyOf(_,C,w),s=>Object.assign(s,Ld)),reducers:{initializeAssetProcedureStepFieldValues:ee.initialize,addAssetProcedureStepFieldValues:ee.addOne,addAssetProcedureStepFieldValuesMany:ee.addMany,setAssetProcedureStepFieldValues:ee.setOne,setAssetProcedureStepFieldValuesMany:ee.setMany,updateAssetProcedureStepFieldValues:ee.updateOne,updateAssetProcedureStepFieldValuesMany:ee.updateMany,deleteAssetProcedureStepFieldValues:ee.deleteOne,deleteAssetProcedureStepFieldValuesMany:ee.deleteMany}}),{initializeAssetProcedureStepFieldValues:kd,addAssetProcedureStepFieldValues:Nd,addAssetProcedureStepFieldValuesMany:Gd,setAssetProcedureStepFieldValues:Hd,setAssetProcedureStepFieldValuesMany:Wd,updateAssetProcedureStepFieldValues:Kd,updateAssetProcedureStepFieldValuesMany:Yd,deleteAssetProcedureStepFieldValues:Zd,deleteAssetProcedureStepFieldValuesMany:Jd}=Is.actions,Xd=t=>t.assetProcedureStepFieldValuesReducer.instances,at=o.createSelector([Xd],t=>Object.values(t)),_O=S(o.createSelector([at,(t,s)=>s],(t,s)=>T(t.filter(e=>e.asset===s)))),MO=S(o.createSelector([at,(t,s)=>s],(t,s)=>T(t.filter(e=>e.asset_procedure===s)))),RO=S(o.createSelector([at,(t,s)=>s],(t,s)=>T(t.filter(e=>e.asset_procedure_step===s)))),Qd=t=>s=>s.assetProcedureStepFieldValuesReducer.instances[t],xd=S(o.createSelector([at,(t,s)=>s],(t,s)=>{const e=new Set(s);return T(t.filter(({uuid:n})=>e.has(n)))})),er=Is.reducer,te=R(t=>t.uuid),tr={instances:{}},Os=o.createSlice({name:"assetProcedureSteps",initialState:tr,extraReducers:t=>t.addMatcher(o.isAnyOf(_,w),s=>Object.assign(s,tr)),reducers:{initializeAssetProcedureSteps:te.initialize,setAssetProcedureStep:te.setOne,setAssetProcedureSteps:te.setMany,addAssetProcedureStep:te.addOne,addAssetProcedureSteps:te.addMany,updateAssetProcedureStep:te.updateOne,updateAssetProcedureSteps:te.updateMany,deleteAssetProcedureStep:te.deleteOne,deleteAssetProcedureSteps:te.deleteMany}}),{initializeAssetProcedureSteps:sr,setAssetProcedureStep:ir,setAssetProcedureSteps:nr,addAssetProcedureStep:ar,addAssetProcedureSteps:cr,updateAssetProcedureStep:dr,updateAssetProcedureSteps:rr,deleteAssetProcedureStep:ur,deleteAssetProcedureSteps:lr}=Os.actions,or=Os.reducer,ft=t=>t.assetProcedureStepReducer.instances,hr=t=>s=>s.assetProcedureStepReducer.instances[t],Ps=o.createSelector([ft],t=>Object.values(t)),wO=S(o.createSelector([ft,(t,s)=>s],(t,s)=>{const e={};for(const[n,a]of Object.entries(t))a.asset_procedure_type===s&&(e[n]=a);return ht(e)})),vO=S(o.createSelector([Ps,(t,s)=>s],(t,s)=>T(t.filter(e=>e.asset_procedure_type===s)))),mr=S(o.createSelector([Ps,(t,s)=>s],(t,s)=>{const e=new Set(s);return T(t.filter(({uuid:n})=>e.has(n)))})),yr=S(o.createSelector([ft,(t,s)=>s],(t,s)=>{if(!t[s])return T([]);const a=Hn(s,Object.values(t)).all().map(({model:c})=>c);return T(a)})),se=R(t=>t.uuid),pr={instances:{}},Fs=o.createSlice({name:"assets",initialState:pr,extraReducers:t=>t.addMatcher(o.isAnyOf(_,C,w),s=>Object.assign(s,pr)),reducers:{initializeAssets:se.initialize,addAsset:se.addOne,addAssets:se.addMany,setAsset:se.setOne,setAssets:se.setMany,updateAsset:se.updateOne,updateAssets:se.updateMany,deleteAsset:se.deleteOne,deleteAssets:se.deleteMany}}),{initializeAssets:Ar,addAsset:fr,addAssets:gs,updateAsset:Sr,updateAssets:Tr,deleteAsset:Ir,deleteAssets:bs,setAsset:Or,setAssets:Pr}=Fs.actions,Fr=t=>t.assetReducer.instances,St=o.createSelector([Fr],t=>T(Object.values(t))),EO=S(o.createSelector([St,(t,s)=>s],(t,s)=>T(t.filter(({project:e})=>e===s)))),gr=S(o.createSelector([St,(t,s)=>s],(t,s)=>T(t.filter(e=>e.asset_type===s)))),br=t=>s=>s.assetReducer.instances[t],_r=S(o.createSelector([St,(t,s)=>s],(t,s)=>{const e=new Set(s);return T(t.filter(({uuid:n})=>e.has(n)))})),Mr=Fs.reducer,ie=R(t=>t.uuid),Rr={instances:{}},_s=o.createSlice({name:"assetStageCompletions",initialState:Rr,extraReducers:t=>t.addMatcher(o.isAnyOf(_,C,w),s=>Object.assign(s,Rr)),reducers:{initializeAssetStageCompletions:ie.initialize,addAssetStageCompletion:ie.addOne,addAssetStageCompletions:ie.addMany,setAssetStageCompletion:ie.setOne,setAssetStageCompletions:ie.setMany,updateAssetStageCompletion:ie.updateOne,updateAssetStageCompletions:ie.updateMany,deleteAssetStageCompletion:ie.deleteOne,deleteAssetStageCompletions:ie.deleteMany}}),{initializeAssetStageCompletions:wr,addAssetStageCompletion:vr,addAssetStageCompletions:Er,setAssetStageCompletion:Vr,setAssetStageCompletions:zr,updateAssetStageCompletion:Br,updateAssetStageCompletions:jr,deleteAssetStageCompletion:qr,deleteAssetStageCompletions:Cr}=_s.actions,Dr=_s.reducer,$r=t=>t.assetStageCompletionReducer.instances,Ur=o.createSelector([$r],t=>Object.values(t)),Lr=t=>s=>s.assetStageCompletionReducer.instances[t],kr=S(o.createSelector([Ur,(t,s)=>s],(t,s)=>{const e=new Set(s);return T(t.filter(({uuid:n})=>e.has(n)))})),ne=R(t=>t.uuid),Nr={instances:{}},Ms=o.createSlice({name:"assetStages",initialState:Nr,extraReducers:t=>t.addMatcher(o.isAnyOf(_,w),s=>Object.assign(s,Nr)),reducers:{initializeAssetStages:ne.initialize,setAssetStage:ne.setOne,setAssetStages:ne.setMany,addAssetStage:ne.addOne,addAssetStages:ne.addMany,updateAssetStage:ne.updateOne,updateAssetStages:ne.updateMany,deleteAssetStage:ne.deleteOne,deleteAssetStages:ne.deleteMany}}),{initializeAssetStages:Gr,setAssetStage:Hr,setAssetStages:Wr,addAssetStage:Kr,addAssetStages:Yr,updateAssetStage:Zr,updateAssetStages:Jr,deleteAssetStage:Xr,deleteAssetStages:Qr}=Ms.actions,xr=Ms.reducer,Rs=t=>t.assetStageReducer.instances,eu=t=>s=>s.assetStageReducer.instances[t],ws=o.createSelector([Rs],t=>Object.values(t)),VO=S(o.createSelector([Rs,(t,s)=>s],(t,s)=>{const e={};for(const[n,a]of Object.entries(t))a.asset_procedure_type===s&&(e[n]=a);return ht(e)})),zO=S(o.createSelector([ws,(t,s)=>s],(t,s)=>T(t.filter(e=>e.asset_procedure_type===s)))),tu=S(o.createSelector([ws,(t,s)=>s],(t,s)=>{const e=new Set(s);return T(t.filter(({uuid:n})=>e.has(n)))})),ae=R(t=>t.uuid),su={instances:{}},vs=o.createSlice({name:"assetTypeAttachments",initialState:su,extraReducers:t=>t.addMatcher(o.isAnyOf(_,w),s=>Object.assign(s,su)),reducers:{initializeAssetTypeAttachments:ae.initialize,addAssetTypeAttachment:ae.addOne,addAssetTypeAttachments:ae.addMany,setAssetTypeAttachment:ae.setOne,setAssetTypeAttachments:ae.setMany,updateAssetTypeAttachment:ae.updateOne,updateAssetTypeAttachments:ae.updateMany,deleteAssetTypeAttachment:ae.deleteOne,deleteAssetTypeAttachments:ae.deleteMany}}),{initializeAssetTypeAttachments:iu,addAssetTypeAttachment:nu,addAssetTypeAttachments:Es,setAssetTypeAttachment:au,setAssetTypeAttachments:cu,updateAssetTypeAttachment:du,updateAssetTypeAttachments:ru,deleteAssetTypeAttachment:uu,deleteAssetTypeAttachments:Vs}=vs.actions,lu=t=>t.assetTypeAttachmentReducer.instances,zs=o.createSelector([lu],t=>Object.values(t)),ou=t=>s=>s.assetTypeAttachmentReducer.instances[t],hu=S(o.createSelector([zs,(t,s)=>s],(t,s)=>{const e=new Set(s);return T(t.filter(({uuid:n})=>e.has(n)))})),mu=S(o.createSelector([zs,(t,s)=>s],(t,s)=>T(t.filter(({asset_type:e})=>s===e)))),yu=vs.reducer,ce=R(t=>t.uuid),pu={instances:{}},Bs=o.createSlice({name:"assetTypeFieldsAttachments",initialState:pu,extraReducers:t=>t.addMatcher(o.isAnyOf(_,w),s=>Object.assign(s,pu)),reducers:{initializeAssetTypeFieldsAttachments:ce.initialize,addAssetTypeFieldsAttachment:ce.addOne,addAssetTypeFieldsAttachments:ce.addMany,setAssetTypeFieldsAttachment:ce.setOne,setAssetTypeFieldsAttachments:ce.setMany,updateAssetTypeFieldsAttachment:ce.updateOne,updateAssetTypeFieldsAttachments:ce.updateMany,deleteAssetTypeFieldsAttachment:ce.deleteOne,deleteAssetTypeFieldsAttachments:ce.deleteMany}}),{initializeAssetTypeFieldsAttachments:Au,addAssetTypeFieldsAttachment:fu,addAssetTypeFieldsAttachments:Su,setAssetTypeFieldsAttachment:Tu,setAssetTypeFieldsAttachments:Iu,updateAssetTypeFieldsAttachment:Ou,updateAssetTypeFieldsAttachments:Pu,deleteAssetTypeFieldsAttachment:Fu,deleteAssetTypeFieldsAttachments:gu}=Bs.actions,bu=t=>t.assetTypeFieldsAttachmentReducer.instances,js=o.createSelector([bu],t=>Object.values(t)),BO=S(o.createSelector([js,(t,s)=>s],(t,s)=>T(t.filter(e=>e.fields_revision===s)))),_u=t=>s=>s.assetTypeFieldsAttachmentReducer.instances[t],Mu=S(o.createSelector([js,(t,s)=>s],(t,s)=>{const e=new Set(s);return T(t.filter(({uuid:n})=>e.has(n)))})),Ru=Bs.reducer,de=R(t=>t.uuid),wu={instances:{}},qs=o.createSlice({name:"assetTypeFields",initialState:wu,extraReducers:t=>t.addMatcher(o.isAnyOf(_,w),s=>Object.assign(s,wu)),reducers:{initializeAssetTypeFields:de.initialize,addAssetTypeFields:de.addOne,addAssetTypeFieldsMany:de.addMany,setAssetTypeFields:de.setOne,setAssetTypeFieldsMany:de.setMany,updateAssetTypeFields:de.updateOne,updateAssetTypeFieldsMany:de.updateMany,deleteAssetTypeFields:de.deleteOne,deleteAssetTypeFieldsMany:de.deleteMany}}),{initializeAssetTypeFields:vu,addAssetTypeFields:Eu,addAssetTypeFieldsMany:Vu,setAssetTypeFields:zu,setAssetTypeFieldsMany:Bu,updateAssetTypeFields:ju,updateAssetTypeFieldsMany:qu,deleteAssetTypeFields:Cu,deleteAssetTypeFieldsMany:Du}=qs.actions,$u=t=>t.assetTypeFieldsReducer.instances,ct=o.createSelector([$u],t=>Object.values(t)),jO=S(o.createSelector([ct,(t,s)=>s],(t,s)=>T(t.filter(e=>e.asset_type===s)))),qO=S(o.createSelector([ct,(t,s)=>s],(t,s)=>t.filter(e=>e.asset_type===s).sort((e,n)=>e.submitted_at>n.submitted_at?-1:1)[0])),Uu=t=>s=>s.assetTypeFieldsReducer.instances[t],Lu=S(o.createSelector([ct,(t,s)=>s],(t,s)=>{const e=new Set(s);return T(t.filter(({uuid:n})=>e.has(n)))})),ku=qs.reducer,re=R(t=>t.uuid),Nu={instances:{}},Cs=o.createSlice({name:"assetTypeFieldValuesAttachments",initialState:Nu,extraReducers:t=>t.addMatcher(o.isAnyOf(_,C,w),s=>Object.assign(s,Nu)),reducers:{initializeAssetTypeFieldValuesAttachments:re.initialize,addAssetTypeFieldValuesAttachment:re.addOne,addAssetTypeFieldValuesAttachments:re.addMany,setAssetTypeFieldValuesAttachment:re.setOne,setAssetTypeFieldValuesAttachments:re.setMany,updateAssetTypeFieldValuesAttachment:re.updateOne,updateAssetTypeFieldValuesAttachments:re.updateMany,deleteAssetTypeFieldValuesAttachment:re.deleteOne,deleteAssetTypeFieldValuesAttachments:re.deleteMany}}),{initializeAssetTypeFieldValuesAttachments:Gu,addAssetTypeFieldValuesAttachment:Hu,addAssetTypeFieldValuesAttachments:Ds,setAssetTypeFieldValuesAttachment:Wu,setAssetTypeFieldValuesAttachments:Ku,updateAssetTypeFieldValuesAttachment:Yu,updateAssetTypeFieldValuesAttachments:Zu,deleteAssetTypeFieldValuesAttachment:Ju,deleteAssetTypeFieldValuesAttachments:$s}=Cs.actions,Xu=t=>t.assetTypeFieldValuesAttachmentReducer.instances,Us=o.createSelector([Xu],t=>Object.values(t)),Qu=t=>s=>s.assetTypeFieldValuesAttachmentReducer.instances[t],xu=S(o.createSelector([Us,(t,s)=>s],(t,s)=>{const e=new Set(s);return T(t.filter(({uuid:n})=>e.has(n)))})),el=S(o.createSelector([Us,(t,s)=>s],(t,s)=>T(t.filter(e=>e.field_values===s)))),tl=Cs.reducer,ue=R(t=>t.uuid),sl={instances:{}},Ls=o.createSlice({name:"assetTypeFieldValues",initialState:sl,extraReducers:t=>t.addMatcher(o.isAnyOf(_,C,w),s=>Object.assign(s,sl)),reducers:{initializeAssetTypeFieldValues:ue.initialize,addAssetTypeFieldValues:ue.addOne,addAssetTypeFieldValuesMany:ue.addMany,setAssetTypeFieldValues:ue.setOne,setAssetTypeFieldValuesMany:ue.setMany,updateAssetTypeFieldValues:ue.updateOne,updateAssetTypeFieldValuesMany:ue.updateMany,deleteAssetTypeFieldValues:ue.deleteOne,deleteAssetTypeFieldValuesMany:ue.deleteMany}}),{initializeAssetTypeFieldValues:il,addAssetTypeFieldValues:nl,addAssetTypeFieldValuesMany:al,setAssetTypeFieldValues:cl,setAssetTypeFieldValuesMany:dl,updateAssetTypeFieldValues:rl,updateAssetTypeFieldValuesMany:ul,deleteAssetTypeFieldValues:ll,deleteAssetTypeFieldValuesMany:ol}=Ls.actions,hl=t=>t.assetTypeFieldValuesReducer.instances,Tt=o.createSelector([hl],t=>Object.values(t)),CO=S(o.createSelector([Tt,(t,s)=>s],(t,s)=>T(t.filter(e=>e.asset===s)))),DO=S(o.createSelector([ct,Tt,(t,s)=>s],(t,s,e)=>{const n=new Set(t.filter(a=>a.asset_type===e).map(a=>a.uuid));return T(s.filter(a=>n.has(a.fields_revision)))})),ml=t=>s=>s.assetTypeFieldValuesReducer.instances[t],yl=S(o.createSelector([Tt,(t,s)=>s],(t,s)=>{const e=new Set(s);return T(t.filter(({uuid:n})=>e.has(n)))})),pl=Ls.reducer,le=R(t=>t.uuid),Al={instances:{}},ks=o.createSlice({name:"assetTypeIdentifiers",initialState:Al,extraReducers:t=>t.addMatcher(o.isAnyOf(_,w),s=>Object.assign(s,Al)),reducers:{initializeAssetTypeIdentifiers:le.initialize,addAssetTypeIdentifier:le.addOne,addAssetTypeIdentifiers:le.addMany,setAssetTypeIdentifier:le.setOne,setAssetTypeIdentifiers:le.setMany,updateAssetTypeIdentifier:le.updateOne,updateAssetTypeIdentifiers:le.updateMany,deleteAssetTypeIdentifier:le.deleteOne,deleteAssetTypeIdentifiers:le.deleteMany}}),{initializeAssetTypeIdentifiers:fl,addAssetTypeIdentifier:Sl,addAssetTypeIdentifiers:Tl,setAssetTypeIdentifier:Il,setAssetTypeIdentifiers:Ol,updateAssetTypeIdentifier:Pl,updateAssetTypeIdentifiers:Fl,deleteAssetTypeIdentifier:gl,deleteAssetTypeIdentifiers:bl}=ks.actions,_l=t=>t.assetTypeIdentifierReducer.instances,Ns=o.createSelector([_l],t=>Object.values(t)),Ml=t=>s=>s.assetTypeIdentifierReducer.instances[t],Rl=S(o.createSelector([Ns,(t,s)=>s],(t,s)=>{const e=new Set(s);return T(t.filter(({uuid:n})=>e.has(n)))})),$O=S(o.createSelector([Ns,(t,s)=>s],(t,s)=>T(t.filter(e=>e.asset_type===s)))),wl=ks.reducer,oe=R(t=>t.uuid),vl={instances:{}},Gs=o.createSlice({name:"assetTypeIdentifierValues",initialState:vl,extraReducers:t=>t.addMatcher(o.isAnyOf(_,C,w),s=>Object.assign(s,vl)),reducers:{initializeAssetTypeIdentifierValues:oe.initialize,addAssetTypeIdentifierValue:oe.addOne,addAssetTypeIdentifierValues:oe.addMany,setAssetTypeIdentifierValue:oe.setOne,setAssetTypeIdentifierValues:oe.setMany,updateAssetTypeIdentifierValue:oe.updateOne,updateAssetTypeIdentifierValues:oe.updateMany,deleteAssetTypeIdentifierValue:oe.deleteOne,deleteAssetTypeIdentifierValues:oe.deleteMany}}),{initializeAssetTypeIdentifierValues:El,addAssetTypeIdentifierValue:Vl,addAssetTypeIdentifierValues:zl,setAssetTypeIdentifierValue:Bl,setAssetTypeIdentifierValues:jl,updateAssetTypeIdentifierValue:ql,updateAssetTypeIdentifierValues:Cl,deleteAssetTypeIdentifierValue:Dl,deleteAssetTypeIdentifierValues:$l}=Gs.actions,Ul=t=>t.assetTypeIdentifierValueReducer.instances,It=o.createSelector([Ul],t=>Object.values(t)),Ll=t=>s=>s.assetTypeIdentifierValueReducer.instances[t],kl=S(o.createSelector([It,(t,s)=>s],(t,s)=>{const e=new Set(s);return T(t.filter(({uuid:n})=>e.has(n)))})),UO=S(o.createSelector([It,(t,s)=>s],(t,s)=>T(t.filter(e=>e.asset===s)))),LO=S(o.createSelector([It,(t,s)=>s],(t,s)=>T(t.filter(e=>e.asset_type_identifier===s)))),Nl=Gs.reducer,he=R(t=>t.uuid),Gl={instances:{}},Hs=o.createSlice({name:"assetTypes",initialState:Gl,extraReducers:t=>t.addMatcher(o.isAnyOf(_,w),s=>Object.assign(s,Gl)),reducers:{initializeAssetTypes:he.initialize,setAssetType:he.setOne,setAssetTypes:he.setMany,addAssetType:he.addOne,addAssetTypes:he.addMany,updateAssetType:he.updateOne,updateAssetTypes:he.updateMany,deleteAssetType:he.deleteOne,deleteAssetTypes:he.deleteMany}}),{initializeAssetTypes:Hl,setAssetType:Wl,setAssetTypes:Kl,addAssetType:Yl,addAssetTypes:Zl,updateAssetType:Jl,updateAssetTypes:Xl,deleteAssetType:Ql,deleteAssetTypes:xl}=Hs.actions,eo=t=>t.assetTypeReducer.instances,Ws=o.createSelector([eo],t=>Object.values(t)),to=t=>s=>s.assetTypeReducer.instances[t],so=S(o.createSelector([Ws,(t,s)=>s],(t,s)=>{const e=new Set(s);return T(t.filter(({uuid:n})=>e.has(n)))})),kO=S(o.createSelector([Ws,(t,s)=>s],(t,s)=>T(t.filter(e=>e.organization===s)))),io=Hs.reducer,no={accessToken:"",refreshToken:"",isLoggedIn:!1},Ot=o.createSlice({name:"auth",initialState:no,extraReducers:t=>t.addCase(_,s=>Object.assign(s,no)),reducers:{setTokens:(t,s)=>{t.accessToken=s.payload.accessToken,t.refreshToken=s.payload.refreshToken},clearTokens:t=>{t.accessToken="",t.refreshToken=""},setLoggedIn:(t,s)=>{s.payload||Ot.caseReducers.clearTokens(t),t.isLoggedIn=s.payload}}}),{setTokens:NO,clearTokens:GO,setLoggedIn:ao}=Ot.actions,HO=t=>t.authReducer.accessToken,WO=t=>t.authReducer.isLoggedIn,co=Ot.reducer,me=R(t=>t.uuid),ro={instances:{}},Ks=o.createSlice({name:"categories",initialState:ro,extraReducers:t=>t.addMatcher(o.isAnyOf(_,w),s=>Object.assign(s,ro)),reducers:{initializeCategories:me.initialize,addCategory:me.addOne,addCategories:me.addMany,setCategory:me.setOne,setCategories:me.setMany,updateCategory:me.updateOne,updateCategories:me.updateMany,deleteCategory:me.deleteOne,deleteCategories:me.deleteMany}}),{initializeCategories:uo,addCategory:lo,addCategories:oo,setCategory:ho,setCategories:mo,updateCategory:yo,updateCategories:po,deleteCategory:Ao,deleteCategories:fo}=Ks.actions,So=t=>t.categoryReducer.instances,Ys=o.createSelector([So],t=>Object.values(t)),Zs=t=>s=>s.categoryReducer.instances[t],To=S(o.createSelector([Ys,(t,s)=>s],(t,s)=>{const e=new Set(s);return T(t.filter(({uuid:n})=>e.has(n)))})),KO=S(o.createSelector([Ys,(t,s)=>s],(t,s)=>T(t.filter(e=>e.project===s)))),Io=Ks.reducer,ye=R(t=>t.uuid),Oo={instances:{}},Js=o.createSlice({name:"documentAttachments",initialState:Oo,extraReducers:t=>t.addCase(_,s=>Object.assign(s,Oo)),reducers:{initializeDocumentAttachments:ye.initialize,addDocumentAttachment:ye.addOne,addDocumentAttachments:ye.addMany,setDocumentAttachment:ye.setOne,setDocumentAttachments:ye.setMany,updateDocumentAttachment:ye.updateOne,updateDocumentAttachments:ye.updateMany,deleteDocumentAttachment:ye.deleteOne,deleteDocumentAttachments:ye.deleteMany}}),{initializeDocumentAttachments:Po,addDocumentAttachment:Fo,addDocumentAttachments:go,setDocumentAttachment:bo,setDocumentAttachments:_o,updateDocumentAttachment:Mo,updateDocumentAttachments:Ro,deleteDocumentAttachment:wo,deleteDocumentAttachments:vo}=Js.actions,Eo=t=>t.documentAttachmentReducer.instances,Xs=o.createSelector([Eo],t=>Object.values(t)),Vo=t=>s=>s.documentAttachmentReducer.instances[t],zo=S(o.createSelector([Xs,(t,s)=>s],(t,s)=>{const e=new Set(s);return T(t.filter(({uuid:n})=>e.has(n)))})),YO=S(o.createSelector([Xs,(t,s)=>s],(t,s)=>T(t.filter(({document:e})=>s===e)))),Bo=Js.reducer,pe=R(({uuid:t})=>t),jo={instances:{}},Qs=o.createSlice({name:"documents",initialState:jo,extraReducers:t=>t.addMatcher(o.isAnyOf(_,w),s=>{Object.assign(s,jo)}),reducers:{initializeDocuments:pe.initialize,addDocument:pe.addOne,addDocuments:pe.addMany,setDocument:pe.setOne,setDocuments:pe.setMany,updateDocument:pe.updateOne,updateDocuments:pe.updateMany,deleteDocument:pe.deleteOne,deleteDocuments:pe.deleteMany}}),{initializeDocuments:qo,addDocument:Co,addDocuments:Do,setDocument:$o,setDocuments:Uo,updateDocument:Lo,updateDocuments:ko,deleteDocument:No,deleteDocuments:Go}=Qs.actions,Ho=Qs.reducer,xs=t=>t.documentsReducer.instances,Pt=o.createSelector([xs],t=>Object.values(t)),Wo=t=>s=>s.documentsReducer.instances[t],Ko=S(o.createSelector([Pt,(t,s)=>s],(t,s)=>{const e=new Set(s);return T(t.filter(({uuid:n})=>e.has(n)))})),ZO=S(o.createSelector([Pt,(t,s)=>s],(t,s)=>t.filter(e=>e.project===s))),JO=S(o.createSelector([Pt,(t,s)=>s],(t,s)=>t.filter(e=>e.organization===s))),Yo=S(o.createSelector([xs,(t,s)=>s],(t,s)=>{if(!t[s])return T([]);const a=Kn(s,Object.values(t)).all().map(({model:c})=>c);return T(a)})),Zo={s3Urls:{}},Jo=1e3*60*60,XO=Jo*24*7,ei=o.createSlice({name:"file",initialState:Zo,extraReducers:t=>t.addCase(_,s=>Object.assign(s,Zo)),reducers:{setUploadUrl:(t,s)=>{const{url:e,fields:n,sha1:a}=s.payload,c=new Date,r=new Date(c.getTime()+XO);t.s3Urls[a]={url:e,fields:n,exp:r.getTime()}}}}),{setUploadUrl:Xo}=ei.actions,Qo=t=>s=>{const e=s.fileReducer.s3Urls[t];if(!e)return;const n=new Date().getTime();if(!((e.exp??n)-n<Jo))return e},xo=ei.reducer,Ae=R(t=>t.uuid),eh={instances:{}},ti=o.createSlice({name:"formIdentifiers",initialState:eh,extraReducers:t=>t.addMatcher(o.isAnyOf(_,w),s=>Object.assign(s,eh)),reducers:{initializeFormIdentifiers:Ae.initialize,addFormIdentifier:Ae.addOne,addFormIdentifiers:Ae.addMany,setFormIdentifier:Ae.setOne,setFormIdentifiers:Ae.setMany,updateFormIdentifier:Ae.updateOne,updateFormIdentifiers:Ae.updateMany,deleteFormIdentifier:Ae.deleteOne,deleteFormIdentifiers:Ae.deleteMany}}),{initializeFormIdentifiers:th,addFormIdentifier:sh,addFormIdentifiers:ih,setFormIdentifier:nh,setFormIdentifiers:ah,updateFormIdentifier:ch,updateFormIdentifiers:dh,deleteFormIdentifier:rh,deleteFormIdentifiers:uh}=ti.actions,lh=t=>t.formIdentifierReducer.instances,si=o.createSelector([lh],t=>Object.values(t)),oh=t=>s=>s.formIdentifierReducer.instances[t],hh=S(o.createSelector([si,(t,s)=>s],(t,s)=>{const e=new Set(s);return T(t.filter(({uuid:n})=>e.has(n)))})),QO=S(o.createSelector([si,(t,s)=>s],(t,s)=>T(t.filter(e=>e.form===s)))),mh=ti.reducer,fe=R(t=>t.uuid),yh={instances:{}},ii=o.createSlice({name:"formIdentifierValues",initialState:yh,extraReducers:t=>t.addMatcher(o.isAnyOf(_,w),s=>Object.assign(s,yh)),reducers:{initializeFormIdentifierValues:fe.initialize,addFormIdentifierValue:fe.addOne,addFormIdentifierValues:fe.addMany,setFormIdentifierValue:fe.setOne,setFormIdentifierValues:fe.setMany,updateFormIdentifierValue:fe.updateOne,updateFormIdentifierValues:fe.updateMany,deleteFormIdentifierValue:fe.deleteOne,deleteFormIdentifierValues:fe.deleteMany}}),{initializeFormIdentifierValues:ph,addFormIdentifierValue:Ah,addFormIdentifierValues:fh,setFormIdentifierValue:Sh,setFormIdentifierValues:Th,updateFormIdentifierValue:Ih,updateFormIdentifierValues:Oh,deleteFormIdentifierValue:Ph,deleteFormIdentifierValues:Fh}=ii.actions,gh=t=>t.formIdentifierValueReducer.instances,Ft=o.createSelector([gh],t=>Object.values(t)),bh=t=>s=>s.formIdentifierValueReducer.instances[t],_h=S(o.createSelector([Ft,(t,s)=>s],(t,s)=>{const e=new Set(s);return T(t.filter(({uuid:n})=>e.has(n)))})),xO=S(o.createSelector([Ft,(t,s)=>s],(t,s)=>T(t.filter(e=>e.form_submission===s)))),eP=S(o.createSelector([Ft,(t,s)=>s],(t,s)=>T(t.filter(e=>e.form_identifier===s)))),Mh=ii.reducer,Se=R(t=>t.uuid),Rh={instances:{}},ni=o.createSlice({name:"formRevisionAttachments",initialState:Rh,extraReducers:t=>t.addMatcher(o.isAnyOf(_,w),s=>Object.assign(s,Rh)),reducers:{initializeFormRevisionAttachments:Se.initialize,addFormRevisionAttachment:Se.addOne,addFormRevisionAttachments:Se.addMany,setFormRevisionAttachment:Se.setOne,setFormRevisionAttachments:Se.setMany,updateFormRevisionAttachment:Se.updateOne,updateFormRevisionAttachments:Se.updateMany,deleteFormRevisionAttachment:Se.deleteOne,deleteFormRevisionAttachments:Se.deleteMany}}),{initializeFormRevisionAttachments:wh,addFormRevisionAttachment:vh,addFormRevisionAttachments:Eh,setFormRevisionAttachment:Vh,setFormRevisionAttachments:zh,updateFormRevisionAttachment:Bh,updateFormRevisionAttachments:jh,deleteFormRevisionAttachment:qh,deleteFormRevisionAttachments:Ch}=ni.actions,gt=t=>t.formRevisionAttachmentReducer.instances,Dh=o.createSelector([gt],t=>Object.values(t)),$h=S(o.createSelector([gt,(t,s)=>s],(t,s)=>t[s])),Uh=S(o.createSelector([Dh,(t,s)=>s],(t,s)=>{const e=new Set(s);return T(t.filter(({uuid:n})=>e.has(n)))})),tP=S(o.createSelector([gt,(t,s)=>s],(t,s)=>T(Object.values(t).filter(e=>e.form_revision===s)))),Lh=ni.reducer,Te=R(t=>t.uuid),kh={instances:{}},ai=o.createSlice({name:"formRevisions",initialState:kh,extraReducers:t=>t.addMatcher(o.isAnyOf(_,w),s=>Object.assign(s,kh)),reducers:{initializeFormRevisions:Te.initialize,addFormRevision:Te.addOne,addFormRevisions:Te.addMany,setFormRevision:Te.setOne,setFormRevisions:Te.setMany,updateFormRevision:Te.updateOne,updateFormRevisions:Te.updateMany,deleteFormRevision:Te.deleteOne,deleteFormRevisions:Te.deleteMany}}),{initializeFormRevisions:Nh,addFormRevision:ci,addFormRevisions:di,setFormRevision:Gh,setFormRevisions:Hh,updateFormRevision:Wh,updateFormRevisions:Kh,deleteFormRevision:ri,deleteFormRevisions:ui}=ai.actions,li=t=>t.formRevisionReducer.instances,bt=o.createSelector([li],t=>Object.values(t)),Yh=t=>s=>s.formRevisionReducer.instances[t],Zh=S(o.createSelector([bt,(t,s)=>s],(t,s)=>{const e=new Set(s);return T(t.filter(({uuid:n})=>e.has(n)))})),sP=S(o.createSelector([bt,(t,s)=>s],(t,s)=>t.filter(e=>e.form===s).sort((e,n)=>e.submitted_at>n.submitted_at?-1:1)[0])),Jh=S(o.createSelector([bt,(t,s)=>s],(t,s)=>T(t.filter(e=>e.form===s)))),Xh=ai.reducer,Ie=R(t=>t.uuid),Qh={instances:{}},oi=o.createSlice({name:"forms",initialState:Qh,extraReducers:t=>t.addMatcher(o.isAnyOf(_,w),s=>Object.assign(s,Qh)),reducers:{initializeForms:Ie.initialize,addForm:Ie.addOne,addForms:Ie.addMany,setForm:Ie.setOne,setForms:Ie.setMany,updateForm:Ie.updateOne,updateForms:Ie.updateMany,deleteForm:Ie.deleteOne,deleteForms:Ie.deleteMany}}),{initializeForms:xh,addForm:em,addForms:tm,setForm:sm,setForms:im,updateForm:nm,updateForms:am,deleteForm:cm,deleteForms:dm}=oi.actions,rm=oi.reducer,um=t=>t.formReducer.instances,hi=o.createSelector([um],t=>Object.values(t)),lm=t=>s=>s.formReducer.instances[t],om=S(o.createSelector([hi,(t,s)=>s],(t,s)=>{const e=new Set(s);return T(t.filter(({uuid:n})=>e.has(n)))})),iP=S(o.createSelector([hi,(t,s)=>s],(t,s)=>T(t.filter(e=>e.organization===s)))),Oe=R(t=>t.uuid),hm={instances:{}},mi=o.createSlice({name:"formSubmissionAttachments",initialState:hm,extraReducers:t=>t.addMatcher(o.isAnyOf(_,w),s=>Object.assign(s,hm)),reducers:{initializeFormSubmissionAttachments:Oe.initialize,addFormSubmissionAttachment:Oe.addOne,addFormSubmissionAttachments:Oe.addMany,setFormSubmissionAttachment:Oe.setOne,setFormSubmissionAttachments:Oe.setMany,updateFormSubmissionAttachment:Oe.updateOne,updateFormSubmissionAttachments:Oe.updateMany,deleteFormSubmissionAttachment:Oe.deleteOne,deleteFormSubmissionAttachments:Oe.deleteMany}}),{initializeFormSubmissionAttachments:mm,addFormSubmissionAttachment:ym,addFormSubmissionAttachments:yi,setFormSubmissionAttachment:pm,setFormSubmissionAttachments:Am,updateFormSubmissionAttachment:fm,updateFormSubmissionAttachments:Sm,deleteFormSubmissionAttachment:Tm,deleteFormSubmissionAttachments:pi}=mi.actions,Ai=t=>t.formSubmissionAttachmentReducer.instances,fi=o.createSelector([Ai],t=>Object.values(t)),Im=S(o.createSelector([Ai,(t,s)=>s],(t,s)=>t[s])),Si=S(o.createSelector([fi,(t,s)=>s],(t,s)=>{const e=new Set(s);return T(t.filter(n=>e.has(n.uuid)))})),Om=Si,Pm=S(o.createSelector([fi,(t,s)=>s],(t,s)=>T(t.filter(e=>e.form_submission===s)))),Fm=mi.reducer,Pe=R(t=>t.uuid),gm={instances:{}},Ti=o.createSlice({name:"formSubmissions",initialState:gm,extraReducers:t=>t.addMatcher(o.isAnyOf(_,w),s=>Object.assign(s,gm)),reducers:{initializeFormSubmissions:Pe.initialize,setFormSubmission:Pe.setOne,setFormSubmissions:Pe.setMany,addFormSubmission:Pe.addOne,addFormSubmissions:Pe.addMany,updateFormSubmission:Pe.updateOne,updateFormSubmissions:Pe.updateMany,deleteFormSubmission:Pe.deleteOne,deleteFormSubmissions:Pe.deleteMany}}),{initializeFormSubmissions:bm,setFormSubmission:_m,setFormSubmissions:Mm,addFormSubmission:Rm,addFormSubmissions:Ii,updateFormSubmission:wm,updateFormSubmissions:vm,deleteFormSubmission:Em,deleteFormSubmissions:Oi}=Ti.actions,Pi=t=>t.formSubmissionReducer.instances,Vm=o.createSelector([Pi],t=>Object.values(t)),zm=t=>s=>s.formSubmissionReducer.instances[t],Bm=S(o.createSelector([Vm,(t,s)=>s],(t,s)=>{const e=new Set(s);return T(t.filter(({uuid:n})=>e.has(n)))})),jm=S(o.createSelector([Pi,li,(t,s)=>s],(t,s,e)=>{const n=new Set;for(const a of Object.values(s))a.form===e&&n.add(a.uuid);return Object.values(t).filter(a=>n.has(a.form_revision))})),qm=Ti.reducer,Fe=R(t=>t.uuid),Cm={instances:{}},Fi=o.createSlice({name:"geoImages",initialState:Cm,extraReducers:t=>t.addMatcher(o.isAnyOf(_,C,w),s=>Object.assign(s,Cm)),reducers:{initializeGeoImages:Fe.initialize,setGeoImage:Fe.setOne,setGeoImages:Fe.setMany,addGeoImage:Fe.addOne,addGeoImages:Fe.addMany,updateGeoImage:Fe.updateOne,updateGeoImages:Fe.updateMany,deleteGeoImage:Fe.deleteOne,deleteGeoImages:Fe.deleteMany}}),{initializeGeoImages:Dm,setGeoImage:$m,setGeoImages:Um,addGeoImage:Lm,addGeoImages:km,updateGeoImage:Nm,updateGeoImages:Gm,deleteGeoImage:Hm,deleteGeoImages:Wm}=Fi.actions,Km=t=>t.geoImageReducer.instances,gi=o.createSelector([Km],t=>Object.values(t)),Ym=t=>s=>s.geoImageReducer.instances[t],Zm=S(o.createSelector([gi,(t,s)=>s],(t,s)=>{const e=new Set(s);return T(t.filter(({uuid:n})=>e.has(n)))})),nP=S(o.createSelector([gi,(t,s)=>s],(t,s)=>T(t.filter(e=>e.project===s)))),Jm=Fi.reducer,ge=R(t=>t.uuid),Xm={instances:{}},bi=o.createSlice({name:"issueAssociations",initialState:Xm,extraReducers:t=>t.addMatcher(o.isAnyOf(_,C,w),s=>Object.assign(s,Xm)),reducers:{initializeIssueAssociations:ge.initialize,addIssueAssociation:ge.addOne,addIssueAssociations:ge.addMany,setIssueAssociation:ge.setOne,setIssueAssociations:ge.setMany,updateIssueAssociation:ge.updateOne,updateIssueAssociations:ge.updateMany,deleteIssueAssociation:ge.deleteOne,deleteIssueAssociations:ge.deleteMany}}),{initializeIssueAssociations:Qm,setIssueAssociations:xm,setIssueAssociation:ey,updateIssueAssociation:ty,updateIssueAssociations:sy,addIssueAssociation:iy,addIssueAssociations:_t,deleteIssueAssociation:ny,deleteIssueAssociations:Mt}=bi.actions,dt=t=>t.issueAssociationReducer.instances,ay=o.createSelector([dt],t=>Object.values(t)),cy=t=>s=>s.issueAssociationReducer.instances[t],dy=S(o.createSelector([ay,(t,s)=>s],(t,s)=>{const e=new Set(s);return T(t.filter(({uuid:n})=>e.has(n)))})),ry=S(o.createSelector([dt,(t,s)=>s],(t,s)=>T(Object.values(t).filter(e=>e.associated_issue===s)))),uy=S(o.createSelector([dt,(t,s)=>s],(t,s)=>T(Object.values(t).filter(e=>e.issue===s)))),ly=S(o.createSelector([dt,(t,s)=>s],(t,s)=>T(Object.values(t).filter(e=>e.asset===s)))),oy=bi.reducer,be=R(t=>t.uuid),hy={instances:{}},_i=o.createSlice({name:"issueAttachments",initialState:hy,extraReducers:t=>t.addMatcher(o.isAnyOf(_,C,w),s=>Object.assign(s,hy)),reducers:{initializeIssueAttachments:be.initialize,addIssueAttachment:be.addOne,addIssueAttachments:be.addMany,setIssueAttachment:be.setOne,setIssueAttachments:be.setMany,updateIssueAttachment:be.updateOne,updateIssueAttachments:be.updateMany,deleteIssueAttachment:be.deleteOne,deleteIssueAttachments:be.deleteMany}}),{initializeIssueAttachments:my,addIssueAttachment:yy,addIssueAttachments:Mi,setIssueAttachment:py,setIssueAttachments:Ay,updateIssueAttachment:fy,updateIssueAttachments:Sy,deleteIssueAttachment:Ty,deleteIssueAttachments:Ri}=_i.actions,Iy=t=>t.issueAttachmentReducer.instances,wi=o.createSelector([Iy],t=>Object.values(t)),Oy=S(o.createSelector([wi,(t,s)=>s],(t,s)=>T(t.filter(({issue:e})=>s===e)))),Py=t=>s=>s.issueAttachmentReducer.instances[t],Fy=S(o.createSelector([wi,(t,s)=>s],(t,s)=>{const e=new Set(s);return T(t.filter(({uuid:n})=>e.has(n)))})),gy=_i.reducer,_e=R(t=>t.uuid),by={instances:{}},vi=o.createSlice({name:"issueCommentAttachments",initialState:by,extraReducers:t=>t.addMatcher(o.isAnyOf(_,C,w),s=>Object.assign(s,by)),reducers:{initializeIssueCommentAttachments:_e.initialize,addIssueCommentAttachment:_e.addOne,addIssueCommentAttachments:_e.addMany,setIssueCommentAttachment:_e.setOne,setIssueCommentAttachments:_e.setMany,updateIssueCommentAttachment:_e.updateOne,updateIssueCommentAttachments:_e.updateMany,deleteIssueCommentAttachment:_e.deleteOne,deleteIssueCommentAttachments:_e.deleteMany}}),{initializeIssueCommentAttachments:_y,addIssueCommentAttachment:My,addIssueCommentAttachments:Ry,setIssueCommentAttachment:wy,setIssueCommentAttachments:vy,updateIssueCommentAttachment:Ey,updateIssueCommentAttachments:Vy,deleteIssueCommentAttachment:zy,deleteIssueCommentAttachments:By}=vi.actions,jy=t=>t.issueCommentAttachmentReducer.instances,Ei=o.createSelector([jy],t=>Object.values(t)),qy=t=>s=>s.issueCommentAttachmentReducer.instances[t],Cy=S(o.createSelector([Ei,(t,s)=>s],(t,s)=>{const e=new Set(s);return T(t.filter(({uuid:n})=>e.has(n)))})),aP=S(o.createSelector([Ei,(t,s)=>s],(t,s)=>T(t.filter(({issue_comment:e})=>s===e)))),Dy=vi.reducer,Me=R(t=>t.uuid),$y={instances:{}},Vi=o.createSlice({name:"issueComments",initialState:$y,extraReducers:t=>t.addMatcher(o.isAnyOf(_,C,w),s=>Object.assign(s,$y)),reducers:{initializeIssueComments:Me.initialize,addIssueComment:Me.addOne,addIssueComments:Me.addMany,setIssueComment:Me.setOne,setIssueComments:Me.setMany,updateIssueComment:Me.updateOne,updateIssueComments:Me.updateMany,deleteIssueComment:Me.deleteOne,deleteIssueComments:Me.deleteMany}}),{initializeIssueComments:Uy,addIssueComment:Ly,addIssueComments:ky,setIssueComment:Ny,setIssueComments:Gy,updateIssueComment:Hy,updateIssueComments:Wy,deleteIssueComment:Ky,deleteIssueComments:Yy}=Vi.actions,zi=t=>t.issueCommentReducer.instances,Zy=t=>s=>s.issueCommentReducer.instances[t],Jy=S(o.createSelector([zi,(t,s)=>s],(t,s)=>{const e=new Set(s);return T(Object.values(t).filter(({uuid:n})=>e.has(n)))})),cP=S(o.createSelector([zi,(t,s)=>s],(t,s)=>T(Object.values(t).filter(e=>e.issue===s)))),Xy=Vi.reducer,Re=R(t=>t.uuid),Qy={instances:{}},Bi=o.createSlice({name:"issues",initialState:Qy,extraReducers:t=>t.addMatcher(o.isAnyOf(_,C,w),s=>Object.assign(s,Qy)),reducers:{initializeIssues:Re.initialize,addIssue:Re.addOne,addIssues:Re.addMany,setIssue:Re.setOne,setIssues:Re.setMany,updateIssue:Re.updateOne,updateIssues:Re.updateMany,deleteIssue:Re.deleteOne,deleteIssues:Re.deleteMany}}),{initializeIssues:xy,addIssue:ep,addIssues:ji,setIssue:tp,setIssues:sp,updateIssue:ip,updateIssues:np,deleteIssue:ap,deleteIssues:qi}=Bi.actions,cp=t=>t.issueReducer.instances,Rt=o.createSelector([cp],t=>Object.values(t)),dp=t=>s=>s.issueReducer.instances[t],rp=S(o.createSelector([Rt,(t,s)=>s],(t,s)=>{const e=new Set(s);return T(t.filter(({uuid:n})=>e.has(n)))})),dP=S(o.createSelector([Rt,(t,s)=>s],(t,s)=>t.filter(e=>e.project===s))),up=S(o.createSelector([Rt,(t,s)=>s],(t,s)=>t.filter(e=>e.issue_type===s))),lp=Bi.reducer,we=R(t=>t.uuid),op={instances:{}},Ci=o.createSlice({name:"issueTypeAttachments",initialState:op,extraReducers:t=>t.addMatcher(o.isAnyOf(_,w),s=>Object.assign(s,op)),reducers:{initializeIssueTypeAttachments:we.initialize,addIssueTypeAttachment:we.addOne,addIssueTypeAttachments:we.addMany,setIssueTypeAttachment:we.setOne,setIssueTypeAttachments:we.setMany,updateIssueTypeAttachment:we.updateOne,updateIssueTypeAttachments:we.updateMany,deleteIssueTypeAttachment:we.deleteOne,deleteIssueTypeAttachments:we.deleteMany}}),{initializeIssueTypeAttachments:hp,addIssueTypeAttachment:mp,addIssueTypeAttachments:yp,setIssueTypeAttachment:pp,setIssueTypeAttachments:Ap,updateIssueTypeAttachment:fp,updateIssueTypeAttachments:Sp,deleteIssueTypeAttachment:Tp,deleteIssueTypeAttachments:Ip}=Ci.actions,Op=t=>t.issueTypeAttachmentReducer.instances,Di=o.createSelector([Op],t=>Object.values(t)),Pp=t=>s=>s.issueTypeAttachmentReducer.instances[t],Fp=S(o.createSelector([Di,(t,s)=>s],(t,s)=>{const e=new Set(s);return T(t.filter(({uuid:n})=>e.has(n)))})),rP=S(o.createSelector([Di,(t,s)=>s],(t,s)=>T(t.filter(({issue_type:e})=>s===e)))),gp=Ci.reducer,ve=R(t=>t.uuid),bp={instances:{}},$i=o.createSlice({name:"issueTypeFieldsAttachments",initialState:bp,extraReducers:t=>t.addMatcher(o.isAnyOf(_,w),s=>Object.assign(s,bp)),reducers:{initializeIssueTypeFieldsAttachments:ve.initialize,addIssueTypeFieldsAttachment:ve.addOne,addIssueTypeFieldsAttachments:ve.addMany,setIssueTypeFieldsAttachment:ve.setOne,setIssueTypeFieldsAttachments:ve.setMany,updateIssueTypeFieldsAttachment:ve.updateOne,updateIssueTypeFieldsAttachments:ve.updateMany,deleteIssueTypeFieldsAttachment:ve.deleteOne,deleteIssueTypeFieldsAttachments:ve.deleteMany}}),{initializeIssueTypeFieldsAttachments:_p,addIssueTypeFieldsAttachment:Mp,addIssueTypeFieldsAttachments:Rp,setIssueTypeFieldsAttachment:wp,setIssueTypeFieldsAttachments:vp,updateIssueTypeFieldsAttachment:Ep,updateIssueTypeFieldsAttachments:Vp,deleteIssueTypeFieldsAttachment:zp,deleteIssueTypeFieldsAttachments:Bp}=$i.actions,jp=t=>t.issueTypeFieldsAttachmentReducer.instances,Ui=o.createSelector([jp],t=>Object.values(t)),uP=S(o.createSelector([Ui,(t,s)=>s],(t,s)=>T(t.filter(e=>e.fields_revision===s)))),qp=t=>s=>s.issueTypeFieldsAttachmentReducer.instances[t],Cp=S(o.createSelector([Ui,(t,s)=>s],(t,s)=>{const e=new Set(s);return T(t.filter(({uuid:n})=>e.has(n)))})),Dp=$i.reducer,Ee=R(t=>t.uuid),$p={instances:{}},Li=o.createSlice({name:"issueTypeFieldValues",initialState:$p,extraReducers:t=>t.addMatcher(o.isAnyOf(_,C,w),s=>Object.assign(s,$p)),reducers:{initializeIssueTypeFieldValues:Ee.initialize,addIssueTypeFieldValues:Ee.addOne,addIssueTypeFieldValuesMany:Ee.addMany,setIssueTypeFieldValues:Ee.setOne,setIssueTypeFieldValuesMany:Ee.setMany,updateIssueTypeFieldValues:Ee.updateOne,updateIssueTypeFieldValuesMany:Ee.updateMany,deleteIssueTypeFieldValues:Ee.deleteOne,deleteIssueTypeFieldValuesMany:Ee.deleteMany}}),{initializeIssueTypeFieldValues:Up,addIssueTypeFieldValues:Lp,addIssueTypeFieldValuesMany:kp,setIssueTypeFieldValues:Np,setIssueTypeFieldValuesMany:Gp,updateIssueTypeFieldValues:Hp,updateIssueTypeFieldValuesMany:Wp,deleteIssueTypeFieldValues:Kp,deleteIssueTypeFieldValuesMany:Yp}=Li.actions,Zp=t=>t.issueTypeFieldValuesReducer.instances,wt=o.createSelector([Zp],t=>Object.values(t)),lP=S(o.createSelector([wt,(t,s)=>s],(t,s)=>T(t.filter(e=>e.issue===s)))),Jp=t=>s=>s.issueTypeFieldValuesReducer.instances[t],Xp=S(o.createSelector([wt,(t,s)=>s],(t,s)=>{const e=new Set(s);return T(t.filter(({uuid:n})=>e.has(n)))})),Qp=Li.reducer,Ve=R(t=>t.uuid),xp={instances:{}},ki=o.createSlice({name:"issueTypeFields",initialState:xp,extraReducers:t=>t.addMatcher(o.isAnyOf(_,w),s=>Object.assign(s,xp)),reducers:{initializeIssueTypeFields:Ve.initialize,addIssueTypeFields:Ve.addOne,addIssueTypeFieldsMany:Ve.addMany,setIssueTypeFields:Ve.setOne,setIssueTypeFieldsMany:Ve.setMany,updateIssueTypeFields:Ve.updateOne,updateIssueTypeFieldsMany:Ve.updateMany,deleteIssueTypeFields:Ve.deleteOne,deleteIssueTypeFieldsMany:Ve.deleteMany}}),{initializeIssueTypeFields:eA,addIssueTypeFields:tA,addIssueTypeFieldsMany:sA,setIssueTypeFields:iA,setIssueTypeFieldsMany:nA,updateIssueTypeFields:aA,updateIssueTypeFieldsMany:cA,deleteIssueTypeFields:dA,deleteIssueTypeFieldsMany:rA}=ki.actions,uA=t=>t.issueTypeFieldsReducer.instances,rt=o.createSelector([uA],t=>Object.values(t)),oP=S(o.createSelector([rt,(t,s)=>s],(t,s)=>T(t.filter(e=>e.issue_type===s)))),hP=S(o.createSelector([rt,(t,s)=>s],(t,s)=>t.filter(e=>e.issue_type===s).sort((e,n)=>e.submitted_at>n.submitted_at?-1:1)[0])),mP=S(o.createSelector([rt,wt,(t,s)=>s],(t,s,e)=>{const n=new Set(t.filter(a=>a.issue_type===e).map(a=>a.uuid));return T(s.filter(a=>n.has(a.fields_revision)))})),lA=t=>s=>s.issueTypeFieldsReducer.instances[t],oA=S(o.createSelector([rt,(t,s)=>s],(t,s)=>{const e=new Set(s);return T(t.filter(({uuid:n})=>e.has(n)))})),hA=ki.reducer,ze=R(t=>t.uuid),mA={instances:{}},Ni=o.createSlice({name:"issueTypeFieldValuesAttachments",initialState:mA,extraReducers:t=>t.addMatcher(o.isAnyOf(_,C,w),s=>Object.assign(s,mA)),reducers:{initializeIssueTypeFieldValuesAttachments:ze.initialize,addIssueTypeFieldValuesAttachment:ze.addOne,addIssueTypeFieldValuesAttachments:ze.addMany,setIssueTypeFieldValuesAttachment:ze.setOne,setIssueTypeFieldValuesAttachments:ze.setMany,updateIssueTypeFieldValuesAttachment:ze.updateOne,updateIssueTypeFieldValuesAttachments:ze.updateMany,deleteIssueTypeFieldValuesAttachment:ze.deleteOne,deleteIssueTypeFieldValuesAttachments:ze.deleteMany}}),{initializeIssueTypeFieldValuesAttachments:yA,addIssueTypeFieldValuesAttachment:pA,addIssueTypeFieldValuesAttachments:Gi,setIssueTypeFieldValuesAttachment:AA,setIssueTypeFieldValuesAttachments:fA,updateIssueTypeFieldValuesAttachment:SA,updateIssueTypeFieldValuesAttachments:TA,deleteIssueTypeFieldValuesAttachment:IA,deleteIssueTypeFieldValuesAttachments:Hi}=Ni.actions,OA=t=>t.issueTypeFieldValuesAttachmentReducer.instances,Wi=o.createSelector([OA],t=>Object.values(t)),PA=t=>s=>s.issueTypeFieldValuesAttachmentReducer.instances[t],FA=S(o.createSelector([Wi,(t,s)=>s],(t,s)=>{const e=new Set(s);return T(t.filter(({uuid:n})=>e.has(n)))})),gA=S(o.createSelector([Wi,(t,s)=>s],(t,s)=>T(t.filter(e=>e.field_values===s)))),bA=Ni.reducer,Be=R(t=>t.uuid),_A={instances:{}},Ki=o.createSlice({name:"issueTypeIdentifiers",initialState:_A,extraReducers:t=>t.addMatcher(o.isAnyOf(_,w),s=>Object.assign(s,_A)),reducers:{initializeIssueTypeIdentifiers:Be.initialize,addIssueTypeIdentifier:Be.addOne,addIssueTypeIdentifiers:Be.addMany,setIssueTypeIdentifier:Be.setOne,setIssueTypeIdentifiers:Be.setMany,updateIssueTypeIdentifier:Be.updateOne,updateIssueTypeIdentifiers:Be.updateMany,deleteIssueTypeIdentifier:Be.deleteOne,deleteIssueTypeIdentifiers:Be.deleteMany}}),{initializeIssueTypeIdentifiers:MA,addIssueTypeIdentifier:RA,addIssueTypeIdentifiers:wA,setIssueTypeIdentifier:vA,setIssueTypeIdentifiers:EA,updateIssueTypeIdentifier:VA,updateIssueTypeIdentifiers:zA,deleteIssueTypeIdentifier:BA,deleteIssueTypeIdentifiers:jA}=Ki.actions,qA=t=>t.issueTypeIdentifierReducer.instances,Yi=o.createSelector([qA],t=>Object.values(t)),CA=t=>s=>s.issueTypeIdentifierReducer.instances[t],DA=S(o.createSelector([Yi,(t,s)=>s],(t,s)=>{const e=new Set(s);return T(t.filter(({uuid:n})=>e.has(n)))})),yP=S(o.createSelector([Yi,(t,s)=>s],(t,s)=>T(t.filter(e=>e.issue_type===s)))),$A=Ki.reducer,je=R(t=>t.uuid),UA={instances:{}},Zi=o.createSlice({name:"issueTypeIdentifierValues",initialState:UA,extraReducers:t=>t.addMatcher(o.isAnyOf(_,C,w),s=>Object.assign(s,UA)),reducers:{initializeIssueTypeIdentifierValues:je.initialize,addIssueTypeIdentifierValue:je.addOne,addIssueTypeIdentifierValues:je.addMany,setIssueTypeIdentifierValue:je.setOne,setIssueTypeIdentifierValues:je.setMany,updateIssueTypeIdentifierValue:je.updateOne,updateIssueTypeIdentifierValues:je.updateMany,deleteIssueTypeIdentifierValue:je.deleteOne,deleteIssueTypeIdentifierValues:je.deleteMany}}),{initializeIssueTypeIdentifierValues:LA,addIssueTypeIdentifierValue:kA,addIssueTypeIdentifierValues:NA,setIssueTypeIdentifierValue:GA,setIssueTypeIdentifierValues:HA,updateIssueTypeIdentifierValue:WA,updateIssueTypeIdentifierValues:KA,deleteIssueTypeIdentifierValue:YA,deleteIssueTypeIdentifierValues:ZA}=Zi.actions,JA=t=>t.issueTypeIdentifierValueReducer.instances,vt=o.createSelector([JA],t=>Object.values(t)),XA=t=>s=>s.issueTypeIdentifierValueReducer.instances[t],QA=S(o.createSelector([vt,(t,s)=>s],(t,s)=>{const e=new Set(s);return T(t.filter(({uuid:n})=>e.has(n)))})),pP=S(o.createSelector([vt,(t,s)=>s],(t,s)=>T(t.filter(e=>e.issue===s)))),AP=S(o.createSelector([vt,(t,s)=>s],(t,s)=>T(t.filter(e=>e.issue_type_identifier===s)))),xA=Zi.reducer,qe=R(t=>t.uuid),ef={instances:{}},Ji=o.createSlice({name:"issueTypes",initialState:ef,extraReducers:t=>t.addMatcher(o.isAnyOf(_,w),s=>Object.assign(s,ef)),reducers:{initializeIssueTypes:qe.initialize,addIssueType:qe.addOne,addIssueTypes:qe.addMany,setIssueType:qe.setOne,setIssueTypes:qe.setMany,updateIssueType:qe.updateOne,updateIssueTypes:qe.updateMany,deleteIssueType:qe.deleteOne,deleteIssueTypes:qe.deleteMany}}),{initializeIssueTypes:tf,addIssueType:sf,addIssueTypes:nf,setIssueType:af,setIssueTypes:cf,updateIssueType:df,updateIssueTypes:rf,deleteIssueType:uf,deleteIssueTypes:lf}=Ji.actions,of=t=>t.issueTypeReducer.instances,Xi=o.createSelector(of,t=>Object.values(t)),hf=t=>s=>s.issueTypeReducer.instances[t],mf=S(o.createSelector([Xi,(t,s)=>s],(t,s)=>{const e=new Set(s);return T(t.filter(({uuid:n})=>e.has(n)))})),fP=S(o.createSelector([Xi,(t,s)=>s],(t,s)=>T(t.filter(e=>e.organization===s)))),yf=Ji.reducer,Ce=R(t=>t.uuid),pf={instances:{}},Qi=o.createSlice({name:"issueUpdates",initialState:pf,extraReducers:t=>t.addMatcher(o.isAnyOf(_,C,w),s=>Object.assign(s,pf)),reducers:{initializeIssueUpdates:Ce.initialize,addIssueUpdate:Ce.addOne,addIssueUpdates:Ce.addMany,setIssueUpdate:Ce.setOne,setIssueUpdates:Ce.setMany,updateIssueUpdate:Ce.updateOne,updateIssueUpdates:Ce.updateMany,deleteIssueUpdate:Ce.deleteOne,deleteIssueUpdates:Ce.deleteMany}}),{initializeIssueUpdates:Af,addIssueUpdate:xi,addIssueUpdates:en,setIssueUpdate:ff,setIssueUpdates:Sf,updateIssueUpdate:Tf,updateIssueUpdates:If,deleteIssueUpdate:tn,deleteIssueUpdates:sn}=Qi.actions,nn=t=>t.issueUpdateReducer.instances,an=o.createSelector([nn],t=>Object.values(t)),Of=S(o.createSelector([nn,(t,s)=>s],(t,s)=>t[s])),Pf=S(o.createSelector([an,(t,s)=>s],(t,s)=>{const e=new Set(s);return T(t.filter(({uuid:n})=>e.has(n)))})),Ff=S(o.createSelector([an,(t,s)=>s],(t,s)=>T(t.filter(e=>e.issue===s)))),gf=Qi.reducer,De=R(t=>t.uuid),bf={instances:{},currentUser:null},cn=o.createSlice({name:"users",initialState:bf,extraReducers:t=>t.addMatcher(o.isAnyOf(_,w),s=>Object.assign(s,bf)),reducers:{initializeUsers:De.initialize,setUsers:De.setMany,setUser:De.setOne,addUsers:De.addMany,addUser:De.addOne,updateUsers:De.updateMany,updateUser:De.updateOne,deleteUser:De.deleteOne,deleteUsers:De.deleteMany,setCurrentUser:(t,s)=>{t.currentUser=s.payload}}}),{initializeUsers:_f,setUsers:Mf,setUser:Rf,addUsers:wf,addUser:dn,updateUsers:vf,updateUser:Ef,deleteUser:rn,deleteUsers:Vf,setCurrentUser:SP}=cn.actions,zf=cn.reducer,Bf=t=>t.userReducer.currentUser,un=t=>t.userReducer.instances,Et=o.createSelector([un],t=>Object.values(t)),Vt=t=>s=>s.userReducer.instances[t],jf=S(o.createSelector([Et,(t,s)=>s],(t,s)=>{const e=new Set(s);return T(t.filter(({uuid:n})=>e.has(n)))})),$e=R(t=>t.uuid),qf={instances:{}},ln=o.createSlice({name:"organizationAccess",initialState:qf,extraReducers:t=>t.addMatcher(o.isAnyOf(_,w),s=>Object.assign(s,qf)),reducers:{initializeOrganizationAccesses:$e.initialize,addOrganizationAccess:$e.addOne,addOrganizationAccesses:$e.addMany,setOrganizationAccess:$e.setOne,setOrganizationAccesses:$e.setMany,updateOrganizationAccess:$e.updateOne,updateOrganizationAccesses:$e.updateMany,deleteOrganizationAccess:$e.deleteOne,deleteOrganizationAccesses:$e.deleteMany}}),{initializeOrganizationAccesses:Cf,addOrganizationAccess:Df,addOrganizationAccesses:$f,setOrganizationAccess:Uf,setOrganizationAccesses:Lf,updateOrganizationAccess:kf,updateOrganizationAccesses:Nf,deleteOrganizationAccess:Gf,deleteOrganizationAccesses:Hf}=ln.actions,Wf=ln.reducer,zt=t=>t.organizationAccessReducer.instances,Kf=t=>s=>s.organizationAccessReducer.instances[t],Yf=S(o.createSelector([zt,(t,s)=>s],(t,s)=>{const e=new Set(s);return T(Object.values(t).filter(({uuid:n})=>e.has(n)))})),TP=o.createSelector([Bf,zt],(t,s)=>Object.values(s).find(n=>n.user===(t==null?void 0:t.uuid))??null),Zf=o.createSelector([zt],t=>{const s={};for(const e of Object.values(t))s[e.user]=e;return ht(s)}),IP=S(o.createSelector([un,Zf,(t,s)=>s],(t,s,e)=>T(Object.values(t).filter(n=>{const a=s[n.uuid];return!!a&&a.organization===e})))),Ue=R(t=>t.uuid),Jf={instances:{}},on=o.createSlice({name:"organizations",initialState:Jf,extraReducers:t=>t.addMatcher(o.isAnyOf(_,w),s=>Object.assign(s,Jf)),reducers:{initializeOrganizations:Ue.initialize,setOrganizations:Ue.setMany,setOrganization:Ue.setOne,addOrganizations:Ue.addMany,addOrganization:Ue.addOne,updateOrganizations:Ue.updateMany,updateOrganization:Ue.updateOne,deleteOrganization:Ue.deleteOne,deleteOrganizations:Ue.deleteMany}}),{initializeOrganizations:Xf,setOrganizations:Qf,setOrganization:xf,addOrganizations:eS,addOrganization:tS,updateOrganizations:sS,updateOrganization:iS,deleteOrganization:nS,deleteOrganizations:aS}=on.actions,cS=t=>t.organizationReducer.instances,dS=o.createSelector([cS],t=>Object.values(t)),rS=t=>s=>s.organizationReducer.instances[t],uS=S(o.createSelector([dS,(t,s)=>s],(t,s)=>{const e=new Set(s);return T(t.filter(({uuid:n})=>e.has(n)))})),lS=on.reducer,oS=(t,s,e)=>{const n=t.uuid?t:{...t,uuid:xe.v4()};return{payload:n,type:"",meta:{offline:{effect:{timestamp:new Date().toISOString(),request:n,BASE_URL:s,serviceName:e}}}}},hS={deletedRequests:[],latestRetryTime:0},hn=o.createSlice({name:"outbox",initialState:hS,extraReducers:t=>t.addCase(_,s=>Object.assign(s,hS)),reducers:{enqueueRequest:{reducer:(t,s)=>t,prepare:t=>{console.debug("Preparing to enqueue request",t);const{BASE_URL:s,serviceName:e,...n}=t;return oS(n,s,e)}},markForDeletion(t,s){t.deletedRequests.push(s.payload)},markAsDeleted(t,s){const e=t.deletedRequests.indexOf(s.payload);e!==-1&&t.deletedRequests.splice(e,1)},_setLatestRetryTime:(t,s)=>{t.latestRetryTime=s.payload}}}),OP=t=>t.outboxReducer.deletedRequests,PP=t=>t.outboxReducer.latestRetryTime,{enqueueRequest:mS,markForDeletion:FP,markAsDeleted:yS,_setLatestRetryTime:pS}=hn.actions,AS=hn.reducer,Le=R(t=>t.uuid),fS={instances:{}},mn=o.createSlice({name:"projectAccess",initialState:fS,extraReducers:t=>t.addMatcher(o.isAnyOf(_,w),s=>Object.assign(s,fS)),reducers:{initializeProjectAccesses:Le.initialize,addProjectAccess:Le.addOne,addProjectAccesses:Le.addMany,setProjectAccess:Le.setOne,setProjectAccesses:Le.setMany,updateProjectAccess:Le.updateOne,updateProjectAccesses:Le.updateMany,deleteProjectAccess:Le.deleteOne,deleteProjectAccesses:Le.deleteMany}}),{initializeProjectAccesses:SS,addProjectAccess:TS,addProjectAccesses:IS,setProjectAccess:OS,setProjectAccesses:PS,updateProjectAccess:FS,updateProjectAccesses:gS,deleteProjectAccess:bS,deleteProjectAccesses:_S}=mn.actions,MS=mn.reducer,yn=t=>t.projectAccessReducer.instances,ut=o.createSelector(yn,t=>Object.values(t)),RS=t=>s=>s.projectAccessReducer.instances[t],wS=S(o.createSelector([ut,(t,s)=>s],(t,s)=>{const e=new Set(s);return T(t.filter(({uuid:n})=>e.has(n)))})),gP=S(o.createSelector([yn,(t,s)=>s],(t,s)=>T(Object.values(t).filter(e=>e.project===s)))),bP=S(o.createSelector([ut,(t,s)=>s],(t,s)=>{const e={};for(const n of t.filter(a=>a.project===s))e[n.user]=n;return e})),_P=S(o.createSelector([Et,ut,(t,s)=>s],(t,s,e)=>{const n=new Set(s.filter(a=>a.project===e).map(a=>a.user));return T(t.filter(a=>n.has(a.uuid)))})),ke=R(t=>t.uuid),vS={instances:{}},pn=o.createSlice({name:"projectAttachments",initialState:vS,extraReducers:t=>t.addMatcher(o.isAnyOf(_,w),s=>Object.assign(s,vS)),reducers:{initializeProjectAttachments:ke.initialize,addProjectAttachment:ke.addOne,addProjectAttachments:ke.addMany,setProjectAttachment:ke.setOne,setProjectAttachments:ke.setMany,updateProjectAttachment:ke.updateOne,updateProjectAttachments:ke.updateMany,deleteProjectAttachment:ke.deleteOne,deleteProjectAttachments:ke.deleteMany}}),{initializeProjectAttachments:ES,addProjectAttachment:VS,addProjectAttachments:zS,setProjectAttachment:BS,setProjectAttachments:jS,updateProjectAttachment:qS,updateProjectAttachments:CS,deleteProjectAttachment:DS,deleteProjectAttachments:$S}=pn.actions,US=t=>t.projectAttachmentReducer.instances,An=o.createSelector([US],t=>Object.values(t)),LS=t=>s=>s.projectAttachmentReducer.instances[t],kS=S(o.createSelector([An,(t,s)=>s],(t,s)=>{const e=new Set(s);return T(t.filter(({uuid:n})=>e.has(n)))})),MP=S(o.createSelector([An,(t,s)=>s],(t,s)=>T(t.filter(({project:e})=>s===e)))),NS=pn.reducer,Ne=R(t=>t.uuid),GS={instances:{},activeProjectFileId:null,isImportingProjectFile:!1},fn=o.createSlice({name:"projectFiles",initialState:GS,extraReducers:t=>t.addMatcher(o.isAnyOf(_,C,w),s=>Object.assign(s,GS)),reducers:{initializeProjectFiles:Ne.initialize,setProjectFile:Ne.setOne,setProjectFiles:Ne.setMany,addProjectFile:Ne.addOne,addProjectFiles:Ne.addMany,updateProjectFile:Ne.updateOne,updateProjectFiles:Ne.updateMany,deleteProjectFile:Ne.deleteOne,deleteProjectFiles:Ne.deleteMany,setIsImportingProjectFile:(t,s)=>{t.isImportingProjectFile=s.payload},saveActiveProjectFileBounds:(t,s)=>{const e=t.activeProjectFileId;if(!e)throw new Error("Tried to save bounds for active project file, but no active project file was set.");if(!t.instances[e])throw new Error(`Tried to save bounds for active project file, but project file with ID ${e}
2
+ doesn't exist.`);t.instances[e].bounds=s.payload},setActiveProjectFileId:(t,s)=>{t.activeProjectFileId=s.payload}}}),{initializeProjectFiles:HS,setProjectFile:WS,setProjectFiles:KS,addProjectFile:YS,addProjectFiles:ZS,updateProjectFile:JS,updateProjectFiles:XS,deleteProjectFile:QS,deleteProjectFiles:xS,setIsImportingProjectFile:eT,setActiveProjectFileId:tT,saveActiveProjectFileBounds:sT}=fn.actions,iT=t=>t.projectFileReducer.instances,nT=o.createSelector([iT],t=>T(Object.values(t).sort((s,e)=>s.z_index-e.z_index))),aT=t=>s=>s.projectFileReducer.instances[t],cT=S(o.createSelector([nT,(t,s)=>s],(t,s)=>{const e=new Set(s);return T(t.filter(({uuid:n})=>e.has(n)))})),RP=t=>t.projectFileReducer.activeProjectFileId,wP=t=>t.projectFileReducer.isImportingProjectFile,dT=fn.reducer,Ge=R(t=>t.uuid),rT={instances:{}},Sn=o.createSlice({name:"projects",initialState:rT,extraReducers:t=>t.addMatcher(o.isAnyOf(_,w),s=>Object.assign(s,rT)),reducers:{initializeProjects:Ge.initialize,setProjects:Ge.setMany,setProject:Ge.setOne,addProjects:Ge.addMany,addProject:Ge.addOne,updateProjects:Ge.updateMany,updateProject:Ge.updateOne,deleteProject:Ge.deleteOne,deleteProjects:Ge.deleteMany}}),{initializeProjects:uT,setProjects:lT,setProject:oT,addProjects:hT,addProject:mT,updateProjects:yT,updateProject:pT,deleteProject:AT,deleteProjects:fT}=Sn.actions,ST=Sn.reducer,TT=t=>t.projectReducer.instances,Bt=o.createSelector([TT],t=>Object.values(t)),IT=t=>s=>s.projectReducer.instances[t],OT=S(o.createSelector([Bt,(t,s)=>s],(t,s)=>{const e=new Set(s);return T(t.filter(({uuid:n})=>e.has(n)))})),vP=S(o.createSelector([Bt,ut,(t,s)=>s],(t,s,e)=>{const n=new Set(s.filter(a=>a.user===e).map(a=>a.project));return T(t.filter(a=>n.has(a.uuid)))})),EP=S(o.createSelector([Bt,(t,s)=>s],(t,s)=>T(t.filter(e=>e.organization===s)))),VP={isRehydrated:!1},Tn=o.createSlice({name:"rehydrated",initialState:VP,reducers:{setRehydrated:(t,s)=>{t.isRehydrated=s.payload}}}),{setRehydrated:zP}=Tn.actions,BP=t=>t.rehydratedReducer.isRehydrated,PT=Tn.reducer,He=R(t=>t.uuid),FT={instances:{}},In=o.createSlice({name:"teamMemberships",initialState:FT,extraReducers:t=>t.addMatcher(o.isAnyOf(_,w),s=>Object.assign(s,FT)),reducers:{initializeTeamMemberships:He.initialize,addTeamMembership:He.addOne,addTeamMemberships:He.addMany,setTeamMembership:He.setOne,setTeamMemberships:He.setMany,updateTeamMembership:He.updateOne,updateTeamMemberships:He.updateMany,deleteTeamMembership:He.deleteOne,deleteTeamMemberships:He.deleteMany}}),{initializeTeamMemberships:gT,addTeamMembership:bT,addTeamMemberships:_T,setTeamMembership:MT,setTeamMemberships:RT,updateTeamMembership:wT,updateTeamMemberships:vT,deleteTeamMembership:ET,deleteTeamMemberships:VT}=In.actions,zT=In.reducer,BT=t=>t.teamMembershipReducer.instances,jt=o.createSelector([BT],t=>Object.values(t)),jT=t=>s=>s.teamMembershipReducer.instances[t],qT=S(o.createSelector([jt,(t,s)=>s],(t,s)=>{const e=new Set(s);return T(t.filter(({uuid:n})=>e.has(n)))})),jP=S(o.createSelector([jt,(t,s)=>s],(t,s)=>{const e={};for(const n of t.filter(a=>a.team===s))e[n.user]=n;return e})),qP=S(o.createSelector([Et,jt,(t,s)=>s],(t,s,e)=>{const n=new Set(s.filter(a=>a.team===e).map(a=>a.user));return T(t.filter(a=>n.has(a.uuid)))})),We=R(t=>t.uuid),CT={instances:{}},On=o.createSlice({name:"teams",initialState:CT,extraReducers:t=>t.addMatcher(o.isAnyOf(_,w),s=>Object.assign(s,CT)),reducers:{initializeTeams:We.initialize,addTeam:We.addOne,addTeams:We.addMany,setTeam:We.setOne,setTeams:We.setMany,updateTeam:We.updateOne,updateTeams:We.updateMany,deleteTeam:We.deleteOne,deleteTeams:We.deleteMany}}),{initializeTeams:DT,addTeam:$T,addTeams:UT,setTeam:LT,setTeams:kT,updateTeam:NT,updateTeams:GT,deleteTeam:HT,deleteTeams:WT}=On.actions,KT=t=>t.teamReducer.instances,Pn=o.createSelector([KT],t=>Object.values(t)),YT=t=>s=>s.teamReducer.instances[t],ZT=S(o.createSelector([Pn,(t,s)=>s],(t,s)=>{const e=new Set(s);return T(t.filter(({uuid:n})=>e.has(n)))})),CP=S(o.createSelector([Pn,(t,s)=>s],(t,s)=>T(t.filter(e=>e.organization===s)))),JT=On.reducer,DP={version:0},XT=o.createSlice({name:"versioning",initialState:DP,reducers:{}}),QT=XT.reducer,Fn={outboxReducer:AS,fileReducer:xo,authReducer:co},$P=o.combineReducers(Fn),xT={...Fn,[nt]:QT,categoryReducer:Io,assetReducer:Mr,assetAttachmentReducer:ha,assetStageCompletionReducer:Dr,assetStageReducer:xr,assetTypeReducer:io,assetTypeAttachmentReducer:yu,issueReducer:lp,issueAttachmentReducer:gy,issueTypeReducer:yf,issueTypeAttachmentReducer:gp,organizationReducer:lS,projectReducer:ST,projectAttachmentReducer:NS,projectAccessReducer:MS,organizationAccessReducer:Wf,projectFileReducer:dT,rehydratedReducer:PT,formReducer:rm,formRevisionReducer:Xh,formRevisionAttachmentReducer:Lh,formSubmissionAttachmentReducer:Fm,formSubmissionReducer:qm,formIdentifierReducer:mh,formIdentifierValueReducer:Mh,userReducer:zf,documentsReducer:Ho,documentAttachmentReducer:Bo,teamReducer:JT,agentsReducer:xn,issueCommentReducer:Xy,issueCommentAttachmentReducer:Dy,issueUpdateReducer:gf,geoImageReducer:Jm,issueAssociationReducer:oy,issueTypeFieldsReducer:hA,issueTypeFieldValuesReducer:Qp,issueTypeFieldsAttachmentReducer:Dp,issueTypeFieldValuesAttachmentReducer:bA,issueTypeIdentifierReducer:$A,issueTypeIdentifierValueReducer:xA,assetTypeFieldsReducer:ku,assetTypeFieldValuesReducer:pl,assetTypeFieldsAttachmentReducer:Ru,assetTypeFieldValuesAttachmentReducer:tl,assetTypeIdentifierReducer:wl,assetTypeIdentifierValueReducer:Nl,assetProcedureTypeReducer:Xc,assetProcedureReducer:qc,assetProcedureTypeFieldsReducer:Xa,assetProcedureTypeFieldValuesReducer:gc,assetProcedureTypeFieldsAttachmentReducer:Ca,assetProcedureTypeFieldValuesAttachmentReducer:uc,assetProcedureTypeAttachmentReducer:Fa,assetProcedureStepFieldsAttachmentReducer:yd,assetProcedureStepFieldsReducer:Md,assetProcedureStepFieldValuesAttachmentReducer:Ud,assetProcedureStepFieldValuesReducer:er,assetProcedureStepReducer:or,teamMembershipReducer:zT},UP=o.combineReducers(xT),eI=1e4,tI=200,gn=[400,409,403,404,405,500],Ye=1e4,sI={};class iI{constructor(s){y(this,"client");y(this,"pageSize",eI);sI[this.constructor.name]=this,this.client=s}async performRequest(s,e){return this.client.performRequest(this.host,s,this,e)}async enqueueRequest(s){return this.client.enqueueRequest(s,this.host,this.constructor.name)}async performPagination(s,e){return this.client.performPagination(this.host,s,this.pageSize,this,e)}dispatch(s){this.client.store.dispatch(s)}}const nI=()=>dI.length-1,aI=t=>(t[nt]={version:nI()},t),cI=()=>aI({}),LP=t=>(t.outboxReducer&&(t.outboxReducer.deletedRequests=[]),t),kP=t=>s=>{var e;return s===void 0&&(s={}),((e=s[nt])==null?void 0:e.version)===nI()?s:t(s)},dI=[aI,cI,cI,LP],NP=Object.fromEntries(dI.map((t,s)=>[s,kP(t)])),GP=t=>{if(t)throw t;const s=it();s?s.dispatch({type:"rehydrated/setRehydrated",payload:!0}):console.error("Client store not set")},rI=(t,s,e)=>{const n=Xe();return n?(n.addRequest(s),n.getQueue()):(console.warn("Outbox coordinator not set; cannot enqueue request yet."),[])},uI=(t,s,e)=>{const n=Xe();if(!n)return console.warn("Outbox coordinator not set; cannot dequeue request yet."),[];const c=s.meta.offlineAction.payload.uuid;return n.remove(c),n.getQueue()};async function HP(t,s){if(!s.payload)throw new Error("Received empty payload");return PI(s)}const WP={...Vn,effect:HP,discard:oI,returnPromises:!0,persistCallback:GP,retry:JP,persistOptions:{storage:wI},queue:{...Vn.queue,enqueue:rI,dequeue:uI,peek:(...t)=>ZP(...t)}},KP=vI(NP,nt),YP=o.compose(RI.offline(WP),KP);async function lI(t,s,e){if(s.store.getState().outboxReducer.deletedRequests.includes(t.payload.uuid))throw new Error("Request was marked for deletion");const a=sI[t.meta.offline.effect.serviceName];if(!a)throw new Error(`Service ${t.meta.offline.effect.serviceName} not found`);return Rn(t.meta.offline.effect.BASE_URL,t.meta.offline.effect.request,s,a,e)}function oI(t,s,e=0){var d;if(console.debug("Considering discarding request due to error:",t,`(${typeof t})`,`
3
3
  Action:`,s,`
4
- Retries:`,e),!(t instanceof Error))throw console.error("ENCOUNTERED NON-ERROR ERROR:",t,"(throwing immediately, which may lead to unexpected behavior)"),t;const n=ct(),c=n.getState().outboxReducer.deletedRequests,r=s.payload.uuid;function l(){n.dispatch(hT(r));const h=xe();if(!h)throw new Error("Outbox coordinator not set");h.remove(s.payload.uuid);const p=s.meta.offline.rollback;throw p&&(console.warn("Rolling back request due to SDK error:",s),n.dispatch(p)),t}if(t instanceof U&&t.options.discard&&(console.debug("Discarding request due to explicit discard:",s),l()),c.includes(r)&&(console.debug("Discarding request due to deletion:",s),l()),t instanceof U){const h=t.status||((d=t.response)==null?void 0:d.status);if(h||console.warn("Error has no status code:",t),h!==void 0&&zn.includes(h)){console.warn("Discarding request due to error:",t,`
5
- Action:`,s);const p=xe();if(!p)throw new Error("Outbox coordinator not set");p.remove(s.payload.uuid),t.options.discard=!0,l()}}console.debug("Registering a retry for request:",s.payload.uuid);const u=xe();if(!u)throw new Error("Outbox coordinator not set");return u.registerRetry(s.payload.uuid),!1}function XF(t,s,e){var n;return(n=xe())==null?void 0:n.peek()}function QF(t,s){return ct().dispatch(mT(new Date().getTime())),Yn}const it="An unknown error occurred",xF=500,lO=["non_field_errors","detail"];function eg(t,s){let e;if(t!=null&&t.body)if(typeof t.body=="object"){const n=t.body;if(typeof n.error=="string")e=n.error;else if(typeof n.message=="string")e=n.message;else try{e=Object.entries(n).map(([a,c])=>typeof c=="string"?lO.includes(a)?c:`${a}: ${c}`:Array.isArray(c)?lO.includes(a)?c.join(`
4
+ Retries:`,e),!(t instanceof Error))throw console.error("ENCOUNTERED NON-ERROR ERROR:",t,"(throwing immediately, which may lead to unexpected behavior)"),t;const n=it(),c=n.getState().outboxReducer.deletedRequests,r=s.payload.uuid;function l(){n.dispatch(yS(r));const h=Xe();if(!h)throw new Error("Outbox coordinator not set");h.remove(s.payload.uuid);const p=s.meta.offline.rollback;throw p&&(console.warn("Rolling back request due to SDK error:",s),n.dispatch(p)),t}if(t instanceof U&&t.options.discard&&(console.debug("Discarding request due to explicit discard:",s),l()),c.includes(r)&&(console.debug("Discarding request due to deletion:",s),l()),t instanceof U){const h=t.status||((d=t.response)==null?void 0:d.status);if(h||console.warn("Error has no status code:",t),h!==void 0&&gn.includes(h)){console.warn("Discarding request due to error:",t,`
5
+ Action:`,s);const p=Xe();if(!p)throw new Error("Outbox coordinator not set");p.remove(s.payload.uuid),t.options.discard=!0,l()}}console.debug("Registering a retry for request:",s.payload.uuid);const u=Xe();if(!u)throw new Error("Outbox coordinator not set");return u.registerRetry(s.payload.uuid),!1}function ZP(t,s,e){var n;return(n=Xe())==null?void 0:n.peek()}function JP(t,s){return it().dispatch(pS(new Date().getTime())),Cn}const tt="An unknown error occurred",XP=500,hI=["non_field_errors","detail"];function QP(t,s){let e;if(t!=null&&t.body)if(typeof t.body=="object"){const n=t.body;if(typeof n.error=="string")e=n.error;else if(typeof n.message=="string")e=n.message;else try{e=Object.entries(n).map(([a,c])=>typeof c=="string"?hI.includes(a)?c:`${a}: ${c}`:Array.isArray(c)?hI.includes(a)?c.join(`
6
6
  `):c.map(r=>`${a}: ${r}`).join(`
7
7
  `):`${a}: ${JSON.stringify(c)}`).join(`
8
- `)}catch(a){console.error("Failed to extract error message from response body",a)}}else typeof t.body=="string"&&(e=t.body);else t!=null&&t.text?e=t.text:s instanceof Error&&(e=s.message);return!e||e.length>xF?it:e}class U extends Error{constructor(e){super(it);y(this,"status");y(this,"response");y(this,"message");y(this,"options");const{response:n,innerError:a}=e;this.message=e.message??eg(n,a)??it,this.status=(n==null?void 0:n.status)??0,this.response=n,e.discard=e.discard??!1,this.options=e}}function oO(t){function s(e){return typeof e=="object"&&e!==null&&["ok","redirect","clientError","serverError","error"].every(a=>a in e)}if(s(t))return t;if(typeof t=="object"&&t!==null){const e=t;if(s(e.response))return e.response;if(e.response&&s(e.response.response))return e.response.response}}class tg extends tO{constructor(s){super(s)}}class Xe extends tO{constructor(e,n){super(e);y(this,"auth");this.auth=n}}class sg extends Xe{async startConversation(s,e){return this.enqueueRequest({description:"Start agent conversation",method:m.POST,url:"/agents/prompt/",payload:{prompt:s,active_project:e},blockers:["prompt"],blocks:["prompt"]}).then(n=>(this.dispatch(ra(n)),n))}async continueConversation(s,e,n){return this.enqueueRequest({description:"Prompt agent",method:m.POST,url:"/agents/prompt/",payload:{prompt:s,active_project:n},blockers:["prompt"],blocks:["prompt"],queryParams:{conversation_id:e}}).then(a=>{this.dispatch(la(a))})}async fetchDetails(s){return this.enqueueRequest({description:"Get agent conversation",method:m.GET,url:`/agents/conversations/${s}/`,blockers:["conversation"],blocks:["conversation"]}).then(e=>{this.dispatch(ua(e))})}async rate(s,e){return this.enqueueRequest({description:"Rate agent response",method:m.PUT,url:`/agents/responses/${s}/rate/`,payload:{rating:e},blockers:["rate"],blocks:["rate"]})}async list(s,e){return this.performRequest({method:m.GET,url:"/agents/conversations/",...s},e)}async refreshStore(s,e){const n=await this.list({queryParams:{project:s}},e);return this.dispatch(da(n)),n}}function O(t,s,e){const n=`${s}${e?"s":""}`;switch(t){case m.GET:return`Get ${n}`;case m.POST:return`Create ${n}`;case m.PATCH:return`Update ${n}`;case m.PUT:return`Update ${n}`;case m.DELETE:return`Delete ${n}`}}class E extends Xe{async get(s,e){return this.performRequest({url:`${this.url}/${s}/`,method:m.GET},e)}async list(s,e){return this.performRequest({url:`${this.url}/`,method:m.GET,...s},e)}async listPaginated(s,e){return this.performPagination({url:`${this.url}/`,method:m.GET,...s},e)}}class Je extends E{constructor(){super(...arguments);y(this,"pageSize",xI)}async _bulkAdd(e){var f;const{store:n}=this.client,{addMany:a,updateMany:c,deleteMany:r}=this.actions,l=((f=n.getState().userReducer.currentUser)==null?void 0:f.id)??null,u=new Date().toISOString(),d=[],h=[],p={};for(const S of e){const{modelUuid:F,file:P}=S,g=await this.client.files.getFilePayload(P);g.sha1 in p||(p[g.sha1]=g);const w=this.buildModel({file:P,file_sha1:g.sha1,submitted_at:u,created_by:l,modelUuid:F});d.push(w),h.push(this.buildPayload(w,g))}this.dispatch(a(d));const A=this.enqueueRequest({description:O(m.POST,this.name,!0),method:m.POST,url:`${this.url}/bulk/`,payload:{submitted_at:u,attachments:h,files:Object.values(p)},blocks:d.map(S=>this.getId(S)),blockers:d.map(S=>S.file_sha1)});return A.then(({attachments:S,presigned_urls:F})=>{this.dispatch(c(S)),this.client.files.processPresignedUrls(F)}).catch(()=>{this.dispatch(r(d.map(S=>this.getId(S))))}),[d,A.then(({attachments:S})=>S)]}async _delete(e){const{store:n}=this.client,{addOne:a,deleteOne:c}=this.actions,{selectById:r}=this.selectors,l=r(e)(n.getState());if(!l)throw new Error(`Attempting to delete attachment with uuid ${e} that does not exist in the store`);this.dispatch(c(this.getId(l)));const u=this.enqueueRequest({description:O(m.DELETE,this.name,!1),method:m.DELETE,url:`${this.url}/${e}/`,blockers:[e],blocks:[]});return u.then(()=>{this.client.files.removeCache(l.file_sha1)}).catch(()=>{this.dispatch(a(l))}),u}}class ig extends Je{constructor(){super(...arguments);y(this,"name","Asset attachment");y(this,"url","/asset-attachments");y(this,"actions",{addOne:ya,addMany:Yt,setOne:pa,setMany:Aa,updateOne:fa,updateMany:Sa,deleteOne:Ta,deleteMany:Zt,initialize:ma});y(this,"selectors",{selectById:Oa,selectByIds:Pa})}getId(e){return e.uuid}buildModel(e){return _({file:URL.createObjectURL(e.file),file_sha1:e.file_sha1,created_by:e.created_by,file_name:e.file.name,file_type:e.file.type,submitted_at:e.submitted_at,asset:e.modelUuid})}buildPayload(e,n){return{uuid:e.uuid,file_name:e.file_name,file_sha1:e.file_sha1,file_extension:n.extension,asset:e.asset}}async bulkAdd(e){return this._bulkAdd(e.map(n=>({modelUuid:n.assetUuid,file:n.file})))}async delete(e){return this._delete(e)}async refreshStore(e,n){const{initialize:a}=this.actions,r=(await this.listPaginated({queryParams:{asset__project:e}},n)).flat();return this.dispatch(a(r)),r}}class ng extends Je{constructor(){super(...arguments);y(this,"name","Asset Procedure Attachment");y(this,"url","/asset-procedure-type-attachments");y(this,"actions",{addOne:Ma,addMany:Ra,setOne:wa,setMany:Ea,updateOne:va,updateMany:Va,deleteOne:za,deleteMany:Ba,initialize:_a});y(this,"selectors",{selectById:Da,selectByIds:Ca})}getId(e){return e.uuid}buildModel(e){return _({file:URL.createObjectURL(e.file),file_sha1:e.file_sha1,created_by:e.created_by,file_name:e.file.name,file_type:e.file.type,submitted_at:e.submitted_at,asset_procedure_type:e.modelUuid})}buildPayload(e,n){return{uuid:e.uuid,file_name:e.file_name,file_sha1:e.file_sha1,file_extension:n.extension,asset_procedure_type:e.asset_procedure_type}}async bulkAdd(e){return this._bulkAdd(e.map(n=>({modelUuid:n.assetProcedureTypeUuid,file:n.file})))}async delete(e){return this._delete(e)}async refreshStore(e,n){const{initialize:a}=this.actions,c=await this.list({queryParams:{asset_procedure_type__organization:e}},n);return this.dispatch(a(c)),c}}class ag extends E{constructor(){super(...arguments);y(this,"name","Asset Procedure Type Fields Attachment");y(this,"url","/asset-procedure-type-fields-attachments");y(this,"actions",{addOne:La,addMany:ka,setOne:Na,setMany:Ga,updateOne:Ha,updateMany:Wa,deleteOne:Ka,deleteMany:Ya,initialize:Ua});y(this,"selectors",{selectById:Xa,selectByIds:Qa})}async bulkAdd(e){var A;const{addMany:n,setMany:a,deleteMany:c}=this.actions,r=new Date().toISOString(),l=((A=this.client.store.getState().userReducer.currentUser)==null?void 0:A.id)??null,u={},d=[],h=[];for(const f of e){const{fieldsRevisionUuid:S,fieldIdentifier:F,file:P}=f,g=await this.client.files.getFilePayload(P);g.sha1 in u||(u[g.sha1]=g);const w=_({file:URL.createObjectURL(P),file_type:P.type,file_name:P.name,file_sha1:g.sha1,created_by:l,fields_revision:S,submitted_at:r,field_identifier:F});d.push(w);const V={uuid:w.uuid,file_name:P.name,field_identifier:F,file_extension:g.extension,file_sha1:g.sha1,fields_revision:S};h.push(V)}this.dispatch(n(d));const p=this.enqueueRequest({description:O(m.POST,this.name,!0),method:m.POST,url:`${this.url}/bulk/`,payload:{submitted_at:r,attachments:h,files:Object.values(u)},blockers:d.map(f=>f.fields_revision),blocks:d.map(f=>f.uuid)});return p.then(f=>{this.client.files.processPresignedUrls(f.presigned_urls),this.dispatch(a(f.attachments))}).catch(()=>{this.dispatch(c(d.map(f=>f.uuid)))}),[d,p.then(({attachments:f})=>f)]}async refreshStore(e,n){const{initialize:a}=this.actions,c=await this.list({queryParams:{fields_revision__asset_procedure_type__organization:e}},n);return this.dispatch(a(c)),c}}class cg extends E{constructor(){super(...arguments);y(this,"name","Asset Procedure Type Fields");y(this,"url","/asset-procedure-type-fields");y(this,"actions",{addOne:tc,addMany:sc,setOne:ic,setMany:nc,updateOne:ac,updateMany:cc,deleteOne:dc,deleteMany:rc,initialize:ec});y(this,"selectors",{selectById:oc,selectByIds:hc})}add(e){var p;const{store:n}=this.client,{addOne:a,setOne:c,deleteOne:r}=this.actions,l=((p=n.getState().userReducer.currentUser)==null?void 0:p.id)??null,u=new Date().toISOString(),d=_({...e,created_by:l,submitted_at:u});this.dispatch(a(d));const h=this.enqueueRequest({description:O(m.POST,this.name,!1),method:m.POST,url:`${this.url}/`,payload:z(d),blockers:[d.asset_procedure_type],blocks:[d.uuid]});return h.then(A=>{this.dispatch(c(A))}).catch(A=>{throw this.dispatch(r(d.uuid)),A}),[d,h]}async refreshStore(e,n){const{initialize:a}=this.actions,c=await this.list({queryParams:{asset_procedure_type__organization:e}},n);return this.dispatch(a(c)),c}}function Qe(t,s){const e=[];let n=0;const a=t.length;for(;n<a;)e.push(t.slice(n,n+=s));return e}class dg extends E{constructor(){super(...arguments);y(this,"name","Asset Procedure Type Field Values Attachment");y(this,"url","/asset-procedure-type-field-values-attachments");y(this,"actions",{addOne:pc,addMany:is,setOne:Ac,setMany:fc,updateOne:Sc,updateMany:Tc,deleteOne:Ic,deleteMany:ns,initialize:yc});y(this,"selectors",{selectById:Fc,selectByIds:gc})}async bulkAdd(e,n){var f;const{addMany:a,setMany:c,deleteMany:r}=this.actions,l=new Date().toISOString(),u=((f=this.client.store.getState().userReducer.currentUser)==null?void 0:f.id)??null,d=Qe(e,n??e.length),h=[],p=[];for(const S of d){const F={},P=[];for(const g of S){const{fieldValuesUuid:w,fieldIdentifier:V,file:v}=g,B=await this.client.files.getFilePayload(v);B.sha1 in F||(F[B.sha1]=B);const q=_({file:URL.createObjectURL(v),file_type:v.type,file_name:v.name,file_sha1:B.sha1,created_by:u,field_values:w,submitted_at:l,field_identifier:V});h.push(q);const $={uuid:q.uuid,file_name:v.name,file_sha1:B.sha1,file_extension:B.extension,field_identifier:V,field_values:w};P.push($)}p.push({submitted_at:l,attachments:P,files:Object.values(F)})}this.dispatch(a(h));const A=p.map(S=>this.enqueueRequest({description:O(m.POST,this.name,!0),method:m.POST,url:`${this.url}/bulk/`,payload:S,blockers:S.attachments.map(F=>F.field_values),blocks:S.attachments.map(F=>F.uuid)}));return Promise.all(A).then(S=>{for(const P of S)this.client.files.processPresignedUrls(P.presigned_urls);const F=S.flatMap(P=>P.attachments);this.dispatch(c(F))}).catch(S=>{throw this.dispatch(r(h.map(F=>F.uuid))),S}),[h,A.map(S=>S.then(({attachments:F})=>F))]}async bulkDelete(e){const{store:n}=this.client,{deleteMany:a,addMany:c}=this.actions,{selectByIds:r}=this.selectors,l=n.getState(),u=r(e)(l);this.dispatch(a(e));try{return await this.enqueueRequest({description:O(m.DELETE,this.name,!0),method:m.DELETE,url:`${this.url}/bulk/`,payload:{uuids:e},blockers:e,blocks:[]})}catch(d){throw this.dispatch(c(u)),d}}async refreshStore(e,n){const{initialize:a}=this.actions,r=(await this.listPaginated({queryParams:{field_values__asset_procedure__project:e,latest:!0}},n)).flat();return this.dispatch(a(r)),r}}class rg extends E{constructor(){super(...arguments);y(this,"name","Asset Procedure Type Field Values");y(this,"url","/asset-procedure-type-field-values");y(this,"actions",{addOne:Rc,addMany:wc,setOne:Ec,setMany:vc,updateOne:Vc,updateMany:zc,deleteOne:Bc,deleteMany:jc,initialize:Mc});y(this,"selectors",{selectById:Cc,selectByIds:$c})}add(e){var A;const{store:n}=this.client,{addOne:a,setOne:c,deleteOne:r}=this.actions,u=((A=n.getState().userReducer.currentUser)==null?void 0:A.id)??null,d=new Date().toISOString(),h=_({...e,created_by:u,submitted_at:d}),p=this.enqueueRequest({description:O(m.POST,this.name,!1),method:m.POST,url:`${this.url}/`,payload:z(h),blockers:[e.asset,e.fields_revision,e.asset_procedure],blocks:[h.uuid]});return this.dispatch(a(h)),p.then(f=>{this.dispatch(c(f))}).catch(()=>{this.dispatch(r(h.uuid))}),[h,p]}bulkAdd(e,n){var f;const{addMany:a,setMany:c,deleteMany:r}=this.actions,l=new Date().toISOString(),u=((f=this.client.store.getState().userReducer.currentUser)==null?void 0:f.id)??null,d=[],h=Qe(e.payloads,n??e.payloads.length),p=[];for(const S of h){const F=[];for(const P of S){const g=_({...P,values:P.values,created_by:u,submitted_at:l});d.push(g),F.push({uuid:g.uuid,asset:P.asset,fields_revision:P.fields_revision,asset_procedure:P.asset_procedure,published_at:P.published_at,values:g.values})}p.push({submitted_at:l,values:e.values,field_values:F})}this.dispatch(a(d));const A=[];for(const S of p){const F=S.field_values.map(v=>v.asset),P=S.field_values.map(v=>v.fields_revision),g=S.field_values.map(v=>v.asset_procedure),w=S.field_values.map(v=>v.uuid),V=this.enqueueRequest({description:O(m.POST,this.name,!0),method:m.POST,url:`${this.url}/bulk/`,payload:S,blockers:[...F,...P,...g],blocks:w});A.push(V)}return Promise.all(A).then(S=>{this.dispatch(c(S.flat()))}).catch(()=>{this.dispatch(r(d.map(S=>S.uuid)))}),[d,A]}update(e){const{store:n}=this.client,{setOne:a}=this.actions,{selectById:c}=this.selectors,r=n.getState(),l=c(e.uuid)(r);if(!l)throw new Error(`Expected AssetProcedureTypeFieldValues with uuid ${e.uuid} to exist`);const u={...l,...e};this.dispatch(a(u));const d=this.enqueueRequest({description:O(m.PATCH,this.name,!1),method:m.PATCH,url:`${this.url}/${e.uuid}/`,payload:e,blockers:[u.fields_revision,u.asset,u.asset_procedure],blocks:[u.uuid]});return d.then(h=>{this.dispatch(a(h))}).catch(()=>{this.dispatch(a(l))}),[u,d]}async delete(e){const{store:n}=this.client,{deleteOne:a,addOne:c}=this.actions,{selectById:r}=this.selectors,l=n.getState(),u=r(e)(l);if(!u)throw new Error(`Expected submission with uuid ${e} to exist`);const d=bc(e)(l);this.dispatch(a(e)),this.dispatch(ns(D(d)));try{return await this.enqueueRequest({description:O(m.DELETE,this.name,!1),method:m.DELETE,url:`${this.url}/${e}/`,blockers:[e],blocks:[]})}catch(h){throw this.dispatch(c(u)),this.dispatch(is(d)),h}}async refreshStore(e,n){const{initialize:a}=this.actions,r=(await this.listPaginated({queryParams:{asset_procedure__project:e,latest:!0}},n)).flat();return this.dispatch(a(r)),r}}class ug extends E{constructor(){super(...arguments);y(this,"name","Asset Procedure");y(this,"url","/asset-procedures");y(this,"actions",{addOne:kc,addMany:rs,setOne:Wc,setMany:Kc,updateOne:Nc,updateMany:Gc,deleteOne:Hc,deleteMany:us,initialize:Lc});y(this,"selectors",{selectById:Xc,selectByIds:Qc})}add(e){var p;const{store:n}=this.client,{addOne:a,setOne:c,deleteOne:r}=this.actions,l=((p=n.getState().userReducer.currentUser)==null?void 0:p.id)??null,u=new Date().toISOString(),d=_({...e,created_by:l,submitted_at:u});this.dispatch(a(d));const h=this.enqueueRequest({description:O(m.POST,this.name,!1),method:m.POST,url:`${this.url}/`,payload:z(d),blockers:[e.asset_procedure_type,e.asset_type],blocks:[d.uuid]});return h.then(A=>{this.dispatch(c(A))}).catch(()=>{this.dispatch(r(d.uuid))}),[d,h]}update(e){const{store:n}=this.client,{setOne:a}=this.actions,{selectById:c}=this.selectors,r=c(e.uuid)(n.getState());if(!r)throw new Error(`Expected asset procedure with uuid ${e.uuid} to exist`);const l={...r,...e};this.dispatch(a(l));const u=this.enqueueRequest({description:O(m.PATCH,this.name,!1),method:m.PATCH,url:`${this.url}/${e.uuid}/`,payload:e,blockers:[r.uuid],blocks:[r.uuid]});return u.then(d=>{this.dispatch(a(d))}).catch(()=>{this.dispatch(a(r))}),[l,u]}async delete(e){const{store:n}=this.client,{deleteOne:a,addOne:c}=this.actions,{selectById:r}=this.selectors,l=n.getState(),u=r(e)(l);if(!u)throw new Error(`Expected asset procedure with uuid ${e} to exist`);this.dispatch(a(e));try{return await this.enqueueRequest({description:O(m.DELETE,this.name,!1),method:m.DELETE,url:`${this.url}/${e}/`,blockers:[e],blocks:[]})}catch(d){throw this.dispatch(c(u)),d}}async refreshStore(e,n){const{initialize:a}=this.actions,r=(await this.listPaginated({queryParams:{project:e}},n)).flat();return this.dispatch(a(r)),r}}class lg extends E{constructor(){super(...arguments);y(this,"name","Asset Procedure Type");y(this,"url","/asset-procedure-types");y(this,"actions",{addOne:td,addMany:sd,setOne:dd,setMany:rd,updateOne:id,updateMany:nd,deleteOne:ad,deleteMany:cd,initialize:ed});y(this,"selectors",{selectById:od,selectByIds:hd})}add(e){var p;const{store:n}=this.client,{addOne:a,setOne:c,deleteOne:r}=this.actions,l=((p=n.getState().userReducer.currentUser)==null?void 0:p.id)??null,u=new Date().toISOString(),d=_({...e,created_by:l,submitted_at:u});this.dispatch(a(d));const h=this.enqueueRequest({description:O(m.POST,this.name,!1),method:m.POST,url:`${this.url}/`,payload:z(d),blockers:[],blocks:[d.uuid]});return h.then(A=>{this.dispatch(c(A))}).catch(()=>{this.dispatch(r(d.uuid))}),[d,h]}update(e){const{store:n}=this.client,{setOne:a}=this.actions,{selectById:c}=this.selectors,r=c(e.uuid)(n.getState());if(!r)throw new Error(`Expected asset procedure type with uuid ${e.uuid} to exist`);const l={...r,...e};this.dispatch(a(l));const u=this.enqueueRequest({description:O(m.PATCH,this.name,!1),method:m.PATCH,url:`${this.url}/${e.uuid}/`,payload:e,blockers:[r.uuid],blocks:[r.uuid]});return u.then(d=>{this.dispatch(a(d))}).catch(()=>{this.dispatch(a(r))}),[l,u]}async delete(e){const{store:n}=this.client,{deleteOne:a,addOne:c}=this.actions,{selectById:r}=this.selectors,l=n.getState(),u=r(e)(l);if(!u)throw new Error(`Expected asset procedure type with uuid ${e} to exist`);const d=Jc(e)(l);this.dispatch(a(e)),this.dispatch(us(D(d)));try{return await this.enqueueRequest({description:O(m.DELETE,this.name,!1),method:m.DELETE,url:`${this.url}/${e}/`,blockers:[e],blocks:[]})}catch(h){throw this.dispatch(c(u)),this.dispatch(rs(d)),h}}async refreshStore(e,n){const{initialize:a}=this.actions,c=await this.list({queryParams:{organization:e}},n);return this.dispatch(a(c)),c}}class og extends E{constructor(){super(...arguments);y(this,"name","Asset Procedure Step Fields Attachment");y(this,"url","/asset-procedure-step-fields-attachments");y(this,"actions",{addOne:pd,addMany:Ad,setOne:fd,setMany:Sd,updateOne:Td,updateMany:Id,deleteOne:Od,deleteMany:Pd,initialize:yd});y(this,"selectors",{selectById:gd,selectByIds:bd})}async bulkAdd(e){var A;const{addMany:n,setMany:a,deleteMany:c}=this.actions,r=new Date().toISOString(),l=((A=this.client.store.getState().userReducer.currentUser)==null?void 0:A.id)??null,u={},d=[],h=[];for(const f of e){const{fieldsRevisionUuid:S,fieldIdentifier:F,file:P}=f,g=await this.client.files.getFilePayload(P);g.sha1 in u||(u[g.sha1]=g);const w=_({file:URL.createObjectURL(P),file_type:P.type,file_name:P.name,file_sha1:g.sha1,created_by:l,fields_revision:S,submitted_at:r,field_identifier:F});d.push(w);const V={uuid:w.uuid,file_name:P.name,field_identifier:F,file_extension:g.extension,file_sha1:g.sha1,fields_revision:S};h.push(V)}this.dispatch(n(d));const p=this.enqueueRequest({description:O(m.POST,this.name,!0),method:m.POST,url:`${this.url}/bulk/`,payload:{submitted_at:r,attachments:h,files:Object.values(u)},blockers:d.map(f=>f.fields_revision),blocks:d.map(f=>f.uuid)});return p.then(f=>{this.client.files.processPresignedUrls(f.presigned_urls),this.dispatch(a(f.attachments))}).catch(()=>{this.dispatch(c(d.map(f=>f.uuid)))}),[d,p.then(({attachments:f})=>f)]}async refreshStore(e,n){const{initialize:a}=this.actions,c=await this.list({queryParams:{fields_revision__asset_procedure_step__organization:e}},n);return this.dispatch(a(c)),c}}class hg extends E{constructor(){super(...arguments);y(this,"name","Asset Procedure Step Fields");y(this,"url","/asset-procedure-step-fields");y(this,"actions",{addOne:wd,addMany:Ed,setOne:vd,setMany:Vd,updateOne:zd,updateMany:Bd,deleteOne:jd,deleteMany:qd,initialize:Rd});y(this,"selectors",{selectById:Dd,selectByIds:Cd})}add(e){var p;const{store:n}=this.client,{addOne:a,setOne:c,deleteOne:r}=this.actions,l=((p=n.getState().userReducer.currentUser)==null?void 0:p.id)??null,u=new Date().toISOString(),d=_({...e,created_by:l,submitted_at:u});this.dispatch(a(d));const h=this.enqueueRequest({description:O(m.POST,this.name,!1),method:m.POST,url:`${this.url}/`,payload:z(d),blockers:[d.asset_procedure_step],blocks:[d.uuid]});return h.then(A=>{this.dispatch(c(A))}).catch(A=>{throw this.dispatch(r(d.uuid)),A}),[d,h]}update(e){const{store:n}=this.client,{setOne:a}=this.actions,c=n.getState().assetProcedureStepFieldsReducer.instances[e.uuid];if(!c)throw new Error(`AssetProcedureStepFields with uuid ${e.uuid} not found`);const r={...c,...e};this.dispatch(a(r));const l=this.enqueueRequest({description:O(m.PATCH,this.name,!1),method:m.PATCH,url:`${this.url}/${c.uuid}/`,payload:e,blockers:[c.uuid],blocks:[c.uuid]});return l.then(u=>{this.dispatch(a(u))}).catch(u=>{throw this.dispatch(a(c)),u}),[r,l]}async delete(e){const{store:n}=this.client,{deleteOne:a,addOne:c}=this.actions,r=n.getState().assetProcedureStepFieldsReducer.instances[e];if(!r)throw new Error(`AssetProcedureStepFields with uuid ${e} not found`);this.dispatch(a(e));try{return await this.enqueueRequest({description:O(m.DELETE,this.name,!1),method:m.DELETE,url:`${this.url}/${e}/`,blockers:[e],blocks:[e]})}catch(l){throw this.dispatch(c(r)),l}}async refreshStore(e,n){const{initialize:a}=this.actions,c=await this.list({queryParams:{asset_procedure_step__asset_procedure_type__organization:e}},n);return this.dispatch(a(c)),c}}class mg extends E{constructor(){super(...arguments);y(this,"name","Asset Procedure Step Field Values Attachment");y(this,"url","/asset-procedure-step-field-values-attachments");y(this,"actions",{addOne:kd,addMany:fs,setOne:Nd,setMany:Gd,updateOne:Hd,updateMany:Wd,deleteOne:Kd,deleteMany:Ss,initialize:Ld});y(this,"selectors",{selectById:Zd,selectByIds:Jd})}async bulkAdd(e,n){var f;const{addMany:a,setMany:c,deleteMany:r}=this.actions,l=new Date().toISOString(),u=((f=this.client.store.getState().userReducer.currentUser)==null?void 0:f.id)??null,d=Qe(e,n??e.length),h=[],p=[];for(const S of d){const F={},P=[];for(const g of S){const{fieldValuesUuid:w,fieldIdentifier:V,file:v}=g,B=await this.client.files.getFilePayload(v);B.sha1 in F||(F[B.sha1]=B);const q=_({file:URL.createObjectURL(v),file_type:v.type,file_name:v.name,file_sha1:B.sha1,created_by:u,field_values:w,submitted_at:l,field_identifier:V});h.push(q);const $={uuid:q.uuid,file_name:v.name,file_sha1:B.sha1,file_extension:B.extension,field_identifier:V,field_values:w};P.push($)}p.push({submitted_at:l,attachments:P,files:Object.values(F)})}this.dispatch(a(h));const A=p.map(S=>this.enqueueRequest({description:O(m.POST,this.name,!0),method:m.POST,url:`${this.url}/bulk/`,payload:S,blockers:S.attachments.map(F=>F.field_values),blocks:S.attachments.map(F=>F.uuid)}));return Promise.all(A).then(S=>{for(const P of S)this.client.files.processPresignedUrls(P.presigned_urls);const F=S.flatMap(P=>P.attachments);this.dispatch(c(F))}).catch(S=>{throw this.dispatch(r(h.map(F=>F.uuid))),S}),[h,A.map(S=>S.then(({attachments:F})=>F))]}async bulkDelete(e){const{store:n}=this.client,{deleteMany:a,addMany:c}=this.actions,{selectByIds:r}=this.selectors,l=n.getState(),u=r(e)(l);this.dispatch(a(e));try{return await this.enqueueRequest({description:O(m.DELETE,this.name,!0),method:m.DELETE,url:`${this.url}/bulk/`,payload:{uuids:e},blockers:e,blocks:[]})}catch(d){throw this.dispatch(c(u)),d}}async refreshStore(e,n){const{initialize:a}=this.actions,r=(await this.listPaginated({queryParams:{field_values__asset_procedure__project:e,latest:!0}},n)).flat();return this.dispatch(a(r)),r}}class yg extends E{constructor(){super(...arguments);y(this,"name","Asset Procedure Step Field Values");y(this,"url","/asset-procedure-step-field-values");y(this,"actions",{addOne:tr,addMany:sr,setOne:ir,setMany:nr,updateOne:ar,updateMany:cr,deleteOne:dr,deleteMany:rr,initialize:er});y(this,"selectors",{selectById:lr,selectByIds:or})}add(e){var A;const{store:n}=this.client,{addOne:a,setOne:c,deleteOne:r}=this.actions,u=((A=n.getState().userReducer.currentUser)==null?void 0:A.id)??null,d=new Date().toISOString(),h=_({...e,created_by:u,submitted_at:d}),p=this.enqueueRequest({description:O(m.POST,this.name,!1),method:m.POST,url:`${this.url}/`,payload:z(h),blockers:[e.asset,e.fields_revision,e.asset_procedure],blocks:[h.uuid]});return this.dispatch(a(h)),p.then(f=>{this.dispatch(c(f))}).catch(()=>{this.dispatch(r(h.uuid))}),[h,p]}bulkAdd(e,n){var f;const{addMany:a,setMany:c,deleteMany:r}=this.actions,l=new Date().toISOString(),u=((f=this.client.store.getState().userReducer.currentUser)==null?void 0:f.id)??null,d=[],h=Qe(e.payloads,n??e.payloads.length),p=[];for(const S of h){const F=[];for(const P of S){const g=_({...P,values:P.values,created_by:u,submitted_at:l});d.push(g),F.push({uuid:g.uuid,asset:P.asset,fields_revision:P.fields_revision,asset_procedure:P.asset_procedure,asset_procedure_step:P.asset_procedure_step,published_at:P.published_at,values:g.values})}p.push({submitted_at:l,values:e.values,field_values:F})}this.dispatch(a(d));const A=[];for(const S of p){const F=S.field_values.map(v=>v.asset),P=S.field_values.map(v=>v.fields_revision),g=S.field_values.map(v=>v.asset_procedure),w=S.field_values.map(v=>v.uuid),V=this.enqueueRequest({description:O(m.POST,this.name,!0),method:m.POST,url:`${this.url}/bulk/`,payload:S,blockers:[...F,...P,...g],blocks:w});A.push(V)}return Promise.all(A).then(S=>{this.dispatch(c(S.flat()))}).catch(()=>{this.dispatch(r(d.map(S=>S.uuid)))}),[d,A]}update(e){const{store:n}=this.client,{setOne:a}=this.actions,{selectById:c}=this.selectors,r=n.getState(),l=c(e.uuid)(r);if(!l)throw new Error(`Expected AssetProcedureStepFieldValues with uuid ${e.uuid} to exist`);const u={...l,...e};this.dispatch(a(u));const d=this.enqueueRequest({description:O(m.PATCH,this.name,!1),method:m.PATCH,url:`${this.url}/${e.uuid}/`,payload:e,blockers:[u.fields_revision,u.asset,u.asset_procedure],blocks:[u.uuid]});return d.then(h=>{this.dispatch(a(h))}).catch(()=>{this.dispatch(a(l))}),[u,d]}async delete(e){const{store:n}=this.client,{deleteOne:a,addOne:c}=this.actions,{selectById:r}=this.selectors,l=n.getState(),u=r(e)(l);if(!u)throw new Error(`Expected submission with uuid ${e} to exist`);const d=Xd(e)(l);this.dispatch(a(e)),this.dispatch(Ss(D(d)));try{return await this.enqueueRequest({description:O(m.DELETE,this.name,!1),method:m.DELETE,url:`${this.url}/${e}/`,blockers:[e],blocks:[]})}catch(h){throw this.dispatch(c(u)),this.dispatch(fs(d)),h}}async refreshStore(e,n){const{initialize:a}=this.actions,r=(await this.listPaginated({queryParams:{asset_procedure__project:e,latest:!0}},n)).flat();return this.dispatch(a(r)),r}}class pg extends E{constructor(){super(...arguments);y(this,"name","Asset Procedure Step");y(this,"url","/asset-procedure-steps");y(this,"actions",{addOne:fr,addMany:Sr,setOne:pr,setMany:Ar,updateOne:Tr,updateMany:Ir,deleteOne:Or,deleteMany:Pr,initialize:yr});y(this,"selectors",{selectById:gr,selectByIds:br})}add(e){var p;const{store:n}=this.client,{addOne:a,setOne:c,deleteOne:r}=this.actions,l=((p=n.getState().userReducer.currentUser)==null?void 0:p.id)??null,u=new Date().toISOString(),d=_({...e,created_by:l,submitted_at:u});this.dispatch(a(d));const h=this.enqueueRequest({description:O(m.POST,this.name,!1),method:m.POST,url:`${this.url}/`,payload:z(d),blockers:[d.asset_procedure_type],blocks:[d.uuid]});return h.then(A=>{this.dispatch(c(A))}).catch(()=>{this.dispatch(r(d.uuid))}),[d,h]}update(e){const{store:n}=this.client,{setOne:a}=this.actions,{selectById:c}=this.selectors,r=c(e.uuid)(n.getState());if(!r)throw new Error(`No asset procedure step with uuid ${e.uuid} found in the store`);const l={...r,...e};this.dispatch(a(l));const u=this.enqueueRequest({description:O(m.PATCH,this.name,!1),method:m.PATCH,url:`${this.url}/${r.uuid}/`,payload:{name:e.name,description:e.description,priority:e.order,color:e.color},blockers:[r.uuid],blocks:[r.uuid]});return u.then(d=>{this.dispatch(a(d))}).catch(()=>{this.dispatch(a(r))}),[l,u]}async delete(e){const{store:n}=this.client,{deleteMany:a,addMany:c,addOne:r,deleteOne:l}=this.actions,{selectById:u}=this.selectors,d=n.getState(),h=u(e)(d);if(!h)throw new Error(`No asset procedure step with uuid ${e} found in the store`);const p=_r(e)(d);this.dispatch(l(e)),this.dispatch(a(D(p)));try{return await this.enqueueRequest({description:O(m.DELETE,this.name,!1),method:m.DELETE,url:`${this.url}/${e}/`,blockers:[e],blocks:[]})}catch(A){throw this.dispatch(r(h)),this.dispatch(c(p)),A}}async refreshStore(e,n){const{initialize:a}=this.actions,c=await this.list({queryParams:{asset_procedure_type__organization:e}},n);return this.dispatch(a(c)),c}}class Ag extends E{constructor(){super(...arguments);y(this,"url","/assets");y(this,"name","Asset");y(this,"actions",{addOne:wr,addMany:gs,setOne:zr,setMany:Br,updateOne:Er,updateMany:vr,deleteOne:Vr,deleteMany:bs,initialize:Rr});y(this,"selectors",{selectById:qr,selectByIds:Dr})}add(e){var p;const{store:n}=this.client,{addOne:a,updateOne:c,deleteOne:r}=this.actions,l=((p=n.getState().userReducer.currentUser)==null?void 0:p.id)??null,u=new Date().toISOString(),d=_({...e,created_by:l,submitted_at:u});this.dispatch(a(d));const h=this.enqueueRequest({description:O(m.POST,this.name,!1),method:m.POST,url:`${this.url}/`,payload:z(d),blockers:[d.asset_type],blocks:[d.uuid]});return h.then(A=>{this.dispatch(c(A))}).catch(()=>{this.dispatch(r(d.uuid))}),[d,h]}update(e){const{store:n}=this.client,{updateOne:a}=this.actions,{selectById:c}=this.selectors,r=c(e.uuid)(n.getState());if(!r)throw new Error(`No asset with uuid ${e.uuid} found in the store`);const l={...r,...e};this.dispatch(a(l));const u=this.enqueueRequest({description:O(m.PATCH,this.name,!1),method:m.PATCH,url:`${this.url}/${e.uuid}/`,payload:e,blockers:[e.uuid],blocks:[e.uuid]});return u.then(d=>{this.dispatch(a(d))}).catch(()=>{this.dispatch(a(r))}),[l,u]}async delete(e){const{store:n}=this.client,{addOne:a,deleteOne:c}=this.actions,{selectById:r}=this.selectors,l=n.getState(),u=r(e)(l);if(!u)throw new Error(`No asset with uuid ${e} found in the store`);const d=Fa(e)(l),h=Zy(e)(l);this.dispatch(c(e)),this.dispatch(Zt(D(d))),this.dispatch(Rt(D(h)));try{return await this.enqueueRequest({description:O(m.DELETE,this.name,!1),method:m.DELETE,url:`${this.url}/${e}/`,blockers:[e],blocks:[]})}catch(p){throw this.dispatch(a(u)),this.dispatch(Yt(d)),this.dispatch(Mt(h)),p}}bulkAdd(e,n){const{addMany:a}=this.actions,c=new Date().toISOString(),r=tt.v4(),l=Qe(e,n).map(h=>{const p=h.map(A=>_(A));return{batchId:tt.v4(),payload:{transaction_id:r,submitted_at:c,assets:p}}}),u=[];let d=null;for(const h of l){const{batchId:p,payload:A}=h,f=A.assets.map(({uuid:V})=>V),S=A.assets.map(({asset_type:V})=>V),F=A.assets.map(({project:V})=>V),P=S.concat(F);d&&P.push(d);const g=f;g.push(p);const w=this.enqueueRequest({description:O(m.POST,this.name,!0),method:m.POST,url:`${this.url}/bulk/`,payload:A,blockers:P,blocks:g});d=h.batchId,u.push(w)}return Promise.all(u).then(h=>{const p=h.flat();this.dispatch(a(p))}),u}async bulkDelete(e){const{store:n}=this.client,{addMany:a,deleteMany:c}=this.actions,{selectByIds:r}=this.selectors,l=n.getState(),u=r(e)(l);this.dispatch(c(e));try{return await this.enqueueRequest({description:O(m.DELETE,this.name,!0),method:m.DELETE,url:`${this.url}/bulk/`,payload:{uuids:e},blockers:e,blocks:[]})}catch(d){throw this.dispatch(a(u)),d}}async refreshStore(e,n){const{initialize:a}=this.actions,r=(await this.listPaginated({queryParams:{project:e}},n)).flat();return this.dispatch(a(r)),r}}class fg extends E{constructor(){super(...arguments);y(this,"name","Asset Stage Completion");y(this,"url","/asset-stage-completions");y(this,"actions",{addOne:Lr,addMany:kr,setOne:Nr,setMany:Gr,updateOne:Hr,updateMany:Wr,deleteOne:Kr,deleteMany:Yr,initialize:Ur});y(this,"selectors",{selectById:Qr,selectByIds:xr})}add(e){var p;const{store:n}=this.client,{addOne:a,setOne:c,deleteOne:r}=this.actions,l=((p=n.getState().userReducer.currentUser)==null?void 0:p.id)??null,u=new Date().toISOString(),d=_({...e,created_by:l,submitted_at:u});this.dispatch(a(d));const h=this.enqueueRequest({description:O(m.POST,this.name,!1),method:m.POST,url:`${this.url}/`,payload:z(d),blockers:[e.asset,e.asset_stage],blocks:[d.uuid]});return h.then(A=>{this.dispatch(c(A))}).catch(()=>{this.dispatch(r(d.uuid))}),[d,h]}async delete(e){const{store:n}=this.client,{deleteOne:a,addOne:c}=this.actions,{selectById:r}=this.selectors,l=r(e)(n.getState());if(!l)throw new Error(`Expected asset stage completion with uuid ${e} to exist`);this.dispatch(a(e));try{return await this.enqueueRequest({description:O(m.DELETE,this.name,!1),method:m.DELETE,url:`${this.url}/${e}/`,blockers:[e],blocks:[]})}catch(u){throw this.dispatch(c(l)),u}}bulkAdd(e){var f;const{store:n}=this.client,{addMany:a,setMany:c,deleteMany:r}=this.actions,l=new Date().toISOString(),u=((f=n.getState().userReducer.currentUser)==null?void 0:f.id)??null,d=e.map(S=>_(S)),h=d.map(S=>({...S,created_by:u,submitted_at:l})),p=h.map(({uuid:S})=>S);this.dispatch(a(h));const A=this.enqueueRequest({description:O(m.POST,this.name,!0),method:m.POST,url:`${this.url}/bulk/`,payload:{submitted_at:l,completions:d},blockers:[...e.map(S=>S.asset_procedure),...e.map(S=>S.asset_stage),...e.map(S=>S.asset)],blocks:p});return A.then(S=>{this.dispatch(c(S))}).catch(()=>{this.dispatch(r(p))}),[h,A]}async bulkDelete(e){const{store:n}=this.client,{deleteMany:a,addMany:c}=this.actions,{selectByIds:r}=this.selectors,l=r(e)(n.getState());this.dispatch(a(e));try{return await this.enqueueRequest({description:O(m.DELETE,this.name,!0),method:m.DELETE,url:`${this.url}/bulk/`,payload:{uuids:e},blockers:e,blocks:[]})}catch(u){throw this.dispatch(c(l)),u}}async refreshStore(e,n){const{initialize:a}=this.actions,r=(await this.listPaginated({queryParams:{asset_procedure__project:e}},n)).flat();return this.dispatch(a(r)),r}}class Sg extends E{constructor(){super(...arguments);y(this,"name","Asset Stage");y(this,"url","/asset-stages");y(this,"actions",{addOne:nu,addMany:au,setOne:su,setMany:iu,updateOne:cu,updateMany:du,deleteOne:ru,deleteMany:uu,initialize:tu});y(this,"selectors",{selectById:ou,selectByIds:hu})}add(e){var p;const{store:n}=this.client,{addOne:a,setOne:c,deleteOne:r}=this.actions,l=((p=n.getState().userReducer.currentUser)==null?void 0:p.id)??null,u=new Date().toISOString(),d=_({...e,created_by:l,submitted_at:u});this.dispatch(a(d));const h=this.enqueueRequest({description:O(m.POST,this.name,!1),method:m.POST,url:`${this.url}/`,payload:z(d),blockers:[d.asset_procedure_type],blocks:[d.uuid]});return h.then(A=>{this.dispatch(c(A))}).catch(()=>{this.dispatch(r(d.uuid))}),[d,h]}update(e){const{store:n}=this.client,{setOne:a}=this.actions,{selectById:c}=this.selectors,r=c(e.uuid)(n.getState());if(!r)throw new Error(`No asset stage with uuid ${e.uuid} found in the store`);const l={...r,...e};this.dispatch(a(l));const u=this.enqueueRequest({description:O(m.PATCH,this.name,!1),method:m.PATCH,url:`${this.url}/${r.uuid}/`,payload:e,blockers:[r.uuid],blocks:[r.uuid]});return u.then(d=>{this.dispatch(a(d))}).catch(()=>{this.dispatch(a(r))}),[l,u]}async delete(e){const{store:n}=this.client,{deleteOne:a,addOne:c}=this.actions,{selectById:r}=this.selectors,l=n.getState(),u=r(e)(l);if(!u)throw new Error(`No asset stage with uuid ${e} found in the store`);this.dispatch(a(e));try{return await this.enqueueRequest({description:O(m.DELETE,this.name,!1),method:m.DELETE,url:`${this.url}/${e}/`,blockers:[e],blocks:[]})}catch(d){throw this.dispatch(c(u)),d}}async refreshStore(e,n){const{initialize:a}=this.actions,c=await this.list({queryParams:{asset_procedure_type__organization:e}},n);return this.dispatch(a(c)),c}}class Tg extends Je{constructor(){super(...arguments);y(this,"name","Asset Type Attachment");y(this,"url","/asset-type-attachments");y(this,"actions",{addOne:pu,addMany:zs,setOne:Au,setMany:fu,updateOne:Su,updateMany:Tu,deleteOne:Iu,deleteMany:Bs,initialize:yu});y(this,"selectors",{selectById:Pu,selectByIds:Fu})}getId(e){return e.uuid}buildModel(e){return _({file:URL.createObjectURL(e.file),file_sha1:e.file_sha1,created_by:e.created_by,file_name:e.file.name,file_type:e.file.type,submitted_at:e.submitted_at,asset_type:e.modelUuid})}buildPayload(e,n){return{uuid:e.uuid,file_name:e.file_name,file_sha1:e.file_sha1,file_extension:n.extension,asset_type:e.asset_type}}async bulkAdd(e){return this._bulkAdd(e.map(n=>({modelUuid:n.assetTypeUuid,file:n.file})))}async delete(e){return this._delete(e)}async refreshStore(e,n){const{initialize:a}=this.actions,c=await this.list({queryParams:{asset_type__organization:e}},n);return this.dispatch(a(c)),c}}class Ig extends E{constructor(){super(...arguments);y(this,"name","Asset Type Fields Attachment");y(this,"url","/asset-type-fields-attachments");y(this,"actions",{addOne:Ru,addMany:wu,setOne:Eu,setMany:vu,updateOne:Vu,updateMany:zu,deleteOne:Bu,deleteMany:ju,initialize:Mu});y(this,"selectors",{selectById:Du,selectByIds:Cu})}async bulkAdd(e){var A;const{addMany:n,setMany:a,deleteMany:c}=this.actions,r=new Date().toISOString(),l=((A=this.client.store.getState().userReducer.currentUser)==null?void 0:A.id)??null,u={},d=[],h=[];for(const f of e){const{fieldsRevisionUuid:S,fieldIdentifier:F,file:P}=f,g=await this.client.files.getFilePayload(P);g.sha1 in u||(u[g.sha1]=g);const w=_({file:URL.createObjectURL(P),file_type:P.type,file_name:P.name,file_sha1:g.sha1,created_by:l,fields_revision:S,submitted_at:r,field_identifier:F});d.push(w);const V={uuid:w.uuid,file_name:P.name,field_identifier:F,file_extension:g.extension,file_sha1:g.sha1,fields_revision:S};h.push(V)}this.dispatch(n(d));const p=this.enqueueRequest({description:O(m.POST,this.name,!0),method:m.POST,url:`${this.url}/bulk/`,payload:{submitted_at:r,attachments:h,files:Object.values(u)},blockers:d.map(f=>f.fields_revision),blocks:d.map(f=>f.uuid)});return p.then(f=>{this.client.files.processPresignedUrls(f.presigned_urls),this.dispatch(a(f.attachments))}).catch(()=>{this.dispatch(c(d.map(f=>f.uuid)))}),[d,p.then(({attachments:f})=>f)]}async refreshStore(e,n){const{initialize:a}=this.actions,c=await this.list({queryParams:{fields_revision__asset_type__organization:e}},n);return this.dispatch(a(c)),c}}class Og extends E{constructor(){super(...arguments);y(this,"name","Asset Type Fields");y(this,"url","/asset-type-fields");y(this,"actions",{addOne:ku,addMany:Nu,setOne:Gu,setMany:Hu,updateOne:Wu,updateMany:Ku,deleteOne:Yu,deleteMany:Zu,initialize:Lu});y(this,"selectors",{selectById:Xu,selectByIds:Qu})}add(e){var p;const{store:n}=this.client,{addOne:a,setOne:c,deleteOne:r}=this.actions,l=((p=n.getState().userReducer.currentUser)==null?void 0:p.id)??null,u=new Date().toISOString(),d=_({...e,created_by:l,submitted_at:u});this.dispatch(a(d));const h=this.enqueueRequest({description:O(m.POST,this.name,!1),method:m.POST,url:`${this.url}/`,payload:z(d),blockers:[d.asset_type],blocks:[d.uuid]});return h.then(A=>{this.dispatch(c(A))}).catch(A=>{throw this.dispatch(r(d.uuid)),A}),[d,h]}async refreshStore(e,n){const{initialize:a}=this.actions,c=await this.list({queryParams:{asset_type__organization:e}},n);return this.dispatch(a(c)),c}}class Pg extends E{constructor(){super(...arguments);y(this,"name","Asset Type Field Values Attachment");y(this,"url","/asset-type-field-values-attachments");y(this,"actions",{addOne:sl,addMany:Us,setOne:il,setMany:nl,updateOne:al,updateMany:cl,deleteOne:dl,deleteMany:Ls,initialize:tl});y(this,"selectors",{selectById:ul,selectByIds:ll})}async bulkAdd(e,n){var f;const{addMany:a,setMany:c,deleteMany:r}=this.actions,l=new Date().toISOString(),u=((f=this.client.store.getState().userReducer.currentUser)==null?void 0:f.id)??null,d=Qe(e,n??e.length),h=[],p=[];for(const S of d){const F={},P=[];for(const g of S){const{fieldValuesUuid:w,fieldIdentifier:V,file:v}=g,B=await this.client.files.getFilePayload(v);B.sha1 in F||(F[B.sha1]=B);const q=_({file:URL.createObjectURL(v),file_type:v.type,file_name:v.name,file_sha1:B.sha1,created_by:u,field_values:w,submitted_at:l,field_identifier:V});h.push(q);const $={uuid:q.uuid,file_name:v.name,file_sha1:B.sha1,file_extension:B.extension,field_identifier:V,field_values:w};P.push($)}p.push({submitted_at:l,attachments:P,files:Object.values(F)})}this.dispatch(a(h));const A=p.map(S=>this.enqueueRequest({description:O(m.POST,this.name,!0),method:m.POST,url:`${this.url}/bulk/`,payload:S,blockers:S.attachments.map(F=>F.field_values),blocks:S.attachments.map(F=>F.uuid)}));return Promise.all(A).then(S=>{for(const P of S)this.client.files.processPresignedUrls(P.presigned_urls);const F=S.flatMap(P=>P.attachments);this.dispatch(c(F))}).catch(S=>{throw this.dispatch(r(h.map(F=>F.uuid))),S}),[h,A.map(S=>S.then(({attachments:F})=>F))]}async bulkDelete(e){const{store:n}=this.client,{deleteMany:a,addMany:c}=this.actions,{selectByIds:r}=this.selectors,l=n.getState(),u=r(e)(l);this.dispatch(a(e));try{return await this.enqueueRequest({description:O(m.DELETE,this.name,!0),method:m.DELETE,url:`${this.url}/bulk/`,payload:{uuids:e},blockers:e,blocks:[]})}catch(d){throw this.dispatch(c(u)),d}}async refreshStore(e,n){const{initialize:a}=this.actions,r=(await this.listPaginated({queryParams:{field_values__asset__project:e,latest:!0}},n)).flat();return this.dispatch(a(r)),r}}class Fg extends E{constructor(){super(...arguments);y(this,"name","Asset Type Field Values");y(this,"url","/asset-type-field-values");y(this,"actions",{addOne:pl,addMany:Al,setOne:fl,setMany:Sl,updateOne:Tl,updateMany:Il,deleteOne:Ol,deleteMany:Pl,initialize:yl});y(this,"selectors",{selectById:gl,selectByIds:bl})}add(e){var A;const{store:n}=this.client,{addOne:a,setOne:c,deleteOne:r}=this.actions,u=((A=n.getState().userReducer.currentUser)==null?void 0:A.id)??null,d=new Date().toISOString(),h=_({...e,created_by:u,submitted_at:d}),p=this.enqueueRequest({description:O(m.POST,this.name,!1),method:m.POST,url:`${this.url}/`,payload:z(h),blockers:[e.asset,e.fields_revision],blocks:[h.uuid]});return this.dispatch(a(h)),p.then(f=>{this.dispatch(c(f))}).catch(()=>{this.dispatch(r(h.uuid))}),[h,p]}bulkAdd(e,n){var A;const{addMany:a,setMany:c,deleteMany:r}=this.actions,l=new Date().toISOString(),u=[],d=Qe(e.payloads,n??e.payloads.length),h=[];for(const f of d){const S=[];for(const F of f){const P=_({...F,values:F.values,created_by:((A=this.client.store.getState().userReducer.currentUser)==null?void 0:A.id)??null,submitted_at:l});u.push(P),S.push({uuid:P.uuid,asset:F.asset,fields_revision:F.fields_revision,published_at:F.published_at,values:P.values})}h.push({submitted_at:l,values:e.values,field_values:S})}this.dispatch(a(u));const p=[];for(const f of h){const S=f.field_values.map(w=>w.asset),F=f.field_values.map(w=>w.fields_revision),P=f.field_values.map(w=>w.uuid),g=this.enqueueRequest({description:O(m.POST,this.name,!0),method:m.POST,url:`${this.url}/bulk/`,payload:f,blockers:[...S,...F],blocks:P});p.push(g)}return Promise.all(p).then(f=>{this.dispatch(c(f.flat()))}).catch(()=>{this.dispatch(r(u.map(f=>f.uuid)))}),[u,p]}update(e){const{store:n}=this.client,{setOne:a}=this.actions,{selectById:c}=this.selectors,r=n.getState(),l=c(e.uuid)(r);if(!l)throw new Error(`Expected AssetTypeFieldValues with uuid ${e.uuid} to exist`);const u={...l,...e};this.dispatch(a(u));const d=this.enqueueRequest({description:O(m.PATCH,this.name,!1),method:m.PATCH,url:`${this.url}/${e.uuid}/`,payload:e,blockers:[u.uuid,u.fields_revision,u.asset],blocks:[u.uuid]});return d.then(h=>{this.dispatch(a(h))}).catch(()=>{this.dispatch(a(l))}),[u,d]}async delete(e){const{store:n}=this.client,{deleteOne:a,addOne:c}=this.actions,{selectById:r}=this.selectors,l=n.getState(),u=r(e)(l);if(!u)throw new Error(`Expected submission with uuid ${e} to exist`);const d=ol(e)(l);this.dispatch(a(e)),this.dispatch(Ls(D(d)));try{return await this.enqueueRequest({description:O(m.DELETE,this.name,!1),method:m.DELETE,url:`${this.url}/${e}/`,blockers:[e],blocks:[]})}catch(h){throw this.dispatch(c(u)),this.dispatch(Us(d)),h}}async refreshStore(e,n){const{initialize:a}=this.actions,r=(await this.listPaginated({queryParams:{asset__project:e,latest:!0}},n)).flat();return this.dispatch(a(r)),r}}class gg extends E{constructor(){super(...arguments);y(this,"name","Asset Type Identifier");y(this,"url","/asset-type-identifiers");y(this,"actions",{addOne:wl,addMany:El,setOne:vl,setMany:Vl,updateOne:zl,updateMany:Bl,deleteOne:jl,deleteMany:ql,initialize:Rl});y(this,"selectors",{selectById:Cl,selectByIds:$l})}add(e){var p;const{store:n}=this.client,{addOne:a,setOne:c,deleteOne:r}=this.actions,l=((p=n.getState().userReducer.currentUser)==null?void 0:p.id)??null,u=new Date().toISOString(),d=_({...e,created_by:l,submitted_at:u});this.dispatch(a(d));const h=this.enqueueRequest({description:O(m.POST,this.name,!1),method:m.POST,url:`${this.url}/`,payload:z(d),blockers:[d.asset_type],blocks:[d.uuid]});return h.then(A=>{this.dispatch(c(A))}).catch(()=>{this.dispatch(r(d.uuid))}),[d,h]}update(e){const{store:n}=this.client,{setOne:a}=this.actions,{selectById:c}=this.selectors,r=c(e.uuid)(n.getState());if(!r)throw new Error(`Expected asset type identifier with uuid ${e.uuid} to exist`);const l={...r,...e};this.dispatch(a(l));const u=this.enqueueRequest({description:O(m.PATCH,this.name,!1),method:m.PATCH,url:`${this.url}/${e.uuid}/`,payload:e,blockers:[e.uuid],blocks:[e.uuid]});return u.then(d=>{this.dispatch(a(d))}).catch(()=>{this.dispatch(a(r))}),[l,u]}async delete(e){const{store:n}=this.client,{deleteOne:a,addOne:c}=this.actions,{selectById:r}=this.selectors,l=n.getState(),u=r(e)(l);if(!u)throw new Error(`Expected asset type identifier with uuid ${e} to exist`);this.dispatch(a(e));try{return await this.enqueueRequest({description:O(m.DELETE,this.name,!1),method:m.DELETE,url:`${this.url}/${e}/`,blockers:[e],blocks:[]})}catch(d){throw this.dispatch(c(u)),d}}async refreshStore(e,n){const{initialize:a}=this.actions,c=await this.list({queryParams:{asset_type__organization:e}},n);return this.dispatch(a(c)),c}}class bg extends E{constructor(){super(...arguments);y(this,"name","Asset Type Identifier Value");y(this,"url","/asset-type-identifier-values");y(this,"actions",{addOne:Nl,addMany:Gl,setOne:Hl,setMany:Wl,updateOne:Kl,updateMany:Yl,deleteOne:Zl,deleteMany:Jl,initialize:kl});y(this,"selectors",{selectById:Ql,selectByIds:xl})}add(e){var p;const{store:n}=this.client,{addOne:a,setOne:c,deleteOne:r}=this.actions,l=((p=n.getState().userReducer.currentUser)==null?void 0:p.id)??null,u=new Date().toISOString(),d=_({...e,created_by:l,submitted_at:u});this.dispatch(a(d));const h=this.enqueueRequest({description:O(m.POST,this.name,!1),method:m.POST,url:`${this.url}/`,payload:z(d),blockers:[e.asset,e.asset_type_identifier],blocks:[d.uuid]});return h.then(A=>{this.dispatch(c(A))}).catch(()=>{this.dispatch(r(d.uuid))}),[d,h]}update(e){const{store:n}=this.client,{setOne:a}=this.actions,{selectById:c}=this.selectors,r=c(e.uuid)(n.getState());if(!r)throw new Error(`Expected asset type identifier value with uuid ${e.uuid} to exist`);const l={...r,...e};this.dispatch(a(l));const u=this.enqueueRequest({description:O(m.PATCH,this.name,!1),method:m.PATCH,url:`${this.url}/${e.uuid}/`,payload:e,blockers:[e.uuid],blocks:[e.uuid]});return u.then(d=>{this.dispatch(a(d))}).catch(()=>{this.dispatch(a(r))}),[l,u]}async delete(e){const{store:n}=this.client,{deleteOne:a,addOne:c}=this.actions,{selectById:r}=this.selectors,l=n.getState(),u=r(e)(l);if(!u)throw new Error(`Expected asset type identifier value with uuid ${e} to exist`);this.dispatch(a(e));try{return await this.enqueueRequest({description:O(m.DELETE,this.name,!1),method:m.DELETE,url:`${this.url}/${e}/`,blockers:[e],blocks:[]})}catch(d){throw this.dispatch(c(u)),d}}async refreshStore(e,n){const{initialize:a}=this.actions,r=(await this.listPaginated({queryParams:{asset__project:e}},n)).flat();return this.dispatch(a(r)),r}}class _g extends E{constructor(){super(...arguments);y(this,"name","Asset Type");y(this,"url","/asset-types");y(this,"actions",{addOne:ao,addMany:co,setOne:io,setMany:no,updateOne:ro,updateMany:uo,deleteOne:lo,deleteMany:oo,initialize:so});y(this,"selectors",{selectById:mo,selectByIds:yo})}add(e){var p;const{store:n}=this.client,{addOne:a,setOne:c,deleteOne:r}=this.actions,l=((p=n.getState().userReducer.currentUser)==null?void 0:p.id)??null,u=new Date().toISOString(),d=_({...e,created_by:l,submitted_at:u});this.dispatch(a(d));const h=this.enqueueRequest({description:O(m.POST,this.name,!1),method:m.POST,url:`${this.url}/`,payload:z(d),blockers:[],blocks:[d.uuid]});return h.then(A=>{this.dispatch(c(A))}).catch(()=>{this.dispatch(r(d.uuid))}),[d,h]}update(e){const{store:n}=this.client,{setOne:a}=this.actions,{selectById:c}=this.selectors,r=c(e.uuid)(n.getState());if(!r)throw new Error(`Expected asset type with uuid ${e.uuid} to exist`);const l={...r,...e};this.dispatch(a(l));const u=this.enqueueRequest({description:O(m.PATCH,this.name,!1),method:m.PATCH,url:`${this.url}/${e.uuid}/`,payload:e,blockers:[r.uuid],blocks:[r.uuid]});return u.then(d=>{this.dispatch(a(d))}).catch(()=>{this.dispatch(a(r))}),[l,u]}async delete(e){const{store:n}=this.client,{deleteOne:a,addOne:c}=this.actions,{selectById:r}=this.selectors,l=n.getState(),u=r(e)(l);if(!u)throw new Error(`Expected asset type with uuid ${e} to exist`);const d=Ms(e)(l),h=gu(e)(l);this.dispatch(a(e)),this.dispatch(bs(D(d))),this.dispatch(Bs(D(h)));try{return await this.enqueueRequest({description:O(m.DELETE,this.name,!1),method:m.DELETE,url:`${this.url}/${e}/`,blockers:[e],blocks:[]})}catch(p){throw this.dispatch(c(u)),this.dispatch(gs(d)),this.dispatch(zs(h)),p}}async refreshStore(e,n){const{initialize:a}=this.actions,c=await this.list({queryParams:{organization:e}},n);return this.dispatch(a(c)),c}}class Mg extends E{constructor(){super(...arguments);y(this,"name","Asset Type Status");y(this,"url","/asset-type-statuses");y(this,"actions",{addOne:So,addMany:To,setOne:Io,setMany:Oo,updateOne:Po,updateMany:Fo,deleteOne:go,deleteMany:bo,initialize:fo});y(this,"selectors",{selectById:Mo,selectByIds:Ro})}add(e){var p;const{store:n}=this.client,{addOne:a,setOne:c,deleteOne:r}=this.actions,l=((p=n.getState().userReducer.currentUser)==null?void 0:p.id)??null,u=new Date().toISOString(),d=_({...e,created_by:l,submitted_at:u});this.dispatch(a(d));const h=this.enqueueRequest({description:O(m.POST,this.name,!1),method:m.POST,url:`${this.url}/`,payload:z(d),blockers:[e.asset_type],blocks:[d.uuid]});return h.then(A=>{this.dispatch(c(A))}).catch(()=>{this.dispatch(r(d.uuid))}),[d,h]}update(e){const{setOne:n}=this.actions,{selectById:a}=this.selectors,c=this.client.store.getState(),r=a(e.uuid)(c);if(!r)throw new Error(`Expected an existing asset type status with uuid ${e.uuid}`);const l={...r,...e};this.dispatch(n(l));const u=this.enqueueRequest({description:O(m.PATCH,this.name,!1),method:m.PATCH,url:`${this.url}/${e.uuid}/`,payload:e,blockers:[e.uuid],blocks:[e.uuid]});return u.then(d=>{this.dispatch(n(d))}).catch(()=>{this.dispatch(n(r))}),[l,u]}async delete(e){const{store:n}=this.client,{deleteOne:a,addOne:c}=this.actions,{selectById:r}=this.selectors,l=r(e)(n.getState());if(!l)throw new Error(`No asset type status with uuid ${e} found in the store`);this.dispatch(a(e));try{return await this.enqueueRequest({description:O(m.DELETE,this.name,!1),method:m.DELETE,url:`${this.url}/${e}/`,blockers:[e],blocks:[]})}catch(u){throw this.dispatch(c(l)),u}}async refreshStore(e,n){const{initialize:a}=this.actions,c=await this.list({queryParams:{asset_type__organization:e}},n);return this.dispatch(a(c)),c}}class Rg extends E{constructor(){super(...arguments);y(this,"name","Category");y(this,"url","/categories");y(this,"actions",{addOne:jo,addMany:qo,setOne:Do,setMany:Co,updateOne:$o,updateMany:Uo,deleteOne:Lo,deleteMany:ko,initialize:Bo});y(this,"selectors",{selectById:xs,selectByIds:Go})}add(e){var p;const{store:n}=this.client,{addOne:a,updateOne:c,deleteOne:r}=this.actions,l=((p=n.getState().userReducer.currentUser)==null?void 0:p.id)??null,u=new Date().toISOString(),d=_({...e,created_by:l,submitted_at:u});this.dispatch(a(d));const h=this.enqueueRequest({description:O(m.POST,this.name,!1),method:m.POST,url:`${this.url}/`,payload:z(d),blockers:[e.project],blocks:[d.uuid]});return h.then(A=>{this.dispatch(c(A))}).catch(()=>{this.dispatch(r(d.uuid))}),[d,h]}update(e){const{updateOne:n}=this.actions,{selectById:a}=this.selectors,c=this.client.store.getState(),r=a(e.uuid)(c);if(!r)throw new Error(`Expected an existing category with uuid ${e.uuid}`);const l={...r,...e};this.dispatch(n(l));const u=this.enqueueRequest({description:O(m.PATCH,this.name,!1),method:m.PATCH,url:`${this.url}/${e.uuid}/`,payload:e,blockers:[e.uuid],blocks:[e.uuid]});return u.then(d=>{this.dispatch(n(d))}).catch(()=>{this.dispatch(n(r))}),[l,u]}async delete(e){const{store:n}=this.client,{deleteOne:a,addOne:c}=this.actions,{selectById:r}=this.selectors,l=r(e)(n.getState());if(!l)throw new Error(`No category with uuid ${e} found in the store`);this.dispatch(a(e));try{return await this.enqueueRequest({description:O(m.DELETE,this.name,!1),method:m.DELETE,url:`${this.url}/${l.uuid}/`,blockers:[l.uuid],blocks:[]})}catch(u){throw this.dispatch(c(l)),u}}async refreshStore(e,n){const{initialize:a}=this.actions,c=await this.list({queryParams:{project__organization:e}},n);return this.dispatch(a(c)),c}}class wg extends Je{constructor(){super(...arguments);y(this,"name","Document Attachment");y(this,"url","/document-attachments");y(this,"actions",{addOne:Yo,addMany:Zo,setOne:Jo,setMany:Xo,updateOne:Qo,updateMany:xo,deleteOne:eh,deleteMany:th,initialize:Ko});y(this,"selectors",{selectById:ih,selectByIds:nh})}getId(e){return e.uuid}buildModel(e){return _({file:URL.createObjectURL(e.file),file_sha1:e.file_sha1,created_by:e.created_by,file_name:e.file.name,file_type:e.file.type,submitted_at:e.submitted_at,document:e.modelUuid})}buildPayload(e,n){return{uuid:e.uuid,file_name:e.file_name,file_sha1:e.file_sha1,file_extension:n.extension,document:e.document}}async bulkAdd(e){var S;const{store:n}=this.client,{addMany:a,updateMany:c,deleteMany:r}=this.actions,l=((S=n.getState().userReducer.currentUser)==null?void 0:S.id)??null,u=new Date().toISOString(),d=[],h=[],p={},A={};for(const F of e){const{documentUuid:P,file:g}=F,w=await this.client.files.getFilePayload(g);w.sha1 in p||(p[w.sha1]=w,A[w.sha1]=[]);const V=this.buildModel({file:g,file_sha1:w.sha1,submitted_at:u,created_by:l,modelUuid:P});d.push(V),h.push(this.buildPayload(V,w)),A[w.sha1].push(V.uuid)}this.dispatch(a(d));const f=this.enqueueRequest({description:O(m.POST,this.name,!0),method:m.POST,url:`${this.url}/bulk/`,payload:{submitted_at:u,attachments:h,files:Object.values(p)},blocks:d.map(F=>F.uuid),blockers:d.map(F=>F.file_sha1)});return f.then(({attachments:F,presigned_urls:P})=>{this.dispatch(c(F));const g=this.client.files.processPresignedUrls(P);for(const[w,V]of Object.entries(g))V.then(()=>{const v=A[w];for(const B of v)this.makeReadable(B)})}).catch(()=>{this.dispatch(r(d.map(F=>F.uuid)))}),[d,f.then(({attachments:F})=>F)]}async delete(e){return this._delete(e)}makeReadable(e){this.enqueueRequest({description:"Add attachment to AI assistant",method:m.PATCH,url:`${this.url}/${e}/`,payload:{readable_to_assistant:!0},blockers:["index-document-attachment",e],blocks:["index-document-attachment"]})}async refreshStore(e,n){const{initialize:a}=this.actions,c=this.list({queryParams:{document__project__organization:e}},n),r=this.list({queryParams:{document__organization:e}},n),u=(await Promise.all([c,r])).flat();return this.dispatch(a(u)),u}}class Eg extends E{constructor(){super(...arguments);y(this,"name","Document");y(this,"url","/documents");y(this,"actions",{addOne:rh,addMany:uh,setOne:lh,setMany:oh,updateOne:hh,updateMany:mh,deleteOne:yh,deleteMany:ph,initialize:dh});y(this,"selectors",{selectById:fh,selectByIds:Sh})}add(e){var p;const{store:n}=this.client,{addOne:a,deleteOne:c,updateOne:r}=this.actions,l=((p=n.getState().userReducer.currentUser)==null?void 0:p.id)??null,u=new Date().toISOString(),d=_({...e,created_by:l,submitted_at:u});this.dispatch(a(d));const h=this.enqueueRequest({description:O(m.POST,this.name,!1),method:m.POST,url:`${this.url}/`,payload:z(d),blockers:d.parent_document?[d.parent_document]:[],blocks:[d.uuid]});return h.then(A=>{this.dispatch(r(A))}).catch(()=>{this.dispatch(c(d.uuid))}),[d,h]}update(e){const{store:n}=this.client,{updateOne:a}=this.actions,{selectById:c}=this.selectors,r=c(e.uuid)(n.getState());if(!r)throw new Error(`attempting to update a document with uuid ${e.uuid} that does not exist in store.documents`);const l={...r,...e};this.dispatch(a(l));const u=this.enqueueRequest({description:O(m.PATCH,this.name,!1),method:m.PATCH,url:`${this.url}/${e.uuid}/`,payload:e,blockers:[e.uuid],blocks:[e.uuid]});return u.then(d=>{this.dispatch(a(d))}).catch(()=>{this.dispatch(a(r))}),[l,u]}async delete(e){const{store:n}=this.client,{deleteOne:a,addOne:c,addMany:r,deleteMany:l}=this.actions,{selectById:u}=this.selectors,d=n.getState(),h=u(e)(d);if(!h)throw new Error(`attempting to delete a document with uuid ${e} that does not exist in store.documents`);const p=Th(e)(d);this.dispatch(a(e)),this.dispatch(l(D(p)));try{return await this.enqueueRequest({description:O(m.DELETE,this.name,!1),method:m.DELETE,url:`${this.url}/${e}/`,blockers:[e],blocks:[]})}catch(A){throw this.dispatch(c(h)),this.dispatch(r(p)),A}}async refreshStore(e,n){const{initialize:a}=this.actions,c=this.list({queryParams:{project__organization:e}},n),r=this.list({queryParams:{organization:e}},n),u=(await Promise.all([c,r])).flat();return this.dispatch(a(u)),u}}class nt extends Xe{async get(s,e){return this.performRequest({url:`${this.url}/${s}/`,method:m.GET},e)}async list(s,e){return this.performRequest({url:`${this.url}/`,method:m.GET,...s},e)}async listPaginated(s,e){return this.performPagination({url:`${this.url}/`,method:m.GET,...s},e)}}class vg extends nt{constructor(){super(...arguments);y(this,"name","Email Domains");y(this,"url","/organization-email-domains");y(this,"actions",{addOne:Ph,addMany:Fh,setOne:gh,setMany:bh,updateOne:_h,updateMany:Mh,deleteOne:Rh,deleteMany:wh,initialize:Oh});y(this,"selectors",{selectById:vh,selectByIds:Vh})}async add(e,n){return this.enqueueRequest({description:O(m.POST,this.name,!1),method:m.POST,url:`${this.url}/`,payload:{email:n,organization:e},blockers:[e,"create-org"],blocks:[]})}async delete(e){const{deleteOne:n,addOne:a}=this.actions;this.dispatch(n(e.uuid));try{return await this.enqueueRequest({description:O(m.DELETE,this.name,!1),method:m.DELETE,url:`${this.url}/${e.uuid}/`,blockers:[e.domain],blocks:[]})}catch(c){throw this.dispatch(a(e)),c}}async refreshStore(e,n){const{initialize:a}=this.actions,c=await this.list({queryParams:{organization:e}},n);return this.dispatch(a(c)),c}}class Vg extends Xe{async getVerificationCode(s){return this.enqueueRequest({description:"Get verification code",method:m.GET,url:`/verification/email-verification/${s}/`,isAuthNeeded:!1,blockers:[],blocks:[]})}validateVerificationCode(s,e=void 0){return this.enqueueRequest({description:"Validate verification code",method:m.POST,url:`/verification/email-verification/${s}/`,isAuthNeeded:!1,payload:e,blockers:[],blocks:[]})}}const Dt={},Bn=new Set;let Ct=0,jn=0,qn=0;const zg=20;class Bg extends Xe{constructor(){super(...arguments);y(this,"host");y(this,"_dbPromise",wO.openDB("fileCache",1,{upgrade(e){e.createObjectStore("files")}}))}async renewUploadUrl(e){const n=await this.fetchCache(e);if(!n)throw new Error(`File with sha1 ${e} not found in cache`);const a=await Gt(n,e),c=await this.enqueueRequest({description:"Get S3 URL",method:m.GET,url:"/authentication/files/presigned-upload-url/",queryParams:{sha1:await st(n),file_type:n.type,extension:n.name.split(".").pop(),size:n.size.toString()},blockers:[],blocks:[`s3-${a}`]});return"url"in c&&this.dispatch(qh({sha1:e,...c})),c}async addCache(e,n){if(Bn.has(n))return;if(!e.type){const r=e.name.split("."),l=r[r.length-1];e=new File([e],e.name,{type:l})}if(!e.name||!e.size||!e.type)throw new Error("Cannot add files to cache that do not have a name, size and type.");const a=await this._dbPromise;!!await a.get("files",n)?(console.error("File already cached (this is unexpected at this point):",e.name,n),Ct++):(await a.put("files",e,n),jn++),Bn.add(n),qn++,qn%zg===0&&console.debug(`File cache summary: ${Ct} hits and ${jn} misses, ${Ct/(Ct+jn)*100}% hit rate over ${qn} calls to addCache.`)}async removeCache(e){await(await this._dbPromise).delete("files",e),Bn.delete(e)}async fetchCache(e){return(await this._dbPromise).get("files",e)}async getOrRenewUploadUrl(e){const n=this.client.store.getState();return Dh(e)(n)??await this.renewUploadUrl(e)}async uploadFileToS3(e){const n=await this.fetchCache(e);if(!n)throw new Error(`File with sha1 ${e} not found in cache`);const a=await Gt(n,e),c={file_name:n.name,file_sha1:e,file:a},r=await this.getOrRenewUploadUrl(e);if("warning"in r){if(r.warning==="already_uploaded")return[c,Promise.resolve(void 0)];throw new Error(r.warning)}const l=r.url,u=this.enqueueRequest({url:l,description:"Upload file",method:m.POST,isExternalUrl:!0,isAuthNeeded:!1,attachmentHash:e,blockers:[`s3-${a}`],blocks:[e],s3url:r});return[c,u]}async fetchFileFromUrl(e,n,a){const c=e.split("?")[0]??e,r=await this.fetchCache(n);if(r){if(!r.name)throw new Error("Cached file unexpectedly has no name.");return r}if(e.startsWith("blob:")){const h=await Xn(e),p=new File([h],a??n,{type:h.type});return await this.addCache(p,n),p}let l=Dt[c],u=!0;l?u=!1:(l=new Promise(h=>{this.enqueueRequest({description:"Download file",method:m.GET,url:e,isExternalUrl:!0,isResponseBlob:!0,isAuthNeeded:!1,blockers:[n],blocks:[n]}).then(p=>{const A=new File([p],a??n,{type:p.type});h(A)})}),Dt[c]=l);let d;try{d=await l}catch(h){throw u&&h instanceof U&&delete Dt[c],h}if(u){const h=await st(d);if(h!==n){const f=`The hash of the file returned from the server (${h}) does not match the
8
+ `)}catch(a){console.error("Failed to extract error message from response body",a)}}else typeof t.body=="string"&&(e=t.body);else t!=null&&t.text?e=t.text:s instanceof Error&&(e=s.message);return!e||e.length>XP?tt:e}class U extends Error{constructor(e){super(tt);y(this,"status");y(this,"response");y(this,"message");y(this,"options");const{response:n,innerError:a}=e;this.message=e.message??QP(n,a)??tt,this.status=(n==null?void 0:n.status)??0,this.response=n,e.discard=e.discard??!1,this.options=e}}function mI(t){function s(e){return typeof e=="object"&&e!==null&&["ok","redirect","clientError","serverError","error"].every(a=>a in e)}if(s(t))return t;if(typeof t=="object"&&t!==null){const e=t;if(s(e.response))return e.response;if(e.response&&s(e.response.response))return e.response.response}}class xP extends iI{constructor(s){super(s)}}class Ze extends iI{constructor(e,n){super(e);y(this,"auth");this.auth=n}}class eF extends Ze{async startConversation(s,e){return this.enqueueRequest({description:"Start agent conversation",method:m.POST,url:"/agents/prompt/",payload:{prompt:s,active_project:e},blockers:["prompt"],blocks:["prompt"]}).then(n=>(this.dispatch(Jn(n)),n))}async continueConversation(s,e,n){return this.enqueueRequest({description:"Prompt agent",method:m.POST,url:"/agents/prompt/",payload:{prompt:s,active_project:n},blockers:["prompt"],blocks:["prompt"],queryParams:{conversation_id:e}}).then(a=>{this.dispatch(Qn(a))})}async fetchDetails(s){return this.enqueueRequest({description:"Get agent conversation",method:m.GET,url:`/agents/conversations/${s}/`,blockers:["conversation"],blocks:["conversation"]}).then(e=>{this.dispatch(Xn(e))})}async rate(s,e){return this.enqueueRequest({description:"Rate agent response",method:m.PUT,url:`/agents/responses/${s}/rate/`,payload:{rating:e},blockers:["rate"],blocks:["rate"]})}async list(s,e){return this.performRequest({method:m.GET,url:"/agents/conversations/",...s},e)}async refreshStore(s,e){const n=await this.list({queryParams:{project:s}},e);return this.dispatch(Zn(n)),n}}function O(t,s,e){const n=`${s}${e?"s":""}`;switch(t){case m.GET:return`Get ${n}`;case m.POST:return`Create ${n}`;case m.PATCH:return`Update ${n}`;case m.PUT:return`Update ${n}`;case m.DELETE:return`Delete ${n}`}}class E extends Ze{async get(s,e){return this.performRequest({url:`${this.url}/${s}/`,method:m.GET},e)}async list(s,e){return this.performRequest({url:`${this.url}/`,method:m.GET,...s},e)}async listPaginated(s,e){return this.performPagination({url:`${this.url}/`,method:m.GET,...s},e)}}class Ke extends E{constructor(){super(...arguments);y(this,"pageSize",tI)}async _bulkAdd(e){var f;const{store:n}=this.client,{addMany:a,updateMany:c,deleteMany:r}=this.actions,l=((f=n.getState().userReducer.currentUser)==null?void 0:f.uuid)??null,u=new Date().toISOString(),d=[],h=[],p={};for(const I of e){const{modelUuid:F,file:P}=I,g=await this.client.files.getFilePayload(P);g.sha1 in p||(p[g.sha1]=g);const b=this.buildModel({file:P,file_sha1:g.sha1,submitted_at:u,created_by:l,modelUuid:F});d.push(b),h.push(this.buildPayload(b,g))}this.dispatch(a(d));const A=this.enqueueRequest({description:O(m.POST,this.name,!0),method:m.POST,url:`${this.url}/bulk/`,payload:{submitted_at:u,attachments:h,files:Object.values(p)},blocks:d.map(I=>this.getId(I)),blockers:d.map(I=>I.file_sha1)});return A.then(({attachments:I,presigned_urls:F})=>{this.dispatch(c(I)),this.client.files.processPresignedUrls(F)}).catch(()=>{this.dispatch(r(d.map(I=>this.getId(I))))}),[d,A.then(({attachments:I})=>I)]}async _delete(e){const{store:n}=this.client,{addOne:a,deleteOne:c}=this.actions,{selectById:r}=this.selectors,l=r(e)(n.getState());if(!l)throw new Error(`Attempting to delete attachment with uuid ${e} that does not exist in the store`);this.dispatch(c(this.getId(l)));const u=this.enqueueRequest({description:O(m.DELETE,this.name,!1),method:m.DELETE,url:`${this.url}/${e}/`,blockers:[e],blocks:[]});return u.then(()=>{this.client.files.removeCache(l.file_sha1)}).catch(()=>{this.dispatch(a(l))}),u}}class tF extends Ke{constructor(){super(...arguments);y(this,"name","Asset attachment");y(this,"url","/asset-attachments");y(this,"actions",{addOne:sa,addMany:Yt,setOne:ia,setMany:na,updateOne:aa,updateMany:ca,deleteOne:da,deleteMany:Zt,initialize:ta});y(this,"selectors",{selectById:ua,selectByIds:la})}getId(e){return e.uuid}buildModel(e){return M({file:URL.createObjectURL(e.file),file_sha1:e.file_sha1,created_by:e.created_by,file_name:e.file.name,file_type:e.file.type,submitted_at:e.submitted_at,asset:e.modelUuid})}buildPayload(e,n){return{uuid:e.uuid,file_name:e.file_name,file_sha1:e.file_sha1,file_extension:n.extension,asset:e.asset}}async bulkAdd(e){return this._bulkAdd(e.map(n=>({modelUuid:n.assetUuid,file:n.file})))}async delete(e){return this._delete(e)}async refreshStore(e,n){const{initialize:a}=this.actions,r=(await this.listPaginated({queryParams:{asset__project:e}},n)).flat();return this.dispatch(a(r)),r}}class sF extends Ke{constructor(){super(...arguments);y(this,"name","Asset Procedure Attachment");y(this,"url","/asset-procedure-type-attachments");y(this,"actions",{addOne:pa,addMany:Aa,setOne:fa,setMany:Sa,updateOne:Ta,updateMany:Ia,deleteOne:Oa,deleteMany:Pa,initialize:ya});y(this,"selectors",{selectById:ba,selectByIds:_a})}getId(e){return e.uuid}buildModel(e){return M({file:URL.createObjectURL(e.file),file_sha1:e.file_sha1,created_by:e.created_by,file_name:e.file.name,file_type:e.file.type,submitted_at:e.submitted_at,asset_procedure_type:e.modelUuid})}buildPayload(e,n){return{uuid:e.uuid,file_name:e.file_name,file_sha1:e.file_sha1,file_extension:n.extension,asset_procedure_type:e.asset_procedure_type}}async bulkAdd(e){return this._bulkAdd(e.map(n=>({modelUuid:n.assetProcedureTypeUuid,file:n.file})))}async delete(e){return this._delete(e)}async refreshStore(e,n){const{initialize:a}=this.actions,c=await this.list({queryParams:{asset_procedure_type__organization:e}},n);return this.dispatch(a(c)),c}}class iF extends E{constructor(){super(...arguments);y(this,"name","Asset Procedure Type Fields Attachment");y(this,"url","/asset-procedure-type-fields-attachments");y(this,"actions",{addOne:wa,addMany:va,setOne:Ea,setMany:Va,updateOne:za,updateMany:Ba,deleteOne:ja,deleteMany:qa,initialize:Ra});y(this,"selectors",{selectById:$a,selectByIds:Ua})}async bulkAdd(e){var A;const{addMany:n,setMany:a,deleteMany:c}=this.actions,r=new Date().toISOString(),l=((A=this.client.store.getState().userReducer.currentUser)==null?void 0:A.uuid)??null,u={},d=[],h=[];for(const f of e){const{fieldsRevisionUuid:I,fieldIdentifier:F,file:P}=f,g=await this.client.files.getFilePayload(P);g.sha1 in u||(u[g.sha1]=g);const b=M({file:URL.createObjectURL(P),file_type:P.type,file_name:P.name,file_sha1:g.sha1,created_by:l,fields_revision:I,submitted_at:r,field_identifier:F});d.push(b);const v={uuid:b.uuid,file_name:P.name,field_identifier:F,file_extension:g.extension,file_sha1:g.sha1,fields_revision:I};h.push(v)}this.dispatch(n(d));const p=this.enqueueRequest({description:O(m.POST,this.name,!0),method:m.POST,url:`${this.url}/bulk/`,payload:{submitted_at:r,attachments:h,files:Object.values(u)},blockers:d.map(f=>f.fields_revision),blocks:d.map(f=>f.uuid)});return p.then(f=>{this.client.files.processPresignedUrls(f.presigned_urls),this.dispatch(a(f.attachments))}).catch(()=>{this.dispatch(c(d.map(f=>f.uuid)))}),[d,p.then(({attachments:f})=>f)]}async refreshStore(e,n){const{initialize:a}=this.actions,c=await this.list({queryParams:{fields_revision__asset_procedure_type__organization:e}},n);return this.dispatch(a(c)),c}}class nF extends E{constructor(){super(...arguments);y(this,"name","Asset Procedure Type Fields");y(this,"url","/asset-procedure-type-fields");y(this,"actions",{addOne:Na,addMany:Ga,setOne:Ha,setMany:Wa,updateOne:Ka,updateMany:Ya,deleteOne:Za,deleteMany:Ja,initialize:ka});y(this,"selectors",{selectById:xa,selectByIds:ec})}add(e){var p;const{store:n}=this.client,{addOne:a,setOne:c,deleteOne:r}=this.actions,l=((p=n.getState().userReducer.currentUser)==null?void 0:p.uuid)??null,u=new Date().toISOString(),d=M({...e,created_by:l,submitted_at:u});this.dispatch(a(d));const h=this.enqueueRequest({description:O(m.POST,this.name,!1),method:m.POST,url:`${this.url}/`,payload:z(d),blockers:[d.asset_procedure_type],blocks:[d.uuid]});return h.then(A=>{this.dispatch(c(A))}).catch(A=>{throw this.dispatch(r(d.uuid)),A}),[d,h]}async refreshStore(e,n){const{initialize:a}=this.actions,c=await this.list({queryParams:{asset_procedure_type__organization:e}},n);return this.dispatch(a(c)),c}}function Je(t,s){const e=[];let n=0;const a=t.length;for(;n<a;)e.push(t.slice(n,n+=s));return e}class aF extends E{constructor(){super(...arguments);y(this,"name","Asset Procedure Type Field Values Attachment");y(this,"url","/asset-procedure-type-field-values-attachments");y(this,"actions",{addOne:ic,addMany:is,setOne:nc,setMany:ac,updateOne:cc,updateMany:dc,deleteOne:rc,deleteMany:ns,initialize:sc});y(this,"selectors",{selectById:oc,selectByIds:hc})}async bulkAdd(e,n){var f;const{addMany:a,setMany:c,deleteMany:r}=this.actions,l=new Date().toISOString(),u=((f=this.client.store.getState().userReducer.currentUser)==null?void 0:f.uuid)??null,d=Je(e,Math.min(n??e.length,Ye)),h=[],p=[];for(const I of d){const F={},P=[];for(const g of I){const{fieldValuesUuid:b,fieldIdentifier:v,file:B}=g,V=await this.client.files.getFilePayload(B);V.sha1 in F||(F[V.sha1]=V);const q=M({file:URL.createObjectURL(B),file_type:B.type,file_name:B.name,file_sha1:V.sha1,created_by:u,field_values:b,submitted_at:l,field_identifier:v});h.push(q);const j={uuid:q.uuid,file_name:B.name,file_sha1:V.sha1,file_extension:V.extension,field_identifier:v,field_values:b};P.push(j)}p.push({submitted_at:l,attachments:P,files:Object.values(F)})}this.dispatch(a(h));const A=p.map(I=>this.enqueueRequest({description:O(m.POST,this.name,!0),method:m.POST,url:`${this.url}/bulk/`,payload:I,blockers:I.attachments.map(F=>F.field_values),blocks:I.attachments.map(F=>F.uuid)}));return Promise.all(A).then(I=>{for(const P of I)this.client.files.processPresignedUrls(P.presigned_urls);const F=I.flatMap(P=>P.attachments);this.dispatch(c(F))}).catch(I=>{throw this.dispatch(r(h.map(F=>F.uuid))),I}),[h,A.map(I=>I.then(({attachments:F})=>F))]}async bulkDelete(e){const{store:n}=this.client,{deleteMany:a,addMany:c}=this.actions,{selectByIds:r}=this.selectors,l=n.getState(),u=r(e)(l);this.dispatch(a(e));try{return await this.enqueueRequest({description:O(m.DELETE,this.name,!0),method:m.DELETE,url:`${this.url}/bulk/`,payload:{uuids:e},blockers:e,blocks:[]})}catch(d){throw this.dispatch(c(u)),d}}async refreshStore(e,n){const{initialize:a}=this.actions,r=(await this.listPaginated({queryParams:{field_values__asset_procedure__project:e,latest:!0}},n)).flat();return this.dispatch(a(r)),r}}class cF extends E{constructor(){super(...arguments);y(this,"name","Asset Procedure Type Field Values");y(this,"url","/asset-procedure-type-field-values");y(this,"actions",{addOne:Ac,addMany:fc,setOne:Sc,setMany:Tc,updateOne:Ic,updateMany:Oc,deleteOne:Pc,deleteMany:Fc,initialize:pc});y(this,"selectors",{selectById:_c,selectByIds:Mc})}add(e){var A;const{store:n}=this.client,{addOne:a,setOne:c,deleteOne:r}=this.actions,u=((A=n.getState().userReducer.currentUser)==null?void 0:A.uuid)??null,d=new Date().toISOString(),h=M({...e,created_by:u,submitted_at:d}),p=this.enqueueRequest({description:O(m.POST,this.name,!1),method:m.POST,url:`${this.url}/`,payload:z(h),blockers:[e.asset,e.fields_revision,e.asset_procedure],blocks:[h.uuid]});return this.dispatch(a(h)),p.then(f=>{this.dispatch(c(f))}).catch(()=>{this.dispatch(r(h.uuid))}),[h,p]}bulkAdd(e,n){var F;const{values:a,payloads:c}=e,{addMany:r,setMany:l,deleteMany:u}=this.actions,d=new Date().toISOString(),h=((F=this.client.store.getState().userReducer.currentUser)==null?void 0:F.uuid)??null,p=[],A=Je(c,Math.min(n??c.length,Ye)),f=[];for(const P of A){const g=[];for(const b of P){const v=M({...b,values:b.values,created_by:h,submitted_at:d});p.push(v),g.push({uuid:v.uuid,asset:b.asset,fields_revision:b.fields_revision,asset_procedure:b.asset_procedure,published_at:b.published_at,values:v.values})}f.push({submitted_at:d,values:a,field_values:g})}this.dispatch(r(p));const I=[];for(const P of f){const{field_values:g}=P,b=g.map(({asset:j})=>j),v=g.map(({fields_revision:j})=>j),B=g.map(({asset_procedure:j})=>j),V=g.map(({uuid:j})=>j),q=this.enqueueRequest({description:O(m.POST,this.name,!0),method:m.POST,url:`${this.url}/bulk/`,payload:P,blockers:b.concat(v).concat(B),blocks:V});I.push(q)}return Promise.all(I).then(P=>{this.dispatch(l(P.flat()))}).catch(()=>{this.dispatch(u(D(p)))}),[p,I]}update(e){const{store:n}=this.client,{setOne:a}=this.actions,{selectById:c}=this.selectors,r=n.getState(),l=c(e.uuid)(r);if(!l)throw new Error(`Expected AssetProcedureTypeFieldValues with uuid ${e.uuid} to exist`);const u={...l,...e};this.dispatch(a(u));const d=this.enqueueRequest({description:O(m.PATCH,this.name,!1),method:m.PATCH,url:`${this.url}/${e.uuid}/`,payload:e,blockers:[u.fields_revision,u.asset,u.asset_procedure],blocks:[u.uuid]});return d.then(h=>{this.dispatch(a(h))}).catch(()=>{this.dispatch(a(l))}),[u,d]}async delete(e){const{store:n}=this.client,{deleteOne:a,addOne:c}=this.actions,{selectById:r}=this.selectors,l=n.getState(),u=r(e)(l);if(!u)throw new Error(`Expected submission with uuid ${e} to exist`);const d=mc(e)(l);this.dispatch(a(e)),this.dispatch(ns(D(d)));try{return await this.enqueueRequest({description:O(m.DELETE,this.name,!1),method:m.DELETE,url:`${this.url}/${e}/`,blockers:[e],blocks:[]})}catch(h){throw this.dispatch(c(u)),this.dispatch(is(d)),h}}async refreshStore(e,n){const{initialize:a}=this.actions,r=(await this.listPaginated({queryParams:{asset_procedure__project:e,latest:!0}},n)).flat();return this.dispatch(a(r)),r}}class dF extends E{constructor(){super(...arguments);y(this,"name","Asset Procedure");y(this,"url","/asset-procedures");y(this,"actions",{addOne:vc,addMany:rs,setOne:Bc,setMany:jc,updateOne:Ec,updateMany:Vc,deleteOne:zc,deleteMany:us,initialize:wc});y(this,"selectors",{selectById:$c,selectByIds:Uc})}add(e){var p;const{store:n}=this.client,{addOne:a,setOne:c,deleteOne:r}=this.actions,l=((p=n.getState().userReducer.currentUser)==null?void 0:p.uuid)??null,u=new Date().toISOString(),d=M({...e,created_by:l,submitted_at:u});this.dispatch(a(d));const h=this.enqueueRequest({description:O(m.POST,this.name,!1),method:m.POST,url:`${this.url}/`,payload:z(d),blockers:[e.asset_procedure_type,e.asset_type],blocks:[d.uuid]});return h.then(A=>{this.dispatch(c(A))}).catch(()=>{this.dispatch(r(d.uuid))}),[d,h]}update(e){const{store:n}=this.client,{setOne:a}=this.actions,{selectById:c}=this.selectors,r=c(e.uuid)(n.getState());if(!r)throw new Error(`Expected asset procedure with uuid ${e.uuid} to exist`);const l={...r,...e};this.dispatch(a(l));const u=this.enqueueRequest({description:O(m.PATCH,this.name,!1),method:m.PATCH,url:`${this.url}/${e.uuid}/`,payload:e,blockers:[r.uuid],blocks:[r.uuid]});return u.then(d=>{this.dispatch(a(d))}).catch(()=>{this.dispatch(a(r))}),[l,u]}async delete(e){const{store:n}=this.client,{deleteOne:a,addOne:c}=this.actions,{selectById:r}=this.selectors,l=n.getState(),u=r(e)(l);if(!u)throw new Error(`Expected asset procedure with uuid ${e} to exist`);this.dispatch(a(e));try{return await this.enqueueRequest({description:O(m.DELETE,this.name,!1),method:m.DELETE,url:`${this.url}/${e}/`,blockers:[e],blocks:[]})}catch(d){throw this.dispatch(c(u)),d}}async refreshStore(e,n){const{initialize:a}=this.actions,r=(await this.listPaginated({queryParams:{project:e}},n)).flat();return this.dispatch(a(r)),r}}class rF extends E{constructor(){super(...arguments);y(this,"name","Asset Procedure Type");y(this,"url","/asset-procedure-types");y(this,"actions",{addOne:Nc,addMany:Gc,setOne:Zc,setMany:Jc,updateOne:Hc,updateMany:Wc,deleteOne:Kc,deleteMany:Yc,initialize:kc});y(this,"selectors",{selectById:xc,selectByIds:ed})}add(e){var p;const{store:n}=this.client,{addOne:a,setOne:c,deleteOne:r}=this.actions,l=((p=n.getState().userReducer.currentUser)==null?void 0:p.uuid)??null,u=new Date().toISOString(),d=M({...e,created_by:l,submitted_at:u});this.dispatch(a(d));const h=this.enqueueRequest({description:O(m.POST,this.name,!1),method:m.POST,url:`${this.url}/`,payload:z(d),blockers:[],blocks:[d.uuid]});return h.then(A=>{this.dispatch(c(A))}).catch(()=>{this.dispatch(r(d.uuid))}),[d,h]}update(e){const{store:n}=this.client,{setOne:a}=this.actions,{selectById:c}=this.selectors,r=c(e.uuid)(n.getState());if(!r)throw new Error(`Expected asset procedure type with uuid ${e.uuid} to exist`);const l={...r,...e};this.dispatch(a(l));const u=this.enqueueRequest({description:O(m.PATCH,this.name,!1),method:m.PATCH,url:`${this.url}/${e.uuid}/`,payload:e,blockers:[r.uuid],blocks:[r.uuid]});return u.then(d=>{this.dispatch(a(d))}).catch(()=>{this.dispatch(a(r))}),[l,u]}async delete(e){const{store:n}=this.client,{deleteOne:a,addOne:c}=this.actions,{selectById:r}=this.selectors,l=n.getState(),u=r(e)(l);if(!u)throw new Error(`Expected asset procedure type with uuid ${e} to exist`);const d=Dc(e)(l);this.dispatch(a(e)),this.dispatch(us(D(d)));try{return await this.enqueueRequest({description:O(m.DELETE,this.name,!1),method:m.DELETE,url:`${this.url}/${e}/`,blockers:[e],blocks:[]})}catch(h){throw this.dispatch(c(u)),this.dispatch(rs(d)),h}}async refreshStore(e,n){const{initialize:a}=this.actions,c=await this.list({queryParams:{organization:e}},n);return this.dispatch(a(c)),c}}class uF extends E{constructor(){super(...arguments);y(this,"name","Asset Procedure Step Fields Attachment");y(this,"url","/asset-procedure-step-fields-attachments");y(this,"actions",{addOne:id,addMany:nd,setOne:ad,setMany:cd,updateOne:dd,updateMany:rd,deleteOne:ud,deleteMany:ld,initialize:sd});y(this,"selectors",{selectById:hd,selectByIds:md})}async bulkAdd(e){var A;const{addMany:n,setMany:a,deleteMany:c}=this.actions,r=new Date().toISOString(),l=((A=this.client.store.getState().userReducer.currentUser)==null?void 0:A.uuid)??null,u={},d=[],h=[];for(const f of e){const{fieldsRevisionUuid:I,fieldIdentifier:F,file:P}=f,g=await this.client.files.getFilePayload(P);g.sha1 in u||(u[g.sha1]=g);const b=M({file:URL.createObjectURL(P),file_type:P.type,file_name:P.name,file_sha1:g.sha1,created_by:l,fields_revision:I,submitted_at:r,field_identifier:F});d.push(b);const v={uuid:b.uuid,file_name:P.name,field_identifier:F,file_extension:g.extension,file_sha1:g.sha1,fields_revision:I};h.push(v)}this.dispatch(n(d));const p=this.enqueueRequest({description:O(m.POST,this.name,!0),method:m.POST,url:`${this.url}/bulk/`,payload:{submitted_at:r,attachments:h,files:Object.values(u)},blockers:d.map(f=>f.fields_revision),blocks:d.map(f=>f.uuid)});return p.then(f=>{this.client.files.processPresignedUrls(f.presigned_urls),this.dispatch(a(f.attachments))}).catch(()=>{this.dispatch(c(d.map(f=>f.uuid)))}),[d,p.then(({attachments:f})=>f)]}async refreshStore(e,n){const{initialize:a}=this.actions,c=await this.list({queryParams:{fields_revision__asset_procedure_step__organization:e}},n);return this.dispatch(a(c)),c}}class lF extends E{constructor(){super(...arguments);y(this,"name","Asset Procedure Step Fields");y(this,"url","/asset-procedure-step-fields");y(this,"actions",{addOne:fd,addMany:Sd,setOne:Td,setMany:Id,updateOne:Od,updateMany:Pd,deleteOne:Fd,deleteMany:gd,initialize:Ad});y(this,"selectors",{selectById:bd,selectByIds:_d})}add(e){var p;const{store:n}=this.client,{addOne:a,setOne:c,deleteOne:r}=this.actions,l=((p=n.getState().userReducer.currentUser)==null?void 0:p.uuid)??null,u=new Date().toISOString(),d=M({...e,created_by:l,submitted_at:u});this.dispatch(a(d));const h=this.enqueueRequest({description:O(m.POST,this.name,!1),method:m.POST,url:`${this.url}/`,payload:z(d),blockers:[d.asset_procedure_step],blocks:[d.uuid]});return h.then(A=>{this.dispatch(c(A))}).catch(A=>{throw this.dispatch(r(d.uuid)),A}),[d,h]}update(e){const{store:n}=this.client,{setOne:a}=this.actions,c=n.getState().assetProcedureStepFieldsReducer.instances[e.uuid];if(!c)throw new Error(`AssetProcedureStepFields with uuid ${e.uuid} not found`);const r={...c,...e};this.dispatch(a(r));const l=this.enqueueRequest({description:O(m.PATCH,this.name,!1),method:m.PATCH,url:`${this.url}/${c.uuid}/`,payload:e,blockers:[c.uuid],blocks:[c.uuid]});return l.then(u=>{this.dispatch(a(u))}).catch(u=>{throw this.dispatch(a(c)),u}),[r,l]}async delete(e){const{store:n}=this.client,{deleteOne:a,addOne:c}=this.actions,r=n.getState().assetProcedureStepFieldsReducer.instances[e];if(!r)throw new Error(`AssetProcedureStepFields with uuid ${e} not found`);this.dispatch(a(e));try{return await this.enqueueRequest({description:O(m.DELETE,this.name,!1),method:m.DELETE,url:`${this.url}/${e}/`,blockers:[e],blocks:[e]})}catch(l){throw this.dispatch(c(r)),l}}async refreshStore(e,n){const{initialize:a}=this.actions,c=await this.list({queryParams:{asset_procedure_step__asset_procedure_type__organization:e}},n);return this.dispatch(a(c)),c}}class oF extends E{constructor(){super(...arguments);y(this,"name","Asset Procedure Step Field Values Attachment");y(this,"url","/asset-procedure-step-field-values-attachments");y(this,"actions",{addOne:vd,addMany:fs,setOne:Ed,setMany:Vd,updateOne:zd,updateMany:Bd,deleteOne:jd,deleteMany:Ss,initialize:wd});y(this,"selectors",{selectById:Cd,selectByIds:Dd})}async bulkAdd(e,n){var f;const{addMany:a,setMany:c,deleteMany:r}=this.actions,l=new Date().toISOString(),u=((f=this.client.store.getState().userReducer.currentUser)==null?void 0:f.uuid)??null,d=Je(e,Math.min(n??e.length,Ye)),h=[],p=[];for(const I of d){const F={},P=[];for(const g of I){const{fieldValuesUuid:b,fieldIdentifier:v,file:B}=g,V=await this.client.files.getFilePayload(B);V.sha1 in F||(F[V.sha1]=V);const q=M({file:URL.createObjectURL(B),file_type:B.type,file_name:B.name,file_sha1:V.sha1,created_by:u,field_values:b,submitted_at:l,field_identifier:v});h.push(q);const j={uuid:q.uuid,file_name:B.name,file_sha1:V.sha1,file_extension:V.extension,field_identifier:v,field_values:b};P.push(j)}p.push({submitted_at:l,attachments:P,files:Object.values(F)})}this.dispatch(a(h));const A=p.map(I=>this.enqueueRequest({description:O(m.POST,this.name,!0),method:m.POST,url:`${this.url}/bulk/`,payload:I,blockers:I.attachments.map(F=>F.field_values),blocks:I.attachments.map(F=>F.uuid)}));return Promise.all(A).then(I=>{for(const P of I)this.client.files.processPresignedUrls(P.presigned_urls);const F=I.flatMap(P=>P.attachments);this.dispatch(c(F))}).catch(I=>{throw this.dispatch(r(h.map(F=>F.uuid))),I}),[h,A.map(I=>I.then(({attachments:F})=>F))]}async bulkDelete(e){const{store:n}=this.client,{deleteMany:a,addMany:c}=this.actions,{selectByIds:r}=this.selectors,l=n.getState(),u=r(e)(l);this.dispatch(a(e));try{return await this.enqueueRequest({description:O(m.DELETE,this.name,!0),method:m.DELETE,url:`${this.url}/bulk/`,payload:{uuids:e},blockers:e,blocks:[]})}catch(d){throw this.dispatch(c(u)),d}}async refreshStore(e,n){const{initialize:a}=this.actions,r=(await this.listPaginated({queryParams:{field_values__asset_procedure__project:e,latest:!0}},n)).flat();return this.dispatch(a(r)),r}}class hF extends E{constructor(){super(...arguments);y(this,"name","Asset Procedure Step Field Values");y(this,"url","/asset-procedure-step-field-values");y(this,"actions",{addOne:Nd,addMany:Gd,setOne:Hd,setMany:Wd,updateOne:Kd,updateMany:Yd,deleteOne:Zd,deleteMany:Jd,initialize:kd});y(this,"selectors",{selectById:Qd,selectByIds:xd})}add(e){var A;const{store:n}=this.client,{addOne:a,setOne:c,deleteOne:r}=this.actions,u=((A=n.getState().userReducer.currentUser)==null?void 0:A.uuid)??null,d=new Date().toISOString(),h=M({...e,created_by:u,submitted_at:d}),p=this.enqueueRequest({description:O(m.POST,this.name,!1),method:m.POST,url:`${this.url}/`,payload:z(h),blockers:[e.asset,e.fields_revision,e.asset_procedure],blocks:[h.uuid]});return this.dispatch(a(h)),p.then(f=>{this.dispatch(c(f))}).catch(()=>{this.dispatch(r(h.uuid))}),[h,p]}bulkAdd(e,n){var F;const{payloads:a,values:c}=e,{addMany:r,setMany:l,deleteMany:u}=this.actions,d=new Date().toISOString(),h=((F=this.client.store.getState().userReducer.currentUser)==null?void 0:F.uuid)??null,p=[],A=Je(a,Math.min(n??a.length,Ye)),f=[];for(const P of A){const g=[];for(const b of P){const v=M({...b,values:b.values,created_by:h,submitted_at:d});p.push(v),g.push({uuid:v.uuid,asset:b.asset,fields_revision:b.fields_revision,asset_procedure:b.asset_procedure,asset_procedure_step:b.asset_procedure_step,published_at:b.published_at,values:v.values})}f.push({submitted_at:d,values:c,field_values:g})}this.dispatch(r(p));const I=[];for(const P of f){const{field_values:g}=P,b=g.map(({asset:j})=>j),v=g.map(({fields_revision:j})=>j),B=g.map(({asset_procedure:j})=>j),V=g.map(({uuid:j})=>j),q=this.enqueueRequest({description:O(m.POST,this.name,!0),method:m.POST,url:`${this.url}/bulk/`,payload:P,blockers:b.concat(v).concat(B),blocks:V});I.push(q)}return Promise.all(I).then(P=>{this.dispatch(l(P.flat()))}).catch(()=>{this.dispatch(u(D(p)))}),[p,I]}update(e){const{store:n}=this.client,{setOne:a}=this.actions,{selectById:c}=this.selectors,r=n.getState(),l=c(e.uuid)(r);if(!l)throw new Error(`Expected AssetProcedureStepFieldValues with uuid ${e.uuid} to exist`);const u={...l,...e};this.dispatch(a(u));const d=this.enqueueRequest({description:O(m.PATCH,this.name,!1),method:m.PATCH,url:`${this.url}/${e.uuid}/`,payload:e,blockers:[u.fields_revision,u.asset,u.asset_procedure],blocks:[u.uuid]});return d.then(h=>{this.dispatch(a(h))}).catch(()=>{this.dispatch(a(l))}),[u,d]}async delete(e){const{store:n}=this.client,{deleteOne:a,addOne:c}=this.actions,{selectById:r}=this.selectors,l=n.getState(),u=r(e)(l);if(!u)throw new Error(`Expected submission with uuid ${e} to exist`);const d=$d(e)(l);this.dispatch(a(e)),this.dispatch(Ss(D(d)));try{return await this.enqueueRequest({description:O(m.DELETE,this.name,!1),method:m.DELETE,url:`${this.url}/${e}/`,blockers:[e],blocks:[]})}catch(h){throw this.dispatch(c(u)),this.dispatch(fs(d)),h}}async refreshStore(e,n){const{initialize:a}=this.actions,r=(await this.listPaginated({queryParams:{asset_procedure__project:e,latest:!0}},n)).flat();return this.dispatch(a(r)),r}}class mF extends E{constructor(){super(...arguments);y(this,"name","Asset Procedure Step");y(this,"url","/asset-procedure-steps");y(this,"actions",{addOne:ar,addMany:cr,setOne:ir,setMany:nr,updateOne:dr,updateMany:rr,deleteOne:ur,deleteMany:lr,initialize:sr});y(this,"selectors",{selectById:hr,selectByIds:mr})}add(e){var p;const{store:n}=this.client,{addOne:a,setOne:c,deleteOne:r}=this.actions,l=((p=n.getState().userReducer.currentUser)==null?void 0:p.uuid)??null,u=new Date().toISOString(),d=M({...e,created_by:l,submitted_at:u});this.dispatch(a(d));const h=this.enqueueRequest({description:O(m.POST,this.name,!1),method:m.POST,url:`${this.url}/`,payload:z(d),blockers:[d.asset_procedure_type],blocks:[d.uuid]});return h.then(A=>{this.dispatch(c(A))}).catch(()=>{this.dispatch(r(d.uuid))}),[d,h]}update(e){const{store:n}=this.client,{setOne:a}=this.actions,{selectById:c}=this.selectors,r=c(e.uuid)(n.getState());if(!r)throw new Error(`No asset procedure step with uuid ${e.uuid} found in the store`);const l={...r,...e};this.dispatch(a(l));const u=this.enqueueRequest({description:O(m.PATCH,this.name,!1),method:m.PATCH,url:`${this.url}/${r.uuid}/`,payload:{name:e.name,description:e.description,priority:e.order,color:e.color},blockers:[r.uuid],blocks:[r.uuid]});return u.then(d=>{this.dispatch(a(d))}).catch(()=>{this.dispatch(a(r))}),[l,u]}async delete(e){const{store:n}=this.client,{deleteMany:a,addMany:c,addOne:r,deleteOne:l}=this.actions,{selectById:u}=this.selectors,d=n.getState(),h=u(e)(d);if(!h)throw new Error(`No asset procedure step with uuid ${e} found in the store`);const p=yr(e)(d);this.dispatch(l(e)),this.dispatch(a(D(p)));try{return await this.enqueueRequest({description:O(m.DELETE,this.name,!1),method:m.DELETE,url:`${this.url}/${e}/`,blockers:[e],blocks:[]})}catch(A){throw this.dispatch(r(h)),this.dispatch(c(p)),A}}async refreshStore(e,n){const{initialize:a}=this.actions,c=await this.list({queryParams:{asset_procedure_type__organization:e}},n);return this.dispatch(a(c)),c}}class yF extends E{constructor(){super(...arguments);y(this,"url","/assets");y(this,"name","Asset");y(this,"actions",{addOne:fr,addMany:gs,setOne:Or,setMany:Pr,updateOne:Sr,updateMany:Tr,deleteOne:Ir,deleteMany:bs,initialize:Ar});y(this,"selectors",{selectById:br,selectByIds:_r})}add(e){var p;const{store:n}=this.client,{addOne:a,updateOne:c,deleteOne:r}=this.actions,l=((p=n.getState().userReducer.currentUser)==null?void 0:p.uuid)??null,u=new Date().toISOString(),d=M({...e,created_by:l,submitted_at:u});this.dispatch(a(d));const h=this.enqueueRequest({description:O(m.POST,this.name,!1),method:m.POST,url:`${this.url}/`,payload:z(d),blockers:[d.asset_type],blocks:[d.uuid]});return h.then(A=>{this.dispatch(c(A))}).catch(()=>{this.dispatch(r(d.uuid))}),[d,h]}update(e){const{store:n}=this.client,{updateOne:a}=this.actions,{selectById:c}=this.selectors,r=c(e.uuid)(n.getState());if(!r)throw new Error(`No asset with uuid ${e.uuid} found in the store`);const l={...r,...e};this.dispatch(a(l));const u=this.enqueueRequest({description:O(m.PATCH,this.name,!1),method:m.PATCH,url:`${this.url}/${e.uuid}/`,payload:e,blockers:[e.uuid],blocks:[e.uuid]});return u.then(d=>{this.dispatch(a(d))}).catch(()=>{this.dispatch(a(r))}),[l,u]}async delete(e){const{store:n}=this.client,{addOne:a,deleteOne:c}=this.actions,{selectById:r}=this.selectors,l=n.getState(),u=r(e)(l);if(!u)throw new Error(`No asset with uuid ${e} found in the store`);const d=oa(e)(l),h=ly(e)(l);this.dispatch(c(e)),this.dispatch(Zt(D(d))),this.dispatch(Mt(D(h)));try{return await this.enqueueRequest({description:O(m.DELETE,this.name,!1),method:m.DELETE,url:`${this.url}/${e}/`,blockers:[e],blocks:[]})}catch(p){throw this.dispatch(a(u)),this.dispatch(Yt(d)),this.dispatch(_t(h)),p}}bulkAdd(e,n){const{addMany:a}=this.actions,c=new Date().toISOString(),r=xe.v4(),l=Je(e,Math.min(n??e.length,Ye)).map(h=>{const p=h.map(A=>M(A));return{batchId:xe.v4(),payload:{transaction_id:r,submitted_at:c,assets:p}}}),u=[];let d=null;for(const h of l){const{batchId:p,payload:A}=h,f=A.assets.map(({uuid:v})=>v),I=A.assets.map(({asset_type:v})=>v),F=A.assets.map(({project:v})=>v),P=I.concat(F);d&&P.push(d);const g=f;g.push(p);const b=this.enqueueRequest({description:O(m.POST,this.name,!0),method:m.POST,url:`${this.url}/bulk/`,payload:A,blockers:P,blocks:g});d=h.batchId,u.push(b)}return Promise.all(u).then(h=>{const p=h.flat();this.dispatch(a(p))}),u}async bulkDelete(e){const{store:n}=this.client,{addMany:a,deleteMany:c}=this.actions,{selectByIds:r}=this.selectors,l=n.getState(),u=r(e)(l);this.dispatch(c(e));try{return await this.enqueueRequest({description:O(m.DELETE,this.name,!0),method:m.DELETE,url:`${this.url}/bulk/`,payload:{uuids:e},blockers:e,blocks:[]})}catch(d){throw this.dispatch(a(u)),d}}async refreshStore(e,n){const{initialize:a}=this.actions,r=(await this.listPaginated({queryParams:{project:e}},n)).flat();return this.dispatch(a(r)),r}}class pF extends E{constructor(){super(...arguments);y(this,"name","Asset Stage Completion");y(this,"url","/asset-stage-completions");y(this,"actions",{addOne:vr,addMany:Er,setOne:Vr,setMany:zr,updateOne:Br,updateMany:jr,deleteOne:qr,deleteMany:Cr,initialize:wr});y(this,"selectors",{selectById:Lr,selectByIds:kr})}add(e){var p;const{store:n}=this.client,{addOne:a,setOne:c,deleteOne:r}=this.actions,l=((p=n.getState().userReducer.currentUser)==null?void 0:p.uuid)??null,u=new Date().toISOString(),d=M({...e,created_by:l,submitted_at:u});this.dispatch(a(d));const h=this.enqueueRequest({description:O(m.POST,this.name,!1),method:m.POST,url:`${this.url}/`,payload:z(d),blockers:[e.asset,e.asset_stage],blocks:[d.uuid]});return h.then(A=>{this.dispatch(c(A))}).catch(()=>{this.dispatch(r(d.uuid))}),[d,h]}async delete(e){const{store:n}=this.client,{deleteOne:a,addOne:c}=this.actions,{selectById:r}=this.selectors,l=r(e)(n.getState());if(!l)throw new Error(`Expected asset stage completion with uuid ${e} to exist`);this.dispatch(a(e));try{return await this.enqueueRequest({description:O(m.DELETE,this.name,!1),method:m.DELETE,url:`${this.url}/${e}/`,blockers:[e],blocks:[]})}catch(u){throw this.dispatch(c(l)),u}}bulkAdd(e){var f;const{store:n}=this.client,{addMany:a,setMany:c,deleteMany:r}=this.actions,l=new Date().toISOString(),u=((f=n.getState().userReducer.currentUser)==null?void 0:f.uuid)??null,d=e.map(I=>M(I)),h=d.map(I=>({...I,created_by:u,submitted_at:l})),p=h.map(({uuid:I})=>I);this.dispatch(a(h));const A=this.enqueueRequest({description:O(m.POST,this.name,!0),method:m.POST,url:`${this.url}/bulk/`,payload:{submitted_at:l,completions:d},blockers:[...e.map(I=>I.asset_procedure),...e.map(I=>I.asset_stage),...e.map(I=>I.asset)],blocks:p});return A.then(I=>{this.dispatch(c(I))}).catch(()=>{this.dispatch(r(p))}),[h,A]}async bulkDelete(e){const{store:n}=this.client,{deleteMany:a,addMany:c}=this.actions,{selectByIds:r}=this.selectors,l=r(e)(n.getState());this.dispatch(a(e));try{return await this.enqueueRequest({description:O(m.DELETE,this.name,!0),method:m.DELETE,url:`${this.url}/bulk/`,payload:{uuids:e},blockers:e,blocks:[]})}catch(u){throw this.dispatch(c(l)),u}}async refreshStore(e,n){const{initialize:a}=this.actions,r=(await this.listPaginated({queryParams:{asset_procedure__project:e}},n)).flat();return this.dispatch(a(r)),r}}class AF extends E{constructor(){super(...arguments);y(this,"name","Asset Stage");y(this,"url","/asset-stages");y(this,"actions",{addOne:Kr,addMany:Yr,setOne:Hr,setMany:Wr,updateOne:Zr,updateMany:Jr,deleteOne:Xr,deleteMany:Qr,initialize:Gr});y(this,"selectors",{selectById:eu,selectByIds:tu})}add(e){var p;const{store:n}=this.client,{addOne:a,setOne:c,deleteOne:r}=this.actions,l=((p=n.getState().userReducer.currentUser)==null?void 0:p.uuid)??null,u=new Date().toISOString(),d=M({...e,created_by:l,submitted_at:u});this.dispatch(a(d));const h=this.enqueueRequest({description:O(m.POST,this.name,!1),method:m.POST,url:`${this.url}/`,payload:z(d),blockers:[d.asset_procedure_type],blocks:[d.uuid]});return h.then(A=>{this.dispatch(c(A))}).catch(()=>{this.dispatch(r(d.uuid))}),[d,h]}update(e){const{store:n}=this.client,{setOne:a}=this.actions,{selectById:c}=this.selectors,r=c(e.uuid)(n.getState());if(!r)throw new Error(`No asset stage with uuid ${e.uuid} found in the store`);const l={...r,...e};this.dispatch(a(l));const u=this.enqueueRequest({description:O(m.PATCH,this.name,!1),method:m.PATCH,url:`${this.url}/${r.uuid}/`,payload:e,blockers:[r.uuid],blocks:[r.uuid]});return u.then(d=>{this.dispatch(a(d))}).catch(()=>{this.dispatch(a(r))}),[l,u]}async delete(e){const{store:n}=this.client,{deleteOne:a,addOne:c}=this.actions,{selectById:r}=this.selectors,l=n.getState(),u=r(e)(l);if(!u)throw new Error(`No asset stage with uuid ${e} found in the store`);this.dispatch(a(e));try{return await this.enqueueRequest({description:O(m.DELETE,this.name,!1),method:m.DELETE,url:`${this.url}/${e}/`,blockers:[e],blocks:[]})}catch(d){throw this.dispatch(c(u)),d}}async refreshStore(e,n){const{initialize:a}=this.actions,c=await this.list({queryParams:{asset_procedure_type__organization:e}},n);return this.dispatch(a(c)),c}}class fF extends Ke{constructor(){super(...arguments);y(this,"name","Asset Type Attachment");y(this,"url","/asset-type-attachments");y(this,"actions",{addOne:nu,addMany:Es,setOne:au,setMany:cu,updateOne:du,updateMany:ru,deleteOne:uu,deleteMany:Vs,initialize:iu});y(this,"selectors",{selectById:ou,selectByIds:hu})}getId(e){return e.uuid}buildModel(e){return M({file:URL.createObjectURL(e.file),file_sha1:e.file_sha1,created_by:e.created_by,file_name:e.file.name,file_type:e.file.type,submitted_at:e.submitted_at,asset_type:e.modelUuid})}buildPayload(e,n){return{uuid:e.uuid,file_name:e.file_name,file_sha1:e.file_sha1,file_extension:n.extension,asset_type:e.asset_type}}async bulkAdd(e){return this._bulkAdd(e.map(n=>({modelUuid:n.assetTypeUuid,file:n.file})))}async delete(e){return this._delete(e)}async refreshStore(e,n){const{initialize:a}=this.actions,c=await this.list({queryParams:{asset_type__organization:e}},n);return this.dispatch(a(c)),c}}class SF extends E{constructor(){super(...arguments);y(this,"name","Asset Type Fields Attachment");y(this,"url","/asset-type-fields-attachments");y(this,"actions",{addOne:fu,addMany:Su,setOne:Tu,setMany:Iu,updateOne:Ou,updateMany:Pu,deleteOne:Fu,deleteMany:gu,initialize:Au});y(this,"selectors",{selectById:_u,selectByIds:Mu})}async bulkAdd(e){var A;const{addMany:n,setMany:a,deleteMany:c}=this.actions,r=new Date().toISOString(),l=((A=this.client.store.getState().userReducer.currentUser)==null?void 0:A.uuid)??null,u={},d=[],h=[];for(const f of e){const{fieldsRevisionUuid:I,fieldIdentifier:F,file:P}=f,g=await this.client.files.getFilePayload(P);g.sha1 in u||(u[g.sha1]=g);const b=M({file:URL.createObjectURL(P),file_type:P.type,file_name:P.name,file_sha1:g.sha1,created_by:l,fields_revision:I,submitted_at:r,field_identifier:F});d.push(b);const v={uuid:b.uuid,file_name:P.name,field_identifier:F,file_extension:g.extension,file_sha1:g.sha1,fields_revision:I};h.push(v)}this.dispatch(n(d));const p=this.enqueueRequest({description:O(m.POST,this.name,!0),method:m.POST,url:`${this.url}/bulk/`,payload:{submitted_at:r,attachments:h,files:Object.values(u)},blockers:d.map(f=>f.fields_revision),blocks:d.map(f=>f.uuid)});return p.then(f=>{this.client.files.processPresignedUrls(f.presigned_urls),this.dispatch(a(f.attachments))}).catch(()=>{this.dispatch(c(d.map(f=>f.uuid)))}),[d,p.then(({attachments:f})=>f)]}async refreshStore(e,n){const{initialize:a}=this.actions,c=await this.list({queryParams:{fields_revision__asset_type__organization:e}},n);return this.dispatch(a(c)),c}}class TF extends E{constructor(){super(...arguments);y(this,"name","Asset Type Fields");y(this,"url","/asset-type-fields");y(this,"actions",{addOne:Eu,addMany:Vu,setOne:zu,setMany:Bu,updateOne:ju,updateMany:qu,deleteOne:Cu,deleteMany:Du,initialize:vu});y(this,"selectors",{selectById:Uu,selectByIds:Lu})}add(e){var p;const{store:n}=this.client,{addOne:a,setOne:c,deleteOne:r}=this.actions,l=((p=n.getState().userReducer.currentUser)==null?void 0:p.uuid)??null,u=new Date().toISOString(),d=M({...e,created_by:l,submitted_at:u});this.dispatch(a(d));const h=this.enqueueRequest({description:O(m.POST,this.name,!1),method:m.POST,url:`${this.url}/`,payload:z(d),blockers:[d.asset_type],blocks:[d.uuid]});return h.then(A=>{this.dispatch(c(A))}).catch(A=>{throw this.dispatch(r(d.uuid)),A}),[d,h]}async refreshStore(e,n){const{initialize:a}=this.actions,c=await this.list({queryParams:{asset_type__organization:e}},n);return this.dispatch(a(c)),c}}class IF extends E{constructor(){super(...arguments);y(this,"name","Asset Type Field Values Attachment");y(this,"url","/asset-type-field-values-attachments");y(this,"actions",{addOne:Hu,addMany:Ds,setOne:Wu,setMany:Ku,updateOne:Yu,updateMany:Zu,deleteOne:Ju,deleteMany:$s,initialize:Gu});y(this,"selectors",{selectById:Qu,selectByIds:xu})}async bulkAdd(e,n){var f;const{addMany:a,setMany:c,deleteMany:r}=this.actions,l=new Date().toISOString(),u=((f=this.client.store.getState().userReducer.currentUser)==null?void 0:f.uuid)??null,d=Je(e,Math.min(n??e.length,Ye)),h=[],p=[];for(const I of d){const F={},P=[];for(const g of I){const{fieldValuesUuid:b,fieldIdentifier:v,file:B}=g,V=await this.client.files.getFilePayload(B);V.sha1 in F||(F[V.sha1]=V);const q=M({file:URL.createObjectURL(B),file_type:B.type,file_name:B.name,file_sha1:V.sha1,created_by:u,field_values:b,submitted_at:l,field_identifier:v});h.push(q);const j={uuid:q.uuid,file_name:B.name,file_sha1:V.sha1,file_extension:V.extension,field_identifier:v,field_values:b};P.push(j)}p.push({submitted_at:l,attachments:P,files:Object.values(F)})}this.dispatch(a(h));const A=p.map(I=>this.enqueueRequest({description:O(m.POST,this.name,!0),method:m.POST,url:`${this.url}/bulk/`,payload:I,blockers:I.attachments.map(F=>F.field_values),blocks:I.attachments.map(F=>F.uuid)}));return Promise.all(A).then(I=>{for(const P of I)this.client.files.processPresignedUrls(P.presigned_urls);const F=I.flatMap(P=>P.attachments);this.dispatch(c(F))}).catch(I=>{throw this.dispatch(r(h.map(F=>F.uuid))),I}),[h,A.map(I=>I.then(({attachments:F})=>F))]}async bulkDelete(e){const{store:n}=this.client,{deleteMany:a,addMany:c}=this.actions,{selectByIds:r}=this.selectors,l=n.getState(),u=r(e)(l);this.dispatch(a(e));try{return await this.enqueueRequest({description:O(m.DELETE,this.name,!0),method:m.DELETE,url:`${this.url}/bulk/`,payload:{uuids:e},blockers:e,blocks:[]})}catch(d){throw this.dispatch(c(u)),d}}async refreshStore(e,n){const{initialize:a}=this.actions,r=(await this.listPaginated({queryParams:{field_values__asset__project:e,latest:!0}},n)).flat();return this.dispatch(a(r)),r}}class OF extends E{constructor(){super(...arguments);y(this,"name","Asset Type Field Values");y(this,"url","/asset-type-field-values");y(this,"actions",{addOne:nl,addMany:al,setOne:cl,setMany:dl,updateOne:rl,updateMany:ul,deleteOne:ll,deleteMany:ol,initialize:il});y(this,"selectors",{selectById:ml,selectByIds:yl})}add(e){var A;const{store:n}=this.client,{addOne:a,setOne:c,deleteOne:r}=this.actions,u=((A=n.getState().userReducer.currentUser)==null?void 0:A.uuid)??null,d=new Date().toISOString(),h=M({...e,created_by:u,submitted_at:d}),p=this.enqueueRequest({description:O(m.POST,this.name,!1),method:m.POST,url:`${this.url}/`,payload:z(h),blockers:[e.asset,e.fields_revision],blocks:[h.uuid]});return this.dispatch(a(h)),p.then(f=>{this.dispatch(c(f))}).catch(()=>{this.dispatch(r(h.uuid))}),[h,p]}bulkAdd(e,n){var I;const{payloads:a,values:c}=e,{addMany:r,setMany:l,deleteMany:u}=this.actions,d=new Date().toISOString(),h=[],p=Je(a,Math.min(n??a.length,Ye)),A=[];for(const F of p){const P=[];for(const g of F){const b=M({...g,values:g.values,created_by:((I=this.client.store.getState().userReducer.currentUser)==null?void 0:I.uuid)??null,submitted_at:d});h.push(b),P.push({uuid:b.uuid,asset:g.asset,fields_revision:g.fields_revision,published_at:g.published_at,values:b.values})}A.push({submitted_at:d,values:c,field_values:P})}this.dispatch(r(h));const f=[];for(const F of A){const{field_values:P}=F,g=P.map(({asset:V})=>V),b=P.map(({fields_revision:V})=>V),v=P.map(({uuid:V})=>V),B=this.enqueueRequest({description:O(m.POST,this.name,!0),method:m.POST,url:`${this.url}/bulk/`,payload:F,blockers:g.concat(b),blocks:v});f.push(B)}return Promise.all(f).then(F=>{this.dispatch(l(F.flat()))}).catch(()=>{this.dispatch(u(D(h)))}),[h,f]}update(e){const{store:n}=this.client,{setOne:a}=this.actions,{selectById:c}=this.selectors,r=n.getState(),l=c(e.uuid)(r);if(!l)throw new Error(`Expected AssetTypeFieldValues with uuid ${e.uuid} to exist`);const u={...l,...e};this.dispatch(a(u));const d=this.enqueueRequest({description:O(m.PATCH,this.name,!1),method:m.PATCH,url:`${this.url}/${e.uuid}/`,payload:e,blockers:[u.uuid,u.fields_revision,u.asset],blocks:[u.uuid]});return d.then(h=>{this.dispatch(a(h))}).catch(()=>{this.dispatch(a(l))}),[u,d]}async delete(e){const{store:n}=this.client,{deleteOne:a,addOne:c}=this.actions,{selectById:r}=this.selectors,l=n.getState(),u=r(e)(l);if(!u)throw new Error(`Expected submission with uuid ${e} to exist`);const d=el(e)(l);this.dispatch(a(e)),this.dispatch($s(D(d)));try{return await this.enqueueRequest({description:O(m.DELETE,this.name,!1),method:m.DELETE,url:`${this.url}/${e}/`,blockers:[e],blocks:[]})}catch(h){throw this.dispatch(c(u)),this.dispatch(Ds(d)),h}}async refreshStore(e,n){const{initialize:a}=this.actions,r=(await this.listPaginated({queryParams:{asset__project:e,latest:!0}},n)).flat();return this.dispatch(a(r)),r}}class PF extends E{constructor(){super(...arguments);y(this,"name","Asset Type Identifier");y(this,"url","/asset-type-identifiers");y(this,"actions",{addOne:Sl,addMany:Tl,setOne:Il,setMany:Ol,updateOne:Pl,updateMany:Fl,deleteOne:gl,deleteMany:bl,initialize:fl});y(this,"selectors",{selectById:Ml,selectByIds:Rl})}add(e){var p;const{store:n}=this.client,{addOne:a,setOne:c,deleteOne:r}=this.actions,l=((p=n.getState().userReducer.currentUser)==null?void 0:p.uuid)??null,u=new Date().toISOString(),d=M({...e,created_by:l,submitted_at:u});this.dispatch(a(d));const h=this.enqueueRequest({description:O(m.POST,this.name,!1),method:m.POST,url:`${this.url}/`,payload:z(d),blockers:[d.asset_type],blocks:[d.uuid]});return h.then(A=>{this.dispatch(c(A))}).catch(()=>{this.dispatch(r(d.uuid))}),[d,h]}update(e){const{store:n}=this.client,{setOne:a}=this.actions,{selectById:c}=this.selectors,r=c(e.uuid)(n.getState());if(!r)throw new Error(`Expected asset type identifier with uuid ${e.uuid} to exist`);const l={...r,...e};this.dispatch(a(l));const u=this.enqueueRequest({description:O(m.PATCH,this.name,!1),method:m.PATCH,url:`${this.url}/${e.uuid}/`,payload:e,blockers:[e.uuid],blocks:[e.uuid]});return u.then(d=>{this.dispatch(a(d))}).catch(()=>{this.dispatch(a(r))}),[l,u]}async delete(e){const{store:n}=this.client,{deleteOne:a,addOne:c}=this.actions,{selectById:r}=this.selectors,l=n.getState(),u=r(e)(l);if(!u)throw new Error(`Expected asset type identifier with uuid ${e} to exist`);this.dispatch(a(e));try{return await this.enqueueRequest({description:O(m.DELETE,this.name,!1),method:m.DELETE,url:`${this.url}/${e}/`,blockers:[e],blocks:[]})}catch(d){throw this.dispatch(c(u)),d}}async refreshStore(e,n){const{initialize:a}=this.actions,c=await this.list({queryParams:{asset_type__organization:e}},n);return this.dispatch(a(c)),c}}class FF extends E{constructor(){super(...arguments);y(this,"name","Asset Type Identifier Value");y(this,"url","/asset-type-identifier-values");y(this,"actions",{addOne:Vl,addMany:zl,setOne:Bl,setMany:jl,updateOne:ql,updateMany:Cl,deleteOne:Dl,deleteMany:$l,initialize:El});y(this,"selectors",{selectById:Ll,selectByIds:kl})}add(e){var p;const{store:n}=this.client,{addOne:a,setOne:c,deleteOne:r}=this.actions,l=((p=n.getState().userReducer.currentUser)==null?void 0:p.uuid)??null,u=new Date().toISOString(),d=M({...e,created_by:l,submitted_at:u});this.dispatch(a(d));const h=this.enqueueRequest({description:O(m.POST,this.name,!1),method:m.POST,url:`${this.url}/`,payload:z(d),blockers:[e.asset,e.asset_type_identifier],blocks:[d.uuid]});return h.then(A=>{this.dispatch(c(A))}).catch(()=>{this.dispatch(r(d.uuid))}),[d,h]}update(e){const{store:n}=this.client,{setOne:a}=this.actions,{selectById:c}=this.selectors,r=c(e.uuid)(n.getState());if(!r)throw new Error(`Expected asset type identifier value with uuid ${e.uuid} to exist`);const l={...r,...e};this.dispatch(a(l));const u=this.enqueueRequest({description:O(m.PATCH,this.name,!1),method:m.PATCH,url:`${this.url}/${e.uuid}/`,payload:e,blockers:[e.uuid],blocks:[e.uuid]});return u.then(d=>{this.dispatch(a(d))}).catch(()=>{this.dispatch(a(r))}),[l,u]}async delete(e){const{store:n}=this.client,{deleteOne:a,addOne:c}=this.actions,{selectById:r}=this.selectors,l=n.getState(),u=r(e)(l);if(!u)throw new Error(`Expected asset type identifier value with uuid ${e} to exist`);this.dispatch(a(e));try{return await this.enqueueRequest({description:O(m.DELETE,this.name,!1),method:m.DELETE,url:`${this.url}/${e}/`,blockers:[e],blocks:[]})}catch(d){throw this.dispatch(c(u)),d}}async refreshStore(e,n){const{initialize:a}=this.actions,r=(await this.listPaginated({queryParams:{asset__project:e}},n)).flat();return this.dispatch(a(r)),r}}class gF extends E{constructor(){super(...arguments);y(this,"name","Asset Type");y(this,"url","/asset-types");y(this,"actions",{addOne:Yl,addMany:Zl,setOne:Wl,setMany:Kl,updateOne:Jl,updateMany:Xl,deleteOne:Ql,deleteMany:xl,initialize:Hl});y(this,"selectors",{selectById:to,selectByIds:so})}add(e){var p;const{store:n}=this.client,{addOne:a,setOne:c,deleteOne:r}=this.actions,l=((p=n.getState().userReducer.currentUser)==null?void 0:p.uuid)??null,u=new Date().toISOString(),d=M({...e,created_by:l,submitted_at:u});this.dispatch(a(d));const h=this.enqueueRequest({description:O(m.POST,this.name,!1),method:m.POST,url:`${this.url}/`,payload:z(d),blockers:[],blocks:[d.uuid]});return h.then(A=>{this.dispatch(c(A))}).catch(()=>{this.dispatch(r(d.uuid))}),[d,h]}update(e){const{store:n}=this.client,{setOne:a}=this.actions,{selectById:c}=this.selectors,r=c(e.uuid)(n.getState());if(!r)throw new Error(`Expected asset type with uuid ${e.uuid} to exist`);const l={...r,...e};this.dispatch(a(l));const u=this.enqueueRequest({description:O(m.PATCH,this.name,!1),method:m.PATCH,url:`${this.url}/${e.uuid}/`,payload:e,blockers:[r.uuid],blocks:[r.uuid]});return u.then(d=>{this.dispatch(a(d))}).catch(()=>{this.dispatch(a(r))}),[l,u]}async delete(e){const{store:n}=this.client,{deleteOne:a,addOne:c}=this.actions,{selectById:r}=this.selectors,l=n.getState(),u=r(e)(l);if(!u)throw new Error(`Expected asset type with uuid ${e} to exist`);const d=gr(e)(l),h=mu(e)(l);this.dispatch(a(e)),this.dispatch(bs(D(d))),this.dispatch(Vs(D(h)));try{return await this.enqueueRequest({description:O(m.DELETE,this.name,!1),method:m.DELETE,url:`${this.url}/${e}/`,blockers:[e],blocks:[]})}catch(p){throw this.dispatch(c(u)),this.dispatch(gs(d)),this.dispatch(Es(h)),p}}async refreshStore(e,n){const{initialize:a}=this.actions,c=await this.list({queryParams:{organization:e}},n);return this.dispatch(a(c)),c}}class bF extends E{constructor(){super(...arguments);y(this,"name","Category");y(this,"url","/categories");y(this,"actions",{addOne:lo,addMany:oo,setOne:ho,setMany:mo,updateOne:yo,updateMany:po,deleteOne:Ao,deleteMany:fo,initialize:uo});y(this,"selectors",{selectById:Zs,selectByIds:To})}add(e){var p;const{store:n}=this.client,{addOne:a,updateOne:c,deleteOne:r}=this.actions,l=((p=n.getState().userReducer.currentUser)==null?void 0:p.uuid)??null,u=new Date().toISOString(),d=M({...e,created_by:l,submitted_at:u});this.dispatch(a(d));const h=this.enqueueRequest({description:O(m.POST,this.name,!1),method:m.POST,url:`${this.url}/`,payload:z(d),blockers:[e.project],blocks:[d.uuid]});return h.then(A=>{this.dispatch(c(A))}).catch(()=>{this.dispatch(r(d.uuid))}),[d,h]}update(e){const{updateOne:n}=this.actions,{selectById:a}=this.selectors,c=this.client.store.getState(),r=a(e.uuid)(c);if(!r)throw new Error(`Expected an existing category with uuid ${e.uuid}`);const l={...r,...e};this.dispatch(n(l));const u=this.enqueueRequest({description:O(m.PATCH,this.name,!1),method:m.PATCH,url:`${this.url}/${e.uuid}/`,payload:e,blockers:[e.uuid],blocks:[e.uuid]});return u.then(d=>{this.dispatch(n(d))}).catch(()=>{this.dispatch(n(r))}),[l,u]}async delete(e){const{store:n}=this.client,{deleteOne:a,addOne:c}=this.actions,{selectById:r}=this.selectors,l=r(e)(n.getState());if(!l)throw new Error(`No category with uuid ${e} found in the store`);this.dispatch(a(e));try{return await this.enqueueRequest({description:O(m.DELETE,this.name,!1),method:m.DELETE,url:`${this.url}/${l.uuid}/`,blockers:[l.uuid],blocks:[]})}catch(u){throw this.dispatch(c(l)),u}}async refreshStore(e,n){const{initialize:a}=this.actions,c=await this.list({queryParams:{project__organization:e}},n);return this.dispatch(a(c)),c}}class _F extends Ke{constructor(){super(...arguments);y(this,"name","Document Attachment");y(this,"url","/document-attachments");y(this,"actions",{addOne:Fo,addMany:go,setOne:bo,setMany:_o,updateOne:Mo,updateMany:Ro,deleteOne:wo,deleteMany:vo,initialize:Po});y(this,"selectors",{selectById:Vo,selectByIds:zo})}getId(e){return e.uuid}buildModel(e){return M({file:URL.createObjectURL(e.file),file_sha1:e.file_sha1,created_by:e.created_by,file_name:e.file.name,file_type:e.file.type,submitted_at:e.submitted_at,document:e.modelUuid})}buildPayload(e,n){return{uuid:e.uuid,file_name:e.file_name,file_sha1:e.file_sha1,file_extension:n.extension,document:e.document}}async bulkAdd(e){var I;const{store:n}=this.client,{addMany:a,updateMany:c,deleteMany:r}=this.actions,l=((I=n.getState().userReducer.currentUser)==null?void 0:I.uuid)??null,u=new Date().toISOString(),d=[],h=[],p={},A={};for(const F of e){const{documentUuid:P,file:g}=F,b=await this.client.files.getFilePayload(g);b.sha1 in p||(p[b.sha1]=b,A[b.sha1]=[]);const v=this.buildModel({file:g,file_sha1:b.sha1,submitted_at:u,created_by:l,modelUuid:P});d.push(v),h.push(this.buildPayload(v,b)),A[b.sha1].push(v.uuid)}this.dispatch(a(d));const f=this.enqueueRequest({description:O(m.POST,this.name,!0),method:m.POST,url:`${this.url}/bulk/`,payload:{submitted_at:u,attachments:h,files:Object.values(p)},blocks:d.map(F=>F.uuid),blockers:d.map(F=>F.file_sha1)});return f.then(({attachments:F,presigned_urls:P})=>{this.dispatch(c(F));const g=this.client.files.processPresignedUrls(P);for(const[b,v]of Object.entries(g))v.then(()=>{const B=A[b];for(const V of B)this.makeReadable(V)})}).catch(()=>{this.dispatch(r(d.map(F=>F.uuid)))}),[d,f.then(({attachments:F})=>F)]}async delete(e){return this._delete(e)}makeReadable(e){this.enqueueRequest({description:"Add attachment to AI assistant",method:m.PATCH,url:`${this.url}/${e}/`,payload:{readable_to_assistant:!0},blockers:["index-document-attachment",e],blocks:["index-document-attachment"]})}async refreshStore(e,n){const{initialize:a}=this.actions,c=this.list({queryParams:{document__project__organization:e}},n),r=this.list({queryParams:{document__organization:e}},n),u=(await Promise.all([c,r])).flat();return this.dispatch(a(u)),u}}class MF extends E{constructor(){super(...arguments);y(this,"name","Document");y(this,"url","/documents");y(this,"actions",{addOne:Co,addMany:Do,setOne:$o,setMany:Uo,updateOne:Lo,updateMany:ko,deleteOne:No,deleteMany:Go,initialize:qo});y(this,"selectors",{selectById:Wo,selectByIds:Ko})}add(e){var p;const{store:n}=this.client,{addOne:a,deleteOne:c,updateOne:r}=this.actions,l=((p=n.getState().userReducer.currentUser)==null?void 0:p.uuid)??null,u=new Date().toISOString(),d=M({...e,created_by:l,submitted_at:u});this.dispatch(a(d));const h=this.enqueueRequest({description:O(m.POST,this.name,!1),method:m.POST,url:`${this.url}/`,payload:z(d),blockers:d.parent_document?[d.parent_document]:[],blocks:[d.uuid]});return h.then(A=>{this.dispatch(r(A))}).catch(()=>{this.dispatch(c(d.uuid))}),[d,h]}update(e){const{store:n}=this.client,{updateOne:a}=this.actions,{selectById:c}=this.selectors,r=c(e.uuid)(n.getState());if(!r)throw new Error(`attempting to update a document with uuid ${e.uuid} that does not exist in store.documents`);const l={...r,...e};this.dispatch(a(l));const u=this.enqueueRequest({description:O(m.PATCH,this.name,!1),method:m.PATCH,url:`${this.url}/${e.uuid}/`,payload:e,blockers:[e.uuid],blocks:[e.uuid]});return u.then(d=>{this.dispatch(a(d))}).catch(()=>{this.dispatch(a(r))}),[l,u]}async delete(e){const{store:n}=this.client,{deleteOne:a,addOne:c,addMany:r,deleteMany:l}=this.actions,{selectById:u}=this.selectors,d=n.getState(),h=u(e)(d);if(!h)throw new Error(`attempting to delete a document with uuid ${e} that does not exist in store.documents`);const p=Yo(e)(d);this.dispatch(a(e)),this.dispatch(l(D(p)));try{return await this.enqueueRequest({description:O(m.DELETE,this.name,!1),method:m.DELETE,url:`${this.url}/${e}/`,blockers:[e],blocks:[]})}catch(A){throw this.dispatch(c(h)),this.dispatch(r(p)),A}}async refreshStore(e,n){const{initialize:a}=this.actions,c=this.list({queryParams:{project__organization:e}},n),r=this.list({queryParams:{organization:e}},n),u=(await Promise.all([c,r])).flat();return this.dispatch(a(u)),u}}class RF extends Ze{async getVerificationCode(s){return this.enqueueRequest({description:"Get verification code",method:m.GET,url:`/verification/email-verification/${s}/`,isAuthNeeded:!1,blockers:[],blocks:[]})}validateVerificationCode(s,e=void 0){return this.enqueueRequest({description:"Validate verification code",method:m.POST,url:`/verification/email-verification/${s}/`,isAuthNeeded:!1,payload:e,blockers:[],blocks:[]})}}const qt={},bn=new Set;let Ct=0,_n=0,Mn=0;const wF=20;class vF extends Ze{constructor(){super(...arguments);y(this,"host");y(this,"_dbPromise",EI.openDB("fileCache",1,{upgrade(e){e.createObjectStore("files")}}))}async renewUploadUrl(e){const n=await this.fetchCache(e);if(!n)throw new Error(`File with sha1 ${e} not found in cache`);const a=await Gt(n,e),c=await this.enqueueRequest({description:"Get S3 URL",method:m.GET,url:"/authentication/files/presigned-upload-url/",queryParams:{sha1:await et(n),file_type:n.type,extension:n.name.split(".").pop(),size:n.size.toString()},blockers:[],blocks:[`s3-${a}`]});return"url"in c&&this.dispatch(Xo({sha1:e,...c})),c}async addCache(e,n){if(bn.has(n))return;if(!e.type){const r=e.name.split("."),l=r[r.length-1];e=new File([e],e.name,{type:l})}if(!e.name||!e.size||!e.type)throw new Error("Cannot add files to cache that do not have a name, size and type.");const a=await this._dbPromise;!!await a.get("files",n)?(console.error("File already cached (this is unexpected at this point):",e.name,n),Ct++):(await a.put("files",e,n),_n++),bn.add(n),Mn++,Mn%wF===0&&console.debug(`File cache summary: ${Ct} hits and ${_n} misses, ${Ct/(Ct+_n)*100}% hit rate over ${Mn} calls to addCache.`)}async removeCache(e){await(await this._dbPromise).delete("files",e),bn.delete(e)}async fetchCache(e){return(await this._dbPromise).get("files",e)}async getOrRenewUploadUrl(e){const n=this.client.store.getState();return Qo(e)(n)??await this.renewUploadUrl(e)}async uploadFileToS3(e){const n=await this.fetchCache(e);if(!n)throw new Error(`File with sha1 ${e} not found in cache`);const a=await Gt(n,e),c={file_name:n.name,file_sha1:e,file:a},r=await this.getOrRenewUploadUrl(e);if("warning"in r){if(r.warning==="already_uploaded")return[c,Promise.resolve(void 0)];throw new Error(r.warning)}const l=r.url,u=this.enqueueRequest({url:l,description:"Upload file",method:m.POST,isExternalUrl:!0,isAuthNeeded:!1,attachmentHash:e,blockers:[`s3-${a}`],blocks:[e],s3url:r});return[c,u]}async fetchFileFromUrl(e,n,a){const c=e.split("?")[0]??e,r=await this.fetchCache(n);if(r){if(!r.name)throw new Error("Cached file unexpectedly has no name.");return r}if(e.startsWith("blob:")){const h=await Un(e),p=new File([h],a??n,{type:h.type});return await this.addCache(p,n),p}let l=qt[c],u=!0;l?u=!1:(l=new Promise(h=>{this.enqueueRequest({description:"Download file",method:m.GET,url:e,isExternalUrl:!0,isResponseBlob:!0,isAuthNeeded:!1,blockers:[n],blocks:[n]}).then(p=>{const A=new File([p],a??n,{type:p.type});h(A)})}),qt[c]=l);let d;try{d=await l}catch(h){throw u&&h instanceof U&&delete qt[c],h}if(u){const h=await et(d);if(h!==n){const f=`The hash of the file returned from the server (${h}) does not match the
9
9
  expected hash (${n}). This can happen if you're using a local development server and the
10
10
  isExternalUrl flag in the request details is set to true, because instead of requesting the local
11
11
  REST API, you will be requesting localhost:80 (where this app runs), resulting in a transformed blob
12
12
  (with an uuid attached) being returned. Alternatively, you may be running with
13
13
  import.meta.env.PROD, which will result in some file requests being treated as
14
- external URLs and therefore not prepended with VITE_API_URL.`;throw new Error(f)}const p=d.type.split("/")[1];if(!p)throw new Error("File has no extension");const A=a??h+"."+p;if(d=Jn(d,A),!d.name)throw new Error("Failed to set file's name");await this.addCache(d,h),Dt[c]=new Promise(f=>{f(d)})}return d}processPresignedUrls(e){const n={};for(const[a,c]of Object.entries(e))n[a]=this.enqueueRequest({url:c.url,description:"Upload file to S3",method:m.POST,isExternalUrl:!0,isAuthNeeded:!1,attachmentHash:a,blockers:[`s3-${c.fields.key}`],blocks:[a],s3url:c});return n}async getFilePayload(e){const n=await st(e),a={sha1:n,file_type:e.type,extension:e.name.split(".").pop(),size:e.size};return await this.client.files.addCache(e,n),a}}class jg extends E{constructor(){super(...arguments);y(this,"name","Form Identifier");y(this,"url","/form-identifiers");y(this,"actions",{addOne:Lh,addMany:kh,setOne:Nh,setMany:Gh,updateOne:Hh,updateMany:Wh,deleteOne:Kh,deleteMany:Yh,initialize:Uh});y(this,"selectors",{selectById:Jh,selectByIds:Xh})}add(e){var p;const{store:n}=this.client,{addOne:a,setOne:c,deleteOne:r}=this.actions,l=((p=n.getState().userReducer.currentUser)==null?void 0:p.id)??null,u=new Date().toISOString(),d=_({...e,created_by:l,submitted_at:u});this.dispatch(a(d));const h=this.enqueueRequest({description:O(m.POST,this.name,!1),method:m.POST,url:`${this.url}/`,payload:z(d),blockers:[d.form],blocks:[d.uuid]});return h.then(A=>{this.dispatch(c(A))}).catch(()=>{this.dispatch(r(d.uuid))}),[d,h]}update(e){const{store:n}=this.client,{setOne:a}=this.actions,{selectById:c}=this.selectors,r=c(e.uuid)(n.getState());if(!r)throw new Error(`Expected form identifier with uuid ${e.uuid} to exist`);const l={...r,...e};this.dispatch(a(l));const u=this.enqueueRequest({description:O(m.PATCH,this.name,!1),method:m.PATCH,url:`${this.url}/${e.uuid}/`,payload:e,blockers:[e.uuid],blocks:[e.uuid]});return u.then(d=>{this.dispatch(a(d))}).catch(()=>{this.dispatch(a(r))}),[l,u]}async delete(e){const{store:n}=this.client,{deleteOne:a,addOne:c}=this.actions,{selectById:r}=this.selectors,l=n.getState(),u=r(e)(l);if(!u)throw new Error(`Expected form identifier with uuid ${e} to exist`);this.dispatch(a(e));try{return await this.enqueueRequest({description:O(m.DELETE,this.name,!1),method:m.DELETE,url:`${this.url}/${e}/`,blockers:[e],blocks:[]})}catch(d){throw this.dispatch(c(u)),d}}async refreshStore(e,n){const{initialize:a}=this.actions,c=await this.list({queryParams:{form__organization:e}},n);return this.dispatch(a(c)),c}}class qg extends E{constructor(){super(...arguments);y(this,"name","Form Identifier Value");y(this,"url","/form-identifier-values");y(this,"actions",{addOne:tm,addMany:sm,setOne:im,setMany:nm,updateOne:am,updateMany:cm,deleteOne:dm,deleteMany:rm,initialize:em});y(this,"selectors",{selectById:lm,selectByIds:om})}add(e){var p;const{store:n}=this.client,{addOne:a,setOne:c,deleteOne:r}=this.actions,l=((p=n.getState().userReducer.currentUser)==null?void 0:p.id)??null,u=new Date().toISOString(),d=_({...e,created_by:l,submitted_at:u});this.dispatch(a(d));const h=this.enqueueRequest({description:O(m.POST,this.name,!1),method:m.POST,url:`${this.url}/`,payload:z(d),blockers:[e.form_submission,e.form_identifier],blocks:[d.uuid]});return h.then(A=>{this.dispatch(c(A))}).catch(()=>{this.dispatch(r(d.uuid))}),[d,h]}update(e){const{store:n}=this.client,{setOne:a}=this.actions,{selectById:c}=this.selectors,r=c(e.uuid)(n.getState());if(!r)throw new Error(`Expected form identifier value with uuid ${e.uuid} to exist`);const l={...r,...e};this.dispatch(a(l));const u=this.enqueueRequest({description:O(m.PATCH,this.name,!1),method:m.PATCH,url:`${this.url}/${e.uuid}/`,payload:e,blockers:[e.uuid],blocks:[e.uuid]});return u.then(d=>{this.dispatch(a(d))}).catch(()=>{this.dispatch(a(r))}),[l,u]}async delete(e){const{store:n}=this.client,{deleteOne:a,addOne:c}=this.actions,{selectById:r}=this.selectors,l=n.getState(),u=r(e)(l);if(!u)throw new Error(`Expected form identifier value with uuid ${e} to exist`);this.dispatch(a(e));try{return await this.enqueueRequest({description:O(m.DELETE,this.name,!1),method:m.DELETE,url:`${this.url}/${e}/`,blockers:[e],blocks:[]})}catch(d){throw this.dispatch(c(u)),d}}async refreshStore(e,n){const{initialize:a}=this.actions,r=(await this.listPaginated({queryParams:{form_submission__form_revision__form__organization:e}},n)).flat();return this.dispatch(a(r)),r}}class Dg extends E{constructor(){super(...arguments);y(this,"name","Form Revision Attachment");y(this,"url","/form-revision-attachments");y(this,"actions",{addOne:pm,addMany:Am,setOne:fm,setMany:Sm,updateOne:Tm,updateMany:Im,deleteOne:Om,deleteMany:Pm,initialize:ym});y(this,"selectors",{selectById:gm,selectByIds:bm})}async bulkAdd(e){var A;const{addMany:n,setMany:a,deleteMany:c}=this.actions,r=new Date().toISOString(),l=((A=this.client.store.getState().userReducer.currentUser)==null?void 0:A.id)??null,u={},d=[],h=[];for(const f of e){const{revisionUuid:S,fieldIdentifier:F,file:P}=f,g=await this.client.files.getFilePayload(P);g.sha1 in u||(u[g.sha1]=g);const w=_({file:URL.createObjectURL(P),file_type:P.type,file_name:P.name,file_sha1:g.sha1,created_by:l,form_revision:S,submitted_at:r,field_identifier:F});d.push(w);const V={uuid:w.uuid,file_name:P.name,field_identifier:F,file_extension:g.extension,file_sha1:g.sha1,form_revision:S};h.push(V)}this.dispatch(n(d));const p=this.enqueueRequest({description:O(m.POST,this.name,!0),method:m.POST,url:`${this.url}/bulk/`,payload:{submitted_at:r,attachments:h,files:Object.values(u)},blockers:d.map(f=>f.form_revision),blocks:d.map(f=>f.uuid)});return p.then(f=>{this.client.files.processPresignedUrls(f.presigned_urls),this.dispatch(a(f.attachments))}).catch(()=>{this.dispatch(c(d.map(f=>f.uuid)))}),[d,p.then(({attachments:f})=>f)]}async refreshStore(e,n){const{initialize:a}=this.actions,c=await this.list({queryParams:{form_revision__form__organization:e}},n);return this.dispatch(a(c)),c}}class Cg extends E{constructor(){super(...arguments);y(this,"name","Form Revision");y(this,"url","/form-revisions");y(this,"actions",{addOne:hi,addMany:mi,setOne:wm,setMany:Em,updateOne:vm,updateMany:Vm,deleteOne:yi,deleteMany:pi,initialize:Rm});y(this,"selectors",{selectById:zm,selectByIds:Bm})}add(e){var A;const{store:n}=this.client,{addOne:a,setOne:c,deleteOne:r}=this.actions,u=((A=n.getState().userReducer.currentUser)==null?void 0:A.id)??null,d=new Date().toISOString(),h=_({...e,created_by:u,submitted_at:d});this.dispatch(a(h));const p=this.enqueueRequest({description:O(m.POST,this.name,!1),method:m.POST,url:`${this.url}/`,payload:z(h),blockers:[e.form],blocks:[h.uuid]});return p.then(f=>{this.dispatch(c(f))}).catch(()=>{this.dispatch(r(h.uuid))}),[h,p]}async refreshStore(e,n){const{initialize:a}=this.actions,c=await this.list({queryParams:{form__organization:e}},n);return this.dispatch(a(c)),c}}class $g extends E{constructor(){super(...arguments);y(this,"name","Form");y(this,"url","/forms");y(this,"actions",{addOne:$m,addMany:Um,setOne:Lm,setMany:km,updateOne:Nm,updateMany:Gm,deleteOne:Hm,deleteMany:Wm,initialize:Cm});y(this,"selectors",{selectById:Zm,selectByIds:Jm})}add(e,n){var A;const{store:a}=this.client,{addOne:c,deleteOne:r}=this.actions,l=new Date().toISOString(),u=((A=a.getState().userReducer.currentUser)==null?void 0:A.id)??null,d=_({...e,submitted_at:l,created_by:u}),h=_({...n,form:d.uuid,submitted_at:l,created_by:u});this.dispatch(c(d)),this.dispatch(hi(h));const p=this.enqueueRequest({description:O(m.POST,this.name,!1),method:m.POST,url:`${this.url}/`,payload:{...z(d),initial_revision:{uuid:h.uuid,submitted_at:h.submitted_at,title:h.title,description:h.description,fields:h.fields}},blockers:[],blocks:[d.uuid,h.uuid]});return p.catch(f=>{throw this.dispatch(r(d.uuid)),this.dispatch(yi(h.uuid)),f}),[d,h,p]}async delete(e){const{store:n}=this.client,{deleteOne:a,addOne:c}=this.actions,{selectById:r}=this.selectors,l=n.getState(),u=r(e)(l);if(!u)throw new Error("Expected form to exist");const d=Iy(e)(l),h=jm(e)(l);this.dispatch(a(e)),this.dispatch(Mi(D(d))),this.dispatch(pi(D(h)));try{return await this.enqueueRequest({description:O(m.DELETE,this.name,!1),method:m.DELETE,url:`${this.url}/${e}/`,blockers:[e],blocks:[]})}catch(p){throw this.dispatch(c(u)),this.dispatch(mi(h)),this.dispatch(_i(d)),p}}async refreshStore(e,n){const{initialize:a}=this.actions,c=await this.list({queryParams:{organization:e}},n);return this.dispatch(a(c)),c}}class Ug extends E{constructor(){super(...arguments);y(this,"name","Form Submission Attachment");y(this,"url","/form-submission-attachments");y(this,"actions",{addOne:xm,addMany:Ii,setOne:ey,setMany:ty,updateOne:sy,updateMany:iy,deleteOne:ny,deleteMany:Oi,initialize:Qm});y(this,"selectors",{selectById:ay,selectByIds:cy})}async bulkAdd(e){var A;const{addMany:n,setMany:a,deleteMany:c}=this.actions,r=new Date().toISOString(),l=((A=this.client.store.getState().userReducer.currentUser)==null?void 0:A.id)??null,u={},d=[],h=[];for(const f of e){const{submissionUuid:S,fieldIdentifier:F,file:P}=f,g=await this.client.files.getFilePayload(P);g.sha1 in u||(u[g.sha1]=g);const w=_({file:URL.createObjectURL(P),file_type:P.type,file_name:P.name,file_sha1:g.sha1,created_by:l,form_submission:S,submitted_at:r,field_identifier:F});d.push(w);const V={uuid:w.uuid,file_name:P.name,file_sha1:g.sha1,file_extension:g.extension,field_identifier:F,form_submission:S};h.push(V)}this.dispatch(n(d));const p=this.enqueueRequest({description:O(m.POST,this.name,!0),method:m.POST,url:`${this.url}/bulk/`,payload:{submitted_at:r,attachments:h,files:Object.values(u)},blockers:d.map(f=>f.form_submission),blocks:d.map(f=>f.uuid)});return p.then(f=>{this.client.files.processPresignedUrls(f.presigned_urls),this.dispatch(a(f.attachments))}).catch(f=>{throw this.dispatch(c(d.map(S=>S.uuid))),f}),[d,p.then(({attachments:f})=>f)]}async bulkDelete(e){const{store:n}=this.client,{deleteMany:a,addMany:c}=this.actions,r=n.getState(),l=gi(e)(r);this.dispatch(a(e));try{return await this.enqueueRequest({description:O(m.DELETE,this.name,!0),method:m.DELETE,url:`${this.url}/bulk/`,payload:{uuids:e},blockers:e,blocks:[]})}catch(u){throw this.dispatch(c(l)),u}}async refreshStore(e,n){const{initialize:a}=this.actions,r=(await this.listPaginated({queryParams:{form_submission__form_revision__form__organization:e}},n)).flat();return this.dispatch(a(r)),r}}class Lg extends E{constructor(){super(...arguments);y(this,"name","Form Submission");y(this,"url","/form-submissions");y(this,"actions",{addOne:my,addMany:_i,setOne:oy,setMany:hy,updateOne:yy,updateMany:py,deleteOne:Ay,deleteMany:Mi,initialize:ly});y(this,"selectors",{selectById:Sy,selectByIds:Ty})}add(e){var A;const{store:n}=this.client,{addOne:a,setOne:c,deleteOne:r}=this.actions,u=((A=n.getState().userReducer.currentUser)==null?void 0:A.id)??null,d=new Date().toISOString(),h=_({...e,created_by:u,submitted_at:d}),p=this.enqueueRequest({description:O(m.POST,this.name,!1),method:m.POST,url:`${this.url}/`,payload:z(h),blockers:[e.form_revision],blocks:[h.uuid]});return this.dispatch(a(h)),p.then(f=>{this.dispatch(c(f))}).catch(()=>{this.dispatch(r(h.uuid))}),[h,p]}update(e){const{store:n}=this.client,{setOne:a}=this.actions,{selectById:c}=this.selectors,r=n.getState(),l=c(e.uuid)(r);if(!l)throw new Error(`Expected submission with uuid ${e.uuid} to exist`);const u={...l,...e};this.dispatch(a(u));const d=this.enqueueRequest({description:O(m.PATCH,this.name,!1),method:m.PATCH,url:`${this.url}/${u.uuid}/`,payload:e,blockers:[u.uuid],blocks:[u.uuid]});return d.then(h=>{this.dispatch(a(h))}).catch(()=>{this.dispatch(a(l))}),[u,d]}async delete(e){const{store:n}=this.client,{deleteOne:a,addOne:c}=this.actions,{selectById:r}=this.selectors,l=n.getState(),u=r(e)(l);if(!u)throw new Error(`Expected submission with uuid ${e} to exist`);const d=dy(e)(l);this.dispatch(a(e)),this.dispatch(Oi(D(d)));try{return await this.enqueueRequest({description:O(m.DELETE,this.name,!1),method:m.DELETE,url:`${this.url}/${e}/`,blockers:[e],blocks:[]})}catch(h){throw this.dispatch(c(u)),this.dispatch(Ii(d)),h}}async refreshStore(e,n){const{initialize:a}=this.actions,r=(await this.listPaginated({queryParams:{limit:this.pageSize,paginate:!0,form_revision__form_organization:e}},n)).flat();return this.dispatch(a(r)),r}}class kg extends E{constructor(){super(...arguments);y(this,"name","Geo Image");y(this,"url","/geo-images");y(this,"actions",{addOne:_y,addMany:My,setOne:gy,setMany:by,updateOne:Ry,updateMany:wy,deleteOne:Ey,deleteMany:vy,initialize:Fy});y(this,"selectors",{selectById:zy,selectByIds:By})}async add(e){var F;const{store:n}=this.client,{addOne:a,setOne:c,deleteOne:r}=this.actions,{file:l,...u}=e,d=new Date().toISOString(),h=((F=n.getState().userReducer.currentUser)==null?void 0:F.id)??null,p=u.project,A=await this.client.files.getFilePayload(l),f=_({...u,file_name:l.name,file_sha1:A.sha1,file_type:l.type,file:URL.createObjectURL(l),submitted_at:d,created_by:h});this.dispatch(a(f));const S=this.enqueueRequest({description:O(m.POST,this.name,!1),method:m.POST,url:`${this.url}/`,payload:{uuid:f.uuid,submitted_at:d,title:f.title,description:f.description,geo_marker:f.geo_marker,canvas_marker:f.canvas_marker,sha1:f.file_sha1,project:f.project,file_name:f.file_name,direction:f.direction,original_date:f.original_date,file:A},blocks:[p],blockers:[p]});return S.then(P=>{this.client.files.processPresignedUrls(P.presigned_urls),this.dispatch(c(P.geo_image))}).catch(()=>{this.dispatch(r(f.uuid))}),[f,S.then(P=>P.geo_image)]}async bulkAdd(e,n){var F;const{store:a}=this.client,{addMany:c,setMany:r,deleteMany:l}=this.actions,u=new Date().toISOString(),d=((F=a.getState().userReducer.currentUser)==null?void 0:F.id)??null,h=[],p=[],A=[],f={};for(const P of e){const{file:g,...w}=P,V=await this.client.files.getFilePayload(g);V.sha1 in f||(f[V.sha1]=V);const v=_({...w,file_name:g.name,file_sha1:V.sha1,file_type:g.type,file:URL.createObjectURL(g),submitted_at:u,created_by:d,project:n});h.push(v),p.push(v.uuid),A.push({uuid:v.uuid,sha1:v.file_sha1,file_name:v.file_name,title:v.title,description:v.description,geo_marker:v.geo_marker,canvas_marker:v.canvas_marker,direction:v.direction,original_date:v.original_date})}this.dispatch(c(h));const S=this.enqueueRequest({description:O(m.POST,this.name,!0),method:m.POST,url:`${this.url}/bulk/`,payload:{submitted_at:u,project:n,geo_images:A,files:Object.values(f)},blocks:[n],blockers:p});return S.then(P=>{this.client.files.processPresignedUrls(P.presigned_urls),this.dispatch(r(P.geo_images))}).catch(()=>{this.dispatch(l(p))}),[h,S.then(P=>P.geo_images)]}update(e){const{store:n}=this.client,{setOne:a}=this.actions,{selectById:c}=this.selectors,r=n.getState(),l=c(e.uuid)(r);if(!l)throw new Error(`Map image with uuid ${e.uuid} does not exist in the store`);const u={...l,...e};this.dispatch(a(u));const d=this.enqueueRequest({description:O(m.PATCH,this.name,!1),method:m.PATCH,url:`${this.url}/${e.uuid}/`,payload:e,blocks:[e.uuid],blockers:[e.uuid]});return d.then(h=>{this.dispatch(a(h))}).catch(()=>{this.dispatch(a(l))}),[u,d]}async delete(e){const{store:n}=this.client,{deleteOne:a,setOne:c}=this.actions,{selectById:r}=this.selectors,l=n.getState(),u=r(e)(l);if(!u)throw new Error(`Map image with uuid ${e} does not exist in the store`);this.dispatch(a(e));try{return await this.enqueueRequest({description:O(m.DELETE,this.name,!1),method:m.DELETE,url:`${this.url}/${e}/`,blocks:[e],blockers:[e]})}catch(d){throw this.dispatch(c(u)),d}}async refreshStore(e,n){const{initialize:a}=this.actions,c=await this.listPaginated({queryParams:{project:e}},n),r=c.flat();return this.dispatch(a(r)),c}}class Ng extends E{constructor(){super(...arguments);y(this,"name","Issue Association");y(this,"url","/issue-associations");y(this,"actions",{addOne:ky,addMany:Mt,setOne:$y,setMany:Cy,updateOne:Uy,updateMany:Ly,deleteOne:Ny,deleteMany:Rt,initialize:Dy});y(this,"selectors",{selectById:Hy,selectByIds:Wy})}add(e){var p;const{store:n}=this.client,{addOne:a,setOne:c,deleteOne:r}=this.actions,l=new Date().toISOString(),u=((p=n.getState().userReducer.currentUser)==null?void 0:p.id)??null,d=_({...e,submitted_at:l,created_by:u});this.dispatch(a(d));const h=this.enqueueRequest({description:O(m.POST,this.name,!1),method:m.POST,url:`${this.url}/`,payload:z(d),blockers:[e.associated_issue,...e.issue?[e.issue]:[],...e.asset?[e.asset]:[]],blocks:[d.uuid]});return h.then(A=>{this.dispatch(c(A))}).catch(()=>{this.dispatch(r(d.uuid))}),[d,h]}async delete(e){const{store:n}=this.client,{deleteOne:a,addOne:c}=this.actions,{selectById:r}=this.selectors,l=r(e)(n.getState());if(!l)throw new Error(`Issue association with uuid ${e} not found in store.`);this.dispatch(a(e));try{return await this.enqueueRequest({description:O(m.DELETE,this.name,!1),method:m.DELETE,url:`${this.url}/${e}/`,blockers:[e],blocks:[]})}catch(u){throw this.dispatch(c(l)),u}}async refreshStore(e,n){const{initialize:a}=this.actions,r=(await this.listPaginated({queryParams:{associated_issue__project:e}},n)).flat();return this.dispatch(a(r)),r}}class Gg extends Je{constructor(){super(...arguments);y(this,"name","Issue Attachment");y(this,"url","/issue-attachments");y(this,"actions",{addOne:xy,addMany:zi,setOne:ep,setMany:tp,updateOne:sp,updateMany:ip,deleteOne:np,deleteMany:Bi,initialize:Qy});y(this,"selectors",{selectById:dp,selectByIds:rp})}getId(e){return e.uuid}buildModel(e){return _({file:URL.createObjectURL(e.file),file_sha1:e.file_sha1,created_by:e.created_by,file_name:e.file.name,file_type:e.file.type,submitted_at:e.submitted_at,issue:e.modelUuid})}buildPayload(e,n){return{uuid:e.uuid,file_name:e.file_name,file_sha1:e.file_sha1,file_extension:n.extension,issue:e.issue}}async bulkAdd(e){return this._bulkAdd(e.map(n=>({modelUuid:n.issueUuid,file:n.file})))}async delete(e){return this._delete(e)}async refreshStore(e,n){const{initialize:a}=this.actions,r=(await this.listPaginated({queryParams:{issue__project:e}},n)).flat();return this.dispatch(a(r)),r}}class Hg extends Je{constructor(){super(...arguments);y(this,"name","Issue Comment Attachment");y(this,"url","/issue-comment-attachments");y(this,"actions",{addOne:hp,addMany:mp,setOne:yp,setMany:pp,updateOne:Ap,updateMany:fp,deleteOne:Sp,deleteMany:Tp,initialize:op});y(this,"selectors",{selectById:Op,selectByIds:Pp})}getId(e){return e.uuid}buildModel(e){return _({file:URL.createObjectURL(e.file),file_sha1:e.file_sha1,created_by:e.created_by,file_name:e.file.name,file_type:e.file.type,submitted_at:e.submitted_at,issue_comment:e.modelUuid})}buildPayload(e,n){return{uuid:e.uuid,file_name:e.file_name,file_sha1:e.file_sha1,file_extension:n.extension,issue_comment:e.issue_comment}}async bulkAdd(e){return this._bulkAdd(e.map(n=>({modelUuid:n.issueCommentUuid,file:n.file})))}async delete(e){return this._delete(e)}async refreshStore(e,n){const{initialize:a}=this.actions,r=(await this.listPaginated({queryParams:{issue_comment__issue__project:e}},n)).flat();return this.dispatch(a(r)),r}}class Wg extends E{constructor(){super(...arguments);y(this,"name","Issue Comment");y(this,"url","/issue-comments");y(this,"actions",{addOne:_p,addMany:Mp,setOne:Rp,setMany:wp,updateOne:Ep,updateMany:vp,deleteOne:Vp,deleteMany:zp,initialize:bp});y(this,"selectors",{selectById:Bp,selectByIds:jp})}add(e){const{store:n}=this.client,{addOne:a,updateOne:c,deleteOne:r}=this.actions,l=_({...e,author:n.getState().userReducer.currentUser.id,submitted_at:new Date().toISOString()});this.dispatch(a(l));const u=this.enqueueRequest({description:O(m.POST,this.name,!1),method:m.POST,url:`${this.url}/`,payload:z(l),blockers:[e.issue],blocks:[l.uuid]});return u.then(d=>{this.dispatch(c(d))}).catch(()=>{this.dispatch(r(l.uuid))}),[l,u]}update(e){const{store:n}=this.client,{updateOne:a}=this.actions,{selectById:c}=this.selectors,r=c(e.uuid)(n.getState());if(!r)throw new Error(`Comment with uuid ${e.uuid} not found in store`);const l={...r,...e};this.dispatch(a(l));const u=this.enqueueRequest({description:O(m.PATCH,this.name,!1),method:m.PATCH,url:`${this.url}/${e.uuid}/`,payload:e,blockers:[e.uuid],blocks:[e.uuid]});return u.then(d=>{this.dispatch(a(d))}).catch(()=>{this.dispatch(a(r))}),[l,u]}async delete(e){const{store:n}=this.client,{deleteOne:a,addOne:c}=this.actions,{selectById:r}=this.selectors,l=r(e)(n.getState());if(!l)throw new Error(`Comment with uuid ${e} not found in store`);this.dispatch(a(e));try{return await this.enqueueRequest({description:O(m.DELETE,this.name,!1),method:m.DELETE,url:`${this.url}/${e}/`,blockers:[e],blocks:[]})}catch(u){throw this.dispatch(c(l)),u}}async refreshStore(e,n){const{setMany:a}=this.actions,r=(await this.listPaginated({queryParams:{issue__project:e}},n)).flat();return this.dispatch(a(r)),r}}class Kg extends E{constructor(){super(...arguments);y(this,"name","Issue");y(this,"url","/issues");y(this,"actions",{addOne:$p,addMany:Li,setOne:Up,setMany:Lp,updateOne:kp,updateMany:Np,deleteOne:Gp,deleteMany:ki,initialize:Cp});y(this,"selectors",{selectById:Wp,selectByIds:Kp})}add(e){var A;const{store:n}=this.client,{addOne:a,setOne:c,deleteOne:r}=this.actions,l=n.getState(),u=new Date().toISOString(),d=((A=l.userReducer.currentUser)==null?void 0:A.id)??null,h=_({...e,submitted_at:u,created_by:d});this.dispatch(a(h));const p=this.enqueueRequest({description:O(m.POST,this.name,!1),method:m.POST,url:`${this.url}/`,payload:z(h),blockers:[h.project,h.issue_type,...h.category?[h.category]:[]],blocks:[h.uuid]});return p.then(f=>{this.dispatch(c(f))}).catch(f=>{throw this.dispatch(r(h.uuid)),f}),[h,p]}update(e){var p;const{updateOne:n}=this.actions,{selectById:a}=this.selectors,c=this.client.store.getState(),r=a(e.uuid)(c);if(!r)throw new Error(`Attempting to update an issue with uuid ${e.uuid} that doesn't exist in the store`);const l={...r,...e};this.dispatch(n(l));const u={};for(const A of[C.TITLE,C.DESCRIPTION,C.STATUS,C.CATEGORY,C.PRIORITY,C.ASSIGNED_TO,C.DUE_DATE])if(A in e&&e[A]!==r[A])switch(A){case C.PRIORITY:u[A]=e[A];break;case C.DUE_DATE:u[A]=e[A];break;case C.DESCRIPTION:u[A]=e[A];break;case C.TITLE:u[A]=e[A];break;case C.STATUS:{const f=e[A],S=dn(f)(c);if(!S)throw new Error(`Trying to update issue type status with ${f} which does not exist in store`);u[A]={name:S.name,color:S.color,uuid:S.uuid};break}case C.CATEGORY:{const f=e[A];if(f===null)u[A]=null;else{const S=xs(f)(c);if(!S)throw new Error(`Trying to update category with ${f} which does not exist in store.`);u[A]={name:S.name,color:S.color,uuid:S.uuid}}break}case C.ASSIGNED_TO:{const f=e[A];if(f===null)u[A]=null;else{const S=zt(f)(c);if(!S)throw new Error(`Trying to update assigned to with ${f} which does not exist in store.`);u[A]={full_name:S.username,id:S.id}}break}}const d=_({created_by:((p=c.userReducer.currentUser)==null?void 0:p.id)??null,submitted_at:new Date().toISOString(),issue:r.uuid,changes:u});this.dispatch(un(d));const h=this.enqueueRequest({description:O(m.PATCH,this.name,!1),method:m.PATCH,url:`${this.url}/${e.uuid}/`,payload:e,blockers:[e.uuid],blocks:[e.uuid]});return h.then(A=>{this.dispatch(n(A))}).catch(()=>{this.dispatch(n(r)),this.dispatch(on(d.uuid))}),[l,h]}async delete(e){const{store:n}=this.client,{deleteOne:a,addOne:c}=this.actions,{selectById:r}=this.selectors,l=n.getState(),u=r(e)(l);if(!u)throw new Error(`No issue with uuid ${e} found in the store`);const d=cp(e)(l),h=OS(e)(l),p={};for(const f of Ky(e)(l))p[f.uuid]=f;for(const f of Yy(e)(l))p[f.uuid]=f;const A=Object.values(p);this.dispatch(a(e)),this.dispatch(Bi(D(d))),this.dispatch(hn(D(h))),this.dispatch(Rt(D(A)));try{return await this.enqueueRequest({description:O(m.DELETE,this.name,!1),method:m.DELETE,url:`${this.url}/${e}/`,blockers:[e],blocks:[]})}catch(f){throw this.dispatch(c(u)),this.dispatch(zi(d)),this.dispatch(ln(h)),this.dispatch(Mt(A)),f}}async refreshStore(e,n){const{initialize:a}=this.actions,r=(await this.listPaginated({queryParams:{project:e}},n)).flat();return this.dispatch(a(r)),r}}class Yg extends Je{constructor(){super(...arguments);y(this,"name","Issue Type Attachment");y(this,"url","/issue-type-attachments");y(this,"actions",{addOne:Qp,addMany:xp,setOne:eA,setMany:tA,updateOne:sA,updateMany:iA,deleteOne:nA,deleteMany:aA,initialize:Xp});y(this,"selectors",{selectById:dA,selectByIds:rA})}getId(e){return e.uuid}buildModel(e){return _({file:URL.createObjectURL(e.file),file_sha1:e.file_sha1,created_by:e.created_by,file_name:e.file.name,file_type:e.file.type,submitted_at:e.submitted_at,issue_type:e.modelUuid})}buildPayload(e,n){return{uuid:e.uuid,file_name:e.file_name,file_sha1:e.file_sha1,file_extension:n.extension,issue_type:e.issue_type}}async bulkAdd(e){return this._bulkAdd(e.map(n=>({modelUuid:n.issueTypeUuid,file:n.file})))}async delete(e){return this._delete(e)}async refreshStore(e,n){const{initialize:a}=this.actions,c=await this.list({queryParams:{issue_type__organization:e}},n);return this.dispatch(a(c)),c}}class Zg extends E{constructor(){super(...arguments);y(this,"name","Issue Type Fields Attachment");y(this,"url","/issue-type-fields-attachments");y(this,"actions",{addOne:hA,addMany:mA,setOne:yA,setMany:pA,updateOne:AA,updateMany:fA,deleteOne:SA,deleteMany:TA,initialize:oA});y(this,"selectors",{selectById:OA,selectByIds:PA})}async bulkAdd(e){var A;const{addMany:n,setMany:a,deleteMany:c}=this.actions,r=new Date().toISOString(),l=((A=this.client.store.getState().userReducer.currentUser)==null?void 0:A.id)??null,u={},d=[],h=[];for(const f of e){const{fieldsRevisionUuid:S,fieldIdentifier:F,file:P}=f,g=await this.client.files.getFilePayload(P);g.sha1 in u||(u[g.sha1]=g);const w=_({file:URL.createObjectURL(P),file_type:P.type,file_name:P.name,file_sha1:g.sha1,created_by:l,fields_revision:S,submitted_at:r,field_identifier:F});d.push(w);const V={uuid:w.uuid,file_name:P.name,file_extension:g.extension,field_identifier:F,file_sha1:g.sha1,fields_revision:S};h.push(V)}this.dispatch(n(d));const p=this.enqueueRequest({description:O(m.POST,this.name,!0),method:m.POST,url:`${this.url}/bulk/`,payload:{submitted_at:r,attachments:h,files:Object.values(u)},blockers:d.map(f=>f.fields_revision),blocks:d.map(f=>f.uuid)});return p.then(f=>{this.client.files.processPresignedUrls(f.presigned_urls),this.dispatch(a(f.attachments))}).catch(()=>{this.dispatch(c(d.map(f=>f.uuid)))}),[d,p.then(({attachments:f})=>f)]}async refreshStore(e,n){const{initialize:a}=this.actions,c=await this.list({queryParams:{fields_revision__issue_type__organization:e}},n);return this.dispatch(a(c)),c}}class Jg extends E{constructor(){super(...arguments);y(this,"name","Issue Type Fields");y(this,"url","/issue-type-fields");y(this,"actions",{addOne:UA,addMany:LA,setOne:kA,setMany:NA,updateOne:GA,updateMany:HA,deleteOne:WA,deleteMany:KA,initialize:$A});y(this,"selectors",{selectById:ZA,selectByIds:JA})}add(e){var p;const{store:n}=this.client,{addOne:a,setOne:c,deleteOne:r}=this.actions,l=((p=n.getState().userReducer.currentUser)==null?void 0:p.id)??null,u=new Date().toISOString(),d=_({...e,created_by:l,submitted_at:u});this.dispatch(a(d));const h=this.enqueueRequest({description:O(m.POST,this.name,!1),method:m.POST,url:`${this.url}/`,payload:z(d),blockers:[d.issue_type],blocks:[d.uuid]});return h.then(A=>{this.dispatch(c(A))}).catch(A=>{throw this.dispatch(r(d.uuid)),A}),[d,h]}async refreshStore(e,n){const{initialize:a}=this.actions,c=await this.list({queryParams:{issue_type__organization:e}},n);return this.dispatch(a(c)),c}}class Xg extends E{constructor(){super(...arguments);y(this,"name","Issue Type Field Values Attachment");y(this,"url","/issue-type-field-values-attachments");y(this,"actions",{addOne:ef,addMany:Ji,setOne:tf,setMany:sf,updateOne:nf,updateMany:af,deleteOne:cf,deleteMany:Xi,initialize:xA});y(this,"selectors",{selectById:rf,selectByIds:uf})}async bulkAdd(e){var A;const{addMany:n,setMany:a,deleteMany:c}=this.actions,r=new Date().toISOString(),l=((A=this.client.store.getState().userReducer.currentUser)==null?void 0:A.id)??null,u={},d=[],h=[];for(const f of e){const{fieldValuesUuid:S,fieldIdentifier:F,file:P}=f,g=await this.client.files.getFilePayload(P);g.sha1 in u||(u[g.sha1]=g);const w=_({file:URL.createObjectURL(P),file_type:P.type,file_name:P.name,file_sha1:g.sha1,created_by:l,field_values:S,submitted_at:r,field_identifier:F});d.push(w);const V={uuid:w.uuid,file_name:P.name,file_sha1:g.sha1,file_extension:g.extension,field_identifier:F,field_values:S};h.push(V)}this.dispatch(n(d));const p=this.enqueueRequest({description:O(m.POST,this.name,!0),method:m.POST,url:`${this.url}/bulk/`,payload:{submitted_at:r,attachments:h,files:Object.values(u)},blockers:d.map(f=>f.field_values),blocks:d.map(f=>f.uuid)});return p.then(({presigned_urls:f,attachments:S})=>{this.client.files.processPresignedUrls(f),this.dispatch(a(S))}).catch(f=>{throw this.dispatch(c(d.map(S=>S.uuid))),f}),[d,p.then(({attachments:f})=>f)]}async bulkDelete(e){const{store:n}=this.client,{deleteMany:a,addMany:c}=this.actions,{selectByIds:r}=this.selectors,l=n.getState(),u=r(e)(l);this.dispatch(a(e));try{return await this.enqueueRequest({description:O(m.DELETE,this.name,!0),method:m.DELETE,url:`${this.url}/bulk/`,payload:{uuids:e},blockers:e,blocks:[]})}catch(d){throw this.dispatch(c(u)),d}}async refreshStore(e,n){const{initialize:a}=this.actions,r=(await this.listPaginated({queryParams:{field_values__issue__project:e,latest:!0}},n)).flat();return this.dispatch(a(r)),r}}class Qg extends E{constructor(){super(...arguments);y(this,"name","Issue Type Field Values");y(this,"url","/issue-type-field-values");y(this,"actions",{addOne:_A,addMany:MA,setOne:RA,setMany:wA,updateOne:EA,updateMany:vA,deleteOne:VA,deleteMany:zA,initialize:bA});y(this,"selectors",{selectById:jA,selectByIds:qA})}add(e){var A;const{store:n}=this.client,{addOne:a,setOne:c,deleteOne:r}=this.actions,u=((A=n.getState().userReducer.currentUser)==null?void 0:A.id)??null,d=new Date().toISOString(),h=_({...e,created_by:u,submitted_at:d}),p=this.enqueueRequest({description:O(m.POST,this.name,!1),method:m.POST,url:`${this.url}/`,payload:z(h),blockers:[e.issue,e.fields_revision],blocks:[h.uuid]});return this.dispatch(a(h)),p.then(f=>{this.dispatch(c(f))}).catch(()=>{this.dispatch(r(h.uuid))}),[h,p]}update(e){const{store:n}=this.client,{setOne:a}=this.actions,{selectById:c}=this.selectors,r=n.getState(),l=c(e.uuid)(r);if(!l)throw new Error(`Expected IssueTypeFieldValues with uuid ${e.uuid} to exist`);const u={...l,...e};this.dispatch(a(u));const d=this.enqueueRequest({description:O(m.PATCH,this.name,!1),method:m.PATCH,url:`${this.url}/${e.uuid}/`,payload:e,blockers:[u.uuid,u.fields_revision,u.issue],blocks:[u.uuid]});return d.then(h=>{this.dispatch(a(h))}).catch(()=>{this.dispatch(a(l))}),[u,d]}async delete(e){const{store:n}=this.client,{deleteOne:a,addOne:c}=this.actions,{selectById:r}=this.selectors,l=n.getState(),u=r(e)(l);if(!u)throw new Error(`Expected submission with uuid ${e} to exist`);const d=lf(e)(l);this.dispatch(a(e)),this.dispatch(Xi(D(d)));try{return await this.enqueueRequest({description:O(m.DELETE,this.name,!1),method:m.DELETE,url:`${this.url}/${e}/`,blockers:[e],blocks:[]})}catch(h){throw this.dispatch(c(u)),this.dispatch(Ji(d)),h}}async refreshStore(e,n){const{initialize:a}=this.actions,r=(await this.listPaginated({queryParams:{issue__project:e,latest:!0}},n)).flat();return this.dispatch(a(r)),r}}class xg extends E{constructor(){super(...arguments);y(this,"name","Issue Type Identifier");y(this,"url","/issue-type-identifiers");y(this,"actions",{addOne:yf,addMany:pf,setOne:Af,setMany:ff,updateOne:Sf,updateMany:Tf,deleteOne:If,deleteMany:Of,initialize:mf});y(this,"selectors",{selectById:Ff,selectByIds:gf})}add(e){var p;const{store:n}=this.client,{addOne:a,setOne:c,deleteOne:r}=this.actions,l=((p=n.getState().userReducer.currentUser)==null?void 0:p.id)??null,u=new Date().toISOString(),d=_({...e,created_by:l,submitted_at:u});this.dispatch(a(d));const h=this.enqueueRequest({description:O(m.POST,this.name,!1),method:m.POST,url:`${this.url}/`,payload:z(d),blockers:[d.issue_type],blocks:[d.uuid]});return h.then(A=>{this.dispatch(c(A))}).catch(()=>{this.dispatch(r(d.uuid))}),[d,h]}update(e){const{store:n}=this.client,{setOne:a}=this.actions,{selectById:c}=this.selectors,r=c(e.uuid)(n.getState());if(!r)throw new Error(`Expected issue type identifier with uuid ${e.uuid} to exist`);const l={...r,...e};this.dispatch(a(l));const u=this.enqueueRequest({description:O(m.PATCH,this.name,!1),method:m.PATCH,url:`${this.url}/${e.uuid}/`,payload:e,blockers:[e.uuid],blocks:[e.uuid]});return u.then(d=>{this.dispatch(a(d))}).catch(()=>{this.dispatch(a(r))}),[l,u]}async delete(e){const{store:n}=this.client,{deleteOne:a,addOne:c}=this.actions,{selectById:r}=this.selectors,l=n.getState(),u=r(e)(l);if(!u)throw new Error(`Expected issue type identifier with uuid ${e} to exist`);this.dispatch(a(e));try{return await this.enqueueRequest({description:O(m.DELETE,this.name,!1),method:m.DELETE,url:`${this.url}/${e}/`,blockers:[e],blocks:[]})}catch(d){throw this.dispatch(c(u)),d}}async refreshStore(e,n){const{initialize:a}=this.actions,c=await this.list({queryParams:{issue_type__organization:e}},n);return this.dispatch(a(c)),c}}class eb extends E{constructor(){super(...arguments);y(this,"name","Issue Type Identifier Value");y(this,"url","/issue-type-identifier-values");y(this,"actions",{addOne:Rf,addMany:wf,setOne:Ef,setMany:vf,updateOne:Vf,updateMany:zf,deleteOne:Bf,deleteMany:jf,initialize:Mf});y(this,"selectors",{selectById:Df,selectByIds:Cf})}add(e){var p;const{store:n}=this.client,{addOne:a,setOne:c,deleteOne:r}=this.actions,l=((p=n.getState().userReducer.currentUser)==null?void 0:p.id)??null,u=new Date().toISOString(),d=_({...e,created_by:l,submitted_at:u});this.dispatch(a(d));const h=this.enqueueRequest({description:O(m.POST,this.name,!1),method:m.POST,url:`${this.url}/`,payload:z(d),blockers:[e.issue,e.issue_type_identifier],blocks:[d.uuid]});return h.then(A=>{this.dispatch(c(A))}).catch(()=>{this.dispatch(r(d.uuid))}),[d,h]}update(e){const{store:n}=this.client,{setOne:a}=this.actions,{selectById:c}=this.selectors,r=c(e.uuid)(n.getState());if(!r)throw new Error(`Expected issue type identifier value with uuid ${e.uuid} to exist`);const l={...r,...e};this.dispatch(a(l));const u=this.enqueueRequest({description:O(m.PATCH,this.name,!1),method:m.PATCH,url:`${this.url}/${e.uuid}/`,payload:e,blockers:[e.uuid],blocks:[e.uuid]});return u.then(d=>{this.dispatch(a(d))}).catch(()=>{this.dispatch(a(r))}),[l,u]}async delete(e){const{store:n}=this.client,{deleteOne:a,addOne:c}=this.actions,{selectById:r}=this.selectors,l=n.getState(),u=r(e)(l);if(!u)throw new Error(`Expected issue type identifier value with uuid ${e} to exist`);this.dispatch(a(e));try{return await this.enqueueRequest({description:O(m.DELETE,this.name,!1),method:m.DELETE,url:`${this.url}/${e}/`,blockers:[e],blocks:[]})}catch(d){throw this.dispatch(c(u)),d}}async refreshStore(e,n){const{initialize:a}=this.actions,r=(await this.listPaginated({queryParams:{issue__project:e}},n)).flat();return this.dispatch(a(r)),r}}class tb extends E{constructor(){super(...arguments);y(this,"name","Issue Type");y(this,"url","/issue-types");y(this,"actions",{addOne:kf,addMany:Nf,setOne:Gf,setMany:Hf,updateOne:Wf,updateMany:Kf,deleteOne:Yf,deleteMany:Zf,initialize:Lf});y(this,"selectors",{selectById:Xf,selectByIds:Qf})}add(e){var A;const{store:n}=this.client,{addOne:a,setOne:c,deleteOne:r}=this.actions,u=((A=n.getState().userReducer.currentUser)==null?void 0:A.id)??null,d=new Date().toISOString(),h=_({...e,submitted_at:d,created_by:u});this.dispatch(a(h));const p=this.enqueueRequest({method:m.POST,url:`${this.url}/`,payload:z(h),blockers:[],blocks:[h.uuid]});return p.then(f=>{this.dispatch(c(f))}).catch(()=>{this.dispatch(r(h.uuid))}),[h,p]}update(e){const{store:n}=this.client,{setOne:a}=this.actions,{selectById:c}=this.selectors,r=n.getState(),l=c(e.uuid)(r);if(!l)throw new Error(`IssueType with uuid ${e.uuid} does not exist in the store.`);const u={...l,...e};this.dispatch(a(u));const d=this.enqueueRequest({method:m.PATCH,url:`${this.url}/${e.uuid}/`,payload:e,blockers:[e.uuid],blocks:[e.uuid]});return d.then(h=>{this.dispatch(a(h))}).catch(()=>{this.dispatch(a(l))}),[u,d]}async delete(e){const{store:n}=this.client,{deleteOne:a,setOne:c}=this.actions,{selectById:r}=this.selectors,l=n.getState(),u=r(e)(l);if(!u)throw new Error(`IssueType with uuid ${e} does not exist in the store.`);const d=Yp(e)(l);this.dispatch(a(e)),this.dispatch(ki(D(d)));try{return await this.enqueueRequest({description:O(m.DELETE,this.name,!1),method:m.DELETE,url:`${this.url}/${e}/`,blockers:[e],blocks:[]})}catch(h){throw this.dispatch(c(u)),this.dispatch(Li(d)),h}}async refreshStore(e,n){const{initialize:a}=this.actions,c=await this.list({queryParams:{organization:e}},n);return this.dispatch(a(c)),c}}class sb extends E{constructor(){super(...arguments);y(this,"name","Issue Type Status");y(this,"url","/issue-type-statuses");y(this,"actions",{addOne:sS,addMany:iS,setOne:nS,setMany:aS,updateOne:cS,updateMany:dS,deleteOne:rS,deleteMany:uS,initialize:tS});y(this,"selectors",{selectById:dn,selectByIds:oS})}add(e){var p;const{store:n}=this.client,{addOne:a,setOne:c,deleteOne:r}=this.actions,l=((p=n.getState().userReducer.currentUser)==null?void 0:p.id)??null,u=new Date().toISOString(),d=_({...e,created_by:l,submitted_at:u});this.dispatch(a(d));const h=this.enqueueRequest({description:O(m.POST,this.name,!1),method:m.POST,url:`${this.url}/`,payload:z(d),blockers:[e.issue_type],blocks:[d.uuid]});return h.then(A=>{this.dispatch(c(A))}).catch(()=>{this.dispatch(r(d.uuid))}),[d,h]}update(e){const{setOne:n}=this.actions,{selectById:a}=this.selectors,c=this.client.store.getState(),r=a(e.uuid)(c);if(!r)throw new Error(`Expected an existing issue type status with uuid ${e.uuid}`);const l={...r,...e};this.dispatch(n(l));const u=this.enqueueRequest({description:O(m.PATCH,this.name,!1),method:m.PATCH,url:`${this.url}/${e.uuid}/`,payload:e,blockers:[e.uuid],blocks:[e.uuid]});return u.then(d=>{this.dispatch(n(d))}).catch(()=>{this.dispatch(n(r))}),[l,u]}async delete(e){const{store:n}=this.client,{deleteOne:a,addOne:c}=this.actions,{selectById:r}=this.selectors,l=r(e)(n.getState());if(!l)throw new Error(`No issue type status with uuid ${e} found in the store`);this.dispatch(a(e));try{return await this.enqueueRequest({description:O(m.DELETE,this.name,!1),method:m.DELETE,url:`${this.url}/${e}/`,blockers:[e],blocks:[]})}catch(u){throw this.dispatch(c(l)),u}}async refreshStore(e,n){const{initialize:a}=this.actions,c=await this.list({queryParams:{issue_type__organization:e}},n);return this.dispatch(a(c)),c}}class ib extends E{constructor(){super(...arguments);y(this,"name","Issue Update");y(this,"url","/issue-updates");y(this,"actions",{addOne:un,addMany:ln,setOne:pS,setMany:AS,updateOne:fS,updateMany:SS,deleteOne:on,deleteMany:hn,initialize:yS});y(this,"selectors",{selectById:TS,selectByIds:IS})}async refreshStore(e,n){const{initialize:a}=this.actions,r=(await this.listPaginated({queryParams:{issue__project:e}},n)).flat();return this.dispatch(a(r)),r}}const nb=1800;function ab(t){if(!t.access)throw new Error("Missing access token");if(!t.refresh)throw new Error("Missing refresh token");return{accessToken:t.access,refreshToken:t.refresh}}class cb extends tg{constructor(){super(...arguments);y(this,"_getRenewedTokens",async e=>{const n=this.performRequest({method:m.POST,url:this.refreshTokensUrl,payload:{refresh:e},isAuthNeeded:!1,checkAuth:!1});let a;try{a=await n}catch(c){console.error("Could not renew tokens; clearing auth",c),this.clearAuth();return}if(!a.access)throw new Error("Missing access token");return{accessToken:a.access,refreshToken:a.refresh??this.getRefreshToken()}})}clearAuth(){console.debug(this.constructor.name,"clearing auth;"),this.dispatch(vo(!1)),this.clearTokens(),this.dispatch(b()),this.dispatch(b())}async renewTokens(){const e=this.getRefreshToken();if(!e)throw new Error("No refresh token found");console.debug(this.constructor.name,"renewing tokens");try{const n=await this._getRenewedTokens(e);if(!n)return;console.log("Got renewed tokens"),this.setTokens(n)}catch(n){throw console.error("Could not renew tokens; clearing auth",n),this.clearAuth(),n}}tokenIsExpiringSoon(){const e=this.getAccessToken();if(!e)return!1;const n=Date.now()/1e3;let a;try{a=EO(e).exp??n}catch{a=n}return a-n<nb}getAuthHeader(){return`Bearer ${this.getAccessToken()}`}async prepareAuth(){if(this.tokenIsExpiringSoon()){console.debug(this.constructor.name,"preparing auth");try{await this.renewTokens()}catch(e){return e instanceof U&&this.clearAuth(),e instanceof Error?Promise.reject(e):Promise.reject(new Error((e??it).toString()))}}}async handleUnauthorized(e,n){const a=this.client.store.getState();if(e.url.endsWith("/token/refresh/"))throw a.authReducer.isLoggedIn&&console.warn("No signed-in user to sign out."),this.clearAuth(),new U({message:"You have been signed out due to inactivity.",response:n,discard:!0});if(a.authReducer.isLoggedIn)await this.renewTokens();else throw console.debug("Forbidden; user is not logged in."),new U({message:"Incorrect username or password.",response:n,discard:!0})}async initAuth(e){const n=tt.v4();return console.debug(this.constructor.name,"Initiating auth"),this.performRequest({uuid:n,method:m.POST,url:this.initTokensUrl,payload:e,isAuthNeeded:!1,checkAuth:!1}).then(a=>{this.setTokens(ab(a))})}}class db extends nt{constructor(){super(...arguments);y(this,"name","Organization Access");y(this,"url","/organization-accesses");y(this,"actions",{addOne:qS,addMany:DS,setOne:CS,setMany:$S,updateOne:US,updateMany:LS,deleteOne:kS,deleteMany:NS,initialize:jS});y(this,"selectors",{selectById:HS,selectByIds:WS})}update(e){const{store:n}=this.client,{updateOne:a}=this.actions,{selectById:c}=this.selectors,r=c(e.uuid)(n.getState()),l={...r,...e};this.dispatch(a(l));const u=this.enqueueRequest({description:O(m.PATCH,this.name,!1),method:m.PATCH,url:`${this.url}/${e.uuid}/`,payload:e,blockers:[e.uuid],blocks:[e.uuid]});return u.then(d=>{this.dispatch(a(d))}).catch(d=>{throw this.dispatch(a(r)),d}),[l,u]}async delete(e){const{store:n}=this.client,{deleteOne:a,addOne:c}=this.actions,{selectById:r}=this.selectors,l=n.getState(),u=r(e)(l),d=zt(u.user)(l);this.dispatch(a(u.uuid)),this.dispatch(fn(u.user));try{return await this.enqueueRequest({description:O(m.DELETE,this.name,!1),method:m.DELETE,url:`${this.url}/${u.uuid}/`,blockers:[u.uuid],blocks:[]})}catch(h){throw this.dispatch(c(u)),this.dispatch(An(d)),h}}async refreshStore(e,n){const{initialize:a}=this.actions,c=await this.list({queryParams:{organization:e}},n);return this.dispatch(a(c)),c}}class rb extends nt{constructor(){super(...arguments);y(this,"name","Organization");y(this,"url","/organizations");y(this,"actions",{addOne:xS,addMany:QS,setOne:XS,setMany:JS,updateOne:tT,updateMany:eT,deleteOne:sT,deleteMany:iT,initialize:ZS});y(this,"selectors",{selectById:cT,selectByIds:dT})}async add(e){const{addOne:n}=this.actions,a=await this.enqueueRequest({description:O(m.POST,this.name,!1),method:m.POST,url:`${this.url}/`,payload:e,blockers:[],blocks:[]});return this.dispatch(n(a)),a}async update(e){const{setOne:n}=this.actions,a=await this.enqueueRequest({description:O(m.PATCH,this.name,!1),method:m.PATCH,url:`${this.url}/${e.uuid}/`,payload:e,blockers:[e.uuid],blocks:[e.uuid]});return this.dispatch(n(a)),a}async invite(e,n){return this.enqueueRequest({description:O(m.POST,this.name,!1),method:m.POST,url:`${this.url}/${e}/invite/${n}/`,blockers:[],blocks:[]})}async refreshStore(e){const{initialize:n}=this.actions,a=await this.list({},e);return this.dispatch(n(a)),a}}class ub extends E{constructor(){super(...arguments);y(this,"name","Project Access");y(this,"url","/project-accesses");y(this,"actions",{addOne:fT,addMany:ST,setOne:TT,setMany:IT,updateOne:OT,updateMany:PT,deleteOne:FT,deleteMany:gT,initialize:AT});y(this,"selectors",{selectById:_T,selectByIds:MT})}add(e){var d;const{store:n}=this.client,{addOne:a,setOne:c,deleteOne:r}=this.actions,l=_({...e,created_by:((d=n.getState().userReducer.currentUser)==null?void 0:d.id)??null});this.dispatch(a(l));const u=this.enqueueRequest({description:O(m.POST,this.name,!1),method:m.POST,url:`${this.url}/`,payload:z(l),blockers:[l.organization_access,l.project],blocks:[l.uuid]});return u.then(h=>{this.dispatch(c(h))}).catch(h=>{throw this.dispatch(r(l.uuid)),h}),[l,u]}bulkAdd(e){var h;const{store:n}=this.client,{addMany:a,deleteMany:c,updateMany:r}=this.actions,l=((h=n.getState().userReducer.currentUser)==null?void 0:h.id)??null,u=e.map(p=>_({...p,created_by:l}));this.dispatch(a(u));const d=this.enqueueRequest({description:O(m.POST,this.name,!0),method:m.POST,url:`${this.url}/bulk/`,payload:{project_accesses:u.map(p=>z(p))},blockers:u.flatMap(p=>[p.project,p.organization_access]),blocks:u.map(p=>p.uuid)});return d.then(p=>{this.dispatch(r(p))}).catch(p=>{throw this.dispatch(c(u.map(A=>A.uuid))),p}),[u,d]}update(e){const{store:n}=this.client,{setOne:a}=this.actions,{selectById:c}=this.selectors,r=c(e.uuid)(n.getState()),l={...r,...e};this.dispatch(a(l));const u=this.enqueueRequest({description:O(m.PATCH,this.name,!1),method:m.PATCH,url:`${this.url}/${e.uuid}/`,payload:e,blockers:[e.uuid],blocks:[]});return u.then(d=>{this.dispatch(a(d))}).catch(d=>{throw this.dispatch(a(r)),d}),[l,u]}async delete(e){const{store:n}=this.client,{deleteOne:a,addOne:c}=this.actions,{selectById:r}=this.selectors,l=r(e)(n.getState());this.dispatch(a(e));try{return await this.enqueueRequest({description:O(m.DELETE,this.name,!1),method:m.DELETE,url:`${this.url}/${e}/`,blockers:[e],blocks:[]})}catch(u){throw this.dispatch(c(l)),u}}async refreshStore(e,n){const{initialize:a}=this.actions,c=await this.list({queryParams:{project__organization:e}},n);return this.dispatch(a(c)),c}}class lb extends Je{constructor(){super(...arguments);y(this,"name","Project Attachment");y(this,"url","/project-attachments");y(this,"actions",{addOne:ET,addMany:vT,setOne:VT,setMany:zT,updateOne:BT,updateMany:jT,deleteOne:qT,deleteMany:DT,initialize:wT});y(this,"selectors",{selectById:$T,selectByIds:UT})}getId(e){return e.uuid}buildModel(e){return _({file:URL.createObjectURL(e.file),file_sha1:e.file_sha1,created_by:e.created_by,file_name:e.file.name,file_type:e.file.type,submitted_at:e.submitted_at,project:e.modelUuid})}buildPayload(e,n){return{uuid:e.uuid,file_name:e.file_name,file_sha1:e.file_sha1,file_extension:n.extension,project:e.project}}async bulkAdd(e){return this._bulkAdd(e.map(n=>({modelUuid:n.projectUuid,file:n.file})))}async delete(e){return this._delete(e)}async refreshStore(e,n){const{initialize:a}=this.actions,c=await this.list({queryParams:{project__organization:e}},n);return this.dispatch(a(c)),c}}class ob extends E{constructor(){super(...arguments);y(this,"name","Project File");y(this,"url","/project-files");y(this,"actions",{addOne:WT,addMany:KT,setOne:GT,setMany:HT,updateOne:YT,updateMany:ZT,deleteOne:JT,deleteMany:XT,initialize:NT});y(this,"selectors",{selectById:iI,selectByIds:nI})}async saveExisting(e){const{setOne:n}=this.actions;if(!e.uuid)throw new Error("You can only use this method to save existing project files. The one provided has no uuid.");const a={...e};delete a.file;const c=this.enqueueRequest({method:m.PATCH,url:`${this.url}/${e.uuid}/`,payload:a,blockers:[e.uuid],blocks:[e.uuid]});return c.then(r=>{this.dispatch(n(r))}),c}saveActive(){const{store:e}=this.client,{setOne:n}=this.actions,a=e.getState(),c=a.projectFileReducer.activeProjectFileId;if(!c)throw new Error("No active project file");const r=a.projectFileReducer.instances[c];if(!r)throw new Error("No active project file");if(!r.bounds&&!r.canvas_bounds)throw new Error("Project file must either have bounds or canvas_bounds set");let l;if(typeof r.file=="string"&&!r.file.startsWith("blob:")){const h={...r};delete h.file,l={method:m.PATCH,url:`${this.url}/${c}/`,payload:h,blockers:[c],blocks:[c]}}else l=new Promise((h,p)=>{this.client.files.uploadFileToS3(r.file_sha1).then(([A])=>{h({method:m.POST,url:`${this.url}/`,payload:{...r,...A},blockers:[c],blocks:[c]})}).catch(p)});const d=Promise.resolve(l).then(h=>this.enqueueRequest(h));return d.then(h=>{this.dispatch(n(h))}),this.dispatch(eI),this.dispatch(xT(null)),this.dispatch(QT(!1)),[r,d]}async delete(e){const{store:n}=this.client,{addOne:a,deleteOne:c}=this.actions,{selectById:r}=this.selectors,l=r(e)(n.getState());if(!l)throw new Error(`Expected project file with uuid ${e} to exist in the store.`);this.dispatch(c(e));try{return await this.enqueueRequest({description:O(m.DELETE,this.name,!1),method:m.DELETE,url:`${this.url}/${e}`,blockers:[e],blocks:[]})}catch(u){throw this.dispatch(a(l)),u}}async refreshStore(e,n){const{initialize:a}=this.actions,r=(await this.listPaginated({queryParams:{project:e}},n)).flat();return this.dispatch(a(r)),r}}class hb extends nt{constructor(){super(...arguments);y(this,"name","Project");y(this,"url","/projects");y(this,"actions",{addOne:oI,addMany:lI,setOne:uI,setMany:rI,updateOne:mI,updateMany:hI,deleteOne:yI,deleteMany:pI,initialize:dI});y(this,"selectors",{selectById:SI,selectByIds:TI})}async add(e){const{addOne:n}=this.actions,a=await this.performRequest({method:m.POST,url:`${this.url}/`,payload:z(e)});return this.dispatch(n(a)),a}async update(e){const{updateOne:n}=this.actions,a=await this.performRequest({method:m.PATCH,url:`${this.url}/${e.uuid}/`,payload:z(e)});return this.dispatch(n(a)),a}async delete(e){const{deleteOne:n}=this.actions,a=await this.enqueueRequest({description:O(m.DELETE,this.name,!1),method:m.DELETE,url:`${this.url}/${e}/`,blockers:[e],blocks:[]});return this.dispatch(n(e)),a}async refreshStore(e,n){const{initialize:a}=this.actions,c=await this.list({queryParams:{organization:e}},n);return this.dispatch(a(c)),c}}class mb extends E{constructor(){super(...arguments);y(this,"name","Team Membership");y(this,"url","/team-memberships");y(this,"actions",{addOne:FI,addMany:gI,setOne:bI,setMany:_I,updateOne:MI,updateMany:RI,deleteOne:wI,deleteMany:EI,initialize:PI});y(this,"selectors",{selectById:zI,selectByIds:BI})}add(e){var d;const{store:n}=this.client,{addOne:a,setOne:c,deleteOne:r}=this.actions,l=_({...e,created_by:((d=n.getState().userReducer.currentUser)==null?void 0:d.id)??null});this.dispatch(a(l));const u=this.enqueueRequest({description:O(m.POST,this.name,!1),method:m.POST,url:`${this.url}/`,payload:z(l),blockers:[e.team],blocks:[l.uuid]});return u.then(h=>{this.dispatch(c(h))}).catch(()=>{this.dispatch(r(l.uuid))}),[l,u]}bulkAdd(e){var h;const{store:n}=this.client,{addMany:a,setMany:c,deleteMany:r}=this.actions,l=((h=n.getState().userReducer.currentUser)==null?void 0:h.id)??null,u=e.map(p=>_({...p,created_by:l}));this.dispatch(a(u));const d=this.enqueueRequest({description:O(m.POST,this.name,!0),method:m.POST,url:`${this.url}/bulk/`,payload:{team_memberships:u.map(p=>z(p))},blockers:u.map(p=>p.team),blocks:u.map(p=>p.uuid)});return d.then(p=>{this.dispatch(c(p))}).catch(()=>{this.dispatch(r(u.map(p=>p.uuid)))}),[u,d]}async delete(e){const{store:n}=this.client,{deleteOne:a,setOne:c}=this.actions,{selectById:r}=this.selectors,l=n.getState(),u=r(e)(l);if(!u)throw new Error(`Expected team membership with uuid ${e} to exist`);this.dispatch(a(e));try{return await this.enqueueRequest({description:O(m.DELETE,this.name,!1),method:m.DELETE,url:`${this.url}/${e}/`,blockers:[e],blocks:[e]})}catch(d){throw this.dispatch(c(u)),d}}async refreshStore(e,n){const{initialize:a}=this.actions,c=await this.list({queryParams:{team__organization:e}},n);return this.dispatch(a(c)),c}}class yb extends E{constructor(){super(...arguments);y(this,"name","Team");y(this,"url","/teams");y(this,"actions",{addOne:DI,addMany:CI,setOne:$I,setMany:UI,updateOne:LI,updateMany:kI,deleteOne:NI,deleteMany:GI,initialize:qI});y(this,"selectors",{selectById:WI,selectByIds:KI})}add(e){var d;const{store:n}=this.client,{addOne:a,setOne:c,deleteOne:r}=this.actions,l=_({...e,submitted_at:new Date().toISOString(),created_by:((d=n.getState().userReducer.currentUser)==null?void 0:d.id)??null});this.dispatch(a(l));const u=this.enqueueRequest({description:O(m.POST,this.name,!1),method:m.POST,url:`${this.url}/`,payload:z(l),blockers:[],blocks:[l.uuid]});return u.then(h=>{this.dispatch(c(h))}).catch(()=>{this.dispatch(r(l.uuid))}),[l,u]}update(e){const{store:n}=this.client,{setOne:a}=this.actions,{selectById:c}=this.selectors,r=c(e.uuid)(n.getState());if(!r)throw new Error(`Expected team with uuid ${e.uuid} to exist`);const l={...r,...e};this.dispatch(a(l));const u=this.enqueueRequest({description:O(m.PATCH,this.name,!1),method:m.PATCH,url:`${this.url}/${e.uuid}/`,payload:z(e),blockers:[e.uuid],blocks:[e.uuid]});return u.then(d=>{this.dispatch(a(d))}).catch(()=>{this.dispatch(a(r))}),[l,u]}async delete(e){const{store:n}=this.client,{deleteOne:a,setOne:c}=this.actions,{selectById:r}=this.selectors,l=n.getState(),u=r(e)(l);if(!u)throw new Error(`Expected team with uuid ${e} to exist`);this.dispatch(a(e));try{return await this.enqueueRequest({description:O(m.DELETE,this.name,!1),method:m.DELETE,url:`${this.url}/${e}/`,blockers:[e],blocks:[e]})}catch(d){throw this.dispatch(c(u)),d}}async refreshStore(e,n){const{initialize:a}=this.actions,c=await this.list({queryParams:{organization:e}},n);return this.dispatch(a(c)),c}}class pb extends nt{constructor(){super(...arguments);y(this,"name","User");y(this,"url","/user");y(this,"actions",{addOne:An,addMany:MS,setOne:_S,setMany:bS,updateOne:wS,updateMany:RS,deleteOne:fn,deleteMany:ES,initialize:gS});y(this,"selectors",{selectById:zt,selectByIds:zS})}async list(e,n){const{organizationUuid:a,...c}=e,r=a?`/organizations/${a}${this.url}s/`:`/${this.url}`;return this.performRequest({method:m.GET,url:r,...c},n)}async refreshStore(e,n){const{initialize:a}=this.actions,c=await this.list({organizationUuid:e},n);return this.dispatch(a(c)),c}}async function Dn(t,s,e,n,a){const c=n instanceof Xe;c&&s.checkAuth!==!1&&await n.auth.prepareAuth();const r={queryParams:"",isAuthNeeded:!0},{s3url:l,payload:u,headers:d,method:h,queryParams:p,attachmentHash:A,isExternalUrl:f,isAuthNeeded:S,isResponseBlob:F}={...r,...s};let P=s.url;const g=A?await e.files.fetchCache(A):void 0;if(A&&!g)throw new Error(`Cannot upload file ${A} because it's not cached.`);!f&&!P.startsWith("http")&&(!P.startsWith("/")&&!P.startsWith("blob:")&&(P="/"+P),P=t+P);const w=q=>{if(A){if(!l)throw new Error(`No S3 URL for file ${A}`);if("warning"in l)throw new Error(`S3 URL warning for file ${A}`);if(!g)throw new Error(`No file for file ${A}`);const $=l.fields["x-amz-checksum-sha1"];if(!$)throw new Error(`No checksum for file ${A}`);return q.set("x-amz-checksum-sha1",$).field({...u,...l.fields}).attach("file",g)}return q.send(u)},v={[m.GET]:()=>F?et.get(P.toString()).responseType("blob"):et.get(P.toString()),[m.POST]:()=>{const q=et.post(P.toString());return w(q)},[m.PATCH]:()=>{const q=et.patch(P.toString());return w(q)},[m.PUT]:()=>{const q=et.put(P.toString());return w(q)},[m.DELETE]:()=>{const q=et.delete(P.toString());return w(q)}}[h];let B=v();if(a==null||a.addEventListener("abort",()=>{console.debug("aborting request:",s),B.abort()}),S&&c){const q=n.auth.getAuthHeader();B=B.set("Authorization",q)}d&&(B=B.set(d));try{return await B.query(p)}catch(q){const $=oO(q),FO=$==null?void 0:$.status;if(c&&FO===401)return await n.auth.handleUnauthorized(B,$),B.query(p);throw new U({response:$,innerError:q,discard:zn.includes(FO)})}}class Ab{constructor(s){y(this,"store");this.store=s}_performRequest(s,e,n,a){const c=new Ut,r={...e,uuid:e.uuid??tt.v4()};return Dn(s,r,this,n,a).then(l=>{c.resolve(l.body)}).catch(l=>{l instanceof Error?c.reject(l):c.reject(new Error((l??it).toString()))}),c}async performRequest(s,e,n,a){return this._performRequest(s,e,n,a).then(c=>{if(c instanceof U)throw c;return c})}async enqueueRequest(s,e,n){return this._enqueueRequest(s,e,n).then(a=>{if(a instanceof U)throw a;return a})}_enqueueRequest(s,e,n){const a=new Ut,c={...s,BASE_URL:e,serviceName:n},r=this.store.dispatch(oT(c)),l=d=>{if(d)a.resolve(d.body);else{const h=new U({message:"Could not get a response from the server.",response:d,discard:!0});a.reject(h)}},u=d=>{d instanceof U?d.options.discard=!0:(console.error("Received an unexpected error while processing a request:",d,`
15
- Converting error to APIError and discarding.`),d=new U({message:"An error occurred while processing the request.",innerError:d,discard:!0})),a.reject(d)};return r.then(l,u),a}async performPagination(s,e,n,a,c){const r={...e,queryParams:{...e.queryParams,paginate:!0,limit:n}},{method:l}=r,u=[];let d=await this.performRequest(s,r,a,c);for(u.push(d.results);d.next;)d=await this.performRequest(s,{url:d.next,method:l},a,c),u.push(d.results);return u}}class at{constructor(){y(this,"graph");y(this,"requestAttemptCounter");this.graph=new vO.DepGraph,this.requestAttemptCounter={}}static _fromOutbox(s){const e=new at;for(let n=0;n<s.length;n++){const a=s[n];if(!a){console.error("Outbox item was undefined");continue}e.sneakRequest(a);for(let c=0;c<n;c++){const r=s[c];if(!r){console.error("Previous outbox item was undefined");continue}r.payload.uuid!==a.payload.uuid&&r.payload.blocks.some(l=>a.payload.blockers.includes(l))&&at._addDependency(a.payload.uuid,r.payload.uuid,e.graph)}}return e}_addDependency(s,e){at._addDependency(s,e,this.graph)}static _addDependency(s,e,n){if(s===e)throw new Error(`Tried to add dependency from node to itself: ${s}`);if(!n.hasNode(s))throw new Error(`Tried to add dependency from non-existent node: ${s} (to node: ${e})`);if(!n.hasNode(e))throw new Error(`Tried to add dependency to non-existent node: ${e} (from node: ${s})`);n.addDependency(s,e)}addRequest(s){if(this.graph.addNode(s.payload.uuid,s),!(s.payload.blockers.length===0||this.graph.size()===1))for(const e of this.graph.overallOrder()){if(e===s.payload.uuid)continue;const n=this.graph.getNodeData(e);s.payload.blockers.some(a=>n.payload.blocks.includes(a))&&this._addDependency(s.payload.uuid,e)}}insertRequest(s){this.graph.addNode(s.payload.uuid,s);for(const e of this.graph.overallOrder()){if(e===s.payload.uuid)continue;this.graph.getNodeData(e).payload.blockers.some(a=>s.payload.blocks.includes(a))&&this._addDependency(e,s.payload.uuid)}}sneakRequest(s){this.graph.addNode(s.payload.uuid,s)}_getNextNode(){const s=this.graph.overallOrder(!0);let e=1/0,n;for(const a of s){const c=this.requestAttemptCounter[a]||0;c<e&&(e=c,n=a)}return n}peek(){const s=this._getNextNode();if(s)return this.graph.getNodeData(s)}remove(s){this.graph.removeNode(s),delete this.requestAttemptCounter[s]}pop(){const s=this.peek();return s&&this.graph.removeNode(s.payload.uuid),s}getQueue(){const s=this.graph.overallOrder().map(n=>this.graph.getNodeData(n)),e=this._getNextNode();if(e){const n=this.graph.getNodeData(e),a=s.findIndex(c=>c.payload.uuid===n.payload.uuid);a!==-1&&(s.splice(a,1),s.unshift(n))}return s}getReady(){let s=this.graph.overallOrder(!0).map(e=>this.graph.getNodeData(e));return s=s.sort((e,n)=>e.meta.offline.effect.timestamp.localeCompare(n.meta.offline.effect.timestamp)),s=s.sort((e,n)=>{const a=this.requestAttemptCounter[e.payload.uuid]||0,c=this.requestAttemptCounter[n.payload.uuid]||0;return a-c}),s}registerRetry(s){this.requestAttemptCounter[s]=(this.requestAttemptCounter[s]||0)+1}}let hO;function mO(t){hO=t}function ct(){return hO}let yO;function pO(t){yO=t}function AO(){return yO}let Cn=null;function xe(){const t=ct();if(!t)return console.warn("Client store not set; cannot get outbox coordinator yet."),null;if(Cn)return Cn;const s=t.getState().offline.outbox,e=at._fromOutbox(s);return Cn=e,e}const fb=(t,s)=>{const e=new s(t);return pO(e),mO(t),e};class Sb{constructor(s){y(this,"_all");y(this,"_previous");this._all=[s],this._previous=s,this.then=this.then.bind(this),this.compile=this.compile.bind(this)}then(s){return this._previous&&(this._previous.next=s),this._all.push(s),this._previous=s,{then:this.then,compile:this.compile}}compile(){return this._all}}class $n{constructor(){y(this,"next");this.next=null}then(s){return new Sb(this).then(s)}async run(s){if(this.next)return this.next.run(s);{if(console.debug("Middleware finished. Performing request:",s),!ct())throw new Error("Client store not set");const n=AO();if(!n)throw new Error("Client SDK not set");return rO(s,n)}}}class fO extends $n{async run(s){return super.run(s)}}class SO extends $n{async run(s){return super.run(s)}}const TO=new fO().then(new SO).compile();function IO(t){var s;return(s=TO[0])==null?void 0:s.run(t)}var OO=(t=>(t[t.USER_REGISTRATION=0]="USER_REGISTRATION",t[t.APPLICATION_INVITE=2]="APPLICATION_INVITE",t[t.PROJECT_INVITE=4]="PROJECT_INVITE",t[t.ORGANIZATION_INVITE=6]="ORGANIZATION_INVITE",t[t.ADD_EMAIL_DOMAIN=8]="ADD_EMAIL_DOMAIN",t[t.RESET_PASSWORD=10]="RESET_PASSWORD",t))(OO||{});i.ALL_MIDDLEWARE=TO,i.APIError=U,i.ATTACHMENT_MODEL_DEFAULT_PAGE_SIZE=xI,i.AgentService=sg,i.AssetAttachmentService=ig,i.AssetProcedureService=ug,i.AssetProcedureStepFieldValuesAttachmentService=mg,i.AssetProcedureStepFieldValuesService=yg,i.AssetProcedureStepFieldsAttachmentService=og,i.AssetProcedureStepFieldsService=hg,i.AssetProcedureStepService=pg,i.AssetProcedureTypeAttachmentService=ng,i.AssetProcedureTypeFieldValuesAttachmentService=dg,i.AssetProcedureTypeFieldValuesService=rg,i.AssetProcedureTypeFieldsAttachmentService=ag,i.AssetProcedureTypeFieldsService=cg,i.AssetProcedureTypeService=lg,i.AssetService=Ag,i.AssetStageCompletionService=fg,i.AssetStageService=Sg,i.AssetStatusType=Hn,i.AssetTypeAttachmentService=Tg,i.AssetTypeFieldValuesAttachmentService=Pg,i.AssetTypeFieldValuesService=Fg,i.AssetTypeFieldsAttachmentService=Ig,i.AssetTypeFieldsService=Og,i.AssetTypeIdentifierService=gg,i.AssetTypeIdentifierValueService=bg,i.AssetTypeService=_g,i.AssetTypeStatusService=Mg,i.AttachmentModel=Wn,i.BaseApiService=Xe,i.BaseModelApiService=nt,i.BaseOfflineAttachmentModelService=Je,i.BaseOfflineModelApiService=E,i.BaseSDK=Ab,i.COMMON_AUTO_FIELDS=xn,i.CategoryService=Rg,i.DEFAULT_ISSUE_PRIORITY=VO,i.DEFAULT_PAGE_SIZE=QI,i.DISCARD_HTTP_STATUSES=zn,i.DeferredPromise=Ut,i.DocumentAttachmentService=wg,i.DocumentService=Eg,i.EMPTY_ARRAY=kn,i.EMPTY_OBJECT=Nn,i.EmailDomainsService=vg,i.EmailVerificationService=Vg,i.FileService=Bg,i.FormIdentifierService=jg,i.FormIdentifierValueService=qg,i.FormRevisionAttachmentService=Dg,i.FormRevisionService=Cg,i.FormService=$g,i.FormSubmissionAttachmentService=Ug,i.FormSubmissionService=Lg,i.GeoImageService=kg,i.HttpMethod=m,i.IssueAssociationService=Ng,i.IssueAttachmentService=Gg,i.IssueCommentAttachmentService=Hg,i.IssueCommentService=Wg,i.IssuePriority=$t,i.IssueService=Kg,i.IssueStatusType=Kn,i.IssueTypeAttachmentService=Yg,i.IssueTypeFieldValuesAttachmentService=Xg,i.IssueTypeFieldValuesService=Qg,i.IssueTypeFieldsAttachmentService=Zg,i.IssueTypeFieldsService=Jg,i.IssueTypeIdentifierService=xg,i.IssueTypeIdentifierValueService=eb,i.IssueTypeService=tb,i.IssueTypeStatusService=sb,i.IssueUpdateChange=C,i.IssueUpdateService=ib,i.JWTService=cb,i.OUTBOX_RETRY_DELAY=Yn,i.OfflineAnalyticsMiddleware=fO,i.OfflineMiddleware=$n,i.OrganizationAccessLevel=Gn,i.OrganizationAccessService=db,i.OrganizationService=rb,i.OutboxCoordinator=at,i.ProjectAccessService=ub,i.ProjectAttachmentService=lb,i.ProjectFileService=ob,i.ProjectService=hb,i.RESET_ORGANIZATION_STATE=R,i.RESET_PROJECT_STATE=j,i.RESET_STATE=b,i.RateLimitingMiddleware=SO,i.SelectorBuilder=kF,i.TeamMembershipService=mb,i.TeamService=yb,i.UNKNOWN_ERROR_MESSAGE=it,i.UserService=pb,i.VERSION_REDUCER_KEY=dt,i.VerificationCodeType=OO,i._setLatestRetryTime=mT,i.addAsset=wr,i.addAssetAttachment=ya,i.addAssetAttachments=Yt,i.addAssetProcedure=kc,i.addAssetProcedureStep=fr,i.addAssetProcedureStepFieldValues=tr,i.addAssetProcedureStepFieldValuesAttachment=kd,i.addAssetProcedureStepFieldValuesAttachments=fs,i.addAssetProcedureStepFieldValuesMany=sr,i.addAssetProcedureStepFields=wd,i.addAssetProcedureStepFieldsAttachment=pd,i.addAssetProcedureStepFieldsAttachments=Ad,i.addAssetProcedureStepFieldsMany=Ed,i.addAssetProcedureSteps=Sr,i.addAssetProcedureType=td,i.addAssetProcedureTypeAttachment=Ma,i.addAssetProcedureTypeAttachments=Ra,i.addAssetProcedureTypeFieldValues=Rc,i.addAssetProcedureTypeFieldValuesAttachment=pc,i.addAssetProcedureTypeFieldValuesAttachments=is,i.addAssetProcedureTypeFieldValuesMany=wc,i.addAssetProcedureTypeFields=tc,i.addAssetProcedureTypeFieldsAttachment=La,i.addAssetProcedureTypeFieldsAttachments=ka,i.addAssetProcedureTypeFieldsMany=sc,i.addAssetProcedureTypes=sd,i.addAssetProcedures=rs,i.addAssetStage=nu,i.addAssetStageCompletion=Lr,i.addAssetStageCompletions=kr,i.addAssetStages=au,i.addAssetType=ao,i.addAssetTypeAttachment=pu,i.addAssetTypeAttachments=zs,i.addAssetTypeFieldValues=pl,i.addAssetTypeFieldValuesAttachment=sl,i.addAssetTypeFieldValuesAttachments=Us,i.addAssetTypeFieldValuesMany=Al,i.addAssetTypeFields=ku,i.addAssetTypeFieldsAttachment=Ru,i.addAssetTypeFieldsAttachments=wu,i.addAssetTypeFieldsMany=Nu,i.addAssetTypeIdentifier=wl,i.addAssetTypeIdentifierValue=Nl,i.addAssetTypeIdentifierValues=Gl,i.addAssetTypeIdentifiers=El,i.addAssetTypeStatus=So,i.addAssetTypeStatuses=To,i.addAssetTypes=co,i.addAssets=gs,i.addCategories=qo,i.addCategory=jo,i.addConversation=ra,i.addConversations=iP,i.addDocument=rh,i.addDocumentAttachment=Yo,i.addDocumentAttachments=Zo,i.addDocuments=uh,i.addEmailDomain=Ph,i.addEmailDomains=Fh,i.addForm=$m,i.addFormIdentifier=Lh,i.addFormIdentifierValue=tm,i.addFormIdentifierValues=sm,i.addFormIdentifiers=kh,i.addFormRevision=hi,i.addFormRevisionAttachment=pm,i.addFormRevisionAttachments=Am,i.addFormRevisions=mi,i.addFormSubmission=my,i.addFormSubmissionAttachment=xm,i.addFormSubmissionAttachments=Ii,i.addFormSubmissions=_i,i.addForms=Um,i.addGeoImage=_y,i.addGeoImages=My,i.addIssue=$p,i.addIssueAssociation=ky,i.addIssueAssociations=Mt,i.addIssueAttachment=xy,i.addIssueAttachments=zi,i.addIssueComment=_p,i.addIssueCommentAttachment=hp,i.addIssueCommentAttachments=mp,i.addIssueComments=Mp,i.addIssueType=kf,i.addIssueTypeAttachment=Qp,i.addIssueTypeAttachments=xp,i.addIssueTypeFieldValues=_A,i.addIssueTypeFieldValuesAttachment=ef,i.addIssueTypeFieldValuesAttachments=Ji,i.addIssueTypeFieldValuesMany=MA,i.addIssueTypeFields=UA,i.addIssueTypeFieldsAttachment=hA,i.addIssueTypeFieldsAttachments=mA,i.addIssueTypeFieldsMany=LA,i.addIssueTypeIdentifier=yf,i.addIssueTypeIdentifierValue=Rf,i.addIssueTypeIdentifierValues=wf,i.addIssueTypeIdentifiers=pf,i.addIssueTypeStatus=sS,i.addIssueTypeStatuses=iS,i.addIssueTypes=Nf,i.addIssueUpdate=un,i.addIssueUpdates=ln,i.addIssues=Li,i.addOrganization=xS,i.addOrganizationAccess=qS,i.addOrganizationAccesses=DS,i.addOrganizations=QS,i.addProject=oI,i.addProjectAccess=fT,i.addProjectAccesses=ST,i.addProjectAttachment=ET,i.addProjectAttachments=vT,i.addProjectFile=WT,i.addProjectFiles=KT,i.addProjects=lI,i.addTeam=DI,i.addTeamMembership=FI,i.addTeamMemberships=gI,i.addTeams=CI,i.addUser=An,i.addUsers=MS,i.agentsReducer=oa,i.agentsSlice=Ht,i.areArraysEqual=jO,i.assetAttachmentReducer=ga,i.assetAttachmentSlice=Kt,i.assetProcedureReducer=Yc,i.assetProcedureSlice=ds,i.assetProcedureStepFieldValuesAttachmentReducer=Qd,i.assetProcedureStepFieldValuesAttachmentSlice=As,i.assetProcedureStepFieldValuesReducer=hr,i.assetProcedureStepFieldValuesSlice=Is,i.assetProcedureStepFieldsAttachmentReducer=_d,i.assetProcedureStepFieldsAttachmentSlice=hs,i.assetProcedureStepFieldsReducer=$d,i.assetProcedureStepFieldsSlice=ys,i.assetProcedureStepReducer=Fr,i.assetProcedureStepSlice=Os,i.assetProcedureTypeAttachmentReducer=ja,i.assetProcedureTypeAttachmentSlice=Xt,i.assetProcedureTypeFieldValuesAttachmentReducer=Oc,i.assetProcedureTypeFieldValuesAttachmentSlice=ss,i.assetProcedureTypeFieldValuesReducer=qc,i.assetProcedureTypeFieldValuesSlice=cs,i.assetProcedureTypeFieldsAttachmentReducer=Za,i.assetProcedureTypeFieldsAttachmentSlice=xt,i.assetProcedureTypeFieldsReducer=uc,i.assetProcedureTypeFieldsSlice=ts,i.assetProcedureTypeReducer=ud,i.assetProcedureTypeSlice=ls,i.assetReducer=Cr,i.assetSlice=Fs,i.assetStageCompletionReducer=Zr,i.assetStageCompletionSlice=Rs,i.assetStageReducer=lu,i.assetStageSlice=ws,i.assetTypeAttachmentReducer=bu,i.assetTypeAttachmentSlice=Vs,i.assetTypeFieldValuesAttachmentReducer=hl,i.assetTypeFieldValuesAttachmentSlice=$s,i.assetTypeFieldValuesReducer=_l,i.assetTypeFieldValuesSlice=Ns,i.assetTypeFieldsAttachmentReducer=$u,i.assetTypeFieldsAttachmentSlice=qs,i.assetTypeFieldsReducer=xu,i.assetTypeFieldsSlice=Cs,i.assetTypeIdentifierReducer=Ul,i.assetTypeIdentifierSlice=Gs,i.assetTypeIdentifierValueReducer=eo,i.assetTypeIdentifierValueSlice=Ws,i.assetTypeReducer=po,i.assetTypeSlice=Ks,i.assetTypeStatusReducer=wo,i.assetTypeStatusSlice=Zs,i.assetTypeStatusSortFn=sa,i.authReducer=Vo,i.authSlice=Pt,i.baseReducer=$F,i.baseReducers=Vn,i.blobToBase64=GO,i.categoryReducer=Ho,i.categorySlice=Xs,i.clearTokens=LP,i.constructUploadedFilePayloads=NO,i.createModelAdapter=M,i.createOfflineAction=uT,i.createPayload=z,i.createSelectionAdapter=zO,i.deleteAsset=Vr,i.deleteAssetAttachment=Ta,i.deleteAssetAttachments=Zt,i.deleteAssetProcedure=Hc,i.deleteAssetProcedureStep=Or,i.deleteAssetProcedureStepFieldValues=dr,i.deleteAssetProcedureStepFieldValuesAttachment=Kd,i.deleteAssetProcedureStepFieldValuesAttachments=Ss,i.deleteAssetProcedureStepFieldValuesMany=rr,i.deleteAssetProcedureStepFields=jd,i.deleteAssetProcedureStepFieldsAttachment=Od,i.deleteAssetProcedureStepFieldsAttachments=Pd,i.deleteAssetProcedureStepFieldsMany=qd,i.deleteAssetProcedureSteps=Pr,i.deleteAssetProcedureType=ad,i.deleteAssetProcedureTypeAttachment=za,i.deleteAssetProcedureTypeAttachments=Ba,i.deleteAssetProcedureTypeFieldValues=Bc,i.deleteAssetProcedureTypeFieldValuesAttachment=Ic,i.deleteAssetProcedureTypeFieldValuesAttachments=ns,i.deleteAssetProcedureTypeFieldValuesMany=jc,i.deleteAssetProcedureTypeFields=dc,i.deleteAssetProcedureTypeFieldsAttachment=Ka,i.deleteAssetProcedureTypeFieldsAttachments=Ya,i.deleteAssetProcedureTypeFieldsMany=rc,i.deleteAssetProcedureTypes=cd,i.deleteAssetProcedures=us,i.deleteAssetStage=ru,i.deleteAssetStageCompletion=Kr,i.deleteAssetStageCompletions=Yr,i.deleteAssetStages=uu,i.deleteAssetType=lo,i.deleteAssetTypeAttachment=Iu,i.deleteAssetTypeAttachments=Bs,i.deleteAssetTypeFieldValues=Ol,i.deleteAssetTypeFieldValuesAttachment=dl,i.deleteAssetTypeFieldValuesAttachments=Ls,i.deleteAssetTypeFieldValuesMany=Pl,i.deleteAssetTypeFields=Yu,i.deleteAssetTypeFieldsAttachment=Bu,i.deleteAssetTypeFieldsAttachments=ju,i.deleteAssetTypeFieldsMany=Zu,i.deleteAssetTypeIdentifier=jl,i.deleteAssetTypeIdentifierValue=Zl,i.deleteAssetTypeIdentifierValues=Jl,i.deleteAssetTypeIdentifiers=ql,i.deleteAssetTypeStatus=go,i.deleteAssetTypeStatuses=bo,i.deleteAssetTypes=oo,i.deleteAssets=bs,i.deleteCategories=ko,i.deleteCategory=Lo,i.deleteConversation=cP,i.deleteConversations=dP,i.deleteDocument=yh,i.deleteDocumentAttachment=eh,i.deleteDocumentAttachments=th,i.deleteDocuments=ph,i.deleteEmailDomain=Rh,i.deleteEmailDomains=wh,i.deleteForm=Hm,i.deleteFormIdentifier=Kh,i.deleteFormIdentifierValue=dm,i.deleteFormIdentifierValues=rm,i.deleteFormIdentifiers=Yh,i.deleteFormRevision=yi,i.deleteFormRevisionAttachment=Om,i.deleteFormRevisionAttachments=Pm,i.deleteFormRevisions=pi,i.deleteFormSubmission=Ay,i.deleteFormSubmissionAttachment=ny,i.deleteFormSubmissionAttachments=Oi,i.deleteFormSubmissions=Mi,i.deleteForms=Wm,i.deleteGeoImage=Ey,i.deleteGeoImages=vy,i.deleteIssue=Gp,i.deleteIssueAssociation=Ny,i.deleteIssueAssociations=Rt,i.deleteIssueAttachment=np,i.deleteIssueAttachments=Bi,i.deleteIssueComment=Vp,i.deleteIssueCommentAttachment=Sp,i.deleteIssueCommentAttachments=Tp,i.deleteIssueComments=zp,i.deleteIssueType=Yf,i.deleteIssueTypeAttachment=nA,i.deleteIssueTypeAttachments=aA,i.deleteIssueTypeFieldValues=VA,i.deleteIssueTypeFieldValuesAttachment=cf,i.deleteIssueTypeFieldValuesAttachments=Xi,i.deleteIssueTypeFieldValuesMany=zA,i.deleteIssueTypeFields=WA,i.deleteIssueTypeFieldsAttachment=SA,i.deleteIssueTypeFieldsAttachments=TA,i.deleteIssueTypeFieldsMany=KA,i.deleteIssueTypeIdentifier=If,i.deleteIssueTypeIdentifierValue=Bf,i.deleteIssueTypeIdentifierValues=jf,i.deleteIssueTypeIdentifiers=Of,i.deleteIssueTypeStatus=rS,i.deleteIssueTypeStatuses=uS,i.deleteIssueTypes=Zf,i.deleteIssueUpdate=on,i.deleteIssueUpdates=hn,i.deleteIssues=ki,i.deleteOrganization=sT,i.deleteOrganizationAccess=kS,i.deleteOrganizationAccesses=NS,i.deleteOrganizations=iT,i.deleteProject=yI,i.deleteProjectAccess=FT,i.deleteProjectAccesses=gT,i.deleteProjectAttachment=qT,i.deleteProjectAttachments=DT,i.deleteProjectFile=JT,i.deleteProjectFiles=XT,i.deleteProjects=pI,i.deleteTeam=NI,i.deleteTeamMembership=wI,i.deleteTeamMemberships=EI,i.deleteTeams=GI,i.deleteUser=fn,i.deleteUsers=ES,i.dequeue=dO,i.discard=uO,i.documentAttachmentReducer=ah,i.documentAttachmentSlice=ei,i.documentSlice=si,i.documentsReducer=Ah,i.downloadFile=HO,i.downloadInMemoryFile=kO,i.emailDomainsReducer=zh,i.emailDomainsSlice=ni,i.emailRegex=eP,i.enqueue=cO,i.enqueueRequest=oT,i.extractResponseFromError=oO,i.fallbackToEmptyArray=I,i.fallbackToEmptyObject=yt,i.fileReducer=Ch,i.fileSlice=ci,i.fileToBlob=Xn,i.formIdentifierReducer=Qh,i.formIdentifierSlice=di,i.formIdentifierValueReducer=hm,i.formIdentifierValueSlice=ui,i.formReducer=Km,i.formRevisionAttachmentReducer=_m,i.formRevisionAttachmentSlice=li,i.formRevisionReducer=qm,i.formRevisionsSlice=oi,i.formSlice=fi,i.formSubmissionAttachmentReducer=ry,i.formSubmissionAttachmentSlice=Ti,i.formSubmissionReducer=Oy,i.formSubmissionSlice=bi,i.geoImageReducer=jy,i.geoImageSlice=wi,i.getAssetProcedureStepSubTree=ta,i.getAssetProcedureStepTrees=tP,i.getClientSDK=AO,i.getClientStore=ct,i.getDocumentSubTree=aa,i.getDocumentTrees=sP,i.getFileIdentifier=LO,i.getFileS3Key=Gt,i.getLocalDateString=Zn,i.getLocalRelativeDateString=$O,i.getOutboxCoordinator=xe,i.getRenamedFile=Jn,i.getRequestDescription=O,i.hashFile=st,i.initSDK=fb,i.initializeAssetAttachments=ma,i.initializeAssetProcedureStepFieldValues=er,i.initializeAssetProcedureStepFieldValuesAttachments=Ld,i.initializeAssetProcedureStepFields=Rd,i.initializeAssetProcedureStepFieldsAttachments=yd,i.initializeAssetProcedureSteps=yr,i.initializeAssetProcedureTypeAttachments=_a,i.initializeAssetProcedureTypeFieldValues=Mc,i.initializeAssetProcedureTypeFieldValuesAttachments=yc,i.initializeAssetProcedureTypeFields=ec,i.initializeAssetProcedureTypeFieldsAttachments=Ua,i.initializeAssetProcedureTypes=ed,i.initializeAssetProcedures=Lc,i.initializeAssetStageCompletions=Ur,i.initializeAssetStages=tu,i.initializeAssetTypeAttachments=yu,i.initializeAssetTypeFieldValues=yl,i.initializeAssetTypeFieldValuesAttachments=tl,i.initializeAssetTypeFields=Lu,i.initializeAssetTypeFieldsAttachments=Mu,i.initializeAssetTypeIdentifierValues=kl,i.initializeAssetTypeIdentifiers=Rl,i.initializeAssetTypeStatuses=fo,i.initializeAssetTypes=so,i.initializeAssets=Rr,i.initializeCategories=Bo,i.initializeConversations=da,i.initializeDocumentAttachments=Ko,i.initializeDocuments=dh,i.initializeEmailDomains=Oh,i.initializeFormIdentifierValues=em,i.initializeFormIdentifiers=Uh,i.initializeFormRevisionAttachments=ym,i.initializeFormRevisions=Rm,i.initializeFormSubmissionAttachments=Qm,i.initializeFormSubmissions=ly,i.initializeForms=Cm,i.initializeGeoImages=Fy,i.initializeIssueAssociations=Dy,i.initializeIssueAttachments=Qy,i.initializeIssueCommentAttachments=op,i.initializeIssueComments=bp,i.initializeIssueTypeAttachments=Xp,i.initializeIssueTypeFieldValues=bA,i.initializeIssueTypeFieldValuesAttachments=xA,i.initializeIssueTypeFields=$A,i.initializeIssueTypeFieldsAttachments=oA,i.initializeIssueTypeIdentifierValues=Mf,i.initializeIssueTypeIdentifiers=mf,i.initializeIssueTypeStatuses=tS,i.initializeIssueTypes=Lf,i.initializeIssueUpdates=yS,i.initializeIssues=Cp,i.initializeOrganizationAccesses=jS,i.initializeOrganizations=ZS,i.initializeProjectAccesses=AT,i.initializeProjectAttachments=wT,i.initializeProjectFiles=NT,i.initializeProjects=dI,i.initializeTeamMemberships=PI,i.initializeTeams=qI,i.initializeUsers=gS,i.isToday=CO,i.issueAssociationReducer=Jy,i.issueAssociationSlice=vi,i.issueAttachmentReducer=up,i.issueAttachmentSlice=Vi,i.issueCommentAttachmentReducer=Fp,i.issueCommentAttachmentSlice=qi,i.issueCommentReducer=qp,i.issueCommentSlice=Ci,i.issueReducer=Zp,i.issueSlice=Ui,i.issueTypeAttachmentReducer=uA,i.issueTypeAttachmentSlice=Ni,i.issueTypeFieldValuesAttachmentReducer=of,i.issueTypeFieldValuesAttachmentSlice=Zi,i.issueTypeFieldValuesReducer=DA,i.issueTypeFieldValuesSlice=Ki,i.issueTypeFieldsAttachmentReducer=FA,i.issueTypeFieldsAttachmentSlice=Hi,i.issueTypeFieldsReducer=XA,i.issueTypeFieldsSlice=Yi,i.issueTypeIdentifierReducer=bf,i.issueTypeIdentifierSlice=xi,i.issueTypeIdentifierValueReducer=$f,i.issueTypeIdentifierValueSlice=tn,i.issueTypeReducer=xf,i.issueTypeSlice=sn,i.issueTypeStatusReducer=hS,i.issueTypeStatusSlice=an,i.issueTypeStatusSortFn=ia,i.issueUpdateReducer=PS,i.issueUpdateSlice=rn,i.logOnlyOnce=WO,i.markAsDeleted=hT,i.markForDeletion=FF,i.memoize=kt,i.onlyUniqueHashes=xO,i.onlyUniqueOfflineIds=QO,i.organizationAccessReducer=GS,i.organizationAccessSlice=Tn,i.organizationReducer=rT,i.organizationSlice=In,i.outboxReducer=yT,i.outboxSlice=On,i.overmapEnhancer=JF,i.overmapReducer=UF,i.overmapReducers=XI,i.performRequest=Dn,i.performRequestFromAction=rO,i.projectAccessReducer=bT,i.projectAccessSlice=Pn,i.projectAttachmentReducer=LT,i.projectAttachmentSlice=gn,i.projectFileReducer=aI,i.projectFileSlice=_n,i.projectReducer=AI,i.projectSlice=Mn,i.rehydratedReducer=II,i.rehydratedSlice=Rn,i.restructureCreateSelectorWithArgs=T,i.runMiddleware=IO,i.saveActiveProjectFileBounds=eI,i.selectAccessToken=kP,i.selectAccessesByUserOfProject=bF,i.selectAccessibleProjects=EF,i.selectActiveOrganizationAccess=TF,i.selectActiveProjectFileId=RF,i.selectAllDocumentAttachments=ti,i.selectAllProjectAttachments=bn,i.selectAssetAttachmentById=Oa,i.selectAssetAttachmentMapping=Ia,i.selectAssetAttachments=Jt,i.selectAssetAttachmentsByIds=Pa,i.selectAssetById=qr,i.selectAssetProcedureById=Xc,i.selectAssetProcedureStepById=gr,i.selectAssetProcedureStepFieldValues=rt,i.selectAssetProcedureStepFieldValuesAttachmentById=Zd,i.selectAssetProcedureStepFieldValuesAttachments=Ts,i.selectAssetProcedureStepFieldValuesAttachmentsByIds=Jd,i.selectAssetProcedureStepFieldValuesAttachmentsMapping=Yd,i.selectAssetProcedureStepFieldValuesById=lr,i.selectAssetProcedureStepFieldValuesByIds=or,i.selectAssetProcedureStepFieldValuesMapping=ur,i.selectAssetProcedureStepFieldValuesOfAsset=PP,i.selectAssetProcedureStepFieldValuesOfAssetProcedure=FP,i.selectAssetProcedureStepFieldValuesOfAssetProcedureStep=gP,i.selectAssetProcedureStepFields=St,i.selectAssetProcedureStepFieldsAttachmentById=gd,i.selectAssetProcedureStepFieldsAttachments=ms,i.selectAssetProcedureStepFieldsAttachmentsByIds=bd,i.selectAssetProcedureStepFieldsAttachmentsMapping=Fd,i.selectAssetProcedureStepFieldsById=Dd,i.selectAssetProcedureStepFieldsByIds=Cd,i.selectAssetProcedureStepFieldsMapping=ps,i.selectAssetProcedureStepFieldsOfAssetProcedureStep=TP,i.selectAssetProcedureStepMapping=Tt,i.selectAssetProcedureSteps=Ps,i.selectAssetProcedureStepsByIds=br,i.selectAssetProcedureStepsMappingOfAssetProcedureType=bP,i.selectAssetProcedureStepsOfAssetProcedureType=_P,i.selectAssetProcedureTypeAttachmentById=Da,i.selectAssetProcedureTypeAttachmentMapping=qa,i.selectAssetProcedureTypeAttachments=Qt,i.selectAssetProcedureTypeAttachmentsByIds=Ca,i.selectAssetProcedureTypeById=od,i.selectAssetProcedureTypeFieldValues=At,i.selectAssetProcedureTypeFieldValuesAttachmentById=Fc,i.selectAssetProcedureTypeFieldValuesAttachments=as,i.selectAssetProcedureTypeFieldValuesAttachmentsByIds=gc,i.selectAssetProcedureTypeFieldValuesAttachmentsMapping=Pc,i.selectAssetProcedureTypeFieldValuesById=Cc,i.selectAssetProcedureTypeFieldValuesByIds=$c,i.selectAssetProcedureTypeFieldValuesMapping=Dc,i.selectAssetProcedureTypeFieldValuesOfAsset=yP,i.selectAssetProcedureTypeFields=pt,i.selectAssetProcedureTypeFieldsAttachmentById=Xa,i.selectAssetProcedureTypeFieldsAttachments=es,i.selectAssetProcedureTypeFieldsAttachmentsByIds=Qa,i.selectAssetProcedureTypeFieldsAttachmentsMapping=Ja,i.selectAssetProcedureTypeFieldsById=oc,i.selectAssetProcedureTypeFieldsByIds=hc,i.selectAssetProcedureTypeFieldsMapping=lc,i.selectAssetProcedureTypeFieldsOfAssetProcedureType=hP,i.selectAssetProcedureTypes=os,i.selectAssetProcedureTypesByIds=hd,i.selectAssetProcedureTypesMapping=ld,i.selectAssetProcedureTypesOfOrganization=fP,i.selectAssetProcedures=ft,i.selectAssetProceduresByIds=Qc,i.selectAssetProceduresMapping=Zc,i.selectAssetProceduresOfAssetProcedureType=Jc,i.selectAssetProceduresOfAssetType=AP,i.selectAssetStageById=ou,i.selectAssetStageCompletionById=Qr,i.selectAssetStageCompletionMapping=Jr,i.selectAssetStageCompletions=Xr,i.selectAssetStageCompletionsByIds=xr,i.selectAssetStages=vs,i.selectAssetStagesByIds=hu,i.selectAssetStagesMappingOfAssetProcedureType=RP,i.selectAssetStagesOfAssetProcedureType=wP,i.selectAssetTypeAttachmentById=Pu,i.selectAssetTypeAttachmentMapping=Ou,i.selectAssetTypeAttachments=js,i.selectAssetTypeAttachmentsByIds=Fu,i.selectAssetTypeById=mo,i.selectAssetTypeFieldValues=It,i.selectAssetTypeFieldValuesAttachmentById=ul,i.selectAssetTypeFieldValuesAttachments=ks,i.selectAssetTypeFieldValuesAttachmentsByIds=ll,i.selectAssetTypeFieldValuesAttachmentsMapping=rl,i.selectAssetTypeFieldValuesById=gl,i.selectAssetTypeFieldValuesByIds=bl,i.selectAssetTypeFieldValuesMapping=Fl,i.selectAssetTypeFieldValuesOfAsset=zP,i.selectAssetTypeFields=ut,i.selectAssetTypeFieldsAttachmentById=Du,i.selectAssetTypeFieldsAttachments=Ds,i.selectAssetTypeFieldsAttachmentsByIds=Cu,i.selectAssetTypeFieldsAttachmentsMapping=qu,i.selectAssetTypeFieldsById=Xu,i.selectAssetTypeFieldsByIds=Qu,i.selectAssetTypeFieldsMapping=Ju,i.selectAssetTypeFieldsOfAssetType=vP,i.selectAssetTypeIdentifierById=Cl,i.selectAssetTypeIdentifierMapping=Dl,i.selectAssetTypeIdentifierValueById=Ql,i.selectAssetTypeIdentifierValueMapping=Xl,i.selectAssetTypeIdentifierValues=Ot,i.selectAssetTypeIdentifierValuesByIds=xl,i.selectAssetTypeIdentifierValuesOfAsset=qP,i.selectAssetTypeIdentifierValuesOfIdentifier=DP,i.selectAssetTypeIdentifiers=Hs,i.selectAssetTypeIdentifiersByIds=$l,i.selectAssetTypeIdentifiersOfAssetType=jP,i.selectAssetTypeStatusById=Mo,i.selectAssetTypeStatusMapping=_o,i.selectAssetTypeStatuses=Js,i.selectAssetTypeStatusesByIds=Ro,i.selectAssetTypeStatusesOfAssetType=$P,i.selectAssetTypeValuesOfAssetType=BP,i.selectAssetTypes=Ys,i.selectAssetTypesByIds=yo,i.selectAssetTypesMapping=ho,i.selectAssetTypesOfOrganization=CP,i.selectAssets=_s,i.selectAssetsByIds=Dr,i.selectAssetsMapping=jr,i.selectAssetsOfAssetType=Ms,i.selectAttachmentsOfAsset=Fa,i.selectAttachmentsOfAssetProcedureStepFieldValues=Xd,i.selectAttachmentsOfAssetProcedureStepFields=SP,i.selectAttachmentsOfAssetProcedureType=lP,i.selectAttachmentsOfAssetProcedureTypeFieldValues=bc,i.selectAttachmentsOfAssetProcedureTypeFields=oP,i.selectAttachmentsOfAssetType=gu,i.selectAttachmentsOfAssetTypeFieldValues=ol,i.selectAttachmentsOfAssetTypeFields=EP,i.selectAttachmentsOfDocument=HP,i.selectAttachmentsOfFormRevision=xP,i.selectAttachmentsOfFormSubmission=dy,i.selectAttachmentsOfIssue=cp,i.selectAttachmentsOfIssueComment=iF,i.selectAttachmentsOfIssueType=cF,i.selectAttachmentsOfIssueTypeFieldValues=lf,i.selectAttachmentsOfIssueTypeFields=dF,i.selectAttachmentsOfProject=MF,i.selectCategories=Qs,i.selectCategoriesByIds=Go,i.selectCategoriesOfProject=GP,i.selectCategoryById=xs,i.selectCategoryMapping=No,i.selectCommentsOfIssue=nF,i.selectConversation=uP,i.selectConversationMapping=Wt,i.selectConversations=rP,i.selectCurrentUser=VS,i.selectDeletedRequests=OF,i.selectDescendantsOfAssetProcedureStep=_r,i.selectDescendantsOfDocument=Th,i.selectDocumentAttachmentById=ih,i.selectDocumentAttachmentMapping=sh,i.selectDocumentAttachmentsByIds=nh,i.selectDocumentById=fh,i.selectDocuments=Ft,i.selectDocumentsByIds=Sh,i.selectDocumentsMapping=ii,i.selectEmailDomainById=vh,i.selectEmailDomains=ai,i.selectEmailDomainsAsMapping=Eh,i.selectEmailDomainsByIds=Vh,i.selectEmailDomainsOfOrganization=YP,i.selectFieldValuesOfAssetProcedure=pP,i.selectFormById=Zm,i.selectFormIdentifierById=Jh,i.selectFormIdentifierMapping=Zh,i.selectFormIdentifierValueById=lm,i.selectFormIdentifierValueMapping=um,i.selectFormIdentifierValues=gt,i.selectFormIdentifierValuesByIds=om,i.selectFormIdentifierValuesOfFormSubmission=XP,i.selectFormIdentifierValuesOfIdentifier=QP,i.selectFormIdentifiers=ri,i.selectFormIdentifiersByIds=Xh,i.selectFormIdentifiersOfForm=JP,i.selectFormMapping=Ym,i.selectFormRevisionAttachmentById=gm,i.selectFormRevisionAttachments=Fm,i.selectFormRevisionAttachmentsByIds=bm,i.selectFormRevisionAttachmentsMapping=bt,i.selectFormRevisionById=zm,i.selectFormRevisionMapping=Ai,i.selectFormRevisions=_t,i.selectFormRevisionsByIds=Bm,i.selectFormRevisionsOfForm=jm,i.selectFormSubmissionAttachemntsByIds=gi,i.selectFormSubmissionAttachmentById=ay,i.selectFormSubmissionAttachments=Fi,i.selectFormSubmissionAttachmentsByIds=cy,i.selectFormSubmissionAttachmentsMapping=Pi,i.selectFormSubmissionById=Sy,i.selectFormSubmissions=fy,i.selectFormSubmissionsByIds=Ty,i.selectFormSubmissionsMapping=Ri,i.selectFormSubmissionsOfForm=Iy,i.selectForms=Si,i.selectFormsByIds=Jm,i.selectFormsOfOrganization=tF,i.selectGeoImageById=zy,i.selectGeoImageMapping=Vy,i.selectGeoImages=Ei,i.selectGeoImagesByIds=By,i.selectGeoImagesOfProject=sF,i.selectIsImportingProjectFile=wF,i.selectIsLoggedIn=NP,i.selectIssueAssociationById=Hy,i.selectIssueAssociationMapping=lt,i.selectIssueAssociations=Gy,i.selectIssueAssociationsByIds=Wy,i.selectIssueAssociationsOfAsset=Zy,i.selectIssueAssociationsOfIssue=Yy,i.selectIssueAssociationsToIssue=Ky,i.selectIssueAttachmentById=dp,i.selectIssueAttachmentMapping=ap,i.selectIssueAttachments=ji,i.selectIssueAttachmentsByIds=rp,i.selectIssueById=Wp,i.selectIssueCommentAttachmentById=Op,i.selectIssueCommentAttachmentMapping=Ip,i.selectIssueCommentAttachments=Di,i.selectIssueCommentAttachmentsByIds=Pp,i.selectIssueCommentById=Bp,i.selectIssueCommentMapping=$i,i.selectIssueCommentsByIds=jp,i.selectIssueMapping=Hp,i.selectIssueTypeAttachmentById=dA,i.selectIssueTypeAttachmentMapping=cA,i.selectIssueTypeAttachments=Gi,i.selectIssueTypeAttachmentsByIds=rA,i.selectIssueTypeById=Xf,i.selectIssueTypeFieldValues=Et,i.selectIssueTypeFieldValuesAttachmentById=rf,i.selectIssueTypeFieldValuesAttachments=Qi,i.selectIssueTypeFieldValuesAttachmentsByIds=uf,i.selectIssueTypeFieldValuesAttachmentsMapping=df,i.selectIssueTypeFieldValuesById=jA,i.selectIssueTypeFieldValuesByIds=qA,i.selectIssueTypeFieldValuesMapping=BA,i.selectIssueTypeFieldValuesOfIssue=rF,i.selectIssueTypeFields=ot,i.selectIssueTypeFieldsAttachmentById=OA,i.selectIssueTypeFieldsAttachments=Wi,i.selectIssueTypeFieldsAttachmentsByIds=PA,i.selectIssueTypeFieldsAttachmentsMapping=IA,i.selectIssueTypeFieldsById=ZA,i.selectIssueTypeFieldsByIds=JA,i.selectIssueTypeFieldsMapping=YA,i.selectIssueTypeFieldsOfIssueType=uF,i.selectIssueTypeIdentifierById=Ff,i.selectIssueTypeIdentifierMapping=Pf,i.selectIssueTypeIdentifierValueById=Df,i.selectIssueTypeIdentifierValueMapping=qf,i.selectIssueTypeIdentifierValues=vt,i.selectIssueTypeIdentifierValuesByIds=Cf,i.selectIssueTypeIdentifierValuesOfIdentifier=yF,i.selectIssueTypeIdentifierValuesOfIssue=mF,i.selectIssueTypeIdentifiers=en,i.selectIssueTypeIdentifiersByIds=gf,i.selectIssueTypeIdentifiersOfIssueType=hF,i.selectIssueTypeMapping=Jf,i.selectIssueTypeStatusById=dn,i.selectIssueTypeStatusMapping=lS,i.selectIssueTypeStatuses=cn,i.selectIssueTypeStatusesByIds=oS,i.selectIssueTypeStatusesOfIssueType=AF,i.selectIssueTypeValuesOfIssueType=oF,i.selectIssueTypes=nn,i.selectIssueTypesByIds=Qf,i.selectIssueTypesOfOrganization=pF,i.selectIssueUpdateById=TS,i.selectIssueUpdateMapping=mn,i.selectIssueUpdates=yn,i.selectIssueUpdatesByIds=IS,i.selectIssueUpdatesOfIssue=OS,i.selectIssues=wt,i.selectIssuesByIds=Kp,i.selectIssuesOfIssueType=Yp,i.selectIssuesOfProject=aF,i.selectLatestAssetProcedureStepFieldsOfAssetProcedureStep=IP,i.selectLatestAssetProcedureTypeFieldsOfAssetProcedureType=mP,i.selectLatestAssetTypeFieldsOfAssetType=VP,i.selectLatestFieldsByAssetProcedureStep=OP,i.selectLatestFormRevisionOfForm=eF,i.selectLatestIssueTypeFieldsOfIssueType=lF,i.selectLatestRetryTime=PF,i.selectMembershipsByUserOfTeam=jF,i.selectNumberOfAssetsOfAssetType=MP,i.selectOrganizationAccessById=HS,i.selectOrganizationAccessMapping=Bt,i.selectOrganizationAccessUserMapping=KS,i.selectOrganizationAccessesByIds=WS,i.selectOrganizationById=cT,i.selectOrganizationDocuments=KP,i.selectOrganizations=aT,i.selectOrganizationsByIds=dT,i.selectOrganizationsMapping=nT,i.selectProjectAccessById=_T,i.selectProjectAccessMapping=Fn,i.selectProjectAccesses=ht,i.selectProjectAccessesByIds=MT,i.selectProjectAccessesOfProject=gF,i.selectProjectAttachmentById=$T,i.selectProjectAttachmentMapping=CT,i.selectProjectAttachmentsByIds=UT,i.selectProjectById=SI,i.selectProjectDocuments=WP,i.selectProjectFileById=iI,i.selectProjectFileMapping=tI,i.selectProjectFiles=sI,i.selectProjectFilesByIds=nI,i.selectProjectMapping=fI,i.selectProjects=jt,i.selectProjectsByIds=TI,i.selectProjectsOfOrganization=vF,i.selectRehydrated=BF,i.selectStageMapping=Es,i.selectTeamById=WI,i.selectTeamMembershipById=zI,i.selectTeamMemberships=qt,i.selectTeamMembershipsByIds=BI,i.selectTeamMembershipsMapping=VI,i.selectTeams=vn,i.selectTeamsByIds=KI,i.selectTeamsMapping=HI,i.selectTeamsOfOrganization=DF,i.selectUploadUrl=Dh,i.selectUserById=zt,i.selectUsers=Vt,i.selectUsersByIds=zS,i.selectUsersMapping=Sn,i.selectUsersOfOrganization=IF,i.selectUsersOfProject=_F,i.selectUsersOfTeam=qF,i.setActiveProjectFileId=xT,i.setAsset=zr,i.setAssetAttachment=pa,i.setAssetAttachments=Aa,i.setAssetProcedure=Wc,i.setAssetProcedureStep=pr,i.setAssetProcedureStepFieldValues=ir,i.setAssetProcedureStepFieldValuesAttachment=Nd,i.setAssetProcedureStepFieldValuesAttachments=Gd,i.setAssetProcedureStepFieldValuesMany=nr,i.setAssetProcedureStepFields=vd,i.setAssetProcedureStepFieldsAttachment=fd,i.setAssetProcedureStepFieldsAttachments=Sd,i.setAssetProcedureStepFieldsMany=Vd,i.setAssetProcedureSteps=Ar,i.setAssetProcedureType=dd,i.setAssetProcedureTypeAttachment=wa,i.setAssetProcedureTypeAttachments=Ea,i.setAssetProcedureTypeFieldValues=Ec,i.setAssetProcedureTypeFieldValuesAttachment=Ac,i.setAssetProcedureTypeFieldValuesAttachments=fc,i.setAssetProcedureTypeFieldValuesMany=vc,i.setAssetProcedureTypeFields=ic,i.setAssetProcedureTypeFieldsAttachment=Na,i.setAssetProcedureTypeFieldsAttachments=Ga,i.setAssetProcedureTypeFieldsMany=nc,i.setAssetProcedureTypes=rd,i.setAssetProcedures=Kc,i.setAssetStage=su,i.setAssetStageCompletion=Nr,i.setAssetStageCompletions=Gr,i.setAssetStages=iu,i.setAssetType=io,i.setAssetTypeAttachment=Au,i.setAssetTypeAttachments=fu,i.setAssetTypeFieldValues=fl,i.setAssetTypeFieldValuesAttachment=il,i.setAssetTypeFieldValuesAttachments=nl,i.setAssetTypeFieldValuesMany=Sl,i.setAssetTypeFields=Gu,i.setAssetTypeFieldsAttachment=Eu,i.setAssetTypeFieldsAttachments=vu,i.setAssetTypeFieldsMany=Hu,i.setAssetTypeIdentifier=vl,i.setAssetTypeIdentifierValue=Hl,i.setAssetTypeIdentifierValues=Wl,i.setAssetTypeIdentifiers=Vl,i.setAssetTypeStatus=Io,i.setAssetTypeStatuses=Oo,i.setAssetTypes=no,i.setAssets=Br,i.setCategories=Co,i.setCategory=Do,i.setClientSDK=pO,i.setClientStore=mO,i.setConversation=ua,i.setConversations=nP,i.setCurrentUser=fF,i.setDocument=lh,i.setDocumentAttachment=Jo,i.setDocumentAttachments=Xo,i.setDocuments=oh,i.setEmailDomain=gh,i.setEmailDomains=bh,i.setForm=Lm,i.setFormIdentifier=Nh,i.setFormIdentifierValue=im,i.setFormIdentifierValues=nm,i.setFormIdentifiers=Gh,i.setFormRevision=wm,i.setFormRevisionAttachment=fm,i.setFormRevisionAttachments=Sm,i.setFormRevisions=Em,i.setFormSubmission=oy,i.setFormSubmissionAttachment=ey,i.setFormSubmissionAttachments=ty,i.setFormSubmissions=hy,i.setForms=km,i.setGeoImage=gy,i.setGeoImages=by,i.setIsImportingProjectFile=QT,i.setIssue=Up,i.setIssueAssociation=$y,i.setIssueAssociations=Cy,i.setIssueAttachment=ep,i.setIssueAttachments=tp,i.setIssueComment=Rp,i.setIssueCommentAttachment=yp,i.setIssueCommentAttachments=pp,i.setIssueComments=wp,i.setIssueType=Gf,i.setIssueTypeAttachment=eA,i.setIssueTypeAttachments=tA,i.setIssueTypeFieldValues=RA,i.setIssueTypeFieldValuesAttachment=tf,i.setIssueTypeFieldValuesAttachments=sf,i.setIssueTypeFieldValuesMany=wA,i.setIssueTypeFields=kA,i.setIssueTypeFieldsAttachment=yA,i.setIssueTypeFieldsAttachments=pA,i.setIssueTypeFieldsMany=NA,i.setIssueTypeIdentifier=Af,i.setIssueTypeIdentifierValue=Ef,i.setIssueTypeIdentifierValues=vf,i.setIssueTypeIdentifiers=ff,i.setIssueTypeStatus=nS,i.setIssueTypeStatuses=aS,i.setIssueTypes=Hf,i.setIssueUpdate=pS,i.setIssueUpdates=AS,i.setIssues=Lp,i.setLoggedIn=vo,i.setOrganization=XS,i.setOrganizationAccess=CS,i.setOrganizationAccesses=$S,i.setOrganizations=JS,i.setProfilePicture=SF,i.setProject=uI,i.setProjectAccess=TT,i.setProjectAccesses=IT,i.setProjectAttachment=VT,i.setProjectAttachments=zT,i.setProjectFile=GT,i.setProjectFiles=HT,i.setProjects=rI,i.setRehydrated=zF,i.setTeam=$I,i.setTeamMembership=bI,i.setTeamMemberships=_I,i.setTeams=UI,i.setTokens=UP,i.setUploadUrl=qh,i.setUser=_S,i.setUsers=bS,i.shallowEqual=BO,i.slugify=JO,i.spacesToDashesLower=ZO,i.teamMembershipReducer=vI,i.teamMembershipSlice=wn,i.teamReducer=YI,i.teamSlice=En,i.toFileNameSafeString=YO,i.toUuidArray=D,i.toUuidIdRecord=KO,i.truncate=XO,i.updateAsset=Er,i.updateAssetAttachment=fa,i.updateAssetAttachments=Sa,i.updateAssetProcedure=Nc,i.updateAssetProcedureStep=Tr,i.updateAssetProcedureStepFieldValues=ar,i.updateAssetProcedureStepFieldValuesAttachment=Hd,i.updateAssetProcedureStepFieldValuesAttachments=Wd,i.updateAssetProcedureStepFieldValuesMany=cr,i.updateAssetProcedureStepFields=zd,i.updateAssetProcedureStepFieldsAttachment=Td,i.updateAssetProcedureStepFieldsAttachments=Id,i.updateAssetProcedureStepFieldsMany=Bd,i.updateAssetProcedureSteps=Ir,i.updateAssetProcedureType=id,i.updateAssetProcedureTypeAttachment=va,i.updateAssetProcedureTypeAttachments=Va,i.updateAssetProcedureTypeFieldValues=Vc,i.updateAssetProcedureTypeFieldValuesAttachment=Sc,i.updateAssetProcedureTypeFieldValuesAttachments=Tc,i.updateAssetProcedureTypeFieldValuesMany=zc,i.updateAssetProcedureTypeFields=ac,i.updateAssetProcedureTypeFieldsAttachment=Ha,i.updateAssetProcedureTypeFieldsAttachments=Wa,i.updateAssetProcedureTypeFieldsMany=cc,i.updateAssetProcedureTypes=nd,i.updateAssetProcedures=Gc,i.updateAssetStage=cu,i.updateAssetStageCompletion=Hr,i.updateAssetStageCompletions=Wr,i.updateAssetStages=du,i.updateAssetType=ro,i.updateAssetTypeAttachment=Su,i.updateAssetTypeAttachments=Tu,i.updateAssetTypeFieldValues=Tl,i.updateAssetTypeFieldValuesAttachment=al,i.updateAssetTypeFieldValuesAttachments=cl,i.updateAssetTypeFieldValuesMany=Il,i.updateAssetTypeFields=Wu,i.updateAssetTypeFieldsAttachment=Vu,i.updateAssetTypeFieldsAttachments=zu,i.updateAssetTypeFieldsMany=Ku,i.updateAssetTypeIdentifier=zl,i.updateAssetTypeIdentifierValue=Kl,i.updateAssetTypeIdentifierValues=Yl,i.updateAssetTypeIdentifiers=Bl,i.updateAssetTypeStatus=Po,i.updateAssetTypeStatuses=Fo,i.updateAssetTypes=uo,i.updateAssets=vr,i.updateCategories=Uo,i.updateCategory=$o,i.updateConversation=la,i.updateConversations=aP,i.updateDocument=hh,i.updateDocumentAttachment=Qo,i.updateDocumentAttachments=xo,i.updateDocuments=mh,i.updateEmailDomain=_h,i.updateEmailDomains=Mh,i.updateForm=Nm,i.updateFormIdentifier=Hh,i.updateFormIdentifierValue=am,i.updateFormIdentifierValues=cm,i.updateFormIdentifiers=Wh,i.updateFormRevision=vm,i.updateFormRevisionAttachment=Tm,i.updateFormRevisionAttachments=Im,i.updateFormRevisions=Vm,i.updateFormSubmission=yy,i.updateFormSubmissionAttachment=sy,i.updateFormSubmissionAttachments=iy,i.updateFormSubmissions=py,i.updateForms=Gm,i.updateGeoImage=Ry,i.updateGeoImages=wy,i.updateIssue=kp,i.updateIssueAssociation=Uy,i.updateIssueAssociations=Ly,i.updateIssueAttachment=sp,i.updateIssueAttachments=ip,i.updateIssueComment=Ep,i.updateIssueCommentAttachment=Ap,i.updateIssueCommentAttachments=fp,i.updateIssueComments=vp,i.updateIssueType=Wf,i.updateIssueTypeAttachment=sA,i.updateIssueTypeAttachments=iA,i.updateIssueTypeFieldValues=EA,i.updateIssueTypeFieldValuesAttachment=nf,i.updateIssueTypeFieldValuesAttachments=af,i.updateIssueTypeFieldValuesMany=vA,i.updateIssueTypeFields=GA,i.updateIssueTypeFieldsAttachment=AA,i.updateIssueTypeFieldsAttachments=fA,i.updateIssueTypeFieldsMany=HA,i.updateIssueTypeIdentifier=Sf,i.updateIssueTypeIdentifierValue=Vf,i.updateIssueTypeIdentifierValues=zf,i.updateIssueTypeIdentifiers=Tf,i.updateIssueTypeStatus=cS,i.updateIssueTypeStatuses=dS,i.updateIssueTypes=Kf,i.updateIssueUpdate=fS,i.updateIssueUpdates=SS,i.updateIssues=Np,i.updateOrganization=tT,i.updateOrganizationAccess=US,i.updateOrganizationAccesses=LS,i.updateOrganizations=eT,i.updateProject=mI,i.updateProjectAccess=OT,i.updateProjectAccesses=PT,i.updateProjectAttachment=BT,i.updateProjectAttachments=jT,i.updateProjectFile=YT,i.updateProjectFiles=ZT,i.updateProjects=hI,i.updateTeam=LI,i.updateTeamMembership=MI,i.updateTeamMemberships=RI,i.updateTeams=kI,i.updateUser=wS,i.updateUsers=RS,i.useSelectorBuilder=LF,i.userReducer=vS,i.userSlice=pn,i.uuidObj=_,i.versioningReducer=JI,i.versioningSlice=ZI,Object.defineProperty(i,Symbol.toStringTag,{value:"Module"})});
14
+ external URLs and therefore not prepended with VITE_API_URL.`;throw new Error(f)}const p=d.type.split("/")[1];if(!p)throw new Error("File has no extension");const A=a??h+"."+p;if(d=$n(d,A),!d.name)throw new Error("Failed to set file's name");await this.addCache(d,h),qt[c]=new Promise(f=>{f(d)})}return d}processPresignedUrls(e){const n={};for(const[a,c]of Object.entries(e))n[a]=this.enqueueRequest({url:c.url,description:"Upload file to S3",method:m.POST,isExternalUrl:!0,isAuthNeeded:!1,attachmentHash:a,blockers:[`s3-${c.fields.key}`],blocks:[a],s3url:c});return n}async getFilePayload(e){const n=await et(e),a={sha1:n,file_type:e.type,extension:e.name.split(".").pop(),size:e.size};return await this.client.files.addCache(e,n),a}}class EF extends E{constructor(){super(...arguments);y(this,"name","Form Identifier");y(this,"url","/form-identifiers");y(this,"actions",{addOne:sh,addMany:ih,setOne:nh,setMany:ah,updateOne:ch,updateMany:dh,deleteOne:rh,deleteMany:uh,initialize:th});y(this,"selectors",{selectById:oh,selectByIds:hh})}add(e){var p;const{store:n}=this.client,{addOne:a,setOne:c,deleteOne:r}=this.actions,l=((p=n.getState().userReducer.currentUser)==null?void 0:p.uuid)??null,u=new Date().toISOString(),d=M({...e,created_by:l,submitted_at:u});this.dispatch(a(d));const h=this.enqueueRequest({description:O(m.POST,this.name,!1),method:m.POST,url:`${this.url}/`,payload:z(d),blockers:[d.form],blocks:[d.uuid]});return h.then(A=>{this.dispatch(c(A))}).catch(()=>{this.dispatch(r(d.uuid))}),[d,h]}update(e){const{store:n}=this.client,{setOne:a}=this.actions,{selectById:c}=this.selectors,r=c(e.uuid)(n.getState());if(!r)throw new Error(`Expected form identifier with uuid ${e.uuid} to exist`);const l={...r,...e};this.dispatch(a(l));const u=this.enqueueRequest({description:O(m.PATCH,this.name,!1),method:m.PATCH,url:`${this.url}/${e.uuid}/`,payload:e,blockers:[e.uuid],blocks:[e.uuid]});return u.then(d=>{this.dispatch(a(d))}).catch(()=>{this.dispatch(a(r))}),[l,u]}async delete(e){const{store:n}=this.client,{deleteOne:a,addOne:c}=this.actions,{selectById:r}=this.selectors,l=n.getState(),u=r(e)(l);if(!u)throw new Error(`Expected form identifier with uuid ${e} to exist`);this.dispatch(a(e));try{return await this.enqueueRequest({description:O(m.DELETE,this.name,!1),method:m.DELETE,url:`${this.url}/${e}/`,blockers:[e],blocks:[]})}catch(d){throw this.dispatch(c(u)),d}}async refreshStore(e,n){const{initialize:a}=this.actions,c=await this.list({queryParams:{form__organization:e}},n);return this.dispatch(a(c)),c}}class VF extends E{constructor(){super(...arguments);y(this,"name","Form Identifier Value");y(this,"url","/form-identifier-values");y(this,"actions",{addOne:Ah,addMany:fh,setOne:Sh,setMany:Th,updateOne:Ih,updateMany:Oh,deleteOne:Ph,deleteMany:Fh,initialize:ph});y(this,"selectors",{selectById:bh,selectByIds:_h})}add(e){var p;const{store:n}=this.client,{addOne:a,setOne:c,deleteOne:r}=this.actions,l=((p=n.getState().userReducer.currentUser)==null?void 0:p.uuid)??null,u=new Date().toISOString(),d=M({...e,created_by:l,submitted_at:u});this.dispatch(a(d));const h=this.enqueueRequest({description:O(m.POST,this.name,!1),method:m.POST,url:`${this.url}/`,payload:z(d),blockers:[e.form_submission,e.form_identifier],blocks:[d.uuid]});return h.then(A=>{this.dispatch(c(A))}).catch(()=>{this.dispatch(r(d.uuid))}),[d,h]}update(e){const{store:n}=this.client,{setOne:a}=this.actions,{selectById:c}=this.selectors,r=c(e.uuid)(n.getState());if(!r)throw new Error(`Expected form identifier value with uuid ${e.uuid} to exist`);const l={...r,...e};this.dispatch(a(l));const u=this.enqueueRequest({description:O(m.PATCH,this.name,!1),method:m.PATCH,url:`${this.url}/${e.uuid}/`,payload:e,blockers:[e.uuid],blocks:[e.uuid]});return u.then(d=>{this.dispatch(a(d))}).catch(()=>{this.dispatch(a(r))}),[l,u]}async delete(e){const{store:n}=this.client,{deleteOne:a,addOne:c}=this.actions,{selectById:r}=this.selectors,l=n.getState(),u=r(e)(l);if(!u)throw new Error(`Expected form identifier value with uuid ${e} to exist`);this.dispatch(a(e));try{return await this.enqueueRequest({description:O(m.DELETE,this.name,!1),method:m.DELETE,url:`${this.url}/${e}/`,blockers:[e],blocks:[]})}catch(d){throw this.dispatch(c(u)),d}}async refreshStore(e,n){const{initialize:a}=this.actions,r=(await this.listPaginated({queryParams:{form_submission__form_revision__form__organization:e}},n)).flat();return this.dispatch(a(r)),r}}class zF extends E{constructor(){super(...arguments);y(this,"name","Form Revision Attachment");y(this,"url","/form-revision-attachments");y(this,"actions",{addOne:vh,addMany:Eh,setOne:Vh,setMany:zh,updateOne:Bh,updateMany:jh,deleteOne:qh,deleteMany:Ch,initialize:wh});y(this,"selectors",{selectById:$h,selectByIds:Uh})}async bulkAdd(e){var A;const{addMany:n,setMany:a,deleteMany:c}=this.actions,r=new Date().toISOString(),l=((A=this.client.store.getState().userReducer.currentUser)==null?void 0:A.uuid)??null,u={},d=[],h=[];for(const f of e){const{revisionUuid:I,fieldIdentifier:F,file:P}=f,g=await this.client.files.getFilePayload(P);g.sha1 in u||(u[g.sha1]=g);const b=M({file:URL.createObjectURL(P),file_type:P.type,file_name:P.name,file_sha1:g.sha1,created_by:l,form_revision:I,submitted_at:r,field_identifier:F});d.push(b);const v={uuid:b.uuid,file_name:P.name,field_identifier:F,file_extension:g.extension,file_sha1:g.sha1,form_revision:I};h.push(v)}this.dispatch(n(d));const p=this.enqueueRequest({description:O(m.POST,this.name,!0),method:m.POST,url:`${this.url}/bulk/`,payload:{submitted_at:r,attachments:h,files:Object.values(u)},blockers:d.map(f=>f.form_revision),blocks:d.map(f=>f.uuid)});return p.then(f=>{this.client.files.processPresignedUrls(f.presigned_urls),this.dispatch(a(f.attachments))}).catch(()=>{this.dispatch(c(d.map(f=>f.uuid)))}),[d,p.then(({attachments:f})=>f)]}async refreshStore(e,n){const{initialize:a}=this.actions,c=await this.list({queryParams:{form_revision__form__organization:e}},n);return this.dispatch(a(c)),c}}class BF extends E{constructor(){super(...arguments);y(this,"name","Form Revision");y(this,"url","/form-revisions");y(this,"actions",{addOne:ci,addMany:di,setOne:Gh,setMany:Hh,updateOne:Wh,updateMany:Kh,deleteOne:ri,deleteMany:ui,initialize:Nh});y(this,"selectors",{selectById:Yh,selectByIds:Zh})}add(e){var A;const{store:n}=this.client,{addOne:a,setOne:c,deleteOne:r}=this.actions,u=((A=n.getState().userReducer.currentUser)==null?void 0:A.uuid)??null,d=new Date().toISOString(),h=M({...e,created_by:u,submitted_at:d});this.dispatch(a(h));const p=this.enqueueRequest({description:O(m.POST,this.name,!1),method:m.POST,url:`${this.url}/`,payload:z(h),blockers:[e.form],blocks:[h.uuid]});return p.then(f=>{this.dispatch(c(f))}).catch(()=>{this.dispatch(r(h.uuid))}),[h,p]}async refreshStore(e,n){const{initialize:a}=this.actions,c=await this.list({queryParams:{form__organization:e}},n);return this.dispatch(a(c)),c}}class jF extends E{constructor(){super(...arguments);y(this,"name","Form");y(this,"url","/forms");y(this,"actions",{addOne:em,addMany:tm,setOne:sm,setMany:im,updateOne:nm,updateMany:am,deleteOne:cm,deleteMany:dm,initialize:xh});y(this,"selectors",{selectById:lm,selectByIds:om})}add(e,n){var A;const{store:a}=this.client,{addOne:c,deleteOne:r}=this.actions,l=new Date().toISOString(),u=((A=a.getState().userReducer.currentUser)==null?void 0:A.uuid)??null,d=M({...e,submitted_at:l,created_by:u}),h=M({...n,form:d.uuid,submitted_at:l,created_by:u});this.dispatch(c(d)),this.dispatch(ci(h));const p=this.enqueueRequest({description:O(m.POST,this.name,!1),method:m.POST,url:`${this.url}/`,payload:{...z(d),initial_revision:{uuid:h.uuid,submitted_at:h.submitted_at,title:h.title,description:h.description,fields:h.fields}},blockers:[],blocks:[d.uuid,h.uuid]});return p.catch(f=>{throw this.dispatch(r(d.uuid)),this.dispatch(ri(h.uuid)),f}),[d,h,p]}async delete(e){const{store:n}=this.client,{deleteOne:a,addOne:c}=this.actions,{selectById:r}=this.selectors,l=n.getState(),u=r(e)(l);if(!u)throw new Error("Expected form to exist");const d=jm(e)(l),h=Jh(e)(l);this.dispatch(a(e)),this.dispatch(Oi(D(d))),this.dispatch(ui(D(h)));try{return await this.enqueueRequest({description:O(m.DELETE,this.name,!1),method:m.DELETE,url:`${this.url}/${e}/`,blockers:[e],blocks:[]})}catch(p){throw this.dispatch(c(u)),this.dispatch(di(h)),this.dispatch(Ii(d)),p}}async refreshStore(e,n){const{initialize:a}=this.actions,c=await this.list({queryParams:{organization:e}},n);return this.dispatch(a(c)),c}}class qF extends E{constructor(){super(...arguments);y(this,"name","Form Submission Attachment");y(this,"url","/form-submission-attachments");y(this,"actions",{addOne:ym,addMany:yi,setOne:pm,setMany:Am,updateOne:fm,updateMany:Sm,deleteOne:Tm,deleteMany:pi,initialize:mm});y(this,"selectors",{selectById:Im,selectByIds:Om})}async bulkAdd(e){var A;const{addMany:n,setMany:a,deleteMany:c}=this.actions,r=new Date().toISOString(),l=((A=this.client.store.getState().userReducer.currentUser)==null?void 0:A.uuid)??null,u={},d=[],h=[];for(const f of e){const{submissionUuid:I,fieldIdentifier:F,file:P}=f,g=await this.client.files.getFilePayload(P);g.sha1 in u||(u[g.sha1]=g);const b=M({file:URL.createObjectURL(P),file_type:P.type,file_name:P.name,file_sha1:g.sha1,created_by:l,form_submission:I,submitted_at:r,field_identifier:F});d.push(b);const v={uuid:b.uuid,file_name:P.name,file_sha1:g.sha1,file_extension:g.extension,field_identifier:F,form_submission:I};h.push(v)}this.dispatch(n(d));const p=this.enqueueRequest({description:O(m.POST,this.name,!0),method:m.POST,url:`${this.url}/bulk/`,payload:{submitted_at:r,attachments:h,files:Object.values(u)},blockers:d.map(f=>f.form_submission),blocks:d.map(f=>f.uuid)});return p.then(f=>{this.client.files.processPresignedUrls(f.presigned_urls),this.dispatch(a(f.attachments))}).catch(f=>{throw this.dispatch(c(d.map(I=>I.uuid))),f}),[d,p.then(({attachments:f})=>f)]}async bulkDelete(e){const{store:n}=this.client,{deleteMany:a,addMany:c}=this.actions,r=n.getState(),l=Si(e)(r);this.dispatch(a(e));try{return await this.enqueueRequest({description:O(m.DELETE,this.name,!0),method:m.DELETE,url:`${this.url}/bulk/`,payload:{uuids:e},blockers:e,blocks:[]})}catch(u){throw this.dispatch(c(l)),u}}async refreshStore(e,n){const{initialize:a}=this.actions,r=(await this.listPaginated({queryParams:{form_submission__form_revision__form__organization:e}},n)).flat();return this.dispatch(a(r)),r}}class CF extends E{constructor(){super(...arguments);y(this,"name","Form Submission");y(this,"url","/form-submissions");y(this,"actions",{addOne:Rm,addMany:Ii,setOne:_m,setMany:Mm,updateOne:wm,updateMany:vm,deleteOne:Em,deleteMany:Oi,initialize:bm});y(this,"selectors",{selectById:zm,selectByIds:Bm})}add(e){var A;const{store:n}=this.client,{addOne:a,setOne:c,deleteOne:r}=this.actions,u=((A=n.getState().userReducer.currentUser)==null?void 0:A.uuid)??null,d=new Date().toISOString(),h=M({...e,created_by:u,submitted_at:d}),p=this.enqueueRequest({description:O(m.POST,this.name,!1),method:m.POST,url:`${this.url}/`,payload:z(h),blockers:[e.form_revision],blocks:[h.uuid]});return this.dispatch(a(h)),p.then(f=>{this.dispatch(c(f))}).catch(()=>{this.dispatch(r(h.uuid))}),[h,p]}update(e){const{store:n}=this.client,{setOne:a}=this.actions,{selectById:c}=this.selectors,r=n.getState(),l=c(e.uuid)(r);if(!l)throw new Error(`Expected submission with uuid ${e.uuid} to exist`);const u={...l,...e};this.dispatch(a(u));const d=this.enqueueRequest({description:O(m.PATCH,this.name,!1),method:m.PATCH,url:`${this.url}/${u.uuid}/`,payload:e,blockers:[u.uuid],blocks:[u.uuid]});return d.then(h=>{this.dispatch(a(h))}).catch(()=>{this.dispatch(a(l))}),[u,d]}async delete(e){const{store:n}=this.client,{deleteOne:a,addOne:c}=this.actions,{selectById:r}=this.selectors,l=n.getState(),u=r(e)(l);if(!u)throw new Error(`Expected submission with uuid ${e} to exist`);const d=Pm(e)(l);this.dispatch(a(e)),this.dispatch(pi(D(d)));try{return await this.enqueueRequest({description:O(m.DELETE,this.name,!1),method:m.DELETE,url:`${this.url}/${e}/`,blockers:[e],blocks:[]})}catch(h){throw this.dispatch(c(u)),this.dispatch(yi(d)),h}}async refreshStore(e,n){const{initialize:a}=this.actions,r=(await this.listPaginated({queryParams:{limit:this.pageSize,paginate:!0,form_revision__form_organization:e}},n)).flat();return this.dispatch(a(r)),r}}class DF extends E{constructor(){super(...arguments);y(this,"name","Geo Image");y(this,"url","/geo-images");y(this,"actions",{addOne:Lm,addMany:km,setOne:$m,setMany:Um,updateOne:Nm,updateMany:Gm,deleteOne:Hm,deleteMany:Wm,initialize:Dm});y(this,"selectors",{selectById:Ym,selectByIds:Zm})}async add(e){var F;const{store:n}=this.client,{addOne:a,setOne:c,deleteOne:r}=this.actions,{file:l,...u}=e,d=new Date().toISOString(),h=((F=n.getState().userReducer.currentUser)==null?void 0:F.uuid)??null,p=u.project,A=await this.client.files.getFilePayload(l),f=M({...u,file_name:l.name,file_sha1:A.sha1,file_type:l.type,file:URL.createObjectURL(l),submitted_at:d,created_by:h});this.dispatch(a(f));const I=this.enqueueRequest({description:O(m.POST,this.name,!1),method:m.POST,url:`${this.url}/`,payload:{uuid:f.uuid,submitted_at:d,title:f.title,description:f.description,geo_marker:f.geo_marker,canvas_marker:f.canvas_marker,sha1:f.file_sha1,project:f.project,file_name:f.file_name,direction:f.direction,original_date:f.original_date,file:A},blocks:[p],blockers:[p]});return I.then(P=>{this.client.files.processPresignedUrls(P.presigned_urls),this.dispatch(c(P.geo_image))}).catch(()=>{this.dispatch(r(f.uuid))}),[f,I.then(P=>P.geo_image)]}async bulkAdd(e,n){var F;const{store:a}=this.client,{addMany:c,setMany:r,deleteMany:l}=this.actions,u=new Date().toISOString(),d=((F=a.getState().userReducer.currentUser)==null?void 0:F.uuid)??null,h=[],p=[],A=[],f={};for(const P of e){const{file:g,...b}=P,v=await this.client.files.getFilePayload(g);v.sha1 in f||(f[v.sha1]=v);const B=M({...b,file_name:g.name,file_sha1:v.sha1,file_type:g.type,file:URL.createObjectURL(g),submitted_at:u,created_by:d,project:n});h.push(B),p.push(B.uuid),A.push({uuid:B.uuid,sha1:B.file_sha1,file_name:B.file_name,title:B.title,description:B.description,geo_marker:B.geo_marker,canvas_marker:B.canvas_marker,direction:B.direction,original_date:B.original_date})}this.dispatch(c(h));const I=this.enqueueRequest({description:O(m.POST,this.name,!0),method:m.POST,url:`${this.url}/bulk/`,payload:{submitted_at:u,project:n,geo_images:A,files:Object.values(f)},blocks:[n],blockers:p});return I.then(P=>{this.client.files.processPresignedUrls(P.presigned_urls),this.dispatch(r(P.geo_images))}).catch(()=>{this.dispatch(l(p))}),[h,I.then(P=>P.geo_images)]}update(e){const{store:n}=this.client,{setOne:a}=this.actions,{selectById:c}=this.selectors,r=n.getState(),l=c(e.uuid)(r);if(!l)throw new Error(`Map image with uuid ${e.uuid} does not exist in the store`);const u={...l,...e};this.dispatch(a(u));const d=this.enqueueRequest({description:O(m.PATCH,this.name,!1),method:m.PATCH,url:`${this.url}/${e.uuid}/`,payload:e,blocks:[e.uuid],blockers:[e.uuid]});return d.then(h=>{this.dispatch(a(h))}).catch(()=>{this.dispatch(a(l))}),[u,d]}async delete(e){const{store:n}=this.client,{deleteOne:a,setOne:c}=this.actions,{selectById:r}=this.selectors,l=n.getState(),u=r(e)(l);if(!u)throw new Error(`Map image with uuid ${e} does not exist in the store`);this.dispatch(a(e));try{return await this.enqueueRequest({description:O(m.DELETE,this.name,!1),method:m.DELETE,url:`${this.url}/${e}/`,blocks:[e],blockers:[e]})}catch(d){throw this.dispatch(c(u)),d}}async refreshStore(e,n){const{initialize:a}=this.actions,c=await this.list({queryParams:{project:e}},n);return this.dispatch(a(c)),c}}class $F extends E{constructor(){super(...arguments);y(this,"name","Issue Association");y(this,"url","/issue-associations");y(this,"actions",{addOne:iy,addMany:_t,setOne:ey,setMany:xm,updateOne:ty,updateMany:sy,deleteOne:ny,deleteMany:Mt,initialize:Qm});y(this,"selectors",{selectById:cy,selectByIds:dy})}add(e){var p;const{store:n}=this.client,{addOne:a,setOne:c,deleteOne:r}=this.actions,l=new Date().toISOString(),u=((p=n.getState().userReducer.currentUser)==null?void 0:p.uuid)??null,d=M({...e,submitted_at:l,created_by:u});this.dispatch(a(d));const h=this.enqueueRequest({description:O(m.POST,this.name,!1),method:m.POST,url:`${this.url}/`,payload:z(d),blockers:[e.associated_issue,...e.issue?[e.issue]:[],...e.asset?[e.asset]:[]],blocks:[d.uuid]});return h.then(A=>{this.dispatch(c(A))}).catch(()=>{this.dispatch(r(d.uuid))}),[d,h]}async delete(e){const{store:n}=this.client,{deleteOne:a,addOne:c}=this.actions,{selectById:r}=this.selectors,l=r(e)(n.getState());if(!l)throw new Error(`Issue association with uuid ${e} not found in store.`);this.dispatch(a(e));try{return await this.enqueueRequest({description:O(m.DELETE,this.name,!1),method:m.DELETE,url:`${this.url}/${e}/`,blockers:[e],blocks:[]})}catch(u){throw this.dispatch(c(l)),u}}async refreshStore(e,n){const{initialize:a}=this.actions,r=(await this.listPaginated({queryParams:{associated_issue__project:e}},n)).flat();return this.dispatch(a(r)),r}}class UF extends Ke{constructor(){super(...arguments);y(this,"name","Issue Attachment");y(this,"url","/issue-attachments");y(this,"actions",{addOne:yy,addMany:Mi,setOne:py,setMany:Ay,updateOne:fy,updateMany:Sy,deleteOne:Ty,deleteMany:Ri,initialize:my});y(this,"selectors",{selectById:Py,selectByIds:Fy})}getId(e){return e.uuid}buildModel(e){return M({file:URL.createObjectURL(e.file),file_sha1:e.file_sha1,created_by:e.created_by,file_name:e.file.name,file_type:e.file.type,submitted_at:e.submitted_at,issue:e.modelUuid})}buildPayload(e,n){return{uuid:e.uuid,file_name:e.file_name,file_sha1:e.file_sha1,file_extension:n.extension,issue:e.issue}}async bulkAdd(e){return this._bulkAdd(e.map(n=>({modelUuid:n.issueUuid,file:n.file})))}async delete(e){return this._delete(e)}async refreshStore(e,n){const{initialize:a}=this.actions,r=(await this.listPaginated({queryParams:{issue__project:e}},n)).flat();return this.dispatch(a(r)),r}}class LF extends Ke{constructor(){super(...arguments);y(this,"name","Issue Comment Attachment");y(this,"url","/issue-comment-attachments");y(this,"actions",{addOne:My,addMany:Ry,setOne:wy,setMany:vy,updateOne:Ey,updateMany:Vy,deleteOne:zy,deleteMany:By,initialize:_y});y(this,"selectors",{selectById:qy,selectByIds:Cy})}getId(e){return e.uuid}buildModel(e){return M({file:URL.createObjectURL(e.file),file_sha1:e.file_sha1,created_by:e.created_by,file_name:e.file.name,file_type:e.file.type,submitted_at:e.submitted_at,issue_comment:e.modelUuid})}buildPayload(e,n){return{uuid:e.uuid,file_name:e.file_name,file_sha1:e.file_sha1,file_extension:n.extension,issue_comment:e.issue_comment}}async bulkAdd(e){return this._bulkAdd(e.map(n=>({modelUuid:n.issueCommentUuid,file:n.file})))}async delete(e){return this._delete(e)}async refreshStore(e,n){const{initialize:a}=this.actions,r=(await this.listPaginated({queryParams:{issue_comment__issue__project:e}},n)).flat();return this.dispatch(a(r)),r}}class kF extends E{constructor(){super(...arguments);y(this,"name","Issue Comment");y(this,"url","/issue-comments");y(this,"actions",{addOne:Ly,addMany:ky,setOne:Ny,setMany:Gy,updateOne:Hy,updateMany:Wy,deleteOne:Ky,deleteMany:Yy,initialize:Uy});y(this,"selectors",{selectById:Zy,selectByIds:Jy})}add(e){const{store:n}=this.client,{addOne:a,updateOne:c,deleteOne:r}=this.actions,l=M({...e,author:n.getState().userReducer.currentUser.uuid,submitted_at:new Date().toISOString()});this.dispatch(a(l));const u=this.enqueueRequest({description:O(m.POST,this.name,!1),method:m.POST,url:`${this.url}/`,payload:z(l),blockers:[e.issue],blocks:[l.uuid]});return u.then(d=>{this.dispatch(c(d))}).catch(()=>{this.dispatch(r(l.uuid))}),[l,u]}update(e){const{store:n}=this.client,{updateOne:a}=this.actions,{selectById:c}=this.selectors,r=c(e.uuid)(n.getState());if(!r)throw new Error(`Comment with uuid ${e.uuid} not found in store`);const l={...r,...e};this.dispatch(a(l));const u=this.enqueueRequest({description:O(m.PATCH,this.name,!1),method:m.PATCH,url:`${this.url}/${e.uuid}/`,payload:e,blockers:[e.uuid],blocks:[e.uuid]});return u.then(d=>{this.dispatch(a(d))}).catch(()=>{this.dispatch(a(r))}),[l,u]}async delete(e){const{store:n}=this.client,{deleteOne:a,addOne:c}=this.actions,{selectById:r}=this.selectors,l=r(e)(n.getState());if(!l)throw new Error(`Comment with uuid ${e} not found in store`);this.dispatch(a(e));try{return await this.enqueueRequest({description:O(m.DELETE,this.name,!1),method:m.DELETE,url:`${this.url}/${e}/`,blockers:[e],blocks:[]})}catch(u){throw this.dispatch(c(l)),u}}async refreshStore(e,n){const{setMany:a}=this.actions,r=(await this.listPaginated({queryParams:{issue__project:e}},n)).flat();return this.dispatch(a(r)),r}}class NF extends E{constructor(){super(...arguments);y(this,"name","Issue");y(this,"url","/issues");y(this,"actions",{addOne:ep,addMany:ji,setOne:tp,setMany:sp,updateOne:ip,updateMany:np,deleteOne:ap,deleteMany:qi,initialize:xy});y(this,"selectors",{selectById:dp,selectByIds:rp})}add(e){var A;const{store:n}=this.client,{addOne:a,setOne:c,deleteOne:r}=this.actions,l=n.getState(),u=new Date().toISOString(),d=((A=l.userReducer.currentUser)==null?void 0:A.uuid)??null,h=M({...e,submitted_at:u,created_by:d});this.dispatch(a(h));const p=this.enqueueRequest({description:O(m.POST,this.name,!1),method:m.POST,url:`${this.url}/`,payload:z(h),blockers:[h.project,h.issue_type,...h.category?[h.category]:[]],blocks:[h.uuid]});return p.then(f=>{this.dispatch(c(f))}).catch(f=>{throw this.dispatch(r(h.uuid)),f}),[h,p]}update(e){var p;const{updateOne:n}=this.actions,{selectById:a}=this.selectors,c=this.client.store.getState(),r=a(e.uuid)(c);if(!r)throw new Error(`Attempting to update an issue with uuid ${e.uuid} that doesn't exist in the store`);const l={...r,...e};this.dispatch(n(l));const u={};for(const A of[$.TITLE,$.DESCRIPTION,$.STATUS,$.CATEGORY,$.PRIORITY,$.ASSIGNED_TO,$.DUE_DATE])if(A in e&&e[A]!==r[A])switch(A){case $.PRIORITY:case $.STATUS:{const f=e[A];u[A]=f!==void 0?Number(f):null;break}case $.DUE_DATE:u[A]=e[A];break;case $.DESCRIPTION:u[A]=e[A];break;case $.TITLE:u[A]=e[A];break;case $.CATEGORY:{const f=e[A];if(f===null)u[A]=null;else{const I=Zs(f)(c);if(!I)throw new Error(`Trying to update category with ${f} which does not exist in store.`);u[A]={name:I.name,color:I.color,uuid:I.uuid}}break}case $.ASSIGNED_TO:{const f=e[A];if(f===null)u[A]=null;else{const I=Vt(f)(c);if(!I)throw new Error(`Trying to update assigned to with ${f} which does not exist in store.`);u[A]={email:I.email,uuid:I.uuid}}break}}const d=M({created_by:((p=c.userReducer.currentUser)==null?void 0:p.uuid)??null,submitted_at:new Date().toISOString(),issue:r.uuid,changes:u});this.dispatch(xi(d));const h=this.enqueueRequest({description:O(m.PATCH,this.name,!1),method:m.PATCH,url:`${this.url}/${e.uuid}/`,payload:e,blockers:[e.uuid],blocks:[e.uuid]});return h.then(A=>{this.dispatch(n(A))}).catch(()=>{this.dispatch(n(r)),this.dispatch(tn(d.uuid))}),[l,h]}async delete(e){const{store:n}=this.client,{deleteOne:a,addOne:c}=this.actions,{selectById:r}=this.selectors,l=n.getState(),u=r(e)(l);if(!u)throw new Error(`No issue with uuid ${e} found in the store`);const d=Oy(e)(l),h=Ff(e)(l),p={};for(const f of ry(e)(l))p[f.uuid]=f;for(const f of uy(e)(l))p[f.uuid]=f;const A=Object.values(p);this.dispatch(a(e)),this.dispatch(Ri(D(d))),this.dispatch(sn(D(h))),this.dispatch(Mt(D(A)));try{return await this.enqueueRequest({description:O(m.DELETE,this.name,!1),method:m.DELETE,url:`${this.url}/${e}/`,blockers:[e],blocks:[]})}catch(f){throw this.dispatch(c(u)),this.dispatch(Mi(d)),this.dispatch(en(h)),this.dispatch(_t(A)),f}}async refreshStore(e,n){const{initialize:a}=this.actions,r=(await this.listPaginated({queryParams:{project:e}},n)).flat();return this.dispatch(a(r)),r}}class GF extends Ke{constructor(){super(...arguments);y(this,"name","Issue Type Attachment");y(this,"url","/issue-type-attachments");y(this,"actions",{addOne:mp,addMany:yp,setOne:pp,setMany:Ap,updateOne:fp,updateMany:Sp,deleteOne:Tp,deleteMany:Ip,initialize:hp});y(this,"selectors",{selectById:Pp,selectByIds:Fp})}getId(e){return e.uuid}buildModel(e){return M({file:URL.createObjectURL(e.file),file_sha1:e.file_sha1,created_by:e.created_by,file_name:e.file.name,file_type:e.file.type,submitted_at:e.submitted_at,issue_type:e.modelUuid})}buildPayload(e,n){return{uuid:e.uuid,file_name:e.file_name,file_sha1:e.file_sha1,file_extension:n.extension,issue_type:e.issue_type}}async bulkAdd(e){return this._bulkAdd(e.map(n=>({modelUuid:n.issueTypeUuid,file:n.file})))}async delete(e){return this._delete(e)}async refreshStore(e,n){const{initialize:a}=this.actions,c=await this.list({queryParams:{issue_type__organization:e}},n);return this.dispatch(a(c)),c}}class HF extends E{constructor(){super(...arguments);y(this,"name","Issue Type Fields Attachment");y(this,"url","/issue-type-fields-attachments");y(this,"actions",{addOne:Mp,addMany:Rp,setOne:wp,setMany:vp,updateOne:Ep,updateMany:Vp,deleteOne:zp,deleteMany:Bp,initialize:_p});y(this,"selectors",{selectById:qp,selectByIds:Cp})}async bulkAdd(e){var A;const{addMany:n,setMany:a,deleteMany:c}=this.actions,r=new Date().toISOString(),l=((A=this.client.store.getState().userReducer.currentUser)==null?void 0:A.uuid)??null,u={},d=[],h=[];for(const f of e){const{fieldsRevisionUuid:I,fieldIdentifier:F,file:P}=f,g=await this.client.files.getFilePayload(P);g.sha1 in u||(u[g.sha1]=g);const b=M({file:URL.createObjectURL(P),file_type:P.type,file_name:P.name,file_sha1:g.sha1,created_by:l,fields_revision:I,submitted_at:r,field_identifier:F});d.push(b);const v={uuid:b.uuid,file_name:P.name,file_extension:g.extension,field_identifier:F,file_sha1:g.sha1,fields_revision:I};h.push(v)}this.dispatch(n(d));const p=this.enqueueRequest({description:O(m.POST,this.name,!0),method:m.POST,url:`${this.url}/bulk/`,payload:{submitted_at:r,attachments:h,files:Object.values(u)},blockers:d.map(f=>f.fields_revision),blocks:d.map(f=>f.uuid)});return p.then(f=>{this.client.files.processPresignedUrls(f.presigned_urls),this.dispatch(a(f.attachments))}).catch(()=>{this.dispatch(c(d.map(f=>f.uuid)))}),[d,p.then(({attachments:f})=>f)]}async refreshStore(e,n){const{initialize:a}=this.actions,c=await this.list({queryParams:{fields_revision__issue_type__organization:e}},n);return this.dispatch(a(c)),c}}class WF extends E{constructor(){super(...arguments);y(this,"name","Issue Type Fields");y(this,"url","/issue-type-fields");y(this,"actions",{addOne:tA,addMany:sA,setOne:iA,setMany:nA,updateOne:aA,updateMany:cA,deleteOne:dA,deleteMany:rA,initialize:eA});y(this,"selectors",{selectById:lA,selectByIds:oA})}add(e){var p;const{store:n}=this.client,{addOne:a,setOne:c,deleteOne:r}=this.actions,l=((p=n.getState().userReducer.currentUser)==null?void 0:p.uuid)??null,u=new Date().toISOString(),d=M({...e,created_by:l,submitted_at:u});this.dispatch(a(d));const h=this.enqueueRequest({description:O(m.POST,this.name,!1),method:m.POST,url:`${this.url}/`,payload:z(d),blockers:[d.issue_type],blocks:[d.uuid]});return h.then(A=>{this.dispatch(c(A))}).catch(A=>{throw this.dispatch(r(d.uuid)),A}),[d,h]}async refreshStore(e,n){const{initialize:a}=this.actions,c=await this.list({queryParams:{issue_type__organization:e}},n);return this.dispatch(a(c)),c}}class KF extends E{constructor(){super(...arguments);y(this,"name","Issue Type Field Values Attachment");y(this,"url","/issue-type-field-values-attachments");y(this,"actions",{addOne:pA,addMany:Gi,setOne:AA,setMany:fA,updateOne:SA,updateMany:TA,deleteOne:IA,deleteMany:Hi,initialize:yA});y(this,"selectors",{selectById:PA,selectByIds:FA})}async bulkAdd(e){var A;const{addMany:n,setMany:a,deleteMany:c}=this.actions,r=new Date().toISOString(),l=((A=this.client.store.getState().userReducer.currentUser)==null?void 0:A.uuid)??null,u={},d=[],h=[];for(const f of e){const{fieldValuesUuid:I,fieldIdentifier:F,file:P}=f,g=await this.client.files.getFilePayload(P);g.sha1 in u||(u[g.sha1]=g);const b=M({file:URL.createObjectURL(P),file_type:P.type,file_name:P.name,file_sha1:g.sha1,created_by:l,field_values:I,submitted_at:r,field_identifier:F});d.push(b);const v={uuid:b.uuid,file_name:P.name,file_sha1:g.sha1,file_extension:g.extension,field_identifier:F,field_values:I};h.push(v)}this.dispatch(n(d));const p=this.enqueueRequest({description:O(m.POST,this.name,!0),method:m.POST,url:`${this.url}/bulk/`,payload:{submitted_at:r,attachments:h,files:Object.values(u)},blockers:d.map(f=>f.field_values),blocks:d.map(f=>f.uuid)});return p.then(({presigned_urls:f,attachments:I})=>{this.client.files.processPresignedUrls(f),this.dispatch(a(I))}).catch(f=>{throw this.dispatch(c(d.map(I=>I.uuid))),f}),[d,p.then(({attachments:f})=>f)]}async bulkDelete(e){const{store:n}=this.client,{deleteMany:a,addMany:c}=this.actions,{selectByIds:r}=this.selectors,l=n.getState(),u=r(e)(l);this.dispatch(a(e));try{return await this.enqueueRequest({description:O(m.DELETE,this.name,!0),method:m.DELETE,url:`${this.url}/bulk/`,payload:{uuids:e},blockers:e,blocks:[]})}catch(d){throw this.dispatch(c(u)),d}}async refreshStore(e,n){const{initialize:a}=this.actions,r=(await this.listPaginated({queryParams:{field_values__issue__project:e,latest:!0}},n)).flat();return this.dispatch(a(r)),r}}class YF extends E{constructor(){super(...arguments);y(this,"name","Issue Type Field Values");y(this,"url","/issue-type-field-values");y(this,"actions",{addOne:Lp,addMany:kp,setOne:Np,setMany:Gp,updateOne:Hp,updateMany:Wp,deleteOne:Kp,deleteMany:Yp,initialize:Up});y(this,"selectors",{selectById:Jp,selectByIds:Xp})}add(e){var A;const{store:n}=this.client,{addOne:a,setOne:c,deleteOne:r}=this.actions,u=((A=n.getState().userReducer.currentUser)==null?void 0:A.uuid)??null,d=new Date().toISOString(),h=M({...e,created_by:u,submitted_at:d}),p=this.enqueueRequest({description:O(m.POST,this.name,!1),method:m.POST,url:`${this.url}/`,payload:z(h),blockers:[e.issue,e.fields_revision],blocks:[h.uuid]});return this.dispatch(a(h)),p.then(f=>{this.dispatch(c(f))}).catch(()=>{this.dispatch(r(h.uuid))}),[h,p]}update(e){const{store:n}=this.client,{setOne:a}=this.actions,{selectById:c}=this.selectors,r=n.getState(),l=c(e.uuid)(r);if(!l)throw new Error(`Expected IssueTypeFieldValues with uuid ${e.uuid} to exist`);const u={...l,...e};this.dispatch(a(u));const d=this.enqueueRequest({description:O(m.PATCH,this.name,!1),method:m.PATCH,url:`${this.url}/${e.uuid}/`,payload:e,blockers:[u.uuid,u.fields_revision,u.issue],blocks:[u.uuid]});return d.then(h=>{this.dispatch(a(h))}).catch(()=>{this.dispatch(a(l))}),[u,d]}async delete(e){const{store:n}=this.client,{deleteOne:a,addOne:c}=this.actions,{selectById:r}=this.selectors,l=n.getState(),u=r(e)(l);if(!u)throw new Error(`Expected submission with uuid ${e} to exist`);const d=gA(e)(l);this.dispatch(a(e)),this.dispatch(Hi(D(d)));try{return await this.enqueueRequest({description:O(m.DELETE,this.name,!1),method:m.DELETE,url:`${this.url}/${e}/`,blockers:[e],blocks:[]})}catch(h){throw this.dispatch(c(u)),this.dispatch(Gi(d)),h}}async refreshStore(e,n){const{initialize:a}=this.actions,r=(await this.listPaginated({queryParams:{issue__project:e,latest:!0}},n)).flat();return this.dispatch(a(r)),r}}class ZF extends E{constructor(){super(...arguments);y(this,"name","Issue Type Identifier");y(this,"url","/issue-type-identifiers");y(this,"actions",{addOne:RA,addMany:wA,setOne:vA,setMany:EA,updateOne:VA,updateMany:zA,deleteOne:BA,deleteMany:jA,initialize:MA});y(this,"selectors",{selectById:CA,selectByIds:DA})}add(e){var p;const{store:n}=this.client,{addOne:a,setOne:c,deleteOne:r}=this.actions,l=((p=n.getState().userReducer.currentUser)==null?void 0:p.uuid)??null,u=new Date().toISOString(),d=M({...e,created_by:l,submitted_at:u});this.dispatch(a(d));const h=this.enqueueRequest({description:O(m.POST,this.name,!1),method:m.POST,url:`${this.url}/`,payload:z(d),blockers:[d.issue_type],blocks:[d.uuid]});return h.then(A=>{this.dispatch(c(A))}).catch(()=>{this.dispatch(r(d.uuid))}),[d,h]}update(e){const{store:n}=this.client,{setOne:a}=this.actions,{selectById:c}=this.selectors,r=c(e.uuid)(n.getState());if(!r)throw new Error(`Expected issue type identifier with uuid ${e.uuid} to exist`);const l={...r,...e};this.dispatch(a(l));const u=this.enqueueRequest({description:O(m.PATCH,this.name,!1),method:m.PATCH,url:`${this.url}/${e.uuid}/`,payload:e,blockers:[e.uuid],blocks:[e.uuid]});return u.then(d=>{this.dispatch(a(d))}).catch(()=>{this.dispatch(a(r))}),[l,u]}async delete(e){const{store:n}=this.client,{deleteOne:a,addOne:c}=this.actions,{selectById:r}=this.selectors,l=n.getState(),u=r(e)(l);if(!u)throw new Error(`Expected issue type identifier with uuid ${e} to exist`);this.dispatch(a(e));try{return await this.enqueueRequest({description:O(m.DELETE,this.name,!1),method:m.DELETE,url:`${this.url}/${e}/`,blockers:[e],blocks:[]})}catch(d){throw this.dispatch(c(u)),d}}async refreshStore(e,n){const{initialize:a}=this.actions,c=await this.list({queryParams:{issue_type__organization:e}},n);return this.dispatch(a(c)),c}}class JF extends E{constructor(){super(...arguments);y(this,"name","Issue Type Identifier Value");y(this,"url","/issue-type-identifier-values");y(this,"actions",{addOne:kA,addMany:NA,setOne:GA,setMany:HA,updateOne:WA,updateMany:KA,deleteOne:YA,deleteMany:ZA,initialize:LA});y(this,"selectors",{selectById:XA,selectByIds:QA})}add(e){var p;const{store:n}=this.client,{addOne:a,setOne:c,deleteOne:r}=this.actions,l=((p=n.getState().userReducer.currentUser)==null?void 0:p.uuid)??null,u=new Date().toISOString(),d=M({...e,created_by:l,submitted_at:u});this.dispatch(a(d));const h=this.enqueueRequest({description:O(m.POST,this.name,!1),method:m.POST,url:`${this.url}/`,payload:z(d),blockers:[e.issue,e.issue_type_identifier],blocks:[d.uuid]});return h.then(A=>{this.dispatch(c(A))}).catch(()=>{this.dispatch(r(d.uuid))}),[d,h]}update(e){const{store:n}=this.client,{setOne:a}=this.actions,{selectById:c}=this.selectors,r=c(e.uuid)(n.getState());if(!r)throw new Error(`Expected issue type identifier value with uuid ${e.uuid} to exist`);const l={...r,...e};this.dispatch(a(l));const u=this.enqueueRequest({description:O(m.PATCH,this.name,!1),method:m.PATCH,url:`${this.url}/${e.uuid}/`,payload:e,blockers:[e.uuid],blocks:[e.uuid]});return u.then(d=>{this.dispatch(a(d))}).catch(()=>{this.dispatch(a(r))}),[l,u]}async delete(e){const{store:n}=this.client,{deleteOne:a,addOne:c}=this.actions,{selectById:r}=this.selectors,l=n.getState(),u=r(e)(l);if(!u)throw new Error(`Expected issue type identifier value with uuid ${e} to exist`);this.dispatch(a(e));try{return await this.enqueueRequest({description:O(m.DELETE,this.name,!1),method:m.DELETE,url:`${this.url}/${e}/`,blockers:[e],blocks:[]})}catch(d){throw this.dispatch(c(u)),d}}async refreshStore(e,n){const{initialize:a}=this.actions,r=(await this.listPaginated({queryParams:{issue__project:e}},n)).flat();return this.dispatch(a(r)),r}}class XF extends E{constructor(){super(...arguments);y(this,"name","Issue Type");y(this,"url","/issue-types");y(this,"actions",{addOne:sf,addMany:nf,setOne:af,setMany:cf,updateOne:df,updateMany:rf,deleteOne:uf,deleteMany:lf,initialize:tf});y(this,"selectors",{selectById:hf,selectByIds:mf})}add(e){var A;const{store:n}=this.client,{addOne:a,setOne:c,deleteOne:r}=this.actions,u=((A=n.getState().userReducer.currentUser)==null?void 0:A.uuid)??null,d=new Date().toISOString(),h=M({...e,submitted_at:d,created_by:u});this.dispatch(a(h));const p=this.enqueueRequest({method:m.POST,url:`${this.url}/`,payload:z(h),blockers:[],blocks:[h.uuid]});return p.then(f=>{this.dispatch(c(f))}).catch(()=>{this.dispatch(r(h.uuid))}),[h,p]}update(e){const{store:n}=this.client,{setOne:a}=this.actions,{selectById:c}=this.selectors,r=n.getState(),l=c(e.uuid)(r);if(!l)throw new Error(`IssueType with uuid ${e.uuid} does not exist in the store.`);const u={...l,...e};this.dispatch(a(u));const d=this.enqueueRequest({method:m.PATCH,url:`${this.url}/${e.uuid}/`,payload:e,blockers:[e.uuid],blocks:[e.uuid]});return d.then(h=>{this.dispatch(a(h))}).catch(()=>{this.dispatch(a(l))}),[u,d]}async delete(e){const{store:n}=this.client,{deleteOne:a,setOne:c}=this.actions,{selectById:r}=this.selectors,l=n.getState(),u=r(e)(l);if(!u)throw new Error(`IssueType with uuid ${e} does not exist in the store.`);const d=up(e)(l);this.dispatch(a(e)),this.dispatch(qi(D(d)));try{return await this.enqueueRequest({description:O(m.DELETE,this.name,!1),method:m.DELETE,url:`${this.url}/${e}/`,blockers:[e],blocks:[]})}catch(h){throw this.dispatch(c(u)),this.dispatch(ji(d)),h}}async refreshStore(e,n){const{initialize:a}=this.actions,c=await this.list({queryParams:{organization:e}},n);return this.dispatch(a(c)),c}}class QF extends E{constructor(){super(...arguments);y(this,"name","Issue Update");y(this,"url","/issue-updates");y(this,"actions",{addOne:xi,addMany:en,setOne:ff,setMany:Sf,updateOne:Tf,updateMany:If,deleteOne:tn,deleteMany:sn,initialize:Af});y(this,"selectors",{selectById:Of,selectByIds:Pf})}async refreshStore(e,n){const{initialize:a}=this.actions,r=(await this.listPaginated({queryParams:{issue__project:e}},n)).flat();return this.dispatch(a(r)),r}}const xF=1800;function eg(t){if(!t.access)throw new Error("Missing access token");if(!t.refresh)throw new Error("Missing refresh token");return{accessToken:t.access,refreshToken:t.refresh}}class tg extends xP{constructor(){super(...arguments);y(this,"_getRenewedTokens",async e=>{const n=this.performRequest({method:m.POST,url:this.refreshTokensUrl,payload:{refresh:e},isAuthNeeded:!1,checkAuth:!1});let a;try{a=await n}catch(c){console.error("Could not renew tokens; clearing auth",c),this.clearAuth();return}if(!a.access)throw new Error("Missing access token");return{accessToken:a.access,refreshToken:a.refresh??this.getRefreshToken()}})}clearAuth(){console.debug(this.constructor.name,"clearing auth;"),this.dispatch(ao(!1)),this.clearTokens(),this.dispatch(_()),this.dispatch(_())}async renewTokens(){const e=this.getRefreshToken();if(!e)throw new Error("No refresh token found");console.debug(this.constructor.name,"renewing tokens");try{const n=await this._getRenewedTokens(e);if(!n)return;console.log("Got renewed tokens"),this.setTokens(n)}catch(n){throw console.error("Could not renew tokens; clearing auth",n),this.clearAuth(),n}}tokenIsExpiringSoon(){const e=this.getAccessToken();if(!e)return!1;const n=Date.now()/1e3;let a;try{a=VI(e).exp??n}catch{a=n}return a-n<xF}getAuthHeader(){return`Bearer ${this.getAccessToken()}`}async prepareAuth(){if(this.tokenIsExpiringSoon()){console.debug(this.constructor.name,"preparing auth");try{await this.renewTokens()}catch(e){return e instanceof U&&this.clearAuth(),e instanceof Error?Promise.reject(e):Promise.reject(new Error((e??tt).toString()))}}}async handleUnauthorized(e,n){const a=this.client.store.getState();if(e.url.endsWith("/token/refresh/"))throw a.authReducer.isLoggedIn&&console.warn("No signed-in user to sign out."),this.clearAuth(),new U({message:"You have been signed out due to inactivity.",response:n,discard:!0});if(a.authReducer.isLoggedIn)await this.renewTokens();else throw console.debug("Forbidden; user is not logged in."),new U({message:"Incorrect username or password.",response:n,discard:!0})}async initAuth(e){const n=xe.v4();return console.debug(this.constructor.name,"Initiating auth"),this.performRequest({uuid:n,method:m.POST,url:this.initTokensUrl,payload:e,isAuthNeeded:!1,checkAuth:!1}).then(a=>{this.setTokens(eg(a))})}}class lt extends Ze{async get(s,e){return this.performRequest({url:`${this.url}/${s}/`,method:m.GET},e)}async list(s,e){return this.performRequest({url:`${this.url}/`,method:m.GET,...s},e)}async listPaginated(s,e){return this.performPagination({url:`${this.url}/`,method:m.GET,...s},e)}}class sg extends lt{constructor(){super(...arguments);y(this,"name","Organization Access");y(this,"url","/organization-accesses");y(this,"actions",{addOne:Df,addMany:$f,setOne:Uf,setMany:Lf,updateOne:kf,updateMany:Nf,deleteOne:Gf,deleteMany:Hf,initialize:Cf});y(this,"selectors",{selectById:Kf,selectByIds:Yf})}update(e){const{store:n}=this.client,{updateOne:a}=this.actions,{selectById:c}=this.selectors,r=c(e.uuid)(n.getState()),l={...r,...e};this.dispatch(a(l));const u=this.enqueueRequest({description:O(m.PATCH,this.name,!1),method:m.PATCH,url:`${this.url}/${e.uuid}/`,payload:e,blockers:[e.uuid],blocks:[e.uuid]});return u.then(d=>{this.dispatch(a(d))}).catch(d=>{throw this.dispatch(a(r)),d}),[l,u]}async delete(e){const{store:n}=this.client,{deleteOne:a,addOne:c}=this.actions,{selectById:r}=this.selectors,l=n.getState(),u=r(e)(l),d=Vt(u.user)(l);this.dispatch(a(u.uuid)),this.dispatch(rn(u.user));try{return await this.enqueueRequest({description:O(m.DELETE,this.name,!1),method:m.DELETE,url:`${this.url}/${u.uuid}/`,blockers:[u.uuid],blocks:[]})}catch(h){throw this.dispatch(c(u)),this.dispatch(dn(d)),h}}async refreshStore(e,n){const{initialize:a}=this.actions,c=await this.list({queryParams:{organization:e}},n);return this.dispatch(a(c)),c}}class ig extends lt{constructor(){super(...arguments);y(this,"name","Organization");y(this,"url","/organizations");y(this,"actions",{addOne:tS,addMany:eS,setOne:xf,setMany:Qf,updateOne:iS,updateMany:sS,deleteOne:nS,deleteMany:aS,initialize:Xf});y(this,"selectors",{selectById:rS,selectByIds:uS})}async add(e){const{addOne:n}=this.actions,a=await this.enqueueRequest({description:O(m.POST,this.name,!1),method:m.POST,url:`${this.url}/`,payload:e,blockers:[],blocks:[]});return this.dispatch(n(a)),a}async update(e){const{setOne:n}=this.actions,a=await this.enqueueRequest({description:O(m.PATCH,this.name,!1),method:m.PATCH,url:`${this.url}/${e.uuid}/`,payload:e,blockers:[e.uuid],blocks:[e.uuid]});return this.dispatch(n(a)),a}async invite(e,n){return this.enqueueRequest({description:O(m.POST,this.name,!1),method:m.POST,url:`${this.url}/${e}/invite/${n}/`,blockers:[],blocks:[]})}async refreshStore(e){const{initialize:n}=this.actions,a=await this.list({},e);return this.dispatch(n(a)),a}}class ng extends E{constructor(){super(...arguments);y(this,"name","Project Access");y(this,"url","/project-accesses");y(this,"actions",{addOne:TS,addMany:IS,setOne:OS,setMany:PS,updateOne:FS,updateMany:gS,deleteOne:bS,deleteMany:_S,initialize:SS});y(this,"selectors",{selectById:RS,selectByIds:wS})}add(e){var d;const{store:n}=this.client,{addOne:a,setOne:c,deleteOne:r}=this.actions,l=M({...e,created_by:((d=n.getState().userReducer.currentUser)==null?void 0:d.uuid)??null});this.dispatch(a(l));const u=this.enqueueRequest({description:O(m.POST,this.name,!1),method:m.POST,url:`${this.url}/`,payload:z(l),blockers:[l.organization_access,l.project],blocks:[l.uuid]});return u.then(h=>{this.dispatch(c(h))}).catch(h=>{throw this.dispatch(r(l.uuid)),h}),[l,u]}bulkAdd(e){var h;const{store:n}=this.client,{addMany:a,deleteMany:c,updateMany:r}=this.actions,l=((h=n.getState().userReducer.currentUser)==null?void 0:h.uuid)??null,u=e.map(p=>M({...p,created_by:l}));this.dispatch(a(u));const d=this.enqueueRequest({description:O(m.POST,this.name,!0),method:m.POST,url:`${this.url}/bulk/`,payload:{project_accesses:u.map(p=>z(p))},blockers:u.flatMap(p=>[p.project,p.organization_access]),blocks:u.map(p=>p.uuid)});return d.then(p=>{this.dispatch(r(p))}).catch(p=>{throw this.dispatch(c(u.map(A=>A.uuid))),p}),[u,d]}update(e){const{store:n}=this.client,{setOne:a}=this.actions,{selectById:c}=this.selectors,r=c(e.uuid)(n.getState()),l={...r,...e};this.dispatch(a(l));const u=this.enqueueRequest({description:O(m.PATCH,this.name,!1),method:m.PATCH,url:`${this.url}/${e.uuid}/`,payload:e,blockers:[e.uuid],blocks:[]});return u.then(d=>{this.dispatch(a(d))}).catch(d=>{throw this.dispatch(a(r)),d}),[l,u]}async delete(e){const{store:n}=this.client,{deleteOne:a,addOne:c}=this.actions,{selectById:r}=this.selectors,l=r(e)(n.getState());this.dispatch(a(e));try{return await this.enqueueRequest({description:O(m.DELETE,this.name,!1),method:m.DELETE,url:`${this.url}/${e}/`,blockers:[e],blocks:[]})}catch(u){throw this.dispatch(c(l)),u}}async refreshStore(e,n){const{initialize:a}=this.actions,c=await this.list({queryParams:{project__organization:e}},n);return this.dispatch(a(c)),c}}class ag extends Ke{constructor(){super(...arguments);y(this,"name","Project Attachment");y(this,"url","/project-attachments");y(this,"actions",{addOne:VS,addMany:zS,setOne:BS,setMany:jS,updateOne:qS,updateMany:CS,deleteOne:DS,deleteMany:$S,initialize:ES});y(this,"selectors",{selectById:LS,selectByIds:kS})}getId(e){return e.uuid}buildModel(e){return M({file:URL.createObjectURL(e.file),file_sha1:e.file_sha1,created_by:e.created_by,file_name:e.file.name,file_type:e.file.type,submitted_at:e.submitted_at,project:e.modelUuid})}buildPayload(e,n){return{uuid:e.uuid,file_name:e.file_name,file_sha1:e.file_sha1,file_extension:n.extension,project:e.project}}async bulkAdd(e){return this._bulkAdd(e.map(n=>({modelUuid:n.projectUuid,file:n.file})))}async delete(e){return this._delete(e)}async refreshStore(e,n){const{initialize:a}=this.actions,c=await this.list({queryParams:{project__organization:e}},n);return this.dispatch(a(c)),c}}class cg extends E{constructor(){super(...arguments);y(this,"name","Project File");y(this,"url","/project-files");y(this,"actions",{addOne:YS,addMany:ZS,setOne:WS,setMany:KS,updateOne:JS,updateMany:XS,deleteOne:QS,deleteMany:xS,initialize:HS});y(this,"selectors",{selectById:aT,selectByIds:cT})}async saveExisting(e){const{setOne:n}=this.actions;if(!e.uuid)throw new Error("You can only use this method to save existing project files. The one provided has no uuid.");const a={...e};delete a.file;const c=this.enqueueRequest({method:m.PATCH,url:`${this.url}/${e.uuid}/`,payload:a,blockers:[e.uuid],blocks:[e.uuid]});return c.then(r=>{this.dispatch(n(r))}),c}saveActive(){const{store:e}=this.client,{setOne:n}=this.actions,a=e.getState(),c=a.projectFileReducer.activeProjectFileId;if(!c)throw new Error("No active project file");const r=a.projectFileReducer.instances[c];if(!r)throw new Error("No active project file");if(!r.bounds&&!r.canvas_bounds)throw new Error("Project file must either have bounds or canvas_bounds set");let l;if(typeof r.file=="string"&&!r.file.startsWith("blob:")){const h={...r};delete h.file,l={method:m.PATCH,url:`${this.url}/${c}/`,payload:h,blockers:[c],blocks:[c]}}else l=new Promise((h,p)=>{this.client.files.uploadFileToS3(r.file_sha1).then(([A])=>{h({method:m.POST,url:`${this.url}/`,payload:{...r,...A},blockers:[c],blocks:[c]})}).catch(p)});const d=Promise.resolve(l).then(h=>this.enqueueRequest(h));return d.then(h=>{this.dispatch(n(h))}),this.dispatch(sT),this.dispatch(tT(null)),this.dispatch(eT(!1)),[r,d]}async delete(e){const{store:n}=this.client,{addOne:a,deleteOne:c}=this.actions,{selectById:r}=this.selectors,l=r(e)(n.getState());if(!l)throw new Error(`Expected project file with uuid ${e} to exist in the store.`);this.dispatch(c(e));try{return await this.enqueueRequest({description:O(m.DELETE,this.name,!1),method:m.DELETE,url:`${this.url}/${e}`,blockers:[e],blocks:[]})}catch(u){throw this.dispatch(a(l)),u}}async refreshStore(e,n){const{initialize:a}=this.actions,r=(await this.listPaginated({queryParams:{project:e}},n)).flat();return this.dispatch(a(r)),r}}class dg extends lt{constructor(){super(...arguments);y(this,"name","Project");y(this,"url","/projects");y(this,"actions",{addOne:mT,addMany:hT,setOne:oT,setMany:lT,updateOne:pT,updateMany:yT,deleteOne:AT,deleteMany:fT,initialize:uT});y(this,"selectors",{selectById:IT,selectByIds:OT})}async add(e){const{addOne:n}=this.actions,a=await this.performRequest({method:m.POST,url:`${this.url}/`,payload:z(e)});return this.dispatch(n(a)),a}async update(e){const{updateOne:n}=this.actions,a=await this.performRequest({method:m.PATCH,url:`${this.url}/${e.uuid}/`,payload:z(e)});return this.dispatch(n(a)),a}async delete(e){const{deleteOne:n}=this.actions,a=await this.enqueueRequest({description:O(m.DELETE,this.name,!1),method:m.DELETE,url:`${this.url}/${e}/`,blockers:[e],blocks:[]});return this.dispatch(n(e)),a}async refreshStore(e,n){const{initialize:a}=this.actions,c=await this.list({queryParams:{organization:e}},n);return this.dispatch(a(c)),c}}class rg extends E{constructor(){super(...arguments);y(this,"name","Team Membership");y(this,"url","/team-memberships");y(this,"actions",{addOne:bT,addMany:_T,setOne:MT,setMany:RT,updateOne:wT,updateMany:vT,deleteOne:ET,deleteMany:VT,initialize:gT});y(this,"selectors",{selectById:jT,selectByIds:qT})}add(e){var d;const{store:n}=this.client,{addOne:a,setOne:c,deleteOne:r}=this.actions,l=M({...e,created_by:((d=n.getState().userReducer.currentUser)==null?void 0:d.uuid)??null});this.dispatch(a(l));const u=this.enqueueRequest({description:O(m.POST,this.name,!1),method:m.POST,url:`${this.url}/`,payload:z(l),blockers:[e.team],blocks:[l.uuid]});return u.then(h=>{this.dispatch(c(h))}).catch(()=>{this.dispatch(r(l.uuid))}),[l,u]}bulkAdd(e){var h;const{store:n}=this.client,{addMany:a,setMany:c,deleteMany:r}=this.actions,l=((h=n.getState().userReducer.currentUser)==null?void 0:h.uuid)??null,u=e.map(p=>M({...p,created_by:l}));this.dispatch(a(u));const d=this.enqueueRequest({description:O(m.POST,this.name,!0),method:m.POST,url:`${this.url}/bulk/`,payload:{team_memberships:u.map(p=>z(p))},blockers:u.map(p=>p.team),blocks:u.map(p=>p.uuid)});return d.then(p=>{this.dispatch(c(p))}).catch(()=>{this.dispatch(r(u.map(p=>p.uuid)))}),[u,d]}async delete(e){const{store:n}=this.client,{deleteOne:a,setOne:c}=this.actions,{selectById:r}=this.selectors,l=n.getState(),u=r(e)(l);if(!u)throw new Error(`Expected team membership with uuid ${e} to exist`);this.dispatch(a(e));try{return await this.enqueueRequest({description:O(m.DELETE,this.name,!1),method:m.DELETE,url:`${this.url}/${e}/`,blockers:[e],blocks:[e]})}catch(d){throw this.dispatch(c(u)),d}}async refreshStore(e,n){const{initialize:a}=this.actions,c=await this.list({queryParams:{team__organization:e}},n);return this.dispatch(a(c)),c}}class ug extends E{constructor(){super(...arguments);y(this,"name","Team");y(this,"url","/teams");y(this,"actions",{addOne:$T,addMany:UT,setOne:LT,setMany:kT,updateOne:NT,updateMany:GT,deleteOne:HT,deleteMany:WT,initialize:DT});y(this,"selectors",{selectById:YT,selectByIds:ZT})}add(e){var d;const{store:n}=this.client,{addOne:a,setOne:c,deleteOne:r}=this.actions,l=M({...e,submitted_at:new Date().toISOString(),created_by:((d=n.getState().userReducer.currentUser)==null?void 0:d.uuid)??null});this.dispatch(a(l));const u=this.enqueueRequest({description:O(m.POST,this.name,!1),method:m.POST,url:`${this.url}/`,payload:z(l),blockers:[],blocks:[l.uuid]});return u.then(h=>{this.dispatch(c(h))}).catch(()=>{this.dispatch(r(l.uuid))}),[l,u]}update(e){const{store:n}=this.client,{setOne:a}=this.actions,{selectById:c}=this.selectors,r=c(e.uuid)(n.getState());if(!r)throw new Error(`Expected team with uuid ${e.uuid} to exist`);const l={...r,...e};this.dispatch(a(l));const u=this.enqueueRequest({description:O(m.PATCH,this.name,!1),method:m.PATCH,url:`${this.url}/${e.uuid}/`,payload:z(e),blockers:[e.uuid],blocks:[e.uuid]});return u.then(d=>{this.dispatch(a(d))}).catch(()=>{this.dispatch(a(r))}),[l,u]}async delete(e){const{store:n}=this.client,{deleteOne:a,setOne:c}=this.actions,{selectById:r}=this.selectors,l=n.getState(),u=r(e)(l);if(!u)throw new Error(`Expected team with uuid ${e} to exist`);this.dispatch(a(e));try{return await this.enqueueRequest({description:O(m.DELETE,this.name,!1),method:m.DELETE,url:`${this.url}/${e}/`,blockers:[e],blocks:[e]})}catch(d){throw this.dispatch(c(u)),d}}async refreshStore(e,n){const{initialize:a}=this.actions,c=await this.list({queryParams:{organization:e}},n);return this.dispatch(a(c)),c}}class lg extends lt{constructor(){super(...arguments);y(this,"name","User");y(this,"url","/user");y(this,"actions",{addOne:dn,addMany:wf,setOne:Rf,setMany:Mf,updateOne:Ef,updateMany:vf,deleteOne:rn,deleteMany:Vf,initialize:_f});y(this,"selectors",{selectById:Vt,selectByIds:jf})}async list(e,n){const{organizationUuid:a,...c}=e,r=a?`/organizations/${a}${this.url}s/`:`/${this.url}`;return this.performRequest({method:m.GET,url:r,...c},n)}async refreshStore(e,n){const{initialize:a}=this.actions,c=await this.list({organizationUuid:e},n);return this.dispatch(a(c)),c}}async function Rn(t,s,e,n,a){const c=n instanceof Ze;c&&s.checkAuth!==!1&&await n.auth.prepareAuth();const r={queryParams:"",isAuthNeeded:!0},{s3url:l,payload:u,headers:d,method:h,queryParams:p,attachmentHash:A,isExternalUrl:f,isAuthNeeded:I,isResponseBlob:F}={...r,...s};let P=s.url;const g=A?await e.files.fetchCache(A):void 0;if(A&&!g)throw new Error(`Cannot upload file ${A} because it's not cached.`);!f&&!P.startsWith("http")&&(!P.startsWith("/")&&!P.startsWith("blob:")&&(P="/"+P),P=t+P);const b=q=>{if(A){if(!l)throw new Error(`No S3 URL for file ${A}`);if("warning"in l)throw new Error(`S3 URL warning for file ${A}`);if(!g)throw new Error(`No file for file ${A}`);const j=l.fields["x-amz-checksum-sha1"];if(!j)throw new Error(`No checksum for file ${A}`);return q.set("x-amz-checksum-sha1",j).field({...u,...l.fields}).attach("file",g)}return q.send(u)},B={[m.GET]:()=>F?Qe.get(P.toString()).responseType("blob"):Qe.get(P.toString()),[m.POST]:()=>{const q=Qe.post(P.toString());return b(q)},[m.PATCH]:()=>{const q=Qe.patch(P.toString());return b(q)},[m.PUT]:()=>{const q=Qe.put(P.toString());return b(q)},[m.DELETE]:()=>{const q=Qe.delete(P.toString());return b(q)}}[h];let V=B();if(a==null||a.addEventListener("abort",()=>{console.debug("aborting request:",s),V.abort()}),I&&c){const q=n.auth.getAuthHeader();V=V.set("Authorization",q)}d&&(V=V.set(d));try{return await V.query(p)}catch(q){const j=mI(q),bI=j==null?void 0:j.status;if(c&&bI===401)return await n.auth.handleUnauthorized(V,j),V.query(p);throw new U({response:j,innerError:q,discard:gn.includes(bI)})}}class og{constructor(s){y(this,"store");this.store=s}_performRequest(s,e,n,a){const c=new Ut,r={...e,uuid:e.uuid??xe.v4()};return Rn(s,r,this,n,a).then(l=>{c.resolve(l.body)}).catch(l=>{l instanceof Error?c.reject(l):c.reject(new Error((l??tt).toString()))}),c}async performRequest(s,e,n,a){return this._performRequest(s,e,n,a).then(c=>{if(c instanceof U)throw c;return c})}async enqueueRequest(s,e,n){return this._enqueueRequest(s,e,n).then(a=>{if(a instanceof U)throw a;return a})}_enqueueRequest(s,e,n){const a=new Ut,c={...s,BASE_URL:e,serviceName:n},r=this.store.dispatch(mS(c)),l=d=>{if(d)a.resolve(d.body);else{const h=new U({message:"Could not get a response from the server.",response:d,discard:!0});a.reject(h)}},u=d=>{d instanceof U?d.options.discard=!0:(console.error("Received an unexpected error while processing a request:",d,`
15
+ Converting error to APIError and discarding.`),d=new U({message:"An error occurred while processing the request.",innerError:d,discard:!0})),a.reject(d)};return r.then(l,u),a}async performPagination(s,e,n,a,c){const r={...e,queryParams:{...e.queryParams,paginate:!0,limit:n}},{method:l}=r,u=[];let d=await this.performRequest(s,r,a,c);for(u.push(d.results);d.next;)d=await this.performRequest(s,{url:d.next,method:l},a,c),u.push(d.results);return u}}class st{constructor(){y(this,"graph");y(this,"requestAttemptCounter");this.graph=new zI.DepGraph,this.requestAttemptCounter={}}static _fromOutbox(s){const e=new st;for(let n=0;n<s.length;n++){const a=s[n];if(!a){console.error("Outbox item was undefined");continue}e.sneakRequest(a);for(let c=0;c<n;c++){const r=s[c];if(!r){console.error("Previous outbox item was undefined");continue}r.payload.uuid!==a.payload.uuid&&r.payload.blocks.some(l=>a.payload.blockers.includes(l))&&st._addDependency(a.payload.uuid,r.payload.uuid,e.graph)}}return e}_addDependency(s,e){st._addDependency(s,e,this.graph)}static _addDependency(s,e,n){if(s===e)throw new Error(`Tried to add dependency from node to itself: ${s}`);if(!n.hasNode(s))throw new Error(`Tried to add dependency from non-existent node: ${s} (to node: ${e})`);if(!n.hasNode(e))throw new Error(`Tried to add dependency to non-existent node: ${e} (from node: ${s})`);n.addDependency(s,e)}addRequest(s){if(this.graph.addNode(s.payload.uuid,s),!(s.payload.blockers.length===0||this.graph.size()===1))for(const e of this.graph.overallOrder()){if(e===s.payload.uuid)continue;const n=this.graph.getNodeData(e);s.payload.blockers.some(a=>n.payload.blocks.includes(a))&&this._addDependency(s.payload.uuid,e)}}insertRequest(s){this.graph.addNode(s.payload.uuid,s);for(const e of this.graph.overallOrder()){if(e===s.payload.uuid)continue;this.graph.getNodeData(e).payload.blockers.some(a=>s.payload.blocks.includes(a))&&this._addDependency(e,s.payload.uuid)}}sneakRequest(s){this.graph.addNode(s.payload.uuid,s)}_getNextNode(){const s=this.graph.overallOrder(!0);let e=1/0,n;for(const a of s){const c=this.requestAttemptCounter[a]||0;c<e&&(e=c,n=a)}return n}peek(){const s=this._getNextNode();if(s)return this.graph.getNodeData(s)}remove(s){this.graph.removeNode(s),delete this.requestAttemptCounter[s]}pop(){const s=this.peek();return s&&this.graph.removeNode(s.payload.uuid),s}getQueue(){const s=this.graph.overallOrder().map(n=>this.graph.getNodeData(n)),e=this._getNextNode();if(e){const n=this.graph.getNodeData(e),a=s.findIndex(c=>c.payload.uuid===n.payload.uuid);a!==-1&&(s.splice(a,1),s.unshift(n))}return s}getReady(){let s=this.graph.overallOrder(!0).map(e=>this.graph.getNodeData(e));return s=s.sort((e,n)=>e.meta.offline.effect.timestamp.localeCompare(n.meta.offline.effect.timestamp)),s=s.sort((e,n)=>{const a=this.requestAttemptCounter[e.payload.uuid]||0,c=this.requestAttemptCounter[n.payload.uuid]||0;return a-c}),s}registerRetry(s){this.requestAttemptCounter[s]=(this.requestAttemptCounter[s]||0)+1}}let yI;function pI(t){yI=t}function it(){return yI}let AI;function fI(t){AI=t}function SI(){return AI}let wn=null;function Xe(){const t=it();if(!t)return console.warn("Client store not set; cannot get outbox coordinator yet."),null;if(wn)return wn;const s=t.getState().offline.outbox,e=st._fromOutbox(s);return wn=e,e}const hg=(t,s)=>{const e=new s(t);return fI(e),pI(t),e};class mg{constructor(s){y(this,"_all");y(this,"_previous");this._all=[s],this._previous=s,this.then=this.then.bind(this),this.compile=this.compile.bind(this)}then(s){return this._previous&&(this._previous.next=s),this._all.push(s),this._previous=s,{then:this.then,compile:this.compile}}compile(){return this._all}}class vn{constructor(){y(this,"next");this.next=null}then(s){return new mg(this).then(s)}async run(s){if(this.next)return this.next.run(s);{if(console.debug("Middleware finished. Performing request:",s),!it())throw new Error("Client store not set");const n=SI();if(!n)throw new Error("Client SDK not set");return lI(s,n)}}}class TI extends vn{async run(s){return super.run(s)}}class II extends vn{async run(s){return super.run(s)}}const OI=new TI().then(new II).compile();function PI(t){var s;return(s=OI[0])==null?void 0:s.run(t)}var FI=(t=>(t[t.USER_REGISTRATION=0]="USER_REGISTRATION",t[t.APPLICATION_INVITE=2]="APPLICATION_INVITE",t[t.PROJECT_INVITE=4]="PROJECT_INVITE",t[t.ORGANIZATION_INVITE=6]="ORGANIZATION_INVITE",t[t.ADD_EMAIL_DOMAIN=8]="ADD_EMAIL_DOMAIN",t[t.RESET_PASSWORD=10]="RESET_PASSWORD",t))(FI||{});i.ALL_MIDDLEWARE=OI,i.APIError=U,i.ATTACHMENT_MODEL_DEFAULT_PAGE_SIZE=tI,i.AgentService=eF,i.AssetAttachmentService=tF,i.AssetProcedureService=dF,i.AssetProcedureStepFieldValuesAttachmentService=oF,i.AssetProcedureStepFieldValuesService=hF,i.AssetProcedureStepFieldsAttachmentService=uF,i.AssetProcedureStepFieldsService=lF,i.AssetProcedureStepService=mF,i.AssetProcedureTypeAttachmentService=sF,i.AssetProcedureTypeFieldValuesAttachmentService=aF,i.AssetProcedureTypeFieldValuesService=cF,i.AssetProcedureTypeFieldsAttachmentService=iF,i.AssetProcedureTypeFieldsService=nF,i.AssetProcedureTypeService=rF,i.AssetService=yF,i.AssetStageCompletionService=pF,i.AssetStageService=AF,i.AssetTypeAttachmentService=fF,i.AssetTypeFieldValuesAttachmentService=IF,i.AssetTypeFieldValuesService=OF,i.AssetTypeFieldsAttachmentService=SF,i.AssetTypeFieldsService=TF,i.AssetTypeIdentifierService=PF,i.AssetTypeIdentifierValueService=FF,i.AssetTypeService=gF,i.AttachmentModel=qn,i.BaseApiService=Ze,i.BaseModelApiService=lt,i.BaseOfflineAttachmentModelService=Ke,i.BaseOfflineModelApiService=E,i.BaseSDK=og,i.COMMON_AUTO_FIELDS=kn,i.CategoryService=bF,i.DEFAULT_ISSUE_PRIORITY=jI,i.DEFAULT_ISSUE_STATUS=BI,i.DEFAULT_PAGE_SIZE=eI,i.DISCARD_HTTP_STATUSES=gn,i.DeferredPromise=Ut,i.DocumentAttachmentService=_F,i.DocumentService=MF,i.EMPTY_ARRAY=zn,i.EMPTY_OBJECT=Bn,i.EmailVerificationService=RF,i.FileService=vF,i.FormIdentifierService=EF,i.FormIdentifierValueService=VF,i.FormRevisionAttachmentService=zF,i.FormRevisionService=BF,i.FormService=jF,i.FormSubmissionAttachmentService=qF,i.FormSubmissionService=CF,i.GeoImageService=DF,i.HttpMethod=m,i.IssueAssociationService=$F,i.IssueAttachmentService=UF,i.IssueCommentAttachmentService=LF,i.IssueCommentService=kF,i.IssuePriority=Dt,i.IssueService=NF,i.IssueStatus=$t,i.IssueTypeAttachmentService=GF,i.IssueTypeFieldValuesAttachmentService=KF,i.IssueTypeFieldValuesService=YF,i.IssueTypeFieldsAttachmentService=HF,i.IssueTypeFieldsService=WF,i.IssueTypeIdentifierService=ZF,i.IssueTypeIdentifierValueService=JF,i.IssueTypeService=XF,i.IssueUpdateChange=$,i.IssueUpdateService=QF,i.JWTService=tg,i.MAX_SERVICE_BATCH_SIZE=Ye,i.OUTBOX_RETRY_DELAY=Cn,i.OfflineAnalyticsMiddleware=TI,i.OfflineMiddleware=vn,i.OrganizationAccessLevel=jn,i.OrganizationAccessService=sg,i.OrganizationService=ig,i.OutboxCoordinator=st,i.ProjectAccessService=ng,i.ProjectAttachmentService=ag,i.ProjectFileService=cg,i.ProjectService=dg,i.RESET_ORGANIZATION_STATE=w,i.RESET_PROJECT_STATE=C,i.RESET_STATE=_,i.RateLimitingMiddleware=II,i.SelectorBuilder=cO,i.TeamMembershipService=rg,i.TeamService=ug,i.UNKNOWN_ERROR_MESSAGE=tt,i.UserService=lg,i.VERSION_REDUCER_KEY=nt,i.VerificationCodeType=FI,i._setLatestRetryTime=pS,i.addAsset=fr,i.addAssetAttachment=sa,i.addAssetAttachments=Yt,i.addAssetProcedure=vc,i.addAssetProcedureStep=ar,i.addAssetProcedureStepFieldValues=Nd,i.addAssetProcedureStepFieldValuesAttachment=vd,i.addAssetProcedureStepFieldValuesAttachments=fs,i.addAssetProcedureStepFieldValuesMany=Gd,i.addAssetProcedureStepFields=fd,i.addAssetProcedureStepFieldsAttachment=id,i.addAssetProcedureStepFieldsAttachments=nd,i.addAssetProcedureStepFieldsMany=Sd,i.addAssetProcedureSteps=cr,i.addAssetProcedureType=Nc,i.addAssetProcedureTypeAttachment=pa,i.addAssetProcedureTypeAttachments=Aa,i.addAssetProcedureTypeFieldValues=Ac,i.addAssetProcedureTypeFieldValuesAttachment=ic,i.addAssetProcedureTypeFieldValuesAttachments=is,i.addAssetProcedureTypeFieldValuesMany=fc,i.addAssetProcedureTypeFields=Na,i.addAssetProcedureTypeFieldsAttachment=wa,i.addAssetProcedureTypeFieldsAttachments=va,i.addAssetProcedureTypeFieldsMany=Ga,i.addAssetProcedureTypes=Gc,i.addAssetProcedures=rs,i.addAssetStage=Kr,i.addAssetStageCompletion=vr,i.addAssetStageCompletions=Er,i.addAssetStages=Yr,i.addAssetType=Yl,i.addAssetTypeAttachment=nu,i.addAssetTypeAttachments=Es,i.addAssetTypeFieldValues=nl,i.addAssetTypeFieldValuesAttachment=Hu,i.addAssetTypeFieldValuesAttachments=Ds,i.addAssetTypeFieldValuesMany=al,i.addAssetTypeFields=Eu,i.addAssetTypeFieldsAttachment=fu,i.addAssetTypeFieldsAttachments=Su,i.addAssetTypeFieldsMany=Vu,i.addAssetTypeIdentifier=Sl,i.addAssetTypeIdentifierValue=Vl,i.addAssetTypeIdentifierValues=zl,i.addAssetTypeIdentifiers=Tl,i.addAssetTypes=Zl,i.addAssets=gs,i.addCategories=oo,i.addCategory=lo,i.addConversation=Jn,i.addConversations=dO,i.addDocument=Co,i.addDocumentAttachment=Fo,i.addDocumentAttachments=go,i.addDocuments=Do,i.addForm=em,i.addFormIdentifier=sh,i.addFormIdentifierValue=Ah,i.addFormIdentifierValues=fh,i.addFormIdentifiers=ih,i.addFormRevision=ci,i.addFormRevisionAttachment=vh,i.addFormRevisionAttachments=Eh,i.addFormRevisions=di,i.addFormSubmission=Rm,i.addFormSubmissionAttachment=ym,i.addFormSubmissionAttachments=yi,i.addFormSubmissions=Ii,i.addForms=tm,i.addGeoImage=Lm,i.addGeoImages=km,i.addIssue=ep,i.addIssueAssociation=iy,i.addIssueAssociations=_t,i.addIssueAttachment=yy,i.addIssueAttachments=Mi,i.addIssueComment=Ly,i.addIssueCommentAttachment=My,i.addIssueCommentAttachments=Ry,i.addIssueComments=ky,i.addIssueType=sf,i.addIssueTypeAttachment=mp,i.addIssueTypeAttachments=yp,i.addIssueTypeFieldValues=Lp,i.addIssueTypeFieldValuesAttachment=pA,i.addIssueTypeFieldValuesAttachments=Gi,i.addIssueTypeFieldValuesMany=kp,i.addIssueTypeFields=tA,i.addIssueTypeFieldsAttachment=Mp,i.addIssueTypeFieldsAttachments=Rp,i.addIssueTypeFieldsMany=sA,i.addIssueTypeIdentifier=RA,i.addIssueTypeIdentifierValue=kA,i.addIssueTypeIdentifierValues=NA,i.addIssueTypeIdentifiers=wA,i.addIssueTypes=nf,i.addIssueUpdate=xi,i.addIssueUpdates=en,i.addIssues=ji,i.addOrganization=tS,i.addOrganizationAccess=Df,i.addOrganizationAccesses=$f,i.addOrganizations=eS,i.addProject=mT,i.addProjectAccess=TS,i.addProjectAccesses=IS,i.addProjectAttachment=VS,i.addProjectAttachments=zS,i.addProjectFile=YS,i.addProjectFiles=ZS,i.addProjects=hT,i.addTeam=$T,i.addTeamMembership=bT,i.addTeamMemberships=_T,i.addTeams=UT,i.addUser=dn,i.addUsers=wf,i.agentsReducer=xn,i.agentsSlice=Ht,i.areArraysEqual=$I,i.assetAttachmentReducer=ha,i.assetAttachmentSlice=Kt,i.assetProcedureReducer=qc,i.assetProcedureSlice=ds,i.assetProcedureStepFieldValuesAttachmentReducer=Ud,i.assetProcedureStepFieldValuesAttachmentSlice=As,i.assetProcedureStepFieldValuesReducer=er,i.assetProcedureStepFieldValuesSlice=Is,i.assetProcedureStepFieldsAttachmentReducer=yd,i.assetProcedureStepFieldsAttachmentSlice=hs,i.assetProcedureStepFieldsReducer=Md,i.assetProcedureStepFieldsSlice=ys,i.assetProcedureStepReducer=or,i.assetProcedureStepSlice=Os,i.assetProcedureTypeAttachmentReducer=Fa,i.assetProcedureTypeAttachmentSlice=Xt,i.assetProcedureTypeFieldValuesAttachmentReducer=uc,i.assetProcedureTypeFieldValuesAttachmentSlice=ss,i.assetProcedureTypeFieldValuesReducer=gc,i.assetProcedureTypeFieldValuesSlice=cs,i.assetProcedureTypeFieldsAttachmentReducer=Ca,i.assetProcedureTypeFieldsAttachmentSlice=xt,i.assetProcedureTypeFieldsReducer=Xa,i.assetProcedureTypeFieldsSlice=ts,i.assetProcedureTypeReducer=Xc,i.assetProcedureTypeSlice=ls,i.assetReducer=Mr,i.assetSlice=Fs,i.assetStageCompletionReducer=Dr,i.assetStageCompletionSlice=_s,i.assetStageReducer=xr,i.assetStageSlice=Ms,i.assetTypeAttachmentReducer=yu,i.assetTypeAttachmentSlice=vs,i.assetTypeFieldValuesAttachmentReducer=tl,i.assetTypeFieldValuesAttachmentSlice=Cs,i.assetTypeFieldValuesReducer=pl,i.assetTypeFieldValuesSlice=Ls,i.assetTypeFieldsAttachmentReducer=Ru,i.assetTypeFieldsAttachmentSlice=Bs,i.assetTypeFieldsReducer=ku,i.assetTypeFieldsSlice=qs,i.assetTypeIdentifierReducer=wl,i.assetTypeIdentifierSlice=ks,i.assetTypeIdentifierValueReducer=Nl,i.assetTypeIdentifierValueSlice=Gs,i.assetTypeReducer=io,i.assetTypeSlice=Hs,i.authReducer=co,i.authSlice=Ot,i.baseReducer=$P,i.baseReducers=Fn,i.blobToBase64=YI,i.categoryReducer=Io,i.categorySlice=Ks,i.clearTokens=GO,i.constructUploadedFilePayloads=KI,i.createModelAdapter=R,i.createOfflineAction=oS,i.createPayload=z,i.createSelectionAdapter=qI,i.deleteAsset=Ir,i.deleteAssetAttachment=da,i.deleteAssetAttachments=Zt,i.deleteAssetProcedure=zc,i.deleteAssetProcedureStep=ur,i.deleteAssetProcedureStepFieldValues=Zd,i.deleteAssetProcedureStepFieldValuesAttachment=jd,i.deleteAssetProcedureStepFieldValuesAttachments=Ss,i.deleteAssetProcedureStepFieldValuesMany=Jd,i.deleteAssetProcedureStepFields=Fd,i.deleteAssetProcedureStepFieldsAttachment=ud,i.deleteAssetProcedureStepFieldsAttachments=ld,i.deleteAssetProcedureStepFieldsMany=gd,i.deleteAssetProcedureSteps=lr,i.deleteAssetProcedureType=Kc,i.deleteAssetProcedureTypeAttachment=Oa,i.deleteAssetProcedureTypeAttachments=Pa,i.deleteAssetProcedureTypeFieldValues=Pc,i.deleteAssetProcedureTypeFieldValuesAttachment=rc,i.deleteAssetProcedureTypeFieldValuesAttachments=ns,i.deleteAssetProcedureTypeFieldValuesMany=Fc,i.deleteAssetProcedureTypeFields=Za,i.deleteAssetProcedureTypeFieldsAttachment=ja,i.deleteAssetProcedureTypeFieldsAttachments=qa,i.deleteAssetProcedureTypeFieldsMany=Ja,i.deleteAssetProcedureTypes=Yc,i.deleteAssetProcedures=us,i.deleteAssetStage=Xr,i.deleteAssetStageCompletion=qr,i.deleteAssetStageCompletions=Cr,i.deleteAssetStages=Qr,i.deleteAssetType=Ql,i.deleteAssetTypeAttachment=uu,i.deleteAssetTypeAttachments=Vs,i.deleteAssetTypeFieldValues=ll,i.deleteAssetTypeFieldValuesAttachment=Ju,i.deleteAssetTypeFieldValuesAttachments=$s,i.deleteAssetTypeFieldValuesMany=ol,i.deleteAssetTypeFields=Cu,i.deleteAssetTypeFieldsAttachment=Fu,i.deleteAssetTypeFieldsAttachments=gu,i.deleteAssetTypeFieldsMany=Du,i.deleteAssetTypeIdentifier=gl,i.deleteAssetTypeIdentifierValue=Dl,i.deleteAssetTypeIdentifierValues=$l,i.deleteAssetTypeIdentifiers=bl,i.deleteAssetTypes=xl,i.deleteAssets=bs,i.deleteCategories=fo,i.deleteCategory=Ao,i.deleteConversation=lO,i.deleteConversations=oO,i.deleteDocument=No,i.deleteDocumentAttachment=wo,i.deleteDocumentAttachments=vo,i.deleteDocuments=Go,i.deleteForm=cm,i.deleteFormIdentifier=rh,i.deleteFormIdentifierValue=Ph,i.deleteFormIdentifierValues=Fh,i.deleteFormIdentifiers=uh,i.deleteFormRevision=ri,i.deleteFormRevisionAttachment=qh,i.deleteFormRevisionAttachments=Ch,i.deleteFormRevisions=ui,i.deleteFormSubmission=Em,i.deleteFormSubmissionAttachment=Tm,i.deleteFormSubmissionAttachments=pi,i.deleteFormSubmissions=Oi,i.deleteForms=dm,i.deleteGeoImage=Hm,i.deleteGeoImages=Wm,i.deleteIssue=ap,i.deleteIssueAssociation=ny,i.deleteIssueAssociations=Mt,i.deleteIssueAttachment=Ty,i.deleteIssueAttachments=Ri,i.deleteIssueComment=Ky,i.deleteIssueCommentAttachment=zy,i.deleteIssueCommentAttachments=By,i.deleteIssueComments=Yy,i.deleteIssueType=uf,i.deleteIssueTypeAttachment=Tp,i.deleteIssueTypeAttachments=Ip,i.deleteIssueTypeFieldValues=Kp,i.deleteIssueTypeFieldValuesAttachment=IA,i.deleteIssueTypeFieldValuesAttachments=Hi,i.deleteIssueTypeFieldValuesMany=Yp,i.deleteIssueTypeFields=dA,i.deleteIssueTypeFieldsAttachment=zp,i.deleteIssueTypeFieldsAttachments=Bp,i.deleteIssueTypeFieldsMany=rA,i.deleteIssueTypeIdentifier=BA,i.deleteIssueTypeIdentifierValue=YA,i.deleteIssueTypeIdentifierValues=ZA,i.deleteIssueTypeIdentifiers=jA,i.deleteIssueTypes=lf,i.deleteIssueUpdate=tn,i.deleteIssueUpdates=sn,i.deleteIssues=qi,i.deleteOrganization=nS,i.deleteOrganizationAccess=Gf,i.deleteOrganizationAccesses=Hf,i.deleteOrganizations=aS,i.deleteProject=AT,i.deleteProjectAccess=bS,i.deleteProjectAccesses=_S,i.deleteProjectAttachment=DS,i.deleteProjectAttachments=$S,i.deleteProjectFile=QS,i.deleteProjectFiles=xS,i.deleteProjects=fT,i.deleteTeam=HT,i.deleteTeamMembership=ET,i.deleteTeamMemberships=VT,i.deleteTeams=WT,i.deleteUser=rn,i.deleteUsers=Vf,i.dequeue=uI,i.discard=oI,i.documentAttachmentReducer=Bo,i.documentAttachmentSlice=Js,i.documentSlice=Qs,i.documentsReducer=Ho,i.downloadFile=ZI,i.downloadInMemoryFile=WI,i.emailRegex=iO,i.enqueue=rI,i.enqueueRequest=mS,i.extractResponseFromError=mI,i.fallbackToEmptyArray=T,i.fallbackToEmptyObject=ht,i.fileReducer=xo,i.fileSlice=ei,i.fileToBlob=Un,i.formIdentifierReducer=mh,i.formIdentifierSlice=ti,i.formIdentifierValueReducer=Mh,i.formIdentifierValueSlice=ii,i.formReducer=rm,i.formRevisionAttachmentReducer=Lh,i.formRevisionAttachmentSlice=ni,i.formRevisionReducer=Xh,i.formRevisionsSlice=ai,i.formSlice=oi,i.formSubmissionAttachmentReducer=Fm,i.formSubmissionAttachmentSlice=mi,i.formSubmissionReducer=qm,i.formSubmissionSlice=Ti,i.geoImageReducer=Jm,i.geoImageSlice=Fi,i.getAssetProcedureStepSubTree=Hn,i.getAssetProcedureStepTrees=nO,i.getClientSDK=SI,i.getClientStore=it,i.getDocumentSubTree=Kn,i.getDocumentTrees=aO,i.getFileIdentifier=HI,i.getFileS3Key=Gt,i.getLocalDateString=Dn,i.getLocalRelativeDateString=NI,i.getOutboxCoordinator=Xe,i.getRenamedFile=$n,i.getRequestDescription=O,i.hashFile=et,i.initSDK=hg,i.initializeAssetAttachments=ta,i.initializeAssetProcedureStepFieldValues=kd,i.initializeAssetProcedureStepFieldValuesAttachments=wd,i.initializeAssetProcedureStepFields=Ad,i.initializeAssetProcedureStepFieldsAttachments=sd,i.initializeAssetProcedureSteps=sr,i.initializeAssetProcedureTypeAttachments=ya,i.initializeAssetProcedureTypeFieldValues=pc,i.initializeAssetProcedureTypeFieldValuesAttachments=sc,i.initializeAssetProcedureTypeFields=ka,i.initializeAssetProcedureTypeFieldsAttachments=Ra,i.initializeAssetProcedureTypes=kc,i.initializeAssetProcedures=wc,i.initializeAssetStageCompletions=wr,i.initializeAssetStages=Gr,i.initializeAssetTypeAttachments=iu,i.initializeAssetTypeFieldValues=il,i.initializeAssetTypeFieldValuesAttachments=Gu,i.initializeAssetTypeFields=vu,i.initializeAssetTypeFieldsAttachments=Au,i.initializeAssetTypeIdentifierValues=El,i.initializeAssetTypeIdentifiers=fl,i.initializeAssetTypes=Hl,i.initializeAssets=Ar,i.initializeCategories=uo,i.initializeConversations=Zn,i.initializeDocumentAttachments=Po,i.initializeDocuments=qo,i.initializeFormIdentifierValues=ph,i.initializeFormIdentifiers=th,i.initializeFormRevisionAttachments=wh,i.initializeFormRevisions=Nh,i.initializeFormSubmissionAttachments=mm,i.initializeFormSubmissions=bm,i.initializeForms=xh,i.initializeGeoImages=Dm,i.initializeIssueAssociations=Qm,i.initializeIssueAttachments=my,i.initializeIssueCommentAttachments=_y,i.initializeIssueComments=Uy,i.initializeIssueTypeAttachments=hp,i.initializeIssueTypeFieldValues=Up,i.initializeIssueTypeFieldValuesAttachments=yA,i.initializeIssueTypeFields=eA,i.initializeIssueTypeFieldsAttachments=_p,i.initializeIssueTypeIdentifierValues=LA,i.initializeIssueTypeIdentifiers=MA,i.initializeIssueTypes=tf,i.initializeIssueUpdates=Af,i.initializeIssues=xy,i.initializeOrganizationAccesses=Cf,i.initializeOrganizations=Xf,i.initializeProjectAccesses=SS,i.initializeProjectAttachments=ES,i.initializeProjectFiles=HS,i.initializeProjects=uT,i.initializeTeamMemberships=gT,i.initializeTeams=DT,i.initializeUsers=_f,i.isToday=kI,i.issueAssociationReducer=oy,i.issueAssociationSlice=bi,i.issueAttachmentReducer=gy,i.issueAttachmentSlice=_i,i.issueCommentAttachmentReducer=Dy,i.issueCommentAttachmentSlice=vi,i.issueCommentReducer=Xy,i.issueCommentSlice=Vi,i.issueReducer=lp,i.issueSlice=Bi,i.issueTypeAttachmentReducer=gp,i.issueTypeAttachmentSlice=Ci,i.issueTypeFieldValuesAttachmentReducer=bA,i.issueTypeFieldValuesAttachmentSlice=Ni,i.issueTypeFieldValuesReducer=Qp,i.issueTypeFieldValuesSlice=Li,i.issueTypeFieldsAttachmentReducer=Dp,i.issueTypeFieldsAttachmentSlice=$i,i.issueTypeFieldsReducer=hA,i.issueTypeFieldsSlice=ki,i.issueTypeIdentifierReducer=$A,i.issueTypeIdentifierSlice=Ki,i.issueTypeIdentifierValueReducer=xA,i.issueTypeIdentifierValueSlice=Zi,i.issueTypeReducer=yf,i.issueTypeSlice=Ji,i.issueUpdateReducer=gf,i.issueUpdateSlice=Qi,i.logOnlyOnce=JI,i.markAsDeleted=yS,i.markForDeletion=FP,i.memoize=kt,i.organizationAccessReducer=Wf,i.organizationAccessSlice=ln,i.organizationReducer=lS,i.organizationSlice=on,i.outboxReducer=AS,i.outboxSlice=hn,i.overmapEnhancer=YP,i.overmapReducer=UP,i.overmapReducers=xT,i.performRequest=Rn,i.performRequestFromAction=lI,i.projectAccessReducer=MS,i.projectAccessSlice=mn,i.projectAttachmentReducer=NS,i.projectAttachmentSlice=pn,i.projectFileReducer=dT,i.projectFileSlice=fn,i.projectReducer=ST,i.projectSlice=Sn,i.rehydratedReducer=PT,i.rehydratedSlice=Tn,i.restructureSelectorWithArgs=S,i.runMiddleware=PI,i.saveActiveProjectFileBounds=sT,i.selectAccessToken=HO,i.selectAccessesByUserOfProject=bP,i.selectAccessibleProjects=vP,i.selectActiveOrganizationAccess=TP,i.selectActiveProjectFileId=RP,i.selectAllDocumentAttachments=Xs,i.selectAssetAttachmentById=ua,i.selectAssetAttachmentMapping=ra,i.selectAssetAttachments=Jt,i.selectAssetAttachmentsByIds=la,i.selectAssetById=br,i.selectAssetProcedureById=$c,i.selectAssetProcedureStepById=hr,i.selectAssetProcedureStepFieldValues=at,i.selectAssetProcedureStepFieldValuesAttachmentById=Cd,i.selectAssetProcedureStepFieldValuesAttachments=Ts,i.selectAssetProcedureStepFieldValuesAttachmentsByIds=Dd,i.selectAssetProcedureStepFieldValuesAttachmentsMapping=qd,i.selectAssetProcedureStepFieldValuesById=Qd,i.selectAssetProcedureStepFieldValuesByIds=xd,i.selectAssetProcedureStepFieldValuesMapping=Xd,i.selectAssetProcedureStepFieldValuesOfAsset=_O,i.selectAssetProcedureStepFieldValuesOfAssetProcedure=MO,i.selectAssetProcedureStepFieldValuesOfAssetProcedureStep=RO,i.selectAssetProcedureStepFields=At,i.selectAssetProcedureStepFieldsAttachmentById=hd,i.selectAssetProcedureStepFieldsAttachments=ms,i.selectAssetProcedureStepFieldsAttachmentsByIds=md,i.selectAssetProcedureStepFieldsAttachmentsMapping=od,i.selectAssetProcedureStepFieldsById=bd,i.selectAssetProcedureStepFieldsByIds=_d,i.selectAssetProcedureStepFieldsMapping=ps,i.selectAssetProcedureStepFieldsOfAssetProcedureStep=FO,i.selectAssetProcedureStepMapping=ft,i.selectAssetProcedureSteps=Ps,i.selectAssetProcedureStepsByIds=mr,i.selectAssetProcedureStepsMappingOfAssetProcedureType=wO,i.selectAssetProcedureStepsOfAssetProcedureType=vO,i.selectAssetProcedureTypeAttachmentById=ba,i.selectAssetProcedureTypeAttachmentMapping=ga,i.selectAssetProcedureTypeAttachments=Qt,i.selectAssetProcedureTypeAttachmentsByIds=_a,i.selectAssetProcedureTypeById=xc,i.selectAssetProcedureTypeFieldValues=yt,i.selectAssetProcedureTypeFieldValuesAttachmentById=oc,i.selectAssetProcedureTypeFieldValuesAttachments=as,i.selectAssetProcedureTypeFieldValuesAttachmentsByIds=hc,i.selectAssetProcedureTypeFieldValuesAttachmentsMapping=lc,i.selectAssetProcedureTypeFieldValuesById=_c,i.selectAssetProcedureTypeFieldValuesByIds=Mc,i.selectAssetProcedureTypeFieldValuesMapping=bc,i.selectAssetProcedureTypeFieldValuesOfAsset=SO,i.selectAssetProcedureTypeFields=mt,i.selectAssetProcedureTypeFieldsAttachmentById=$a,i.selectAssetProcedureTypeFieldsAttachments=es,i.selectAssetProcedureTypeFieldsAttachmentsByIds=Ua,i.selectAssetProcedureTypeFieldsAttachmentsMapping=Da,i.selectAssetProcedureTypeFieldsById=xa,i.selectAssetProcedureTypeFieldsByIds=ec,i.selectAssetProcedureTypeFieldsMapping=Qa,i.selectAssetProcedureTypeFieldsOfAssetProcedureType=AO,i.selectAssetProcedureTypes=os,i.selectAssetProcedureTypesByIds=ed,i.selectAssetProcedureTypesMapping=Qc,i.selectAssetProcedureTypesOfOrganization=OO,i.selectAssetProcedures=pt,i.selectAssetProceduresByIds=Uc,i.selectAssetProceduresMapping=Cc,i.selectAssetProceduresOfAssetProcedureType=Dc,i.selectAssetProceduresOfAssetType=IO,i.selectAssetStageById=eu,i.selectAssetStageCompletionById=Lr,i.selectAssetStageCompletionMapping=$r,i.selectAssetStageCompletions=Ur,i.selectAssetStageCompletionsByIds=kr,i.selectAssetStages=ws,i.selectAssetStagesByIds=tu,i.selectAssetStagesMappingOfAssetProcedureType=VO,i.selectAssetStagesOfAssetProcedureType=zO,i.selectAssetTypeAttachmentById=ou,i.selectAssetTypeAttachmentMapping=lu,i.selectAssetTypeAttachments=zs,i.selectAssetTypeAttachmentsByIds=hu,i.selectAssetTypeById=to,i.selectAssetTypeFieldValues=Tt,i.selectAssetTypeFieldValuesAttachmentById=Qu,i.selectAssetTypeFieldValuesAttachments=Us,i.selectAssetTypeFieldValuesAttachmentsByIds=xu,i.selectAssetTypeFieldValuesAttachmentsMapping=Xu,i.selectAssetTypeFieldValuesById=ml,i.selectAssetTypeFieldValuesByIds=yl,i.selectAssetTypeFieldValuesMapping=hl,i.selectAssetTypeFieldValuesOfAsset=CO,i.selectAssetTypeFields=ct,i.selectAssetTypeFieldsAttachmentById=_u,i.selectAssetTypeFieldsAttachments=js,i.selectAssetTypeFieldsAttachmentsByIds=Mu,i.selectAssetTypeFieldsAttachmentsMapping=bu,i.selectAssetTypeFieldsById=Uu,i.selectAssetTypeFieldsByIds=Lu,i.selectAssetTypeFieldsMapping=$u,i.selectAssetTypeFieldsOfAssetType=jO,i.selectAssetTypeIdentifierById=Ml,i.selectAssetTypeIdentifierMapping=_l,i.selectAssetTypeIdentifierValueById=Ll,i.selectAssetTypeIdentifierValueMapping=Ul,i.selectAssetTypeIdentifierValues=It,i.selectAssetTypeIdentifierValuesByIds=kl,i.selectAssetTypeIdentifierValuesOfAsset=UO,i.selectAssetTypeIdentifierValuesOfIdentifier=LO,i.selectAssetTypeIdentifiers=Ns,i.selectAssetTypeIdentifiersByIds=Rl,i.selectAssetTypeIdentifiersOfAssetType=$O,i.selectAssetTypeValuesOfAssetType=DO,i.selectAssetTypes=Ws,i.selectAssetTypesByIds=so,i.selectAssetTypesMapping=eo,i.selectAssetTypesOfOrganization=kO,i.selectAssets=St,i.selectAssetsByIds=_r,i.selectAssetsMapping=Fr,i.selectAssetsOfAssetType=gr,i.selectAssetsOfProject=EO,i.selectAttachmentsOfAsset=oa,i.selectAttachmentsOfAssetProcedureStepFieldValues=$d,i.selectAttachmentsOfAssetProcedureStepFields=PO,i.selectAttachmentsOfAssetProcedureType=yO,i.selectAttachmentsOfAssetProcedureTypeFieldValues=mc,i.selectAttachmentsOfAssetProcedureTypeFields=pO,i.selectAttachmentsOfAssetType=mu,i.selectAttachmentsOfAssetTypeFieldValues=el,i.selectAttachmentsOfAssetTypeFields=BO,i.selectAttachmentsOfDocument=YO,i.selectAttachmentsOfFormRevision=tP,i.selectAttachmentsOfFormSubmission=Pm,i.selectAttachmentsOfIssue=Oy,i.selectAttachmentsOfIssueComment=aP,i.selectAttachmentsOfIssueType=rP,i.selectAttachmentsOfIssueTypeFieldValues=gA,i.selectAttachmentsOfIssueTypeFields=uP,i.selectAttachmentsOfProject=MP,i.selectCategories=Ys,i.selectCategoriesByIds=To,i.selectCategoriesOfProject=KO,i.selectCategoryById=Zs,i.selectCategoryMapping=So,i.selectCommentsOfIssue=cP,i.selectConversation=mO,i.selectConversationMapping=Wt,i.selectConversations=hO,i.selectCurrentUser=Bf,i.selectDeletedRequests=OP,i.selectDescendantsOfAssetProcedureStep=yr,i.selectDescendantsOfDocument=Yo,i.selectDocumentAttachmentById=Vo,i.selectDocumentAttachmentMapping=Eo,i.selectDocumentAttachmentsByIds=zo,i.selectDocumentById=Wo,i.selectDocuments=Pt,i.selectDocumentsByIds=Ko,i.selectDocumentsMapping=xs,i.selectFieldValuesOfAssetProcedure=TO,i.selectFormById=lm,i.selectFormIdentifierById=oh,i.selectFormIdentifierMapping=lh,i.selectFormIdentifierValueById=bh,i.selectFormIdentifierValueMapping=gh,i.selectFormIdentifierValues=Ft,i.selectFormIdentifierValuesByIds=_h,i.selectFormIdentifierValuesOfFormSubmission=xO,i.selectFormIdentifierValuesOfIdentifier=eP,i.selectFormIdentifiers=si,i.selectFormIdentifiersByIds=hh,i.selectFormIdentifiersOfForm=QO,i.selectFormMapping=um,i.selectFormRevisionAttachmentById=$h,i.selectFormRevisionAttachments=Dh,i.selectFormRevisionAttachmentsByIds=Uh,i.selectFormRevisionAttachmentsMapping=gt,i.selectFormRevisionById=Yh,i.selectFormRevisionMapping=li,i.selectFormRevisions=bt,i.selectFormRevisionsByIds=Zh,i.selectFormRevisionsOfForm=Jh,i.selectFormSubmissionAttachemntsByIds=Si,i.selectFormSubmissionAttachmentById=Im,i.selectFormSubmissionAttachments=fi,i.selectFormSubmissionAttachmentsByIds=Om,i.selectFormSubmissionAttachmentsMapping=Ai,i.selectFormSubmissionById=zm,i.selectFormSubmissions=Vm,i.selectFormSubmissionsByIds=Bm,i.selectFormSubmissionsMapping=Pi,i.selectFormSubmissionsOfForm=jm,i.selectForms=hi,i.selectFormsByIds=om,i.selectFormsOfOrganization=iP,i.selectGeoImageById=Ym,i.selectGeoImageMapping=Km,i.selectGeoImages=gi,i.selectGeoImagesByIds=Zm,i.selectGeoImagesOfProject=nP,i.selectIsImportingProjectFile=wP,i.selectIsLoggedIn=WO,i.selectIssueAssociationById=cy,i.selectIssueAssociationMapping=dt,i.selectIssueAssociations=ay,i.selectIssueAssociationsByIds=dy,i.selectIssueAssociationsOfAsset=ly,i.selectIssueAssociationsOfIssue=uy,i.selectIssueAssociationsToIssue=ry,i.selectIssueAttachmentById=Py,i.selectIssueAttachmentMapping=Iy,i.selectIssueAttachments=wi,i.selectIssueAttachmentsByIds=Fy,i.selectIssueById=dp,i.selectIssueCommentAttachmentById=qy,i.selectIssueCommentAttachmentMapping=jy,i.selectIssueCommentAttachments=Ei,i.selectIssueCommentAttachmentsByIds=Cy,i.selectIssueCommentById=Zy,i.selectIssueCommentMapping=zi,i.selectIssueCommentsByIds=Jy,i.selectIssueMapping=cp,i.selectIssueTypeAttachmentById=Pp,i.selectIssueTypeAttachmentMapping=Op,i.selectIssueTypeAttachments=Di,i.selectIssueTypeAttachmentsByIds=Fp,i.selectIssueTypeById=hf,i.selectIssueTypeFieldValues=wt,i.selectIssueTypeFieldValuesAttachmentById=PA,i.selectIssueTypeFieldValuesAttachments=Wi,i.selectIssueTypeFieldValuesAttachmentsByIds=FA,i.selectIssueTypeFieldValuesAttachmentsMapping=OA,i.selectIssueTypeFieldValuesById=Jp,i.selectIssueTypeFieldValuesByIds=Xp,i.selectIssueTypeFieldValuesMapping=Zp,i.selectIssueTypeFieldValuesOfIssue=lP,i.selectIssueTypeFields=rt,i.selectIssueTypeFieldsAttachmentById=qp,i.selectIssueTypeFieldsAttachments=Ui,i.selectIssueTypeFieldsAttachmentsByIds=Cp,i.selectIssueTypeFieldsAttachmentsMapping=jp,i.selectIssueTypeFieldsById=lA,i.selectIssueTypeFieldsByIds=oA,i.selectIssueTypeFieldsMapping=uA,i.selectIssueTypeFieldsOfIssueType=oP,i.selectIssueTypeIdentifierById=CA,i.selectIssueTypeIdentifierMapping=qA,i.selectIssueTypeIdentifierValueById=XA,i.selectIssueTypeIdentifierValueMapping=JA,i.selectIssueTypeIdentifierValues=vt,i.selectIssueTypeIdentifierValuesByIds=QA,i.selectIssueTypeIdentifierValuesOfIdentifier=AP,i.selectIssueTypeIdentifierValuesOfIssue=pP,i.selectIssueTypeIdentifiers=Yi,i.selectIssueTypeIdentifiersByIds=DA,i.selectIssueTypeIdentifiersOfIssueType=yP,i.selectIssueTypeMapping=of,i.selectIssueTypeValuesOfIssueType=mP,i.selectIssueTypes=Xi,i.selectIssueTypesByIds=mf,i.selectIssueTypesOfOrganization=fP,i.selectIssueUpdateById=Of,i.selectIssueUpdateMapping=nn,i.selectIssueUpdates=an,i.selectIssueUpdatesByIds=Pf,i.selectIssueUpdatesOfIssue=Ff,i.selectIssues=Rt,i.selectIssuesByIds=rp,i.selectIssuesOfIssueType=up,i.selectIssuesOfProject=dP,i.selectLatestAssetProcedureStepFieldsOfAssetProcedureStep=gO,i.selectLatestAssetProcedureTypeFieldsOfAssetProcedureType=fO,i.selectLatestAssetTypeFieldsOfAssetType=qO,i.selectLatestFieldsByAssetProcedureStep=bO,i.selectLatestFormRevisionOfForm=sP,i.selectLatestIssueTypeFieldsOfIssueType=hP,i.selectLatestRetryTime=PP,i.selectMembershipsByUserOfTeam=jP,i.selectOrganizationAccessById=Kf,i.selectOrganizationAccessMapping=zt,i.selectOrganizationAccessUserMapping=Zf,i.selectOrganizationAccessesByIds=Yf,i.selectOrganizationById=rS,i.selectOrganizationDocuments=JO,i.selectOrganizations=dS,i.selectOrganizationsByIds=uS,i.selectOrganizationsMapping=cS,i.selectProjectAccessById=RS,i.selectProjectAccessMapping=yn,i.selectProjectAccesses=ut,i.selectProjectAccessesByIds=wS,i.selectProjectAccessesOfProject=gP,i.selectProjectAttachmentById=LS,i.selectProjectAttachmentMapping=US,i.selectProjectAttachments=An,i.selectProjectAttachmentsByIds=kS,i.selectProjectById=IT,i.selectProjectDocuments=ZO,i.selectProjectFileById=aT,i.selectProjectFileMapping=iT,i.selectProjectFiles=nT,i.selectProjectFilesByIds=cT,i.selectProjectMapping=TT,i.selectProjects=Bt,i.selectProjectsByIds=OT,i.selectProjectsOfOrganization=EP,i.selectRehydrated=BP,i.selectStageMapping=Rs,i.selectTeamById=YT,i.selectTeamMembershipById=jT,i.selectTeamMemberships=jt,i.selectTeamMembershipsByIds=qT,i.selectTeamMembershipsMapping=BT,i.selectTeams=Pn,i.selectTeamsByIds=ZT,i.selectTeamsMapping=KT,i.selectTeamsOfOrganization=CP,i.selectUploadUrl=Qo,i.selectUserById=Vt,i.selectUsers=Et,i.selectUsersByIds=jf,i.selectUsersMapping=un,i.selectUsersOfOrganization=IP,i.selectUsersOfProject=_P,i.selectUsersOfTeam=qP,i.setActiveProjectFileId=tT,i.setAsset=Or,i.setAssetAttachment=ia,i.setAssetAttachments=na,i.setAssetProcedure=Bc,i.setAssetProcedureStep=ir,i.setAssetProcedureStepFieldValues=Hd,i.setAssetProcedureStepFieldValuesAttachment=Ed,i.setAssetProcedureStepFieldValuesAttachments=Vd,i.setAssetProcedureStepFieldValuesMany=Wd,i.setAssetProcedureStepFields=Td,i.setAssetProcedureStepFieldsAttachment=ad,i.setAssetProcedureStepFieldsAttachments=cd,i.setAssetProcedureStepFieldsMany=Id,i.setAssetProcedureSteps=nr,i.setAssetProcedureType=Zc,i.setAssetProcedureTypeAttachment=fa,i.setAssetProcedureTypeAttachments=Sa,i.setAssetProcedureTypeFieldValues=Sc,i.setAssetProcedureTypeFieldValuesAttachment=nc,i.setAssetProcedureTypeFieldValuesAttachments=ac,i.setAssetProcedureTypeFieldValuesMany=Tc,i.setAssetProcedureTypeFields=Ha,i.setAssetProcedureTypeFieldsAttachment=Ea,i.setAssetProcedureTypeFieldsAttachments=Va,i.setAssetProcedureTypeFieldsMany=Wa,i.setAssetProcedureTypes=Jc,i.setAssetProcedures=jc,i.setAssetStage=Hr,i.setAssetStageCompletion=Vr,i.setAssetStageCompletions=zr,i.setAssetStages=Wr,i.setAssetType=Wl,i.setAssetTypeAttachment=au,i.setAssetTypeAttachments=cu,i.setAssetTypeFieldValues=cl,i.setAssetTypeFieldValuesAttachment=Wu,i.setAssetTypeFieldValuesAttachments=Ku,i.setAssetTypeFieldValuesMany=dl,i.setAssetTypeFields=zu,i.setAssetTypeFieldsAttachment=Tu,i.setAssetTypeFieldsAttachments=Iu,i.setAssetTypeFieldsMany=Bu,i.setAssetTypeIdentifier=Il,i.setAssetTypeIdentifierValue=Bl,i.setAssetTypeIdentifierValues=jl,i.setAssetTypeIdentifiers=Ol,i.setAssetTypes=Kl,i.setAssets=Pr,i.setCategories=mo,i.setCategory=ho,i.setClientSDK=fI,i.setClientStore=pI,i.setConversation=Xn,i.setConversations=rO,i.setCurrentUser=SP,i.setDocument=$o,i.setDocumentAttachment=bo,i.setDocumentAttachments=_o,i.setDocuments=Uo,i.setForm=sm,i.setFormIdentifier=nh,i.setFormIdentifierValue=Sh,i.setFormIdentifierValues=Th,i.setFormIdentifiers=ah,i.setFormRevision=Gh,i.setFormRevisionAttachment=Vh,i.setFormRevisionAttachments=zh,i.setFormRevisions=Hh,i.setFormSubmission=_m,i.setFormSubmissionAttachment=pm,i.setFormSubmissionAttachments=Am,i.setFormSubmissions=Mm,i.setForms=im,i.setGeoImage=$m,i.setGeoImages=Um,i.setIsImportingProjectFile=eT,i.setIssue=tp,i.setIssueAssociation=ey,i.setIssueAssociations=xm,i.setIssueAttachment=py,i.setIssueAttachments=Ay,i.setIssueComment=Ny,i.setIssueCommentAttachment=wy,i.setIssueCommentAttachments=vy,i.setIssueComments=Gy,i.setIssueType=af,i.setIssueTypeAttachment=pp,i.setIssueTypeAttachments=Ap,i.setIssueTypeFieldValues=Np,i.setIssueTypeFieldValuesAttachment=AA,i.setIssueTypeFieldValuesAttachments=fA,i.setIssueTypeFieldValuesMany=Gp,i.setIssueTypeFields=iA,i.setIssueTypeFieldsAttachment=wp,i.setIssueTypeFieldsAttachments=vp,i.setIssueTypeFieldsMany=nA,i.setIssueTypeIdentifier=vA,i.setIssueTypeIdentifierValue=GA,i.setIssueTypeIdentifierValues=HA,i.setIssueTypeIdentifiers=EA,i.setIssueTypes=cf,i.setIssueUpdate=ff,i.setIssueUpdates=Sf,i.setIssues=sp,i.setLoggedIn=ao,i.setOrganization=xf,i.setOrganizationAccess=Uf,i.setOrganizationAccesses=Lf,i.setOrganizations=Qf,i.setProject=oT,i.setProjectAccess=OS,i.setProjectAccesses=PS,i.setProjectAttachment=BS,i.setProjectAttachments=jS,i.setProjectFile=WS,i.setProjectFiles=KS,i.setProjects=lT,i.setRehydrated=zP,i.setTeam=LT,i.setTeamMembership=MT,i.setTeamMemberships=RT,i.setTeams=kT,i.setTokens=NO,i.setUploadUrl=Xo,i.setUser=Rf,i.setUsers=Mf,i.shallowEqual=DI,i.slugify=tO,i.spacesToDashesLower=eO,i.teamMembershipReducer=zT,i.teamMembershipSlice=In,i.teamReducer=JT,i.teamSlice=On,i.toFileNameSafeString=xI,i.toUuidArray=D,i.toUuidIdRecord=XI,i.truncate=sO,i.updateAsset=Sr,i.updateAssetAttachment=aa,i.updateAssetAttachments=ca,i.updateAssetProcedure=Ec,i.updateAssetProcedureStep=dr,i.updateAssetProcedureStepFieldValues=Kd,i.updateAssetProcedureStepFieldValuesAttachment=zd,i.updateAssetProcedureStepFieldValuesAttachments=Bd,i.updateAssetProcedureStepFieldValuesMany=Yd,i.updateAssetProcedureStepFields=Od,i.updateAssetProcedureStepFieldsAttachment=dd,i.updateAssetProcedureStepFieldsAttachments=rd,i.updateAssetProcedureStepFieldsMany=Pd,i.updateAssetProcedureSteps=rr,i.updateAssetProcedureType=Hc,i.updateAssetProcedureTypeAttachment=Ta,i.updateAssetProcedureTypeAttachments=Ia,i.updateAssetProcedureTypeFieldValues=Ic,i.updateAssetProcedureTypeFieldValuesAttachment=cc,i.updateAssetProcedureTypeFieldValuesAttachments=dc,i.updateAssetProcedureTypeFieldValuesMany=Oc,i.updateAssetProcedureTypeFields=Ka,i.updateAssetProcedureTypeFieldsAttachment=za,i.updateAssetProcedureTypeFieldsAttachments=Ba,i.updateAssetProcedureTypeFieldsMany=Ya,i.updateAssetProcedureTypes=Wc,i.updateAssetProcedures=Vc,i.updateAssetStage=Zr,i.updateAssetStageCompletion=Br,i.updateAssetStageCompletions=jr,i.updateAssetStages=Jr,i.updateAssetType=Jl,i.updateAssetTypeAttachment=du,i.updateAssetTypeAttachments=ru,i.updateAssetTypeFieldValues=rl,i.updateAssetTypeFieldValuesAttachment=Yu,i.updateAssetTypeFieldValuesAttachments=Zu,i.updateAssetTypeFieldValuesMany=ul,i.updateAssetTypeFields=ju,i.updateAssetTypeFieldsAttachment=Ou,i.updateAssetTypeFieldsAttachments=Pu,i.updateAssetTypeFieldsMany=qu,i.updateAssetTypeIdentifier=Pl,i.updateAssetTypeIdentifierValue=ql,i.updateAssetTypeIdentifierValues=Cl,i.updateAssetTypeIdentifiers=Fl,i.updateAssetTypes=Xl,i.updateAssets=Tr,i.updateCategories=po,i.updateCategory=yo,i.updateConversation=Qn,i.updateConversations=uO,i.updateDocument=Lo,i.updateDocumentAttachment=Mo,i.updateDocumentAttachments=Ro,i.updateDocuments=ko,i.updateForm=nm,i.updateFormIdentifier=ch,i.updateFormIdentifierValue=Ih,i.updateFormIdentifierValues=Oh,i.updateFormIdentifiers=dh,i.updateFormRevision=Wh,i.updateFormRevisionAttachment=Bh,i.updateFormRevisionAttachments=jh,i.updateFormRevisions=Kh,i.updateFormSubmission=wm,i.updateFormSubmissionAttachment=fm,i.updateFormSubmissionAttachments=Sm,i.updateFormSubmissions=vm,i.updateForms=am,i.updateGeoImage=Nm,i.updateGeoImages=Gm,i.updateIssue=ip,i.updateIssueAssociation=ty,i.updateIssueAssociations=sy,i.updateIssueAttachment=fy,i.updateIssueAttachments=Sy,i.updateIssueComment=Hy,i.updateIssueCommentAttachment=Ey,i.updateIssueCommentAttachments=Vy,i.updateIssueComments=Wy,i.updateIssueType=df,i.updateIssueTypeAttachment=fp,i.updateIssueTypeAttachments=Sp,i.updateIssueTypeFieldValues=Hp,i.updateIssueTypeFieldValuesAttachment=SA,i.updateIssueTypeFieldValuesAttachments=TA,i.updateIssueTypeFieldValuesMany=Wp,i.updateIssueTypeFields=aA,i.updateIssueTypeFieldsAttachment=Ep,i.updateIssueTypeFieldsAttachments=Vp,i.updateIssueTypeFieldsMany=cA,i.updateIssueTypeIdentifier=VA,i.updateIssueTypeIdentifierValue=WA,i.updateIssueTypeIdentifierValues=KA,i.updateIssueTypeIdentifiers=zA,i.updateIssueTypes=rf,i.updateIssueUpdate=Tf,i.updateIssueUpdates=If,i.updateIssues=np,i.updateOrganization=iS,i.updateOrganizationAccess=kf,i.updateOrganizationAccesses=Nf,i.updateOrganizations=sS,i.updateProject=pT,i.updateProjectAccess=FS,i.updateProjectAccesses=gS,i.updateProjectAttachment=qS,i.updateProjectAttachments=CS,i.updateProjectFile=JS,i.updateProjectFiles=XS,i.updateProjects=yT,i.updateTeam=NT,i.updateTeamMembership=wT,i.updateTeamMemberships=vT,i.updateTeams=GT,i.updateUser=Ef,i.updateUsers=vf,i.useSelectorBuilder=CI,i.userReducer=zf,i.userSlice=cn,i.uuidObj=M,i.uuidObjSortFn=QI,i.uuidSortFn=Nn,i.versioningReducer=QT,i.versioningSlice=XT,Object.defineProperty(i,Symbol.toStringTag,{value:"Module"})});