@overmap-ai/core 1.2.1 → 1.2.3-form-submission-comments.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 (49) hide show
  1. package/dist/overmap-core.js +8504 -8776
  2. package/dist/overmap-core.umd.cjs +10 -10
  3. package/dist/sdk/services/FormSubmissionCommentService.d.ts +28 -0
  4. package/dist/sdk/services/IssueUpdateService.d.ts +2 -0
  5. package/dist/sdk/services/index.d.ts +1 -0
  6. package/dist/store/reducers.d.ts +3 -0
  7. package/dist/store/slices/assetSlice.d.ts +1 -0
  8. package/dist/store/slices/assetTypeFieldValuesAttachmentSlice.d.ts +1 -0
  9. package/dist/store/slices/assetTypeFieldValuesSlice.d.ts +1 -0
  10. package/dist/store/slices/assetTypeFieldsAttachmentSlice.d.ts +1 -0
  11. package/dist/store/slices/assetTypeFieldsSlice.d.ts +1 -0
  12. package/dist/store/slices/assetTypeStatusSlice.d.ts +1 -0
  13. package/dist/store/slices/emailDomainsSlice.d.ts +1 -0
  14. package/dist/store/slices/formRevisionAttachmentSlice.d.ts +1 -0
  15. package/dist/store/slices/formRevisionSlice.d.ts +1 -0
  16. package/dist/store/slices/formSlice.d.ts +1 -0
  17. package/dist/store/slices/formSubmissionCommentSlice.d.ts +23 -0
  18. package/dist/store/slices/geoImageSlice.d.ts +1 -0
  19. package/dist/store/slices/index.d.ts +1 -0
  20. package/dist/store/slices/issueAssociationSlice.d.ts +1 -0
  21. package/dist/store/slices/issueTypeFieldValuesAttachmentSlice.d.ts +1 -0
  22. package/dist/store/slices/issueTypeFieldValuesSlice.d.ts +1 -0
  23. package/dist/store/slices/issueTypeFieldsAttachmentSlice.d.ts +1 -0
  24. package/dist/store/slices/issueTypeFieldsSlice.d.ts +1 -0
  25. package/dist/store/slices/issueTypePrioritySlice.d.ts +1 -0
  26. package/dist/store/slices/issueTypeStatusSlice.d.ts +1 -0
  27. package/dist/store/slices/issueUpdateSlice.d.ts +3 -0
  28. package/dist/store/slices/organizationSlice.d.ts +1 -0
  29. package/dist/store/slices/procedureFieldValuesSlice.d.ts +1 -0
  30. package/dist/store/slices/procedureStepAssigneeSlice.d.ts +1 -0
  31. package/dist/store/slices/procedureStepCommentSlice.d.ts +1 -0
  32. package/dist/store/slices/procedureStepDefaultAssigneeSlice.d.ts +1 -0
  33. package/dist/store/slices/procedureStepDefaultReviewerSlice.d.ts +1 -0
  34. package/dist/store/slices/procedureStepEventSlice.d.ts +1 -0
  35. package/dist/store/slices/procedureStepFieldValuesAttachmentSlice.d.ts +1 -0
  36. package/dist/store/slices/procedureStepFieldValuesReviewSlice.d.ts +1 -0
  37. package/dist/store/slices/procedureStepFieldValuesSlice.d.ts +1 -0
  38. package/dist/store/slices/procedureStepFieldsAttachmentSlice.d.ts +1 -0
  39. package/dist/store/slices/procedureStepFieldsSlice.d.ts +2 -0
  40. package/dist/store/slices/procedureStepReviewerSlice.d.ts +1 -0
  41. package/dist/store/slices/procedureStepSlice.d.ts +1 -0
  42. package/dist/store/slices/procedureTypeAttachmentSlice.d.ts +1 -0
  43. package/dist/store/slices/procedureTypeFieldValuesAttachmentSlice.d.ts +1 -0
  44. package/dist/store/slices/procedureTypeFieldsAttachmentSlice.d.ts +1 -0
  45. package/dist/store/slices/projectFileSlice.d.ts +1 -0
  46. package/dist/store/slices/projectSlice.d.ts +1 -0
  47. package/dist/store/slices/userSlice.d.ts +1 -0
  48. package/dist/typings/models/forms.d.ts +5 -0
  49. package/package.json +1 -1
@@ -1,14 +1,14 @@
1
- (function(i,k){typeof exports=="object"&&typeof module<"u"?k(exports,require("@redux-offline/redux-offline/lib/types"),require("@reduxjs/toolkit"),require("superagent"),require("uuid"),require("react"),require("fast-tree-builder"),require("ts-tree-lib"),require("@redux-offline/redux-offline"),require("@redux-offline/redux-offline/lib/defaults"),require("localforage"),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","fast-tree-builder","ts-tree-lib","@redux-offline/redux-offline","@redux-offline/redux-offline/lib/defaults","localforage","@overmap-ai/forms","idb","jwt-decode","dependency-graph","@tiptap/core"],k):(i=typeof globalThis<"u"?globalThis:i||self,k(i["overmap-core"]={},null,i.toolkit,i.request,i.uuid,i.react,i.buildTree,i.tsTreeLib,i.reduxOffline,i.offlineConfig,i.localforage,null,i.idb,i.jwtDecode,i.dependencyGraph))})(this,function(i,k,l,Ot,ot,$b,Ub,Pa,Lb,Fa,kb,xR,Nb,Gb,Hb){"use strict";var XR=Object.defineProperty;var QR=(i,k,l)=>k in i?XR(i,k,{enumerable:!0,configurable:!0,writable:!0,value:l}):i[k]=l;var h=(i,k,l)=>QR(i,typeof k!="symbol"?k+"":k,l);var qb;const ba=Object.freeze([]),_a=Object.freeze({}),ga=6e4,Ma=["created_at","updated_at","index","revision"];var Ra=(t=>(t[t.GUEST=0]="GUEST",t[t.BASIC=2]="BASIC",t[t.ADMIN=4]="ADMIN",t))(Ra||{}),o=(t=>(t.GET="GET",t.POST="POST",t.PATCH="PATCH",t.PUT="PUT",t.DELETE="DELETE",t))(o||{}),wa=(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))(wa||{}),$=(t=>(t.STATUS="status",t.PRIORITY="priority",t.DESCRIPTION="description",t.TITLE="title",t.ASSIGNED_TO="assigned_to",t.DUE_DATE="due_date",t))($||{}),va=(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))(va||{}),Ea=(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))(Ea||{}),Va=(t=>(t[t.ADD_ASSIGNEE=0]="ADD_ASSIGNEE",t[t.REMOVE_ASSIGNEE=2]="REMOVE_ASSIGNEE",t[t.ADD_REVIEWER=4]="ADD_REVIEWER",t[t.REMOVE_REVIEWER=6]="REMOVE_REVIEWER",t))(Va||{}),Ba=(t=>(t[t.APPROVED=0]="APPROVED",t[t.REJECTED=2]="REJECTED",t[t.CHANGES_REQUESTED=4]="CHANGES_REQUESTED",t))(Ba||{});function F(t){return{addOne:(m,f)=>{const T=t(f.payload);T in m.instances||(m.instances[T]=f.payload)},addMany:(m,f)=>{for(const T of f.payload){const _=t(T);_ in m.instances||(m.instances[_]=T)}},updateOne:(m,f)=>{const T=t(f.payload);T in m.instances&&(m.instances[T]=f.payload)},setMany:(m,f)=>{for(const T of f.payload){const _=t(T);m.instances[_]=T}},setOne:(m,f)=>{const T=t(f.payload);m.instances[T]=f.payload},updateMany:(m,f)=>{for(const T of f.payload){const _=t(T);_ in m.instances&&(m.instances[_]=T)}},deleteOne:(m,f)=>{delete m.instances[f.payload]},deleteMany:(m,f)=>{for(const T of f.payload)delete m.instances[T]},initialize:(m,f)=>{m.instances={};const T=new Set;for(const _ of f.payload){const I=t(_);T.add(I),m.instances[I]=_}T.size!==f.payload.length&&console.warn("duplicate ids detected when initializing model instances.")}}}function Wb(t){return{initializeSelection:(d,p)=>{d[t]=Array.from(new Set(p.payload))},selectOne:(d,p)=>{console.debug(d,d[t]),!new Set(d[t]).has(p.payload)&&d[t].push(p.payload)},selectMany:(d,p)=>{const m=new Set(d[t]);for(const f of p.payload)m.has(f)||m.add(f);d[t]=Array.from(m)},unselectOne:(d,p)=>{const m=new Set(d[t]);m.has(p.payload)&&(m.delete(p.payload),d[t]=Array.from(m))},unselectMany:(d,p)=>{const m=new Set(d[t]);for(const f of p.payload)m.has(f)&&m.delete(f);d[t]=Array.from(m)},toggleOne:(d,p)=>{const m=new Set(d[t]);m.has(p.payload)?m.delete(p.payload):m.add(p.payload),d[t]=Array.from(m)},toggleMany:(d,p)=>{const m=new Set(d[t]);for(const f of p.payload)m.has(f)?m.delete(f):m.add(f);d[t]=Array.from(m)}}}const O=l.createAction("RESET"),B=l.createAction("RESET_PROJECT_STATE"),b=l.createAction("RESET_ORGANIZATION_STATE");function Kb(t,s){return $b.useMemo(t,s)}qb=Symbol.toStringTag;class ms{constructor(){h(this,qb,"Promise");h(this,"_promise");h(this,"_resolve");h(this,"_reject");h(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 ps=!1;["true","1"].includes("".toLowerCase())&&(ps=!0);function Yb(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 r=0;r<a;r++){const c=e[r];if(!Object.prototype.hasOwnProperty.call(s,c)||t[c]!==s[c])return!1}return!0}function ys(t){const s={};return function(){const e=Array.prototype.slice.call(arguments);return e in s?(ps&&console.debug(`Memoization debug: Using memorized return value for ${t.toString()}(`,e,")"),s[e]):(ps&&console.debug(`Memoization debug: Cache miss! Memoizing ${t.toString()}(`,e,")"),s[e]=t.apply(this,e))}}function Zb(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 S=t=>t.length===0?ba:t,fs=t=>Object.keys(t).length===0?_a:t,za=ys(t=>{if(!t)return"";const s=new Date(t),e=s.getFullYear()===Ss.getFullYear(),n={day:"numeric",month:"short"};return e||(n.year="numeric"),s.toLocaleDateString([],n)}),Jb=new Intl.RelativeTimeFormat([],{style:"long",numeric:"auto"}),Xb=1e3*86400,Ss=new Date,Qb=t=>new Date(t).toDateString()===Ss.toDateString(),xb=ys((t,s,e)=>{const n=Math.round((new Date(t).getTime()-Ss.getTime())/Xb);return n<s||n>e?za(t):Jb.format(n,"days")});function e_(t){return new Uint8Array(t).reduce((e,n)=>e+n.toString(16).padStart(2,"0"),"")}function Lt(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(r=>{const c=e_(r);s(c)})},n.readAsArrayBuffer(t)})}const Da=async t=>{const s=await t.arrayBuffer();return new Blob([s],{type:t.type})},t_=(t,s)=>`${t}${s?`.${s}`:""}`;function s_(t,s){return new File([t],s,{type:t.type})}function ja(t){const s=t.name;return s.includes(".")?s.split(".").pop():""}const qa=async t=>(await fetch(t)).blob(),Ca=async(t,s)=>{const e=await qa(t);return new File([e],s,{type:e.type})};function $a(t){return typeof t=="string"&&t.startsWith("blob:")}function Ua(t){return typeof t=="string"&&URL.canParse(t)&&t.startsWith("https://")&&t.includes(".cloudfront.net/")}function La(t){return typeof t=="string"&&URL.canParse(t)&&t.startsWith("https://")&&t.includes(".s3.amazonaws.com/")}function ka(t){if(Ua(t)){const e=new URLSearchParams(t).get("Expires");if(!e)return null;const n=parseInt(e,10);return new Date(n*1e3)}if(La(t)){const s=new URLSearchParams(t),e=s.get("X-Amz-Date"),n=s.get("X-Amz-Expires");if(!e||!n)return null;const a=new Date(e.replace(/^(\d{4})(\d{2})(\d{2})T(\d{2})(\d{2})(\d{2})Z$/,"$1-$2-$3T$4:$5:$6Z")),r=parseInt(n);return new Date(a.getTime()+r*1e3)}return null}function Na(t,s=30){const e=ka(t);if(!e)return!1;const n=Date.now(),a=e.getTime(),r=s*1e3;return n+r>=a}function i_(t){return t.type.startsWith("image/")}const Ga={};function n_(t,s,e,...n){const a=Ga[t];let r=!1;a?a[s]||(a[s]=!0,r=!0):(Ga[t]={[s]:!0},r=!0),r&&console[e](...n)}function P(t){return{...t,uuid:ot.v4()}}function a_(t){const s={};for(const e of t)s[e.uuid]=e;return s}function w(t){return t.map(({uuid:s})=>s)}function Ha(t,s){return t.localeCompare(s)}function ht(t,s){return Ha(t.uuid,s.uuid)}function c_(t,s=void 0,e=255){let n=t.replace(/[^a-z0-9_\-.]/gi,"_").replace(/_{2,}/g,"_");if(!s){const r=t.split(".");r.length>1&&(s=r[r.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 r_(t){return t.toLowerCase().replace(" ","-")}function d_(t,s=!1){return t.normalize("NFKD").toLowerCase().replace(/[^\w\s-]/g,"").trim().replace(/[-\s]+/g,s?"_":"-")}function u_(t,s){if(t.length<=s)return t;const e=t.slice(0,s-1);return e.slice(0,e.lastIndexOf(" "))+"…"}const l_=/^.+@.+\..+$/,Wa=(t,s)=>t.type!==s.type?t.type-s.type:t.order-s.order,Ka=(t,s)=>t.type!==s.type?t.type-s.type:t.order-s.order,Ya=(t,s)=>t.type!==s.type?t.type-s.type:t.order-s.order,Za=t=>Ub(t,{id:s=>s.uuid,parentId:s=>s.parent_document,includeEmptyChildrenArray:!0,valueKey:!1}),o_=t=>{const{roots:s}=Za(t);return s.map(e=>new Pa.Tree(e))},Ja=(t,s)=>{const{nodes:e}=Za(s),n=e.get(t);if(!n)throw new Error(`Node with uuid ${t} does not exist in document tree.`);return new Pa.Tree(n)},Pt=(t,s)=>t.submitted_at===s.submitted_at?0:t.submitted_at<s.submitted_at?-1:1;class h_{constructor(s){h(this,"operations",[]);h(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.toSorted((n,a)=>n[s]<=a[s]?1:-1)),this}reverse(){return this.operations.push(s=>s.toReversed()),this}all(){return this.operations.push(s=>s),this}get(s,e){return l.createSelector([this.getData],n=>this.performOperations(n).find(a=>a[s]===e))}count(){return l.createSelector([this.getData],s=>this.performOperations(s).length)}first(){return l.createSelector([this.getData],s=>this.performOperations(s)[0])}last(){return l.createSelector([this.getData],s=>{const e=this.performOperations(s);return e[e.length-1]})}exists(){return l.createSelector([this.getData],s=>this.performOperations(s).length>0)}toSelector(){return l.createSelector([this.getData],s=>S(this.performOperations(s)))}}const y=t=>(...s)=>e=>t(e,...s),K=F(t=>t.uuid),Xa={instances:{}},As=l.createSlice({name:"agents",initialState:Xa,extraReducers:t=>t.addMatcher(l.isAnyOf(O,B,b),s=>Object.assign(s,Xa)),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:Qa,addConversation:xa,addConversations:m_,setConversation:ec,setConversations:p_,updateConversation:tc,updateConversations:y_,deleteConversation:f_,deleteConversations:S_}=As.actions,Is=t=>t.agentsReducer.instances,A_=l.createSelector([Is],t=>Object.values(t)),I_=y(l.createSelector([Is,(t,s)=>s],(t,s)=>t[s])),sc=As.reducer,Y=F(t=>t.uuid),ic={instances:{}},Ts=l.createSlice({name:"assetAttachments",initialState:ic,extraReducers:t=>t.addMatcher(l.isAnyOf(O,B,b),s=>Object.assign(s,ic)),reducers:{initializeAssetAttachments:Y.initialize,addAssetAttachment:Y.addOne,addAssetAttachments:Y.addMany,setAssetAttachment:Y.setOne,setAssetAttachments:Y.setMany,updateAssetAttachment:Y.updateOne,updateAssetAttachments:Y.updateMany,deleteAssetAttachment:Y.deleteOne,deleteAssetAttachments:Y.deleteMany}}),{initializeAssetAttachments:nc,addAssetAttachment:ac,addAssetAttachments:Os,setAssetAttachment:cc,setAssetAttachments:rc,updateAssetAttachment:dc,updateAssetAttachments:uc,deleteAssetAttachment:lc,deleteAssetAttachments:Ps}=Ts.actions,oc=t=>t.assetAttachmentReducer.instances,Fs=l.createSelector([oc],t=>Object.values(t)),hc=t=>s=>s.assetAttachmentReducer.instances[t],mc=y(l.createSelector([Fs,(t,s)=>s],(t,s)=>{const e=new Set(s);return S(t.filter(({uuid:n})=>e.has(n)))})),pc=y(l.createSelector([Fs,(t,s)=>s],(t,s)=>S(t.filter(({asset:e})=>s===e)))),yc=Ts.reducer,Z=F(t=>t.uuid),fc={instances:{}},bs=l.createSlice({name:"assetComments",initialState:fc,extraReducers:t=>t.addMatcher(l.isAnyOf(O,B,b),s=>Object.assign(s,fc)),reducers:{initializeAssetComments:Z.initialize,addAssetComment:Z.addOne,addAssetComments:Z.addMany,setAssetComment:Z.setOne,setAssetComments:Z.setMany,updateAssetComment:Z.updateOne,updateAssetComments:Z.updateMany,deleteAssetComment:Z.deleteOne,deleteAssetComments:Z.deleteMany}}),{initializeAssetComments:Sc,addAssetComment:Ac,addAssetComments:kt,setAssetComment:Ic,setAssetComments:Tc,updateAssetComment:Oc,updateAssetComments:Pc,deleteAssetComment:Fc,deleteAssetComments:Nt}=bs.actions,bc=t=>t.assetCommentReducer.instances,Gt=l.createSelector([bc],t=>S(Object.values(t).toSorted(Pt))),_c=t=>s=>s.assetCommentReducer.instances[t],gc=y(l.createSelector([Gt,(t,s)=>s],(t,s)=>{const e=new Set(s);return S(t.filter(({uuid:n})=>e.has(n)))})),Mc=y(l.createSelector([Gt,(t,s)=>s],(t,s)=>S(t.filter(e=>e.asset===s)))),Rc=y(l.createSelector([Gt,(t,s)=>s],(t,s)=>{const e=new Set(s);return S(t.filter(n=>e.has(n.asset)))})),wc=bs.reducer,J=F(t=>t.uuid),vc={instances:{}},_s=l.createSlice({name:"assets",initialState:vc,extraReducers:t=>t.addMatcher(l.isAnyOf(O,B,b),s=>Object.assign(s,vc)),reducers:{initializeAssets:J.initialize,addAsset:J.addOne,addAssets:J.addMany,setAsset:J.setOne,setAssets:J.setMany,updateAsset:J.updateOne,updateAssets:J.updateMany,deleteAsset:J.deleteOne,deleteAssets:J.deleteMany}}),{initializeAssets:Ec,addAsset:Vc,addAssets:gs,updateAsset:Bc,updateAssets:zc,deleteAsset:Dc,deleteAssets:Ms,setAsset:jc,setAssets:qc}=_s.actions,Cc=t=>t.assetReducer.instances,Ht=l.createSelector([Cc],t=>S(Object.values(t))),T_=y(l.createSelector([Ht,(t,s)=>s],(t,s)=>S(t.filter(({project:e})=>e===s)))),$c=y(l.createSelector([Ht,(t,s)=>s],(t,s)=>S(t.filter(e=>e.asset_type===s)))),Uc=t=>s=>s.assetReducer.instances[t],Lc=y(l.createSelector([Ht,(t,s)=>s],(t,s)=>{const e=new Set(s);return S(t.filter(({uuid:n})=>e.has(n)))})),kc=_s.reducer,X=F(t=>t.uuid),Nc={instances:{}},Rs=l.createSlice({name:"assetTypeAttachments",initialState:Nc,extraReducers:t=>t.addMatcher(l.isAnyOf(O,b),s=>Object.assign(s,Nc)),reducers:{initializeAssetTypeAttachments:X.initialize,addAssetTypeAttachment:X.addOne,addAssetTypeAttachments:X.addMany,setAssetTypeAttachment:X.setOne,setAssetTypeAttachments:X.setMany,updateAssetTypeAttachment:X.updateOne,updateAssetTypeAttachments:X.updateMany,deleteAssetTypeAttachment:X.deleteOne,deleteAssetTypeAttachments:X.deleteMany}}),{initializeAssetTypeAttachments:Gc,addAssetTypeAttachment:Hc,addAssetTypeAttachments:ws,setAssetTypeAttachment:Wc,setAssetTypeAttachments:Kc,updateAssetTypeAttachment:Yc,updateAssetTypeAttachments:Zc,deleteAssetTypeAttachment:Jc,deleteAssetTypeAttachments:vs}=Rs.actions,Xc=t=>t.assetTypeAttachmentReducer.instances,Es=l.createSelector([Xc],t=>Object.values(t)),Qc=t=>s=>s.assetTypeAttachmentReducer.instances[t],xc=y(l.createSelector([Es,(t,s)=>s],(t,s)=>{const e=new Set(s);return S(t.filter(({uuid:n})=>e.has(n)))})),er=y(l.createSelector([Es,(t,s)=>s],(t,s)=>S(t.filter(({asset_type:e})=>s===e)))),tr=Rs.reducer,Q=F(t=>t.uuid),sr={instances:{}},Vs=l.createSlice({name:"assetTypeFieldsAttachments",initialState:sr,extraReducers:t=>t.addMatcher(l.isAnyOf(O,b),s=>Object.assign(s,sr)),reducers:{initializeAssetTypeFieldsAttachments:Q.initialize,addAssetTypeFieldsAttachment:Q.addOne,addAssetTypeFieldsAttachments:Q.addMany,setAssetTypeFieldsAttachment:Q.setOne,setAssetTypeFieldsAttachments:Q.setMany,updateAssetTypeFieldsAttachment:Q.updateOne,updateAssetTypeFieldsAttachments:Q.updateMany,deleteAssetTypeFieldsAttachment:Q.deleteOne,deleteAssetTypeFieldsAttachments:Q.deleteMany}}),{initializeAssetTypeFieldsAttachments:ir,addAssetTypeFieldsAttachment:nr,addAssetTypeFieldsAttachments:ar,setAssetTypeFieldsAttachment:cr,setAssetTypeFieldsAttachments:rr,updateAssetTypeFieldsAttachment:dr,updateAssetTypeFieldsAttachments:ur,deleteAssetTypeFieldsAttachment:lr,deleteAssetTypeFieldsAttachments:or}=Vs.actions,hr=t=>t.assetTypeFieldsAttachmentReducer.instances,Bs=l.createSelector([hr],t=>Object.values(t)),O_=y(l.createSelector([Bs,(t,s)=>s],(t,s)=>S(t.filter(e=>e.fields_revision===s)))),mr=t=>s=>s.assetTypeFieldsAttachmentReducer.instances[t],pr=y(l.createSelector([Bs,(t,s)=>s],(t,s)=>{const e=new Set(s);return S(t.filter(({uuid:n})=>e.has(n)))})),yr=Vs.reducer,x=F(t=>t.uuid),fr={instances:{}},zs=l.createSlice({name:"assetTypeFields",initialState:fr,extraReducers:t=>t.addMatcher(l.isAnyOf(O,b),s=>Object.assign(s,fr)),reducers:{initializeAssetTypeFields:x.initialize,addAssetTypeFields:x.addOne,addAssetTypeFieldsMany:x.addMany,setAssetTypeFields:x.setOne,setAssetTypeFieldsMany:x.setMany,updateAssetTypeFields:x.updateOne,updateAssetTypeFieldsMany:x.updateMany,deleteAssetTypeFields:x.deleteOne,deleteAssetTypeFieldsMany:x.deleteMany}}),{initializeAssetTypeFields:Sr,addAssetTypeFields:Ar,addAssetTypeFieldsMany:Ir,setAssetTypeFields:Tr,setAssetTypeFieldsMany:Or,updateAssetTypeFields:Pr,updateAssetTypeFieldsMany:Fr,deleteAssetTypeFields:br,deleteAssetTypeFieldsMany:_r}=zs.actions,gr=t=>t.assetTypeFieldsReducer.instances,Vt=l.createSelector([gr],t=>Object.values(t)),P_=y(l.createSelector([Vt,(t,s)=>s],(t,s)=>S(t.filter(e=>e.asset_type===s)))),F_=y(l.createSelector([Vt,(t,s)=>s],(t,s)=>t.filter(e=>e.asset_type===s).toSorted(Pt).pop())),Mr=t=>s=>s.assetTypeFieldsReducer.instances[t],Rr=y(l.createSelector([Vt,(t,s)=>s],(t,s)=>{const e=new Set(s);return S(t.filter(({uuid:n})=>e.has(n)))})),wr=zs.reducer,ee=F(t=>t.uuid),vr={instances:{}},Ds=l.createSlice({name:"assetTypeFieldValuesAttachments",initialState:vr,extraReducers:t=>t.addMatcher(l.isAnyOf(O,B,b),s=>Object.assign(s,vr)),reducers:{initializeAssetTypeFieldValuesAttachments:ee.initialize,addAssetTypeFieldValuesAttachment:ee.addOne,addAssetTypeFieldValuesAttachments:ee.addMany,setAssetTypeFieldValuesAttachment:ee.setOne,setAssetTypeFieldValuesAttachments:ee.setMany,updateAssetTypeFieldValuesAttachment:ee.updateOne,updateAssetTypeFieldValuesAttachments:ee.updateMany,deleteAssetTypeFieldValuesAttachment:ee.deleteOne,deleteAssetTypeFieldValuesAttachments:ee.deleteMany}}),{initializeAssetTypeFieldValuesAttachments:Er,addAssetTypeFieldValuesAttachment:Vr,addAssetTypeFieldValuesAttachments:js,setAssetTypeFieldValuesAttachment:Br,setAssetTypeFieldValuesAttachments:zr,updateAssetTypeFieldValuesAttachment:Dr,updateAssetTypeFieldValuesAttachments:jr,deleteAssetTypeFieldValuesAttachment:qr,deleteAssetTypeFieldValuesAttachments:qs}=Ds.actions,Cr=t=>t.assetTypeFieldValuesAttachmentReducer.instances,Cs=l.createSelector([Cr],t=>Object.values(t)),$r=t=>s=>s.assetTypeFieldValuesAttachmentReducer.instances[t],Ur=y(l.createSelector([Cs,(t,s)=>s],(t,s)=>{const e=new Set(s);return S(t.filter(({uuid:n})=>e.has(n)))})),Lr=y(l.createSelector([Cs,(t,s)=>s],(t,s)=>S(t.filter(e=>e.field_values===s)))),kr=Ds.reducer,te=F(t=>t.uuid),Nr={instances:{}},$s=l.createSlice({name:"assetTypeFieldValues",initialState:Nr,extraReducers:t=>t.addMatcher(l.isAnyOf(O,B,b),s=>Object.assign(s,Nr)),reducers:{initializeAssetTypeFieldValues:te.initialize,addAssetTypeFieldValues:te.addOne,addAssetTypeFieldValuesMany:te.addMany,setAssetTypeFieldValues:te.setOne,setAssetTypeFieldValuesMany:te.setMany,updateAssetTypeFieldValues:te.updateOne,updateAssetTypeFieldValuesMany:te.updateMany,deleteAssetTypeFieldValues:te.deleteOne,deleteAssetTypeFieldValuesMany:te.deleteMany}}),{initializeAssetTypeFieldValues:Gr,addAssetTypeFieldValues:Hr,addAssetTypeFieldValuesMany:Wr,setAssetTypeFieldValues:Kr,setAssetTypeFieldValuesMany:Yr,updateAssetTypeFieldValues:Zr,updateAssetTypeFieldValuesMany:Jr,deleteAssetTypeFieldValues:Xr,deleteAssetTypeFieldValuesMany:Qr}=$s.actions,xr=t=>t.assetTypeFieldValuesReducer.instances,Wt=l.createSelector([xr],t=>Object.values(t)),b_=y(l.createSelector([Wt,(t,s)=>s],(t,s)=>S(t.filter(e=>e.asset===s)))),__=y(l.createSelector([Vt,Wt,(t,s)=>s],(t,s,e)=>{const n=new Set(t.filter(a=>a.asset_type===e).map(a=>a.uuid));return S(s.filter(a=>n.has(a.fields_revision)))})),ed=t=>s=>s.assetTypeFieldValuesReducer.instances[t],td=y(l.createSelector([Wt,(t,s)=>s],(t,s)=>{const e=new Set(s);return S(t.filter(({uuid:n})=>e.has(n)))})),sd=$s.reducer,se=F(t=>t.uuid),id={instances:{}},Us=l.createSlice({name:"assetTypeIdentifiers",initialState:id,extraReducers:t=>t.addMatcher(l.isAnyOf(O,b),s=>Object.assign(s,id)),reducers:{initializeAssetTypeIdentifiers:se.initialize,addAssetTypeIdentifier:se.addOne,addAssetTypeIdentifiers:se.addMany,setAssetTypeIdentifier:se.setOne,setAssetTypeIdentifiers:se.setMany,updateAssetTypeIdentifier:se.updateOne,updateAssetTypeIdentifiers:se.updateMany,deleteAssetTypeIdentifier:se.deleteOne,deleteAssetTypeIdentifiers:se.deleteMany}}),{initializeAssetTypeIdentifiers:nd,addAssetTypeIdentifier:ad,addAssetTypeIdentifiers:cd,setAssetTypeIdentifier:rd,setAssetTypeIdentifiers:dd,updateAssetTypeIdentifier:ud,updateAssetTypeIdentifiers:ld,deleteAssetTypeIdentifier:od,deleteAssetTypeIdentifiers:hd}=Us.actions,md=t=>t.assetTypeIdentifierReducer.instances,Ls=l.createSelector([md],t=>Object.values(t)),pd=t=>s=>s.assetTypeIdentifierReducer.instances[t],yd=y(l.createSelector([Ls,(t,s)=>s],(t,s)=>{const e=new Set(s);return S(t.filter(({uuid:n})=>e.has(n)))})),g_=y(l.createSelector([Ls,(t,s)=>s],(t,s)=>S(t.filter(e=>e.asset_type===s)))),fd=Us.reducer,ie=F(t=>t.uuid),Sd={instances:{}},ks=l.createSlice({name:"assetTypeIdentifierValues",initialState:Sd,extraReducers:t=>t.addMatcher(l.isAnyOf(O,B,b),s=>Object.assign(s,Sd)),reducers:{initializeAssetTypeIdentifierValues:ie.initialize,addAssetTypeIdentifierValue:ie.addOne,addAssetTypeIdentifierValues:ie.addMany,setAssetTypeIdentifierValue:ie.setOne,setAssetTypeIdentifierValues:ie.setMany,updateAssetTypeIdentifierValue:ie.updateOne,updateAssetTypeIdentifierValues:ie.updateMany,deleteAssetTypeIdentifierValue:ie.deleteOne,deleteAssetTypeIdentifierValues:ie.deleteMany}}),{initializeAssetTypeIdentifierValues:Ad,addAssetTypeIdentifierValue:Id,addAssetTypeIdentifierValues:Td,setAssetTypeIdentifierValue:Od,setAssetTypeIdentifierValues:Pd,updateAssetTypeIdentifierValue:Fd,updateAssetTypeIdentifierValues:bd,deleteAssetTypeIdentifierValue:_d,deleteAssetTypeIdentifierValues:gd}=ks.actions,Md=t=>t.assetTypeIdentifierValueReducer.instances,Kt=l.createSelector([Md],t=>Object.values(t)),Rd=t=>s=>s.assetTypeIdentifierValueReducer.instances[t],wd=y(l.createSelector([Kt,(t,s)=>s],(t,s)=>{const e=new Set(s);return S(t.filter(({uuid:n})=>e.has(n)))})),M_=y(l.createSelector([Kt,(t,s)=>s],(t,s)=>S(t.filter(e=>e.asset===s)))),R_=y(l.createSelector([Kt,(t,s)=>s],(t,s)=>S(t.filter(e=>e.asset_type_identifier===s)))),vd=ks.reducer,ne=F(t=>t.uuid),Ed={instances:{}},Ns=l.createSlice({name:"assetTypes",initialState:Ed,extraReducers:t=>t.addMatcher(l.isAnyOf(O,b),s=>Object.assign(s,Ed)),reducers:{initializeAssetTypes:ne.initialize,setAssetType:ne.setOne,setAssetTypes:ne.setMany,addAssetType:ne.addOne,addAssetTypes:ne.addMany,updateAssetType:ne.updateOne,updateAssetTypes:ne.updateMany,deleteAssetType:ne.deleteOne,deleteAssetTypes:ne.deleteMany}}),{initializeAssetTypes:Vd,setAssetType:Bd,setAssetTypes:zd,addAssetType:Dd,addAssetTypes:jd,updateAssetType:qd,updateAssetTypes:Cd,deleteAssetType:$d,deleteAssetTypes:Ud}=Ns.actions,Ld=t=>t.assetTypeReducer.instances,Gs=l.createSelector([Ld],t=>Object.values(t)),kd=t=>s=>s.assetTypeReducer.instances[t],Nd=y(l.createSelector([Gs,(t,s)=>s],(t,s)=>{const e=new Set(s);return S(t.filter(({uuid:n})=>e.has(n)))})),w_=y(l.createSelector([Gs,(t,s)=>s],(t,s)=>S(t.filter(e=>e.organization===s)))),Gd=Ns.reducer,ae=F(t=>t.uuid),Hd={instances:{}},Hs=l.createSlice({name:"assetTypeStatuses",initialState:Hd,extraReducers:t=>t.addMatcher(l.isAnyOf(O,b),s=>Object.assign(s,Hd)),reducers:{initializeAssetTypeStatuses:ae.initialize,addAssetTypeStatus:ae.addOne,addAssetTypeStatuses:ae.addMany,setAssetTypeStatus:ae.setOne,setAssetTypeStatuses:ae.setMany,updateAssetTypeStatus:ae.updateOne,updateAssetTypeStatuses:ae.updateMany,deleteAssetTypeStatus:ae.deleteOne,deleteAssetTypeStatuses:ae.deleteMany}}),{initializeAssetTypeStatuses:Wd,addAssetTypeStatus:Kd,addAssetTypeStatuses:Yd,setAssetTypeStatus:Zd,setAssetTypeStatuses:Jd,updateAssetTypeStatus:Xd,updateAssetTypeStatuses:Qd,deleteAssetTypeStatus:xd,deleteAssetTypeStatuses:eu}=Hs.actions,tu=t=>t.assetTypeStatusReducer.instances,Ws=l.createSelector([tu],t=>S(Object.values(t).toSorted(Wa))),su=t=>s=>s.assetTypeStatusReducer.instances[t],iu=y(l.createSelector([Ws,(t,s)=>s],(t,s)=>{const e=new Set(s);return S(t.filter(({uuid:n})=>e.has(n)))})),v_=y(l.createSelector([Ws,(t,s)=>s],(t,s)=>S(t.filter(e=>e.asset_type===s)))),nu=Hs.reducer,au={accessToken:"",refreshToken:"",isLoggedIn:!1},Yt=l.createSlice({name:"auth",initialState:au,extraReducers:t=>t.addCase(O,s=>Object.assign(s,au)),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||Yt.caseReducers.clearTokens(t),t.isLoggedIn=s.payload}}}),{setTokens:E_,clearTokens:V_,setLoggedIn:cu}=Yt.actions,B_=t=>t.authReducer.accessToken,z_=t=>t.authReducer.isLoggedIn,ru=Yt.reducer,ce=F(t=>t.uuid),du={instances:{}},Ks=l.createSlice({name:"documentAttachments",initialState:du,extraReducers:t=>t.addCase(O,s=>Object.assign(s,du)),reducers:{initializeDocumentAttachments:ce.initialize,addDocumentAttachment:ce.addOne,addDocumentAttachments:ce.addMany,setDocumentAttachment:ce.setOne,setDocumentAttachments:ce.setMany,updateDocumentAttachment:ce.updateOne,updateDocumentAttachments:ce.updateMany,deleteDocumentAttachment:ce.deleteOne,deleteDocumentAttachments:ce.deleteMany}}),{initializeDocumentAttachments:uu,addDocumentAttachment:lu,addDocumentAttachments:ou,setDocumentAttachment:hu,setDocumentAttachments:mu,updateDocumentAttachment:pu,updateDocumentAttachments:yu,deleteDocumentAttachment:fu,deleteDocumentAttachments:Su}=Ks.actions,Au=t=>t.documentAttachmentReducer.instances,Ys=l.createSelector([Au],t=>Object.values(t)),Iu=t=>s=>s.documentAttachmentReducer.instances[t],Tu=y(l.createSelector([Ys,(t,s)=>s],(t,s)=>{const e=new Set(s);return S(t.filter(({uuid:n})=>e.has(n)))})),D_=y(l.createSelector([Ys,(t,s)=>s],(t,s)=>S(t.filter(({document:e})=>s===e)))),Ou=Ks.reducer,re=F(({uuid:t})=>t),Pu={instances:{}},Zs=l.createSlice({name:"documents",initialState:Pu,extraReducers:t=>t.addMatcher(l.isAnyOf(O,b),s=>{Object.assign(s,Pu)}),reducers:{initializeDocuments:re.initialize,addDocument:re.addOne,addDocuments:re.addMany,setDocument:re.setOne,setDocuments:re.setMany,updateDocument:re.updateOne,updateDocuments:re.updateMany,deleteDocument:re.deleteOne,deleteDocuments:re.deleteMany}}),{initializeDocuments:Fu,addDocument:bu,addDocuments:_u,setDocument:gu,setDocuments:Mu,updateDocument:Ru,updateDocuments:wu,deleteDocument:vu,deleteDocuments:Eu}=Zs.actions,Vu=Zs.reducer,Js=t=>t.documentsReducer.instances,Zt=l.createSelector([Js],t=>Object.values(t)),Bu=t=>s=>s.documentsReducer.instances[t],zu=y(l.createSelector([Zt,(t,s)=>s],(t,s)=>{const e=new Set(s);return S(t.filter(({uuid:n})=>e.has(n)))})),j_=y(l.createSelector([Zt,(t,s)=>s],(t,s)=>t.filter(e=>e.project===s))),q_=y(l.createSelector([Zt,(t,s)=>s],(t,s)=>t.filter(e=>e.organization===s))),Du=y(l.createSelector([Js,(t,s)=>s],(t,s)=>{if(!t[s])return S([]);const a=Ja(s,Object.values(t)).all().map(({model:r})=>r);return S(a)})),de=F(t=>t.uuid),ju={instances:{}},Xs=l.createSlice({name:"emailDomains",initialState:ju,extraReducers:t=>t.addMatcher(l.isAnyOf(O,b),s=>Object.assign(s,ju)),reducers:{initializeEmailDomains:de.initialize,addEmailDomain:de.addOne,addEmailDomains:de.addMany,setEmailDomain:de.setOne,setEmailDomains:de.setMany,updateEmailDomain:de.updateOne,updateEmailDomains:de.updateMany,deleteEmailDomain:de.deleteOne,deleteEmailDomains:de.deleteMany}}),{initializeEmailDomains:qu,addEmailDomain:Cu,addEmailDomains:$u,setEmailDomain:Uu,setEmailDomains:Lu,updateEmailDomain:ku,updateEmailDomains:Nu,deleteEmailDomain:Gu,deleteEmailDomains:Hu}=Xs.actions,Wu=t=>t.emailDomainsReducer.instances,Qs=l.createSelector([Wu],t=>Object.values(t)),Ku=t=>s=>s.emailDomainsReducer.instances[t],Yu=y(l.createSelector([Qs,(t,s)=>s],(t,s)=>{const e=new Set(s);return S(t.filter(({uuid:n})=>e.has(n)))})),C_=y(l.createSelector([Qs,(t,s)=>s],(t,s)=>S(t.filter(e=>e.organization===s)))),Zu=Xs.reducer,ue=F(t=>t.uuid),Ju={instances:{}},xs=l.createSlice({name:"formIdentifiers",initialState:Ju,extraReducers:t=>t.addMatcher(l.isAnyOf(O,b),s=>Object.assign(s,Ju)),reducers:{initializeFormIdentifiers:ue.initialize,addFormIdentifier:ue.addOne,addFormIdentifiers:ue.addMany,setFormIdentifier:ue.setOne,setFormIdentifiers:ue.setMany,updateFormIdentifier:ue.updateOne,updateFormIdentifiers:ue.updateMany,deleteFormIdentifier:ue.deleteOne,deleteFormIdentifiers:ue.deleteMany}}),{initializeFormIdentifiers:Xu,addFormIdentifier:Qu,addFormIdentifiers:xu,setFormIdentifier:el,setFormIdentifiers:tl,updateFormIdentifier:sl,updateFormIdentifiers:il,deleteFormIdentifier:nl,deleteFormIdentifiers:al}=xs.actions,cl=t=>t.formIdentifierReducer.instances,ei=l.createSelector([cl],t=>Object.values(t)),rl=t=>s=>s.formIdentifierReducer.instances[t],dl=y(l.createSelector([ei,(t,s)=>s],(t,s)=>{const e=new Set(s);return S(t.filter(({uuid:n})=>e.has(n)))})),$_=y(l.createSelector([ei,(t,s)=>s],(t,s)=>S(t.filter(e=>e.form===s)))),ul=xs.reducer,le=F(t=>t.uuid),ll={instances:{}},ti=l.createSlice({name:"formIdentifierValues",initialState:ll,extraReducers:t=>t.addMatcher(l.isAnyOf(O,b),s=>Object.assign(s,ll)),reducers:{initializeFormIdentifierValues:le.initialize,addFormIdentifierValue:le.addOne,addFormIdentifierValues:le.addMany,setFormIdentifierValue:le.setOne,setFormIdentifierValues:le.setMany,updateFormIdentifierValue:le.updateOne,updateFormIdentifierValues:le.updateMany,deleteFormIdentifierValue:le.deleteOne,deleteFormIdentifierValues:le.deleteMany}}),{initializeFormIdentifierValues:ol,addFormIdentifierValue:hl,addFormIdentifierValues:ml,setFormIdentifierValue:pl,setFormIdentifierValues:yl,updateFormIdentifierValue:fl,updateFormIdentifierValues:Sl,deleteFormIdentifierValue:Al,deleteFormIdentifierValues:Il}=ti.actions,Tl=t=>t.formIdentifierValueReducer.instances,Jt=l.createSelector([Tl],t=>Object.values(t)),Ol=t=>s=>s.formIdentifierValueReducer.instances[t],Pl=y(l.createSelector([Jt,(t,s)=>s],(t,s)=>{const e=new Set(s);return S(t.filter(({uuid:n})=>e.has(n)))})),U_=y(l.createSelector([Jt,(t,s)=>s],(t,s)=>S(t.filter(e=>e.form_submission===s)))),L_=y(l.createSelector([Jt,(t,s)=>s],(t,s)=>S(t.filter(e=>e.form_identifier===s)))),Fl=ti.reducer,oe=F(t=>t.uuid),bl={instances:{}},si=l.createSlice({name:"formRevisionAttachments",initialState:bl,extraReducers:t=>t.addMatcher(l.isAnyOf(O,b),s=>Object.assign(s,bl)),reducers:{initializeFormRevisionAttachments:oe.initialize,addFormRevisionAttachment:oe.addOne,addFormRevisionAttachments:oe.addMany,setFormRevisionAttachment:oe.setOne,setFormRevisionAttachments:oe.setMany,updateFormRevisionAttachment:oe.updateOne,updateFormRevisionAttachments:oe.updateMany,deleteFormRevisionAttachment:oe.deleteOne,deleteFormRevisionAttachments:oe.deleteMany}}),{initializeFormRevisionAttachments:_l,addFormRevisionAttachment:gl,addFormRevisionAttachments:Ml,setFormRevisionAttachment:Rl,setFormRevisionAttachments:wl,updateFormRevisionAttachment:vl,updateFormRevisionAttachments:El,deleteFormRevisionAttachment:Vl,deleteFormRevisionAttachments:Bl}=si.actions,Xt=t=>t.formRevisionAttachmentReducer.instances,zl=l.createSelector([Xt],t=>Object.values(t)),Dl=y(l.createSelector([Xt,(t,s)=>s],(t,s)=>t[s])),jl=y(l.createSelector([zl,(t,s)=>s],(t,s)=>{const e=new Set(s);return S(t.filter(({uuid:n})=>e.has(n)))})),k_=y(l.createSelector([Xt,(t,s)=>s],(t,s)=>S(Object.values(t).filter(e=>e.form_revision===s)))),ql=si.reducer,he=F(t=>t.uuid),Cl={instances:{}},ii=l.createSlice({name:"formRevisions",initialState:Cl,extraReducers:t=>t.addMatcher(l.isAnyOf(O,b),s=>Object.assign(s,Cl)),reducers:{initializeFormRevisions:he.initialize,addFormRevision:he.addOne,addFormRevisions:he.addMany,setFormRevision:he.setOne,setFormRevisions:he.setMany,updateFormRevision:he.updateOne,updateFormRevisions:he.updateMany,deleteFormRevision:he.deleteOne,deleteFormRevisions:he.deleteMany}}),{initializeFormRevisions:$l,addFormRevision:Ul,addFormRevisions:ni,setFormRevision:Ll,setFormRevisions:kl,updateFormRevision:Nl,updateFormRevisions:Gl,deleteFormRevision:Hl,deleteFormRevisions:ai}=ii.actions,Wl=t=>t.formRevisionReducer.instances,Qt=l.createSelector([Wl],t=>Object.values(t)),Kl=t=>s=>s.formRevisionReducer.instances[t],Yl=y(l.createSelector([Qt,(t,s)=>s],(t,s)=>{const e=new Set(s);return S(t.filter(({uuid:n})=>e.has(n)))})),N_=y(l.createSelector([Qt,(t,s)=>s],(t,s)=>t.filter(e=>e.form===s).toSorted(Pt).pop())),Zl=y(l.createSelector([Qt,(t,s)=>s],(t,s)=>S(t.filter(e=>e.form===s)))),Jl=ii.reducer,me=F(t=>t.uuid),Xl={instances:{}},ci=l.createSlice({name:"formSubscribers",initialState:Xl,extraReducers:t=>t.addMatcher(l.isAnyOf(O,b),s=>Object.assign(s,Xl)),reducers:{initializeFormSubscribers:me.initialize,addFormSubscriber:me.addOne,addFormSubscribers:me.addMany,setFormSubscriber:me.setOne,setFormSubscribers:me.setMany,updateFormSubscriber:me.updateOne,updateFormSubscribers:me.updateMany,deleteFormSubscriber:me.deleteOne,deleteFormSubscribers:me.deleteMany}}),{initializeFormSubscribers:Ql,addFormSubscriber:xl,addFormSubscribers:ri,setFormSubscriber:eo,setFormSubscribers:to,updateFormSubscriber:so,updateFormSubscribers:io,deleteFormSubscriber:no,deleteFormSubscribers:di}=ci.actions,ao=t=>t.formSubscriberReducer.instances,xt=l.createSelector([ao],t=>Object.values(t)),co=t=>s=>s.formSubscriberReducer.instances[t],ro=y(l.createSelector([xt,(t,s)=>s],(t,s)=>{const e=new Set(s);return S(t.filter(({uuid:n})=>e.has(n)))})),uo=y(l.createSelector([xt,(t,s)=>s],(t,s)=>S(t.filter(e=>e.form===s)))),G_=y(l.createSelector([xt,(t,s)=>s],(t,s)=>S(t.filter(e=>e.user===s)))),lo=ci.reducer,pe=F(t=>t.uuid),oo={instances:{}},ui=l.createSlice({name:"forms",initialState:oo,extraReducers:t=>t.addMatcher(l.isAnyOf(O,b),s=>Object.assign(s,oo)),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:ho,addForm:mo,addForms:po,setForm:yo,setForms:fo,updateForm:So,updateForms:Ao,deleteForm:Io,deleteForms:To}=ui.actions,Oo=ui.reducer,Po=t=>t.formReducer.instances,li=l.createSelector([Po],t=>Object.values(t)),Fo=t=>s=>s.formReducer.instances[t],bo=y(l.createSelector([li,(t,s)=>s],(t,s)=>{const e=new Set(s);return S(t.filter(({uuid:n})=>e.has(n)))})),H_=y(l.createSelector([li,(t,s)=>s],(t,s)=>S(t.filter(e=>e.organization===s)))),ye=F(({uuid:t})=>t),_o={instances:{}},oi=l.createSlice({name:"formSubmissionFieldValuesAttachments",initialState:_o,extraReducers:t=>t.addMatcher(l.isAnyOf(O,b),s=>Object.assign(s,_o)),reducers:{initializeFormSubmissionFieldValuesAttachments:ye.initialize,addFormSubmissionFieldValuesAttachment:ye.addOne,addFormSubmissionFieldValuesAttachments:ye.addMany,setFormSubmissionFieldValuesAttachment:ye.setOne,setFormSubmissionFieldValuesAttachments:ye.setMany,updateFormSubmissionFieldValuesAttachment:ye.updateOne,updateFormSubmissionFieldValuesAttachments:ye.updateMany,deleteFormSubmissionFieldValuesAttachment:ye.deleteOne,deleteFormSubmissionFieldValuesAttachments:ye.deleteMany}}),{initializeFormSubmissionFieldValuesAttachments:go,addFormSubmissionFieldValuesAttachment:Mo,addFormSubmissionFieldValuesAttachments:hi,setFormSubmissionFieldValuesAttachment:Ro,setFormSubmissionFieldValuesAttachments:wo,updateFormSubmissionFieldValuesAttachment:vo,updateFormSubmissionFieldValuesAttachments:Eo,deleteFormSubmissionFieldValuesAttachment:Vo,deleteFormSubmissionFieldValuesAttachments:mi}=oi.actions,pi=t=>t.formSubmissionFieldValuesAttachmentReducer.instances,yi=l.createSelector([pi],t=>Object.values(t)),Bo=y(l.createSelector([pi,(t,s)=>s],(t,s)=>t[s])),fi=y(l.createSelector([yi,(t,s)=>s],(t,s)=>{const e=new Set(s);return S(t.filter(n=>e.has(n.uuid)))})),zo=y(l.createSelector([yi,(t,s)=>s],(t,s)=>S(t.filter(e=>e.field_values===s)))),Do=oi.reducer,fe=F(({uuid:t})=>t),jo={instances:{}},Si=l.createSlice({name:"formSubmissionFieldValues",initialState:jo,extraReducers:t=>t.addMatcher(l.isAnyOf(O,b),s=>Object.assign(s,jo)),reducers:{initializeFormSubmissionFieldValues:fe.initialize,addFormSubmissionFieldValues:fe.addOne,addFormSubmissionFieldValuesMany:fe.addMany,setFormSubmissionFieldValues:fe.setOne,setFormSubmissionFieldValuesMany:fe.setMany,updateFormSubmissionFieldValues:fe.updateOne,updateFormSubmissionFieldValuesMany:fe.updateMany,deleteFormSubmissionFieldValues:fe.deleteOne,deleteFormSubmissionFieldValuesMany:fe.deleteMany}}),{initializeFormSubmissionFieldValues:qo,addFormSubmissionFieldValues:Co,addFormSubmissionFieldValuesMany:Ai,setFormSubmissionFieldValues:$o,setFormSubmissionFieldValuesMany:Uo,updateFormSubmissionFieldValues:Lo,updateFormSubmissionFieldValuesMany:ko,deleteFormSubmissionFieldValues:No,deleteFormSubmissionFieldValuesMany:Ii}=Si.actions,Go=t=>t.formSubmissionFieldValuesReducer.instances,Ti=l.createSelector([Go],t=>Object.values(t)),Ho=t=>s=>s.formSubmissionFieldValuesReducer.instances[t],Wo=y(l.createSelector([Ti,(t,s)=>s],(t,s)=>{const e=new Set(s);return S(t.filter(({uuid:n})=>e.has(n)))})),Ko=y(l.createSelector([Ti,(t,s)=>s],(t,s)=>S(t.filter(e=>e.form_submission===s)))),Yo=Si.reducer,Se=F(t=>t.uuid),Zo={instances:{}},Oi=l.createSlice({name:"formSubmissions",initialState:Zo,extraReducers:t=>t.addMatcher(l.isAnyOf(O,b),s=>Object.assign(s,Zo)),reducers:{initializeFormSubmissions:Se.initialize,setFormSubmission:Se.setOne,setFormSubmissions:Se.setMany,addFormSubmission:Se.addOne,addFormSubmissions:Se.addMany,updateFormSubmission:Se.updateOne,updateFormSubmissions:Se.updateMany,deleteFormSubmission:Se.deleteOne,deleteFormSubmissions:Se.deleteMany}}),{initializeFormSubmissions:Jo,setFormSubmission:Xo,setFormSubmissions:Qo,addFormSubmission:xo,addFormSubmissions:mt,updateFormSubmission:eh,updateFormSubmissions:th,deleteFormSubmission:sh,deleteFormSubmissions:pt}=Oi.actions,ih=t=>t.formSubmissionReducer.instances,G=l.createSelector([ih],t=>Object.values(t)),nh=t=>s=>s.formSubmissionReducer.instances[t],ah=y(l.createSelector([G,(t,s)=>s],(t,s)=>{const e=new Set(s);return S(t.filter(({uuid:n})=>e.has(n)))})),ch=y(l.createSelector([G,(t,s)=>s],(t,s)=>S(t.filter(e=>e.form===s)))),W_=y(l.createSelector([G,(t,s)=>s],(t,s)=>S(t.filter(({organization:e})=>e===s)))),K_=y(l.createSelector([G,(t,s)=>s],(t,s)=>S(t.filter(({project:e})=>e===s)))),Y_=y(l.createSelector([G,(t,s)=>s,(t,s,e)=>e],(t,s,e)=>S(t.filter(({project:n,form:a})=>n===s&&a===e)))),Z_=y(l.createSelector([G,(t,s)=>s,(t,s,e)=>e],(t,s,e)=>S(t.filter(({organization:n,form:a})=>n===s&&a===e)))),rh=y(l.createSelector([G,(t,s)=>s],(t,s)=>S(t.filter(({issue:e})=>e===s)))),dh=y(l.createSelector([G,(t,s)=>s],(t,s)=>{const e=new Set(s);return S(t.filter(({issue:n})=>n&&e.has(n)))})),uh=y(l.createSelector([G,(t,s)=>s],(t,s)=>S(t.filter(({asset:e})=>e===s)))),lh=y(l.createSelector([G,(t,s)=>s],(t,s)=>{const e=new Set(s);return S(t.filter(({asset:n})=>n&&e.has(n)))})),oh=Oi.reducer,Ae=F(t=>t.uuid),hh={instances:{}},Pi=l.createSlice({name:"geoImages",initialState:hh,extraReducers:t=>t.addMatcher(l.isAnyOf(O,B,b),s=>Object.assign(s,hh)),reducers:{initializeGeoImages:Ae.initialize,setGeoImage:Ae.setOne,setGeoImages:Ae.setMany,addGeoImage:Ae.addOne,addGeoImages:Ae.addMany,updateGeoImage:Ae.updateOne,updateGeoImages:Ae.updateMany,deleteGeoImage:Ae.deleteOne,deleteGeoImages:Ae.deleteMany}}),{initializeGeoImages:mh,setGeoImage:ph,setGeoImages:yh,addGeoImage:fh,addGeoImages:Sh,updateGeoImage:Ah,updateGeoImages:Ih,deleteGeoImage:Th,deleteGeoImages:Oh}=Pi.actions,Ph=t=>t.geoImageReducer.instances,Fi=l.createSelector([Ph],t=>Object.values(t)),Fh=t=>s=>s.geoImageReducer.instances[t],bh=y(l.createSelector([Fi,(t,s)=>s],(t,s)=>{const e=new Set(s);return S(t.filter(({uuid:n})=>e.has(n)))})),J_=y(l.createSelector([Fi,(t,s)=>s],(t,s)=>S(t.filter(e=>e.project===s)))),_h=Pi.reducer,Ie=F(t=>t.uuid),gh={instances:{}},bi=l.createSlice({name:"issueAssociations",initialState:gh,extraReducers:t=>t.addMatcher(l.isAnyOf(O,B,b),s=>Object.assign(s,gh)),reducers:{initializeIssueAssociations:Ie.initialize,addIssueAssociation:Ie.addOne,addIssueAssociations:Ie.addMany,setIssueAssociation:Ie.setOne,setIssueAssociations:Ie.setMany,updateIssueAssociation:Ie.updateOne,updateIssueAssociations:Ie.updateMany,deleteIssueAssociation:Ie.deleteOne,deleteIssueAssociations:Ie.deleteMany}}),{initializeIssueAssociations:Mh,setIssueAssociations:Rh,setIssueAssociation:wh,updateIssueAssociation:vh,updateIssueAssociations:Eh,addIssueAssociation:Vh,addIssueAssociations:Ft,deleteIssueAssociation:Bh,deleteIssueAssociations:bt}=bi.actions,zh=t=>t.issueAssociationReducer.instances,_t=l.createSelector([zh],t=>Object.values(t)),Dh=t=>s=>s.issueAssociationReducer.instances[t],jh=y(l.createSelector([_t,(t,s)=>s],(t,s)=>{const e=new Set(s);return S(t.filter(({uuid:n})=>e.has(n)))})),qh=y(l.createSelector([_t,(t,s)=>s],(t,s)=>{const e=new Set(s);return S(t.filter(({issue:n})=>e.has(n)))})),Ch=y(l.createSelector([_t,(t,s)=>s],(t,s)=>S(t.filter(({issue:e})=>e===s)))),$h=y(l.createSelector([_t,(t,s)=>s],(t,s)=>S(t.filter(({asset:e})=>e===s)))),Uh=y(l.createSelector([_t,(t,s)=>s],(t,s)=>{const e=new Set(s);return S(t.filter(({asset:n})=>e.has(n)))})),Lh=bi.reducer,Te=F(t=>t.uuid),kh={instances:{}},_i=l.createSlice({name:"issueAttachments",initialState:kh,extraReducers:t=>t.addMatcher(l.isAnyOf(O,B,b),s=>Object.assign(s,kh)),reducers:{initializeIssueAttachments:Te.initialize,addIssueAttachment:Te.addOne,addIssueAttachments:Te.addMany,setIssueAttachment:Te.setOne,setIssueAttachments:Te.setMany,updateIssueAttachment:Te.updateOne,updateIssueAttachments:Te.updateMany,deleteIssueAttachment:Te.deleteOne,deleteIssueAttachments:Te.deleteMany}}),{initializeIssueAttachments:Nh,addIssueAttachment:Gh,addIssueAttachments:gi,setIssueAttachment:Hh,setIssueAttachments:Wh,updateIssueAttachment:Kh,updateIssueAttachments:Yh,deleteIssueAttachment:Zh,deleteIssueAttachments:Mi}=_i.actions,Jh=t=>t.issueAttachmentReducer.instances,Ri=l.createSelector([Jh],t=>Object.values(t)),Xh=y(l.createSelector([Ri,(t,s)=>s],(t,s)=>S(t.filter(({issue:e})=>s===e)))),Qh=t=>s=>s.issueAttachmentReducer.instances[t],xh=y(l.createSelector([Ri,(t,s)=>s],(t,s)=>{const e=new Set(s);return S(t.filter(({uuid:n})=>e.has(n)))})),em=_i.reducer,Oe=F(t=>t.uuid),tm={instances:{}},wi=l.createSlice({name:"issueCommentAttachments",initialState:tm,extraReducers:t=>t.addMatcher(l.isAnyOf(O,B,b),s=>Object.assign(s,tm)),reducers:{initializeIssueCommentAttachments:Oe.initialize,addIssueCommentAttachment:Oe.addOne,addIssueCommentAttachments:Oe.addMany,setIssueCommentAttachment:Oe.setOne,setIssueCommentAttachments:Oe.setMany,updateIssueCommentAttachment:Oe.updateOne,updateIssueCommentAttachments:Oe.updateMany,deleteIssueCommentAttachment:Oe.deleteOne,deleteIssueCommentAttachments:Oe.deleteMany}}),{initializeIssueCommentAttachments:sm,addIssueCommentAttachment:im,addIssueCommentAttachments:nm,setIssueCommentAttachment:am,setIssueCommentAttachments:cm,updateIssueCommentAttachment:rm,updateIssueCommentAttachments:dm,deleteIssueCommentAttachment:um,deleteIssueCommentAttachments:lm}=wi.actions,om=t=>t.issueCommentAttachmentReducer.instances,vi=l.createSelector([om],t=>Object.values(t)),hm=t=>s=>s.issueCommentAttachmentReducer.instances[t],mm=y(l.createSelector([vi,(t,s)=>s],(t,s)=>{const e=new Set(s);return S(t.filter(({uuid:n})=>e.has(n)))})),X_=y(l.createSelector([vi,(t,s)=>s],(t,s)=>S(t.filter(({issue_comment:e})=>s===e)))),pm=wi.reducer,Pe=F(t=>t.uuid),ym={instances:{}},Ei=l.createSlice({name:"issueComments",initialState:ym,extraReducers:t=>t.addMatcher(l.isAnyOf(O,B,b),s=>Object.assign(s,ym)),reducers:{initializeIssueComments:Pe.initialize,addIssueComment:Pe.addOne,addIssueComments:Pe.addMany,setIssueComment:Pe.setOne,setIssueComments:Pe.setMany,updateIssueComment:Pe.updateOne,updateIssueComments:Pe.updateMany,deleteIssueComment:Pe.deleteOne,deleteIssueComments:Pe.deleteMany}}),{initializeIssueComments:fm,addIssueComment:Sm,addIssueComments:Am,setIssueComment:Im,setIssueComments:Tm,updateIssueComment:Om,updateIssueComments:Pm,deleteIssueComment:Fm,deleteIssueComments:bm}=Ei.actions,Vi=t=>t.issueCommentReducer.instances,_m=t=>s=>s.issueCommentReducer.instances[t],gm=y(l.createSelector([Vi,(t,s)=>s],(t,s)=>{const e=new Set(s);return S(Object.values(t).filter(({uuid:n})=>e.has(n)))})),Q_=y(l.createSelector([Vi,(t,s)=>s],(t,s)=>S(Object.values(t).filter(e=>e.issue===s)))),Mm=Ei.reducer,Fe=F(t=>t.uuid),Rm={instances:{}},Bi=l.createSlice({name:"issues",initialState:Rm,extraReducers:t=>t.addMatcher(l.isAnyOf(O,B,b),s=>Object.assign(s,Rm)),reducers:{initializeIssues:Fe.initialize,addIssue:Fe.addOne,addIssues:Fe.addMany,setIssue:Fe.setOne,setIssues:Fe.setMany,updateIssue:Fe.updateOne,updateIssues:Fe.updateMany,deleteIssue:Fe.deleteOne,deleteIssues:Fe.deleteMany}}),{initializeIssues:wm,addIssue:vm,addIssues:zi,setIssue:Em,setIssues:Vm,updateIssue:Bm,updateIssues:zm,deleteIssue:Dm,deleteIssues:Di}=Bi.actions,jm=t=>t.issueReducer.instances,es=l.createSelector([jm],t=>Object.values(t)),qm=t=>s=>s.issueReducer.instances[t],Cm=y(l.createSelector([es,(t,s)=>s],(t,s)=>{const e=new Set(s);return S(t.filter(({uuid:n})=>e.has(n)))})),x_=y(l.createSelector([es,(t,s)=>s],(t,s)=>t.filter(e=>e.project===s))),$m=y(l.createSelector([es,(t,s)=>s],(t,s)=>t.filter(e=>e.issue_type===s))),Um=Bi.reducer,be=F(t=>t.uuid),Lm={instances:{}},ji=l.createSlice({name:"issueTypeAttachments",initialState:Lm,extraReducers:t=>t.addMatcher(l.isAnyOf(O,b),s=>Object.assign(s,Lm)),reducers:{initializeIssueTypeAttachments:be.initialize,addIssueTypeAttachment:be.addOne,addIssueTypeAttachments:be.addMany,setIssueTypeAttachment:be.setOne,setIssueTypeAttachments:be.setMany,updateIssueTypeAttachment:be.updateOne,updateIssueTypeAttachments:be.updateMany,deleteIssueTypeAttachment:be.deleteOne,deleteIssueTypeAttachments:be.deleteMany}}),{initializeIssueTypeAttachments:km,addIssueTypeAttachment:Nm,addIssueTypeAttachments:Gm,setIssueTypeAttachment:Hm,setIssueTypeAttachments:Wm,updateIssueTypeAttachment:Km,updateIssueTypeAttachments:Ym,deleteIssueTypeAttachment:Zm,deleteIssueTypeAttachments:Jm}=ji.actions,Xm=t=>t.issueTypeAttachmentReducer.instances,qi=l.createSelector([Xm],t=>Object.values(t)),Qm=t=>s=>s.issueTypeAttachmentReducer.instances[t],xm=y(l.createSelector([qi,(t,s)=>s],(t,s)=>{const e=new Set(s);return S(t.filter(({uuid:n})=>e.has(n)))})),eg=y(l.createSelector([qi,(t,s)=>s],(t,s)=>S(t.filter(({issue_type:e})=>s===e)))),ep=ji.reducer,_e=F(t=>t.uuid),tp={instances:{}},Ci=l.createSlice({name:"issueTypeFieldsAttachments",initialState:tp,extraReducers:t=>t.addMatcher(l.isAnyOf(O,b),s=>Object.assign(s,tp)),reducers:{initializeIssueTypeFieldsAttachments:_e.initialize,addIssueTypeFieldsAttachment:_e.addOne,addIssueTypeFieldsAttachments:_e.addMany,setIssueTypeFieldsAttachment:_e.setOne,setIssueTypeFieldsAttachments:_e.setMany,updateIssueTypeFieldsAttachment:_e.updateOne,updateIssueTypeFieldsAttachments:_e.updateMany,deleteIssueTypeFieldsAttachment:_e.deleteOne,deleteIssueTypeFieldsAttachments:_e.deleteMany}}),{initializeIssueTypeFieldsAttachments:sp,addIssueTypeFieldsAttachment:ip,addIssueTypeFieldsAttachments:np,setIssueTypeFieldsAttachment:ap,setIssueTypeFieldsAttachments:cp,updateIssueTypeFieldsAttachment:rp,updateIssueTypeFieldsAttachments:dp,deleteIssueTypeFieldsAttachment:up,deleteIssueTypeFieldsAttachments:lp}=Ci.actions,op=t=>t.issueTypeFieldsAttachmentReducer.instances,$i=l.createSelector([op],t=>Object.values(t)),tg=y(l.createSelector([$i,(t,s)=>s],(t,s)=>S(t.filter(e=>e.fields_revision===s)))),hp=t=>s=>s.issueTypeFieldsAttachmentReducer.instances[t],mp=y(l.createSelector([$i,(t,s)=>s],(t,s)=>{const e=new Set(s);return S(t.filter(({uuid:n})=>e.has(n)))})),pp=Ci.reducer,ge=F(t=>t.uuid),yp={instances:{}},Ui=l.createSlice({name:"issueTypeFieldValues",initialState:yp,extraReducers:t=>t.addMatcher(l.isAnyOf(O,B,b),s=>Object.assign(s,yp)),reducers:{initializeIssueTypeFieldValues:ge.initialize,addIssueTypeFieldValues:ge.addOne,addIssueTypeFieldValuesMany:ge.addMany,setIssueTypeFieldValues:ge.setOne,setIssueTypeFieldValuesMany:ge.setMany,updateIssueTypeFieldValues:ge.updateOne,updateIssueTypeFieldValuesMany:ge.updateMany,deleteIssueTypeFieldValues:ge.deleteOne,deleteIssueTypeFieldValuesMany:ge.deleteMany}}),{initializeIssueTypeFieldValues:fp,addIssueTypeFieldValues:Sp,addIssueTypeFieldValuesMany:Ap,setIssueTypeFieldValues:Ip,setIssueTypeFieldValuesMany:Tp,updateIssueTypeFieldValues:Op,updateIssueTypeFieldValuesMany:Pp,deleteIssueTypeFieldValues:Fp,deleteIssueTypeFieldValuesMany:bp}=Ui.actions,_p=t=>t.issueTypeFieldValuesReducer.instances,ts=l.createSelector([_p],t=>Object.values(t)),sg=y(l.createSelector([ts,(t,s)=>s],(t,s)=>S(t.filter(e=>e.issue===s)))),gp=t=>s=>s.issueTypeFieldValuesReducer.instances[t],Mp=y(l.createSelector([ts,(t,s)=>s],(t,s)=>{const e=new Set(s);return S(t.filter(({uuid:n})=>e.has(n)))})),Rp=Ui.reducer,Me=F(t=>t.uuid),wp={instances:{}},Li=l.createSlice({name:"issueTypeFields",initialState:wp,extraReducers:t=>t.addMatcher(l.isAnyOf(O,b),s=>Object.assign(s,wp)),reducers:{initializeIssueTypeFields:Me.initialize,addIssueTypeFields:Me.addOne,addIssueTypeFieldsMany:Me.addMany,setIssueTypeFields:Me.setOne,setIssueTypeFieldsMany:Me.setMany,updateIssueTypeFields:Me.updateOne,updateIssueTypeFieldsMany:Me.updateMany,deleteIssueTypeFields:Me.deleteOne,deleteIssueTypeFieldsMany:Me.deleteMany}}),{initializeIssueTypeFields:vp,addIssueTypeFields:Ep,addIssueTypeFieldsMany:Vp,setIssueTypeFields:Bp,setIssueTypeFieldsMany:zp,updateIssueTypeFields:Dp,updateIssueTypeFieldsMany:jp,deleteIssueTypeFields:qp,deleteIssueTypeFieldsMany:Cp}=Li.actions,$p=t=>t.issueTypeFieldsReducer.instances,Bt=l.createSelector([$p],t=>Object.values(t)),ig=y(l.createSelector([Bt,(t,s)=>s],(t,s)=>S(t.filter(e=>e.issue_type===s)))),ng=y(l.createSelector([Bt,(t,s)=>s],(t,s)=>t.filter(e=>e.issue_type===s).sort((e,n)=>e.submitted_at>n.submitted_at?-1:1)[0])),ag=y(l.createSelector([Bt,ts,(t,s)=>s],(t,s,e)=>{const n=new Set(t.filter(a=>a.issue_type===e).map(a=>a.uuid));return S(s.filter(a=>n.has(a.fields_revision)))})),Up=t=>s=>s.issueTypeFieldsReducer.instances[t],Lp=y(l.createSelector([Bt,(t,s)=>s],(t,s)=>{const e=new Set(s);return S(t.filter(({uuid:n})=>e.has(n)))})),kp=Li.reducer,Re=F(t=>t.uuid),Np={instances:{}},ki=l.createSlice({name:"issueTypeFieldValuesAttachments",initialState:Np,extraReducers:t=>t.addMatcher(l.isAnyOf(O,B,b),s=>Object.assign(s,Np)),reducers:{initializeIssueTypeFieldValuesAttachments:Re.initialize,addIssueTypeFieldValuesAttachment:Re.addOne,addIssueTypeFieldValuesAttachments:Re.addMany,setIssueTypeFieldValuesAttachment:Re.setOne,setIssueTypeFieldValuesAttachments:Re.setMany,updateIssueTypeFieldValuesAttachment:Re.updateOne,updateIssueTypeFieldValuesAttachments:Re.updateMany,deleteIssueTypeFieldValuesAttachment:Re.deleteOne,deleteIssueTypeFieldValuesAttachments:Re.deleteMany}}),{initializeIssueTypeFieldValuesAttachments:Gp,addIssueTypeFieldValuesAttachment:Hp,addIssueTypeFieldValuesAttachments:Ni,setIssueTypeFieldValuesAttachment:Wp,setIssueTypeFieldValuesAttachments:Kp,updateIssueTypeFieldValuesAttachment:Yp,updateIssueTypeFieldValuesAttachments:Zp,deleteIssueTypeFieldValuesAttachment:Jp,deleteIssueTypeFieldValuesAttachments:Gi}=ki.actions,Xp=t=>t.issueTypeFieldValuesAttachmentReducer.instances,Hi=l.createSelector([Xp],t=>Object.values(t)),Qp=t=>s=>s.issueTypeFieldValuesAttachmentReducer.instances[t],xp=y(l.createSelector([Hi,(t,s)=>s],(t,s)=>{const e=new Set(s);return S(t.filter(({uuid:n})=>e.has(n)))})),ey=y(l.createSelector([Hi,(t,s)=>s],(t,s)=>S(t.filter(e=>e.field_values===s)))),ty=ki.reducer,we=F(t=>t.uuid),sy={instances:{}},Wi=l.createSlice({name:"issueTypeIdentifiers",initialState:sy,extraReducers:t=>t.addMatcher(l.isAnyOf(O,b),s=>Object.assign(s,sy)),reducers:{initializeIssueTypeIdentifiers:we.initialize,addIssueTypeIdentifier:we.addOne,addIssueTypeIdentifiers:we.addMany,setIssueTypeIdentifier:we.setOne,setIssueTypeIdentifiers:we.setMany,updateIssueTypeIdentifier:we.updateOne,updateIssueTypeIdentifiers:we.updateMany,deleteIssueTypeIdentifier:we.deleteOne,deleteIssueTypeIdentifiers:we.deleteMany}}),{initializeIssueTypeIdentifiers:iy,addIssueTypeIdentifier:ny,addIssueTypeIdentifiers:ay,setIssueTypeIdentifier:cy,setIssueTypeIdentifiers:ry,updateIssueTypeIdentifier:dy,updateIssueTypeIdentifiers:uy,deleteIssueTypeIdentifier:ly,deleteIssueTypeIdentifiers:oy}=Wi.actions,hy=t=>t.issueTypeIdentifierReducer.instances,Ki=l.createSelector([hy],t=>Object.values(t)),my=t=>s=>s.issueTypeIdentifierReducer.instances[t],py=y(l.createSelector([Ki,(t,s)=>s],(t,s)=>{const e=new Set(s);return S(t.filter(({uuid:n})=>e.has(n)))})),cg=y(l.createSelector([Ki,(t,s)=>s],(t,s)=>S(t.filter(e=>e.issue_type===s)))),yy=Wi.reducer,ve=F(t=>t.uuid),fy={instances:{}},Yi=l.createSlice({name:"issueTypeIdentifierValues",initialState:fy,extraReducers:t=>t.addMatcher(l.isAnyOf(O,B,b),s=>Object.assign(s,fy)),reducers:{initializeIssueTypeIdentifierValues:ve.initialize,addIssueTypeIdentifierValue:ve.addOne,addIssueTypeIdentifierValues:ve.addMany,setIssueTypeIdentifierValue:ve.setOne,setIssueTypeIdentifierValues:ve.setMany,updateIssueTypeIdentifierValue:ve.updateOne,updateIssueTypeIdentifierValues:ve.updateMany,deleteIssueTypeIdentifierValue:ve.deleteOne,deleteIssueTypeIdentifierValues:ve.deleteMany}}),{initializeIssueTypeIdentifierValues:Sy,addIssueTypeIdentifierValue:Ay,addIssueTypeIdentifierValues:Iy,setIssueTypeIdentifierValue:Ty,setIssueTypeIdentifierValues:Oy,updateIssueTypeIdentifierValue:Py,updateIssueTypeIdentifierValues:Fy,deleteIssueTypeIdentifierValue:by,deleteIssueTypeIdentifierValues:_y}=Yi.actions,gy=t=>t.issueTypeIdentifierValueReducer.instances,ss=l.createSelector([gy],t=>Object.values(t)),My=t=>s=>s.issueTypeIdentifierValueReducer.instances[t],Ry=y(l.createSelector([ss,(t,s)=>s],(t,s)=>{const e=new Set(s);return S(t.filter(({uuid:n})=>e.has(n)))})),rg=y(l.createSelector([ss,(t,s)=>s],(t,s)=>S(t.filter(e=>e.issue===s)))),dg=y(l.createSelector([ss,(t,s)=>s],(t,s)=>S(t.filter(e=>e.issue_type_identifier===s)))),wy=Yi.reducer,Ee=F(t=>t.uuid),vy={instances:{}},Zi=l.createSlice({name:"issueTypePriorities",initialState:vy,extraReducers:t=>t.addMatcher(l.isAnyOf(O,b),s=>Object.assign(s,vy)),reducers:{initializeIssueTypePriorities:Ee.initialize,addIssueTypePriority:Ee.addOne,addIssueTypePriorities:Ee.addMany,setIssueTypePriority:Ee.setOne,setIssueTypePriorities:Ee.setMany,updateIssueTypePriority:Ee.updateOne,updateIssueTypePriorities:Ee.updateMany,deleteIssueTypePriority:Ee.deleteOne,deleteIssueTypePriorities:Ee.deleteMany}}),{initializeIssueTypePriorities:Ey,addIssueTypePriority:Vy,addIssueTypePriorities:By,setIssueTypePriority:zy,setIssueTypePriorities:Dy,updateIssueTypePriority:jy,updateIssueTypePriorities:qy,deleteIssueTypePriority:Cy,deleteIssueTypePriorities:$y}=Zi.actions,Uy=t=>t.issueTypePriorityReducer.instances,Ji=l.createSelector([Uy],t=>S(Object.values(t).toSorted(Ya))),Xi=t=>s=>s.issueTypePriorityReducer.instances[t],Ly=y(l.createSelector([Ji,(t,s)=>s],(t,s)=>{const e=new Set(s);return S(t.filter(({uuid:n})=>e.has(n)))})),ug=y(l.createSelector([Ji,(t,s)=>s],(t,s)=>S(t.filter(e=>e.issue_type===s)))),ky=Zi.reducer,Ve=F(t=>t.uuid),Ny={instances:{}},Qi=l.createSlice({name:"issueTypes",initialState:Ny,extraReducers:t=>t.addMatcher(l.isAnyOf(O,b),s=>Object.assign(s,Ny)),reducers:{initializeIssueTypes:Ve.initialize,addIssueType:Ve.addOne,addIssueTypes:Ve.addMany,setIssueType:Ve.setOne,setIssueTypes:Ve.setMany,updateIssueType:Ve.updateOne,updateIssueTypes:Ve.updateMany,deleteIssueType:Ve.deleteOne,deleteIssueTypes:Ve.deleteMany}}),{initializeIssueTypes:Gy,addIssueType:Hy,addIssueTypes:Wy,setIssueType:Ky,setIssueTypes:Yy,updateIssueType:Zy,updateIssueTypes:Jy,deleteIssueType:Xy,deleteIssueTypes:Qy}=Qi.actions,xy=t=>t.issueTypeReducer.instances,xi=l.createSelector(xy,t=>Object.values(t)),ef=t=>s=>s.issueTypeReducer.instances[t],tf=y(l.createSelector([xi,(t,s)=>s],(t,s)=>{const e=new Set(s);return S(t.filter(({uuid:n})=>e.has(n)))})),lg=y(l.createSelector([xi,(t,s)=>s],(t,s)=>S(t.filter(e=>e.organization===s)))),sf=Qi.reducer,Be=F(t=>t.uuid),nf={instances:{}},en=l.createSlice({name:"issueTypeStatuses",initialState:nf,extraReducers:t=>t.addMatcher(l.isAnyOf(O,b),s=>Object.assign(s,nf)),reducers:{initializeIssueTypeStatuses:Be.initialize,addIssueTypeStatus:Be.addOne,addIssueTypeStatuses:Be.addMany,setIssueTypeStatus:Be.setOne,setIssueTypeStatuses:Be.setMany,updateIssueTypeStatus:Be.updateOne,updateIssueTypeStatuses:Be.updateMany,deleteIssueTypeStatus:Be.deleteOne,deleteIssueTypeStatuses:Be.deleteMany}}),{initializeIssueTypeStatuses:af,addIssueTypeStatus:cf,addIssueTypeStatuses:rf,setIssueTypeStatus:df,setIssueTypeStatuses:uf,updateIssueTypeStatus:lf,updateIssueTypeStatuses:of,deleteIssueTypeStatus:hf,deleteIssueTypeStatuses:mf}=en.actions,pf=t=>t.issueTypeStatusReducer.instances,tn=l.createSelector([pf],t=>S(Object.values(t).toSorted(Ka))),sn=t=>s=>s.issueTypeStatusReducer.instances[t],yf=y(l.createSelector([tn,(t,s)=>s],(t,s)=>{const e=new Set(s);return S(t.filter(({uuid:n})=>e.has(n)))})),og=y(l.createSelector([tn,(t,s)=>s],(t,s)=>S(t.filter(e=>e.issue_type===s)))),ff=en.reducer,ze=F(t=>t.uuid),Sf={instances:{}},nn=l.createSlice({name:"issueUpdates",initialState:Sf,extraReducers:t=>t.addMatcher(l.isAnyOf(O,B,b),s=>Object.assign(s,Sf)),reducers:{initializeIssueUpdates:ze.initialize,addIssueUpdate:ze.addOne,addIssueUpdates:ze.addMany,setIssueUpdate:ze.setOne,setIssueUpdates:ze.setMany,updateIssueUpdate:ze.updateOne,updateIssueUpdates:ze.updateMany,deleteIssueUpdate:ze.deleteOne,deleteIssueUpdates:ze.deleteMany}}),{initializeIssueUpdates:Af,addIssueUpdate:an,addIssueUpdates:cn,setIssueUpdate:If,setIssueUpdates:Tf,updateIssueUpdate:Of,updateIssueUpdates:Pf,deleteIssueUpdate:rn,deleteIssueUpdates:dn}=nn.actions,un=t=>t.issueUpdateReducer.instances,ln=l.createSelector([un],t=>Object.values(t)),Ff=y(l.createSelector([un,(t,s)=>s],(t,s)=>t[s])),bf=y(l.createSelector([ln,(t,s)=>s],(t,s)=>{const e=new Set(s);return S(t.filter(({uuid:n})=>e.has(n)))})),_f=y(l.createSelector([ln,(t,s)=>s],(t,s)=>S(t.filter(e=>e.issue===s)))),gf=nn.reducer,De=F(t=>t.id),Mf={instances:{},currentUser:null},on=l.createSlice({name:"users",initialState:Mf,extraReducers:t=>t.addCase(O,s=>Object.assign(s,Mf)).addCase(b,s=>Object.assign(s,{...s,instances:[]})),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},setCurrentUserProfile:(t,s)=>{if(!t.currentUser)return;t.currentUser.profile=s.payload;const e=t.instances[t.currentUser.id];if(!e)throw new Error("Unable to find current user in users slice");e.profile=s.payload}}}),{initializeUsers:Rf,setUsers:wf,setUser:vf,addUsers:Ef,addUser:hn,updateUsers:Vf,updateUser:Bf,deleteUser:mn,deleteUsers:zf,setCurrentUser:hg,setCurrentUserProfile:mg}=on.actions,Df=on.reducer,jf=t=>t.userReducer.currentUser,pn=t=>t.userReducer.instances,is=l.createSelector([pn],t=>Object.values(t)),ns=t=>s=>s.userReducer.instances[t],qf=y(l.createSelector([is,(t,s)=>s],(t,s)=>{const e=new Set(s);return S(t.filter(({id:n})=>e.has(n)))})),je=F(t=>t.uuid),Cf={instances:{}},yn=l.createSlice({name:"organizationAccess",initialState:Cf,extraReducers:t=>t.addMatcher(l.isAnyOf(O,b),s=>Object.assign(s,Cf)),reducers:{initializeOrganizationAccesses:je.initialize,addOrganizationAccess:je.addOne,addOrganizationAccesses:je.addMany,setOrganizationAccess:je.setOne,setOrganizationAccesses:je.setMany,updateOrganizationAccess:je.updateOne,updateOrganizationAccesses:je.updateMany,deleteOrganizationAccess:je.deleteOne,deleteOrganizationAccesses:je.deleteMany}}),{initializeOrganizationAccesses:$f,addOrganizationAccess:Uf,addOrganizationAccesses:Lf,setOrganizationAccess:kf,setOrganizationAccesses:Nf,updateOrganizationAccess:Gf,updateOrganizationAccesses:Hf,deleteOrganizationAccess:Wf,deleteOrganizationAccesses:Kf}=yn.actions,Yf=yn.reducer,as=t=>t.organizationAccessReducer.instances,Zf=t=>s=>s.organizationAccessReducer.instances[t],Jf=y(l.createSelector([as,(t,s)=>s],(t,s)=>{const e=new Set(s);return S(Object.values(t).filter(({uuid:n})=>e.has(n)))})),pg=l.createSelector([jf,as],(t,s)=>Object.values(s).find(n=>n.user===(t==null?void 0:t.id))??null),Xf=l.createSelector([as],t=>{const s={};for(const e of Object.values(t))s[e.user]=e;return fs(s)}),yg=y(l.createSelector([pn,Xf,(t,s)=>s],(t,s,e)=>S(Object.values(t).filter(n=>{const a=s[n.id];return!!a&&a.organization===e})))),qe=F(t=>t.uuid),Qf={instances:{}},fn=l.createSlice({name:"organizations",initialState:Qf,extraReducers:t=>t.addMatcher(l.isAnyOf(O),s=>Object.assign(s,Qf)),reducers:{initializeOrganizations:qe.initialize,setOrganizations:qe.setMany,setOrganization:qe.setOne,addOrganizations:qe.addMany,addOrganization:qe.addOne,updateOrganizations:qe.updateMany,updateOrganization:qe.updateOne,deleteOrganization:qe.deleteOne,deleteOrganizations:qe.deleteMany}}),{initializeOrganizations:xf,setOrganizations:eS,setOrganization:tS,addOrganizations:sS,addOrganization:iS,updateOrganizations:nS,updateOrganization:aS,deleteOrganization:cS,deleteOrganizations:rS}=fn.actions,dS=t=>t.organizationReducer.instances,uS=l.createSelector([dS],t=>Object.values(t)),lS=t=>s=>s.organizationReducer.instances[t],oS=y(l.createSelector([uS,(t,s)=>s],(t,s)=>{const e=new Set(s);return S(t.filter(({uuid:n})=>e.has(n)))})),hS=fn.reducer,mS=(t,s,e)=>{const n=t.uuid?t:{...t,uuid:ot.v4()};return{payload:n,type:"",meta:{offline:{effect:{timestamp:new Date().toISOString(),request:n,BASE_URL:s,serviceName:e}}}}},pS={deletedRequests:[],latestRetryTime:0},Sn=l.createSlice({name:"outbox",initialState:pS,extraReducers:t=>t.addCase(O,s=>Object.assign(s,pS)),reducers:{enqueueRequest:{reducer:(t,s)=>t,prepare:t=>{console.debug("Preparing to enqueue request",t.url);const{BASE_URL:s,serviceName:e,...n}=t;return mS(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}}}),fg=t=>t.outboxReducer.deletedRequests,Sg=t=>t.outboxReducer.latestRetryTime,{enqueueRequest:yS,markForDeletion:Ag,markAsDeleted:fS,_setLatestRetryTime:SS}=Sn.actions,AS=Sn.reducer,Ce=F(t=>t.uuid),IS={instances:{}},An=l.createSlice({name:"projectAccess",initialState:IS,extraReducers:t=>t.addMatcher(l.isAnyOf(O,b),s=>Object.assign(s,IS)),reducers:{initializeProjectAccesses:Ce.initialize,addProjectAccess:Ce.addOne,addProjectAccesses:Ce.addMany,setProjectAccess:Ce.setOne,setProjectAccesses:Ce.setMany,updateProjectAccess:Ce.updateOne,updateProjectAccesses:Ce.updateMany,deleteProjectAccess:Ce.deleteOne,deleteProjectAccesses:Ce.deleteMany}}),{initializeProjectAccesses:TS,addProjectAccess:OS,addProjectAccesses:PS,setProjectAccess:FS,setProjectAccesses:bS,updateProjectAccess:_S,updateProjectAccesses:gS,deleteProjectAccess:MS,deleteProjectAccesses:RS}=An.actions,wS=An.reducer,In=t=>t.projectAccessReducer.instances,zt=l.createSelector(In,t=>Object.values(t)),vS=t=>s=>s.projectAccessReducer.instances[t],ES=y(l.createSelector([zt,(t,s)=>s],(t,s)=>{const e=new Set(s);return S(t.filter(({uuid:n})=>e.has(n)))})),Ig=y(l.createSelector([In,(t,s)=>s],(t,s)=>S(Object.values(t).filter(e=>e.project===s)))),Tg=y(l.createSelector([zt,(t,s)=>s],(t,s)=>{const e={};for(const n of t.filter(a=>a.project===s))e[n.user]=n;return e})),Og=y(l.createSelector([is,zt,(t,s)=>s],(t,s,e)=>{const n=new Set(s.filter(a=>a.project===e).map(a=>a.user));return S(t.filter(a=>n.has(a.id)))})),$e=F(t=>t.uuid),VS={instances:{}},Tn=l.createSlice({name:"projectAttachments",initialState:VS,extraReducers:t=>t.addMatcher(l.isAnyOf(O,b),s=>Object.assign(s,VS)),reducers:{initializeProjectAttachments:$e.initialize,addProjectAttachment:$e.addOne,addProjectAttachments:$e.addMany,setProjectAttachment:$e.setOne,setProjectAttachments:$e.setMany,updateProjectAttachment:$e.updateOne,updateProjectAttachments:$e.updateMany,deleteProjectAttachment:$e.deleteOne,deleteProjectAttachments:$e.deleteMany}}),{initializeProjectAttachments:BS,addProjectAttachment:zS,addProjectAttachments:DS,setProjectAttachment:jS,setProjectAttachments:qS,updateProjectAttachment:CS,updateProjectAttachments:$S,deleteProjectAttachment:US,deleteProjectAttachments:LS}=Tn.actions,kS=t=>t.projectAttachmentReducer.instances,On=l.createSelector([kS],t=>Object.values(t)),NS=t=>s=>s.projectAttachmentReducer.instances[t],GS=y(l.createSelector([On,(t,s)=>s],(t,s)=>{const e=new Set(s);return S(t.filter(({uuid:n})=>e.has(n)))})),Pg=y(l.createSelector([On,(t,s)=>s],(t,s)=>S(t.filter(({project:e})=>s===e)))),HS=Tn.reducer,Ue=F(t=>t.uuid),WS={instances:{}},Pn=l.createSlice({name:"projectComments",initialState:WS,extraReducers:t=>t.addMatcher(l.isAnyOf(O,B,b),s=>Object.assign(s,WS)),reducers:{initializeProjectComments:Ue.initialize,addProjectComment:Ue.addOne,addProjectComments:Ue.addMany,setProjectComment:Ue.setOne,setProjectComments:Ue.setMany,updateProjectComment:Ue.updateOne,updateProjectComments:Ue.updateMany,deleteProjectComment:Ue.deleteOne,deleteProjectComments:Ue.deleteMany}}),{initializeProjectComments:KS,addProjectComment:YS,addProjectComments:ZS,setProjectComment:JS,setProjectComments:XS,updateProjectComment:QS,updateProjectComments:xS,deleteProjectComment:eA,deleteProjectComments:tA}=Pn.actions,sA=t=>t.projectCommentReducer.instances,cs=l.createSelector([sA],t=>S(Object.values(t).toSorted(Pt))),iA=t=>s=>s.projectCommentReducer.instances[t],nA=y(l.createSelector([cs,(t,s)=>s],(t,s)=>{const e=new Set(s);return S(t.filter(({uuid:n})=>e.has(n)))})),Fg=y(l.createSelector([cs,(t,s)=>s],(t,s)=>S(t.filter(e=>e.project===s)))),bg=y(l.createSelector([cs,(t,s)=>s],(t,s)=>{const e=new Set(s);return S(t.filter(n=>e.has(n.project)))})),aA=Pn.reducer,Le=F(t=>t.uuid),cA={instances:{}},Fn=l.createSlice({name:"projectFiles",initialState:cA,extraReducers:t=>t.addMatcher(l.isAnyOf(O,B,b),s=>Object.assign(s,cA)),reducers:{initializeProjectFiles:Le.initialize,setProjectFile:Le.setOne,setProjectFiles:Le.setMany,addProjectFile:Le.addOne,addProjectFiles:Le.addMany,updateProjectFile:Le.updateOne,updateProjectFiles:Le.updateMany,deleteProjectFile:Le.deleteOne,deleteProjectFiles:Le.deleteMany}}),{initializeProjectFiles:rA,setProjectFile:dA,setProjectFiles:uA,addProjectFile:lA,addProjectFiles:oA,updateProjectFile:hA,updateProjectFiles:mA,deleteProjectFile:pA,deleteProjectFiles:yA}=Fn.actions,fA=t=>t.projectFileReducer.instances,SA=l.createSelector([fA],t=>S(Object.values(t).toSorted((s,e)=>s.z_index-e.z_index))),AA=t=>s=>s.projectFileReducer.instances[t],IA=y(l.createSelector([SA,(t,s)=>s],(t,s)=>{const e=new Set(s);return S(t.filter(({uuid:n})=>e.has(n)))})),TA=Fn.reducer,ke=F(t=>t.uuid),OA={instances:{}},bn=l.createSlice({name:"projects",initialState:OA,extraReducers:t=>t.addMatcher(l.isAnyOf(O,b),s=>Object.assign(s,OA)),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:PA,setProjects:FA,setProject:bA,addProjects:_A,addProject:gA,updateProjects:MA,updateProject:RA,deleteProject:wA,deleteProjects:vA}=bn.actions,EA=bn.reducer,VA=t=>t.projectReducer.instances,rs=l.createSelector([VA],t=>Object.values(t)),BA=t=>s=>s.projectReducer.instances[t],zA=y(l.createSelector([rs,(t,s)=>s],(t,s)=>{const e=new Set(s);return S(t.filter(({uuid:n})=>e.has(n)))})),_g=y(l.createSelector([rs,zt,(t,s)=>s],(t,s,e)=>{const n=new Set(s.filter(a=>a.user===e).map(a=>a.project));return S(t.filter(a=>n.has(a.uuid)))})),gg=y(l.createSelector([rs,(t,s)=>s],(t,s)=>S(t.filter(e=>e.organization===s)))),Ne=F(({uuid:t})=>t),DA={instances:{}},_n=l.createSlice({name:"procedureInitiatives",initialState:DA,extraReducers:t=>t.addMatcher(l.isAnyOf(O,B,b),s=>Object.assign(s,DA)),reducers:{initializeProcedureInitiatives:Ne.initialize,addProcedureInitiative:Ne.addOne,addProcedureInitiatives:Ne.addMany,setProcedureInitiative:Ne.setOne,setProcedureInitiatives:Ne.setMany,updateProcedureInitiative:Ne.updateOne,updateProcedureInitiatives:Ne.updateMany,deleteProcedureInitiative:Ne.deleteOne,deleteProcedureInitiatives:Ne.deleteMany}}),{initializeProcedureInitiatives:jA,addProcedureInitiative:qA,addProcedureInitiatives:CA,setProcedureInitiative:$A,setProcedureInitiatives:UA,updateProcedureInitiative:LA,updateProcedureInitiatives:kA,deleteProcedureInitiative:NA,deleteProcedureInitiatives:GA}=_n.actions,HA=_n.reducer,WA=t=>t.procedureInitiativeReducer.instances,ds=l.createSelector([WA],t=>Object.values(t)),KA=t=>s=>s.procedureInitiativeReducer.instances[t],YA=y(l.createSelector([ds,(t,s)=>s],(t,s)=>{const e=new Set(s);return S(t.filter(({uuid:n})=>e.has(n)))})),Mg=y(l.createSelector([ds,(t,s)=>s],(t,s)=>S(t.filter(e=>e.project===s)))),Rg=y(l.createSelector([ds,(t,s)=>s],(t,s)=>S(t.filter(e=>e.procedure_type===s)))),Ge=F(({uuid:t})=>t),ZA={instances:{}},gn=l.createSlice({name:"procedures",initialState:ZA,extraReducers:t=>t.addMatcher(l.isAnyOf(O,B,b),s=>Object.assign(s,ZA)),reducers:{initializeProcedures:Ge.initialize,addProcedure:Ge.addOne,addProcedures:Ge.addMany,setProcedure:Ge.setOne,setProcedures:Ge.setMany,updateProcedure:Ge.updateOne,updateProcedures:Ge.updateMany,deleteProcedure:Ge.deleteOne,deleteProcedures:Ge.deleteMany}}),{initializeProcedures:JA,addProcedure:XA,addProcedures:gt,setProcedure:QA,setProcedures:xA,updateProcedure:eI,updateProcedures:tI,deleteProcedure:sI,deleteProcedures:Mt}=gn.actions,iI=gn.reducer,nI=t=>t.procedureReducer.instances,yt=l.createSelector([nI],t=>Object.values(t)),aI=t=>s=>s.procedureReducer.instances[t],cI=y(l.createSelector([yt,(t,s)=>s],(t,s)=>{const e=new Set(s);return S(t.filter(({uuid:n})=>e.has(n)))})),wg=y(l.createSelector([yt,(t,s)=>s],(t,s)=>S(t.filter(e=>e.project===s)))),rI=y(l.createSelector([yt,(t,s)=>s],(t,s)=>S(t.filter(e=>e.procedure_type===s)))),dI=y(l.createSelector([yt,(t,s)=>s],(t,s)=>S(t.filter(e=>e.asset===s)))),uI=y(l.createSelector([yt,(t,s)=>s],(t,s)=>{const e=new Set(s);return S(t.filter(({asset:n})=>e.has(n)))})),lI=y(l.createSelector([yt,(t,s)=>s],(t,s)=>S(t.filter(e=>e.procedure_initiative===s)))),He=F(t=>t.uuid),oI={instances:{}},Mn=l.createSlice({name:"procedureStepAssignees",initialState:oI,extraReducers:t=>t.addMatcher(l.isAnyOf(O,B,b),s=>Object.assign(s,oI)),reducers:{initializeProcedureStepAssignees:He.initialize,addProcedureStepAssignee:He.addOne,addProcedureStepAssignees:He.addMany,setProcedureStepAssignee:He.setOne,setProcedureStepAssignees:He.setMany,updateProcedureStepAssignee:He.updateOne,updateProcedureStepAssignees:He.updateMany,deleteProcedureStepAssignee:He.deleteOne,deleteProcedureStepAssignees:He.deleteMany}}),{initializeProcedureStepAssignees:hI,addProcedureStepAssignee:mI,addProcedureStepAssignees:pI,setProcedureStepAssignee:yI,setProcedureStepAssignees:fI,updateProcedureStepAssignee:SI,updateProcedureStepAssignees:AI,deleteProcedureStepAssignee:II,deleteProcedureStepAssignees:TI}=Mn.actions,OI=t=>t.procedureStepAssigneeReducer.instances,Dt=l.createSelector([OI],t=>Object.values(t)),PI=t=>s=>s.procedureStepAssigneeReducer.instances[t],FI=y(l.createSelector([Dt,(t,s)=>s],(t,s)=>{const e=new Set(s);return S(t.filter(({uuid:n})=>e.has(n)))})),vg=y(l.createSelector([Dt,(t,s)=>s],(t,s)=>S(t.filter(e=>e.procedure===s)))),Eg=y(l.createSelector([Dt,(t,s)=>s],(t,s)=>S(t.filter(e=>e.procedure_step===s)))),Vg=y(l.createSelector([Dt,(t,s)=>s,(t,s,e)=>e],(t,s,e)=>S(t.filter(({procedure:n,procedure_step:a})=>n===s&&a===e)))),bI=Mn.reducer,We=F(t=>t.uuid),_I={instances:{}},Rn=l.createSlice({name:"procedureStepComments",initialState:_I,extraReducers:t=>t.addMatcher(l.isAnyOf(O,B,b),s=>Object.assign(s,_I)),reducers:{initializeProcedureStepComments:We.initialize,addProcedureStepComment:We.addOne,addProcedureStepComments:We.addMany,setProcedureStepComment:We.setOne,setProcedureStepComments:We.setMany,updateProcedureStepComment:We.updateOne,updateProcedureStepComments:We.updateMany,deleteProcedureStepComment:We.deleteOne,deleteProcedureStepComments:We.deleteMany}}),{initializeProcedureStepComments:gI,addProcedureStepComment:MI,addProcedureStepComments:RI,setProcedureStepComment:wI,setProcedureStepComments:vI,updateProcedureStepComment:EI,updateProcedureStepComments:VI,deleteProcedureStepComment:BI,deleteProcedureStepComments:zI}=Rn.actions,DI=t=>t.procedureStepCommentReducer.instances,jt=l.createSelector([DI],t=>Object.values(t)),jI=t=>s=>s.procedureStepCommentReducer.instances[t],qI=y(l.createSelector([jt,(t,s)=>s],(t,s)=>{const e=new Set(s);return S(t.filter(({uuid:n})=>e.has(n)))})),Bg=y(l.createSelector([jt,(t,s)=>s],(t,s)=>S(t.filter(e=>e.procedure===s)))),zg=y(l.createSelector([jt,(t,s)=>s],(t,s)=>S(t.filter(e=>e.procedure_step===s)))),Dg=y(l.createSelector([jt,(t,s)=>s,(t,s,e)=>e],(t,s,e)=>S(t.filter(({procedure:n,procedure_step:a})=>n===s&&a===e)))),CI=Rn.reducer,Ke=F(t=>t.uuid),$I={instances:{}},wn=l.createSlice({name:"procedureStepDefaultAssignees",initialState:$I,extraReducers:t=>t.addMatcher(l.isAnyOf(O,b),s=>Object.assign(s,$I)),reducers:{initializeProcedureStepDefaultAssignees:Ke.initialize,addProcedureStepDefaultAssignee:Ke.addOne,addProcedureStepDefaultAssignees:Ke.addMany,setProcedureStepDefaultAssignee:Ke.setOne,setProcedureStepDefaultAssignees:Ke.setMany,updateProcedureStepDefaultAssignee:Ke.updateOne,updateProcedureStepDefaultAssignees:Ke.updateMany,deleteProcedureStepDefaultAssignee:Ke.deleteOne,deleteProcedureStepDefaultAssignees:Ke.deleteMany}}),{initializeProcedureStepDefaultAssignees:UI,addProcedureStepDefaultAssignee:LI,addProcedureStepDefaultAssignees:kI,setProcedureStepDefaultAssignee:NI,setProcedureStepDefaultAssignees:GI,updateProcedureStepDefaultAssignee:HI,updateProcedureStepDefaultAssignees:WI,deleteProcedureStepDefaultAssignee:KI,deleteProcedureStepDefaultAssignees:YI}=wn.actions,ZI=t=>t.procedureStepDefaultAssigneeReducer.instances,vn=l.createSelector([ZI],t=>Object.values(t)),JI=t=>s=>s.procedureStepDefaultAssigneeReducer.instances[t],XI=y(l.createSelector([vn,(t,s)=>s],(t,s)=>{const e=new Set(s);return S(t.filter(({uuid:n})=>e.has(n)))})),jg=y(l.createSelector([vn,(t,s)=>s],(t,s)=>S(t.filter(e=>e.procedure_step===s)))),QI=wn.reducer,Ye=F(t=>t.uuid),xI={instances:{}},En=l.createSlice({name:"procedureStepDefaultReviewers",initialState:xI,extraReducers:t=>t.addMatcher(l.isAnyOf(O,b),s=>Object.assign(s,xI)),reducers:{initializeProcedureStepDefaultReviewers:Ye.initialize,addProcedureStepDefaultReviewer:Ye.addOne,addProcedureStepDefaultReviewers:Ye.addMany,setProcedureStepDefaultReviewer:Ye.setOne,setProcedureStepDefaultReviewers:Ye.setMany,updateProcedureStepDefaultReviewer:Ye.updateOne,updateProcedureStepDefaultReviewers:Ye.updateMany,deleteProcedureStepDefaultReviewer:Ye.deleteOne,deleteProcedureStepDefaultReviewers:Ye.deleteMany}}),{initializeProcedureStepDefaultReviewers:eT,addProcedureStepDefaultReviewer:tT,addProcedureStepDefaultReviewers:sT,setProcedureStepDefaultReviewer:iT,setProcedureStepDefaultReviewers:nT,updateProcedureStepDefaultReviewer:aT,updateProcedureStepDefaultReviewers:cT,deleteProcedureStepDefaultReviewer:rT,deleteProcedureStepDefaultReviewers:dT}=En.actions,uT=t=>t.procedureStepDefaultReviewerReducer.instances,Vn=l.createSelector([uT],t=>Object.values(t)),lT=t=>s=>s.procedureStepDefaultReviewerReducer.instances[t],oT=y(l.createSelector([Vn,(t,s)=>s],(t,s)=>{const e=new Set(s);return S(t.filter(({uuid:n})=>e.has(n)))})),qg=y(l.createSelector([Vn,(t,s)=>s],(t,s)=>S(t.filter(e=>e.procedure_step===s)))),hT=En.reducer,Ze=F(t=>t.uuid),mT={instances:{}},Bn=l.createSlice({name:"procedureStepEvents",initialState:mT,extraReducers:t=>t.addMatcher(l.isAnyOf(O,B,b),s=>Object.assign(s,mT)),reducers:{initializeProcedureStepEvents:Ze.initialize,addProcedureStepEvent:Ze.addOne,addProcedureStepEvents:Ze.addMany,setProcedureStepEvent:Ze.setOne,setProcedureStepEvents:Ze.setMany,updateProcedureStepEvent:Ze.updateOne,updateProcedureStepEvents:Ze.updateMany,deleteProcedureStepEvent:Ze.deleteOne,deleteProcedureStepEvents:Ze.deleteMany}}),{initializeProcedureStepEvents:pT,addProcedureStepEvent:yT,addProcedureStepEvents:fT,setProcedureStepEvent:ST,setProcedureStepEvents:AT,updateProcedureStepEvent:IT,updateProcedureStepEvents:TT,deleteProcedureStepEvent:OT,deleteProcedureStepEvents:PT}=Bn.actions,FT=t=>t.procedureStepEventReducer.instances,qt=l.createSelector([FT],t=>Object.values(t)),bT=t=>s=>s.procedureStepEventReducer.instances[t],_T=y(l.createSelector([qt,(t,s)=>s],(t,s)=>{const e=new Set(s);return S(t.filter(({uuid:n})=>e.has(n)))})),Cg=y(l.createSelector([qt,(t,s)=>s],(t,s)=>S(t.filter(e=>e.procedure===s)))),$g=y(l.createSelector([qt,(t,s)=>s],(t,s)=>S(t.filter(e=>e.procedure_step===s)))),Ug=y(l.createSelector([qt,(t,s)=>s,(t,s,e)=>e],(t,s,e)=>S(t.filter(({procedure:n,procedure_step:a})=>n===s&&a===e)))),gT=Bn.reducer,Je=F(t=>t.uuid),MT={instances:{}},zn=l.createSlice({name:"procedureStepFieldsAttachments",initialState:MT,extraReducers:t=>t.addMatcher(l.isAnyOf(O,b),s=>Object.assign(s,MT)),reducers:{initializeProcedureStepFieldsAttachments:Je.initialize,addProcedureStepFieldsAttachment:Je.addOne,addProcedureStepFieldsAttachments:Je.addMany,setProcedureStepFieldsAttachment:Je.setOne,setProcedureStepFieldsAttachments:Je.setMany,updateProcedureStepFieldsAttachment:Je.updateOne,updateProcedureStepFieldsAttachments:Je.updateMany,deleteProcedureStepFieldsAttachment:Je.deleteOne,deleteProcedureStepFieldsAttachments:Je.deleteMany}}),{initializeProcedureStepFieldsAttachments:RT,addProcedureStepFieldsAttachment:wT,addProcedureStepFieldsAttachments:Dn,setProcedureStepFieldsAttachment:vT,setProcedureStepFieldsAttachments:ET,updateProcedureStepFieldsAttachment:VT,updateProcedureStepFieldsAttachments:BT,deleteProcedureStepFieldsAttachment:zT,deleteProcedureStepFieldsAttachments:jn}=zn.actions,DT=t=>t.procedureStepFieldsAttachmentReducer.instances,qn=l.createSelector([DT],t=>Object.values(t)),jT=y(l.createSelector([qn,(t,s)=>s],(t,s)=>S(t.filter(e=>e.fields_revision===s)))),qT=t=>s=>s.procedureStepFieldsAttachmentReducer.instances[t],CT=y(l.createSelector([qn,(t,s)=>s],(t,s)=>{const e=new Set(s);return S(t.filter(({uuid:n})=>e.has(n)))})),$T=zn.reducer,Xe=F(t=>t.uuid),UT={instances:{}},Cn=l.createSlice({name:"procedureStepFields",initialState:UT,extraReducers:t=>t.addMatcher(l.isAnyOf(O,b),s=>Object.assign(s,UT)),reducers:{initializeProcedureStepFields:Xe.initialize,addProcedureStepFields:Xe.addOne,addProcedureStepFieldsMany:Xe.addMany,setProcedureStepFields:Xe.setOne,setProcedureStepFieldsMany:Xe.setMany,updateProcedureStepFields:Xe.updateOne,updateProcedureStepFieldsMany:Xe.updateMany,deleteProcedureStepFields:Xe.deleteOne,deleteProcedureStepFieldsMany:Xe.deleteMany}}),{initializeProcedureStepFields:LT,addProcedureStepFields:kT,addProcedureStepFieldsMany:NT,setProcedureStepFields:GT,setProcedureStepFieldsMany:HT,updateProcedureStepFields:WT,updateProcedureStepFieldsMany:KT,deleteProcedureStepFields:YT,deleteProcedureStepFieldsMany:ZT}=Cn.actions,$n=t=>t.procedureStepFieldsReducer.instances,us=l.createSelector([$n],t=>Object.values(t)),Lg=y(l.createSelector([us,(t,s)=>s],(t,s)=>S(t.filter(e=>e.procedure_step===s)))),kg=y(l.createSelector([us,(t,s)=>s],(t,s)=>t.filter(e=>e.procedure_step===s).toSorted(Pt).pop())),Ng=l.createSelector([$n],t=>{const s={};for(const e of Object.values(t)){const n=s[e.procedure_step];(!n||n.submitted_at<e.submitted_at)&&(s[e.procedure_step]=e)}return s}),JT=t=>s=>s.procedureStepFieldsReducer.instances[t],XT=y(l.createSelector([us,(t,s)=>s],(t,s)=>{const e=new Set(s);return S(t.filter(({uuid:n})=>e.has(n)))})),QT=Cn.reducer,Qe=F(t=>t.uuid),xT={instances:{}},Un=l.createSlice({name:"procedureStepFieldValuesAttachments",initialState:xT,extraReducers:t=>t.addMatcher(l.isAnyOf(O,B,b),s=>Object.assign(s,xT)),reducers:{initializeProcedureStepFieldValuesAttachments:Qe.initialize,addProcedureStepFieldValuesAttachment:Qe.addOne,addProcedureStepFieldValuesAttachments:Qe.addMany,setProcedureStepFieldValuesAttachment:Qe.setOne,setProcedureStepFieldValuesAttachments:Qe.setMany,updateProcedureStepFieldValuesAttachment:Qe.updateOne,updateProcedureStepFieldValuesAttachments:Qe.updateMany,deleteProcedureStepFieldValuesAttachment:Qe.deleteOne,deleteProcedureStepFieldValuesAttachments:Qe.deleteMany}}),{initializeProcedureStepFieldValuesAttachments:eO,addProcedureStepFieldValuesAttachment:tO,addProcedureStepFieldValuesAttachments:Ln,setProcedureStepFieldValuesAttachment:sO,setProcedureStepFieldValuesAttachments:iO,updateProcedureStepFieldValuesAttachment:nO,updateProcedureStepFieldValuesAttachments:aO,deleteProcedureStepFieldValuesAttachment:cO,deleteProcedureStepFieldValuesAttachments:kn}=Un.actions,rO=t=>t.procedureStepFieldValuesAttachmentReducer.instances,Nn=l.createSelector([rO],t=>Object.values(t)),dO=t=>s=>s.procedureStepFieldValuesAttachmentReducer.instances[t],uO=y(l.createSelector([Nn,(t,s)=>s],(t,s)=>{const e=new Set(s);return S(t.filter(({uuid:n})=>e.has(n)))})),lO=y(l.createSelector([Nn,(t,s)=>s],(t,s)=>S(t.filter(e=>e.field_values===s)))),oO=Un.reducer,xe=F(t=>t.uuid),hO={instances:{}},Gn=l.createSlice({name:"procedureStepFieldValues",initialState:hO,extraReducers:t=>t.addMatcher(l.isAnyOf(O,B,b),s=>Object.assign(s,hO)),reducers:{initializeProcedureStepFieldValues:xe.initialize,addProcedureStepFieldValues:xe.addOne,addProcedureStepFieldValuesMany:xe.addMany,setProcedureStepFieldValues:xe.setOne,setProcedureStepFieldValuesMany:xe.setMany,updateProcedureStepFieldValues:xe.updateOne,updateProcedureStepFieldValuesMany:xe.updateMany,deleteProcedureStepFieldValues:xe.deleteOne,deleteProcedureStepFieldValuesMany:xe.deleteMany}}),{initializeProcedureStepFieldValues:mO,addProcedureStepFieldValues:pO,addProcedureStepFieldValuesMany:yO,setProcedureStepFieldValues:fO,setProcedureStepFieldValuesMany:SO,updateProcedureStepFieldValues:AO,updateProcedureStepFieldValuesMany:IO,deleteProcedureStepFieldValues:TO,deleteProcedureStepFieldValuesMany:OO}=Gn.actions,PO=Gn.reducer,FO=t=>t.procedureStepFieldValuesReducer.instances,ft=l.createSelector([FO],t=>Object.values(t)),Gg=y(l.createSelector([ft,(t,s)=>s],(t,s)=>S(t.filter(e=>e.procedure===s)))),Hg=y(l.createSelector([ft,(t,s)=>s],(t,s)=>S(t.filter(e=>e.procedure_step===s)))),bO=t=>s=>s.procedureStepFieldValuesReducer.instances[t],_O=y(l.createSelector([ft,(t,s)=>s],(t,s)=>{const e=new Set(s);return S(t.filter(({uuid:n})=>e.has(n)))})),Wg=y(l.createSelector([ft,(t,s)=>s,(t,s,e)=>e],(t,s,e)=>S(t.filter(({procedure:n,procedure_step:a})=>n===s&&a===e)))),et=F(t=>t.uuid),gO={instances:{}},Hn=l.createSlice({name:"procedureStepFieldValuesReviews",initialState:gO,extraReducers:t=>t.addMatcher(l.isAnyOf(O,B,b),s=>Object.assign(s,gO)),reducers:{initializeProcedureStepFieldValuesReviews:et.initialize,addProcedureStepFieldValuesReview:et.addOne,addProcedureStepFieldValuesReviews:et.addMany,setProcedureStepFieldValuesReview:et.setOne,setProcedureStepFieldValuesReviews:et.setMany,updateProcedureStepFieldValuesReview:et.updateOne,updateProcedureStepFieldValuesReviews:et.updateMany,deleteProcedureStepFieldValuesReview:et.deleteOne,deleteProcedureStepFieldValuesReviews:et.deleteMany}}),{initializeProcedureStepFieldValuesReviews:MO,addProcedureStepFieldValuesReview:RO,addProcedureStepFieldValuesReviews:Wn,setProcedureStepFieldValuesReview:wO,setProcedureStepFieldValuesReviews:vO,updateProcedureStepFieldValuesReview:EO,updateProcedureStepFieldValuesReviews:VO,deleteProcedureStepFieldValuesReview:BO,deleteProcedureStepFieldValuesReviews:Kn}=Hn.actions,zO=t=>t.procedureStepFieldValuesReviewReducer.instances,St=l.createSelector([zO],t=>Object.values(t)),DO=t=>s=>s.procedureStepFieldValuesReviewReducer.instances[t],jO=y(l.createSelector([St,(t,s)=>s],(t,s)=>{const e=new Set(s);return S(t.filter(({uuid:n})=>e.has(n)))})),qO=y(l.createSelector([St,(t,s)=>s],(t,s)=>S(t.filter(e=>e.field_values===s)))),Kg=y(l.createSelector([St,(t,s)=>s],(t,s)=>{let e;for(const n of t){const{field_values:a}=n;a===s&&(!e||e.submitted_at<=n.submitted_at)&&(e=n)}return e})),Yg=y(l.createSelector([ft,St,(t,s)=>s],(t,s,e)=>{const n=new Set(w(t.filter(({procedure:a})=>e===a)));return S(s.filter(({field_values:a})=>n.has(a)))})),Zg=y(l.createSelector([ft,St,(t,s)=>s,(t,s,e)=>e],(t,s,e,n)=>{const a=new Set(w(t.filter(({procedure_step:r,procedure:c})=>e===c&&r===n)));return S(s.filter(({field_values:r})=>a.has(r)))})),Jg=l.createSelector([St],t=>{const s={};for(const e of t){const{field_values:n}=e,a=s[n];(!a||a.submitted_at<=e.submitted_at)&&(s[n]=e)}return s}),CO=Hn.reducer,tt=F(t=>t.uuid),$O={instances:{}},Yn=l.createSlice({name:"procedureStepReviewers",initialState:$O,extraReducers:t=>t.addMatcher(l.isAnyOf(O,B,b),s=>Object.assign(s,$O)),reducers:{initializeProcedureStepReviewers:tt.initialize,addProcedureStepReviewer:tt.addOne,addProcedureStepReviewers:tt.addMany,setProcedureStepReviewer:tt.setOne,setProcedureStepReviewers:tt.setMany,updateProcedureStepReviewer:tt.updateOne,updateProcedureStepReviewers:tt.updateMany,deleteProcedureStepReviewer:tt.deleteOne,deleteProcedureStepReviewers:tt.deleteMany}}),{initializeProcedureStepReviewers:UO,addProcedureStepReviewer:LO,addProcedureStepReviewers:kO,setProcedureStepReviewer:NO,setProcedureStepReviewers:GO,updateProcedureStepReviewer:HO,updateProcedureStepReviewers:WO,deleteProcedureStepReviewer:KO,deleteProcedureStepReviewers:YO}=Yn.actions,ZO=t=>t.procedureStepReviewerReducer.instances,Ct=l.createSelector([ZO],t=>Object.values(t)),JO=t=>s=>s.procedureStepReviewerReducer.instances[t],XO=y(l.createSelector([Ct,(t,s)=>s],(t,s)=>{const e=new Set(s);return S(t.filter(({uuid:n})=>e.has(n)))})),Xg=y(l.createSelector([Ct,(t,s)=>s],(t,s)=>S(t.filter(e=>e.procedure===s)))),Qg=y(l.createSelector([Ct,(t,s)=>s],(t,s)=>S(t.filter(e=>e.procedure_step===s)))),xg=y(l.createSelector([Ct,(t,s)=>s,(t,s,e)=>e],(t,s,e)=>S(t.filter(({procedure:n,procedure_step:a})=>n===s&&a===e)))),QO=Yn.reducer,st=F(t=>t.uuid),xO={instances:{}},Zn=l.createSlice({name:"procedureSteps",initialState:xO,extraReducers:t=>t.addMatcher(l.isAnyOf(O,b),s=>Object.assign(s,xO)),reducers:{initializeProcedureSteps:st.initialize,setProcedureStep:st.setOne,setProcedureSteps:st.setMany,addProcedureStep:st.addOne,addProcedureSteps:st.addMany,updateProcedureStep:st.updateOne,updateProcedureSteps:st.updateMany,deleteProcedureStep:st.deleteOne,deleteProcedureSteps:st.deleteMany}}),{initializeProcedureSteps:eP,setProcedureStep:tP,setProcedureSteps:sP,addProcedureStep:iP,addProcedureSteps:nP,updateProcedureStep:aP,updateProcedureSteps:cP,deleteProcedureStep:rP,deleteProcedureSteps:dP}=Zn.actions,uP=Zn.reducer,Jn=t=>t.procedureStepReducer.instances,lP=t=>s=>s.procedureStepReducer.instances[t],Xn=l.createSelector([Jn],t=>Object.values(t).toSorted((s,e)=>s.order-e.order)),eM=y(l.createSelector([Jn,(t,s)=>s],(t,s)=>{const e={};for(const[n,a]of Object.entries(t))a.procedure_type===s&&(e[n]=a);return fs(e)})),tM=y(l.createSelector([Xn,(t,s)=>s],(t,s)=>S(t.filter(e=>e.procedure_type===s)))),oP=y(l.createSelector([Xn,(t,s)=>s],(t,s)=>{const e=new Set(s);return S(t.filter(({uuid:n})=>e.has(n)))})),it=F(({uuid:t})=>t),hP={instances:{}},Qn=l.createSlice({name:"procedureTypeAttachments",initialState:hP,extraReducers:t=>t.addMatcher(l.isAnyOf(O,b),s=>Object.assign(s,hP)),reducers:{initializeProcedureTypeAttachments:it.initialize,addProcedureTypeAttachment:it.addOne,addProcedureTypeAttachments:it.addMany,setProcedureTypeAttachment:it.setOne,setProcedureTypeAttachments:it.setMany,updateProcedureTypeAttachment:it.updateOne,updateProcedureTypeAttachments:it.updateMany,deleteProcedureTypeAttachment:it.deleteOne,deleteProcedureTypeAttachments:it.deleteMany}}),{initializeProcedureTypeAttachments:mP,addProcedureTypeAttachment:pP,addProcedureTypeAttachments:yP,setProcedureTypeAttachment:fP,setProcedureTypeAttachments:SP,updateProcedureTypeAttachment:AP,updateProcedureTypeAttachments:IP,deleteProcedureTypeAttachment:TP,deleteProcedureTypeAttachments:OP}=Qn.actions,PP=Qn.reducer,FP=t=>t.procedureTypeAttachmentReducer.instances,xn=l.createSelector([FP],t=>Object.values(t)),bP=t=>s=>s.procedureTypeAttachmentReducer.instances[t],_P=y(l.createSelector([xn,(t,s)=>s],(t,s)=>{const e=new Set(s);return S(t.filter(({uuid:n})=>e.has(n)))})),sM=y(l.createSelector([xn,(t,s)=>s],(t,s)=>S(t.filter(({procedure_type:e})=>s===e)))),nt=F(({uuid:t})=>t),gP={instances:{}},ea=l.createSlice({name:"procedureTypeFieldsAttachments",initialState:gP,extraReducers:t=>t.addMatcher(l.isAnyOf(O,b),s=>Object.assign(s,gP)),reducers:{initializeProcedureTypeFieldsAttachments:nt.initialize,addProcedureTypeFieldsAttachment:nt.addOne,addProcedureTypeFieldsAttachments:nt.addMany,setProcedureTypeFieldsAttachment:nt.setOne,setProcedureTypeFieldsAttachments:nt.setMany,updateProcedureTypeFieldsAttachment:nt.updateOne,updateProcedureTypeFieldsAttachments:nt.updateMany,deleteProcedureTypeFieldsAttachment:nt.deleteOne,deleteProcedureTypeFieldsAttachments:nt.deleteMany}}),{initializeProcedureTypeFieldsAttachments:MP,addProcedureTypeFieldsAttachment:RP,addProcedureTypeFieldsAttachments:wP,setProcedureTypeFieldsAttachment:vP,setProcedureTypeFieldsAttachments:EP,updateProcedureTypeFieldsAttachment:VP,updateProcedureTypeFieldsAttachments:BP,deleteProcedureTypeFieldsAttachment:zP,deleteProcedureTypeFieldsAttachments:DP}=ea.actions,jP=ea.reducer,qP=t=>t.procedureTypeFieldsAttachmentReducer.instances,ta=l.createSelector([qP],t=>Object.values(t)),iM=y(l.createSelector([ta,(t,s)=>s],(t,s)=>S(t.filter(e=>e.fields_revision===s)))),CP=t=>s=>s.procedureTypeFieldsAttachmentReducer.instances[t],$P=y(l.createSelector([ta,(t,s)=>s],(t,s)=>{const e=new Set(s);return S(t.filter(({uuid:n})=>e.has(n)))})),at=F(({uuid:t})=>t),UP={instances:{}},sa=l.createSlice({name:"procedureTypeFields",initialState:UP,extraReducers:t=>t.addMatcher(l.isAnyOf(O,b),s=>Object.assign(s,UP)),reducers:{initializeProcedureTypeFields:at.initialize,addProcedureTypeFields:at.addOne,addProcedureTypeFieldsMany:at.addMany,setProcedureTypeFields:at.setOne,setProcedureTypeFieldsMany:at.setMany,updateProcedureTypeFields:at.updateOne,updateProcedureTypeFieldsMany:at.updateMany,deleteProcedureTypeFields:at.deleteOne,deleteProcedureTypeFieldsMany:at.deleteMany}}),{initializeProcedureTypeFields:LP,addProcedureTypeFields:kP,addProcedureTypeFieldsMany:NP,setProcedureTypeFields:GP,setProcedureTypeFieldsMany:HP,updateProcedureTypeFields:WP,updateProcedureTypeFieldsMany:KP,deleteProcedureTypeFields:YP,deleteProcedureTypeFieldsMany:ZP}=sa.actions,JP=sa.reducer,XP=t=>t.procedureTypeFieldsReducer.instances,ls=l.createSelector([XP],t=>Object.values(t)),nM=y(l.createSelector([ls,(t,s)=>s],(t,s)=>S(t.filter(e=>e.procedure_type===s)))),aM=y(l.createSelector([ls,(t,s)=>s],(t,s)=>t.filter(e=>e.procedure_type===s).sort((e,n)=>e.submitted_at>n.submitted_at?-1:1)[0])),QP=t=>s=>s.procedureTypeFieldsReducer.instances[t],xP=y(l.createSelector([ls,(t,s)=>s],(t,s)=>{const e=new Set(s);return S(t.filter(({uuid:n})=>e.has(n)))})),ct=F(({uuid:t})=>t),eF={instances:{}},ia=l.createSlice({name:"procedureFieldValuesAttachments",initialState:eF,extraReducers:t=>t.addMatcher(l.isAnyOf(O,B,b),s=>Object.assign(s,eF)),reducers:{initializeProcedureFieldValuesAttachments:ct.initialize,addProcedureFieldValuesAttachment:ct.addOne,addProcedureFieldValuesAttachments:ct.addMany,setProcedureFieldValuesAttachment:ct.setOne,setProcedureFieldValuesAttachments:ct.setMany,updateProcedureFieldValuesAttachment:ct.updateOne,updateProcedureFieldValuesAttachments:ct.updateMany,deleteProcedureFieldValuesAttachment:ct.deleteOne,deleteProcedureFieldValuesAttachments:ct.deleteMany}}),{initializeProcedureFieldValuesAttachments:tF,addProcedureFieldValuesAttachment:sF,addProcedureFieldValuesAttachments:na,setProcedureFieldValuesAttachment:iF,setProcedureFieldValuesAttachments:nF,updateProcedureFieldValuesAttachment:aF,updateProcedureFieldValuesAttachments:cF,deleteProcedureFieldValuesAttachment:rF,deleteProcedureFieldValuesAttachments:aa}=ia.actions,dF=ia.reducer,uF=t=>t.procedureFieldValuesAttachmentReducer.instances,ca=l.createSelector([uF],t=>Object.values(t)),lF=t=>s=>s.procedureFieldValuesAttachmentReducer.instances[t],oF=y(l.createSelector([ca,(t,s)=>s],(t,s)=>{const e=new Set(s);return S(t.filter(({uuid:n})=>e.has(n)))})),hF=y(l.createSelector([ca,(t,s)=>s],(t,s)=>S(t.filter(e=>e.field_values===s)))),rt=F(({uuid:t})=>t),mF={instances:{}},ra=l.createSlice({name:"procedureFieldValues",initialState:mF,extraReducers:t=>t.addMatcher(l.isAnyOf(O,B,b),s=>Object.assign(s,mF)),reducers:{initializeProcedureFieldValues:rt.initialize,addProcedureFieldValues:rt.addOne,addProcedureFieldValuesMany:rt.addMany,setProcedureFieldValues:rt.setOne,setProcedureFieldValuesMany:rt.setMany,updateProcedureFieldValues:rt.updateOne,updateProcedureFieldValuesMany:rt.updateMany,deleteProcedureFieldValues:rt.deleteOne,deleteProcedureFieldValuesMany:rt.deleteMany}}),{initializeProcedureFieldValues:pF,addProcedureFieldValues:yF,addProcedureFieldValuesMany:fF,setProcedureFieldValues:SF,setProcedureFieldValuesMany:AF,updateProcedureFieldValues:IF,updateProcedureFieldValuesMany:TF,deleteProcedureFieldValues:OF,deleteProcedureFieldValuesMany:PF}=ra.actions,FF=ra.reducer,bF=t=>t.procedureFieldValuesReducer.instances,da=l.createSelector([bF],t=>Object.values(t)),cM=y(l.createSelector([da,(t,s)=>s],(t,s)=>S(t.filter(e=>e.procedure===s)))),_F=t=>s=>s.procedureFieldValuesReducer.instances[t],gF=y(l.createSelector([da,(t,s)=>s],(t,s)=>{const e=new Set(s);return S(t.filter(({uuid:n})=>e.has(n)))})),dt=F(t=>t.uuid),MF={instances:{}},ua=l.createSlice({name:"procedureTypes",initialState:MF,extraReducers:t=>t.addMatcher(l.isAnyOf(O,b),s=>Object.assign(s,MF)),reducers:{initializeProcedureTypes:dt.initialize,addProcedureType:dt.addOne,addProcedureTypes:dt.addMany,setProcedureType:dt.setOne,setProcedureTypes:dt.setMany,updateProcedureType:dt.updateOne,updateProcedureTypes:dt.updateMany,deleteProcedureType:dt.deleteOne,deleteProcedureTypes:dt.deleteMany}}),{initializeProcedureTypes:RF,addProcedureType:wF,addProcedureTypes:vF,setProcedureType:EF,setProcedureTypes:VF,updateProcedureType:BF,updateProcedureTypes:zF,deleteProcedureType:DF,deleteProcedureTypes:jF}=ua.actions,qF=ua.reducer,CF=t=>t.procedureTypeReducer.instances,la=l.createSelector([CF],t=>Object.values(t)),$F=t=>s=>s.procedureTypeReducer.instances[t],UF=y(l.createSelector([la,(t,s)=>s],(t,s)=>{const e=new Set(s);return S(t.filter(({uuid:n})=>e.has(n)))})),rM=y(l.createSelector([la,(t,s)=>s],(t,s)=>S(t.filter(e=>e.organization===s)))),dM={isRehydrated:!1},oa=l.createSlice({name:"rehydrated",initialState:dM,reducers:{setRehydrated:(t,s)=>{t.isRehydrated=s.payload}}}),{setRehydrated:uM}=oa.actions,lM=t=>t.rehydratedReducer.isRehydrated,LF=oa.reducer,ut=F(t=>t.uuid),kF={instances:{}},ha=l.createSlice({name:"teamMemberships",initialState:kF,extraReducers:t=>t.addMatcher(l.isAnyOf(O,b),s=>Object.assign(s,kF)),reducers:{initializeTeamMemberships:ut.initialize,addTeamMembership:ut.addOne,addTeamMemberships:ut.addMany,setTeamMembership:ut.setOne,setTeamMemberships:ut.setMany,updateTeamMembership:ut.updateOne,updateTeamMemberships:ut.updateMany,deleteTeamMembership:ut.deleteOne,deleteTeamMemberships:ut.deleteMany}}),{initializeTeamMemberships:NF,addTeamMembership:GF,addTeamMemberships:HF,setTeamMembership:WF,setTeamMemberships:KF,updateTeamMembership:YF,updateTeamMemberships:ZF,deleteTeamMembership:JF,deleteTeamMemberships:XF}=ha.actions,QF=ha.reducer,xF=t=>t.teamMembershipReducer.instances,os=l.createSelector([xF],t=>Object.values(t)),eb=t=>s=>s.teamMembershipReducer.instances[t],tb=y(l.createSelector([os,(t,s)=>s],(t,s)=>{const e=new Set(s);return S(t.filter(({uuid:n})=>e.has(n)))})),oM=y(l.createSelector([os,(t,s)=>s],(t,s)=>{const e={};for(const n of t.filter(a=>a.team===s))e[n.user]=n;return e})),hM=y(l.createSelector([is,os,(t,s)=>s],(t,s,e)=>{const n=new Set(s.filter(a=>a.team===e).map(a=>a.user));return S(t.filter(a=>n.has(a.id)))})),lt=F(t=>t.uuid),sb={instances:{}},ma=l.createSlice({name:"teams",initialState:sb,extraReducers:t=>t.addMatcher(l.isAnyOf(O,b),s=>Object.assign(s,sb)),reducers:{initializeTeams:lt.initialize,addTeam:lt.addOne,addTeams:lt.addMany,setTeam:lt.setOne,setTeams:lt.setMany,updateTeam:lt.updateOne,updateTeams:lt.updateMany,deleteTeam:lt.deleteOne,deleteTeams:lt.deleteMany}}),{initializeTeams:ib,addTeam:nb,addTeams:ab,setTeam:cb,setTeams:rb,updateTeam:db,updateTeams:ub,deleteTeam:lb,deleteTeams:ob}=ma.actions,hb=t=>t.teamReducer.instances,pa=l.createSelector([hb],t=>Object.values(t)),mb=t=>s=>s.teamReducer.instances[t],pb=y(l.createSelector([pa,(t,s)=>s],(t,s)=>{const e=new Set(s);return S(t.filter(({uuid:n})=>e.has(n)))})),mM=y(l.createSelector([pa,(t,s)=>s],(t,s)=>S(t.filter(e=>e.organization===s)))),yb=ma.reducer,ya={outboxReducer:AS,authReducer:ru},pM=l.combineReducers(ya),fb={...ya,assetReducer:kc,assetAttachmentReducer:yc,assetCommentReducer:wc,assetTypeReducer:Gd,assetTypeAttachmentReducer:tr,issueReducer:Um,issueAttachmentReducer:em,issueTypeReducer:sf,issueTypeAttachmentReducer:ep,organizationReducer:hS,projectReducer:EA,projectAttachmentReducer:HS,projectCommentReducer:aA,projectAccessReducer:wS,organizationAccessReducer:Yf,projectFileReducer:TA,procedureTypeReducer:qF,procedureInitiativeReducer:HA,procedureReducer:iI,procedureTypeFieldsReducer:JP,procedureFieldValuesReducer:FF,procedureTypeAttachmentReducer:PP,procedureTypeFieldsAttachmentReducer:jP,procedureFieldValuesAttachmentReducer:dF,procedureStepFieldsAttachmentReducer:$T,procedureStepFieldsReducer:QT,procedureStepFieldValuesAttachmentReducer:oO,procedureStepFieldValuesReducer:PO,procedureStepFieldValuesReviewReducer:CO,procedureStepAssigneeReducer:bI,procedureStepCommentReducer:CI,procedureStepDefaultAssigneeReducer:QI,procedureStepDefaultReviewerReducer:hT,procedureStepEventReducer:gT,procedureStepReviewerReducer:QO,procedureStepReducer:uP,rehydratedReducer:LF,formReducer:Oo,formRevisionReducer:Jl,formRevisionAttachmentReducer:ql,formSubscriberReducer:lo,formSubmissionFieldValuesAttachmentReducer:Do,formSubmissionFieldValuesReducer:Yo,formSubmissionReducer:oh,formIdentifierReducer:ul,formIdentifierValueReducer:Fl,userReducer:Df,emailDomainsReducer:Zu,documentsReducer:Vu,documentAttachmentReducer:Ou,teamReducer:yb,agentsReducer:sc,issueCommentReducer:Mm,issueCommentAttachmentReducer:pm,issueUpdateReducer:gf,geoImageReducer:_h,issueAssociationReducer:Lh,issueTypeFieldsReducer:kp,issueTypeFieldValuesReducer:Rp,issueTypeFieldsAttachmentReducer:pp,issueTypeFieldValuesAttachmentReducer:ty,issueTypeIdentifierReducer:yy,issueTypeIdentifierValueReducer:wy,issueTypePriorityReducer:ky,issueTypeStatusReducer:ff,assetTypeFieldsReducer:wr,assetTypeFieldValuesReducer:sd,assetTypeFieldsAttachmentReducer:yr,assetTypeFieldValuesAttachmentReducer:kr,assetTypeIdentifierReducer:fd,assetTypeIdentifierValueReducer:vd,assetTypeStatusReducer:nu,teamMembershipReducer:QF},yM=l.combineReducers(fb),Sb=1e4,fa=[400,409,403,404,405,500],H=1e4,Ab={};class Ib{constructor(s){h(this,"client");h(this,"pageSize",Sb);Ab[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)}select(s){return s(this.client.store.getState())}}const fM=t=>{if(t)throw t;const s=vt();s?s.dispatch({type:"rehydrated/setRehydrated",payload:!0}):console.error("Client store not set")},Tb=(t,s,e)=>{const n=Tt();return n?(n.addRequest(s),n.getQueue()):(console.warn("Outbox coordinator not set; cannot enqueue request yet."),[])},Ob=(t,s,e)=>{const n=Tt();if(!n)return console.warn("Outbox coordinator not set; cannot dequeue request yet."),[];const r=s.meta.offlineAction.payload.uuid;return n.remove(r),n.getQueue()};async function SM(t,s){if(!s.payload)throw new Error("Received empty payload");return Db(s)}const AM={...Fa,effect:SM,discard:Fb,returnPromises:!0,persistCallback:fM,retry:OM,persistOptions:{storage:kb},queue:{...Fa.queue,enqueue:Tb,dequeue:Ob,peek:(...t)=>TM(...t)}},IM=Lb.offline(AM);async function Pb(t,s,e){if(s.store.getState().outboxReducer.deletedRequests.includes(t.payload.uuid))throw new Error("Request was marked for deletion");const a=Ab[t.meta.offline.effect.serviceName];if(!a)throw new Error(`Service ${t.meta.offline.effect.serviceName} not found`);return Ia(t.meta.offline.effect.BASE_URL,t.meta.offline.effect.request,s,a,e)}function Fb(t,s,e=0){var p;if(console.debug("Considering discarding request due to error:",t,`(${typeof t})`,`
2
- Url:`,s.payload.url,`
3
- Retries:`,e),!(t instanceof Error))throw console.error("ENCOUNTERED NON-ERROR ERROR:",t,"(throwing immediately, which may lead to unexpected behavior)"),t;const n=vt(),r=n.getState().outboxReducer.deletedRequests,c=s.payload.uuid;function u(){n.dispatch(fS(c));const m=Tt();if(!m)throw new Error("Outbox coordinator not set");m.remove(s.payload.uuid);const f=s.meta.offline.rollback;throw f&&(console.warn("Rolling back request due to SDK error:",s),n.dispatch(f)),t}if(t instanceof U&&t.options.discard&&(console.debug("Discarding request due to explicit discard:",s.payload.url),u()),r.includes(c)&&(console.debug("Discarding request due to deletion:",s.payload.url),u()),t instanceof U){const m=t.status||((p=t.response)==null?void 0:p.status);if(m||console.warn("Error has no status code:",t),t.options.discard!==!1&&m!==void 0&&fa.includes(m)){console.warn("Discarding request due to error:",t,`
4
- Action:`,s);const f=Tt();if(!f)throw new Error("Outbox coordinator not set");f.remove(s.payload.uuid),t.options.discard=!0,u()}}console.debug("Registering a retry for request:",s.payload.uuid);const d=Tt();if(!d)throw new Error("Outbox coordinator not set");return d.registerRetry(s.payload.uuid),!1}function TM(t,s,e){var n;return(n=Tt())==null?void 0:n.peek()}function OM(t,s){return vt().dispatch(SS(new Date().getTime())),ga}const Rt="An unknown error occurred",PM=500,bb=["non_field_errors","detail"];function FM(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,r])=>typeof r=="string"?bb.includes(a)?r:`${a}: ${r}`:Array.isArray(r)?bb.includes(a)?r.join(`
5
- `):r.map(c=>`${a}: ${c}`).join(`
6
- `):`${a}: ${JSON.stringify(r)}`).join(`
7
- `)}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>PM?Rt:e}class U extends Error{constructor(e){super(Rt);h(this,"status");h(this,"response");h(this,"message");h(this,"options");const{response:n,innerError:a}=e;this.message=e.message??FM(n,a)??Rt,this.status=(n==null?void 0:n.status)??0,this.response=n,this.options=e}}function _b(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 gb extends Ib{constructor(s){super(s)}applyAuth(s){const e=this.getAuthHeader();return e?s.set("Authorization",e):s}isAuthFailure(s){return s.status===401}}class At extends Ib{constructor(e,n){super(e);h(this,"auth");this.auth=n}}class bM extends At{async startConversation(s,e){return this.enqueueRequest({description:"Start agent conversation",method:o.POST,url:"/agents/prompt/",payload:{prompt:s,active_project:e},blockers:["prompt"],blocks:["prompt"]}).then(n=>(this.dispatch(xa(n)),n))}async continueConversation(s,e,n){return this.enqueueRequest({description:"Prompt agent",method:o.POST,url:"/agents/prompt/",payload:{prompt:s,active_project:n},blockers:["prompt"],blocks:["prompt"],queryParams:{conversation_id:e}}).then(a=>{this.dispatch(tc(a))})}async fetchDetails(s){return this.enqueueRequest({description:"Get agent conversation",method:o.GET,url:`/agents/conversations/${s}/`,blockers:["conversation"],blocks:["conversation"]}).then(e=>{this.dispatch(ec(e))})}async rate(s,e){return this.enqueueRequest({description:"Rate agent response",method:o.PUT,url:`/agents/responses/${s}/rate/`,payload:{rating:e},blockers:["rate"],blocks:["rate"]})}async list(s,e){return this.performRequest({method:o.GET,url:"/agents/conversations/",...s},e)}async refreshStore(s,e){const n=await this.list({queryParams:{project:s}},e);return this.dispatch(Qa(n)),n}}function W(t,s){const e=[];let n=0;const a=t.length;for(;n<a;)e.push(t.slice(n,n+=s));return e}function A(t,s,e){const n=`${s}${e?"s":""}`;switch(t){case o.GET:return`Get ${n}`;case o.POST:return`Create ${n}`;case o.PATCH:return`Update ${n}`;case o.PUT:return`Update ${n}`;case o.DELETE:return`Delete ${n}`}}function R(t){const s={...t};for(const e of[...Ma,"created_by"])e in s&&delete s[e];return s}class v extends At{async get(s,e){return this.performRequest({url:`${this.url}/${s}/`,method:o.GET},e)}async list(s,e){return this.performRequest({url:`${this.url}/`,method:o.GET,...s},e)}async listPaginated(s,e){return this.performPagination({url:`${this.url}/`,method:o.GET,...s},e)}}class j extends v{async getPresignedUrl(s,e){const{selectById:n}=this.selectors,a=this.select(n(s));if(!a)throw new Error(`Could not find ${this.name}: ${s} in store.`);if(a.object_url)return a.object_url;const r=await this.client.files.getPresignedUrlFromCache(a.file_sha1);if(r)return r;const c=await this.performRequest({url:`${this.url}/${s}/presigned-url/`,method:o.GET},e);return await this.client.files.cachePresignedUrl(a.file_sha1,c),c}async add(s){const{addOne:e,updateOne:n,deleteOne:a}=this.actions;let r,c=null,u=null;if("file"in s){const{file:_,...I}=s;c=await this.client.files.getFilePayload(_),u=URL.createObjectURL(_),r={...I,file_sha1:c.sha1,file_type:c.file_type,file_name:_.name,file_extension:c.extension,object_url:u}}else r=s;const d=this.buildModel(r),p=this.buildPayload(d);this.dispatch(e(d));const m=this.enqueueRequest({description:A(o.POST,this.name,!1),method:o.POST,url:`${this.url}/`,payload:{...p,...c?{file:c}:{}},blockers:this.getBlockers(d),blocks:this.getBlocks(d)});m.then(({instance:_})=>{this.dispatch(n(_))}).catch(()=>{this.dispatch(a(this.getId(d)))}).finally(()=>{u&&URL.revokeObjectURL(u)});const f=m.then(({instance:_})=>_),T=m.then(async({instance:_,presigned_url:I})=>{try{return I&&await this.client.files.processPresignedUrl(_.file_sha1,I),_.file_sha1}catch(M){throw console.error("Upload to s3 using presigned url failed.",M),M}});return[d,f,T]}async bulkAdd(s,e){const{addMany:n,updateMany:a,deleteMany:r}=this.actions,c=new Date().toISOString(),u=[],d=new Set,p=W(s,Math.min(e??s.length,H)),m=[];for(const I of p){const M=[],g={},E=[],V=[];for(const z of I){let q;if("file"in z){const{file:Ut,...JR}=z,Et=await this.client.files.getFilePayload(Ut);Et.sha1 in g||(g[Et.sha1]=Et);const Cb=URL.createObjectURL(Ut);d.add(Cb),q={...JR,file_sha1:Et.sha1,file_type:Et.file_type,file_name:Ut.name,file_extension:Et.extension,object_url:Cb}}else q=z;const N=this.buildModel(q);u.push(N);const hs=this.buildBulkPayload(N);M.push(hs);const C=this.getBlockers(N);E.push(...C);const L=this.getBlocks(N);V.push(...L)}const D={payloads:M,submittedAt:c,files:Object.values(g),blockers:E,blocks:V};m.push(D)}this.dispatch(n(u));const f=m.map(I=>{const{submittedAt:M,files:g,payloads:E,blocks:V,blockers:D}=I;return this.enqueueRequest({description:A(o.POST,this.name,!0),method:o.POST,url:`${this.url}/bulk/`,payload:{submitted_at:M,files:g,payloads:E},blockers:D,blocks:V})});Promise.all(f).then(I=>{const M=I.flatMap(g=>g.instances);this.dispatch(a(M))}).catch(I=>{throw this.dispatch(r(u.map(M=>this.getId(M)))),console.error(I),I}).finally(()=>{for(const I of d)URL.revokeObjectURL(I)});const T=Promise.all(f).then(I=>I.flatMap(({instances:M})=>M)),_=Promise.all(f).then(async I=>{const M=[];for(const{presigned_urls:g}of I){const E=this.client.files.processPresignedUrls(g);for(const[V,D]of Object.entries(E))try{await D,M.push(V)}catch(z){throw console.error("Upload to s3 using presigned url failed.",z),z}}return M});return[u,T,_]}async delete(s){const{addOne:e,deleteOne:n}=this.actions,{selectById:a}=this.selectors,r=this.select(a(s));if(!r)throw new Error(`Attempting to delete ${this.name} with pk ${s} that does not exist in the store`);this.dispatch(n(this.getId(r)));try{return await this.enqueueRequest({description:A(o.DELETE,this.name,!1),method:o.DELETE,url:`${this.url}/${s}/`,blockers:[s],blocks:[]})}catch(c){throw this.dispatch(e(r)),c}}}class _M extends j{constructor(){super(...arguments);h(this,"name","Asset attachment");h(this,"url","/asset-attachments");h(this,"actions",{addOne:ac,addMany:Os,setOne:cc,setMany:rc,updateOne:dc,updateMany:uc,deleteOne:lc,deleteMany:Ps,initialize:nc});h(this,"selectors",{selectById:hc,selectByIds:mc})}getId(e){return e.uuid}getBlockers(e){const{asset:n}=e;return[n]}getBlocks(e){return[e.uuid]}buildModel(e){const n=this.select(r=>{var c;return((c=r.userReducer.currentUser)==null?void 0:c.id)??null}),a=new Date().toISOString();return P({...e,created_by:n,submitted_at:a})}buildPayload(e){return{uuid:e.uuid,submitted_at:e.submitted_at,file_name:e.file_name,file_sha1:e.file_sha1,file_extension:e.file_extension,asset:e.asset}}buildBulkPayload(e){return{uuid:e.uuid,file_name:e.file_name,file_sha1:e.file_sha1,file_extension:e.file_extension,asset:e.asset}}async refreshStore(e,n){const{initialize:a}=this.actions,c=(await this.listPaginated({queryParams:{asset__project:e}},n)).flat();return this.dispatch(a(c)),c}}class gM extends v{constructor(){super(...arguments);h(this,"name","Asset Comment");h(this,"url","/asset-comments");h(this,"actions",{addOne:Ac,addMany:kt,setOne:Ic,setMany:Tc,updateOne:Oc,updateMany:Pc,deleteOne:Fc,deleteMany:Nt,initialize:Sc});h(this,"selectors",{selectById:_c,selectByIds:gc})}add(e){const{addOne:n,updateOne:a,deleteOne:r}=this.actions,c=P({...e,created_by:this.select(d=>{var p;return((p=d.userReducer.currentUser)==null?void 0:p.id)??null}),submitted_at:new Date().toISOString()});this.dispatch(n(c));const u=this.enqueueRequest({description:A(o.POST,this.name,!1),method:o.POST,url:`${this.url}/`,payload:R(c),blockers:[c.asset],blocks:[c.uuid]});return u.then(d=>{this.dispatch(a(d))}).catch(()=>{this.dispatch(r(c.uuid))}),[c,u]}update(e){const{updateOne:n}=this.actions,{selectById:a}=this.selectors,r=this.select(a(e.uuid));if(!r)throw new Error(`Asset comment with uuid ${e.uuid} not found in store`);const c={...r,...e};this.dispatch(n(c));const u=this.enqueueRequest({description:A(o.PATCH,this.name,!1),method:o.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))}),[c,u]}async delete(e){const{deleteOne:n,addOne:a}=this.actions,{selectById:r}=this.selectors,c=this.select(r(e));if(!c)throw new Error(`Asset comment with uuid ${e} not found in store`);this.dispatch(n(e));try{return await this.enqueueRequest({description:A(o.DELETE,this.name,!1),method:o.DELETE,url:`${this.url}/${e}/`,blockers:[e],blocks:[]})}catch(u){throw this.dispatch(a(c)),u}}async refreshStore(e,n){const{initialize:a}=this.actions,c=(await this.listPaginated({queryParams:{asset__project:e}},n)).flat();return this.dispatch(a(c)),c}}class MM extends v{constructor(){super(...arguments);h(this,"url","/assets");h(this,"name","Asset");h(this,"actions",{addOne:Vc,addMany:gs,setOne:jc,setMany:qc,updateOne:Bc,updateMany:zc,deleteOne:Dc,deleteMany:Ms,initialize:Ec});h(this,"selectors",{selectById:Uc,selectByIds:Lc})}add(e){const{addOne:n,updateOne:a,deleteOne:r}=this.actions,c=this.select(m=>{var f;return((f=m.userReducer.currentUser)==null?void 0:f.id)??null}),u=new Date().toISOString(),d=P({...e,created_by:c,submitted_at:u});this.dispatch(n(d));const p=this.enqueueRequest({description:A(o.POST,this.name,!1),method:o.POST,url:`${this.url}/`,payload:R(d),blockers:[d.asset_type],blocks:[d.uuid]});return p.then(m=>{this.dispatch(a(m))}).catch(()=>{this.dispatch(r(d.uuid))}),[d,p]}update(e){const{updateOne:n}=this.actions,{selectById:a}=this.selectors,r=this.select(a(e.uuid));if(!r)throw new Error(`No asset with uuid ${e.uuid} found in the store`);const c={...r,...e};this.dispatch(n(c));const u=this.enqueueRequest({description:A(o.PATCH,this.name,!1),method:o.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))}),[c,u]}async delete(e){const{addOne:n,deleteOne:a}=this.actions,{selectById:r}=this.selectors,c=this.select(r(e));if(!c)throw new Error(`No asset with uuid ${e} found in the store`);const u=this.select(pc(e)),d=this.select(Mc(e)),p=this.select($h(e)),m=this.select(dI(e)),f=this.select(uh(e));this.dispatch(a(e)),this.dispatch(Ps(w(u))),this.dispatch(Nt(w(d))),this.dispatch(bt(w(p))),this.dispatch(Mt(w(m))),this.dispatch(pt(w(f)));try{return await this.enqueueRequest({description:A(o.DELETE,this.name,!1),method:o.DELETE,url:`${this.url}/${e}/`,blockers:[e],blocks:[]})}catch(T){throw this.dispatch(n(c)),this.dispatch(Os(u)),this.dispatch(kt(d)),this.dispatch(Ft(p)),this.dispatch(gt(m)),this.dispatch(mt(f)),T}}bulkAdd(e,n){const{addMany:a}=this.actions,r=new Date().toISOString(),c=W(e,Math.min(n??e.length,H)).map(p=>{const m=p.map(f=>P(f));return{batchId:ot.v4(),payload:{submitted_at:r,assets:m}}}),u=[];let d=null;for(const p of c){const{batchId:m,payload:f}=p,T=f.assets.map(({uuid:E})=>E),_=f.assets.map(({asset_type:E})=>E),I=f.assets.map(({project:E})=>E),M=f.assets.map(({status:E})=>E),g=this.enqueueRequest({description:A(o.POST,this.name,!0),method:o.POST,url:`${this.url}/bulk/`,payload:f,blockers:(d?[d]:[]).concat(_).concat(I).concat(M),blocks:[m].concat(T)});d=p.batchId,u.push(g)}return Promise.all(u).then(p=>{const m=p.flat();this.dispatch(a(m))}),u}bulkUpdate(e,n){const{updateMany:a}=this.actions,{selectByIds:r}=this.selectors,c=w(e);if(new Set(c).size!==e.length)throw new Error("payloads contains duplicate uuids.");const u=this.select(r(c));if(c.length!=u.length)throw new Error(`Attempting to bulk update ${c.length-u.length} assets that dont exist in the store`);const d=u.toSorted(ht),p=e.toSorted(ht),m=[];for(let I=0;I<c.length;I++)m.push({...d[I],...p[I]});this.dispatch(a(m));const f=W(e,Math.min(n??e.length,H)),T=[];let _=null;for(const I of f){const M=ot.v4(),g=w(I),E=I.map(({status:D})=>D).filter(Boolean),V=this.enqueueRequest({description:A(o.PATCH,this.name,!0),method:o.PATCH,url:`${this.url}/bulk/`,payload:{payloads:I},blockers:(_?[_]:[]).concat(g).concat(E),blocks:[M].concat(g)});T.push(V),_=M}return Promise.all(T).then(I=>{this.dispatch(a(I.flat()))}).catch(()=>{this.dispatch(a(u))}),[m,T]}async bulkDelete(e){const{addMany:n,deleteMany:a}=this.actions,{selectByIds:r}=this.selectors,c=this.select(r(e)),u=this.select(Rc(e)),d=this.select(Uh(e)),p=this.select(uI(e)),m=this.select(lh(e));this.dispatch(a(e)),this.dispatch(Nt(w(u))),this.dispatch(bt(w(d))),this.dispatch(Mt(w(p))),this.dispatch(pt(w(m)));try{return await this.enqueueRequest({description:A(o.DELETE,this.name,!0),method:o.DELETE,url:`${this.url}/bulk/`,payload:{uuids:e},blockers:e,blocks:[]})}catch(f){throw this.dispatch(n(c)),this.dispatch(kt(u)),this.dispatch(Ft(d)),this.dispatch(gt(p)),this.dispatch(mt(m)),f}}async refreshStore(e,n){const{initialize:a}=this.actions,c=(await this.listPaginated({queryParams:{project:e}},n)).flat();return this.dispatch(a(c)),c}}class RM extends j{constructor(){super(...arguments);h(this,"name","Asset Type Attachment");h(this,"url","/asset-type-attachments");h(this,"actions",{addOne:Hc,addMany:ws,setOne:Wc,setMany:Kc,updateOne:Yc,updateMany:Zc,deleteOne:Jc,deleteMany:vs,initialize:Gc});h(this,"selectors",{selectById:Qc,selectByIds:xc})}getId(e){return e.uuid}getBlockers(e){return[e.asset_type]}getBlocks(e){return[e.uuid]}buildModel(e){const n=this.select(r=>{var c;return((c=r.userReducer.currentUser)==null?void 0:c.id)??null}),a=new Date().toISOString();return P({...e,created_by:n,submitted_at:a})}buildPayload(e){return{uuid:e.uuid,submitted_at:e.submitted_at,file_name:e.file_name,file_sha1:e.file_sha1,file_extension:e.file_extension,asset_type:e.asset_type}}buildBulkPayload(e){return{uuid:e.uuid,file_name:e.file_name,file_sha1:e.file_sha1,file_extension:e.file_extension,asset_type:e.asset_type}}async refreshStore(e,n){const{initialize:a}=this.actions,r=await this.list({queryParams:{asset_type__organization:e}},n);return this.dispatch(a(r)),r}}class wM extends j{constructor(){super(...arguments);h(this,"name","Asset Type Fields Attachment");h(this,"url","/asset-type-fields-attachments");h(this,"actions",{addOne:nr,addMany:ar,setOne:cr,setMany:rr,updateOne:dr,updateMany:ur,deleteOne:lr,deleteMany:or,initialize:ir});h(this,"selectors",{selectById:mr,selectByIds:pr})}getId(e){return e.uuid}getBlockers(e){return[e.fields_revision]}getBlocks(e){return[e.uuid]}buildModel(e){const n=this.select(r=>{var c;return((c=r.userReducer.currentUser)==null?void 0:c.id)??null}),a=new Date().toISOString();return P({...e,created_by:n,submitted_at:a})}buildPayload(e){const{uuid:n,field_identifier:a,fields_revision:r,file_sha1:c,file_name:u,file_extension:d}=e;return{uuid:n,submitted_at:e.submitted_at,field_identifier:a,fields_revision:r,file_sha1:c,file_name:u,file_extension:d}}buildBulkPayload(e){const{uuid:n,field_identifier:a,fields_revision:r,file_sha1:c,file_name:u,file_extension:d}=e;return{uuid:n,field_identifier:a,fields_revision:r,file_sha1:c,file_name:u,file_extension:d}}async refreshStore(e,n){const{initialize:a}=this.actions,r=await this.list({queryParams:{fields_revision__asset_type__organization:e}},n);return this.dispatch(a(r)),r}}class vM extends v{constructor(){super(...arguments);h(this,"name","Asset Type Fields");h(this,"url","/asset-type-fields");h(this,"actions",{addOne:Ar,addMany:Ir,setOne:Tr,setMany:Or,updateOne:Pr,updateMany:Fr,deleteOne:br,deleteMany:_r,initialize:Sr});h(this,"selectors",{selectById:Mr,selectByIds:Rr})}add(e){const{addOne:n,updateOne:a,deleteOne:r}=this.actions,c=this.select(m=>{var f;return((f=m.userReducer.currentUser)==null?void 0:f.id)??null}),u=new Date().toISOString(),d=P({...e,created_by:c,submitted_at:u});this.dispatch(n(d));const p=this.enqueueRequest({description:A(o.POST,this.name,!1),method:o.POST,url:`${this.url}/`,payload:R(d),blockers:[d.asset_type],blocks:[d.uuid]});return p.then(m=>{this.dispatch(a(m))}).catch(()=>{this.dispatch(r(d.uuid))}),[d,p]}async refreshStore(e,n){const{initialize:a}=this.actions,r=await this.list({queryParams:{asset_type__organization:e}},n);return this.dispatch(a(r)),r}}class EM extends j{constructor(){super(...arguments);h(this,"name","Asset Type Field Values Attachment");h(this,"url","/asset-type-field-values-attachments");h(this,"actions",{addOne:Vr,addMany:js,setOne:Br,setMany:zr,updateOne:Dr,updateMany:jr,deleteOne:qr,deleteMany:qs,initialize:Er});h(this,"selectors",{selectById:$r,selectByIds:Ur})}getId(e){return e.uuid}getBlockers(e){return[e.field_values]}getBlocks(e){return[e.uuid]}buildModel(e){const n=this.select(r=>{var c;return((c=r.userReducer.currentUser)==null?void 0:c.id)??null}),a=new Date().toISOString();return P({...e,created_by:n,submitted_at:a})}buildPayload(e){const{uuid:n,field_identifier:a,field_values:r,file_sha1:c,file_name:u,file_extension:d}=e;return{uuid:n,submitted_at:e.submitted_at,field_identifier:a,field_values:r,file_sha1:c,file_name:u,file_extension:d}}buildBulkPayload(e){const{uuid:n,field_identifier:a,field_values:r,file_sha1:c,file_name:u,file_extension:d}=e;return{uuid:n,field_identifier:a,field_values:r,file_sha1:c,file_name:u,file_extension:d}}async bulkDelete(e){const{deleteMany:n,addMany:a}=this.actions,{selectByIds:r}=this.selectors,c=this.select(r(e));this.dispatch(n(e));try{return await this.enqueueRequest({description:A(o.DELETE,this.name,!0),method:o.DELETE,url:`${this.url}/bulk/`,payload:{uuids:e},blockers:e,blocks:[]})}catch(u){throw this.dispatch(a(c)),u}}async refreshStore(e,n){const{initialize:a}=this.actions,c=(await this.listPaginated({queryParams:{field_values__asset__project:e,latest:!0}},n)).flat();return this.dispatch(a(c)),c}}class VM extends v{constructor(){super(...arguments);h(this,"name","Asset Type Field Values");h(this,"url","/asset-type-field-values");h(this,"actions",{addOne:Hr,addMany:Wr,setOne:Kr,setMany:Yr,updateOne:Zr,updateMany:Jr,deleteOne:Xr,deleteMany:Qr,initialize:Gr});h(this,"selectors",{selectById:ed,selectByIds:td})}add(e){const{addOne:n,updateOne:a,deleteOne:r}=this.actions,c=this.select(m=>{var f;return((f=m.userReducer.currentUser)==null?void 0:f.id)??null}),u=new Date().toISOString(),d=P({...e,created_by:c,submitted_at:u}),p=this.enqueueRequest({description:A(o.POST,this.name,!1),method:o.POST,url:`${this.url}/`,payload:R(d),blockers:[e.asset,e.fields_revision],blocks:[d.uuid]});return this.dispatch(n(d)),p.then(m=>{this.dispatch(a(m))}).catch(()=>{this.dispatch(r(d.uuid))}),[d,p]}bulkAdd(e,n){const{payloads:a,values:r}=e,{addMany:c,updateMany:u,deleteMany:d}=this.actions,p=new Date().toISOString(),m=[],f=W(a,Math.min(n??a.length,H)),T=[];for(const I of f){const M=[];for(const g of I){const E=P({...g,values:g.values,created_by:this.select(V=>{var D;return((D=V.userReducer.currentUser)==null?void 0:D.id)??null}),submitted_at:p});m.push(E),M.push({uuid:E.uuid,asset:g.asset,fields_revision:g.fields_revision,published_at:g.published_at,values:E.values})}T.push({submitted_at:p,values:r,field_values:M})}this.dispatch(c(m));const _=[];for(const I of T){const{field_values:M}=I,g=M.map(({asset:z})=>z),E=M.map(({fields_revision:z})=>z),V=M.map(({uuid:z})=>z),D=this.enqueueRequest({description:A(o.POST,this.name,!0),method:o.POST,url:`${this.url}/bulk/`,payload:I,blockers:g.concat(E),blocks:V});_.push(D)}return Promise.all(_).then(I=>{this.dispatch(u(I.flat()))}).catch(()=>{this.dispatch(d(w(m)))}),[m,_]}update(e){const{updateOne:n}=this.actions,{selectById:a}=this.selectors,r=this.select(a(e.uuid));if(!r)throw new Error(`Expected AssetTypeFieldValues with uuid ${e.uuid} to exist`);const c={...r,...e};this.dispatch(n(c));const u=this.enqueueRequest({description:A(o.PATCH,this.name,!1),method:o.PATCH,url:`${this.url}/${e.uuid}/`,payload:e,blockers:[c.uuid,c.fields_revision,c.asset],blocks:[c.uuid]});return u.then(d=>{this.dispatch(n(d))}).catch(()=>{this.dispatch(n(r))}),[c,u]}async delete(e){const{deleteOne:n,addOne:a}=this.actions,{selectById:r}=this.selectors,c=this.select(r(e));if(!c)throw new Error(`Expected submission with uuid ${e} to exist`);const u=this.select(Lr(e));this.dispatch(n(e)),this.dispatch(qs(w(u)));try{return await this.enqueueRequest({description:A(o.DELETE,this.name,!1),method:o.DELETE,url:`${this.url}/${e}/`,blockers:[e],blocks:[]})}catch(d){throw this.dispatch(a(c)),this.dispatch(js(u)),d}}async refreshStore(e,n){const{initialize:a}=this.actions,c=(await this.listPaginated({queryParams:{asset__project:e,latest:!0}},n)).flat();return this.dispatch(a(c)),c}}class BM extends v{constructor(){super(...arguments);h(this,"name","Asset Type Identifier");h(this,"url","/asset-type-identifiers");h(this,"actions",{addOne:ad,addMany:cd,setOne:rd,setMany:dd,updateOne:ud,updateMany:ld,deleteOne:od,deleteMany:hd,initialize:nd});h(this,"selectors",{selectById:pd,selectByIds:yd})}add(e){const{addOne:n,updateOne:a,deleteOne:r}=this.actions,c=this.select(m=>{var f;return((f=m.userReducer.currentUser)==null?void 0:f.id)??null}),u=new Date().toISOString(),d=P({...e,created_by:c,submitted_at:u});this.dispatch(n(d));const p=this.enqueueRequest({description:A(o.POST,this.name,!1),method:o.POST,url:`${this.url}/`,payload:R(d),blockers:[d.asset_type],blocks:[d.uuid]});return p.then(m=>{this.dispatch(a(m))}).catch(()=>{this.dispatch(r(d.uuid))}),[d,p]}update(e){const{updateOne:n}=this.actions,{selectById:a}=this.selectors,r=this.select(a(e.uuid));if(!r)throw new Error(`Expected asset type identifier with uuid ${e.uuid} to exist`);const c={...r,...e};this.dispatch(n(c));const u=this.enqueueRequest({description:A(o.PATCH,this.name,!1),method:o.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))}),[c,u]}async delete(e){const{deleteOne:n,addOne:a}=this.actions,{selectById:r}=this.selectors,c=this.select(r(e));if(!c)throw new Error(`Expected asset type identifier with uuid ${e} to exist`);this.dispatch(n(e));try{return await this.enqueueRequest({description:A(o.DELETE,this.name,!1),method:o.DELETE,url:`${this.url}/${e}/`,blockers:[e],blocks:[]})}catch(u){throw this.dispatch(a(c)),u}}async refreshStore(e,n){const{initialize:a}=this.actions,r=await this.list({queryParams:{asset_type__organization:e}},n);return this.dispatch(a(r)),r}}class zM extends v{constructor(){super(...arguments);h(this,"name","Asset Type Identifier Value");h(this,"url","/asset-type-identifier-values");h(this,"actions",{addOne:Id,addMany:Td,setOne:Od,setMany:Pd,updateOne:Fd,updateMany:bd,deleteOne:_d,deleteMany:gd,initialize:Ad});h(this,"selectors",{selectById:Rd,selectByIds:wd})}add(e){const{addOne:n,updateOne:a,deleteOne:r}=this.actions,c=this.select(m=>{var f;return((f=m.userReducer.currentUser)==null?void 0:f.id)??null}),u=new Date().toISOString(),d=P({...e,created_by:c,submitted_at:u});this.dispatch(n(d));const p=this.enqueueRequest({description:A(o.POST,this.name,!1),method:o.POST,url:`${this.url}/`,payload:R(d),blockers:[e.asset,e.asset_type_identifier],blocks:[d.uuid]});return p.then(m=>{this.dispatch(a(m))}).catch(()=>{this.dispatch(r(d.uuid))}),[d,p]}bulkAdd(e,n){const{addMany:a,updateMany:r,deleteMany:c}=this.actions,u=new Date().toISOString(),d=this.select(I=>{var M;return((M=I.userReducer.currentUser)==null?void 0:M.id)??null}),p=W(e,Math.min(n??e.length,H)),m=[],f=[];for(const I of p){const M=[],g=[],E=[];for(const D of I){const z=P({...D,submitted_at:u,created_by:d});f.push(z);const q={uuid:z.uuid,asset:z.asset,asset_type_identifier:z.asset_type_identifier,value:z.value};M.push(q),g.push(z.asset),g.push(z.asset_type_identifier),E.push(z.uuid)}const V={payloads:M,submitted_at:u,blockers:g,blocks:E};m.push(V)}this.dispatch(a(f));const T=m.map(I=>{const{payloads:M,submitted_at:g,blockers:E,blocks:V}=I;return this.enqueueRequest({description:A(o.POST,this.name,!0),method:o.POST,url:`${this.url}/bulk/`,payload:{submitted_at:g,payloads:M},blockers:E,blocks:V})});Promise.all(T).then(I=>{this.dispatch(r(I.flat()))}).catch(I=>{throw this.dispatch(c(w(f))),I});const _=Promise.all(T).then(I=>I.flat());return[f,_]}async delete(e){const{deleteOne:n,addOne:a}=this.actions,{selectById:r}=this.selectors,c=this.select(r(e));if(!c)throw new Error(`Expected asset type identifier value with uuid ${e} to exist`);this.dispatch(n(e));try{return await this.enqueueRequest({description:A(o.DELETE,this.name,!1),method:o.DELETE,url:`${this.url}/${e}/`,blockers:[e],blocks:[]})}catch(u){throw this.dispatch(a(c)),u}}async refreshStore(e,n){const{initialize:a}=this.actions,c=(await this.listPaginated({queryParams:{asset__project:e,latest:!0}},n)).flat();return this.dispatch(a(c)),c}}class DM extends v{constructor(){super(...arguments);h(this,"name","Asset Type");h(this,"url","/asset-types");h(this,"actions",{addOne:Dd,addMany:jd,setOne:Bd,setMany:zd,updateOne:qd,updateMany:Cd,deleteOne:$d,deleteMany:Ud,initialize:Vd});h(this,"selectors",{selectById:kd,selectByIds:Nd})}add(e){const{addOne:n,updateOne:a,deleteOne:r}=this.actions,c=this.select(m=>{var f;return((f=m.userReducer.currentUser)==null?void 0:f.id)??null}),u=new Date().toISOString(),d=P({...e,created_by:c,submitted_at:u});this.dispatch(n(d));const p=this.enqueueRequest({description:A(o.POST,this.name,!1),method:o.POST,url:`${this.url}/`,payload:R(d),blockers:[],blocks:[d.uuid]});return p.then(m=>{this.dispatch(a(m))}).catch(()=>{this.dispatch(r(d.uuid))}),[d,p]}update(e){const{updateOne:n}=this.actions,{selectById:a}=this.selectors,r=this.select(a(e.uuid));if(!r)throw new Error(`Expected asset type with uuid ${e.uuid} to exist`);const c={...r,...e};this.dispatch(n(c));const u=this.enqueueRequest({description:A(o.PATCH,this.name,!1),method:o.PATCH,url:`${this.url}/${e.uuid}/`,payload:e,blockers:[r.uuid],blocks:[r.uuid]});return u.then(d=>{this.dispatch(n(d))}).catch(()=>{this.dispatch(n(r))}),[c,u]}async delete(e){const{deleteOne:n,addOne:a}=this.actions,{selectById:r}=this.selectors,c=this.select(r(e));if(!c)throw new Error(`Expected asset type with uuid ${e} to exist`);const u=this.select($c(e)),d=this.select(er(e));this.dispatch(n(e)),this.dispatch(Ms(w(u))),this.dispatch(vs(w(d)));try{return await this.enqueueRequest({description:A(o.DELETE,this.name,!1),method:o.DELETE,url:`${this.url}/${e}/`,blockers:[e],blocks:[]})}catch(p){throw this.dispatch(a(c)),this.dispatch(gs(u)),this.dispatch(ws(d)),p}}async refreshStore(e,n){const{initialize:a}=this.actions,r=await this.list({queryParams:{organization:e}},n);return this.dispatch(a(r)),r}}class jM extends v{constructor(){super(...arguments);h(this,"name","Asset Type Status");h(this,"url","/asset-type-statuses");h(this,"actions",{addOne:Kd,addMany:Yd,setOne:Zd,setMany:Jd,updateOne:Xd,updateMany:Qd,deleteOne:xd,deleteMany:eu,initialize:Wd});h(this,"selectors",{selectById:su,selectByIds:iu})}add(e){const{addOne:n,updateOne:a,deleteOne:r}=this.actions,c=this.select(m=>{var f;return((f=m.userReducer.currentUser)==null?void 0:f.id)??null}),u=new Date().toISOString(),d=P({...e,created_by:c,submitted_at:u});this.dispatch(n(d));const p=this.enqueueRequest({description:A(o.POST,this.name,!1),method:o.POST,url:`${this.url}/`,payload:R(d),blockers:[e.asset_type],blocks:[d.uuid]});return p.then(m=>{this.dispatch(a(m))}).catch(()=>{this.dispatch(r(d.uuid))}),[d,p]}update(e){const{updateOne:n}=this.actions,{selectById:a}=this.selectors,r=this.select(a(e.uuid));if(!r)throw new Error(`Expected an existing asset type status with uuid ${e.uuid}`);const c={...r,...e};this.dispatch(n(c));const u=this.enqueueRequest({description:A(o.PATCH,this.name,!1),method:o.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))}),[c,u]}async delete(e){const{deleteOne:n,addOne:a}=this.actions,{selectById:r}=this.selectors,c=this.select(r(e));if(!c)throw new Error(`No asset type status with uuid ${e} found in the store`);this.dispatch(n(e));try{return await this.enqueueRequest({description:A(o.DELETE,this.name,!1),method:o.DELETE,url:`${this.url}/${e}/`,blockers:[e],blocks:[]})}catch(u){throw this.dispatch(a(c)),u}}async refreshStore(e,n){const{initialize:a}=this.actions,r=await this.list({queryParams:{asset_type__organization:e}},n);return this.dispatch(a(r)),r}}class qM extends j{constructor(){super(...arguments);h(this,"name","Document Attachment");h(this,"url","/document-attachments");h(this,"actions",{addOne:lu,addMany:ou,setOne:hu,setMany:mu,updateOne:pu,updateMany:yu,deleteOne:fu,deleteMany:Su,initialize:uu});h(this,"selectors",{selectById:Iu,selectByIds:Tu})}getId(e){return e.uuid}getBlockers(e){return[e.document]}getBlocks(e){return[e.uuid]}buildModel(e){const n=this.select(r=>{var c;return((c=r.userReducer.currentUser)==null?void 0:c.id)??null}),a=new Date().toISOString();return P({...e,created_by:n,submitted_at:a})}buildPayload(e){return{uuid:e.uuid,submitted_at:e.submitted_at,file_name:e.file_name,file_sha1:e.file_sha1,file_extension:e.file_extension,document:e.document}}buildBulkPayload(e){return{uuid:e.uuid,file_name:e.file_name,file_sha1:e.file_sha1,file_extension:e.file_extension,document:e.document}}async bulkAdd(e,n){const[a,r,c]=await super.bulkAdd(e,n),u={};for(const{file_sha1:d,uuid:p}of a)d in u||(u[d]=[]),u[d].push(p);return c.then(d=>{const p=d.flatMap(m=>u[m]??[]);for(const m of p)this.makeReadable(m)}),[a,r,c]}makeReadable(e){this.enqueueRequest({description:"Add attachment to AI assistant",method:o.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,r=this.list({queryParams:{document__project__organization:e}},n),c=this.list({queryParams:{document__organization:e}},n),d=(await Promise.all([r,c])).flat();return this.dispatch(a(d)),d}}class CM extends v{constructor(){super(...arguments);h(this,"name","Document");h(this,"url","/documents");h(this,"actions",{addOne:bu,addMany:_u,setOne:gu,setMany:Mu,updateOne:Ru,updateMany:wu,deleteOne:vu,deleteMany:Eu,initialize:Fu});h(this,"selectors",{selectById:Bu,selectByIds:zu})}add(e){const{addOne:n,deleteOne:a,updateOne:r}=this.actions,c=this.select(m=>{var f;return((f=m.userReducer.currentUser)==null?void 0:f.id)??null}),u=new Date().toISOString(),d=P({...e,created_by:c,submitted_at:u});this.dispatch(n(d));const p=this.enqueueRequest({description:A(o.POST,this.name,!1),method:o.POST,url:`${this.url}/`,payload:R(d),blockers:d.parent_document?[d.parent_document]:[],blocks:[d.uuid]});return p.then(m=>{this.dispatch(r(m))}).catch(()=>{this.dispatch(a(d.uuid))}),[d,p]}update(e){const{updateOne:n}=this.actions,{selectById:a}=this.selectors,r=this.select(a(e.uuid));if(!r)throw new Error(`attempting to update a document with uuid ${e.uuid} that does not exist in store.documents`);const c={...r,...e};this.dispatch(n(c));const u=this.enqueueRequest({description:A(o.PATCH,this.name,!1),method:o.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))}),[c,u]}async delete(e){const{deleteOne:n,addOne:a,addMany:r,deleteMany:c}=this.actions,{selectById:u}=this.selectors,d=this.select(u(e));if(!d)throw new Error(`attempting to delete a document with uuid ${e} that does not exist in store.documents`);const p=this.select(Du(e));this.dispatch(n(e)),this.dispatch(c(w(p)));try{return await this.enqueueRequest({description:A(o.DELETE,this.name,!1),method:o.DELETE,url:`${this.url}/${e}/`,blockers:[e],blocks:[]})}catch(m){throw this.dispatch(a(d)),this.dispatch(r(p)),m}}async refreshStore(e,n){const{initialize:a}=this.actions,r=this.list({queryParams:{project__organization:e}},n),c=this.list({queryParams:{organization:e}},n),d=(await Promise.all([r,c])).flat();return this.dispatch(a(d)),d}}class It extends At{async get(s,e){return this.performRequest({url:`${this.url}/${s}/`,method:o.GET},e)}async list(s,e){return this.performRequest({url:`${this.url}/`,method:o.GET,...s},e)}async listPaginated(s,e){return this.performPagination({url:`${this.url}/`,method:o.GET,...s},e)}}class $M extends It{constructor(){super(...arguments);h(this,"name","Email Domains");h(this,"url","/organization-email-domains");h(this,"actions",{addOne:Cu,addMany:$u,setOne:Uu,setMany:Lu,updateOne:ku,updateMany:Nu,deleteOne:Gu,deleteMany:Hu,initialize:qu});h(this,"selectors",{selectById:Ku,selectByIds:Yu})}async add(e,n){return this.enqueueRequest({description:A(o.POST,this.name,!1),method:o.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:A(o.DELETE,this.name,!1),method:o.DELETE,url:`${this.url}/${e.uuid}/`,blockers:[e.domain],blocks:[]})}catch(r){throw this.dispatch(a(e)),r}}async refreshStore(e,n){const{initialize:a}=this.actions,r=await this.list({queryParams:{organization:e}},n);return this.dispatch(a(r)),r}}class UM extends At{async getVerificationCode(s){return this.enqueueRequest({description:"Get verification code",method:o.GET,url:`/verification/email-verification/${s}/`,isAuthNeeded:!1,blockers:[],blocks:[]})}validateVerificationCode(s,e=void 0){return this.enqueueRequest({description:"Validate verification code",method:o.POST,url:`/verification/email-verification/${s}/`,isAuthNeeded:!1,payload:e,blockers:[],blocks:[]})}}const $t={},Sa=new Set,Aa=new Set;class LM extends At{constructor(){super(...arguments);h(this,"host");h(this,"dbPromise",Nb.openDB("fileCache",2,{upgrade(e,n){n<1&&e.createObjectStore("files"),n<2&&e.createObjectStore("presignedUrls")}}))}async getDB(){return await this.dbPromise}async cacheFile(e){if(!e.name)throw new Error(`Cant add a file without a name to cache: ${e.name}`);if(!e.type)throw new Error(`Cant add a file without a type to cache: ${e.name}`);if(!e.size)throw new Error(`Cant add an empty file to cache: ${e.name}`);const n=await Lt(e);if(Sa.has(n))return;const a=await this.getDB();!!await a.get("files",n)?console.warn(`Attempting to add a file already cached, ${e.name}`):await a.put("files",e,n),Sa.add(n)}async uncacheFile(e){await(await this.getDB()).delete("files",e),Sa.delete(e)}async getFileFromCache(e){return(await this.getDB()).get("files",e)}async fetchFileFromUrl(e,n,a=n,r){const c=e.split("?")[0]??e,u=await this.getFileFromCache(n);if(u)return u;let d;c in $t?d=$t[c]:$a(e)?(d=Ca(e,a),$t[c]=d):(d=this.performRequest({method:o.GET,url:e,isExternalUrl:!0,isResponseBlob:!0,isAuthNeeded:!1},r).then(f=>new File([f],a,{type:f.type})),$t[c]=d);let p;try{p=await d}catch(f){throw f instanceof U&&delete $t[c],f}const m=await Lt(p);if(m!==n){const f=`The hash of the file returned from the server (${m}) does not match the
8
- expected hash (${n}). This can happen if you're using a local development server and the
1
+ (function(s,Ut){typeof exports=="object"&&typeof module<"u"?Ut(exports,require("@redux-offline/redux-offline/lib/types"),require("@reduxjs/toolkit"),require("superagent"),require("uuid"),require("react"),require("fast-tree-builder"),require("ts-tree-lib"),require("@redux-offline/redux-offline"),require("@redux-offline/redux-offline/lib/defaults"),require("localforage"),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","fast-tree-builder","ts-tree-lib","@redux-offline/redux-offline","@redux-offline/redux-offline/lib/defaults","localforage","@overmap-ai/forms","idb","jwt-decode","dependency-graph","@tiptap/core"],Ut):(s=typeof globalThis<"u"?globalThis:s||self,Ut(s["overmap-core"]={},null,s.toolkit,s.request,s.uuid,s.react,s.buildTree,s.tsTreeLib,s.reduxOffline,s.offlineConfig,s.localforage,null,s.idb,s.jwtDecode,s.dependencyGraph))})(this,(function(s,Ut,u,Tt,ut,t_,s_,ga,i_,Ma,n_,yw,a_,c_,r_){"use strict";const Ra=Object.freeze([]),wa=Object.freeze({}),va=6e4,Ea=["created_at","updated_at","index","revision"];var Va=(t=>(t[t.GUEST=0]="GUEST",t[t.BASIC=2]="BASIC",t[t.ADMIN=4]="ADMIN",t))(Va||{}),l=(t=>(t.GET="GET",t.POST="POST",t.PATCH="PATCH",t.PUT="PUT",t.DELETE="DELETE",t))(l||{}),Ba=(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))(Ba||{}),j=(t=>(t.STATUS="status",t.PRIORITY="priority",t.DESCRIPTION="description",t.TITLE="title",t.ASSIGNED_TO="assigned_to",t.DUE_DATE="due_date",t))(j||{}),za=(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))(za||{}),Da=(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))(Da||{}),ja=(t=>(t[t.ADD_ASSIGNEE=0]="ADD_ASSIGNEE",t[t.REMOVE_ASSIGNEE=2]="REMOVE_ASSIGNEE",t[t.ADD_REVIEWER=4]="ADD_REVIEWER",t[t.REMOVE_REVIEWER=6]="REMOVE_REVIEWER",t))(ja||{}),Ca=(t=>(t[t.APPROVED=0]="APPROVED",t[t.REJECTED=2]="REJECTED",t[t.CHANGES_REQUESTED=4]="CHANGES_REQUESTED",t))(Ca||{});function P(t){return{addOne:(S,A)=>{const I=t(A.payload);I in S.instances||(S.instances[I]=A.payload)},addMany:(S,A)=>{for(const I of A.payload){const f=t(I);f in S.instances||(S.instances[f]=I)}},updateOne:(S,A)=>{const I=t(A.payload);I in S.instances&&(S.instances[I]=A.payload)},setMany:(S,A)=>{for(const I of A.payload){const f=t(I);S.instances[f]=I}},setOne:(S,A)=>{const I=t(A.payload);S.instances[I]=A.payload},updateMany:(S,A)=>{for(const I of A.payload){const f=t(I);f in S.instances&&(S.instances[f]=I)}},deleteOne:(S,A)=>{delete S.instances[A.payload]},deleteMany:(S,A)=>{for(const I of A.payload)delete S.instances[I]},initialize:(S,A)=>{S.instances={};const I=new Set;for(const f of A.payload){const b=t(f);I.add(b),S.instances[b]=f}I.size!==A.payload.length&&console.warn("duplicate ids detected when initializing model instances.")}}}function d_(t){return{initializeSelection:(h,o)=>{h[t]=Array.from(new Set(o.payload))},selectOne:(h,o)=>{console.debug(h,h[t]),!new Set(h[t]).has(o.payload)&&h[t].push(o.payload)},selectMany:(h,o)=>{const S=new Set(h[t]);for(const A of o.payload)S.has(A)||S.add(A);h[t]=Array.from(S)},unselectOne:(h,o)=>{const S=new Set(h[t]);S.has(o.payload)&&(S.delete(o.payload),h[t]=Array.from(S))},unselectMany:(h,o)=>{const S=new Set(h[t]);for(const A of o.payload)S.has(A)&&S.delete(A);h[t]=Array.from(S)},toggleOne:(h,o)=>{const S=new Set(h[t]);S.has(o.payload)?S.delete(o.payload):S.add(o.payload),h[t]=Array.from(S)},toggleMany:(h,o)=>{const S=new Set(h[t]);for(const A of o.payload)S.has(A)?S.delete(A):S.add(A);h[t]=Array.from(S)}}}const T=u.createAction("RESET"),V=u.createAction("RESET_PROJECT_STATE"),F=u.createAction("RESET_ORGANIZATION_STATE");function u_(t,e){return t_.useMemo(t,e)}class ps{[Symbol.toStringTag]="Promise";_promise;_resolve;_reject;_state="pending";get state(){return this._state}constructor(){this._resolve=null,this._reject=null,this._promise=new Promise((e,i)=>{this._resolve=e,this._reject=i})}then(e,i){return this._promise.then(e,i)}catch(e){return this._promise.catch(e)}resolve(e){if(!this._resolve)throw new Error("No resolve callback");this._resolve(e),this._state="fulfilled"}reject(e){if(!this._reject)throw e;this._reject(e),this._state="rejected"}finally(e){throw new Error("`finally` not implemented")}}let ys=!1;["true","1"].includes("".toLowerCase())&&(ys=!0);function l_(t,e){if(t===e)return!0;if(typeof t!=typeof e)return!1;const i=Object.keys(t),n=Object.keys(e),a=i.length;if(a!==n.length)return!1;for(let c=0;c<a;c++){const d=i[c];if(!Object.prototype.hasOwnProperty.call(e,d)||t[d]!==e[d])return!1}return!0}function Ss(t){const e={};return function(){const i=Array.prototype.slice.call(arguments);return i in e?(ys&&console.debug(`Memoization debug: Using memorized return value for ${t.toString()}(`,i,")"),e[i]):(ys&&console.debug(`Memoization debug: Cache miss! Memoizing ${t.toString()}(`,i,")"),e[i]=t.apply(this,i))}}function o_(t,e){if(t.length!==e.length)return!1;for(let i=0;i<t.length;i++)if(t[i]!==e[i])return!1;return!0}const p=t=>t.length===0?Ra:t,fs=t=>Object.keys(t).length===0?wa:t,qa=Ss(t=>{if(!t)return"";const e=new Date(t),i=e.getFullYear()===As.getFullYear(),n={day:"numeric",month:"short"};return i||(n.year="numeric"),e.toLocaleDateString([],n)}),h_=new Intl.RelativeTimeFormat([],{style:"long",numeric:"auto"}),m_=1e3*86400,As=new Date,p_=t=>new Date(t).toDateString()===As.toDateString(),y_=Ss((t,e,i)=>{const n=Math.round((new Date(t).getTime()-As.getTime())/m_);return n<e||n>i?qa(t):h_.format(n,"days")});function S_(t){return new Uint8Array(t).reduce((i,n)=>i+n.toString(16).padStart(2,"0"),"")}function Lt(t){return new Promise((e,i)=>{const n=new FileReader;n.onload=()=>{const a=n.result;if(!a){i(new Error("FileReader did not return a valid ArrayBuffer."));return}crypto.subtle.digest("SHA-1",a).then(c=>{const d=S_(c);e(d)})},n.readAsArrayBuffer(t)})}const $a=async t=>{const e=await t.arrayBuffer();return new Blob([e],{type:t.type})},f_=(t,e)=>`${t}${e?`.${e}`:""}`;function A_(t,e){return new File([t],e,{type:t.type})}function Ua(t){const e=t.name;return e.includes(".")?e.split(".").pop():""}const La=async t=>(await fetch(t)).blob(),ka=async(t,e)=>{const i=await La(t);return new File([i],e,{type:i.type})};function Na(t){return typeof t=="string"&&t.startsWith("blob:")}function Ga(t){return typeof t=="string"&&URL.canParse(t)&&t.startsWith("https://")&&t.includes(".cloudfront.net/")}function Ha(t){return typeof t=="string"&&URL.canParse(t)&&t.startsWith("https://")&&t.includes(".s3.amazonaws.com/")}function Wa(t){if(Ga(t)){const i=new URLSearchParams(t).get("Expires");if(!i)return null;const n=parseInt(i,10);return new Date(n*1e3)}if(Ha(t)){const e=new URLSearchParams(t),i=e.get("X-Amz-Date"),n=e.get("X-Amz-Expires");if(!i||!n)return null;const a=new Date(i.replace(/^(\d{4})(\d{2})(\d{2})T(\d{2})(\d{2})(\d{2})Z$/,"$1-$2-$3T$4:$5:$6Z")),c=parseInt(n);return new Date(a.getTime()+c*1e3)}return null}function Ka(t,e=30){const i=Wa(t);if(!i)return!1;const n=Date.now(),a=i.getTime(),c=e*1e3;return n+c>=a}function I_(t){return t.type.startsWith("image/")}const Ya={};function T_(t,e,i,...n){const a=Ya[t];let c=!1;a?a[e]||(a[e]=!0,c=!0):(Ya[t]={[e]:!0},c=!0),c&&console[i](...n)}function O(t){return{...t,uuid:ut.v4()}}function O_(t){const e={};for(const i of t)e[i.uuid]=i;return e}function R(t){return t.map(({uuid:e})=>e)}function Za(t,e){return t.localeCompare(e)}function lt(t,e){return Za(t.uuid,e.uuid)}function P_(t,e=void 0,i=255){let n=t.replace(/[^a-z0-9_\-.]/gi,"_").replace(/_{2,}/g,"_");if(!e){const c=t.split(".");c.length>1&&(e=c[c.length-1])}e&&!e.startsWith(".")&&(e="."+e);const a=e?e.length:0;return n.length+a>i&&(n=n.slice(0,i-a)+(e||"")),n}function F_(t){return t.toLowerCase().replace(" ","-")}function b_(t,e=!1){return t.normalize("NFKD").toLowerCase().replace(/[^\w\s-]/g,"").trim().replace(/[-\s]+/g,e?"_":"-")}function __(t,e){if(t.length<=e)return t;const i=t.slice(0,e-1);return i.slice(0,i.lastIndexOf(" "))+"…"}const g_=/^.+@.+\..+$/,Ja=(t,e)=>t.type!==e.type?t.type-e.type:t.order-e.order,Xa=(t,e)=>t.type!==e.type?t.type-e.type:t.order-e.order,Qa=(t,e)=>t.type!==e.type?t.type-e.type:t.order-e.order,xa=t=>s_(t,{id:e=>e.uuid,parentId:e=>e.parent_document,includeEmptyChildrenArray:!0,valueKey:!1}),M_=t=>{const{roots:e}=xa(t);return e.map(i=>new ga.Tree(i))},ec=(t,e)=>{const{nodes:i}=xa(e),n=i.get(t);if(!n)throw new Error(`Node with uuid ${t} does not exist in document tree.`);return new ga.Tree(n)},ot=(t,e)=>t.submitted_at===e.submitted_at?0:t.submitted_at<e.submitted_at?-1:1;class R_{constructor(e){this.getData=e}operations=[];getData;performOperations(e){let i=e;for(const n of this.operations)i=n(i);return i}filter(e,i){return this.operations.push(n=>n.filter(a=>a[e]===i)),this}exclude(e,i){return this.operations.push(n=>n.filter(a=>a[e]!==i)),this}orderBy(e){return this.operations.push(i=>i.toSorted((n,a)=>n[e]<=a[e]?1:-1)),this}reverse(){return this.operations.push(e=>e.toReversed()),this}all(){return this.operations.push(e=>e),this}get(e,i){return u.createSelector([this.getData],n=>this.performOperations(n).find(a=>a[e]===i))}count(){return u.createSelector([this.getData],e=>this.performOperations(e).length)}first(){return u.createSelector([this.getData],e=>this.performOperations(e)[0])}last(){return u.createSelector([this.getData],e=>{const i=this.performOperations(e);return i[i.length-1]})}exists(){return u.createSelector([this.getData],e=>this.performOperations(e).length>0)}toSelector(){return u.createSelector([this.getData],e=>p(this.performOperations(e)))}}const m=(t=>(...e)=>i=>t(i,...e)),N=P(t=>t.uuid),tc={instances:{}},Is=u.createSlice({name:"agents",initialState:tc,extraReducers:t=>t.addMatcher(u.isAnyOf(T,V,F),e=>Object.assign(e,tc)),reducers:{initializeConversations:N.initialize,addConversation:N.addOne,addConversations:N.addMany,setConversation:N.setOne,setConversations:N.setMany,updateConversation:N.updateOne,updateConversations:N.updateMany,deleteConversation:N.deleteOne,deleteConversations:N.deleteMany}}),{initializeConversations:sc,addConversation:ic,addConversations:w_,setConversation:nc,setConversations:v_,updateConversation:ac,updateConversations:E_,deleteConversation:V_,deleteConversations:B_}=Is.actions,Ts=t=>t.agentsReducer.instances,z_=u.createSelector([Ts],t=>Object.values(t)),D_=m(u.createSelector([Ts,(t,e)=>e],(t,e)=>t[e])),cc=Is.reducer,G=P(t=>t.uuid),rc={instances:{}},Os=u.createSlice({name:"assetAttachments",initialState:rc,extraReducers:t=>t.addMatcher(u.isAnyOf(T,V,F),e=>Object.assign(e,rc)),reducers:{initializeAssetAttachments:G.initialize,addAssetAttachment:G.addOne,addAssetAttachments:G.addMany,setAssetAttachment:G.setOne,setAssetAttachments:G.setMany,updateAssetAttachment:G.updateOne,updateAssetAttachments:G.updateMany,deleteAssetAttachment:G.deleteOne,deleteAssetAttachments:G.deleteMany}}),{initializeAssetAttachments:dc,addAssetAttachment:uc,addAssetAttachments:Ps,setAssetAttachment:lc,setAssetAttachments:oc,updateAssetAttachment:hc,updateAssetAttachments:mc,deleteAssetAttachment:pc,deleteAssetAttachments:Fs}=Os.actions,yc=t=>t.assetAttachmentReducer.instances,bs=u.createSelector([yc],t=>Object.values(t)),Sc=t=>e=>e.assetAttachmentReducer.instances[t],fc=m(u.createSelector([bs,(t,e)=>e],(t,e)=>{const i=new Set(e);return p(t.filter(({uuid:n})=>i.has(n)))})),Ac=m(u.createSelector([bs,(t,e)=>e],(t,e)=>p(t.filter(({asset:i})=>e===i)))),Ic=Os.reducer,H=P(t=>t.uuid),Tc={instances:{}},_s=u.createSlice({name:"assetComments",initialState:Tc,extraReducers:t=>t.addMatcher(u.isAnyOf(T,V,F),e=>Object.assign(e,Tc)),reducers:{initializeAssetComments:H.initialize,addAssetComment:H.addOne,addAssetComments:H.addMany,setAssetComment:H.setOne,setAssetComments:H.setMany,updateAssetComment:H.updateOne,updateAssetComments:H.updateMany,deleteAssetComment:H.deleteOne,deleteAssetComments:H.deleteMany}}),{initializeAssetComments:Oc,addAssetComment:Pc,addAssetComments:kt,setAssetComment:Fc,setAssetComments:bc,updateAssetComment:_c,updateAssetComments:gc,deleteAssetComment:Mc,deleteAssetComments:Nt}=_s.actions,Rc=t=>t.assetCommentReducer.instances,Gt=u.createSelector([Rc],t=>p(Object.values(t).toSorted(ot))),wc=t=>e=>e.assetCommentReducer.instances[t],vc=m(u.createSelector([Gt,(t,e)=>e],(t,e)=>{const i=new Set(e);return p(t.filter(({uuid:n})=>i.has(n)))})),Ec=m(u.createSelector([Gt,(t,e)=>e],(t,e)=>p(t.filter(i=>i.asset===e)))),Vc=m(u.createSelector([Gt,(t,e)=>e],(t,e)=>{const i=new Set(e);return p(t.filter(n=>i.has(n.asset)))})),Bc=_s.reducer,W=P(t=>t.uuid),zc={instances:{}},gs=u.createSlice({name:"assets",initialState:zc,extraReducers:t=>t.addMatcher(u.isAnyOf(T,V,F),e=>Object.assign(e,zc)),reducers:{initializeAssets:W.initialize,addAsset:W.addOne,addAssets:W.addMany,setAsset:W.setOne,setAssets:W.setMany,updateAsset:W.updateOne,updateAssets:W.updateMany,deleteAsset:W.deleteOne,deleteAssets:W.deleteMany}}),{initializeAssets:Dc,addAsset:jc,addAssets:Ms,updateAsset:Cc,updateAssets:qc,deleteAsset:$c,deleteAssets:Rs,setAsset:Uc,setAssets:Lc}=gs.actions,kc=t=>t.assetReducer.instances,Ht=u.createSelector([kc],t=>p(Object.values(t))),j_=m(u.createSelector([Ht,(t,e)=>e],(t,e)=>p(t.filter(({project:i})=>i===e)))),Nc=m(u.createSelector([Ht,(t,e)=>e],(t,e)=>p(t.filter(i=>i.asset_type===e)))),Gc=t=>e=>e.assetReducer.instances[t],Hc=m(u.createSelector([Ht,(t,e)=>e],(t,e)=>{const i=new Set(e);return p(t.filter(({uuid:n})=>i.has(n)))})),Wc=gs.reducer,K=P(t=>t.uuid),Kc={instances:{}},ws=u.createSlice({name:"assetTypeAttachments",initialState:Kc,extraReducers:t=>t.addMatcher(u.isAnyOf(T,F),e=>Object.assign(e,Kc)),reducers:{initializeAssetTypeAttachments:K.initialize,addAssetTypeAttachment:K.addOne,addAssetTypeAttachments:K.addMany,setAssetTypeAttachment:K.setOne,setAssetTypeAttachments:K.setMany,updateAssetTypeAttachment:K.updateOne,updateAssetTypeAttachments:K.updateMany,deleteAssetTypeAttachment:K.deleteOne,deleteAssetTypeAttachments:K.deleteMany}}),{initializeAssetTypeAttachments:Yc,addAssetTypeAttachment:Zc,addAssetTypeAttachments:vs,setAssetTypeAttachment:Jc,setAssetTypeAttachments:Xc,updateAssetTypeAttachment:Qc,updateAssetTypeAttachments:xc,deleteAssetTypeAttachment:er,deleteAssetTypeAttachments:Es}=ws.actions,tr=t=>t.assetTypeAttachmentReducer.instances,Vs=u.createSelector([tr],t=>Object.values(t)),sr=t=>e=>e.assetTypeAttachmentReducer.instances[t],ir=m(u.createSelector([Vs,(t,e)=>e],(t,e)=>{const i=new Set(e);return p(t.filter(({uuid:n})=>i.has(n)))})),nr=m(u.createSelector([Vs,(t,e)=>e],(t,e)=>p(t.filter(({asset_type:i})=>e===i)))),ar=ws.reducer,Y=P(t=>t.uuid),cr={instances:{}},Bs=u.createSlice({name:"assetTypeFieldsAttachments",initialState:cr,extraReducers:t=>t.addMatcher(u.isAnyOf(T,F),e=>Object.assign(e,cr)),reducers:{initializeAssetTypeFieldsAttachments:Y.initialize,addAssetTypeFieldsAttachment:Y.addOne,addAssetTypeFieldsAttachments:Y.addMany,setAssetTypeFieldsAttachment:Y.setOne,setAssetTypeFieldsAttachments:Y.setMany,updateAssetTypeFieldsAttachment:Y.updateOne,updateAssetTypeFieldsAttachments:Y.updateMany,deleteAssetTypeFieldsAttachment:Y.deleteOne,deleteAssetTypeFieldsAttachments:Y.deleteMany}}),{initializeAssetTypeFieldsAttachments:rr,addAssetTypeFieldsAttachment:dr,addAssetTypeFieldsAttachments:ur,setAssetTypeFieldsAttachment:lr,setAssetTypeFieldsAttachments:or,updateAssetTypeFieldsAttachment:hr,updateAssetTypeFieldsAttachments:mr,deleteAssetTypeFieldsAttachment:pr,deleteAssetTypeFieldsAttachments:yr}=Bs.actions,Sr=t=>t.assetTypeFieldsAttachmentReducer.instances,zs=u.createSelector([Sr],t=>Object.values(t)),C_=m(u.createSelector([zs,(t,e)=>e],(t,e)=>p(t.filter(i=>i.fields_revision===e)))),fr=t=>e=>e.assetTypeFieldsAttachmentReducer.instances[t],Ar=m(u.createSelector([zs,(t,e)=>e],(t,e)=>{const i=new Set(e);return p(t.filter(({uuid:n})=>i.has(n)))})),Ir=Bs.reducer,Z=P(t=>t.uuid),Tr={instances:{}},Ds=u.createSlice({name:"assetTypeFields",initialState:Tr,extraReducers:t=>t.addMatcher(u.isAnyOf(T,F),e=>Object.assign(e,Tr)),reducers:{initializeAssetTypeFields:Z.initialize,addAssetTypeFields:Z.addOne,addAssetTypeFieldsMany:Z.addMany,setAssetTypeFields:Z.setOne,setAssetTypeFieldsMany:Z.setMany,updateAssetTypeFields:Z.updateOne,updateAssetTypeFieldsMany:Z.updateMany,deleteAssetTypeFields:Z.deleteOne,deleteAssetTypeFieldsMany:Z.deleteMany}}),{initializeAssetTypeFields:Or,addAssetTypeFields:Pr,addAssetTypeFieldsMany:Fr,setAssetTypeFields:br,setAssetTypeFieldsMany:_r,updateAssetTypeFields:gr,updateAssetTypeFieldsMany:Mr,deleteAssetTypeFields:Rr,deleteAssetTypeFieldsMany:wr}=Ds.actions,vr=t=>t.assetTypeFieldsReducer.instances,vt=u.createSelector([vr],t=>Object.values(t)),q_=m(u.createSelector([vt,(t,e)=>e],(t,e)=>p(t.filter(i=>i.asset_type===e)))),$_=m(u.createSelector([vt,(t,e)=>e],(t,e)=>t.filter(i=>i.asset_type===e).toSorted(ot).pop())),Er=t=>e=>e.assetTypeFieldsReducer.instances[t],Vr=m(u.createSelector([vt,(t,e)=>e],(t,e)=>{const i=new Set(e);return p(t.filter(({uuid:n})=>i.has(n)))})),Br=Ds.reducer,J=P(t=>t.uuid),zr={instances:{}},js=u.createSlice({name:"assetTypeFieldValuesAttachments",initialState:zr,extraReducers:t=>t.addMatcher(u.isAnyOf(T,V,F),e=>Object.assign(e,zr)),reducers:{initializeAssetTypeFieldValuesAttachments:J.initialize,addAssetTypeFieldValuesAttachment:J.addOne,addAssetTypeFieldValuesAttachments:J.addMany,setAssetTypeFieldValuesAttachment:J.setOne,setAssetTypeFieldValuesAttachments:J.setMany,updateAssetTypeFieldValuesAttachment:J.updateOne,updateAssetTypeFieldValuesAttachments:J.updateMany,deleteAssetTypeFieldValuesAttachment:J.deleteOne,deleteAssetTypeFieldValuesAttachments:J.deleteMany}}),{initializeAssetTypeFieldValuesAttachments:Dr,addAssetTypeFieldValuesAttachment:jr,addAssetTypeFieldValuesAttachments:Cs,setAssetTypeFieldValuesAttachment:Cr,setAssetTypeFieldValuesAttachments:qr,updateAssetTypeFieldValuesAttachment:$r,updateAssetTypeFieldValuesAttachments:Ur,deleteAssetTypeFieldValuesAttachment:Lr,deleteAssetTypeFieldValuesAttachments:qs}=js.actions,kr=t=>t.assetTypeFieldValuesAttachmentReducer.instances,$s=u.createSelector([kr],t=>Object.values(t)),Nr=t=>e=>e.assetTypeFieldValuesAttachmentReducer.instances[t],Gr=m(u.createSelector([$s,(t,e)=>e],(t,e)=>{const i=new Set(e);return p(t.filter(({uuid:n})=>i.has(n)))})),Hr=m(u.createSelector([$s,(t,e)=>e],(t,e)=>p(t.filter(i=>i.field_values===e)))),Wr=js.reducer,X=P(t=>t.uuid),Kr={instances:{}},Us=u.createSlice({name:"assetTypeFieldValues",initialState:Kr,extraReducers:t=>t.addMatcher(u.isAnyOf(T,V,F),e=>Object.assign(e,Kr)),reducers:{initializeAssetTypeFieldValues:X.initialize,addAssetTypeFieldValues:X.addOne,addAssetTypeFieldValuesMany:X.addMany,setAssetTypeFieldValues:X.setOne,setAssetTypeFieldValuesMany:X.setMany,updateAssetTypeFieldValues:X.updateOne,updateAssetTypeFieldValuesMany:X.updateMany,deleteAssetTypeFieldValues:X.deleteOne,deleteAssetTypeFieldValuesMany:X.deleteMany}}),{initializeAssetTypeFieldValues:Yr,addAssetTypeFieldValues:Zr,addAssetTypeFieldValuesMany:Jr,setAssetTypeFieldValues:Xr,setAssetTypeFieldValuesMany:Qr,updateAssetTypeFieldValues:xr,updateAssetTypeFieldValuesMany:ed,deleteAssetTypeFieldValues:td,deleteAssetTypeFieldValuesMany:sd}=Us.actions,id=t=>t.assetTypeFieldValuesReducer.instances,Wt=u.createSelector([id],t=>Object.values(t)),U_=m(u.createSelector([Wt,(t,e)=>e],(t,e)=>p(t.filter(i=>i.asset===e)))),L_=m(u.createSelector([vt,Wt,(t,e)=>e],(t,e,i)=>{const n=new Set(t.filter(a=>a.asset_type===i).map(a=>a.uuid));return p(e.filter(a=>n.has(a.fields_revision)))})),nd=t=>e=>e.assetTypeFieldValuesReducer.instances[t],ad=m(u.createSelector([Wt,(t,e)=>e],(t,e)=>{const i=new Set(e);return p(t.filter(({uuid:n})=>i.has(n)))})),cd=Us.reducer,Q=P(t=>t.uuid),rd={instances:{}},Ls=u.createSlice({name:"assetTypeIdentifiers",initialState:rd,extraReducers:t=>t.addMatcher(u.isAnyOf(T,F),e=>Object.assign(e,rd)),reducers:{initializeAssetTypeIdentifiers:Q.initialize,addAssetTypeIdentifier:Q.addOne,addAssetTypeIdentifiers:Q.addMany,setAssetTypeIdentifier:Q.setOne,setAssetTypeIdentifiers:Q.setMany,updateAssetTypeIdentifier:Q.updateOne,updateAssetTypeIdentifiers:Q.updateMany,deleteAssetTypeIdentifier:Q.deleteOne,deleteAssetTypeIdentifiers:Q.deleteMany}}),{initializeAssetTypeIdentifiers:dd,addAssetTypeIdentifier:ud,addAssetTypeIdentifiers:ld,setAssetTypeIdentifier:od,setAssetTypeIdentifiers:hd,updateAssetTypeIdentifier:md,updateAssetTypeIdentifiers:pd,deleteAssetTypeIdentifier:yd,deleteAssetTypeIdentifiers:Sd}=Ls.actions,fd=t=>t.assetTypeIdentifierReducer.instances,ks=u.createSelector([fd],t=>Object.values(t)),Ad=t=>e=>e.assetTypeIdentifierReducer.instances[t],Id=m(u.createSelector([ks,(t,e)=>e],(t,e)=>{const i=new Set(e);return p(t.filter(({uuid:n})=>i.has(n)))})),k_=m(u.createSelector([ks,(t,e)=>e],(t,e)=>p(t.filter(i=>i.asset_type===e)))),Td=Ls.reducer,x=P(t=>t.uuid),Od={instances:{}},Ns=u.createSlice({name:"assetTypeIdentifierValues",initialState:Od,extraReducers:t=>t.addMatcher(u.isAnyOf(T,V,F),e=>Object.assign(e,Od)),reducers:{initializeAssetTypeIdentifierValues:x.initialize,addAssetTypeIdentifierValue:x.addOne,addAssetTypeIdentifierValues:x.addMany,setAssetTypeIdentifierValue:x.setOne,setAssetTypeIdentifierValues:x.setMany,updateAssetTypeIdentifierValue:x.updateOne,updateAssetTypeIdentifierValues:x.updateMany,deleteAssetTypeIdentifierValue:x.deleteOne,deleteAssetTypeIdentifierValues:x.deleteMany}}),{initializeAssetTypeIdentifierValues:Pd,addAssetTypeIdentifierValue:Fd,addAssetTypeIdentifierValues:bd,setAssetTypeIdentifierValue:_d,setAssetTypeIdentifierValues:gd,updateAssetTypeIdentifierValue:Md,updateAssetTypeIdentifierValues:Rd,deleteAssetTypeIdentifierValue:wd,deleteAssetTypeIdentifierValues:vd}=Ns.actions,Ed=t=>t.assetTypeIdentifierValueReducer.instances,Kt=u.createSelector([Ed],t=>Object.values(t)),Vd=t=>e=>e.assetTypeIdentifierValueReducer.instances[t],Bd=m(u.createSelector([Kt,(t,e)=>e],(t,e)=>{const i=new Set(e);return p(t.filter(({uuid:n})=>i.has(n)))})),N_=m(u.createSelector([Kt,(t,e)=>e],(t,e)=>p(t.filter(i=>i.asset===e)))),G_=m(u.createSelector([Kt,(t,e)=>e],(t,e)=>p(t.filter(i=>i.asset_type_identifier===e)))),zd=Ns.reducer,ee=P(t=>t.uuid),Dd={instances:{}},Gs=u.createSlice({name:"assetTypes",initialState:Dd,extraReducers:t=>t.addMatcher(u.isAnyOf(T,F),e=>Object.assign(e,Dd)),reducers:{initializeAssetTypes:ee.initialize,setAssetType:ee.setOne,setAssetTypes:ee.setMany,addAssetType:ee.addOne,addAssetTypes:ee.addMany,updateAssetType:ee.updateOne,updateAssetTypes:ee.updateMany,deleteAssetType:ee.deleteOne,deleteAssetTypes:ee.deleteMany}}),{initializeAssetTypes:jd,setAssetType:Cd,setAssetTypes:qd,addAssetType:$d,addAssetTypes:Ud,updateAssetType:Ld,updateAssetTypes:kd,deleteAssetType:Nd,deleteAssetTypes:Gd}=Gs.actions,Hd=t=>t.assetTypeReducer.instances,Hs=u.createSelector([Hd],t=>Object.values(t)),Wd=t=>e=>e.assetTypeReducer.instances[t],Kd=m(u.createSelector([Hs,(t,e)=>e],(t,e)=>{const i=new Set(e);return p(t.filter(({uuid:n})=>i.has(n)))})),H_=m(u.createSelector([Hs,(t,e)=>e],(t,e)=>p(t.filter(i=>i.organization===e)))),Yd=Gs.reducer,te=P(t=>t.uuid),Zd={instances:{}},Ws=u.createSlice({name:"assetTypeStatuses",initialState:Zd,extraReducers:t=>t.addMatcher(u.isAnyOf(T,F),e=>Object.assign(e,Zd)),reducers:{initializeAssetTypeStatuses:te.initialize,addAssetTypeStatus:te.addOne,addAssetTypeStatuses:te.addMany,setAssetTypeStatus:te.setOne,setAssetTypeStatuses:te.setMany,updateAssetTypeStatus:te.updateOne,updateAssetTypeStatuses:te.updateMany,deleteAssetTypeStatus:te.deleteOne,deleteAssetTypeStatuses:te.deleteMany}}),{initializeAssetTypeStatuses:Jd,addAssetTypeStatus:Xd,addAssetTypeStatuses:Qd,setAssetTypeStatus:xd,setAssetTypeStatuses:eu,updateAssetTypeStatus:tu,updateAssetTypeStatuses:su,deleteAssetTypeStatus:iu,deleteAssetTypeStatuses:nu}=Ws.actions,au=t=>t.assetTypeStatusReducer.instances,Ks=u.createSelector([au],t=>p(Object.values(t).toSorted(Ja))),cu=t=>e=>e.assetTypeStatusReducer.instances[t],ru=m(u.createSelector([Ks,(t,e)=>e],(t,e)=>{const i=new Set(e);return p(t.filter(({uuid:n})=>i.has(n)))})),W_=m(u.createSelector([Ks,(t,e)=>e],(t,e)=>p(t.filter(i=>i.asset_type===e)))),du=Ws.reducer,uu={accessToken:"",refreshToken:"",isLoggedIn:!1},Yt=u.createSlice({name:"auth",initialState:uu,extraReducers:t=>t.addCase(T,e=>Object.assign(e,uu)),reducers:{setTokens:(t,e)=>{t.accessToken=e.payload.accessToken,t.refreshToken=e.payload.refreshToken},clearTokens:t=>{t.accessToken="",t.refreshToken=""},setLoggedIn:(t,e)=>{e.payload||Yt.caseReducers.clearTokens(t),t.isLoggedIn=e.payload}}}),{setTokens:K_,clearTokens:Y_,setLoggedIn:lu}=Yt.actions,Z_=t=>t.authReducer.accessToken,J_=t=>t.authReducer.isLoggedIn,ou=Yt.reducer,se=P(t=>t.uuid),hu={instances:{}},Ys=u.createSlice({name:"documentAttachments",initialState:hu,extraReducers:t=>t.addCase(T,e=>Object.assign(e,hu)),reducers:{initializeDocumentAttachments:se.initialize,addDocumentAttachment:se.addOne,addDocumentAttachments:se.addMany,setDocumentAttachment:se.setOne,setDocumentAttachments:se.setMany,updateDocumentAttachment:se.updateOne,updateDocumentAttachments:se.updateMany,deleteDocumentAttachment:se.deleteOne,deleteDocumentAttachments:se.deleteMany}}),{initializeDocumentAttachments:mu,addDocumentAttachment:pu,addDocumentAttachments:yu,setDocumentAttachment:Su,setDocumentAttachments:fu,updateDocumentAttachment:Au,updateDocumentAttachments:Iu,deleteDocumentAttachment:Tu,deleteDocumentAttachments:Ou}=Ys.actions,Pu=t=>t.documentAttachmentReducer.instances,Zs=u.createSelector([Pu],t=>Object.values(t)),Fu=t=>e=>e.documentAttachmentReducer.instances[t],bu=m(u.createSelector([Zs,(t,e)=>e],(t,e)=>{const i=new Set(e);return p(t.filter(({uuid:n})=>i.has(n)))})),X_=m(u.createSelector([Zs,(t,e)=>e],(t,e)=>p(t.filter(({document:i})=>e===i)))),_u=Ys.reducer,ie=P(({uuid:t})=>t),gu={instances:{}},Js=u.createSlice({name:"documents",initialState:gu,extraReducers:t=>t.addMatcher(u.isAnyOf(T,F),e=>{Object.assign(e,gu)}),reducers:{initializeDocuments:ie.initialize,addDocument:ie.addOne,addDocuments:ie.addMany,setDocument:ie.setOne,setDocuments:ie.setMany,updateDocument:ie.updateOne,updateDocuments:ie.updateMany,deleteDocument:ie.deleteOne,deleteDocuments:ie.deleteMany}}),{initializeDocuments:Mu,addDocument:Ru,addDocuments:wu,setDocument:vu,setDocuments:Eu,updateDocument:Vu,updateDocuments:Bu,deleteDocument:zu,deleteDocuments:Du}=Js.actions,ju=Js.reducer,Xs=t=>t.documentsReducer.instances,Zt=u.createSelector([Xs],t=>Object.values(t)),Cu=t=>e=>e.documentsReducer.instances[t],qu=m(u.createSelector([Zt,(t,e)=>e],(t,e)=>{const i=new Set(e);return p(t.filter(({uuid:n})=>i.has(n)))})),Q_=m(u.createSelector([Zt,(t,e)=>e],(t,e)=>t.filter(i=>i.project===e))),x_=m(u.createSelector([Zt,(t,e)=>e],(t,e)=>t.filter(i=>i.organization===e))),$u=m(u.createSelector([Xs,(t,e)=>e],(t,e)=>{if(!t[e])return p([]);const a=ec(e,Object.values(t)).all().map(({model:c})=>c);return p(a)})),ne=P(t=>t.uuid),Uu={instances:{}},Qs=u.createSlice({name:"emailDomains",initialState:Uu,extraReducers:t=>t.addMatcher(u.isAnyOf(T,F),e=>Object.assign(e,Uu)),reducers:{initializeEmailDomains:ne.initialize,addEmailDomain:ne.addOne,addEmailDomains:ne.addMany,setEmailDomain:ne.setOne,setEmailDomains:ne.setMany,updateEmailDomain:ne.updateOne,updateEmailDomains:ne.updateMany,deleteEmailDomain:ne.deleteOne,deleteEmailDomains:ne.deleteMany}}),{initializeEmailDomains:Lu,addEmailDomain:ku,addEmailDomains:Nu,setEmailDomain:Gu,setEmailDomains:Hu,updateEmailDomain:Wu,updateEmailDomains:Ku,deleteEmailDomain:Yu,deleteEmailDomains:Zu}=Qs.actions,Ju=t=>t.emailDomainsReducer.instances,xs=u.createSelector([Ju],t=>Object.values(t)),Xu=t=>e=>e.emailDomainsReducer.instances[t],Qu=m(u.createSelector([xs,(t,e)=>e],(t,e)=>{const i=new Set(e);return p(t.filter(({uuid:n})=>i.has(n)))})),eg=m(u.createSelector([xs,(t,e)=>e],(t,e)=>p(t.filter(i=>i.organization===e)))),xu=Qs.reducer,ae=P(t=>t.uuid),el={instances:{}},ei=u.createSlice({name:"formIdentifiers",initialState:el,extraReducers:t=>t.addMatcher(u.isAnyOf(T,F),e=>Object.assign(e,el)),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:tl,addFormIdentifier:sl,addFormIdentifiers:il,setFormIdentifier:nl,setFormIdentifiers:al,updateFormIdentifier:cl,updateFormIdentifiers:rl,deleteFormIdentifier:dl,deleteFormIdentifiers:ul}=ei.actions,ll=t=>t.formIdentifierReducer.instances,ti=u.createSelector([ll],t=>Object.values(t)),ol=t=>e=>e.formIdentifierReducer.instances[t],hl=m(u.createSelector([ti,(t,e)=>e],(t,e)=>{const i=new Set(e);return p(t.filter(({uuid:n})=>i.has(n)))})),tg=m(u.createSelector([ti,(t,e)=>e],(t,e)=>p(t.filter(i=>i.form===e)))),ml=ei.reducer,ce=P(t=>t.uuid),pl={instances:{}},si=u.createSlice({name:"formIdentifierValues",initialState:pl,extraReducers:t=>t.addMatcher(u.isAnyOf(T,F),e=>Object.assign(e,pl)),reducers:{initializeFormIdentifierValues:ce.initialize,addFormIdentifierValue:ce.addOne,addFormIdentifierValues:ce.addMany,setFormIdentifierValue:ce.setOne,setFormIdentifierValues:ce.setMany,updateFormIdentifierValue:ce.updateOne,updateFormIdentifierValues:ce.updateMany,deleteFormIdentifierValue:ce.deleteOne,deleteFormIdentifierValues:ce.deleteMany}}),{initializeFormIdentifierValues:yl,addFormIdentifierValue:Sl,addFormIdentifierValues:fl,setFormIdentifierValue:Al,setFormIdentifierValues:Il,updateFormIdentifierValue:Tl,updateFormIdentifierValues:Ol,deleteFormIdentifierValue:Pl,deleteFormIdentifierValues:Fl}=si.actions,bl=t=>t.formIdentifierValueReducer.instances,Jt=u.createSelector([bl],t=>Object.values(t)),_l=t=>e=>e.formIdentifierValueReducer.instances[t],gl=m(u.createSelector([Jt,(t,e)=>e],(t,e)=>{const i=new Set(e);return p(t.filter(({uuid:n})=>i.has(n)))})),sg=m(u.createSelector([Jt,(t,e)=>e],(t,e)=>p(t.filter(i=>i.form_submission===e)))),ig=m(u.createSelector([Jt,(t,e)=>e],(t,e)=>p(t.filter(i=>i.form_identifier===e)))),Ml=si.reducer,re=P(t=>t.uuid),Rl={instances:{}},ii=u.createSlice({name:"formRevisionAttachments",initialState:Rl,extraReducers:t=>t.addMatcher(u.isAnyOf(T,F),e=>Object.assign(e,Rl)),reducers:{initializeFormRevisionAttachments:re.initialize,addFormRevisionAttachment:re.addOne,addFormRevisionAttachments:re.addMany,setFormRevisionAttachment:re.setOne,setFormRevisionAttachments:re.setMany,updateFormRevisionAttachment:re.updateOne,updateFormRevisionAttachments:re.updateMany,deleteFormRevisionAttachment:re.deleteOne,deleteFormRevisionAttachments:re.deleteMany}}),{initializeFormRevisionAttachments:wl,addFormRevisionAttachment:vl,addFormRevisionAttachments:El,setFormRevisionAttachment:Vl,setFormRevisionAttachments:Bl,updateFormRevisionAttachment:zl,updateFormRevisionAttachments:Dl,deleteFormRevisionAttachment:jl,deleteFormRevisionAttachments:Cl}=ii.actions,Xt=t=>t.formRevisionAttachmentReducer.instances,ql=u.createSelector([Xt],t=>Object.values(t)),$l=m(u.createSelector([Xt,(t,e)=>e],(t,e)=>t[e])),Ul=m(u.createSelector([ql,(t,e)=>e],(t,e)=>{const i=new Set(e);return p(t.filter(({uuid:n})=>i.has(n)))})),ng=m(u.createSelector([Xt,(t,e)=>e],(t,e)=>p(Object.values(t).filter(i=>i.form_revision===e)))),Ll=ii.reducer,de=P(t=>t.uuid),kl={instances:{}},ni=u.createSlice({name:"formRevisions",initialState:kl,extraReducers:t=>t.addMatcher(u.isAnyOf(T,F),e=>Object.assign(e,kl)),reducers:{initializeFormRevisions:de.initialize,addFormRevision:de.addOne,addFormRevisions:de.addMany,setFormRevision:de.setOne,setFormRevisions:de.setMany,updateFormRevision:de.updateOne,updateFormRevisions:de.updateMany,deleteFormRevision:de.deleteOne,deleteFormRevisions:de.deleteMany}}),{initializeFormRevisions:Nl,addFormRevision:Gl,addFormRevisions:ai,setFormRevision:Hl,setFormRevisions:Wl,updateFormRevision:Kl,updateFormRevisions:Yl,deleteFormRevision:Zl,deleteFormRevisions:ci}=ni.actions,Jl=t=>t.formRevisionReducer.instances,Qt=u.createSelector([Jl],t=>Object.values(t)),Xl=t=>e=>e.formRevisionReducer.instances[t],Ql=m(u.createSelector([Qt,(t,e)=>e],(t,e)=>{const i=new Set(e);return p(t.filter(({uuid:n})=>i.has(n)))})),ag=m(u.createSelector([Qt,(t,e)=>e],(t,e)=>t.filter(i=>i.form===e).toSorted(ot).pop())),xl=m(u.createSelector([Qt,(t,e)=>e],(t,e)=>p(t.filter(i=>i.form===e)))),eo=ni.reducer,ue=P(t=>t.uuid),to={instances:{}},ri=u.createSlice({name:"formSubscribers",initialState:to,extraReducers:t=>t.addMatcher(u.isAnyOf(T,F),e=>Object.assign(e,to)),reducers:{initializeFormSubscribers:ue.initialize,addFormSubscriber:ue.addOne,addFormSubscribers:ue.addMany,setFormSubscriber:ue.setOne,setFormSubscribers:ue.setMany,updateFormSubscriber:ue.updateOne,updateFormSubscribers:ue.updateMany,deleteFormSubscriber:ue.deleteOne,deleteFormSubscribers:ue.deleteMany}}),{initializeFormSubscribers:so,addFormSubscriber:io,addFormSubscribers:di,setFormSubscriber:no,setFormSubscribers:ao,updateFormSubscriber:co,updateFormSubscribers:ro,deleteFormSubscriber:uo,deleteFormSubscribers:ui}=ri.actions,lo=t=>t.formSubscriberReducer.instances,xt=u.createSelector([lo],t=>Object.values(t)),oo=t=>e=>e.formSubscriberReducer.instances[t],ho=m(u.createSelector([xt,(t,e)=>e],(t,e)=>{const i=new Set(e);return p(t.filter(({uuid:n})=>i.has(n)))})),mo=m(u.createSelector([xt,(t,e)=>e],(t,e)=>p(t.filter(i=>i.form===e)))),cg=m(u.createSelector([xt,(t,e)=>e],(t,e)=>p(t.filter(i=>i.user===e)))),po=ri.reducer,le=P(t=>t.uuid),yo={instances:{}},li=u.createSlice({name:"forms",initialState:yo,extraReducers:t=>t.addMatcher(u.isAnyOf(T,F),e=>Object.assign(e,yo)),reducers:{initializeForms:le.initialize,addForm:le.addOne,addForms:le.addMany,setForm:le.setOne,setForms:le.setMany,updateForm:le.updateOne,updateForms:le.updateMany,deleteForm:le.deleteOne,deleteForms:le.deleteMany}}),{initializeForms:So,addForm:fo,addForms:Ao,setForm:Io,setForms:To,updateForm:Oo,updateForms:Po,deleteForm:Fo,deleteForms:bo}=li.actions,_o=li.reducer,go=t=>t.formReducer.instances,oi=u.createSelector([go],t=>Object.values(t)),Mo=t=>e=>e.formReducer.instances[t],Ro=m(u.createSelector([oi,(t,e)=>e],(t,e)=>{const i=new Set(e);return p(t.filter(({uuid:n})=>i.has(n)))})),rg=m(u.createSelector([oi,(t,e)=>e],(t,e)=>p(t.filter(i=>i.organization===e)))),oe=P(({uuid:t})=>t),wo={instances:{}},hi=u.createSlice({name:"formSubmissionFieldValuesAttachments",initialState:wo,extraReducers:t=>t.addMatcher(u.isAnyOf(T,F),e=>Object.assign(e,wo)),reducers:{initializeFormSubmissionFieldValuesAttachments:oe.initialize,addFormSubmissionFieldValuesAttachment:oe.addOne,addFormSubmissionFieldValuesAttachments:oe.addMany,setFormSubmissionFieldValuesAttachment:oe.setOne,setFormSubmissionFieldValuesAttachments:oe.setMany,updateFormSubmissionFieldValuesAttachment:oe.updateOne,updateFormSubmissionFieldValuesAttachments:oe.updateMany,deleteFormSubmissionFieldValuesAttachment:oe.deleteOne,deleteFormSubmissionFieldValuesAttachments:oe.deleteMany}}),{initializeFormSubmissionFieldValuesAttachments:vo,addFormSubmissionFieldValuesAttachment:Eo,addFormSubmissionFieldValuesAttachments:mi,setFormSubmissionFieldValuesAttachment:Vo,setFormSubmissionFieldValuesAttachments:Bo,updateFormSubmissionFieldValuesAttachment:zo,updateFormSubmissionFieldValuesAttachments:Do,deleteFormSubmissionFieldValuesAttachment:jo,deleteFormSubmissionFieldValuesAttachments:pi}=hi.actions,yi=t=>t.formSubmissionFieldValuesAttachmentReducer.instances,Si=u.createSelector([yi],t=>Object.values(t)),Co=m(u.createSelector([yi,(t,e)=>e],(t,e)=>t[e])),fi=m(u.createSelector([Si,(t,e)=>e],(t,e)=>{const i=new Set(e);return p(t.filter(n=>i.has(n.uuid)))})),qo=m(u.createSelector([Si,(t,e)=>e],(t,e)=>p(t.filter(i=>i.field_values===e)))),$o=hi.reducer,he=P(({uuid:t})=>t),Uo={instances:{}},Ai=u.createSlice({name:"formSubmissionFieldValues",initialState:Uo,extraReducers:t=>t.addMatcher(u.isAnyOf(T,F),e=>Object.assign(e,Uo)),reducers:{initializeFormSubmissionFieldValues:he.initialize,addFormSubmissionFieldValues:he.addOne,addFormSubmissionFieldValuesMany:he.addMany,setFormSubmissionFieldValues:he.setOne,setFormSubmissionFieldValuesMany:he.setMany,updateFormSubmissionFieldValues:he.updateOne,updateFormSubmissionFieldValuesMany:he.updateMany,deleteFormSubmissionFieldValues:he.deleteOne,deleteFormSubmissionFieldValuesMany:he.deleteMany}}),{initializeFormSubmissionFieldValues:Lo,addFormSubmissionFieldValues:ko,addFormSubmissionFieldValuesMany:Ii,setFormSubmissionFieldValues:No,setFormSubmissionFieldValuesMany:Go,updateFormSubmissionFieldValues:Ho,updateFormSubmissionFieldValuesMany:Wo,deleteFormSubmissionFieldValues:Ko,deleteFormSubmissionFieldValuesMany:Ti}=Ai.actions,Yo=t=>t.formSubmissionFieldValuesReducer.instances,Oi=u.createSelector([Yo],t=>Object.values(t)),Zo=t=>e=>e.formSubmissionFieldValuesReducer.instances[t],Jo=m(u.createSelector([Oi,(t,e)=>e],(t,e)=>{const i=new Set(e);return p(t.filter(({uuid:n})=>i.has(n)))})),Xo=m(u.createSelector([Oi,(t,e)=>e],(t,e)=>p(t.filter(i=>i.form_submission===e)))),Qo=Ai.reducer,me=P(t=>t.uuid),xo={instances:{}},Pi=u.createSlice({name:"formSubmissionComments",initialState:xo,extraReducers:t=>t.addMatcher(u.isAnyOf(T,F),e=>Object.assign(e,xo)),reducers:{initializeFormSubmissionComments:me.initialize,addFormSubmissionComment:me.addOne,addFormSubmissionComments:me.addMany,setFormSubmissionComment:me.setOne,setFormSubmissionComments:me.setMany,updateFormSubmissionComment:me.updateOne,updateFormSubmissionComments:me.updateMany,deleteFormSubmissionComment:me.deleteOne,deleteFormSubmissionComments:me.deleteMany}}),{initializeFormSubmissionComments:eh,addFormSubmissionComment:th,addFormSubmissionComments:Fi,setFormSubmissionComment:sh,setFormSubmissionComments:ih,updateFormSubmissionComment:nh,updateFormSubmissionComments:ah,deleteFormSubmissionComment:ch,deleteFormSubmissionComments:bi}=Pi.actions,rh=t=>t.formSubmissionCommentReducer.instances,es=u.createSelector([rh],t=>p(Object.values(t).toSorted(ot))),dh=t=>e=>e.formSubmissionCommentReducer.instances[t],uh=m(u.createSelector([es,(t,e)=>e],(t,e)=>{const i=new Set(e);return p(t.filter(({uuid:n})=>i.has(n)))})),lh=m(u.createSelector([es,(t,e)=>e],(t,e)=>p(t.filter(i=>i.form_submission===e)))),dg=m(u.createSelector([es,(t,e)=>e],(t,e)=>{const i=new Set(e);return p(t.filter(n=>i.has(n.form_submission)))})),oh=Pi.reducer,pe=P(t=>t.uuid),hh={instances:{}},_i=u.createSlice({name:"formSubmissions",initialState:hh,extraReducers:t=>t.addMatcher(u.isAnyOf(T,F),e=>Object.assign(e,hh)),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:mh,setFormSubmission:ph,setFormSubmissions:yh,addFormSubmission:Sh,addFormSubmissions:ht,updateFormSubmission:fh,updateFormSubmissions:Ah,deleteFormSubmission:Ih,deleteFormSubmissions:mt}=_i.actions,Th=t=>t.formSubmissionReducer.instances,$=u.createSelector([Th],t=>Object.values(t)),Oh=t=>e=>e.formSubmissionReducer.instances[t],Ph=m(u.createSelector([$,(t,e)=>e],(t,e)=>{const i=new Set(e);return p(t.filter(({uuid:n})=>i.has(n)))})),Fh=m(u.createSelector([$,(t,e)=>e],(t,e)=>p(t.filter(i=>i.form===e)))),ug=m(u.createSelector([$,(t,e)=>e],(t,e)=>p(t.filter(({organization:i})=>i===e)))),lg=m(u.createSelector([$,(t,e)=>e],(t,e)=>p(t.filter(({project:i})=>i===e)))),og=m(u.createSelector([$,(t,e)=>e,(t,e,i)=>i],(t,e,i)=>p(t.filter(({project:n,form:a})=>n===e&&a===i)))),hg=m(u.createSelector([$,(t,e)=>e,(t,e,i)=>i],(t,e,i)=>p(t.filter(({organization:n,form:a})=>n===e&&a===i)))),bh=m(u.createSelector([$,(t,e)=>e],(t,e)=>p(t.filter(({issue:i})=>i===e)))),_h=m(u.createSelector([$,(t,e)=>e],(t,e)=>{const i=new Set(e);return p(t.filter(({issue:n})=>n&&i.has(n)))})),gh=m(u.createSelector([$,(t,e)=>e],(t,e)=>p(t.filter(({asset:i})=>i===e)))),Mh=m(u.createSelector([$,(t,e)=>e],(t,e)=>{const i=new Set(e);return p(t.filter(({asset:n})=>n&&i.has(n)))})),Rh=_i.reducer,ye=P(t=>t.uuid),wh={instances:{}},gi=u.createSlice({name:"geoImages",initialState:wh,extraReducers:t=>t.addMatcher(u.isAnyOf(T,V,F),e=>Object.assign(e,wh)),reducers:{initializeGeoImages:ye.initialize,setGeoImage:ye.setOne,setGeoImages:ye.setMany,addGeoImage:ye.addOne,addGeoImages:ye.addMany,updateGeoImage:ye.updateOne,updateGeoImages:ye.updateMany,deleteGeoImage:ye.deleteOne,deleteGeoImages:ye.deleteMany}}),{initializeGeoImages:vh,setGeoImage:Eh,setGeoImages:Vh,addGeoImage:Bh,addGeoImages:zh,updateGeoImage:Dh,updateGeoImages:jh,deleteGeoImage:Ch,deleteGeoImages:qh}=gi.actions,$h=t=>t.geoImageReducer.instances,Mi=u.createSelector([$h],t=>Object.values(t)),Uh=t=>e=>e.geoImageReducer.instances[t],Lh=m(u.createSelector([Mi,(t,e)=>e],(t,e)=>{const i=new Set(e);return p(t.filter(({uuid:n})=>i.has(n)))})),mg=m(u.createSelector([Mi,(t,e)=>e],(t,e)=>p(t.filter(i=>i.project===e)))),kh=gi.reducer,Se=P(t=>t.uuid),Nh={instances:{}},Ri=u.createSlice({name:"issueAssociations",initialState:Nh,extraReducers:t=>t.addMatcher(u.isAnyOf(T,V,F),e=>Object.assign(e,Nh)),reducers:{initializeIssueAssociations:Se.initialize,addIssueAssociation:Se.addOne,addIssueAssociations:Se.addMany,setIssueAssociation:Se.setOne,setIssueAssociations:Se.setMany,updateIssueAssociation:Se.updateOne,updateIssueAssociations:Se.updateMany,deleteIssueAssociation:Se.deleteOne,deleteIssueAssociations:Se.deleteMany}}),{initializeIssueAssociations:Gh,setIssueAssociations:Hh,setIssueAssociation:Wh,updateIssueAssociation:Kh,updateIssueAssociations:Yh,addIssueAssociation:Zh,addIssueAssociations:Ot,deleteIssueAssociation:Jh,deleteIssueAssociations:Pt}=Ri.actions,Xh=t=>t.issueAssociationReducer.instances,Ft=u.createSelector([Xh],t=>Object.values(t)),Qh=t=>e=>e.issueAssociationReducer.instances[t],xh=m(u.createSelector([Ft,(t,e)=>e],(t,e)=>{const i=new Set(e);return p(t.filter(({uuid:n})=>i.has(n)))})),em=m(u.createSelector([Ft,(t,e)=>e],(t,e)=>{const i=new Set(e);return p(t.filter(({issue:n})=>i.has(n)))})),tm=m(u.createSelector([Ft,(t,e)=>e],(t,e)=>p(t.filter(({issue:i})=>i===e)))),sm=m(u.createSelector([Ft,(t,e)=>e],(t,e)=>p(t.filter(({asset:i})=>i===e)))),im=m(u.createSelector([Ft,(t,e)=>e],(t,e)=>{const i=new Set(e);return p(t.filter(({asset:n})=>i.has(n)))})),nm=Ri.reducer,fe=P(t=>t.uuid),am={instances:{}},wi=u.createSlice({name:"issueAttachments",initialState:am,extraReducers:t=>t.addMatcher(u.isAnyOf(T,V,F),e=>Object.assign(e,am)),reducers:{initializeIssueAttachments:fe.initialize,addIssueAttachment:fe.addOne,addIssueAttachments:fe.addMany,setIssueAttachment:fe.setOne,setIssueAttachments:fe.setMany,updateIssueAttachment:fe.updateOne,updateIssueAttachments:fe.updateMany,deleteIssueAttachment:fe.deleteOne,deleteIssueAttachments:fe.deleteMany}}),{initializeIssueAttachments:cm,addIssueAttachment:rm,addIssueAttachments:vi,setIssueAttachment:dm,setIssueAttachments:um,updateIssueAttachment:lm,updateIssueAttachments:om,deleteIssueAttachment:hm,deleteIssueAttachments:Ei}=wi.actions,mm=t=>t.issueAttachmentReducer.instances,Vi=u.createSelector([mm],t=>Object.values(t)),pm=m(u.createSelector([Vi,(t,e)=>e],(t,e)=>p(t.filter(({issue:i})=>e===i)))),ym=t=>e=>e.issueAttachmentReducer.instances[t],Sm=m(u.createSelector([Vi,(t,e)=>e],(t,e)=>{const i=new Set(e);return p(t.filter(({uuid:n})=>i.has(n)))})),fm=wi.reducer,Ae=P(t=>t.uuid),Am={instances:{}},Bi=u.createSlice({name:"issueCommentAttachments",initialState:Am,extraReducers:t=>t.addMatcher(u.isAnyOf(T,V,F),e=>Object.assign(e,Am)),reducers:{initializeIssueCommentAttachments:Ae.initialize,addIssueCommentAttachment:Ae.addOne,addIssueCommentAttachments:Ae.addMany,setIssueCommentAttachment:Ae.setOne,setIssueCommentAttachments:Ae.setMany,updateIssueCommentAttachment:Ae.updateOne,updateIssueCommentAttachments:Ae.updateMany,deleteIssueCommentAttachment:Ae.deleteOne,deleteIssueCommentAttachments:Ae.deleteMany}}),{initializeIssueCommentAttachments:Im,addIssueCommentAttachment:Tm,addIssueCommentAttachments:Om,setIssueCommentAttachment:Pm,setIssueCommentAttachments:Fm,updateIssueCommentAttachment:bm,updateIssueCommentAttachments:_m,deleteIssueCommentAttachment:gm,deleteIssueCommentAttachments:Mm}=Bi.actions,Rm=t=>t.issueCommentAttachmentReducer.instances,zi=u.createSelector([Rm],t=>Object.values(t)),wm=t=>e=>e.issueCommentAttachmentReducer.instances[t],vm=m(u.createSelector([zi,(t,e)=>e],(t,e)=>{const i=new Set(e);return p(t.filter(({uuid:n})=>i.has(n)))})),pg=m(u.createSelector([zi,(t,e)=>e],(t,e)=>p(t.filter(({issue_comment:i})=>e===i)))),Em=Bi.reducer,Ie=P(t=>t.uuid),Vm={instances:{}},Di=u.createSlice({name:"issueComments",initialState:Vm,extraReducers:t=>t.addMatcher(u.isAnyOf(T,V,F),e=>Object.assign(e,Vm)),reducers:{initializeIssueComments:Ie.initialize,addIssueComment:Ie.addOne,addIssueComments:Ie.addMany,setIssueComment:Ie.setOne,setIssueComments:Ie.setMany,updateIssueComment:Ie.updateOne,updateIssueComments:Ie.updateMany,deleteIssueComment:Ie.deleteOne,deleteIssueComments:Ie.deleteMany}}),{initializeIssueComments:Bm,addIssueComment:zm,addIssueComments:Dm,setIssueComment:jm,setIssueComments:Cm,updateIssueComment:qm,updateIssueComments:$m,deleteIssueComment:Um,deleteIssueComments:Lm}=Di.actions,ji=t=>t.issueCommentReducer.instances,km=t=>e=>e.issueCommentReducer.instances[t],Nm=m(u.createSelector([ji,(t,e)=>e],(t,e)=>{const i=new Set(e);return p(Object.values(t).filter(({uuid:n})=>i.has(n)))})),yg=m(u.createSelector([ji,(t,e)=>e],(t,e)=>p(Object.values(t).filter(i=>i.issue===e)))),Gm=Di.reducer,Te=P(t=>t.uuid),Hm={instances:{}},Ci=u.createSlice({name:"issues",initialState:Hm,extraReducers:t=>t.addMatcher(u.isAnyOf(T,V,F),e=>Object.assign(e,Hm)),reducers:{initializeIssues:Te.initialize,addIssue:Te.addOne,addIssues:Te.addMany,setIssue:Te.setOne,setIssues:Te.setMany,updateIssue:Te.updateOne,updateIssues:Te.updateMany,deleteIssue:Te.deleteOne,deleteIssues:Te.deleteMany}}),{initializeIssues:Wm,addIssue:Km,addIssues:qi,setIssue:Ym,setIssues:Zm,updateIssue:Jm,updateIssues:Xm,deleteIssue:Qm,deleteIssues:$i}=Ci.actions,xm=t=>t.issueReducer.instances,ts=u.createSelector([xm],t=>Object.values(t)),ep=t=>e=>e.issueReducer.instances[t],tp=m(u.createSelector([ts,(t,e)=>e],(t,e)=>{const i=new Set(e);return p(t.filter(({uuid:n})=>i.has(n)))})),Sg=m(u.createSelector([ts,(t,e)=>e],(t,e)=>t.filter(i=>i.project===e))),sp=m(u.createSelector([ts,(t,e)=>e],(t,e)=>t.filter(i=>i.issue_type===e))),ip=Ci.reducer,Oe=P(t=>t.uuid),np={instances:{}},Ui=u.createSlice({name:"issueTypeAttachments",initialState:np,extraReducers:t=>t.addMatcher(u.isAnyOf(T,F),e=>Object.assign(e,np)),reducers:{initializeIssueTypeAttachments:Oe.initialize,addIssueTypeAttachment:Oe.addOne,addIssueTypeAttachments:Oe.addMany,setIssueTypeAttachment:Oe.setOne,setIssueTypeAttachments:Oe.setMany,updateIssueTypeAttachment:Oe.updateOne,updateIssueTypeAttachments:Oe.updateMany,deleteIssueTypeAttachment:Oe.deleteOne,deleteIssueTypeAttachments:Oe.deleteMany}}),{initializeIssueTypeAttachments:ap,addIssueTypeAttachment:cp,addIssueTypeAttachments:rp,setIssueTypeAttachment:dp,setIssueTypeAttachments:up,updateIssueTypeAttachment:lp,updateIssueTypeAttachments:op,deleteIssueTypeAttachment:hp,deleteIssueTypeAttachments:mp}=Ui.actions,pp=t=>t.issueTypeAttachmentReducer.instances,Li=u.createSelector([pp],t=>Object.values(t)),yp=t=>e=>e.issueTypeAttachmentReducer.instances[t],Sp=m(u.createSelector([Li,(t,e)=>e],(t,e)=>{const i=new Set(e);return p(t.filter(({uuid:n})=>i.has(n)))})),fg=m(u.createSelector([Li,(t,e)=>e],(t,e)=>p(t.filter(({issue_type:i})=>e===i)))),fp=Ui.reducer,Pe=P(t=>t.uuid),Ap={instances:{}},ki=u.createSlice({name:"issueTypeFieldsAttachments",initialState:Ap,extraReducers:t=>t.addMatcher(u.isAnyOf(T,F),e=>Object.assign(e,Ap)),reducers:{initializeIssueTypeFieldsAttachments:Pe.initialize,addIssueTypeFieldsAttachment:Pe.addOne,addIssueTypeFieldsAttachments:Pe.addMany,setIssueTypeFieldsAttachment:Pe.setOne,setIssueTypeFieldsAttachments:Pe.setMany,updateIssueTypeFieldsAttachment:Pe.updateOne,updateIssueTypeFieldsAttachments:Pe.updateMany,deleteIssueTypeFieldsAttachment:Pe.deleteOne,deleteIssueTypeFieldsAttachments:Pe.deleteMany}}),{initializeIssueTypeFieldsAttachments:Ip,addIssueTypeFieldsAttachment:Tp,addIssueTypeFieldsAttachments:Op,setIssueTypeFieldsAttachment:Pp,setIssueTypeFieldsAttachments:Fp,updateIssueTypeFieldsAttachment:bp,updateIssueTypeFieldsAttachments:_p,deleteIssueTypeFieldsAttachment:gp,deleteIssueTypeFieldsAttachments:Mp}=ki.actions,Rp=t=>t.issueTypeFieldsAttachmentReducer.instances,Ni=u.createSelector([Rp],t=>Object.values(t)),Ag=m(u.createSelector([Ni,(t,e)=>e],(t,e)=>p(t.filter(i=>i.fields_revision===e)))),wp=t=>e=>e.issueTypeFieldsAttachmentReducer.instances[t],vp=m(u.createSelector([Ni,(t,e)=>e],(t,e)=>{const i=new Set(e);return p(t.filter(({uuid:n})=>i.has(n)))})),Ep=ki.reducer,Fe=P(t=>t.uuid),Vp={instances:{}},Gi=u.createSlice({name:"issueTypeFieldValues",initialState:Vp,extraReducers:t=>t.addMatcher(u.isAnyOf(T,V,F),e=>Object.assign(e,Vp)),reducers:{initializeIssueTypeFieldValues:Fe.initialize,addIssueTypeFieldValues:Fe.addOne,addIssueTypeFieldValuesMany:Fe.addMany,setIssueTypeFieldValues:Fe.setOne,setIssueTypeFieldValuesMany:Fe.setMany,updateIssueTypeFieldValues:Fe.updateOne,updateIssueTypeFieldValuesMany:Fe.updateMany,deleteIssueTypeFieldValues:Fe.deleteOne,deleteIssueTypeFieldValuesMany:Fe.deleteMany}}),{initializeIssueTypeFieldValues:Bp,addIssueTypeFieldValues:zp,addIssueTypeFieldValuesMany:Dp,setIssueTypeFieldValues:jp,setIssueTypeFieldValuesMany:Cp,updateIssueTypeFieldValues:qp,updateIssueTypeFieldValuesMany:$p,deleteIssueTypeFieldValues:Up,deleteIssueTypeFieldValuesMany:Lp}=Gi.actions,kp=t=>t.issueTypeFieldValuesReducer.instances,ss=u.createSelector([kp],t=>Object.values(t)),Ig=m(u.createSelector([ss,(t,e)=>e],(t,e)=>p(t.filter(i=>i.issue===e)))),Np=t=>e=>e.issueTypeFieldValuesReducer.instances[t],Gp=m(u.createSelector([ss,(t,e)=>e],(t,e)=>{const i=new Set(e);return p(t.filter(({uuid:n})=>i.has(n)))})),Hp=Gi.reducer,be=P(t=>t.uuid),Wp={instances:{}},Hi=u.createSlice({name:"issueTypeFields",initialState:Wp,extraReducers:t=>t.addMatcher(u.isAnyOf(T,F),e=>Object.assign(e,Wp)),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:Kp,addIssueTypeFields:Yp,addIssueTypeFieldsMany:Zp,setIssueTypeFields:Jp,setIssueTypeFieldsMany:Xp,updateIssueTypeFields:Qp,updateIssueTypeFieldsMany:xp,deleteIssueTypeFields:ey,deleteIssueTypeFieldsMany:ty}=Hi.actions,sy=t=>t.issueTypeFieldsReducer.instances,Et=u.createSelector([sy],t=>Object.values(t)),Tg=m(u.createSelector([Et,(t,e)=>e],(t,e)=>p(t.filter(i=>i.issue_type===e)))),Og=m(u.createSelector([Et,(t,e)=>e],(t,e)=>t.filter(i=>i.issue_type===e).sort((i,n)=>i.submitted_at>n.submitted_at?-1:1)[0])),Pg=m(u.createSelector([Et,ss,(t,e)=>e],(t,e,i)=>{const n=new Set(t.filter(a=>a.issue_type===i).map(a=>a.uuid));return p(e.filter(a=>n.has(a.fields_revision)))})),iy=t=>e=>e.issueTypeFieldsReducer.instances[t],ny=m(u.createSelector([Et,(t,e)=>e],(t,e)=>{const i=new Set(e);return p(t.filter(({uuid:n})=>i.has(n)))})),ay=Hi.reducer,_e=P(t=>t.uuid),cy={instances:{}},Wi=u.createSlice({name:"issueTypeFieldValuesAttachments",initialState:cy,extraReducers:t=>t.addMatcher(u.isAnyOf(T,V,F),e=>Object.assign(e,cy)),reducers:{initializeIssueTypeFieldValuesAttachments:_e.initialize,addIssueTypeFieldValuesAttachment:_e.addOne,addIssueTypeFieldValuesAttachments:_e.addMany,setIssueTypeFieldValuesAttachment:_e.setOne,setIssueTypeFieldValuesAttachments:_e.setMany,updateIssueTypeFieldValuesAttachment:_e.updateOne,updateIssueTypeFieldValuesAttachments:_e.updateMany,deleteIssueTypeFieldValuesAttachment:_e.deleteOne,deleteIssueTypeFieldValuesAttachments:_e.deleteMany}}),{initializeIssueTypeFieldValuesAttachments:ry,addIssueTypeFieldValuesAttachment:dy,addIssueTypeFieldValuesAttachments:Ki,setIssueTypeFieldValuesAttachment:uy,setIssueTypeFieldValuesAttachments:ly,updateIssueTypeFieldValuesAttachment:oy,updateIssueTypeFieldValuesAttachments:hy,deleteIssueTypeFieldValuesAttachment:my,deleteIssueTypeFieldValuesAttachments:Yi}=Wi.actions,py=t=>t.issueTypeFieldValuesAttachmentReducer.instances,Zi=u.createSelector([py],t=>Object.values(t)),yy=t=>e=>e.issueTypeFieldValuesAttachmentReducer.instances[t],Sy=m(u.createSelector([Zi,(t,e)=>e],(t,e)=>{const i=new Set(e);return p(t.filter(({uuid:n})=>i.has(n)))})),fy=m(u.createSelector([Zi,(t,e)=>e],(t,e)=>p(t.filter(i=>i.field_values===e)))),Ay=Wi.reducer,ge=P(t=>t.uuid),Iy={instances:{}},Ji=u.createSlice({name:"issueTypeIdentifiers",initialState:Iy,extraReducers:t=>t.addMatcher(u.isAnyOf(T,F),e=>Object.assign(e,Iy)),reducers:{initializeIssueTypeIdentifiers:ge.initialize,addIssueTypeIdentifier:ge.addOne,addIssueTypeIdentifiers:ge.addMany,setIssueTypeIdentifier:ge.setOne,setIssueTypeIdentifiers:ge.setMany,updateIssueTypeIdentifier:ge.updateOne,updateIssueTypeIdentifiers:ge.updateMany,deleteIssueTypeIdentifier:ge.deleteOne,deleteIssueTypeIdentifiers:ge.deleteMany}}),{initializeIssueTypeIdentifiers:Ty,addIssueTypeIdentifier:Oy,addIssueTypeIdentifiers:Py,setIssueTypeIdentifier:Fy,setIssueTypeIdentifiers:by,updateIssueTypeIdentifier:_y,updateIssueTypeIdentifiers:gy,deleteIssueTypeIdentifier:My,deleteIssueTypeIdentifiers:Ry}=Ji.actions,wy=t=>t.issueTypeIdentifierReducer.instances,Xi=u.createSelector([wy],t=>Object.values(t)),vy=t=>e=>e.issueTypeIdentifierReducer.instances[t],Ey=m(u.createSelector([Xi,(t,e)=>e],(t,e)=>{const i=new Set(e);return p(t.filter(({uuid:n})=>i.has(n)))})),Fg=m(u.createSelector([Xi,(t,e)=>e],(t,e)=>p(t.filter(i=>i.issue_type===e)))),Vy=Ji.reducer,Me=P(t=>t.uuid),By={instances:{}},Qi=u.createSlice({name:"issueTypeIdentifierValues",initialState:By,extraReducers:t=>t.addMatcher(u.isAnyOf(T,V,F),e=>Object.assign(e,By)),reducers:{initializeIssueTypeIdentifierValues:Me.initialize,addIssueTypeIdentifierValue:Me.addOne,addIssueTypeIdentifierValues:Me.addMany,setIssueTypeIdentifierValue:Me.setOne,setIssueTypeIdentifierValues:Me.setMany,updateIssueTypeIdentifierValue:Me.updateOne,updateIssueTypeIdentifierValues:Me.updateMany,deleteIssueTypeIdentifierValue:Me.deleteOne,deleteIssueTypeIdentifierValues:Me.deleteMany}}),{initializeIssueTypeIdentifierValues:zy,addIssueTypeIdentifierValue:Dy,addIssueTypeIdentifierValues:jy,setIssueTypeIdentifierValue:Cy,setIssueTypeIdentifierValues:qy,updateIssueTypeIdentifierValue:$y,updateIssueTypeIdentifierValues:Uy,deleteIssueTypeIdentifierValue:Ly,deleteIssueTypeIdentifierValues:ky}=Qi.actions,Ny=t=>t.issueTypeIdentifierValueReducer.instances,is=u.createSelector([Ny],t=>Object.values(t)),Gy=t=>e=>e.issueTypeIdentifierValueReducer.instances[t],Hy=m(u.createSelector([is,(t,e)=>e],(t,e)=>{const i=new Set(e);return p(t.filter(({uuid:n})=>i.has(n)))})),bg=m(u.createSelector([is,(t,e)=>e],(t,e)=>p(t.filter(i=>i.issue===e)))),_g=m(u.createSelector([is,(t,e)=>e],(t,e)=>p(t.filter(i=>i.issue_type_identifier===e)))),Wy=Qi.reducer,Re=P(t=>t.uuid),Ky={instances:{}},xi=u.createSlice({name:"issueTypePriorities",initialState:Ky,extraReducers:t=>t.addMatcher(u.isAnyOf(T,F),e=>Object.assign(e,Ky)),reducers:{initializeIssueTypePriorities:Re.initialize,addIssueTypePriority:Re.addOne,addIssueTypePriorities:Re.addMany,setIssueTypePriority:Re.setOne,setIssueTypePriorities:Re.setMany,updateIssueTypePriority:Re.updateOne,updateIssueTypePriorities:Re.updateMany,deleteIssueTypePriority:Re.deleteOne,deleteIssueTypePriorities:Re.deleteMany}}),{initializeIssueTypePriorities:Yy,addIssueTypePriority:Zy,addIssueTypePriorities:Jy,setIssueTypePriority:Xy,setIssueTypePriorities:Qy,updateIssueTypePriority:xy,updateIssueTypePriorities:eS,deleteIssueTypePriority:tS,deleteIssueTypePriorities:sS}=xi.actions,iS=t=>t.issueTypePriorityReducer.instances,en=u.createSelector([iS],t=>p(Object.values(t).toSorted(Qa))),tn=t=>e=>e.issueTypePriorityReducer.instances[t],nS=m(u.createSelector([en,(t,e)=>e],(t,e)=>{const i=new Set(e);return p(t.filter(({uuid:n})=>i.has(n)))})),gg=m(u.createSelector([en,(t,e)=>e],(t,e)=>p(t.filter(i=>i.issue_type===e)))),aS=xi.reducer,we=P(t=>t.uuid),cS={instances:{}},sn=u.createSlice({name:"issueTypes",initialState:cS,extraReducers:t=>t.addMatcher(u.isAnyOf(T,F),e=>Object.assign(e,cS)),reducers:{initializeIssueTypes:we.initialize,addIssueType:we.addOne,addIssueTypes:we.addMany,setIssueType:we.setOne,setIssueTypes:we.setMany,updateIssueType:we.updateOne,updateIssueTypes:we.updateMany,deleteIssueType:we.deleteOne,deleteIssueTypes:we.deleteMany}}),{initializeIssueTypes:rS,addIssueType:dS,addIssueTypes:uS,setIssueType:lS,setIssueTypes:oS,updateIssueType:hS,updateIssueTypes:mS,deleteIssueType:pS,deleteIssueTypes:yS}=sn.actions,SS=t=>t.issueTypeReducer.instances,nn=u.createSelector(SS,t=>Object.values(t)),fS=t=>e=>e.issueTypeReducer.instances[t],AS=m(u.createSelector([nn,(t,e)=>e],(t,e)=>{const i=new Set(e);return p(t.filter(({uuid:n})=>i.has(n)))})),Mg=m(u.createSelector([nn,(t,e)=>e],(t,e)=>p(t.filter(i=>i.organization===e)))),IS=sn.reducer,ve=P(t=>t.uuid),TS={instances:{}},an=u.createSlice({name:"issueTypeStatuses",initialState:TS,extraReducers:t=>t.addMatcher(u.isAnyOf(T,F),e=>Object.assign(e,TS)),reducers:{initializeIssueTypeStatuses:ve.initialize,addIssueTypeStatus:ve.addOne,addIssueTypeStatuses:ve.addMany,setIssueTypeStatus:ve.setOne,setIssueTypeStatuses:ve.setMany,updateIssueTypeStatus:ve.updateOne,updateIssueTypeStatuses:ve.updateMany,deleteIssueTypeStatus:ve.deleteOne,deleteIssueTypeStatuses:ve.deleteMany}}),{initializeIssueTypeStatuses:OS,addIssueTypeStatus:PS,addIssueTypeStatuses:FS,setIssueTypeStatus:bS,setIssueTypeStatuses:_S,updateIssueTypeStatus:gS,updateIssueTypeStatuses:MS,deleteIssueTypeStatus:RS,deleteIssueTypeStatuses:wS}=an.actions,vS=t=>t.issueTypeStatusReducer.instances,cn=u.createSelector([vS],t=>p(Object.values(t).toSorted(Xa))),rn=t=>e=>e.issueTypeStatusReducer.instances[t],ES=m(u.createSelector([cn,(t,e)=>e],(t,e)=>{const i=new Set(e);return p(t.filter(({uuid:n})=>i.has(n)))})),Rg=m(u.createSelector([cn,(t,e)=>e],(t,e)=>p(t.filter(i=>i.issue_type===e)))),VS=an.reducer,Ee=P(t=>t.uuid),BS={instances:{}},dn=u.createSlice({name:"issueUpdates",initialState:BS,extraReducers:t=>t.addMatcher(u.isAnyOf(T,V,F),e=>Object.assign(e,BS)),reducers:{initializeIssueUpdates:Ee.initialize,addIssueUpdate:Ee.addOne,addIssueUpdates:Ee.addMany,setIssueUpdate:Ee.setOne,setIssueUpdates:Ee.setMany,updateIssueUpdate:Ee.updateOne,updateIssueUpdates:Ee.updateMany,deleteIssueUpdate:Ee.deleteOne,deleteIssueUpdates:Ee.deleteMany}}),{initializeIssueUpdates:zS,addIssueUpdate:un,addIssueUpdates:ln,setIssueUpdate:DS,setIssueUpdates:jS,updateIssueUpdate:CS,updateIssueUpdates:qS,deleteIssueUpdate:on,deleteIssueUpdates:hn}=dn.actions,mn=t=>t.issueUpdateReducer.instances,pn=u.createSelector([mn],t=>Object.values(t)),$S=m(u.createSelector([mn,(t,e)=>e],(t,e)=>t[e])),US=m(u.createSelector([pn,(t,e)=>e],(t,e)=>{const i=new Set(e);return p(t.filter(({uuid:n})=>i.has(n)))})),LS=m(u.createSelector([pn,(t,e)=>e],(t,e)=>p(t.filter(i=>i.issue===e)))),kS=dn.reducer,Ve=P(t=>t.id),NS={instances:{},currentUser:null},yn=u.createSlice({name:"users",initialState:NS,extraReducers:t=>t.addCase(T,e=>Object.assign(e,NS)).addCase(F,e=>Object.assign(e,{...e,instances:[]})),reducers:{initializeUsers:Ve.initialize,setUsers:Ve.setMany,setUser:Ve.setOne,addUsers:Ve.addMany,addUser:Ve.addOne,updateUsers:Ve.updateMany,updateUser:Ve.updateOne,deleteUser:Ve.deleteOne,deleteUsers:Ve.deleteMany,setCurrentUser:(t,e)=>{t.currentUser=e.payload},setCurrentUserProfile:(t,e)=>{if(!t.currentUser)return;t.currentUser.profile=e.payload;const i=t.instances[t.currentUser.id];if(!i)throw new Error("Unable to find current user in users slice");i.profile=e.payload}}}),{initializeUsers:GS,setUsers:HS,setUser:WS,addUsers:KS,addUser:Sn,updateUsers:YS,updateUser:ZS,deleteUser:fn,deleteUsers:JS,setCurrentUser:wg,setCurrentUserProfile:vg}=yn.actions,XS=yn.reducer,QS=t=>t.userReducer.currentUser,An=t=>t.userReducer.instances,ns=u.createSelector([An],t=>Object.values(t)),as=t=>e=>e.userReducer.instances[t],xS=m(u.createSelector([ns,(t,e)=>e],(t,e)=>{const i=new Set(e);return p(t.filter(({id:n})=>i.has(n)))})),Be=P(t=>t.uuid),ef={instances:{}},In=u.createSlice({name:"organizationAccess",initialState:ef,extraReducers:t=>t.addMatcher(u.isAnyOf(T,F),e=>Object.assign(e,ef)),reducers:{initializeOrganizationAccesses:Be.initialize,addOrganizationAccess:Be.addOne,addOrganizationAccesses:Be.addMany,setOrganizationAccess:Be.setOne,setOrganizationAccesses:Be.setMany,updateOrganizationAccess:Be.updateOne,updateOrganizationAccesses:Be.updateMany,deleteOrganizationAccess:Be.deleteOne,deleteOrganizationAccesses:Be.deleteMany}}),{initializeOrganizationAccesses:tf,addOrganizationAccess:sf,addOrganizationAccesses:nf,setOrganizationAccess:af,setOrganizationAccesses:cf,updateOrganizationAccess:rf,updateOrganizationAccesses:df,deleteOrganizationAccess:uf,deleteOrganizationAccesses:lf}=In.actions,of=In.reducer,cs=t=>t.organizationAccessReducer.instances,hf=t=>e=>e.organizationAccessReducer.instances[t],mf=m(u.createSelector([cs,(t,e)=>e],(t,e)=>{const i=new Set(e);return p(Object.values(t).filter(({uuid:n})=>i.has(n)))})),Eg=u.createSelector([QS,cs],(t,e)=>Object.values(e).find(n=>n.user===t?.id)??null),pf=u.createSelector([cs],t=>{const e={};for(const i of Object.values(t))e[i.user]=i;return fs(e)}),Vg=m(u.createSelector([An,pf,(t,e)=>e],(t,e,i)=>p(Object.values(t).filter(n=>{const a=e[n.id];return!!a&&a.organization===i})))),ze=P(t=>t.uuid),yf={instances:{}},Tn=u.createSlice({name:"organizations",initialState:yf,extraReducers:t=>t.addMatcher(u.isAnyOf(T),e=>Object.assign(e,yf)),reducers:{initializeOrganizations:ze.initialize,setOrganizations:ze.setMany,setOrganization:ze.setOne,addOrganizations:ze.addMany,addOrganization:ze.addOne,updateOrganizations:ze.updateMany,updateOrganization:ze.updateOne,deleteOrganization:ze.deleteOne,deleteOrganizations:ze.deleteMany}}),{initializeOrganizations:Sf,setOrganizations:ff,setOrganization:Af,addOrganizations:If,addOrganization:Tf,updateOrganizations:Of,updateOrganization:Pf,deleteOrganization:Ff,deleteOrganizations:bf}=Tn.actions,_f=t=>t.organizationReducer.instances,gf=u.createSelector([_f],t=>Object.values(t)),Mf=t=>e=>e.organizationReducer.instances[t],Rf=m(u.createSelector([gf,(t,e)=>e],(t,e)=>{const i=new Set(e);return p(t.filter(({uuid:n})=>i.has(n)))})),wf=Tn.reducer,vf=(t,e,i)=>{const n=t.uuid?t:{...t,uuid:ut.v4()};return{payload:n,type:"",meta:{offline:{effect:{timestamp:new Date().toISOString(),request:n,BASE_URL:e,serviceName:i}}}}},Ef={deletedRequests:[],latestRetryTime:0},On=u.createSlice({name:"outbox",initialState:Ef,extraReducers:t=>t.addCase(T,e=>Object.assign(e,Ef)),reducers:{enqueueRequest:{reducer:(t,e)=>t,prepare:t=>{console.debug("Preparing to enqueue request",t.url);const{BASE_URL:e,serviceName:i,...n}=t;return vf(n,e,i)}},markForDeletion(t,e){t.deletedRequests.push(e.payload)},markAsDeleted(t,e){const i=t.deletedRequests.indexOf(e.payload);i!==-1&&t.deletedRequests.splice(i,1)},_setLatestRetryTime:(t,e)=>{t.latestRetryTime=e.payload}}}),Bg=t=>t.outboxReducer.deletedRequests,zg=t=>t.outboxReducer.latestRetryTime,{enqueueRequest:Vf,markForDeletion:Dg,markAsDeleted:Bf,_setLatestRetryTime:zf}=On.actions,Df=On.reducer,De=P(t=>t.uuid),jf={instances:{}},Pn=u.createSlice({name:"projectAccess",initialState:jf,extraReducers:t=>t.addMatcher(u.isAnyOf(T,F),e=>Object.assign(e,jf)),reducers:{initializeProjectAccesses:De.initialize,addProjectAccess:De.addOne,addProjectAccesses:De.addMany,setProjectAccess:De.setOne,setProjectAccesses:De.setMany,updateProjectAccess:De.updateOne,updateProjectAccesses:De.updateMany,deleteProjectAccess:De.deleteOne,deleteProjectAccesses:De.deleteMany}}),{initializeProjectAccesses:Cf,addProjectAccess:qf,addProjectAccesses:$f,setProjectAccess:Uf,setProjectAccesses:Lf,updateProjectAccess:kf,updateProjectAccesses:Nf,deleteProjectAccess:Gf,deleteProjectAccesses:Hf}=Pn.actions,Wf=Pn.reducer,Fn=t=>t.projectAccessReducer.instances,Vt=u.createSelector(Fn,t=>Object.values(t)),Kf=t=>e=>e.projectAccessReducer.instances[t],Yf=m(u.createSelector([Vt,(t,e)=>e],(t,e)=>{const i=new Set(e);return p(t.filter(({uuid:n})=>i.has(n)))})),jg=m(u.createSelector([Fn,(t,e)=>e],(t,e)=>p(Object.values(t).filter(i=>i.project===e)))),Cg=m(u.createSelector([Vt,(t,e)=>e],(t,e)=>{const i={};for(const n of t.filter(a=>a.project===e))i[n.user]=n;return i})),qg=m(u.createSelector([ns,Vt,(t,e)=>e],(t,e,i)=>{const n=new Set(e.filter(a=>a.project===i).map(a=>a.user));return p(t.filter(a=>n.has(a.id)))})),je=P(t=>t.uuid),Zf={instances:{}},bn=u.createSlice({name:"projectAttachments",initialState:Zf,extraReducers:t=>t.addMatcher(u.isAnyOf(T,F),e=>Object.assign(e,Zf)),reducers:{initializeProjectAttachments:je.initialize,addProjectAttachment:je.addOne,addProjectAttachments:je.addMany,setProjectAttachment:je.setOne,setProjectAttachments:je.setMany,updateProjectAttachment:je.updateOne,updateProjectAttachments:je.updateMany,deleteProjectAttachment:je.deleteOne,deleteProjectAttachments:je.deleteMany}}),{initializeProjectAttachments:Jf,addProjectAttachment:Xf,addProjectAttachments:Qf,setProjectAttachment:xf,setProjectAttachments:eA,updateProjectAttachment:tA,updateProjectAttachments:sA,deleteProjectAttachment:iA,deleteProjectAttachments:nA}=bn.actions,aA=t=>t.projectAttachmentReducer.instances,_n=u.createSelector([aA],t=>Object.values(t)),cA=t=>e=>e.projectAttachmentReducer.instances[t],rA=m(u.createSelector([_n,(t,e)=>e],(t,e)=>{const i=new Set(e);return p(t.filter(({uuid:n})=>i.has(n)))})),$g=m(u.createSelector([_n,(t,e)=>e],(t,e)=>p(t.filter(({project:i})=>e===i)))),dA=bn.reducer,Ce=P(t=>t.uuid),uA={instances:{}},gn=u.createSlice({name:"projectComments",initialState:uA,extraReducers:t=>t.addMatcher(u.isAnyOf(T,V,F),e=>Object.assign(e,uA)),reducers:{initializeProjectComments:Ce.initialize,addProjectComment:Ce.addOne,addProjectComments:Ce.addMany,setProjectComment:Ce.setOne,setProjectComments:Ce.setMany,updateProjectComment:Ce.updateOne,updateProjectComments:Ce.updateMany,deleteProjectComment:Ce.deleteOne,deleteProjectComments:Ce.deleteMany}}),{initializeProjectComments:lA,addProjectComment:oA,addProjectComments:hA,setProjectComment:mA,setProjectComments:pA,updateProjectComment:yA,updateProjectComments:SA,deleteProjectComment:fA,deleteProjectComments:AA}=gn.actions,IA=t=>t.projectCommentReducer.instances,rs=u.createSelector([IA],t=>p(Object.values(t).toSorted(ot))),TA=t=>e=>e.projectCommentReducer.instances[t],OA=m(u.createSelector([rs,(t,e)=>e],(t,e)=>{const i=new Set(e);return p(t.filter(({uuid:n})=>i.has(n)))})),Ug=m(u.createSelector([rs,(t,e)=>e],(t,e)=>p(t.filter(i=>i.project===e)))),Lg=m(u.createSelector([rs,(t,e)=>e],(t,e)=>{const i=new Set(e);return p(t.filter(n=>i.has(n.project)))})),PA=gn.reducer,qe=P(t=>t.uuid),FA={instances:{}},Mn=u.createSlice({name:"projectFiles",initialState:FA,extraReducers:t=>t.addMatcher(u.isAnyOf(T,V,F),e=>Object.assign(e,FA)),reducers:{initializeProjectFiles:qe.initialize,setProjectFile:qe.setOne,setProjectFiles:qe.setMany,addProjectFile:qe.addOne,addProjectFiles:qe.addMany,updateProjectFile:qe.updateOne,updateProjectFiles:qe.updateMany,deleteProjectFile:qe.deleteOne,deleteProjectFiles:qe.deleteMany}}),{initializeProjectFiles:bA,setProjectFile:_A,setProjectFiles:gA,addProjectFile:MA,addProjectFiles:RA,updateProjectFile:wA,updateProjectFiles:vA,deleteProjectFile:EA,deleteProjectFiles:VA}=Mn.actions,BA=t=>t.projectFileReducer.instances,zA=u.createSelector([BA],t=>p(Object.values(t).toSorted((e,i)=>e.z_index-i.z_index))),DA=t=>e=>e.projectFileReducer.instances[t],jA=m(u.createSelector([zA,(t,e)=>e],(t,e)=>{const i=new Set(e);return p(t.filter(({uuid:n})=>i.has(n)))})),CA=Mn.reducer,$e=P(t=>t.uuid),qA={instances:{}},Rn=u.createSlice({name:"projects",initialState:qA,extraReducers:t=>t.addMatcher(u.isAnyOf(T,F),e=>Object.assign(e,qA)),reducers:{initializeProjects:$e.initialize,setProjects:$e.setMany,setProject:$e.setOne,addProjects:$e.addMany,addProject:$e.addOne,updateProjects:$e.updateMany,updateProject:$e.updateOne,deleteProject:$e.deleteOne,deleteProjects:$e.deleteMany}}),{initializeProjects:$A,setProjects:UA,setProject:LA,addProjects:kA,addProject:NA,updateProjects:GA,updateProject:HA,deleteProject:WA,deleteProjects:KA}=Rn.actions,YA=Rn.reducer,ZA=t=>t.projectReducer.instances,ds=u.createSelector([ZA],t=>Object.values(t)),JA=t=>e=>e.projectReducer.instances[t],XA=m(u.createSelector([ds,(t,e)=>e],(t,e)=>{const i=new Set(e);return p(t.filter(({uuid:n})=>i.has(n)))})),kg=m(u.createSelector([ds,Vt,(t,e)=>e],(t,e,i)=>{const n=new Set(e.filter(a=>a.user===i).map(a=>a.project));return p(t.filter(a=>n.has(a.uuid)))})),Ng=m(u.createSelector([ds,(t,e)=>e],(t,e)=>p(t.filter(i=>i.organization===e)))),Ue=P(({uuid:t})=>t),QA={instances:{}},wn=u.createSlice({name:"procedureInitiatives",initialState:QA,extraReducers:t=>t.addMatcher(u.isAnyOf(T,V,F),e=>Object.assign(e,QA)),reducers:{initializeProcedureInitiatives:Ue.initialize,addProcedureInitiative:Ue.addOne,addProcedureInitiatives:Ue.addMany,setProcedureInitiative:Ue.setOne,setProcedureInitiatives:Ue.setMany,updateProcedureInitiative:Ue.updateOne,updateProcedureInitiatives:Ue.updateMany,deleteProcedureInitiative:Ue.deleteOne,deleteProcedureInitiatives:Ue.deleteMany}}),{initializeProcedureInitiatives:xA,addProcedureInitiative:eI,addProcedureInitiatives:tI,setProcedureInitiative:sI,setProcedureInitiatives:iI,updateProcedureInitiative:nI,updateProcedureInitiatives:aI,deleteProcedureInitiative:cI,deleteProcedureInitiatives:rI}=wn.actions,dI=wn.reducer,uI=t=>t.procedureInitiativeReducer.instances,us=u.createSelector([uI],t=>Object.values(t)),lI=t=>e=>e.procedureInitiativeReducer.instances[t],oI=m(u.createSelector([us,(t,e)=>e],(t,e)=>{const i=new Set(e);return p(t.filter(({uuid:n})=>i.has(n)))})),Gg=m(u.createSelector([us,(t,e)=>e],(t,e)=>p(t.filter(i=>i.project===e)))),Hg=m(u.createSelector([us,(t,e)=>e],(t,e)=>p(t.filter(i=>i.procedure_type===e)))),Le=P(({uuid:t})=>t),hI={instances:{}},vn=u.createSlice({name:"procedures",initialState:hI,extraReducers:t=>t.addMatcher(u.isAnyOf(T,V,F),e=>Object.assign(e,hI)),reducers:{initializeProcedures:Le.initialize,addProcedure:Le.addOne,addProcedures:Le.addMany,setProcedure:Le.setOne,setProcedures:Le.setMany,updateProcedure:Le.updateOne,updateProcedures:Le.updateMany,deleteProcedure:Le.deleteOne,deleteProcedures:Le.deleteMany}}),{initializeProcedures:mI,addProcedure:pI,addProcedures:bt,setProcedure:yI,setProcedures:SI,updateProcedure:fI,updateProcedures:AI,deleteProcedure:II,deleteProcedures:_t}=vn.actions,TI=vn.reducer,OI=t=>t.procedureReducer.instances,pt=u.createSelector([OI],t=>Object.values(t)),PI=t=>e=>e.procedureReducer.instances[t],FI=m(u.createSelector([pt,(t,e)=>e],(t,e)=>{const i=new Set(e);return p(t.filter(({uuid:n})=>i.has(n)))})),Wg=m(u.createSelector([pt,(t,e)=>e],(t,e)=>p(t.filter(i=>i.project===e)))),bI=m(u.createSelector([pt,(t,e)=>e],(t,e)=>p(t.filter(i=>i.procedure_type===e)))),_I=m(u.createSelector([pt,(t,e)=>e],(t,e)=>p(t.filter(i=>i.asset===e)))),gI=m(u.createSelector([pt,(t,e)=>e],(t,e)=>{const i=new Set(e);return p(t.filter(({asset:n})=>i.has(n)))})),MI=m(u.createSelector([pt,(t,e)=>e],(t,e)=>p(t.filter(i=>i.procedure_initiative===e)))),ke=P(t=>t.uuid),RI={instances:{}},En=u.createSlice({name:"procedureStepAssignees",initialState:RI,extraReducers:t=>t.addMatcher(u.isAnyOf(T,V,F),e=>Object.assign(e,RI)),reducers:{initializeProcedureStepAssignees:ke.initialize,addProcedureStepAssignee:ke.addOne,addProcedureStepAssignees:ke.addMany,setProcedureStepAssignee:ke.setOne,setProcedureStepAssignees:ke.setMany,updateProcedureStepAssignee:ke.updateOne,updateProcedureStepAssignees:ke.updateMany,deleteProcedureStepAssignee:ke.deleteOne,deleteProcedureStepAssignees:ke.deleteMany}}),{initializeProcedureStepAssignees:wI,addProcedureStepAssignee:vI,addProcedureStepAssignees:EI,setProcedureStepAssignee:VI,setProcedureStepAssignees:BI,updateProcedureStepAssignee:zI,updateProcedureStepAssignees:DI,deleteProcedureStepAssignee:jI,deleteProcedureStepAssignees:CI}=En.actions,qI=t=>t.procedureStepAssigneeReducer.instances,Bt=u.createSelector([qI],t=>Object.values(t)),$I=t=>e=>e.procedureStepAssigneeReducer.instances[t],UI=m(u.createSelector([Bt,(t,e)=>e],(t,e)=>{const i=new Set(e);return p(t.filter(({uuid:n})=>i.has(n)))})),Kg=m(u.createSelector([Bt,(t,e)=>e],(t,e)=>p(t.filter(i=>i.procedure===e)))),Yg=m(u.createSelector([Bt,(t,e)=>e],(t,e)=>p(t.filter(i=>i.procedure_step===e)))),Zg=m(u.createSelector([Bt,(t,e)=>e,(t,e,i)=>i],(t,e,i)=>p(t.filter(({procedure:n,procedure_step:a})=>n===e&&a===i)))),LI=En.reducer,Ne=P(t=>t.uuid),kI={instances:{}},Vn=u.createSlice({name:"procedureStepComments",initialState:kI,extraReducers:t=>t.addMatcher(u.isAnyOf(T,V,F),e=>Object.assign(e,kI)),reducers:{initializeProcedureStepComments:Ne.initialize,addProcedureStepComment:Ne.addOne,addProcedureStepComments:Ne.addMany,setProcedureStepComment:Ne.setOne,setProcedureStepComments:Ne.setMany,updateProcedureStepComment:Ne.updateOne,updateProcedureStepComments:Ne.updateMany,deleteProcedureStepComment:Ne.deleteOne,deleteProcedureStepComments:Ne.deleteMany}}),{initializeProcedureStepComments:NI,addProcedureStepComment:GI,addProcedureStepComments:HI,setProcedureStepComment:WI,setProcedureStepComments:KI,updateProcedureStepComment:YI,updateProcedureStepComments:ZI,deleteProcedureStepComment:JI,deleteProcedureStepComments:XI}=Vn.actions,QI=t=>t.procedureStepCommentReducer.instances,zt=u.createSelector([QI],t=>Object.values(t)),xI=t=>e=>e.procedureStepCommentReducer.instances[t],eT=m(u.createSelector([zt,(t,e)=>e],(t,e)=>{const i=new Set(e);return p(t.filter(({uuid:n})=>i.has(n)))})),Jg=m(u.createSelector([zt,(t,e)=>e],(t,e)=>p(t.filter(i=>i.procedure===e)))),Xg=m(u.createSelector([zt,(t,e)=>e],(t,e)=>p(t.filter(i=>i.procedure_step===e)))),Qg=m(u.createSelector([zt,(t,e)=>e,(t,e,i)=>i],(t,e,i)=>p(t.filter(({procedure:n,procedure_step:a})=>n===e&&a===i)))),tT=Vn.reducer,Ge=P(t=>t.uuid),sT={instances:{}},Bn=u.createSlice({name:"procedureStepDefaultAssignees",initialState:sT,extraReducers:t=>t.addMatcher(u.isAnyOf(T,F),e=>Object.assign(e,sT)),reducers:{initializeProcedureStepDefaultAssignees:Ge.initialize,addProcedureStepDefaultAssignee:Ge.addOne,addProcedureStepDefaultAssignees:Ge.addMany,setProcedureStepDefaultAssignee:Ge.setOne,setProcedureStepDefaultAssignees:Ge.setMany,updateProcedureStepDefaultAssignee:Ge.updateOne,updateProcedureStepDefaultAssignees:Ge.updateMany,deleteProcedureStepDefaultAssignee:Ge.deleteOne,deleteProcedureStepDefaultAssignees:Ge.deleteMany}}),{initializeProcedureStepDefaultAssignees:iT,addProcedureStepDefaultAssignee:nT,addProcedureStepDefaultAssignees:aT,setProcedureStepDefaultAssignee:cT,setProcedureStepDefaultAssignees:rT,updateProcedureStepDefaultAssignee:dT,updateProcedureStepDefaultAssignees:uT,deleteProcedureStepDefaultAssignee:lT,deleteProcedureStepDefaultAssignees:oT}=Bn.actions,hT=t=>t.procedureStepDefaultAssigneeReducer.instances,zn=u.createSelector([hT],t=>Object.values(t)),mT=t=>e=>e.procedureStepDefaultAssigneeReducer.instances[t],pT=m(u.createSelector([zn,(t,e)=>e],(t,e)=>{const i=new Set(e);return p(t.filter(({uuid:n})=>i.has(n)))})),xg=m(u.createSelector([zn,(t,e)=>e],(t,e)=>p(t.filter(i=>i.procedure_step===e)))),yT=Bn.reducer,He=P(t=>t.uuid),ST={instances:{}},Dn=u.createSlice({name:"procedureStepDefaultReviewers",initialState:ST,extraReducers:t=>t.addMatcher(u.isAnyOf(T,F),e=>Object.assign(e,ST)),reducers:{initializeProcedureStepDefaultReviewers:He.initialize,addProcedureStepDefaultReviewer:He.addOne,addProcedureStepDefaultReviewers:He.addMany,setProcedureStepDefaultReviewer:He.setOne,setProcedureStepDefaultReviewers:He.setMany,updateProcedureStepDefaultReviewer:He.updateOne,updateProcedureStepDefaultReviewers:He.updateMany,deleteProcedureStepDefaultReviewer:He.deleteOne,deleteProcedureStepDefaultReviewers:He.deleteMany}}),{initializeProcedureStepDefaultReviewers:fT,addProcedureStepDefaultReviewer:AT,addProcedureStepDefaultReviewers:IT,setProcedureStepDefaultReviewer:TT,setProcedureStepDefaultReviewers:OT,updateProcedureStepDefaultReviewer:PT,updateProcedureStepDefaultReviewers:FT,deleteProcedureStepDefaultReviewer:bT,deleteProcedureStepDefaultReviewers:_T}=Dn.actions,gT=t=>t.procedureStepDefaultReviewerReducer.instances,jn=u.createSelector([gT],t=>Object.values(t)),MT=t=>e=>e.procedureStepDefaultReviewerReducer.instances[t],RT=m(u.createSelector([jn,(t,e)=>e],(t,e)=>{const i=new Set(e);return p(t.filter(({uuid:n})=>i.has(n)))})),eM=m(u.createSelector([jn,(t,e)=>e],(t,e)=>p(t.filter(i=>i.procedure_step===e)))),wT=Dn.reducer,We=P(t=>t.uuid),vT={instances:{}},Cn=u.createSlice({name:"procedureStepEvents",initialState:vT,extraReducers:t=>t.addMatcher(u.isAnyOf(T,V,F),e=>Object.assign(e,vT)),reducers:{initializeProcedureStepEvents:We.initialize,addProcedureStepEvent:We.addOne,addProcedureStepEvents:We.addMany,setProcedureStepEvent:We.setOne,setProcedureStepEvents:We.setMany,updateProcedureStepEvent:We.updateOne,updateProcedureStepEvents:We.updateMany,deleteProcedureStepEvent:We.deleteOne,deleteProcedureStepEvents:We.deleteMany}}),{initializeProcedureStepEvents:ET,addProcedureStepEvent:VT,addProcedureStepEvents:BT,setProcedureStepEvent:zT,setProcedureStepEvents:DT,updateProcedureStepEvent:jT,updateProcedureStepEvents:CT,deleteProcedureStepEvent:qT,deleteProcedureStepEvents:$T}=Cn.actions,UT=t=>t.procedureStepEventReducer.instances,Dt=u.createSelector([UT],t=>Object.values(t)),LT=t=>e=>e.procedureStepEventReducer.instances[t],kT=m(u.createSelector([Dt,(t,e)=>e],(t,e)=>{const i=new Set(e);return p(t.filter(({uuid:n})=>i.has(n)))})),tM=m(u.createSelector([Dt,(t,e)=>e],(t,e)=>p(t.filter(i=>i.procedure===e)))),sM=m(u.createSelector([Dt,(t,e)=>e],(t,e)=>p(t.filter(i=>i.procedure_step===e)))),iM=m(u.createSelector([Dt,(t,e)=>e,(t,e,i)=>i],(t,e,i)=>p(t.filter(({procedure:n,procedure_step:a})=>n===e&&a===i)))),NT=Cn.reducer,Ke=P(t=>t.uuid),GT={instances:{}},qn=u.createSlice({name:"procedureStepFieldsAttachments",initialState:GT,extraReducers:t=>t.addMatcher(u.isAnyOf(T,F),e=>Object.assign(e,GT)),reducers:{initializeProcedureStepFieldsAttachments:Ke.initialize,addProcedureStepFieldsAttachment:Ke.addOne,addProcedureStepFieldsAttachments:Ke.addMany,setProcedureStepFieldsAttachment:Ke.setOne,setProcedureStepFieldsAttachments:Ke.setMany,updateProcedureStepFieldsAttachment:Ke.updateOne,updateProcedureStepFieldsAttachments:Ke.updateMany,deleteProcedureStepFieldsAttachment:Ke.deleteOne,deleteProcedureStepFieldsAttachments:Ke.deleteMany}}),{initializeProcedureStepFieldsAttachments:HT,addProcedureStepFieldsAttachment:WT,addProcedureStepFieldsAttachments:$n,setProcedureStepFieldsAttachment:KT,setProcedureStepFieldsAttachments:YT,updateProcedureStepFieldsAttachment:ZT,updateProcedureStepFieldsAttachments:JT,deleteProcedureStepFieldsAttachment:XT,deleteProcedureStepFieldsAttachments:Un}=qn.actions,QT=t=>t.procedureStepFieldsAttachmentReducer.instances,Ln=u.createSelector([QT],t=>Object.values(t)),xT=m(u.createSelector([Ln,(t,e)=>e],(t,e)=>p(t.filter(i=>i.fields_revision===e)))),eO=t=>e=>e.procedureStepFieldsAttachmentReducer.instances[t],tO=m(u.createSelector([Ln,(t,e)=>e],(t,e)=>{const i=new Set(e);return p(t.filter(({uuid:n})=>i.has(n)))})),sO=qn.reducer,Ye=P(t=>t.uuid),iO={instances:{}},kn=u.createSlice({name:"procedureStepFields",initialState:iO,extraReducers:t=>t.addMatcher(u.isAnyOf(T,F),e=>Object.assign(e,iO)),reducers:{initializeProcedureStepFields:Ye.initialize,addProcedureStepFields:Ye.addOne,addProcedureStepFieldsMany:Ye.addMany,setProcedureStepFields:Ye.setOne,setProcedureStepFieldsMany:Ye.setMany,updateProcedureStepFields:Ye.updateOne,updateProcedureStepFieldsMany:Ye.updateMany,deleteProcedureStepFields:Ye.deleteOne,deleteProcedureStepFieldsMany:Ye.deleteMany}}),{initializeProcedureStepFields:nO,addProcedureStepFields:aO,addProcedureStepFieldsMany:cO,setProcedureStepFields:rO,setProcedureStepFieldsMany:dO,updateProcedureStepFields:uO,updateProcedureStepFieldsMany:lO,deleteProcedureStepFields:oO,deleteProcedureStepFieldsMany:hO}=kn.actions,Nn=t=>t.procedureStepFieldsReducer.instances,ls=u.createSelector([Nn],t=>Object.values(t)),nM=m(u.createSelector([ls,(t,e)=>e],(t,e)=>p(t.filter(i=>i.procedure_step===e)))),aM=m(u.createSelector([ls,(t,e)=>e],(t,e)=>t.filter(i=>i.procedure_step===e).toSorted(ot).pop())),cM=u.createSelector([Nn],t=>{const e={};for(const i of Object.values(t)){const n=e[i.procedure_step];(!n||n.submitted_at<i.submitted_at)&&(e[i.procedure_step]=i)}return e}),mO=t=>e=>e.procedureStepFieldsReducer.instances[t],pO=m(u.createSelector([ls,(t,e)=>e],(t,e)=>{const i=new Set(e);return p(t.filter(({uuid:n})=>i.has(n)))})),yO=kn.reducer,Ze=P(t=>t.uuid),SO={instances:{}},Gn=u.createSlice({name:"procedureStepFieldValuesAttachments",initialState:SO,extraReducers:t=>t.addMatcher(u.isAnyOf(T,V,F),e=>Object.assign(e,SO)),reducers:{initializeProcedureStepFieldValuesAttachments:Ze.initialize,addProcedureStepFieldValuesAttachment:Ze.addOne,addProcedureStepFieldValuesAttachments:Ze.addMany,setProcedureStepFieldValuesAttachment:Ze.setOne,setProcedureStepFieldValuesAttachments:Ze.setMany,updateProcedureStepFieldValuesAttachment:Ze.updateOne,updateProcedureStepFieldValuesAttachments:Ze.updateMany,deleteProcedureStepFieldValuesAttachment:Ze.deleteOne,deleteProcedureStepFieldValuesAttachments:Ze.deleteMany}}),{initializeProcedureStepFieldValuesAttachments:fO,addProcedureStepFieldValuesAttachment:AO,addProcedureStepFieldValuesAttachments:Hn,setProcedureStepFieldValuesAttachment:IO,setProcedureStepFieldValuesAttachments:TO,updateProcedureStepFieldValuesAttachment:OO,updateProcedureStepFieldValuesAttachments:PO,deleteProcedureStepFieldValuesAttachment:FO,deleteProcedureStepFieldValuesAttachments:Wn}=Gn.actions,bO=t=>t.procedureStepFieldValuesAttachmentReducer.instances,Kn=u.createSelector([bO],t=>Object.values(t)),_O=t=>e=>e.procedureStepFieldValuesAttachmentReducer.instances[t],gO=m(u.createSelector([Kn,(t,e)=>e],(t,e)=>{const i=new Set(e);return p(t.filter(({uuid:n})=>i.has(n)))})),MO=m(u.createSelector([Kn,(t,e)=>e],(t,e)=>p(t.filter(i=>i.field_values===e)))),RO=Gn.reducer,Je=P(t=>t.uuid),wO={instances:{}},Yn=u.createSlice({name:"procedureStepFieldValues",initialState:wO,extraReducers:t=>t.addMatcher(u.isAnyOf(T,V,F),e=>Object.assign(e,wO)),reducers:{initializeProcedureStepFieldValues:Je.initialize,addProcedureStepFieldValues:Je.addOne,addProcedureStepFieldValuesMany:Je.addMany,setProcedureStepFieldValues:Je.setOne,setProcedureStepFieldValuesMany:Je.setMany,updateProcedureStepFieldValues:Je.updateOne,updateProcedureStepFieldValuesMany:Je.updateMany,deleteProcedureStepFieldValues:Je.deleteOne,deleteProcedureStepFieldValuesMany:Je.deleteMany}}),{initializeProcedureStepFieldValues:vO,addProcedureStepFieldValues:EO,addProcedureStepFieldValuesMany:VO,setProcedureStepFieldValues:BO,setProcedureStepFieldValuesMany:zO,updateProcedureStepFieldValues:DO,updateProcedureStepFieldValuesMany:jO,deleteProcedureStepFieldValues:CO,deleteProcedureStepFieldValuesMany:qO}=Yn.actions,$O=Yn.reducer,UO=t=>t.procedureStepFieldValuesReducer.instances,yt=u.createSelector([UO],t=>Object.values(t)),rM=m(u.createSelector([yt,(t,e)=>e],(t,e)=>p(t.filter(i=>i.procedure===e)))),dM=m(u.createSelector([yt,(t,e)=>e],(t,e)=>p(t.filter(i=>i.procedure_step===e)))),LO=t=>e=>e.procedureStepFieldValuesReducer.instances[t],kO=m(u.createSelector([yt,(t,e)=>e],(t,e)=>{const i=new Set(e);return p(t.filter(({uuid:n})=>i.has(n)))})),uM=m(u.createSelector([yt,(t,e)=>e,(t,e,i)=>i],(t,e,i)=>p(t.filter(({procedure:n,procedure_step:a})=>n===e&&a===i)))),Xe=P(t=>t.uuid),NO={instances:{}},Zn=u.createSlice({name:"procedureStepFieldValuesReviews",initialState:NO,extraReducers:t=>t.addMatcher(u.isAnyOf(T,V,F),e=>Object.assign(e,NO)),reducers:{initializeProcedureStepFieldValuesReviews:Xe.initialize,addProcedureStepFieldValuesReview:Xe.addOne,addProcedureStepFieldValuesReviews:Xe.addMany,setProcedureStepFieldValuesReview:Xe.setOne,setProcedureStepFieldValuesReviews:Xe.setMany,updateProcedureStepFieldValuesReview:Xe.updateOne,updateProcedureStepFieldValuesReviews:Xe.updateMany,deleteProcedureStepFieldValuesReview:Xe.deleteOne,deleteProcedureStepFieldValuesReviews:Xe.deleteMany}}),{initializeProcedureStepFieldValuesReviews:GO,addProcedureStepFieldValuesReview:HO,addProcedureStepFieldValuesReviews:Jn,setProcedureStepFieldValuesReview:WO,setProcedureStepFieldValuesReviews:KO,updateProcedureStepFieldValuesReview:YO,updateProcedureStepFieldValuesReviews:ZO,deleteProcedureStepFieldValuesReview:JO,deleteProcedureStepFieldValuesReviews:Xn}=Zn.actions,XO=t=>t.procedureStepFieldValuesReviewReducer.instances,St=u.createSelector([XO],t=>Object.values(t)),QO=t=>e=>e.procedureStepFieldValuesReviewReducer.instances[t],xO=m(u.createSelector([St,(t,e)=>e],(t,e)=>{const i=new Set(e);return p(t.filter(({uuid:n})=>i.has(n)))})),eP=m(u.createSelector([St,(t,e)=>e],(t,e)=>p(t.filter(i=>i.field_values===e)))),lM=m(u.createSelector([St,(t,e)=>e],(t,e)=>{let i;for(const n of t){const{field_values:a}=n;a===e&&(!i||i.submitted_at<=n.submitted_at)&&(i=n)}return i})),oM=m(u.createSelector([yt,St,(t,e)=>e],(t,e,i)=>{const n=new Set(R(t.filter(({procedure:a})=>i===a)));return p(e.filter(({field_values:a})=>n.has(a)))})),hM=m(u.createSelector([yt,St,(t,e)=>e,(t,e,i)=>i],(t,e,i,n)=>{const a=new Set(R(t.filter(({procedure_step:c,procedure:d})=>i===d&&c===n)));return p(e.filter(({field_values:c})=>a.has(c)))})),mM=u.createSelector([St],t=>{const e={};for(const i of t){const{field_values:n}=i,a=e[n];(!a||a.submitted_at<=i.submitted_at)&&(e[n]=i)}return e}),tP=Zn.reducer,Qe=P(t=>t.uuid),sP={instances:{}},Qn=u.createSlice({name:"procedureStepReviewers",initialState:sP,extraReducers:t=>t.addMatcher(u.isAnyOf(T,V,F),e=>Object.assign(e,sP)),reducers:{initializeProcedureStepReviewers:Qe.initialize,addProcedureStepReviewer:Qe.addOne,addProcedureStepReviewers:Qe.addMany,setProcedureStepReviewer:Qe.setOne,setProcedureStepReviewers:Qe.setMany,updateProcedureStepReviewer:Qe.updateOne,updateProcedureStepReviewers:Qe.updateMany,deleteProcedureStepReviewer:Qe.deleteOne,deleteProcedureStepReviewers:Qe.deleteMany}}),{initializeProcedureStepReviewers:iP,addProcedureStepReviewer:nP,addProcedureStepReviewers:aP,setProcedureStepReviewer:cP,setProcedureStepReviewers:rP,updateProcedureStepReviewer:dP,updateProcedureStepReviewers:uP,deleteProcedureStepReviewer:lP,deleteProcedureStepReviewers:oP}=Qn.actions,hP=t=>t.procedureStepReviewerReducer.instances,jt=u.createSelector([hP],t=>Object.values(t)),mP=t=>e=>e.procedureStepReviewerReducer.instances[t],pP=m(u.createSelector([jt,(t,e)=>e],(t,e)=>{const i=new Set(e);return p(t.filter(({uuid:n})=>i.has(n)))})),pM=m(u.createSelector([jt,(t,e)=>e],(t,e)=>p(t.filter(i=>i.procedure===e)))),yM=m(u.createSelector([jt,(t,e)=>e],(t,e)=>p(t.filter(i=>i.procedure_step===e)))),SM=m(u.createSelector([jt,(t,e)=>e,(t,e,i)=>i],(t,e,i)=>p(t.filter(({procedure:n,procedure_step:a})=>n===e&&a===i)))),yP=Qn.reducer,xe=P(t=>t.uuid),SP={instances:{}},xn=u.createSlice({name:"procedureSteps",initialState:SP,extraReducers:t=>t.addMatcher(u.isAnyOf(T,F),e=>Object.assign(e,SP)),reducers:{initializeProcedureSteps:xe.initialize,setProcedureStep:xe.setOne,setProcedureSteps:xe.setMany,addProcedureStep:xe.addOne,addProcedureSteps:xe.addMany,updateProcedureStep:xe.updateOne,updateProcedureSteps:xe.updateMany,deleteProcedureStep:xe.deleteOne,deleteProcedureSteps:xe.deleteMany}}),{initializeProcedureSteps:fP,setProcedureStep:AP,setProcedureSteps:IP,addProcedureStep:TP,addProcedureSteps:OP,updateProcedureStep:PP,updateProcedureSteps:FP,deleteProcedureStep:bP,deleteProcedureSteps:_P}=xn.actions,gP=xn.reducer,ea=t=>t.procedureStepReducer.instances,MP=t=>e=>e.procedureStepReducer.instances[t],ta=u.createSelector([ea],t=>Object.values(t).toSorted((e,i)=>e.order-i.order)),fM=m(u.createSelector([ea,(t,e)=>e],(t,e)=>{const i={};for(const[n,a]of Object.entries(t))a.procedure_type===e&&(i[n]=a);return fs(i)})),AM=m(u.createSelector([ta,(t,e)=>e],(t,e)=>p(t.filter(i=>i.procedure_type===e)))),RP=m(u.createSelector([ta,(t,e)=>e],(t,e)=>{const i=new Set(e);return p(t.filter(({uuid:n})=>i.has(n)))})),et=P(({uuid:t})=>t),wP={instances:{}},sa=u.createSlice({name:"procedureTypeAttachments",initialState:wP,extraReducers:t=>t.addMatcher(u.isAnyOf(T,F),e=>Object.assign(e,wP)),reducers:{initializeProcedureTypeAttachments:et.initialize,addProcedureTypeAttachment:et.addOne,addProcedureTypeAttachments:et.addMany,setProcedureTypeAttachment:et.setOne,setProcedureTypeAttachments:et.setMany,updateProcedureTypeAttachment:et.updateOne,updateProcedureTypeAttachments:et.updateMany,deleteProcedureTypeAttachment:et.deleteOne,deleteProcedureTypeAttachments:et.deleteMany}}),{initializeProcedureTypeAttachments:vP,addProcedureTypeAttachment:EP,addProcedureTypeAttachments:VP,setProcedureTypeAttachment:BP,setProcedureTypeAttachments:zP,updateProcedureTypeAttachment:DP,updateProcedureTypeAttachments:jP,deleteProcedureTypeAttachment:CP,deleteProcedureTypeAttachments:qP}=sa.actions,$P=sa.reducer,UP=t=>t.procedureTypeAttachmentReducer.instances,ia=u.createSelector([UP],t=>Object.values(t)),LP=t=>e=>e.procedureTypeAttachmentReducer.instances[t],kP=m(u.createSelector([ia,(t,e)=>e],(t,e)=>{const i=new Set(e);return p(t.filter(({uuid:n})=>i.has(n)))})),IM=m(u.createSelector([ia,(t,e)=>e],(t,e)=>p(t.filter(({procedure_type:i})=>e===i)))),tt=P(({uuid:t})=>t),NP={instances:{}},na=u.createSlice({name:"procedureTypeFieldsAttachments",initialState:NP,extraReducers:t=>t.addMatcher(u.isAnyOf(T,F),e=>Object.assign(e,NP)),reducers:{initializeProcedureTypeFieldsAttachments:tt.initialize,addProcedureTypeFieldsAttachment:tt.addOne,addProcedureTypeFieldsAttachments:tt.addMany,setProcedureTypeFieldsAttachment:tt.setOne,setProcedureTypeFieldsAttachments:tt.setMany,updateProcedureTypeFieldsAttachment:tt.updateOne,updateProcedureTypeFieldsAttachments:tt.updateMany,deleteProcedureTypeFieldsAttachment:tt.deleteOne,deleteProcedureTypeFieldsAttachments:tt.deleteMany}}),{initializeProcedureTypeFieldsAttachments:GP,addProcedureTypeFieldsAttachment:HP,addProcedureTypeFieldsAttachments:WP,setProcedureTypeFieldsAttachment:KP,setProcedureTypeFieldsAttachments:YP,updateProcedureTypeFieldsAttachment:ZP,updateProcedureTypeFieldsAttachments:JP,deleteProcedureTypeFieldsAttachment:XP,deleteProcedureTypeFieldsAttachments:QP}=na.actions,xP=na.reducer,eF=t=>t.procedureTypeFieldsAttachmentReducer.instances,aa=u.createSelector([eF],t=>Object.values(t)),TM=m(u.createSelector([aa,(t,e)=>e],(t,e)=>p(t.filter(i=>i.fields_revision===e)))),tF=t=>e=>e.procedureTypeFieldsAttachmentReducer.instances[t],sF=m(u.createSelector([aa,(t,e)=>e],(t,e)=>{const i=new Set(e);return p(t.filter(({uuid:n})=>i.has(n)))})),st=P(({uuid:t})=>t),iF={instances:{}},ca=u.createSlice({name:"procedureTypeFields",initialState:iF,extraReducers:t=>t.addMatcher(u.isAnyOf(T,F),e=>Object.assign(e,iF)),reducers:{initializeProcedureTypeFields:st.initialize,addProcedureTypeFields:st.addOne,addProcedureTypeFieldsMany:st.addMany,setProcedureTypeFields:st.setOne,setProcedureTypeFieldsMany:st.setMany,updateProcedureTypeFields:st.updateOne,updateProcedureTypeFieldsMany:st.updateMany,deleteProcedureTypeFields:st.deleteOne,deleteProcedureTypeFieldsMany:st.deleteMany}}),{initializeProcedureTypeFields:nF,addProcedureTypeFields:aF,addProcedureTypeFieldsMany:cF,setProcedureTypeFields:rF,setProcedureTypeFieldsMany:dF,updateProcedureTypeFields:uF,updateProcedureTypeFieldsMany:lF,deleteProcedureTypeFields:oF,deleteProcedureTypeFieldsMany:hF}=ca.actions,mF=ca.reducer,pF=t=>t.procedureTypeFieldsReducer.instances,os=u.createSelector([pF],t=>Object.values(t)),OM=m(u.createSelector([os,(t,e)=>e],(t,e)=>p(t.filter(i=>i.procedure_type===e)))),PM=m(u.createSelector([os,(t,e)=>e],(t,e)=>t.filter(i=>i.procedure_type===e).sort((i,n)=>i.submitted_at>n.submitted_at?-1:1)[0])),yF=t=>e=>e.procedureTypeFieldsReducer.instances[t],SF=m(u.createSelector([os,(t,e)=>e],(t,e)=>{const i=new Set(e);return p(t.filter(({uuid:n})=>i.has(n)))})),it=P(({uuid:t})=>t),fF={instances:{}},ra=u.createSlice({name:"procedureFieldValuesAttachments",initialState:fF,extraReducers:t=>t.addMatcher(u.isAnyOf(T,V,F),e=>Object.assign(e,fF)),reducers:{initializeProcedureFieldValuesAttachments:it.initialize,addProcedureFieldValuesAttachment:it.addOne,addProcedureFieldValuesAttachments:it.addMany,setProcedureFieldValuesAttachment:it.setOne,setProcedureFieldValuesAttachments:it.setMany,updateProcedureFieldValuesAttachment:it.updateOne,updateProcedureFieldValuesAttachments:it.updateMany,deleteProcedureFieldValuesAttachment:it.deleteOne,deleteProcedureFieldValuesAttachments:it.deleteMany}}),{initializeProcedureFieldValuesAttachments:AF,addProcedureFieldValuesAttachment:IF,addProcedureFieldValuesAttachments:da,setProcedureFieldValuesAttachment:TF,setProcedureFieldValuesAttachments:OF,updateProcedureFieldValuesAttachment:PF,updateProcedureFieldValuesAttachments:FF,deleteProcedureFieldValuesAttachment:bF,deleteProcedureFieldValuesAttachments:ua}=ra.actions,_F=ra.reducer,gF=t=>t.procedureFieldValuesAttachmentReducer.instances,la=u.createSelector([gF],t=>Object.values(t)),MF=t=>e=>e.procedureFieldValuesAttachmentReducer.instances[t],RF=m(u.createSelector([la,(t,e)=>e],(t,e)=>{const i=new Set(e);return p(t.filter(({uuid:n})=>i.has(n)))})),wF=m(u.createSelector([la,(t,e)=>e],(t,e)=>p(t.filter(i=>i.field_values===e)))),nt=P(({uuid:t})=>t),vF={instances:{}},oa=u.createSlice({name:"procedureFieldValues",initialState:vF,extraReducers:t=>t.addMatcher(u.isAnyOf(T,V,F),e=>Object.assign(e,vF)),reducers:{initializeProcedureFieldValues:nt.initialize,addProcedureFieldValues:nt.addOne,addProcedureFieldValuesMany:nt.addMany,setProcedureFieldValues:nt.setOne,setProcedureFieldValuesMany:nt.setMany,updateProcedureFieldValues:nt.updateOne,updateProcedureFieldValuesMany:nt.updateMany,deleteProcedureFieldValues:nt.deleteOne,deleteProcedureFieldValuesMany:nt.deleteMany}}),{initializeProcedureFieldValues:EF,addProcedureFieldValues:VF,addProcedureFieldValuesMany:BF,setProcedureFieldValues:zF,setProcedureFieldValuesMany:DF,updateProcedureFieldValues:jF,updateProcedureFieldValuesMany:CF,deleteProcedureFieldValues:qF,deleteProcedureFieldValuesMany:$F}=oa.actions,UF=oa.reducer,LF=t=>t.procedureFieldValuesReducer.instances,ha=u.createSelector([LF],t=>Object.values(t)),FM=m(u.createSelector([ha,(t,e)=>e],(t,e)=>p(t.filter(i=>i.procedure===e)))),kF=t=>e=>e.procedureFieldValuesReducer.instances[t],NF=m(u.createSelector([ha,(t,e)=>e],(t,e)=>{const i=new Set(e);return p(t.filter(({uuid:n})=>i.has(n)))})),at=P(t=>t.uuid),GF={instances:{}},ma=u.createSlice({name:"procedureTypes",initialState:GF,extraReducers:t=>t.addMatcher(u.isAnyOf(T,F),e=>Object.assign(e,GF)),reducers:{initializeProcedureTypes:at.initialize,addProcedureType:at.addOne,addProcedureTypes:at.addMany,setProcedureType:at.setOne,setProcedureTypes:at.setMany,updateProcedureType:at.updateOne,updateProcedureTypes:at.updateMany,deleteProcedureType:at.deleteOne,deleteProcedureTypes:at.deleteMany}}),{initializeProcedureTypes:HF,addProcedureType:WF,addProcedureTypes:KF,setProcedureType:YF,setProcedureTypes:ZF,updateProcedureType:JF,updateProcedureTypes:XF,deleteProcedureType:QF,deleteProcedureTypes:xF}=ma.actions,eb=ma.reducer,tb=t=>t.procedureTypeReducer.instances,pa=u.createSelector([tb],t=>Object.values(t)),sb=t=>e=>e.procedureTypeReducer.instances[t],ib=m(u.createSelector([pa,(t,e)=>e],(t,e)=>{const i=new Set(e);return p(t.filter(({uuid:n})=>i.has(n)))})),bM=m(u.createSelector([pa,(t,e)=>e],(t,e)=>p(t.filter(i=>i.organization===e)))),_M={isRehydrated:!1},ya=u.createSlice({name:"rehydrated",initialState:_M,reducers:{setRehydrated:(t,e)=>{t.isRehydrated=e.payload}}}),{setRehydrated:gM}=ya.actions,MM=t=>t.rehydratedReducer.isRehydrated,nb=ya.reducer,ct=P(t=>t.uuid),ab={instances:{}},Sa=u.createSlice({name:"teamMemberships",initialState:ab,extraReducers:t=>t.addMatcher(u.isAnyOf(T,F),e=>Object.assign(e,ab)),reducers:{initializeTeamMemberships:ct.initialize,addTeamMembership:ct.addOne,addTeamMemberships:ct.addMany,setTeamMembership:ct.setOne,setTeamMemberships:ct.setMany,updateTeamMembership:ct.updateOne,updateTeamMemberships:ct.updateMany,deleteTeamMembership:ct.deleteOne,deleteTeamMemberships:ct.deleteMany}}),{initializeTeamMemberships:cb,addTeamMembership:rb,addTeamMemberships:db,setTeamMembership:ub,setTeamMemberships:lb,updateTeamMembership:ob,updateTeamMemberships:hb,deleteTeamMembership:mb,deleteTeamMemberships:pb}=Sa.actions,yb=Sa.reducer,Sb=t=>t.teamMembershipReducer.instances,hs=u.createSelector([Sb],t=>Object.values(t)),fb=t=>e=>e.teamMembershipReducer.instances[t],Ab=m(u.createSelector([hs,(t,e)=>e],(t,e)=>{const i=new Set(e);return p(t.filter(({uuid:n})=>i.has(n)))})),RM=m(u.createSelector([hs,(t,e)=>e],(t,e)=>{const i={};for(const n of t.filter(a=>a.team===e))i[n.user]=n;return i})),wM=m(u.createSelector([ns,hs,(t,e)=>e],(t,e,i)=>{const n=new Set(e.filter(a=>a.team===i).map(a=>a.user));return p(t.filter(a=>n.has(a.id)))})),rt=P(t=>t.uuid),Ib={instances:{}},fa=u.createSlice({name:"teams",initialState:Ib,extraReducers:t=>t.addMatcher(u.isAnyOf(T,F),e=>Object.assign(e,Ib)),reducers:{initializeTeams:rt.initialize,addTeam:rt.addOne,addTeams:rt.addMany,setTeam:rt.setOne,setTeams:rt.setMany,updateTeam:rt.updateOne,updateTeams:rt.updateMany,deleteTeam:rt.deleteOne,deleteTeams:rt.deleteMany}}),{initializeTeams:Tb,addTeam:Ob,addTeams:Pb,setTeam:Fb,setTeams:bb,updateTeam:_b,updateTeams:gb,deleteTeam:Mb,deleteTeams:Rb}=fa.actions,wb=t=>t.teamReducer.instances,Aa=u.createSelector([wb],t=>Object.values(t)),vb=t=>e=>e.teamReducer.instances[t],Eb=m(u.createSelector([Aa,(t,e)=>e],(t,e)=>{const i=new Set(e);return p(t.filter(({uuid:n})=>i.has(n)))})),vM=m(u.createSelector([Aa,(t,e)=>e],(t,e)=>p(t.filter(i=>i.organization===e)))),Vb=fa.reducer,Ia={outboxReducer:Df,authReducer:ou},EM=u.combineReducers(Ia),Bb={...Ia,assetReducer:Wc,assetAttachmentReducer:Ic,assetCommentReducer:Bc,assetTypeReducer:Yd,assetTypeAttachmentReducer:ar,issueReducer:ip,issueAttachmentReducer:fm,issueTypeReducer:IS,issueTypeAttachmentReducer:fp,organizationReducer:wf,projectReducer:YA,projectAttachmentReducer:dA,projectCommentReducer:PA,projectAccessReducer:Wf,organizationAccessReducer:of,projectFileReducer:CA,procedureTypeReducer:eb,procedureInitiativeReducer:dI,procedureReducer:TI,procedureTypeFieldsReducer:mF,procedureFieldValuesReducer:UF,procedureTypeAttachmentReducer:$P,procedureTypeFieldsAttachmentReducer:xP,procedureFieldValuesAttachmentReducer:_F,procedureStepFieldsAttachmentReducer:sO,procedureStepFieldsReducer:yO,procedureStepFieldValuesAttachmentReducer:RO,procedureStepFieldValuesReducer:$O,procedureStepFieldValuesReviewReducer:tP,procedureStepAssigneeReducer:LI,procedureStepCommentReducer:tT,procedureStepDefaultAssigneeReducer:yT,procedureStepDefaultReviewerReducer:wT,procedureStepEventReducer:NT,procedureStepReviewerReducer:yP,procedureStepReducer:gP,rehydratedReducer:nb,formReducer:_o,formRevisionReducer:eo,formRevisionAttachmentReducer:Ll,formSubscriberReducer:po,formSubmissionFieldValuesAttachmentReducer:$o,formSubmissionFieldValuesReducer:Qo,formSubmissionCommentReducer:oh,formSubmissionReducer:Rh,formIdentifierReducer:ml,formIdentifierValueReducer:Ml,userReducer:XS,emailDomainsReducer:xu,documentsReducer:ju,documentAttachmentReducer:_u,teamReducer:Vb,agentsReducer:cc,issueCommentReducer:Gm,issueCommentAttachmentReducer:Em,issueUpdateReducer:kS,geoImageReducer:kh,issueAssociationReducer:nm,issueTypeFieldsReducer:ay,issueTypeFieldValuesReducer:Hp,issueTypeFieldsAttachmentReducer:Ep,issueTypeFieldValuesAttachmentReducer:Ay,issueTypeIdentifierReducer:Vy,issueTypeIdentifierValueReducer:Wy,issueTypePriorityReducer:aS,issueTypeStatusReducer:VS,assetTypeFieldsReducer:Br,assetTypeFieldValuesReducer:cd,assetTypeFieldsAttachmentReducer:Ir,assetTypeFieldValuesAttachmentReducer:Wr,assetTypeIdentifierReducer:Td,assetTypeIdentifierValueReducer:zd,assetTypeStatusReducer:du,teamMembershipReducer:yb},VM=u.combineReducers(Bb),zb=1e4,Ta=[400,409,403,404,405,500],U=1e4,Db={};class jb{client;pageSize=zb;constructor(e){Db[this.constructor.name]=this,this.client=e}async performRequest(e,i){return this.client.performRequest(this.host,e,this,i)}async enqueueRequest(e){return this.client.enqueueRequest(e,this.host,this.constructor.name)}async performPagination(e,i){return this.client.performPagination(this.host,e,this.pageSize,this,i)}dispatch(e){this.client.store.dispatch(e)}select(e){return e(this.client.store.getState())}}const BM=t=>{if(t)throw t;const e=Rt();e?e.dispatch({type:"rehydrated/setRehydrated",payload:!0}):console.error("Client store not set")},Cb=(t,e,i)=>{const n=It();return n?(n.addRequest(e),n.getQueue()):(console.warn("Outbox coordinator not set; cannot enqueue request yet."),[])},qb=(t,e,i)=>{const n=It();if(!n)return console.warn("Outbox coordinator not set; cannot dequeue request yet."),[];const c=e.meta.offlineAction.payload.uuid;return n.remove(c),n.getQueue()};async function zM(t,e){if(!e.payload)throw new Error("Received empty payload");return Qb(e)}const DM={...Ma,effect:zM,discard:Ub,returnPromises:!0,persistCallback:BM,retry:qM,persistOptions:{storage:n_},queue:{...Ma.queue,enqueue:Cb,dequeue:qb,peek:(...t)=>CM(...t)}},jM=i_.offline(DM);async function $b(t,e,i){if(e.store.getState().outboxReducer.deletedRequests.includes(t.payload.uuid))throw new Error("Request was marked for deletion");const a=Db[t.meta.offline.effect.serviceName];if(!a)throw new Error(`Service ${t.meta.offline.effect.serviceName} not found`);return Fa(t.meta.offline.effect.BASE_URL,t.meta.offline.effect.request,e,a,i)}function Ub(t,e,i=0){if(console.debug("Considering discarding request due to error:",t,`(${typeof t})`,`
2
+ Url:`,e.payload.url,`
3
+ Retries:`,i),!(t instanceof Error))throw console.error("ENCOUNTERED NON-ERROR ERROR:",t,"(throwing immediately, which may lead to unexpected behavior)"),t;const n=Rt(),c=n.getState().outboxReducer.deletedRequests,d=e.payload.uuid;function r(){n.dispatch(Bf(d));const o=It();if(!o)throw new Error("Outbox coordinator not set");o.remove(e.payload.uuid);const S=e.meta.offline.rollback;throw S&&(console.warn("Rolling back request due to SDK error:",e),n.dispatch(S)),t}if(t instanceof C&&t.options.discard&&(console.debug("Discarding request due to explicit discard:",e.payload.url),r()),c.includes(d)&&(console.debug("Discarding request due to deletion:",e.payload.url),r()),t instanceof C){const o=t.status||t.response?.status;if(o||console.warn("Error has no status code:",t),t.options.discard!==!1&&o!==void 0&&Ta.includes(o)){console.warn("Discarding request due to error:",t,`
4
+ Action:`,e);const S=It();if(!S)throw new Error("Outbox coordinator not set");S.remove(e.payload.uuid),t.options.discard=!0,r()}}console.debug("Registering a retry for request:",e.payload.uuid);const h=It();if(!h)throw new Error("Outbox coordinator not set");return h.registerRetry(e.payload.uuid),!1}function CM(t,e,i){return It()?.peek()}function qM(t,e){return Rt().dispatch(zf(new Date().getTime())),va}const gt="An unknown error occurred",$M=500,Lb=["non_field_errors","detail"];function UM(t,e){let i;if(t?.body)if(typeof t.body=="object"){const n=t.body;if(typeof n.error=="string")i=n.error;else if(typeof n.message=="string")i=n.message;else try{i=Object.entries(n).map(([a,c])=>typeof c=="string"?Lb.includes(a)?c:`${a}: ${c}`:Array.isArray(c)?Lb.includes(a)?c.join(`
5
+ `):c.map(d=>`${a}: ${d}`).join(`
6
+ `):`${a}: ${JSON.stringify(c)}`).join(`
7
+ `)}catch(a){console.error("Failed to extract error message from response body",a)}}else typeof t.body=="string"&&(i=t.body);else t?.text?i=t.text:e instanceof Error&&(i=e.message);return!i||i.length>$M?gt:i}class C extends Error{status;response;message;options;constructor(e){super(gt);const{response:i,innerError:n}=e;this.message=e.message??UM(i,n)??gt,this.status=i?.status??0,this.response=i,this.options=e}}function kb(t){function e(i){return typeof i=="object"&&i!==null&&["ok","redirect","clientError","serverError","error"].every(a=>a in i)}if(e(t))return t;if(typeof t=="object"&&t!==null){const i=t;if(e(i.response))return i.response;if(i.response&&e(i.response.response))return i.response.response}}class Nb extends jb{constructor(e){super(e)}applyAuth(e){const i=this.getAuthHeader();return i?e.set("Authorization",i):e}isAuthFailure(e){return e.status===401}}class ft extends jb{auth;constructor(e,i){super(e),this.auth=i}}class LM extends ft{async startConversation(e,i){return this.enqueueRequest({description:"Start agent conversation",method:l.POST,url:"/agents/prompt/",payload:{prompt:e,active_project:i},blockers:["prompt"],blocks:["prompt"]}).then(n=>(this.dispatch(ic(n)),n))}async continueConversation(e,i,n){return this.enqueueRequest({description:"Prompt agent",method:l.POST,url:"/agents/prompt/",payload:{prompt:e,active_project:n},blockers:["prompt"],blocks:["prompt"],queryParams:{conversation_id:i}}).then(a=>{this.dispatch(ac(a))})}async fetchDetails(e){return this.enqueueRequest({description:"Get agent conversation",method:l.GET,url:`/agents/conversations/${e}/`,blockers:["conversation"],blocks:["conversation"]}).then(i=>{this.dispatch(nc(i))})}async rate(e,i){return this.enqueueRequest({description:"Rate agent response",method:l.PUT,url:`/agents/responses/${e}/rate/`,payload:{rating:i},blockers:["rate"],blocks:["rate"]})}async list(e,i){return this.performRequest({method:l.GET,url:"/agents/conversations/",...e},i)}async refreshStore(e,i){const n=await this.list({queryParams:{project:e}},i);return this.dispatch(sc(n)),n}}function k(t,e){const i=[];let n=0;const a=t.length;for(;n<a;)i.push(t.slice(n,n+=e));return i}function y(t,e,i){const n=`${e}${i?"s":""}`;switch(t){case l.GET:return`Get ${n}`;case l.POST:return`Create ${n}`;case l.PATCH:return`Update ${n}`;case l.PUT:return`Update ${n}`;case l.DELETE:return`Delete ${n}`}}function M(t){const e={...t};for(const i of[...Ea,"created_by"])i in e&&delete e[i];return e}class w extends ft{async get(e,i){return this.performRequest({url:`${this.url}/${e}/`,method:l.GET},i)}async list(e,i){return this.performRequest({url:`${this.url}/`,method:l.GET,...e},i)}async listPaginated(e,i){return this.performPagination({url:`${this.url}/`,method:l.GET,...e},i)}}class B extends w{async getPresignedUrl(e,i){const{selectById:n}=this.selectors,a=this.select(n(e));if(!a)throw new Error(`Could not find ${this.name}: ${e} in store.`);if(a.object_url)return a.object_url;const c=await this.client.files.getPresignedUrlFromCache(a.file_sha1);if(c)return c;const d=await this.performRequest({url:`${this.url}/${e}/presigned-url/`,method:l.GET},i);return await this.client.files.cachePresignedUrl(a.file_sha1,d),d}async add(e){const{addOne:i,updateOne:n,deleteOne:a}=this.actions;let c,d=null,r=null;if("file"in e){const{file:f,...b}=e;d=await this.client.files.getFilePayload(f),r=URL.createObjectURL(f),c={...b,file_sha1:d.sha1,file_type:d.file_type,file_name:f.name,file_extension:d.extension,object_url:r}}else c=e;const h=this.buildModel(c),o=this.buildPayload(h);this.dispatch(i(h));const S=this.enqueueRequest({description:y(l.POST,this.name,!1),method:l.POST,url:`${this.url}/`,payload:{...o,...d?{file:d}:{}},blockers:this.getBlockers(h),blocks:this.getBlocks(h)});S.then(({instance:f})=>{this.dispatch(n(f))}).catch(()=>{this.dispatch(a(this.getId(h)))}).finally(()=>{r&&URL.revokeObjectURL(r)});const A=S.then(({instance:f})=>f),I=S.then(async({instance:f,presigned_url:b})=>{try{return b&&await this.client.files.processPresignedUrl(f.file_sha1,b),f.file_sha1}catch(g){throw console.error("Upload to s3 using presigned url failed.",g),g}});return[h,A,I]}async bulkAdd(e,i){const{addMany:n,updateMany:a,deleteMany:c}=this.actions,d=new Date().toISOString(),r=[],h=new Set,o=k(e,Math.min(i??e.length,U)),S=[];for(const b of o){const g=[],_={},E=[],z=[];for(const dt of b){let qt;if("file"in dt){const{file:$t,...pw}=dt,wt=await this.client.files.getFilePayload($t);wt.sha1 in _||(_[wt.sha1]=wt);const e_=URL.createObjectURL($t);h.add(e_),qt={...pw,file_sha1:wt.sha1,file_type:wt.file_type,file_name:$t.name,file_extension:wt.extension,object_url:e_}}else qt=dt;const q=this.buildModel(qt);r.push(q);const ms=this.buildBulkPayload(q);g.push(ms);const D=this.getBlockers(q);E.push(...D);const L=this.getBlocks(q);z.push(...L)}const v={payloads:g,submittedAt:d,files:Object.values(_),blockers:E,blocks:z};S.push(v)}this.dispatch(n(r));const A=S.map(b=>{const{submittedAt:g,files:_,payloads:E,blocks:z,blockers:v}=b;return this.enqueueRequest({description:y(l.POST,this.name,!0),method:l.POST,url:`${this.url}/bulk/`,payload:{submitted_at:g,files:_,payloads:E},blockers:v,blocks:z})});Promise.all(A).then(b=>{const g=b.flatMap(_=>_.instances);this.dispatch(a(g))}).catch(b=>{throw this.dispatch(c(r.map(g=>this.getId(g)))),console.error(b),b}).finally(()=>{for(const b of h)URL.revokeObjectURL(b)});const I=Promise.all(A).then(b=>b.flatMap(({instances:g})=>g)),f=Promise.all(A).then(async b=>{const g=[];for(const{presigned_urls:_}of b){const E=this.client.files.processPresignedUrls(_);for(const[z,v]of Object.entries(E))try{await v,g.push(z)}catch(dt){throw console.error("Upload to s3 using presigned url failed.",dt),dt}}return g});return[r,I,f]}async delete(e){const{addOne:i,deleteOne:n}=this.actions,{selectById:a}=this.selectors,c=this.select(a(e));if(!c)throw new Error(`Attempting to delete ${this.name} with pk ${e} that does not exist in the store`);this.dispatch(n(this.getId(c)));try{return await this.enqueueRequest({description:y(l.DELETE,this.name,!1),method:l.DELETE,url:`${this.url}/${e}/`,blockers:[e],blocks:[]})}catch(d){throw this.dispatch(i(c)),d}}}class kM extends B{name="Asset attachment";url="/asset-attachments";actions={addOne:uc,addMany:Ps,setOne:lc,setMany:oc,updateOne:hc,updateMany:mc,deleteOne:pc,deleteMany:Fs,initialize:dc};selectors={selectById:Sc,selectByIds:fc};getId(e){return e.uuid}getBlockers(e){const{asset:i}=e;return[i]}getBlocks(e){return[e.uuid]}buildModel(e){const i=this.select(a=>a.userReducer.currentUser?.id??null),n=new Date().toISOString();return O({...e,created_by:i,submitted_at:n})}buildPayload(e){return{uuid:e.uuid,submitted_at:e.submitted_at,file_name:e.file_name,file_sha1:e.file_sha1,file_extension:e.file_extension,asset:e.asset}}buildBulkPayload(e){return{uuid:e.uuid,file_name:e.file_name,file_sha1:e.file_sha1,file_extension:e.file_extension,asset:e.asset}}async refreshStore(e,i){const{initialize:n}=this.actions,c=(await this.listPaginated({queryParams:{asset__project:e}},i)).flat();return this.dispatch(n(c)),c}}class NM extends w{name="Asset Comment";url="/asset-comments";actions={addOne:Pc,addMany:kt,setOne:Fc,setMany:bc,updateOne:_c,updateMany:gc,deleteOne:Mc,deleteMany:Nt,initialize:Oc};selectors={selectById:wc,selectByIds:vc};add(e){const{addOne:i,updateOne:n,deleteOne:a}=this.actions,c=O({...e,created_by:this.select(r=>r.userReducer.currentUser?.id??null),submitted_at:new Date().toISOString()});this.dispatch(i(c));const d=this.enqueueRequest({description:y(l.POST,this.name,!1),method:l.POST,url:`${this.url}/`,payload:M(c),blockers:[c.asset],blocks:[c.uuid]});return d.then(r=>{this.dispatch(n(r))}).catch(()=>{this.dispatch(a(c.uuid))}),[c,d]}update(e){const{updateOne:i}=this.actions,{selectById:n}=this.selectors,a=this.select(n(e.uuid));if(!a)throw new Error(`Asset comment with uuid ${e.uuid} not found in store`);const c={...a,...e};this.dispatch(i(c));const d=this.enqueueRequest({description:y(l.PATCH,this.name,!1),method:l.PATCH,url:`${this.url}/${e.uuid}/`,payload:e,blockers:[e.uuid],blocks:[e.uuid]});return d.then(r=>{this.dispatch(i(r))}).catch(()=>{this.dispatch(i(a))}),[c,d]}async delete(e){const{deleteOne:i,addOne:n}=this.actions,{selectById:a}=this.selectors,c=this.select(a(e));if(!c)throw new Error(`Asset comment with uuid ${e} not found in store`);this.dispatch(i(e));try{return await this.enqueueRequest({description:y(l.DELETE,this.name,!1),method:l.DELETE,url:`${this.url}/${e}/`,blockers:[e],blocks:[]})}catch(d){throw this.dispatch(n(c)),d}}async refreshStore(e,i){const{initialize:n}=this.actions,c=(await this.listPaginated({queryParams:{asset__project:e}},i)).flat();return this.dispatch(n(c)),c}}class GM extends w{url="/assets";name="Asset";actions={addOne:jc,addMany:Ms,setOne:Uc,setMany:Lc,updateOne:Cc,updateMany:qc,deleteOne:$c,deleteMany:Rs,initialize:Dc};selectors={selectById:Gc,selectByIds:Hc};add(e){const{addOne:i,updateOne:n,deleteOne:a}=this.actions,c=this.select(o=>o.userReducer.currentUser?.id??null),d=new Date().toISOString(),r=O({...e,created_by:c,submitted_at:d});this.dispatch(i(r));const h=this.enqueueRequest({description:y(l.POST,this.name,!1),method:l.POST,url:`${this.url}/`,payload:M(r),blockers:[r.asset_type],blocks:[r.uuid]});return h.then(o=>{this.dispatch(n(o))}).catch(()=>{this.dispatch(a(r.uuid))}),[r,h]}update(e){const{updateOne:i}=this.actions,{selectById:n}=this.selectors,a=this.select(n(e.uuid));if(!a)throw new Error(`No asset with uuid ${e.uuid} found in the store`);const c={...a,...e};this.dispatch(i(c));const d=this.enqueueRequest({description:y(l.PATCH,this.name,!1),method:l.PATCH,url:`${this.url}/${e.uuid}/`,payload:e,blockers:[e.uuid],blocks:[e.uuid]});return d.then(r=>{this.dispatch(i(r))}).catch(()=>{this.dispatch(i(a))}),[c,d]}async delete(e){const{addOne:i,deleteOne:n}=this.actions,{selectById:a}=this.selectors,c=this.select(a(e));if(!c)throw new Error(`No asset with uuid ${e} found in the store`);const d=this.select(Ac(e)),r=this.select(Ec(e)),h=this.select(sm(e)),o=this.select(_I(e)),S=this.select(gh(e));this.dispatch(n(e)),this.dispatch(Fs(R(d))),this.dispatch(Nt(R(r))),this.dispatch(Pt(R(h))),this.dispatch(_t(R(o))),this.dispatch(mt(R(S)));try{return await this.enqueueRequest({description:y(l.DELETE,this.name,!1),method:l.DELETE,url:`${this.url}/${e}/`,blockers:[e],blocks:[]})}catch(A){throw this.dispatch(i(c)),this.dispatch(Ps(d)),this.dispatch(kt(r)),this.dispatch(Ot(h)),this.dispatch(bt(o)),this.dispatch(ht(S)),A}}bulkAdd(e,i){const{addMany:n}=this.actions,a=new Date().toISOString(),c=k(e,Math.min(i??e.length,U)).map(h=>{const o=h.map(S=>O(S));return{batchId:ut.v4(),payload:{submitted_at:a,assets:o}}}),d=[];let r=null;for(const h of c){const{batchId:o,payload:S}=h,A=S.assets.map(({uuid:_})=>_),I=S.assets.map(({asset_type:_})=>_),f=S.assets.map(({project:_})=>_),b=S.assets.map(({status:_})=>_),g=this.enqueueRequest({description:y(l.POST,this.name,!0),method:l.POST,url:`${this.url}/bulk/`,payload:S,blockers:(r?[r]:[]).concat(I).concat(f).concat(b),blocks:[o].concat(A)});r=h.batchId,d.push(g)}return Promise.all(d).then(h=>{const o=h.flat();this.dispatch(n(o))}),d}bulkUpdate(e,i){const{updateMany:n}=this.actions,{selectByIds:a}=this.selectors,c=R(e);if(new Set(c).size!==e.length)throw new Error("payloads contains duplicate uuids.");const d=this.select(a(c));if(c.length!=d.length)throw new Error(`Attempting to bulk update ${c.length-d.length} assets that dont exist in the store`);const r=d.toSorted(lt),h=e.toSorted(lt),o=[];for(let f=0;f<c.length;f++)o.push({...r[f],...h[f]});this.dispatch(n(o));const S=k(e,Math.min(i??e.length,U)),A=[];let I=null;for(const f of S){const b=ut.v4(),g=R(f),_=f.map(({status:z})=>z).filter(Boolean),E=this.enqueueRequest({description:y(l.PATCH,this.name,!0),method:l.PATCH,url:`${this.url}/bulk/`,payload:{payloads:f},blockers:(I?[I]:[]).concat(g).concat(_),blocks:[b].concat(g)});A.push(E),I=b}return Promise.all(A).then(f=>{this.dispatch(n(f.flat()))}).catch(()=>{this.dispatch(n(d))}),[o,A]}async bulkDelete(e){const{addMany:i,deleteMany:n}=this.actions,{selectByIds:a}=this.selectors,c=this.select(a(e)),d=this.select(Vc(e)),r=this.select(im(e)),h=this.select(gI(e)),o=this.select(Mh(e));this.dispatch(n(e)),this.dispatch(Nt(R(d))),this.dispatch(Pt(R(r))),this.dispatch(_t(R(h))),this.dispatch(mt(R(o)));try{return await this.enqueueRequest({description:y(l.DELETE,this.name,!0),method:l.DELETE,url:`${this.url}/bulk/`,payload:{uuids:e},blockers:e,blocks:[]})}catch(S){throw this.dispatch(i(c)),this.dispatch(kt(d)),this.dispatch(Ot(r)),this.dispatch(bt(h)),this.dispatch(ht(o)),S}}async refreshStore(e,i){const{initialize:n}=this.actions,c=(await this.listPaginated({queryParams:{project:e}},i)).flat();return this.dispatch(n(c)),c}}class HM extends B{name="Asset Type Attachment";url="/asset-type-attachments";actions={addOne:Zc,addMany:vs,setOne:Jc,setMany:Xc,updateOne:Qc,updateMany:xc,deleteOne:er,deleteMany:Es,initialize:Yc};selectors={selectById:sr,selectByIds:ir};getId(e){return e.uuid}getBlockers(e){return[e.asset_type]}getBlocks(e){return[e.uuid]}buildModel(e){const i=this.select(a=>a.userReducer.currentUser?.id??null),n=new Date().toISOString();return O({...e,created_by:i,submitted_at:n})}buildPayload(e){return{uuid:e.uuid,submitted_at:e.submitted_at,file_name:e.file_name,file_sha1:e.file_sha1,file_extension:e.file_extension,asset_type:e.asset_type}}buildBulkPayload(e){return{uuid:e.uuid,file_name:e.file_name,file_sha1:e.file_sha1,file_extension:e.file_extension,asset_type:e.asset_type}}async refreshStore(e,i){const{initialize:n}=this.actions,a=await this.list({queryParams:{asset_type__organization:e}},i);return this.dispatch(n(a)),a}}class WM extends B{name="Asset Type Fields Attachment";url="/asset-type-fields-attachments";actions={addOne:dr,addMany:ur,setOne:lr,setMany:or,updateOne:hr,updateMany:mr,deleteOne:pr,deleteMany:yr,initialize:rr};selectors={selectById:fr,selectByIds:Ar};getId(e){return e.uuid}getBlockers(e){return[e.fields_revision]}getBlocks(e){return[e.uuid]}buildModel(e){const i=this.select(a=>a.userReducer.currentUser?.id??null),n=new Date().toISOString();return O({...e,created_by:i,submitted_at:n})}buildPayload(e){const{uuid:i,field_identifier:n,fields_revision:a,file_sha1:c,file_name:d,file_extension:r}=e;return{uuid:i,submitted_at:e.submitted_at,field_identifier:n,fields_revision:a,file_sha1:c,file_name:d,file_extension:r}}buildBulkPayload(e){const{uuid:i,field_identifier:n,fields_revision:a,file_sha1:c,file_name:d,file_extension:r}=e;return{uuid:i,field_identifier:n,fields_revision:a,file_sha1:c,file_name:d,file_extension:r}}async refreshStore(e,i){const{initialize:n}=this.actions,a=await this.list({queryParams:{fields_revision__asset_type__organization:e}},i);return this.dispatch(n(a)),a}}class KM extends w{name="Asset Type Fields";url="/asset-type-fields";actions={addOne:Pr,addMany:Fr,setOne:br,setMany:_r,updateOne:gr,updateMany:Mr,deleteOne:Rr,deleteMany:wr,initialize:Or};selectors={selectById:Er,selectByIds:Vr};add(e){const{addOne:i,updateOne:n,deleteOne:a}=this.actions,c=this.select(o=>o.userReducer.currentUser?.id??null),d=new Date().toISOString(),r=O({...e,created_by:c,submitted_at:d});this.dispatch(i(r));const h=this.enqueueRequest({description:y(l.POST,this.name,!1),method:l.POST,url:`${this.url}/`,payload:M(r),blockers:[r.asset_type],blocks:[r.uuid]});return h.then(o=>{this.dispatch(n(o))}).catch(()=>{this.dispatch(a(r.uuid))}),[r,h]}async refreshStore(e,i){const{initialize:n}=this.actions,a=await this.list({queryParams:{asset_type__organization:e}},i);return this.dispatch(n(a)),a}}class YM extends B{name="Asset Type Field Values Attachment";url="/asset-type-field-values-attachments";actions={addOne:jr,addMany:Cs,setOne:Cr,setMany:qr,updateOne:$r,updateMany:Ur,deleteOne:Lr,deleteMany:qs,initialize:Dr};selectors={selectById:Nr,selectByIds:Gr};getId(e){return e.uuid}getBlockers(e){return[e.field_values]}getBlocks(e){return[e.uuid]}buildModel(e){const i=this.select(a=>a.userReducer.currentUser?.id??null),n=new Date().toISOString();return O({...e,created_by:i,submitted_at:n})}buildPayload(e){const{uuid:i,field_identifier:n,field_values:a,file_sha1:c,file_name:d,file_extension:r}=e;return{uuid:i,submitted_at:e.submitted_at,field_identifier:n,field_values:a,file_sha1:c,file_name:d,file_extension:r}}buildBulkPayload(e){const{uuid:i,field_identifier:n,field_values:a,file_sha1:c,file_name:d,file_extension:r}=e;return{uuid:i,field_identifier:n,field_values:a,file_sha1:c,file_name:d,file_extension:r}}async bulkDelete(e){const{deleteMany:i,addMany:n}=this.actions,{selectByIds:a}=this.selectors,c=this.select(a(e));this.dispatch(i(e));try{return await this.enqueueRequest({description:y(l.DELETE,this.name,!0),method:l.DELETE,url:`${this.url}/bulk/`,payload:{uuids:e},blockers:e,blocks:[]})}catch(d){throw this.dispatch(n(c)),d}}async refreshStore(e,i){const{initialize:n}=this.actions,c=(await this.listPaginated({queryParams:{field_values__asset__project:e,latest:!0}},i)).flat();return this.dispatch(n(c)),c}}class ZM extends w{name="Asset Type Field Values";url="/asset-type-field-values";actions={addOne:Zr,addMany:Jr,setOne:Xr,setMany:Qr,updateOne:xr,updateMany:ed,deleteOne:td,deleteMany:sd,initialize:Yr};selectors={selectById:nd,selectByIds:ad};add(e){const{addOne:i,updateOne:n,deleteOne:a}=this.actions,c=this.select(o=>o.userReducer.currentUser?.id??null),d=new Date().toISOString(),r=O({...e,created_by:c,submitted_at:d}),h=this.enqueueRequest({description:y(l.POST,this.name,!1),method:l.POST,url:`${this.url}/`,payload:M(r),blockers:[e.asset,e.fields_revision],blocks:[r.uuid]});return this.dispatch(i(r)),h.then(o=>{this.dispatch(n(o))}).catch(()=>{this.dispatch(a(r.uuid))}),[r,h]}bulkAdd(e,i){const{payloads:n,values:a}=e,{addMany:c,updateMany:d,deleteMany:r}=this.actions,h=new Date().toISOString(),o=[],S=k(n,Math.min(i??n.length,U)),A=[];for(const f of S){const b=[];for(const g of f){const _=O({...g,values:g.values,created_by:this.select(E=>E.userReducer.currentUser?.id??null),submitted_at:h});o.push(_),b.push({uuid:_.uuid,asset:g.asset,fields_revision:g.fields_revision,published_at:g.published_at,values:_.values})}A.push({submitted_at:h,values:a,field_values:b})}this.dispatch(c(o));const I=[];for(const f of A){const{field_values:b}=f,g=b.map(({asset:v})=>v),_=b.map(({fields_revision:v})=>v),E=b.map(({uuid:v})=>v),z=this.enqueueRequest({description:y(l.POST,this.name,!0),method:l.POST,url:`${this.url}/bulk/`,payload:f,blockers:g.concat(_),blocks:E});I.push(z)}return Promise.all(I).then(f=>{this.dispatch(d(f.flat()))}).catch(()=>{this.dispatch(r(R(o)))}),[o,I]}update(e){const{updateOne:i}=this.actions,{selectById:n}=this.selectors,a=this.select(n(e.uuid));if(!a)throw new Error(`Expected AssetTypeFieldValues with uuid ${e.uuid} to exist`);const c={...a,...e};this.dispatch(i(c));const d=this.enqueueRequest({description:y(l.PATCH,this.name,!1),method:l.PATCH,url:`${this.url}/${e.uuid}/`,payload:e,blockers:[c.uuid,c.fields_revision,c.asset],blocks:[c.uuid]});return d.then(r=>{this.dispatch(i(r))}).catch(()=>{this.dispatch(i(a))}),[c,d]}async delete(e){const{deleteOne:i,addOne:n}=this.actions,{selectById:a}=this.selectors,c=this.select(a(e));if(!c)throw new Error(`Expected submission with uuid ${e} to exist`);const d=this.select(Hr(e));this.dispatch(i(e)),this.dispatch(qs(R(d)));try{return await this.enqueueRequest({description:y(l.DELETE,this.name,!1),method:l.DELETE,url:`${this.url}/${e}/`,blockers:[e],blocks:[]})}catch(r){throw this.dispatch(n(c)),this.dispatch(Cs(d)),r}}async refreshStore(e,i){const{initialize:n}=this.actions,c=(await this.listPaginated({queryParams:{asset__project:e,latest:!0}},i)).flat();return this.dispatch(n(c)),c}}class JM extends w{name="Asset Type Identifier";url="/asset-type-identifiers";actions={addOne:ud,addMany:ld,setOne:od,setMany:hd,updateOne:md,updateMany:pd,deleteOne:yd,deleteMany:Sd,initialize:dd};selectors={selectById:Ad,selectByIds:Id};add(e){const{addOne:i,updateOne:n,deleteOne:a}=this.actions,c=this.select(o=>o.userReducer.currentUser?.id??null),d=new Date().toISOString(),r=O({...e,created_by:c,submitted_at:d});this.dispatch(i(r));const h=this.enqueueRequest({description:y(l.POST,this.name,!1),method:l.POST,url:`${this.url}/`,payload:M(r),blockers:[r.asset_type],blocks:[r.uuid]});return h.then(o=>{this.dispatch(n(o))}).catch(()=>{this.dispatch(a(r.uuid))}),[r,h]}update(e){const{updateOne:i}=this.actions,{selectById:n}=this.selectors,a=this.select(n(e.uuid));if(!a)throw new Error(`Expected asset type identifier with uuid ${e.uuid} to exist`);const c={...a,...e};this.dispatch(i(c));const d=this.enqueueRequest({description:y(l.PATCH,this.name,!1),method:l.PATCH,url:`${this.url}/${e.uuid}/`,payload:e,blockers:[e.uuid],blocks:[e.uuid]});return d.then(r=>{this.dispatch(i(r))}).catch(()=>{this.dispatch(i(a))}),[c,d]}async delete(e){const{deleteOne:i,addOne:n}=this.actions,{selectById:a}=this.selectors,c=this.select(a(e));if(!c)throw new Error(`Expected asset type identifier with uuid ${e} to exist`);this.dispatch(i(e));try{return await this.enqueueRequest({description:y(l.DELETE,this.name,!1),method:l.DELETE,url:`${this.url}/${e}/`,blockers:[e],blocks:[]})}catch(d){throw this.dispatch(n(c)),d}}async refreshStore(e,i){const{initialize:n}=this.actions,a=await this.list({queryParams:{asset_type__organization:e}},i);return this.dispatch(n(a)),a}}class XM extends w{name="Asset Type Identifier Value";url="/asset-type-identifier-values";actions={addOne:Fd,addMany:bd,setOne:_d,setMany:gd,updateOne:Md,updateMany:Rd,deleteOne:wd,deleteMany:vd,initialize:Pd};selectors={selectById:Vd,selectByIds:Bd};add(e){const{addOne:i,updateOne:n,deleteOne:a}=this.actions,c=this.select(o=>o.userReducer.currentUser?.id??null),d=new Date().toISOString(),r=O({...e,created_by:c,submitted_at:d});this.dispatch(i(r));const h=this.enqueueRequest({description:y(l.POST,this.name,!1),method:l.POST,url:`${this.url}/`,payload:M(r),blockers:[e.asset,e.asset_type_identifier],blocks:[r.uuid]});return h.then(o=>{this.dispatch(n(o))}).catch(()=>{this.dispatch(a(r.uuid))}),[r,h]}bulkAdd(e,i){const{addMany:n,updateMany:a,deleteMany:c}=this.actions,d=new Date().toISOString(),r=this.select(f=>f.userReducer.currentUser?.id??null),h=k(e,Math.min(i??e.length,U)),o=[],S=[];for(const f of h){const b=[],g=[],_=[];for(const z of f){const v=O({...z,submitted_at:d,created_by:r});S.push(v);const dt={uuid:v.uuid,asset:v.asset,asset_type_identifier:v.asset_type_identifier,value:v.value};b.push(dt),g.push(v.asset),g.push(v.asset_type_identifier),_.push(v.uuid)}const E={payloads:b,submitted_at:d,blockers:g,blocks:_};o.push(E)}this.dispatch(n(S));const A=o.map(f=>{const{payloads:b,submitted_at:g,blockers:_,blocks:E}=f;return this.enqueueRequest({description:y(l.POST,this.name,!0),method:l.POST,url:`${this.url}/bulk/`,payload:{submitted_at:g,payloads:b},blockers:_,blocks:E})});Promise.all(A).then(f=>{this.dispatch(a(f.flat()))}).catch(f=>{throw this.dispatch(c(R(S))),f});const I=Promise.all(A).then(f=>f.flat());return[S,I]}async delete(e){const{deleteOne:i,addOne:n}=this.actions,{selectById:a}=this.selectors,c=this.select(a(e));if(!c)throw new Error(`Expected asset type identifier value with uuid ${e} to exist`);this.dispatch(i(e));try{return await this.enqueueRequest({description:y(l.DELETE,this.name,!1),method:l.DELETE,url:`${this.url}/${e}/`,blockers:[e],blocks:[]})}catch(d){throw this.dispatch(n(c)),d}}async refreshStore(e,i){const{initialize:n}=this.actions,c=(await this.listPaginated({queryParams:{asset__project:e,latest:!0}},i)).flat();return this.dispatch(n(c)),c}}class QM extends w{name="Asset Type";url="/asset-types";actions={addOne:$d,addMany:Ud,setOne:Cd,setMany:qd,updateOne:Ld,updateMany:kd,deleteOne:Nd,deleteMany:Gd,initialize:jd};selectors={selectById:Wd,selectByIds:Kd};add(e){const{addOne:i,updateOne:n,deleteOne:a}=this.actions,c=this.select(o=>o.userReducer.currentUser?.id??null),d=new Date().toISOString(),r=O({...e,created_by:c,submitted_at:d});this.dispatch(i(r));const h=this.enqueueRequest({description:y(l.POST,this.name,!1),method:l.POST,url:`${this.url}/`,payload:M(r),blockers:[],blocks:[r.uuid]});return h.then(o=>{this.dispatch(n(o))}).catch(()=>{this.dispatch(a(r.uuid))}),[r,h]}update(e){const{updateOne:i}=this.actions,{selectById:n}=this.selectors,a=this.select(n(e.uuid));if(!a)throw new Error(`Expected asset type with uuid ${e.uuid} to exist`);const c={...a,...e};this.dispatch(i(c));const d=this.enqueueRequest({description:y(l.PATCH,this.name,!1),method:l.PATCH,url:`${this.url}/${e.uuid}/`,payload:e,blockers:[a.uuid],blocks:[a.uuid]});return d.then(r=>{this.dispatch(i(r))}).catch(()=>{this.dispatch(i(a))}),[c,d]}async delete(e){const{deleteOne:i,addOne:n}=this.actions,{selectById:a}=this.selectors,c=this.select(a(e));if(!c)throw new Error(`Expected asset type with uuid ${e} to exist`);const d=this.select(Nc(e)),r=this.select(nr(e));this.dispatch(i(e)),this.dispatch(Rs(R(d))),this.dispatch(Es(R(r)));try{return await this.enqueueRequest({description:y(l.DELETE,this.name,!1),method:l.DELETE,url:`${this.url}/${e}/`,blockers:[e],blocks:[]})}catch(h){throw this.dispatch(n(c)),this.dispatch(Ms(d)),this.dispatch(vs(r)),h}}async refreshStore(e,i){const{initialize:n}=this.actions,a=await this.list({queryParams:{organization:e}},i);return this.dispatch(n(a)),a}}class xM extends w{name="Asset Type Status";url="/asset-type-statuses";actions={addOne:Xd,addMany:Qd,setOne:xd,setMany:eu,updateOne:tu,updateMany:su,deleteOne:iu,deleteMany:nu,initialize:Jd};selectors={selectById:cu,selectByIds:ru};add(e){const{addOne:i,updateOne:n,deleteOne:a}=this.actions,c=this.select(o=>o.userReducer.currentUser?.id??null),d=new Date().toISOString(),r=O({...e,created_by:c,submitted_at:d});this.dispatch(i(r));const h=this.enqueueRequest({description:y(l.POST,this.name,!1),method:l.POST,url:`${this.url}/`,payload:M(r),blockers:[e.asset_type],blocks:[r.uuid]});return h.then(o=>{this.dispatch(n(o))}).catch(()=>{this.dispatch(a(r.uuid))}),[r,h]}update(e){const{updateOne:i}=this.actions,{selectById:n}=this.selectors,a=this.select(n(e.uuid));if(!a)throw new Error(`Expected an existing asset type status with uuid ${e.uuid}`);const c={...a,...e};this.dispatch(i(c));const d=this.enqueueRequest({description:y(l.PATCH,this.name,!1),method:l.PATCH,url:`${this.url}/${e.uuid}/`,payload:e,blockers:[e.uuid],blocks:[e.uuid]});return d.then(r=>{this.dispatch(i(r))}).catch(()=>{this.dispatch(i(a))}),[c,d]}async delete(e){const{deleteOne:i,addOne:n}=this.actions,{selectById:a}=this.selectors,c=this.select(a(e));if(!c)throw new Error(`No asset type status with uuid ${e} found in the store`);this.dispatch(i(e));try{return await this.enqueueRequest({description:y(l.DELETE,this.name,!1),method:l.DELETE,url:`${this.url}/${e}/`,blockers:[e],blocks:[]})}catch(d){throw this.dispatch(n(c)),d}}async refreshStore(e,i){const{initialize:n}=this.actions,a=await this.list({queryParams:{asset_type__organization:e}},i);return this.dispatch(n(a)),a}}class eR extends B{name="Document Attachment";url="/document-attachments";actions={addOne:pu,addMany:yu,setOne:Su,setMany:fu,updateOne:Au,updateMany:Iu,deleteOne:Tu,deleteMany:Ou,initialize:mu};selectors={selectById:Fu,selectByIds:bu};getId(e){return e.uuid}getBlockers(e){return[e.document]}getBlocks(e){return[e.uuid]}buildModel(e){const i=this.select(a=>a.userReducer.currentUser?.id??null),n=new Date().toISOString();return O({...e,created_by:i,submitted_at:n})}buildPayload(e){return{uuid:e.uuid,submitted_at:e.submitted_at,file_name:e.file_name,file_sha1:e.file_sha1,file_extension:e.file_extension,document:e.document}}buildBulkPayload(e){return{uuid:e.uuid,file_name:e.file_name,file_sha1:e.file_sha1,file_extension:e.file_extension,document:e.document}}async bulkAdd(e,i){const[n,a,c]=await super.bulkAdd(e,i),d={};for(const{file_sha1:r,uuid:h}of n)r in d||(d[r]=[]),d[r].push(h);return c.then(r=>{const h=r.flatMap(o=>d[o]??[]);for(const o of h)this.makeReadable(o)}),[n,a,c]}makeReadable(e){this.enqueueRequest({description:"Add attachment to AI assistant",method:l.PATCH,url:`${this.url}/${e}/`,payload:{readable_to_assistant:!0},blockers:["index-document-attachment",e],blocks:["index-document-attachment"]})}async refreshStore(e,i){const{initialize:n}=this.actions,a=this.list({queryParams:{document__project__organization:e}},i),c=this.list({queryParams:{document__organization:e}},i),r=(await Promise.all([a,c])).flat();return this.dispatch(n(r)),r}}class tR extends w{name="Document";url="/documents";actions={addOne:Ru,addMany:wu,setOne:vu,setMany:Eu,updateOne:Vu,updateMany:Bu,deleteOne:zu,deleteMany:Du,initialize:Mu};selectors={selectById:Cu,selectByIds:qu};add(e){const{addOne:i,deleteOne:n,updateOne:a}=this.actions,c=this.select(o=>o.userReducer.currentUser?.id??null),d=new Date().toISOString(),r=O({...e,created_by:c,submitted_at:d});this.dispatch(i(r));const h=this.enqueueRequest({description:y(l.POST,this.name,!1),method:l.POST,url:`${this.url}/`,payload:M(r),blockers:r.parent_document?[r.parent_document]:[],blocks:[r.uuid]});return h.then(o=>{this.dispatch(a(o))}).catch(()=>{this.dispatch(n(r.uuid))}),[r,h]}update(e){const{updateOne:i}=this.actions,{selectById:n}=this.selectors,a=this.select(n(e.uuid));if(!a)throw new Error(`attempting to update a document with uuid ${e.uuid} that does not exist in store.documents`);const c={...a,...e};this.dispatch(i(c));const d=this.enqueueRequest({description:y(l.PATCH,this.name,!1),method:l.PATCH,url:`${this.url}/${e.uuid}/`,payload:e,blockers:[e.uuid],blocks:[e.uuid]});return d.then(r=>{this.dispatch(i(r))}).catch(()=>{this.dispatch(i(a))}),[c,d]}async delete(e){const{deleteOne:i,addOne:n,addMany:a,deleteMany:c}=this.actions,{selectById:d}=this.selectors,r=this.select(d(e));if(!r)throw new Error(`attempting to delete a document with uuid ${e} that does not exist in store.documents`);const h=this.select($u(e));this.dispatch(i(e)),this.dispatch(c(R(h)));try{return await this.enqueueRequest({description:y(l.DELETE,this.name,!1),method:l.DELETE,url:`${this.url}/${e}/`,blockers:[e],blocks:[]})}catch(o){throw this.dispatch(n(r)),this.dispatch(a(h)),o}}async refreshStore(e,i){const{initialize:n}=this.actions,a=this.list({queryParams:{project__organization:e}},i),c=this.list({queryParams:{organization:e}},i),r=(await Promise.all([a,c])).flat();return this.dispatch(n(r)),r}}class At extends ft{async get(e,i){return this.performRequest({url:`${this.url}/${e}/`,method:l.GET},i)}async list(e,i){return this.performRequest({url:`${this.url}/`,method:l.GET,...e},i)}async listPaginated(e,i){return this.performPagination({url:`${this.url}/`,method:l.GET,...e},i)}}class sR extends At{name="Email Domains";url="/organization-email-domains";actions={addOne:ku,addMany:Nu,setOne:Gu,setMany:Hu,updateOne:Wu,updateMany:Ku,deleteOne:Yu,deleteMany:Zu,initialize:Lu};selectors={selectById:Xu,selectByIds:Qu};async add(e,i){return this.enqueueRequest({description:y(l.POST,this.name,!1),method:l.POST,url:`${this.url}/`,payload:{email:i,organization:e},blockers:[e,"create-org"],blocks:[]})}async delete(e){const{deleteOne:i,addOne:n}=this.actions;this.dispatch(i(e.uuid));try{return await this.enqueueRequest({description:y(l.DELETE,this.name,!1),method:l.DELETE,url:`${this.url}/${e.uuid}/`,blockers:[e.domain],blocks:[]})}catch(a){throw this.dispatch(n(e)),a}}async refreshStore(e,i){const{initialize:n}=this.actions,a=await this.list({queryParams:{organization:e}},i);return this.dispatch(n(a)),a}}class iR extends ft{async getVerificationCode(e){return this.enqueueRequest({description:"Get verification code",method:l.GET,url:`/verification/email-verification/${e}/`,isAuthNeeded:!1,blockers:[],blocks:[]})}validateVerificationCode(e,i=void 0){return this.enqueueRequest({description:"Validate verification code",method:l.POST,url:`/verification/email-verification/${e}/`,isAuthNeeded:!1,payload:i,blockers:[],blocks:[]})}}const Ct={},Oa=new Set,Pa=new Set;class nR extends ft{host=void 0;dbPromise=a_.openDB("fileCache",2,{upgrade(e,i){i<1&&e.createObjectStore("files"),i<2&&e.createObjectStore("presignedUrls")}});async getDB(){return await this.dbPromise}async cacheFile(e){if(!e.name)throw new Error(`Cant add a file without a name to cache: ${e.name}`);if(!e.type)throw new Error(`Cant add a file without a type to cache: ${e.name}`);if(!e.size)throw new Error(`Cant add an empty file to cache: ${e.name}`);const i=await Lt(e);if(Oa.has(i))return;const n=await this.getDB();!!await n.get("files",i)?console.warn(`Attempting to add a file already cached, ${e.name}`):await n.put("files",e,i),Oa.add(i)}async uncacheFile(e){await(await this.getDB()).delete("files",e),Oa.delete(e)}async getFileFromCache(e){return(await this.getDB()).get("files",e)}async fetchFileFromUrl(e,i,n=i,a){const c=e.split("?")[0]??e,d=await this.getFileFromCache(i);if(d)return d;let r;c in Ct?r=Ct[c]:Na(e)?(r=ka(e,n),Ct[c]=r):(r=this.performRequest({method:l.GET,url:e,isExternalUrl:!0,isResponseBlob:!0,isAuthNeeded:!1},a).then(S=>new File([S],n,{type:S.type})),Ct[c]=r);let h;try{h=await r}catch(S){throw S instanceof C&&delete Ct[c],S}const o=await Lt(h);if(o!==i){const S=`The hash of the file returned from the server (${o}) does not match the
8
+ expected hash (${i}). This can happen if you're using a local development server and the
9
9
  isExternalUrl flag in the request details is set to true, because instead of requesting the local
10
10
  REST API, you will be requesting localhost:80 (where this app runs), resulting in a transformed blob
11
11
  (with an uuid attached) being returned. Alternatively, you may be running with
12
12
  import.meta.env.PROD, which will result in some file requests being treated as
13
- external URLs and therefore not prepended with VITE_API_URL.`;throw new Error(f)}return await this.cacheFile(p),p}processPresignedUrl(e,n){if("warning"in n){if(n.warning==="already_uploaded")return Promise.resolve(void 0);throw console.error(n.warning),new Error(n.warning)}return this.enqueueRequest({url:n.url,description:"Upload file to S3",method:o.POST,isExternalUrl:!0,isAuthNeeded:!1,attachmentHash:e,blockers:[`s3-${n.fields.key}`,"s3-presigned-upload"],blocks:[e,"s3-presigned-upload"],s3url:n})}processPresignedUrls(e){const n={};for(const[a,r]of Object.entries(e))n[a]=this.processPresignedUrl(a,r);return n}async getFilePayload(e){const a={sha1:await Lt(e),file_type:e.type,extension:ja(e),size:e.size};return await this.client.files.cacheFile(e),a}async cachePresignedUrl(e,n){if(Aa.has(e))return;const a=await this.getDB();!!await a.get("presignedUrls",e)?console.warn(`Attempting to add a presigned url already cached, ${n}`):await a.put("presignedUrls",n,e),Aa.add(e)}async uncachePresignedUrl(e){await(await this.getDB()).delete("presignedUrls",e),Aa.delete(e)}async getPresignedUrlFromCache(e){const n=await(await this.getDB()).get("presignedUrls",e);if(!n)return;if(Na(n)){await this.uncachePresignedUrl(e);return}return n}}class kM extends v{constructor(){super(...arguments);h(this,"name","Form Identifier");h(this,"url","/form-identifiers");h(this,"actions",{addOne:Qu,addMany:xu,setOne:el,setMany:tl,updateOne:sl,updateMany:il,deleteOne:nl,deleteMany:al,initialize:Xu});h(this,"selectors",{selectById:rl,selectByIds:dl})}add(e){const{addOne:n,updateOne:a,deleteOne:r}=this.actions,c=this.select(m=>{var f;return((f=m.userReducer.currentUser)==null?void 0:f.id)??null}),u=new Date().toISOString(),d=P({...e,created_by:c,submitted_at:u});this.dispatch(n(d));const p=this.enqueueRequest({description:A(o.POST,this.name,!1),method:o.POST,url:`${this.url}/`,payload:R(d),blockers:[d.form],blocks:[d.uuid]});return p.then(m=>{this.dispatch(a(m))}).catch(()=>{this.dispatch(r(d.uuid))}),[d,p]}update(e){const{updateOne:n}=this.actions,{selectById:a}=this.selectors,r=this.select(a(e.uuid));if(!r)throw new Error(`Expected form identifier with uuid ${e.uuid} to exist`);const c={...r,...e};this.dispatch(n(c));const u=this.enqueueRequest({description:A(o.PATCH,this.name,!1),method:o.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))}),[c,u]}async delete(e){const{deleteOne:n,addOne:a}=this.actions,{selectById:r}=this.selectors,c=this.select(r(e));if(!c)throw new Error(`Expected form identifier with uuid ${e} to exist`);this.dispatch(n(e));try{return await this.enqueueRequest({description:A(o.DELETE,this.name,!1),method:o.DELETE,url:`${this.url}/${e}/`,blockers:[e],blocks:[]})}catch(u){throw this.dispatch(a(c)),u}}async refreshStore(e,n){const{initialize:a}=this.actions,r=await this.list({queryParams:{form__organization:e}},n);return this.dispatch(a(r)),r}}class NM extends v{constructor(){super(...arguments);h(this,"name","Form Identifier Value");h(this,"url","/form-identifier-values");h(this,"actions",{addOne:hl,addMany:ml,setOne:pl,setMany:yl,updateOne:fl,updateMany:Sl,deleteOne:Al,deleteMany:Il,initialize:ol});h(this,"selectors",{selectById:Ol,selectByIds:Pl})}add(e){const{addOne:n,updateOne:a,deleteOne:r}=this.actions,c=this.select(m=>{var f;return((f=m.userReducer.currentUser)==null?void 0:f.id)??null}),u=new Date().toISOString(),d=P({...e,created_by:c,submitted_at:u});this.dispatch(n(d));const p=this.enqueueRequest({description:A(o.POST,this.name,!1),method:o.POST,url:`${this.url}/`,payload:R(d),blockers:[e.form_submission,e.form_identifier],blocks:[d.uuid]});return p.then(m=>{this.dispatch(a(m))}).catch(()=>{this.dispatch(r(d.uuid))}),[d,p]}async delete(e){const{deleteOne:n,addOne:a}=this.actions,{selectById:r}=this.selectors,c=this.select(r(e));if(!c)throw new Error(`Expected form identifier value with uuid ${e} to exist`);this.dispatch(n(e));try{return await this.enqueueRequest({description:A(o.DELETE,this.name,!1),method:o.DELETE,url:`${this.url}/${e}/`,blockers:[e],blocks:[]})}catch(u){throw this.dispatch(a(c)),u}}async refreshStore(e,n){const{initialize:a}=this.actions,c=(await Promise.all([this.listPaginated({queryParams:{latest:!0,form_submission__organization:e}},n),this.listPaginated({queryParams:{latest:!0,form_submission__project__organization:e}},n)])).flatMap(u=>u.flat());return this.dispatch(a(c)),c}}class GM extends j{constructor(){super(...arguments);h(this,"name","Form Revision Attachment");h(this,"url","/form-revision-attachments");h(this,"actions",{addOne:gl,addMany:Ml,setOne:Rl,setMany:wl,updateOne:vl,updateMany:El,deleteOne:Vl,deleteMany:Bl,initialize:_l});h(this,"selectors",{selectById:Dl,selectByIds:jl})}getId(e){return e.uuid}getBlockers(e){return[e.form_revision]}getBlocks(e){return[e.uuid]}buildModel(e){const n=this.select(r=>{var c;return((c=r.userReducer.currentUser)==null?void 0:c.id)??null}),a=new Date().toISOString();return P({...e,created_by:n,submitted_at:a})}buildPayload(e){const{uuid:n,field_identifier:a,form_revision:r,file_sha1:c,file_name:u,file_extension:d}=e;return{uuid:n,submitted_at:e.submitted_at,field_identifier:a,form_revision:r,file_sha1:c,file_name:u,file_extension:d}}buildBulkPayload(e){const{uuid:n,field_identifier:a,form_revision:r,file_sha1:c,file_name:u,file_extension:d}=e;return{uuid:n,field_identifier:a,form_revision:r,file_sha1:c,file_name:u,file_extension:d}}async refreshStore(e,n){const{initialize:a}=this.actions,r=await this.list({queryParams:{form_revision__form__organization:e}},n);return this.dispatch(a(r)),r}}class HM extends v{constructor(){super(...arguments);h(this,"name","Form Revision");h(this,"url","/form-revisions");h(this,"actions",{addOne:Ul,addMany:ni,setOne:Ll,setMany:kl,updateOne:Nl,updateMany:Gl,deleteOne:Hl,deleteMany:ai,initialize:$l});h(this,"selectors",{selectById:Kl,selectByIds:Yl})}add(e){const{addOne:n,updateOne:a,deleteOne:r}=this.actions,c=this.select(m=>{var f;return((f=m.userReducer.currentUser)==null?void 0:f.id)??null}),u=new Date().toISOString(),d=P({...e,created_by:c,submitted_at:u});this.dispatch(n(d));const p=this.enqueueRequest({description:A(o.POST,this.name,!1),method:o.POST,url:`${this.url}/`,payload:R(d),blockers:[e.form],blocks:[d.uuid]});return p.then(m=>{this.dispatch(a(m))}).catch(()=>{this.dispatch(r(d.uuid))}),[d,p]}async refreshStore(e,n){const{initialize:a}=this.actions,r=await this.list({queryParams:{form__organization:e}},n);return this.dispatch(a(r)),r}}class WM extends v{constructor(){super(...arguments);h(this,"name","Form");h(this,"url","/forms");h(this,"actions",{addOne:mo,addMany:po,setOne:yo,setMany:fo,updateOne:So,updateMany:Ao,deleteOne:Io,deleteMany:To,initialize:ho});h(this,"selectors",{selectById:Fo,selectByIds:bo})}add(e){const{addOne:n,updateOne:a,deleteOne:r}=this.actions,c=new Date().toISOString(),u=this.select(m=>{var f;return((f=m.userReducer.currentUser)==null?void 0:f.id)??null}),d=P({...e,submitted_at:c,created_by:u});this.dispatch(n(d));const p=this.enqueueRequest({description:A(o.POST,this.name,!1),method:o.POST,url:`${this.url}/`,payload:R(d),blockers:[],blocks:[d.uuid]});return p.then(m=>{this.dispatch(a(m))}).catch(()=>{this.dispatch(r(d.uuid))}),[d,p]}update(e){const{updateOne:n}=this.actions,{selectById:a}=this.selectors,r=this.select(a(e.uuid));if(!r)throw new Error(`Expected form with uuid ${e.uuid} to exist`);const c={...r,...e};this.dispatch(n(c));const u=this.enqueueRequest({description:A(o.PATCH,this.name,!1),method:o.PATCH,url:`${this.url}/${e.uuid}/`,payload:e,blockers:[r.uuid],blocks:[r.uuid]});return u.then(d=>{this.dispatch(n(d))}).catch(()=>{this.dispatch(n(r))}),[c,u]}async delete(e){const{deleteOne:n,addOne:a}=this.actions,{selectById:r}=this.selectors,c=this.select(r(e));if(!c)throw new Error("Expected form to exist");const u=this.select(ch(e)),d=this.select(Zl(e)),p=this.select(uo(e));this.dispatch(n(e)),this.dispatch(pt(w(u))),this.dispatch(ai(w(d))),this.dispatch(di(w(p)));try{return await this.enqueueRequest({description:A(o.DELETE,this.name,!1),method:o.DELETE,url:`${this.url}/${e}/`,blockers:[e],blocks:[]})}catch(m){throw this.dispatch(a(c)),this.dispatch(ni(d)),this.dispatch(mt(u)),this.dispatch(ri(p)),m}}async refreshStore(e,n){const{initialize:a}=this.actions,r=await this.list({queryParams:{organization:e}},n);return this.dispatch(a(r)),r}}class KM extends v{constructor(){super(...arguments);h(this,"name","Form Subscriber");h(this,"url","/form-subscribers");h(this,"actions",{addOne:xl,addMany:ri,setOne:eo,setMany:to,updateOne:so,updateMany:io,deleteOne:no,deleteMany:di,initialize:Ql});h(this,"selectors",{selectById:co,selectByIds:ro})}add(e){const{addOne:n,updateOne:a,deleteOne:r}=this.actions,c=new Date().toISOString(),u=this.select(m=>{var f;return((f=m.userReducer.currentUser)==null?void 0:f.id)??null}),d=P({...e,created_by:u,submitted_at:c});this.dispatch(n(d));const p=this.enqueueRequest({description:A(o.POST,this.name,!1),method:o.POST,url:`${this.url}/`,payload:R(d),blockers:[d.form],blocks:[d.uuid]});return p.then(m=>{this.dispatch(a(m))}).catch(()=>{this.dispatch(r(d.uuid))}),[d,p]}async delete(e){const{deleteOne:n,addOne:a}=this.actions,{selectById:r}=this.selectors,c=this.select(r(e));if(!c)throw new Error(`Expected form subscriber with uuid ${e} to exist`);this.dispatch(n(e));try{return await this.enqueueRequest({description:A(o.DELETE,this.name,!1),method:o.DELETE,url:`${this.url}/${e}/`,blockers:[e],blocks:[]})}catch(u){throw this.dispatch(a(c)),u}}async refreshStore(e,n){const{initialize:a}=this.actions,r=await this.list({queryParams:{form__organization:e}},n);return this.dispatch(a(r)),r}}class YM extends j{constructor(){super(...arguments);h(this,"name","Form Submission Field Values Attachment");h(this,"url","/form-submission-field-values-attachments");h(this,"actions",{addOne:Mo,addMany:hi,setOne:Ro,setMany:wo,updateOne:vo,updateMany:Eo,deleteOne:Vo,deleteMany:mi,initialize:go});h(this,"selectors",{selectById:Bo,selectByIds:fi})}getId(e){return e.uuid}getBlockers(e){return[e.field_values]}getBlocks(e){return[e.uuid]}buildModel(e){const n=this.select(r=>{var c;return((c=r.userReducer.currentUser)==null?void 0:c.id)??null}),a=new Date().toISOString();return P({...e,created_by:n,submitted_at:a})}buildPayload(e){const{uuid:n,field_identifier:a,field_values:r,file_sha1:c,file_name:u,file_extension:d}=e;return{uuid:n,submitted_at:e.submitted_at,field_identifier:a,field_values:r,file_sha1:c,file_name:u,file_extension:d}}buildBulkPayload(e){const{uuid:n,field_identifier:a,field_values:r,file_sha1:c,file_name:u,file_extension:d}=e;return{uuid:n,field_identifier:a,field_values:r,file_sha1:c,file_name:u,file_extension:d}}async bulkDelete(e){const{deleteMany:n,addMany:a}=this.actions,r=this.select(fi(e));this.dispatch(n(e));try{return await this.enqueueRequest({description:A(o.DELETE,this.name,!0),method:o.DELETE,url:`${this.url}/bulk/`,payload:{uuids:e},blockers:e,blocks:[]})}catch(c){throw this.dispatch(a(r)),c}}async refreshStore(e,n){const{initialize:a}=this.actions,c=(await Promise.all([this.listPaginated({queryParams:{latest:!0,field_values__form_submission__organization:e}},n),this.listPaginated({queryParams:{latest:!0,field_values__form_submission__project__organization:e}},n)])).flatMap(u=>u.flat());return this.dispatch(a(c)),c}}class ZM extends v{constructor(){super(...arguments);h(this,"name","Form Submission Field Values");h(this,"url","/form-submission-field-values");h(this,"actions",{addOne:Co,addMany:Ai,setOne:$o,setMany:Uo,updateOne:Lo,updateMany:ko,deleteOne:No,deleteMany:Ii,initialize:qo});h(this,"selectors",{selectById:Ho,selectByIds:Wo})}add(e){const{addOne:n,updateOne:a,deleteOne:r}=this.actions,c=this.select(m=>{var f;return((f=m.userReducer.currentUser)==null?void 0:f.id)??null}),u=new Date().toISOString(),d=P({...e,created_by:c,submitted_at:u});this.dispatch(n(d));const p=this.enqueueRequest({description:A(o.POST,this.name,!1),method:o.POST,url:`${this.url}/`,payload:R(d),blockers:[d.form_submission],blocks:[d.uuid]});return p.then(m=>{this.dispatch(a(m))}).catch(()=>{this.dispatch(r(d.uuid))}),[d,p]}async refreshStore(e,n){const{initialize:a}=this.actions,c=(await Promise.all([this.listPaginated({queryParams:{latest:!0,form_submission__organization:e}},n),this.listPaginated({queryParams:{latest:!0,form_submission__project__organization:e}},n)])).flatMap(u=>u.flat());return this.dispatch(a(c)),c}}class JM extends v{constructor(){super(...arguments);h(this,"name","Form Submission");h(this,"url","/form-submissions");h(this,"actions",{addOne:xo,addMany:mt,setOne:Xo,setMany:Qo,updateOne:eh,updateMany:th,deleteOne:sh,deleteMany:pt,initialize:Jo});h(this,"selectors",{selectById:nh,selectByIds:ah})}add(e){const{addOne:n,updateOne:a,deleteOne:r}=this.actions,c=this.select(m=>{var f;return((f=m.userReducer.currentUser)==null?void 0:f.id)??null}),u=new Date().toISOString(),d=P({...e,created_by:c,submitted_at:u}),p=this.enqueueRequest({description:A(o.POST,this.name,!1),method:o.POST,url:`${this.url}/`,payload:R(d),blockers:[e.form_revision],blocks:[d.uuid]});return this.dispatch(n(d)),p.then(m=>{this.dispatch(a(m))}).catch(()=>{this.dispatch(r(d.uuid))}),[d,p]}update(e){const{updateOne:n}=this.actions,{selectById:a}=this.selectors,r=this.select(a(e.uuid));if(!r)throw new Error(`Expected submission with uuid ${e.uuid} to exist`);const c={...r,...e};this.dispatch(n(c));const u=this.enqueueRequest({description:A(o.PATCH,this.name,!1),method:o.PATCH,url:`${this.url}/${c.uuid}/`,payload:e,blockers:[c.uuid],blocks:[c.uuid]});return u.then(d=>{this.dispatch(n(d))}).catch(()=>{this.dispatch(n(r))}),[c,u]}async delete(e){const{deleteOne:n,addOne:a}=this.actions,{selectById:r}=this.selectors,c=this.select(r(e));if(!c)throw new Error(`Expected submission with uuid ${e} to exist`);const u=this.select(Ko(e)),d=u.flatMap(({uuid:p})=>this.select(zo(p)));this.dispatch(n(e)),this.dispatch(Ii(w(u))),this.dispatch(mi(w(d)));try{return await this.enqueueRequest({description:A(o.DELETE,this.name,!1),method:o.DELETE,url:`${this.url}/${e}/`,blockers:[e],blocks:[]})}catch(p){throw this.dispatch(a(c)),this.dispatch(Ai(u)),this.dispatch(hi(d)),p}}async refreshStore(e,n){const{initialize:a}=this.actions,c=(await Promise.all([this.listPaginated({queryParams:{organization:e}},n),this.listPaginated({queryParams:{project__organization:e}},n)])).flatMap(u=>u.flat());return this.dispatch(a(c)),c}}class XM extends j{constructor(){super(...arguments);h(this,"name","Geo Image");h(this,"url","/geo-images");h(this,"actions",{addOne:fh,addMany:Sh,setOne:ph,setMany:yh,updateOne:Ah,updateMany:Ih,deleteOne:Th,deleteMany:Oh,initialize:mh});h(this,"selectors",{selectById:Fh,selectByIds:bh})}getId(e){return e.uuid}getBlockers(e){return[e.project]}getBlocks(e){return[e.uuid]}buildModel(e){const n=this.select(r=>{var c;return((c=r.userReducer.currentUser)==null?void 0:c.id)??null}),a=new Date().toISOString();return P({...e,created_by:n,submitted_at:a})}buildPayload(e){return{uuid:e.uuid,submitted_at:e.submitted_at,file_sha1:e.file_sha1,file_name:e.file_name,file_extension:e.file_extension,title:e.title,description:e.description,geo_marker:e.geo_marker,direction:e.direction,original_date:e.original_date,project:e.project}}buildBulkPayload(e){return{uuid:e.uuid,file_sha1:e.file_sha1,file_name:e.file_name,file_extension:e.file_extension,title:e.title,description:e.description,geo_marker:e.geo_marker,direction:e.direction,original_date:e.original_date,project:e.project}}update(e){const{updateOne:n}=this.actions,{selectById:a}=this.selectors,r=this.select(a(e.uuid));if(!r)throw new Error(`Geo image with uuid ${e.uuid} does not exist in the store`);const c={...r,...e};this.dispatch(n(c));const u=this.enqueueRequest({description:A(o.PATCH,this.name,!1),method:o.PATCH,url:`${this.url}/${e.uuid}/`,payload:e,blocks:[e.uuid],blockers:[e.uuid]});return u.then(d=>{this.dispatch(n(d))}).catch(()=>{this.dispatch(n(r))}),[c,u]}async refreshStore(e,n){const{initialize:a}=this.actions,r=await this.list({queryParams:{project:e}},n);return this.dispatch(a(r)),r}}class QM extends v{constructor(){super(...arguments);h(this,"name","Issue Association");h(this,"url","/issue-associations");h(this,"actions",{addOne:Vh,addMany:Ft,setOne:wh,setMany:Rh,updateOne:vh,updateMany:Eh,deleteOne:Bh,deleteMany:bt,initialize:Mh});h(this,"selectors",{selectById:Dh,selectByIds:jh})}add(e){const{addOne:n,updateOne:a,deleteOne:r}=this.actions,c=new Date().toISOString(),u=this.select(m=>{var f;return((f=m.userReducer.currentUser)==null?void 0:f.id)??null}),d=P({...e,submitted_at:c,created_by:u});this.dispatch(n(d));const p=this.enqueueRequest({description:A(o.POST,this.name,!1),method:o.POST,url:`${this.url}/`,payload:R(d),blockers:[e.issue,e.asset],blocks:[d.uuid]});return p.then(m=>{this.dispatch(a(m))}).catch(()=>{this.dispatch(r(d.uuid))}),[d,p]}bulkAdd(e){const{addMany:n,deleteMany:a,updateMany:r}=this.actions,c=this.select(m=>{var f;return((f=m.userReducer.currentUser)==null?void 0:f.id)??null}),u=new Date().toISOString(),d=e.map(m=>P({...m,submitted_at:u,created_by:c}));this.dispatch(n(d));const p=this.enqueueRequest({description:A(o.POST,this.name,!0),method:o.POST,url:`${this.url}/bulk/`,payload:{payloads:d.map(m=>R(m)),submitted_at:u},blockers:d.flatMap(m=>[m.issue,m.asset]),blocks:w(d)});return p.then(m=>{this.dispatch(r(m))}).catch(()=>{this.dispatch(a(w(d)))}),[d,p]}async delete(e){const{deleteOne:n,addOne:a}=this.actions,{selectById:r}=this.selectors,c=this.select(r(e));if(!c)throw new Error(`Issue association with uuid ${e} not found in store.`);this.dispatch(n(e));try{return await this.enqueueRequest({description:A(o.DELETE,this.name,!1),method:o.DELETE,url:`${this.url}/${e}/`,blockers:[e],blocks:[]})}catch(u){throw this.dispatch(a(c)),u}}async refreshStore(e,n){const{initialize:a}=this.actions,c=(await this.listPaginated({queryParams:{issue__project:e}},n)).flat();return this.dispatch(a(c)),c}}class xM extends j{constructor(){super(...arguments);h(this,"name","Issue Attachment");h(this,"url","/issue-attachments");h(this,"actions",{addOne:Gh,addMany:gi,setOne:Hh,setMany:Wh,updateOne:Kh,updateMany:Yh,deleteOne:Zh,deleteMany:Mi,initialize:Nh});h(this,"selectors",{selectById:Qh,selectByIds:xh})}getId(e){return e.uuid}getBlockers(e){return[e.issue]}getBlocks(e){return[e.uuid]}buildModel(e){const n=this.select(r=>{var c;return((c=r.userReducer.currentUser)==null?void 0:c.id)??null}),a=new Date().toISOString();return P({...e,created_by:n,submitted_at:a})}buildPayload(e){return{uuid:e.uuid,submitted_at:e.submitted_at,file_name:e.file_name,file_sha1:e.file_sha1,file_extension:e.file_extension,issue:e.issue}}buildBulkPayload(e){return{uuid:e.uuid,file_name:e.file_name,file_sha1:e.file_sha1,file_extension:e.file_extension,issue:e.issue}}async refreshStore(e,n){const{initialize:a}=this.actions,c=(await this.listPaginated({queryParams:{issue__project:e}},n)).flat();return this.dispatch(a(c)),c}}class eR extends j{constructor(){super(...arguments);h(this,"name","Issue Comment Attachment");h(this,"url","/issue-comment-attachments");h(this,"actions",{addOne:im,addMany:nm,setOne:am,setMany:cm,updateOne:rm,updateMany:dm,deleteOne:um,deleteMany:lm,initialize:sm});h(this,"selectors",{selectById:hm,selectByIds:mm})}getId(e){return e.uuid}getBlockers(e){return[e.issue_comment]}getBlocks(e){return[e.uuid]}buildModel(e){const n=this.select(r=>{var c;return((c=r.userReducer.currentUser)==null?void 0:c.id)??null}),a=new Date().toISOString();return P({...e,created_by:n,submitted_at:a})}buildPayload(e){return{uuid:e.uuid,submitted_at:e.submitted_at,file_name:e.file_name,file_sha1:e.file_sha1,file_extension:e.file_extension,issue_comment:e.issue_comment}}buildBulkPayload(e){return{uuid:e.uuid,file_name:e.file_name,file_sha1:e.file_sha1,file_extension:e.file_extension,issue_comment:e.issue_comment}}async refreshStore(e,n){const{initialize:a}=this.actions,c=(await this.listPaginated({queryParams:{issue_comment__issue__project:e}},n)).flat();return this.dispatch(a(c)),c}}class tR extends v{constructor(){super(...arguments);h(this,"name","Issue Comment");h(this,"url","/issue-comments");h(this,"actions",{addOne:Sm,addMany:Am,setOne:Im,setMany:Tm,updateOne:Om,updateMany:Pm,deleteOne:Fm,deleteMany:bm,initialize:fm});h(this,"selectors",{selectById:_m,selectByIds:gm})}add(e){const{addOne:n,updateOne:a,deleteOne:r}=this.actions,c=P({...e,created_by:this.select(d=>d.userReducer.currentUser.id),submitted_at:new Date().toISOString()});this.dispatch(n(c));const u=this.enqueueRequest({description:A(o.POST,this.name,!1),method:o.POST,url:`${this.url}/`,payload:R(c),blockers:[e.issue],blocks:[c.uuid]});return u.then(d=>{this.dispatch(a(d))}).catch(()=>{this.dispatch(r(c.uuid))}),[c,u]}update(e){const{updateOne:n}=this.actions,{selectById:a}=this.selectors,r=this.select(a(e.uuid));if(!r)throw new Error(`Comment with uuid ${e.uuid} not found in store`);const c={...r,...e};this.dispatch(n(c));const u=this.enqueueRequest({description:A(o.PATCH,this.name,!1),method:o.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))}),[c,u]}async delete(e){const{deleteOne:n,addOne:a}=this.actions,{selectById:r}=this.selectors,c=this.select(r(e));if(!c)throw new Error(`Comment with uuid ${e} not found in store`);this.dispatch(n(e));try{return await this.enqueueRequest({description:A(o.DELETE,this.name,!1),method:o.DELETE,url:`${this.url}/${e}/`,blockers:[e],blocks:[]})}catch(u){throw this.dispatch(a(c)),u}}async refreshStore(e,n){const{initialize:a}=this.actions,c=(await this.listPaginated({queryParams:{issue__project:e}},n)).flat();return this.dispatch(a(c)),c}}class sR extends v{constructor(){super(...arguments);h(this,"name","Issue");h(this,"url","/issues");h(this,"actions",{addOne:vm,addMany:zi,setOne:Em,setMany:Vm,updateOne:Bm,updateMany:zm,deleteOne:Dm,deleteMany:Di,initialize:wm});h(this,"selectors",{selectById:qm,selectByIds:Cm})}add(e){const{addOne:n,updateOne:a,deleteOne:r}=this.actions,c=new Date().toISOString(),u=this.select(m=>{var f;return((f=m.userReducer.currentUser)==null?void 0:f.id)??null}),d=P({...e,submitted_at:c,created_by:u});this.dispatch(n(d));const p=this.enqueueRequest({description:A(o.POST,this.name,!1),method:o.POST,url:`${this.url}/`,payload:R(d),blockers:[d.project,d.issue_type,d.status,d.priority],blocks:[d.uuid]});return p.then(m=>{this.dispatch(a(m))}).catch(m=>{throw this.dispatch(r(d.uuid)),m}),[d,p]}update(e){const{updateOne:n}=this.actions,{selectById:a}=this.selectors,r=this.select(a(e.uuid));if(!r)throw new Error(`Attempting to update an issue with uuid ${e.uuid} that doesn't exist in the store`);const c={...r,...e};this.dispatch(n(c));const u={};for(const m of[$.TITLE,$.DESCRIPTION,$.STATUS,$.PRIORITY,$.ASSIGNED_TO,$.DUE_DATE])if(m in e&&e[m]!==r[m])switch(m){case $.PRIORITY:{const f=e[m],T=this.select(Xi(f));if(!T)throw new Error(`Trying to update issue type priority with ${f} which does not exist in store`);u[m]={name:T.name,color:T.color,uuid:T.uuid};break}case $.DUE_DATE:u[m]=e.due_date;break;case $.DESCRIPTION:u[m]=e.description??"";break;case $.TITLE:u[m]=e.title??"";break;case $.STATUS:{const f=e[m],T=this.select(sn(f));if(!T)throw new Error(`Trying to update issue type status with ${f} which does not exist in store`);u[m]={name:T.name,color:T.color,uuid:T.uuid};break}case $.ASSIGNED_TO:{const f=e[m];if(f===null)u[m]=null;else{const T=this.select(ns(f));if(!T)throw new Error(`Trying to update assigned to with ${f} which does not exist in store.`);u[m]={full_name:T.username,id:T.id}}break}}const d=P({created_by:this.select(m=>{var f;return((f=m.userReducer.currentUser)==null?void 0:f.id)??null}),submitted_at:new Date().toISOString(),issue:r.uuid,changes:u});this.dispatch(an(d));const p=this.enqueueRequest({description:A(o.PATCH,this.name,!1),method:o.PATCH,url:`${this.url}/${e.uuid}/`,payload:e,blockers:[e.uuid],blocks:[e.uuid]});return p.then(m=>{this.dispatch(n(m))}).catch(()=>{this.dispatch(n(r)),this.dispatch(rn(d.uuid))}),[c,p]}bulkUpdate(e,n){const{updateMany:a}=this.actions,{selectByIds:r}=this.selectors,c=w(e);if(new Set(c).size!==e.length)throw new Error("payloads contains duplicate uuids.");const u=this.select(r(c));if(c.length!=u.length)throw new Error(`Attempting to bulk update ${c.length-u.length} issues that dont exist in the store`);const d=u.toSorted(ht),p=e.toSorted(ht),m=[];for(let I=0;I<c.length;I++)m.push({...d[I],...p[I]});this.dispatch(a(m));const f=W(e,Math.min(n??e.length,H)),T=[];let _=null;for(const I of f){const M=ot.v4(),g=w(I),E=I.map(({status:z})=>z).filter(Boolean),V=I.map(({priority:z})=>z).filter(Boolean),D=this.enqueueRequest({description:A(o.PATCH,this.name,!0),method:o.PATCH,url:`${this.url}/bulk/`,payload:{payloads:I},blockers:(_?[_]:[]).concat(g).concat(E).concat(V),blocks:[M].concat(g)});T.push(D),_=M}return Promise.all(T).then(I=>{this.dispatch(a(I.flat()))}).catch(()=>{this.dispatch(a(u))}),[m,T]}async delete(e){const{deleteOne:n,addOne:a}=this.actions,{selectById:r}=this.selectors,c=this.select(r(e));if(!c)throw new Error(`No issue with uuid ${e} found in the store`);const u=this.select(Ch(e)),d=this.select(Xh(e)),p=this.select(_f(e)),m=this.select(rh(e));this.dispatch(n(e)),this.dispatch(Mi(w(d))),this.dispatch(dn(w(p))),this.dispatch(bt(w(u))),this.dispatch(pt(w(m)));try{return await this.enqueueRequest({description:A(o.DELETE,this.name,!1),method:o.DELETE,url:`${this.url}/${e}/`,blockers:[e],blocks:[]})}catch(f){throw this.dispatch(a(c)),this.dispatch(gi(d)),this.dispatch(cn(p)),this.dispatch(Ft(u)),this.dispatch(mt(m)),f}}async bulkDelete(e){const{addMany:n,deleteMany:a}=this.actions,{selectByIds:r}=this.selectors,c=this.select(r(e)),u=this.select(qh(e)),d=this.select(dh(e));this.dispatch(a(e)),this.dispatch(bt(w(u))),this.dispatch(pt(w(d)));try{return await this.enqueueRequest({description:A(o.DELETE,this.name,!0),method:o.DELETE,url:`${this.url}/bulk/`,payload:{uuids:e},blockers:e,blocks:[]})}catch(p){throw this.dispatch(n(c)),this.dispatch(Ft(u)),this.dispatch(mt(d)),p}}async refreshStore(e,n){const{initialize:a}=this.actions,c=(await this.listPaginated({queryParams:{project:e}},n)).flat();return this.dispatch(a(c)),c}}class iR extends j{constructor(){super(...arguments);h(this,"name","Issue Type Attachment");h(this,"url","/issue-type-attachments");h(this,"actions",{addOne:Nm,addMany:Gm,setOne:Hm,setMany:Wm,updateOne:Km,updateMany:Ym,deleteOne:Zm,deleteMany:Jm,initialize:km});h(this,"selectors",{selectById:Qm,selectByIds:xm})}getId(e){return e.uuid}getBlockers(e){return[e.issue_type]}getBlocks(e){return[e.uuid]}buildModel(e){const n=this.select(r=>{var c;return((c=r.userReducer.currentUser)==null?void 0:c.id)??null}),a=new Date().toISOString();return P({...e,created_by:n,submitted_at:a})}buildPayload(e){return{uuid:e.uuid,submitted_at:e.submitted_at,file_name:e.file_name,file_sha1:e.file_sha1,file_extension:e.file_extension,issue_type:e.issue_type}}buildBulkPayload(e){return{uuid:e.uuid,file_name:e.file_name,file_sha1:e.file_sha1,file_extension:e.file_extension,issue_type:e.issue_type}}async refreshStore(e,n){const{initialize:a}=this.actions,r=await this.list({queryParams:{issue_type__organization:e}},n);return this.dispatch(a(r)),r}}class nR extends j{constructor(){super(...arguments);h(this,"name","Issue Type Fields Attachment");h(this,"url","/issue-type-fields-attachments");h(this,"actions",{addOne:ip,addMany:np,setOne:ap,setMany:cp,updateOne:rp,updateMany:dp,deleteOne:up,deleteMany:lp,initialize:sp});h(this,"selectors",{selectById:hp,selectByIds:mp})}getId(e){return e.uuid}getBlockers(e){return[e.fields_revision]}getBlocks(e){return[e.uuid]}buildModel(e){const n=this.select(r=>{var c;return((c=r.userReducer.currentUser)==null?void 0:c.id)??null}),a=new Date().toISOString();return P({...e,created_by:n,submitted_at:a})}buildPayload(e){const{uuid:n,field_identifier:a,fields_revision:r,file_sha1:c,file_name:u,file_extension:d}=e;return{uuid:n,submitted_at:e.submitted_at,field_identifier:a,fields_revision:r,file_sha1:c,file_name:u,file_extension:d}}buildBulkPayload(e){const{uuid:n,field_identifier:a,fields_revision:r,file_sha1:c,file_name:u,file_extension:d}=e;return{uuid:n,field_identifier:a,fields_revision:r,file_sha1:c,file_name:u,file_extension:d}}async refreshStore(e,n){const{initialize:a}=this.actions,r=await this.list({queryParams:{fields_revision__issue_type__organization:e}},n);return this.dispatch(a(r)),r}}class aR extends v{constructor(){super(...arguments);h(this,"name","Issue Type Fields");h(this,"url","/issue-type-fields");h(this,"actions",{addOne:Ep,addMany:Vp,setOne:Bp,setMany:zp,updateOne:Dp,updateMany:jp,deleteOne:qp,deleteMany:Cp,initialize:vp});h(this,"selectors",{selectById:Up,selectByIds:Lp})}add(e){const{addOne:n,updateOne:a,deleteOne:r}=this.actions,c=this.select(m=>{var f;return((f=m.userReducer.currentUser)==null?void 0:f.id)??null}),u=new Date().toISOString(),d=P({...e,created_by:c,submitted_at:u});this.dispatch(n(d));const p=this.enqueueRequest({description:A(o.POST,this.name,!1),method:o.POST,url:`${this.url}/`,payload:R(d),blockers:[d.issue_type],blocks:[d.uuid]});return p.then(m=>{this.dispatch(a(m))}).catch(m=>{throw this.dispatch(r(d.uuid)),m}),[d,p]}async refreshStore(e,n){const{initialize:a}=this.actions,r=await this.list({queryParams:{issue_type__organization:e}},n);return this.dispatch(a(r)),r}}class cR extends j{constructor(){super(...arguments);h(this,"name","Issue Type Field Values Attachment");h(this,"url","/issue-type-field-values-attachments");h(this,"actions",{addOne:Hp,addMany:Ni,setOne:Wp,setMany:Kp,updateOne:Yp,updateMany:Zp,deleteOne:Jp,deleteMany:Gi,initialize:Gp});h(this,"selectors",{selectById:Qp,selectByIds:xp})}getId(e){return e.uuid}getBlockers(e){return[e.field_values]}getBlocks(e){return[e.uuid]}buildModel(e){const n=this.select(r=>{var c;return((c=r.userReducer.currentUser)==null?void 0:c.id)??null}),a=new Date().toISOString();return P({...e,created_by:n,submitted_at:a})}buildPayload(e){const{uuid:n,field_identifier:a,field_values:r,file_sha1:c,file_name:u,file_extension:d}=e;return{uuid:n,submitted_at:e.submitted_at,field_identifier:a,field_values:r,file_sha1:c,file_name:u,file_extension:d}}buildBulkPayload(e){const{uuid:n,field_identifier:a,field_values:r,file_sha1:c,file_name:u,file_extension:d}=e;return{uuid:n,field_identifier:a,field_values:r,file_sha1:c,file_name:u,file_extension:d}}async bulkDelete(e){const{deleteMany:n,addMany:a}=this.actions,{selectByIds:r}=this.selectors,c=this.select(r(e));this.dispatch(n(e));try{return await this.enqueueRequest({description:A(o.DELETE,this.name,!0),method:o.DELETE,url:`${this.url}/bulk/`,payload:{uuids:e},blockers:e,blocks:[]})}catch(u){throw this.dispatch(a(c)),u}}async refreshStore(e,n){const{initialize:a}=this.actions,c=(await this.listPaginated({queryParams:{field_values__issue__project:e,latest:!0}},n)).flat();return this.dispatch(a(c)),c}}class rR extends v{constructor(){super(...arguments);h(this,"name","Issue Type Field Values");h(this,"url","/issue-type-field-values");h(this,"actions",{addOne:Sp,addMany:Ap,setOne:Ip,setMany:Tp,updateOne:Op,updateMany:Pp,deleteOne:Fp,deleteMany:bp,initialize:fp});h(this,"selectors",{selectById:gp,selectByIds:Mp})}add(e){const{addOne:n,updateOne:a,deleteOne:r}=this.actions,c=this.select(m=>{var f;return((f=m.userReducer.currentUser)==null?void 0:f.id)??null}),u=new Date().toISOString(),d=P({...e,created_by:c,submitted_at:u}),p=this.enqueueRequest({description:A(o.POST,this.name,!1),method:o.POST,url:`${this.url}/`,payload:R(d),blockers:[e.issue,e.fields_revision],blocks:[d.uuid]});return this.dispatch(n(d)),p.then(m=>{this.dispatch(a(m))}).catch(()=>{this.dispatch(r(d.uuid))}),[d,p]}update(e){const{updateOne:n}=this.actions,{selectById:a}=this.selectors,r=this.select(a(e.uuid));if(!r)throw new Error(`Expected IssueTypeFieldValues with uuid ${e.uuid} to exist`);const c={...r,...e};this.dispatch(n(c));const u=this.enqueueRequest({description:A(o.PATCH,this.name,!1),method:o.PATCH,url:`${this.url}/${e.uuid}/`,payload:e,blockers:[c.uuid,c.fields_revision,c.issue],blocks:[c.uuid]});return u.then(d=>{this.dispatch(n(d))}).catch(()=>{this.dispatch(n(r))}),[c,u]}async delete(e){const{deleteOne:n,addOne:a}=this.actions,{selectById:r}=this.selectors,c=this.select(r(e));if(!c)throw new Error(`Expected submission with uuid ${e} to exist`);const u=this.select(ey(e));this.dispatch(n(e)),this.dispatch(Gi(w(u)));try{return await this.enqueueRequest({description:A(o.DELETE,this.name,!1),method:o.DELETE,url:`${this.url}/${e}/`,blockers:[e],blocks:[]})}catch(d){throw this.dispatch(a(c)),this.dispatch(Ni(u)),d}}async refreshStore(e,n){const{initialize:a}=this.actions,c=(await this.listPaginated({queryParams:{issue__project:e,latest:!0}},n)).flat();return this.dispatch(a(c)),c}}class dR extends v{constructor(){super(...arguments);h(this,"name","Issue Type Identifier");h(this,"url","/issue-type-identifiers");h(this,"actions",{addOne:ny,addMany:ay,setOne:cy,setMany:ry,updateOne:dy,updateMany:uy,deleteOne:ly,deleteMany:oy,initialize:iy});h(this,"selectors",{selectById:my,selectByIds:py})}add(e){const{addOne:n,updateOne:a,deleteOne:r}=this.actions,c=this.select(m=>{var f;return((f=m.userReducer.currentUser)==null?void 0:f.id)??null}),u=new Date().toISOString(),d=P({...e,created_by:c,submitted_at:u});this.dispatch(n(d));const p=this.enqueueRequest({description:A(o.POST,this.name,!1),method:o.POST,url:`${this.url}/`,payload:R(d),blockers:[d.issue_type],blocks:[d.uuid]});return p.then(m=>{this.dispatch(a(m))}).catch(()=>{this.dispatch(r(d.uuid))}),[d,p]}update(e){const{updateOne:n}=this.actions,{selectById:a}=this.selectors,r=this.select(a(e.uuid));if(!r)throw new Error(`Expected issue type identifier with uuid ${e.uuid} to exist`);const c={...r,...e};this.dispatch(n(c));const u=this.enqueueRequest({description:A(o.PATCH,this.name,!1),method:o.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))}),[c,u]}async delete(e){const{deleteOne:n,addOne:a}=this.actions,{selectById:r}=this.selectors,c=this.select(r(e));if(!c)throw new Error(`Expected issue type identifier with uuid ${e} to exist`);this.dispatch(n(e));try{return await this.enqueueRequest({description:A(o.DELETE,this.name,!1),method:o.DELETE,url:`${this.url}/${e}/`,blockers:[e],blocks:[]})}catch(u){throw this.dispatch(a(c)),u}}async refreshStore(e,n){const{initialize:a}=this.actions,r=await this.list({queryParams:{issue_type__organization:e}},n);return this.dispatch(a(r)),r}}class uR extends v{constructor(){super(...arguments);h(this,"name","Issue Type Identifier Value");h(this,"url","/issue-type-identifier-values");h(this,"actions",{addOne:Ay,addMany:Iy,setOne:Ty,setMany:Oy,updateOne:Py,updateMany:Fy,deleteOne:by,deleteMany:_y,initialize:Sy});h(this,"selectors",{selectById:My,selectByIds:Ry})}add(e){const{addOne:n,updateOne:a,deleteOne:r}=this.actions,c=this.select(m=>{var f;return((f=m.userReducer.currentUser)==null?void 0:f.id)??null}),u=new Date().toISOString(),d=P({...e,created_by:c,submitted_at:u});this.dispatch(n(d));const p=this.enqueueRequest({description:A(o.POST,this.name,!1),method:o.POST,url:`${this.url}/`,payload:R(d),blockers:[e.issue,e.issue_type_identifier],blocks:[d.uuid]});return p.then(m=>{this.dispatch(a(m))}).catch(()=>{this.dispatch(r(d.uuid))}),[d,p]}async delete(e){const{deleteOne:n,addOne:a}=this.actions,{selectById:r}=this.selectors,c=this.select(r(e));if(!c)throw new Error(`Expected issue type identifier value with uuid ${e} to exist`);this.dispatch(n(e));try{return await this.enqueueRequest({description:A(o.DELETE,this.name,!1),method:o.DELETE,url:`${this.url}/${e}/`,blockers:[e],blocks:[]})}catch(u){throw this.dispatch(a(c)),u}}async refreshStore(e,n){const{initialize:a}=this.actions,c=(await this.listPaginated({queryParams:{issue__project:e,latest:!0}},n)).flat();return this.dispatch(a(c)),c}}class lR extends v{constructor(){super(...arguments);h(this,"name","Issue Type Priority");h(this,"url","/issue-type-priorities");h(this,"actions",{addOne:Vy,addMany:By,setOne:zy,setMany:Dy,updateOne:jy,updateMany:qy,deleteOne:Cy,deleteMany:$y,initialize:Ey});h(this,"selectors",{selectById:Xi,selectByIds:Ly})}add(e){const{addOne:n,updateOne:a,deleteOne:r}=this.actions,c=this.select(m=>{var f;return((f=m.userReducer.currentUser)==null?void 0:f.id)??null}),u=new Date().toISOString(),d=P({...e,created_by:c,submitted_at:u});this.dispatch(n(d));const p=this.enqueueRequest({description:A(o.POST,this.name,!1),method:o.POST,url:`${this.url}/`,payload:R(d),blockers:[e.issue_type],blocks:[d.uuid]});return p.then(m=>{this.dispatch(a(m))}).catch(()=>{this.dispatch(r(d.uuid))}),[d,p]}update(e){const{updateOne:n}=this.actions,{selectById:a}=this.selectors,r=this.select(a(e.uuid));if(!r)throw new Error(`Expected an existing issue type priority with uuid ${e.uuid}`);const c={...r,...e};this.dispatch(n(c));const u=this.enqueueRequest({description:A(o.PATCH,this.name,!1),method:o.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))}),[c,u]}async delete(e){const{deleteOne:n,addOne:a}=this.actions,{selectById:r}=this.selectors,c=this.select(r(e));if(!c)throw new Error(`No issue type priority with uuid ${e} found in the store`);this.dispatch(n(e));try{return await this.enqueueRequest({description:A(o.DELETE,this.name,!1),method:o.DELETE,url:`${this.url}/${e}/`,blockers:[e],blocks:[]})}catch(u){throw this.dispatch(a(c)),u}}async refreshStore(e,n){const{initialize:a}=this.actions,r=await this.list({queryParams:{issue_type__organization:e}},n);return this.dispatch(a(r)),r}}class oR extends v{constructor(){super(...arguments);h(this,"name","Issue Type");h(this,"url","/issue-types");h(this,"actions",{addOne:Hy,addMany:Wy,setOne:Ky,setMany:Yy,updateOne:Zy,updateMany:Jy,deleteOne:Xy,deleteMany:Qy,initialize:Gy});h(this,"selectors",{selectById:ef,selectByIds:tf})}add(e){const{addOne:n,updateOne:a,deleteOne:r}=this.actions,c=this.select(m=>{var f;return((f=m.userReducer.currentUser)==null?void 0:f.id)??null}),u=new Date().toISOString(),d=P({...e,submitted_at:u,created_by:c});this.dispatch(n(d));const p=this.enqueueRequest({method:o.POST,url:`${this.url}/`,payload:R(d),blockers:[],blocks:[d.uuid]});return p.then(m=>{this.dispatch(a(m))}).catch(()=>{this.dispatch(r(d.uuid))}),[d,p]}update(e){const{updateOne:n}=this.actions,{selectById:a}=this.selectors,r=this.select(a(e.uuid));if(!r)throw new Error(`IssueType with uuid ${e.uuid} does not exist in the store.`);const c={...r,...e};this.dispatch(n(c));const u=this.enqueueRequest({method:o.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))}),[c,u]}async delete(e){const{addOne:n,deleteOne:a}=this.actions,{selectById:r}=this.selectors,c=this.select(r(e));if(!c)throw new Error(`IssueType with uuid ${e} does not exist in the store.`);const u=this.select($m(e));this.dispatch(a(e)),this.dispatch(Di(w(u)));try{return await this.enqueueRequest({description:A(o.DELETE,this.name,!1),method:o.DELETE,url:`${this.url}/${e}/`,blockers:[e],blocks:[]})}catch(d){throw this.dispatch(n(c)),this.dispatch(zi(u)),d}}async refreshStore(e,n){const{initialize:a}=this.actions,r=await this.list({queryParams:{organization:e}},n);return this.dispatch(a(r)),r}}class hR extends v{constructor(){super(...arguments);h(this,"name","Issue Type Status");h(this,"url","/issue-type-statuses");h(this,"actions",{addOne:cf,addMany:rf,setOne:df,setMany:uf,updateOne:lf,updateMany:of,deleteOne:hf,deleteMany:mf,initialize:af});h(this,"selectors",{selectById:sn,selectByIds:yf})}add(e){const{addOne:n,updateOne:a,deleteOne:r}=this.actions,c=this.select(m=>{var f;return((f=m.userReducer.currentUser)==null?void 0:f.id)??null}),u=new Date().toISOString(),d=P({...e,created_by:c,submitted_at:u});this.dispatch(n(d));const p=this.enqueueRequest({description:A(o.POST,this.name,!1),method:o.POST,url:`${this.url}/`,payload:R(d),blockers:[e.issue_type],blocks:[d.uuid]});return p.then(m=>{this.dispatch(a(m))}).catch(()=>{this.dispatch(r(d.uuid))}),[d,p]}update(e){const{updateOne:n}=this.actions,{selectById:a}=this.selectors,r=this.select(a(e.uuid));if(!r)throw new Error(`Expected an existing issue type status with uuid ${e.uuid}`);const c={...r,...e};this.dispatch(n(c));const u=this.enqueueRequest({description:A(o.PATCH,this.name,!1),method:o.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))}),[c,u]}async delete(e){const{deleteOne:n,addOne:a}=this.actions,{selectById:r}=this.selectors,c=this.select(r(e));if(!c)throw new Error(`No issue type status with uuid ${e} found in the store`);this.dispatch(n(e));try{return await this.enqueueRequest({description:A(o.DELETE,this.name,!1),method:o.DELETE,url:`${this.url}/${e}/`,blockers:[e],blocks:[]})}catch(u){throw this.dispatch(a(c)),u}}async refreshStore(e,n){const{initialize:a}=this.actions,r=await this.list({queryParams:{issue_type__organization:e}},n);return this.dispatch(a(r)),r}}class mR extends v{constructor(){super(...arguments);h(this,"name","Issue Update");h(this,"url","/issue-updates");h(this,"actions",{addOne:an,addMany:cn,setOne:If,setMany:Tf,updateOne:Of,updateMany:Pf,deleteOne:rn,deleteMany:dn,initialize:Af});h(this,"selectors",{selectById:Ff,selectByIds:bf})}async refreshStore(e,n){const{initialize:a}=this.actions,c=(await this.listPaginated({queryParams:{issue__project:e}},n)).flat();return this.dispatch(a(c)),c}}const pR=1800;function yR(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 fR extends gb{constructor(){super(...arguments);h(this,"_getRenewedTokens",async e=>{const n=this.performRequest({method:o.POST,url:this.refreshTokensUrl,payload:{refresh:e},isAuthNeeded:!1,checkAuth:!1});let a;try{a=await n}catch(r){console.error("Could not renew tokens; clearing auth",r),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(cu(!1)),this.clearTokens(),this.dispatch(O()),this.dispatch(O())}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.debug("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=Gb(e).exp??n}catch{a=n}return a-n<pR}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??Rt).toString()))}}}async handleUnauthorized(e,n){if(e.url.endsWith("/token/refresh/"))throw this.select(a=>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(this.select(a=>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=ot.v4();return console.debug(this.constructor.name,"Initiating auth"),this.performRequest({uuid:n,method:o.POST,url:this.initTokensUrl,payload:e,isAuthNeeded:!1,checkAuth:!1}).then(a=>{this.setTokens(yR(a))})}}class SR extends It{constructor(){super(...arguments);h(this,"name","Organization Access");h(this,"url","/organization-accesses");h(this,"actions",{addOne:Uf,addMany:Lf,setOne:kf,setMany:Nf,updateOne:Gf,updateMany:Hf,deleteOne:Wf,deleteMany:Kf,initialize:$f});h(this,"selectors",{selectById:Zf,selectByIds:Jf})}update(e){const{updateOne:n}=this.actions,{selectById:a}=this.selectors,r=this.select(a(e.uuid)),c={...r,...e};this.dispatch(n(c));const u=this.enqueueRequest({description:A(o.PATCH,this.name,!1),method:o.PATCH,url:`${this.url}/${e.uuid}/`,payload:e,blockers:[e.uuid],blocks:[e.uuid]});return u.then(d=>{this.dispatch(n(d))}).catch(d=>{throw this.dispatch(n(r)),d}),[c,u]}async delete(e){const{deleteOne:n,addOne:a}=this.actions,{selectById:r}=this.selectors,c=this.select(r(e)),u=this.select(ns(c.user));this.dispatch(n(c.uuid)),this.dispatch(mn(c.user));try{return await this.enqueueRequest({description:A(o.DELETE,this.name,!1),method:o.DELETE,url:`${this.url}/${c.uuid}/`,blockers:[c.uuid],blocks:[]})}catch(d){throw this.dispatch(a(c)),this.dispatch(hn(u)),d}}async refreshStore(e,n){const{initialize:a}=this.actions,r=await this.list({queryParams:{organization:e}},n);return this.dispatch(a(r)),r}}class AR extends It{constructor(){super(...arguments);h(this,"name","Organization");h(this,"url","/organizations");h(this,"actions",{addOne:iS,addMany:sS,setOne:tS,setMany:eS,updateOne:aS,updateMany:nS,deleteOne:cS,deleteMany:rS,initialize:xf});h(this,"selectors",{selectById:lS,selectByIds:oS})}async add(e){const{addOne:n}=this.actions,a=await this.enqueueRequest({description:A(o.POST,this.name,!1),method:o.POST,url:`${this.url}/`,payload:e,blockers:[],blocks:[]});return this.dispatch(n(a)),a}async update(e){const{updateOne:n}=this.actions,a=await this.enqueueRequest({description:A(o.PATCH,this.name,!1),method:o.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:A(o.POST,this.name,!1),method:o.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 IR extends v{constructor(){super(...arguments);h(this,"name","Project Access");h(this,"url","/project-accesses");h(this,"actions",{addOne:OS,addMany:PS,setOne:FS,setMany:bS,updateOne:_S,updateMany:gS,deleteOne:MS,deleteMany:RS,initialize:TS});h(this,"selectors",{selectById:vS,selectByIds:ES})}add(e){const{addOne:n,updateOne:a,deleteOne:r}=this.actions,c=P({...e,created_by:this.select(d=>{var p;return((p=d.userReducer.currentUser)==null?void 0:p.id)??null})});this.dispatch(n(c));const u=this.enqueueRequest({description:A(o.POST,this.name,!1),method:o.POST,url:`${this.url}/`,payload:R(c),blockers:[c.organization_access,c.project],blocks:[c.uuid]});return u.then(d=>{this.dispatch(a(d))}).catch(d=>{throw this.dispatch(r(c.uuid)),d}),[c,u]}bulkAdd(e){const{addMany:n,deleteMany:a,updateMany:r}=this.actions,c=this.select(p=>{var m;return((m=p.userReducer.currentUser)==null?void 0:m.id)??null}),u=e.map(p=>P({...p,created_by:c}));this.dispatch(n(u));const d=this.enqueueRequest({description:A(o.POST,this.name,!0),method:o.POST,url:`${this.url}/bulk/`,payload:{project_accesses:u.map(p=>R(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(a(u.map(m=>m.uuid))),p}),[u,d]}update(e){const{updateOne:n}=this.actions,{selectById:a}=this.selectors,r=this.select(a(e.uuid)),c={...r,...e};this.dispatch(n(c));const u=this.enqueueRequest({description:A(o.PATCH,this.name,!1),method:o.PATCH,url:`${this.url}/${e.uuid}/`,payload:e,blockers:[e.uuid],blocks:[]});return u.then(d=>{this.dispatch(n(d))}).catch(d=>{throw this.dispatch(n(r)),d}),[c,u]}async delete(e){const{deleteOne:n,addOne:a}=this.actions,{selectById:r}=this.selectors,c=this.select(r(e));this.dispatch(n(e));try{return await this.enqueueRequest({description:A(o.DELETE,this.name,!1),method:o.DELETE,url:`${this.url}/${e}/`,blockers:[e],blocks:[]})}catch(u){throw this.dispatch(a(c)),u}}async refreshStore(e,n){const{initialize:a}=this.actions,r=await this.list({queryParams:{project__organization:e}},n);return this.dispatch(a(r)),r}}class TR extends j{constructor(){super(...arguments);h(this,"name","Project Attachment");h(this,"url","/project-attachments");h(this,"actions",{addOne:zS,addMany:DS,setOne:jS,setMany:qS,updateOne:CS,updateMany:$S,deleteOne:US,deleteMany:LS,initialize:BS});h(this,"selectors",{selectById:NS,selectByIds:GS})}getId(e){return e.uuid}getBlockers(e){return[e.project]}getBlocks(e){return[e.uuid]}buildModel(e){const n=this.select(r=>{var c;return((c=r.userReducer.currentUser)==null?void 0:c.id)??null}),a=new Date().toISOString();return P({...e,created_by:n,submitted_at:a})}buildPayload(e){return{uuid:e.uuid,submitted_at:e.submitted_at,file_name:e.file_name,file_sha1:e.file_sha1,file_extension:e.file_extension,project:e.project}}buildBulkPayload(e){return{uuid:e.uuid,file_name:e.file_name,file_sha1:e.file_sha1,file_extension:e.file_extension,project:e.project}}async refreshStore(e,n){const{initialize:a}=this.actions,r=await this.list({queryParams:{project__organization:e}},n);return this.dispatch(a(r)),r}}class OR extends v{constructor(){super(...arguments);h(this,"name","Project Comment");h(this,"url","/project-comments");h(this,"actions",{addOne:YS,addMany:ZS,setOne:JS,setMany:XS,updateOne:QS,updateMany:xS,deleteOne:eA,deleteMany:tA,initialize:KS});h(this,"selectors",{selectById:iA,selectByIds:nA})}add(e){const{addOne:n,updateOne:a,deleteOne:r}=this.actions,c=P({...e,created_by:this.select(d=>{var p;return((p=d.userReducer.currentUser)==null?void 0:p.id)??null}),submitted_at:new Date().toISOString()});this.dispatch(n(c));const u=this.enqueueRequest({description:A(o.POST,this.name,!1),method:o.POST,url:`${this.url}/`,payload:R(c),blockers:[c.project],blocks:[c.uuid]});return u.then(d=>{this.dispatch(a(d))}).catch(()=>{this.dispatch(r(c.uuid))}),[c,u]}update(e){const{updateOne:n}=this.actions,{selectById:a}=this.selectors,r=this.select(a(e.uuid));if(!r)throw new Error(`Project comment with uuid ${e.uuid} not found in store`);const c={...r,...e};this.dispatch(n(c));const u=this.enqueueRequest({description:A(o.PATCH,this.name,!1),method:o.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))}),[c,u]}async delete(e){const{deleteOne:n,addOne:a}=this.actions,{selectById:r}=this.selectors,c=this.select(r(e));if(!c)throw new Error(`Project comment with uuid ${e} not found in store`);this.dispatch(n(e));try{return await this.enqueueRequest({description:A(o.DELETE,this.name,!1),method:o.DELETE,url:`${this.url}/${e}/`,blockers:[e],blocks:[]})}catch(u){throw this.dispatch(a(c)),u}}async refreshStore(e,n){const{initialize:a}=this.actions,c=(await this.listPaginated({queryParams:{project:e}},n)).flat();return this.dispatch(a(c)),c}}class PR extends j{constructor(){super(...arguments);h(this,"name","Project File");h(this,"url","/project-files");h(this,"actions",{addOne:lA,addMany:oA,setOne:dA,setMany:uA,updateOne:hA,updateMany:mA,deleteOne:pA,deleteMany:yA,initialize:rA});h(this,"selectors",{selectById:AA,selectByIds:IA})}getId(e){return e.uuid}getBlockers(e){return[e.project]}getBlocks(e){return[e.uuid]}buildModel(e){const n=this.select(r=>{var c;return((c=r.userReducer.currentUser)==null?void 0:c.id)??null}),a=new Date().toISOString();return P({...e,created_by:n,submitted_at:a})}buildPayload(e){return{uuid:e.uuid,submitted_at:e.submitted_at,file_sha1:e.file_sha1,file_name:e.file_name,file_extension:e.file_extension,project:e.project,z_index:e.z_index,bounds:e.bounds}}buildBulkPayload(e){return{uuid:e.uuid,file_sha1:e.file_sha1,file_name:e.file_name,file_extension:e.file_extension,project:e.project,z_index:e.z_index,bounds:e.bounds}}update(e){const{updateOne:n}=this.actions,{selectById:a}=this.selectors,r=this.select(a(e.uuid));if(!r)throw new Error(`${this.name} with uuid ${e.uuid} does not exist in the store`);const c={...r,...e};this.dispatch(n(c));const u=this.enqueueRequest({description:A(o.PATCH,this.name,!1),method:o.PATCH,url:`${this.url}/${e.uuid}/`,payload:e,blocks:[e.uuid],blockers:[e.uuid]});return u.then(d=>{this.dispatch(n(d))}).catch(()=>{this.dispatch(n(r))}),[c,u]}async refreshStore(e,n){const{initialize:a}=this.actions,c=(await this.listPaginated({queryParams:{project:e}},n)).flat();return this.dispatch(a(c)),c}}class FR extends It{constructor(){super(...arguments);h(this,"name","Project");h(this,"url","/projects");h(this,"actions",{addOne:gA,addMany:_A,setOne:bA,setMany:FA,updateOne:RA,updateMany:MA,deleteOne:wA,deleteMany:vA,initialize:PA});h(this,"selectors",{selectById:BA,selectByIds:zA})}async add(e){const{addOne:n}=this.actions,a=await this.performRequest({method:o.POST,url:`${this.url}/`,payload:R(e)});return this.dispatch(n(a)),a}async update(e){const{updateOne:n}=this.actions,a=await this.performRequest({method:o.PATCH,url:`${this.url}/${e.uuid}/`,payload:R(e)});return this.dispatch(n(a)),a}async delete(e){const{deleteOne:n}=this.actions,a=await this.enqueueRequest({description:A(o.DELETE,this.name,!1),method:o.DELETE,url:`${this.url}/${e}/`,blockers:[e],blocks:[]});return this.dispatch(n(e)),a}async refreshStore(e,n){const{initialize:a}=this.actions,r=await this.list({queryParams:{organization:e}},n);return this.dispatch(a(r)),r}}class bR extends v{constructor(){super(...arguments);h(this,"name","Procedure");h(this,"url","/procedures");h(this,"actions",{addOne:XA,addMany:gt,setOne:QA,setMany:xA,updateOne:eI,updateMany:tI,deleteOne:sI,deleteMany:Mt,initialize:JA});h(this,"selectors",{selectById:aI,selectByIds:cI})}add(e){const{addOne:n,updateOne:a,deleteOne:r}=this.actions,c=P({...e,created_by:this.select(d=>{var p;return((p=d.userReducer.currentUser)==null?void 0:p.id)??null}),submitted_at:new Date().toISOString()});this.dispatch(n(c));const u=this.enqueueRequest({description:A(o.POST,this.name,!1),method:o.POST,url:`${this.url}/`,payload:R(c),blockers:[c.procedure_type,c.project,c.asset,...c.procedure_initiative?[c.procedure_initiative]:[]],blocks:[c.uuid]});return u.then(d=>{this.dispatch(a(d))}).catch(()=>{this.dispatch(r(c.uuid))}),[c,u]}bulkAdd(e,n){var I;const{store:a}=this.client,{addMany:r,updateMany:c,deleteMany:u}=this.actions,d=new Date().toISOString(),p=((I=a.getState().userReducer.currentUser)==null?void 0:I.id)??null,m=[],f=W(e,Math.min(n??e.length,H)),T=[];for(const M of f){const g=[],E=[],V=[];for(const z of M){const q=P({...z,submitted_at:d,created_by:p});m.push(q),g.push(R(q)),E.push(q.procedure_type,q.project,q.asset,...q.procedure_initiative?[q.procedure_initiative]:[]),V.push(q.uuid)}const D={payload:{submitted_at:d,payloads:g},blockers:E,blocks:V};T.push(D)}this.dispatch(r(m));const _=T.map(M=>{const{payload:g,blocks:E,blockers:V}=M;return this.enqueueRequest({description:A(o.POST,this.name,!0),method:o.POST,url:`${this.url}/bulk/`,payload:g,blockers:V,blocks:E})});return Promise.all(_).then(M=>{this.dispatch(c(M.flat()))}).catch(()=>{this.dispatch(u(w(m)))}),[m,Promise.all(_).then(M=>M.flat())]}update(e){const{updateOne:n}=this.actions,{selectById:a}=this.selectors,r=this.select(a(e.uuid));if(!r)throw new Error(`Expected procedure with uuid ${e.uuid} to exist`);const c={...r,...e};this.dispatch(n(c));const u=this.enqueueRequest({description:A(o.PATCH,this.name,!1),method:o.PATCH,url:`${this.url}/${e.uuid}/`,payload:e,blockers:[r.uuid],blocks:[r.uuid]});return u.then(d=>{this.dispatch(n(d))}).catch(()=>{this.dispatch(n(r))}),[c,u]}async delete(e){const{deleteOne:n,addOne:a}=this.actions,{selectById:r}=this.selectors,c=this.select(r(e));if(!c)throw new Error(`Expected procedure with uuid ${e} to exist`);this.dispatch(n(e));try{return await this.enqueueRequest({description:A(o.DELETE,this.name,!1),method:o.DELETE,url:`${this.url}/${e}/`,blockers:[e],blocks:[]})}catch(u){throw this.dispatch(a(c)),u}}async bulkDelete(e){const{addMany:n,deleteMany:a}=this.actions,{selectByIds:r}=this.selectors,c=this.select(r(e));this.dispatch(a(w(c)));try{return await this.enqueueRequest({description:A(o.DELETE,this.name,!0),method:o.DELETE,url:`${this.url}/bulk/`,payload:{uuids:e},blockers:e,blocks:[]})}catch(u){throw this.dispatch(n(c)),u}}async refreshStore(e,n){const{initialize:a}=this.actions,c=(await this.listPaginated({queryParams:{project:e}},n)).flat();return this.dispatch(a(c)),c}}class _R extends v{constructor(){super(...arguments);h(this,"name","Procedure Step Assignee");h(this,"url","/procedure-step-assignees");h(this,"actions",{addOne:mI,addMany:pI,setOne:yI,setMany:fI,updateOne:SI,updateMany:AI,deleteOne:II,deleteMany:TI,initialize:hI});h(this,"selectors",{selectById:PI,selectByIds:FI})}add(e){const{addOne:n,updateOne:a,deleteOne:r}=this.actions,c=P({...e,created_by:this.select(d=>{var p;return((p=d.userReducer.currentUser)==null?void 0:p.id)??null}),submitted_at:new Date().toISOString()});this.dispatch(n(c));const u=this.enqueueRequest({description:A(o.POST,this.name,!1),method:o.POST,url:`${this.url}/`,payload:R(c),blockers:[c.procedure,c.procedure_step],blocks:[c.uuid]});return u.then(d=>{this.dispatch(a(d))}).catch(()=>{this.dispatch(r(c.uuid))}),[c,u]}bulkAdd(e){const{addMany:n,updateMany:a,deleteMany:r}=this.actions,c=this.select(m=>{var f;return((f=m.userReducer.currentUser)==null?void 0:f.id)??null}),u=new Date().toISOString(),d=e.map(m=>P({...m,created_by:c,submitted_at:u}));this.dispatch(n(d));const p=this.enqueueRequest({description:A(o.POST,this.name,!0),method:o.POST,url:`${this.url}/bulk/`,payload:{procedure_step_assignees:d.map(m=>R(m)),submitted_at:u},blockers:d.flatMap(m=>[m.procedure,m.procedure_step]),blocks:w(d)});return p.then(m=>{this.dispatch(a(m))}).catch(()=>{this.dispatch(r(w(d)))}),[d,p]}async delete(e){const{deleteOne:n,addOne:a}=this.actions,{selectById:r}=this.selectors,c=this.select(r(e));if(!c)throw new Error(`Expected procedure step assignee with uuid ${e} to exist`);this.dispatch(n(e));try{return await this.enqueueRequest({description:A(o.DELETE,this.name,!1),method:o.DELETE,url:`${this.url}/${e}/`,blockers:[e],blocks:[]})}catch(u){throw this.dispatch(a(c)),u}}async bulkDelete(e){const{deleteMany:n,addMany:a}=this.actions,{selectByIds:r}=this.selectors,c=this.select(r(e));this.dispatch(n(e));try{return await this.enqueueRequest({description:A(o.DELETE,this.name,!0),method:o.DELETE,url:`${this.url}/bulk/`,payload:{uuids:e},blockers:e,blocks:[]})}catch(u){throw this.dispatch(a(c)),u}}async refreshStore(e,n){const{initialize:a}=this.actions,c=(await this.listPaginated({queryParams:{procedure__project:e}},n)).flat();return this.dispatch(a(c)),c}}class gR extends v{constructor(){super(...arguments);h(this,"name","Procedure Step Comment");h(this,"url","/procedure-step-comments");h(this,"actions",{addOne:MI,addMany:RI,setOne:wI,setMany:vI,updateOne:EI,updateMany:VI,deleteOne:BI,deleteMany:zI,initialize:gI});h(this,"selectors",{selectById:jI,selectByIds:qI})}add(e){const{addOne:n,updateOne:a,deleteOne:r}=this.actions,c=P({...e,created_by:this.select(d=>{var p;return((p=d.userReducer.currentUser)==null?void 0:p.id)??null}),submitted_at:new Date().toISOString()});this.dispatch(n(c));const u=this.enqueueRequest({description:A(o.POST,this.name,!1),method:o.POST,url:`${this.url}/`,payload:R(c),blockers:[c.procedure,c.procedure_step],blocks:[c.uuid]});return u.then(d=>{this.dispatch(a(d))}).catch(()=>{this.dispatch(r(c.uuid))}),[c,u]}update(e){const{updateOne:n}=this.actions,{selectById:a}=this.selectors,r=this.select(a(e.uuid));if(!r)throw new Error(`Procedure step comment with uuid ${e.uuid} not found in store`);const c={...r,...e};this.dispatch(n(c));const u=this.enqueueRequest({description:A(o.PATCH,this.name,!1),method:o.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))}),[c,u]}async delete(e){const{deleteOne:n,addOne:a}=this.actions,{selectById:r}=this.selectors,c=this.select(r(e));if(!c)throw new Error(`Procedure step comment with uuid ${e} not found in store`);this.dispatch(n(e));try{return await this.enqueueRequest({description:A(o.DELETE,this.name,!1),method:o.DELETE,url:`${this.url}/${e}/`,blockers:[e],blocks:[]})}catch(u){throw this.dispatch(a(c)),u}}async refreshStore(e,n){const{initialize:a}=this.actions,c=(await this.listPaginated({queryParams:{procedure__project:e}},n)).flat();return this.dispatch(a(c)),c}}class MR extends v{constructor(){super(...arguments);h(this,"name","Procedure Step Default Assignee");h(this,"url","/procedure-step-default-assignees");h(this,"actions",{addOne:LI,addMany:kI,setOne:NI,setMany:GI,updateOne:HI,updateMany:WI,deleteOne:KI,deleteMany:YI,initialize:UI});h(this,"selectors",{selectById:JI,selectByIds:XI})}add(e){const{addOne:n,updateOne:a,deleteOne:r}=this.actions,c=P({...e,created_by:this.select(d=>{var p;return((p=d.userReducer.currentUser)==null?void 0:p.id)??null}),submitted_at:new Date().toISOString()});this.dispatch(n(c));const u=this.enqueueRequest({description:A(o.POST,this.name,!1),method:o.POST,url:`${this.url}/`,payload:R(c),blockers:[c.procedure_step],blocks:[c.uuid]});return u.then(d=>{this.dispatch(a(d))}).catch(()=>{this.dispatch(r(c.uuid))}),[c,u]}async delete(e){const{deleteOne:n,addOne:a}=this.actions,{selectById:r}=this.selectors,c=this.select(r(e));if(!c)throw new Error(`Expected procedure step default assignee with uuid ${e} to exist`);this.dispatch(n(e));try{return await this.enqueueRequest({description:A(o.DELETE,this.name,!1),method:o.DELETE,url:`${this.url}/${e}/`,blockers:[e],blocks:[]})}catch(u){throw this.dispatch(a(c)),u}}async refreshStore(e,n){const{initialize:a}=this.actions,r=await this.list({queryParams:{procedure_step__procedure_type__organization:e}},n);return this.dispatch(a(r)),r}}class RR extends v{constructor(){super(...arguments);h(this,"name","Procedure Step Default Reviewer");h(this,"url","/procedure-step-default-reviewers");h(this,"actions",{addOne:tT,addMany:sT,setOne:iT,setMany:nT,updateOne:aT,updateMany:cT,deleteOne:rT,deleteMany:dT,initialize:eT});h(this,"selectors",{selectById:lT,selectByIds:oT})}add(e){const{addOne:n,updateOne:a,deleteOne:r}=this.actions,c=P({...e,created_by:this.select(d=>{var p;return((p=d.userReducer.currentUser)==null?void 0:p.id)??null}),submitted_at:new Date().toISOString()});this.dispatch(n(c));const u=this.enqueueRequest({description:A(o.POST,this.name,!1),method:o.POST,url:`${this.url}/`,payload:R(c),blockers:[c.procedure_step],blocks:[c.uuid]});return u.then(d=>{this.dispatch(a(d))}).catch(()=>{this.dispatch(r(c.uuid))}),[c,u]}async delete(e){const{deleteOne:n,addOne:a}=this.actions,{selectById:r}=this.selectors,c=this.select(r(e));if(!c)throw new Error(`Expected procedure step default reviewer with uuid ${e} to exist`);this.dispatch(n(e));try{return await this.enqueueRequest({description:A(o.DELETE,this.name,!1),method:o.DELETE,url:`${this.url}/${e}/`,blockers:[e],blocks:[]})}catch(u){throw this.dispatch(a(c)),u}}async refreshStore(e,n){const{initialize:a}=this.actions,r=await this.list({queryParams:{procedure_step__procedure_type__organization:e}},n);return this.dispatch(a(r)),r}}class wR extends It{constructor(){super(...arguments);h(this,"name","Procedure Step Event");h(this,"url","/procedure-step-events");h(this,"actions",{addOne:yT,addMany:fT,setOne:ST,setMany:AT,updateOne:IT,updateMany:TT,deleteOne:OT,deleteMany:PT,initialize:pT});h(this,"selectors",{selectById:bT,selectByIds:_T})}async refreshStore(e,n){const{initialize:a}=this.actions,c=(await this.listPaginated({queryParams:{procedure__project:e}},n)).flat();return this.dispatch(a(c)),c}}class vR extends j{constructor(){super(...arguments);h(this,"name","Procedure Step Fields Attachment");h(this,"url","/procedure-step-fields-attachments");h(this,"actions",{addOne:wT,addMany:Dn,setOne:vT,setMany:ET,updateOne:VT,updateMany:BT,deleteOne:zT,deleteMany:jn,initialize:RT});h(this,"selectors",{selectById:qT,selectByIds:CT})}getId(e){return e.uuid}getBlockers(e){return[e.fields_revision]}getBlocks(e){return[e.uuid]}buildModel(e){return P({...e,created_by:this.select(n=>{var a;return((a=n.userReducer.currentUser)==null?void 0:a.id)??null}),submitted_at:new Date().toISOString()})}buildPayload(e){const{uuid:n,field_identifier:a,fields_revision:r,file_sha1:c,file_name:u,file_extension:d}=e;return{uuid:n,submitted_at:e.submitted_at,field_identifier:a,fields_revision:r,file_sha1:c,file_name:u,file_extension:d}}buildBulkPayload(e){const{uuid:n,field_identifier:a,fields_revision:r,file_sha1:c,file_name:u,file_extension:d}=e;return{uuid:n,field_identifier:a,fields_revision:r,file_sha1:c,file_name:u,file_extension:d}}async refreshStore(e,n){const{initialize:a}=this.actions,r=await this.list({queryParams:{fields_revision__procedure_step__procedure_type__organization:e}},n);return this.dispatch(a(r)),r}}class ER extends v{constructor(){super(...arguments);h(this,"name","Procedure Step Fields");h(this,"url","/procedure-step-fields");h(this,"actions",{addOne:kT,addMany:NT,setOne:GT,setMany:HT,updateOne:WT,updateMany:KT,deleteOne:YT,deleteMany:ZT,initialize:LT});h(this,"selectors",{selectById:JT,selectByIds:XT})}add(e){const{addOne:n,updateOne:a,deleteOne:r}=this.actions,c=P({...e,created_by:this.select(d=>{var p;return((p=d.userReducer.currentUser)==null?void 0:p.id)??null}),submitted_at:new Date().toISOString()});this.dispatch(n(c));const u=this.enqueueRequest({description:A(o.POST,this.name,!1),method:o.POST,url:`${this.url}/`,payload:R(c),blockers:[c.procedure_step],blocks:[c.uuid]});return u.then(d=>{this.dispatch(a(d))}).catch(()=>{this.dispatch(r(c.uuid))}),[c,u]}async delete(e){const{deleteOne:n,addOne:a}=this.actions,{selectById:r}=this.selectors,c=this.select(r(e));if(!c)throw new Error(`Expected procedure step fields with uuid ${e} to exist`);const u=this.select(jT(e));this.dispatch(n(e)),this.dispatch(jn(w(u)));try{return await this.enqueueRequest({description:A(o.DELETE,this.name,!1),method:o.DELETE,url:`${this.url}/${e}/`,blockers:[e],blocks:[]})}catch(d){throw this.dispatch(a(c)),this.dispatch(Dn(u)),d}}async refreshStore(e,n){const{initialize:a}=this.actions,r=await this.list({queryParams:{procedure_step__procedure_type__organization:e}},n);return this.dispatch(a(r)),r}}class VR extends j{constructor(){super(...arguments);h(this,"name","Procedure Step Field Values Attachment");h(this,"url","/procedure-step-field-values-attachments");h(this,"actions",{addOne:tO,addMany:Ln,setOne:sO,setMany:iO,updateOne:nO,updateMany:aO,deleteOne:cO,deleteMany:kn,initialize:eO});h(this,"selectors",{selectById:dO,selectByIds:uO})}getId(e){return e.uuid}getBlockers(e){return[e.field_values]}getBlocks(e){return[e.uuid]}buildModel(e){const n=this.select(r=>{var c;return((c=r.userReducer.currentUser)==null?void 0:c.id)??null}),a=new Date().toISOString();return P({...e,created_by:n,submitted_at:a})}buildPayload(e){const{uuid:n,field_identifier:a,field_values:r,file_sha1:c,file_name:u,file_extension:d}=e;return{uuid:n,submitted_at:e.submitted_at,field_identifier:a,field_values:r,file_sha1:c,file_name:u,file_extension:d}}buildBulkPayload(e){const{uuid:n,field_identifier:a,field_values:r,file_sha1:c,file_name:u,file_extension:d}=e;return{uuid:n,field_identifier:a,field_values:r,file_sha1:c,file_name:u,file_extension:d}}async bulkDelete(e){const{deleteMany:n,addMany:a}=this.actions,{selectByIds:r}=this.selectors,c=this.select(r(e));this.dispatch(n(e));try{return await this.enqueueRequest({description:A(o.DELETE,this.name,!0),method:o.DELETE,url:`${this.url}/bulk/`,payload:{uuids:e},blockers:e,blocks:[]})}catch(u){throw this.dispatch(a(c)),u}}async refreshStore(e,n){const{initialize:a}=this.actions,c=(await this.listPaginated({queryParams:{field_values__procedure__project:e,latest:!0}},n)).flat();return this.dispatch(a(c)),c}}class BR extends v{constructor(){super(...arguments);h(this,"name","Procedure Step Field Values Review");h(this,"url","/procedure-step-field-values-reviews");h(this,"actions",{addOne:RO,addMany:Wn,setOne:wO,setMany:vO,updateOne:EO,updateMany:VO,deleteOne:BO,deleteMany:Kn,initialize:MO});h(this,"selectors",{selectById:DO,selectByIds:jO})}add(e){const{addOne:n,updateOne:a,deleteOne:r}=this.actions,c=P({...e,created_by:this.select(d=>{var p;return((p=d.userReducer.currentUser)==null?void 0:p.id)??null}),submitted_at:new Date().toISOString()});this.dispatch(n(c));const u=this.enqueueRequest({description:A(o.POST,this.name,!1),method:o.POST,url:`${this.url}/`,payload:R(c),blockers:[c.field_values],blocks:[c.uuid]});return u.then(d=>{this.dispatch(a(d))}).catch(()=>{this.dispatch(r(c.uuid))}),[c,u]}update(e){const{updateOne:n}=this.actions,{selectById:a}=this.selectors,r=this.select(a(e.uuid));if(!r)throw new Error(`Procedure step field values review with uuid ${e.uuid} not found in store`);const c={...r,...e};this.dispatch(n(c));const u=this.enqueueRequest({description:A(o.PATCH,this.name,!1),method:o.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))}),[c,u]}async delete(e){const{deleteOne:n,addOne:a}=this.actions,{selectById:r}=this.selectors,c=this.select(r(e));if(!c)throw new Error(`Procedure step field values review with uuid ${e} not found in store`);this.dispatch(n(e));try{return await this.enqueueRequest({description:A(o.DELETE,this.name,!1),method:o.DELETE,url:`${this.url}/${e}/`,blockers:[e],blocks:[]})}catch(u){throw this.dispatch(a(c)),u}}async refreshStore(e,n){const{initialize:a}=this.actions,c=(await this.listPaginated({queryParams:{field_values__procedure__project:e}},n)).flat();return this.dispatch(a(c)),c}}class zR extends v{constructor(){super(...arguments);h(this,"name","Procedure Step Field Values");h(this,"url","/procedure-step-field-values");h(this,"actions",{addOne:pO,addMany:yO,setOne:fO,setMany:SO,updateOne:AO,updateMany:IO,deleteOne:TO,deleteMany:OO,initialize:mO});h(this,"selectors",{selectById:bO,selectByIds:_O})}add(e){const{addOne:n,updateOne:a,deleteOne:r}=this.actions,c=this.select(m=>{var f;return((f=m.userReducer.currentUser)==null?void 0:f.id)??null}),u=new Date().toISOString(),d=P({...e,created_by:c,submitted_at:u}),p=this.enqueueRequest({description:A(o.POST,this.name,!1),method:o.POST,url:`${this.url}/`,payload:R(d),blockers:[e.procedure,e.procedure_step,e.fields_revision],blocks:[d.uuid]});return this.dispatch(n(d)),p.then(m=>{this.dispatch(a(m))}).catch(()=>{this.dispatch(r(d.uuid))}),[d,p]}bulkAdd(e,n){const{addMany:a,updateMany:r,deleteMany:c}=this.actions,u=new Date().toISOString(),d=this.select(_=>{var I;return((I=_.userReducer.currentUser)==null?void 0:I.id)??null}),p=[],m=W(e,Math.min(n??e.length,H)),f=[];for(const _ of m){const I=[],M=[],g=[];for(const E of _){const V=P({...E,values:E.values,created_by:d,submitted_at:u});p.push(V),I.push(R(V)),M.push(V.procedure_step,V.procedure,V.fields_revision),g.push(V.uuid)}f.push({payload:{payloads:I,submitted_at:u},blockers:M,blocks:g})}this.dispatch(a(p));const T=f.map(_=>{const{payload:I,blocks:M,blockers:g}=_;return this.enqueueRequest({description:A(o.POST,this.name,!0),method:o.POST,url:`${this.url}/bulk/`,payload:I,blockers:g,blocks:M})});return Promise.all(T).then(_=>{this.dispatch(r(_.flat()))}).catch(()=>{this.dispatch(c(w(p)))}),[p,Promise.all(T).then(_=>_.flat())]}update(e){const{updateOne:n}=this.actions,{selectById:a}=this.selectors,r=this.select(a(e.uuid));if(!r)throw new Error(`Expected ProcedureStepFieldValues with uuid ${e.uuid} to exist`);const c={...r,...e};this.dispatch(n(c));const u=this.enqueueRequest({description:A(o.PATCH,this.name,!1),method:o.PATCH,url:`${this.url}/${e.uuid}/`,payload:e,blockers:[c.uuid,c.procedure,c.procedure_step,c.fields_revision],blocks:[c.uuid]});return u.then(d=>{this.dispatch(n(d))}).catch(()=>{this.dispatch(n(r))}),[c,u]}async delete(e){const{deleteOne:n,addOne:a}=this.actions,{selectById:r}=this.selectors,c=this.select(r(e));if(!c)throw new Error(`Expected ProcedureStepFieldValues with uuid ${e} to exist`);const u=this.select(lO(e)),d=this.select(qO(e));this.dispatch(n(e)),this.dispatch(kn(w(u))),this.dispatch(Kn(w(d)));try{return await this.enqueueRequest({description:A(o.DELETE,this.name,!1),method:o.DELETE,url:`${this.url}/${e}/`,blockers:[e],blocks:[]})}catch(p){throw this.dispatch(a(c)),this.dispatch(Ln(u)),this.dispatch(Wn(d)),p}}async refreshStore(e,n){const{initialize:a}=this.actions,c=(await this.listPaginated({queryParams:{procedure__project:e}},n)).flat();return this.dispatch(a(c)),c}}class DR extends v{constructor(){super(...arguments);h(this,"name","Procedure Step Reviewer");h(this,"url","/procedure-step-reviewers");h(this,"actions",{addOne:LO,addMany:kO,setOne:NO,setMany:GO,updateOne:HO,updateMany:WO,deleteOne:KO,deleteMany:YO,initialize:UO});h(this,"selectors",{selectById:JO,selectByIds:XO})}add(e){const{addOne:n,updateOne:a,deleteOne:r}=this.actions,c=P({...e,created_by:this.select(d=>{var p;return((p=d.userReducer.currentUser)==null?void 0:p.id)??null}),submitted_at:new Date().toISOString()});this.dispatch(n(c));const u=this.enqueueRequest({description:A(o.POST,this.name,!1),method:o.POST,url:`${this.url}/`,payload:R(c),blockers:[c.procedure,c.procedure_step],blocks:[c.uuid]});return u.then(d=>{this.dispatch(a(d))}).catch(()=>{this.dispatch(r(c.uuid))}),[c,u]}bulkAdd(e){const{addMany:n,updateMany:a,deleteMany:r}=this.actions,c=this.select(m=>{var f;return((f=m.userReducer.currentUser)==null?void 0:f.id)??null}),u=new Date().toISOString(),d=e.map(m=>P({...m,created_by:c,submitted_at:u}));this.dispatch(n(d));const p=this.enqueueRequest({description:A(o.POST,this.name,!0),method:o.POST,url:`${this.url}/bulk/`,payload:{procedure_step_reviewers:d.map(m=>R(m)),submitted_at:u},blockers:d.flatMap(m=>[m.procedure,m.procedure_step]),blocks:d.map(m=>m.uuid)});return p.then(m=>{this.dispatch(a(m))}).catch(()=>{this.dispatch(r(w(d)))}),[d,p]}async delete(e){const{deleteOne:n,addOne:a}=this.actions,{selectById:r}=this.selectors,c=this.select(r(e));if(!c)throw new Error(`Expected procedure step reviewer with uuid ${e} to exist`);this.dispatch(n(e));try{return await this.enqueueRequest({description:A(o.DELETE,this.name,!1),method:o.DELETE,url:`${this.url}/${e}/`,blockers:[e],blocks:[]})}catch(u){throw this.dispatch(a(c)),u}}async bulkDelete(e){const{deleteMany:n,addMany:a}=this.actions,{selectByIds:r}=this.selectors,c=this.select(r(e));this.dispatch(n(e));try{return await this.enqueueRequest({description:A(o.DELETE,this.name,!0),method:o.DELETE,url:`${this.url}/bulk/`,payload:{uuids:e},blockers:e,blocks:[]})}catch(u){throw this.dispatch(a(c)),u}}async refreshStore(e,n){const{initialize:a}=this.actions,c=(await this.listPaginated({queryParams:{procedure__project:e}},n)).flat();return this.dispatch(a(c)),c}}class jR extends v{constructor(){super(...arguments);h(this,"name","Procedure Initiative");h(this,"url","/procedure-initiatives");h(this,"actions",{addOne:qA,addMany:CA,setOne:$A,setMany:UA,updateOne:LA,updateMany:kA,deleteOne:NA,deleteMany:GA,initialize:jA});h(this,"selectors",{selectById:KA,selectByIds:YA})}add(e){var p;const{store:n}=this.client,{addOne:a,updateOne:r,deleteOne:c}=this.actions,u=P({...e,created_by:((p=n.getState().userReducer.currentUser)==null?void 0:p.id)??null,submitted_at:new Date().toISOString()});this.dispatch(a(u));const d=this.enqueueRequest({description:A(o.POST,this.name,!1),method:o.POST,url:`${this.url}/`,payload:R(u),blockers:[u.procedure_type,u.project],blocks:[u.uuid]});return d.then(m=>{this.dispatch(r(m))}).catch(()=>{this.dispatch(c(u.uuid))}),[u,d]}update(e){const{updateOne:n}=this.actions,{selectById:a}=this.selectors,r=this.select(a(e.uuid));if(!r)throw new Error(`Expected ${this.name} with uuid ${e.uuid} to exist`);const c={...r,...e};this.dispatch(n(c));const u=this.enqueueRequest({description:A(o.PATCH,this.name,!1),method:o.PATCH,url:`${this.url}/${e.uuid}/`,payload:e,blockers:[r.uuid],blocks:[r.uuid]});return u.then(d=>{this.dispatch(n(d))}).catch(()=>{this.dispatch(n(r))}),[c,u]}async delete(e){const{deleteOne:n,addOne:a}=this.actions,{selectById:r}=this.selectors,c=this.select(r(e));if(!c)throw new Error(`Expected ${this.name} with uuid ${e} to exist`);const u=this.select(lI(e));this.dispatch(n(e)),this.dispatch(Mt(w(u)));try{return await this.enqueueRequest({description:A(o.DELETE,this.name,!1),method:o.DELETE,url:`${this.url}/${e}/`,blockers:[e],blocks:[]})}catch(d){throw this.dispatch(a(c)),this.dispatch(gt(u)),d}}async refreshStore(e,n){const{initialize:a}=this.actions,c=(await this.listPaginated({queryParams:{project:e}},n)).flat();return this.dispatch(a(c)),c}}class qR extends v{constructor(){super(...arguments);h(this,"name","Procedure Step");h(this,"url","/procedure-steps");h(this,"actions",{addOne:iP,addMany:nP,setOne:tP,setMany:sP,updateOne:aP,updateMany:cP,deleteOne:rP,deleteMany:dP,initialize:eP});h(this,"selectors",{selectById:lP,selectByIds:oP})}add(e){const{addOne:n,updateOne:a,deleteOne:r}=this.actions,c=P({...e,created_by:this.select(d=>{var p;return((p=d.userReducer.currentUser)==null?void 0:p.id)??null}),submitted_at:new Date().toISOString()});this.dispatch(n(c));const u=this.enqueueRequest({description:A(o.POST,this.name,!1),method:o.POST,url:`${this.url}/`,payload:R(c),blockers:[c.procedure_type],blocks:[c.uuid]});return u.then(d=>{this.dispatch(a(d))}).catch(()=>{this.dispatch(r(c.uuid))}),[c,u]}update(e){const{updateOne:n}=this.actions,{selectById:a}=this.selectors,r=this.select(a(e.uuid));if(!r)throw new Error(`No procedure step with uuid ${e.uuid} found in the store`);const c={...r,...e};this.dispatch(n(c));const u=this.enqueueRequest({description:A(o.PATCH,this.name,!1),method:o.PATCH,url:`${this.url}/${r.uuid}/`,payload:e,blockers:[r.uuid],blocks:[r.uuid]});return u.then(d=>{this.dispatch(n(d))}).catch(()=>{this.dispatch(n(r))}),[c,u]}async delete(e){const{addOne:n,deleteOne:a}=this.actions,{selectById:r}=this.selectors,c=this.select(r(e));if(!c)throw new Error(`No procedure step with uuid ${e} found in the store`);this.dispatch(a(e));try{return await this.enqueueRequest({description:A(o.DELETE,this.name,!1),method:o.DELETE,url:`${this.url}/${e}/`,blockers:[e],blocks:[]})}catch(u){throw this.dispatch(n(c)),u}}bulkUpdate(e,n){const{updateMany:a}=this.actions,{selectByIds:r}=this.selectors,c=w(e);if(new Set(c).size!==e.length)throw new Error("payloads contains duplicate uuids.");const u=this.select(r(c));if(c.length!=u.length)throw new Error(`Attempting to bulk update ${c.length-u.length} ${this.name} that dont exist in the store`);const d=u.toSorted(ht),p=e.toSorted(ht),m=[];for(let I=0;I<c.length;I++)m.push({...d[I],...p[I]});this.dispatch(a(m));const f=W(e,Math.min(n??e.length,H)),T=[];let _=null;for(const I of f){const M=ot.v4(),g=w(I),E=this.enqueueRequest({description:A(o.PATCH,this.name,!0),method:o.PATCH,url:`${this.url}/bulk/`,payload:{payloads:I},blockers:(_?[_]:[]).concat(g),blocks:[M].concat(g)});T.push(E),_=M}return Promise.all(T).then(I=>{this.dispatch(a(I.flat()))}).catch(()=>{this.dispatch(a(u))}),[m,T]}async refreshStore(e,n){const{initialize:a}=this.actions,r=await this.list({queryParams:{procedure_type__organization:e}},n);return this.dispatch(a(r)),r}}class CR extends j{constructor(){super(...arguments);h(this,"name","Procedure Type Attachment");h(this,"url","/procedure-type-attachments");h(this,"actions",{addOne:pP,addMany:yP,setOne:fP,setMany:SP,updateOne:AP,updateMany:IP,deleteOne:TP,deleteMany:OP,initialize:mP});h(this,"selectors",{selectById:bP,selectByIds:_P})}getId(e){return e.uuid}getBlockers(e){return[e.procedure_type]}getBlocks(e){return[e.uuid]}buildModel(e){const n=this.select(r=>{var c;return((c=r.userReducer.currentUser)==null?void 0:c.id)??null}),a=new Date().toISOString();return P({...e,created_by:n,submitted_at:a})}buildPayload(e){return{uuid:e.uuid,submitted_at:e.submitted_at,file_name:e.file_name,file_sha1:e.file_sha1,file_extension:e.file_extension,procedure_type:e.procedure_type}}buildBulkPayload(e){return{uuid:e.uuid,file_name:e.file_name,file_sha1:e.file_sha1,file_extension:e.file_extension,procedure_type:e.procedure_type}}async refreshStore(e,n){const{initialize:a}=this.actions,r=await this.list({queryParams:{procedure_type__organization:e}},n);return this.dispatch(a(r)),r}}class $R extends j{constructor(){super(...arguments);h(this,"name","Procedure Type Fields Attachment");h(this,"url","/procedure-type-fields-attachments");h(this,"actions",{addOne:RP,addMany:wP,setOne:vP,setMany:EP,updateOne:VP,updateMany:BP,deleteOne:zP,deleteMany:DP,initialize:MP});h(this,"selectors",{selectById:CP,selectByIds:$P})}getId(e){return e.uuid}getBlockers(e){return[e.fields_revision]}getBlocks(e){return[e.uuid]}buildModel(e){const n=this.select(r=>{var c;return((c=r.userReducer.currentUser)==null?void 0:c.id)??null}),a=new Date().toISOString();return P({...e,created_by:n,submitted_at:a})}buildPayload(e){const{uuid:n,field_identifier:a,fields_revision:r,file_sha1:c,file_name:u,file_extension:d}=e;return{uuid:n,submitted_at:e.submitted_at,field_identifier:a,fields_revision:r,file_sha1:c,file_name:u,file_extension:d}}buildBulkPayload(e){const{uuid:n,field_identifier:a,fields_revision:r,file_sha1:c,file_name:u,file_extension:d}=e;return{uuid:n,field_identifier:a,fields_revision:r,file_sha1:c,file_name:u,file_extension:d}}async refreshStore(e,n){const{initialize:a}=this.actions,r=await this.list({queryParams:{fields_revision__procedure_type__organization:e}},n);return this.dispatch(a(r)),r}}class UR extends v{constructor(){super(...arguments);h(this,"name","Procedure Type Fields");h(this,"url","/procedure-type-fields");h(this,"actions",{addOne:kP,addMany:NP,setOne:GP,setMany:HP,updateOne:WP,updateMany:KP,deleteOne:YP,deleteMany:ZP,initialize:LP});h(this,"selectors",{selectById:QP,selectByIds:xP})}add(e){const{addOne:n,updateOne:a,deleteOne:r}=this.actions,c=this.select(m=>{var f;return((f=m.userReducer.currentUser)==null?void 0:f.id)??null}),u=new Date().toISOString(),d=P({...e,created_by:c,submitted_at:u});this.dispatch(n(d));const p=this.enqueueRequest({description:A(o.POST,this.name,!1),method:o.POST,url:`${this.url}/`,payload:R(d),blockers:[d.procedure_type],blocks:[d.uuid]});return p.then(m=>{this.dispatch(a(m))}).catch(m=>{throw this.dispatch(r(d.uuid)),m}),[d,p]}async refreshStore(e,n){const{initialize:a}=this.actions,r=await this.list({queryParams:{procedure_type__organization:e}},n);return this.dispatch(a(r)),r}}class LR extends j{constructor(){super(...arguments);h(this,"name","Procedure Field Values Attachment");h(this,"url","/procedure-field-values-attachments");h(this,"actions",{addOne:sF,addMany:na,setOne:iF,setMany:nF,updateOne:aF,updateMany:cF,deleteOne:rF,deleteMany:aa,initialize:tF});h(this,"selectors",{selectById:lF,selectByIds:oF})}getId(e){return e.uuid}getBlockers(e){return[e.field_values]}getBlocks(e){return[e.uuid]}buildModel(e){const n=this.select(r=>{var c;return((c=r.userReducer.currentUser)==null?void 0:c.id)??null}),a=new Date().toISOString();return P({...e,created_by:n,submitted_at:a})}buildPayload(e){const{uuid:n,field_identifier:a,field_values:r,file_sha1:c,file_name:u,file_extension:d}=e;return{uuid:n,submitted_at:e.submitted_at,field_identifier:a,field_values:r,file_sha1:c,file_name:u,file_extension:d}}buildBulkPayload(e){const{uuid:n,field_identifier:a,field_values:r,file_sha1:c,file_name:u,file_extension:d}=e;return{uuid:n,field_identifier:a,field_values:r,file_sha1:c,file_name:u,file_extension:d}}async bulkDelete(e){const{deleteMany:n,addMany:a}=this.actions,{selectByIds:r}=this.selectors,c=this.select(r(e));this.dispatch(n(e));try{return await this.enqueueRequest({description:A(o.DELETE,this.name,!0),method:o.DELETE,url:`${this.url}/bulk/`,payload:{uuids:e},blockers:e,blocks:[]})}catch(u){throw this.dispatch(a(c)),u}}async refreshStore(e,n){const{initialize:a}=this.actions,c=(await this.listPaginated({queryParams:{field_values__procedure__project:e,latest:!0}},n)).flat();return this.dispatch(a(c)),c}}class kR extends v{constructor(){super(...arguments);h(this,"name","Procedure Field Values");h(this,"url","/procedure-field-values");h(this,"actions",{addOne:yF,addMany:fF,setOne:SF,setMany:AF,updateOne:IF,updateMany:TF,deleteOne:OF,deleteMany:PF,initialize:pF});h(this,"selectors",{selectById:_F,selectByIds:gF})}add(e){const{addOne:n,updateOne:a,deleteOne:r}=this.actions,c=this.select(m=>{var f;return((f=m.userReducer.currentUser)==null?void 0:f.id)??null}),u=new Date().toISOString(),d=P({...e,created_by:c,submitted_at:u}),p=this.enqueueRequest({description:A(o.POST,this.name,!1),method:o.POST,url:`${this.url}/`,payload:R(d),blockers:[e.fields_revision,e.procedure],blocks:[d.uuid]});return this.dispatch(n(d)),p.then(m=>{this.dispatch(a(m))}).catch(()=>{this.dispatch(r(d.uuid))}),[d,p]}bulkAdd(e,n){const{addMany:a,updateMany:r,deleteMany:c}=this.actions,u=new Date().toISOString(),d=this.select(_=>{var I;return((I=_.userReducer.currentUser)==null?void 0:I.id)??null}),p=[],m=W(e,Math.min(n??e.length,H)),f=[];for(const _ of m){const I=[],M=[],g=[];for(const E of _){const V=P({...E,values:E.values,created_by:d,submitted_at:u});p.push(V),I.push(R(V)),M.push(V.procedure,V.fields_revision),g.push(V.uuid)}f.push({payload:{payloads:I,submitted_at:u},blockers:M,blocks:g})}this.dispatch(a(p));const T=f.map(_=>{const{payload:I,blocks:M,blockers:g}=_;return this.enqueueRequest({description:A(o.POST,this.name,!0),method:o.POST,url:`${this.url}/bulk/`,payload:I,blockers:g,blocks:M})});return Promise.all(T).then(_=>{this.dispatch(r(_.flat()))}).catch(()=>{this.dispatch(c(w(p)))}),[p,Promise.all(T).then(_=>_.flat())]}update(e){const{updateOne:n}=this.actions,{selectById:a}=this.selectors,r=this.select(a(e.uuid));if(!r)throw new Error(`Expected ProcedureFieldValues with uuid ${e.uuid} to exist`);const c={...r,...e};this.dispatch(n(c));const u=this.enqueueRequest({description:A(o.PATCH,this.name,!1),method:o.PATCH,url:`${this.url}/${e.uuid}/`,payload:e,blockers:[c.fields_revision,c.procedure],blocks:[c.uuid]});return u.then(d=>{this.dispatch(n(d))}).catch(()=>{this.dispatch(n(r))}),[c,u]}async delete(e){const{deleteOne:n,addOne:a}=this.actions,{selectById:r}=this.selectors,c=this.select(r(e));if(!c)throw new Error(`Expected submission with uuid ${e} to exist`);const u=this.select(hF(e));this.dispatch(n(e)),this.dispatch(aa(w(u)));try{return await this.enqueueRequest({description:A(o.DELETE,this.name,!1),method:o.DELETE,url:`${this.url}/${e}/`,blockers:[e],blocks:[]})}catch(d){throw this.dispatch(a(c)),this.dispatch(na(u)),d}}async refreshStore(e,n){const{initialize:a}=this.actions,c=(await this.listPaginated({queryParams:{procedure__project:e,latest:!0}},n)).flat();return this.dispatch(a(c)),c}}class NR extends v{constructor(){super(...arguments);h(this,"name","Procedure Type");h(this,"url","/procedure-types");h(this,"actions",{addOne:wF,addMany:vF,setOne:EF,setMany:VF,updateOne:BF,updateMany:zF,deleteOne:DF,deleteMany:jF,initialize:RF});h(this,"selectors",{selectById:$F,selectByIds:UF})}add(e){const{addOne:n,updateOne:a,deleteOne:r}=this.actions,c=P({...e,created_by:this.select(d=>{var p;return((p=d.userReducer.currentUser)==null?void 0:p.id)??null}),submitted_at:new Date().toISOString()});this.dispatch(n(c));const u=this.enqueueRequest({description:A(o.POST,this.name,!1),method:o.POST,url:`${this.url}/`,payload:R(c),blockers:[],blocks:[c.uuid]});return u.then(d=>{this.dispatch(a(d))}).catch(()=>{this.dispatch(r(c.uuid))}),[c,u]}update(e){const{updateOne:n}=this.actions,{selectById:a}=this.selectors,r=this.select(a(e.uuid));if(!r)throw new Error(`Expected procedure type with uuid ${e.uuid} to exist`);const c={...r,...e};this.dispatch(n(c));const u=this.enqueueRequest({description:A(o.PATCH,this.name,!1),method:o.PATCH,url:`${this.url}/${e.uuid}/`,payload:e,blockers:[r.uuid],blocks:[r.uuid]});return u.then(d=>{this.dispatch(n(d))}).catch(()=>{this.dispatch(n(r))}),[c,u]}async delete(e){const{deleteOne:n,addOne:a}=this.actions,{selectById:r}=this.selectors,c=this.select(r(e));if(!c)throw new Error(`Expected procedure type with uuid ${e} to exist`);const u=this.select(rI(e));this.dispatch(n(e)),this.dispatch(Mt(w(u)));try{return await this.enqueueRequest({description:A(o.DELETE,this.name,!1),method:o.DELETE,url:`${this.url}/${e}/`,blockers:[e],blocks:[]})}catch(d){throw this.dispatch(a(c)),this.dispatch(gt(u)),d}}async refreshStore(e,n){const{initialize:a}=this.actions,r=await this.list({queryParams:{organization:e}},n);return this.dispatch(a(r)),r}}class GR extends v{constructor(){super(...arguments);h(this,"name","Team Membership");h(this,"url","/team-memberships");h(this,"actions",{addOne:GF,addMany:HF,setOne:WF,setMany:KF,updateOne:YF,updateMany:ZF,deleteOne:JF,deleteMany:XF,initialize:NF});h(this,"selectors",{selectById:eb,selectByIds:tb})}add(e){const{addOne:n,updateOne:a,deleteOne:r}=this.actions,c=P({...e,created_by:this.select(d=>{var p;return((p=d.userReducer.currentUser)==null?void 0:p.id)??null})});this.dispatch(n(c));const u=this.enqueueRequest({description:A(o.POST,this.name,!1),method:o.POST,url:`${this.url}/`,payload:R(c),blockers:[e.team],blocks:[c.uuid]});return u.then(d=>{this.dispatch(a(d))}).catch(()=>{this.dispatch(r(c.uuid))}),[c,u]}bulkAdd(e){const{addMany:n,updateMany:a,deleteMany:r}=this.actions,c=this.select(p=>{var m;return((m=p.userReducer.currentUser)==null?void 0:m.id)??null}),u=e.map(p=>P({...p,created_by:c}));this.dispatch(n(u));const d=this.enqueueRequest({description:A(o.POST,this.name,!0),method:o.POST,url:`${this.url}/bulk/`,payload:{team_memberships:u.map(p=>R(p))},blockers:u.map(p=>p.team),blocks:u.map(p=>p.uuid)});return d.then(p=>{this.dispatch(a(p))}).catch(()=>{this.dispatch(r(u.map(p=>p.uuid)))}),[u,d]}async delete(e){const{addOne:n,deleteOne:a}=this.actions,{selectById:r}=this.selectors,c=this.select(r(e));if(!c)throw new Error(`Expected team membership with uuid ${e} to exist`);this.dispatch(a(e));try{return await this.enqueueRequest({description:A(o.DELETE,this.name,!1),method:o.DELETE,url:`${this.url}/${e}/`,blockers:[e],blocks:[e]})}catch(u){throw this.dispatch(n(c)),u}}async refreshStore(e,n){const{initialize:a}=this.actions,r=await this.list({queryParams:{team__organization:e}},n);return this.dispatch(a(r)),r}}class HR extends v{constructor(){super(...arguments);h(this,"name","Team");h(this,"url","/teams");h(this,"actions",{addOne:nb,addMany:ab,setOne:cb,setMany:rb,updateOne:db,updateMany:ub,deleteOne:lb,deleteMany:ob,initialize:ib});h(this,"selectors",{selectById:mb,selectByIds:pb})}add(e){const{addOne:n,updateOne:a,deleteOne:r}=this.actions,c=P({...e,submitted_at:new Date().toISOString(),created_by:this.select(d=>{var p;return((p=d.userReducer.currentUser)==null?void 0:p.id)??null})});this.dispatch(n(c));const u=this.enqueueRequest({description:A(o.POST,this.name,!1),method:o.POST,url:`${this.url}/`,payload:R(c),blockers:[],blocks:[c.uuid]});return u.then(d=>{this.dispatch(a(d))}).catch(()=>{this.dispatch(r(c.uuid))}),[c,u]}update(e){const{updateOne:n}=this.actions,{selectById:a}=this.selectors,r=this.select(a(e.uuid));if(!r)throw new Error(`Expected team with uuid ${e.uuid} to exist`);const c={...r,...e};this.dispatch(n(c));const u=this.enqueueRequest({description:A(o.PATCH,this.name,!1),method:o.PATCH,url:`${this.url}/${e.uuid}/`,payload:R(e),blockers:[e.uuid],blocks:[e.uuid]});return u.then(d=>{this.dispatch(n(d))}).catch(()=>{this.dispatch(n(r))}),[c,u]}async delete(e){const{addOne:n,deleteOne:a}=this.actions,{selectById:r}=this.selectors,c=this.select(r(e));if(!c)throw new Error(`Expected team with uuid ${e} to exist`);this.dispatch(a(e));try{return await this.enqueueRequest({description:A(o.DELETE,this.name,!1),method:o.DELETE,url:`${this.url}/${e}/`,blockers:[e],blocks:[e]})}catch(u){throw this.dispatch(n(c)),u}}async refreshStore(e,n){const{initialize:a}=this.actions,r=await this.list({queryParams:{organization:e}},n);return this.dispatch(a(r)),r}}class WR extends It{constructor(){super(...arguments);h(this,"name","User");h(this,"url","/user");h(this,"actions",{addOne:hn,addMany:Ef,setOne:vf,setMany:wf,updateOne:Bf,updateMany:Vf,deleteOne:mn,deleteMany:zf,initialize:Rf});h(this,"selectors",{selectById:ns,selectByIds:qf})}async list(e,n){const{organizationUuid:a,...r}=e,c=a?`/organizations/${a}${this.url}s/`:`/${this.url}`;return this.performRequest({method:o.GET,url:c,...r},n)}async refreshStore(e,n){const{initialize:a}=this.actions,r=await this.list({organizationUuid:e},n);return this.dispatch(a(r)),r}}async function Ia(t,s,e,n,a){const r=n instanceof At;r&&s.checkAuth!==!1&&await n.auth.prepareAuth();const c={queryParams:"",isAuthNeeded:!0},{s3url:u,payload:d,headers:p,method:m,queryParams:f,attachmentHash:T,isExternalUrl:_,isAuthNeeded:I,isResponseBlob:M}={...c,...s};let g=s.url;const E=T?await e.files.getFileFromCache(T):void 0,V=E?await Da(E):void 0;if(T){if(!V)throw new Error(`Cannot upload file ${T} because it's not cached.`);if(V.size===0)throw new Error(`Cannot upload file ${T} because its has a size of 0.`)}!_&&!g.startsWith("http")&&(!g.startsWith("/")&&!g.startsWith("blob:")&&(g="/"+g),g=t+g);const D=C=>{if(T){if(!u)throw new Error(`No S3 URL for file ${T}`);if("warning"in u)throw new Error(`S3 URL warning for file ${T}`);if(!V)throw new Error(`No file for file ${T}`);const L=u.fields["x-amz-checksum-sha1"];if(!L)throw new Error(`No checksum for file ${T}`);return C.set("x-amz-checksum-sha1",L).field({...d,...u.fields}).attach("file",V)}return C.send(d)},q={[o.GET]:()=>M?Ot.get(g.toString()).responseType("blob"):Ot.get(g.toString()),[o.POST]:()=>{const C=Ot.post(g.toString());return D(C)},[o.PATCH]:()=>{const C=Ot.patch(g.toString());return D(C)},[o.PUT]:()=>{const C=Ot.put(g.toString());return D(C)},[o.DELETE]:()=>{const C=Ot.delete(g.toString());return D(C)}}[m];let N=q();const hs=()=>{console.debug("aborting request:",s.url),N.abort()};a==null||a.addEventListener("abort",hs),I&&r&&(N=n.auth.applyAuth(N)),p&&(N=N.set(p));try{return await N.query(f)}catch(C){const L=_b(C),Ut=L==null?void 0:L.status;throw r&&L&&n.auth.isAuthFailure(L)?(await n.auth.handleUnauthorized(N,L),new U({response:L,innerError:C,discard:!1})):new U({response:L,innerError:C,discard:fa.includes(Ut)})}finally{a==null||a.removeEventListener("abort",hs)}}class KR{constructor(s){h(this,"store");this.store=s}_performRequest(s,e,n,a){const r=new ms,c={...e,uuid:e.uuid??ot.v4()};return Ia(s,c,this,n,a).then(u=>{r.resolve(u.body)}).catch(u=>{u instanceof Error?r.reject(u):r.reject(new Error((u??Rt).toString()))}),r}async performRequest(s,e,n,a){return this._performRequest(s,e,n,a).then(r=>{if(r instanceof U)throw r;return r})}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 ms,r={...s,BASE_URL:e,serviceName:n},c=this.store.dispatch(yS(r)),u=p=>{if(p)a.resolve(p.body);else{const m=new U({message:"Could not get a response from the server.",response:p,discard:!0});a.reject(m)}},d=p=>{p instanceof U?p.options.discard=!0:(console.error("Received an unexpected error while processing a request:",p,`
14
- Converting error to APIError and discarding.`),p=new U({message:"An error occurred while processing the request.",innerError:p,discard:!0})),a.reject(p)};return c.then(u,d),a}async performPagination(s,e,n,a,r){const c={...e,queryParams:{...e.queryParams,paginate:!0,limit:n}},{method:u}=c,d=[];let p=await this.performRequest(s,c,a,r);for(d.push(p.results);p.next;)p=await this.performRequest(s,{url:p.next,method:u},a,r),d.push(p.results);return d}}class wt{constructor(){h(this,"graph");h(this,"requestAttemptCounter");this.graph=new Hb.DepGraph,this.requestAttemptCounter={}}static _fromOutbox(s){const e=new wt;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 r=0;r<n;r++){const c=s[r];if(!c){console.error("Previous outbox item was undefined");continue}c.payload.uuid!==a.payload.uuid&&c.payload.blocks.some(u=>a.payload.blockers.includes(u))&&wt._addDependency(a.payload.uuid,c.payload.uuid,e.graph)}}return e}_addDependency(s,e){wt._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),a=new Set(n.payload.blocks);s.payload.blockers.some(r=>a.has(r))&&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;const n=this.graph.getNodeData(e),a=new Set(s.payload.blocks);n.payload.blockers.some(r=>a.has(r))&&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 r=this.requestAttemptCounter[a]||0;r<e&&(e=r,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(r=>r.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,r=this.requestAttemptCounter[n.payload.uuid]||0;return a-r}),s}registerRetry(s){this.requestAttemptCounter[s]=(this.requestAttemptCounter[s]||0)+1}}let Mb;function Rb(t){Mb=t}function vt(){return Mb}let wb;function vb(t){wb=t}function Eb(){return wb}let Ta=null;function Tt(){const t=vt();if(!t)return console.warn("Client store not set; cannot get outbox coordinator yet."),null;if(Ta)return Ta;const s=t.getState().offline.outbox,e=wt._fromOutbox(s);return Ta=e,e}const YR=(t,s)=>{const e=new s(t);return vb(e),Rb(t),e};class ZR{constructor(s){h(this,"_all");h(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 Oa{constructor(){h(this,"next");this.next=null}then(s){return new ZR(this).then(s)}async run(s){if(this.next)return this.next.run(s);{if(console.debug("Middleware finished. Performing request:",s.payload.url),!vt())throw new Error("Client store not set");const n=Eb();if(!n)throw new Error("Client SDK not set");return Pb(s,n)}}}class Vb extends Oa{async run(s){return super.run(s)}}class Bb extends Oa{async run(s){return super.run(s)}}const zb=new Vb().then(new Bb).compile();function Db(t){var s;return(s=zb[0])==null?void 0:s.run(t)}var jb=(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))(jb||{});i.ALL_MIDDLEWARE=zb,i.APIError=U,i.AgentService=bM,i.AssetAttachmentService=_M,i.AssetCommentService=gM,i.AssetService=MM,i.AssetStatusType=wa,i.AssetTypeAttachmentService=RM,i.AssetTypeFieldValuesAttachmentService=EM,i.AssetTypeFieldValuesService=VM,i.AssetTypeFieldsAttachmentService=wM,i.AssetTypeFieldsService=vM,i.AssetTypeIdentifierService=BM,i.AssetTypeIdentifierValueService=zM,i.AssetTypeService=DM,i.AssetTypeStatusService=jM,i.BaseApiService=At,i.BaseAuthService=gb,i.BaseModelApiService=It,i.BaseOfflineFileModelApiService=j,i.BaseOfflineModelApiService=v,i.BaseSDK=KR,i.COMMON_AUTO_FIELDS=Ma,i.DEFAULT_PAGE_SIZE=Sb,i.DISCARD_HTTP_STATUSES=fa,i.DeferredPromise=ms,i.DocumentAttachmentService=qM,i.DocumentService=CM,i.EMPTY_ARRAY=ba,i.EMPTY_OBJECT=_a,i.EmailDomainsService=$M,i.EmailVerificationService=UM,i.FileService=LM,i.FormIdentifierService=kM,i.FormIdentifierValueService=NM,i.FormRevisionAttachmentService=GM,i.FormRevisionService=HM,i.FormService=WM,i.FormSubmissionFieldValuesAttachmentService=YM,i.FormSubmissionFieldValuesService=ZM,i.FormSubmissionService=JM,i.FormSubscriberService=KM,i.GeoImageService=XM,i.HttpMethod=o,i.IssueAssociationService=QM,i.IssueAttachmentService=xM,i.IssueCommentAttachmentService=eR,i.IssueCommentService=tR,i.IssuePriorityType=Ea,i.IssueService=sR,i.IssueStatusType=va,i.IssueTypeAttachmentService=iR,i.IssueTypeFieldValuesAttachmentService=cR,i.IssueTypeFieldValuesService=rR,i.IssueTypeFieldsAttachmentService=nR,i.IssueTypeFieldsService=aR,i.IssueTypeIdentifierService=dR,i.IssueTypeIdentifierValueService=uR,i.IssueTypePriorityService=lR,i.IssueTypeService=oR,i.IssueTypeStatusService=hR,i.IssueUpdateChange=$,i.IssueUpdateService=mR,i.JWTService=fR,i.MAX_SERVICE_BATCH_SIZE=H,i.OUTBOX_RETRY_DELAY=ga,i.OfflineAnalyticsMiddleware=Vb,i.OfflineMiddleware=Oa,i.OrganizationAccessLevel=Ra,i.OrganizationAccessService=SR,i.OrganizationService=AR,i.OutboxCoordinator=wt,i.ProcdureInitiativeService=jR,i.ProcedureFieldValuesAttachmentService=LR,i.ProcedureFieldValuesService=kR,i.ProcedureService=bR,i.ProcedureStepAssigneeService=_R,i.ProcedureStepCommentService=gR,i.ProcedureStepDefaultAssigneeService=MR,i.ProcedureStepDefaultReviewerService=RR,i.ProcedureStepEventService=wR,i.ProcedureStepEventType=Va,i.ProcedureStepFieldValuesAttachmentService=VR,i.ProcedureStepFieldValuesReviewService=BR,i.ProcedureStepFieldValuesReviewType=Ba,i.ProcedureStepFieldValuesService=zR,i.ProcedureStepFieldsAttachmentService=vR,i.ProcedureStepFieldsService=ER,i.ProcedureStepReviewerService=DR,i.ProcedureStepService=qR,i.ProcedureTypeAttachmentService=CR,i.ProcedureTypeFieldsAttachmentService=$R,i.ProcedureTypeFieldsService=UR,i.ProcedureTypeService=NR,i.ProjectAccessService=IR,i.ProjectAttachmentService=TR,i.ProjectCommentService=OR,i.ProjectFileService=PR,i.ProjectService=FR,i.RESET_ORGANIZATION_STATE=b,i.RESET_PROJECT_STATE=B,i.RESET_STATE=O,i.RateLimitingMiddleware=Bb,i.SelectorBuilder=h_,i.TeamMembershipService=GR,i.TeamService=HR,i.UNKNOWN_ERROR_MESSAGE=Rt,i.UserService=WR,i.VerificationCodeType=jb,i._setLatestRetryTime=SS,i.addAsset=Vc,i.addAssetAttachment=ac,i.addAssetAttachments=Os,i.addAssetComment=Ac,i.addAssetComments=kt,i.addAssetType=Dd,i.addAssetTypeAttachment=Hc,i.addAssetTypeAttachments=ws,i.addAssetTypeFieldValues=Hr,i.addAssetTypeFieldValuesAttachment=Vr,i.addAssetTypeFieldValuesAttachments=js,i.addAssetTypeFieldValuesMany=Wr,i.addAssetTypeFields=Ar,i.addAssetTypeFieldsAttachment=nr,i.addAssetTypeFieldsAttachments=ar,i.addAssetTypeFieldsMany=Ir,i.addAssetTypeIdentifier=ad,i.addAssetTypeIdentifierValue=Id,i.addAssetTypeIdentifierValues=Td,i.addAssetTypeIdentifiers=cd,i.addAssetTypeStatus=Kd,i.addAssetTypeStatuses=Yd,i.addAssetTypes=jd,i.addAssets=gs,i.addConversation=xa,i.addConversations=m_,i.addDocument=bu,i.addDocumentAttachment=lu,i.addDocumentAttachments=ou,i.addDocuments=_u,i.addEmailDomain=Cu,i.addEmailDomains=$u,i.addForm=mo,i.addFormIdentifier=Qu,i.addFormIdentifierValue=hl,i.addFormIdentifierValues=ml,i.addFormIdentifiers=xu,i.addFormRevision=Ul,i.addFormRevisionAttachment=gl,i.addFormRevisionAttachments=Ml,i.addFormRevisions=ni,i.addFormSubmission=xo,i.addFormSubmissionFieldValues=Co,i.addFormSubmissionFieldValuesAttachment=Mo,i.addFormSubmissionFieldValuesAttachments=hi,i.addFormSubmissionFieldValuesMany=Ai,i.addFormSubmissions=mt,i.addFormSubscriber=xl,i.addFormSubscribers=ri,i.addForms=po,i.addGeoImage=fh,i.addGeoImages=Sh,i.addIssue=vm,i.addIssueAssociation=Vh,i.addIssueAssociations=Ft,i.addIssueAttachment=Gh,i.addIssueAttachments=gi,i.addIssueComment=Sm,i.addIssueCommentAttachment=im,i.addIssueCommentAttachments=nm,i.addIssueComments=Am,i.addIssueType=Hy,i.addIssueTypeAttachment=Nm,i.addIssueTypeAttachments=Gm,i.addIssueTypeFieldValues=Sp,i.addIssueTypeFieldValuesAttachment=Hp,i.addIssueTypeFieldValuesAttachments=Ni,i.addIssueTypeFieldValuesMany=Ap,i.addIssueTypeFields=Ep,i.addIssueTypeFieldsAttachment=ip,i.addIssueTypeFieldsAttachments=np,i.addIssueTypeFieldsMany=Vp,i.addIssueTypeIdentifier=ny,i.addIssueTypeIdentifierValue=Ay,i.addIssueTypeIdentifierValues=Iy,i.addIssueTypeIdentifiers=ay,i.addIssueTypePriorities=By,i.addIssueTypePriority=Vy,i.addIssueTypeStatus=cf,i.addIssueTypeStatuses=rf,i.addIssueTypes=Wy,i.addIssueUpdate=an,i.addIssueUpdates=cn,i.addIssues=zi,i.addOrganization=iS,i.addOrganizationAccess=Uf,i.addOrganizationAccesses=Lf,i.addOrganizations=sS,i.addProcedure=XA,i.addProcedureFieldValues=yF,i.addProcedureFieldValuesAttachment=sF,i.addProcedureFieldValuesAttachments=na,i.addProcedureFieldValuesMany=fF,i.addProcedureInitiative=qA,i.addProcedureInitiatives=CA,i.addProcedureStep=iP,i.addProcedureStepAssignee=mI,i.addProcedureStepAssignees=pI,i.addProcedureStepComment=MI,i.addProcedureStepComments=RI,i.addProcedureStepDefaultAssignee=LI,i.addProcedureStepDefaultAssignees=kI,i.addProcedureStepDefaultReviewer=tT,i.addProcedureStepDefaultReviewers=sT,i.addProcedureStepEvent=yT,i.addProcedureStepEvents=fT,i.addProcedureStepFieldValues=pO,i.addProcedureStepFieldValuesAttachment=tO,i.addProcedureStepFieldValuesAttachments=Ln,i.addProcedureStepFieldValuesMany=yO,i.addProcedureStepFieldValuesReview=RO,i.addProcedureStepFieldValuesReviews=Wn,i.addProcedureStepFields=kT,i.addProcedureStepFieldsAttachment=wT,i.addProcedureStepFieldsAttachments=Dn,i.addProcedureStepFieldsMany=NT,i.addProcedureStepReviewer=LO,i.addProcedureStepReviewers=kO,i.addProcedureSteps=nP,i.addProcedureType=wF,i.addProcedureTypeAttachment=pP,i.addProcedureTypeAttachments=yP,i.addProcedureTypeFields=kP,i.addProcedureTypeFieldsAttachment=RP,i.addProcedureTypeFieldsAttachments=wP,i.addProcedureTypeFieldsMany=NP,i.addProcedureTypes=vF,i.addProcedures=gt,i.addProject=gA,i.addProjectAccess=OS,i.addProjectAccesses=PS,i.addProjectAttachment=zS,i.addProjectAttachments=DS,i.addProjectComment=YS,i.addProjectComments=ZS,i.addProjectFile=lA,i.addProjectFiles=oA,i.addProjects=_A,i.addTeam=nb,i.addTeamMembership=GF,i.addTeamMemberships=HF,i.addTeams=ab,i.addUser=hn,i.addUsers=Ef,i.agentsReducer=sc,i.agentsSlice=As,i.areArraysEqual=Zb,i.assetAttachmentReducer=yc,i.assetAttachmentSlice=Ts,i.assetCommentReducer=wc,i.assetCommentSlice=bs,i.assetReducer=kc,i.assetSlice=_s,i.assetTypeAttachmentReducer=tr,i.assetTypeAttachmentSlice=Rs,i.assetTypeFieldValuesAttachmentReducer=kr,i.assetTypeFieldValuesAttachmentSlice=Ds,i.assetTypeFieldValuesReducer=sd,i.assetTypeFieldValuesSlice=$s,i.assetTypeFieldsAttachmentReducer=yr,i.assetTypeFieldsAttachmentSlice=Vs,i.assetTypeFieldsReducer=wr,i.assetTypeFieldsSlice=zs,i.assetTypeIdentifierReducer=fd,i.assetTypeIdentifierSlice=Us,i.assetTypeIdentifierValueReducer=vd,i.assetTypeIdentifierValueSlice=ks,i.assetTypeReducer=Gd,i.assetTypeSlice=Ns,i.assetTypeStatusReducer=nu,i.assetTypeStatusSlice=Hs,i.assetTypeStatusSortFn=Wa,i.authReducer=ru,i.authSlice=Yt,i.baseReducer=pM,i.baseReducers=ya,i.clearTokens=V_,i.createModelAdapter=F,i.createOfflineAction=mS,i.createPayload=R,i.createSelectionAdapter=Wb,i.deleteAsset=Dc,i.deleteAssetAttachment=lc,i.deleteAssetAttachments=Ps,i.deleteAssetComment=Fc,i.deleteAssetComments=Nt,i.deleteAssetType=$d,i.deleteAssetTypeAttachment=Jc,i.deleteAssetTypeAttachments=vs,i.deleteAssetTypeFieldValues=Xr,i.deleteAssetTypeFieldValuesAttachment=qr,i.deleteAssetTypeFieldValuesAttachments=qs,i.deleteAssetTypeFieldValuesMany=Qr,i.deleteAssetTypeFields=br,i.deleteAssetTypeFieldsAttachment=lr,i.deleteAssetTypeFieldsAttachments=or,i.deleteAssetTypeFieldsMany=_r,i.deleteAssetTypeIdentifier=od,i.deleteAssetTypeIdentifierValue=_d,i.deleteAssetTypeIdentifierValues=gd,i.deleteAssetTypeIdentifiers=hd,i.deleteAssetTypeStatus=xd,i.deleteAssetTypeStatuses=eu,i.deleteAssetTypes=Ud,i.deleteAssets=Ms,i.deleteConversation=f_,i.deleteConversations=S_,i.deleteDocument=vu,i.deleteDocumentAttachment=fu,i.deleteDocumentAttachments=Su,i.deleteDocuments=Eu,i.deleteEmailDomain=Gu,i.deleteEmailDomains=Hu,i.deleteForm=Io,i.deleteFormIdentifier=nl,i.deleteFormIdentifierValue=Al,i.deleteFormIdentifierValues=Il,i.deleteFormIdentifiers=al,i.deleteFormRevision=Hl,i.deleteFormRevisionAttachment=Vl,i.deleteFormRevisionAttachments=Bl,i.deleteFormRevisions=ai,i.deleteFormSubmission=sh,i.deleteFormSubmissionFieldValues=No,i.deleteFormSubmissionFieldValuesAttachment=Vo,i.deleteFormSubmissionFieldValuesAttachments=mi,i.deleteFormSubmissionFieldValuesMany=Ii,i.deleteFormSubmissions=pt,i.deleteFormSubscriber=no,i.deleteFormSubscribers=di,i.deleteForms=To,i.deleteGeoImage=Th,i.deleteGeoImages=Oh,i.deleteIssue=Dm,i.deleteIssueAssociation=Bh,i.deleteIssueAssociations=bt,i.deleteIssueAttachment=Zh,i.deleteIssueAttachments=Mi,i.deleteIssueComment=Fm,i.deleteIssueCommentAttachment=um,i.deleteIssueCommentAttachments=lm,i.deleteIssueComments=bm,i.deleteIssueType=Xy,i.deleteIssueTypeAttachment=Zm,i.deleteIssueTypeAttachments=Jm,i.deleteIssueTypeFieldValues=Fp,i.deleteIssueTypeFieldValuesAttachment=Jp,i.deleteIssueTypeFieldValuesAttachments=Gi,i.deleteIssueTypeFieldValuesMany=bp,i.deleteIssueTypeFields=qp,i.deleteIssueTypeFieldsAttachment=up,i.deleteIssueTypeFieldsAttachments=lp,i.deleteIssueTypeFieldsMany=Cp,i.deleteIssueTypeIdentifier=ly,i.deleteIssueTypeIdentifierValue=by,i.deleteIssueTypeIdentifierValues=_y,i.deleteIssueTypeIdentifiers=oy,i.deleteIssueTypePriorities=$y,i.deleteIssueTypePriority=Cy,i.deleteIssueTypeStatus=hf,i.deleteIssueTypeStatuses=mf,i.deleteIssueTypes=Qy,i.deleteIssueUpdate=rn,i.deleteIssueUpdates=dn,i.deleteIssues=Di,i.deleteOrganization=cS,i.deleteOrganizationAccess=Wf,i.deleteOrganizationAccesses=Kf,i.deleteOrganizations=rS,i.deleteProcedure=sI,i.deleteProcedureFieldValues=OF,i.deleteProcedureFieldValuesAttachment=rF,i.deleteProcedureFieldValuesAttachments=aa,i.deleteProcedureFieldValuesMany=PF,i.deleteProcedureInitiative=NA,i.deleteProcedureInitiatives=GA,i.deleteProcedureStep=rP,i.deleteProcedureStepAssignee=II,i.deleteProcedureStepAssignees=TI,i.deleteProcedureStepComment=BI,i.deleteProcedureStepComments=zI,i.deleteProcedureStepDefaultAssignee=KI,i.deleteProcedureStepDefaultAssignees=YI,i.deleteProcedureStepDefaultReviewer=rT,i.deleteProcedureStepDefaultReviewers=dT,i.deleteProcedureStepEvent=OT,i.deleteProcedureStepEvents=PT,i.deleteProcedureStepFieldValues=TO,i.deleteProcedureStepFieldValuesAttachment=cO,i.deleteProcedureStepFieldValuesAttachments=kn,i.deleteProcedureStepFieldValuesMany=OO,i.deleteProcedureStepFieldValuesReview=BO,i.deleteProcedureStepFieldValuesReviews=Kn,i.deleteProcedureStepFields=YT,i.deleteProcedureStepFieldsAttachment=zT,i.deleteProcedureStepFieldsAttachments=jn,i.deleteProcedureStepFieldsMany=ZT,i.deleteProcedureStepReviewer=KO,i.deleteProcedureStepReviewers=YO,i.deleteProcedureSteps=dP,i.deleteProcedureType=DF,i.deleteProcedureTypeAttachment=TP,i.deleteProcedureTypeAttachments=OP,i.deleteProcedureTypeFields=YP,i.deleteProcedureTypeFieldsAttachment=zP,i.deleteProcedureTypeFieldsAttachments=DP,i.deleteProcedureTypeFieldsMany=ZP,i.deleteProcedureTypes=jF,i.deleteProcedures=Mt,i.deleteProject=wA,i.deleteProjectAccess=MS,i.deleteProjectAccesses=RS,i.deleteProjectAttachment=US,i.deleteProjectAttachments=LS,i.deleteProjectComment=eA,i.deleteProjectComments=tA,i.deleteProjectFile=pA,i.deleteProjectFiles=yA,i.deleteProjects=vA,i.deleteTeam=lb,i.deleteTeamMembership=JF,i.deleteTeamMemberships=XF,i.deleteTeams=ob,i.deleteUser=mn,i.deleteUsers=zf,i.dequeue=Ob,i.discard=Fb,i.documentAttachmentReducer=Ou,i.documentAttachmentSlice=Ks,i.documentSlice=Zs,i.documentsReducer=Vu,i.emailDomainsReducer=Zu,i.emailDomainsSlice=Xs,i.emailRegex=l_,i.enqueue=Tb,i.enqueueRequest=yS,i.extractResponseFromError=_b,i.fallbackToEmptyArray=S,i.fallbackToEmptyObject=fs,i.fetchBlobFromObjectUrl=qa,i.fetchFileFromObjectUrl=Ca,i.fileToBlob=Da,i.formIdentifierReducer=ul,i.formIdentifierSlice=xs,i.formIdentifierValueReducer=Fl,i.formIdentifierValueSlice=ti,i.formReducer=Oo,i.formRevisionAttachmentReducer=ql,i.formRevisionAttachmentSlice=si,i.formRevisionReducer=Jl,i.formRevisionsSlice=ii,i.formSlice=ui,i.formSubmissionFieldValuesAttachmentReducer=Do,i.formSubmissionFieldValuesAttachmentSlice=oi,i.formSubmissionFieldValuesReducer=Yo,i.formSubmissionFieldValuesSlice=Si,i.formSubmissionReducer=oh,i.formSubmissionSlice=Oi,i.formSubscriberReducer=lo,i.formSubscriberSlice=ci,i.geoImageReducer=_h,i.geoImageSlice=Pi,i.getClientSDK=Eb,i.getClientStore=vt,i.getDocumentSubTree=Ja,i.getDocumentTrees=o_,i.getFileExtension=ja,i.getLocalDateString=za,i.getLocalRelativeDateString=xb,i.getOutboxCoordinator=Tt,i.getPresignedUrlExpiryDate=ka,i.getRenamedFile=s_,i.getRequestDescription=A,i.getS3FileKey=t_,i.hashFile=Lt,i.initSDK=YR,i.initializeAssetAttachments=nc,i.initializeAssetComments=Sc,i.initializeAssetTypeAttachments=Gc,i.initializeAssetTypeFieldValues=Gr,i.initializeAssetTypeFieldValuesAttachments=Er,i.initializeAssetTypeFields=Sr,i.initializeAssetTypeFieldsAttachments=ir,i.initializeAssetTypeIdentifierValues=Ad,i.initializeAssetTypeIdentifiers=nd,i.initializeAssetTypeStatuses=Wd,i.initializeAssetTypes=Vd,i.initializeAssets=Ec,i.initializeConversations=Qa,i.initializeDocumentAttachments=uu,i.initializeDocuments=Fu,i.initializeEmailDomains=qu,i.initializeFormIdentifierValues=ol,i.initializeFormIdentifiers=Xu,i.initializeFormRevisionAttachments=_l,i.initializeFormRevisions=$l,i.initializeFormSubmissionFieldValues=qo,i.initializeFormSubmissionFieldValuesAttachments=go,i.initializeFormSubmissions=Jo,i.initializeFormSubscribers=Ql,i.initializeForms=ho,i.initializeGeoImages=mh,i.initializeIssueAssociations=Mh,i.initializeIssueAttachments=Nh,i.initializeIssueCommentAttachments=sm,i.initializeIssueComments=fm,i.initializeIssueTypeAttachments=km,i.initializeIssueTypeFieldValues=fp,i.initializeIssueTypeFieldValuesAttachments=Gp,i.initializeIssueTypeFields=vp,i.initializeIssueTypeFieldsAttachments=sp,i.initializeIssueTypeIdentifierValues=Sy,i.initializeIssueTypeIdentifiers=iy,i.initializeIssueTypePriorities=Ey,i.initializeIssueTypeStatuses=af,i.initializeIssueTypes=Gy,i.initializeIssueUpdates=Af,i.initializeIssues=wm,i.initializeOrganizationAccesses=$f,i.initializeOrganizations=xf,i.initializeProcedureFieldValues=pF,i.initializeProcedureFieldValuesAttachments=tF,i.initializeProcedureInitiatives=jA,i.initializeProcedureStepAssignees=hI,i.initializeProcedureStepComments=gI,i.initializeProcedureStepDefaultAssignees=UI,i.initializeProcedureStepDefaultReviewers=eT,i.initializeProcedureStepEvents=pT,i.initializeProcedureStepFieldValues=mO,i.initializeProcedureStepFieldValuesAttachments=eO,i.initializeProcedureStepFieldValuesReviews=MO,i.initializeProcedureStepFields=LT,i.initializeProcedureStepFieldsAttachments=RT,i.initializeProcedureStepReviewers=UO,i.initializeProcedureSteps=eP,i.initializeProcedureTypeAttachments=mP,i.initializeProcedureTypeFields=LP,i.initializeProcedureTypeFieldsAttachments=MP,i.initializeProcedureTypes=RF,i.initializeProcedures=JA,i.initializeProjectAccesses=TS,i.initializeProjectAttachments=BS,i.initializeProjectComments=KS,i.initializeProjectFiles=rA,i.initializeProjects=PA,i.initializeTeamMemberships=NF,i.initializeTeams=ib,i.initializeUsers=Rf,i.isCloudfrontUrl=Ua,i.isImageFile=i_,i.isObjectUrl=$a,i.isPresignedUrlExpired=Na,i.isS3Url=La,i.isToday=Qb,i.issueAssociationReducer=Lh,i.issueAssociationSlice=bi,i.issueAttachmentReducer=em,i.issueAttachmentSlice=_i,i.issueCommentAttachmentReducer=pm,i.issueCommentAttachmentSlice=wi,i.issueCommentReducer=Mm,i.issueCommentSlice=Ei,i.issueReducer=Um,i.issueSlice=Bi,i.issueTypeAttachmentReducer=ep,i.issueTypeAttachmentSlice=ji,i.issueTypeFieldValuesAttachmentReducer=ty,i.issueTypeFieldValuesAttachmentSlice=ki,i.issueTypeFieldValuesReducer=Rp,i.issueTypeFieldValuesSlice=Ui,i.issueTypeFieldsAttachmentReducer=pp,i.issueTypeFieldsAttachmentSlice=Ci,i.issueTypeFieldsReducer=kp,i.issueTypeFieldsSlice=Li,i.issueTypeIdentifierReducer=yy,i.issueTypeIdentifierSlice=Wi,i.issueTypeIdentifierValueReducer=wy,i.issueTypeIdentifierValueSlice=Yi,i.issueTypePriorityReducer=ky,i.issueTypePrioritySlice=Zi,i.issueTypePrioritySortFn=Ya,i.issueTypeReducer=sf,i.issueTypeSlice=Qi,i.issueTypeStatusReducer=ff,i.issueTypeStatusSlice=en,i.issueTypeStatusSortFn=Ka,i.issueUpdateReducer=gf,i.issueUpdateSlice=nn,i.logOnlyOnce=n_,i.markAsDeleted=fS,i.markForDeletion=Ag,i.memoize=ys,i.organizationAccessReducer=Yf,i.organizationAccessSlice=yn,i.organizationReducer=hS,i.organizationSlice=fn,i.outboxReducer=AS,i.outboxSlice=Sn,i.overmapEnhancer=IM,i.overmapReducer=yM,i.overmapReducers=fb,i.performRequest=Ia,i.performRequestFromAction=Pb,i.procedureFieldValuesAttachmentReducer=dF,i.procedureFieldValuesAttachmentSlice=ia,i.procedureFieldValuesReducer=FF,i.procedureFieldValuesSlice=ra,i.procedureInitiativeReducer=HA,i.procedureInitiativeSlice=_n,i.procedureReducer=iI,i.procedureSlice=gn,i.procedureStepAssigneeReducer=bI,i.procedureStepAssigneeSlice=Mn,i.procedureStepCommentReducer=CI,i.procedureStepCommentSlice=Rn,i.procedureStepDefaultAssigneeReducer=QI,i.procedureStepDefaultAssigneeSlice=wn,i.procedureStepDefaultReviewerReducer=hT,i.procedureStepDefaultReviewerSlice=En,i.procedureStepEventReducer=gT,i.procedureStepEventSlice=Bn,i.procedureStepFieldValuesAttachmentReducer=oO,i.procedureStepFieldValuesAttachmentSlice=Un,i.procedureStepFieldValuesReducer=PO,i.procedureStepFieldValuesReviewReducer=CO,i.procedureStepFieldValuesReviewSlice=Hn,i.procedureStepFieldValuesSlice=Gn,i.procedureStepFieldsAttachmentReducer=$T,i.procedureStepFieldsAttachmentSlice=zn,i.procedureStepFieldsReducer=QT,i.procedureStepFieldsSlice=Cn,i.procedureStepReducer=uP,i.procedureStepReviewerReducer=QO,i.procedureStepReviewerSlice=Yn,i.procedureStepSlice=Zn,i.procedureTypeAttachmentReducer=PP,i.procedureTypeAttachmentSlice=Qn,i.procedureTypeFieldsAttachmentReducer=jP,i.procedureTypeFieldsAttachmentSlice=ea,i.procedureTypeFieldsReducer=JP,i.procedureTypeFieldsSlice=sa,i.procedureTypeReducer=qF,i.procedureTypeSlice=ua,i.projectAccessReducer=wS,i.projectAccessSlice=An,i.projectAttachmentReducer=HS,i.projectAttachmentSlice=Tn,i.projectCommentReducer=aA,i.projectCommentSlice=Pn,i.projectFileReducer=TA,i.projectFileSlice=Fn,i.projectReducer=EA,i.projectSlice=bn,i.rehydratedReducer=LF,i.rehydratedSlice=oa,i.restructureSelectorWithArgs=y,i.runMiddleware=Db,i.selectAccessToken=B_,i.selectAccessesByUserOfProject=Tg,i.selectAccessibleProjects=_g,i.selectActiveOrganizationAccess=pg,i.selectAllDocumentAttachments=Ys,i.selectAssetAttachmentById=hc,i.selectAssetAttachmentMapping=oc,i.selectAssetAttachments=Fs,i.selectAssetAttachmentsByIds=mc,i.selectAssetById=Uc,i.selectAssetCommentById=_c,i.selectAssetCommentMapping=bc,i.selectAssetComments=Gt,i.selectAssetCommentsByIds=gc,i.selectAssetTypeAttachmentById=Qc,i.selectAssetTypeAttachmentMapping=Xc,i.selectAssetTypeAttachments=Es,i.selectAssetTypeAttachmentsByIds=xc,i.selectAssetTypeById=kd,i.selectAssetTypeFieldValues=Wt,i.selectAssetTypeFieldValuesAttachmentById=$r,i.selectAssetTypeFieldValuesAttachments=Cs,i.selectAssetTypeFieldValuesAttachmentsByIds=Ur,i.selectAssetTypeFieldValuesAttachmentsMapping=Cr,i.selectAssetTypeFieldValuesById=ed,i.selectAssetTypeFieldValuesByIds=td,i.selectAssetTypeFieldValuesMapping=xr,i.selectAssetTypeFieldValuesOfAsset=b_,i.selectAssetTypeFields=Vt,i.selectAssetTypeFieldsAttachmentById=mr,i.selectAssetTypeFieldsAttachments=Bs,i.selectAssetTypeFieldsAttachmentsByIds=pr,i.selectAssetTypeFieldsAttachmentsMapping=hr,i.selectAssetTypeFieldsById=Mr,i.selectAssetTypeFieldsByIds=Rr,i.selectAssetTypeFieldsMapping=gr,i.selectAssetTypeFieldsOfAssetType=P_,i.selectAssetTypeIdentifierById=pd,i.selectAssetTypeIdentifierMapping=md,i.selectAssetTypeIdentifierValueById=Rd,i.selectAssetTypeIdentifierValueMapping=Md,i.selectAssetTypeIdentifierValues=Kt,i.selectAssetTypeIdentifierValuesByIds=wd,i.selectAssetTypeIdentifierValuesOfAsset=M_,i.selectAssetTypeIdentifierValuesOfIdentifier=R_,i.selectAssetTypeIdentifiers=Ls,i.selectAssetTypeIdentifiersByIds=yd,i.selectAssetTypeIdentifiersOfAssetType=g_,i.selectAssetTypeStatusById=su,i.selectAssetTypeStatusMapping=tu,i.selectAssetTypeStatuses=Ws,i.selectAssetTypeStatusesByIds=iu,i.selectAssetTypeStatusesOfAssetType=v_,i.selectAssetTypeValuesOfAssetType=__,i.selectAssetTypes=Gs,i.selectAssetTypesByIds=Nd,i.selectAssetTypesMapping=Ld,i.selectAssetTypesOfOrganization=w_,i.selectAssets=Ht,i.selectAssetsByIds=Lc,i.selectAssetsMapping=Cc,i.selectAssetsOfAssetType=$c,i.selectAssetsOfProject=T_,i.selectAttachmentsOfAsset=pc,i.selectAttachmentsOfAssetType=er,i.selectAttachmentsOfAssetTypeFieldValues=Lr,i.selectAttachmentsOfAssetTypeFields=O_,i.selectAttachmentsOfDocument=D_,i.selectAttachmentsOfFormRevision=k_,i.selectAttachmentsOfFormSubmissionFieldValues=zo,i.selectAttachmentsOfIssue=Xh,i.selectAttachmentsOfIssueComment=X_,i.selectAttachmentsOfIssueType=eg,i.selectAttachmentsOfIssueTypeFieldValues=ey,i.selectAttachmentsOfIssueTypeFields=tg,i.selectAttachmentsOfProcedureFieldValues=hF,i.selectAttachmentsOfProcedureStepFieldValues=lO,i.selectAttachmentsOfProcedureStepFields=jT,i.selectAttachmentsOfProcedureType=sM,i.selectAttachmentsOfProcedureTypeFields=iM,i.selectAttachmentsOfProject=Pg,i.selectCommentsOfAsset=Mc,i.selectCommentsOfAssets=Rc,i.selectCommentsOfIssue=Q_,i.selectCommentsOfProject=Fg,i.selectCommentsOfProjects=bg,i.selectConversation=I_,i.selectConversationMapping=Is,i.selectConversations=A_,i.selectCurrentUser=jf,i.selectDeletedRequests=fg,i.selectDescendantsOfDocument=Du,i.selectDocumentAttachmentById=Iu,i.selectDocumentAttachmentMapping=Au,i.selectDocumentAttachmentsByIds=Tu,i.selectDocumentById=Bu,i.selectDocuments=Zt,i.selectDocumentsByIds=zu,i.selectDocumentsMapping=Js,i.selectEmailDomainById=Ku,i.selectEmailDomains=Qs,i.selectEmailDomainsAsMapping=Wu,i.selectEmailDomainsByIds=Yu,i.selectEmailDomainsOfOrganization=C_,i.selectFieldValuesOfProcedure=cM,i.selectFormById=Fo,i.selectFormIdentifierById=rl,i.selectFormIdentifierMapping=cl,i.selectFormIdentifierValueById=Ol,i.selectFormIdentifierValueMapping=Tl,i.selectFormIdentifierValues=Jt,i.selectFormIdentifierValuesByIds=Pl,i.selectFormIdentifierValuesOfFormSubmission=U_,i.selectFormIdentifierValuesOfIdentifier=L_,i.selectFormIdentifiers=ei,i.selectFormIdentifiersByIds=dl,i.selectFormIdentifiersOfForm=$_,i.selectFormMapping=Po,i.selectFormRevisionAttachmentById=Dl,i.selectFormRevisionAttachments=zl,i.selectFormRevisionAttachmentsByIds=jl,i.selectFormRevisionAttachmentsMapping=Xt,i.selectFormRevisionById=Kl,i.selectFormRevisionMapping=Wl,i.selectFormRevisions=Qt,i.selectFormRevisionsByIds=Yl,i.selectFormRevisionsOfForm=Zl,i.selectFormSubmissionById=nh,i.selectFormSubmissionFieldValues=Ti,i.selectFormSubmissionFieldValuesAttachmentById=Bo,i.selectFormSubmissionFieldValuesAttachments=yi,i.selectFormSubmissionFieldValuesAttachmentsByIds=fi,i.selectFormSubmissionFieldValuesAttachmentsMapping=pi,i.selectFormSubmissionFieldValuesById=Ho,i.selectFormSubmissionFieldValuesByIds=Wo,i.selectFormSubmissionFieldValuesMapping=Go,i.selectFormSubmissionFieldValuesOfFormSubmission=Ko,i.selectFormSubmissions=G,i.selectFormSubmissionsByIds=ah,i.selectFormSubmissionsMapping=ih,i.selectFormSubmissionsOfAsset=uh,i.selectFormSubmissionsOfAssets=lh,i.selectFormSubmissionsOfForm=ch,i.selectFormSubmissionsOfIssue=rh,i.selectFormSubmissionsOfIssues=dh,i.selectFormSubmissionsOfOrganization=W_,i.selectFormSubmissionsOfOrganizationAndForm=Z_,i.selectFormSubmissionsOfProject=K_,i.selectFormSubmissionsOfProjectAndForm=Y_,i.selectFormSubscriberById=co,i.selectFormSubscriberMapping=ao,i.selectFormSubscribers=xt,i.selectFormSubscribersByIds=ro,i.selectFormSubscribersOfForm=uo,i.selectFormSubscribersOfUser=G_,i.selectForms=li,i.selectFormsByIds=bo,i.selectFormsOfOrganization=H_,i.selectGeoImageById=Fh,i.selectGeoImageMapping=Ph,i.selectGeoImages=Fi,i.selectGeoImagesByIds=bh,i.selectGeoImagesOfProject=J_,i.selectIsLoggedIn=z_,i.selectIssueAssociationById=Dh,i.selectIssueAssociationMapping=zh,i.selectIssueAssociations=_t,i.selectIssueAssociationsByIds=jh,i.selectIssueAssociationsOfAsset=$h,i.selectIssueAssociationsOfAssets=Uh,i.selectIssueAssociationsOfIssue=Ch,i.selectIssueAssociationsOfIssues=qh,i.selectIssueAttachmentById=Qh,i.selectIssueAttachmentMapping=Jh,i.selectIssueAttachments=Ri,i.selectIssueAttachmentsByIds=xh,i.selectIssueById=qm,i.selectIssueCommentAttachmentById=hm,i.selectIssueCommentAttachmentMapping=om,i.selectIssueCommentAttachments=vi,i.selectIssueCommentAttachmentsByIds=mm,i.selectIssueCommentById=_m,i.selectIssueCommentMapping=Vi,i.selectIssueCommentsByIds=gm,i.selectIssueMapping=jm,i.selectIssueTypeAttachmentById=Qm,i.selectIssueTypeAttachmentMapping=Xm,i.selectIssueTypeAttachments=qi,i.selectIssueTypeAttachmentsByIds=xm,i.selectIssueTypeById=ef,i.selectIssueTypeFieldValues=ts,i.selectIssueTypeFieldValuesAttachmentById=Qp,i.selectIssueTypeFieldValuesAttachments=Hi,i.selectIssueTypeFieldValuesAttachmentsByIds=xp,i.selectIssueTypeFieldValuesAttachmentsMapping=Xp,i.selectIssueTypeFieldValuesById=gp,i.selectIssueTypeFieldValuesByIds=Mp,i.selectIssueTypeFieldValuesMapping=_p,i.selectIssueTypeFieldValuesOfIssue=sg,i.selectIssueTypeFields=Bt,i.selectIssueTypeFieldsAttachmentById=hp,i.selectIssueTypeFieldsAttachments=$i,i.selectIssueTypeFieldsAttachmentsByIds=mp,i.selectIssueTypeFieldsAttachmentsMapping=op,i.selectIssueTypeFieldsById=Up,i.selectIssueTypeFieldsByIds=Lp,i.selectIssueTypeFieldsMapping=$p,i.selectIssueTypeFieldsOfIssueType=ig,i.selectIssueTypeIdentifierById=my,i.selectIssueTypeIdentifierMapping=hy,i.selectIssueTypeIdentifierValueById=My,i.selectIssueTypeIdentifierValueMapping=gy,i.selectIssueTypeIdentifierValues=ss,i.selectIssueTypeIdentifierValuesByIds=Ry,i.selectIssueTypeIdentifierValuesOfIdentifier=dg,i.selectIssueTypeIdentifierValuesOfIssue=rg,i.selectIssueTypeIdentifiers=Ki,i.selectIssueTypeIdentifiersByIds=py,i.selectIssueTypeIdentifiersOfIssueType=cg,i.selectIssueTypeMapping=xy,i.selectIssueTypePriorities=Ji,i.selectIssueTypePrioritiesByIds=Ly,i.selectIssueTypePrioritiesOfIssueType=ug,i.selectIssueTypePriorityById=Xi,i.selectIssueTypePriorityMapping=Uy,i.selectIssueTypeStatusById=sn,i.selectIssueTypeStatusMapping=pf,i.selectIssueTypeStatuses=tn,i.selectIssueTypeStatusesByIds=yf,i.selectIssueTypeStatusesOfIssueType=og,i.selectIssueTypeValuesOfIssueType=ag,i.selectIssueTypes=xi,i.selectIssueTypesByIds=tf,i.selectIssueTypesOfOrganization=lg,i.selectIssueUpdateById=Ff,i.selectIssueUpdateMapping=un,i.selectIssueUpdates=ln,i.selectIssueUpdatesByIds=bf,i.selectIssueUpdatesOfIssue=_f,i.selectIssues=es,i.selectIssuesByIds=Cm,i.selectIssuesOfIssueType=$m,i.selectIssuesOfProject=x_,i.selectLatestAssetTypeFieldsOfAssetType=F_,i.selectLatestFieldsByProcedureStep=Ng,i.selectLatestFormRevisionOfForm=N_,i.selectLatestIssueTypeFieldsOfIssueType=ng,i.selectLatestProcedureStepFieldValuesReviewByProcedureStepFieldValues=Jg,i.selectLatestProcedureStepFieldsOfProcedureStep=kg,i.selectLatestProcedureTypeFieldsOfProcedureType=aM,i.selectLatestRetryTime=Sg,i.selectLatestReviewOfProcedureStepFieldValues=Kg,i.selectMembershipsByUserOfTeam=oM,i.selectOrganizationAccessById=Zf,i.selectOrganizationAccessMapping=as,i.selectOrganizationAccessUserMapping=Xf,i.selectOrganizationAccessesByIds=Jf,i.selectOrganizationById=lS,i.selectOrganizationDocuments=q_,i.selectOrganizations=uS,i.selectOrganizationsByIds=oS,i.selectOrganizationsMapping=dS,i.selectProcedureById=aI,i.selectProcedureFieldValues=da,i.selectProcedureFieldValuesAttachmentById=lF,i.selectProcedureFieldValuesAttachments=ca,i.selectProcedureFieldValuesAttachmentsByIds=oF,i.selectProcedureFieldValuesAttachmentsMapping=uF,i.selectProcedureFieldValuesById=_F,i.selectProcedureFieldValuesByIds=gF,i.selectProcedureFieldValuesMapping=bF,i.selectProcedureInitiativeById=KA,i.selectProcedureInitiatives=ds,i.selectProcedureInitiativesByIds=YA,i.selectProcedureInitiativesMapping=WA,i.selectProcedureInitiativesOfProcedureType=Rg,i.selectProcedureInitiativesOfProject=Mg,i.selectProcedureStepAssigneeById=PI,i.selectProcedureStepAssignees=Dt,i.selectProcedureStepAssigneesByIds=FI,i.selectProcedureStepAssigneesMapping=OI,i.selectProcedureStepAssigneesOfProcedure=vg,i.selectProcedureStepAssigneesOfProcedureAndProcedureStep=Vg,i.selectProcedureStepAssigneesOfProcedureStep=Eg,i.selectProcedureStepById=lP,i.selectProcedureStepCommentById=jI,i.selectProcedureStepComments=jt,i.selectProcedureStepCommentsByIds=qI,i.selectProcedureStepCommentsMapping=DI,i.selectProcedureStepCommentsOfProcedure=Bg,i.selectProcedureStepCommentsOfProcedureAndProcedureStep=Dg,i.selectProcedureStepCommentsOfProcedureStep=zg,i.selectProcedureStepDefaultAssigneeById=JI,i.selectProcedureStepDefaultAssignees=vn,i.selectProcedureStepDefaultAssigneesByIds=XI,i.selectProcedureStepDefaultAssigneesMapping=ZI,i.selectProcedureStepDefaultAssigneesOfProcedureStep=jg,i.selectProcedureStepDefaultReviewerById=lT,i.selectProcedureStepDefaultReviewers=Vn,i.selectProcedureStepDefaultReviewersByIds=oT,i.selectProcedureStepDefaultReviewersMapping=uT,i.selectProcedureStepDefaultReviewersOfProcedureStep=qg,i.selectProcedureStepEventById=bT,i.selectProcedureStepEvents=qt,i.selectProcedureStepEventsByIds=_T,i.selectProcedureStepEventsMapping=FT,i.selectProcedureStepEventsOfProcedure=Cg,i.selectProcedureStepEventsOfProcedureAndProcedureStep=Ug,i.selectProcedureStepEventsOfProcedureStep=$g,i.selectProcedureStepFieldValues=ft,i.selectProcedureStepFieldValuesAttachmentById=dO,i.selectProcedureStepFieldValuesAttachments=Nn,i.selectProcedureStepFieldValuesAttachmentsByIds=uO,i.selectProcedureStepFieldValuesAttachmentsMapping=rO,i.selectProcedureStepFieldValuesById=bO,i.selectProcedureStepFieldValuesByIds=_O,i.selectProcedureStepFieldValuesMapping=FO,i.selectProcedureStepFieldValuesOfProcedure=Gg,i.selectProcedureStepFieldValuesOfProcedureAndProcedureStep=Wg,i.selectProcedureStepFieldValuesOfProcedureStep=Hg,i.selectProcedureStepFieldValuesReviewById=DO,i.selectProcedureStepFieldValuesReviews=St,i.selectProcedureStepFieldValuesReviewsByIds=jO,i.selectProcedureStepFieldValuesReviewsMapping=zO,i.selectProcedureStepFieldValuesReviewsOfProcedure=Yg,i.selectProcedureStepFieldValuesReviewsOfProcedureAndProcedureStep=Zg,i.selectProcedureStepFields=us,i.selectProcedureStepFieldsAttachmentById=qT,i.selectProcedureStepFieldsAttachments=qn,i.selectProcedureStepFieldsAttachmentsByIds=CT,i.selectProcedureStepFieldsAttachmentsMapping=DT,i.selectProcedureStepFieldsById=JT,i.selectProcedureStepFieldsByIds=XT,i.selectProcedureStepFieldsMapping=$n,i.selectProcedureStepFieldsOfProcedureStep=Lg,i.selectProcedureStepReviewerById=JO,i.selectProcedureStepReviewers=Ct,i.selectProcedureStepReviewersByIds=XO,i.selectProcedureStepReviewersMapping=ZO,i.selectProcedureStepReviewersOfProcedure=Xg,i.selectProcedureStepReviewersOfProcedureAndProcedureStep=xg,i.selectProcedureStepReviewersOfProcedureStep=Qg,i.selectProcedureSteps=Xn,i.selectProcedureStepsByIds=oP,i.selectProcedureStepsMapping=Jn,i.selectProcedureStepsMappingOfProcedureType=eM,i.selectProcedureStepsOfProcedureType=tM,i.selectProcedureTypeAttachmentById=bP,i.selectProcedureTypeAttachmentMapping=FP,i.selectProcedureTypeAttachments=xn,i.selectProcedureTypeAttachmentsByIds=_P,i.selectProcedureTypeById=$F,i.selectProcedureTypeFields=ls,i.selectProcedureTypeFieldsAttachmentById=CP,i.selectProcedureTypeFieldsAttachments=ta,i.selectProcedureTypeFieldsAttachmentsByIds=$P,i.selectProcedureTypeFieldsAttachmentsMapping=qP,i.selectProcedureTypeFieldsById=QP,i.selectProcedureTypeFieldsByIds=xP,i.selectProcedureTypeFieldsMapping=XP,i.selectProcedureTypeFieldsOfProcedureType=nM,i.selectProcedureTypes=la,i.selectProcedureTypesByIds=UF,i.selectProcedureTypesMapping=CF,i.selectProcedureTypesOfOrganization=rM,i.selectProcedures=yt,i.selectProceduresByIds=cI,i.selectProceduresMapping=nI,i.selectProceduresOfAsset=dI,i.selectProceduresOfAssets=uI,i.selectProceduresOfProcedureInitiative=lI,i.selectProceduresOfProcedureType=rI,i.selectProceduresOfProject=wg,i.selectProjectAccessById=vS,i.selectProjectAccessMapping=In,i.selectProjectAccesses=zt,i.selectProjectAccessesByIds=ES,i.selectProjectAccessesOfProject=Ig,i.selectProjectAttachmentById=NS,i.selectProjectAttachmentMapping=kS,i.selectProjectAttachments=On,i.selectProjectAttachmentsByIds=GS,i.selectProjectById=BA,i.selectProjectCommentById=iA,i.selectProjectCommentMapping=sA,i.selectProjectComments=cs,i.selectProjectCommentsByIds=nA,i.selectProjectDocuments=j_,i.selectProjectFileById=AA,i.selectProjectFileMapping=fA,i.selectProjectFiles=SA,i.selectProjectFilesByIds=IA,i.selectProjectMapping=VA,i.selectProjects=rs,i.selectProjectsByIds=zA,i.selectProjectsOfOrganization=gg,i.selectRehydrated=lM,i.selectReviewsOfProcedureStepFieldValues=qO,i.selectTeamById=mb,i.selectTeamMembershipById=eb,i.selectTeamMemberships=os,i.selectTeamMembershipsByIds=tb,i.selectTeamMembershipsMapping=xF,i.selectTeams=pa,i.selectTeamsByIds=pb,i.selectTeamsMapping=hb,i.selectTeamsOfOrganization=mM,i.selectUserById=ns,i.selectUsers=is,i.selectUsersByIds=qf,i.selectUsersMapping=pn,i.selectUsersOfOrganization=yg,i.selectUsersOfProject=Og,i.selectUsersOfTeam=hM,i.setAsset=jc,i.setAssetAttachment=cc,i.setAssetAttachments=rc,i.setAssetComment=Ic,i.setAssetComments=Tc,i.setAssetType=Bd,i.setAssetTypeAttachment=Wc,i.setAssetTypeAttachments=Kc,i.setAssetTypeFieldValues=Kr,i.setAssetTypeFieldValuesAttachment=Br,i.setAssetTypeFieldValuesAttachments=zr,i.setAssetTypeFieldValuesMany=Yr,i.setAssetTypeFields=Tr,i.setAssetTypeFieldsAttachment=cr,i.setAssetTypeFieldsAttachments=rr,i.setAssetTypeFieldsMany=Or,i.setAssetTypeIdentifier=rd,i.setAssetTypeIdentifierValue=Od,i.setAssetTypeIdentifierValues=Pd,i.setAssetTypeIdentifiers=dd,i.setAssetTypeStatus=Zd,i.setAssetTypeStatuses=Jd,i.setAssetTypes=zd,i.setAssets=qc,i.setClientSDK=vb,i.setClientStore=Rb,i.setConversation=ec,i.setConversations=p_,i.setCurrentUser=hg,i.setCurrentUserProfile=mg,i.setDocument=gu,i.setDocumentAttachment=hu,i.setDocumentAttachments=mu,i.setDocuments=Mu,i.setEmailDomain=Uu,i.setEmailDomains=Lu,i.setForm=yo,i.setFormIdentifier=el,i.setFormIdentifierValue=pl,i.setFormIdentifierValues=yl,i.setFormIdentifiers=tl,i.setFormRevision=Ll,i.setFormRevisionAttachment=Rl,i.setFormRevisionAttachments=wl,i.setFormRevisions=kl,i.setFormSubmission=Xo,i.setFormSubmissionFieldValues=$o,i.setFormSubmissionFieldValuesAttachment=Ro,i.setFormSubmissionFieldValuesAttachments=wo,i.setFormSubmissionFieldValuesMany=Uo,i.setFormSubmissions=Qo,i.setFormSubscriber=eo,i.setFormSubscribers=to,i.setForms=fo,i.setGeoImage=ph,i.setGeoImages=yh,i.setIssue=Em,i.setIssueAssociation=wh,i.setIssueAssociations=Rh,i.setIssueAttachment=Hh,i.setIssueAttachments=Wh,i.setIssueComment=Im,i.setIssueCommentAttachment=am,i.setIssueCommentAttachments=cm,i.setIssueComments=Tm,i.setIssueType=Ky,i.setIssueTypeAttachment=Hm,i.setIssueTypeAttachments=Wm,i.setIssueTypeFieldValues=Ip,i.setIssueTypeFieldValuesAttachment=Wp,i.setIssueTypeFieldValuesAttachments=Kp,i.setIssueTypeFieldValuesMany=Tp,i.setIssueTypeFields=Bp,i.setIssueTypeFieldsAttachment=ap,i.setIssueTypeFieldsAttachments=cp,i.setIssueTypeFieldsMany=zp,i.setIssueTypeIdentifier=cy,i.setIssueTypeIdentifierValue=Ty,i.setIssueTypeIdentifierValues=Oy,i.setIssueTypeIdentifiers=ry,i.setIssueTypePriorities=Dy,i.setIssueTypePriority=zy,i.setIssueTypeStatus=df,i.setIssueTypeStatuses=uf,i.setIssueTypes=Yy,i.setIssueUpdate=If,i.setIssueUpdates=Tf,i.setIssues=Vm,i.setLoggedIn=cu,i.setOrganization=tS,i.setOrganizationAccess=kf,i.setOrganizationAccesses=Nf,i.setOrganizations=eS,i.setProcedure=QA,i.setProcedureFieldValues=SF,i.setProcedureFieldValuesAttachment=iF,i.setProcedureFieldValuesAttachments=nF,i.setProcedureFieldValuesMany=AF,i.setProcedureInitiative=$A,i.setProcedureInitiatives=UA,i.setProcedureStep=tP,i.setProcedureStepAssignee=yI,i.setProcedureStepAssignees=fI,i.setProcedureStepComment=wI,i.setProcedureStepComments=vI,i.setProcedureStepDefaultAssignee=NI,i.setProcedureStepDefaultAssignees=GI,i.setProcedureStepDefaultReviewer=iT,i.setProcedureStepDefaultReviewers=nT,i.setProcedureStepEvent=ST,i.setProcedureStepEvents=AT,i.setProcedureStepFieldValues=fO,i.setProcedureStepFieldValuesAttachment=sO,i.setProcedureStepFieldValuesAttachments=iO,i.setProcedureStepFieldValuesMany=SO,i.setProcedureStepFieldValuesReview=wO,i.setProcedureStepFieldValuesReviews=vO,i.setProcedureStepFields=GT,i.setProcedureStepFieldsAttachment=vT,i.setProcedureStepFieldsAttachments=ET,i.setProcedureStepFieldsMany=HT,i.setProcedureStepReviewer=NO,i.setProcedureStepReviewers=GO,i.setProcedureSteps=sP,i.setProcedureType=EF,i.setProcedureTypeAttachment=fP,i.setProcedureTypeAttachments=SP,i.setProcedureTypeFields=GP,i.setProcedureTypeFieldsAttachment=vP,i.setProcedureTypeFieldsAttachments=EP,i.setProcedureTypeFieldsMany=HP,i.setProcedureTypes=VF,i.setProcedures=xA,i.setProject=bA,i.setProjectAccess=FS,i.setProjectAccesses=bS,i.setProjectAttachment=jS,i.setProjectAttachments=qS,i.setProjectComment=JS,i.setProjectComments=XS,i.setProjectFile=dA,i.setProjectFiles=uA,i.setProjects=FA,i.setRehydrated=uM,i.setTeam=cb,i.setTeamMembership=WF,i.setTeamMemberships=KF,i.setTeams=rb,i.setTokens=E_,i.setUser=vf,i.setUsers=wf,i.shallowEqual=Yb,i.slugify=d_,i.spacesToDashesLower=r_,i.submittedAtModelSortFn=Pt,i.teamMembershipReducer=QF,i.teamMembershipSlice=ha,i.teamReducer=yb,i.teamSlice=ma,i.toFileNameSafeString=c_,i.toUuidArray=w,i.toUuidIdRecord=a_,i.truncate=u_,i.updateAsset=Bc,i.updateAssetAttachment=dc,i.updateAssetAttachments=uc,i.updateAssetComment=Oc,i.updateAssetComments=Pc,i.updateAssetType=qd,i.updateAssetTypeAttachment=Yc,i.updateAssetTypeAttachments=Zc,i.updateAssetTypeFieldValues=Zr,i.updateAssetTypeFieldValuesAttachment=Dr,i.updateAssetTypeFieldValuesAttachments=jr,i.updateAssetTypeFieldValuesMany=Jr,i.updateAssetTypeFields=Pr,i.updateAssetTypeFieldsAttachment=dr,i.updateAssetTypeFieldsAttachments=ur,i.updateAssetTypeFieldsMany=Fr,i.updateAssetTypeIdentifier=ud,i.updateAssetTypeIdentifierValue=Fd,i.updateAssetTypeIdentifierValues=bd,i.updateAssetTypeIdentifiers=ld,i.updateAssetTypeStatus=Xd,i.updateAssetTypeStatuses=Qd,i.updateAssetTypes=Cd,i.updateAssets=zc,i.updateConversation=tc,i.updateConversations=y_,i.updateDocument=Ru,i.updateDocumentAttachment=pu,i.updateDocumentAttachments=yu,i.updateDocuments=wu,i.updateEmailDomain=ku,i.updateEmailDomains=Nu,i.updateForm=So,i.updateFormIdentifier=sl,i.updateFormIdentifierValue=fl,i.updateFormIdentifierValues=Sl,i.updateFormIdentifiers=il,i.updateFormRevision=Nl,i.updateFormRevisionAttachment=vl,i.updateFormRevisionAttachments=El,i.updateFormRevisions=Gl,i.updateFormSubmission=eh,i.updateFormSubmissionFieldValues=Lo,i.updateFormSubmissionFieldValuesAttachment=vo,i.updateFormSubmissionFieldValuesAttachments=Eo,i.updateFormSubmissionFieldValuesMany=ko,i.updateFormSubmissions=th,i.updateFormSubscriber=so,i.updateFormSubscribers=io,i.updateForms=Ao,i.updateGeoImage=Ah,i.updateGeoImages=Ih,i.updateIssue=Bm,i.updateIssueAssociation=vh,i.updateIssueAssociations=Eh,i.updateIssueAttachment=Kh,i.updateIssueAttachments=Yh,i.updateIssueComment=Om,i.updateIssueCommentAttachment=rm,i.updateIssueCommentAttachments=dm,i.updateIssueComments=Pm,i.updateIssueType=Zy,i.updateIssueTypeAttachment=Km,i.updateIssueTypeAttachments=Ym,i.updateIssueTypeFieldValues=Op,i.updateIssueTypeFieldValuesAttachment=Yp,i.updateIssueTypeFieldValuesAttachments=Zp,i.updateIssueTypeFieldValuesMany=Pp,i.updateIssueTypeFields=Dp,i.updateIssueTypeFieldsAttachment=rp,i.updateIssueTypeFieldsAttachments=dp,i.updateIssueTypeFieldsMany=jp,i.updateIssueTypeIdentifier=dy,i.updateIssueTypeIdentifierValue=Py,i.updateIssueTypeIdentifierValues=Fy,i.updateIssueTypeIdentifiers=uy,i.updateIssueTypePriorities=qy,i.updateIssueTypePriority=jy,i.updateIssueTypeStatus=lf,i.updateIssueTypeStatuses=of,i.updateIssueTypes=Jy,i.updateIssueUpdate=Of,i.updateIssueUpdates=Pf,i.updateIssues=zm,i.updateOrganization=aS,i.updateOrganizationAccess=Gf,i.updateOrganizationAccesses=Hf,i.updateOrganizations=nS,i.updateProcedure=eI,i.updateProcedureFieldValues=IF,i.updateProcedureFieldValuesAttachment=aF,i.updateProcedureFieldValuesAttachments=cF,i.updateProcedureFieldValuesMany=TF,i.updateProcedureInitiative=LA,i.updateProcedureInitiatives=kA,i.updateProcedureStep=aP,i.updateProcedureStepAssignee=SI,i.updateProcedureStepAssignees=AI,i.updateProcedureStepComment=EI,i.updateProcedureStepComments=VI,i.updateProcedureStepDefaultAssignee=HI,i.updateProcedureStepDefaultAssignees=WI,i.updateProcedureStepDefaultReviewer=aT,i.updateProcedureStepDefaultReviewers=cT,i.updateProcedureStepEvent=IT,i.updateProcedureStepEvents=TT,i.updateProcedureStepFieldValues=AO,i.updateProcedureStepFieldValuesAttachment=nO,i.updateProcedureStepFieldValuesAttachments=aO,i.updateProcedureStepFieldValuesMany=IO,i.updateProcedureStepFieldValuesReview=EO,i.updateProcedureStepFieldValuesReviews=VO,i.updateProcedureStepFields=WT,i.updateProcedureStepFieldsAttachment=VT,i.updateProcedureStepFieldsAttachments=BT,i.updateProcedureStepFieldsMany=KT,i.updateProcedureStepReviewer=HO,i.updateProcedureStepReviewers=WO,i.updateProcedureSteps=cP,i.updateProcedureType=BF,i.updateProcedureTypeAttachment=AP,i.updateProcedureTypeAttachments=IP,i.updateProcedureTypeFields=WP,i.updateProcedureTypeFieldsAttachment=VP,i.updateProcedureTypeFieldsAttachments=BP,i.updateProcedureTypeFieldsMany=KP,i.updateProcedureTypes=zF,i.updateProcedures=tI,i.updateProject=RA,i.updateProjectAccess=_S,i.updateProjectAccesses=gS,i.updateProjectAttachment=CS,i.updateProjectAttachments=$S,i.updateProjectComment=QS,i.updateProjectComments=xS,i.updateProjectFile=hA,i.updateProjectFiles=mA,i.updateProjects=MA,i.updateTeam=db,i.updateTeamMembership=YF,i.updateTeamMemberships=ZF,i.updateTeams=ub,i.updateUser=Bf,i.updateUsers=Vf,i.useSelectorBuilder=Kb,i.userReducer=Df,i.userSlice=on,i.uuidObj=P,i.uuidObjSortFn=ht,i.uuidSortFn=Ha,Object.defineProperty(i,Symbol.toStringTag,{value:"Module"})});
13
+ external URLs and therefore not prepended with VITE_API_URL.`;throw new Error(S)}return await this.cacheFile(h),h}processPresignedUrl(e,i){if("warning"in i){if(i.warning==="already_uploaded")return Promise.resolve(void 0);throw console.error(i.warning),new Error(i.warning)}return this.enqueueRequest({url:i.url,description:"Upload file to S3",method:l.POST,isExternalUrl:!0,isAuthNeeded:!1,attachmentHash:e,blockers:[`s3-${i.fields.key}`,"s3-presigned-upload"],blocks:[e,"s3-presigned-upload"],s3url:i})}processPresignedUrls(e){const i={};for(const[n,a]of Object.entries(e))i[n]=this.processPresignedUrl(n,a);return i}async getFilePayload(e){const n={sha1:await Lt(e),file_type:e.type,extension:Ua(e),size:e.size};return await this.client.files.cacheFile(e),n}async cachePresignedUrl(e,i){if(Pa.has(e))return;const n=await this.getDB();!!await n.get("presignedUrls",e)?console.warn(`Attempting to add a presigned url already cached, ${i}`):await n.put("presignedUrls",i,e),Pa.add(e)}async uncachePresignedUrl(e){await(await this.getDB()).delete("presignedUrls",e),Pa.delete(e)}async getPresignedUrlFromCache(e){const i=await(await this.getDB()).get("presignedUrls",e);if(!i)return;if(Ka(i)){await this.uncachePresignedUrl(e);return}return i}}class aR extends w{name="Form Identifier";url="/form-identifiers";actions={addOne:sl,addMany:il,setOne:nl,setMany:al,updateOne:cl,updateMany:rl,deleteOne:dl,deleteMany:ul,initialize:tl};selectors={selectById:ol,selectByIds:hl};add(e){const{addOne:i,updateOne:n,deleteOne:a}=this.actions,c=this.select(o=>o.userReducer.currentUser?.id??null),d=new Date().toISOString(),r=O({...e,created_by:c,submitted_at:d});this.dispatch(i(r));const h=this.enqueueRequest({description:y(l.POST,this.name,!1),method:l.POST,url:`${this.url}/`,payload:M(r),blockers:[r.form],blocks:[r.uuid]});return h.then(o=>{this.dispatch(n(o))}).catch(()=>{this.dispatch(a(r.uuid))}),[r,h]}update(e){const{updateOne:i}=this.actions,{selectById:n}=this.selectors,a=this.select(n(e.uuid));if(!a)throw new Error(`Expected form identifier with uuid ${e.uuid} to exist`);const c={...a,...e};this.dispatch(i(c));const d=this.enqueueRequest({description:y(l.PATCH,this.name,!1),method:l.PATCH,url:`${this.url}/${e.uuid}/`,payload:e,blockers:[e.uuid],blocks:[e.uuid]});return d.then(r=>{this.dispatch(i(r))}).catch(()=>{this.dispatch(i(a))}),[c,d]}async delete(e){const{deleteOne:i,addOne:n}=this.actions,{selectById:a}=this.selectors,c=this.select(a(e));if(!c)throw new Error(`Expected form identifier with uuid ${e} to exist`);this.dispatch(i(e));try{return await this.enqueueRequest({description:y(l.DELETE,this.name,!1),method:l.DELETE,url:`${this.url}/${e}/`,blockers:[e],blocks:[]})}catch(d){throw this.dispatch(n(c)),d}}async refreshStore(e,i){const{initialize:n}=this.actions,a=await this.list({queryParams:{form__organization:e}},i);return this.dispatch(n(a)),a}}class cR extends w{name="Form Identifier Value";url="/form-identifier-values";actions={addOne:Sl,addMany:fl,setOne:Al,setMany:Il,updateOne:Tl,updateMany:Ol,deleteOne:Pl,deleteMany:Fl,initialize:yl};selectors={selectById:_l,selectByIds:gl};add(e){const{addOne:i,updateOne:n,deleteOne:a}=this.actions,c=this.select(o=>o.userReducer.currentUser?.id??null),d=new Date().toISOString(),r=O({...e,created_by:c,submitted_at:d});this.dispatch(i(r));const h=this.enqueueRequest({description:y(l.POST,this.name,!1),method:l.POST,url:`${this.url}/`,payload:M(r),blockers:[e.form_submission,e.form_identifier],blocks:[r.uuid]});return h.then(o=>{this.dispatch(n(o))}).catch(()=>{this.dispatch(a(r.uuid))}),[r,h]}async delete(e){const{deleteOne:i,addOne:n}=this.actions,{selectById:a}=this.selectors,c=this.select(a(e));if(!c)throw new Error(`Expected form identifier value with uuid ${e} to exist`);this.dispatch(i(e));try{return await this.enqueueRequest({description:y(l.DELETE,this.name,!1),method:l.DELETE,url:`${this.url}/${e}/`,blockers:[e],blocks:[]})}catch(d){throw this.dispatch(n(c)),d}}async refreshStore(e,i){const{initialize:n}=this.actions,c=(await Promise.all([this.listPaginated({queryParams:{latest:!0,form_submission__organization:e}},i),this.listPaginated({queryParams:{latest:!0,form_submission__project__organization:e}},i)])).flatMap(d=>d.flat());return this.dispatch(n(c)),c}}class rR extends B{name="Form Revision Attachment";url="/form-revision-attachments";actions={addOne:vl,addMany:El,setOne:Vl,setMany:Bl,updateOne:zl,updateMany:Dl,deleteOne:jl,deleteMany:Cl,initialize:wl};selectors={selectById:$l,selectByIds:Ul};getId(e){return e.uuid}getBlockers(e){return[e.form_revision]}getBlocks(e){return[e.uuid]}buildModel(e){const i=this.select(a=>a.userReducer.currentUser?.id??null),n=new Date().toISOString();return O({...e,created_by:i,submitted_at:n})}buildPayload(e){const{uuid:i,field_identifier:n,form_revision:a,file_sha1:c,file_name:d,file_extension:r}=e;return{uuid:i,submitted_at:e.submitted_at,field_identifier:n,form_revision:a,file_sha1:c,file_name:d,file_extension:r}}buildBulkPayload(e){const{uuid:i,field_identifier:n,form_revision:a,file_sha1:c,file_name:d,file_extension:r}=e;return{uuid:i,field_identifier:n,form_revision:a,file_sha1:c,file_name:d,file_extension:r}}async refreshStore(e,i){const{initialize:n}=this.actions,a=await this.list({queryParams:{form_revision__form__organization:e}},i);return this.dispatch(n(a)),a}}class dR extends w{name="Form Revision";url="/form-revisions";actions={addOne:Gl,addMany:ai,setOne:Hl,setMany:Wl,updateOne:Kl,updateMany:Yl,deleteOne:Zl,deleteMany:ci,initialize:Nl};selectors={selectById:Xl,selectByIds:Ql};add(e){const{addOne:i,updateOne:n,deleteOne:a}=this.actions,c=this.select(o=>o.userReducer.currentUser?.id??null),d=new Date().toISOString(),r=O({...e,created_by:c,submitted_at:d});this.dispatch(i(r));const h=this.enqueueRequest({description:y(l.POST,this.name,!1),method:l.POST,url:`${this.url}/`,payload:M(r),blockers:[e.form],blocks:[r.uuid]});return h.then(o=>{this.dispatch(n(o))}).catch(()=>{this.dispatch(a(r.uuid))}),[r,h]}async refreshStore(e,i){const{initialize:n}=this.actions,a=await this.list({queryParams:{form__organization:e}},i);return this.dispatch(n(a)),a}}class uR extends w{name="Form";url="/forms";actions={addOne:fo,addMany:Ao,setOne:Io,setMany:To,updateOne:Oo,updateMany:Po,deleteOne:Fo,deleteMany:bo,initialize:So};selectors={selectById:Mo,selectByIds:Ro};add(e){const{addOne:i,updateOne:n,deleteOne:a}=this.actions,c=new Date().toISOString(),d=this.select(o=>o.userReducer.currentUser?.id??null),r=O({...e,submitted_at:c,created_by:d});this.dispatch(i(r));const h=this.enqueueRequest({description:y(l.POST,this.name,!1),method:l.POST,url:`${this.url}/`,payload:M(r),blockers:[],blocks:[r.uuid]});return h.then(o=>{this.dispatch(n(o))}).catch(()=>{this.dispatch(a(r.uuid))}),[r,h]}update(e){const{updateOne:i}=this.actions,{selectById:n}=this.selectors,a=this.select(n(e.uuid));if(!a)throw new Error(`Expected form with uuid ${e.uuid} to exist`);const c={...a,...e};this.dispatch(i(c));const d=this.enqueueRequest({description:y(l.PATCH,this.name,!1),method:l.PATCH,url:`${this.url}/${e.uuid}/`,payload:e,blockers:[a.uuid],blocks:[a.uuid]});return d.then(r=>{this.dispatch(i(r))}).catch(()=>{this.dispatch(i(a))}),[c,d]}async delete(e){const{deleteOne:i,addOne:n}=this.actions,{selectById:a}=this.selectors,c=this.select(a(e));if(!c)throw new Error("Expected form to exist");const d=this.select(Fh(e)),r=this.select(xl(e)),h=this.select(mo(e));this.dispatch(i(e)),this.dispatch(mt(R(d))),this.dispatch(ci(R(r))),this.dispatch(ui(R(h)));try{return await this.enqueueRequest({description:y(l.DELETE,this.name,!1),method:l.DELETE,url:`${this.url}/${e}/`,blockers:[e],blocks:[]})}catch(o){throw this.dispatch(n(c)),this.dispatch(ai(r)),this.dispatch(ht(d)),this.dispatch(di(h)),o}}async refreshStore(e,i){const{initialize:n}=this.actions,a=await this.list({queryParams:{organization:e}},i);return this.dispatch(n(a)),a}}class lR extends w{name="Form Subscriber";url="/form-subscribers";actions={addOne:io,addMany:di,setOne:no,setMany:ao,updateOne:co,updateMany:ro,deleteOne:uo,deleteMany:ui,initialize:so};selectors={selectById:oo,selectByIds:ho};add(e){const{addOne:i,updateOne:n,deleteOne:a}=this.actions,c=new Date().toISOString(),d=this.select(o=>o.userReducer.currentUser?.id??null),r=O({...e,created_by:d,submitted_at:c});this.dispatch(i(r));const h=this.enqueueRequest({description:y(l.POST,this.name,!1),method:l.POST,url:`${this.url}/`,payload:M(r),blockers:[r.form],blocks:[r.uuid]});return h.then(o=>{this.dispatch(n(o))}).catch(()=>{this.dispatch(a(r.uuid))}),[r,h]}async delete(e){const{deleteOne:i,addOne:n}=this.actions,{selectById:a}=this.selectors,c=this.select(a(e));if(!c)throw new Error(`Expected form subscriber with uuid ${e} to exist`);this.dispatch(i(e));try{return await this.enqueueRequest({description:y(l.DELETE,this.name,!1),method:l.DELETE,url:`${this.url}/${e}/`,blockers:[e],blocks:[]})}catch(d){throw this.dispatch(n(c)),d}}async refreshStore(e,i){const{initialize:n}=this.actions,a=await this.list({queryParams:{form__organization:e}},i);return this.dispatch(n(a)),a}}class oR extends B{name="Form Submission Field Values Attachment";url="/form-submission-field-values-attachments";actions={addOne:Eo,addMany:mi,setOne:Vo,setMany:Bo,updateOne:zo,updateMany:Do,deleteOne:jo,deleteMany:pi,initialize:vo};selectors={selectById:Co,selectByIds:fi};getId(e){return e.uuid}getBlockers(e){return[e.field_values]}getBlocks(e){return[e.uuid]}buildModel(e){const i=this.select(a=>a.userReducer.currentUser?.id??null),n=new Date().toISOString();return O({...e,created_by:i,submitted_at:n})}buildPayload(e){const{uuid:i,field_identifier:n,field_values:a,file_sha1:c,file_name:d,file_extension:r}=e;return{uuid:i,submitted_at:e.submitted_at,field_identifier:n,field_values:a,file_sha1:c,file_name:d,file_extension:r}}buildBulkPayload(e){const{uuid:i,field_identifier:n,field_values:a,file_sha1:c,file_name:d,file_extension:r}=e;return{uuid:i,field_identifier:n,field_values:a,file_sha1:c,file_name:d,file_extension:r}}async bulkDelete(e){const{deleteMany:i,addMany:n}=this.actions,a=this.select(fi(e));this.dispatch(i(e));try{return await this.enqueueRequest({description:y(l.DELETE,this.name,!0),method:l.DELETE,url:`${this.url}/bulk/`,payload:{uuids:e},blockers:e,blocks:[]})}catch(c){throw this.dispatch(n(a)),c}}async refreshStore(e,i){const{initialize:n}=this.actions,c=(await Promise.all([this.listPaginated({queryParams:{latest:!0,field_values__form_submission__organization:e}},i),this.listPaginated({queryParams:{latest:!0,field_values__form_submission__project__organization:e}},i)])).flatMap(d=>d.flat());return this.dispatch(n(c)),c}}class hR extends w{name="Form Submission Field Values";url="/form-submission-field-values";actions={addOne:ko,addMany:Ii,setOne:No,setMany:Go,updateOne:Ho,updateMany:Wo,deleteOne:Ko,deleteMany:Ti,initialize:Lo};selectors={selectById:Zo,selectByIds:Jo};add(e){const{addOne:i,updateOne:n,deleteOne:a}=this.actions,c=this.select(o=>o.userReducer.currentUser?.id??null),d=new Date().toISOString(),r=O({...e,created_by:c,submitted_at:d});this.dispatch(i(r));const h=this.enqueueRequest({description:y(l.POST,this.name,!1),method:l.POST,url:`${this.url}/`,payload:M(r),blockers:[r.form_submission],blocks:[r.uuid]});return h.then(o=>{this.dispatch(n(o))}).catch(()=>{this.dispatch(a(r.uuid))}),[r,h]}async refreshStore(e,i){const{initialize:n}=this.actions,c=(await Promise.all([this.listPaginated({queryParams:{latest:!0,form_submission__organization:e}},i),this.listPaginated({queryParams:{latest:!0,form_submission__project__organization:e}},i)])).flatMap(d=>d.flat());return this.dispatch(n(c)),c}}class mR extends w{name="Form Submission Comment";url="/form-submission-comments";actions={addOne:th,addMany:Fi,setOne:sh,setMany:ih,updateOne:nh,updateMany:ah,deleteOne:ch,deleteMany:bi,initialize:eh};selectors={selectById:dh,selectByIds:uh};add(e){const{addOne:i,updateOne:n,deleteOne:a}=this.actions,c=O({...e,created_by:this.select(r=>r.userReducer.currentUser?.id??null),submitted_at:new Date().toISOString()});this.dispatch(i(c));const d=this.enqueueRequest({description:y(l.POST,this.name,!1),method:l.POST,url:`${this.url}/`,payload:M(c),blockers:[c.form_submission],blocks:[c.uuid]});return d.then(r=>{this.dispatch(n(r))}).catch(()=>{this.dispatch(a(c.uuid))}),[c,d]}update(e){const{updateOne:i}=this.actions,{selectById:n}=this.selectors,a=this.select(n(e.uuid));if(!a)throw new Error(`Form submission comment with uuid ${e.uuid} not found in store`);const c={...a,...e};this.dispatch(i(c));const d=this.enqueueRequest({description:y(l.PATCH,this.name,!1),method:l.PATCH,url:`${this.url}/${e.uuid}/`,payload:e,blockers:[e.uuid],blocks:[e.uuid]});return d.then(r=>{this.dispatch(i(r))}).catch(()=>{this.dispatch(i(a))}),[c,d]}async delete(e){const{deleteOne:i,addOne:n}=this.actions,{selectById:a}=this.selectors,c=this.select(a(e));if(!c)throw new Error(`Form submission comment with uuid ${e} not found in store`);this.dispatch(i(e));try{return await this.enqueueRequest({description:y(l.DELETE,this.name,!1),method:l.DELETE,url:`${this.url}/${e}/`,blockers:[e],blocks:[]})}catch(d){throw this.dispatch(n(c)),d}}async refreshStore(e,i){const{initialize:n}=this.actions,c=(await Promise.all([this.listPaginated({queryParams:{form_submission__organization:e}},i),this.listPaginated({queryParams:{form_submission__project__organization:e}},i)])).flatMap(d=>d.flat());return this.dispatch(n(c)),c}}class pR extends w{name="Form Submission";url="/form-submissions";actions={addOne:Sh,addMany:ht,setOne:ph,setMany:yh,updateOne:fh,updateMany:Ah,deleteOne:Ih,deleteMany:mt,initialize:mh};selectors={selectById:Oh,selectByIds:Ph};add(e){const{addOne:i,updateOne:n,deleteOne:a}=this.actions,c=this.select(o=>o.userReducer.currentUser?.id??null),d=new Date().toISOString(),r=O({...e,created_by:c,submitted_at:d}),h=this.enqueueRequest({description:y(l.POST,this.name,!1),method:l.POST,url:`${this.url}/`,payload:M(r),blockers:[e.form_revision],blocks:[r.uuid]});return this.dispatch(i(r)),h.then(o=>{this.dispatch(n(o))}).catch(()=>{this.dispatch(a(r.uuid))}),[r,h]}update(e){const{updateOne:i}=this.actions,{selectById:n}=this.selectors,a=this.select(n(e.uuid));if(!a)throw new Error(`Expected submission with uuid ${e.uuid} to exist`);const c={...a,...e};this.dispatch(i(c));const d=this.enqueueRequest({description:y(l.PATCH,this.name,!1),method:l.PATCH,url:`${this.url}/${c.uuid}/`,payload:e,blockers:[c.uuid],blocks:[c.uuid]});return d.then(r=>{this.dispatch(i(r))}).catch(()=>{this.dispatch(i(a))}),[c,d]}async delete(e){const{deleteOne:i,addOne:n}=this.actions,{selectById:a}=this.selectors,c=this.select(a(e));if(!c)throw new Error(`Expected submission with uuid ${e} to exist`);const d=this.select(Xo(e)),r=d.flatMap(({uuid:o})=>this.select(qo(o))),h=this.select(lh(e));this.dispatch(i(e)),this.dispatch(Ti(R(d))),this.dispatch(pi(R(r))),this.dispatch(bi(R(h)));try{return await this.enqueueRequest({description:y(l.DELETE,this.name,!1),method:l.DELETE,url:`${this.url}/${e}/`,blockers:[e],blocks:[]})}catch(o){throw this.dispatch(n(c)),this.dispatch(Ii(d)),this.dispatch(mi(r)),this.dispatch(Fi(h)),o}}async refreshStore(e,i){const{initialize:n}=this.actions,c=(await Promise.all([this.listPaginated({queryParams:{organization:e}},i),this.listPaginated({queryParams:{project__organization:e}},i)])).flatMap(d=>d.flat());return this.dispatch(n(c)),c}}class yR extends B{name="Geo Image";url="/geo-images";actions={addOne:Bh,addMany:zh,setOne:Eh,setMany:Vh,updateOne:Dh,updateMany:jh,deleteOne:Ch,deleteMany:qh,initialize:vh};selectors={selectById:Uh,selectByIds:Lh};getId(e){return e.uuid}getBlockers(e){return[e.project]}getBlocks(e){return[e.uuid]}buildModel(e){const i=this.select(a=>a.userReducer.currentUser?.id??null),n=new Date().toISOString();return O({...e,created_by:i,submitted_at:n})}buildPayload(e){return{uuid:e.uuid,submitted_at:e.submitted_at,file_sha1:e.file_sha1,file_name:e.file_name,file_extension:e.file_extension,title:e.title,description:e.description,geo_marker:e.geo_marker,direction:e.direction,original_date:e.original_date,project:e.project}}buildBulkPayload(e){return{uuid:e.uuid,file_sha1:e.file_sha1,file_name:e.file_name,file_extension:e.file_extension,title:e.title,description:e.description,geo_marker:e.geo_marker,direction:e.direction,original_date:e.original_date,project:e.project}}update(e){const{updateOne:i}=this.actions,{selectById:n}=this.selectors,a=this.select(n(e.uuid));if(!a)throw new Error(`Geo image with uuid ${e.uuid} does not exist in the store`);const c={...a,...e};this.dispatch(i(c));const d=this.enqueueRequest({description:y(l.PATCH,this.name,!1),method:l.PATCH,url:`${this.url}/${e.uuid}/`,payload:e,blocks:[e.uuid],blockers:[e.uuid]});return d.then(r=>{this.dispatch(i(r))}).catch(()=>{this.dispatch(i(a))}),[c,d]}async refreshStore(e,i){const{initialize:n}=this.actions,a=await this.list({queryParams:{project:e}},i);return this.dispatch(n(a)),a}}class SR extends w{name="Issue Association";url="/issue-associations";actions={addOne:Zh,addMany:Ot,setOne:Wh,setMany:Hh,updateOne:Kh,updateMany:Yh,deleteOne:Jh,deleteMany:Pt,initialize:Gh};selectors={selectById:Qh,selectByIds:xh};add(e){const{addOne:i,updateOne:n,deleteOne:a}=this.actions,c=new Date().toISOString(),d=this.select(o=>o.userReducer.currentUser?.id??null),r=O({...e,submitted_at:c,created_by:d});this.dispatch(i(r));const h=this.enqueueRequest({description:y(l.POST,this.name,!1),method:l.POST,url:`${this.url}/`,payload:M(r),blockers:[e.issue,e.asset],blocks:[r.uuid]});return h.then(o=>{this.dispatch(n(o))}).catch(()=>{this.dispatch(a(r.uuid))}),[r,h]}bulkAdd(e){const{addMany:i,deleteMany:n,updateMany:a}=this.actions,c=this.select(o=>o.userReducer.currentUser?.id??null),d=new Date().toISOString(),r=e.map(o=>O({...o,submitted_at:d,created_by:c}));this.dispatch(i(r));const h=this.enqueueRequest({description:y(l.POST,this.name,!0),method:l.POST,url:`${this.url}/bulk/`,payload:{payloads:r.map(o=>M(o)),submitted_at:d},blockers:r.flatMap(o=>[o.issue,o.asset]),blocks:R(r)});return h.then(o=>{this.dispatch(a(o))}).catch(()=>{this.dispatch(n(R(r)))}),[r,h]}async delete(e){const{deleteOne:i,addOne:n}=this.actions,{selectById:a}=this.selectors,c=this.select(a(e));if(!c)throw new Error(`Issue association with uuid ${e} not found in store.`);this.dispatch(i(e));try{return await this.enqueueRequest({description:y(l.DELETE,this.name,!1),method:l.DELETE,url:`${this.url}/${e}/`,blockers:[e],blocks:[]})}catch(d){throw this.dispatch(n(c)),d}}async refreshStore(e,i){const{initialize:n}=this.actions,c=(await this.listPaginated({queryParams:{issue__project:e}},i)).flat();return this.dispatch(n(c)),c}}class fR extends B{name="Issue Attachment";url="/issue-attachments";actions={addOne:rm,addMany:vi,setOne:dm,setMany:um,updateOne:lm,updateMany:om,deleteOne:hm,deleteMany:Ei,initialize:cm};selectors={selectById:ym,selectByIds:Sm};getId(e){return e.uuid}getBlockers(e){return[e.issue]}getBlocks(e){return[e.uuid]}buildModel(e){const i=this.select(a=>a.userReducer.currentUser?.id??null),n=new Date().toISOString();return O({...e,created_by:i,submitted_at:n})}buildPayload(e){return{uuid:e.uuid,submitted_at:e.submitted_at,file_name:e.file_name,file_sha1:e.file_sha1,file_extension:e.file_extension,issue:e.issue}}buildBulkPayload(e){return{uuid:e.uuid,file_name:e.file_name,file_sha1:e.file_sha1,file_extension:e.file_extension,issue:e.issue}}async refreshStore(e,i){const{initialize:n}=this.actions,c=(await this.listPaginated({queryParams:{issue__project:e}},i)).flat();return this.dispatch(n(c)),c}}class AR extends B{name="Issue Comment Attachment";url="/issue-comment-attachments";actions={addOne:Tm,addMany:Om,setOne:Pm,setMany:Fm,updateOne:bm,updateMany:_m,deleteOne:gm,deleteMany:Mm,initialize:Im};selectors={selectById:wm,selectByIds:vm};getId(e){return e.uuid}getBlockers(e){return[e.issue_comment]}getBlocks(e){return[e.uuid]}buildModel(e){const i=this.select(a=>a.userReducer.currentUser?.id??null),n=new Date().toISOString();return O({...e,created_by:i,submitted_at:n})}buildPayload(e){return{uuid:e.uuid,submitted_at:e.submitted_at,file_name:e.file_name,file_sha1:e.file_sha1,file_extension:e.file_extension,issue_comment:e.issue_comment}}buildBulkPayload(e){return{uuid:e.uuid,file_name:e.file_name,file_sha1:e.file_sha1,file_extension:e.file_extension,issue_comment:e.issue_comment}}async refreshStore(e,i){const{initialize:n}=this.actions,c=(await this.listPaginated({queryParams:{issue_comment__issue__project:e}},i)).flat();return this.dispatch(n(c)),c}}class IR extends w{name="Issue Comment";url="/issue-comments";actions={addOne:zm,addMany:Dm,setOne:jm,setMany:Cm,updateOne:qm,updateMany:$m,deleteOne:Um,deleteMany:Lm,initialize:Bm};selectors={selectById:km,selectByIds:Nm};add(e){const{addOne:i,updateOne:n,deleteOne:a}=this.actions,c=O({...e,created_by:this.select(r=>r.userReducer.currentUser.id),submitted_at:new Date().toISOString()});this.dispatch(i(c));const d=this.enqueueRequest({description:y(l.POST,this.name,!1),method:l.POST,url:`${this.url}/`,payload:M(c),blockers:[e.issue],blocks:[c.uuid]});return d.then(r=>{this.dispatch(n(r))}).catch(()=>{this.dispatch(a(c.uuid))}),[c,d]}update(e){const{updateOne:i}=this.actions,{selectById:n}=this.selectors,a=this.select(n(e.uuid));if(!a)throw new Error(`Comment with uuid ${e.uuid} not found in store`);const c={...a,...e};this.dispatch(i(c));const d=this.enqueueRequest({description:y(l.PATCH,this.name,!1),method:l.PATCH,url:`${this.url}/${e.uuid}/`,payload:e,blockers:[e.uuid],blocks:[e.uuid]});return d.then(r=>{this.dispatch(i(r))}).catch(()=>{this.dispatch(i(a))}),[c,d]}async delete(e){const{deleteOne:i,addOne:n}=this.actions,{selectById:a}=this.selectors,c=this.select(a(e));if(!c)throw new Error(`Comment with uuid ${e} not found in store`);this.dispatch(i(e));try{return await this.enqueueRequest({description:y(l.DELETE,this.name,!1),method:l.DELETE,url:`${this.url}/${e}/`,blockers:[e],blocks:[]})}catch(d){throw this.dispatch(n(c)),d}}async refreshStore(e,i){const{initialize:n}=this.actions,c=(await this.listPaginated({queryParams:{issue__project:e}},i)).flat();return this.dispatch(n(c)),c}}class TR extends w{name="Issue";url="/issues";actions={addOne:Km,addMany:qi,setOne:Ym,setMany:Zm,updateOne:Jm,updateMany:Xm,deleteOne:Qm,deleteMany:$i,initialize:Wm};selectors={selectById:ep,selectByIds:tp};add(e){const{addOne:i,updateOne:n,deleteOne:a}=this.actions,c=new Date().toISOString(),d=this.select(o=>o.userReducer.currentUser?.id??null),r=O({...e,submitted_at:c,created_by:d});this.dispatch(i(r));const h=this.enqueueRequest({description:y(l.POST,this.name,!1),method:l.POST,url:`${this.url}/`,payload:M(r),blockers:[r.project,r.issue_type,r.status,r.priority],blocks:[r.uuid]});return h.then(o=>{this.dispatch(n(o))}).catch(o=>{throw this.dispatch(a(r.uuid)),o}),[r,h]}update(e){const{updateOne:i}=this.actions,{selectById:n}=this.selectors,a=this.select(n(e.uuid));if(!a)throw new Error(`Attempting to update an issue with uuid ${e.uuid} that doesn't exist in the store`);const c={...a,...e};this.dispatch(i(c));const d={};for(const o of[j.TITLE,j.DESCRIPTION,j.STATUS,j.PRIORITY,j.ASSIGNED_TO,j.DUE_DATE])if(o in e&&e[o]!==a[o])switch(o){case j.PRIORITY:{const S=e[o],A=this.select(tn(S));if(!A)throw new Error(`Trying to update issue type priority with ${S} which does not exist in store`);d[o]={name:A.name,color:A.color,uuid:A.uuid};break}case j.DUE_DATE:d[o]=e.due_date;break;case j.DESCRIPTION:d[o]=e.description??"";break;case j.TITLE:d[o]=e.title??"";break;case j.STATUS:{const S=e[o],A=this.select(rn(S));if(!A)throw new Error(`Trying to update issue type status with ${S} which does not exist in store`);d[o]={name:A.name,color:A.color,uuid:A.uuid};break}case j.ASSIGNED_TO:{const S=e[o];if(S===null)d[o]=null;else{const A=this.select(as(S));if(!A)throw new Error(`Trying to update assigned to with ${S} which does not exist in store.`);d[o]={full_name:A.username,id:A.id}}break}}const r=O({created_by:this.select(o=>o.userReducer.currentUser?.id??null),submitted_at:new Date().toISOString(),issue:a.uuid,changes:d});this.dispatch(un(r));const h=this.enqueueRequest({description:y(l.PATCH,this.name,!1),method:l.PATCH,url:`${this.url}/${e.uuid}/`,payload:e,blockers:[e.uuid],blocks:[e.uuid]});return h.then(o=>{this.dispatch(i(o))}).catch(()=>{this.dispatch(i(a)),this.dispatch(on(r.uuid))}),[c,h]}bulkUpdate(e,i){const{updateMany:n}=this.actions,{selectByIds:a}=this.selectors,c=R(e);if(new Set(c).size!==e.length)throw new Error("payloads contains duplicate uuids.");const d=this.select(a(c));if(c.length!=d.length)throw new Error(`Attempting to bulk update ${c.length-d.length} issues that dont exist in the store`);const r=d.toSorted(lt),h=e.toSorted(lt),o=[];for(let f=0;f<c.length;f++)o.push({...r[f],...h[f]});this.dispatch(n(o));const S=k(e,Math.min(i??e.length,U)),A=[];let I=null;for(const f of S){const b=ut.v4(),g=R(f),_=f.map(({status:v})=>v).filter(Boolean),E=f.map(({priority:v})=>v).filter(Boolean),z=this.enqueueRequest({description:y(l.PATCH,this.name,!0),method:l.PATCH,url:`${this.url}/bulk/`,payload:{payloads:f},blockers:(I?[I]:[]).concat(g).concat(_).concat(E),blocks:[b].concat(g)});A.push(z),I=b}return Promise.all(A).then(f=>{this.dispatch(n(f.flat()))}).catch(()=>{this.dispatch(n(d))}),[o,A]}async delete(e){const{deleteOne:i,addOne:n}=this.actions,{selectById:a}=this.selectors,c=this.select(a(e));if(!c)throw new Error(`No issue with uuid ${e} found in the store`);const d=this.select(tm(e)),r=this.select(pm(e)),h=this.select(LS(e)),o=this.select(bh(e));this.dispatch(i(e)),this.dispatch(Ei(R(r))),this.dispatch(hn(R(h))),this.dispatch(Pt(R(d))),this.dispatch(mt(R(o)));try{return await this.enqueueRequest({description:y(l.DELETE,this.name,!1),method:l.DELETE,url:`${this.url}/${e}/`,blockers:[e],blocks:[]})}catch(S){throw this.dispatch(n(c)),this.dispatch(vi(r)),this.dispatch(ln(h)),this.dispatch(Ot(d)),this.dispatch(ht(o)),S}}async bulkDelete(e){const{addMany:i,deleteMany:n}=this.actions,{selectByIds:a}=this.selectors,c=this.select(a(e)),d=this.select(em(e)),r=this.select(_h(e));this.dispatch(n(e)),this.dispatch(Pt(R(d))),this.dispatch(mt(R(r)));try{return await this.enqueueRequest({description:y(l.DELETE,this.name,!0),method:l.DELETE,url:`${this.url}/bulk/`,payload:{uuids:e},blockers:e,blocks:[]})}catch(h){throw this.dispatch(i(c)),this.dispatch(Ot(d)),this.dispatch(ht(r)),h}}async refreshStore(e,i){const{initialize:n}=this.actions,c=(await this.listPaginated({queryParams:{project:e}},i)).flat();return this.dispatch(n(c)),c}}class OR extends B{name="Issue Type Attachment";url="/issue-type-attachments";actions={addOne:cp,addMany:rp,setOne:dp,setMany:up,updateOne:lp,updateMany:op,deleteOne:hp,deleteMany:mp,initialize:ap};selectors={selectById:yp,selectByIds:Sp};getId(e){return e.uuid}getBlockers(e){return[e.issue_type]}getBlocks(e){return[e.uuid]}buildModel(e){const i=this.select(a=>a.userReducer.currentUser?.id??null),n=new Date().toISOString();return O({...e,created_by:i,submitted_at:n})}buildPayload(e){return{uuid:e.uuid,submitted_at:e.submitted_at,file_name:e.file_name,file_sha1:e.file_sha1,file_extension:e.file_extension,issue_type:e.issue_type}}buildBulkPayload(e){return{uuid:e.uuid,file_name:e.file_name,file_sha1:e.file_sha1,file_extension:e.file_extension,issue_type:e.issue_type}}async refreshStore(e,i){const{initialize:n}=this.actions,a=await this.list({queryParams:{issue_type__organization:e}},i);return this.dispatch(n(a)),a}}class PR extends B{name="Issue Type Fields Attachment";url="/issue-type-fields-attachments";actions={addOne:Tp,addMany:Op,setOne:Pp,setMany:Fp,updateOne:bp,updateMany:_p,deleteOne:gp,deleteMany:Mp,initialize:Ip};selectors={selectById:wp,selectByIds:vp};getId(e){return e.uuid}getBlockers(e){return[e.fields_revision]}getBlocks(e){return[e.uuid]}buildModel(e){const i=this.select(a=>a.userReducer.currentUser?.id??null),n=new Date().toISOString();return O({...e,created_by:i,submitted_at:n})}buildPayload(e){const{uuid:i,field_identifier:n,fields_revision:a,file_sha1:c,file_name:d,file_extension:r}=e;return{uuid:i,submitted_at:e.submitted_at,field_identifier:n,fields_revision:a,file_sha1:c,file_name:d,file_extension:r}}buildBulkPayload(e){const{uuid:i,field_identifier:n,fields_revision:a,file_sha1:c,file_name:d,file_extension:r}=e;return{uuid:i,field_identifier:n,fields_revision:a,file_sha1:c,file_name:d,file_extension:r}}async refreshStore(e,i){const{initialize:n}=this.actions,a=await this.list({queryParams:{fields_revision__issue_type__organization:e}},i);return this.dispatch(n(a)),a}}class FR extends w{name="Issue Type Fields";url="/issue-type-fields";actions={addOne:Yp,addMany:Zp,setOne:Jp,setMany:Xp,updateOne:Qp,updateMany:xp,deleteOne:ey,deleteMany:ty,initialize:Kp};selectors={selectById:iy,selectByIds:ny};add(e){const{addOne:i,updateOne:n,deleteOne:a}=this.actions,c=this.select(o=>o.userReducer.currentUser?.id??null),d=new Date().toISOString(),r=O({...e,created_by:c,submitted_at:d});this.dispatch(i(r));const h=this.enqueueRequest({description:y(l.POST,this.name,!1),method:l.POST,url:`${this.url}/`,payload:M(r),blockers:[r.issue_type],blocks:[r.uuid]});return h.then(o=>{this.dispatch(n(o))}).catch(o=>{throw this.dispatch(a(r.uuid)),o}),[r,h]}async refreshStore(e,i){const{initialize:n}=this.actions,a=await this.list({queryParams:{issue_type__organization:e}},i);return this.dispatch(n(a)),a}}class bR extends B{name="Issue Type Field Values Attachment";url="/issue-type-field-values-attachments";actions={addOne:dy,addMany:Ki,setOne:uy,setMany:ly,updateOne:oy,updateMany:hy,deleteOne:my,deleteMany:Yi,initialize:ry};selectors={selectById:yy,selectByIds:Sy};getId(e){return e.uuid}getBlockers(e){return[e.field_values]}getBlocks(e){return[e.uuid]}buildModel(e){const i=this.select(a=>a.userReducer.currentUser?.id??null),n=new Date().toISOString();return O({...e,created_by:i,submitted_at:n})}buildPayload(e){const{uuid:i,field_identifier:n,field_values:a,file_sha1:c,file_name:d,file_extension:r}=e;return{uuid:i,submitted_at:e.submitted_at,field_identifier:n,field_values:a,file_sha1:c,file_name:d,file_extension:r}}buildBulkPayload(e){const{uuid:i,field_identifier:n,field_values:a,file_sha1:c,file_name:d,file_extension:r}=e;return{uuid:i,field_identifier:n,field_values:a,file_sha1:c,file_name:d,file_extension:r}}async bulkDelete(e){const{deleteMany:i,addMany:n}=this.actions,{selectByIds:a}=this.selectors,c=this.select(a(e));this.dispatch(i(e));try{return await this.enqueueRequest({description:y(l.DELETE,this.name,!0),method:l.DELETE,url:`${this.url}/bulk/`,payload:{uuids:e},blockers:e,blocks:[]})}catch(d){throw this.dispatch(n(c)),d}}async refreshStore(e,i){const{initialize:n}=this.actions,c=(await this.listPaginated({queryParams:{field_values__issue__project:e,latest:!0}},i)).flat();return this.dispatch(n(c)),c}}class _R extends w{name="Issue Type Field Values";url="/issue-type-field-values";actions={addOne:zp,addMany:Dp,setOne:jp,setMany:Cp,updateOne:qp,updateMany:$p,deleteOne:Up,deleteMany:Lp,initialize:Bp};selectors={selectById:Np,selectByIds:Gp};add(e){const{addOne:i,updateOne:n,deleteOne:a}=this.actions,c=this.select(o=>o.userReducer.currentUser?.id??null),d=new Date().toISOString(),r=O({...e,created_by:c,submitted_at:d}),h=this.enqueueRequest({description:y(l.POST,this.name,!1),method:l.POST,url:`${this.url}/`,payload:M(r),blockers:[e.issue,e.fields_revision],blocks:[r.uuid]});return this.dispatch(i(r)),h.then(o=>{this.dispatch(n(o))}).catch(()=>{this.dispatch(a(r.uuid))}),[r,h]}update(e){const{updateOne:i}=this.actions,{selectById:n}=this.selectors,a=this.select(n(e.uuid));if(!a)throw new Error(`Expected IssueTypeFieldValues with uuid ${e.uuid} to exist`);const c={...a,...e};this.dispatch(i(c));const d=this.enqueueRequest({description:y(l.PATCH,this.name,!1),method:l.PATCH,url:`${this.url}/${e.uuid}/`,payload:e,blockers:[c.uuid,c.fields_revision,c.issue],blocks:[c.uuid]});return d.then(r=>{this.dispatch(i(r))}).catch(()=>{this.dispatch(i(a))}),[c,d]}async delete(e){const{deleteOne:i,addOne:n}=this.actions,{selectById:a}=this.selectors,c=this.select(a(e));if(!c)throw new Error(`Expected submission with uuid ${e} to exist`);const d=this.select(fy(e));this.dispatch(i(e)),this.dispatch(Yi(R(d)));try{return await this.enqueueRequest({description:y(l.DELETE,this.name,!1),method:l.DELETE,url:`${this.url}/${e}/`,blockers:[e],blocks:[]})}catch(r){throw this.dispatch(n(c)),this.dispatch(Ki(d)),r}}async refreshStore(e,i){const{initialize:n}=this.actions,c=(await this.listPaginated({queryParams:{issue__project:e,latest:!0}},i)).flat();return this.dispatch(n(c)),c}}class gR extends w{name="Issue Type Identifier";url="/issue-type-identifiers";actions={addOne:Oy,addMany:Py,setOne:Fy,setMany:by,updateOne:_y,updateMany:gy,deleteOne:My,deleteMany:Ry,initialize:Ty};selectors={selectById:vy,selectByIds:Ey};add(e){const{addOne:i,updateOne:n,deleteOne:a}=this.actions,c=this.select(o=>o.userReducer.currentUser?.id??null),d=new Date().toISOString(),r=O({...e,created_by:c,submitted_at:d});this.dispatch(i(r));const h=this.enqueueRequest({description:y(l.POST,this.name,!1),method:l.POST,url:`${this.url}/`,payload:M(r),blockers:[r.issue_type],blocks:[r.uuid]});return h.then(o=>{this.dispatch(n(o))}).catch(()=>{this.dispatch(a(r.uuid))}),[r,h]}update(e){const{updateOne:i}=this.actions,{selectById:n}=this.selectors,a=this.select(n(e.uuid));if(!a)throw new Error(`Expected issue type identifier with uuid ${e.uuid} to exist`);const c={...a,...e};this.dispatch(i(c));const d=this.enqueueRequest({description:y(l.PATCH,this.name,!1),method:l.PATCH,url:`${this.url}/${e.uuid}/`,payload:e,blockers:[e.uuid],blocks:[e.uuid]});return d.then(r=>{this.dispatch(i(r))}).catch(()=>{this.dispatch(i(a))}),[c,d]}async delete(e){const{deleteOne:i,addOne:n}=this.actions,{selectById:a}=this.selectors,c=this.select(a(e));if(!c)throw new Error(`Expected issue type identifier with uuid ${e} to exist`);this.dispatch(i(e));try{return await this.enqueueRequest({description:y(l.DELETE,this.name,!1),method:l.DELETE,url:`${this.url}/${e}/`,blockers:[e],blocks:[]})}catch(d){throw this.dispatch(n(c)),d}}async refreshStore(e,i){const{initialize:n}=this.actions,a=await this.list({queryParams:{issue_type__organization:e}},i);return this.dispatch(n(a)),a}}class MR extends w{name="Issue Type Identifier Value";url="/issue-type-identifier-values";actions={addOne:Dy,addMany:jy,setOne:Cy,setMany:qy,updateOne:$y,updateMany:Uy,deleteOne:Ly,deleteMany:ky,initialize:zy};selectors={selectById:Gy,selectByIds:Hy};add(e){const{addOne:i,updateOne:n,deleteOne:a}=this.actions,c=this.select(o=>o.userReducer.currentUser?.id??null),d=new Date().toISOString(),r=O({...e,created_by:c,submitted_at:d});this.dispatch(i(r));const h=this.enqueueRequest({description:y(l.POST,this.name,!1),method:l.POST,url:`${this.url}/`,payload:M(r),blockers:[e.issue,e.issue_type_identifier],blocks:[r.uuid]});return h.then(o=>{this.dispatch(n(o))}).catch(()=>{this.dispatch(a(r.uuid))}),[r,h]}async delete(e){const{deleteOne:i,addOne:n}=this.actions,{selectById:a}=this.selectors,c=this.select(a(e));if(!c)throw new Error(`Expected issue type identifier value with uuid ${e} to exist`);this.dispatch(i(e));try{return await this.enqueueRequest({description:y(l.DELETE,this.name,!1),method:l.DELETE,url:`${this.url}/${e}/`,blockers:[e],blocks:[]})}catch(d){throw this.dispatch(n(c)),d}}async refreshStore(e,i){const{initialize:n}=this.actions,c=(await this.listPaginated({queryParams:{issue__project:e,latest:!0}},i)).flat();return this.dispatch(n(c)),c}}class RR extends w{name="Issue Type Priority";url="/issue-type-priorities";actions={addOne:Zy,addMany:Jy,setOne:Xy,setMany:Qy,updateOne:xy,updateMany:eS,deleteOne:tS,deleteMany:sS,initialize:Yy};selectors={selectById:tn,selectByIds:nS};add(e){const{addOne:i,updateOne:n,deleteOne:a}=this.actions,c=this.select(o=>o.userReducer.currentUser?.id??null),d=new Date().toISOString(),r=O({...e,created_by:c,submitted_at:d});this.dispatch(i(r));const h=this.enqueueRequest({description:y(l.POST,this.name,!1),method:l.POST,url:`${this.url}/`,payload:M(r),blockers:[e.issue_type],blocks:[r.uuid]});return h.then(o=>{this.dispatch(n(o))}).catch(()=>{this.dispatch(a(r.uuid))}),[r,h]}update(e){const{updateOne:i}=this.actions,{selectById:n}=this.selectors,a=this.select(n(e.uuid));if(!a)throw new Error(`Expected an existing issue type priority with uuid ${e.uuid}`);const c={...a,...e};this.dispatch(i(c));const d=this.enqueueRequest({description:y(l.PATCH,this.name,!1),method:l.PATCH,url:`${this.url}/${e.uuid}/`,payload:e,blockers:[e.uuid],blocks:[e.uuid]});return d.then(r=>{this.dispatch(i(r))}).catch(()=>{this.dispatch(i(a))}),[c,d]}async delete(e){const{deleteOne:i,addOne:n}=this.actions,{selectById:a}=this.selectors,c=this.select(a(e));if(!c)throw new Error(`No issue type priority with uuid ${e} found in the store`);this.dispatch(i(e));try{return await this.enqueueRequest({description:y(l.DELETE,this.name,!1),method:l.DELETE,url:`${this.url}/${e}/`,blockers:[e],blocks:[]})}catch(d){throw this.dispatch(n(c)),d}}async refreshStore(e,i){const{initialize:n}=this.actions,a=await this.list({queryParams:{issue_type__organization:e}},i);return this.dispatch(n(a)),a}}class wR extends w{name="Issue Type";url="/issue-types";actions={addOne:dS,addMany:uS,setOne:lS,setMany:oS,updateOne:hS,updateMany:mS,deleteOne:pS,deleteMany:yS,initialize:rS};selectors={selectById:fS,selectByIds:AS};add(e){const{addOne:i,updateOne:n,deleteOne:a}=this.actions,c=this.select(o=>o.userReducer.currentUser?.id??null),d=new Date().toISOString(),r=O({...e,submitted_at:d,created_by:c});this.dispatch(i(r));const h=this.enqueueRequest({method:l.POST,url:`${this.url}/`,payload:M(r),blockers:[],blocks:[r.uuid]});return h.then(o=>{this.dispatch(n(o))}).catch(()=>{this.dispatch(a(r.uuid))}),[r,h]}update(e){const{updateOne:i}=this.actions,{selectById:n}=this.selectors,a=this.select(n(e.uuid));if(!a)throw new Error(`IssueType with uuid ${e.uuid} does not exist in the store.`);const c={...a,...e};this.dispatch(i(c));const d=this.enqueueRequest({method:l.PATCH,url:`${this.url}/${e.uuid}/`,payload:e,blockers:[e.uuid],blocks:[e.uuid]});return d.then(r=>{this.dispatch(i(r))}).catch(()=>{this.dispatch(i(a))}),[c,d]}async delete(e){const{addOne:i,deleteOne:n}=this.actions,{selectById:a}=this.selectors,c=this.select(a(e));if(!c)throw new Error(`IssueType with uuid ${e} does not exist in the store.`);const d=this.select(sp(e));this.dispatch(n(e)),this.dispatch($i(R(d)));try{return await this.enqueueRequest({description:y(l.DELETE,this.name,!1),method:l.DELETE,url:`${this.url}/${e}/`,blockers:[e],blocks:[]})}catch(r){throw this.dispatch(i(c)),this.dispatch(qi(d)),r}}async refreshStore(e,i){const{initialize:n}=this.actions,a=await this.list({queryParams:{organization:e}},i);return this.dispatch(n(a)),a}}class vR extends w{name="Issue Type Status";url="/issue-type-statuses";actions={addOne:PS,addMany:FS,setOne:bS,setMany:_S,updateOne:gS,updateMany:MS,deleteOne:RS,deleteMany:wS,initialize:OS};selectors={selectById:rn,selectByIds:ES};add(e){const{addOne:i,updateOne:n,deleteOne:a}=this.actions,c=this.select(o=>o.userReducer.currentUser?.id??null),d=new Date().toISOString(),r=O({...e,created_by:c,submitted_at:d});this.dispatch(i(r));const h=this.enqueueRequest({description:y(l.POST,this.name,!1),method:l.POST,url:`${this.url}/`,payload:M(r),blockers:[e.issue_type],blocks:[r.uuid]});return h.then(o=>{this.dispatch(n(o))}).catch(()=>{this.dispatch(a(r.uuid))}),[r,h]}update(e){const{updateOne:i}=this.actions,{selectById:n}=this.selectors,a=this.select(n(e.uuid));if(!a)throw new Error(`Expected an existing issue type status with uuid ${e.uuid}`);const c={...a,...e};this.dispatch(i(c));const d=this.enqueueRequest({description:y(l.PATCH,this.name,!1),method:l.PATCH,url:`${this.url}/${e.uuid}/`,payload:e,blockers:[e.uuid],blocks:[e.uuid]});return d.then(r=>{this.dispatch(i(r))}).catch(()=>{this.dispatch(i(a))}),[c,d]}async delete(e){const{deleteOne:i,addOne:n}=this.actions,{selectById:a}=this.selectors,c=this.select(a(e));if(!c)throw new Error(`No issue type status with uuid ${e} found in the store`);this.dispatch(i(e));try{return await this.enqueueRequest({description:y(l.DELETE,this.name,!1),method:l.DELETE,url:`${this.url}/${e}/`,blockers:[e],blocks:[]})}catch(d){throw this.dispatch(n(c)),d}}async refreshStore(e,i){const{initialize:n}=this.actions,a=await this.list({queryParams:{issue_type__organization:e}},i);return this.dispatch(n(a)),a}}class ER extends w{name="Issue Update";url="/issue-updates";actions={addOne:un,addMany:ln,setOne:DS,setMany:jS,updateOne:CS,updateMany:qS,deleteOne:on,deleteMany:hn,initialize:zS};selectors={selectById:$S,selectByIds:US};async refreshStore(e,i){const{initialize:n}=this.actions,c=(await this.listPaginated({queryParams:{issue__project:e}},i)).flat();return this.dispatch(n(c)),c}}const VR=1800;function BR(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 zR extends Nb{_getRenewedTokens=async e=>{const i=this.performRequest({method:l.POST,url:this.refreshTokensUrl,payload:{refresh:e},isAuthNeeded:!1,checkAuth:!1});let n;try{n=await i}catch(a){console.error("Could not renew tokens; clearing auth",a),this.clearAuth();return}if(!n.access)throw new Error("Missing access token");return{accessToken:n.access,refreshToken:n.refresh??this.getRefreshToken()}};clearAuth(){console.debug(this.constructor.name,"clearing auth;"),this.dispatch(lu(!1)),this.clearTokens(),this.dispatch(T()),this.dispatch(T())}async renewTokens(){const e=this.getRefreshToken();if(!e)throw new Error("No refresh token found");console.debug(this.constructor.name,"renewing tokens");try{const i=await this._getRenewedTokens(e);if(!i)return;console.debug("Got renewed tokens"),this.setTokens(i)}catch(i){throw console.error("Could not renew tokens; clearing auth",i),this.clearAuth(),i}}tokenIsExpiringSoon(){const e=this.getAccessToken();if(!e)return!1;const i=Date.now()/1e3;let n;try{n=c_(e).exp??i}catch{n=i}return n-i<VR}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 C&&this.clearAuth(),e instanceof Error?Promise.reject(e):Promise.reject(new Error((e??gt).toString()))}}}async handleUnauthorized(e,i){if(e.url.endsWith("/token/refresh/"))throw this.select(n=>n.authReducer.isLoggedIn)&&console.warn("No signed-in user to sign out."),this.clearAuth(),new C({message:"You have been signed out due to inactivity.",response:i,discard:!0});if(this.select(n=>n.authReducer.isLoggedIn))await this.renewTokens();else throw console.debug("Forbidden; user is not logged in."),new C({message:"Incorrect username or password.",response:i,discard:!0})}async initAuth(e){const i=ut.v4();return console.debug(this.constructor.name,"Initiating auth"),this.performRequest({uuid:i,method:l.POST,url:this.initTokensUrl,payload:e,isAuthNeeded:!1,checkAuth:!1}).then(n=>{this.setTokens(BR(n))})}}class DR extends At{name="Organization Access";url="/organization-accesses";actions={addOne:sf,addMany:nf,setOne:af,setMany:cf,updateOne:rf,updateMany:df,deleteOne:uf,deleteMany:lf,initialize:tf};selectors={selectById:hf,selectByIds:mf};update(e){const{updateOne:i}=this.actions,{selectById:n}=this.selectors,a=this.select(n(e.uuid)),c={...a,...e};this.dispatch(i(c));const d=this.enqueueRequest({description:y(l.PATCH,this.name,!1),method:l.PATCH,url:`${this.url}/${e.uuid}/`,payload:e,blockers:[e.uuid],blocks:[e.uuid]});return d.then(r=>{this.dispatch(i(r))}).catch(r=>{throw this.dispatch(i(a)),r}),[c,d]}async delete(e){const{deleteOne:i,addOne:n}=this.actions,{selectById:a}=this.selectors,c=this.select(a(e)),d=this.select(as(c.user));this.dispatch(i(c.uuid)),this.dispatch(fn(c.user));try{return await this.enqueueRequest({description:y(l.DELETE,this.name,!1),method:l.DELETE,url:`${this.url}/${c.uuid}/`,blockers:[c.uuid],blocks:[]})}catch(r){throw this.dispatch(n(c)),this.dispatch(Sn(d)),r}}async refreshStore(e,i){const{initialize:n}=this.actions,a=await this.list({queryParams:{organization:e}},i);return this.dispatch(n(a)),a}}class jR extends At{name="Organization";url="/organizations";actions={addOne:Tf,addMany:If,setOne:Af,setMany:ff,updateOne:Pf,updateMany:Of,deleteOne:Ff,deleteMany:bf,initialize:Sf};selectors={selectById:Mf,selectByIds:Rf};async add(e){const{addOne:i}=this.actions,n=await this.enqueueRequest({description:y(l.POST,this.name,!1),method:l.POST,url:`${this.url}/`,payload:e,blockers:[],blocks:[]});return this.dispatch(i(n)),n}async update(e){const{updateOne:i}=this.actions,n=await this.enqueueRequest({description:y(l.PATCH,this.name,!1),method:l.PATCH,url:`${this.url}/${e.uuid}/`,payload:e,blockers:[e.uuid],blocks:[e.uuid]});return this.dispatch(i(n)),n}async invite(e,i){return this.enqueueRequest({description:y(l.POST,this.name,!1),method:l.POST,url:`${this.url}/${e}/invite/${i}/`,blockers:[],blocks:[]})}async refreshStore(e){const{initialize:i}=this.actions,n=await this.list({},e);return this.dispatch(i(n)),n}}class CR extends w{name="Project Access";url="/project-accesses";actions={addOne:qf,addMany:$f,setOne:Uf,setMany:Lf,updateOne:kf,updateMany:Nf,deleteOne:Gf,deleteMany:Hf,initialize:Cf};selectors={selectById:Kf,selectByIds:Yf};add(e){const{addOne:i,updateOne:n,deleteOne:a}=this.actions,c=O({...e,created_by:this.select(r=>r.userReducer.currentUser?.id??null)});this.dispatch(i(c));const d=this.enqueueRequest({description:y(l.POST,this.name,!1),method:l.POST,url:`${this.url}/`,payload:M(c),blockers:[c.organization_access,c.project],blocks:[c.uuid]});return d.then(r=>{this.dispatch(n(r))}).catch(r=>{throw this.dispatch(a(c.uuid)),r}),[c,d]}bulkAdd(e){const{addMany:i,deleteMany:n,updateMany:a}=this.actions,c=this.select(h=>h.userReducer.currentUser?.id??null),d=e.map(h=>O({...h,created_by:c}));this.dispatch(i(d));const r=this.enqueueRequest({description:y(l.POST,this.name,!0),method:l.POST,url:`${this.url}/bulk/`,payload:{project_accesses:d.map(h=>M(h))},blockers:d.flatMap(h=>[h.project,h.organization_access]),blocks:d.map(h=>h.uuid)});return r.then(h=>{this.dispatch(a(h))}).catch(h=>{throw this.dispatch(n(d.map(o=>o.uuid))),h}),[d,r]}update(e){const{updateOne:i}=this.actions,{selectById:n}=this.selectors,a=this.select(n(e.uuid)),c={...a,...e};this.dispatch(i(c));const d=this.enqueueRequest({description:y(l.PATCH,this.name,!1),method:l.PATCH,url:`${this.url}/${e.uuid}/`,payload:e,blockers:[e.uuid],blocks:[]});return d.then(r=>{this.dispatch(i(r))}).catch(r=>{throw this.dispatch(i(a)),r}),[c,d]}async delete(e){const{deleteOne:i,addOne:n}=this.actions,{selectById:a}=this.selectors,c=this.select(a(e));this.dispatch(i(e));try{return await this.enqueueRequest({description:y(l.DELETE,this.name,!1),method:l.DELETE,url:`${this.url}/${e}/`,blockers:[e],blocks:[]})}catch(d){throw this.dispatch(n(c)),d}}async refreshStore(e,i){const{initialize:n}=this.actions,a=await this.list({queryParams:{project__organization:e}},i);return this.dispatch(n(a)),a}}class qR extends B{name="Project Attachment";url="/project-attachments";actions={addOne:Xf,addMany:Qf,setOne:xf,setMany:eA,updateOne:tA,updateMany:sA,deleteOne:iA,deleteMany:nA,initialize:Jf};selectors={selectById:cA,selectByIds:rA};getId(e){return e.uuid}getBlockers(e){return[e.project]}getBlocks(e){return[e.uuid]}buildModel(e){const i=this.select(a=>a.userReducer.currentUser?.id??null),n=new Date().toISOString();return O({...e,created_by:i,submitted_at:n})}buildPayload(e){return{uuid:e.uuid,submitted_at:e.submitted_at,file_name:e.file_name,file_sha1:e.file_sha1,file_extension:e.file_extension,project:e.project}}buildBulkPayload(e){return{uuid:e.uuid,file_name:e.file_name,file_sha1:e.file_sha1,file_extension:e.file_extension,project:e.project}}async refreshStore(e,i){const{initialize:n}=this.actions,a=await this.list({queryParams:{project__organization:e}},i);return this.dispatch(n(a)),a}}class $R extends w{name="Project Comment";url="/project-comments";actions={addOne:oA,addMany:hA,setOne:mA,setMany:pA,updateOne:yA,updateMany:SA,deleteOne:fA,deleteMany:AA,initialize:lA};selectors={selectById:TA,selectByIds:OA};add(e){const{addOne:i,updateOne:n,deleteOne:a}=this.actions,c=O({...e,created_by:this.select(r=>r.userReducer.currentUser?.id??null),submitted_at:new Date().toISOString()});this.dispatch(i(c));const d=this.enqueueRequest({description:y(l.POST,this.name,!1),method:l.POST,url:`${this.url}/`,payload:M(c),blockers:[c.project],blocks:[c.uuid]});return d.then(r=>{this.dispatch(n(r))}).catch(()=>{this.dispatch(a(c.uuid))}),[c,d]}update(e){const{updateOne:i}=this.actions,{selectById:n}=this.selectors,a=this.select(n(e.uuid));if(!a)throw new Error(`Project comment with uuid ${e.uuid} not found in store`);const c={...a,...e};this.dispatch(i(c));const d=this.enqueueRequest({description:y(l.PATCH,this.name,!1),method:l.PATCH,url:`${this.url}/${e.uuid}/`,payload:e,blockers:[e.uuid],blocks:[e.uuid]});return d.then(r=>{this.dispatch(i(r))}).catch(()=>{this.dispatch(i(a))}),[c,d]}async delete(e){const{deleteOne:i,addOne:n}=this.actions,{selectById:a}=this.selectors,c=this.select(a(e));if(!c)throw new Error(`Project comment with uuid ${e} not found in store`);this.dispatch(i(e));try{return await this.enqueueRequest({description:y(l.DELETE,this.name,!1),method:l.DELETE,url:`${this.url}/${e}/`,blockers:[e],blocks:[]})}catch(d){throw this.dispatch(n(c)),d}}async refreshStore(e,i){const{initialize:n}=this.actions,c=(await this.listPaginated({queryParams:{project:e}},i)).flat();return this.dispatch(n(c)),c}}class UR extends B{name="Project File";url="/project-files";actions={addOne:MA,addMany:RA,setOne:_A,setMany:gA,updateOne:wA,updateMany:vA,deleteOne:EA,deleteMany:VA,initialize:bA};selectors={selectById:DA,selectByIds:jA};getId(e){return e.uuid}getBlockers(e){return[e.project]}getBlocks(e){return[e.uuid]}buildModel(e){const i=this.select(a=>a.userReducer.currentUser?.id??null),n=new Date().toISOString();return O({...e,created_by:i,submitted_at:n})}buildPayload(e){return{uuid:e.uuid,submitted_at:e.submitted_at,file_sha1:e.file_sha1,file_name:e.file_name,file_extension:e.file_extension,project:e.project,z_index:e.z_index,bounds:e.bounds}}buildBulkPayload(e){return{uuid:e.uuid,file_sha1:e.file_sha1,file_name:e.file_name,file_extension:e.file_extension,project:e.project,z_index:e.z_index,bounds:e.bounds}}update(e){const{updateOne:i}=this.actions,{selectById:n}=this.selectors,a=this.select(n(e.uuid));if(!a)throw new Error(`${this.name} with uuid ${e.uuid} does not exist in the store`);const c={...a,...e};this.dispatch(i(c));const d=this.enqueueRequest({description:y(l.PATCH,this.name,!1),method:l.PATCH,url:`${this.url}/${e.uuid}/`,payload:e,blocks:[e.uuid],blockers:[e.uuid]});return d.then(r=>{this.dispatch(i(r))}).catch(()=>{this.dispatch(i(a))}),[c,d]}async refreshStore(e,i){const{initialize:n}=this.actions,c=(await this.listPaginated({queryParams:{project:e}},i)).flat();return this.dispatch(n(c)),c}}class LR extends At{name="Project";url="/projects";actions={addOne:NA,addMany:kA,setOne:LA,setMany:UA,updateOne:HA,updateMany:GA,deleteOne:WA,deleteMany:KA,initialize:$A};selectors={selectById:JA,selectByIds:XA};async add(e){const{addOne:i}=this.actions,n=await this.performRequest({method:l.POST,url:`${this.url}/`,payload:M(e)});return this.dispatch(i(n)),n}async update(e){const{updateOne:i}=this.actions,n=await this.performRequest({method:l.PATCH,url:`${this.url}/${e.uuid}/`,payload:M(e)});return this.dispatch(i(n)),n}async delete(e){const{deleteOne:i}=this.actions,n=await this.enqueueRequest({description:y(l.DELETE,this.name,!1),method:l.DELETE,url:`${this.url}/${e}/`,blockers:[e],blocks:[]});return this.dispatch(i(e)),n}async refreshStore(e,i){const{initialize:n}=this.actions,a=await this.list({queryParams:{organization:e}},i);return this.dispatch(n(a)),a}}class kR extends w{name="Procedure";url="/procedures";actions={addOne:pI,addMany:bt,setOne:yI,setMany:SI,updateOne:fI,updateMany:AI,deleteOne:II,deleteMany:_t,initialize:mI};selectors={selectById:PI,selectByIds:FI};add(e){const{addOne:i,updateOne:n,deleteOne:a}=this.actions,c=O({...e,created_by:this.select(r=>r.userReducer.currentUser?.id??null),submitted_at:new Date().toISOString()});this.dispatch(i(c));const d=this.enqueueRequest({description:y(l.POST,this.name,!1),method:l.POST,url:`${this.url}/`,payload:M(c),blockers:[c.procedure_type,c.project,c.asset,...c.procedure_initiative?[c.procedure_initiative]:[]],blocks:[c.uuid]});return d.then(r=>{this.dispatch(n(r))}).catch(()=>{this.dispatch(a(c.uuid))}),[c,d]}bulkAdd(e,i){const{store:n}=this.client,{addMany:a,updateMany:c,deleteMany:d}=this.actions,r=new Date().toISOString(),h=n.getState().userReducer.currentUser?.id??null,o=[],S=k(e,Math.min(i??e.length,U)),A=[];for(const f of S){const b=[],g=[],_=[];for(const z of f){const v=O({...z,submitted_at:r,created_by:h});o.push(v),b.push(M(v)),g.push(v.procedure_type,v.project,v.asset,...v.procedure_initiative?[v.procedure_initiative]:[]),_.push(v.uuid)}const E={payload:{submitted_at:r,payloads:b},blockers:g,blocks:_};A.push(E)}this.dispatch(a(o));const I=A.map(f=>{const{payload:b,blocks:g,blockers:_}=f;return this.enqueueRequest({description:y(l.POST,this.name,!0),method:l.POST,url:`${this.url}/bulk/`,payload:b,blockers:_,blocks:g})});return Promise.all(I).then(f=>{this.dispatch(c(f.flat()))}).catch(()=>{this.dispatch(d(R(o)))}),[o,Promise.all(I).then(f=>f.flat())]}update(e){const{updateOne:i}=this.actions,{selectById:n}=this.selectors,a=this.select(n(e.uuid));if(!a)throw new Error(`Expected procedure with uuid ${e.uuid} to exist`);const c={...a,...e};this.dispatch(i(c));const d=this.enqueueRequest({description:y(l.PATCH,this.name,!1),method:l.PATCH,url:`${this.url}/${e.uuid}/`,payload:e,blockers:[a.uuid],blocks:[a.uuid]});return d.then(r=>{this.dispatch(i(r))}).catch(()=>{this.dispatch(i(a))}),[c,d]}async delete(e){const{deleteOne:i,addOne:n}=this.actions,{selectById:a}=this.selectors,c=this.select(a(e));if(!c)throw new Error(`Expected procedure with uuid ${e} to exist`);this.dispatch(i(e));try{return await this.enqueueRequest({description:y(l.DELETE,this.name,!1),method:l.DELETE,url:`${this.url}/${e}/`,blockers:[e],blocks:[]})}catch(d){throw this.dispatch(n(c)),d}}async bulkDelete(e){const{addMany:i,deleteMany:n}=this.actions,{selectByIds:a}=this.selectors,c=this.select(a(e));this.dispatch(n(R(c)));try{return await this.enqueueRequest({description:y(l.DELETE,this.name,!0),method:l.DELETE,url:`${this.url}/bulk/`,payload:{uuids:e},blockers:e,blocks:[]})}catch(d){throw this.dispatch(i(c)),d}}async refreshStore(e,i){const{initialize:n}=this.actions,c=(await this.listPaginated({queryParams:{project:e}},i)).flat();return this.dispatch(n(c)),c}}class NR extends w{name="Procedure Step Assignee";url="/procedure-step-assignees";actions={addOne:vI,addMany:EI,setOne:VI,setMany:BI,updateOne:zI,updateMany:DI,deleteOne:jI,deleteMany:CI,initialize:wI};selectors={selectById:$I,selectByIds:UI};add(e){const{addOne:i,updateOne:n,deleteOne:a}=this.actions,c=O({...e,created_by:this.select(r=>r.userReducer.currentUser?.id??null),submitted_at:new Date().toISOString()});this.dispatch(i(c));const d=this.enqueueRequest({description:y(l.POST,this.name,!1),method:l.POST,url:`${this.url}/`,payload:M(c),blockers:[c.procedure,c.procedure_step],blocks:[c.uuid]});return d.then(r=>{this.dispatch(n(r))}).catch(()=>{this.dispatch(a(c.uuid))}),[c,d]}bulkAdd(e){const{addMany:i,updateMany:n,deleteMany:a}=this.actions,c=this.select(o=>o.userReducer.currentUser?.id??null),d=new Date().toISOString(),r=e.map(o=>O({...o,created_by:c,submitted_at:d}));this.dispatch(i(r));const h=this.enqueueRequest({description:y(l.POST,this.name,!0),method:l.POST,url:`${this.url}/bulk/`,payload:{procedure_step_assignees:r.map(o=>M(o)),submitted_at:d},blockers:r.flatMap(o=>[o.procedure,o.procedure_step]),blocks:R(r)});return h.then(o=>{this.dispatch(n(o))}).catch(()=>{this.dispatch(a(R(r)))}),[r,h]}async delete(e){const{deleteOne:i,addOne:n}=this.actions,{selectById:a}=this.selectors,c=this.select(a(e));if(!c)throw new Error(`Expected procedure step assignee with uuid ${e} to exist`);this.dispatch(i(e));try{return await this.enqueueRequest({description:y(l.DELETE,this.name,!1),method:l.DELETE,url:`${this.url}/${e}/`,blockers:[e],blocks:[]})}catch(d){throw this.dispatch(n(c)),d}}async bulkDelete(e){const{deleteMany:i,addMany:n}=this.actions,{selectByIds:a}=this.selectors,c=this.select(a(e));this.dispatch(i(e));try{return await this.enqueueRequest({description:y(l.DELETE,this.name,!0),method:l.DELETE,url:`${this.url}/bulk/`,payload:{uuids:e},blockers:e,blocks:[]})}catch(d){throw this.dispatch(n(c)),d}}async refreshStore(e,i){const{initialize:n}=this.actions,c=(await this.listPaginated({queryParams:{procedure__project:e}},i)).flat();return this.dispatch(n(c)),c}}class GR extends w{name="Procedure Step Comment";url="/procedure-step-comments";actions={addOne:GI,addMany:HI,setOne:WI,setMany:KI,updateOne:YI,updateMany:ZI,deleteOne:JI,deleteMany:XI,initialize:NI};selectors={selectById:xI,selectByIds:eT};add(e){const{addOne:i,updateOne:n,deleteOne:a}=this.actions,c=O({...e,created_by:this.select(r=>r.userReducer.currentUser?.id??null),submitted_at:new Date().toISOString()});this.dispatch(i(c));const d=this.enqueueRequest({description:y(l.POST,this.name,!1),method:l.POST,url:`${this.url}/`,payload:M(c),blockers:[c.procedure,c.procedure_step],blocks:[c.uuid]});return d.then(r=>{this.dispatch(n(r))}).catch(()=>{this.dispatch(a(c.uuid))}),[c,d]}update(e){const{updateOne:i}=this.actions,{selectById:n}=this.selectors,a=this.select(n(e.uuid));if(!a)throw new Error(`Procedure step comment with uuid ${e.uuid} not found in store`);const c={...a,...e};this.dispatch(i(c));const d=this.enqueueRequest({description:y(l.PATCH,this.name,!1),method:l.PATCH,url:`${this.url}/${e.uuid}/`,payload:e,blockers:[e.uuid],blocks:[e.uuid]});return d.then(r=>{this.dispatch(i(r))}).catch(()=>{this.dispatch(i(a))}),[c,d]}async delete(e){const{deleteOne:i,addOne:n}=this.actions,{selectById:a}=this.selectors,c=this.select(a(e));if(!c)throw new Error(`Procedure step comment with uuid ${e} not found in store`);this.dispatch(i(e));try{return await this.enqueueRequest({description:y(l.DELETE,this.name,!1),method:l.DELETE,url:`${this.url}/${e}/`,blockers:[e],blocks:[]})}catch(d){throw this.dispatch(n(c)),d}}async refreshStore(e,i){const{initialize:n}=this.actions,c=(await this.listPaginated({queryParams:{procedure__project:e}},i)).flat();return this.dispatch(n(c)),c}}class HR extends w{name="Procedure Step Default Assignee";url="/procedure-step-default-assignees";actions={addOne:nT,addMany:aT,setOne:cT,setMany:rT,updateOne:dT,updateMany:uT,deleteOne:lT,deleteMany:oT,initialize:iT};selectors={selectById:mT,selectByIds:pT};add(e){const{addOne:i,updateOne:n,deleteOne:a}=this.actions,c=O({...e,created_by:this.select(r=>r.userReducer.currentUser?.id??null),submitted_at:new Date().toISOString()});this.dispatch(i(c));const d=this.enqueueRequest({description:y(l.POST,this.name,!1),method:l.POST,url:`${this.url}/`,payload:M(c),blockers:[c.procedure_step],blocks:[c.uuid]});return d.then(r=>{this.dispatch(n(r))}).catch(()=>{this.dispatch(a(c.uuid))}),[c,d]}async delete(e){const{deleteOne:i,addOne:n}=this.actions,{selectById:a}=this.selectors,c=this.select(a(e));if(!c)throw new Error(`Expected procedure step default assignee with uuid ${e} to exist`);this.dispatch(i(e));try{return await this.enqueueRequest({description:y(l.DELETE,this.name,!1),method:l.DELETE,url:`${this.url}/${e}/`,blockers:[e],blocks:[]})}catch(d){throw this.dispatch(n(c)),d}}async refreshStore(e,i){const{initialize:n}=this.actions,a=await this.list({queryParams:{procedure_step__procedure_type__organization:e}},i);return this.dispatch(n(a)),a}}class WR extends w{name="Procedure Step Default Reviewer";url="/procedure-step-default-reviewers";actions={addOne:AT,addMany:IT,setOne:TT,setMany:OT,updateOne:PT,updateMany:FT,deleteOne:bT,deleteMany:_T,initialize:fT};selectors={selectById:MT,selectByIds:RT};add(e){const{addOne:i,updateOne:n,deleteOne:a}=this.actions,c=O({...e,created_by:this.select(r=>r.userReducer.currentUser?.id??null),submitted_at:new Date().toISOString()});this.dispatch(i(c));const d=this.enqueueRequest({description:y(l.POST,this.name,!1),method:l.POST,url:`${this.url}/`,payload:M(c),blockers:[c.procedure_step],blocks:[c.uuid]});return d.then(r=>{this.dispatch(n(r))}).catch(()=>{this.dispatch(a(c.uuid))}),[c,d]}async delete(e){const{deleteOne:i,addOne:n}=this.actions,{selectById:a}=this.selectors,c=this.select(a(e));if(!c)throw new Error(`Expected procedure step default reviewer with uuid ${e} to exist`);this.dispatch(i(e));try{return await this.enqueueRequest({description:y(l.DELETE,this.name,!1),method:l.DELETE,url:`${this.url}/${e}/`,blockers:[e],blocks:[]})}catch(d){throw this.dispatch(n(c)),d}}async refreshStore(e,i){const{initialize:n}=this.actions,a=await this.list({queryParams:{procedure_step__procedure_type__organization:e}},i);return this.dispatch(n(a)),a}}class KR extends At{name="Procedure Step Event";url="/procedure-step-events";actions={addOne:VT,addMany:BT,setOne:zT,setMany:DT,updateOne:jT,updateMany:CT,deleteOne:qT,deleteMany:$T,initialize:ET};selectors={selectById:LT,selectByIds:kT};async refreshStore(e,i){const{initialize:n}=this.actions,c=(await this.listPaginated({queryParams:{procedure__project:e}},i)).flat();return this.dispatch(n(c)),c}}class YR extends B{name="Procedure Step Fields Attachment";url="/procedure-step-fields-attachments";actions={addOne:WT,addMany:$n,setOne:KT,setMany:YT,updateOne:ZT,updateMany:JT,deleteOne:XT,deleteMany:Un,initialize:HT};selectors={selectById:eO,selectByIds:tO};getId(e){return e.uuid}getBlockers(e){return[e.fields_revision]}getBlocks(e){return[e.uuid]}buildModel(e){return O({...e,created_by:this.select(i=>i.userReducer.currentUser?.id??null),submitted_at:new Date().toISOString()})}buildPayload(e){const{uuid:i,field_identifier:n,fields_revision:a,file_sha1:c,file_name:d,file_extension:r}=e;return{uuid:i,submitted_at:e.submitted_at,field_identifier:n,fields_revision:a,file_sha1:c,file_name:d,file_extension:r}}buildBulkPayload(e){const{uuid:i,field_identifier:n,fields_revision:a,file_sha1:c,file_name:d,file_extension:r}=e;return{uuid:i,field_identifier:n,fields_revision:a,file_sha1:c,file_name:d,file_extension:r}}async refreshStore(e,i){const{initialize:n}=this.actions,a=await this.list({queryParams:{fields_revision__procedure_step__procedure_type__organization:e}},i);return this.dispatch(n(a)),a}}class ZR extends w{name="Procedure Step Fields";url="/procedure-step-fields";actions={addOne:aO,addMany:cO,setOne:rO,setMany:dO,updateOne:uO,updateMany:lO,deleteOne:oO,deleteMany:hO,initialize:nO};selectors={selectById:mO,selectByIds:pO};add(e){const{addOne:i,updateOne:n,deleteOne:a}=this.actions,c=O({...e,created_by:this.select(r=>r.userReducer.currentUser?.id??null),submitted_at:new Date().toISOString()});this.dispatch(i(c));const d=this.enqueueRequest({description:y(l.POST,this.name,!1),method:l.POST,url:`${this.url}/`,payload:M(c),blockers:[c.procedure_step],blocks:[c.uuid]});return d.then(r=>{this.dispatch(n(r))}).catch(()=>{this.dispatch(a(c.uuid))}),[c,d]}async delete(e){const{deleteOne:i,addOne:n}=this.actions,{selectById:a}=this.selectors,c=this.select(a(e));if(!c)throw new Error(`Expected procedure step fields with uuid ${e} to exist`);const d=this.select(xT(e));this.dispatch(i(e)),this.dispatch(Un(R(d)));try{return await this.enqueueRequest({description:y(l.DELETE,this.name,!1),method:l.DELETE,url:`${this.url}/${e}/`,blockers:[e],blocks:[]})}catch(r){throw this.dispatch(n(c)),this.dispatch($n(d)),r}}async refreshStore(e,i){const{initialize:n}=this.actions,a=await this.list({queryParams:{procedure_step__procedure_type__organization:e}},i);return this.dispatch(n(a)),a}}class JR extends B{name="Procedure Step Field Values Attachment";url="/procedure-step-field-values-attachments";actions={addOne:AO,addMany:Hn,setOne:IO,setMany:TO,updateOne:OO,updateMany:PO,deleteOne:FO,deleteMany:Wn,initialize:fO};selectors={selectById:_O,selectByIds:gO};getId(e){return e.uuid}getBlockers(e){return[e.field_values]}getBlocks(e){return[e.uuid]}buildModel(e){const i=this.select(a=>a.userReducer.currentUser?.id??null),n=new Date().toISOString();return O({...e,created_by:i,submitted_at:n})}buildPayload(e){const{uuid:i,field_identifier:n,field_values:a,file_sha1:c,file_name:d,file_extension:r}=e;return{uuid:i,submitted_at:e.submitted_at,field_identifier:n,field_values:a,file_sha1:c,file_name:d,file_extension:r}}buildBulkPayload(e){const{uuid:i,field_identifier:n,field_values:a,file_sha1:c,file_name:d,file_extension:r}=e;return{uuid:i,field_identifier:n,field_values:a,file_sha1:c,file_name:d,file_extension:r}}async bulkDelete(e){const{deleteMany:i,addMany:n}=this.actions,{selectByIds:a}=this.selectors,c=this.select(a(e));this.dispatch(i(e));try{return await this.enqueueRequest({description:y(l.DELETE,this.name,!0),method:l.DELETE,url:`${this.url}/bulk/`,payload:{uuids:e},blockers:e,blocks:[]})}catch(d){throw this.dispatch(n(c)),d}}async refreshStore(e,i){const{initialize:n}=this.actions,c=(await this.listPaginated({queryParams:{field_values__procedure__project:e,latest:!0}},i)).flat();return this.dispatch(n(c)),c}}class XR extends w{name="Procedure Step Field Values Review";url="/procedure-step-field-values-reviews";actions={addOne:HO,addMany:Jn,setOne:WO,setMany:KO,updateOne:YO,updateMany:ZO,deleteOne:JO,deleteMany:Xn,initialize:GO};selectors={selectById:QO,selectByIds:xO};add(e){const{addOne:i,updateOne:n,deleteOne:a}=this.actions,c=O({...e,created_by:this.select(r=>r.userReducer.currentUser?.id??null),submitted_at:new Date().toISOString()});this.dispatch(i(c));const d=this.enqueueRequest({description:y(l.POST,this.name,!1),method:l.POST,url:`${this.url}/`,payload:M(c),blockers:[c.field_values],blocks:[c.uuid]});return d.then(r=>{this.dispatch(n(r))}).catch(()=>{this.dispatch(a(c.uuid))}),[c,d]}update(e){const{updateOne:i}=this.actions,{selectById:n}=this.selectors,a=this.select(n(e.uuid));if(!a)throw new Error(`Procedure step field values review with uuid ${e.uuid} not found in store`);const c={...a,...e};this.dispatch(i(c));const d=this.enqueueRequest({description:y(l.PATCH,this.name,!1),method:l.PATCH,url:`${this.url}/${e.uuid}/`,payload:e,blockers:[e.uuid],blocks:[e.uuid]});return d.then(r=>{this.dispatch(i(r))}).catch(()=>{this.dispatch(i(a))}),[c,d]}async delete(e){const{deleteOne:i,addOne:n}=this.actions,{selectById:a}=this.selectors,c=this.select(a(e));if(!c)throw new Error(`Procedure step field values review with uuid ${e} not found in store`);this.dispatch(i(e));try{return await this.enqueueRequest({description:y(l.DELETE,this.name,!1),method:l.DELETE,url:`${this.url}/${e}/`,blockers:[e],blocks:[]})}catch(d){throw this.dispatch(n(c)),d}}async refreshStore(e,i){const{initialize:n}=this.actions,c=(await this.listPaginated({queryParams:{field_values__procedure__project:e}},i)).flat();return this.dispatch(n(c)),c}}class QR extends w{name="Procedure Step Field Values";url="/procedure-step-field-values";actions={addOne:EO,addMany:VO,setOne:BO,setMany:zO,updateOne:DO,updateMany:jO,deleteOne:CO,deleteMany:qO,initialize:vO};selectors={selectById:LO,selectByIds:kO};add(e){const{addOne:i,updateOne:n,deleteOne:a}=this.actions,c=this.select(o=>o.userReducer.currentUser?.id??null),d=new Date().toISOString(),r=O({...e,created_by:c,submitted_at:d}),h=this.enqueueRequest({description:y(l.POST,this.name,!1),method:l.POST,url:`${this.url}/`,payload:M(r),blockers:[e.procedure,e.procedure_step,e.fields_revision],blocks:[r.uuid]});return this.dispatch(i(r)),h.then(o=>{this.dispatch(n(o))}).catch(()=>{this.dispatch(a(r.uuid))}),[r,h]}bulkAdd(e,i){const{addMany:n,updateMany:a,deleteMany:c}=this.actions,d=new Date().toISOString(),r=this.select(I=>I.userReducer.currentUser?.id??null),h=[],o=k(e,Math.min(i??e.length,U)),S=[];for(const I of o){const f=[],b=[],g=[];for(const _ of I){const E=O({..._,values:_.values,created_by:r,submitted_at:d});h.push(E),f.push(M(E)),b.push(E.procedure_step,E.procedure,E.fields_revision),g.push(E.uuid)}S.push({payload:{payloads:f,submitted_at:d},blockers:b,blocks:g})}this.dispatch(n(h));const A=S.map(I=>{const{payload:f,blocks:b,blockers:g}=I;return this.enqueueRequest({description:y(l.POST,this.name,!0),method:l.POST,url:`${this.url}/bulk/`,payload:f,blockers:g,blocks:b})});return Promise.all(A).then(I=>{this.dispatch(a(I.flat()))}).catch(()=>{this.dispatch(c(R(h)))}),[h,Promise.all(A).then(I=>I.flat())]}update(e){const{updateOne:i}=this.actions,{selectById:n}=this.selectors,a=this.select(n(e.uuid));if(!a)throw new Error(`Expected ProcedureStepFieldValues with uuid ${e.uuid} to exist`);const c={...a,...e};this.dispatch(i(c));const d=this.enqueueRequest({description:y(l.PATCH,this.name,!1),method:l.PATCH,url:`${this.url}/${e.uuid}/`,payload:e,blockers:[c.uuid,c.procedure,c.procedure_step,c.fields_revision],blocks:[c.uuid]});return d.then(r=>{this.dispatch(i(r))}).catch(()=>{this.dispatch(i(a))}),[c,d]}async delete(e){const{deleteOne:i,addOne:n}=this.actions,{selectById:a}=this.selectors,c=this.select(a(e));if(!c)throw new Error(`Expected ProcedureStepFieldValues with uuid ${e} to exist`);const d=this.select(MO(e)),r=this.select(eP(e));this.dispatch(i(e)),this.dispatch(Wn(R(d))),this.dispatch(Xn(R(r)));try{return await this.enqueueRequest({description:y(l.DELETE,this.name,!1),method:l.DELETE,url:`${this.url}/${e}/`,blockers:[e],blocks:[]})}catch(h){throw this.dispatch(n(c)),this.dispatch(Hn(d)),this.dispatch(Jn(r)),h}}async refreshStore(e,i){const{initialize:n}=this.actions,c=(await this.listPaginated({queryParams:{procedure__project:e}},i)).flat();return this.dispatch(n(c)),c}}class xR extends w{name="Procedure Step Reviewer";url="/procedure-step-reviewers";actions={addOne:nP,addMany:aP,setOne:cP,setMany:rP,updateOne:dP,updateMany:uP,deleteOne:lP,deleteMany:oP,initialize:iP};selectors={selectById:mP,selectByIds:pP};add(e){const{addOne:i,updateOne:n,deleteOne:a}=this.actions,c=O({...e,created_by:this.select(r=>r.userReducer.currentUser?.id??null),submitted_at:new Date().toISOString()});this.dispatch(i(c));const d=this.enqueueRequest({description:y(l.POST,this.name,!1),method:l.POST,url:`${this.url}/`,payload:M(c),blockers:[c.procedure,c.procedure_step],blocks:[c.uuid]});return d.then(r=>{this.dispatch(n(r))}).catch(()=>{this.dispatch(a(c.uuid))}),[c,d]}bulkAdd(e){const{addMany:i,updateMany:n,deleteMany:a}=this.actions,c=this.select(o=>o.userReducer.currentUser?.id??null),d=new Date().toISOString(),r=e.map(o=>O({...o,created_by:c,submitted_at:d}));this.dispatch(i(r));const h=this.enqueueRequest({description:y(l.POST,this.name,!0),method:l.POST,url:`${this.url}/bulk/`,payload:{procedure_step_reviewers:r.map(o=>M(o)),submitted_at:d},blockers:r.flatMap(o=>[o.procedure,o.procedure_step]),blocks:r.map(o=>o.uuid)});return h.then(o=>{this.dispatch(n(o))}).catch(()=>{this.dispatch(a(R(r)))}),[r,h]}async delete(e){const{deleteOne:i,addOne:n}=this.actions,{selectById:a}=this.selectors,c=this.select(a(e));if(!c)throw new Error(`Expected procedure step reviewer with uuid ${e} to exist`);this.dispatch(i(e));try{return await this.enqueueRequest({description:y(l.DELETE,this.name,!1),method:l.DELETE,url:`${this.url}/${e}/`,blockers:[e],blocks:[]})}catch(d){throw this.dispatch(n(c)),d}}async bulkDelete(e){const{deleteMany:i,addMany:n}=this.actions,{selectByIds:a}=this.selectors,c=this.select(a(e));this.dispatch(i(e));try{return await this.enqueueRequest({description:y(l.DELETE,this.name,!0),method:l.DELETE,url:`${this.url}/bulk/`,payload:{uuids:e},blockers:e,blocks:[]})}catch(d){throw this.dispatch(n(c)),d}}async refreshStore(e,i){const{initialize:n}=this.actions,c=(await this.listPaginated({queryParams:{procedure__project:e}},i)).flat();return this.dispatch(n(c)),c}}class ew extends w{name="Procedure Initiative";url="/procedure-initiatives";actions={addOne:eI,addMany:tI,setOne:sI,setMany:iI,updateOne:nI,updateMany:aI,deleteOne:cI,deleteMany:rI,initialize:xA};selectors={selectById:lI,selectByIds:oI};add(e){const{store:i}=this.client,{addOne:n,updateOne:a,deleteOne:c}=this.actions,d=O({...e,created_by:i.getState().userReducer.currentUser?.id??null,submitted_at:new Date().toISOString()});this.dispatch(n(d));const r=this.enqueueRequest({description:y(l.POST,this.name,!1),method:l.POST,url:`${this.url}/`,payload:M(d),blockers:[d.procedure_type,d.project],blocks:[d.uuid]});return r.then(h=>{this.dispatch(a(h))}).catch(()=>{this.dispatch(c(d.uuid))}),[d,r]}update(e){const{updateOne:i}=this.actions,{selectById:n}=this.selectors,a=this.select(n(e.uuid));if(!a)throw new Error(`Expected ${this.name} with uuid ${e.uuid} to exist`);const c={...a,...e};this.dispatch(i(c));const d=this.enqueueRequest({description:y(l.PATCH,this.name,!1),method:l.PATCH,url:`${this.url}/${e.uuid}/`,payload:e,blockers:[a.uuid],blocks:[a.uuid]});return d.then(r=>{this.dispatch(i(r))}).catch(()=>{this.dispatch(i(a))}),[c,d]}async delete(e){const{deleteOne:i,addOne:n}=this.actions,{selectById:a}=this.selectors,c=this.select(a(e));if(!c)throw new Error(`Expected ${this.name} with uuid ${e} to exist`);const d=this.select(MI(e));this.dispatch(i(e)),this.dispatch(_t(R(d)));try{return await this.enqueueRequest({description:y(l.DELETE,this.name,!1),method:l.DELETE,url:`${this.url}/${e}/`,blockers:[e],blocks:[]})}catch(r){throw this.dispatch(n(c)),this.dispatch(bt(d)),r}}async refreshStore(e,i){const{initialize:n}=this.actions,c=(await this.listPaginated({queryParams:{project:e}},i)).flat();return this.dispatch(n(c)),c}}class tw extends w{name="Procedure Step";url="/procedure-steps";actions={addOne:TP,addMany:OP,setOne:AP,setMany:IP,updateOne:PP,updateMany:FP,deleteOne:bP,deleteMany:_P,initialize:fP};selectors={selectById:MP,selectByIds:RP};add(e){const{addOne:i,updateOne:n,deleteOne:a}=this.actions,c=O({...e,created_by:this.select(r=>r.userReducer.currentUser?.id??null),submitted_at:new Date().toISOString()});this.dispatch(i(c));const d=this.enqueueRequest({description:y(l.POST,this.name,!1),method:l.POST,url:`${this.url}/`,payload:M(c),blockers:[c.procedure_type],blocks:[c.uuid]});return d.then(r=>{this.dispatch(n(r))}).catch(()=>{this.dispatch(a(c.uuid))}),[c,d]}update(e){const{updateOne:i}=this.actions,{selectById:n}=this.selectors,a=this.select(n(e.uuid));if(!a)throw new Error(`No procedure step with uuid ${e.uuid} found in the store`);const c={...a,...e};this.dispatch(i(c));const d=this.enqueueRequest({description:y(l.PATCH,this.name,!1),method:l.PATCH,url:`${this.url}/${a.uuid}/`,payload:e,blockers:[a.uuid],blocks:[a.uuid]});return d.then(r=>{this.dispatch(i(r))}).catch(()=>{this.dispatch(i(a))}),[c,d]}async delete(e){const{addOne:i,deleteOne:n}=this.actions,{selectById:a}=this.selectors,c=this.select(a(e));if(!c)throw new Error(`No procedure step with uuid ${e} found in the store`);this.dispatch(n(e));try{return await this.enqueueRequest({description:y(l.DELETE,this.name,!1),method:l.DELETE,url:`${this.url}/${e}/`,blockers:[e],blocks:[]})}catch(d){throw this.dispatch(i(c)),d}}bulkUpdate(e,i){const{updateMany:n}=this.actions,{selectByIds:a}=this.selectors,c=R(e);if(new Set(c).size!==e.length)throw new Error("payloads contains duplicate uuids.");const d=this.select(a(c));if(c.length!=d.length)throw new Error(`Attempting to bulk update ${c.length-d.length} ${this.name} that dont exist in the store`);const r=d.toSorted(lt),h=e.toSorted(lt),o=[];for(let f=0;f<c.length;f++)o.push({...r[f],...h[f]});this.dispatch(n(o));const S=k(e,Math.min(i??e.length,U)),A=[];let I=null;for(const f of S){const b=ut.v4(),g=R(f),_=this.enqueueRequest({description:y(l.PATCH,this.name,!0),method:l.PATCH,url:`${this.url}/bulk/`,payload:{payloads:f},blockers:(I?[I]:[]).concat(g),blocks:[b].concat(g)});A.push(_),I=b}return Promise.all(A).then(f=>{this.dispatch(n(f.flat()))}).catch(()=>{this.dispatch(n(d))}),[o,A]}async refreshStore(e,i){const{initialize:n}=this.actions,a=await this.list({queryParams:{procedure_type__organization:e}},i);return this.dispatch(n(a)),a}}class sw extends B{name="Procedure Type Attachment";url="/procedure-type-attachments";actions={addOne:EP,addMany:VP,setOne:BP,setMany:zP,updateOne:DP,updateMany:jP,deleteOne:CP,deleteMany:qP,initialize:vP};selectors={selectById:LP,selectByIds:kP};getId(e){return e.uuid}getBlockers(e){return[e.procedure_type]}getBlocks(e){return[e.uuid]}buildModel(e){const i=this.select(a=>a.userReducer.currentUser?.id??null),n=new Date().toISOString();return O({...e,created_by:i,submitted_at:n})}buildPayload(e){return{uuid:e.uuid,submitted_at:e.submitted_at,file_name:e.file_name,file_sha1:e.file_sha1,file_extension:e.file_extension,procedure_type:e.procedure_type}}buildBulkPayload(e){return{uuid:e.uuid,file_name:e.file_name,file_sha1:e.file_sha1,file_extension:e.file_extension,procedure_type:e.procedure_type}}async refreshStore(e,i){const{initialize:n}=this.actions,a=await this.list({queryParams:{procedure_type__organization:e}},i);return this.dispatch(n(a)),a}}class iw extends B{name="Procedure Type Fields Attachment";url="/procedure-type-fields-attachments";actions={addOne:HP,addMany:WP,setOne:KP,setMany:YP,updateOne:ZP,updateMany:JP,deleteOne:XP,deleteMany:QP,initialize:GP};selectors={selectById:tF,selectByIds:sF};getId(e){return e.uuid}getBlockers(e){return[e.fields_revision]}getBlocks(e){return[e.uuid]}buildModel(e){const i=this.select(a=>a.userReducer.currentUser?.id??null),n=new Date().toISOString();return O({...e,created_by:i,submitted_at:n})}buildPayload(e){const{uuid:i,field_identifier:n,fields_revision:a,file_sha1:c,file_name:d,file_extension:r}=e;return{uuid:i,submitted_at:e.submitted_at,field_identifier:n,fields_revision:a,file_sha1:c,file_name:d,file_extension:r}}buildBulkPayload(e){const{uuid:i,field_identifier:n,fields_revision:a,file_sha1:c,file_name:d,file_extension:r}=e;return{uuid:i,field_identifier:n,fields_revision:a,file_sha1:c,file_name:d,file_extension:r}}async refreshStore(e,i){const{initialize:n}=this.actions,a=await this.list({queryParams:{fields_revision__procedure_type__organization:e}},i);return this.dispatch(n(a)),a}}class nw extends w{name="Procedure Type Fields";url="/procedure-type-fields";actions={addOne:aF,addMany:cF,setOne:rF,setMany:dF,updateOne:uF,updateMany:lF,deleteOne:oF,deleteMany:hF,initialize:nF};selectors={selectById:yF,selectByIds:SF};add(e){const{addOne:i,updateOne:n,deleteOne:a}=this.actions,c=this.select(o=>o.userReducer.currentUser?.id??null),d=new Date().toISOString(),r=O({...e,created_by:c,submitted_at:d});this.dispatch(i(r));const h=this.enqueueRequest({description:y(l.POST,this.name,!1),method:l.POST,url:`${this.url}/`,payload:M(r),blockers:[r.procedure_type],blocks:[r.uuid]});return h.then(o=>{this.dispatch(n(o))}).catch(o=>{throw this.dispatch(a(r.uuid)),o}),[r,h]}async refreshStore(e,i){const{initialize:n}=this.actions,a=await this.list({queryParams:{procedure_type__organization:e}},i);return this.dispatch(n(a)),a}}class aw extends B{name="Procedure Field Values Attachment";url="/procedure-field-values-attachments";actions={addOne:IF,addMany:da,setOne:TF,setMany:OF,updateOne:PF,updateMany:FF,deleteOne:bF,deleteMany:ua,initialize:AF};selectors={selectById:MF,selectByIds:RF};getId(e){return e.uuid}getBlockers(e){return[e.field_values]}getBlocks(e){return[e.uuid]}buildModel(e){const i=this.select(a=>a.userReducer.currentUser?.id??null),n=new Date().toISOString();return O({...e,created_by:i,submitted_at:n})}buildPayload(e){const{uuid:i,field_identifier:n,field_values:a,file_sha1:c,file_name:d,file_extension:r}=e;return{uuid:i,submitted_at:e.submitted_at,field_identifier:n,field_values:a,file_sha1:c,file_name:d,file_extension:r}}buildBulkPayload(e){const{uuid:i,field_identifier:n,field_values:a,file_sha1:c,file_name:d,file_extension:r}=e;return{uuid:i,field_identifier:n,field_values:a,file_sha1:c,file_name:d,file_extension:r}}async bulkDelete(e){const{deleteMany:i,addMany:n}=this.actions,{selectByIds:a}=this.selectors,c=this.select(a(e));this.dispatch(i(e));try{return await this.enqueueRequest({description:y(l.DELETE,this.name,!0),method:l.DELETE,url:`${this.url}/bulk/`,payload:{uuids:e},blockers:e,blocks:[]})}catch(d){throw this.dispatch(n(c)),d}}async refreshStore(e,i){const{initialize:n}=this.actions,c=(await this.listPaginated({queryParams:{field_values__procedure__project:e,latest:!0}},i)).flat();return this.dispatch(n(c)),c}}class cw extends w{name="Procedure Field Values";url="/procedure-field-values";actions={addOne:VF,addMany:BF,setOne:zF,setMany:DF,updateOne:jF,updateMany:CF,deleteOne:qF,deleteMany:$F,initialize:EF};selectors={selectById:kF,selectByIds:NF};add(e){const{addOne:i,updateOne:n,deleteOne:a}=this.actions,c=this.select(o=>o.userReducer.currentUser?.id??null),d=new Date().toISOString(),r=O({...e,created_by:c,submitted_at:d}),h=this.enqueueRequest({description:y(l.POST,this.name,!1),method:l.POST,url:`${this.url}/`,payload:M(r),blockers:[e.fields_revision,e.procedure],blocks:[r.uuid]});return this.dispatch(i(r)),h.then(o=>{this.dispatch(n(o))}).catch(()=>{this.dispatch(a(r.uuid))}),[r,h]}bulkAdd(e,i){const{addMany:n,updateMany:a,deleteMany:c}=this.actions,d=new Date().toISOString(),r=this.select(I=>I.userReducer.currentUser?.id??null),h=[],o=k(e,Math.min(i??e.length,U)),S=[];for(const I of o){const f=[],b=[],g=[];for(const _ of I){const E=O({..._,values:_.values,created_by:r,submitted_at:d});h.push(E),f.push(M(E)),b.push(E.procedure,E.fields_revision),g.push(E.uuid)}S.push({payload:{payloads:f,submitted_at:d},blockers:b,blocks:g})}this.dispatch(n(h));const A=S.map(I=>{const{payload:f,blocks:b,blockers:g}=I;return this.enqueueRequest({description:y(l.POST,this.name,!0),method:l.POST,url:`${this.url}/bulk/`,payload:f,blockers:g,blocks:b})});return Promise.all(A).then(I=>{this.dispatch(a(I.flat()))}).catch(()=>{this.dispatch(c(R(h)))}),[h,Promise.all(A).then(I=>I.flat())]}update(e){const{updateOne:i}=this.actions,{selectById:n}=this.selectors,a=this.select(n(e.uuid));if(!a)throw new Error(`Expected ProcedureFieldValues with uuid ${e.uuid} to exist`);const c={...a,...e};this.dispatch(i(c));const d=this.enqueueRequest({description:y(l.PATCH,this.name,!1),method:l.PATCH,url:`${this.url}/${e.uuid}/`,payload:e,blockers:[c.fields_revision,c.procedure],blocks:[c.uuid]});return d.then(r=>{this.dispatch(i(r))}).catch(()=>{this.dispatch(i(a))}),[c,d]}async delete(e){const{deleteOne:i,addOne:n}=this.actions,{selectById:a}=this.selectors,c=this.select(a(e));if(!c)throw new Error(`Expected submission with uuid ${e} to exist`);const d=this.select(wF(e));this.dispatch(i(e)),this.dispatch(ua(R(d)));try{return await this.enqueueRequest({description:y(l.DELETE,this.name,!1),method:l.DELETE,url:`${this.url}/${e}/`,blockers:[e],blocks:[]})}catch(r){throw this.dispatch(n(c)),this.dispatch(da(d)),r}}async refreshStore(e,i){const{initialize:n}=this.actions,c=(await this.listPaginated({queryParams:{procedure__project:e,latest:!0}},i)).flat();return this.dispatch(n(c)),c}}class rw extends w{name="Procedure Type";url="/procedure-types";actions={addOne:WF,addMany:KF,setOne:YF,setMany:ZF,updateOne:JF,updateMany:XF,deleteOne:QF,deleteMany:xF,initialize:HF};selectors={selectById:sb,selectByIds:ib};add(e){const{addOne:i,updateOne:n,deleteOne:a}=this.actions,c=O({...e,created_by:this.select(r=>r.userReducer.currentUser?.id??null),submitted_at:new Date().toISOString()});this.dispatch(i(c));const d=this.enqueueRequest({description:y(l.POST,this.name,!1),method:l.POST,url:`${this.url}/`,payload:M(c),blockers:[],blocks:[c.uuid]});return d.then(r=>{this.dispatch(n(r))}).catch(()=>{this.dispatch(a(c.uuid))}),[c,d]}update(e){const{updateOne:i}=this.actions,{selectById:n}=this.selectors,a=this.select(n(e.uuid));if(!a)throw new Error(`Expected procedure type with uuid ${e.uuid} to exist`);const c={...a,...e};this.dispatch(i(c));const d=this.enqueueRequest({description:y(l.PATCH,this.name,!1),method:l.PATCH,url:`${this.url}/${e.uuid}/`,payload:e,blockers:[a.uuid],blocks:[a.uuid]});return d.then(r=>{this.dispatch(i(r))}).catch(()=>{this.dispatch(i(a))}),[c,d]}async delete(e){const{deleteOne:i,addOne:n}=this.actions,{selectById:a}=this.selectors,c=this.select(a(e));if(!c)throw new Error(`Expected procedure type with uuid ${e} to exist`);const d=this.select(bI(e));this.dispatch(i(e)),this.dispatch(_t(R(d)));try{return await this.enqueueRequest({description:y(l.DELETE,this.name,!1),method:l.DELETE,url:`${this.url}/${e}/`,blockers:[e],blocks:[]})}catch(r){throw this.dispatch(n(c)),this.dispatch(bt(d)),r}}async refreshStore(e,i){const{initialize:n}=this.actions,a=await this.list({queryParams:{organization:e}},i);return this.dispatch(n(a)),a}}class dw extends w{name="Team Membership";url="/team-memberships";actions={addOne:rb,addMany:db,setOne:ub,setMany:lb,updateOne:ob,updateMany:hb,deleteOne:mb,deleteMany:pb,initialize:cb};selectors={selectById:fb,selectByIds:Ab};add(e){const{addOne:i,updateOne:n,deleteOne:a}=this.actions,c=O({...e,created_by:this.select(r=>r.userReducer.currentUser?.id??null)});this.dispatch(i(c));const d=this.enqueueRequest({description:y(l.POST,this.name,!1),method:l.POST,url:`${this.url}/`,payload:M(c),blockers:[e.team],blocks:[c.uuid]});return d.then(r=>{this.dispatch(n(r))}).catch(()=>{this.dispatch(a(c.uuid))}),[c,d]}bulkAdd(e){const{addMany:i,updateMany:n,deleteMany:a}=this.actions,c=this.select(h=>h.userReducer.currentUser?.id??null),d=e.map(h=>O({...h,created_by:c}));this.dispatch(i(d));const r=this.enqueueRequest({description:y(l.POST,this.name,!0),method:l.POST,url:`${this.url}/bulk/`,payload:{team_memberships:d.map(h=>M(h))},blockers:d.map(h=>h.team),blocks:d.map(h=>h.uuid)});return r.then(h=>{this.dispatch(n(h))}).catch(()=>{this.dispatch(a(d.map(h=>h.uuid)))}),[d,r]}async delete(e){const{addOne:i,deleteOne:n}=this.actions,{selectById:a}=this.selectors,c=this.select(a(e));if(!c)throw new Error(`Expected team membership with uuid ${e} to exist`);this.dispatch(n(e));try{return await this.enqueueRequest({description:y(l.DELETE,this.name,!1),method:l.DELETE,url:`${this.url}/${e}/`,blockers:[e],blocks:[e]})}catch(d){throw this.dispatch(i(c)),d}}async refreshStore(e,i){const{initialize:n}=this.actions,a=await this.list({queryParams:{team__organization:e}},i);return this.dispatch(n(a)),a}}class uw extends w{name="Team";url="/teams";actions={addOne:Ob,addMany:Pb,setOne:Fb,setMany:bb,updateOne:_b,updateMany:gb,deleteOne:Mb,deleteMany:Rb,initialize:Tb};selectors={selectById:vb,selectByIds:Eb};add(e){const{addOne:i,updateOne:n,deleteOne:a}=this.actions,c=O({...e,submitted_at:new Date().toISOString(),created_by:this.select(r=>r.userReducer.currentUser?.id??null)});this.dispatch(i(c));const d=this.enqueueRequest({description:y(l.POST,this.name,!1),method:l.POST,url:`${this.url}/`,payload:M(c),blockers:[],blocks:[c.uuid]});return d.then(r=>{this.dispatch(n(r))}).catch(()=>{this.dispatch(a(c.uuid))}),[c,d]}update(e){const{updateOne:i}=this.actions,{selectById:n}=this.selectors,a=this.select(n(e.uuid));if(!a)throw new Error(`Expected team with uuid ${e.uuid} to exist`);const c={...a,...e};this.dispatch(i(c));const d=this.enqueueRequest({description:y(l.PATCH,this.name,!1),method:l.PATCH,url:`${this.url}/${e.uuid}/`,payload:M(e),blockers:[e.uuid],blocks:[e.uuid]});return d.then(r=>{this.dispatch(i(r))}).catch(()=>{this.dispatch(i(a))}),[c,d]}async delete(e){const{addOne:i,deleteOne:n}=this.actions,{selectById:a}=this.selectors,c=this.select(a(e));if(!c)throw new Error(`Expected team with uuid ${e} to exist`);this.dispatch(n(e));try{return await this.enqueueRequest({description:y(l.DELETE,this.name,!1),method:l.DELETE,url:`${this.url}/${e}/`,blockers:[e],blocks:[e]})}catch(d){throw this.dispatch(i(c)),d}}async refreshStore(e,i){const{initialize:n}=this.actions,a=await this.list({queryParams:{organization:e}},i);return this.dispatch(n(a)),a}}class lw extends At{name="User";url="/user";actions={addOne:Sn,addMany:KS,setOne:WS,setMany:HS,updateOne:ZS,updateMany:YS,deleteOne:fn,deleteMany:JS,initialize:GS};selectors={selectById:as,selectByIds:xS};async list(e,i){const{organizationUuid:n,...a}=e,c=n?`/organizations/${n}${this.url}s/`:`/${this.url}`;return this.performRequest({method:l.GET,url:c,...a},i)}async refreshStore(e,i){const{initialize:n}=this.actions,a=await this.list({organizationUuid:e},i);return this.dispatch(n(a)),a}}async function Fa(t,e,i,n,a){const c=n instanceof ft;c&&e.checkAuth!==!1&&await n.auth.prepareAuth();const d={queryParams:"",isAuthNeeded:!0},{s3url:r,payload:h,headers:o,method:S,queryParams:A,attachmentHash:I,isExternalUrl:f,isAuthNeeded:b,isResponseBlob:g}={...d,...e};let _=e.url;const E=I?await i.files.getFileFromCache(I):void 0,z=E?await $a(E):void 0;if(I){if(!z)throw new Error(`Cannot upload file ${I} because it's not cached.`);if(z.size===0)throw new Error(`Cannot upload file ${I} because its has a size of 0.`)}!f&&!_.startsWith("http")&&(!_.startsWith("/")&&!_.startsWith("blob:")&&(_="/"+_),_=t+_);const v=D=>{if(I){if(!r)throw new Error(`No S3 URL for file ${I}`);if("warning"in r)throw new Error(`S3 URL warning for file ${I}`);if(!z)throw new Error(`No file for file ${I}`);const L=r.fields["x-amz-checksum-sha1"];if(!L)throw new Error(`No checksum for file ${I}`);return D.set("x-amz-checksum-sha1",L).field({...h,...r.fields}).attach("file",z)}return D.send(h)},qt={[l.GET]:()=>g?Tt.get(_.toString()).responseType("blob"):Tt.get(_.toString()),[l.POST]:()=>{const D=Tt.post(_.toString());return v(D)},[l.PATCH]:()=>{const D=Tt.patch(_.toString());return v(D)},[l.PUT]:()=>{const D=Tt.put(_.toString());return v(D)},[l.DELETE]:()=>{const D=Tt.delete(_.toString());return v(D)}}[S];let q=qt();const ms=()=>{console.debug("aborting request:",e.url),q.abort()};a?.addEventListener("abort",ms),b&&c&&(q=n.auth.applyAuth(q)),o&&(q=q.set(o));try{return await q.query(A)}catch(D){const L=kb(D),$t=L?.status;throw c&&L&&n.auth.isAuthFailure(L)?(await n.auth.handleUnauthorized(q,L),new C({response:L,innerError:D,discard:!1})):new C({response:L,innerError:D,discard:Ta.includes($t)})}finally{a?.removeEventListener("abort",ms)}}class ow{store;constructor(e){this.store=e}_performRequest(e,i,n,a){const c=new ps,d={...i,uuid:i.uuid??ut.v4()};return Fa(e,d,this,n,a).then(r=>{c.resolve(r.body)}).catch(r=>{r instanceof Error?c.reject(r):c.reject(new Error((r??gt).toString()))}),c}async performRequest(e,i,n,a){return this._performRequest(e,i,n,a).then(c=>{if(c instanceof C)throw c;return c})}async enqueueRequest(e,i,n){return this._enqueueRequest(e,i,n).then(a=>{if(a instanceof C)throw a;return a})}_enqueueRequest(e,i,n){const a=new ps,c={...e,BASE_URL:i,serviceName:n},d=this.store.dispatch(Vf(c)),r=o=>{if(o)a.resolve(o.body);else{const S=new C({message:"Could not get a response from the server.",response:o,discard:!0});a.reject(S)}},h=o=>{o instanceof C?o.options.discard=!0:(console.error("Received an unexpected error while processing a request:",o,`
14
+ Converting error to APIError and discarding.`),o=new C({message:"An error occurred while processing the request.",innerError:o,discard:!0})),a.reject(o)};return d.then(r,h),a}async performPagination(e,i,n,a,c){const d={...i,queryParams:{...i.queryParams,paginate:!0,limit:n}},{method:r}=d,h=[];let o=await this.performRequest(e,d,a,c);for(h.push(o.results);o.next;)o=await this.performRequest(e,{url:o.next,method:r},a,c),h.push(o.results);return h}}class Mt{graph;requestAttemptCounter;constructor(){this.graph=new r_.DepGraph,this.requestAttemptCounter={}}static _fromOutbox(e){const i=new Mt;for(let n=0;n<e.length;n++){const a=e[n];if(!a){console.error("Outbox item was undefined");continue}i.sneakRequest(a);for(let c=0;c<n;c++){const d=e[c];if(!d){console.error("Previous outbox item was undefined");continue}d.payload.uuid!==a.payload.uuid&&d.payload.blocks.some(r=>a.payload.blockers.includes(r))&&Mt._addDependency(a.payload.uuid,d.payload.uuid,i.graph)}}return i}_addDependency(e,i){Mt._addDependency(e,i,this.graph)}static _addDependency(e,i,n){if(e===i)throw new Error(`Tried to add dependency from node to itself: ${e}`);if(!n.hasNode(e))throw new Error(`Tried to add dependency from non-existent node: ${e} (to node: ${i})`);if(!n.hasNode(i))throw new Error(`Tried to add dependency to non-existent node: ${i} (from node: ${e})`);n.addDependency(e,i)}addRequest(e){if(this.graph.addNode(e.payload.uuid,e),!(e.payload.blockers.length===0||this.graph.size()===1))for(const i of this.graph.overallOrder()){if(i===e.payload.uuid)continue;const n=this.graph.getNodeData(i),a=new Set(n.payload.blocks);e.payload.blockers.some(c=>a.has(c))&&this._addDependency(e.payload.uuid,i)}}insertRequest(e){this.graph.addNode(e.payload.uuid,e);for(const i of this.graph.overallOrder()){if(i===e.payload.uuid)continue;const n=this.graph.getNodeData(i),a=new Set(e.payload.blocks);n.payload.blockers.some(c=>a.has(c))&&this._addDependency(i,e.payload.uuid)}}sneakRequest(e){this.graph.addNode(e.payload.uuid,e)}_getNextNode(){const e=this.graph.overallOrder(!0);let i=1/0,n;for(const a of e){const c=this.requestAttemptCounter[a]||0;c<i&&(i=c,n=a)}return n}peek(){const e=this._getNextNode();if(e)return this.graph.getNodeData(e)}remove(e){this.graph.removeNode(e),delete this.requestAttemptCounter[e]}pop(){const e=this.peek();return e&&this.graph.removeNode(e.payload.uuid),e}getQueue(){const e=this.graph.overallOrder().map(n=>this.graph.getNodeData(n)),i=this._getNextNode();if(i){const n=this.graph.getNodeData(i),a=e.findIndex(c=>c.payload.uuid===n.payload.uuid);a!==-1&&(e.splice(a,1),e.unshift(n))}return e}getReady(){let e=this.graph.overallOrder(!0).map(i=>this.graph.getNodeData(i));return e=e.sort((i,n)=>i.meta.offline.effect.timestamp.localeCompare(n.meta.offline.effect.timestamp)),e=e.sort((i,n)=>{const a=this.requestAttemptCounter[i.payload.uuid]||0,c=this.requestAttemptCounter[n.payload.uuid]||0;return a-c}),e}registerRetry(e){this.requestAttemptCounter[e]=(this.requestAttemptCounter[e]||0)+1}}let Gb;function Hb(t){Gb=t}function Rt(){return Gb}let Wb;function Kb(t){Wb=t}function Yb(){return Wb}let ba=null;function It(){const t=Rt();if(!t)return console.warn("Client store not set; cannot get outbox coordinator yet."),null;if(ba)return ba;const e=t.getState().offline.outbox,i=Mt._fromOutbox(e);return ba=i,i}const hw=(t,e)=>{const i=new e(t);return Kb(i),Hb(t),i};class mw{_all;_previous;constructor(e){this._all=[e],this._previous=e,this.then=this.then.bind(this),this.compile=this.compile.bind(this)}then(e){return this._previous&&(this._previous.next=e),this._all.push(e),this._previous=e,{then:this.then,compile:this.compile}}compile(){return this._all}}class _a{next;constructor(){this.next=null}then(e){return new mw(this).then(e)}async run(e){if(this.next)return this.next.run(e);{if(console.debug("Middleware finished. Performing request:",e.payload.url),!Rt())throw new Error("Client store not set");const n=Yb();if(!n)throw new Error("Client SDK not set");return $b(e,n)}}}class Zb extends _a{async run(e){return super.run(e)}}class Jb extends _a{async run(e){return super.run(e)}}const Xb=new Zb().then(new Jb).compile();function Qb(t){return Xb[0]?.run(t)}var xb=(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))(xb||{});s.ALL_MIDDLEWARE=Xb,s.APIError=C,s.AgentService=LM,s.AssetAttachmentService=kM,s.AssetCommentService=NM,s.AssetService=GM,s.AssetStatusType=Ba,s.AssetTypeAttachmentService=HM,s.AssetTypeFieldValuesAttachmentService=YM,s.AssetTypeFieldValuesService=ZM,s.AssetTypeFieldsAttachmentService=WM,s.AssetTypeFieldsService=KM,s.AssetTypeIdentifierService=JM,s.AssetTypeIdentifierValueService=XM,s.AssetTypeService=QM,s.AssetTypeStatusService=xM,s.BaseApiService=ft,s.BaseAuthService=Nb,s.BaseModelApiService=At,s.BaseOfflineFileModelApiService=B,s.BaseOfflineModelApiService=w,s.BaseSDK=ow,s.COMMON_AUTO_FIELDS=Ea,s.DEFAULT_PAGE_SIZE=zb,s.DISCARD_HTTP_STATUSES=Ta,s.DeferredPromise=ps,s.DocumentAttachmentService=eR,s.DocumentService=tR,s.EMPTY_ARRAY=Ra,s.EMPTY_OBJECT=wa,s.EmailDomainsService=sR,s.EmailVerificationService=iR,s.FileService=nR,s.FormIdentifierService=aR,s.FormIdentifierValueService=cR,s.FormRevisionAttachmentService=rR,s.FormRevisionService=dR,s.FormService=uR,s.FormSubmissionCommentService=mR,s.FormSubmissionFieldValuesAttachmentService=oR,s.FormSubmissionFieldValuesService=hR,s.FormSubmissionService=pR,s.FormSubscriberService=lR,s.GeoImageService=yR,s.HttpMethod=l,s.IssueAssociationService=SR,s.IssueAttachmentService=fR,s.IssueCommentAttachmentService=AR,s.IssueCommentService=IR,s.IssuePriorityType=Da,s.IssueService=TR,s.IssueStatusType=za,s.IssueTypeAttachmentService=OR,s.IssueTypeFieldValuesAttachmentService=bR,s.IssueTypeFieldValuesService=_R,s.IssueTypeFieldsAttachmentService=PR,s.IssueTypeFieldsService=FR,s.IssueTypeIdentifierService=gR,s.IssueTypeIdentifierValueService=MR,s.IssueTypePriorityService=RR,s.IssueTypeService=wR,s.IssueTypeStatusService=vR,s.IssueUpdateChange=j,s.IssueUpdateService=ER,s.JWTService=zR,s.MAX_SERVICE_BATCH_SIZE=U,s.OUTBOX_RETRY_DELAY=va,s.OfflineAnalyticsMiddleware=Zb,s.OfflineMiddleware=_a,s.OrganizationAccessLevel=Va,s.OrganizationAccessService=DR,s.OrganizationService=jR,s.OutboxCoordinator=Mt,s.ProcdureInitiativeService=ew,s.ProcedureFieldValuesAttachmentService=aw,s.ProcedureFieldValuesService=cw,s.ProcedureService=kR,s.ProcedureStepAssigneeService=NR,s.ProcedureStepCommentService=GR,s.ProcedureStepDefaultAssigneeService=HR,s.ProcedureStepDefaultReviewerService=WR,s.ProcedureStepEventService=KR,s.ProcedureStepEventType=ja,s.ProcedureStepFieldValuesAttachmentService=JR,s.ProcedureStepFieldValuesReviewService=XR,s.ProcedureStepFieldValuesReviewType=Ca,s.ProcedureStepFieldValuesService=QR,s.ProcedureStepFieldsAttachmentService=YR,s.ProcedureStepFieldsService=ZR,s.ProcedureStepReviewerService=xR,s.ProcedureStepService=tw,s.ProcedureTypeAttachmentService=sw,s.ProcedureTypeFieldsAttachmentService=iw,s.ProcedureTypeFieldsService=nw,s.ProcedureTypeService=rw,s.ProjectAccessService=CR,s.ProjectAttachmentService=qR,s.ProjectCommentService=$R,s.ProjectFileService=UR,s.ProjectService=LR,s.RESET_ORGANIZATION_STATE=F,s.RESET_PROJECT_STATE=V,s.RESET_STATE=T,s.RateLimitingMiddleware=Jb,s.SelectorBuilder=R_,s.TeamMembershipService=dw,s.TeamService=uw,s.UNKNOWN_ERROR_MESSAGE=gt,s.UserService=lw,s.VerificationCodeType=xb,s._setLatestRetryTime=zf,s.addAsset=jc,s.addAssetAttachment=uc,s.addAssetAttachments=Ps,s.addAssetComment=Pc,s.addAssetComments=kt,s.addAssetType=$d,s.addAssetTypeAttachment=Zc,s.addAssetTypeAttachments=vs,s.addAssetTypeFieldValues=Zr,s.addAssetTypeFieldValuesAttachment=jr,s.addAssetTypeFieldValuesAttachments=Cs,s.addAssetTypeFieldValuesMany=Jr,s.addAssetTypeFields=Pr,s.addAssetTypeFieldsAttachment=dr,s.addAssetTypeFieldsAttachments=ur,s.addAssetTypeFieldsMany=Fr,s.addAssetTypeIdentifier=ud,s.addAssetTypeIdentifierValue=Fd,s.addAssetTypeIdentifierValues=bd,s.addAssetTypeIdentifiers=ld,s.addAssetTypeStatus=Xd,s.addAssetTypeStatuses=Qd,s.addAssetTypes=Ud,s.addAssets=Ms,s.addConversation=ic,s.addConversations=w_,s.addDocument=Ru,s.addDocumentAttachment=pu,s.addDocumentAttachments=yu,s.addDocuments=wu,s.addEmailDomain=ku,s.addEmailDomains=Nu,s.addForm=fo,s.addFormIdentifier=sl,s.addFormIdentifierValue=Sl,s.addFormIdentifierValues=fl,s.addFormIdentifiers=il,s.addFormRevision=Gl,s.addFormRevisionAttachment=vl,s.addFormRevisionAttachments=El,s.addFormRevisions=ai,s.addFormSubmission=Sh,s.addFormSubmissionComment=th,s.addFormSubmissionComments=Fi,s.addFormSubmissionFieldValues=ko,s.addFormSubmissionFieldValuesAttachment=Eo,s.addFormSubmissionFieldValuesAttachments=mi,s.addFormSubmissionFieldValuesMany=Ii,s.addFormSubmissions=ht,s.addFormSubscriber=io,s.addFormSubscribers=di,s.addForms=Ao,s.addGeoImage=Bh,s.addGeoImages=zh,s.addIssue=Km,s.addIssueAssociation=Zh,s.addIssueAssociations=Ot,s.addIssueAttachment=rm,s.addIssueAttachments=vi,s.addIssueComment=zm,s.addIssueCommentAttachment=Tm,s.addIssueCommentAttachments=Om,s.addIssueComments=Dm,s.addIssueType=dS,s.addIssueTypeAttachment=cp,s.addIssueTypeAttachments=rp,s.addIssueTypeFieldValues=zp,s.addIssueTypeFieldValuesAttachment=dy,s.addIssueTypeFieldValuesAttachments=Ki,s.addIssueTypeFieldValuesMany=Dp,s.addIssueTypeFields=Yp,s.addIssueTypeFieldsAttachment=Tp,s.addIssueTypeFieldsAttachments=Op,s.addIssueTypeFieldsMany=Zp,s.addIssueTypeIdentifier=Oy,s.addIssueTypeIdentifierValue=Dy,s.addIssueTypeIdentifierValues=jy,s.addIssueTypeIdentifiers=Py,s.addIssueTypePriorities=Jy,s.addIssueTypePriority=Zy,s.addIssueTypeStatus=PS,s.addIssueTypeStatuses=FS,s.addIssueTypes=uS,s.addIssueUpdate=un,s.addIssueUpdates=ln,s.addIssues=qi,s.addOrganization=Tf,s.addOrganizationAccess=sf,s.addOrganizationAccesses=nf,s.addOrganizations=If,s.addProcedure=pI,s.addProcedureFieldValues=VF,s.addProcedureFieldValuesAttachment=IF,s.addProcedureFieldValuesAttachments=da,s.addProcedureFieldValuesMany=BF,s.addProcedureInitiative=eI,s.addProcedureInitiatives=tI,s.addProcedureStep=TP,s.addProcedureStepAssignee=vI,s.addProcedureStepAssignees=EI,s.addProcedureStepComment=GI,s.addProcedureStepComments=HI,s.addProcedureStepDefaultAssignee=nT,s.addProcedureStepDefaultAssignees=aT,s.addProcedureStepDefaultReviewer=AT,s.addProcedureStepDefaultReviewers=IT,s.addProcedureStepEvent=VT,s.addProcedureStepEvents=BT,s.addProcedureStepFieldValues=EO,s.addProcedureStepFieldValuesAttachment=AO,s.addProcedureStepFieldValuesAttachments=Hn,s.addProcedureStepFieldValuesMany=VO,s.addProcedureStepFieldValuesReview=HO,s.addProcedureStepFieldValuesReviews=Jn,s.addProcedureStepFields=aO,s.addProcedureStepFieldsAttachment=WT,s.addProcedureStepFieldsAttachments=$n,s.addProcedureStepFieldsMany=cO,s.addProcedureStepReviewer=nP,s.addProcedureStepReviewers=aP,s.addProcedureSteps=OP,s.addProcedureType=WF,s.addProcedureTypeAttachment=EP,s.addProcedureTypeAttachments=VP,s.addProcedureTypeFields=aF,s.addProcedureTypeFieldsAttachment=HP,s.addProcedureTypeFieldsAttachments=WP,s.addProcedureTypeFieldsMany=cF,s.addProcedureTypes=KF,s.addProcedures=bt,s.addProject=NA,s.addProjectAccess=qf,s.addProjectAccesses=$f,s.addProjectAttachment=Xf,s.addProjectAttachments=Qf,s.addProjectComment=oA,s.addProjectComments=hA,s.addProjectFile=MA,s.addProjectFiles=RA,s.addProjects=kA,s.addTeam=Ob,s.addTeamMembership=rb,s.addTeamMemberships=db,s.addTeams=Pb,s.addUser=Sn,s.addUsers=KS,s.agentsReducer=cc,s.agentsSlice=Is,s.areArraysEqual=o_,s.assetAttachmentReducer=Ic,s.assetAttachmentSlice=Os,s.assetCommentReducer=Bc,s.assetCommentSlice=_s,s.assetReducer=Wc,s.assetSlice=gs,s.assetTypeAttachmentReducer=ar,s.assetTypeAttachmentSlice=ws,s.assetTypeFieldValuesAttachmentReducer=Wr,s.assetTypeFieldValuesAttachmentSlice=js,s.assetTypeFieldValuesReducer=cd,s.assetTypeFieldValuesSlice=Us,s.assetTypeFieldsAttachmentReducer=Ir,s.assetTypeFieldsAttachmentSlice=Bs,s.assetTypeFieldsReducer=Br,s.assetTypeFieldsSlice=Ds,s.assetTypeIdentifierReducer=Td,s.assetTypeIdentifierSlice=Ls,s.assetTypeIdentifierValueReducer=zd,s.assetTypeIdentifierValueSlice=Ns,s.assetTypeReducer=Yd,s.assetTypeSlice=Gs,s.assetTypeStatusReducer=du,s.assetTypeStatusSlice=Ws,s.assetTypeStatusSortFn=Ja,s.authReducer=ou,s.authSlice=Yt,s.baseReducer=EM,s.baseReducers=Ia,s.clearTokens=Y_,s.createModelAdapter=P,s.createOfflineAction=vf,s.createPayload=M,s.createSelectionAdapter=d_,s.deleteAsset=$c,s.deleteAssetAttachment=pc,s.deleteAssetAttachments=Fs,s.deleteAssetComment=Mc,s.deleteAssetComments=Nt,s.deleteAssetType=Nd,s.deleteAssetTypeAttachment=er,s.deleteAssetTypeAttachments=Es,s.deleteAssetTypeFieldValues=td,s.deleteAssetTypeFieldValuesAttachment=Lr,s.deleteAssetTypeFieldValuesAttachments=qs,s.deleteAssetTypeFieldValuesMany=sd,s.deleteAssetTypeFields=Rr,s.deleteAssetTypeFieldsAttachment=pr,s.deleteAssetTypeFieldsAttachments=yr,s.deleteAssetTypeFieldsMany=wr,s.deleteAssetTypeIdentifier=yd,s.deleteAssetTypeIdentifierValue=wd,s.deleteAssetTypeIdentifierValues=vd,s.deleteAssetTypeIdentifiers=Sd,s.deleteAssetTypeStatus=iu,s.deleteAssetTypeStatuses=nu,s.deleteAssetTypes=Gd,s.deleteAssets=Rs,s.deleteConversation=V_,s.deleteConversations=B_,s.deleteDocument=zu,s.deleteDocumentAttachment=Tu,s.deleteDocumentAttachments=Ou,s.deleteDocuments=Du,s.deleteEmailDomain=Yu,s.deleteEmailDomains=Zu,s.deleteForm=Fo,s.deleteFormIdentifier=dl,s.deleteFormIdentifierValue=Pl,s.deleteFormIdentifierValues=Fl,s.deleteFormIdentifiers=ul,s.deleteFormRevision=Zl,s.deleteFormRevisionAttachment=jl,s.deleteFormRevisionAttachments=Cl,s.deleteFormRevisions=ci,s.deleteFormSubmission=Ih,s.deleteFormSubmissionComment=ch,s.deleteFormSubmissionComments=bi,s.deleteFormSubmissionFieldValues=Ko,s.deleteFormSubmissionFieldValuesAttachment=jo,s.deleteFormSubmissionFieldValuesAttachments=pi,s.deleteFormSubmissionFieldValuesMany=Ti,s.deleteFormSubmissions=mt,s.deleteFormSubscriber=uo,s.deleteFormSubscribers=ui,s.deleteForms=bo,s.deleteGeoImage=Ch,s.deleteGeoImages=qh,s.deleteIssue=Qm,s.deleteIssueAssociation=Jh,s.deleteIssueAssociations=Pt,s.deleteIssueAttachment=hm,s.deleteIssueAttachments=Ei,s.deleteIssueComment=Um,s.deleteIssueCommentAttachment=gm,s.deleteIssueCommentAttachments=Mm,s.deleteIssueComments=Lm,s.deleteIssueType=pS,s.deleteIssueTypeAttachment=hp,s.deleteIssueTypeAttachments=mp,s.deleteIssueTypeFieldValues=Up,s.deleteIssueTypeFieldValuesAttachment=my,s.deleteIssueTypeFieldValuesAttachments=Yi,s.deleteIssueTypeFieldValuesMany=Lp,s.deleteIssueTypeFields=ey,s.deleteIssueTypeFieldsAttachment=gp,s.deleteIssueTypeFieldsAttachments=Mp,s.deleteIssueTypeFieldsMany=ty,s.deleteIssueTypeIdentifier=My,s.deleteIssueTypeIdentifierValue=Ly,s.deleteIssueTypeIdentifierValues=ky,s.deleteIssueTypeIdentifiers=Ry,s.deleteIssueTypePriorities=sS,s.deleteIssueTypePriority=tS,s.deleteIssueTypeStatus=RS,s.deleteIssueTypeStatuses=wS,s.deleteIssueTypes=yS,s.deleteIssueUpdate=on,s.deleteIssueUpdates=hn,s.deleteIssues=$i,s.deleteOrganization=Ff,s.deleteOrganizationAccess=uf,s.deleteOrganizationAccesses=lf,s.deleteOrganizations=bf,s.deleteProcedure=II,s.deleteProcedureFieldValues=qF,s.deleteProcedureFieldValuesAttachment=bF,s.deleteProcedureFieldValuesAttachments=ua,s.deleteProcedureFieldValuesMany=$F,s.deleteProcedureInitiative=cI,s.deleteProcedureInitiatives=rI,s.deleteProcedureStep=bP,s.deleteProcedureStepAssignee=jI,s.deleteProcedureStepAssignees=CI,s.deleteProcedureStepComment=JI,s.deleteProcedureStepComments=XI,s.deleteProcedureStepDefaultAssignee=lT,s.deleteProcedureStepDefaultAssignees=oT,s.deleteProcedureStepDefaultReviewer=bT,s.deleteProcedureStepDefaultReviewers=_T,s.deleteProcedureStepEvent=qT,s.deleteProcedureStepEvents=$T,s.deleteProcedureStepFieldValues=CO,s.deleteProcedureStepFieldValuesAttachment=FO,s.deleteProcedureStepFieldValuesAttachments=Wn,s.deleteProcedureStepFieldValuesMany=qO,s.deleteProcedureStepFieldValuesReview=JO,s.deleteProcedureStepFieldValuesReviews=Xn,s.deleteProcedureStepFields=oO,s.deleteProcedureStepFieldsAttachment=XT,s.deleteProcedureStepFieldsAttachments=Un,s.deleteProcedureStepFieldsMany=hO,s.deleteProcedureStepReviewer=lP,s.deleteProcedureStepReviewers=oP,s.deleteProcedureSteps=_P,s.deleteProcedureType=QF,s.deleteProcedureTypeAttachment=CP,s.deleteProcedureTypeAttachments=qP,s.deleteProcedureTypeFields=oF,s.deleteProcedureTypeFieldsAttachment=XP,s.deleteProcedureTypeFieldsAttachments=QP,s.deleteProcedureTypeFieldsMany=hF,s.deleteProcedureTypes=xF,s.deleteProcedures=_t,s.deleteProject=WA,s.deleteProjectAccess=Gf,s.deleteProjectAccesses=Hf,s.deleteProjectAttachment=iA,s.deleteProjectAttachments=nA,s.deleteProjectComment=fA,s.deleteProjectComments=AA,s.deleteProjectFile=EA,s.deleteProjectFiles=VA,s.deleteProjects=KA,s.deleteTeam=Mb,s.deleteTeamMembership=mb,s.deleteTeamMemberships=pb,s.deleteTeams=Rb,s.deleteUser=fn,s.deleteUsers=JS,s.dequeue=qb,s.discard=Ub,s.documentAttachmentReducer=_u,s.documentAttachmentSlice=Ys,s.documentSlice=Js,s.documentsReducer=ju,s.emailDomainsReducer=xu,s.emailDomainsSlice=Qs,s.emailRegex=g_,s.enqueue=Cb,s.enqueueRequest=Vf,s.extractResponseFromError=kb,s.fallbackToEmptyArray=p,s.fallbackToEmptyObject=fs,s.fetchBlobFromObjectUrl=La,s.fetchFileFromObjectUrl=ka,s.fileToBlob=$a,s.formIdentifierReducer=ml,s.formIdentifierSlice=ei,s.formIdentifierValueReducer=Ml,s.formIdentifierValueSlice=si,s.formReducer=_o,s.formRevisionAttachmentReducer=Ll,s.formRevisionAttachmentSlice=ii,s.formRevisionReducer=eo,s.formRevisionsSlice=ni,s.formSlice=li,s.formSubmissionCommentReducer=oh,s.formSubmissionCommentSlice=Pi,s.formSubmissionFieldValuesAttachmentReducer=$o,s.formSubmissionFieldValuesAttachmentSlice=hi,s.formSubmissionFieldValuesReducer=Qo,s.formSubmissionFieldValuesSlice=Ai,s.formSubmissionReducer=Rh,s.formSubmissionSlice=_i,s.formSubscriberReducer=po,s.formSubscriberSlice=ri,s.geoImageReducer=kh,s.geoImageSlice=gi,s.getClientSDK=Yb,s.getClientStore=Rt,s.getDocumentSubTree=ec,s.getDocumentTrees=M_,s.getFileExtension=Ua,s.getLocalDateString=qa,s.getLocalRelativeDateString=y_,s.getOutboxCoordinator=It,s.getPresignedUrlExpiryDate=Wa,s.getRenamedFile=A_,s.getRequestDescription=y,s.getS3FileKey=f_,s.hashFile=Lt,s.initSDK=hw,s.initializeAssetAttachments=dc,s.initializeAssetComments=Oc,s.initializeAssetTypeAttachments=Yc,s.initializeAssetTypeFieldValues=Yr,s.initializeAssetTypeFieldValuesAttachments=Dr,s.initializeAssetTypeFields=Or,s.initializeAssetTypeFieldsAttachments=rr,s.initializeAssetTypeIdentifierValues=Pd,s.initializeAssetTypeIdentifiers=dd,s.initializeAssetTypeStatuses=Jd,s.initializeAssetTypes=jd,s.initializeAssets=Dc,s.initializeConversations=sc,s.initializeDocumentAttachments=mu,s.initializeDocuments=Mu,s.initializeEmailDomains=Lu,s.initializeFormIdentifierValues=yl,s.initializeFormIdentifiers=tl,s.initializeFormRevisionAttachments=wl,s.initializeFormRevisions=Nl,s.initializeFormSubmissionComments=eh,s.initializeFormSubmissionFieldValues=Lo,s.initializeFormSubmissionFieldValuesAttachments=vo,s.initializeFormSubmissions=mh,s.initializeFormSubscribers=so,s.initializeForms=So,s.initializeGeoImages=vh,s.initializeIssueAssociations=Gh,s.initializeIssueAttachments=cm,s.initializeIssueCommentAttachments=Im,s.initializeIssueComments=Bm,s.initializeIssueTypeAttachments=ap,s.initializeIssueTypeFieldValues=Bp,s.initializeIssueTypeFieldValuesAttachments=ry,s.initializeIssueTypeFields=Kp,s.initializeIssueTypeFieldsAttachments=Ip,s.initializeIssueTypeIdentifierValues=zy,s.initializeIssueTypeIdentifiers=Ty,s.initializeIssueTypePriorities=Yy,s.initializeIssueTypeStatuses=OS,s.initializeIssueTypes=rS,s.initializeIssueUpdates=zS,s.initializeIssues=Wm,s.initializeOrganizationAccesses=tf,s.initializeOrganizations=Sf,s.initializeProcedureFieldValues=EF,s.initializeProcedureFieldValuesAttachments=AF,s.initializeProcedureInitiatives=xA,s.initializeProcedureStepAssignees=wI,s.initializeProcedureStepComments=NI,s.initializeProcedureStepDefaultAssignees=iT,s.initializeProcedureStepDefaultReviewers=fT,s.initializeProcedureStepEvents=ET,s.initializeProcedureStepFieldValues=vO,s.initializeProcedureStepFieldValuesAttachments=fO,s.initializeProcedureStepFieldValuesReviews=GO,s.initializeProcedureStepFields=nO,s.initializeProcedureStepFieldsAttachments=HT,s.initializeProcedureStepReviewers=iP,s.initializeProcedureSteps=fP,s.initializeProcedureTypeAttachments=vP,s.initializeProcedureTypeFields=nF,s.initializeProcedureTypeFieldsAttachments=GP,s.initializeProcedureTypes=HF,s.initializeProcedures=mI,s.initializeProjectAccesses=Cf,s.initializeProjectAttachments=Jf,s.initializeProjectComments=lA,s.initializeProjectFiles=bA,s.initializeProjects=$A,s.initializeTeamMemberships=cb,s.initializeTeams=Tb,s.initializeUsers=GS,s.isCloudfrontUrl=Ga,s.isImageFile=I_,s.isObjectUrl=Na,s.isPresignedUrlExpired=Ka,s.isS3Url=Ha,s.isToday=p_,s.issueAssociationReducer=nm,s.issueAssociationSlice=Ri,s.issueAttachmentReducer=fm,s.issueAttachmentSlice=wi,s.issueCommentAttachmentReducer=Em,s.issueCommentAttachmentSlice=Bi,s.issueCommentReducer=Gm,s.issueCommentSlice=Di,s.issueReducer=ip,s.issueSlice=Ci,s.issueTypeAttachmentReducer=fp,s.issueTypeAttachmentSlice=Ui,s.issueTypeFieldValuesAttachmentReducer=Ay,s.issueTypeFieldValuesAttachmentSlice=Wi,s.issueTypeFieldValuesReducer=Hp,s.issueTypeFieldValuesSlice=Gi,s.issueTypeFieldsAttachmentReducer=Ep,s.issueTypeFieldsAttachmentSlice=ki,s.issueTypeFieldsReducer=ay,s.issueTypeFieldsSlice=Hi,s.issueTypeIdentifierReducer=Vy,s.issueTypeIdentifierSlice=Ji,s.issueTypeIdentifierValueReducer=Wy,s.issueTypeIdentifierValueSlice=Qi,s.issueTypePriorityReducer=aS,s.issueTypePrioritySlice=xi,s.issueTypePrioritySortFn=Qa,s.issueTypeReducer=IS,s.issueTypeSlice=sn,s.issueTypeStatusReducer=VS,s.issueTypeStatusSlice=an,s.issueTypeStatusSortFn=Xa,s.issueUpdateReducer=kS,s.issueUpdateSlice=dn,s.logOnlyOnce=T_,s.markAsDeleted=Bf,s.markForDeletion=Dg,s.memoize=Ss,s.organizationAccessReducer=of,s.organizationAccessSlice=In,s.organizationReducer=wf,s.organizationSlice=Tn,s.outboxReducer=Df,s.outboxSlice=On,s.overmapEnhancer=jM,s.overmapReducer=VM,s.overmapReducers=Bb,s.performRequest=Fa,s.performRequestFromAction=$b,s.procedureFieldValuesAttachmentReducer=_F,s.procedureFieldValuesAttachmentSlice=ra,s.procedureFieldValuesReducer=UF,s.procedureFieldValuesSlice=oa,s.procedureInitiativeReducer=dI,s.procedureInitiativeSlice=wn,s.procedureReducer=TI,s.procedureSlice=vn,s.procedureStepAssigneeReducer=LI,s.procedureStepAssigneeSlice=En,s.procedureStepCommentReducer=tT,s.procedureStepCommentSlice=Vn,s.procedureStepDefaultAssigneeReducer=yT,s.procedureStepDefaultAssigneeSlice=Bn,s.procedureStepDefaultReviewerReducer=wT,s.procedureStepDefaultReviewerSlice=Dn,s.procedureStepEventReducer=NT,s.procedureStepEventSlice=Cn,s.procedureStepFieldValuesAttachmentReducer=RO,s.procedureStepFieldValuesAttachmentSlice=Gn,s.procedureStepFieldValuesReducer=$O,s.procedureStepFieldValuesReviewReducer=tP,s.procedureStepFieldValuesReviewSlice=Zn,s.procedureStepFieldValuesSlice=Yn,s.procedureStepFieldsAttachmentReducer=sO,s.procedureStepFieldsAttachmentSlice=qn,s.procedureStepFieldsReducer=yO,s.procedureStepFieldsSlice=kn,s.procedureStepReducer=gP,s.procedureStepReviewerReducer=yP,s.procedureStepReviewerSlice=Qn,s.procedureStepSlice=xn,s.procedureTypeAttachmentReducer=$P,s.procedureTypeAttachmentSlice=sa,s.procedureTypeFieldsAttachmentReducer=xP,s.procedureTypeFieldsAttachmentSlice=na,s.procedureTypeFieldsReducer=mF,s.procedureTypeFieldsSlice=ca,s.procedureTypeReducer=eb,s.procedureTypeSlice=ma,s.projectAccessReducer=Wf,s.projectAccessSlice=Pn,s.projectAttachmentReducer=dA,s.projectAttachmentSlice=bn,s.projectCommentReducer=PA,s.projectCommentSlice=gn,s.projectFileReducer=CA,s.projectFileSlice=Mn,s.projectReducer=YA,s.projectSlice=Rn,s.rehydratedReducer=nb,s.rehydratedSlice=ya,s.restructureSelectorWithArgs=m,s.runMiddleware=Qb,s.selectAccessToken=Z_,s.selectAccessesByUserOfProject=Cg,s.selectAccessibleProjects=kg,s.selectActiveOrganizationAccess=Eg,s.selectAllDocumentAttachments=Zs,s.selectAssetAttachmentById=Sc,s.selectAssetAttachmentMapping=yc,s.selectAssetAttachments=bs,s.selectAssetAttachmentsByIds=fc,s.selectAssetById=Gc,s.selectAssetCommentById=wc,s.selectAssetCommentMapping=Rc,s.selectAssetComments=Gt,s.selectAssetCommentsByIds=vc,s.selectAssetTypeAttachmentById=sr,s.selectAssetTypeAttachmentMapping=tr,s.selectAssetTypeAttachments=Vs,s.selectAssetTypeAttachmentsByIds=ir,s.selectAssetTypeById=Wd,s.selectAssetTypeFieldValues=Wt,s.selectAssetTypeFieldValuesAttachmentById=Nr,s.selectAssetTypeFieldValuesAttachments=$s,s.selectAssetTypeFieldValuesAttachmentsByIds=Gr,s.selectAssetTypeFieldValuesAttachmentsMapping=kr,s.selectAssetTypeFieldValuesById=nd,s.selectAssetTypeFieldValuesByIds=ad,s.selectAssetTypeFieldValuesMapping=id,s.selectAssetTypeFieldValuesOfAsset=U_,s.selectAssetTypeFields=vt,s.selectAssetTypeFieldsAttachmentById=fr,s.selectAssetTypeFieldsAttachments=zs,s.selectAssetTypeFieldsAttachmentsByIds=Ar,s.selectAssetTypeFieldsAttachmentsMapping=Sr,s.selectAssetTypeFieldsById=Er,s.selectAssetTypeFieldsByIds=Vr,s.selectAssetTypeFieldsMapping=vr,s.selectAssetTypeFieldsOfAssetType=q_,s.selectAssetTypeIdentifierById=Ad,s.selectAssetTypeIdentifierMapping=fd,s.selectAssetTypeIdentifierValueById=Vd,s.selectAssetTypeIdentifierValueMapping=Ed,s.selectAssetTypeIdentifierValues=Kt,s.selectAssetTypeIdentifierValuesByIds=Bd,s.selectAssetTypeIdentifierValuesOfAsset=N_,s.selectAssetTypeIdentifierValuesOfIdentifier=G_,s.selectAssetTypeIdentifiers=ks,s.selectAssetTypeIdentifiersByIds=Id,s.selectAssetTypeIdentifiersOfAssetType=k_,s.selectAssetTypeStatusById=cu,s.selectAssetTypeStatusMapping=au,s.selectAssetTypeStatuses=Ks,s.selectAssetTypeStatusesByIds=ru,s.selectAssetTypeStatusesOfAssetType=W_,s.selectAssetTypeValuesOfAssetType=L_,s.selectAssetTypes=Hs,s.selectAssetTypesByIds=Kd,s.selectAssetTypesMapping=Hd,s.selectAssetTypesOfOrganization=H_,s.selectAssets=Ht,s.selectAssetsByIds=Hc,s.selectAssetsMapping=kc,s.selectAssetsOfAssetType=Nc,s.selectAssetsOfProject=j_,s.selectAttachmentsOfAsset=Ac,s.selectAttachmentsOfAssetType=nr,s.selectAttachmentsOfAssetTypeFieldValues=Hr,s.selectAttachmentsOfAssetTypeFields=C_,s.selectAttachmentsOfDocument=X_,s.selectAttachmentsOfFormRevision=ng,s.selectAttachmentsOfFormSubmissionFieldValues=qo,s.selectAttachmentsOfIssue=pm,s.selectAttachmentsOfIssueComment=pg,s.selectAttachmentsOfIssueType=fg,s.selectAttachmentsOfIssueTypeFieldValues=fy,s.selectAttachmentsOfIssueTypeFields=Ag,s.selectAttachmentsOfProcedureFieldValues=wF,s.selectAttachmentsOfProcedureStepFieldValues=MO,s.selectAttachmentsOfProcedureStepFields=xT,s.selectAttachmentsOfProcedureType=IM,s.selectAttachmentsOfProcedureTypeFields=TM,s.selectAttachmentsOfProject=$g,s.selectCommentsOfAsset=Ec,s.selectCommentsOfAssets=Vc,s.selectCommentsOfFormSubmission=lh,s.selectCommentsOfFormSubmissions=dg,s.selectCommentsOfIssue=yg,s.selectCommentsOfProject=Ug,s.selectCommentsOfProjects=Lg,s.selectConversation=D_,s.selectConversationMapping=Ts,s.selectConversations=z_,s.selectCurrentUser=QS,s.selectDeletedRequests=Bg,s.selectDescendantsOfDocument=$u,s.selectDocumentAttachmentById=Fu,s.selectDocumentAttachmentMapping=Pu,s.selectDocumentAttachmentsByIds=bu,s.selectDocumentById=Cu,s.selectDocuments=Zt,s.selectDocumentsByIds=qu,s.selectDocumentsMapping=Xs,s.selectEmailDomainById=Xu,s.selectEmailDomains=xs,s.selectEmailDomainsAsMapping=Ju,s.selectEmailDomainsByIds=Qu,s.selectEmailDomainsOfOrganization=eg,s.selectFieldValuesOfProcedure=FM,s.selectFormById=Mo,s.selectFormIdentifierById=ol,s.selectFormIdentifierMapping=ll,s.selectFormIdentifierValueById=_l,s.selectFormIdentifierValueMapping=bl,s.selectFormIdentifierValues=Jt,s.selectFormIdentifierValuesByIds=gl,s.selectFormIdentifierValuesOfFormSubmission=sg,s.selectFormIdentifierValuesOfIdentifier=ig,s.selectFormIdentifiers=ti,s.selectFormIdentifiersByIds=hl,s.selectFormIdentifiersOfForm=tg,s.selectFormMapping=go,s.selectFormRevisionAttachmentById=$l,s.selectFormRevisionAttachments=ql,s.selectFormRevisionAttachmentsByIds=Ul,s.selectFormRevisionAttachmentsMapping=Xt,s.selectFormRevisionById=Xl,s.selectFormRevisionMapping=Jl,s.selectFormRevisions=Qt,s.selectFormRevisionsByIds=Ql,s.selectFormRevisionsOfForm=xl,s.selectFormSubmissionById=Oh,s.selectFormSubmissionCommentById=dh,s.selectFormSubmissionCommentMapping=rh,s.selectFormSubmissionComments=es,s.selectFormSubmissionCommentsByIds=uh,s.selectFormSubmissionFieldValues=Oi,s.selectFormSubmissionFieldValuesAttachmentById=Co,s.selectFormSubmissionFieldValuesAttachments=Si,s.selectFormSubmissionFieldValuesAttachmentsByIds=fi,s.selectFormSubmissionFieldValuesAttachmentsMapping=yi,s.selectFormSubmissionFieldValuesById=Zo,s.selectFormSubmissionFieldValuesByIds=Jo,s.selectFormSubmissionFieldValuesMapping=Yo,s.selectFormSubmissionFieldValuesOfFormSubmission=Xo,s.selectFormSubmissions=$,s.selectFormSubmissionsByIds=Ph,s.selectFormSubmissionsMapping=Th,s.selectFormSubmissionsOfAsset=gh,s.selectFormSubmissionsOfAssets=Mh,s.selectFormSubmissionsOfForm=Fh,s.selectFormSubmissionsOfIssue=bh,s.selectFormSubmissionsOfIssues=_h,s.selectFormSubmissionsOfOrganization=ug,s.selectFormSubmissionsOfOrganizationAndForm=hg,s.selectFormSubmissionsOfProject=lg,s.selectFormSubmissionsOfProjectAndForm=og,s.selectFormSubscriberById=oo,s.selectFormSubscriberMapping=lo,s.selectFormSubscribers=xt,s.selectFormSubscribersByIds=ho,s.selectFormSubscribersOfForm=mo,s.selectFormSubscribersOfUser=cg,s.selectForms=oi,s.selectFormsByIds=Ro,s.selectFormsOfOrganization=rg,s.selectGeoImageById=Uh,s.selectGeoImageMapping=$h,s.selectGeoImages=Mi,s.selectGeoImagesByIds=Lh,s.selectGeoImagesOfProject=mg,s.selectIsLoggedIn=J_,s.selectIssueAssociationById=Qh,s.selectIssueAssociationMapping=Xh,s.selectIssueAssociations=Ft,s.selectIssueAssociationsByIds=xh,s.selectIssueAssociationsOfAsset=sm,s.selectIssueAssociationsOfAssets=im,s.selectIssueAssociationsOfIssue=tm,s.selectIssueAssociationsOfIssues=em,s.selectIssueAttachmentById=ym,s.selectIssueAttachmentMapping=mm,s.selectIssueAttachments=Vi,s.selectIssueAttachmentsByIds=Sm,s.selectIssueById=ep,s.selectIssueCommentAttachmentById=wm,s.selectIssueCommentAttachmentMapping=Rm,s.selectIssueCommentAttachments=zi,s.selectIssueCommentAttachmentsByIds=vm,s.selectIssueCommentById=km,s.selectIssueCommentMapping=ji,s.selectIssueCommentsByIds=Nm,s.selectIssueMapping=xm,s.selectIssueTypeAttachmentById=yp,s.selectIssueTypeAttachmentMapping=pp,s.selectIssueTypeAttachments=Li,s.selectIssueTypeAttachmentsByIds=Sp,s.selectIssueTypeById=fS,s.selectIssueTypeFieldValues=ss,s.selectIssueTypeFieldValuesAttachmentById=yy,s.selectIssueTypeFieldValuesAttachments=Zi,s.selectIssueTypeFieldValuesAttachmentsByIds=Sy,s.selectIssueTypeFieldValuesAttachmentsMapping=py,s.selectIssueTypeFieldValuesById=Np,s.selectIssueTypeFieldValuesByIds=Gp,s.selectIssueTypeFieldValuesMapping=kp,s.selectIssueTypeFieldValuesOfIssue=Ig,s.selectIssueTypeFields=Et,s.selectIssueTypeFieldsAttachmentById=wp,s.selectIssueTypeFieldsAttachments=Ni,s.selectIssueTypeFieldsAttachmentsByIds=vp,s.selectIssueTypeFieldsAttachmentsMapping=Rp,s.selectIssueTypeFieldsById=iy,s.selectIssueTypeFieldsByIds=ny,s.selectIssueTypeFieldsMapping=sy,s.selectIssueTypeFieldsOfIssueType=Tg,s.selectIssueTypeIdentifierById=vy,s.selectIssueTypeIdentifierMapping=wy,s.selectIssueTypeIdentifierValueById=Gy,s.selectIssueTypeIdentifierValueMapping=Ny,s.selectIssueTypeIdentifierValues=is,s.selectIssueTypeIdentifierValuesByIds=Hy,s.selectIssueTypeIdentifierValuesOfIdentifier=_g,s.selectIssueTypeIdentifierValuesOfIssue=bg,s.selectIssueTypeIdentifiers=Xi,s.selectIssueTypeIdentifiersByIds=Ey,s.selectIssueTypeIdentifiersOfIssueType=Fg,s.selectIssueTypeMapping=SS,s.selectIssueTypePriorities=en,s.selectIssueTypePrioritiesByIds=nS,s.selectIssueTypePrioritiesOfIssueType=gg,s.selectIssueTypePriorityById=tn,s.selectIssueTypePriorityMapping=iS,s.selectIssueTypeStatusById=rn,s.selectIssueTypeStatusMapping=vS,s.selectIssueTypeStatuses=cn,s.selectIssueTypeStatusesByIds=ES,s.selectIssueTypeStatusesOfIssueType=Rg,s.selectIssueTypeValuesOfIssueType=Pg,s.selectIssueTypes=nn,s.selectIssueTypesByIds=AS,s.selectIssueTypesOfOrganization=Mg,s.selectIssueUpdateById=$S,s.selectIssueUpdateMapping=mn,s.selectIssueUpdates=pn,s.selectIssueUpdatesByIds=US,s.selectIssueUpdatesOfIssue=LS,s.selectIssues=ts,s.selectIssuesByIds=tp,s.selectIssuesOfIssueType=sp,s.selectIssuesOfProject=Sg,s.selectLatestAssetTypeFieldsOfAssetType=$_,s.selectLatestFieldsByProcedureStep=cM,s.selectLatestFormRevisionOfForm=ag,s.selectLatestIssueTypeFieldsOfIssueType=Og,s.selectLatestProcedureStepFieldValuesReviewByProcedureStepFieldValues=mM,s.selectLatestProcedureStepFieldsOfProcedureStep=aM,s.selectLatestProcedureTypeFieldsOfProcedureType=PM,s.selectLatestRetryTime=zg,s.selectLatestReviewOfProcedureStepFieldValues=lM,s.selectMembershipsByUserOfTeam=RM,s.selectOrganizationAccessById=hf,s.selectOrganizationAccessMapping=cs,s.selectOrganizationAccessUserMapping=pf,s.selectOrganizationAccessesByIds=mf,s.selectOrganizationById=Mf,s.selectOrganizationDocuments=x_,s.selectOrganizations=gf,s.selectOrganizationsByIds=Rf,s.selectOrganizationsMapping=_f,s.selectProcedureById=PI,s.selectProcedureFieldValues=ha,s.selectProcedureFieldValuesAttachmentById=MF,s.selectProcedureFieldValuesAttachments=la,s.selectProcedureFieldValuesAttachmentsByIds=RF,s.selectProcedureFieldValuesAttachmentsMapping=gF,s.selectProcedureFieldValuesById=kF,s.selectProcedureFieldValuesByIds=NF,s.selectProcedureFieldValuesMapping=LF,s.selectProcedureInitiativeById=lI,s.selectProcedureInitiatives=us,s.selectProcedureInitiativesByIds=oI,s.selectProcedureInitiativesMapping=uI,s.selectProcedureInitiativesOfProcedureType=Hg,s.selectProcedureInitiativesOfProject=Gg,s.selectProcedureStepAssigneeById=$I,s.selectProcedureStepAssignees=Bt,s.selectProcedureStepAssigneesByIds=UI,s.selectProcedureStepAssigneesMapping=qI,s.selectProcedureStepAssigneesOfProcedure=Kg,s.selectProcedureStepAssigneesOfProcedureAndProcedureStep=Zg,s.selectProcedureStepAssigneesOfProcedureStep=Yg,s.selectProcedureStepById=MP,s.selectProcedureStepCommentById=xI,s.selectProcedureStepComments=zt,s.selectProcedureStepCommentsByIds=eT,s.selectProcedureStepCommentsMapping=QI,s.selectProcedureStepCommentsOfProcedure=Jg,s.selectProcedureStepCommentsOfProcedureAndProcedureStep=Qg,s.selectProcedureStepCommentsOfProcedureStep=Xg,s.selectProcedureStepDefaultAssigneeById=mT,s.selectProcedureStepDefaultAssignees=zn,s.selectProcedureStepDefaultAssigneesByIds=pT,s.selectProcedureStepDefaultAssigneesMapping=hT,s.selectProcedureStepDefaultAssigneesOfProcedureStep=xg,s.selectProcedureStepDefaultReviewerById=MT,s.selectProcedureStepDefaultReviewers=jn,s.selectProcedureStepDefaultReviewersByIds=RT,s.selectProcedureStepDefaultReviewersMapping=gT,s.selectProcedureStepDefaultReviewersOfProcedureStep=eM,s.selectProcedureStepEventById=LT,s.selectProcedureStepEvents=Dt,s.selectProcedureStepEventsByIds=kT,s.selectProcedureStepEventsMapping=UT,s.selectProcedureStepEventsOfProcedure=tM,s.selectProcedureStepEventsOfProcedureAndProcedureStep=iM,s.selectProcedureStepEventsOfProcedureStep=sM,s.selectProcedureStepFieldValues=yt,s.selectProcedureStepFieldValuesAttachmentById=_O,s.selectProcedureStepFieldValuesAttachments=Kn,s.selectProcedureStepFieldValuesAttachmentsByIds=gO,s.selectProcedureStepFieldValuesAttachmentsMapping=bO,s.selectProcedureStepFieldValuesById=LO,s.selectProcedureStepFieldValuesByIds=kO,s.selectProcedureStepFieldValuesMapping=UO,s.selectProcedureStepFieldValuesOfProcedure=rM,s.selectProcedureStepFieldValuesOfProcedureAndProcedureStep=uM,s.selectProcedureStepFieldValuesOfProcedureStep=dM,s.selectProcedureStepFieldValuesReviewById=QO,s.selectProcedureStepFieldValuesReviews=St,s.selectProcedureStepFieldValuesReviewsByIds=xO,s.selectProcedureStepFieldValuesReviewsMapping=XO,s.selectProcedureStepFieldValuesReviewsOfProcedure=oM,s.selectProcedureStepFieldValuesReviewsOfProcedureAndProcedureStep=hM,s.selectProcedureStepFields=ls,s.selectProcedureStepFieldsAttachmentById=eO,s.selectProcedureStepFieldsAttachments=Ln,s.selectProcedureStepFieldsAttachmentsByIds=tO,s.selectProcedureStepFieldsAttachmentsMapping=QT,s.selectProcedureStepFieldsById=mO,s.selectProcedureStepFieldsByIds=pO,s.selectProcedureStepFieldsMapping=Nn,s.selectProcedureStepFieldsOfProcedureStep=nM,s.selectProcedureStepReviewerById=mP,s.selectProcedureStepReviewers=jt,s.selectProcedureStepReviewersByIds=pP,s.selectProcedureStepReviewersMapping=hP,s.selectProcedureStepReviewersOfProcedure=pM,s.selectProcedureStepReviewersOfProcedureAndProcedureStep=SM,s.selectProcedureStepReviewersOfProcedureStep=yM,s.selectProcedureSteps=ta,s.selectProcedureStepsByIds=RP,s.selectProcedureStepsMapping=ea,s.selectProcedureStepsMappingOfProcedureType=fM,s.selectProcedureStepsOfProcedureType=AM,s.selectProcedureTypeAttachmentById=LP,s.selectProcedureTypeAttachmentMapping=UP,s.selectProcedureTypeAttachments=ia,s.selectProcedureTypeAttachmentsByIds=kP,s.selectProcedureTypeById=sb,s.selectProcedureTypeFields=os,s.selectProcedureTypeFieldsAttachmentById=tF,s.selectProcedureTypeFieldsAttachments=aa,s.selectProcedureTypeFieldsAttachmentsByIds=sF,s.selectProcedureTypeFieldsAttachmentsMapping=eF,s.selectProcedureTypeFieldsById=yF,s.selectProcedureTypeFieldsByIds=SF,s.selectProcedureTypeFieldsMapping=pF,s.selectProcedureTypeFieldsOfProcedureType=OM,s.selectProcedureTypes=pa,s.selectProcedureTypesByIds=ib,s.selectProcedureTypesMapping=tb,s.selectProcedureTypesOfOrganization=bM,s.selectProcedures=pt,s.selectProceduresByIds=FI,s.selectProceduresMapping=OI,s.selectProceduresOfAsset=_I,s.selectProceduresOfAssets=gI,s.selectProceduresOfProcedureInitiative=MI,s.selectProceduresOfProcedureType=bI,s.selectProceduresOfProject=Wg,s.selectProjectAccessById=Kf,s.selectProjectAccessMapping=Fn,s.selectProjectAccesses=Vt,s.selectProjectAccessesByIds=Yf,s.selectProjectAccessesOfProject=jg,s.selectProjectAttachmentById=cA,s.selectProjectAttachmentMapping=aA,s.selectProjectAttachments=_n,s.selectProjectAttachmentsByIds=rA,s.selectProjectById=JA,s.selectProjectCommentById=TA,s.selectProjectCommentMapping=IA,s.selectProjectComments=rs,s.selectProjectCommentsByIds=OA,s.selectProjectDocuments=Q_,s.selectProjectFileById=DA,s.selectProjectFileMapping=BA,s.selectProjectFiles=zA,s.selectProjectFilesByIds=jA,s.selectProjectMapping=ZA,s.selectProjects=ds,s.selectProjectsByIds=XA,s.selectProjectsOfOrganization=Ng,s.selectRehydrated=MM,s.selectReviewsOfProcedureStepFieldValues=eP,s.selectTeamById=vb,s.selectTeamMembershipById=fb,s.selectTeamMemberships=hs,s.selectTeamMembershipsByIds=Ab,s.selectTeamMembershipsMapping=Sb,s.selectTeams=Aa,s.selectTeamsByIds=Eb,s.selectTeamsMapping=wb,s.selectTeamsOfOrganization=vM,s.selectUserById=as,s.selectUsers=ns,s.selectUsersByIds=xS,s.selectUsersMapping=An,s.selectUsersOfOrganization=Vg,s.selectUsersOfProject=qg,s.selectUsersOfTeam=wM,s.setAsset=Uc,s.setAssetAttachment=lc,s.setAssetAttachments=oc,s.setAssetComment=Fc,s.setAssetComments=bc,s.setAssetType=Cd,s.setAssetTypeAttachment=Jc,s.setAssetTypeAttachments=Xc,s.setAssetTypeFieldValues=Xr,s.setAssetTypeFieldValuesAttachment=Cr,s.setAssetTypeFieldValuesAttachments=qr,s.setAssetTypeFieldValuesMany=Qr,s.setAssetTypeFields=br,s.setAssetTypeFieldsAttachment=lr,s.setAssetTypeFieldsAttachments=or,s.setAssetTypeFieldsMany=_r,s.setAssetTypeIdentifier=od,s.setAssetTypeIdentifierValue=_d,s.setAssetTypeIdentifierValues=gd,s.setAssetTypeIdentifiers=hd,s.setAssetTypeStatus=xd,s.setAssetTypeStatuses=eu,s.setAssetTypes=qd,s.setAssets=Lc,s.setClientSDK=Kb,s.setClientStore=Hb,s.setConversation=nc,s.setConversations=v_,s.setCurrentUser=wg,s.setCurrentUserProfile=vg,s.setDocument=vu,s.setDocumentAttachment=Su,s.setDocumentAttachments=fu,s.setDocuments=Eu,s.setEmailDomain=Gu,s.setEmailDomains=Hu,s.setForm=Io,s.setFormIdentifier=nl,s.setFormIdentifierValue=Al,s.setFormIdentifierValues=Il,s.setFormIdentifiers=al,s.setFormRevision=Hl,s.setFormRevisionAttachment=Vl,s.setFormRevisionAttachments=Bl,s.setFormRevisions=Wl,s.setFormSubmission=ph,s.setFormSubmissionComment=sh,s.setFormSubmissionComments=ih,s.setFormSubmissionFieldValues=No,s.setFormSubmissionFieldValuesAttachment=Vo,s.setFormSubmissionFieldValuesAttachments=Bo,s.setFormSubmissionFieldValuesMany=Go,s.setFormSubmissions=yh,s.setFormSubscriber=no,s.setFormSubscribers=ao,s.setForms=To,s.setGeoImage=Eh,s.setGeoImages=Vh,s.setIssue=Ym,s.setIssueAssociation=Wh,s.setIssueAssociations=Hh,s.setIssueAttachment=dm,s.setIssueAttachments=um,s.setIssueComment=jm,s.setIssueCommentAttachment=Pm,s.setIssueCommentAttachments=Fm,s.setIssueComments=Cm,s.setIssueType=lS,s.setIssueTypeAttachment=dp,s.setIssueTypeAttachments=up,s.setIssueTypeFieldValues=jp,s.setIssueTypeFieldValuesAttachment=uy,s.setIssueTypeFieldValuesAttachments=ly,s.setIssueTypeFieldValuesMany=Cp,s.setIssueTypeFields=Jp,s.setIssueTypeFieldsAttachment=Pp,s.setIssueTypeFieldsAttachments=Fp,s.setIssueTypeFieldsMany=Xp,s.setIssueTypeIdentifier=Fy,s.setIssueTypeIdentifierValue=Cy,s.setIssueTypeIdentifierValues=qy,s.setIssueTypeIdentifiers=by,s.setIssueTypePriorities=Qy,s.setIssueTypePriority=Xy,s.setIssueTypeStatus=bS,s.setIssueTypeStatuses=_S,s.setIssueTypes=oS,s.setIssueUpdate=DS,s.setIssueUpdates=jS,s.setIssues=Zm,s.setLoggedIn=lu,s.setOrganization=Af,s.setOrganizationAccess=af,s.setOrganizationAccesses=cf,s.setOrganizations=ff,s.setProcedure=yI,s.setProcedureFieldValues=zF,s.setProcedureFieldValuesAttachment=TF,s.setProcedureFieldValuesAttachments=OF,s.setProcedureFieldValuesMany=DF,s.setProcedureInitiative=sI,s.setProcedureInitiatives=iI,s.setProcedureStep=AP,s.setProcedureStepAssignee=VI,s.setProcedureStepAssignees=BI,s.setProcedureStepComment=WI,s.setProcedureStepComments=KI,s.setProcedureStepDefaultAssignee=cT,s.setProcedureStepDefaultAssignees=rT,s.setProcedureStepDefaultReviewer=TT,s.setProcedureStepDefaultReviewers=OT,s.setProcedureStepEvent=zT,s.setProcedureStepEvents=DT,s.setProcedureStepFieldValues=BO,s.setProcedureStepFieldValuesAttachment=IO,s.setProcedureStepFieldValuesAttachments=TO,s.setProcedureStepFieldValuesMany=zO,s.setProcedureStepFieldValuesReview=WO,s.setProcedureStepFieldValuesReviews=KO,s.setProcedureStepFields=rO,s.setProcedureStepFieldsAttachment=KT,s.setProcedureStepFieldsAttachments=YT,s.setProcedureStepFieldsMany=dO,s.setProcedureStepReviewer=cP,s.setProcedureStepReviewers=rP,s.setProcedureSteps=IP,s.setProcedureType=YF,s.setProcedureTypeAttachment=BP,s.setProcedureTypeAttachments=zP,s.setProcedureTypeFields=rF,s.setProcedureTypeFieldsAttachment=KP,s.setProcedureTypeFieldsAttachments=YP,s.setProcedureTypeFieldsMany=dF,s.setProcedureTypes=ZF,s.setProcedures=SI,s.setProject=LA,s.setProjectAccess=Uf,s.setProjectAccesses=Lf,s.setProjectAttachment=xf,s.setProjectAttachments=eA,s.setProjectComment=mA,s.setProjectComments=pA,s.setProjectFile=_A,s.setProjectFiles=gA,s.setProjects=UA,s.setRehydrated=gM,s.setTeam=Fb,s.setTeamMembership=ub,s.setTeamMemberships=lb,s.setTeams=bb,s.setTokens=K_,s.setUser=WS,s.setUsers=HS,s.shallowEqual=l_,s.slugify=b_,s.spacesToDashesLower=F_,s.submittedAtModelSortFn=ot,s.teamMembershipReducer=yb,s.teamMembershipSlice=Sa,s.teamReducer=Vb,s.teamSlice=fa,s.toFileNameSafeString=P_,s.toUuidArray=R,s.toUuidIdRecord=O_,s.truncate=__,s.updateAsset=Cc,s.updateAssetAttachment=hc,s.updateAssetAttachments=mc,s.updateAssetComment=_c,s.updateAssetComments=gc,s.updateAssetType=Ld,s.updateAssetTypeAttachment=Qc,s.updateAssetTypeAttachments=xc,s.updateAssetTypeFieldValues=xr,s.updateAssetTypeFieldValuesAttachment=$r,s.updateAssetTypeFieldValuesAttachments=Ur,s.updateAssetTypeFieldValuesMany=ed,s.updateAssetTypeFields=gr,s.updateAssetTypeFieldsAttachment=hr,s.updateAssetTypeFieldsAttachments=mr,s.updateAssetTypeFieldsMany=Mr,s.updateAssetTypeIdentifier=md,s.updateAssetTypeIdentifierValue=Md,s.updateAssetTypeIdentifierValues=Rd,s.updateAssetTypeIdentifiers=pd,s.updateAssetTypeStatus=tu,s.updateAssetTypeStatuses=su,s.updateAssetTypes=kd,s.updateAssets=qc,s.updateConversation=ac,s.updateConversations=E_,s.updateDocument=Vu,s.updateDocumentAttachment=Au,s.updateDocumentAttachments=Iu,s.updateDocuments=Bu,s.updateEmailDomain=Wu,s.updateEmailDomains=Ku,s.updateForm=Oo,s.updateFormIdentifier=cl,s.updateFormIdentifierValue=Tl,s.updateFormIdentifierValues=Ol,s.updateFormIdentifiers=rl,s.updateFormRevision=Kl,s.updateFormRevisionAttachment=zl,s.updateFormRevisionAttachments=Dl,s.updateFormRevisions=Yl,s.updateFormSubmission=fh,s.updateFormSubmissionComment=nh,s.updateFormSubmissionComments=ah,s.updateFormSubmissionFieldValues=Ho,s.updateFormSubmissionFieldValuesAttachment=zo,s.updateFormSubmissionFieldValuesAttachments=Do,s.updateFormSubmissionFieldValuesMany=Wo,s.updateFormSubmissions=Ah,s.updateFormSubscriber=co,s.updateFormSubscribers=ro,s.updateForms=Po,s.updateGeoImage=Dh,s.updateGeoImages=jh,s.updateIssue=Jm,s.updateIssueAssociation=Kh,s.updateIssueAssociations=Yh,s.updateIssueAttachment=lm,s.updateIssueAttachments=om,s.updateIssueComment=qm,s.updateIssueCommentAttachment=bm,s.updateIssueCommentAttachments=_m,s.updateIssueComments=$m,s.updateIssueType=hS,s.updateIssueTypeAttachment=lp,s.updateIssueTypeAttachments=op,s.updateIssueTypeFieldValues=qp,s.updateIssueTypeFieldValuesAttachment=oy,s.updateIssueTypeFieldValuesAttachments=hy,s.updateIssueTypeFieldValuesMany=$p,s.updateIssueTypeFields=Qp,s.updateIssueTypeFieldsAttachment=bp,s.updateIssueTypeFieldsAttachments=_p,s.updateIssueTypeFieldsMany=xp,s.updateIssueTypeIdentifier=_y,s.updateIssueTypeIdentifierValue=$y,s.updateIssueTypeIdentifierValues=Uy,s.updateIssueTypeIdentifiers=gy,s.updateIssueTypePriorities=eS,s.updateIssueTypePriority=xy,s.updateIssueTypeStatus=gS,s.updateIssueTypeStatuses=MS,s.updateIssueTypes=mS,s.updateIssueUpdate=CS,s.updateIssueUpdates=qS,s.updateIssues=Xm,s.updateOrganization=Pf,s.updateOrganizationAccess=rf,s.updateOrganizationAccesses=df,s.updateOrganizations=Of,s.updateProcedure=fI,s.updateProcedureFieldValues=jF,s.updateProcedureFieldValuesAttachment=PF,s.updateProcedureFieldValuesAttachments=FF,s.updateProcedureFieldValuesMany=CF,s.updateProcedureInitiative=nI,s.updateProcedureInitiatives=aI,s.updateProcedureStep=PP,s.updateProcedureStepAssignee=zI,s.updateProcedureStepAssignees=DI,s.updateProcedureStepComment=YI,s.updateProcedureStepComments=ZI,s.updateProcedureStepDefaultAssignee=dT,s.updateProcedureStepDefaultAssignees=uT,s.updateProcedureStepDefaultReviewer=PT,s.updateProcedureStepDefaultReviewers=FT,s.updateProcedureStepEvent=jT,s.updateProcedureStepEvents=CT,s.updateProcedureStepFieldValues=DO,s.updateProcedureStepFieldValuesAttachment=OO,s.updateProcedureStepFieldValuesAttachments=PO,s.updateProcedureStepFieldValuesMany=jO,s.updateProcedureStepFieldValuesReview=YO,s.updateProcedureStepFieldValuesReviews=ZO,s.updateProcedureStepFields=uO,s.updateProcedureStepFieldsAttachment=ZT,s.updateProcedureStepFieldsAttachments=JT,s.updateProcedureStepFieldsMany=lO,s.updateProcedureStepReviewer=dP,s.updateProcedureStepReviewers=uP,s.updateProcedureSteps=FP,s.updateProcedureType=JF,s.updateProcedureTypeAttachment=DP,s.updateProcedureTypeAttachments=jP,s.updateProcedureTypeFields=uF,s.updateProcedureTypeFieldsAttachment=ZP,s.updateProcedureTypeFieldsAttachments=JP,s.updateProcedureTypeFieldsMany=lF,s.updateProcedureTypes=XF,s.updateProcedures=AI,s.updateProject=HA,s.updateProjectAccess=kf,s.updateProjectAccesses=Nf,s.updateProjectAttachment=tA,s.updateProjectAttachments=sA,s.updateProjectComment=yA,s.updateProjectComments=SA,s.updateProjectFile=wA,s.updateProjectFiles=vA,s.updateProjects=GA,s.updateTeam=_b,s.updateTeamMembership=ob,s.updateTeamMemberships=hb,s.updateTeams=gb,s.updateUser=ZS,s.updateUsers=YS,s.useSelectorBuilder=u_,s.userReducer=XS,s.userSlice=yn,s.uuidObj=O,s.uuidObjSortFn=lt,s.uuidSortFn=Za,Object.defineProperty(s,Symbol.toStringTag,{value:"Module"})}));