UNPKG

fhir-snapshot-generator

Version:
1 lines 64.7 kB
import{createRequire as e}from"module";import*as t from"fhir-package-explorer";var n={839:(e,t,n)=>{const r=n(744);const i=n(928);const o=n(89).mkdirsSync;const s=n(934).utimesMillisSync;const c=n(887);function copySync(e,t,n){if(typeof n==="function"){n={filter:n}}n=n||{};n.clobber="clobber"in n?!!n.clobber:true;n.overwrite="overwrite"in n?!!n.overwrite:n.clobber;if(n.preserveTimestamps&&process.arch==="ia32"){process.emitWarning("Using the preserveTimestamps option in 32-bit node is not recommended;\n\n"+"\tsee https://github.com/jprichardson/node-fs-extra/issues/269","Warning","fs-extra-WARN0002")}const{srcStat:s,destStat:a}=c.checkPathsSync(e,t,"copy",n);c.checkParentPathsSync(e,s,t,"copy");if(n.filter&&!n.filter(e,t))return;const f=i.dirname(t);if(!r.existsSync(f))o(f);return getStats(a,e,t,n)}function getStats(e,t,n,i){const o=i.dereference?r.statSync:r.lstatSync;const s=o(t);if(s.isDirectory())return onDir(s,e,t,n,i);else if(s.isFile()||s.isCharacterDevice()||s.isBlockDevice())return onFile(s,e,t,n,i);else if(s.isSymbolicLink())return onLink(e,t,n,i);else if(s.isSocket())throw new Error(`Cannot copy a socket file: ${t}`);else if(s.isFIFO())throw new Error(`Cannot copy a FIFO pipe: ${t}`);throw new Error(`Unknown file: ${t}`)}function onFile(e,t,n,r,i){if(!t)return copyFile(e,n,r,i);return mayCopyFile(e,n,r,i)}function mayCopyFile(e,t,n,i){if(i.overwrite){r.unlinkSync(n);return copyFile(e,t,n,i)}else if(i.errorOnExist){throw new Error(`'${n}' already exists`)}}function copyFile(e,t,n,i){r.copyFileSync(t,n);if(i.preserveTimestamps)handleTimestamps(e.mode,t,n);return setDestMode(n,e.mode)}function handleTimestamps(e,t,n){if(fileIsNotWritable(e))makeFileWritable(n,e);return setDestTimestamps(t,n)}function fileIsNotWritable(e){return(e&128)===0}function makeFileWritable(e,t){return setDestMode(e,t|128)}function setDestMode(e,t){return r.chmodSync(e,t)}function setDestTimestamps(e,t){const n=r.statSync(e);return s(t,n.atime,n.mtime)}function onDir(e,t,n,r,i){if(!t)return mkDirAndCopy(e.mode,n,r,i);return copyDir(n,r,i)}function mkDirAndCopy(e,t,n,i){r.mkdirSync(n);copyDir(t,n,i);return setDestMode(n,e)}function copyDir(e,t,n){const i=r.opendirSync(e);try{let r;while((r=i.readSync())!==null){copyDirItem(r.name,e,t,n)}}finally{i.closeSync()}}function copyDirItem(e,t,n,r){const o=i.join(t,e);const s=i.join(n,e);if(r.filter&&!r.filter(o,s))return;const{destStat:a}=c.checkPathsSync(o,s,"copy",r);return getStats(a,o,s,r)}function onLink(e,t,n,o){let s=r.readlinkSync(t);if(o.dereference){s=i.resolve(process.cwd(),s)}if(!e){return r.symlinkSync(s,n)}else{let e;try{e=r.readlinkSync(n)}catch(e){if(e.code==="EINVAL"||e.code==="UNKNOWN")return r.symlinkSync(s,n);throw e}if(o.dereference){e=i.resolve(process.cwd(),e)}if(c.isSrcSubdir(s,e)){throw new Error(`Cannot copy '${s}' to a subdirectory of itself, '${e}'.`)}if(c.isSrcSubdir(e,s)){throw new Error(`Cannot overwrite '${e}' with '${s}'.`)}return copyLink(s,n)}}function copyLink(e,t){r.unlinkSync(t);return r.symlinkSync(e,t)}e.exports=copySync},759:(e,t,n)=>{const r=n(506);const i=n(928);const{mkdirs:o}=n(89);const{pathExists:s}=n(881);const{utimesMillis:c}=n(934);const a=n(887);async function copy(e,t,n={}){if(typeof n==="function"){n={filter:n}}n.clobber="clobber"in n?!!n.clobber:true;n.overwrite="overwrite"in n?!!n.overwrite:n.clobber;if(n.preserveTimestamps&&process.arch==="ia32"){process.emitWarning("Using the preserveTimestamps option in 32-bit node is not recommended;\n\n"+"\tsee https://github.com/jprichardson/node-fs-extra/issues/269","Warning","fs-extra-WARN0001")}const{srcStat:r,destStat:c}=await a.checkPaths(e,t,"copy",n);await a.checkParentPaths(e,r,t,"copy");const f=await runFilter(e,t,n);if(!f)return;const u=i.dirname(t);const l=await s(u);if(!l){await o(u)}await getStatsAndPerformCopy(c,e,t,n)}async function runFilter(e,t,n){if(!n.filter)return true;return n.filter(e,t)}async function getStatsAndPerformCopy(e,t,n,i){const o=i.dereference?r.stat:r.lstat;const s=await o(t);if(s.isDirectory())return onDir(s,e,t,n,i);if(s.isFile()||s.isCharacterDevice()||s.isBlockDevice())return onFile(s,e,t,n,i);if(s.isSymbolicLink())return onLink(e,t,n,i);if(s.isSocket())throw new Error(`Cannot copy a socket file: ${t}`);if(s.isFIFO())throw new Error(`Cannot copy a FIFO pipe: ${t}`);throw new Error(`Unknown file: ${t}`)}async function onFile(e,t,n,i,o){if(!t)return copyFile(e,n,i,o);if(o.overwrite){await r.unlink(i);return copyFile(e,n,i,o)}if(o.errorOnExist){throw new Error(`'${i}' already exists`)}}async function copyFile(e,t,n,i){await r.copyFile(t,n);if(i.preserveTimestamps){if(fileIsNotWritable(e.mode)){await makeFileWritable(n,e.mode)}const i=await r.stat(t);await c(n,i.atime,i.mtime)}return r.chmod(n,e.mode)}function fileIsNotWritable(e){return(e&128)===0}function makeFileWritable(e,t){return r.chmod(e,t|128)}async function onDir(e,t,n,o,s){if(!t){await r.mkdir(o)}const c=[];for await(const e of await r.opendir(n)){const t=i.join(n,e.name);const r=i.join(o,e.name);c.push(runFilter(t,r,s).then((e=>{if(e){return a.checkPaths(t,r,"copy",s).then((({destStat:e})=>getStatsAndPerformCopy(e,t,r,s)))}})))}await Promise.all(c);if(!t){await r.chmod(o,e.mode)}}async function onLink(e,t,n,o){let s=await r.readlink(t);if(o.dereference){s=i.resolve(process.cwd(),s)}if(!e){return r.symlink(s,n)}let c=null;try{c=await r.readlink(n)}catch(e){if(e.code==="EINVAL"||e.code==="UNKNOWN")return r.symlink(s,n);throw e}if(o.dereference){c=i.resolve(process.cwd(),c)}if(a.isSrcSubdir(s,c)){throw new Error(`Cannot copy '${s}' to a subdirectory of itself, '${c}'.`)}if(a.isSrcSubdir(c,s)){throw new Error(`Cannot overwrite '${c}' with '${s}'.`)}await r.unlink(n);return r.symlink(s,n)}e.exports=copy},796:(e,t,n)=>{const r=n(77).fromPromise;e.exports={copy:r(n(759)),copySync:n(839)}},882:(e,t,n)=>{const r=n(77).fromPromise;const i=n(506);const o=n(928);const s=n(89);const c=n(205);const a=r((async function emptyDir(e){let t;try{t=await i.readdir(e)}catch{return s.mkdirs(e)}return Promise.all(t.map((t=>c.remove(o.join(e,t)))))}));function emptyDirSync(e){let t;try{t=i.readdirSync(e)}catch{return s.mkdirsSync(e)}t.forEach((t=>{t=o.join(e,t);c.removeSync(t)}))}e.exports={emptyDirSync:emptyDirSync,emptydirSync:emptyDirSync,emptyDir:a,emptydir:a}},529:(e,t,n)=>{const r=n(77).fromPromise;const i=n(928);const o=n(506);const s=n(89);async function createFile(e){let t;try{t=await o.stat(e)}catch{}if(t&&t.isFile())return;const n=i.dirname(e);let r=null;try{r=await o.stat(n)}catch(t){if(t.code==="ENOENT"){await s.mkdirs(n);await o.writeFile(e,"");return}else{throw t}}if(r.isDirectory()){await o.writeFile(e,"")}else{await o.readdir(n)}}function createFileSync(e){let t;try{t=o.statSync(e)}catch{}if(t&&t.isFile())return;const n=i.dirname(e);try{if(!o.statSync(n).isDirectory()){o.readdirSync(n)}}catch(e){if(e&&e.code==="ENOENT")s.mkdirsSync(n);else throw e}o.writeFileSync(e,"")}e.exports={createFile:r(createFile),createFileSync:createFileSync}},779:(e,t,n)=>{const{createFile:r,createFileSync:i}=n(529);const{createLink:o,createLinkSync:s}=n(751);const{createSymlink:c,createSymlinkSync:a}=n(515);e.exports={createFile:r,createFileSync:i,ensureFile:r,ensureFileSync:i,createLink:o,createLinkSync:s,ensureLink:o,ensureLinkSync:s,createSymlink:c,createSymlinkSync:a,ensureSymlink:c,ensureSymlinkSync:a}},751:(e,t,n)=>{const r=n(77).fromPromise;const i=n(928);const o=n(506);const s=n(89);const{pathExists:c}=n(881);const{areIdentical:a}=n(887);async function createLink(e,t){let n;try{n=await o.lstat(t)}catch{}let r;try{r=await o.lstat(e)}catch(e){e.message=e.message.replace("lstat","ensureLink");throw e}if(n&&a(r,n))return;const f=i.dirname(t);const u=await c(f);if(!u){await s.mkdirs(f)}await o.link(e,t)}function createLinkSync(e,t){let n;try{n=o.lstatSync(t)}catch{}try{const t=o.lstatSync(e);if(n&&a(t,n))return}catch(e){e.message=e.message.replace("lstat","ensureLink");throw e}const r=i.dirname(t);const c=o.existsSync(r);if(c)return o.linkSync(e,t);s.mkdirsSync(r);return o.linkSync(e,t)}e.exports={createLink:r(createLink),createLinkSync:createLinkSync}},121:(e,t,n)=>{const r=n(928);const i=n(506);const{pathExists:o}=n(881);const s=n(77).fromPromise;async function symlinkPaths(e,t){if(r.isAbsolute(e)){try{await i.lstat(e)}catch(e){e.message=e.message.replace("lstat","ensureSymlink");throw e}return{toCwd:e,toDst:e}}const n=r.dirname(t);const s=r.join(n,e);const c=await o(s);if(c){return{toCwd:s,toDst:e}}try{await i.lstat(e)}catch(e){e.message=e.message.replace("lstat","ensureSymlink");throw e}return{toCwd:e,toDst:r.relative(n,e)}}function symlinkPathsSync(e,t){if(r.isAbsolute(e)){const t=i.existsSync(e);if(!t)throw new Error("absolute srcpath does not exist");return{toCwd:e,toDst:e}}const n=r.dirname(t);const o=r.join(n,e);const s=i.existsSync(o);if(s){return{toCwd:o,toDst:e}}const c=i.existsSync(e);if(!c)throw new Error("relative srcpath does not exist");return{toCwd:e,toDst:r.relative(n,e)}}e.exports={symlinkPaths:s(symlinkPaths),symlinkPathsSync:symlinkPathsSync}},45:(e,t,n)=>{const r=n(506);const i=n(77).fromPromise;async function symlinkType(e,t){if(t)return t;let n;try{n=await r.lstat(e)}catch{return"file"}return n&&n.isDirectory()?"dir":"file"}function symlinkTypeSync(e,t){if(t)return t;let n;try{n=r.lstatSync(e)}catch{return"file"}return n&&n.isDirectory()?"dir":"file"}e.exports={symlinkType:i(symlinkType),symlinkTypeSync:symlinkTypeSync}},515:(e,t,n)=>{const r=n(77).fromPromise;const i=n(928);const o=n(506);const{mkdirs:s,mkdirsSync:c}=n(89);const{symlinkPaths:a,symlinkPathsSync:f}=n(121);const{symlinkType:u,symlinkTypeSync:l}=n(45);const{pathExists:h}=n(881);const{areIdentical:p}=n(887);async function createSymlink(e,t,n){let r;try{r=await o.lstat(t)}catch{}if(r&&r.isSymbolicLink()){const[n,r]=await Promise.all([o.stat(e),o.stat(t)]);if(p(n,r))return}const c=await a(e,t);e=c.toDst;const f=await u(c.toCwd,n);const l=i.dirname(t);if(!await h(l)){await s(l)}return o.symlink(e,t,f)}function createSymlinkSync(e,t,n){let r;try{r=o.lstatSync(t)}catch{}if(r&&r.isSymbolicLink()){const n=o.statSync(e);const r=o.statSync(t);if(p(n,r))return}const s=f(e,t);e=s.toDst;n=l(s.toCwd,n);const a=i.dirname(t);const u=o.existsSync(a);if(u)return o.symlinkSync(e,t,n);c(a);return o.symlinkSync(e,t,n)}e.exports={createSymlink:r(createSymlink),createSymlinkSync:createSymlinkSync}},506:(e,t,n)=>{const r=n(77).fromCallback;const i=n(744);const o=["access","appendFile","chmod","chown","close","copyFile","cp","fchmod","fchown","fdatasync","fstat","fsync","ftruncate","futimes","glob","lchmod","lchown","lutimes","link","lstat","mkdir","mkdtemp","open","opendir","readdir","readFile","readlink","realpath","rename","rm","rmdir","stat","statfs","symlink","truncate","unlink","utimes","writeFile"].filter((e=>typeof i[e]==="function"));Object.assign(t,i);o.forEach((e=>{t[e]=r(i[e])}));t.exists=function(e,t){if(typeof t==="function"){return i.exists(e,t)}return new Promise((t=>i.exists(e,t)))};t.read=function(e,t,n,r,o,s){if(typeof s==="function"){return i.read(e,t,n,r,o,s)}return new Promise(((s,c)=>{i.read(e,t,n,r,o,((e,t,n)=>{if(e)return c(e);s({bytesRead:t,buffer:n})}))}))};t.write=function(e,t,...n){if(typeof n[n.length-1]==="function"){return i.write(e,t,...n)}return new Promise(((r,o)=>{i.write(e,t,...n,((e,t,n)=>{if(e)return o(e);r({bytesWritten:t,buffer:n})}))}))};t.readv=function(e,t,...n){if(typeof n[n.length-1]==="function"){return i.readv(e,t,...n)}return new Promise(((r,o)=>{i.readv(e,t,...n,((e,t,n)=>{if(e)return o(e);r({bytesRead:t,buffers:n})}))}))};t.writev=function(e,t,...n){if(typeof n[n.length-1]==="function"){return i.writev(e,t,...n)}return new Promise(((r,o)=>{i.writev(e,t,...n,((e,t,n)=>{if(e)return o(e);r({bytesWritten:t,buffers:n})}))}))};if(typeof i.realpath.native==="function"){t.realpath.native=r(i.realpath.native)}else{process.emitWarning("fs.realpath.native is not a function. Is fs being monkey-patched?","Warning","fs-extra-WARN0003")}},136:(e,t,n)=>{e.exports={...n(506),...n(796),...n(882),...n(779),...n(471),...n(89),...n(76),...n(229),...n(881),...n(205)}},471:(e,t,n)=>{const r=n(77).fromPromise;const i=n(239);i.outputJson=r(n(753));i.outputJsonSync=n(425);i.outputJSON=i.outputJson;i.outputJSONSync=i.outputJsonSync;i.writeJSON=i.writeJson;i.writeJSONSync=i.writeJsonSync;i.readJSON=i.readJson;i.readJSONSync=i.readJsonSync;e.exports=i},239:(e,t,n)=>{const r=n(64);e.exports={readJson:r.readFile,readJsonSync:r.readFileSync,writeJson:r.writeFile,writeJsonSync:r.writeFileSync}},425:(e,t,n)=>{const{stringify:r}=n(449);const{outputFileSync:i}=n(229);function outputJsonSync(e,t,n){const o=r(t,n);i(e,o,n)}e.exports=outputJsonSync},753:(e,t,n)=>{const{stringify:r}=n(449);const{outputFile:i}=n(229);async function outputJson(e,t,n={}){const o=r(t,n);await i(e,o,n)}e.exports=outputJson},89:(e,t,n)=>{const r=n(77).fromPromise;const{makeDir:i,makeDirSync:o}=n(625);const s=r(i);e.exports={mkdirs:s,mkdirsSync:o,mkdirp:s,mkdirpSync:o,ensureDir:s,ensureDirSync:o}},625:(e,t,n)=>{const r=n(506);const{checkPath:i}=n(388);const getMode=e=>{const t={mode:511};if(typeof e==="number")return e;return{...t,...e}.mode};e.exports.makeDir=async(e,t)=>{i(e);return r.mkdir(e,{mode:getMode(t),recursive:true})};e.exports.makeDirSync=(e,t)=>{i(e);return r.mkdirSync(e,{mode:getMode(t),recursive:true})}},388:(e,t,n)=>{const r=n(928);e.exports.checkPath=function checkPath(e){if(process.platform==="win32"){const t=/[<>:"|?*]/.test(e.replace(r.parse(e).root,""));if(t){const t=new Error(`Path contains invalid characters: ${e}`);t.code="EINVAL";throw t}}}},76:(e,t,n)=>{const r=n(77).fromPromise;e.exports={move:r(n(132)),moveSync:n(951)}},951:(e,t,n)=>{const r=n(744);const i=n(928);const o=n(796).copySync;const s=n(205).removeSync;const c=n(89).mkdirpSync;const a=n(887);function moveSync(e,t,n){n=n||{};const r=n.overwrite||n.clobber||false;const{srcStat:o,isChangingCase:s=false}=a.checkPathsSync(e,t,"move",n);a.checkParentPathsSync(e,o,t,"move");if(!isParentRoot(t))c(i.dirname(t));return doRename(e,t,r,s)}function isParentRoot(e){const t=i.dirname(e);const n=i.parse(t);return n.root===t}function doRename(e,t,n,i){if(i)return rename(e,t,n);if(n){s(t);return rename(e,t,n)}if(r.existsSync(t))throw new Error("dest already exists.");return rename(e,t,n)}function rename(e,t,n){try{r.renameSync(e,t)}catch(r){if(r.code!=="EXDEV")throw r;return moveAcrossDevice(e,t,n)}}function moveAcrossDevice(e,t,n){const r={overwrite:n,errorOnExist:true,preserveTimestamps:true};o(e,t,r);return s(e)}e.exports=moveSync},132:(e,t,n)=>{const r=n(506);const i=n(928);const{copy:o}=n(796);const{remove:s}=n(205);const{mkdirp:c}=n(89);const{pathExists:a}=n(881);const f=n(887);async function move(e,t,n={}){const r=n.overwrite||n.clobber||false;const{srcStat:o,isChangingCase:s=false}=await f.checkPaths(e,t,"move",n);await f.checkParentPaths(e,o,t,"move");const a=i.dirname(t);const u=i.parse(a);if(u.root!==a){await c(a)}return doRename(e,t,r,s)}async function doRename(e,t,n,i){if(!i){if(n){await s(t)}else if(await a(t)){throw new Error("dest already exists.")}}try{await r.rename(e,t)}catch(r){if(r.code!=="EXDEV"){throw r}await moveAcrossDevice(e,t,n)}}async function moveAcrossDevice(e,t,n){const r={overwrite:n,errorOnExist:true,preserveTimestamps:true};await o(e,t,r);return s(e)}e.exports=move},229:(e,t,n)=>{const r=n(77).fromPromise;const i=n(506);const o=n(928);const s=n(89);const c=n(881).pathExists;async function outputFile(e,t,n="utf-8"){const r=o.dirname(e);if(!await c(r)){await s.mkdirs(r)}return i.writeFile(e,t,n)}function outputFileSync(e,...t){const n=o.dirname(e);if(!i.existsSync(n)){s.mkdirsSync(n)}i.writeFileSync(e,...t)}e.exports={outputFile:r(outputFile),outputFileSync:outputFileSync}},881:(e,t,n)=>{const r=n(77).fromPromise;const i=n(506);function pathExists(e){return i.access(e).then((()=>true)).catch((()=>false))}e.exports={pathExists:r(pathExists),pathExistsSync:i.existsSync}},205:(e,t,n)=>{const r=n(744);const i=n(77).fromCallback;function remove(e,t){r.rm(e,{recursive:true,force:true},t)}function removeSync(e){r.rmSync(e,{recursive:true,force:true})}e.exports={remove:i(remove),removeSync:removeSync}},887:(e,t,n)=>{const r=n(506);const i=n(928);const o=n(77).fromPromise;function getStats(e,t,n){const i=n.dereference?e=>r.stat(e,{bigint:true}):e=>r.lstat(e,{bigint:true});return Promise.all([i(e),i(t).catch((e=>{if(e.code==="ENOENT")return null;throw e}))]).then((([e,t])=>({srcStat:e,destStat:t})))}function getStatsSync(e,t,n){let i;const o=n.dereference?e=>r.statSync(e,{bigint:true}):e=>r.lstatSync(e,{bigint:true});const s=o(e);try{i=o(t)}catch(e){if(e.code==="ENOENT")return{srcStat:s,destStat:null};throw e}return{srcStat:s,destStat:i}}async function checkPaths(e,t,n,r){const{srcStat:o,destStat:s}=await getStats(e,t,r);if(s){if(areIdentical(o,s)){const r=i.basename(e);const c=i.basename(t);if(n==="move"&&r!==c&&r.toLowerCase()===c.toLowerCase()){return{srcStat:o,destStat:s,isChangingCase:true}}throw new Error("Source and destination must not be the same.")}if(o.isDirectory()&&!s.isDirectory()){throw new Error(`Cannot overwrite non-directory '${t}' with directory '${e}'.`)}if(!o.isDirectory()&&s.isDirectory()){throw new Error(`Cannot overwrite directory '${t}' with non-directory '${e}'.`)}}if(o.isDirectory()&&isSrcSubdir(e,t)){throw new Error(errMsg(e,t,n))}return{srcStat:o,destStat:s}}function checkPathsSync(e,t,n,r){const{srcStat:o,destStat:s}=getStatsSync(e,t,r);if(s){if(areIdentical(o,s)){const r=i.basename(e);const c=i.basename(t);if(n==="move"&&r!==c&&r.toLowerCase()===c.toLowerCase()){return{srcStat:o,destStat:s,isChangingCase:true}}throw new Error("Source and destination must not be the same.")}if(o.isDirectory()&&!s.isDirectory()){throw new Error(`Cannot overwrite non-directory '${t}' with directory '${e}'.`)}if(!o.isDirectory()&&s.isDirectory()){throw new Error(`Cannot overwrite directory '${t}' with non-directory '${e}'.`)}}if(o.isDirectory()&&isSrcSubdir(e,t)){throw new Error(errMsg(e,t,n))}return{srcStat:o,destStat:s}}async function checkParentPaths(e,t,n,o){const s=i.resolve(i.dirname(e));const c=i.resolve(i.dirname(n));if(c===s||c===i.parse(c).root)return;let a;try{a=await r.stat(c,{bigint:true})}catch(e){if(e.code==="ENOENT")return;throw e}if(areIdentical(t,a)){throw new Error(errMsg(e,n,o))}return checkParentPaths(e,t,c,o)}function checkParentPathsSync(e,t,n,o){const s=i.resolve(i.dirname(e));const c=i.resolve(i.dirname(n));if(c===s||c===i.parse(c).root)return;let a;try{a=r.statSync(c,{bigint:true})}catch(e){if(e.code==="ENOENT")return;throw e}if(areIdentical(t,a)){throw new Error(errMsg(e,n,o))}return checkParentPathsSync(e,t,c,o)}function areIdentical(e,t){return t.ino!==undefined&&t.dev!==undefined&&t.ino===e.ino&&t.dev===e.dev}function isSrcSubdir(e,t){const n=i.resolve(e).split(i.sep).filter((e=>e));const r=i.resolve(t).split(i.sep).filter((e=>e));return n.every(((e,t)=>r[t]===e))}function errMsg(e,t,n){return`Cannot ${n} '${e}' to a subdirectory of itself, '${t}'.`}e.exports={checkPaths:o(checkPaths),checkPathsSync:checkPathsSync,checkParentPaths:o(checkParentPaths),checkParentPathsSync:checkParentPathsSync,isSrcSubdir:isSrcSubdir,areIdentical:areIdentical}},934:(e,t,n)=>{const r=n(506);const i=n(77).fromPromise;async function utimesMillis(e,t,n){const i=await r.open(e,"r+");let o=null;try{await r.futimes(i,t,n)}finally{try{await r.close(i)}catch(e){o=e}}if(o){throw o}}function utimesMillisSync(e,t,n){const i=r.openSync(e,"r+");r.futimesSync(i,t,n);return r.closeSync(i)}e.exports={utimesMillis:i(utimesMillis),utimesMillisSync:utimesMillisSync}},964:e=>{e.exports=clone;var t=Object.getPrototypeOf||function(e){return e.__proto__};function clone(e){if(e===null||typeof e!=="object")return e;if(e instanceof Object)var n={__proto__:t(e)};else var n=Object.create(null);Object.getOwnPropertyNames(e).forEach((function(t){Object.defineProperty(n,t,Object.getOwnPropertyDescriptor(e,t))}));return n}},744:(e,t,n)=>{var r=n(896);var i=n(501);var o=n(270);var s=n(964);var c=n(23);var a;var f;if(typeof Symbol==="function"&&typeof Symbol.for==="function"){a=Symbol.for("graceful-fs.queue");f=Symbol.for("graceful-fs.previous")}else{a="___graceful-fs.queue";f="___graceful-fs.previous"}function noop(){}function publishQueue(e,t){Object.defineProperty(e,a,{get:function(){return t}})}var u=noop;if(c.debuglog)u=c.debuglog("gfs4");else if(/\bgfs4\b/i.test(process.env.NODE_DEBUG||""))u=function(){var e=c.format.apply(c,arguments);e="GFS4: "+e.split(/\n/).join("\nGFS4: ");console.error(e)};if(!r[a]){var l=global[a]||[];publishQueue(r,l);r.close=function(e){function close(t,n){return e.call(r,t,(function(e){if(!e){resetQueue()}if(typeof n==="function")n.apply(this,arguments)}))}Object.defineProperty(close,f,{value:e});return close}(r.close);r.closeSync=function(e){function closeSync(t){e.apply(r,arguments);resetQueue()}Object.defineProperty(closeSync,f,{value:e});return closeSync}(r.closeSync);if(/\bgfs4\b/i.test(process.env.NODE_DEBUG||"")){process.on("exit",(function(){u(r[a]);n(613).equal(r[a].length,0)}))}}if(!global[a]){publishQueue(global,r[a])}e.exports=patch(s(r));if(process.env.TEST_GRACEFUL_FS_GLOBAL_PATCH&&!r.__patched){e.exports=patch(r);r.__patched=true}function patch(e){i(e);e.gracefulify=patch;e.createReadStream=createReadStream;e.createWriteStream=createWriteStream;var t=e.readFile;e.readFile=readFile;function readFile(e,n,r){if(typeof n==="function")r=n,n=null;return go$readFile(e,n,r);function go$readFile(e,n,r,i){return t(e,n,(function(t){if(t&&(t.code==="EMFILE"||t.code==="ENFILE"))enqueue([go$readFile,[e,n,r],t,i||Date.now(),Date.now()]);else{if(typeof r==="function")r.apply(this,arguments)}}))}}var n=e.writeFile;e.writeFile=writeFile;function writeFile(e,t,r,i){if(typeof r==="function")i=r,r=null;return go$writeFile(e,t,r,i);function go$writeFile(e,t,r,i,o){return n(e,t,r,(function(n){if(n&&(n.code==="EMFILE"||n.code==="ENFILE"))enqueue([go$writeFile,[e,t,r,i],n,o||Date.now(),Date.now()]);else{if(typeof i==="function")i.apply(this,arguments)}}))}}var r=e.appendFile;if(r)e.appendFile=appendFile;function appendFile(e,t,n,i){if(typeof n==="function")i=n,n=null;return go$appendFile(e,t,n,i);function go$appendFile(e,t,n,i,o){return r(e,t,n,(function(r){if(r&&(r.code==="EMFILE"||r.code==="ENFILE"))enqueue([go$appendFile,[e,t,n,i],r,o||Date.now(),Date.now()]);else{if(typeof i==="function")i.apply(this,arguments)}}))}}var s=e.copyFile;if(s)e.copyFile=copyFile;function copyFile(e,t,n,r){if(typeof n==="function"){r=n;n=0}return go$copyFile(e,t,n,r);function go$copyFile(e,t,n,r,i){return s(e,t,n,(function(o){if(o&&(o.code==="EMFILE"||o.code==="ENFILE"))enqueue([go$copyFile,[e,t,n,r],o,i||Date.now(),Date.now()]);else{if(typeof r==="function")r.apply(this,arguments)}}))}}var c=e.readdir;e.readdir=readdir;var a=/^v[0-5]\./;function readdir(e,t,n){if(typeof t==="function")n=t,t=null;var r=a.test(process.version)?function go$readdir(e,t,n,r){return c(e,fs$readdirCallback(e,t,n,r))}:function go$readdir(e,t,n,r){return c(e,t,fs$readdirCallback(e,t,n,r))};return r(e,t,n);function fs$readdirCallback(e,t,n,i){return function(o,s){if(o&&(o.code==="EMFILE"||o.code==="ENFILE"))enqueue([r,[e,t,n],o,i||Date.now(),Date.now()]);else{if(s&&s.sort)s.sort();if(typeof n==="function")n.call(this,o,s)}}}}if(process.version.substr(0,4)==="v0.8"){var f=o(e);ReadStream=f.ReadStream;WriteStream=f.WriteStream}var u=e.ReadStream;if(u){ReadStream.prototype=Object.create(u.prototype);ReadStream.prototype.open=ReadStream$open}var l=e.WriteStream;if(l){WriteStream.prototype=Object.create(l.prototype);WriteStream.prototype.open=WriteStream$open}Object.defineProperty(e,"ReadStream",{get:function(){return ReadStream},set:function(e){ReadStream=e},enumerable:true,configurable:true});Object.defineProperty(e,"WriteStream",{get:function(){return WriteStream},set:function(e){WriteStream=e},enumerable:true,configurable:true});var h=ReadStream;Object.defineProperty(e,"FileReadStream",{get:function(){return h},set:function(e){h=e},enumerable:true,configurable:true});var p=WriteStream;Object.defineProperty(e,"FileWriteStream",{get:function(){return p},set:function(e){p=e},enumerable:true,configurable:true});function ReadStream(e,t){if(this instanceof ReadStream)return u.apply(this,arguments),this;else return ReadStream.apply(Object.create(ReadStream.prototype),arguments)}function ReadStream$open(){var e=this;open(e.path,e.flags,e.mode,(function(t,n){if(t){if(e.autoClose)e.destroy();e.emit("error",t)}else{e.fd=n;e.emit("open",n);e.read()}}))}function WriteStream(e,t){if(this instanceof WriteStream)return l.apply(this,arguments),this;else return WriteStream.apply(Object.create(WriteStream.prototype),arguments)}function WriteStream$open(){var e=this;open(e.path,e.flags,e.mode,(function(t,n){if(t){e.destroy();e.emit("error",t)}else{e.fd=n;e.emit("open",n)}}))}function createReadStream(t,n){return new e.ReadStream(t,n)}function createWriteStream(t,n){return new e.WriteStream(t,n)}var d=e.open;e.open=open;function open(e,t,n,r){if(typeof n==="function")r=n,n=null;return go$open(e,t,n,r);function go$open(e,t,n,r,i){return d(e,t,n,(function(o,s){if(o&&(o.code==="EMFILE"||o.code==="ENFILE"))enqueue([go$open,[e,t,n,r],o,i||Date.now(),Date.now()]);else{if(typeof r==="function")r.apply(this,arguments)}}))}}return e}function enqueue(e){u("ENQUEUE",e[0].name,e[1]);r[a].push(e);retry()}var h;function resetQueue(){var e=Date.now();for(var t=0;t<r[a].length;++t){if(r[a][t].length>2){r[a][t][3]=e;r[a][t][4]=e}}retry()}function retry(){clearTimeout(h);h=undefined;if(r[a].length===0)return;var e=r[a].shift();var t=e[0];var n=e[1];var i=e[2];var o=e[3];var s=e[4];if(o===undefined){u("RETRY",t.name,n);t.apply(null,n)}else if(Date.now()-o>=6e4){u("TIMEOUT",t.name,n);var c=n.pop();if(typeof c==="function")c.call(null,i)}else{var f=Date.now()-s;var l=Math.max(s-o,1);var p=Math.min(l*1.2,100);if(f>=p){u("RETRY",t.name,n);t.apply(null,n.concat([o]))}else{r[a].push(e)}}if(h===undefined){h=setTimeout(retry,0)}}},270:(e,t,n)=>{var r=n(203).Stream;e.exports=legacy;function legacy(e){return{ReadStream:ReadStream,WriteStream:WriteStream};function ReadStream(t,n){if(!(this instanceof ReadStream))return new ReadStream(t,n);r.call(this);var i=this;this.path=t;this.fd=null;this.readable=true;this.paused=false;this.flags="r";this.mode=438;this.bufferSize=64*1024;n=n||{};var o=Object.keys(n);for(var s=0,c=o.length;s<c;s++){var a=o[s];this[a]=n[a]}if(this.encoding)this.setEncoding(this.encoding);if(this.start!==undefined){if("number"!==typeof this.start){throw TypeError("start must be a Number")}if(this.end===undefined){this.end=Infinity}else if("number"!==typeof this.end){throw TypeError("end must be a Number")}if(this.start>this.end){throw new Error("start must be <= end")}this.pos=this.start}if(this.fd!==null){process.nextTick((function(){i._read()}));return}e.open(this.path,this.flags,this.mode,(function(e,t){if(e){i.emit("error",e);i.readable=false;return}i.fd=t;i.emit("open",t);i._read()}))}function WriteStream(t,n){if(!(this instanceof WriteStream))return new WriteStream(t,n);r.call(this);this.path=t;this.fd=null;this.writable=true;this.flags="w";this.encoding="binary";this.mode=438;this.bytesWritten=0;n=n||{};var i=Object.keys(n);for(var o=0,s=i.length;o<s;o++){var c=i[o];this[c]=n[c]}if(this.start!==undefined){if("number"!==typeof this.start){throw TypeError("start must be a Number")}if(this.start<0){throw new Error("start must be >= zero")}this.pos=this.start}this.busy=false;this._queue=[];if(this.fd===null){this._open=e.open;this._queue.push([this._open,this.path,this.flags,this.mode,undefined]);this.flush()}}}},501:(e,t,n)=>{var r=n(140);var i=process.cwd;var o=null;var s=process.env.GRACEFUL_FS_PLATFORM||process.platform;process.cwd=function(){if(!o)o=i.call(process);return o};try{process.cwd()}catch(e){}if(typeof process.chdir==="function"){var c=process.chdir;process.chdir=function(e){o=null;c.call(process,e)};if(Object.setPrototypeOf)Object.setPrototypeOf(process.chdir,c)}e.exports=patch;function patch(e){if(r.hasOwnProperty("O_SYMLINK")&&process.version.match(/^v0\.6\.[0-2]|^v0\.5\./)){patchLchmod(e)}if(!e.lutimes){patchLutimes(e)}e.chown=chownFix(e.chown);e.fchown=chownFix(e.fchown);e.lchown=chownFix(e.lchown);e.chmod=chmodFix(e.chmod);e.fchmod=chmodFix(e.fchmod);e.lchmod=chmodFix(e.lchmod);e.chownSync=chownFixSync(e.chownSync);e.fchownSync=chownFixSync(e.fchownSync);e.lchownSync=chownFixSync(e.lchownSync);e.chmodSync=chmodFixSync(e.chmodSync);e.fchmodSync=chmodFixSync(e.fchmodSync);e.lchmodSync=chmodFixSync(e.lchmodSync);e.stat=statFix(e.stat);e.fstat=statFix(e.fstat);e.lstat=statFix(e.lstat);e.statSync=statFixSync(e.statSync);e.fstatSync=statFixSync(e.fstatSync);e.lstatSync=statFixSync(e.lstatSync);if(e.chmod&&!e.lchmod){e.lchmod=function(e,t,n){if(n)process.nextTick(n)};e.lchmodSync=function(){}}if(e.chown&&!e.lchown){e.lchown=function(e,t,n,r){if(r)process.nextTick(r)};e.lchownSync=function(){}}if(s==="win32"){e.rename=typeof e.rename!=="function"?e.rename:function(t){function rename(n,r,i){var o=Date.now();var s=0;t(n,r,(function CB(c){if(c&&(c.code==="EACCES"||c.code==="EPERM"||c.code==="EBUSY")&&Date.now()-o<6e4){setTimeout((function(){e.stat(r,(function(e,o){if(e&&e.code==="ENOENT")t(n,r,CB);else i(c)}))}),s);if(s<100)s+=10;return}if(i)i(c)}))}if(Object.setPrototypeOf)Object.setPrototypeOf(rename,t);return rename}(e.rename)}e.read=typeof e.read!=="function"?e.read:function(t){function read(n,r,i,o,s,c){var a;if(c&&typeof c==="function"){var f=0;a=function(u,l,h){if(u&&u.code==="EAGAIN"&&f<10){f++;return t.call(e,n,r,i,o,s,a)}c.apply(this,arguments)}}return t.call(e,n,r,i,o,s,a)}if(Object.setPrototypeOf)Object.setPrototypeOf(read,t);return read}(e.read);e.readSync=typeof e.readSync!=="function"?e.readSync:function(t){return function(n,r,i,o,s){var c=0;while(true){try{return t.call(e,n,r,i,o,s)}catch(e){if(e.code==="EAGAIN"&&c<10){c++;continue}throw e}}}}(e.readSync);function patchLchmod(e){e.lchmod=function(t,n,i){e.open(t,r.O_WRONLY|r.O_SYMLINK,n,(function(t,r){if(t){if(i)i(t);return}e.fchmod(r,n,(function(t){e.close(r,(function(e){if(i)i(t||e)}))}))}))};e.lchmodSync=function(t,n){var i=e.openSync(t,r.O_WRONLY|r.O_SYMLINK,n);var o=true;var s;try{s=e.fchmodSync(i,n);o=false}finally{if(o){try{e.closeSync(i)}catch(e){}}else{e.closeSync(i)}}return s}}function patchLutimes(e){if(r.hasOwnProperty("O_SYMLINK")&&e.futimes){e.lutimes=function(t,n,i,o){e.open(t,r.O_SYMLINK,(function(t,r){if(t){if(o)o(t);return}e.futimes(r,n,i,(function(t){e.close(r,(function(e){if(o)o(t||e)}))}))}))};e.lutimesSync=function(t,n,i){var o=e.openSync(t,r.O_SYMLINK);var s;var c=true;try{s=e.futimesSync(o,n,i);c=false}finally{if(c){try{e.closeSync(o)}catch(e){}}else{e.closeSync(o)}}return s}}else if(e.futimes){e.lutimes=function(e,t,n,r){if(r)process.nextTick(r)};e.lutimesSync=function(){}}}function chmodFix(t){if(!t)return t;return function(n,r,i){return t.call(e,n,r,(function(e){if(chownErOk(e))e=null;if(i)i.apply(this,arguments)}))}}function chmodFixSync(t){if(!t)return t;return function(n,r){try{return t.call(e,n,r)}catch(e){if(!chownErOk(e))throw e}}}function chownFix(t){if(!t)return t;return function(n,r,i,o){return t.call(e,n,r,i,(function(e){if(chownErOk(e))e=null;if(o)o.apply(this,arguments)}))}}function chownFixSync(t){if(!t)return t;return function(n,r,i){try{return t.call(e,n,r,i)}catch(e){if(!chownErOk(e))throw e}}}function statFix(t){if(!t)return t;return function(n,r,i){if(typeof r==="function"){i=r;r=null}function callback(e,t){if(t){if(t.uid<0)t.uid+=4294967296;if(t.gid<0)t.gid+=4294967296}if(i)i.apply(this,arguments)}return r?t.call(e,n,r,callback):t.call(e,n,callback)}}function statFixSync(t){if(!t)return t;return function(n,r){var i=r?t.call(e,n,r):t.call(e,n);if(i){if(i.uid<0)i.uid+=4294967296;if(i.gid<0)i.gid+=4294967296}return i}}function chownErOk(e){if(!e)return true;if(e.code==="ENOSYS")return true;var t=!process.getuid||process.getuid()!==0;if(t){if(e.code==="EINVAL"||e.code==="EPERM")return true}return false}}},64:(e,t,n)=>{let r;try{r=n(744)}catch(e){r=n(896)}const i=n(77);const{stringify:o,stripBom:s}=n(449);async function _readFile(e,t={}){if(typeof t==="string"){t={encoding:t}}const n=t.fs||r;const o="throws"in t?t.throws:true;let c=await i.fromCallback(n.readFile)(e,t);c=s(c);let a;try{a=JSON.parse(c,t?t.reviver:null)}catch(t){if(o){t.message=`${e}: ${t.message}`;throw t}else{return null}}return a}const c=i.fromPromise(_readFile);function readFileSync(e,t={}){if(typeof t==="string"){t={encoding:t}}const n=t.fs||r;const i="throws"in t?t.throws:true;try{let r=n.readFileSync(e,t);r=s(r);return JSON.parse(r,t.reviver)}catch(t){if(i){t.message=`${e}: ${t.message}`;throw t}else{return null}}}async function _writeFile(e,t,n={}){const s=n.fs||r;const c=o(t,n);await i.fromCallback(s.writeFile)(e,c,n)}const a=i.fromPromise(_writeFile);function writeFileSync(e,t,n={}){const i=n.fs||r;const s=o(t,n);return i.writeFileSync(e,s,n)}e.exports={readFile:c,readFileSync:readFileSync,writeFile:a,writeFileSync:writeFileSync}},449:e=>{function stringify(e,{EOL:t="\n",finalEOL:n=true,replacer:r=null,spaces:i}={}){const o=n?t:"";const s=JSON.stringify(e,r,i);return s.replace(/\n/g,t)+o}function stripBom(e){if(Buffer.isBuffer(e))e=e.toString("utf8");return e.replace(/^\uFEFF/,"")}e.exports={stringify:stringify,stripBom:stripBom}},77:(e,t)=>{t.fromCallback=function(e){return Object.defineProperty((function(...t){if(typeof t[t.length-1]==="function")e.apply(this,t);else{return new Promise(((n,r)=>{t.push(((e,t)=>e!=null?r(e):n(t)));e.apply(this,t)}))}}),"name",{value:e.name})};t.fromPromise=function(e){return Object.defineProperty((function(...t){const n=t[t.length-1];if(typeof n!=="function")return e.apply(this,t);else{t.pop();e.apply(this,t).then((e=>n(null,e)),n)}}),"name",{value:e.name})}},613:t=>{t.exports=e(import.meta.url)("assert")},140:t=>{t.exports=e(import.meta.url)("constants")},896:t=>{t.exports=e(import.meta.url)("fs")},928:t=>{t.exports=e(import.meta.url)("path")},203:t=>{t.exports=e(import.meta.url)("stream")},23:t=>{t.exports=e(import.meta.url)("util")}};var r={};function __nccwpck_require__(e){var t=r[e];if(t!==undefined){return t.exports}var i=r[e]={exports:{}};var o=true;try{n[e](i,i.exports,__nccwpck_require__);o=false}finally{if(o)delete r[e]}return i.exports}(()=>{__nccwpck_require__.n=e=>{var t=e&&e.__esModule?()=>e["default"]:()=>e;__nccwpck_require__.d(t,{a:t});return t}})();(()=>{__nccwpck_require__.d=(e,t)=>{for(var n in t){if(__nccwpck_require__.o(t,n)&&!__nccwpck_require__.o(e,n)){Object.defineProperty(e,n,{enumerable:true,get:t[n]})}}}})();(()=>{__nccwpck_require__.o=(e,t)=>Object.prototype.hasOwnProperty.call(e,t)})();if(typeof __nccwpck_require__!=="undefined")__nccwpck_require__.ab=new URL(".",import.meta.url).pathname.slice(import.meta.url.match(/^file:\/\/\/\w:/)?1:0,-1)+"/";var i={};__nccwpck_require__.d(i,{$:()=>FhirSnapshotGenerator});const applySingleDiff=(e,t)=>{const n=e.findIndex((e=>e.id===t.id));if(n===-1){throw new Error(`Element with id "${t.id}" not found`)}const r={...e[n]};const i=mergeElement(r,t);if(i.sliceName&&!i.id.endsWith(`:${i.sliceName}`)){delete i.sliceName}const o=[...e.slice(0,n),i,...e.slice(n+1)];return o};const rewrite=(e,t,n)=>{for(const[r,i]of n.entries()){if(e===r||e.startsWith(r+".")){return e.replace(r,i[t])}}return e};const applyDiffs=async(e,t,n,r)=>{let i=[...e];const o=new Map;if(i[0].extension){delete i[0].extension}if(t.length===0)return i;for(const e of t){if(!elementExists_elementExists(i,e.id)){i=await ensureBranch(i,e.id,n,r,o)}const t={...e,id:rewrite(e.id,"id",o),path:rewrite(e.path,"path",o)};i=applySingleDiff(i,t)}return i};const childExists=(e,t,n)=>elementExists(e,`${t}.${n}`);const ensureChild=async(e,t,n,r,i,o)=>{const s=e.filter((e=>e.id===t||e.id.startsWith(`${t}.`)));if(s.length===0){throw new Error(`Parent element '${t}' not found in the working snapshot array`)}let c=toTree(s);if(isNodeSliceable(c)){c=c.children[0]}const a=c.children.length>0;if(!a){c=await expandNode(c,r);e=injectElementBlock(e,t,fromTree(c))}const[f,u]=n.split(":");const l=c.children.find((e=>e.id.endsWith(`.${f}`)));if(!l){const r=findMonopolyShortcutTarget(t,f,c.children);if(r){const n=`${t}.${r.rewrittenSegment}`;const i=e.find((e=>e.id===n));const s=i?.path??n;o.set(`${t}.${f}`,{id:n,path:s});const c={id:n,path:s,type:[{code:r.type}]};e=applySingleDiff(e,c);return e}throw new Error(`Element '${n}' is illegal under '${t}'.`)}if(!u)return e;if(!isNodeSliceable(l)){const t=`${l.id}:${u}`;o.set(t,{id:l.id,path:l.path});return e}const h=l.children.find((e=>e.sliceName===u));if(h){return e}if(!h){if(f.endsWith("[x]")&&l.children[0].definition?.type?.length===1){const t=l.children[0].definition.type[0].code;const n=`${f.slice(0,-3)}${initCap(t)}`;if(u===n){const t=`${l.id}:${u}`;const n=l.path;o.set(t,{id:l.id,path:n});return e}}const t=l.children[0];const n=`${t.id}:${u}`;const r=rewriteNodePaths(t,n,t.id);r.nodeType="slice";delete r.definition?.slicing;delete r.definition?.mustSupport;r.sliceName=u;if(r.definition){r.definition.sliceName=u}l.children.push(r);e=injectElementBlock(e,l.id,fromTree(l))}return e};const ensureBranch=async(e,t,n,r,i)=>{const o=t.split(".");const s=o[0];let c=e;if(e[0].id!==s){throw new Error(`Root element '${s}' not found in the working snapshot array`)}if(s===t){return c}let a=s;for(let e=1;e<o.length;e++){const t=o[e];const s=i.get(a);if(s){a=s.id}c=await ensureChild(c,a,t,n,r,i);a=`${a}.${t}`}return c};const toNodeType=e=>{if(e.id.endsWith("[x]")){return"poly"}if(e.sliceName){if(e.slicing)return"resliced";return"slice"}if(e.base?.max&&(e.base.max==="*"||parseInt(e.base.max)>1)){return"array"}return"element"};const injectElementBlock=(e,t,n)=>{const r=e.findIndex((e=>e.id===t));if(r===-1)throw new Error(`Element with id "${t}" not found`);const i=e.slice(0,r);const o=e.slice(r+1).filter((e=>!e.id.startsWith(`${t}.`)&&!e.id.startsWith(`${t}:`)));const s=[...i,...n,...o];return s};const mergeElement=(e,t)=>{if(t.id!==e.id){throw new Error(`Element ID mismatch. Tried to apply "${t.id}" onto "${e.id}".`)}const n={...e};for(const r of Object.keys(t)){if(["constraint","condition","mapping"].includes(r)){const i=e[r]||[],o=t[r]||[];if(r==="constraint"){n.constraint=[...i,...o]}else if(r==="condition"){const e=Array.from(new Set([...i,...o]));n.condition=e}else{const e=new Set;const serialize=e=>JSON.stringify(Object.entries(e).sort());const t=[...i,...o];n.mapping=t.filter((t=>{const n=serialize(t);return e.has(n)?false:e.add(n)}))}}else if(r!=="id"&&r!=="path"){if(t[r]!==undefined){n[r]=t[r]}}}return n};const elementExists_elementExists=(e,t)=>e.some((e=>e.id===t));const rewriteElementPaths=(e,t,n)=>{const r=n.endsWith(".")?n:n+".";const i=t.endsWith(".")?t:t+".";const removeSlices=e=>{const t=e.split(".");const n=t.map((e=>{const t=e.indexOf(":");return t!==-1?e.slice(0,t):e}));return n.join(".")};const replaceId=e=>e===n?t:e.startsWith(r)?i+e.slice(r.length):e;const replacePath=e=>{const t=removeSlices(i);const n=removeSlices(r);return e===n?t:e.startsWith(n)?t+e.slice(n.length):e};return e.map((e=>({...e,id:replaceId(e.id),path:replacePath(e.path)})))};const o=["definition","comment","requirements","meaningWhenMissing"];const s=["http://hl7.org/fhir/StructureDefinition/structuredefinition-fmm","http://hl7.org/fhir/StructureDefinition/structuredefinition-fmm-no-warnings","http://hl7.org/fhir/StructureDefinition/structuredefinition-hierarchy","http://hl7.org/fhir/StructureDefinition/structuredefinition-interface","http://hl7.org/fhir/StructureDefinition/structuredefinition-normative-version","http://hl7.org/fhir/StructureDefinition/structuredefinition-applicable-version","http://hl7.org/fhir/StructureDefinition/structuredefinition-category","http://hl7.org/fhir/StructureDefinition/structuredefinition-codegen-super","http://hl7.org/fhir/StructureDefinition/structuredefinition-security-category","http://hl7.org/fhir/StructureDefinition/structuredefinition-standards-status","http://hl7.org/fhir/StructureDefinition/structuredefinition-summary","http://hl7.org/fhir/StructureDefinition/structuredefinition-wg","http://hl7.org/fhir/StructureDefinition/replaces","http://hl7.org/fhir/StructureDefinition/resource-approvalDate","http://hl7.org/fhir/StructureDefinition/resource-effectivePeriod","http://hl7.org/fhir/StructureDefinition/resource-lastReviewDate"];const replaceRelativeLinks=e=>e.replace(/\[([^\]]+)\]\((?!https?:\/\/)([^)]+)\)/g,((e,t,n)=>`[${t}](http://hl7.org/fhir/${n})`));const filterExtensions=e=>{const t=e.filter((e=>!s.includes(e.url)));return t.length>0?t:undefined};const addSourceToConstraints=(e,t)=>e.map((e=>({source:t,...e})));const migrateElements=(e,t)=>e.map(((e,n)=>{const r={...e};if(n===0&&e.extension){const t=filterExtensions(e.extension);if(t){r.extension=t}else{delete r.extension}}if(t.startsWith("http://hl7.org/fhir")){for(const t of o){const n=e[t];if(typeof n==="string"){r[t]=replaceRelativeLinks(n)}}}if(e.constraint){r.constraint=addSourceToConstraints(e.constraint,t)}return r}));const findMonopolyShortcutTarget=(e,t,n)=>{const r=`${e}.`;const i=n.filter((t=>t.id.startsWith(r)&&t.id!==e&&t.id.endsWith("[x]")));for(const e of i){const n=e.id.slice(r.length);const i=n.slice(0,-3);for(const n of e?.children[0]?.definition?.type??[]){const e=i+initCap(n.code);if(e===t){return{rewrittenSegment:`${i}[x]`,type:n.code}}}}return null};const expandNode=async(e,t)=>{if(isNodeSliceable(e)){throw new Error(`Node '${e.id}' is sliceable. Expand node must be called on a specific slice, headslice or a non-sliceable node.`)}if(e.children.length>0)return e;if(!e.definition){throw new Error(`Node '${e.id}' has no ElementDefinition. Cannot expand.`)}const n=e.definition;if((!n.type||n.type.length===0)&&!n.contentReference){throw new Error(`Node '${e.id}' has no type or contentReference defined. Cannot expand.`)}let r=[];if(n.contentReference){r=await t.getContentReference(n.contentReference);if(!r||r.length===0){throw new Error(`Snapshot for contentReference '${n.contentReference}' is empty or missing.`)}delete n.contentReference}else if(n.type&&n.type.length>1){r=await t.getBaseType("Element");if(!r||r.length===0){throw new Error("Snapshot for base type 'Element' is empty or missing.")}}else if(n.type&&n.type.length===1){const i=n.type[0];if(i.profile&&i.profile.length===1){const e=i.profile[0];r=await t.getByUrl(e);if(!r||r.length===0){throw new Error(`Snapshot for type '${e}' is empty or missing.`)}}else{const n=i.code;if(n.startsWith("http://hl7.org/fhirpath/System.")){throw new Error(`Cannot expand node '${e.id}', type '${n}' can never have children.`)}r=await t.getBaseType(n);if(!r||r.length===0){throw new Error(`Snapshot for type '${n}' is empty or missing.`)}}}if(!r||r.length===0){throw new Error(`Error expanding node '${e.id}' - the snapshot contains no elements.`)}const i=r[0].id;const o=e.id;const s=rewriteElementPaths(r,o,i);const c=toTree(s);const a={...e,children:c.children};return a};const fromTree=e=>{const t=[];function visit(e){if(["element","slice","headslice"].includes(e.nodeType)){if(!e.definition){throw new Error(`Node ${e.id} of type ${e.nodeType} is missing its definition`)}t.push(e.definition)}for(const t of e.children){visit(t)}}visit(e);return t};const toTree=e=>{if(e.length===0){throw new Error("Element array is empty")}const t=new Map;const makeSegments=e=>{const t=e.split(".");const n=t.map((e=>e.split(":")[0]));return{idSegments:t,pathSegments:n}};const createNode=(e,t)=>{const{idSegments:n,pathSegments:r}=makeSegments(e.id);const i=t||toNodeType(e);const o={id:e.id,path:e.path,idSegments:n,pathSegments:r,nodeType:i,children:[]};if(isNodeSliceable(o)){const t={id:e.id,path:e.path,idSegments:n,pathSegments:r,nodeType:"headslice",definition:e,children:[]};o.children.push(t)}else{o.definition=e;if(e.sliceName){o.sliceName=e.sliceName}}return o};const n=e[0];const r=createNode(n,"element");t.set(r.id,r);for(let n=1;n<e.length;n++){const r=e[n];const{idSegments:i}=makeSegments(r.id);const o=i[i.length-1];const s=o.includes(":");const c=s?o.split(":")[0]:o;const a=s?i.slice(0,-1).join(".")+`.${c}`:i.slice(0,-1).join(".");const f=t.get(a);if(!f){throw new Error(`Parent node not found for element ${r.id}`)}const u=createNode(r);if(isNodeSliceable(f)){if(s){f.children.push(u)}else{f.children[0].children.push(u)}}else{f.children.push(u)}t.set(u.id,u)}return r};const rewriteNodePaths=(e,t,n)=>{const r=fromTree(e);const i=rewriteElementPaths(r,t,n);const o=toTree(i);return o};const isNodeSliceable=e=>["array","poly","resliced"].includes(e.nodeType);const c={info:e=>console.log(e),warn:e=>console.warn(e),error:e=>console.error(e)};const defaultPrethrow=e=>{if(e instanceof Error){return e}const t=new Error(e);return t};const customPrethrower=e=>t=>{if(t instanceof Error){e.error(t);return t}const n=new Error(t);e.error(n);return n};const a={"3.0.2":"STU3","3.0":"STU3",R3:"STU3","4.0.0":"R4","4.0.1":"R4","4.0":"R4","4.3.0":"R4B",4.3:"R4B","5.0.0":"R5","5.0":"R5"};const f={STU3:"hl7.fhir.r3.core@3.0.2",R4:"hl7.fhir.r4.core@4.0.1",R4B:"hl7.fhir.r4b.core@4.3.0",R5:"hl7.fhir.r5.core@5.0.0"};const resolveFhirVersion=(e,t)=>{const n=a[e]||e;const r=f[n];if(!r){throw new Error(`Unsupported FHIR version: ${e}. Supported versions are: ${Object.keys(f).join(", ")}`)}if(t){const[e,t]=r.split("@");return{id:e,version:t}}return n};const findCorePackage=async(e,t)=>{if(Object.values(f).includes(`${e.id}@${e.version}`)){return[{id:e.id,version:e.version}]}const n=await t.getDirectDependencies(e);return n.filter((e=>Object.values(f).includes(`${e.id}@${e.version}`)))};const resolveBasePackage=async(e,t,n,r)=>{const i=await findCorePackage({id:e,version:t},n);if(i.length===0){r.warn(`No base FHIR package dependency found for ${e}@${t}.`);const s=await n.getPackageManifest({id:e,version:t});if(s["fhir-version-list"]&&!s.fhirVersions){s.fhirVersions=s["fhir-version-list"]}if(s.fhirVersions&&s.fhirVersions.length>0){s.fhirVersions.map((n=>{r.info(`Resolving core package for FHIR version ${n}`);const s=resolveFhirVersion(n,true);if(s){const{id:e,version:t}=s;i.push({id:e,version:t})}else{r.warn(`Unknown FHIR version ${o} in package ${e}@${t}.`)}}));if(i.length===0)return undefined}}if(i.length>1){r.warn(`Multiple base FHIR packages found for ${e}@${t}: ${i.map((e=>`${e.id}@${e.version}`)).join(", ")}.`);return undefined}const o=i[0].id==="hl7.fhir.r4.core"&&i[0].version==="4.0.0"?"4.0.1":i[0].version;return`${i[0].id}@${o}`};class DefinitionFetcher{constructor(e,t,n,r){this.elementCache=new Map;this.sourcePackage=e;this.corePackage=t;this.snapshotFetcher=r;this.fpe=n}async getBaseType(e){let t=this.elementCache.get(e);if(t){return t}const n=await this.fpe.resolve({resourceType:"StructureDefinition",id:e,package:this.corePackage,derivation:["Element","Resource"].includes(e)?undefined:"specialization"});if(!n){throw new Error(`FHIR type '${e}' not found in base package '${this.corePackage}'`)}if(!n.snapshot||!n.snapshot.element||n.snapshot.element.length===0){throw new Error(`FHIR type '${e}' in base package '${this.corePackage.id}@${this.corePackage.version}' does not have a snapshot`)}t=migrateElements(n.snapshot.element,n.url);this.elementCache.set(e,t);return t}async getContentReference(e){if(!e.startsWith("#")){throw new Error(`Invalid contentReference identifier '${e}'. Must start with '#'`)}const t=this.elementCache.get(e);if(t){return t}const n=e.substring(1);const r=n.split(".")[0];const i=await this.getBaseType(r);const o=i.filter((e=>e?.id===n||String(e?.id).startsWith(n+".")));if(o.length===0){throw new Error(`No matching elements found for contentReference '${e}'`)}this.elementCache.set(e,o);return o}async getByUrl(e){const t=this.elementCache.get(e);if(t){return t}const n=await this.fpe.resolve({resourceType:"StructureDefinition",url:e,package:this.sourcePackage});if(!n){throw new Error(`StructureDefinition '${e}' not found in package '${this.sourcePackage.id}@${this.sourcePackage.version}'`)}if(n.derivation==="specialization"){const t=await this.fpe.resolve({filename:n.filename,package:{id:n.__packageId,version:n.__packageVersion}});const r=migrateElements(t.snapshot?.element,e);if(!r||r.length===0){throw new Error(`StructureDefinition '${e}' does not have a snapshot`)}this.elementCache.set(e,r);return r}if(n?.derivation==="constraint"){const t=migrateElements(await this.snapshotFetcher(e),e);if(!t||t.length===0){throw new Error(`Profile '${e}' does not have a snapshot`)}this.elementCache.set(e,t);return t}throw new Error(`StructureDefinition '${e}' is neither a base type nor a profile`)}}const initCap=e=>e.charAt(0).toUpperCase()+e.slice(1);const u={rE:"1.4.2"};const l=`v${u.rE.split(".").slice(0,2).join(".")}.x`;function flattenCodeSystemConcepts(e){const t=new Map;const walk=e=>{if(!Array.isArray(e))return;for(const n of e){if(n&&typeof n==="object"&&typeof n.code==="string"){if(!t.has(n.code))t.set(n.code,n.display)}if(Array.isArray(n?.concept))walk(n.concept)}};if(Array.isArray(e?.concept))walk(e.concept);return t}function toSystemCodeMapFromContains(e){const t=new Map;if(!Array.isArray(e))return t;for(const n of e){if(!n||typeof n!=="object")continue;const e=n.system;const r=n.code;if(!e||!r)continue;if(!t.has(e))t.set(e,new Map);const i=t.get(e);if(!i.has(r))i.set(r,n.display)}return t}function mergeSystemMaps(e,t){for(const[n,r]of t.entries()){if(!e.has(n))e.set(n,new Map);const t=e.get(n);for(const[e,n]of r.entries()){if(!t.has(e))t.set(e,n)}}}function subtractSystemMaps(e,t){for(const[n,r]of t.entries()){const t=e.get(n);if(!t)continue;for(const e of r.keys()){t.delete(e)}}}function buildExpansionFromSystemMap(e){const t=[];for(const[n,r]of e.entries()){for(const[e,i]of r.entries()){t.push({system:n,code:e,display:i})}}return{contains:t,total:t.length}}var h=__nccwpck_require__(928);var p=__nccwpck_require__.n(h);var d=__nccwpck_require__(136);var m=__nccwpck_require__.n(d);var x=e=>{var t={};__nccwpck_require__.d(t,e);return t};var y=e=>()=>e;const w=x({["FhirPackageExplore