@spawnite/engine 0.1.0-beta.15
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.
- package/LICENSE.md +169 -0
- package/README.md +92 -0
- package/dist/-MLBVTaO.js +1 -0
- package/dist/28wIPE7L.js +1 -0
- package/dist/3rj0AvB6.js +1 -0
- package/dist/5L-NcwKR.js +1 -0
- package/dist/B-qLcgSf.js +1 -0
- package/dist/B0WN1jqX.js +41 -0
- package/dist/B1OUgdbN.js +1 -0
- package/dist/BEL83Bb6.js +1 -0
- package/dist/BGDOC3Q-.js +1 -0
- package/dist/BGM1SnEr.js +1 -0
- package/dist/BH6Ftfg9.js +1 -0
- package/dist/BJIJuxaE.js +1 -0
- package/dist/BJclgjKG.js +1 -0
- package/dist/BKc2k2s6.js +1 -0
- package/dist/BLB4-b4b.js +2 -0
- package/dist/BQnBIIt8.js +1 -0
- package/dist/BR3nbYwS.js +7 -0
- package/dist/BV9hGHeu.js +623 -0
- package/dist/BWOKsReG.js +1 -0
- package/dist/BWlq9jqw.js +1 -0
- package/dist/BXmxKBbF.js +3 -0
- package/dist/BYXhtwWy.js +1 -0
- package/dist/B_HFa2lJ.js +1 -0
- package/dist/BciVglt5.js +1 -0
- package/dist/Bfg1Y9_2.js +1 -0
- package/dist/Bh-CVkQx.js +1 -0
- package/dist/BiH9xCBB.js +1 -0
- package/dist/BobsCMiL.js +9 -0
- package/dist/Bp238wbZ.js +1 -0
- package/dist/Bpe0g5hX.js +1 -0
- package/dist/BrfUaL46.js +2 -0
- package/dist/Bw06YsIc.js +1 -0
- package/dist/Bydoy8wO.js +1 -0
- package/dist/BzaiZux2.js +1 -0
- package/dist/C25qqozO.js +1 -0
- package/dist/C6Ja5Z7G.js +1 -0
- package/dist/CCh4CnV9.js +1 -0
- package/dist/CEuuijY1.js +1 -0
- package/dist/CHntUxHl.js +1 -0
- package/dist/CIq9KviM.js +1 -0
- package/dist/CQPA3y5T.js +1 -0
- package/dist/CRfoqBKG.js +1 -0
- package/dist/CSXcU95U.js +1 -0
- package/dist/CU0epHFG.js +3 -0
- package/dist/CVgRrBP4.js +1 -0
- package/dist/CZV99t6a.js +7 -0
- package/dist/Cg33N9Ej.js +1 -0
- package/dist/Chcm92bZ.js +1 -0
- package/dist/CjiCdqiE.js +2 -0
- package/dist/Cp5beIll.js +1 -0
- package/dist/Cq6VqPHb.js +2 -0
- package/dist/CwZDkslT.js +1 -0
- package/dist/D3Y2LHFe.js +1 -0
- package/dist/D3wyrZ2_.js +1 -0
- package/dist/D8jIS84n.js +1 -0
- package/dist/DCIejHqp.js +1 -0
- package/dist/DHsBnfoU.js +1 -0
- package/dist/DJSpRhXB.js +1 -0
- package/dist/DOeUeeKs.js +1 -0
- package/dist/DR9bHgf0.js +1 -0
- package/dist/DRnuSAbu.js +1 -0
- package/dist/DSb1ApLU.js +1 -0
- package/dist/DXtppcZ7.js +1 -0
- package/dist/DZIhHLUn.js +1 -0
- package/dist/DgMhVbMU.js +1 -0
- package/dist/Dh5kh1nX.js +1 -0
- package/dist/DiGFL8kd.js +1 -0
- package/dist/DkKmurqu.js +1 -0
- package/dist/DlkDsMQd.js +1 -0
- package/dist/DnNEzpz-.js +1 -0
- package/dist/Dqx9hHBK.js +1 -0
- package/dist/DsgWLyZo.js +1 -0
- package/dist/DucRBEvN.js +1 -0
- package/dist/Dwcms3jX.js +1 -0
- package/dist/Dwfie-ev.js +1 -0
- package/dist/DyHjwN2H.js +1 -0
- package/dist/SMby3e6M.js +4 -0
- package/dist/THIRD-PARTY-NOTICES +329 -0
- package/dist/UJDr3Nrd.js +1 -0
- package/dist/V70ADx0g.js +2 -0
- package/dist/abilities.d.ts +1 -0
- package/dist/abilities.js +1 -0
- package/dist/core.d.ts +1 -0
- package/dist/core.js +1 -0
- package/dist/devtools.d.ts +1 -0
- package/dist/devtools.js +1 -0
- package/dist/dragAndDrop.d.ts +1 -0
- package/dist/dragAndDrop.js +1 -0
- package/dist/eYC1fQo5.js +1 -0
- package/dist/eslint.js +1 -0
- package/dist/hQBGE7c4.js +1 -0
- package/dist/index.d.ts +1 -0
- package/dist/index.js +297 -0
- package/dist/internal/cli.js +1 -0
- package/dist/internal/devServer.js +2 -0
- package/dist/internal/devtools.js +1 -0
- package/dist/internal/room.js +1 -0
- package/dist/inventory.d.ts +1 -0
- package/dist/inventory.js +1 -0
- package/dist/jMKXPXIH.js +33 -0
- package/dist/looks/dusk.d.ts +1 -0
- package/dist/looks/dusk.js +1 -0
- package/dist/looks/morning.d.ts +1 -0
- package/dist/looks/morning.js +1 -0
- package/dist/looks/night.d.ts +1 -0
- package/dist/looks/night.js +1 -0
- package/dist/looks/noon.d.ts +1 -0
- package/dist/looks/noon.js +1 -0
- package/dist/looks/overcast.d.ts +1 -0
- package/dist/looks/overcast.js +1 -0
- package/dist/npcs.d.ts +1 -0
- package/dist/npcs.js +1 -0
- package/dist/public.d.ts +18818 -0
- package/dist/replay.d.ts +1 -0
- package/dist/replay.js +1 -0
- package/dist/testing.d.ts +542 -0
- package/dist/testing.js +1 -0
- package/dist/three.d.ts +1 -0
- package/dist/three.js +1 -0
- package/dist/tracks.d.ts +1 -0
- package/dist/tracks.js +1 -0
- package/dist/vite.d.ts +123 -0
- package/dist/vite.js +1 -0
- package/dist/weapons.d.ts +1 -0
- package/dist/weapons.js +1 -0
- package/dist/wiki/engine/ai/metadata.md +143 -0
- package/dist/wiki/engine/audio/sound.md +72 -0
- package/dist/wiki/engine/audio/voice.md +153 -0
- package/dist/wiki/engine/behaviours/abilities.md +328 -0
- package/dist/wiki/engine/behaviours/bob.md +37 -0
- package/dist/wiki/engine/behaviours/chase.md +158 -0
- package/dist/wiki/engine/behaviours/cooldowns.md +83 -0
- package/dist/wiki/engine/behaviours/dialog.md +172 -0
- package/dist/wiki/engine/behaviours/health.md +330 -0
- package/dist/wiki/engine/behaviours/interact.md +41 -0
- package/dist/wiki/engine/behaviours/inventory.md +266 -0
- package/dist/wiki/engine/behaviours/loot.md +90 -0
- package/dist/wiki/engine/behaviours/pickup.md +149 -0
- package/dist/wiki/engine/behaviours/resources.md +274 -0
- package/dist/wiki/engine/behaviours/routines.md +99 -0
- package/dist/wiki/engine/behaviours/spin.md +36 -0
- package/dist/wiki/engine/behaviours/stats.md +220 -0
- package/dist/wiki/engine/behaviours/targeting.md +155 -0
- package/dist/wiki/engine/behaviours/track-mover.md +121 -0
- package/dist/wiki/engine/behaviours/track-trigger.md +117 -0
- package/dist/wiki/engine/behaviours/trigger.md +158 -0
- package/dist/wiki/engine/behaviours/weapon.md +462 -0
- package/dist/wiki/engine/entities/camera.md +326 -0
- package/dist/wiki/engine/entities/entity.mdx +1063 -0
- package/dist/wiki/engine/entities/npc.md +64 -0
- package/dist/wiki/engine/entities/player.md +435 -0
- package/dist/wiki/engine/errors/SP0001.md +20 -0
- package/dist/wiki/engine/errors/SP0002.md +20 -0
- package/dist/wiki/engine/errors/SP0003.md +20 -0
- package/dist/wiki/engine/errors/SP0008.md +20 -0
- package/dist/wiki/engine/errors/SP0009.md +20 -0
- package/dist/wiki/engine/errors/SP0010.md +20 -0
- package/dist/wiki/engine/errors/SP0011.md +20 -0
- package/dist/wiki/engine/errors/SP0014.md +20 -0
- package/dist/wiki/engine/errors/SP0015.md +20 -0
- package/dist/wiki/engine/errors/SP0016.md +20 -0
- package/dist/wiki/engine/errors/SP0017.md +20 -0
- package/dist/wiki/engine/errors/SP0018.md +20 -0
- package/dist/wiki/engine/errors/SP0019.md +20 -0
- package/dist/wiki/engine/errors/SP0020.md +20 -0
- package/dist/wiki/engine/errors/SP0021.md +20 -0
- package/dist/wiki/engine/errors/SP0022.md +20 -0
- package/dist/wiki/engine/errors/SP0023.md +20 -0
- package/dist/wiki/engine/errors/SP0024.md +20 -0
- package/dist/wiki/engine/errors/SP0025.md +20 -0
- package/dist/wiki/engine/errors/SP0026.md +22 -0
- package/dist/wiki/engine/errors/SP0027.md +20 -0
- package/dist/wiki/engine/errors/SP0028.md +20 -0
- package/dist/wiki/engine/errors/SP0029.md +20 -0
- package/dist/wiki/engine/errors/SP0030.md +20 -0
- package/dist/wiki/engine/errors/SP0031.md +20 -0
- package/dist/wiki/engine/errors/SP0034.md +20 -0
- package/dist/wiki/engine/errors/SP0035.md +20 -0
- package/dist/wiki/engine/errors/SP0036.md +20 -0
- package/dist/wiki/engine/errors/SP0037.md +20 -0
- package/dist/wiki/engine/errors/SP0038.md +20 -0
- package/dist/wiki/engine/errors/SP0039.md +20 -0
- package/dist/wiki/engine/errors/SP0040.md +20 -0
- package/dist/wiki/engine/errors/SP0041.md +20 -0
- package/dist/wiki/engine/errors/SP0042.md +20 -0
- package/dist/wiki/engine/errors/SP0043.md +20 -0
- package/dist/wiki/engine/errors/SP0045.md +20 -0
- package/dist/wiki/engine/errors/SP0046.md +20 -0
- package/dist/wiki/engine/errors/SP0047.md +20 -0
- package/dist/wiki/engine/errors/SP0048.md +20 -0
- package/dist/wiki/engine/errors/SP0049.md +20 -0
- package/dist/wiki/engine/errors/SP0050.md +20 -0
- package/dist/wiki/engine/errors/SP0051.md +20 -0
- package/dist/wiki/engine/errors/SP0052.md +20 -0
- package/dist/wiki/engine/errors/SP0053.md +20 -0
- package/dist/wiki/engine/errors/SP0054.md +20 -0
- package/dist/wiki/engine/errors/SP0055.md +20 -0
- package/dist/wiki/engine/errors/SP0056.md +20 -0
- package/dist/wiki/engine/errors/SP0057.md +20 -0
- package/dist/wiki/engine/errors/SP0058.md +20 -0
- package/dist/wiki/engine/errors/SP0059.md +20 -0
- package/dist/wiki/engine/errors/SP0060.md +20 -0
- package/dist/wiki/engine/errors/SP0061.md +20 -0
- package/dist/wiki/engine/errors/SP0064.md +20 -0
- package/dist/wiki/engine/errors/SP0065.md +20 -0
- package/dist/wiki/engine/errors/SP0066.md +20 -0
- package/dist/wiki/engine/errors/SP0067.md +20 -0
- package/dist/wiki/engine/errors/SP0070.md +20 -0
- package/dist/wiki/engine/errors/SP0071.md +20 -0
- package/dist/wiki/engine/errors/SP0072.md +20 -0
- package/dist/wiki/engine/errors/SP0073.md +20 -0
- package/dist/wiki/engine/errors/SP0074.md +20 -0
- package/dist/wiki/engine/errors/SP0075.md +20 -0
- package/dist/wiki/engine/errors/SP0076.md +20 -0
- package/dist/wiki/engine/errors/SP0077.md +20 -0
- package/dist/wiki/engine/errors/SP0078.md +20 -0
- package/dist/wiki/engine/errors/SP0079.md +20 -0
- package/dist/wiki/engine/errors/SP0080.md +20 -0
- package/dist/wiki/engine/errors/SP0081.md +20 -0
- package/dist/wiki/engine/errors/SP0082.md +20 -0
- package/dist/wiki/engine/errors/SP0083.md +20 -0
- package/dist/wiki/engine/errors/SP0084.md +20 -0
- package/dist/wiki/engine/errors/SP0085.md +20 -0
- package/dist/wiki/engine/errors/SP0086.md +20 -0
- package/dist/wiki/engine/errors/SP0087.md +20 -0
- package/dist/wiki/engine/errors/SP0089.md +20 -0
- package/dist/wiki/engine/errors/SP0090.md +20 -0
- package/dist/wiki/engine/errors/SP0091.md +20 -0
- package/dist/wiki/engine/errors/SP0092.md +20 -0
- package/dist/wiki/engine/errors/SP0093.md +20 -0
- package/dist/wiki/engine/errors/SP0094.md +20 -0
- package/dist/wiki/engine/errors/SP0095.md +20 -0
- package/dist/wiki/engine/errors/SP0096.md +20 -0
- package/dist/wiki/engine/errors/SP0097.md +20 -0
- package/dist/wiki/engine/errors/SP0098.md +20 -0
- package/dist/wiki/engine/errors/SP0099.md +20 -0
- package/dist/wiki/engine/errors/SP0100.md +20 -0
- package/dist/wiki/engine/errors/SP0101.md +20 -0
- package/dist/wiki/engine/errors/SP0102.md +20 -0
- package/dist/wiki/engine/errors/SP0103.md +20 -0
- package/dist/wiki/engine/errors/SP0104.md +20 -0
- package/dist/wiki/engine/errors/SP0105.md +20 -0
- package/dist/wiki/engine/errors/SP0106.md +20 -0
- package/dist/wiki/engine/errors/SP0107.md +20 -0
- package/dist/wiki/engine/errors/SP0108.md +20 -0
- package/dist/wiki/engine/errors/SP0109.md +20 -0
- package/dist/wiki/engine/errors/SP0110.md +20 -0
- package/dist/wiki/engine/errors/SP0111.md +20 -0
- package/dist/wiki/engine/errors/SP0112.md +20 -0
- package/dist/wiki/engine/errors/SP0113.md +20 -0
- package/dist/wiki/engine/errors/SP0114.md +20 -0
- package/dist/wiki/engine/errors/SP0115.md +20 -0
- package/dist/wiki/engine/errors/SP0116.md +20 -0
- package/dist/wiki/engine/errors/SP0117.md +20 -0
- package/dist/wiki/engine/errors/SP0118.md +20 -0
- package/dist/wiki/engine/errors/SP0119.md +20 -0
- package/dist/wiki/engine/errors/SP0120.md +20 -0
- package/dist/wiki/engine/errors/SP0121.md +20 -0
- package/dist/wiki/engine/errors/SP0122.md +20 -0
- package/dist/wiki/engine/errors/SP0125.md +20 -0
- package/dist/wiki/engine/errors/SP0126.md +20 -0
- package/dist/wiki/engine/errors/SP0132.md +20 -0
- package/dist/wiki/engine/errors/SP0133.md +20 -0
- package/dist/wiki/engine/errors/SP0134.md +20 -0
- package/dist/wiki/engine/errors/SP0137.md +20 -0
- package/dist/wiki/engine/errors/SP0138.md +20 -0
- package/dist/wiki/engine/errors/SP0139.md +20 -0
- package/dist/wiki/engine/errors/SP0143.md +20 -0
- package/dist/wiki/engine/errors/SP0145.md +20 -0
- package/dist/wiki/engine/errors/SP0146.md +20 -0
- package/dist/wiki/engine/errors/SP0147.md +20 -0
- package/dist/wiki/engine/errors/SP0148.md +20 -0
- package/dist/wiki/engine/errors/SP0149.md +20 -0
- package/dist/wiki/engine/errors/SP0150.md +20 -0
- package/dist/wiki/engine/errors/SP0151.md +20 -0
- package/dist/wiki/engine/errors/SP0152.md +20 -0
- package/dist/wiki/engine/errors/SP0154.md +20 -0
- package/dist/wiki/engine/errors/SP0157.md +20 -0
- package/dist/wiki/engine/errors/SP0158.md +20 -0
- package/dist/wiki/engine/errors/SP0159.md +20 -0
- package/dist/wiki/engine/errors/SP0160.md +20 -0
- package/dist/wiki/engine/errors/SP0161.md +20 -0
- package/dist/wiki/engine/errors/SP0162.md +20 -0
- package/dist/wiki/engine/errors/SP0163.md +20 -0
- package/dist/wiki/engine/errors/SP0164.md +20 -0
- package/dist/wiki/engine/errors/SP0165.md +20 -0
- package/dist/wiki/engine/errors/SP0166.md +20 -0
- package/dist/wiki/engine/errors/SP0167.md +20 -0
- package/dist/wiki/engine/errors/SP0169.md +20 -0
- package/dist/wiki/engine/errors/SP0175.md +20 -0
- package/dist/wiki/engine/errors/SP0176.md +20 -0
- package/dist/wiki/engine/errors/SP0177.md +20 -0
- package/dist/wiki/engine/errors/SP0178.md +20 -0
- package/dist/wiki/engine/errors/SP0179.md +20 -0
- package/dist/wiki/engine/errors/SP0180.md +20 -0
- package/dist/wiki/engine/errors/SP0181.md +20 -0
- package/dist/wiki/engine/errors/SP0182.md +20 -0
- package/dist/wiki/engine/errors/SP0183.md +20 -0
- package/dist/wiki/engine/errors/SP0184.md +20 -0
- package/dist/wiki/engine/errors/SP0185.md +20 -0
- package/dist/wiki/engine/errors/SP0186.md +20 -0
- package/dist/wiki/engine/errors/SP0187.md +20 -0
- package/dist/wiki/engine/errors/SP0188.md +20 -0
- package/dist/wiki/engine/errors/SP0189.md +20 -0
- package/dist/wiki/engine/errors/SP0190.md +20 -0
- package/dist/wiki/engine/errors/SP0191.md +20 -0
- package/dist/wiki/engine/errors/SP0192.md +20 -0
- package/dist/wiki/engine/errors/SP0193.md +20 -0
- package/dist/wiki/engine/errors/SP0194.md +20 -0
- package/dist/wiki/engine/errors/SP0195.md +20 -0
- package/dist/wiki/engine/errors/SP0196.md +20 -0
- package/dist/wiki/engine/errors/SP0197.md +20 -0
- package/dist/wiki/engine/errors/SP0198.md +20 -0
- package/dist/wiki/engine/errors/SP0199.md +20 -0
- package/dist/wiki/engine/errors/SP0200.md +20 -0
- package/dist/wiki/engine/errors/SP0202.md +20 -0
- package/dist/wiki/engine/errors/SP0203.md +20 -0
- package/dist/wiki/engine/errors/SP0204.md +20 -0
- package/dist/wiki/engine/errors/SP0205.md +20 -0
- package/dist/wiki/engine/errors/SP0206.md +20 -0
- package/dist/wiki/engine/errors/SP0207.md +20 -0
- package/dist/wiki/engine/errors/SP0208.md +20 -0
- package/dist/wiki/engine/errors/SP0210.md +20 -0
- package/dist/wiki/engine/errors/SP0211.md +20 -0
- package/dist/wiki/engine/errors/SP0212.md +20 -0
- package/dist/wiki/engine/errors/SP0213.md +20 -0
- package/dist/wiki/engine/errors/SP0214.md +20 -0
- package/dist/wiki/engine/errors/SP0215.md +20 -0
- package/dist/wiki/engine/errors/SP0216.md +20 -0
- package/dist/wiki/engine/errors/SP0219.md +20 -0
- package/dist/wiki/engine/errors/SP0220.md +20 -0
- package/dist/wiki/engine/errors/SP0221.md +20 -0
- package/dist/wiki/engine/errors/SP0225.md +20 -0
- package/dist/wiki/engine/errors/SP0228.md +20 -0
- package/dist/wiki/engine/errors/SP0229.md +20 -0
- package/dist/wiki/engine/errors/SP0230.md +20 -0
- package/dist/wiki/engine/errors/SP0231.md +20 -0
- package/dist/wiki/engine/errors/SP0232.md +20 -0
- package/dist/wiki/engine/errors/SP0233.md +20 -0
- package/dist/wiki/engine/errors/SP0234.md +20 -0
- package/dist/wiki/engine/errors/SP0235.md +20 -0
- package/dist/wiki/engine/errors/SP0236.md +20 -0
- package/dist/wiki/engine/errors/SP0237.md +20 -0
- package/dist/wiki/engine/errors/SP0238.md +20 -0
- package/dist/wiki/engine/errors/SP0239.md +20 -0
- package/dist/wiki/engine/errors/SP0240.md +20 -0
- package/dist/wiki/engine/errors/SP0241.md +20 -0
- package/dist/wiki/engine/errors/SP0242.md +20 -0
- package/dist/wiki/engine/errors/SP0243.md +20 -0
- package/dist/wiki/engine/errors/SP0244.md +20 -0
- package/dist/wiki/engine/errors/SP0245.md +20 -0
- package/dist/wiki/engine/errors/SP0247.md +20 -0
- package/dist/wiki/engine/errors/SP0249.md +20 -0
- package/dist/wiki/engine/errors/SP0250.md +20 -0
- package/dist/wiki/engine/errors/SP0251.md +20 -0
- package/dist/wiki/engine/errors/SP0252.md +20 -0
- package/dist/wiki/engine/errors/SP0253.md +20 -0
- package/dist/wiki/engine/errors/SP0254.md +20 -0
- package/dist/wiki/engine/errors/SP0255.md +20 -0
- package/dist/wiki/engine/errors/SP0256.md +20 -0
- package/dist/wiki/engine/errors/SP0257.md +20 -0
- package/dist/wiki/engine/errors/SP0258.md +20 -0
- package/dist/wiki/engine/errors/SP0259.md +20 -0
- package/dist/wiki/engine/errors/SP0260.md +20 -0
- package/dist/wiki/engine/errors/SP0270.md +20 -0
- package/dist/wiki/engine/errors/SP0271.md +20 -0
- package/dist/wiki/engine/errors/SP0272.md +20 -0
- package/dist/wiki/engine/errors/SP0273.md +20 -0
- package/dist/wiki/engine/errors/SP0274.md +20 -0
- package/dist/wiki/engine/errors/SP0275.md +20 -0
- package/dist/wiki/engine/errors/SP0276.md +20 -0
- package/dist/wiki/engine/errors/SP0277.md +20 -0
- package/dist/wiki/engine/errors/SP0278.md +20 -0
- package/dist/wiki/engine/errors/SP0279.md +20 -0
- package/dist/wiki/engine/errors/SP0280.md +20 -0
- package/dist/wiki/engine/errors/SP0281.md +20 -0
- package/dist/wiki/engine/errors/SP0282.md +20 -0
- package/dist/wiki/engine/errors/SP0283.md +20 -0
- package/dist/wiki/engine/errors/SP0284.md +20 -0
- package/dist/wiki/engine/errors/SP0285.md +20 -0
- package/dist/wiki/engine/errors/SP0286.md +20 -0
- package/dist/wiki/engine/errors/SP0287.md +20 -0
- package/dist/wiki/engine/errors/SP0288.md +20 -0
- package/dist/wiki/engine/errors/SP0289.md +20 -0
- package/dist/wiki/engine/errors/SP0290.md +20 -0
- package/dist/wiki/engine/errors/SP0291.md +20 -0
- package/dist/wiki/engine/errors/SP0292.md +20 -0
- package/dist/wiki/engine/errors/SP0293.md +20 -0
- package/dist/wiki/engine/errors/SP0294.md +20 -0
- package/dist/wiki/engine/errors/SP0295.md +20 -0
- package/dist/wiki/engine/errors/SP0296.md +20 -0
- package/dist/wiki/engine/errors/SP0297.md +20 -0
- package/dist/wiki/engine/errors/SP0298.md +20 -0
- package/dist/wiki/engine/errors/SP0299.md +20 -0
- package/dist/wiki/engine/errors/SP0300.md +20 -0
- package/dist/wiki/engine/errors/SP0301.md +20 -0
- package/dist/wiki/engine/errors/SP0302.md +20 -0
- package/dist/wiki/engine/errors/SP0303.md +20 -0
- package/dist/wiki/engine/errors/SP0304.md +20 -0
- package/dist/wiki/engine/errors/SP0305.md +20 -0
- package/dist/wiki/engine/errors/SP0306.md +20 -0
- package/dist/wiki/engine/errors/SP0307.md +20 -0
- package/dist/wiki/engine/errors/SP0308.md +20 -0
- package/dist/wiki/engine/errors/SP0309.md +20 -0
- package/dist/wiki/engine/errors/SP0310.md +20 -0
- package/dist/wiki/engine/errors/SP0311.md +20 -0
- package/dist/wiki/engine/errors/SP0312.md +20 -0
- package/dist/wiki/engine/errors/SP0313.md +20 -0
- package/dist/wiki/engine/errors/SP0314.md +20 -0
- package/dist/wiki/engine/errors/SP0315.md +20 -0
- package/dist/wiki/engine/errors/SP0316.md +20 -0
- package/dist/wiki/engine/errors/SP0317.md +20 -0
- package/dist/wiki/engine/errors/SP0318.md +20 -0
- package/dist/wiki/engine/errors/SP0319.md +20 -0
- package/dist/wiki/engine/errors/SP0320.md +20 -0
- package/dist/wiki/engine/errors/SP0321.md +20 -0
- package/dist/wiki/engine/errors/SP0322.md +20 -0
- package/dist/wiki/engine/errors/SP0323.md +20 -0
- package/dist/wiki/engine/errors/SP0324.md +20 -0
- package/dist/wiki/engine/errors/SP0325.md +20 -0
- package/dist/wiki/engine/errors/SP0326.md +20 -0
- package/dist/wiki/engine/errors/SP0327.md +20 -0
- package/dist/wiki/engine/errors/SP0328.md +20 -0
- package/dist/wiki/engine/errors/SP0329.md +20 -0
- package/dist/wiki/engine/errors/SP0330.md +20 -0
- package/dist/wiki/engine/errors/SP0331.md +20 -0
- package/dist/wiki/engine/errors/SP0332.md +20 -0
- package/dist/wiki/engine/errors/SP0333.md +20 -0
- package/dist/wiki/engine/errors/SP0334.md +20 -0
- package/dist/wiki/engine/errors/SP0335.md +20 -0
- package/dist/wiki/engine/errors/SP0336.md +20 -0
- package/dist/wiki/engine/errors/SP0337.md +20 -0
- package/dist/wiki/engine/errors/SP0338.md +20 -0
- package/dist/wiki/engine/errors/SP0339.md +20 -0
- package/dist/wiki/engine/errors/SP0340.md +20 -0
- package/dist/wiki/engine/errors/SP0341.md +20 -0
- package/dist/wiki/engine/errors/SP0342.md +20 -0
- package/dist/wiki/engine/errors/SP0343.md +20 -0
- package/dist/wiki/engine/errors/SP0344.md +20 -0
- package/dist/wiki/engine/errors/SP0346.md +20 -0
- package/dist/wiki/engine/errors/SP0347.md +20 -0
- package/dist/wiki/engine/errors/SP0348.md +20 -0
- package/dist/wiki/engine/errors/SP0349.md +20 -0
- package/dist/wiki/engine/errors/SP0350.md +20 -0
- package/dist/wiki/engine/errors/SP0351.md +20 -0
- package/dist/wiki/engine/errors/SP0352.md +20 -0
- package/dist/wiki/engine/errors/SP0353.md +20 -0
- package/dist/wiki/engine/errors/SP0354.md +20 -0
- package/dist/wiki/engine/errors/SP0355.md +20 -0
- package/dist/wiki/engine/errors/SP0356.md +20 -0
- package/dist/wiki/engine/errors/SP0357.md +20 -0
- package/dist/wiki/engine/errors/SP0358.md +20 -0
- package/dist/wiki/engine/errors/SP0359.md +20 -0
- package/dist/wiki/engine/errors/SP0360.md +20 -0
- package/dist/wiki/engine/errors/SP0361.md +20 -0
- package/dist/wiki/engine/errors/SP0362.md +20 -0
- package/dist/wiki/engine/errors/SP0363.md +20 -0
- package/dist/wiki/engine/errors/SP0364.md +20 -0
- package/dist/wiki/engine/errors/SP0365.md +20 -0
- package/dist/wiki/engine/errors/SP0366.md +20 -0
- package/dist/wiki/engine/errors/SP0367.md +20 -0
- package/dist/wiki/engine/errors/SP0368.md +20 -0
- package/dist/wiki/engine/errors/SP0369.md +20 -0
- package/dist/wiki/engine/errors/SP0370.md +20 -0
- package/dist/wiki/engine/errors/SP0371.md +20 -0
- package/dist/wiki/engine/errors/SP0372.md +20 -0
- package/dist/wiki/engine/errors/SP0373.md +20 -0
- package/dist/wiki/engine/errors/SP0374.md +20 -0
- package/dist/wiki/engine/errors/SP0375.md +20 -0
- package/dist/wiki/engine/errors/SP0376.md +20 -0
- package/dist/wiki/engine/errors/SP0377.md +20 -0
- package/dist/wiki/engine/errors/SP0378.md +20 -0
- package/dist/wiki/engine/errors/SP0379.md +20 -0
- package/dist/wiki/engine/errors/SP0380.md +20 -0
- package/dist/wiki/engine/errors/SP0381.md +20 -0
- package/dist/wiki/engine/errors/SP0382.md +20 -0
- package/dist/wiki/engine/errors/SP0383.md +20 -0
- package/dist/wiki/engine/errors/SP0384.md +20 -0
- package/dist/wiki/engine/errors/SP0385.md +20 -0
- package/dist/wiki/engine/errors/SP0386.md +20 -0
- package/dist/wiki/engine/errors/SP0387.md +21 -0
- package/dist/wiki/engine/errors/SP0388.md +20 -0
- package/dist/wiki/engine/errors/SP0389.md +20 -0
- package/dist/wiki/engine/errors/SP0390.md +20 -0
- package/dist/wiki/engine/errors/SP0391.md +20 -0
- package/dist/wiki/engine/errors/SP0392.md +20 -0
- package/dist/wiki/engine/errors/SP0393.md +20 -0
- package/dist/wiki/engine/errors/SP0394.md +20 -0
- package/dist/wiki/engine/errors/SP0395.md +20 -0
- package/dist/wiki/engine/errors/SP0396.md +20 -0
- package/dist/wiki/engine/errors/SP0397.md +20 -0
- package/dist/wiki/engine/errors/SP0398.md +20 -0
- package/dist/wiki/engine/errors/SP0399.md +20 -0
- package/dist/wiki/engine/errors/SP0400.md +20 -0
- package/dist/wiki/engine/errors/SP0401.md +20 -0
- package/dist/wiki/engine/errors/SP0402.md +20 -0
- package/dist/wiki/engine/errors/SP0403.md +20 -0
- package/dist/wiki/engine/errors/SP0404.md +20 -0
- package/dist/wiki/engine/errors/SP0405.md +20 -0
- package/dist/wiki/engine/errors/SP0406.md +20 -0
- package/dist/wiki/engine/errors/SP0407.md +20 -0
- package/dist/wiki/engine/errors/SP0408.md +20 -0
- package/dist/wiki/engine/errors/SP0409.md +20 -0
- package/dist/wiki/engine/errors/SP0410.md +20 -0
- package/dist/wiki/engine/errors/SP0411.md +20 -0
- package/dist/wiki/engine/errors/SP0412.md +20 -0
- package/dist/wiki/engine/errors/SP0413.md +20 -0
- package/dist/wiki/engine/errors/SP0414.md +20 -0
- package/dist/wiki/engine/errors/SP0415.md +20 -0
- package/dist/wiki/engine/errors/SP0416.md +20 -0
- package/dist/wiki/engine/errors/SP0417.md +20 -0
- package/dist/wiki/engine/errors/SP0418.md +20 -0
- package/dist/wiki/engine/errors/SP0419.md +20 -0
- package/dist/wiki/engine/errors/SP0420.md +20 -0
- package/dist/wiki/engine/errors/SP0421.md +20 -0
- package/dist/wiki/engine/errors/SP0422.md +20 -0
- package/dist/wiki/engine/errors/SP0423.md +20 -0
- package/dist/wiki/engine/errors/SP0427.md +20 -0
- package/dist/wiki/engine/errors/SP0428.md +20 -0
- package/dist/wiki/engine/errors/SP0429.md +20 -0
- package/dist/wiki/engine/errors/SP0430.md +20 -0
- package/dist/wiki/engine/errors/SP0431.md +20 -0
- package/dist/wiki/engine/errors/SP0432.md +20 -0
- package/dist/wiki/engine/errors/SP0433.md +20 -0
- package/dist/wiki/engine/errors/SP0434.md +20 -0
- package/dist/wiki/engine/errors/SP0435.md +20 -0
- package/dist/wiki/engine/errors/SP0436.md +20 -0
- package/dist/wiki/engine/errors/SP0437.md +20 -0
- package/dist/wiki/engine/errors/SP0438.md +20 -0
- package/dist/wiki/engine/errors/SP0439.md +20 -0
- package/dist/wiki/engine/errors/SP0440.md +20 -0
- package/dist/wiki/engine/errors/SP0442.md +20 -0
- package/dist/wiki/engine/errors/SP0443.md +20 -0
- package/dist/wiki/engine/errors/SP0444.md +20 -0
- package/dist/wiki/engine/errors/SP0445.md +20 -0
- package/dist/wiki/engine/errors/SP0446.md +20 -0
- package/dist/wiki/engine/errors/SP0447.md +20 -0
- package/dist/wiki/engine/errors/SP0448.md +20 -0
- package/dist/wiki/engine/errors/SP0449.md +20 -0
- package/dist/wiki/engine/errors/SP0450.md +20 -0
- package/dist/wiki/engine/errors/SP0451.md +20 -0
- package/dist/wiki/engine/errors/SP0452.md +20 -0
- package/dist/wiki/engine/errors/SP0453.md +20 -0
- package/dist/wiki/engine/errors/SP0454.md +20 -0
- package/dist/wiki/engine/errors/SP0455.md +20 -0
- package/dist/wiki/engine/errors/SP0456.md +20 -0
- package/dist/wiki/engine/errors/SP0457.md +20 -0
- package/dist/wiki/engine/errors/SP0458.md +20 -0
- package/dist/wiki/engine/errors/SP0459.md +20 -0
- package/dist/wiki/engine/errors/SP0460.md +20 -0
- package/dist/wiki/engine/errors/SP0461.md +20 -0
- package/dist/wiki/engine/errors/SP0462.md +20 -0
- package/dist/wiki/engine/errors/SP0463.md +20 -0
- package/dist/wiki/engine/errors/SP0464.md +20 -0
- package/dist/wiki/engine/errors/SP0465.md +20 -0
- package/dist/wiki/engine/errors/SP0466.md +20 -0
- package/dist/wiki/engine/errors/SP0467.md +20 -0
- package/dist/wiki/engine/errors/SP0468.md +20 -0
- package/dist/wiki/engine/errors/SP0469.md +20 -0
- package/dist/wiki/engine/errors/SP0470.md +20 -0
- package/dist/wiki/engine/errors/SP0471.md +20 -0
- package/dist/wiki/engine/errors/SP0472.md +20 -0
- package/dist/wiki/engine/errors/SP0473.md +20 -0
- package/dist/wiki/engine/errors/SP0474.md +20 -0
- package/dist/wiki/engine/errors/SP0475.md +20 -0
- package/dist/wiki/engine/errors/SP0476.md +20 -0
- package/dist/wiki/engine/errors/SP0477.md +20 -0
- package/dist/wiki/engine/errors/SP0478.md +20 -0
- package/dist/wiki/engine/errors/SP0479.md +20 -0
- package/dist/wiki/engine/errors/SP0480.md +20 -0
- package/dist/wiki/engine/errors/SP0481.md +20 -0
- package/dist/wiki/engine/errors/SP0482.md +20 -0
- package/dist/wiki/engine/errors/SP0483.md +20 -0
- package/dist/wiki/engine/errors/SP0484.md +20 -0
- package/dist/wiki/engine/errors/SP0497.md +20 -0
- package/dist/wiki/engine/errors/SP0498.md +20 -0
- package/dist/wiki/engine/errors/SP0500.md +20 -0
- package/dist/wiki/engine/errors/SP0501.md +20 -0
- package/dist/wiki/engine/errors/SP0502.md +20 -0
- package/dist/wiki/engine/errors/SP0503.md +20 -0
- package/dist/wiki/engine/errors/SP0504.md +20 -0
- package/dist/wiki/engine/errors/SP0505.md +20 -0
- package/dist/wiki/engine/errors/SP0506.md +20 -0
- package/dist/wiki/engine/errors/SP0507.md +20 -0
- package/dist/wiki/engine/errors/SP0508.md +20 -0
- package/dist/wiki/engine/errors/SP0509.md +20 -0
- package/dist/wiki/engine/errors/SP0510.md +20 -0
- package/dist/wiki/engine/errors/SP0511.md +20 -0
- package/dist/wiki/engine/errors/SP0512.md +20 -0
- package/dist/wiki/engine/errors/SP0513.md +20 -0
- package/dist/wiki/engine/errors/SP0514.md +20 -0
- package/dist/wiki/engine/errors/SP0515.md +20 -0
- package/dist/wiki/engine/errors/SP0516.md +20 -0
- package/dist/wiki/engine/errors/SP0517.md +20 -0
- package/dist/wiki/engine/errors/SP0518.md +20 -0
- package/dist/wiki/engine/errors/SP0519.md +20 -0
- package/dist/wiki/engine/errors/SP0520.md +20 -0
- package/dist/wiki/engine/errors/SP0521.md +20 -0
- package/dist/wiki/engine/errors/SP0522.md +20 -0
- package/dist/wiki/engine/errors/SP0523.md +20 -0
- package/dist/wiki/engine/errors/SP0524.md +20 -0
- package/dist/wiki/engine/errors/SP0525.md +20 -0
- package/dist/wiki/engine/errors/SP0526.md +20 -0
- package/dist/wiki/engine/errors/SP0527.md +20 -0
- package/dist/wiki/engine/errors/SP0528.md +20 -0
- package/dist/wiki/engine/errors/SP0529.md +20 -0
- package/dist/wiki/engine/errors/SP0530.md +20 -0
- package/dist/wiki/engine/errors/SP0531.md +20 -0
- package/dist/wiki/engine/errors/SP0532.md +20 -0
- package/dist/wiki/engine/errors/SP0533.md +20 -0
- package/dist/wiki/engine/errors/SP0534.md +20 -0
- package/dist/wiki/engine/errors/SP0535.md +20 -0
- package/dist/wiki/engine/errors/SP0536.md +20 -0
- package/dist/wiki/engine/errors/SP0537.md +20 -0
- package/dist/wiki/engine/errors/SP0538.md +20 -0
- package/dist/wiki/engine/errors/SP0539.md +20 -0
- package/dist/wiki/engine/errors/SP0540.md +20 -0
- package/dist/wiki/engine/errors/SP0541.md +20 -0
- package/dist/wiki/engine/errors/SP0542.md +20 -0
- package/dist/wiki/engine/errors/SP0543.md +20 -0
- package/dist/wiki/engine/errors/SP0545.md +20 -0
- package/dist/wiki/engine/errors/SP0546.md +20 -0
- package/dist/wiki/engine/errors/SP0547.md +20 -0
- package/dist/wiki/engine/errors/SP0548.md +20 -0
- package/dist/wiki/engine/errors/SP0549.md +20 -0
- package/dist/wiki/engine/errors/SP0550.md +20 -0
- package/dist/wiki/engine/errors/SP0551.md +20 -0
- package/dist/wiki/engine/errors/SP0552.md +20 -0
- package/dist/wiki/engine/errors/SP0553.md +20 -0
- package/dist/wiki/engine/errors/SP0554.md +20 -0
- package/dist/wiki/engine/errors/SP0555.md +20 -0
- package/dist/wiki/engine/errors/SP0556.md +20 -0
- package/dist/wiki/engine/errors/SP0557.md +20 -0
- package/dist/wiki/engine/errors/SP0558.md +20 -0
- package/dist/wiki/engine/errors/SP0559.md +20 -0
- package/dist/wiki/engine/errors/SP0560.md +20 -0
- package/dist/wiki/engine/errors/SP0561.md +20 -0
- package/dist/wiki/engine/errors/SP0562.md +20 -0
- package/dist/wiki/engine/errors/SP0563.md +20 -0
- package/dist/wiki/engine/errors/SP0564.md +20 -0
- package/dist/wiki/engine/errors/SP0565.md +20 -0
- package/dist/wiki/engine/errors/SP0566.md +20 -0
- package/dist/wiki/engine/errors/SP0567.md +20 -0
- package/dist/wiki/engine/errors/SP0568.md +20 -0
- package/dist/wiki/engine/errors/SP0569.md +20 -0
- package/dist/wiki/engine/errors/SP0570.md +20 -0
- package/dist/wiki/engine/errors/index.md +504 -0
- package/dist/wiki/engine/graphics/crt-material.md +64 -0
- package/dist/wiki/engine/graphics/energy-orb-material.md +52 -0
- package/dist/wiki/engine/graphics/instanced-model.md +89 -0
- package/dist/wiki/engine/graphics/looks.md +196 -0
- package/dist/wiki/engine/graphics/particles.md +185 -0
- package/dist/wiki/engine/graphics/portal-material.md +49 -0
- package/dist/wiki/engine/graphics/post-processing.md +130 -0
- package/dist/wiki/engine/graphics/renderer.md +103 -0
- package/dist/wiki/engine/graphics/shader.md +331 -0
- package/dist/wiki/engine/graphics/skinned-batch.md +115 -0
- package/dist/wiki/engine/graphics/track-scatter.md +124 -0
- package/dist/wiki/engine/graphics/track-surface.md +107 -0
- package/dist/wiki/engine/graphics/water-material.md +60 -0
- package/dist/wiki/engine/graphics/webgpu.md +87 -0
- package/dist/wiki/engine/structure/game.md +301 -0
- package/dist/wiki/engine/structure/levels.md +239 -0
- package/dist/wiki/engine/structure/plugins.md +423 -0
- package/dist/wiki/engine/structure/round.md +229 -0
- package/dist/wiki/engine/structure/saves.md +251 -0
- package/dist/wiki/engine/structure/scene.md +69 -0
- package/dist/wiki/engine/structure/states.md +202 -0
- package/dist/wiki/engine/structure/systems.md +242 -0
- package/dist/wiki/engine/structure/track-level.md +73 -0
- package/dist/wiki/engine/structure/world.md +371 -0
- package/dist/wiki/engine/testing/agent-state.md +131 -0
- package/dist/wiki/engine/testing/dev-server.md +101 -0
- package/dist/wiki/engine/testing/devtools-wiki.md +80 -0
- package/dist/wiki/engine/testing/devtools.md +143 -0
- package/dist/wiki/engine/testing/directing.md +125 -0
- package/dist/wiki/engine/testing/director.md +285 -0
- package/dist/wiki/engine/testing/editing.md +71 -0
- package/dist/wiki/engine/testing/errors.md +146 -0
- package/dist/wiki/engine/testing/frame.md +175 -0
- package/dist/wiki/engine/testing/headless.md +133 -0
- package/dist/wiki/engine/testing/hitches.md +140 -0
- package/dist/wiki/engine/testing/joins.md +129 -0
- package/dist/wiki/engine/testing/measuring.md +97 -0
- package/dist/wiki/engine/testing/performance.md +48 -0
- package/dist/wiki/engine/testing/processes.md +87 -0
- package/dist/wiki/engine/testing/replay-storage.md +156 -0
- package/dist/wiki/engine/testing/replay.md +230 -0
- package/dist/wiki/engine/testing/runs.md +162 -0
- package/dist/wiki/engine/testing/which-tool.md +155 -0
- package/dist/wiki/engine/ui/action-bar.md +121 -0
- package/dist/wiki/engine/ui/bar.md +54 -0
- package/dist/wiki/engine/ui/billboard.md +64 -0
- package/dist/wiki/engine/ui/button.md +69 -0
- package/dist/wiki/engine/ui/controls.md +131 -0
- package/dist/wiki/engine/ui/counter.md +40 -0
- package/dist/wiki/engine/ui/devtools-panel.md +69 -0
- package/dist/wiki/engine/ui/drag-and-drop.md +134 -0
- package/dist/wiki/engine/ui/floating-text.md +129 -0
- package/dist/wiki/engine/ui/graphics-quality.md +254 -0
- package/dist/wiki/engine/ui/heading.md +43 -0
- package/dist/wiki/engine/ui/hud.md +100 -0
- package/dist/wiki/engine/ui/icon.md +34 -0
- package/dist/wiki/engine/ui/image.md +38 -0
- package/dist/wiki/engine/ui/index.md +59 -0
- package/dist/wiki/engine/ui/joystick.md +32 -0
- package/dist/wiki/engine/ui/modal.md +95 -0
- package/dist/wiki/engine/ui/panel.md +100 -0
- package/dist/wiki/engine/ui/settings.md +303 -0
- package/dist/wiki/engine/ui/tap.md +33 -0
- package/dist/wiki/engine/ui/text.md +56 -0
- package/dist/wiki/engine/ui/theme.md +119 -0
- package/dist/wiki/engine/ui/window.md +68 -0
- package/dist/wmIDrLkF.js +1 -0
- package/dist/yhuZzG90.js +1 -0
- package/dist/z3YXvfLT.js +1 -0
- package/dist-browser/@pixiv/three-vrm/nodes.js +1 -0
- package/dist-browser/@pixiv/three-vrm.js +1 -0
- package/dist-browser/@react-three/drei/exports/-accumulative-shadows.js +1 -0
- package/dist-browser/@react-three/drei/exports/-adaptive-dpr.js +1 -0
- package/dist-browser/@react-three/drei/exports/-adaptive-events.js +1 -0
- package/dist-browser/@react-three/drei/exports/-arcball-controls.js +1 -0
- package/dist-browser/@react-three/drei/exports/-ascii-renderer.js +1 -0
- package/dist-browser/@react-three/drei/exports/-b-b-anchor.js +1 -0
- package/dist-browser/@react-three/drei/exports/-backdrop.js +1 -0
- package/dist-browser/@react-three/drei/exports/-bake-shadows.js +1 -0
- package/dist-browser/@react-three/drei/exports/-billboard.js +1 -0
- package/dist-browser/@react-three/drei/exports/-bounds.js +1 -0
- package/dist-browser/@react-three/drei/exports/-box.js +1 -0
- package/dist-browser/@react-three/drei/exports/-bvh.js +1 -0
- package/dist-browser/@react-three/drei/exports/-camera-controls-impl.js +1 -0
- package/dist-browser/@react-three/drei/exports/-camera-controls.js +1 -0
- package/dist-browser/@react-three/drei/exports/-camera-shake.js +1 -0
- package/dist-browser/@react-three/drei/exports/-capsule.js +1 -0
- package/dist-browser/@react-three/drei/exports/-catmull-rom-line.js +1 -0
- package/dist-browser/@react-three/drei/exports/-caustics.js +1 -0
- package/dist-browser/@react-three/drei/exports/-center.js +1 -0
- package/dist-browser/@react-three/drei/exports/-circle.js +1 -0
- package/dist-browser/@react-three/drei/exports/-clone.js +1 -0
- package/dist-browser/@react-three/drei/exports/-cloud-instance.js +1 -0
- package/dist-browser/@react-three/drei/exports/-cloud.js +1 -0
- package/dist-browser/@react-three/drei/exports/-clouds.js +1 -0
- package/dist-browser/@react-three/drei/exports/-computed-attribute.js +1 -0
- package/dist-browser/@react-three/drei/exports/-cone.js +1 -0
- package/dist-browser/@react-three/drei/exports/-contact-shadows.js +1 -0
- package/dist-browser/@react-three/drei/exports/-cube-camera.js +1 -0
- package/dist-browser/@react-three/drei/exports/-cube-texture.js +1 -0
- package/dist-browser/@react-three/drei/exports/-cubic-bezier-line.js +1 -0
- package/dist-browser/@react-three/drei/exports/-curve-modifier.js +1 -0
- package/dist-browser/@react-three/drei/exports/-cycle-raycast.js +1 -0
- package/dist-browser/@react-three/drei/exports/-cylinder.js +1 -0
- package/dist-browser/@react-three/drei/exports/-decal.js +1 -0
- package/dist-browser/@react-three/drei/exports/-detailed.js +1 -0
- package/dist-browser/@react-three/drei/exports/-detect-g-p-u.js +1 -0
- package/dist-browser/@react-three/drei/exports/-device-orientation-controls.js +1 -0
- package/dist-browser/@react-three/drei/exports/-dodecahedron.js +1 -0
- package/dist-browser/@react-three/drei/exports/-drag-controls.js +1 -0
- package/dist-browser/@react-three/drei/exports/-edges.js +1 -0
- package/dist-browser/@react-three/drei/exports/-effects.js +1 -0
- package/dist-browser/@react-three/drei/exports/-environment-cube.js +1 -0
- package/dist-browser/@react-three/drei/exports/-environment-map.js +1 -0
- package/dist-browser/@react-three/drei/exports/-environment-portal.js +1 -0
- package/dist-browser/@react-three/drei/exports/-environment.js +1 -0
- package/dist-browser/@react-three/drei/exports/-example.js +1 -0
- package/dist-browser/@react-three/drei/exports/-extrude.js +1 -0
- package/dist-browser/@react-three/drei/exports/-face-controls.js +1 -0
- package/dist-browser/@react-three/drei/exports/-face-landmarker-defaults.js +1 -0
- package/dist-browser/@react-three/drei/exports/-face-landmarker.js +1 -0
- package/dist-browser/@react-three/drei/exports/-facemesh-datas.js +1 -0
- package/dist-browser/@react-three/drei/exports/-facemesh-eye-defaults.js +1 -0
- package/dist-browser/@react-three/drei/exports/-facemesh-eye.js +1 -0
- package/dist-browser/@react-three/drei/exports/-facemesh.js +1 -0
- package/dist-browser/@react-three/drei/exports/-fbo.js +1 -0
- package/dist-browser/@react-three/drei/exports/-fbx.js +1 -0
- package/dist-browser/@react-three/drei/exports/-first-person-controls.js +1 -0
- package/dist-browser/@react-three/drei/exports/-fisheye.js +1 -0
- package/dist-browser/@react-three/drei/exports/-float.js +1 -0
- package/dist-browser/@react-three/drei/exports/-fly-controls.js +1 -0
- package/dist-browser/@react-three/drei/exports/-gizmo-helper.js +1 -0
- package/dist-browser/@react-three/drei/exports/-gizmo-viewcube.js +1 -0
- package/dist-browser/@react-three/drei/exports/-gizmo-viewport.js +1 -0
- package/dist-browser/@react-three/drei/exports/-gltf.js +1 -0
- package/dist-browser/@react-three/drei/exports/-gradient-texture.js +1 -0
- package/dist-browser/@react-three/drei/exports/-gradient-type.js +1 -0
- package/dist-browser/@react-three/drei/exports/-grid.js +1 -0
- package/dist-browser/@react-three/drei/exports/-helper.js +1 -0
- package/dist-browser/@react-three/drei/exports/-html.js +1 -0
- package/dist-browser/@react-three/drei/exports/-hud.js +1 -0
- package/dist-browser/@react-three/drei/exports/-icosahedron.js +1 -0
- package/dist-browser/@react-three/drei/exports/-image.js +1 -0
- package/dist-browser/@react-three/drei/exports/-instance.js +1 -0
- package/dist-browser/@react-three/drei/exports/-instanced-attribute.js +1 -0
- package/dist-browser/@react-three/drei/exports/-instances.js +1 -0
- package/dist-browser/@react-three/drei/exports/-is-object.js +1 -0
- package/dist-browser/@react-three/drei/exports/-keyboard-controls.js +1 -0
- package/dist-browser/@react-three/drei/exports/-ktx2.js +1 -0
- package/dist-browser/@react-three/drei/exports/-lathe.js +1 -0
- package/dist-browser/@react-three/drei/exports/-lightformer.js +1 -0
- package/dist-browser/@react-three/drei/exports/-line.js +1 -0
- package/dist-browser/@react-three/drei/exports/-loader.js +1 -0
- package/dist-browser/@react-three/drei/exports/-map-controls.js +1 -0
- package/dist-browser/@react-three/drei/exports/-marching-cube.js +1 -0
- package/dist-browser/@react-three/drei/exports/-marching-cubes.js +1 -0
- package/dist-browser/@react-three/drei/exports/-marching-plane.js +1 -0
- package/dist-browser/@react-three/drei/exports/-mask.js +1 -0
- package/dist-browser/@react-three/drei/exports/-matcap-texture.js +1 -0
- package/dist-browser/@react-three/drei/exports/-merged.js +1 -0
- package/dist-browser/@react-three/drei/exports/-mesh-discard-material.js +1 -0
- package/dist-browser/@react-three/drei/exports/-mesh-distort-material.js +1 -0
- package/dist-browser/@react-three/drei/exports/-mesh-portal-material.js +1 -0
- package/dist-browser/@react-three/drei/exports/-mesh-reflector-material.js +1 -0
- package/dist-browser/@react-three/drei/exports/-mesh-refraction-material.js +1 -0
- package/dist-browser/@react-three/drei/exports/-mesh-transmission-material.js +1 -0
- package/dist-browser/@react-three/drei/exports/-mesh-wobble-material.js +1 -0
- package/dist-browser/@react-three/drei/exports/-motion-path-controls.js +1 -0
- package/dist-browser/@react-three/drei/exports/-multi-material.js +1 -0
- package/dist-browser/@react-three/drei/exports/-normal-texture.js +1 -0
- package/dist-browser/@react-three/drei/exports/-octahedron.js +1 -0
- package/dist-browser/@react-three/drei/exports/-orbit-controls.js +1 -0
- package/dist-browser/@react-three/drei/exports/-orthographic-camera.js +1 -0
- package/dist-browser/@react-three/drei/exports/-outlines.js +1 -0
- package/dist-browser/@react-three/drei/exports/-performance-monitor.js +1 -0
- package/dist-browser/@react-three/drei/exports/-perspective-camera.js +1 -0
- package/dist-browser/@react-three/drei/exports/-pivot-controls.js +1 -0
- package/dist-browser/@react-three/drei/exports/-plane.js +1 -0
- package/dist-browser/@react-three/drei/exports/-point-material-impl.js +1 -0
- package/dist-browser/@react-three/drei/exports/-point-material.js +1 -0
- package/dist-browser/@react-three/drei/exports/-point.js +1 -0
- package/dist-browser/@react-three/drei/exports/-pointer-lock-controls.js +1 -0
- package/dist-browser/@react-three/drei/exports/-points-buffer.js +1 -0
- package/dist-browser/@react-three/drei/exports/-points.js +1 -0
- package/dist-browser/@react-three/drei/exports/-polyhedron.js +1 -0
- package/dist-browser/@react-three/drei/exports/-position-mesh.js +1 -0
- package/dist-browser/@react-three/drei/exports/-position-point.js +1 -0
- package/dist-browser/@react-three/drei/exports/-positional-audio.js +1 -0
- package/dist-browser/@react-three/drei/exports/-preload.js +1 -0
- package/dist-browser/@react-three/drei/exports/-presentation-controls.js +1 -0
- package/dist-browser/@react-three/drei/exports/-progress.js +1 -0
- package/dist-browser/@react-three/drei/exports/-quadratic-bezier-line.js +1 -0
- package/dist-browser/@react-three/drei/exports/-randomized-light.js +1 -0
- package/dist-browser/@react-three/drei/exports/-render-cube-texture.js +1 -0
- package/dist-browser/@react-three/drei/exports/-render-texture.js +1 -0
- package/dist-browser/@react-three/drei/exports/-resize.js +1 -0
- package/dist-browser/@react-three/drei/exports/-ring.js +1 -0
- package/dist-browser/@react-three/drei/exports/-rounded-box-geometry.js +1 -0
- package/dist-browser/@react-three/drei/exports/-rounded-box.js +1 -0
- package/dist-browser/@react-three/drei/exports/-sampler.js +1 -0
- package/dist-browser/@react-three/drei/exports/-screen-quad.js +1 -0
- package/dist-browser/@react-three/drei/exports/-screen-sizer.js +1 -0
- package/dist-browser/@react-three/drei/exports/-screen-space.js +1 -0
- package/dist-browser/@react-three/drei/exports/-screen-video-texture.js +1 -0
- package/dist-browser/@react-three/drei/exports/-scroll-controls.js +1 -0
- package/dist-browser/@react-three/drei/exports/-scroll.js +1 -0
- package/dist-browser/@react-three/drei/exports/-segment-object.js +1 -0
- package/dist-browser/@react-three/drei/exports/-segment.js +1 -0
- package/dist-browser/@react-three/drei/exports/-segments.js +1 -0
- package/dist-browser/@react-three/drei/exports/-select.js +1 -0
- package/dist-browser/@react-three/drei/exports/-shadow-alpha.js +1 -0
- package/dist-browser/@react-three/drei/exports/-shadow.js +1 -0
- package/dist-browser/@react-three/drei/exports/-shape.js +1 -0
- package/dist-browser/@react-three/drei/exports/-sky.js +1 -0
- package/dist-browser/@react-three/drei/exports/-soft-shadows.js +1 -0
- package/dist-browser/@react-three/drei/exports/-sparkles.js +1 -0
- package/dist-browser/@react-three/drei/exports/-sphere.js +1 -0
- package/dist-browser/@react-three/drei/exports/-splat.js +1 -0
- package/dist-browser/@react-three/drei/exports/-spot-light-shadow.js +1 -0
- package/dist-browser/@react-three/drei/exports/-spot-light.js +1 -0
- package/dist-browser/@react-three/drei/exports/-sprite-animator.js +1 -0
- package/dist-browser/@react-three/drei/exports/-stage.js +1 -0
- package/dist-browser/@react-three/drei/exports/-stars.js +1 -0
- package/dist-browser/@react-three/drei/exports/-stats-gl.js +1 -0
- package/dist-browser/@react-three/drei/exports/-stats.js +1 -0
- package/dist-browser/@react-three/drei/exports/-svg.js +1 -0
- package/dist-browser/@react-three/drei/exports/-tetrahedron.js +1 -0
- package/dist-browser/@react-three/drei/exports/-text.js +1 -0
- package/dist-browser/@react-three/drei/exports/-text3-d.js +1 -0
- package/dist-browser/@react-three/drei/exports/-texture.js +1 -0
- package/dist-browser/@react-three/drei/exports/-torus-knot.js +1 -0
- package/dist-browser/@react-three/drei/exports/-torus.js +1 -0
- package/dist-browser/@react-three/drei/exports/-trackball-controls.js +1 -0
- package/dist-browser/@react-three/drei/exports/-trail-texture.js +1 -0
- package/dist-browser/@react-three/drei/exports/-trail.js +1 -0
- package/dist-browser/@react-three/drei/exports/-transform-controls.js +1 -0
- package/dist-browser/@react-three/drei/exports/-tube.js +1 -0
- package/dist-browser/@react-three/drei/exports/-video-texture.js +1 -0
- package/dist-browser/@react-three/drei/exports/-view.js +1 -0
- package/dist-browser/@react-three/drei/exports/-webcam-video-texture.js +1 -0
- package/dist-browser/@react-three/drei/exports/-wireframe.js +1 -0
- package/dist-browser/@react-three/drei/exports/accumulative-context.js +1 -0
- package/dist-browser/@react-three/drei/exports/calc-pos-from-angles.js +1 -0
- package/dist-browser/@react-three/drei/exports/calculate-scale-factor.js +1 -0
- package/dist-browser/@react-three/drei/exports/check-if-frame-is-empty.js +1 -0
- package/dist-browser/@react-three/drei/exports/create-instances.js +1 -0
- package/dist-browser/@react-three/drei/exports/get-first-frame.js +1 -0
- package/dist-browser/@react-three/drei/exports/is-web-g-l2-available.js +1 -0
- package/dist-browser/@react-three/drei/exports/mesh-bounds.js +1 -0
- package/dist-browser/@react-three/drei/exports/shader-material.js +1 -0
- package/dist-browser/@react-three/drei/exports/use-animations.js +1 -0
- package/dist-browser/@react-three/drei/exports/use-aspect.js +1 -0
- package/dist-browser/@react-three/drei/exports/use-b-v-h.js +1 -0
- package/dist-browser/@react-three/drei/exports/use-bounds.js +1 -0
- package/dist-browser/@react-three/drei/exports/use-box-projected-env.js +1 -0
- package/dist-browser/@react-three/drei/exports/use-camera.js +1 -0
- package/dist-browser/@react-three/drei/exports/use-context-bridge.js +1 -0
- package/dist-browser/@react-three/drei/exports/use-cube-camera.js +1 -0
- package/dist-browser/@react-three/drei/exports/use-cube-texture.js +1 -0
- package/dist-browser/@react-three/drei/exports/use-cursor.js +1 -0
- package/dist-browser/@react-three/drei/exports/use-depth-buffer.js +1 -0
- package/dist-browser/@react-three/drei/exports/use-detect-g-p-u.js +1 -0
- package/dist-browser/@react-three/drei/exports/use-environment.js +1 -0
- package/dist-browser/@react-three/drei/exports/use-f-b-o.js +1 -0
- package/dist-browser/@react-three/drei/exports/use-f-b-x.js +1 -0
- package/dist-browser/@react-three/drei/exports/use-face-controls.js +1 -0
- package/dist-browser/@react-three/drei/exports/use-face-landmarker.js +1 -0
- package/dist-browser/@react-three/drei/exports/use-font.js +1 -0
- package/dist-browser/@react-three/drei/exports/use-g-l-t-f.js +1 -0
- package/dist-browser/@react-three/drei/exports/use-gizmo-context.js +1 -0
- package/dist-browser/@react-three/drei/exports/use-helper.js +1 -0
- package/dist-browser/@react-three/drei/exports/use-intersect.js +1 -0
- package/dist-browser/@react-three/drei/exports/use-k-t-x2.js +1 -0
- package/dist-browser/@react-three/drei/exports/use-keyboard-controls.js +1 -0
- package/dist-browser/@react-three/drei/exports/use-mask.js +1 -0
- package/dist-browser/@react-three/drei/exports/use-matcap-texture.js +1 -0
- package/dist-browser/@react-three/drei/exports/use-motion.js +1 -0
- package/dist-browser/@react-three/drei/exports/use-normal-texture.js +1 -0
- package/dist-browser/@react-three/drei/exports/use-performance-monitor.js +1 -0
- package/dist-browser/@react-three/drei/exports/use-progress.js +1 -0
- package/dist-browser/@react-three/drei/exports/use-scroll.js +1 -0
- package/dist-browser/@react-three/drei/exports/use-select.js +1 -0
- package/dist-browser/@react-three/drei/exports/use-sprite-animator.js +1 -0
- package/dist-browser/@react-three/drei/exports/use-sprite-loader.js +1 -0
- package/dist-browser/@react-three/drei/exports/use-surface-sampler.js +1 -0
- package/dist-browser/@react-three/drei/exports/use-texture.js +1 -0
- package/dist-browser/@react-three/drei/exports/use-trail-texture.js +1 -0
- package/dist-browser/@react-three/drei/exports/use-trail.js +1 -0
- package/dist-browser/@react-three/drei/exports/use-video-texture.js +1 -0
- package/dist-browser/@react-three/drei.js +1 -0
- package/dist-browser/@react-three/fiber.js +1 -0
- package/dist-browser/@react-three/postprocessing.js +1 -0
- package/dist-browser/@spawnite/engine/abilities.js +1 -0
- package/dist-browser/@spawnite/engine/core.js +1 -0
- package/dist-browser/@spawnite/engine/dragAndDrop.js +1 -0
- package/dist-browser/@spawnite/engine/inventory.js +1 -0
- package/dist-browser/@spawnite/engine/looks/dusk.js +1 -0
- package/dist-browser/@spawnite/engine/looks/morning.js +1 -0
- package/dist-browser/@spawnite/engine/looks/night.js +1 -0
- package/dist-browser/@spawnite/engine/looks/noon.js +1 -0
- package/dist-browser/@spawnite/engine/looks/overcast.js +1 -0
- package/dist-browser/@spawnite/engine/npcs.js +1 -0
- package/dist-browser/@spawnite/engine/rounds.js +1 -0
- package/dist-browser/@spawnite/engine/three.js +1 -0
- package/dist-browser/@spawnite/engine/tracks.js +1 -0
- package/dist-browser/@spawnite/engine/weapons.js +1 -0
- package/dist-browser/@spawnite/engine.js +376 -0
- package/dist-browser/@spawnite/schema/exports/-agent-state.js +1 -0
- package/dist-browser/@spawnite/schema/exports/-app-message-type.js +1 -0
- package/dist-browser/@spawnite/schema/exports/-channel-handshake.js +1 -0
- package/dist-browser/@spawnite/schema/exports/-clip-clock.js +1 -0
- package/dist-browser/@spawnite/schema/exports/-clip-record-action.js +1 -0
- package/dist-browser/@spawnite/schema/exports/-clip-shape.js +1 -0
- package/dist-browser/@spawnite/schema/exports/-collision-shape.js +1 -0
- package/dist-browser/@spawnite/schema/exports/-cover-kind.js +1 -0
- package/dist-browser/@spawnite/schema/exports/-credential-kind.js +1 -0
- package/dist-browser/@spawnite/schema/exports/-device-class.js +1 -0
- package/dist-browser/@spawnite/schema/exports/-engine-save-name.js +1 -0
- package/dist-browser/@spawnite/schema/exports/-favorite-kind.js +1 -0
- package/dist-browser/@spawnite/schema/exports/-model-style.js +1 -0
- package/dist-browser/@spawnite/schema/exports/-page-connection-status.js +1 -0
- package/dist-browser/@spawnite/schema/exports/-page-message-type.js +1 -0
- package/dist-browser/@spawnite/schema/exports/-performance-stats-mode.js +1 -0
- package/dist-browser/@spawnite/schema/exports/-prop-shape.js +1 -0
- package/dist-browser/@spawnite/schema/exports/-quality-group.js +1 -0
- package/dist-browser/@spawnite/schema/exports/-quality-level.js +1 -0
- package/dist-browser/@spawnite/schema/exports/-room-mode.js +1 -0
- package/dist-browser/@spawnite/schema/exports/-save-owner-change.js +1 -0
- package/dist-browser/@spawnite/schema/exports/-save-section.js +1 -0
- package/dist-browser/@spawnite/schema/exports/-scatter-family.js +1 -0
- package/dist-browser/@spawnite/schema/exports/-scatter-kind.js +1 -0
- package/dist-browser/@spawnite/schema/exports/-shot-angle.js +1 -0
- package/dist-browser/@spawnite/schema/exports/-voice-mode.js +1 -0
- package/dist-browser/@spawnite/schema/exports/-wiki-scope.js +1 -0
- package/dist-browser/@spawnite/schema/exports/add-asset-input.js +1 -0
- package/dist-browser/@spawnite/schema/exports/add-behaviour-input.js +1 -0
- package/dist-browser/@spawnite/schema/exports/add-dialog-input.js +1 -0
- package/dist-browser/@spawnite/schema/exports/add-entity-input.js +1 -0
- package/dist-browser/@spawnite/schema/exports/add-hud-input.js +1 -0
- package/dist-browser/@spawnite/schema/exports/add-item-input.js +1 -0
- package/dist-browser/@spawnite/schema/exports/add-map-input.js +1 -0
- package/dist-browser/@spawnite/schema/exports/add-npc-input.js +1 -0
- package/dist-browser/@spawnite/schema/exports/add-panel-input.js +1 -0
- package/dist-browser/@spawnite/schema/exports/add-scene-input.js +1 -0
- package/dist-browser/@spawnite/schema/exports/add-shader-input.js +1 -0
- package/dist-browser/@spawnite/schema/exports/agent-activity-event.js +1 -0
- package/dist-browser/@spawnite/schema/exports/agent-heartbeat-milliseconds.js +1 -0
- package/dist-browser/@spawnite/schema/exports/app-channel-version.js +1 -0
- package/dist-browser/@spawnite/schema/exports/app-credential.js +1 -0
- package/dist-browser/@spawnite/schema/exports/app-inset-edges.js +1 -0
- package/dist-browser/@spawnite/schema/exports/app-insets.js +1 -0
- package/dist-browser/@spawnite/schema/exports/app-message-versions.js +1 -0
- package/dist-browser/@spawnite/schema/exports/app-message.js +1 -0
- package/dist-browser/@spawnite/schema/exports/app-player.js +1 -0
- package/dist-browser/@spawnite/schema/exports/app-settings-message.js +1 -0
- package/dist-browser/@spawnite/schema/exports/asset-catalog.js +1 -0
- package/dist-browser/@spawnite/schema/exports/asset-category.js +1 -0
- package/dist-browser/@spawnite/schema/exports/asset-declaration.js +1 -0
- package/dist-browser/@spawnite/schema/exports/asset-entry.js +1 -0
- package/dist-browser/@spawnite/schema/exports/asset-filters.js +1 -0
- package/dist-browser/@spawnite/schema/exports/asset-key.js +1 -0
- package/dist-browser/@spawnite/schema/exports/asset-kind.js +1 -0
- package/dist-browser/@spawnite/schema/exports/asset-licence.js +1 -0
- package/dist-browser/@spawnite/schema/exports/asset-manifest.js +1 -0
- package/dist-browser/@spawnite/schema/exports/asset-source.js +1 -0
- package/dist-browser/@spawnite/schema/exports/asset-style.js +1 -0
- package/dist-browser/@spawnite/schema/exports/asset-url.js +1 -0
- package/dist-browser/@spawnite/schema/exports/assets-site.js +1 -0
- package/dist-browser/@spawnite/schema/exports/brush-shapes.js +1 -0
- package/dist-browser/@spawnite/schema/exports/build-save-manifest-entry.js +1 -0
- package/dist-browser/@spawnite/schema/exports/bundle-file.js +1 -0
- package/dist-browser/@spawnite/schema/exports/bundle-limits.js +1 -0
- package/dist-browser/@spawnite/schema/exports/bundle-manifest-file.js +1 -0
- package/dist-browser/@spawnite/schema/exports/bundle-manifest.js +1 -0
- package/dist-browser/@spawnite/schema/exports/bundle-page-folder.js +1 -0
- package/dist-browser/@spawnite/schema/exports/bundle-server-folder.js +1 -0
- package/dist-browser/@spawnite/schema/exports/carried-setting-key-list.js +1 -0
- package/dist-browser/@spawnite/schema/exports/carried-setting-keys.js +1 -0
- package/dist-browser/@spawnite/schema/exports/carried-settings.js +1 -0
- package/dist-browser/@spawnite/schema/exports/catalog-row.js +1 -0
- package/dist-browser/@spawnite/schema/exports/cell-paint.js +1 -0
- package/dist-browser/@spawnite/schema/exports/channel-connect.js +1 -0
- package/dist-browser/@spawnite/schema/exports/channel-hello.js +1 -0
- package/dist-browser/@spawnite/schema/exports/chat-folder-name.js +1 -0
- package/dist-browser/@spawnite/schema/exports/chat-path.js +1 -0
- package/dist-browser/@spawnite/schema/exports/chat-post.js +1 -0
- package/dist-browser/@spawnite/schema/exports/chat-read-folder-name.js +1 -0
- package/dist-browser/@spawnite/schema/exports/check-game-slug.js +1 -0
- package/dist-browser/@spawnite/schema/exports/check-model-input.js +1 -0
- package/dist-browser/@spawnite/schema/exports/check-save-migrations.js +1 -0
- package/dist-browser/@spawnite/schema/exports/check-save-publish.js +1 -0
- package/dist-browser/@spawnite/schema/exports/check-sound-input.js +1 -0
- package/dist-browser/@spawnite/schema/exports/clip-finish.js +1 -0
- package/dist-browser/@spawnite/schema/exports/clip-meta.js +1 -0
- package/dist-browser/@spawnite/schema/exports/clip-name.js +1 -0
- package/dist-browser/@spawnite/schema/exports/clips-folder-name.js +1 -0
- package/dist-browser/@spawnite/schema/exports/clips-path.js +1 -0
- package/dist-browser/@spawnite/schema/exports/compare-save-manifest-entries.js +1 -0
- package/dist-browser/@spawnite/schema/exports/compare-shots-input.js +1 -0
- package/dist-browser/@spawnite/schema/exports/component-name.js +1 -0
- package/dist-browser/@spawnite/schema/exports/condition-seconds.js +1 -0
- package/dist-browser/@spawnite/schema/exports/connection-message.js +1 -0
- package/dist-browser/@spawnite/schema/exports/create-quality-schema.js +1 -0
- package/dist-browser/@spawnite/schema/exports/create-site.js +1 -0
- package/dist-browser/@spawnite/schema/exports/create-tagged-save-value-schema.js +1 -0
- package/dist-browser/@spawnite/schema/exports/credential-versions.js +1 -0
- package/dist-browser/@spawnite/schema/exports/day-hour.js +1 -0
- package/dist-browser/@spawnite/schema/exports/day-length.js +1 -0
- package/dist-browser/@spawnite/schema/exports/default-player-settings.js +1 -0
- package/dist-browser/@spawnite/schema/exports/default-room-players.js +1 -0
- package/dist-browser/@spawnite/schema/exports/default-room-send-rate.js +1 -0
- package/dist-browser/@spawnite/schema/exports/describe-entity-input.js +1 -0
- package/dist-browser/@spawnite/schema/exports/describe-map-input.js +1 -0
- package/dist-browser/@spawnite/schema/exports/describe-save-publish-refusal.js +1 -0
- package/dist-browser/@spawnite/schema/exports/dev-saves-cleared-file.js +1 -0
- package/dist-browser/@spawnite/schema/exports/dev-saves-cleared-meta-name.js +1 -0
- package/dist-browser/@spawnite/schema/exports/dev-saves-folder.js +1 -0
- package/dist-browser/@spawnite/schema/exports/dev-server-file.js +1 -0
- package/dist-browser/@spawnite/schema/exports/dev-server-prefix.js +1 -0
- package/dist-browser/@spawnite/schema/exports/devtools-favorites.js +1 -0
- package/dist-browser/@spawnite/schema/exports/devtools-presets.js +1 -0
- package/dist-browser/@spawnite/schema/exports/direct-link.js +1 -0
- package/dist-browser/@spawnite/schema/exports/edit-material-input.js +1 -0
- package/dist-browser/@spawnite/schema/exports/edit-terrain-input.js +1 -0
- package/dist-browser/@spawnite/schema/exports/engine-build-meta-name.js +1 -0
- package/dist-browser/@spawnite/schema/exports/engine-build-path.js +1 -0
- package/dist-browser/@spawnite/schema/exports/engine-label.js +1 -0
- package/dist-browser/@spawnite/schema/exports/engine-origin.js +1 -0
- package/dist-browser/@spawnite/schema/exports/engine-save-readers.js +1 -0
- package/dist-browser/@spawnite/schema/exports/engine-save-schemas.js +1 -0
- package/dist-browser/@spawnite/schema/exports/error-reports-config.js +1 -0
- package/dist-browser/@spawnite/schema/exports/error-reports-meta-name.js +1 -0
- package/dist-browser/@spawnite/schema/exports/error-reports-path.js +1 -0
- package/dist-browser/@spawnite/schema/exports/favorite-field.js +1 -0
- package/dist-browser/@spawnite/schema/exports/filter-assets.js +1 -0
- package/dist-browser/@spawnite/schema/exports/find-particle-effect-excess.js +1 -0
- package/dist-browser/@spawnite/schema/exports/find-room-settings-problems.js +1 -0
- package/dist-browser/@spawnite/schema/exports/find-terrain-cell.js +1 -0
- package/dist-browser/@spawnite/schema/exports/fingerprint-save-schema.js +1 -0
- package/dist-browser/@spawnite/schema/exports/format-clip-length.js +1 -0
- package/dist-browser/@spawnite/schema/exports/format-clip-size.js +1 -0
- package/dist-browser/@spawnite/schema/exports/format-link-conditions.js +1 -0
- package/dist-browser/@spawnite/schema/exports/framed-shot-schema.js +1 -0
- package/dist-browser/@spawnite/schema/exports/fullscreen-answer-message.js +1 -0
- package/dist-browser/@spawnite/schema/exports/fullscreen-message.js +1 -0
- package/dist-browser/@spawnite/schema/exports/game-materials-name.js +1 -0
- package/dist-browser/@spawnite/schema/exports/game-materials-schema.js +1 -0
- package/dist-browser/@spawnite/schema/exports/game-origin.js +1 -0
- package/dist-browser/@spawnite/schema/exports/game-page-path.js +1 -0
- package/dist-browser/@spawnite/schema/exports/game-save-key.js +1 -0
- package/dist-browser/@spawnite/schema/exports/grid-map.js +1 -0
- package/dist-browser/@spawnite/schema/exports/ground-rule-schema.js +1 -0
- package/dist-browser/@spawnite/schema/exports/ground-schema.js +1 -0
- package/dist-browser/@spawnite/schema/exports/hud-slot.js +1 -0
- package/dist-browser/@spawnite/schema/exports/init-message.js +1 -0
- package/dist-browser/@spawnite/schema/exports/init-save.js +1 -0
- package/dist-browser/@spawnite/schema/exports/insets-message.js +1 -0
- package/dist-browser/@spawnite/schema/exports/is-additive-schema-change.js +1 -0
- package/dist-browser/@spawnite/schema/exports/is-game-id.js +1 -0
- package/dist-browser/@spawnite/schema/exports/is-game-slug.js +1 -0
- package/dist-browser/@spawnite/schema/exports/is-kept-label.js +1 -0
- package/dist-browser/@spawnite/schema/exports/is-link-direct.js +1 -0
- package/dist-browser/@spawnite/schema/exports/is-older-reader.js +1 -0
- package/dist-browser/@spawnite/schema/exports/is-particle-effect-looping.js +1 -0
- package/dist-browser/@spawnite/schema/exports/is-room-players.js +1 -0
- package/dist-browser/@spawnite/schema/exports/is-room-send-rate.js +1 -0
- package/dist-browser/@spawnite/schema/exports/item-definition.js +1 -0
- package/dist-browser/@spawnite/schema/exports/join-room-input.js +1 -0
- package/dist-browser/@spawnite/schema/exports/leave-message.js +1 -0
- package/dist-browser/@spawnite/schema/exports/left-message.js +1 -0
- package/dist-browser/@spawnite/schema/exports/list-assets-input.js +1 -0
- package/dist-browser/@spawnite/schema/exports/list-clips-input.js +1 -0
- package/dist-browser/@spawnite/schema/exports/list-templates-input.js +1 -0
- package/dist-browser/@spawnite/schema/exports/list-wiki-input.js +1 -0
- package/dist-browser/@spawnite/schema/exports/long-call-input.js +1 -0
- package/dist-browser/@spawnite/schema/exports/longest-timeout-seconds.js +1 -0
- package/dist-browser/@spawnite/schema/exports/make-model-input.js +1 -0
- package/dist-browser/@spawnite/schema/exports/map-base-schema.js +1 -0
- package/dist-browser/@spawnite/schema/exports/map-path.js +1 -0
- package/dist-browser/@spawnite/schema/exports/map-point.js +1 -0
- package/dist-browser/@spawnite/schema/exports/map-post.js +1 -0
- package/dist-browser/@spawnite/schema/exports/map-prop-schema.js +1 -0
- package/dist-browser/@spawnite/schema/exports/map-props-patch.js +1 -0
- package/dist-browser/@spawnite/schema/exports/map-props-schema.js +1 -0
- package/dist-browser/@spawnite/schema/exports/map-schema.js +1 -0
- package/dist-browser/@spawnite/schema/exports/map-sea-schema.js +1 -0
- package/dist-browser/@spawnite/schema/exports/map-terrain-schema.js +1 -0
- package/dist-browser/@spawnite/schema/exports/material-cover-schema.js +1 -0
- package/dist-browser/@spawnite/schema/exports/material-look-schema.js +1 -0
- package/dist-browser/@spawnite/schema/exports/material-name.js +1 -0
- package/dist-browser/@spawnite/schema/exports/material-sets.js +1 -0
- package/dist-browser/@spawnite/schema/exports/materials-schema.js +1 -0
- package/dist-browser/@spawnite/schema/exports/max-error-report-bytes.js +1 -0
- package/dist-browser/@spawnite/schema/exports/max-save-body-bytes.js +1 -0
- package/dist-browser/@spawnite/schema/exports/max-save-body-ceiling-bytes.js +1 -0
- package/dist-browser/@spawnite/schema/exports/max-save-unpacked-bytes.js +1 -0
- package/dist-browser/@spawnite/schema/exports/max-save-unpacked-ceiling-bytes.js +1 -0
- package/dist-browser/@spawnite/schema/exports/menu-message.js +1 -0
- package/dist-browser/@spawnite/schema/exports/merge-carried-settings.js +1 -0
- package/dist-browser/@spawnite/schema/exports/merge-save-highest.js +1 -0
- package/dist-browser/@spawnite/schema/exports/model-reference-schema.js +1 -0
- package/dist-browser/@spawnite/schema/exports/model-triangle-budget.js +1 -0
- package/dist-browser/@spawnite/schema/exports/most-rejoin-hold-seconds.js +1 -0
- package/dist-browser/@spawnite/schema/exports/most-room-players.js +1 -0
- package/dist-browser/@spawnite/schema/exports/name-schema.js +1 -0
- package/dist-browser/@spawnite/schema/exports/new-game-input.js +1 -0
- package/dist-browser/@spawnite/schema/exports/package-room-hint.js +1 -0
- package/dist-browser/@spawnite/schema/exports/package-room.js +1 -0
- package/dist-browser/@spawnite/schema/exports/page-message-versions.js +1 -0
- package/dist-browser/@spawnite/schema/exports/page-message.js +1 -0
- package/dist-browser/@spawnite/schema/exports/page-settings-message.js +1 -0
- package/dist-browser/@spawnite/schema/exports/parse-link-conditions.js +1 -0
- package/dist-browser/@spawnite/schema/exports/particle-effect-limits.js +1 -0
- package/dist-browser/@spawnite/schema/exports/particle-sprite-max-side.js +1 -0
- package/dist-browser/@spawnite/schema/exports/place-loot-input.js +1 -0
- package/dist-browser/@spawnite/schema/exports/place-props-input.js +1 -0
- package/dist-browser/@spawnite/schema/exports/play-domain.js +1 -0
- package/dist-browser/@spawnite/schema/exports/profile-game-input.js +1 -0
- package/dist-browser/@spawnite/schema/exports/project-folder.js +1 -0
- package/dist-browser/@spawnite/schema/exports/publish-assets-input.js +1 -0
- package/dist-browser/@spawnite/schema/exports/publish-version-input.js +1 -0
- package/dist-browser/@spawnite/schema/exports/query-map-input.js +1 -0
- package/dist-browser/@spawnite/schema/exports/read-ai-tree-input.js +1 -0
- package/dist-browser/@spawnite/schema/exports/read-chat-input.js +1 -0
- package/dist-browser/@spawnite/schema/exports/read-clip-input.js +1 -0
- package/dist-browser/@spawnite/schema/exports/read-clip-start-time.js +1 -0
- package/dist-browser/@spawnite/schema/exports/read-game-id.js +1 -0
- package/dist-browser/@spawnite/schema/exports/read-game-wiki-input.js +1 -0
- package/dist-browser/@spawnite/schema/exports/read-package-room.js +1 -0
- package/dist-browser/@spawnite/schema/exports/read-paint-grid.js +1 -0
- package/dist-browser/@spawnite/schema/exports/read-particle-effect.js +1 -0
- package/dist-browser/@spawnite/schema/exports/read-room-mode.js +1 -0
- package/dist-browser/@spawnite/schema/exports/read-run-input.js +1 -0
- package/dist-browser/@spawnite/schema/exports/read-save-mark.js +1 -0
- package/dist-browser/@spawnite/schema/exports/read-save-record.js +1 -0
- package/dist-browser/@spawnite/schema/exports/read-terrain-grid.js +1 -0
- package/dist-browser/@spawnite/schema/exports/read-track-level.js +1 -0
- package/dist-browser/@spawnite/schema/exports/read-wiki-input.js +1 -0
- package/dist-browser/@spawnite/schema/exports/ready-message.js +1 -0
- package/dist-browser/@spawnite/schema/exports/record-clip-input.js +1 -0
- package/dist-browser/@spawnite/schema/exports/registry-entry.js +1 -0
- package/dist-browser/@spawnite/schema/exports/registry-file.js +1 -0
- package/dist-browser/@spawnite/schema/exports/registry-item-schema-url.js +1 -0
- package/dist-browser/@spawnite/schema/exports/registry-item.js +1 -0
- package/dist-browser/@spawnite/schema/exports/registry-schema-url.js +1 -0
- package/dist-browser/@spawnite/schema/exports/registry.js +1 -0
- package/dist-browser/@spawnite/schema/exports/resolve-room-settings.js +1 -0
- package/dist-browser/@spawnite/schema/exports/reverse-wiki-relation.js +1 -0
- package/dist-browser/@spawnite/schema/exports/room-send-rates.js +1 -0
- package/dist-browser/@spawnite/schema/exports/save-codec-mark.js +1 -0
- package/dist-browser/@spawnite/schema/exports/save-failed-message.js +1 -0
- package/dist-browser/@spawnite/schema/exports/save-fingerprint-format.js +1 -0
- package/dist-browser/@spawnite/schema/exports/save-limit-warning-share.js +1 -0
- package/dist-browser/@spawnite/schema/exports/save-load-failed-message.js +1 -0
- package/dist-browser/@spawnite/schema/exports/save-message.js +1 -0
- package/dist-browser/@spawnite/schema/exports/save-now-message.js +1 -0
- package/dist-browser/@spawnite/schema/exports/save-record-message.js +1 -0
- package/dist-browser/@spawnite/schema/exports/saved-health-schema.js +1 -0
- package/dist-browser/@spawnite/schema/exports/saved-level-schema.js +1 -0
- package/dist-browser/@spawnite/schema/exports/saved-message.js +1 -0
- package/dist-browser/@spawnite/schema/exports/saved-stack-schema.js +1 -0
- package/dist-browser/@spawnite/schema/exports/saved-stat-schema.js +1 -0
- package/dist-browser/@spawnite/schema/exports/saved-vector-schema.js +1 -0
- package/dist-browser/@spawnite/schema/exports/scatter-kinds.js +1 -0
- package/dist-browser/@spawnite/schema/exports/scene-name.js +1 -0
- package/dist-browser/@spawnite/schema/exports/screenshot-input.js +1 -0
- package/dist-browser/@spawnite/schema/exports/search-wiki-input.js +1 -0
- package/dist-browser/@spawnite/schema/exports/seat-credential.js +1 -0
- package/dist-browser/@spawnite/schema/exports/seat-message.js +1 -0
- package/dist-browser/@spawnite/schema/exports/send-input-input.js +1 -0
- package/dist-browser/@spawnite/schema/exports/servers-folder-name.js +1 -0
- package/dist-browser/@spawnite/schema/exports/set-nickname-input.js +1 -0
- package/dist-browser/@spawnite/schema/exports/set-trait-input.js +1 -0
- package/dist-browser/@spawnite/schema/exports/set-visibility-input.js +1 -0
- package/dist-browser/@spawnite/schema/exports/settings-schema.js +1 -0
- package/dist-browser/@spawnite/schema/exports/shot-angle-schema.js +1 -0
- package/dist-browser/@spawnite/schema/exports/shot-camera-schema.js +1 -0
- package/dist-browser/@spawnite/schema/exports/shot-post.js +1 -0
- package/dist-browser/@spawnite/schema/exports/shots-folder-name.js +1 -0
- package/dist-browser/@spawnite/schema/exports/shots-path.js +1 -0
- package/dist-browser/@spawnite/schema/exports/simulate-input.js +1 -0
- package/dist-browser/@spawnite/schema/exports/slug-limits.js +1 -0
- package/dist-browser/@spawnite/schema/exports/slugify-game-name.js +1 -0
- package/dist-browser/@spawnite/schema/exports/snapshot-save-schema.js +1 -0
- package/dist-browser/@spawnite/schema/exports/space-point-schema.js +1 -0
- package/dist-browser/@spawnite/schema/exports/spawnite-folder-name.js +1 -0
- package/dist-browser/@spawnite/schema/exports/start-playtest-input.js +1 -0
- package/dist-browser/@spawnite/schema/exports/start-save-key.js +1 -0
- package/dist-browser/@spawnite/schema/exports/steps-per-second.js +1 -0
- package/dist-browser/@spawnite/schema/exports/store-age-bands.js +1 -0
- package/dist-browser/@spawnite/schema/exports/store-page-limits.js +1 -0
- package/dist-browser/@spawnite/schema/exports/store-page.js +1 -0
- package/dist-browser/@spawnite/schema/exports/store-picture-rules.js +1 -0
- package/dist-browser/@spawnite/schema/exports/store-picture.js +1 -0
- package/dist-browser/@spawnite/schema/exports/tab-info.js +1 -0
- package/dist-browser/@spawnite/schema/exports/tab-path.js +1 -0
- package/dist-browser/@spawnite/schema/exports/tab-post.js +1 -0
- package/dist-browser/@spawnite/schema/exports/tab-token-header.js +1 -0
- package/dist-browser/@spawnite/schema/exports/tagged-save-value-schema.js +1 -0
- package/dist-browser/@spawnite/schema/exports/terrain-brush.js +1 -0
- package/dist-browser/@spawnite/schema/exports/terrain-fill.js +1 -0
- package/dist-browser/@spawnite/schema/exports/terrain-map.js +1 -0
- package/dist-browser/@spawnite/schema/exports/terrain-restore.js +1 -0
- package/dist-browser/@spawnite/schema/exports/terrain-settlings.js +1 -0
- package/dist-browser/@spawnite/schema/exports/terrain-stroke-shape.js +1 -0
- package/dist-browser/@spawnite/schema/exports/terrain-stroke.js +1 -0
- package/dist-browser/@spawnite/schema/exports/terrain-tools.js +1 -0
- package/dist-browser/@spawnite/schema/exports/timeline-input.js +1 -0
- package/dist-browser/@spawnite/schema/exports/to-display-name.js +1 -0
- package/dist-browser/@spawnite/schema/exports/to-wiki-anchor.js +1 -0
- package/dist-browser/@spawnite/schema/exports/track-level-schema.js +1 -0
- package/dist-browser/@spawnite/schema/exports/untouched.js +1 -0
- package/dist-browser/@spawnite/schema/exports/upload-store-page-input.js +1 -0
- package/dist-browser/@spawnite/schema/exports/upload-version-input.js +1 -0
- package/dist-browser/@spawnite/schema/exports/versions-of-save-manifest-entry.js +1 -0
- package/dist-browser/@spawnite/schema/exports/versions-of.js +1 -0
- package/dist-browser/@spawnite/schema/exports/view-schema.js +1 -0
- package/dist-browser/@spawnite/schema/exports/voice-settings.js +1 -0
- package/dist-browser/@spawnite/schema/exports/whoami-input.js +1 -0
- package/dist-browser/@spawnite/schema/exports/wiki-overview-path.js +1 -0
- package/dist-browser/@spawnite/schema/exports/wiki-page-path.js +1 -0
- package/dist-browser/@spawnite/schema/exports/wiki-page-ref.js +1 -0
- package/dist-browser/@spawnite/schema/exports/wiki-path-part.js +1 -0
- package/dist-browser/@spawnite/schema/exports/wiki-site.js +1 -0
- package/dist-browser/@spawnite/schema/exports/write-link-settings.js +1 -0
- package/dist-browser/@spawnite/schema/exports/write-paint-grid.js +1 -0
- package/dist-browser/@spawnite/schema/exports/write-save-record.js +1 -0
- package/dist-browser/@spawnite/schema/exports/write-terrain-grid.js +1 -0
- package/dist-browser/@spawnite/schema/exports/write-wiki-page-input.js +1 -0
- package/dist-browser/@spawnite/schema/exports/z.js +1 -0
- package/dist-browser/@spawnite/schema.js +1 -0
- package/dist-browser/@spawnite/ui/motion.js +1 -0
- package/dist-browser/@spawnite/ui.js +1 -0
- package/dist-browser/THIRD-PARTY-NOTICES +2949 -0
- package/dist-browser/assets/basis_transcoder-VXdx5NbI.wasm +0 -0
- package/dist-browser/assets/basis_transcoder-o4Hde_L7.js +19 -0
- package/dist-browser/assets/draco_decoder-C32yEggz.wasm +0 -0
- package/dist-browser/assets/draco_decoder-Z1_iN-Ht.wasm +0 -0
- package/dist-browser/assets/draco_decoder-fzg4nYZr.js +34 -0
- package/dist-browser/assets/draco_wasm_wrapper-DxJM36Ib.js +117 -0
- package/dist-browser/assets/draco_wasm_wrapper-fZCQGLGb.js +116 -0
- package/dist-browser/assets/rapier_wasm3d_bg-CcJdV3OS.wasm +0 -0
- package/dist-browser/chunks/-8xKUVc-.js +1 -0
- package/dist-browser/chunks/0Bppyo06.js +1 -0
- package/dist-browser/chunks/0XBYBf4e.js +1 -0
- package/dist-browser/chunks/1Pk4GW-o.js +1 -0
- package/dist-browser/chunks/1TfeBVY_.js +1 -0
- package/dist-browser/chunks/2GzBwp8F.js +1 -0
- package/dist-browser/chunks/37dBpPRN.js +1 -0
- package/dist-browser/chunks/3GDQ_l39.js +1 -0
- package/dist-browser/chunks/4r3wlCT-.js +56 -0
- package/dist-browser/chunks/51muForc.js +2 -0
- package/dist-browser/chunks/5l3Kj8OA.js +25 -0
- package/dist-browser/chunks/5v0sm-la.js +1 -0
- package/dist-browser/chunks/6RSie8Zr.js +1 -0
- package/dist-browser/chunks/6VxScSBj.js +1 -0
- package/dist-browser/chunks/6r1L_s87.js +1 -0
- package/dist-browser/chunks/703AF8IC.js +2 -0
- package/dist-browser/chunks/7kk1UrXM.js +54 -0
- package/dist-browser/chunks/7v-xFmSc.js +1 -0
- package/dist-browser/chunks/8CwB1oG9.js +1 -0
- package/dist-browser/chunks/8GjxAP3h.js +1 -0
- package/dist-browser/chunks/8Pep1QKH.js +1 -0
- package/dist-browser/chunks/8eSx71cM.js +1 -0
- package/dist-browser/chunks/8qLBuj0B.js +1 -0
- package/dist-browser/chunks/8uMFNz4F.js +48 -0
- package/dist-browser/chunks/9BUmmiDi.js +64 -0
- package/dist-browser/chunks/AEQH3xKs.js +1 -0
- package/dist-browser/chunks/B04SdTxo.js +1 -0
- package/dist-browser/chunks/B0d1OhsT.js +1 -0
- package/dist-browser/chunks/B0d94ulh.js +1 -0
- package/dist-browser/chunks/B0dIJJnS.js +104 -0
- package/dist-browser/chunks/B0sEcOA4.js +1 -0
- package/dist-browser/chunks/B17MsfBW.js +2 -0
- package/dist-browser/chunks/B1Q2EYQa.js +409 -0
- package/dist-browser/chunks/B1VGbFnq.js +1 -0
- package/dist-browser/chunks/B1ZLDwkb.js +1 -0
- package/dist-browser/chunks/B1gZ4XNT.js +1 -0
- package/dist-browser/chunks/B2P8OKx4.js +114 -0
- package/dist-browser/chunks/B2lwHY_A.js +1 -0
- package/dist-browser/chunks/B2rfjAu3.js +1 -0
- package/dist-browser/chunks/B3cpZ7qW.js +1 -0
- package/dist-browser/chunks/B3zyuqQe.js +1 -0
- package/dist-browser/chunks/B4HH7vxm.js +1 -0
- package/dist-browser/chunks/B4L72GuI.js +1 -0
- package/dist-browser/chunks/B4PXM93E.js +1 -0
- package/dist-browser/chunks/B4dyXOK4.js +2 -0
- package/dist-browser/chunks/B4f83JmW.js +1 -0
- package/dist-browser/chunks/B4rtOA11.js +1 -0
- package/dist-browser/chunks/B53Q2-Fw.js +42 -0
- package/dist-browser/chunks/B5YG9Ima.js +35 -0
- package/dist-browser/chunks/B5npwEiE.js +1 -0
- package/dist-browser/chunks/B6TyyPfn.js +2280 -0
- package/dist-browser/chunks/B6YPgX9B.js +1 -0
- package/dist-browser/chunks/B7K2KMcP.js +289 -0
- package/dist-browser/chunks/B8GCRzu-.js +1 -0
- package/dist-browser/chunks/B8f3enUO.js +42 -0
- package/dist-browser/chunks/B9dPPcmc.js +239 -0
- package/dist-browser/chunks/B9n7U8x8.js +24 -0
- package/dist-browser/chunks/BAcEoh4A.js +1 -0
- package/dist-browser/chunks/BBTy17gV.js +23 -0
- package/dist-browser/chunks/BBoWq_28.js +1 -0
- package/dist-browser/chunks/BCEkROxA.js +1 -0
- package/dist-browser/chunks/BCSDojKA.js +2 -0
- package/dist-browser/chunks/BCnGjanZ.js +1 -0
- package/dist-browser/chunks/BCy2Imwl.js +1 -0
- package/dist-browser/chunks/BD93nK4k.js +1 -0
- package/dist-browser/chunks/BDYWv4Pt.js +1 -0
- package/dist-browser/chunks/BDntRBeD.js +1 -0
- package/dist-browser/chunks/BE0sHH_C.js +1 -0
- package/dist-browser/chunks/BE7yKwOS.js +1 -0
- package/dist-browser/chunks/BFDqfrDx.js +61 -0
- package/dist-browser/chunks/BFnCgym5.js +1 -0
- package/dist-browser/chunks/BFpenkAR.js +1 -0
- package/dist-browser/chunks/BFvqTjM2.js +1 -0
- package/dist-browser/chunks/BG8QaCAl.js +1 -0
- package/dist-browser/chunks/BGsrJU1n.js +219 -0
- package/dist-browser/chunks/BGze3w87.js +1 -0
- package/dist-browser/chunks/BHYG5big.js +1 -0
- package/dist-browser/chunks/BHZuFsZC.js +26 -0
- package/dist-browser/chunks/BHePouWp.js +1 -0
- package/dist-browser/chunks/BIGc2B5x.js +106 -0
- package/dist-browser/chunks/BIgbJOA7.js +1 -0
- package/dist-browser/chunks/BIlEJ_uM.js +1 -0
- package/dist-browser/chunks/BIrJsLCp.js +1 -0
- package/dist-browser/chunks/BJCTIWwI.js +97 -0
- package/dist-browser/chunks/BJWwGEft.js +22 -0
- package/dist-browser/chunks/BJbnvkQD.js +33 -0
- package/dist-browser/chunks/BJj_P5qy.js +40 -0
- package/dist-browser/chunks/BKMmwIjP.js +1 -0
- package/dist-browser/chunks/BL2b-bga.js +1 -0
- package/dist-browser/chunks/BL3GFPpX.js +1 -0
- package/dist-browser/chunks/BL3JqalM.js +1 -0
- package/dist-browser/chunks/BLQoPgRQ.js +17 -0
- package/dist-browser/chunks/BLdTHuK5.js +38 -0
- package/dist-browser/chunks/BLxVM0Bx.js +1 -0
- package/dist-browser/chunks/BMOXLfbG.js +1 -0
- package/dist-browser/chunks/BMyF16Pb.js +1 -0
- package/dist-browser/chunks/BN0JituG.js +1 -0
- package/dist-browser/chunks/BNiTh9Zb.js +1 -0
- package/dist-browser/chunks/BNm7BDEl.js +1 -0
- package/dist-browser/chunks/BNucCtAC.js +1 -0
- package/dist-browser/chunks/BOAa4bZ5.js +80 -0
- package/dist-browser/chunks/BOIXSUZ_.js +1 -0
- package/dist-browser/chunks/BOY2osHs.js +1 -0
- package/dist-browser/chunks/BP9HooTj.js +1 -0
- package/dist-browser/chunks/BPsQn259.js +1 -0
- package/dist-browser/chunks/BPyPftW0.js +1 -0
- package/dist-browser/chunks/BQl3ddsW.js +1 -0
- package/dist-browser/chunks/BSaFdJJr.js +1 -0
- package/dist-browser/chunks/BSb5Y-Am.js +1 -0
- package/dist-browser/chunks/BSoHyLeW.js +1 -0
- package/dist-browser/chunks/BUJHJVUo.js +1 -0
- package/dist-browser/chunks/BV45MfzJ.js +206 -0
- package/dist-browser/chunks/BWLobtMG.js +1 -0
- package/dist-browser/chunks/BWX2omqC.js +1 -0
- package/dist-browser/chunks/BX-IJ6Jw.js +1 -0
- package/dist-browser/chunks/BZ67u85L.js +1 -0
- package/dist-browser/chunks/BZL3DkMo.js +1 -0
- package/dist-browser/chunks/BZkTFuN8.js +32 -0
- package/dist-browser/chunks/B_olo1g0.js +1 -0
- package/dist-browser/chunks/B_xcv6lP.js +1 -0
- package/dist-browser/chunks/BadDFgpu.js +3 -0
- package/dist-browser/chunks/BbIllpJG.js +1 -0
- package/dist-browser/chunks/Bc7uTOHd.js +1 -0
- package/dist-browser/chunks/BcH7_nnK.js +1 -0
- package/dist-browser/chunks/Bdd_iq-Z.js +1 -0
- package/dist-browser/chunks/BdkaRoRG.js +3 -0
- package/dist-browser/chunks/BeUM0nnI.js +1 -0
- package/dist-browser/chunks/BfkxY7do.js +13 -0
- package/dist-browser/chunks/BfzfmpKY.js +1 -0
- package/dist-browser/chunks/BgNGXLZH.js +1 -0
- package/dist-browser/chunks/Bgmtnmc9.js +1 -0
- package/dist-browser/chunks/BgtS-68o.js +1 -0
- package/dist-browser/chunks/BhE7ED0P.js +1 -0
- package/dist-browser/chunks/BhG-aLlJ.js +17 -0
- package/dist-browser/chunks/BhtgOF9y.js +1 -0
- package/dist-browser/chunks/BhvPhm_f.js +12 -0
- package/dist-browser/chunks/Bhvb25xz.js +1 -0
- package/dist-browser/chunks/Bi2imP0-.js +1 -0
- package/dist-browser/chunks/Bi4f74NJ.js +1 -0
- package/dist-browser/chunks/BiCMFIxo.js +1 -0
- package/dist-browser/chunks/BiSn0Dtc.js +1 -0
- package/dist-browser/chunks/BiU0PYSX.js +1 -0
- package/dist-browser/chunks/BipZQXT8.js +1 -0
- package/dist-browser/chunks/BiqCT0be.js +1 -0
- package/dist-browser/chunks/BjVVweLJ.js +1 -0
- package/dist-browser/chunks/BjeL5CV8.js +1 -0
- package/dist-browser/chunks/BjikXbkr.js +1 -0
- package/dist-browser/chunks/BkNRpWJF.js +1 -0
- package/dist-browser/chunks/BkWdvCr2.js +1 -0
- package/dist-browser/chunks/BkfYP8sS.js +1 -0
- package/dist-browser/chunks/BkoAp3nt.js +17 -0
- package/dist-browser/chunks/BkuNzUds.js +5 -0
- package/dist-browser/chunks/BlDBqfnQ.js +1 -0
- package/dist-browser/chunks/Blob4piG.js +1 -0
- package/dist-browser/chunks/Bm-NgCJv.js +290 -0
- package/dist-browser/chunks/BmwnZMHR.js +1 -0
- package/dist-browser/chunks/Bn-oguIM.js +1 -0
- package/dist-browser/chunks/Bn8JxKQd.js +947 -0
- package/dist-browser/chunks/Bn8l74kN.js +1 -0
- package/dist-browser/chunks/Bo2vvsC6.js +1 -0
- package/dist-browser/chunks/BoJD7UsQ.js +5 -0
- package/dist-browser/chunks/BoRPdfTd.js +1 -0
- package/dist-browser/chunks/BoTmVVAp.js +1 -0
- package/dist-browser/chunks/BoiOnH_p.js +1 -0
- package/dist-browser/chunks/Bpe2I0GB.js +1 -0
- package/dist-browser/chunks/BqD0o821.js +25 -0
- package/dist-browser/chunks/BqXaJXLb.js +1 -0
- package/dist-browser/chunks/BqsB_Ag5.js +1 -0
- package/dist-browser/chunks/Br-JA8rZ.js +1 -0
- package/dist-browser/chunks/Br2nhNMH.js +1 -0
- package/dist-browser/chunks/BrezGx31.js +3 -0
- package/dist-browser/chunks/BsZMTFvx.js +1 -0
- package/dist-browser/chunks/Bt2nCTua.js +51 -0
- package/dist-browser/chunks/BtM7kQaS.js +1 -0
- package/dist-browser/chunks/BtZNIAhj.js +1 -0
- package/dist-browser/chunks/Btgu8kW9.js +3 -0
- package/dist-browser/chunks/Btjboa9G.js +248 -0
- package/dist-browser/chunks/Btn1Hp7-.js +1 -0
- package/dist-browser/chunks/Bu1cOMsK.js +1 -0
- package/dist-browser/chunks/Bv2bGJo9.js +1 -0
- package/dist-browser/chunks/BvK95JoS.js +1 -0
- package/dist-browser/chunks/BvrPFs0h.js +1 -0
- package/dist-browser/chunks/BvsNGgEj.js +1 -0
- package/dist-browser/chunks/ByyEEkYz.js +1 -0
- package/dist-browser/chunks/BzAJiB5u.js +1 -0
- package/dist-browser/chunks/BzCmY2x1.js +68 -0
- package/dist-browser/chunks/BzKtjbg2.js +1 -0
- package/dist-browser/chunks/BzZ2lwsC.js +134 -0
- package/dist-browser/chunks/BzcZWs3f.js +1 -0
- package/dist-browser/chunks/BzuN4nW7.js +33 -0
- package/dist-browser/chunks/BzwHJPea.js +1 -0
- package/dist-browser/chunks/Bzy44bV2.js +4216 -0
- package/dist-browser/chunks/C-O8NhHK.js +1 -0
- package/dist-browser/chunks/C-_LmeNn.js +934 -0
- package/dist-browser/chunks/C-ztiLpW.js +1 -0
- package/dist-browser/chunks/C0Iji4Qk.js +1 -0
- package/dist-browser/chunks/C12xlM79.js +1 -0
- package/dist-browser/chunks/C1BDCorD.js +99 -0
- package/dist-browser/chunks/C2Dm6eUt.js +1 -0
- package/dist-browser/chunks/C2RePWen.js +1 -0
- package/dist-browser/chunks/C2suuPFw.js +1 -0
- package/dist-browser/chunks/C33aG9gN.js +1 -0
- package/dist-browser/chunks/C3Y15gp1.js +1 -0
- package/dist-browser/chunks/C3gvA1lh.js +1 -0
- package/dist-browser/chunks/C3pLayiC.js +143 -0
- package/dist-browser/chunks/C3wBsE11.js +1 -0
- package/dist-browser/chunks/C4E_bIDB.js +1 -0
- package/dist-browser/chunks/C4OFzvAP.js +1 -0
- package/dist-browser/chunks/C4fzyzUE.js +1 -0
- package/dist-browser/chunks/C5P0RHNI.js +1 -0
- package/dist-browser/chunks/C6XZSTSj.js +39 -0
- package/dist-browser/chunks/C784v2VA.js +1 -0
- package/dist-browser/chunks/C7CUzsYJ.js +1 -0
- package/dist-browser/chunks/C7FykdRJ.js +1 -0
- package/dist-browser/chunks/C7RSxM0z.js +1 -0
- package/dist-browser/chunks/C9J2i9In.js +2 -0
- package/dist-browser/chunks/C9Kd-Lrf.js +1 -0
- package/dist-browser/chunks/C9OKiK4z.js +15 -0
- package/dist-browser/chunks/C9bAX0wX.js +1 -0
- package/dist-browser/chunks/C9duFT9_.js +9 -0
- package/dist-browser/chunks/CA52Vkpa.js +3 -0
- package/dist-browser/chunks/CAB0sdkM.js +8 -0
- package/dist-browser/chunks/CBcRTsvX.js +1 -0
- package/dist-browser/chunks/CC8kNj4O.js +1 -0
- package/dist-browser/chunks/CC_taxfs.js +1 -0
- package/dist-browser/chunks/CCnjeop3.js +1 -0
- package/dist-browser/chunks/CD1Phcj7.js +1 -0
- package/dist-browser/chunks/CDBmfTua.js +1 -0
- package/dist-browser/chunks/CDFKagMr.js +1 -0
- package/dist-browser/chunks/CDZegpP1.js +1 -0
- package/dist-browser/chunks/CD_-ZdOx.js +1 -0
- package/dist-browser/chunks/CDmSfsbx.js +1 -0
- package/dist-browser/chunks/CDy5CkBb.js +1 -0
- package/dist-browser/chunks/CDyybrEA.js +1 -0
- package/dist-browser/chunks/CENY_jwA.js +5 -0
- package/dist-browser/chunks/CEfq3wMj.js +1 -0
- package/dist-browser/chunks/CEtY4HlI.js +1 -0
- package/dist-browser/chunks/CEtbZ-Ou.js +51 -0
- package/dist-browser/chunks/CFVbNh1J.js +1 -0
- package/dist-browser/chunks/CG5A_mHR.js +1 -0
- package/dist-browser/chunks/CGFRQ0IS.js +3 -0
- package/dist-browser/chunks/CGPPrudP.js +1 -0
- package/dist-browser/chunks/CGZdRHCz.js +1 -0
- package/dist-browser/chunks/CG_ggIC3.js +230 -0
- package/dist-browser/chunks/CHD7Siks.js +61 -0
- package/dist-browser/chunks/CHGAmNbz.js +24 -0
- package/dist-browser/chunks/CH_3weAk.js +136 -0
- package/dist-browser/chunks/CHnMaz0U.js +1 -0
- package/dist-browser/chunks/CHx28aAq.js +1 -0
- package/dist-browser/chunks/CIPEdQZg.js +1 -0
- package/dist-browser/chunks/CIU50MA1.js +1 -0
- package/dist-browser/chunks/CIXqygz5.js +42 -0
- package/dist-browser/chunks/CIz-HH07.js +1585 -0
- package/dist-browser/chunks/CJ4zQQhO.js +1 -0
- package/dist-browser/chunks/CJD9mRmQ.js +1 -0
- package/dist-browser/chunks/CJgknJ-O.js +12 -0
- package/dist-browser/chunks/CL1lltpM.js +1 -0
- package/dist-browser/chunks/CLxcu-z_.js +73 -0
- package/dist-browser/chunks/CM3pB59z.js +1 -0
- package/dist-browser/chunks/CM7fr6V2.js +1 -0
- package/dist-browser/chunks/CMCldyjy.js +1 -0
- package/dist-browser/chunks/CMhbdUh_.js +1 -0
- package/dist-browser/chunks/CMj-G0tG.js +1 -0
- package/dist-browser/chunks/CMy5JYMZ.js +1 -0
- package/dist-browser/chunks/CNS048lI.js +1 -0
- package/dist-browser/chunks/CO0SZ1hy.js +1 -0
- package/dist-browser/chunks/COnv2PBF.js +2 -0
- package/dist-browser/chunks/CP27PMpS.js +1 -0
- package/dist-browser/chunks/CQRcPihd.js +6 -0
- package/dist-browser/chunks/CRDIjF8C.js +2 -0
- package/dist-browser/chunks/CRFCYrrv.js +1 -0
- package/dist-browser/chunks/CRL527zA.js +1 -0
- package/dist-browser/chunks/CRuuK4qI.js +1 -0
- package/dist-browser/chunks/CSrliGR5.js +1 -0
- package/dist-browser/chunks/CT24MROG.js +36 -0
- package/dist-browser/chunks/CTKsfpS6.js +1 -0
- package/dist-browser/chunks/CTovL-9G.js +1 -0
- package/dist-browser/chunks/CU2_4WYp.js +1 -0
- package/dist-browser/chunks/CVn3AkL4.js +3 -0
- package/dist-browser/chunks/CW47wlpJ.js +1 -0
- package/dist-browser/chunks/CWtE2FH4.js +6 -0
- package/dist-browser/chunks/CWtqwiJb.js +1 -0
- package/dist-browser/chunks/CX2yvOMR.js +32 -0
- package/dist-browser/chunks/CXYvZiC5.js +1 -0
- package/dist-browser/chunks/CY2_o-A_.js +1 -0
- package/dist-browser/chunks/CYD5IpHG.js +1 -0
- package/dist-browser/chunks/CYFmo-2d.js +1 -0
- package/dist-browser/chunks/CYzJaZmG.js +1 -0
- package/dist-browser/chunks/CZng9q4s.js +1 -0
- package/dist-browser/chunks/C_3LSlp_.js +1 -0
- package/dist-browser/chunks/C_popvm5.js +1 -0
- package/dist-browser/chunks/Ca2qCbBO.js +227 -0
- package/dist-browser/chunks/CaayFmFc.js +68 -0
- package/dist-browser/chunks/CagC9ufD.js +6 -0
- package/dist-browser/chunks/CamHr2sm.js +9 -0
- package/dist-browser/chunks/Caw9wDgF.js +1 -0
- package/dist-browser/chunks/CbRyzWz3.js +1 -0
- package/dist-browser/chunks/CcQz6dxG.js +68 -0
- package/dist-browser/chunks/CcUHIKVc.js +1 -0
- package/dist-browser/chunks/Cd20lYkt.js +23 -0
- package/dist-browser/chunks/Cdj8C4sv.js +1 -0
- package/dist-browser/chunks/CeWzMWwP.js +1 -0
- package/dist-browser/chunks/Ceeo2sCz.js +1 -0
- package/dist-browser/chunks/CerF2aP5.js +1 -0
- package/dist-browser/chunks/Cew-kv76.js +1 -0
- package/dist-browser/chunks/Cf1F89pD.js +1 -0
- package/dist-browser/chunks/Cff8_5zr.js +1 -0
- package/dist-browser/chunks/Cgy6G_V-.js +1 -0
- package/dist-browser/chunks/ChAqhjhd.js +243 -0
- package/dist-browser/chunks/Chg_Q8x6.js +1 -0
- package/dist-browser/chunks/Chx9z6ee.js +3 -0
- package/dist-browser/chunks/Ci0DiZOM.js +1 -0
- package/dist-browser/chunks/CiD_XHlg.js +1 -0
- package/dist-browser/chunks/CjL-uP84.js +1 -0
- package/dist-browser/chunks/CjPBNVRF.js +2 -0
- package/dist-browser/chunks/CjTILWD4.js +3 -0
- package/dist-browser/chunks/CkmGh-87.js +1 -0
- package/dist-browser/chunks/ClZqxSEX.js +1 -0
- package/dist-browser/chunks/CluBrQDl.js +1 -0
- package/dist-browser/chunks/Clzbw8hC.js +104 -0
- package/dist-browser/chunks/CmEJbuVc.js +1 -0
- package/dist-browser/chunks/CmlWyQpr.js +1 -0
- package/dist-browser/chunks/Cnh5-qw-.js +10 -0
- package/dist-browser/chunks/CnwbVRym.js +1 -0
- package/dist-browser/chunks/Co55Z6b-.js +34 -0
- package/dist-browser/chunks/CoqDcyee.js +1 -0
- package/dist-browser/chunks/CorZBnkZ.js +71 -0
- package/dist-browser/chunks/CpKf07f9.js +72 -0
- package/dist-browser/chunks/CqXobSJH.js +82 -0
- package/dist-browser/chunks/CqwcKTEN.js +1 -0
- package/dist-browser/chunks/Cs23D-lk.js +18 -0
- package/dist-browser/chunks/CsT20qOq.js +1 -0
- package/dist-browser/chunks/CsTuUPUb.js +1 -0
- package/dist-browser/chunks/CtCvKs-8.js +1 -0
- package/dist-browser/chunks/CtpF73Mi.js +1 -0
- package/dist-browser/chunks/CuHid4qh.js +1 -0
- package/dist-browser/chunks/CuhwmTWw.js +2 -0
- package/dist-browser/chunks/Cv31r4NA.js +1 -0
- package/dist-browser/chunks/CvVTau-c.js +1 -0
- package/dist-browser/chunks/Cvdyeg_0.js +1 -0
- package/dist-browser/chunks/CvgsNxMb.js +1 -0
- package/dist-browser/chunks/Cvk3fWJd.js +31 -0
- package/dist-browser/chunks/Cvq_OonK.js +1 -0
- package/dist-browser/chunks/Cvzg7xRz.js +1039 -0
- package/dist-browser/chunks/CwPUhsCN.js +111 -0
- package/dist-browser/chunks/CwTYnDSQ.js +1 -0
- package/dist-browser/chunks/CwVb7sDh.js +1 -0
- package/dist-browser/chunks/CwkwVzf9.js +1 -0
- package/dist-browser/chunks/Cwsm87qt.js +1 -0
- package/dist-browser/chunks/CwtYJaZ0.js +1 -0
- package/dist-browser/chunks/CxBgnQIE.js +1 -0
- package/dist-browser/chunks/CxRCGV_D.js +1 -0
- package/dist-browser/chunks/CxW3h7EP.js +1 -0
- package/dist-browser/chunks/CxdFFqFC.js +1 -0
- package/dist-browser/chunks/Cxl6U4QM.js +1 -0
- package/dist-browser/chunks/CxqqJceE.js +262 -0
- package/dist-browser/chunks/CyUjhzls.js +1 -0
- package/dist-browser/chunks/CzHZycAX.js +1 -0
- package/dist-browser/chunks/CzVBHx3T.js +1 -0
- package/dist-browser/chunks/D-J5r5vm.js +502 -0
- package/dist-browser/chunks/D-ZRVGDk.js +1 -0
- package/dist-browser/chunks/D10MTZ8f.js +1 -0
- package/dist-browser/chunks/D1dFmEHc.js +82 -0
- package/dist-browser/chunks/D2SJBO5U.js +1 -0
- package/dist-browser/chunks/D2bDAUlP.js +1 -0
- package/dist-browser/chunks/D2qpNyTi.js +1 -0
- package/dist-browser/chunks/D3Fr6yvq.js +1 -0
- package/dist-browser/chunks/D3_eaTYS.js +1 -0
- package/dist-browser/chunks/D3lBoMMr.js +29 -0
- package/dist-browser/chunks/D5CFWMVX.js +1 -0
- package/dist-browser/chunks/D5Cj4ub7.js +1 -0
- package/dist-browser/chunks/D5EJDMZ-.js +2 -0
- package/dist-browser/chunks/D6E_gImS.js +1 -0
- package/dist-browser/chunks/D6XXX9Ue.js +1 -0
- package/dist-browser/chunks/D6fd1dZA.js +1 -0
- package/dist-browser/chunks/D852BHwA.js +40 -0
- package/dist-browser/chunks/D8inQ_yL.js +1 -0
- package/dist-browser/chunks/D9XZ_4Ga.js +145 -0
- package/dist-browser/chunks/D9dlo-Ln.js +1 -0
- package/dist-browser/chunks/DAB0WqX0.js +1 -0
- package/dist-browser/chunks/DAH2JXIW.js +1 -0
- package/dist-browser/chunks/DAPFhXVb.js +22 -0
- package/dist-browser/chunks/DAxE8pMD.js +45 -0
- package/dist-browser/chunks/DBj6QGQs.js +1 -0
- package/dist-browser/chunks/DC3L5U86.js +1 -0
- package/dist-browser/chunks/DC9vc-0L.js +1 -0
- package/dist-browser/chunks/DCJlJ3lv.js +1 -0
- package/dist-browser/chunks/DCaQLeIq.js +1 -0
- package/dist-browser/chunks/DCc-gTDg.js +1 -0
- package/dist-browser/chunks/DD2V7Wxl.js +1 -0
- package/dist-browser/chunks/DD6onItE.js +1 -0
- package/dist-browser/chunks/DDLmvpjg.js +1 -0
- package/dist-browser/chunks/DDRCiC_a.js +1 -0
- package/dist-browser/chunks/DEW70SgN.js +1 -0
- package/dist-browser/chunks/DEucxoKb.js +1 -0
- package/dist-browser/chunks/DF6Qh6eu.js +1 -0
- package/dist-browser/chunks/DFtj_qQf.js +63 -0
- package/dist-browser/chunks/DG4h2xXm.js +45 -0
- package/dist-browser/chunks/DGYxR7PN.js +26 -0
- package/dist-browser/chunks/DGlba0EV.js +1 -0
- package/dist-browser/chunks/DHOehIg0.js +30 -0
- package/dist-browser/chunks/DHiTLWtz.js +1 -0
- package/dist-browser/chunks/DIHxCXEJ.js +1 -0
- package/dist-browser/chunks/DII2y8tL.js +546 -0
- package/dist-browser/chunks/DIcTMzLD.js +31 -0
- package/dist-browser/chunks/DImXrYb5.js +1 -0
- package/dist-browser/chunks/DIvOsQJS.js +393 -0
- package/dist-browser/chunks/DJCfJlBy.js +1 -0
- package/dist-browser/chunks/DKnN7RH0.js +1 -0
- package/dist-browser/chunks/DKrOx_1M.js +1 -0
- package/dist-browser/chunks/DMcWzziy.js +1 -0
- package/dist-browser/chunks/DMk6G0lv.js +1 -0
- package/dist-browser/chunks/DMyNEYzI.js +1 -0
- package/dist-browser/chunks/DN0xP1fa.js +1 -0
- package/dist-browser/chunks/DNef-bWt.js +1 -0
- package/dist-browser/chunks/DNhTxxCh.js +1 -0
- package/dist-browser/chunks/DNoIqPE7.js +1 -0
- package/dist-browser/chunks/DNsR67l1.js +3 -0
- package/dist-browser/chunks/DOEmZHjx.js +1 -0
- package/dist-browser/chunks/DOFYt5cj.js +1 -0
- package/dist-browser/chunks/DOWMFTFl.js +38 -0
- package/dist-browser/chunks/DOYycP3M.js +1 -0
- package/dist-browser/chunks/DOidSPk5.js +1 -0
- package/dist-browser/chunks/DOvE9vCY.js +97 -0
- package/dist-browser/chunks/DOyIRes1.js +1 -0
- package/dist-browser/chunks/DPIksCnG.js +41 -0
- package/dist-browser/chunks/DPNgRv8u.js +1 -0
- package/dist-browser/chunks/DPXctdFS.js +27 -0
- package/dist-browser/chunks/DPnn0uIO.js +1 -0
- package/dist-browser/chunks/DQ0A9BJI.js +1 -0
- package/dist-browser/chunks/DQbqNpgw.js +1 -0
- package/dist-browser/chunks/DQea7zxR.js +1 -0
- package/dist-browser/chunks/DSMSQCrr.js +36 -0
- package/dist-browser/chunks/DSp9shD_.js +1 -0
- package/dist-browser/chunks/DT0rWxA4.js +1176 -0
- package/dist-browser/chunks/DTtjHrtM.js +1 -0
- package/dist-browser/chunks/DV53iZve.js +64 -0
- package/dist-browser/chunks/DVAMQgZs.js +1 -0
- package/dist-browser/chunks/DVcRBsZ0.js +69 -0
- package/dist-browser/chunks/DVrViq4W.js +1 -0
- package/dist-browser/chunks/DWe0PJKb.js +1 -0
- package/dist-browser/chunks/DWgUahRJ.js +1 -0
- package/dist-browser/chunks/DXJRs_pC.js +1 -0
- package/dist-browser/chunks/DXq97sWO.js +1 -0
- package/dist-browser/chunks/DXzwsPHQ.js +8 -0
- package/dist-browser/chunks/DYoIHzIt.js +2 -0
- package/dist-browser/chunks/DZJGj1NY.js +1 -0
- package/dist-browser/chunks/DZYUBtK-.js +10 -0
- package/dist-browser/chunks/DZmRZ_iP.js +1 -0
- package/dist-browser/chunks/D_MQ9Xc9.js +1 -0
- package/dist-browser/chunks/D_V_oqfi.js +1 -0
- package/dist-browser/chunks/D_fJrOcA.js +1 -0
- package/dist-browser/chunks/DaE8j1Mj.js +1 -0
- package/dist-browser/chunks/DaNJDW05.js +120 -0
- package/dist-browser/chunks/DaqOKjgV.js +2 -0
- package/dist-browser/chunks/DbM1VGG0.js +1 -0
- package/dist-browser/chunks/DbVolxbX.js +1 -0
- package/dist-browser/chunks/Dd3Azzh1.js +102 -0
- package/dist-browser/chunks/Dd_HZKyk.js +1 -0
- package/dist-browser/chunks/DePrIwoT.js +1 -0
- package/dist-browser/chunks/Df-3V4RI.js +1 -0
- package/dist-browser/chunks/DfPCBWZC.js +35 -0
- package/dist-browser/chunks/DfTjtDZE.js +1 -0
- package/dist-browser/chunks/Dfdpy3ar.js +1 -0
- package/dist-browser/chunks/DhQi6uM8.js +1 -0
- package/dist-browser/chunks/Dhq0zrZC.js +131 -0
- package/dist-browser/chunks/DhrQ_H4H.js +1 -0
- package/dist-browser/chunks/Di27GzYt.js +1 -0
- package/dist-browser/chunks/Di8-zyqt.js +1 -0
- package/dist-browser/chunks/DifZdnzu.js +1 -0
- package/dist-browser/chunks/DikvOXI-.js +1 -0
- package/dist-browser/chunks/Dj3lr7h3.js +33 -0
- package/dist-browser/chunks/Dj8ovMlo.js +1 -0
- package/dist-browser/chunks/DjcMDPrm.js +67 -0
- package/dist-browser/chunks/DkVVho_1.js +1 -0
- package/dist-browser/chunks/Dkh1AfX5.js +1 -0
- package/dist-browser/chunks/DkwGHqUD.js +1 -0
- package/dist-browser/chunks/Dl96d5U7.js +1 -0
- package/dist-browser/chunks/DlW29B4u.js +3 -0
- package/dist-browser/chunks/DmSNe3jl.js +387 -0
- package/dist-browser/chunks/DmxSxKXn.js +1 -0
- package/dist-browser/chunks/DnFdLC2j.js +1 -0
- package/dist-browser/chunks/DnUyDgmE.js +1 -0
- package/dist-browser/chunks/DnvK0nWc.js +1 -0
- package/dist-browser/chunks/DoEd4p-l.js +1 -0
- package/dist-browser/chunks/DoX7pGYd.js +140 -0
- package/dist-browser/chunks/Dp6fzsZG.js +1 -0
- package/dist-browser/chunks/DpM23pTz.js +33 -0
- package/dist-browser/chunks/DpZZtTTL.js +2 -0
- package/dist-browser/chunks/DqAbaJTn.js +1 -0
- package/dist-browser/chunks/DqMSA0q-.js +1 -0
- package/dist-browser/chunks/DqNrCZSo.js +1 -0
- package/dist-browser/chunks/DqP3aSvp.js +43 -0
- package/dist-browser/chunks/Dqi6K18W.js +1 -0
- package/dist-browser/chunks/DqqKpYoS.js +2 -0
- package/dist-browser/chunks/Dqqmos-r.js +1 -0
- package/dist-browser/chunks/Dr26QZ_C.js +1 -0
- package/dist-browser/chunks/DrRp_OBG.js +1 -0
- package/dist-browser/chunks/Ds0gQyON.js +1 -0
- package/dist-browser/chunks/DsNI9SjT.js +1 -0
- package/dist-browser/chunks/DskxWO57.js +1 -0
- package/dist-browser/chunks/DspI2fym.js +33 -0
- package/dist-browser/chunks/DtbRpC-a.js +2 -0
- package/dist-browser/chunks/Dtc9u0hV.js +1 -0
- package/dist-browser/chunks/DtdxxwYW.js +1 -0
- package/dist-browser/chunks/Du2r_IDC.js +1 -0
- package/dist-browser/chunks/DuiL5B5s.js +1 -0
- package/dist-browser/chunks/DvMRww-v.js +1 -0
- package/dist-browser/chunks/Dvzw_jou.js +1 -0
- package/dist-browser/chunks/DwsXVYGF.js +1 -0
- package/dist-browser/chunks/DxVZve2V.js +89 -0
- package/dist-browser/chunks/Dy4Ev-pT.js +1 -0
- package/dist-browser/chunks/DyGuOmo0.js +1 -0
- package/dist-browser/chunks/DyXA-iwx.js +1 -0
- package/dist-browser/chunks/Dypqlsev.js +1 -0
- package/dist-browser/chunks/Dyqt3CuN.js +1 -0
- package/dist-browser/chunks/DyxvzuFy.js +284 -0
- package/dist-browser/chunks/DzMSiy_7.js +1 -0
- package/dist-browser/chunks/DzaY1F1G.js +1 -0
- package/dist-browser/chunks/EtRHumNJ.js +1 -0
- package/dist-browser/chunks/FASUCRk-.js +3 -0
- package/dist-browser/chunks/FeUl7sn8.js +1 -0
- package/dist-browser/chunks/FjuaFAN8.js +25 -0
- package/dist-browser/chunks/FsV9kMlK.js +1 -0
- package/dist-browser/chunks/GB4zXBMC.js +1 -0
- package/dist-browser/chunks/Guirowam.js +8 -0
- package/dist-browser/chunks/HJHNBZzR.js +1 -0
- package/dist-browser/chunks/HOXwa5Zi.js +1 -0
- package/dist-browser/chunks/HhGGA2q1.js +1 -0
- package/dist-browser/chunks/HjLsj9Wb.js +1 -0
- package/dist-browser/chunks/ILniMPMQ.js +1 -0
- package/dist-browser/chunks/IPgW5q-o.js +1 -0
- package/dist-browser/chunks/IRJFdyYz.js +1 -0
- package/dist-browser/chunks/J1EyHJSp.js +1 -0
- package/dist-browser/chunks/JtVcQQeX.js +5 -0
- package/dist-browser/chunks/KYZpoAyE.js +1 -0
- package/dist-browser/chunks/KjHCb3-W.js +2 -0
- package/dist-browser/chunks/Kp8JypHd.js +441 -0
- package/dist-browser/chunks/Ku6I7UKh.js +1 -0
- package/dist-browser/chunks/KzprlngN.js +1 -0
- package/dist-browser/chunks/L5CwTQJI.js +4 -0
- package/dist-browser/chunks/L9tCceA2.js +150 -0
- package/dist-browser/chunks/L_tB79W_.js +1 -0
- package/dist-browser/chunks/MDiJyUbk.js +1 -0
- package/dist-browser/chunks/MaXgxQlM.js +1 -0
- package/dist-browser/chunks/N5x7ZUws.js +1 -0
- package/dist-browser/chunks/NZYk81nU.js +1 -0
- package/dist-browser/chunks/Np7O_rbA.js +1 -0
- package/dist-browser/chunks/Oo8Rc01u.js +1 -0
- package/dist-browser/chunks/OtECxeEN.js +9 -0
- package/dist-browser/chunks/OtOkABqS.js +158 -0
- package/dist-browser/chunks/Oyc0qEPK.js +1 -0
- package/dist-browser/chunks/PDPf8POY.js +1 -0
- package/dist-browser/chunks/QRJE7tia.js +1 -0
- package/dist-browser/chunks/Q_sagimg.js +1 -0
- package/dist-browser/chunks/QgFqrot_.js +1 -0
- package/dist-browser/chunks/QpPH2K9r.js +1 -0
- package/dist-browser/chunks/R8vFmq4f.js +1 -0
- package/dist-browser/chunks/RxUw8kPH.js +1 -0
- package/dist-browser/chunks/SO6iJj34.js +1 -0
- package/dist-browser/chunks/SWr9_u-k.js +13 -0
- package/dist-browser/chunks/TQJJL2UK.js +27 -0
- package/dist-browser/chunks/UE6Xi3ol.js +1 -0
- package/dist-browser/chunks/VGXLiJ0S.js +1 -0
- package/dist-browser/chunks/VMH7wDAk.js +1 -0
- package/dist-browser/chunks/VwXcqbG4.js +23 -0
- package/dist-browser/chunks/Wmd1pmNu.js +1 -0
- package/dist-browser/chunks/XTdr3vkK.js +1 -0
- package/dist-browser/chunks/XaLSS-X1.js +23 -0
- package/dist-browser/chunks/XhPbWY7N.js +1 -0
- package/dist-browser/chunks/Y4nknrnT.js +1 -0
- package/dist-browser/chunks/Y9xF8jFn.js +23 -0
- package/dist-browser/chunks/_-SUJuni.js +1 -0
- package/dist-browser/chunks/_M7-qabf.js +101 -0
- package/dist-browser/chunks/_qsNVwXW.js +1 -0
- package/dist-browser/chunks/_vvwCLWQ.js +1 -0
- package/dist-browser/chunks/b6V8XMYY.js +1 -0
- package/dist-browser/chunks/bA3FB4mi.js +3 -0
- package/dist-browser/chunks/bAf7cF9y.js +1 -0
- package/dist-browser/chunks/bhrkTdEx.js +538 -0
- package/dist-browser/chunks/dFGbvMHe.js +1 -0
- package/dist-browser/chunks/dOIX3hJ7.js +1 -0
- package/dist-browser/chunks/eUYPiZ2p.js +1 -0
- package/dist-browser/chunks/eUiHGfWU.js +1 -0
- package/dist-browser/chunks/f6_vnw-E.js +1 -0
- package/dist-browser/chunks/fE2ZfJiX.js +1 -0
- package/dist-browser/chunks/gZQtAM7h.js +2 -0
- package/dist-browser/chunks/h8XD1xl-.js +1 -0
- package/dist-browser/chunks/hEdm-zUW.js +1 -0
- package/dist-browser/chunks/hWCYme74.js +1 -0
- package/dist-browser/chunks/hfB064S0.js +1 -0
- package/dist-browser/chunks/hlEBxUea.js +1 -0
- package/dist-browser/chunks/j5sGo2Pt.js +1 -0
- package/dist-browser/chunks/kG0ku-oF.js +1 -0
- package/dist-browser/chunks/kLNROLfT.js +1 -0
- package/dist-browser/chunks/kggDnku6.js +1 -0
- package/dist-browser/chunks/klRtNUrN.js +1 -0
- package/dist-browser/chunks/lOD1Gn8c.js +1 -0
- package/dist-browser/chunks/lrh33Ko2.js +1 -0
- package/dist-browser/chunks/mB6FoGFb.js +1 -0
- package/dist-browser/chunks/msmucz6Z.js +1 -0
- package/dist-browser/chunks/nEtJtbDE.js +1 -0
- package/dist-browser/chunks/nvwS1LmH.js +1 -0
- package/dist-browser/chunks/oqmnhzmi.js +2 -0
- package/dist-browser/chunks/pICTBHHN.js +1 -0
- package/dist-browser/chunks/pU4H1b3r.js +43 -0
- package/dist-browser/chunks/qBpAlJSP.js +1 -0
- package/dist-browser/chunks/qCjqID6v.js +1 -0
- package/dist-browser/chunks/r-cfH8A5.js +1 -0
- package/dist-browser/chunks/rgDalb_G.js +1 -0
- package/dist-browser/chunks/rolldown-runtime-hePW80VL.js +1 -0
- package/dist-browser/chunks/sdmDudQj.js +1 -0
- package/dist-browser/chunks/shRf5cdU.js +1 -0
- package/dist-browser/chunks/tvcsfh86.js +1 -0
- package/dist-browser/chunks/tz7IArSg.js +1 -0
- package/dist-browser/chunks/u--BrnjZ.js +1 -0
- package/dist-browser/chunks/uBIymjUX.js +1 -0
- package/dist-browser/chunks/uHO_HSNA.js +1 -0
- package/dist-browser/chunks/uZz_bF7-.js +1 -0
- package/dist-browser/chunks/uc0Y9KUA.js +1 -0
- package/dist-browser/chunks/ud6upqGO.js +2 -0
- package/dist-browser/chunks/udTuD3NU.js +1 -0
- package/dist-browser/chunks/ul0Kb67V.js +38 -0
- package/dist-browser/chunks/uq1wJ3hU.js +322 -0
- package/dist-browser/chunks/vA_owFWw.js +1 -0
- package/dist-browser/chunks/vgYSnL0k.js +1 -0
- package/dist-browser/chunks/vjQO9b4G.js +1 -0
- package/dist-browser/chunks/vm1kntVK.js +18 -0
- package/dist-browser/chunks/vnMr9U1p.js +1 -0
- package/dist-browser/chunks/vyik5ymL.js +1 -0
- package/dist-browser/chunks/w2RB3fs9.js +1 -0
- package/dist-browser/chunks/wmdxOiEL.js +1 -0
- package/dist-browser/chunks/xtpWQ17d.js +27 -0
- package/dist-browser/chunks/yRMgu4ay.js +3 -0
- package/dist-browser/chunks/yYrq3lUc.js +42 -0
- package/dist-browser/chunks/yieoIIce.js +1 -0
- package/dist-browser/chunks/yzr1keSX.js +38 -0
- package/dist-browser/chunks/z94mqM9o.js +1 -0
- package/dist-browser/chunks/zSWKwMId.js +1 -0
- package/dist-browser/importmap.json +1761 -0
- package/dist-browser/koota/react.js +1 -0
- package/dist-browser/koota.js +1 -0
- package/dist-browser/postprocessing.js +1 -0
- package/dist-browser/react/jsx-runtime.js +1 -0
- package/dist-browser/react-dom/client.js +1 -0
- package/dist-browser/react-dom.js +1 -0
- package/dist-browser/react.js +1 -0
- package/dist-browser/release.json +11655 -0
- package/dist-browser/three/addons/Addons.js +1 -0
- package/dist-browser/three/addons/animation/AnimationClipCreator.js +1 -0
- package/dist-browser/three/addons/animation/CCDIKSolver.js +1 -0
- package/dist-browser/three/addons/capabilities/WebGL.js +1 -0
- package/dist-browser/three/addons/capabilities/WebGPU.js +1 -0
- package/dist-browser/three/addons/controls/ArcballControls.js +1 -0
- package/dist-browser/three/addons/controls/DragControls.js +1 -0
- package/dist-browser/three/addons/controls/FirstPersonControls.js +1 -0
- package/dist-browser/three/addons/controls/FlyControls.js +1 -0
- package/dist-browser/three/addons/controls/MapControls.js +1 -0
- package/dist-browser/three/addons/controls/OrbitControls.js +1 -0
- package/dist-browser/three/addons/controls/PointerLockControls.js +1 -0
- package/dist-browser/three/addons/controls/TrackballControls.js +1 -0
- package/dist-browser/three/addons/controls/TransformControls.js +1 -0
- package/dist-browser/three/addons/csm/CSM.js +1 -0
- package/dist-browser/three/addons/csm/CSMFrustum.js +1 -0
- package/dist-browser/three/addons/csm/CSMHelper.js +1 -0
- package/dist-browser/three/addons/csm/CSMShader.js +1 -0
- package/dist-browser/three/addons/csm/CSMShadowNode.js +1 -0
- package/dist-browser/three/addons/curves/CurveExtras.js +1 -0
- package/dist-browser/three/addons/curves/NURBSCurve.js +1 -0
- package/dist-browser/three/addons/curves/NURBSSurface.js +1 -0
- package/dist-browser/three/addons/curves/NURBSUtils.js +1 -0
- package/dist-browser/three/addons/curves/NURBSVolume.js +1 -0
- package/dist-browser/three/addons/effects/AnaglyphEffect.js +1 -0
- package/dist-browser/three/addons/effects/AsciiEffect.js +1 -0
- package/dist-browser/three/addons/effects/OutlineEffect.js +1 -0
- package/dist-browser/three/addons/effects/ParallaxBarrierEffect.js +1 -0
- package/dist-browser/three/addons/effects/StereoEffect.js +1 -0
- package/dist-browser/three/addons/environments/ColorEnvironment.js +1 -0
- package/dist-browser/three/addons/environments/DebugEnvironment.js +1 -0
- package/dist-browser/three/addons/environments/RoomEnvironment.js +1 -0
- package/dist-browser/three/addons/exporters/DRACOExporter.js +1 -0
- package/dist-browser/three/addons/exporters/EXRExporter.js +1 -0
- package/dist-browser/three/addons/exporters/GLTFExporter.js +1 -0
- package/dist-browser/three/addons/exporters/KTX2Exporter.js +1 -0
- package/dist-browser/three/addons/exporters/OBJExporter.js +1 -0
- package/dist-browser/three/addons/exporters/PLYExporter.js +1 -0
- package/dist-browser/three/addons/exporters/STLExporter.js +1 -0
- package/dist-browser/three/addons/exporters/USDZExporter.js +1 -0
- package/dist-browser/three/addons/generators/CityGenerator.js +1 -0
- package/dist-browser/three/addons/generators/ForestGenerator.js +1 -0
- package/dist-browser/three/addons/generators/TerrainGenerator.js +1 -0
- package/dist-browser/three/addons/generators/TreeGenerator.js +1 -0
- package/dist-browser/three/addons/generators/city/BenchGenerator.js +1 -0
- package/dist-browser/three/addons/generators/city/CarGenerator.js +1 -0
- package/dist-browser/three/addons/generators/city/CityGeneratorUtils.js +1 -0
- package/dist-browser/three/addons/generators/city/HydrantGenerator.js +1 -0
- package/dist-browser/three/addons/generators/city/InstancedMeshGenerator.js +1 -0
- package/dist-browser/three/addons/generators/city/PersonGenerator.js +1 -0
- package/dist-browser/three/addons/generators/city/SidewalkGenerator.js +1 -0
- package/dist-browser/three/addons/generators/city/SkyscraperGenerator.js +1 -0
- package/dist-browser/three/addons/generators/city/StreetTreeGenerator.js +1 -0
- package/dist-browser/three/addons/generators/city/StreetlightGenerator.js +1 -0
- package/dist-browser/three/addons/generators/city/TrafficlightGenerator.js +1 -0
- package/dist-browser/three/addons/generators/city/TrashcanGenerator.js +1 -0
- package/dist-browser/three/addons/geometries/BoxLineGeometry.js +1 -0
- package/dist-browser/three/addons/geometries/ConvexGeometry.js +1 -0
- package/dist-browser/three/addons/geometries/DecalGeometry.js +1 -0
- package/dist-browser/three/addons/geometries/LoftGeometry.js +1 -0
- package/dist-browser/three/addons/geometries/ParametricFunctions.js +1 -0
- package/dist-browser/three/addons/geometries/ParametricGeometry.js +1 -0
- package/dist-browser/three/addons/geometries/RoundedBoxGeometry.js +1 -0
- package/dist-browser/three/addons/geometries/TeapotGeometry.js +1 -0
- package/dist-browser/three/addons/geometries/TextGeometry.js +1 -0
- package/dist-browser/three/addons/gpgpu/BitonicSort.js +1 -0
- package/dist-browser/three/addons/gpgpu/CountingSort.js +1 -0
- package/dist-browser/three/addons/helpers/AnimationPathHelper.js +1 -0
- package/dist-browser/three/addons/helpers/LightProbeGridHelper.js +1 -0
- package/dist-browser/three/addons/helpers/LightProbeGridHelperWebGL.js +80 -0
- package/dist-browser/three/addons/helpers/LightProbeHelper.js +1 -0
- package/dist-browser/three/addons/helpers/LightProbeHelperGPU.js +1 -0
- package/dist-browser/three/addons/helpers/OctreeHelper.js +1 -0
- package/dist-browser/three/addons/helpers/PositionalAudioHelper.js +1 -0
- package/dist-browser/three/addons/helpers/RapierHelper.js +1 -0
- package/dist-browser/three/addons/helpers/RectAreaLightHelper.js +1 -0
- package/dist-browser/three/addons/helpers/TextureHelper.js +1 -0
- package/dist-browser/three/addons/helpers/TextureHelperGPU.js +1 -0
- package/dist-browser/three/addons/helpers/VertexNormalsHelper.js +1 -0
- package/dist-browser/three/addons/helpers/VertexTangentsHelper.js +1 -0
- package/dist-browser/three/addons/helpers/ViewHelper.js +1 -0
- package/dist-browser/three/addons/inspector/Extension.js +1 -0
- package/dist-browser/three/addons/inspector/Inspector.js +1 -0
- package/dist-browser/three/addons/inspector/RendererInspector.js +1 -0
- package/dist-browser/three/addons/inspector/extensions/color-grading/ColorGrading.js +1 -0
- package/dist-browser/three/addons/inspector/extensions/color-grading/ColorWheel.js +1 -0
- package/dist-browser/three/addons/inspector/extensions/color-grading/CurveEditor.js +1 -0
- package/dist-browser/three/addons/inspector/extensions/color-grading/LUT3DStyle.js +1 -0
- package/dist-browser/three/addons/inspector/extensions/color-grading/LUTMath.js +1 -0
- package/dist-browser/three/addons/inspector/extensions/color-grading/modules/BrightnessModule.js +1 -0
- package/dist-browser/three/addons/inspector/extensions/color-grading/modules/ColorWheelModule.js +1 -0
- package/dist-browser/three/addons/inspector/extensions/color-grading/modules/ContrastModule.js +1 -0
- package/dist-browser/three/addons/inspector/extensions/color-grading/modules/CurvesModule.js +1 -0
- package/dist-browser/three/addons/inspector/extensions/color-grading/modules/ExposureHueModule.js +1 -0
- package/dist-browser/three/addons/inspector/extensions/color-grading/modules/ExposureModule.js +1 -0
- package/dist-browser/three/addons/inspector/extensions/color-grading/modules/HueModule.js +1 -0
- package/dist-browser/three/addons/inspector/extensions/color-grading/modules/ImportedCubeModule.js +1 -0
- package/dist-browser/three/addons/inspector/extensions/color-grading/modules/Module.js +1 -0
- package/dist-browser/three/addons/inspector/extensions/color-grading/modules/OutputModule.js +1 -0
- package/dist-browser/three/addons/inspector/extensions/color-grading/modules/RendererModule.js +1 -0
- package/dist-browser/three/addons/inspector/extensions/color-grading/modules/SatVibranceModule.js +1 -0
- package/dist-browser/three/addons/inspector/extensions/color-grading/modules/SaturationModule.js +1 -0
- package/dist-browser/three/addons/inspector/extensions/color-grading/modules/VibranceModule.js +1 -0
- package/dist-browser/three/addons/inspector/extensions/color-grading/modules/WhiteBalanceModule.js +1 -0
- package/dist-browser/three/addons/inspector/extensions/tsl-graph/TSLGraphEditor.js +1 -0
- package/dist-browser/three/addons/inspector/extensions/tsl-graph/TSLGraphLoader.js +1 -0
- package/dist-browser/three/addons/inspector/tabs/Console.js +1 -0
- package/dist-browser/three/addons/inspector/tabs/Memory.js +1 -0
- package/dist-browser/three/addons/inspector/tabs/Parameters.js +1 -0
- package/dist-browser/three/addons/inspector/tabs/Performance.js +1 -0
- package/dist-browser/three/addons/inspector/tabs/Settings.js +1 -0
- package/dist-browser/three/addons/inspector/tabs/Timeline.js +1 -0
- package/dist-browser/three/addons/inspector/tabs/Viewer.js +1 -0
- package/dist-browser/three/addons/inspector/ui/Graph.js +1 -0
- package/dist-browser/three/addons/inspector/ui/Item.js +1 -0
- package/dist-browser/three/addons/inspector/ui/List.js +1 -0
- package/dist-browser/three/addons/inspector/ui/Profiler.js +1 -0
- package/dist-browser/three/addons/inspector/ui/Style.js +1 -0
- package/dist-browser/three/addons/inspector/ui/Tab.js +1 -0
- package/dist-browser/three/addons/inspector/ui/Values.js +1 -0
- package/dist-browser/three/addons/inspector/ui/utils.js +1 -0
- package/dist-browser/three/addons/interaction/InteractionManager.js +1 -0
- package/dist-browser/three/addons/interactive/HTMLMesh.js +1 -0
- package/dist-browser/three/addons/interactive/InteractiveGroup.js +1 -0
- package/dist-browser/three/addons/interactive/SelectionBox.js +1 -0
- package/dist-browser/three/addons/interactive/SelectionHelper.js +1 -0
- package/dist-browser/three/addons/libs/chevrotain.module.min.js +1 -0
- package/dist-browser/three/addons/libs/demuxer_mp4.js +1 -0
- package/dist-browser/three/addons/libs/fflate.module.js +1 -0
- package/dist-browser/three/addons/libs/ktx-parse.module.js +1 -0
- package/dist-browser/three/addons/libs/lil-gui.module.min.js +4 -0
- package/dist-browser/three/addons/libs/meshopt_clusterizer.module.js +1 -0
- package/dist-browser/three/addons/libs/meshopt_decoder.module.js +1 -0
- package/dist-browser/three/addons/libs/meshopt_simplifier.module.js +1 -0
- package/dist-browser/three/addons/libs/mikktspace.module.js +1 -0
- package/dist-browser/three/addons/libs/motion-controllers.module.js +1 -0
- package/dist-browser/three/addons/libs/potpack.module.js +1 -0
- package/dist-browser/three/addons/libs/stats.module.js +1 -0
- package/dist-browser/three/addons/libs/surfaceNet.js +1 -0
- package/dist-browser/three/addons/libs/tween.module.js +1 -0
- package/dist-browser/three/addons/libs/utif.module.js +1 -0
- package/dist-browser/three/addons/libs/zstddec.module.js +1 -0
- package/dist-browser/three/addons/lighting/ClusteredLighting.js +1 -0
- package/dist-browser/three/addons/lighting/DynamicLighting.js +1 -0
- package/dist-browser/three/addons/lighting/LightProbeGrid.js +1 -0
- package/dist-browser/three/addons/lighting/LightProbeGridUtils.js +1 -0
- package/dist-browser/three/addons/lighting/LightProbeGridWebGL.js +135 -0
- package/dist-browser/three/addons/lighting/vxgi/VXGIConeTracer.js +1 -0
- package/dist-browser/three/addons/lighting/vxgi/VXGINode.js +1 -0
- package/dist-browser/three/addons/lighting/vxgi/VXGISceneCollector.js +1 -0
- package/dist-browser/three/addons/lighting/vxgi/VXGIVolume.js +1 -0
- package/dist-browser/three/addons/lights/LightProbeGenerator.js +1 -0
- package/dist-browser/three/addons/lights/RectAreaLightTexturesLib.js +1 -0
- package/dist-browser/three/addons/lights/RectAreaLightUniformsLib.js +1 -0
- package/dist-browser/three/addons/lights/SunLight.js +1 -0
- package/dist-browser/three/addons/lights/SunLightNode.js +1 -0
- package/dist-browser/three/addons/lights/SunLightShadow.js +1 -0
- package/dist-browser/three/addons/lights/SunShadowNode.js +1 -0
- package/dist-browser/three/addons/lines/Line2.js +1 -0
- package/dist-browser/three/addons/lines/LineGeometry.js +1 -0
- package/dist-browser/three/addons/lines/LineMaterial.js +1 -0
- package/dist-browser/three/addons/lines/LineSegments2.js +1 -0
- package/dist-browser/three/addons/lines/LineSegmentsGeometry.js +1 -0
- package/dist-browser/three/addons/lines/Wireframe.js +1 -0
- package/dist-browser/three/addons/lines/WireframeGeometry2.js +1 -0
- package/dist-browser/three/addons/lines/webgpu/Line2.js +1 -0
- package/dist-browser/three/addons/lines/webgpu/LineSegments2.js +1 -0
- package/dist-browser/three/addons/lines/webgpu/Wireframe.js +1 -0
- package/dist-browser/three/addons/loaders/3DMLoader.js +1 -0
- package/dist-browser/three/addons/loaders/3MFLoader.js +1 -0
- package/dist-browser/three/addons/loaders/AMFLoader.js +1 -0
- package/dist-browser/three/addons/loaders/BVHLoader.js +1 -0
- package/dist-browser/three/addons/loaders/ColladaLoader.js +1 -0
- package/dist-browser/three/addons/loaders/DDSLoader.js +1 -0
- package/dist-browser/three/addons/loaders/DRACOLoader.js +1 -0
- package/dist-browser/three/addons/loaders/EXRLoader.js +1 -0
- package/dist-browser/three/addons/loaders/FBXLoader.js +1 -0
- package/dist-browser/three/addons/loaders/FontLoader.js +1 -0
- package/dist-browser/three/addons/loaders/GCodeLoader.js +1 -0
- package/dist-browser/three/addons/loaders/GLTFGaussianSplatLoaderExtension.js +1 -0
- package/dist-browser/three/addons/loaders/GLTFLoader.js +1 -0
- package/dist-browser/three/addons/loaders/GaussianSplatPLYLoader.js +1 -0
- package/dist-browser/three/addons/loaders/HDRCubeTextureLoader.js +1 -0
- package/dist-browser/three/addons/loaders/HDRLoader.js +1 -0
- package/dist-browser/three/addons/loaders/IESLoader.js +1 -0
- package/dist-browser/three/addons/loaders/KMZLoader.js +1 -0
- package/dist-browser/three/addons/loaders/KSPLATLoader.js +1 -0
- package/dist-browser/three/addons/loaders/KTX2Loader.js +1 -0
- package/dist-browser/three/addons/loaders/KTXLoader.js +1 -0
- package/dist-browser/three/addons/loaders/LDrawLoader.js +1 -0
- package/dist-browser/three/addons/loaders/LUT3dlLoader.js +1 -0
- package/dist-browser/three/addons/loaders/LUTCubeLoader.js +1 -0
- package/dist-browser/three/addons/loaders/LUTImageLoader.js +1 -0
- package/dist-browser/three/addons/loaders/LWOLoader.js +1 -0
- package/dist-browser/three/addons/loaders/MD2Loader.js +1 -0
- package/dist-browser/three/addons/loaders/MDDLoader.js +1 -0
- package/dist-browser/three/addons/loaders/MTLLoader.js +1 -0
- package/dist-browser/three/addons/loaders/MaterialXLoader.js +1 -0
- package/dist-browser/three/addons/loaders/NRRDLoader.js +1 -0
- package/dist-browser/three/addons/loaders/OBJLoader.js +1 -0
- package/dist-browser/three/addons/loaders/PCDLoader.js +1 -0
- package/dist-browser/three/addons/loaders/PDBLoader.js +1 -0
- package/dist-browser/three/addons/loaders/PLYLoader.js +1 -0
- package/dist-browser/three/addons/loaders/PVRLoader.js +1 -0
- package/dist-browser/three/addons/loaders/RGBELoader.js +1 -0
- package/dist-browser/three/addons/loaders/SPLATLoader.js +1 -0
- package/dist-browser/three/addons/loaders/SPZLoader.js +1 -0
- package/dist-browser/three/addons/loaders/STLLoader.js +1 -0
- package/dist-browser/three/addons/loaders/SVGLoader.js +1 -0
- package/dist-browser/three/addons/loaders/TDSLoader.js +1 -0
- package/dist-browser/three/addons/loaders/TGALoader.js +1 -0
- package/dist-browser/three/addons/loaders/TIFFLoader.js +1 -0
- package/dist-browser/three/addons/loaders/TTFLoader.js +1 -0
- package/dist-browser/three/addons/loaders/USDLoader.js +1 -0
- package/dist-browser/three/addons/loaders/USDZLoader.js +1 -0
- package/dist-browser/three/addons/loaders/UltraHDRLoader.js +1 -0
- package/dist-browser/three/addons/loaders/VOXLoader.js +1 -0
- package/dist-browser/three/addons/loaders/VRMLLoader.js +1 -0
- package/dist-browser/three/addons/loaders/VTKLoader.js +1 -0
- package/dist-browser/three/addons/loaders/XYZLoader.js +1 -0
- package/dist-browser/three/addons/loaders/collada/ColladaComposer.js +1 -0
- package/dist-browser/three/addons/loaders/collada/ColladaParser.js +1 -0
- package/dist-browser/three/addons/loaders/lwo/IFFParser.js +1 -0
- package/dist-browser/three/addons/loaders/lwo/LWO2Parser.js +1 -0
- package/dist-browser/three/addons/loaders/lwo/LWO3Parser.js +1 -0
- package/dist-browser/three/addons/loaders/materialx/MaterialXArchive.js +1 -0
- package/dist-browser/three/addons/loaders/materialx/MaterialXDocument.js +1 -0
- package/dist-browser/three/addons/loaders/materialx/MaterialXHextile.js +1 -0
- package/dist-browser/three/addons/loaders/materialx/MaterialXInterfaceValidation.js +1 -0
- package/dist-browser/three/addons/loaders/materialx/MaterialXLog.js +1 -0
- package/dist-browser/three/addons/loaders/materialx/MaterialXNodeInterfaceRegistry.js +1 -0
- package/dist-browser/three/addons/loaders/materialx/MaterialXNodeLibrary.js +1 -0
- package/dist-browser/three/addons/loaders/materialx/MaterialXSurfaceMappings.js +1 -0
- package/dist-browser/three/addons/loaders/materialx/MaterialXUtils.js +1 -0
- package/dist-browser/three/addons/loaders/materialx/compile/MaterialXCompileRegistry.js +1 -0
- package/dist-browser/three/addons/loaders/materialx/parse/MaterialXParser.js +1 -0
- package/dist-browser/three/addons/loaders/usd/USDAParser.js +1 -0
- package/dist-browser/three/addons/loaders/usd/USDCParser.js +1 -0
- package/dist-browser/three/addons/loaders/usd/USDComposer.js +1 -0
- package/dist-browser/three/addons/materials/LDrawConditionalLineMaterial.js +1 -0
- package/dist-browser/three/addons/materials/LDrawConditionalLineNodeMaterial.js +1 -0
- package/dist-browser/three/addons/materials/WoodNodeMaterial.js +42 -0
- package/dist-browser/three/addons/math/Capsule.js +1 -0
- package/dist-browser/three/addons/math/ColorConverter.js +1 -0
- package/dist-browser/three/addons/math/ColorSpaces.js +1 -0
- package/dist-browser/three/addons/math/ConvexHull.js +1 -0
- package/dist-browser/three/addons/math/ImprovedNoise.js +1 -0
- package/dist-browser/three/addons/math/Lut.js +1 -0
- package/dist-browser/three/addons/math/MeshSurfaceSampler.js +1 -0
- package/dist-browser/three/addons/math/OBB.js +1 -0
- package/dist-browser/three/addons/math/Octree.js +1 -0
- package/dist-browser/three/addons/math/SimplexNoise.js +1 -0
- package/dist-browser/three/addons/misc/ConvexObjectBreaker.js +1 -0
- package/dist-browser/three/addons/misc/GPUComputationRenderer.js +1 -0
- package/dist-browser/three/addons/misc/Gyroscope.js +1 -0
- package/dist-browser/three/addons/misc/MD2Character.js +1 -0
- package/dist-browser/three/addons/misc/MD2CharacterComplex.js +1 -0
- package/dist-browser/three/addons/misc/MorphAnimMesh.js +1 -0
- package/dist-browser/three/addons/misc/MorphBlendMesh.js +1 -0
- package/dist-browser/three/addons/misc/ProgressiveLightMap.js +1 -0
- package/dist-browser/three/addons/misc/ProgressiveLightMapGPU.js +1 -0
- package/dist-browser/three/addons/misc/RollerCoaster.js +1 -0
- package/dist-browser/three/addons/misc/Sculptor.js +1 -0
- package/dist-browser/three/addons/misc/SculptorMesh.js +1 -0
- package/dist-browser/three/addons/misc/SculptorTools.js +1 -0
- package/dist-browser/three/addons/misc/SculptorUtils.js +1 -0
- package/dist-browser/three/addons/misc/TileCreasedNormalsPlugin.js +1 -0
- package/dist-browser/three/addons/misc/TubePainter.js +1 -0
- package/dist-browser/three/addons/misc/Volume.js +1 -0
- package/dist-browser/three/addons/misc/VolumeSlice.js +1 -0
- package/dist-browser/three/addons/modifiers/CurveModifier.js +1 -0
- package/dist-browser/three/addons/modifiers/CurveModifierGPU.js +1 -0
- package/dist-browser/three/addons/modifiers/EdgeSplitModifier.js +1 -0
- package/dist-browser/three/addons/modifiers/SimplifyModifier.js +1 -0
- package/dist-browser/three/addons/modifiers/TessellateModifier.js +1 -0
- package/dist-browser/three/addons/objects/GaussianSplat.js +1 -0
- package/dist-browser/three/addons/objects/GroundedSkybox.js +1 -0
- package/dist-browser/three/addons/objects/Lensflare.js +1 -0
- package/dist-browser/three/addons/objects/LensflareMesh.js +1 -0
- package/dist-browser/three/addons/objects/MarchingCubes.js +1 -0
- package/dist-browser/three/addons/objects/Reflector.js +1 -0
- package/dist-browser/three/addons/objects/ReflectorForSSRPass.js +1 -0
- package/dist-browser/three/addons/objects/Refractor.js +1 -0
- package/dist-browser/three/addons/objects/ShadowMesh.js +1 -0
- package/dist-browser/three/addons/objects/Sky.js +1 -0
- package/dist-browser/three/addons/objects/SkyMesh.js +1 -0
- package/dist-browser/three/addons/objects/Water.js +1 -0
- package/dist-browser/three/addons/objects/Water2.js +1 -0
- package/dist-browser/three/addons/objects/Water2Mesh.js +1 -0
- package/dist-browser/three/addons/objects/WaterMesh.js +1 -0
- package/dist-browser/three/addons/offscreen/jank.js +1 -0
- package/dist-browser/three/addons/offscreen/offscreen.js +0 -0
- package/dist-browser/three/addons/offscreen/scene.js +1 -0
- package/dist-browser/three/addons/physics/AmmoPhysics.js +1 -0
- package/dist-browser/three/addons/physics/JoltPhysics.js +1 -0
- package/dist-browser/three/addons/physics/RapierPhysics.js +1 -0
- package/dist-browser/three/addons/postprocessing/AfterimagePass.js +1 -0
- package/dist-browser/three/addons/postprocessing/BloomPass.js +1 -0
- package/dist-browser/three/addons/postprocessing/BokehPass.js +1 -0
- package/dist-browser/three/addons/postprocessing/ClearPass.js +1 -0
- package/dist-browser/three/addons/postprocessing/CubeTexturePass.js +1 -0
- package/dist-browser/three/addons/postprocessing/DotScreenPass.js +1 -0
- package/dist-browser/three/addons/postprocessing/EffectComposer.js +1 -0
- package/dist-browser/three/addons/postprocessing/FXAAPass.js +1 -0
- package/dist-browser/three/addons/postprocessing/FilmPass.js +1 -0
- package/dist-browser/three/addons/postprocessing/GTAOPass.js +1 -0
- package/dist-browser/three/addons/postprocessing/GlitchPass.js +1 -0
- package/dist-browser/three/addons/postprocessing/HalftonePass.js +1 -0
- package/dist-browser/three/addons/postprocessing/LUTPass.js +1 -0
- package/dist-browser/three/addons/postprocessing/MaskPass.js +1 -0
- package/dist-browser/three/addons/postprocessing/OutlinePass.js +1 -0
- package/dist-browser/three/addons/postprocessing/OutputPass.js +1 -0
- package/dist-browser/three/addons/postprocessing/Pass.js +1 -0
- package/dist-browser/three/addons/postprocessing/RenderPass.js +1 -0
- package/dist-browser/three/addons/postprocessing/RenderPixelatedPass.js +1 -0
- package/dist-browser/three/addons/postprocessing/RenderTransitionPass.js +1 -0
- package/dist-browser/three/addons/postprocessing/SAOPass.js +1 -0
- package/dist-browser/three/addons/postprocessing/SMAAPass.js +1 -0
- package/dist-browser/three/addons/postprocessing/SSAARenderPass.js +1 -0
- package/dist-browser/three/addons/postprocessing/SSAOPass.js +1 -0
- package/dist-browser/three/addons/postprocessing/SSRPass.js +1 -0
- package/dist-browser/three/addons/postprocessing/SavePass.js +1 -0
- package/dist-browser/three/addons/postprocessing/ShaderPass.js +1 -0
- package/dist-browser/three/addons/postprocessing/TAARenderPass.js +1 -0
- package/dist-browser/three/addons/postprocessing/TexturePass.js +1 -0
- package/dist-browser/three/addons/postprocessing/UnrealBloomPass.js +1 -0
- package/dist-browser/three/addons/renderers/CSS2DRenderer.js +1 -0
- package/dist-browser/three/addons/renderers/CSS3DRenderer.js +1 -0
- package/dist-browser/three/addons/renderers/Projector.js +1 -0
- package/dist-browser/three/addons/renderers/SVGRenderer.js +1 -0
- package/dist-browser/three/addons/shaders/ACESFilmicToneMappingShader.js +1 -0
- package/dist-browser/three/addons/shaders/AfterimageShader.js +1 -0
- package/dist-browser/three/addons/shaders/BasicShader.js +1 -0
- package/dist-browser/three/addons/shaders/BleachBypassShader.js +1 -0
- package/dist-browser/three/addons/shaders/BlendShader.js +1 -0
- package/dist-browser/three/addons/shaders/BokehShader.js +1 -0
- package/dist-browser/three/addons/shaders/BokehShader2.js +1 -0
- package/dist-browser/three/addons/shaders/BrightnessContrastShader.js +1 -0
- package/dist-browser/three/addons/shaders/ColorCorrectionShader.js +1 -0
- package/dist-browser/three/addons/shaders/ColorifyShader.js +1 -0
- package/dist-browser/three/addons/shaders/ConvolutionShader.js +1 -0
- package/dist-browser/three/addons/shaders/CopyShader.js +1 -0
- package/dist-browser/three/addons/shaders/DOFMipMapShader.js +1 -0
- package/dist-browser/three/addons/shaders/DepthLimitedBlurShader.js +1 -0
- package/dist-browser/three/addons/shaders/DigitalGlitch.js +1 -0
- package/dist-browser/three/addons/shaders/DotScreenShader.js +1 -0
- package/dist-browser/three/addons/shaders/ExposureShader.js +1 -0
- package/dist-browser/three/addons/shaders/FXAAShader.js +1 -0
- package/dist-browser/three/addons/shaders/FilmShader.js +1 -0
- package/dist-browser/three/addons/shaders/FocusShader.js +1 -0
- package/dist-browser/three/addons/shaders/FreiChenShader.js +1 -0
- package/dist-browser/three/addons/shaders/GTAOShader.js +1 -0
- package/dist-browser/three/addons/shaders/GammaCorrectionShader.js +1 -0
- package/dist-browser/three/addons/shaders/HalftoneShader.js +1 -0
- package/dist-browser/three/addons/shaders/HorizontalBlurShader.js +1 -0
- package/dist-browser/three/addons/shaders/HorizontalTiltShiftShader.js +1 -0
- package/dist-browser/three/addons/shaders/HueSaturationShader.js +1 -0
- package/dist-browser/three/addons/shaders/KaleidoShader.js +1 -0
- package/dist-browser/three/addons/shaders/LuminosityHighPassShader.js +1 -0
- package/dist-browser/three/addons/shaders/LuminosityShader.js +1 -0
- package/dist-browser/three/addons/shaders/MirrorShader.js +1 -0
- package/dist-browser/three/addons/shaders/NormalMapShader.js +1 -0
- package/dist-browser/three/addons/shaders/OutputShader.js +1 -0
- package/dist-browser/three/addons/shaders/PoissonDenoiseShader.js +1 -0
- package/dist-browser/three/addons/shaders/RGBShiftShader.js +1 -0
- package/dist-browser/three/addons/shaders/SAOShader.js +1 -0
- package/dist-browser/three/addons/shaders/SMAAShader.js +1 -0
- package/dist-browser/three/addons/shaders/SSAOShader.js +1 -0
- package/dist-browser/three/addons/shaders/SSRShader.js +1 -0
- package/dist-browser/three/addons/shaders/SepiaShader.js +1 -0
- package/dist-browser/three/addons/shaders/SobelOperatorShader.js +1 -0
- package/dist-browser/three/addons/shaders/SubsurfaceScatteringShader.js +1 -0
- package/dist-browser/three/addons/shaders/TechnicolorShader.js +1 -0
- package/dist-browser/three/addons/shaders/ToonShader.js +1 -0
- package/dist-browser/three/addons/shaders/TriangleBlurShader.js +1 -0
- package/dist-browser/three/addons/shaders/UnpackDepthRGBAShader.js +1 -0
- package/dist-browser/three/addons/shaders/VelocityShader.js +1 -0
- package/dist-browser/three/addons/shaders/VerticalBlurShader.js +1 -0
- package/dist-browser/three/addons/shaders/VerticalTiltShiftShader.js +1 -0
- package/dist-browser/three/addons/shaders/VignetteShader.js +1 -0
- package/dist-browser/three/addons/shaders/VolumeShader.js +1 -0
- package/dist-browser/three/addons/shaders/WaterRefractionShader.js +1 -0
- package/dist-browser/three/addons/textures/FlakesTexture.js +1 -0
- package/dist-browser/three/addons/transpiler/AST.js +1 -0
- package/dist-browser/three/addons/transpiler/GLSLDecoder.js +1 -0
- package/dist-browser/three/addons/transpiler/Linker.js +1 -0
- package/dist-browser/three/addons/transpiler/ShaderToyDecoder.js +1 -0
- package/dist-browser/three/addons/transpiler/TSLEncoder.js +55 -0
- package/dist-browser/three/addons/transpiler/Transpiler.js +1 -0
- package/dist-browser/three/addons/transpiler/TranspilerUtils.js +1 -0
- package/dist-browser/three/addons/transpiler/WGSLEncoder.js +30 -0
- package/dist-browser/three/addons/tsl/WebGLNodesHandler.js +1 -0
- package/dist-browser/three/addons/tsl/display/AfterImageNode.js +1 -0
- package/dist-browser/three/addons/tsl/display/AnaglyphPassNode.js +1 -0
- package/dist-browser/three/addons/tsl/display/BilateralBlurNode.js +1 -0
- package/dist-browser/three/addons/tsl/display/BleachBypass.js +1 -0
- package/dist-browser/three/addons/tsl/display/BloomNode.js +1 -0
- package/dist-browser/three/addons/tsl/display/CRT.js +1 -0
- package/dist-browser/three/addons/tsl/display/ChromaticAberrationNode.js +1 -0
- package/dist-browser/three/addons/tsl/display/DenoiseNode.js +1 -0
- package/dist-browser/three/addons/tsl/display/DepthOfFieldNode.js +1 -0
- package/dist-browser/three/addons/tsl/display/DotScreenNode.js +1 -0
- package/dist-browser/three/addons/tsl/display/FSR1Node.js +1 -0
- package/dist-browser/three/addons/tsl/display/FXAANode.js +1 -0
- package/dist-browser/three/addons/tsl/display/FilmNode.js +1 -0
- package/dist-browser/three/addons/tsl/display/GTAONode.js +1 -0
- package/dist-browser/three/addons/tsl/display/GaussianBlurNode.js +1 -0
- package/dist-browser/three/addons/tsl/display/GodraysNode.js +1 -0
- package/dist-browser/three/addons/tsl/display/ImportanceSampledEnvironment.js +1 -0
- package/dist-browser/three/addons/tsl/display/LensflareNode.js +1 -0
- package/dist-browser/three/addons/tsl/display/Lut3DNode.js +1 -0
- package/dist-browser/three/addons/tsl/display/MotionBlur.js +1 -0
- package/dist-browser/three/addons/tsl/display/OITPassNode.js +1 -0
- package/dist-browser/three/addons/tsl/display/OutlineNode.js +1 -0
- package/dist-browser/three/addons/tsl/display/ParallaxBarrierPassNode.js +1 -0
- package/dist-browser/three/addons/tsl/display/PixelationPassNode.js +1 -0
- package/dist-browser/three/addons/tsl/display/RGBShiftNode.js +1 -0
- package/dist-browser/three/addons/tsl/display/RecurrentDenoiseNode.js +1 -0
- package/dist-browser/three/addons/tsl/display/RetroPassNode.js +1 -0
- package/dist-browser/three/addons/tsl/display/SMAANode.js +1 -0
- package/dist-browser/three/addons/tsl/display/SSAAPassNode.js +1 -0
- package/dist-browser/three/addons/tsl/display/SSAONode.js +1 -0
- package/dist-browser/three/addons/tsl/display/SSGINode.js +1 -0
- package/dist-browser/three/addons/tsl/display/SSRNode.js +1 -0
- package/dist-browser/three/addons/tsl/display/SSSNode.js +1 -0
- package/dist-browser/three/addons/tsl/display/Sepia.js +1 -0
- package/dist-browser/three/addons/tsl/display/Shape.js +1 -0
- package/dist-browser/three/addons/tsl/display/SharpenNode.js +1 -0
- package/dist-browser/three/addons/tsl/display/SobelOperatorNode.js +1 -0
- package/dist-browser/three/addons/tsl/display/StereoCompositePassNode.js +1 -0
- package/dist-browser/three/addons/tsl/display/StereoPassNode.js +1 -0
- package/dist-browser/three/addons/tsl/display/TAAUNode.js +1 -0
- package/dist-browser/three/addons/tsl/display/TRAANode.js +1 -0
- package/dist-browser/three/addons/tsl/display/TemporalReprojectNode.js +1 -0
- package/dist-browser/three/addons/tsl/display/TransitionNode.js +1 -0
- package/dist-browser/three/addons/tsl/display/boxBlur.js +1 -0
- package/dist-browser/three/addons/tsl/display/depthAwareBlend.js +1 -0
- package/dist-browser/three/addons/tsl/display/depthAwareBlur.js +1 -0
- package/dist-browser/three/addons/tsl/display/hashBlur.js +1 -0
- package/dist-browser/three/addons/tsl/display/radialBlur.js +1 -0
- package/dist-browser/three/addons/tsl/lighting/ClusteredLightsNode.js +1 -0
- package/dist-browser/three/addons/tsl/lighting/DynamicLightsNode.js +1 -0
- package/dist-browser/three/addons/tsl/lighting/LightProbeGridNode.js +1 -0
- package/dist-browser/three/addons/tsl/lighting/data/AmbientLightDataNode.js +1 -0
- package/dist-browser/three/addons/tsl/lighting/data/DirectionalLightDataNode.js +1 -0
- package/dist-browser/three/addons/tsl/lighting/data/HemisphereLightDataNode.js +1 -0
- package/dist-browser/three/addons/tsl/lighting/data/PointLightDataNode.js +1 -0
- package/dist-browser/three/addons/tsl/lighting/data/SpotLightDataNode.js +1 -0
- package/dist-browser/three/addons/tsl/math/Bayer.js +1 -0
- package/dist-browser/three/addons/tsl/math/curlNoise.js +1 -0
- package/dist-browser/three/addons/tsl/math/voronoiNoise.js +1 -0
- package/dist-browser/three/addons/tsl/shadows/TileShadowNode.js +1 -0
- package/dist-browser/three/addons/tsl/shadows/TileShadowNodeHelper.js +1 -0
- package/dist-browser/three/addons/tsl/utils/GroundedSkybox.js +1 -0
- package/dist-browser/three/addons/tsl/utils/RNoise.js +1 -0
- package/dist-browser/three/addons/tsl/utils/Raymarching.js +1 -0
- package/dist-browser/three/addons/tsl/utils/SoftParticles.js +1 -0
- package/dist-browser/three/addons/tsl/utils/SpecularHelpers.js +1 -0
- package/dist-browser/three/addons/tsl/utils/TAAUtils.js +1 -0
- package/dist-browser/three/addons/utils/BufferGeometryUtils.js +1 -0
- package/dist-browser/three/addons/utils/CameraUtils.js +1 -0
- package/dist-browser/three/addons/utils/ColorUtils.js +1 -0
- package/dist-browser/three/addons/utils/GaussianSplatUtils.js +1 -0
- package/dist-browser/three/addons/utils/GeometryCompressionUtils.js +1 -0
- package/dist-browser/three/addons/utils/GeometryUtils.js +1 -0
- package/dist-browser/three/addons/utils/LDrawUtils.js +1 -0
- package/dist-browser/three/addons/utils/SceneOptimizer.js +1 -0
- package/dist-browser/three/addons/utils/SceneUtils.js +1 -0
- package/dist-browser/three/addons/utils/ShadowMapViewer.js +1 -0
- package/dist-browser/three/addons/utils/ShadowMapViewerGPU.js +1 -0
- package/dist-browser/three/addons/utils/SkeletonUtils.js +1 -0
- package/dist-browser/three/addons/utils/SortUtils.js +1 -0
- package/dist-browser/three/addons/utils/UVsDebug.js +1 -0
- package/dist-browser/three/addons/utils/WebGLTextureUtils.js +1 -0
- package/dist-browser/three/addons/utils/WebGPUTextureUtils.js +1 -0
- package/dist-browser/three/addons/utils/WorkerPool.js +1 -0
- package/dist-browser/three/addons/webxr/ARButton.js +1 -0
- package/dist-browser/three/addons/webxr/OculusHandModel.js +1 -0
- package/dist-browser/three/addons/webxr/OculusHandPointerModel.js +1 -0
- package/dist-browser/three/addons/webxr/Text2D.js +1 -0
- package/dist-browser/three/addons/webxr/VRButton.js +1 -0
- package/dist-browser/three/addons/webxr/WebGLXRFallback.js +1 -0
- package/dist-browser/three/addons/webxr/XRButton.js +1 -0
- package/dist-browser/three/addons/webxr/XRControllerModelFactory.js +1 -0
- package/dist-browser/three/addons/webxr/XREstimatedLight.js +1 -0
- package/dist-browser/three/addons/webxr/XRHandMeshModel.js +1 -0
- package/dist-browser/three/addons/webxr/XRHandModelFactory.js +1 -0
- package/dist-browser/three/addons/webxr/XRHandPrimitiveModel.js +1 -0
- package/dist-browser/three/addons/webxr/XRPlanes.js +1 -0
- package/dist-browser/three/addons.js +1 -0
- package/dist-browser/three/tsl.js +1 -0
- package/dist-browser/three/webgpu.js +1 -0
- package/dist-browser/three.js +1 -0
- package/dist-browser/three.quarks.js +1 -0
- package/dist-browser/zustand/middleware.js +1 -0
- package/dist-browser/zustand/shallow.js +1 -0
- package/dist-browser/zustand/vanilla.js +1 -0
- package/dist-browser/zustand.js +1 -0
- package/package.json +194 -0
- package/rapier/LICENSE +201 -0
- package/rapier/NOTICE +23 -0
- package/rapier/simd/coarena.js +1 -0
- package/rapier/simd/control/character_controller.js +1 -0
- package/rapier/simd/control/index.js +1 -0
- package/rapier/simd/control/pid_controller.js +1 -0
- package/rapier/simd/control/ray_cast_vehicle_controller.js +1 -0
- package/rapier/simd/dynamics/ccd_solver.js +1 -0
- package/rapier/simd/dynamics/coefficient_combine_rule.js +1 -0
- package/rapier/simd/dynamics/impulse_joint.js +1 -0
- package/rapier/simd/dynamics/impulse_joint_set.js +1 -0
- package/rapier/simd/dynamics/index.js +1 -0
- package/rapier/simd/dynamics/integration_parameters.js +1 -0
- package/rapier/simd/dynamics/island_manager.js +1 -0
- package/rapier/simd/dynamics/multibody_joint.js +1 -0
- package/rapier/simd/dynamics/multibody_joint_set.js +1 -0
- package/rapier/simd/dynamics/rigid_body.js +1 -0
- package/rapier/simd/dynamics/rigid_body_set.js +1 -0
- package/rapier/simd/exports.js +1 -0
- package/rapier/simd/geometry/broad_phase.js +1 -0
- package/rapier/simd/geometry/collider.js +1 -0
- package/rapier/simd/geometry/collider_set.js +1 -0
- package/rapier/simd/geometry/contact.js +1 -0
- package/rapier/simd/geometry/feature.js +1 -0
- package/rapier/simd/geometry/index.js +1 -0
- package/rapier/simd/geometry/interaction_groups.js +0 -0
- package/rapier/simd/geometry/narrow_phase.js +1 -0
- package/rapier/simd/geometry/point.js +1 -0
- package/rapier/simd/geometry/ray.js +1 -0
- package/rapier/simd/geometry/shape.js +1 -0
- package/rapier/simd/geometry/toi.js +1 -0
- package/rapier/simd/init.js +0 -0
- package/rapier/simd/math.js +1 -0
- package/rapier/simd/pipeline/debug_render_pipeline.js +1 -0
- package/rapier/simd/pipeline/event_queue.js +1 -0
- package/rapier/simd/pipeline/index.js +1 -0
- package/rapier/simd/pipeline/physics_hooks.js +1 -0
- package/rapier/simd/pipeline/physics_pipeline.js +1 -0
- package/rapier/simd/pipeline/query_pipeline.js +1 -0
- package/rapier/simd/pipeline/serialization_pipeline.js +1 -0
- package/rapier/simd/pipeline/world.js +1 -0
- package/rapier/simd/rapier.js +1 -0
- package/rapier/simd/rapier_wasm3d.js +1 -0
- package/rapier/simd/rapier_wasm3d_bg.js +1 -0
- package/rapier/simd/rapier_wasm3d_bg.wasm +0 -0
- package/rapier/simd/raw.js +1 -0
- package/rapier/simd-compat/rapier.mjs +1 -0
- package/rapier/types/coarena.d.ts +15 -0
- package/rapier/types/control/character_controller.d.ts +191 -0
- package/rapier/types/control/index.d.ts +3 -0
- package/rapier/types/control/pid_controller.d.ts +50 -0
- package/rapier/types/control/ray_cast_vehicle_controller.d.ts +277 -0
- package/rapier/types/dynamics/ccd_solver.d.ts +15 -0
- package/rapier/types/dynamics/coefficient_combine_rule.d.ts +13 -0
- package/rapier/types/dynamics/impulse_joint.d.ts +375 -0
- package/rapier/types/dynamics/impulse_joint_set.d.ts +79 -0
- package/rapier/types/dynamics/index.d.ts +10 -0
- package/rapier/types/dynamics/integration_parameters.d.ts +57 -0
- package/rapier/types/dynamics/island_manager.d.ts +24 -0
- package/rapier/types/dynamics/multibody_joint.d.ts +42 -0
- package/rapier/types/dynamics/multibody_joint_set.d.ts +76 -0
- package/rapier/types/dynamics/rigid_body.d.ts +803 -0
- package/rapier/types/dynamics/rigid_body_set.d.ts +78 -0
- package/rapier/types/exports.d.ts +8 -0
- package/rapier/types/geometry/broad_phase.d.ts +164 -0
- package/rapier/types/geometry/collider.d.ts +996 -0
- package/rapier/types/geometry/collider_set.d.ts +72 -0
- package/rapier/types/geometry/contact.d.ts +36 -0
- package/rapier/types/geometry/feature.d.ts +6 -0
- package/rapier/types/geometry/index.d.ts +11 -0
- package/rapier/types/geometry/interaction_groups.d.ts +18 -0
- package/rapier/types/geometry/narrow_phase.d.ts +130 -0
- package/rapier/types/geometry/point.d.ts +58 -0
- package/rapier/types/geometry/ray.d.ts +108 -0
- package/rapier/types/geometry/shape.d.ts +632 -0
- package/rapier/types/geometry/toi.d.ts +44 -0
- package/rapier/types/init.d.ts +5 -0
- package/rapier/types/math.d.ts +98 -0
- package/rapier/types/pipeline/debug_render_pipeline.d.ts +40 -0
- package/rapier/types/pipeline/event_queue.d.ts +101 -0
- package/rapier/types/pipeline/index.d.ts +7 -0
- package/rapier/types/pipeline/physics_hooks.d.ts +39 -0
- package/rapier/types/pipeline/physics_pipeline.d.ts +12 -0
- package/rapier/types/pipeline/query_pipeline.d.ts +38 -0
- package/rapier/types/pipeline/serialization_pipeline.d.ts +37 -0
- package/rapier/types/pipeline/world.d.ts +602 -0
- package/rapier/types/rapier.d.ts +3 -0
- package/rapier/types/rapier_wasm3d.d.ts +2204 -0
- package/rapier/types/rapier_wasm3d_bg.wasm.d.ts +582 -0
- package/rapier/types/raw.d.ts +1 -0
- package/readable/rounds/LevelBanner.tsx +44 -0
- package/readable/rounds/Round.tsx +228 -0
- package/readable/rounds/RoundScreen.tsx +89 -0
- package/readable/rounds/dist/LevelBanner.d.ts +13 -0
- package/readable/rounds/dist/LevelBanner.d.ts.map +1 -0
- package/readable/rounds/dist/LevelBanner.js +20 -0
- package/readable/rounds/dist/LevelBanner.js.map +1 -0
- package/readable/rounds/dist/Round.d.ts +74 -0
- package/readable/rounds/dist/Round.d.ts.map +1 -0
- package/readable/rounds/dist/Round.js +137 -0
- package/readable/rounds/dist/Round.js.map +1 -0
- package/readable/rounds/dist/RoundScreen.d.ts +39 -0
- package/readable/rounds/dist/RoundScreen.d.ts.map +1 -0
- package/readable/rounds/dist/RoundScreen.js +23 -0
- package/readable/rounds/dist/RoundScreen.js.map +1 -0
- package/readable/rounds/dist/index.d.ts +7 -0
- package/readable/rounds/dist/index.d.ts.map +1 -0
- package/readable/rounds/dist/index.js +11 -0
- package/readable/rounds/dist/index.js.map +1 -0
- package/readable/rounds/dist/rounds.d.ts +16 -0
- package/readable/rounds/dist/rounds.d.ts.map +1 -0
- package/readable/rounds/dist/rounds.js +82 -0
- package/readable/rounds/dist/rounds.js.map +1 -0
- package/readable/rounds/dist/rules.d.ts +65 -0
- package/readable/rounds/dist/rules.d.ts.map +1 -0
- package/readable/rounds/dist/rules.js +150 -0
- package/readable/rounds/dist/rules.js.map +1 -0
- package/readable/rounds/dist/traits.d.ts +103 -0
- package/readable/rounds/dist/traits.d.ts.map +1 -0
- package/readable/rounds/dist/traits.js +79 -0
- package/readable/rounds/dist/traits.js.map +1 -0
- package/readable/rounds/index.ts +11 -0
- package/readable/rounds/rounds.ts +117 -0
- package/readable/rounds/rules.ts +182 -0
- package/readable/rounds/traits.ts +82 -0
|
@@ -0,0 +1,3 @@
|
|
|
1
|
+
import{t as e}from"./rolldown-runtime-hePW80VL.js";import{n as t}from"./DYoIHzIt.js";import{t as n}from"./dFGbvMHe.js";import{l as r}from"./C0Iji4Qk.js";import{a as i,c as a,l as o,n as s,r as c,t as l}from"./D6fd1dZA.js";var u=function(e){return e.Open=`open`,e.Connect=`connect`,e.Listen=`listen`,e.Produce=`produce`,e}({}),d=function(e){return e.Opened=`opened`,e.Connected=`connected`,e.Produced=`produced`,e.Consume=`consume`,e.Ended=`ended`,e.Failed=`failed`,e.Unavailable=`unavailable`,e}({}),f=function(e){return e.Send=`send`,e.Receive=`receive`,e}({}),p={opusStereo:!1,opusDtx:!0,opusFec:!0,opusMaxAverageBitrate:24e3,opusPtime:20},m=e(((e,t)=>{var n=1e3,r=n*60,i=r*60,a=i*24,o=a*7,s=a*365.25;t.exports=function(e,t){t||={};var n=typeof e;if(n===`string`&&e.length>0)return c(e);if(n===`number`&&isFinite(e))return t.long?u(e):l(e);throw Error(`val is not a non-empty string or a valid number. val=`+JSON.stringify(e))};function c(e){if(e=String(e),!(e.length>100)){var t=/^(-?(?:\d+)?\.?\d+) *(milliseconds?|msecs?|ms|seconds?|secs?|s|minutes?|mins?|m|hours?|hrs?|h|days?|d|weeks?|w|years?|yrs?|y)?$/i.exec(e);if(t){var c=parseFloat(t[1]);switch((t[2]||`ms`).toLowerCase()){case`years`:case`year`:case`yrs`:case`yr`:case`y`:return c*s;case`weeks`:case`week`:case`w`:return c*o;case`days`:case`day`:case`d`:return c*a;case`hours`:case`hour`:case`hrs`:case`hr`:case`h`:return c*i;case`minutes`:case`minute`:case`mins`:case`min`:case`m`:return c*r;case`seconds`:case`second`:case`secs`:case`sec`:case`s`:return c*n;case`milliseconds`:case`millisecond`:case`msecs`:case`msec`:case`ms`:return c;default:return}}}}function l(e){var t=Math.abs(e);return t>=a?Math.round(e/a)+`d`:t>=i?Math.round(e/i)+`h`:t>=r?Math.round(e/r)+`m`:t>=n?Math.round(e/n)+`s`:e+`ms`}function u(e){var t=Math.abs(e);return t>=a?d(e,t,a,`day`):t>=i?d(e,t,i,`hour`):t>=r?d(e,t,r,`minute`):t>=n?d(e,t,n,`second`):e+` ms`}function d(e,t,n,r){var i=t>=n*1.5;return Math.round(e/n)+` `+r+(i?`s`:``)}})),h=e(((e,t)=>{function n(e){n.debug=n,n.default=n,n.coerce=c,n.disable=o,n.enable=i,n.enabled=s,n.humanize=m(),n.destroy=l,Object.keys(e).forEach(t=>{n[t]=e[t]}),n.names=[],n.skips=[],n.formatters={};function t(e){let t=0;for(let n=0;n<e.length;n++)t=(t<<5)-t+e.charCodeAt(n),t|=0;return n.colors[Math.abs(t)%n.colors.length]}n.selectColor=t;function n(e){let t,i=null,a,o;function s(...e){if(!s.enabled)return;let r=s,i=Number(new Date);r.diff=i-(t||i),r.prev=t,r.curr=i,t=i,e[0]=n.coerce(e[0]),typeof e[0]!=`string`&&e.unshift(`%O`);let a=0;e[0]=e[0].replace(/%([a-zA-Z%])/g,(t,i)=>{if(t===`%%`)return`%`;a++;let o=n.formatters[i];if(typeof o==`function`){let n=e[a];t=o.call(r,n),e.splice(a,1),a--}return t}),n.formatArgs.call(r,e),(r.log||n.log).apply(r,e)}return s.namespace=e,s.useColors=n.useColors(),s.color=n.selectColor(e),s.extend=r,s.destroy=n.destroy,Object.defineProperty(s,"enabled",{enumerable:!0,configurable:!1,get:()=>i===null?(a!==n.namespaces&&(a=n.namespaces,o=n.enabled(e)),o):i,set:e=>{i=e}}),typeof n.init==`function`&&n.init(s),s}function r(e,t){let r=n(this.namespace+(t===void 0?`:`:t)+e);return r.log=this.log,r}function i(e){n.save(e),n.namespaces=e,n.names=[],n.skips=[];let t=(typeof e==`string`?e:``).trim().replace(/\s+/g,`,`).split(`,`).filter(Boolean);for(let e of t)e[0]===`-`?n.skips.push(e.slice(1)):n.names.push(e)}function a(e,t){let n=0,r=0,i=-1,a=0;for(;n<e.length;)if(r<t.length&&(t[r]===e[n]||t[r]===`*`))t[r]===`*`?(i=r,a=n,r++):(n++,r++);else if(i!==-1)r=i+1,a++,n=a;else return!1;for(;r<t.length&&t[r]===`*`;)r++;return r===t.length}function o(){let e=[...n.names,...n.skips.map(e=>`-`+e)].join(`,`);return n.enable(``),e}function s(e){for(let t of n.skips)if(a(e,t))return!1;for(let t of n.names)if(a(e,t))return!0;return!1}function c(e){return e instanceof Error?e.stack||e.message:e}function l(){console.warn("Instance method `debug.destroy()` is deprecated and no longer does anything. It will be removed in the next major version of `debug`.")}return n.enable(n.load()),n}t.exports=n})),g=e(((e,t)=>{e.formatArgs=r,e.save=i,e.load=a,e.useColors=n,e.storage=o(),e.destroy=(()=>{let e=!1;return()=>{e||(e=!0,console.warn("Instance method `debug.destroy()` is deprecated and no longer does anything. It will be removed in the next major version of `debug`."))}})(),e.colors=`#0000CC.#0000FF.#0033CC.#0033FF.#0066CC.#0066FF.#0099CC.#0099FF.#00CC00.#00CC33.#00CC66.#00CC99.#00CCCC.#00CCFF.#3300CC.#3300FF.#3333CC.#3333FF.#3366CC.#3366FF.#3399CC.#3399FF.#33CC00.#33CC33.#33CC66.#33CC99.#33CCCC.#33CCFF.#6600CC.#6600FF.#6633CC.#6633FF.#66CC00.#66CC33.#9900CC.#9900FF.#9933CC.#9933FF.#99CC00.#99CC33.#CC0000.#CC0033.#CC0066.#CC0099.#CC00CC.#CC00FF.#CC3300.#CC3333.#CC3366.#CC3399.#CC33CC.#CC33FF.#CC6600.#CC6633.#CC9900.#CC9933.#CCCC00.#CCCC33.#FF0000.#FF0033.#FF0066.#FF0099.#FF00CC.#FF00FF.#FF3300.#FF3333.#FF3366.#FF3399.#FF33CC.#FF33FF.#FF6600.#FF6633.#FF9900.#FF9933.#FFCC00.#FFCC33`.split(`.`);function n(){if(typeof window<`u`&&window.process&&(window.process.type===`renderer`||window.process.__nwjs))return!0;if(typeof navigator<`u`&&navigator.userAgent&&navigator.userAgent.toLowerCase().match(/(edge|trident)\/(\d+)/))return!1;let e;return typeof document<`u`&&document.documentElement&&document.documentElement.style&&document.documentElement.style.WebkitAppearance||typeof window<`u`&&window.console&&(window.console.firebug||window.console.exception&&window.console.table)||typeof navigator<`u`&&navigator.userAgent&&(e=navigator.userAgent.toLowerCase().match(/firefox\/(\d+)/))&&parseInt(e[1],10)>=31||typeof navigator<`u`&&navigator.userAgent&&navigator.userAgent.toLowerCase().match(/applewebkit\/(\d+)/)}function r(e){if(e[0]=(this.useColors?`%c`:``)+this.namespace+(this.useColors?` %c`:` `)+e[0]+(this.useColors?`%c `:` `)+`+`+t.exports.humanize(this.diff),!this.useColors)return;let n=`color: `+this.color;e.splice(1,0,n,`color: inherit`);let r=0,i=0;e[0].replace(/%[a-zA-Z%]/g,e=>{e!==`%%`&&(r++,e===`%c`&&(i=r))}),e.splice(i,0,n)}e.log=console.debug||console.log||(()=>{});function i(t){try{t?e.storage.setItem(`debug`,t):e.storage.removeItem(`debug`)}catch{}}function a(){let t;try{t=e.storage.getItem(`debug`)||e.storage.getItem(`DEBUG`)}catch{}return!t&&typeof process<`u`&&`env`in process&&(t={}.DEBUG),t}function o(){try{return localStorage}catch{}}t.exports=h()(e);var{formatters:s}=t.exports;s.j=function(e){try{return JSON.stringify(e)}catch(e){return`[UnexpectedJSONParseError]: `+e.message}}})),_=e((e=>{Object.defineProperty(e,"__esModule",{value:!0})})),v=e((e=>{var t=e&&e.__importDefault||function(e){return e&&e.__esModule?e:{default:e}};Object.defineProperty(e,"__esModule",{value:!0}),e.Logger=void 0;var n=t(g()),r=`mediasoup-client`;e.Logger=class{_debug;_warn;_error;constructor(e){e?(this._debug=(0,n.default)(`${r}:${e}`),this._warn=(0,n.default)(`${r}:WARN:${e}`),this._error=(0,n.default)(`${r}:ERROR:${e}`)):(this._debug=(0,n.default)(r),this._warn=(0,n.default)(`${r}:WARN`),this._error=(0,n.default)(`${r}:ERROR`)),this._debug.log=console.info.bind(console),this._warn.log=console.warn.bind(console),this._error.log=console.error.bind(console)}get debug(){return this._debug}get warn(){return this._warn}get error(){return this._error}}})),y=e(((e,t)=>{var n=typeof Reflect==`object`?Reflect:null,r=n&&typeof n.apply==`function`?n.apply:function(e,t,n){return Function.prototype.apply.call(e,t,n)},i=n&&typeof n.ownKeys==`function`?n.ownKeys:Object.getOwnPropertySymbols?function(e){return Object.getOwnPropertyNames(e).concat(Object.getOwnPropertySymbols(e))}:function(e){return Object.getOwnPropertyNames(e)};function a(e){console&&console.warn&&console.warn(e)}var o=Number.isNaN||function(e){return e!==e};function s(){s.init.call(this)}t.exports=s,t.exports.once=y,s.EventEmitter=s,s.prototype._events=void 0,s.prototype._eventsCount=0,s.prototype._maxListeners=void 0;var c=10;function l(e){if(typeof e!=`function`)throw TypeError(`The "listener" argument must be of type Function. Received type `+typeof e)}Object.defineProperty(s,"defaultMaxListeners",{enumerable:!0,get:function(){return c},set:function(e){if(typeof e!=`number`||e<0||o(e))throw RangeError(`The value of "defaultMaxListeners" is out of range. It must be a non-negative number. Received `+e+`.`);c=e}}),s.init=function(){(this._events===void 0||this._events===Object.getPrototypeOf(this)._events)&&(this._events=Object.create(null),this._eventsCount=0),this._maxListeners=this._maxListeners||void 0},s.prototype.setMaxListeners=function(e){if(typeof e!=`number`||e<0||o(e))throw RangeError(`The value of "n" is out of range. It must be a non-negative number. Received `+e+`.`);return this._maxListeners=e,this};function u(e){return e._maxListeners===void 0?s.defaultMaxListeners:e._maxListeners}s.prototype.getMaxListeners=function(){return u(this)},s.prototype.emit=function(e){for(var t=[],n=1;n<arguments.length;n++)t.push(arguments[n]);var i=e===`error`,a=this._events;if(a!==void 0)i&&=a.error===void 0;else if(!i)return!1;if(i){var o;if(t.length>0&&(o=t[0]),o instanceof Error)throw o;var s=Error(`Unhandled error.`+(o?` (`+o.message+`)`:``));throw s.context=o,s}var c=a[e];if(c===void 0)return!1;if(typeof c==`function`)r(c,this,t);else for(var l=c.length,u=g(c,l),n=0;n<l;++n)r(u[n],this,t);return!0};function d(e,t,n,r){var i,o,s;if(l(n),o=e._events,o===void 0?(o=e._events=Object.create(null),e._eventsCount=0):(o.newListener!==void 0&&(e.emit(`newListener`,t,n.listener?n.listener:n),o=e._events),s=o[t]),s===void 0)s=o[t]=n,++e._eventsCount;else if(typeof s==`function`?s=o[t]=r?[n,s]:[s,n]:r?s.unshift(n):s.push(n),i=u(e),i>0&&s.length>i&&!s.warned){s.warned=!0;var c=Error(`Possible EventEmitter memory leak detected. `+s.length+` `+String(t)+` listeners added. Use emitter.setMaxListeners() to increase limit`);c.name=`MaxListenersExceededWarning`,c.emitter=e,c.type=t,c.count=s.length,a(c)}return e}s.prototype.addListener=function(e,t){return d(this,e,t,!1)},s.prototype.on=s.prototype.addListener,s.prototype.prependListener=function(e,t){return d(this,e,t,!0)};function f(){if(!this.fired)return this.target.removeListener(this.type,this.wrapFn),this.fired=!0,arguments.length===0?this.listener.call(this.target):this.listener.apply(this.target,arguments)}function p(e,t,n){var r={fired:!1,wrapFn:void 0,target:e,type:t,listener:n},i=f.bind(r);return i.listener=n,r.wrapFn=i,i}s.prototype.once=function(e,t){return l(t),this.on(e,p(this,e,t)),this},s.prototype.prependOnceListener=function(e,t){return l(t),this.prependListener(e,p(this,e,t)),this},s.prototype.removeListener=function(e,t){var n,r,i,a,o;if(l(t),r=this._events,r===void 0||(n=r[e],n===void 0))return this;if(n===t||n.listener===t)--this._eventsCount===0?this._events=Object.create(null):(delete r[e],r.removeListener&&this.emit(`removeListener`,e,n.listener||t));else if(typeof n!=`function`){for(i=-1,a=n.length-1;a>=0;a--)if(n[a]===t||n[a].listener===t){o=n[a].listener,i=a;break}if(i<0)return this;i===0?n.shift():_(n,i),n.length===1&&(r[e]=n[0]),r.removeListener!==void 0&&this.emit(`removeListener`,e,o||t)}return this},s.prototype.off=s.prototype.removeListener,s.prototype.removeAllListeners=function(e){var t,n=this._events,r;if(n===void 0)return this;if(n.removeListener===void 0)return arguments.length===0?(this._events=Object.create(null),this._eventsCount=0):n[e]!==void 0&&(--this._eventsCount===0?this._events=Object.create(null):delete n[e]),this;if(arguments.length===0){var i=Object.keys(n),a;for(r=0;r<i.length;++r)a=i[r],a!==`removeListener`&&this.removeAllListeners(a);return this.removeAllListeners(`removeListener`),this._events=Object.create(null),this._eventsCount=0,this}if(t=n[e],typeof t==`function`)this.removeListener(e,t);else if(t!==void 0)for(r=t.length-1;r>=0;r--)this.removeListener(e,t[r]);return this};function m(e,t,n){var r=e._events;if(r===void 0)return[];var i=r[t];return i===void 0?[]:typeof i==`function`?n?[i.listener||i]:[i]:n?v(i):g(i,i.length)}s.prototype.listeners=function(e){return m(this,e,!0)},s.prototype.rawListeners=function(e){return m(this,e,!1)},s.listenerCount=function(e,t){return typeof e.listenerCount==`function`?e.listenerCount(t):h.call(e,t)},s.prototype.listenerCount=h;function h(e){var t=this._events;if(t!==void 0){var n=t[e];if(typeof n==`function`)return 1;if(n!==void 0)return n.length}return 0}s.prototype.eventNames=function(){return this._eventsCount>0?i(this._events):[]};function g(e,t){for(var n=Array(t),r=0;r<t;++r)n[r]=e[r];return n}function _(e,t){for(;t+1<e.length;t++)e[t]=e[t+1];e.pop()}function v(e){for(var t=Array(e.length),n=0;n<t.length;++n)t[n]=e[n].listener||e[n];return t}function y(e,t){return new Promise(function(n,r){function i(n){e.removeListener(t,a),r(n)}function a(){typeof e.removeListener==`function`&&e.removeListener(`error`,i),n([].slice.call(arguments))}x(e,t,a,{once:!0}),t!==`error`&&b(e,i,{once:!0})})}function b(e,t,n){typeof e.on==`function`&&x(e,`error`,t,n)}function x(e,t,n,r){if(typeof e.on==`function`)r.once?e.once(t,n):e.on(t,n);else if(typeof e.addEventListener==`function`)e.addEventListener(t,function i(a){r.once&&e.removeEventListener(t,i),n(a)});else throw TypeError(`The "emitter" argument must be of type EventEmitter. Received type `+typeof e)}})),b=e((e=>{Object.defineProperty(e,"__esModule",{value:!0}),e.EnhancedEventEmitter=void 0;var t=y(),n=new(v()).Logger(`EnhancedEventEmitter`);e.EnhancedEventEmitter=class extends t.EventEmitter{constructor(){super(),this.setMaxListeners(1/0)}close(){super.removeAllListeners()}emit(e,...t){return super.emit(e,...t)}safeEmit(e,...t){try{return super.emit(e,...t)}catch(t){n.error(`safeEmit() | event listener threw an error [eventName:%s]:%o`,e,t);try{super.emit(`listenererror`,e,t)}catch{}return!!super.listenerCount(e)}}on(e,t){return super.on(e,t),this}off(e,t){return super.off(e,t),this}addListener(e,t){return super.on(e,t),this}prependListener(e,t){return super.prependListener(e,t),this}once(e,t){return super.once(e,t),this}prependOnceListener(e,t){return super.prependOnceListener(e,t),this}removeListener(e,t){return super.off(e,t),this}removeAllListeners(e){return super.removeAllListeners(e),this}listenerCount(e){return super.listenerCount(e)}listeners(e){return super.listeners(e)}rawListeners(e){return super.rawListeners(e)}}})),x=e((e=>{Object.defineProperty(e,"__esModule",{value:!0}),e.InvalidStateError=e.UnsupportedError=void 0,e.UnsupportedError=class e extends Error{constructor(t){super(t),this.name=`UnsupportedError`,Error.hasOwnProperty(`captureStackTrace`)?Error.captureStackTrace(this,e):this.stack=Error(t).stack}},e.InvalidStateError=class e extends Error{constructor(t){super(t),this.name=`InvalidStateError`,Error.hasOwnProperty(`captureStackTrace`)?Error.captureStackTrace(this,e):this.stack=Error(t).stack}}})),S=e((e=>{Object.defineProperty(e,"__esModule",{value:!0}),e.clone=t,e.generateRandomNumber=n,e.deepFreeze=r;function t(e){if(e!==void 0)return Number.isNaN(e)?NaN:typeof structuredClone==`function`?structuredClone(e):JSON.parse(JSON.stringify(e))}function n(){return Math.round(Math.random()*1e7)}function r(e){let t=Reflect.ownKeys(e);for(let n of t){let t=e[n];(t&&typeof t==`object`||typeof t==`function`)&&r(t)}return Object.freeze(e)}})),C=e((e=>{var t=e&&e.__importDefault||function(e){return e&&e.__esModule?e:{default:e}};Object.defineProperty(e,"__esModule",{value:!0}),e.Logger=void 0;var n=t(g()),r=`h264-profile-level-id`;e.Logger=class{_debug;_warn;_error;constructor(e){e?(this._debug=(0,n.default)(`${r}:${e}`),this._warn=(0,n.default)(`${r}:WARN:${e}`),this._error=(0,n.default)(`${r}:ERROR:${e}`)):(this._debug=(0,n.default)(r),this._warn=(0,n.default)(`${r}:WARN`),this._error=(0,n.default)(`${r}:ERROR`)),this._debug.log=console.info.bind(console),this._warn.log=console.warn.bind(console),this._error.log=console.error.bind(console)}get debug(){return this._debug}get warn(){return this._warn}get error(){return this._error}}})),w=e((e=>{Object.defineProperty(e,"__esModule",{value:!0}),e.ProfileLevelId=e.Level=e.Profile=void 0,e.parseProfileLevelId=u,e.profileLevelIdToString=d,e.profileToString=f,e.levelToString=p,e.parseSdpProfileLevelId=m,e.isSameProfile=h,e.isSameProfileAndLevel=g,e.generateProfileLevelIdStringForAnswer=_,e.supportedLevel=v;var t=new(C()).Logger,n;(function(e){e[e.ConstrainedBaseline=1]=`ConstrainedBaseline`,e[e.Baseline=2]=`Baseline`,e[e.Main=3]=`Main`,e[e.ConstrainedHigh=4]=`ConstrainedHigh`,e[e.High=5]=`High`,e[e.PredictiveHigh444=6]=`PredictiveHigh444`})(n||(e.Profile=n={}));var r;(function(e){e[e.L1_b=0]=`L1_b`,e[e.L1=10]=`L1`,e[e.L1_1=11]=`L1_1`,e[e.L1_2=12]=`L1_2`,e[e.L1_3=13]=`L1_3`,e[e.L2=20]=`L2`,e[e.L2_1=21]=`L2_1`,e[e.L2_2=22]=`L2_2`,e[e.L3=30]=`L3`,e[e.L3_1=31]=`L3_1`,e[e.L3_2=32]=`L3_2`,e[e.L4=40]=`L4`,e[e.L4_1=41]=`L4_1`,e[e.L4_2=42]=`L4_2`,e[e.L5=50]=`L5`,e[e.L5_1=51]=`L5_1`,e[e.L5_2=52]=`L5_2`})(r||(e.Level=r={}));var i=class{profile;level;constructor(e,t){this.profile=e,this.level=t}};e.ProfileLevelId=i;var a=new i(n.ConstrainedBaseline,r.L3_1),o=class{mask;masked_value;constructor(e){this.mask=~y(`x`,e),this.masked_value=y(`1`,e)}isMatch(e){return this.masked_value===(e&this.mask)}},s=class{profile_idc;profile_iop;profile;constructor(e,t,n){this.profile_idc=e,this.profile_iop=t,this.profile=n}},c=[new s(66,new o(`x1xx0000`),n.ConstrainedBaseline),new s(77,new o(`1xxx0000`),n.ConstrainedBaseline),new s(88,new o(`11xx0000`),n.ConstrainedBaseline),new s(66,new o(`x0xx0000`),n.Baseline),new s(88,new o(`10xx0000`),n.Baseline),new s(77,new o(`0x0x0000`),n.Main),new s(100,new o(`00000000`),n.High),new s(100,new o(`00001100`),n.ConstrainedHigh),new s(244,new o(`00000000`),n.PredictiveHigh444)],l=[{max_macroblocks_per_second:1485,max_macroblock_frame_size:99,level:r.L1},{max_macroblocks_per_second:1485,max_macroblock_frame_size:99,level:r.L1_b},{max_macroblocks_per_second:3e3,max_macroblock_frame_size:396,level:r.L1_1},{max_macroblocks_per_second:6e3,max_macroblock_frame_size:396,level:r.L1_2},{max_macroblocks_per_second:11880,max_macroblock_frame_size:396,level:r.L1_3},{max_macroblocks_per_second:11880,max_macroblock_frame_size:396,level:r.L2},{max_macroblocks_per_second:19800,max_macroblock_frame_size:792,level:r.L2_1},{max_macroblocks_per_second:20250,max_macroblock_frame_size:1620,level:r.L2_2},{max_macroblocks_per_second:40500,max_macroblock_frame_size:1620,level:r.L3},{max_macroblocks_per_second:108e3,max_macroblock_frame_size:3600,level:r.L3_1},{max_macroblocks_per_second:216e3,max_macroblock_frame_size:5120,level:r.L3_2},{max_macroblocks_per_second:245760,max_macroblock_frame_size:8192,level:r.L4},{max_macroblocks_per_second:245760,max_macroblock_frame_size:8192,level:r.L4_1},{max_macroblocks_per_second:522240,max_macroblock_frame_size:8704,level:r.L4_2},{max_macroblocks_per_second:589824,max_macroblock_frame_size:22080,level:r.L5},{max_macroblocks_per_second:983040,max_macroblock_frame_size:36864,level:r.L5_1},{max_macroblocks_per_second:2073600,max_macroblock_frame_size:36864,level:r.L5_2}];function u(e){if(typeof e!=`string`||e.length!==6)return;let n=parseInt(e,16);if(n===0)return;let a=n&255,o=n>>8&255,s=n>>16&255,l;switch(a){case r.L1_1:l=o&16?r.L1_b:r.L1_1;break;case r.L1:case r.L1_2:case r.L1_3:case r.L2:case r.L2_1:case r.L2_2:case r.L3:case r.L3_1:case r.L3_2:case r.L4:case r.L4_1:case r.L4_2:case r.L5:case r.L5_1:case r.L5_2:l=a;break;default:t.warn(`parseProfileLevelId() | unrecognized level_idc [str:${e}, level_idc:${a}]`);return}for(let n of c)if(s===n.profile_idc&&n.profile_iop.isMatch(o))return t.debug(`parseProfileLevelId() | result [str:${e}, profile:${n.profile}, level:${l}]`),new i(n.profile,l);t.warn(`parseProfileLevelId() | unrecognized profile_idc/profile_iop combination [str:${e}, profile_idc:${s}, profile_iop:${o}]`)}function d(e){if(e.level==r.L1_b)switch(e.profile){case n.ConstrainedBaseline:return`42f00b`;case n.Baseline:return`42100b`;case n.Main:return`4d100b`;default:t.warn(`profileLevelIdToString() | Level 1_b not is allowed for profile ${e.profile}`);return}let i;switch(e.profile){case n.ConstrainedBaseline:i=`42e0`;break;case n.Baseline:i=`4200`;break;case n.Main:i=`4d00`;break;case n.ConstrainedHigh:i=`640c`;break;case n.High:i=`6400`;break;case n.PredictiveHigh444:i=`f400`;break;default:t.warn(`profileLevelIdToString() | unrecognized profile ${e.profile}`);return}let a=e.level.toString(16);return a.length===1&&(a=`0${a}`),`${i}${a}`}function f(e){switch(e){case n.ConstrainedBaseline:return`ConstrainedBaseline`;case n.Baseline:return`Baseline`;case n.Main:return`Main`;case n.ConstrainedHigh:return`ConstrainedHigh`;case n.High:return`High`;case n.PredictiveHigh444:return`PredictiveHigh444`;default:t.warn(`profileToString() | unrecognized profile ${e}`);return}}function p(e){switch(e){case r.L1_b:return`1b`;case r.L1:return`1`;case r.L1_1:return`1.1`;case r.L1_2:return`1.2`;case r.L1_3:return`1.3`;case r.L2:return`2`;case r.L2_1:return`2.1`;case r.L2_2:return`2.2`;case r.L3:return`3`;case r.L3_1:return`3.1`;case r.L3_2:return`3.2`;case r.L4:return`4`;case r.L4_1:return`4.1`;case r.L4_2:return`4.2`;case r.L5:return`5`;case r.L5_1:return`5.1`;case r.L5_2:return`5.2`;default:t.warn(`levelToString() | unrecognized level ${e}`);return}}function m(e={}){let t=e[`profile-level-id`];return t?u(t):a}function h(e={},t={}){let n=m(e),r=m(t);return!!(n&&n.profile===r?.profile)}function g(e={},t={}){let n=m(e),r=m(t);return!!(n&&n.profile===r?.profile&&n.level==r?.level)}function _(e={},n={}){if(!e[`profile-level-id`]&&!n[`profile-level-id`]){t.warn(`generateProfileLevelIdStringForAnswer() | profile-level-id missing in local and remote params`);return}let r=m(e),a=m(n);if(!r)throw TypeError(`invalid local_profile_level_id`);if(!a)throw TypeError(`invalid remote_profile_level_id`);if(r.profile!==a.profile)throw TypeError(`H264 Profile mismatch`);let o=S(e)&&S(n),s=r.level,c=a.level,l=x(s,c),u=o?s:l;return t.debug(`generateProfileLevelIdStringForAnswer() | result [profile:${r.profile}, level:${u}]`),d(new i(r.profile,u))}function v(e,n){for(let r=l.length-1;r>=0;--r){let i=l[r];if(i.max_macroblock_frame_size*256<=e&&i.max_macroblocks_per_second<=n*i.max_macroblock_frame_size)return t.debug(`supportedLevel() | result [max_frame_pixel_count:${e}, max_fps:${n}, level:${i.level}]`),i.level}t.warn(`supportedLevel() | no level supported [max_frame_pixel_count:${e}, max_fps:${n}]`)}function y(e,t){return Number(t[0]===e)<<7|Number(t[1]===e)<<6|Number(t[2]===e)<<5|Number(t[3]===e)<<4|Number(t[4]===e)<<3|Number(t[5]===e)<<2|Number(t[6]===e)<<1|Number(t[7]===e)<<0}function b(e,t){return e===r.L1_b?t!==r.L1&&t!==r.L1_b:t===r.L1_b?e!==r.L1:e<t}function x(e,t){return b(e,t)?e:t}function S(e={}){let t=e[`level-asymmetry-allowed`];return t===!0||t===1||t===`1`}})),T=e((e=>{var t=e&&e.__createBinding||(Object.create?(function(e,t,n,r){r===void 0&&(r=n);var i=Object.getOwnPropertyDescriptor(t,n);(!i||(`get`in i?!t.__esModule:i.writable||i.configurable))&&(i={enumerable:!0,get:function(){return t[n]}}),Object.defineProperty(e,r,i)}):(function(e,t,n,r){r===void 0&&(r=n),e[r]=t[n]})),n=e&&e.__setModuleDefault||(Object.create?(function(e,t){Object.defineProperty(e,"default",{enumerable:!0,value:t})}):function(e,t){e.default=t}),r=e&&e.__importStar||(function(){var e=function(t){return e=Object.getOwnPropertyNames||function(e){var t=[];for(var n in e)Object.prototype.hasOwnProperty.call(e,n)&&(t[t.length]=n);return t},e(t)};return function(r){if(r&&r.__esModule)return r;var i={};if(r!=null)for(var a=e(r),o=0;o<a.length;o++)a[o]!=="default"&&t(i,r,a[o]);return n(i,r),i}})();Object.defineProperty(e,"__esModule",{value:!0}),e.validateAndNormalizeRtpCapabilities=l,e.validateAndNormalizeRtpParameters=u,e.validateAndNormalizeSctpStreamParameters=d,e.getExtendedRtpCapabilities=f,e.getRecvRtpCapabilities=p,e.getSendRtpCapabilities=m,e.getSendingRtpParameters=h,e.getSendingRemoteRtpParameters=g,e.reduceCodecs=_,e.generateProbatorRtpParameters=v,e.canSend=y,e.canReceive=b;var i=r(w()),a=r(S()),o=`probator`,s=1234,c=127;function l(e){if(typeof e!=`object`)throw TypeError(`caps is not an object`);if(e.codecs&&!Array.isArray(e.codecs))throw TypeError(`caps.codecs is not an array`);e.codecs||=[];for(let t of e.codecs)x(t);if(e.headerExtensions&&!Array.isArray(e.headerExtensions))throw TypeError(`caps.headerExtensions is not an array`);e.headerExtensions||=[];for(let t of e.headerExtensions)T(t)}function u(e){if(typeof e!=`object`)throw TypeError(`params is not an object`);if(e.mid&&typeof e.mid!=`string`)throw TypeError(`params.mid is not a string`);if(!Array.isArray(e.codecs))throw TypeError(`missing params.codecs`);for(let t of e.codecs)E(t);if(e.headerExtensions&&!Array.isArray(e.headerExtensions))throw TypeError(`params.headerExtensions is not an array`);e.headerExtensions||=[];for(let t of e.headerExtensions)D(t);if(e.encodings&&!Array.isArray(e.encodings))throw TypeError(`params.encodings is not an array`);e.encodings||=[];for(let t of e.encodings)O(t);if(e.rtcp&&typeof e.rtcp!=`object`)throw TypeError(`params.rtcp is not an object`);e.rtcp||={},k(e.rtcp)}function d(e){if(typeof e!=`object`)throw TypeError(`params is not an object`);if(typeof e.streamId!=`number`)throw TypeError(`missing params.streamId`);let t=!1;if(typeof e.ordered==`boolean`?t=!0:e.ordered=!0,e.maxPacketLifeTime&&typeof e.maxPacketLifeTime!=`number`)throw TypeError(`invalid params.maxPacketLifeTime`);if(e.maxRetransmits&&typeof e.maxRetransmits!=`number`)throw TypeError(`invalid params.maxRetransmits`);if(e.maxPacketLifeTime&&e.maxRetransmits)throw TypeError(`cannot provide both maxPacketLifeTime and maxRetransmits`);if(t&&e.ordered&&(e.maxPacketLifeTime||e.maxRetransmits))throw TypeError(`cannot be ordered with maxPacketLifeTime or maxRetransmits`);if(!t&&(e.maxPacketLifeTime||e.maxRetransmits)&&(e.ordered=!1),e.label&&typeof e.label!=`string`)throw TypeError(`invalid params.label`);if(e.protocol&&typeof e.protocol!=`string`)throw TypeError(`invalid params.protocol`)}function f(e,t,n){let r={codecs:[],headerExtensions:[]};if(n)for(let n of e.codecs??[]){if(j(n))continue;let e=(t.codecs??[]).find(e=>M(e,n,{strict:!0,modify:!0}));if(!e)continue;let i={kind:n.kind,mimeType:n.mimeType,clockRate:n.clockRate,channels:n.channels,localPayloadType:n.preferredPayloadType,localRtxPayloadType:void 0,remotePayloadType:e.preferredPayloadType,remoteRtxPayloadType:void 0,localParameters:n.parameters??{},remoteParameters:e.parameters??{},rtcpFeedback:P(n,e)};r.codecs.push(i)}else for(let n of t.codecs??[]){if(j(n))continue;let t=(e.codecs??[]).find(e=>M(e,n,{strict:!0,modify:!0}));if(!t)continue;let i={kind:t.kind,mimeType:t.mimeType,clockRate:t.clockRate,channels:t.channels,localPayloadType:t.preferredPayloadType,localRtxPayloadType:void 0,remotePayloadType:n.preferredPayloadType,remoteRtxPayloadType:void 0,localParameters:t.parameters??{},remoteParameters:n.parameters??{},rtcpFeedback:P(t,n)};r.codecs.push(i)}for(let n of r.codecs){let r=e.codecs.find(e=>j(e)&&e.parameters?.apt===n.localPayloadType),i=t.codecs.find(e=>j(e)&&e.parameters?.apt===n.remotePayloadType);r&&i&&(n.localRtxPayloadType=r.preferredPayloadType,n.remoteRtxPayloadType=i.preferredPayloadType)}for(let n of t.headerExtensions){let t=e.headerExtensions.find(e=>N(e,n));if(!t)continue;let i={kind:n.kind,uri:n.uri,sendId:t.preferredId,recvId:n.preferredId,encrypt:t.preferredEncrypt??!1,direction:`sendrecv`};switch(n.direction){case`sendrecv`:i.direction=`sendrecv`;break;case`recvonly`:i.direction=`sendonly`;break;case`sendonly`:i.direction=`recvonly`;break;case`inactive`:i.direction=`inactive`}r.headerExtensions.push(i)}return r}function p(e){return A({direction:`recvonly`,extendedRtpCapabilities:e})}function m(e){return A({direction:`sendonly`,extendedRtpCapabilities:e})}function h(e,t){let n={mid:void 0,codecs:[],headerExtensions:[],encodings:[],rtcp:{}};for(let r of t.codecs){if(r.kind!==e)continue;let t={mimeType:r.mimeType,payloadType:r.localPayloadType,clockRate:r.clockRate,channels:r.channels,parameters:r.localParameters,rtcpFeedback:r.rtcpFeedback};if(n.codecs.push(t),r.localRtxPayloadType){let e={mimeType:`${r.kind}/rtx`,payloadType:r.localRtxPayloadType,clockRate:r.clockRate,parameters:{apt:r.localPayloadType},rtcpFeedback:[]};n.codecs.push(e)}}for(let r of t.headerExtensions){if(r.kind&&r.kind!==e||r.direction!==`sendrecv`&&r.direction!==`sendonly`)continue;let t={uri:r.uri,id:r.sendId,encrypt:r.encrypt,parameters:{}};n.headerExtensions.push(t)}return n}function g(e,t){let n={mid:void 0,codecs:[],headerExtensions:[],encodings:[],rtcp:{}};for(let r of t.codecs){if(r.kind!==e)continue;let t={mimeType:r.mimeType,payloadType:r.localPayloadType,clockRate:r.clockRate,channels:r.channels,parameters:r.remoteParameters,rtcpFeedback:r.rtcpFeedback};if(n.codecs.push(t),r.localRtxPayloadType){let e={mimeType:`${r.kind}/rtx`,payloadType:r.localRtxPayloadType,clockRate:r.clockRate,parameters:{apt:r.localPayloadType},rtcpFeedback:[]};n.codecs.push(e)}}for(let r of t.headerExtensions){if(r.kind&&r.kind!==e||r.direction!==`sendrecv`&&r.direction!==`sendonly`)continue;let t={uri:r.uri,id:r.sendId,encrypt:r.encrypt,parameters:{}};n.headerExtensions.push(t)}if(n.headerExtensions.some(e=>e.uri===`http://www.ietf.org/id/draft-holmer-rmcat-transport-wide-cc-extensions-01`))for(let e of n.codecs)e.rtcpFeedback=(e.rtcpFeedback??[]).filter(e=>e.type!==`goog-remb`);else if(n.headerExtensions.some(e=>e.uri===`http://www.webrtc.org/experiments/rtp-hdrext/abs-send-time`))for(let e of n.codecs)e.rtcpFeedback=(e.rtcpFeedback??[]).filter(e=>e.type!==`transport-cc`);else for(let e of n.codecs)e.rtcpFeedback=(e.rtcpFeedback??[]).filter(e=>e.type!==`transport-cc`&&e.type!==`goog-remb`);return n}function _(e,t){let n=[];if(!t)n.push(e[0]),j(e[1])&&n.push(e[1]);else{for(let r=0;r<e.length;++r)if(M(e[r],t,{strict:!0})){n.push(e[r]),j(e[r+1])&&n.push(e[r+1]);break}if(n.length===0)throw TypeError(`no matching codec found`)}return n}function v(e){e=a.clone(e),u(e);let t={mid:o,codecs:[],headerExtensions:[],encodings:[{ssrc:s}],rtcp:{cname:`probator`}};return t.codecs.push(e.codecs[0]),t.codecs[0].payloadType=c,t.headerExtensions=e.headerExtensions,t}function y(e,t){return(t.codecs??[]).some(t=>t.kind===e)}function b(e,t){if(u(e),e.codecs.length===0)return!1;let n=e.codecs[0];return(t.codecs??[]).some(e=>e.preferredPayloadType===n.payloadType)}function x(e){let t=RegExp(`^(audio|video)/(.+)`,`i`);if(typeof e!=`object`)throw TypeError(`codec is not an object`);if(!e.mimeType||typeof e.mimeType!=`string`)throw TypeError(`missing codec.mimeType`);let n=t.exec(e.mimeType);if(!n)throw TypeError(`invalid codec.mimeType`);if(e.kind=n[1].toLowerCase(),typeof e.preferredPayloadType!=`number`)throw TypeError(`missing codec.preferredPayloadType`);if(typeof e.clockRate!=`number`)throw TypeError(`missing codec.clockRate`);e.kind===`audio`?typeof e.channels!=`number`&&(e.channels=1):delete e.channels,(!e.parameters||typeof e.parameters!=`object`)&&(e.parameters={});for(let t of Object.keys(e.parameters)){let n=e.parameters[t];if(n===void 0&&(e.parameters[t]=``,n=``),typeof n!=`string`&&typeof n!=`number`)throw TypeError(`invalid codec parameter [key:${t}s, value:${n}]`);if(t===`apt`&&typeof n!=`number`)throw TypeError(`invalid codec apt parameter`)}(!e.rtcpFeedback||!Array.isArray(e.rtcpFeedback))&&(e.rtcpFeedback=[]);for(let t of e.rtcpFeedback)C(t)}function C(e){if(typeof e!=`object`)throw TypeError(`fb is not an object`);if(!e.type||typeof e.type!=`string`)throw TypeError(`missing fb.type`);(!e.parameter||typeof e.parameter!=`string`)&&(e.parameter=``)}function T(e){if(typeof e!=`object`)throw TypeError(`ext is not an object`);if(e.kind!==`audio`&&e.kind!==`video`)throw TypeError(`invalid ext.kind`);if(!e.uri||typeof e.uri!=`string`)throw TypeError(`missing ext.uri`);if(typeof e.preferredId!=`number`)throw TypeError(`missing ext.preferredId`);if(e.preferredEncrypt&&typeof e.preferredEncrypt!=`boolean`)throw TypeError(`invalid ext.preferredEncrypt`);if(e.preferredEncrypt||=!1,e.direction&&typeof e.direction!=`string`)throw TypeError(`invalid ext.direction`);e.direction||=`sendrecv`}function E(e){let t=RegExp(`^(audio|video)/(.+)`,`i`);if(typeof e!=`object`)throw TypeError(`codec is not an object`);if(!e.mimeType||typeof e.mimeType!=`string`)throw TypeError(`missing codec.mimeType`);let n=t.exec(e.mimeType);if(!n)throw TypeError(`invalid codec.mimeType`);if(typeof e.payloadType!=`number`)throw TypeError(`missing codec.payloadType`);if(typeof e.clockRate!=`number`)throw TypeError(`missing codec.clockRate`);n[1].toLowerCase()===`audio`?typeof e.channels!=`number`&&(e.channels=1):delete e.channels,(!e.parameters||typeof e.parameters!=`object`)&&(e.parameters={});for(let t of Object.keys(e.parameters)){let n=e.parameters[t];if(n===void 0&&(e.parameters[t]=``,n=``),typeof n!=`string`&&typeof n!=`number`)throw TypeError(`invalid codec parameter [key:${t}s, value:${n}]`);if(t===`apt`&&typeof n!=`number`)throw TypeError(`invalid codec apt parameter`)}(!e.rtcpFeedback||!Array.isArray(e.rtcpFeedback))&&(e.rtcpFeedback=[]);for(let t of e.rtcpFeedback)C(t)}function D(e){if(typeof e!=`object`)throw TypeError(`ext is not an object`);if(!e.uri||typeof e.uri!=`string`)throw TypeError(`missing ext.uri`);if(typeof e.id!=`number`)throw TypeError(`missing ext.id`);if(e.encrypt&&typeof e.encrypt!=`boolean`)throw TypeError(`invalid ext.encrypt`);e.encrypt||=!1,(!e.parameters||typeof e.parameters!=`object`)&&(e.parameters={});for(let t of Object.keys(e.parameters)){let n=e.parameters[t];if(n===void 0&&(e.parameters[t]=``,n=``),typeof n!=`string`&&typeof n!=`number`)throw TypeError(`invalid header extension parameter`)}}function O(e){if(typeof e!=`object`)throw TypeError(`encoding is not an object`);if(e.ssrc&&typeof e.ssrc!=`number`)throw TypeError(`invalid encoding.ssrc`);if(e.rid&&typeof e.rid!=`string`)throw TypeError(`invalid encoding.rid`);if(e.rtx&&typeof e.rtx!=`object`)throw TypeError(`invalid encoding.rtx`);if(e.rtx&&typeof e.rtx.ssrc!=`number`)throw TypeError(`missing encoding.rtx.ssrc`);if((!e.dtx||typeof e.dtx!=`boolean`)&&(e.dtx=!1),e.scalabilityMode&&typeof e.scalabilityMode!=`string`)throw TypeError(`invalid encoding.scalabilityMode`)}function k(e){if(typeof e!=`object`)throw TypeError(`rtcp is not an object`);if(e.cname&&typeof e.cname!=`string`)throw TypeError(`invalid rtcp.cname`);(!e.reducedSize||typeof e.reducedSize!=`boolean`)&&(e.reducedSize=!0)}function A({direction:e,extendedRtpCapabilities:t}){let n=e===`sendonly`,r={codecs:[],headerExtensions:[]};for(let e of t.codecs){let t={kind:e.kind,mimeType:e.mimeType,preferredPayloadType:n?e.localPayloadType:e.remotePayloadType,clockRate:e.clockRate,channels:e.channels,parameters:e.localParameters,rtcpFeedback:e.rtcpFeedback};if(r.codecs.push(t),!e.localRtxPayloadType||!e.remoteRtxPayloadType)continue;let i={kind:e.kind,mimeType:`${e.kind}/rtx`,preferredPayloadType:n?e.localRtxPayloadType:e.remoteRtxPayloadType,clockRate:e.clockRate,parameters:{apt:n?e.localPayloadType:e.remotePayloadType},rtcpFeedback:[]};r.codecs.push(i)}for(let i of t.headerExtensions){if(i.direction!==`sendrecv`&&i.direction!==e)continue;let t={kind:i.kind,uri:i.uri,preferredId:n?i.sendId:i.recvId,preferredEncrypt:i.encrypt??!1,direction:i.direction};r.headerExtensions.push(t)}return r}function j(e){return e?/.+\/rtx$/i.test(e.mimeType):!1}function M(e,t,{strict:n=!1,modify:r=!1}={}){let a=e.mimeType.toLowerCase();if(a!==t.mimeType.toLowerCase()||e.clockRate!==t.clockRate||e.channels!==t.channels)return!1;switch(a){case`video/h264`:if(n){if((e.parameters[`packetization-mode`]??0)!==(t.parameters[`packetization-mode`]??0)||!i.isSameProfile(e.parameters,t.parameters))return!1;let n;try{n=i.generateProfileLevelIdStringForAnswer(e.parameters,t.parameters)}catch{return!1}r&&(n?(e.parameters[`profile-level-id`]=n,t.parameters[`profile-level-id`]=n):(delete e.parameters[`profile-level-id`],delete t.parameters[`profile-level-id`]))}break;case`video/vp9`:if(n&&(e.parameters[`profile-id`]??0)!==(t.parameters[`profile-id`]??0))return!1}return!0}function N(e,t){return!(e.kind&&t.kind&&e.kind!==t.kind||e.uri!==t.uri)}function P(e,t){let n=[];for(let r of e.rtcpFeedback??[]){let e=(t.rtcpFeedback??[]).find(e=>e.type===r.type&&(e.parameter===r.parameter||!e.parameter&&!r.parameter));e&&n.push(e)}return n}})),E=e((e=>{var t=e&&e.__importDefault||function(e){return e&&e.__esModule?e:{default:e}};Object.defineProperty(e,"__esModule",{value:!0}),e.Logger=void 0;var n=t(g()),r=`awaitqueue`;e.Logger=class{_debug;_warn;_error;constructor(e){e?(this._debug=(0,n.default)(`${r}:${e}`),this._warn=(0,n.default)(`${r}:WARN:${e}`),this._error=(0,n.default)(`${r}:ERROR:${e}`)):(this._debug=(0,n.default)(r),this._warn=(0,n.default)(`${r}:WARN`),this._error=(0,n.default)(`${r}:ERROR`)),this._debug.log=console.info.bind(console),this._warn.log=console.warn.bind(console),this._error.log=console.error.bind(console)}get debug(){return this._debug}get warn(){return this._warn}get error(){return this._error}}})),D=e((e=>{Object.defineProperty(e,"__esModule",{value:!0}),e.AwaitQueueRemovedTaskError=e.AwaitQueueStoppedError=void 0,e.AwaitQueueStoppedError=class e extends Error{constructor(t){super(t??`queue stopped`),this.name=`AwaitQueueStoppedError`,typeof Error.captureStackTrace==`function`&&Error.captureStackTrace(this,e)}},e.AwaitQueueRemovedTaskError=class e extends Error{constructor(t){super(t??`queue task removed`),this.name=`AwaitQueueRemovedTaskError`,typeof Error.captureStackTrace==`function`&&Error.captureStackTrace(this,e)}}})),O=e((e=>{Object.defineProperty(e,"__esModule",{value:!0}),e.AwaitQueue=void 0;var t=E(),n=D(),r=new t.Logger(`AwaitQueue`);e.AwaitQueue=class{pendingTasks=new Map;nextTaskId=0;constructor(){r.debug(`constructor()`)}get size(){return this.pendingTasks.size}async push(e,t,i){if(t??=e.name,r.debug(`push() [name:${t}, options:%o]`,i),typeof e!=`function`)throw TypeError(`given task is not a function`);if(t)try{Object.defineProperty(e,"name",{value:t})}catch{}return new Promise((a,o)=>{if(t&&i?.removeOngoingTasksWithSameName)for(let e of this.pendingTasks.values())e.name===t&&e.reject(new n.AwaitQueueRemovedTaskError,{canExecuteNextTask:!1});let s={id:this.nextTaskId++,task:e,name:t,enqueuedAt:Date.now(),executedAt:void 0,completed:!1,resolve:e=>{if(s.completed)return;s.completed=!0,this.pendingTasks.delete(s.id),r.debug(`resolving task [name:${s.name}]`),a(e);let[t]=this.pendingTasks.values();t&&!t.executedAt&&this.execute(t)},reject:(e,{canExecuteNextTask:t})=>{if(!s.completed&&(s.completed=!0,this.pendingTasks.delete(s.id),r.debug(`rejecting task [name:${s.name}]: %s`,String(e)),o(e),t)){let[e]=this.pendingTasks.values();e&&!e.executedAt&&this.execute(e)}}};this.pendingTasks.set(s.id,s),this.pendingTasks.size===1&&this.execute(s)})}stop(){r.debug(`stop()`);for(let e of this.pendingTasks.values())r.debug(`stop() | stopping task [name:${e.name}]`),e.reject(new n.AwaitQueueStoppedError,{canExecuteNextTask:!1})}remove(e){r.debug(`remove() [taskIdx:${e}]`);let t=Array.from(this.pendingTasks.values())[e];if(!t){r.debug(`stop() | no task with given idx [taskIdx:${e}]`);return}t.reject(new n.AwaitQueueRemovedTaskError,{canExecuteNextTask:!0})}dump(){let e=Date.now(),t=0;return Array.from(this.pendingTasks.values()).map(n=>({idx:t++,task:n.task,name:n.name,enqueuedTime:n.executedAt?n.executedAt-n.enqueuedAt:e-n.enqueuedAt,executionTime:n.executedAt?e-n.executedAt:0}))}async execute(e){if(r.debug(`execute() [name:${e.name}]`),e.executedAt)throw Error(`task already being executed`);e.executedAt=Date.now();try{let t=await e.task();e.resolve(t)}catch(t){e.reject(t,{canExecuteNextTask:!0})}}}})),k=e((e=>{Object.defineProperty(e,"__esModule",{value:!0}),e.AwaitQueueRemovedTaskError=e.AwaitQueueStoppedError=e.AwaitQueue=void 0;var t=O();Object.defineProperty(e,"AwaitQueue",{enumerable:!0,get:function(){return t.AwaitQueue}});var n=D();Object.defineProperty(e,"AwaitQueueStoppedError",{enumerable:!0,get:function(){return n.AwaitQueueStoppedError}}),Object.defineProperty(e,"AwaitQueueRemovedTaskError",{enumerable:!0,get:function(){return n.AwaitQueueRemovedTaskError}})})),A=e((e=>{Object.defineProperty(e,"__esModule",{value:!0}),e.Producer=void 0;var t=v(),n=b(),r=x(),i=new t.Logger(`Producer`);e.Producer=class extends n.EnhancedEventEmitter{_id;_localId;_closed=!1;_rtpSender;_track;_kind;_rtpParameters;_paused;_maxSpatialLayer;_stopTracks;_disableTrackOnPause;_zeroRtpOnPause;_appData;_observer=new n.EnhancedEventEmitter;constructor({id:e,localId:t,rtpSender:n,track:r,rtpParameters:a,stopTracks:o,disableTrackOnPause:s,zeroRtpOnPause:c,appData:l}){super(),i.debug(`constructor()`),this._id=e,this._localId=t,this._rtpSender=n,this._track=r,this._kind=r.kind,this._rtpParameters=a,this._paused=s?!r.enabled:!1,this._maxSpatialLayer=void 0,this._stopTracks=o,this._disableTrackOnPause=s,this._zeroRtpOnPause=c,this._appData=l??{},this.onTrackEnded=this.onTrackEnded.bind(this),this.handleTrack()}get id(){return this._id}get localId(){return this._localId}get closed(){return this._closed}get kind(){return this._kind}get rtpSender(){return this._rtpSender}get track(){return this._track}get rtpParameters(){return this._rtpParameters}get paused(){return this._paused}get maxSpatialLayer(){return this._maxSpatialLayer}get appData(){return this._appData}set appData(e){this._appData=e}get observer(){return this._observer}close(){this._closed||(i.debug(`close()`),this._closed=!0,this.destroyTrack(),this.emit(`@close`),this._observer.safeEmit(`close`),super.close(),this._observer.close())}transportClosed(){this._closed||(i.debug(`transportClosed()`),this._closed=!0,this.destroyTrack(),this.safeEmit(`transportclose`),this._observer.safeEmit(`close`),super.close(),this._observer.close())}async getStats(){if(this._closed)throw new r.InvalidStateError(`closed`);return new Promise((e,t)=>{this.safeEmit(`@getstats`,e,t)})}pause(){if(i.debug(`pause()`),this._closed){i.error(`pause() | Producer closed`);return}this._paused=!0,this._track&&this._disableTrackOnPause&&(this._track.enabled=!1),this._zeroRtpOnPause&&new Promise((e,t)=>{this.safeEmit(`@pause`,e,t)}).catch(()=>{}),this._observer.safeEmit(`pause`)}resume(){if(i.debug(`resume()`),this._closed){i.error(`resume() | Producer closed`);return}this._paused=!1,this._track&&this._disableTrackOnPause&&(this._track.enabled=!0),this._zeroRtpOnPause&&new Promise((e,t)=>{this.safeEmit(`@resume`,e,t)}).catch(()=>{}),this._observer.safeEmit(`resume`)}async replaceTrack({track:e}){if(i.debug(`replaceTrack() [track:%o]`,e),this._closed){if(e&&this._stopTracks)try{e.stop()}catch{}throw new r.InvalidStateError(`closed`)}if(e?.readyState===`ended`)throw new r.InvalidStateError(`track ended`);if(e===this._track){i.debug(`replaceTrack() | same track, ignored`);return}await new Promise((t,n)=>{this.safeEmit(`@replacetrack`,e,t,n)}),this.destroyTrack(),this._track=e,this._track&&this._disableTrackOnPause&&(this._paused?this._paused&&(this._track.enabled=!1):this._track.enabled=!0),this.handleTrack()}async setMaxSpatialLayer(e){if(this._closed)throw new r.InvalidStateError(`closed`);if(this._kind!==`video`)throw new r.UnsupportedError(`not a video Producer`);if(typeof e!=`number`)throw TypeError(`invalid spatialLayer`);e!==this._maxSpatialLayer&&(await new Promise((t,n)=>{this.safeEmit(`@setmaxspatiallayer`,e,t,n)}).catch(()=>{}),this._maxSpatialLayer=e)}async setRtpEncodingParameters(e){if(this._closed)throw new r.InvalidStateError(`closed`);if(typeof e!=`object`)throw TypeError(`invalid params`);await new Promise((t,n)=>{this.safeEmit(`@setrtpencodingparameters`,e,t,n)})}onTrackEnded(){i.debug(`track "ended" event`),this.safeEmit(`trackended`),this._observer.safeEmit(`trackended`)}handleTrack(){this._track&&this._track.addEventListener(`ended`,this.onTrackEnded)}destroyTrack(){if(this._track)try{this._track.removeEventListener(`ended`,this.onTrackEnded),this._stopTracks&&this._track.stop()}catch{}}}})),j=e((e=>{Object.defineProperty(e,"__esModule",{value:!0}),e.Consumer=void 0;var t=v(),n=b(),r=x(),i=new t.Logger(`Consumer`);e.Consumer=class extends n.EnhancedEventEmitter{_id;_localId;_producerId;_closed=!1;_rtpReceiver;_track;_rtpParameters;_paused;_appData;_observer=new n.EnhancedEventEmitter;constructor({id:e,localId:t,producerId:n,rtpReceiver:r,track:a,rtpParameters:o,appData:s}){super(),i.debug(`constructor()`),this._id=e,this._localId=t,this._producerId=n,this._rtpReceiver=r,this._track=a,this._rtpParameters=o,this._paused=!a.enabled,this._appData=s??{},this.onTrackEnded=this.onTrackEnded.bind(this),this.handleTrack()}get id(){return this._id}get localId(){return this._localId}get producerId(){return this._producerId}get closed(){return this._closed}get kind(){return this._track.kind}get rtpReceiver(){return this._rtpReceiver}get track(){return this._track}get rtpParameters(){return this._rtpParameters}get paused(){return this._paused}get appData(){return this._appData}set appData(e){this._appData=e}get observer(){return this._observer}close(){this._closed||(i.debug(`close()`),this._closed=!0,this.destroyTrack(),this.emit(`@close`),this._observer.safeEmit(`close`),super.close(),this._observer.close())}transportClosed(){this._closed||(i.debug(`transportClosed()`),this._closed=!0,this.destroyTrack(),this.safeEmit(`transportclose`),this._observer.safeEmit(`close`),super.close(),this._observer.close())}async getStats(){if(this._closed)throw new r.InvalidStateError(`closed`);return new Promise((e,t)=>{this.safeEmit(`@getstats`,e,t)})}pause(){if(i.debug(`pause()`),this._closed){i.error(`pause() | Consumer closed`);return}if(this._paused){i.debug(`pause() | Consumer is already paused`);return}this._paused=!0,this._track.enabled=!1,this.emit(`@pause`),this._observer.safeEmit(`pause`)}resume(){if(i.debug(`resume()`),this._closed){i.error(`resume() | Consumer closed`);return}if(!this._paused){i.debug(`resume() | Consumer is already resumed`);return}this._paused=!1,this._track.enabled=!0,this.emit(`@resume`),this._observer.safeEmit(`resume`)}onTrackEnded(){i.debug(`track "ended" event`),this.safeEmit(`trackended`),this._observer.safeEmit(`trackended`)}handleTrack(){this._track.addEventListener(`ended`,this.onTrackEnded)}destroyTrack(){try{this._track.removeEventListener(`ended`,this.onTrackEnded),this._track.stop()}catch{}}}})),M=e((e=>{Object.defineProperty(e,"__esModule",{value:!0}),e.DataProducer=void 0;var t=v(),n=b(),r=x(),i=new t.Logger(`DataProducer`);e.DataProducer=class extends n.EnhancedEventEmitter{_id;_dataChannel;_closed=!1;_sctpStreamParameters;_appData;_observer=new n.EnhancedEventEmitter;constructor({id:e,dataChannel:t,sctpStreamParameters:n,appData:r}){super(),i.debug(`constructor()`),this._id=e,this._dataChannel=t,this._sctpStreamParameters=n,this._appData=r??{},this.handleDataChannel()}get id(){return this._id}get closed(){return this._closed}get sctpStreamParameters(){return this._sctpStreamParameters}get readyState(){return this._dataChannel.readyState}get label(){return this._dataChannel.label}get protocol(){return this._dataChannel.protocol}get bufferedAmount(){return this._dataChannel.bufferedAmount}get bufferedAmountLowThreshold(){return this._dataChannel.bufferedAmountLowThreshold}set bufferedAmountLowThreshold(e){this._dataChannel.bufferedAmountLowThreshold=e}get appData(){return this._appData}set appData(e){this._appData=e}get observer(){return this._observer}close(){this._closed||(i.debug(`close()`),this._closed=!0,this._dataChannel.close(),this.emit(`@close`),this._observer.safeEmit(`close`),super.close(),this._observer.close())}transportClosed(){this._closed||(i.debug(`transportClosed()`),this._closed=!0,this._dataChannel.close(),this.safeEmit(`transportclose`),this._observer.safeEmit(`close`),super.close(),this._observer.close())}send(e){if(i.debug(`send()`),this._closed)throw new r.InvalidStateError(`closed`);this._dataChannel.send(e)}handleDataChannel(){this._dataChannel.addEventListener(`open`,()=>{this._closed||(i.debug(`DataChannel "open" event`),this.safeEmit(`open`))}),this._dataChannel.addEventListener(`error`,e=>{if(this._closed)return;let t=e.error??Error(`unknown DataChannel error`);e.error?.errorDetail===`sctp-failure`?i.error(`DataChannel SCTP error [sctpCauseCode:%s]: %s`,e.error?.sctpCauseCode,e.error.message):i.error(`DataChannel "error" event: %o`,t),this.safeEmit(`error`,t)}),this._dataChannel.addEventListener(`close`,()=>{this._closed||(i.debug(`DataChannel "close" event`),this._closed=!0,this._dataChannel.close(),this.emit(`@close`),this.safeEmit(`close`),this._observer.safeEmit(`close`),super.close(),this._observer.close())}),this._dataChannel.addEventListener(`message`,()=>{this._closed||i.warn(`DataChannel "message" event in a DataProducer, message discarded`)}),this._dataChannel.addEventListener(`bufferedamountlow`,()=>{this._closed||this.safeEmit(`bufferedamountlow`)})}}})),N=e((e=>{Object.defineProperty(e,"__esModule",{value:!0}),e.DataConsumer=void 0;var t=v(),n=b(),r=new t.Logger(`DataConsumer`);e.DataConsumer=class extends n.EnhancedEventEmitter{_id;_dataProducerId;_dataChannel;_closed=!1;_sctpStreamParameters;_appData;_observer=new n.EnhancedEventEmitter;constructor({id:e,dataProducerId:t,dataChannel:n,sctpStreamParameters:i,appData:a}){super(),r.debug(`constructor()`),this._id=e,this._dataProducerId=t,this._dataChannel=n,this._sctpStreamParameters=i,this._appData=a??{},this.handleDataChannel()}get id(){return this._id}get dataProducerId(){return this._dataProducerId}get closed(){return this._closed}get sctpStreamParameters(){return this._sctpStreamParameters}get readyState(){return this._dataChannel.readyState}get label(){return this._dataChannel.label}get protocol(){return this._dataChannel.protocol}get binaryType(){return this._dataChannel.binaryType}set binaryType(e){this._dataChannel.binaryType=e}get appData(){return this._appData}set appData(e){this._appData=e}get observer(){return this._observer}close(){this._closed||(r.debug(`close()`),this._closed=!0,this._dataChannel.close(),this.emit(`@close`),this._observer.safeEmit(`close`),super.close(),this._observer.close())}transportClosed(){this._closed||(r.debug(`transportClosed()`),this._closed=!0,this._dataChannel.close(),this.safeEmit(`transportclose`),this._observer.safeEmit(`close`),super.close(),this._observer.close())}handleDataChannel(){this._dataChannel.addEventListener(`open`,()=>{this._closed||(r.debug(`DataChannel "open" event`),this.safeEmit(`open`))}),this._dataChannel.addEventListener(`error`,e=>{if(this._closed)return;let t=e.error??Error(`unknown DataChannel error`);e.error?.errorDetail===`sctp-failure`?r.error(`DataChannel SCTP error [sctpCauseCode:%s]: %s`,e.error?.sctpCauseCode,e.error.message):r.error(`DataChannel "error" event: %o`,t),this.safeEmit(`error`,t)}),this._dataChannel.addEventListener(`close`,()=>{this._closed||(r.debug(`DataChannel "close" event`),this._closed=!0,this._dataChannel.close(),this.emit(`@close`),this.safeEmit(`close`),this._observer.safeEmit(`close`),super.close(),this._observer.close())}),this._dataChannel.addEventListener(`message`,e=>{this._closed||this.safeEmit(`message`,e.data)})}}})),P=e((e=>{var t=e&&e.__createBinding||(Object.create?(function(e,t,n,r){r===void 0&&(r=n);var i=Object.getOwnPropertyDescriptor(t,n);(!i||(`get`in i?!t.__esModule:i.writable||i.configurable))&&(i={enumerable:!0,get:function(){return t[n]}}),Object.defineProperty(e,r,i)}):(function(e,t,n,r){r===void 0&&(r=n),e[r]=t[n]})),n=e&&e.__setModuleDefault||(Object.create?(function(e,t){Object.defineProperty(e,"default",{enumerable:!0,value:t})}):function(e,t){e.default=t}),r=e&&e.__importStar||(function(){var e=function(t){return e=Object.getOwnPropertyNames||function(e){var t=[];for(var n in e)Object.prototype.hasOwnProperty.call(e,n)&&(t[t.length]=n);return t},e(t)};return function(r){if(r&&r.__esModule)return r;var i={};if(r!=null)for(var a=e(r),o=0;o<a.length;o++)a[o]!=="default"&&t(i,r,a[o]);return n(i,r),i}})();Object.defineProperty(e,"__esModule",{value:!0}),e.Transport=void 0;var i=k(),a=v(),o=b(),s=x(),c=r(S()),l=r(T()),u=A(),d=j(),f=M(),p=N(),m=new a.Logger(`Transport`),h=class{consumerOptions;promise;resolve;reject;constructor(e){this.consumerOptions=e,this.promise=new Promise((e,t)=>{this.resolve=e,this.reject=t})}};e.Transport=class extends o.EnhancedEventEmitter{_id;_closed=!1;_direction;_getSendExtendedRtpCapabilities;_recvRtpCapabilities;_canProduceByKind;_sctpParameters;_handler;_iceGatheringState=`new`;_connectionState=`new`;_appData;_producers=new Map;_consumers=new Map;_dataProducers=new Map;_dataConsumers=new Map;_probatorConsumerCreated=!1;_awaitQueue=new i.AwaitQueue;_pendingConsumerTasks=[];_consumerCreationInProgress=!1;_pendingPauseConsumers=new Map;_consumerPauseInProgress=!1;_pendingResumeConsumers=new Map;_consumerResumeInProgress=!1;_pendingCloseConsumers=new Map;_consumerCloseInProgress=!1;_observer=new o.EnhancedEventEmitter;constructor({direction:e,id:t,iceParameters:n,iceCandidates:r,dtlsParameters:i,sctpParameters:a,iceServers:o,iceTransportPolicy:s,additionalSettings:l,appData:u,handlerFactory:d,getSendExtendedRtpCapabilities:f,recvRtpCapabilities:p,canProduceByKind:h}){super(),m.debug(`constructor() [id:%s, direction:%s]`,t,e),this._id=t,this._direction=e,this._getSendExtendedRtpCapabilities=f,this._recvRtpCapabilities=p,this._canProduceByKind=h,this._sctpParameters=c.clone(a),this._sctpParameters&&(this._sctpParameters.maxSendMessageSize=this._sctpParameters.maxSendMessageSize??this._sctpParameters.maxMessageSize,this._sctpParameters.maxReceiveMessageSize=this._sctpParameters.maxReceiveMessageSize??this._sctpParameters.maxMessageSize);let g=c.clone(l)??{};delete g.iceServers,delete g.iceTransportPolicy,delete g.bundlePolicy,delete g.rtcpMuxPolicy,this._handler=d.factory({direction:e,iceParameters:n,iceCandidates:r,dtlsParameters:i,sctpParameters:this._sctpParameters,iceServers:o,iceTransportPolicy:s,additionalSettings:g,getSendExtendedRtpCapabilities:this._getSendExtendedRtpCapabilities}),this._appData=u??{},this.handleHandler()}get id(){return this._id}get closed(){return this._closed}get direction(){return this._direction}get handler(){return this._handler}get iceGatheringState(){return this._iceGatheringState}get connectionState(){return this._connectionState}get appData(){return this._appData}set appData(e){this._appData=e}get observer(){return this._observer}close(){if(!this._closed){m.debug(`close()`),this._closed=!0;for(let e of this._pendingConsumerTasks)e.reject(new s.InvalidStateError(`closed`));this._pendingConsumerTasks=[],this._awaitQueue.stop(),this._handler.close(),this._connectionState=`closed`;for(let e of this._producers.values())e.transportClosed();this._producers.clear();for(let e of this._consumers.values())e.transportClosed();this._consumers.clear();for(let e of this._dataProducers.values())e.transportClosed();this._dataProducers.clear();for(let e of this._dataConsumers.values())e.transportClosed();this._dataConsumers.clear(),this._observer.safeEmit(`close`),super.close(),this._observer.close()}}async getStats(){if(this._closed)throw new s.InvalidStateError(`closed`);return this._handler.getTransportStats()}async restartIce({iceParameters:e}){if(m.debug(`restartIce()`),this._closed)throw new s.InvalidStateError(`closed`);if(!e)throw TypeError(`missing iceParameters`);await this._awaitQueue.push(async()=>{await this._handler.restartIce(e)},`transport.restartIce()`)}async updateIceServers({iceServers:e}={}){if(m.debug(`updateIceServers()`),this._closed)throw new s.InvalidStateError(`closed`);if(!Array.isArray(e))throw TypeError(`missing iceServers`);await this._awaitQueue.push(async()=>{await this._handler.updateIceServers(e)},`transport.updateIceServers()`)}async produce({track:e,streamId:t,encodings:n,codecOptions:r,codec:i,stopTracks:a=!0,disableTrackOnPause:o=!0,zeroRtpOnPause:c=!1,onRtpSender:d,appData:f={}}={}){if(m.debug(`produce() [track:%o]`,e),this._closed)throw new s.InvalidStateError(`closed`);if(!e)throw TypeError(`missing track`);if(this._direction!==`send`)throw new s.UnsupportedError(`not a sending transport`);if(!this._canProduceByKind[e.kind])throw new s.UnsupportedError(`cannot produce ${e.kind}`);if(e.readyState===`ended`)throw new s.InvalidStateError(`track ended`);if(this.listenerCount(`connect`)===0&&this._connectionState===`new`)throw TypeError(`no "connect" listener set into this transport`);if(this.listenerCount(`produce`)===0)throw TypeError(`no "produce" listener set into this transport`);if(f&&typeof f!=`object`)throw TypeError(`if given, appData must be an object`);return this._awaitQueue.push(async()=>{let s;if(n&&!Array.isArray(n))throw TypeError(`encodings must be an array`);n?.length===0?s=void 0:n&&(s=n.map(e=>{let t={active:!0};return e.active===!1&&(t.active=!1),typeof e.dtx==`boolean`&&(t.dtx=e.dtx),typeof e.scalabilityMode==`string`&&(t.scalabilityMode=e.scalabilityMode),typeof e.scaleResolutionDownBy==`number`&&(t.scaleResolutionDownBy=e.scaleResolutionDownBy),typeof e.maxBitrate==`number`&&(t.maxBitrate=e.maxBitrate),typeof e.maxFramerate==`number`&&(t.maxFramerate=e.maxFramerate),typeof e.adaptivePtime==`boolean`&&(t.adaptivePtime=e.adaptivePtime),typeof e.priority==`string`&&(t.priority=e.priority),typeof e.networkPriority==`string`&&(t.networkPriority=e.networkPriority),t}));let{localId:p,rtpParameters:m,rtpSender:h}=await this._handler.send({track:e,streamId:t,encodings:s,codecOptions:r,codec:i,onRtpSender:d});try{l.validateAndNormalizeRtpParameters(m);let{id:t}=await new Promise((t,n)=>{this.safeEmit(`produce`,{kind:e.kind,rtpParameters:m,appData:f},t,n)}),n=new u.Producer({id:t,localId:p,rtpSender:h,track:e,rtpParameters:m,stopTracks:a,disableTrackOnPause:o,zeroRtpOnPause:c,appData:f});return this._producers.set(n.id,n),this.handleProducer(n),this._observer.safeEmit(`newproducer`,n),n}catch(e){throw this._handler.stopSending(p).catch(()=>{}),e}},`transport.produce()`).catch(t=>{if(a)try{e.stop()}catch{}throw t})}async consume({id:e,producerId:t,kind:n,rtpParameters:r,streamId:i,onRtpReceiver:a,appData:o={}}){if(m.debug(`consume()`),this._closed)throw new s.InvalidStateError(`closed`);if(this._direction!==`recv`)throw new s.UnsupportedError(`not a receiving transport`);if(typeof e!=`string`)throw TypeError(`missing id`);if(typeof t!=`string`)throw TypeError(`missing producerId`);if(n!==`audio`&&n!==`video`)throw TypeError(`invalid kind '${n}'`);if(this.listenerCount(`connect`)===0&&this._connectionState===`new`)throw TypeError(`no "connect" listener set into this transport`);if(o&&typeof o!=`object`)throw TypeError(`if given, appData must be an object`);let u=c.clone(r);if(!l.canReceive(u,this._recvRtpCapabilities))throw new s.UnsupportedError(`cannot consume this Producer`);let d=new h({id:e,producerId:t,kind:n,rtpParameters:u,streamId:i,onRtpReceiver:a,appData:o});return this._pendingConsumerTasks.push(d),queueMicrotask(()=>{this._closed||this._consumerCreationInProgress===!1&&this.createPendingConsumers()}),d.promise}async produceData({ordered:e=!0,maxPacketLifeTime:t,maxRetransmits:n,label:r=``,protocol:i=``,appData:a={}}={}){if(m.debug(`produceData()`),this._closed)throw new s.InvalidStateError(`closed`);if(this._direction!==`send`)throw new s.UnsupportedError(`not a sending transport`);if(!this._sctpParameters)throw new s.UnsupportedError(`SCTP not enabled by remote transport`);if(this.listenerCount(`connect`)===0&&this._connectionState===`new`)throw TypeError(`no "connect" listener set into this transport`);if(this.listenerCount(`producedata`)===0)throw TypeError(`no "producedata" listener set into this transport`);if(a&&typeof a!=`object`)throw TypeError(`if given, appData must be an object`);return(t||n)&&(e=!1),this._awaitQueue.push(async()=>{let{dataChannel:o,sctpStreamParameters:s}=await this._handler.sendDataChannel({sctpStreamParameters:{ordered:e,maxPacketLifeTime:t,maxRetransmits:n,label:r,protocol:i}});l.validateAndNormalizeSctpStreamParameters(s);let{id:c}=await new Promise((e,t)=>{this.safeEmit(`producedata`,{sctpStreamParameters:s,label:r,protocol:i,appData:a},e,t)}),u=new f.DataProducer({id:c,dataChannel:o,sctpStreamParameters:s,appData:a});return this._dataProducers.set(u.id,u),this.handleDataProducer(u),this._observer.safeEmit(`newdataproducer`,u),u},`transport.produceData()`)}async consumeData({id:e,dataProducerId:t,sctpStreamParameters:n,label:r=``,protocol:i=``,appData:a={}}){if(m.debug(`consumeData()`),this._closed)throw new s.InvalidStateError(`closed`);if(this._direction!==`recv`)throw new s.UnsupportedError(`not a receiving transport`);if(!this._sctpParameters)throw new s.UnsupportedError(`SCTP not enabled by remote transport`);if(typeof e!=`string`)throw TypeError(`missing id`);if(typeof t!=`string`)throw TypeError(`missing dataProducerId`);if(this.listenerCount(`connect`)===0&&this._connectionState===`new`)throw TypeError(`no "connect" listener set into this transport`);if(a&&typeof a!=`object`)throw TypeError(`if given, appData must be an object`);let o=c.clone(n);return l.validateAndNormalizeSctpStreamParameters(o),this._awaitQueue.push(async()=>{let{dataChannel:n}=await this._handler.receiveDataChannel({maxMessageSize:this._sctpParameters?.maxSendMessageSize,sctpStreamParameters:o,label:r,protocol:i}),s=new p.DataConsumer({id:e,dataProducerId:t,dataChannel:n,sctpStreamParameters:o,appData:a});return this._dataConsumers.set(s.id,s),this.handleDataConsumer(s),this._observer.safeEmit(`newdataconsumer`,s),s},`transport.consumeData()`)}getDataChannelMaxMessageSize(){return this._handler.getDataChannelMaxMessageSize()}createPendingConsumers(){this._consumerCreationInProgress=!0,this._awaitQueue.push(async()=>{if(this._pendingConsumerTasks.length===0){m.debug(`createPendingConsumers() | there is no Consumer to be created`);return}let e=[...this._pendingConsumerTasks];this._pendingConsumerTasks=[];let t,n=[];for(let t of e){let{id:e,kind:r,rtpParameters:i,streamId:a,onRtpReceiver:o}=t.consumerOptions;n.push({trackId:e,kind:r,rtpParameters:i,streamId:a,onRtpReceiver:o})}try{let r=await this._handler.receive(n);for(let n=0;n<r.length;++n){let i=e[n],a=r[n],{id:o,producerId:s,kind:c,rtpParameters:l,appData:u}=i.consumerOptions,{localId:f,rtpReceiver:p,track:m}=a,h=new d.Consumer({id:o,localId:f,producerId:s,rtpReceiver:p,track:m,rtpParameters:l,appData:u});this._consumers.set(h.id,h),this.handleConsumer(h),!this._probatorConsumerCreated&&!t&&c===`video`&&(t=h),this._observer.safeEmit(`newconsumer`,h),i.resolve(h)}}catch(t){for(let n of e)n.reject(t)}if(t)try{let e=l.generateProbatorRtpParameters(t.rtpParameters);await this._handler.receive([{trackId:`probator`,kind:`video`,rtpParameters:e}]),m.debug(`createPendingConsumers() | Consumer for RTP probation created`),this._probatorConsumerCreated=!0}catch(e){m.error(`createPendingConsumers() | failed to create Consumer for RTP probation:%o`,e)}},`transport.createPendingConsumers()`).then(()=>{this._consumerCreationInProgress=!1,this._pendingConsumerTasks.length>0&&this.createPendingConsumers()}).catch(()=>{})}pausePendingConsumers(){this._consumerPauseInProgress=!0,this._awaitQueue.push(async()=>{if(this._pendingPauseConsumers.size===0){m.debug(`pausePendingConsumers() | there is no Consumer to be paused`);return}let e=Array.from(this._pendingPauseConsumers.values());this._pendingPauseConsumers.clear();try{let t=e.map(e=>e.localId);await this._handler.pauseReceiving(t)}catch(e){m.error(`pausePendingConsumers() | failed to pause Consumers:`,e)}},`transport.pausePendingConsumers()`).then(()=>{this._consumerPauseInProgress=!1,this._pendingPauseConsumers.size>0&&this.pausePendingConsumers()}).catch(()=>{})}resumePendingConsumers(){this._consumerResumeInProgress=!0,this._awaitQueue.push(async()=>{if(this._pendingResumeConsumers.size===0){m.debug(`resumePendingConsumers() | there is no Consumer to be resumed`);return}let e=Array.from(this._pendingResumeConsumers.values());this._pendingResumeConsumers.clear();try{let t=e.map(e=>e.localId);await this._handler.resumeReceiving(t)}catch(e){m.error(`resumePendingConsumers() | failed to resume Consumers:`,e)}},`transport.resumePendingConsumers()`).then(()=>{this._consumerResumeInProgress=!1,this._pendingResumeConsumers.size>0&&this.resumePendingConsumers()}).catch(()=>{})}closePendingConsumers(){this._consumerCloseInProgress=!0,this._awaitQueue.push(async()=>{if(this._pendingCloseConsumers.size===0){m.debug(`closePendingConsumers() | there is no Consumer to be closed`);return}let e=Array.from(this._pendingCloseConsumers.values());this._pendingCloseConsumers.clear();try{await this._handler.stopReceiving(e.map(e=>e.localId))}catch(e){m.error(`closePendingConsumers() | failed to close Consumers:`,e)}},`transport.closePendingConsumers()`).then(()=>{this._consumerCloseInProgress=!1,this._pendingCloseConsumers.size>0&&this.closePendingConsumers()}).catch(()=>{})}handleHandler(){let e=this._handler;e.on(`@connect`,({dtlsParameters:e},t,n)=>{if(this._closed){n(new s.InvalidStateError(`closed`));return}this.safeEmit(`connect`,{dtlsParameters:e},t,n)}),e.on(`@icegatheringstatechange`,e=>{e!==this._iceGatheringState&&(m.debug(`ICE gathering state changed to %s`,e),this._iceGatheringState=e,this._closed||this.safeEmit(`icegatheringstatechange`,e))}),e.on(`@icecandidateerror`,e=>{m.debug(`ICE candidate error [url:${e.url}, localAddress:${e.address}, localPort:${e.port}]: ${e.errorCode} "${e.errorText}"`),this.safeEmit(`icecandidateerror`,e)}),e.on(`@connectionstatechange`,e=>{e!==this._connectionState&&(m.debug(`connection state changed to %s`,e),this._connectionState=e,this._closed||this.safeEmit(`connectionstatechange`,e))})}handleProducer(e){e.on(`@close`,()=>{this._producers.delete(e.id),!this._closed&&this._awaitQueue.push(async()=>{await this._handler.stopSending(e.localId)},`producer @close event`).catch(e=>m.warn(`producer closure failed:%o`,e))}),e.on(`@pause`,(t,n)=>{this._awaitQueue.push(async()=>{await this._handler.pauseSending(e.localId)},`producer @pause event`).then(t).catch(n)}),e.on(`@resume`,(t,n)=>{this._awaitQueue.push(async()=>{await this._handler.resumeSending(e.localId)},`producer @resume event`).then(t).catch(n)}),e.on(`@replacetrack`,(t,n,r)=>{this._awaitQueue.push(async()=>{await this._handler.replaceTrack(e.localId,t)},`producer @replacetrack event`).then(n).catch(r)}),e.on(`@setmaxspatiallayer`,(t,n,r)=>{this._awaitQueue.push(async()=>{await this._handler.setMaxSpatialLayer(e.localId,t)},`producer @setmaxspatiallayer event`).then(n).catch(r)}),e.on(`@setrtpencodingparameters`,(t,n,r)=>{this._awaitQueue.push(async()=>{await this._handler.setRtpEncodingParameters(e.localId,t)},`producer @setrtpencodingparameters event`).then(n).catch(r)}),e.on(`@getstats`,(t,n)=>{if(this._closed)return n(new s.InvalidStateError(`closed`));this._handler.getSenderStats(e.localId).then(t).catch(n)})}handleConsumer(e){e.on(`@close`,()=>{this._consumers.delete(e.id),this._pendingPauseConsumers.delete(e.id),this._pendingResumeConsumers.delete(e.id),!this._closed&&(this._pendingCloseConsumers.set(e.id,e),this._consumerCloseInProgress===!1&&this.closePendingConsumers())}),e.on(`@pause`,()=>{this._pendingResumeConsumers.has(e.id)&&this._pendingResumeConsumers.delete(e.id),this._pendingPauseConsumers.set(e.id,e),queueMicrotask(()=>{this._closed||this._consumerPauseInProgress===!1&&this.pausePendingConsumers()})}),e.on(`@resume`,()=>{this._pendingPauseConsumers.has(e.id)&&this._pendingPauseConsumers.delete(e.id),this._pendingResumeConsumers.set(e.id,e),queueMicrotask(()=>{this._closed||this._consumerResumeInProgress===!1&&this.resumePendingConsumers()})}),e.on(`@getstats`,(t,n)=>{if(this._closed)return n(new s.InvalidStateError(`closed`));this._handler.getReceiverStats(e.localId).then(t).catch(n)})}handleDataProducer(e){e.on(`@close`,()=>{this._dataProducers.delete(e.id)})}handleDataConsumer(e){e.on(`@close`,()=>{this._dataConsumers.delete(e.id)})}}})),F=e(((e,t)=>{var n=t.exports={v:[{name:`version`,reg:/^(\d*)$/}],o:[{name:`origin`,reg:/^(\S*) (\d*) (\d*) (\S*) IP(\d) (\S*)/,names:[`username`,`sessionId`,`sessionVersion`,`netType`,`ipVer`,`address`],format:`%s %s %d %s IP%d %s`}],s:[{name:`name`}],i:[{name:`description`}],u:[{name:`uri`}],e:[{name:`email`}],p:[{name:`phone`}],z:[{name:`timezones`}],r:[{name:`repeats`}],t:[{name:`timing`,reg:/^(\d*) (\d*)/,names:[`start`,`stop`],format:`%d %d`}],c:[{name:`connection`,reg:/^IN IP(\d) (\S*)/,names:[`version`,`ip`],format:`IN IP%d %s`}],b:[{push:`bandwidth`,reg:/^(TIAS|AS|CT|RR|RS):(\d*)/,names:[`type`,`limit`],format:`%s:%s`}],m:[{reg:/^(\w*) (\d*) ([\w/]*)(?: (.*))?/,names:[`type`,`port`,`protocol`,`payloads`],format:`%s %d %s %s`}],a:[{push:`rtp`,reg:/^rtpmap:(\d*) ([\w\-.]*)(?:\s*\/(\d*)(?:\s*\/(\S*))?)?/,names:[`payload`,`codec`,`rate`,`encoding`],format:function(e){return e.encoding?`rtpmap:%d %s/%s/%s`:e.rate?`rtpmap:%d %s/%s`:`rtpmap:%d %s`}},{push:`fmtp`,reg:/^fmtp:(\d*) ([\S| ]*)/,names:[`payload`,`config`],format:`fmtp:%d %s`},{name:`control`,reg:/^control:(.*)/,format:`control:%s`},{name:`rtcp`,reg:/^rtcp:(\d*)(?: (\S*) IP(\d) (\S*))?/,names:[`port`,`netType`,`ipVer`,`address`],format:function(e){return e.address==null?`rtcp:%d`:`rtcp:%d %s IP%d %s`}},{push:`rtcpFbTrrInt`,reg:/^rtcp-fb:(\*|\d*) trr-int (\d*)/,names:[`payload`,`value`],format:`rtcp-fb:%s trr-int %d`},{push:`rtcpFb`,reg:/^rtcp-fb:(\*|\d*) ([\w-_]*)(?: ([\w-_]*))?/,names:[`payload`,`type`,`subtype`],format:function(e){return e.subtype==null?`rtcp-fb:%s %s`:`rtcp-fb:%s %s %s`}},{push:`ext`,reg:/^extmap:(\d+)(?:\/(\w+))?(?: (urn:ietf:params:rtp-hdrext:encrypt))? (\S*)(?: (\S*))?/,names:[`value`,`direction`,`encrypt-uri`,`uri`,`config`],format:function(e){return`extmap:%d`+(e.direction?`/%s`:`%v`)+(e[`encrypt-uri`]?` %s`:`%v`)+` %s`+(e.config?` %s`:``)}},{name:`extmapAllowMixed`,reg:/^(extmap-allow-mixed)/},{push:`crypto`,reg:/^crypto:(\d*) ([\w_]*) (\S*)(?: (\S*))?/,names:[`id`,`suite`,`config`,`sessionConfig`],format:function(e){return e.sessionConfig==null?`crypto:%d %s %s`:`crypto:%d %s %s %s`}},{name:`setup`,reg:/^setup:(\w*)/,format:`setup:%s`},{name:`connectionType`,reg:/^connection:(new|existing)/,format:`connection:%s`},{name:`mid`,reg:/^mid:([^\s]*)/,format:`mid:%s`},{push:`msid`,reg:/^msid:([\w-]+)(?: ([\w-]+))?/,names:[`id`,`appdata`],format:`msid:%s %s`},{name:`ptime`,reg:/^ptime:(\d*(?:\.\d*)*)/,format:`ptime:%d`},{name:`maxptime`,reg:/^maxptime:(\d*(?:\.\d*)*)/,format:`maxptime:%d`},{name:`direction`,reg:/^(sendrecv|recvonly|sendonly|inactive)/},{name:`icelite`,reg:/^(ice-lite)/},{name:`iceUfrag`,reg:/^ice-ufrag:(\S*)/,format:`ice-ufrag:%s`},{name:`icePwd`,reg:/^ice-pwd:(\S*)/,format:`ice-pwd:%s`},{name:`fingerprint`,reg:/^fingerprint:(\S*) (\S*)/,names:[`type`,`hash`],format:`fingerprint:%s %s`},{push:`candidates`,reg:/^candidate:(\S*) (\d*) (\S*) (\d*) (\S*) (\d*) typ (\S*)(?: raddr (\S*) rport (\d*))?(?: tcptype (\S*))?(?: generation (\d*))?(?: network-id (\d*))?(?: network-cost (\d*))?/,names:[`foundation`,`component`,`transport`,`priority`,`ip`,`port`,`type`,`raddr`,`rport`,`tcptype`,`generation`,`network-id`,`network-cost`],format:function(e){var t=`candidate:%s %d %s %d %s %d typ %s`;return t+=e.raddr==null?`%v%v`:` raddr %s rport %d`,t+=e.tcptype==null?`%v`:` tcptype %s`,e.generation!=null&&(t+=` generation %d`),t+=e[`network-id`]==null?`%v`:` network-id %d`,t+=e[`network-cost`]==null?`%v`:` network-cost %d`,t}},{name:`endOfCandidates`,reg:/^(end-of-candidates)/},{name:`remoteCandidates`,reg:/^remote-candidates:(.*)/,format:`remote-candidates:%s`},{name:`iceOptions`,reg:/^ice-options:(\S*)/,format:`ice-options:%s`},{push:`ssrcs`,reg:/^ssrc:(\d*) ([\w_-]*)(?::(.*))?/,names:[`id`,`attribute`,`value`],format:function(e){var t=`ssrc:%d`;return e.attribute!=null&&(t+=` %s`,e.value!=null&&(t+=`:%s`)),t}},{push:`ssrcGroups`,reg:/^ssrc-group:([\x21\x23\x24\x25\x26\x27\x2A\x2B\x2D\x2E\w]*) (.*)/,names:[`semantics`,`ssrcs`],format:`ssrc-group:%s %s`},{name:`msidSemantic`,reg:/^msid-semantic:\s?(\w*) (\S*)/,names:[`semantic`,`token`],format:`msid-semantic: %s %s`},{push:`groups`,reg:/^group:(\w*) (.*)/,names:[`type`,`mids`],format:`group:%s %s`},{name:`rtcpMux`,reg:/^(rtcp-mux)/},{name:`rtcpRsize`,reg:/^(rtcp-rsize)/},{name:`sctpmap`,reg:/^sctpmap:([\w_/]*) (\S*)(?: (\S*))?/,names:[`sctpmapNumber`,`app`,`maxMessageSize`],format:function(e){return e.maxMessageSize==null?`sctpmap:%s %s`:`sctpmap:%s %s %s`}},{name:`xGoogleFlag`,reg:/^x-google-flag:([^\s]*)/,format:`x-google-flag:%s`},{push:`rids`,reg:/^rid:([\d\w]+) (\w+)(?: ([\S| ]*))?/,names:[`id`,`direction`,`params`],format:function(e){return e.params?`rid:%s %s %s`:`rid:%s %s`}},{push:`imageattrs`,reg:RegExp(`^imageattr:(\\d+|\\*)[\\s\\t]+(send|recv)[\\s\\t]+(\\*|\\[\\S+\\](?:[\\s\\t]+\\[\\S+\\])*)(?:[\\s\\t]+(recv|send)[\\s\\t]+(\\*|\\[\\S+\\](?:[\\s\\t]+\\[\\S+\\])*))?`),names:[`pt`,`dir1`,`attrs1`,`dir2`,`attrs2`],format:function(e){return`imageattr:%s %s %s`+(e.dir2?` %s %s`:``)}},{name:`simulcast`,reg:RegExp(`^simulcast:(send|recv) ([a-zA-Z0-9\\-_~;,]+)(?:\\s?(send|recv) ([a-zA-Z0-9\\-_~;,]+))?$`),names:[`dir1`,`list1`,`dir2`,`list2`],format:function(e){return`simulcast:%s %s`+(e.dir2?` %s %s`:``)}},{name:`simulcast_03`,reg:/^simulcast:[\s\t]+([\S+\s\t]+)$/,names:[`value`],format:`simulcast: %s`},{name:`framerate`,reg:/^framerate:(\d+(?:$|\.\d+))/,format:`framerate:%s`},{name:`sourceFilter`,reg:/^source-filter: *(excl|incl) (\S*) (IP4|IP6|\*) (\S*) (.*)/,names:[`filterMode`,`netType`,`addressTypes`,`destAddress`,`srcList`],format:`source-filter: %s %s %s %s %s`},{name:`bundleOnly`,reg:/^(bundle-only)/},{name:`label`,reg:/^label:(.+)/,format:`label:%s`},{name:`sctpPort`,reg:/^sctp-port:(\d+)$/,format:`sctp-port:%s`},{name:`maxMessageSize`,reg:/^max-message-size:(\d+)$/,format:`max-message-size:%s`},{push:`tsRefClocks`,reg:/^ts-refclk:([^\s=]*)(?:=(\S*))?/,names:[`clksrc`,`clksrcExt`],format:function(e){return`ts-refclk:%s`+(e.clksrcExt==null?``:`=%s`)}},{name:`mediaClk`,reg:/^mediaclk:(?:id=(\S*))? *([^\s=]*)(?:=(\S*))?(?: *rate=(\d+)\/(\d+))?/,names:[`id`,`mediaClockName`,`mediaClockValue`,`rateNumerator`,`rateDenominator`],format:function(e){var t=`mediaclk:`;return t+=e.id==null?`%v%s`:`id=%s %s`,t+=e.mediaClockValue==null?``:`=%s`,t+=e.rateNumerator==null?``:` rate=%s`,t+=e.rateDenominator==null?``:`/%s`,t}},{name:`keywords`,reg:/^keywds:(.+)$/,format:`keywds:%s`},{name:`content`,reg:/^content:(.+)/,format:`content:%s`},{name:`bfcpFloorCtrl`,reg:/^floorctrl:(c-only|s-only|c-s)/,format:`floorctrl:%s`},{name:`bfcpConfId`,reg:/^confid:(\d+)/,format:`confid:%s`},{name:`bfcpUserId`,reg:/^userid:(\d+)/,format:`userid:%s`},{name:`bfcpFloorId`,reg:/^floorid:(.+) (?:m-stream|mstrm):(.+)/,names:[`id`,`mStream`],format:`floorid:%s mstrm:%s`},{push:`invalid`,names:[`value`]}]};Object.keys(n).forEach(function(e){n[e].forEach(function(e){e.reg||=/(.*)/,e.format||=`%s`})})})),I=e((e=>{var t=function(e){return String(Number(e))===e?Number(e):e},n=function(e,n,r,i){if(i&&!r)n[i]=t(e[1]);else for(var a=0;a<r.length;a+=1)e[a+1]!=null&&(n[r[a]]=t(e[a+1]))},r=function(e,t,r){var i=e.name&&e.names;e.push&&!t[e.push]?t[e.push]=[]:i&&!t[e.name]&&(t[e.name]={});var a=e.push?{}:i?t[e.name]:t;n(r.match(e.reg),a,e.names,e.name),e.push&&t[e.push].push(a)},i=F(),a=RegExp.prototype.test.bind(/^([a-z])=(.*)/);e.parse=function(e){var t={},n=[],o=t;return e.split(/(\r\n|\r|\n)/).filter(a).forEach(function(e){var t=e[0],a=e.slice(2);t===`m`&&(n.push({rtp:[],fmtp:[]}),o=n[n.length-1]);for(var s=0;s<(i[t]||[]).length;s+=1){var c=i[t][s];if(c.reg.test(a))return r(c,o,a)}}),t.media=n,t};var o=function(e,n){var r=n.split(/=(.+)/,2);return r.length===2?e[r[0]]=t(r[1]):r.length===1&&n.length>1&&(e[r[0]]=void 0),e};e.parseParams=function(e){return e.split(/;\s?/).reduce(o,{})},e.parseFmtpConfig=e.parseParams,e.parsePayloads=function(e){return e.toString().split(` `).map(Number)},e.parseRemoteCandidates=function(e){for(var n=[],r=e.split(` `).map(t),i=0;i<r.length;i+=3)n.push({component:r[i],ip:r[i+1],port:r[i+2]});return n},e.parseImageAttributes=function(e){return e.split(` `).map(function(e){return e.substring(1,e.length-1).split(`,`).reduce(o,{})})},e.parseSimulcastStreamList=function(e){return e.split(`;`).map(function(e){return e.split(`,`).map(function(e){var n,r=!1;return e[0]===`~`?(n=t(e.substring(1,e.length)),r=!0):n=t(e),{scid:n,paused:r}})})}})),L=e(((e,t)=>{var n=F(),r=/%[sdv%]/g,i=function(e){var t=1,n=arguments,i=n.length;return e.replace(r,function(e){if(t>=i)return e;var r=n[t];switch(t+=1,e){case`%%`:return`%`;case`%s`:return String(r);case`%d`:return Number(r);case`%v`:return``}})},a=function(e,t,n){var r=t.format instanceof Function?t.format(t.push?n:n[t.name]):t.format,a=[e+`=`+r];if(t.names)for(var o=0;o<t.names.length;o+=1){var s=t.names[o];t.name?a.push(n[t.name][s]):a.push(n[t.names[o]])}else a.push(n[t.name]);return i.apply(null,a)},o=[`v`,`o`,`s`,`i`,`u`,`e`,`p`,`c`,`b`,`t`,`r`,`z`,`a`],s=[`i`,`c`,`b`,`a`];t.exports=function(e,t){t||={},e.version??=0,e.name??=` `,e.media.forEach(function(e){e.payloads??=``});var r=t.outerOrder||o,i=t.innerOrder||s,c=[];return r.forEach(function(t){n[t].forEach(function(n){n.name in e&&e[n.name]!=null?c.push(a(t,n,e)):n.push in e&&e[n.push]!=null&&e[n.push].forEach(function(e){c.push(a(t,n,e))})})}),e.media.forEach(function(e){c.push(a(`m`,n.m[0],e)),i.forEach(function(t){n[t].forEach(function(n){n.name in e&&e[n.name]!=null?c.push(a(t,n,e)):n.push in e&&e[n.push]!=null&&e[n.push].forEach(function(e){c.push(a(t,n,e))})})})}),c.join(`\r
|
|
2
|
+
`)+`\r
|
|
3
|
+
`}})),R=e((e=>{var t=I(),n=L();e.grammar=F(),e.write=n,e.parse=t.parse,e.parseParams=t.parseParams,e.parseFmtpConfig=t.parseFmtpConfig,e.parsePayloads=t.parsePayloads,e.parseRemoteCandidates=t.parseRemoteCandidates,e.parseImageAttributes=t.parseImageAttributes,e.parseSimulcastStreamList=t.parseSimulcastStreamList})),z=e((e=>{Object.defineProperty(e,"__esModule",{value:!0}),e.parse=n;var t=RegExp(`^[LS]([1-9]\\d{0,1})T([1-9]\\d{0,1})`);function n(e){let n=t.exec(e??``);return n?{spatialLayers:Number(n[1]),temporalLayers:Number(n[2])}:{spatialLayers:1,temporalLayers:1}}})),B=e((e=>{var t=e&&e.__createBinding||(Object.create?(function(e,t,n,r){r===void 0&&(r=n);var i=Object.getOwnPropertyDescriptor(t,n);(!i||(`get`in i?!t.__esModule:i.writable||i.configurable))&&(i={enumerable:!0,get:function(){return t[n]}}),Object.defineProperty(e,r,i)}):(function(e,t,n,r){r===void 0&&(r=n),e[r]=t[n]})),n=e&&e.__setModuleDefault||(Object.create?(function(e,t){Object.defineProperty(e,"default",{enumerable:!0,value:t})}):function(e,t){e.default=t}),r=e&&e.__importStar||(function(){var e=function(t){return e=Object.getOwnPropertyNames||function(e){var t=[];for(var n in e)Object.prototype.hasOwnProperty.call(e,n)&&(t[t.length]=n);return t},e(t)};return function(r){if(r&&r.__esModule)return r;var i={};if(r!=null)for(var a=e(r),o=0;o<a.length;o++)a[o]!=="default"&&t(i,r,a[o]);return n(i,r),i}})();Object.defineProperty(e,"__esModule",{value:!0}),e.RemoteOfferMediaSection=e.RemoteAnswerMediaSection=e.RemoteMediaSection=void 0;var i=r(R()),a=r(S()),o=class{_mediaObject;constructor({iceParameters:e,iceCandidates:t,dtlsParameters:n}){if(this._mediaObject={type:``,port:0,protocol:``,payloads:``,rtp:[],fmtp:[]},e&&this.setIceParameters(e),t){this._mediaObject.candidates=[];for(let e of t){let t={foundation:e.foundation,component:1,ip:e.address??e.ip,port:e.port,priority:e.priority,transport:e.protocol,type:e.type};e.tcpType&&(t.tcptype=e.tcpType),this._mediaObject.candidates.push(t)}this._mediaObject.endOfCandidates=`end-of-candidates`,this._mediaObject.iceOptions=`renomination`}n&&this.setDtlsRole(n.role)}get mid(){return String(this._mediaObject.mid)}get closed(){return this._mediaObject.port===0}getObject(){return this._mediaObject}setIceParameters(e){this._mediaObject.iceUfrag=e.usernameFragment,this._mediaObject.icePwd=e.password}pause(){this._mediaObject.direction=`inactive`}disable(){this.pause()}close(){this.disable(),this._mediaObject.port=0,delete this._mediaObject.candidates,delete this._mediaObject.endOfCandidates,delete this._mediaObject.iceUfrag,delete this._mediaObject.icePwd,delete this._mediaObject.iceOptions,this._mediaObject.rtp=[],this._mediaObject.fmtp=[],delete this._mediaObject.rtcp,delete this._mediaObject.rtcpFb,delete this._mediaObject.ssrcs,delete this._mediaObject.ssrcGroups,delete this._mediaObject.simulcast,delete this._mediaObject.simulcast_03,delete this._mediaObject.rids,delete this._mediaObject.extmapAllowMixed}};e.RemoteMediaSection=o,e.RemoteAnswerMediaSection=class extends o{constructor({iceParameters:e,iceCandidates:t,dtlsParameters:n,sctpParameters:r,plainRtpParameters:i,offerMediaObject:o,offerRtpParameters:c,answerRtpParameters:l,codecOptions:u}){switch(super({iceParameters:e,iceCandidates:t,dtlsParameters:n}),this._mediaObject.mid=String(o.mid),this._mediaObject.type=o.type,this._mediaObject.protocol=o.protocol,i?(this._mediaObject.connection={ip:i.ip,version:i.ipVersion},this._mediaObject.port=i.port):(this._mediaObject.connection={ip:`127.0.0.1`,version:4},this._mediaObject.port=7),o.type){case`audio`:case`video`:this._mediaObject.direction=`recvonly`,this._mediaObject.rtp=[],this._mediaObject.rtcpFb=[],this._mediaObject.fmtp=[];for(let e of l.codecs){let t={payload:e.payloadType,codec:s(e),rate:e.clockRate};e.channels>1&&(t.encoding=e.channels),this._mediaObject.rtp.push(t);let n=a.clone(e.parameters)??{},r=a.clone(e.rtcpFeedback)??[];if(u){let{opusStereo:t,opusFec:i,opusDtx:a,opusMaxPlaybackRate:o,opusMaxAverageBitrate:s,opusPtime:l,opusNack:d,videoGoogleStartBitrate:f,videoGoogleMaxBitrate:p,videoGoogleMinBitrate:m}=u,h=c.codecs.find(t=>t.payloadType===e.payloadType);switch(e.mimeType.toLowerCase()){case`audio/opus`:case`audio/multiopus`:t!==void 0&&(h.parameters[`sprop-stereo`]=+!!t,n.stereo=+!!t),i!==void 0&&(h.parameters.useinbandfec=+!!i,n.useinbandfec=+!!i),a!==void 0&&(h.parameters.usedtx=+!!a,n.usedtx=+!!a),o!==void 0&&(n.maxplaybackrate=o),s!==void 0&&(n.maxaveragebitrate=s),l!==void 0&&(h.parameters.ptime=l,n.ptime=l),d||(h.rtcpFeedback=h.rtcpFeedback.filter(e=>e.type!==`nack`||e.parameter),r=r.filter(e=>e.type!==`nack`||e.parameter));break;case`video/vp8`:case`video/vp9`:case`video/h264`:case`video/h265`:case`video/av1`:f!==void 0&&(n[`x-google-start-bitrate`]=f),p!==void 0&&(n[`x-google-max-bitrate`]=p),m!==void 0&&(n[`x-google-min-bitrate`]=m)}}let i={payload:e.payloadType,config:``};for(let e of Object.keys(n))i.config&&(i.config+=`;`),i.config+=`${e}=${n[e]}`;i.config&&this._mediaObject.fmtp.push(i);for(let t of r)this._mediaObject.rtcpFb.push({payload:e.payloadType,type:t.type,subtype:t.parameter})}this._mediaObject.payloads=l.codecs.map(e=>e.payloadType).join(` `),this._mediaObject.ext=[];for(let e of l.headerExtensions)(o.ext??[]).some(t=>t.uri===e.uri)&&this._mediaObject.ext.push({uri:e.uri,value:e.id});if(o.extmapAllowMixed===`extmap-allow-mixed`&&(this._mediaObject.extmapAllowMixed=`extmap-allow-mixed`),o.simulcast){this._mediaObject.simulcast={dir1:`recv`,list1:o.simulcast.list1},this._mediaObject.rids=[];for(let e of o.rids??[])e.direction===`send`&&this._mediaObject.rids.push({id:e.id,direction:`recv`})}else if(o.simulcast_03){this._mediaObject.simulcast_03={value:o.simulcast_03.value.replace(/send/g,`recv`)},this._mediaObject.rids=[];for(let e of o.rids??[])e.direction===`send`&&this._mediaObject.rids.push({id:e.id,direction:`recv`})}this._mediaObject.rtcpMux=`rtcp-mux`,this._mediaObject.rtcpRsize=`rtcp-rsize`;break;case`application`:typeof o.sctpPort==`number`?(this._mediaObject.payloads=`webrtc-datachannel`,this._mediaObject.sctpPort=r.port,this._mediaObject.maxMessageSize=r.maxReceiveMessageSize):o.sctpmap&&(this._mediaObject.payloads=String(r.port),this._mediaObject.sctpmap={app:`webrtc-datachannel`,sctpmapNumber:r.port,maxMessageSize:r.maxReceiveMessageSize})}}setDtlsRole(e){switch(e){case`client`:this._mediaObject.setup=`active`;break;case`server`:this._mediaObject.setup=`passive`;break;case`auto`:this._mediaObject.setup=`actpass`}}resume(){this._mediaObject.direction=`recvonly`}muxSimulcastStreams(e){if(!this._mediaObject.simulcast?.list1)return;let t={};for(let n of e)n.rid&&(t[n.rid]=n);let n=this._mediaObject.simulcast.list1,r=i.parseSimulcastStreamList(n);for(let e of r)for(let n of e)n.paused=!t[n.scid]?.active;this._mediaObject.simulcast.list1=r.map(e=>e.map(e=>`${e.paused?`~`:``}${e.scid}`).join(`,`)).join(`;`)}},e.RemoteOfferMediaSection=class extends o{constructor({iceParameters:e,iceCandidates:t,dtlsParameters:n,sctpParameters:r,plainRtpParameters:i,mid:a,kind:o,offerRtpParameters:c,streamId:l,trackId:u}){switch(super({iceParameters:e,iceCandidates:t,dtlsParameters:n}),this._mediaObject.mid=String(a),this._mediaObject.type=o,i?(this._mediaObject.connection={ip:i.ip,version:i.ipVersion},this._mediaObject.protocol=`RTP/AVP`,this._mediaObject.port=i.port):(this._mediaObject.connection={ip:`127.0.0.1`,version:4},r?this._mediaObject.protocol=`UDP/DTLS/SCTP`:this._mediaObject.protocol=`UDP/TLS/RTP/SAVPF`,this._mediaObject.port=7),this._mediaObject.extmapAllowMixed=`extmap-allow-mixed`,o){case`audio`:case`video`:{this._mediaObject.direction=`sendonly`,this._mediaObject.rtp=[],this._mediaObject.rtcpFb=[],this._mediaObject.fmtp=[],this._mediaObject.msid=[{id:l,appdata:u}];for(let e of c.codecs){let t={payload:e.payloadType,codec:s(e),rate:e.clockRate};e.channels>1&&(t.encoding=e.channels),this._mediaObject.rtp.push(t);let n={payload:e.payloadType,config:``};for(let t of Object.keys(e.parameters??{}))n.config&&(n.config+=`;`),n.config+=`${t}=${e.parameters[t]}`;n.config&&this._mediaObject.fmtp.push(n);for(let t of e.rtcpFeedback)this._mediaObject.rtcpFb.push({payload:e.payloadType,type:t.type,subtype:t.parameter})}this._mediaObject.payloads=c.codecs.map(e=>e.payloadType).join(` `),this._mediaObject.ext=[];for(let e of c.headerExtensions)this._mediaObject.ext.push({uri:e.uri,value:e.id});this._mediaObject.rtcpMux=`rtcp-mux`,this._mediaObject.rtcpRsize=`rtcp-rsize`;let e=c.encodings[0],t=e.ssrc,n=e.rtx?.ssrc;this._mediaObject.ssrcs=[],this._mediaObject.ssrcGroups=[],t&&c.rtcp.cname&&this._mediaObject.ssrcs.push({id:t,attribute:`cname`,value:c.rtcp.cname}),n&&(c.rtcp.cname&&this._mediaObject.ssrcs.push({id:n,attribute:`cname`,value:c.rtcp.cname}),t&&this._mediaObject.ssrcGroups.push({semantics:`FID`,ssrcs:`${t} ${n}`}));break}case`application`:this._mediaObject.payloads=`webrtc-datachannel`,this._mediaObject.sctpPort=r.port,this._mediaObject.maxMessageSize=r.maxReceiveMessageSize}}setDtlsRole(e){this._mediaObject.setup=`actpass`}resume(){this._mediaObject.direction=`sendonly`}};function s(e){let t=RegExp(`^(audio|video)/(.+)`,`i`).exec(e.mimeType);if(!t)throw TypeError(`invalid codec.mimeType`);return t[2]}})),V=e((e=>{var t=e&&e.__createBinding||(Object.create?(function(e,t,n,r){r===void 0&&(r=n);var i=Object.getOwnPropertyDescriptor(t,n);(!i||(`get`in i?!t.__esModule:i.writable||i.configurable))&&(i={enumerable:!0,get:function(){return t[n]}}),Object.defineProperty(e,r,i)}):(function(e,t,n,r){r===void 0&&(r=n),e[r]=t[n]})),n=e&&e.__setModuleDefault||(Object.create?(function(e,t){Object.defineProperty(e,"default",{enumerable:!0,value:t})}):function(e,t){e.default=t}),r=e&&e.__importStar||(function(){var e=function(t){return e=Object.getOwnPropertyNames||function(e){var t=[];for(var n in e)Object.prototype.hasOwnProperty.call(e,n)&&(t[t.length]=n);return t},e(t)};return function(r){if(r&&r.__esModule)return r;var i={};if(r!=null)for(var a=e(r),o=0;o<a.length;o++)a[o]!=="default"&&t(i,r,a[o]);return n(i,r),i}})();Object.defineProperty(e,"__esModule",{value:!0}),e.RemoteSdp=void 0;var i=r(R()),a=v(),o=B(),s=X(),c=[`av1`,`h264`],l=new a.Logger(`RemoteSdp`);e.RemoteSdp=class{_iceParameters;_iceCandidates;_dtlsParameters;_sctpParameters;_plainRtpParameters;_mediaSections=[];_midToIndex=new Map;_firstMid;_sdpObject;constructor({iceParameters:e,iceCandidates:t,dtlsParameters:n,sctpParameters:r,plainRtpParameters:i}){if(this._iceParameters=e,this._iceCandidates=t,this._dtlsParameters=n,this._sctpParameters=r,this._plainRtpParameters=i,this._sdpObject={version:0,origin:{address:`0.0.0.0`,ipVer:4,netType:`IN`,sessionId:`10000`,sessionVersion:0,username:`mediasoup-client-v${s.version}`},name:`-`,timing:{start:0,stop:0},media:[]},this._sdpObject.iceOptions=`ice2`,e?.iceLite&&(this._sdpObject.icelite=`ice-lite`),n){this._sdpObject.msidSemantic={semantic:`WMS`,token:`*`};let e=this._dtlsParameters.fingerprints.length;this._sdpObject.fingerprint={type:n.fingerprints[e-1].algorithm,hash:n.fingerprints[e-1].value},this._sdpObject.groups=[{type:`BUNDLE`,mids:``}]}i&&(this._sdpObject.origin.address=i.ip,this._sdpObject.origin.ipVer=i.ipVersion)}updateIceParameters(e){l.debug(`updateIceParameters() [iceParameters:%o]`,e),this._iceParameters=e,this._sdpObject.icelite=e.iceLite?`ice-lite`:void 0;for(let t of this._mediaSections)t.setIceParameters(e)}updateDtlsRole(e){l.debug(`updateDtlsRole() [role:%s]`,e),this._dtlsParameters.role=e;for(let t of this._mediaSections)t.setDtlsRole(e)}setSessionExtmapAllowMixed(){l.debug(`setSessionExtmapAllowMixed()`),this._sdpObject.extmapAllowMixed=`extmap-allow-mixed`}getNextMediaSectionIdx(){for(let e=0;e<this._mediaSections.length;++e){let t=this._mediaSections[e];if(t.closed)return{idx:e,reuseMid:t.mid}}return{idx:this._mediaSections.length}}send({offerMediaObject:e,reuseMid:t,offerRtpParameters:n,answerRtpParameters:r,codecOptions:i}){let a=new o.RemoteAnswerMediaSection({iceParameters:this._iceParameters,iceCandidates:this._iceCandidates,dtlsParameters:this._dtlsParameters,plainRtpParameters:this._plainRtpParameters,offerMediaObject:e,offerRtpParameters:n,answerRtpParameters:r,codecOptions:i}),s=a.getObject();s.rtp.find(e=>c.includes(e.codec.toLowerCase()))||(s.ext=s.ext?.filter(e=>e.uri!==`https://aomediacodec.github.io/av1-rtp-spec/#dependency-descriptor-rtp-header-extension`)),t?this.replaceMediaSection(a,t):this._midToIndex.has(a.mid)?this.replaceMediaSection(a):this.addMediaSection(a)}receive({mid:e,kind:t,offerRtpParameters:n,streamId:r,trackId:i}){this.setSessionExtmapAllowMixed();let a=new o.RemoteOfferMediaSection({iceParameters:this._iceParameters,iceCandidates:this._iceCandidates,dtlsParameters:this._dtlsParameters,plainRtpParameters:this._plainRtpParameters,mid:e,kind:t,offerRtpParameters:n,streamId:r,trackId:i}),s=this._mediaSections.find(e=>e.closed&&e.getObject().type===t);s?this.replaceMediaSection(a,s.mid):this.addMediaSection(a)}pauseMediaSection(e){this.findMediaSection(e).pause()}resumeSendingMediaSection(e){this.findMediaSection(e).resume()}resumeReceivingMediaSection(e){this.findMediaSection(e).resume()}disableMediaSection(e){this.findMediaSection(e).disable()}closeMediaSection(e){let t=this.findMediaSection(e);return e===this._firstMid?(l.debug(`closeMediaSection() | cannot close first media section, disabling it instead [mid:%s]`,e),this.disableMediaSection(e),!1):(t.close(),this.regenerateBundleMids(),!0)}muxMediaSectionSimulcast(e,t){let n=this.findMediaSection(e);n.muxSimulcastStreams(t),this.replaceMediaSection(n)}sendSctpAssociation({offerMediaObject:e}){let t=new o.RemoteAnswerMediaSection({iceParameters:this._iceParameters,iceCandidates:this._iceCandidates,dtlsParameters:this._dtlsParameters,sctpParameters:this._sctpParameters,plainRtpParameters:this._plainRtpParameters,offerMediaObject:e});this.addMediaSection(t)}receiveSctpAssociation(){let e=new o.RemoteOfferMediaSection({iceParameters:this._iceParameters,iceCandidates:this._iceCandidates,dtlsParameters:this._dtlsParameters,sctpParameters:this._sctpParameters,plainRtpParameters:this._plainRtpParameters,mid:`datachannel`,kind:`application`});this.addMediaSection(e)}getSdp(){return this._sdpObject.origin.sessionVersion++,i.write(this._sdpObject)}addMediaSection(e){this._firstMid||=e.mid,this._mediaSections.push(e),this._midToIndex.set(e.mid,this._mediaSections.length-1),this._sdpObject.media.push(e.getObject()),this.regenerateBundleMids()}replaceMediaSection(e,t){if(typeof t==`string`){let n=this._midToIndex.get(t);if(n===void 0)throw Error(`no media section found for reuseMid '${t}'`);let r=this._mediaSections[n];this._mediaSections[n]=e,this._midToIndex.delete(r.mid),this._midToIndex.set(e.mid,n),this._sdpObject.media[n]=e.getObject(),this.regenerateBundleMids()}else{let t=this._midToIndex.get(e.mid);if(t===void 0)throw Error(`no media section found with mid '${e.mid}'`);this._mediaSections[t]=e,this._sdpObject.media[t]=e.getObject()}}findMediaSection(e){let t=this._midToIndex.get(e);if(t===void 0)throw Error(`no media section found with mid '${e}'`);return this._mediaSections[t]}regenerateBundleMids(){this._dtlsParameters&&(this._sdpObject.groups[0].mids=this._mediaSections.filter(e=>!e.closed).map(e=>e.mid).join(` `))}}})),H=e((e=>{var t=e&&e.__createBinding||(Object.create?(function(e,t,n,r){r===void 0&&(r=n);var i=Object.getOwnPropertyDescriptor(t,n);(!i||(`get`in i?!t.__esModule:i.writable||i.configurable))&&(i={enumerable:!0,get:function(){return t[n]}}),Object.defineProperty(e,r,i)}):(function(e,t,n,r){r===void 0&&(r=n),e[r]=t[n]})),n=e&&e.__setModuleDefault||(Object.create?(function(e,t){Object.defineProperty(e,"default",{enumerable:!0,value:t})}):function(e,t){e.default=t}),r=e&&e.__importStar||(function(){var e=function(t){return e=Object.getOwnPropertyNames||function(e){var t=[];for(var n in e)Object.prototype.hasOwnProperty.call(e,n)&&(t[t.length]=n);return t},e(t)};return function(r){if(r&&r.__esModule)return r;var i={};if(r!=null)for(var a=e(r),o=0;o<a.length;o++)a[o]!=="default"&&t(i,r,a[o]);return n(i,r),i}})();Object.defineProperty(e,"__esModule",{value:!0}),e.extractRtpCapabilities=a,e.extractDtlsParameters=o,e.getCname=s,e.applyCodecParameters=c;var i=r(R());function a({sdpObject:e}){let t=new Map,n=new Map;for(let r of e.media){let e=r.type;switch(e){case`audio`:case`video`:break;default:continue}for(let n of r.rtp){let r={kind:e,mimeType:`${e}/${n.codec}`,preferredPayloadType:n.payload,clockRate:n.rate,channels:n.encoding,parameters:{},rtcpFeedback:[]};t.set(r.preferredPayloadType,r)}for(let e of r.fmtp??[]){let n=i.parseParams(e.config),r=t.get(e.payload);r&&(n?.hasOwnProperty(`profile-level-id`)&&(n[`profile-level-id`]=String(n[`profile-level-id`])),r.parameters=n)}for(let n of r.rtcpFb??[]){let r={type:n.type,parameter:n.subtype};if(r.parameter||delete r.parameter,n.payload!==`*`){let e=t.get(Number(n.payload));if(!e)continue;e.rtcpFeedback.push(r)}else for(let n of t.values())n.kind===e&&!/.+\/rtx$/i.test(n.mimeType)&&n.rtcpFeedback.push(r)}for(let t of r.ext??[]){if(t[`encrypt-uri`])continue;let r={kind:e,uri:t.uri,preferredId:t.value};n.set(r.preferredId,r)}}return{codecs:Array.from(t.values()),headerExtensions:Array.from(n.values())}}function o({sdpObject:e}){let t=e.setup,n=e.fingerprint;if(!t||!n){let r=(e.media??[]).find(e=>e.port!==0);r&&(t??=r.setup,n??=r.fingerprint)}if(!t)throw Error(`no a=setup found at SDP session or media level`);if(!n)throw Error(`no a=fingerprint found at SDP session or media level`);let r;switch(t){case`active`:r=`client`;break;case`passive`:r=`server`;break;case`actpass`:r=`auto`}return{role:r,fingerprints:[{algorithm:n.type,value:n.hash}]}}function s({offerMediaObject:e}){let t=(e.ssrcs??[]).find(e=>e.attribute===`cname`);return t?t.value:``}function c({offerRtpParameters:e,answerMediaObject:t}){for(let n of e.codecs){let e=n.mimeType.toLowerCase();if(e!==`audio/opus`||!(t.rtp??[]).find(e=>e.payload===n.payloadType))continue;t.fmtp=t.fmtp??[];let r=t.fmtp.find(e=>e.payload===n.payloadType);r||(r={payload:n.payloadType,config:``},t.fmtp.push(r));let a=i.parseParams(r.config);switch(e){case`audio/opus`:{let e=n.parameters?.[`sprop-stereo`];e!==void 0&&(a.stereo=+!!Number(e));break}}r.config=``;for(let e of Object.keys(a))r.config&&(r.config+=`;`),r.config+=`${e}=${a[e]}`}}})),U=e((e=>{Object.defineProperty(e,"__esModule",{value:!0}),e.getRtpEncodings=t,e.addLegacySimulcast=n;function t({offerMediaObject:e,codecs:t}){let n=new Set;for(let t of e.ssrcs??[]){let e=t.id;e&&n.add(e)}if(n.size===0)throw Error(`no a=ssrc lines found`);let r=new Map;for(let t of e.ssrcGroups??[]){if(t.semantics!==`FID`)continue;let e=t.ssrcs.split(/\s+/),i=Number(e[0]),a=Number(e[1]);n.has(i)&&(n.delete(i),n.delete(a),r.set(i,a))}for(let e of n)r.set(e,void 0);let i=[];for(let[e,n]of r){let r={ssrc:e};n&&t.length>1&&(r.rtx={ssrc:n}),i.push(r)}return i}function n({offerMediaObject:e,numStreams:t}){if(t<=1)throw TypeError(`numStreams must be greater than 1`);let n=(e.ssrcs??[]).find(e=>e.attribute===`msid`);if(!n)throw Error(`a=ssrc line with msid information not found`);let[r,i]=n.value.split(` `),a=Number(n.id),o;(e.ssrcGroups??[]).some(e=>{if(e.semantics!==`FID`)return!1;let t=e.ssrcs.split(/\s+/);return Number(t[0])===a&&(o=Number(t[1]),!0)});let s=(e.ssrcs??[]).find(e=>e.attribute===`cname`);if(!s)throw Error(`a=ssrc line with cname information not found`);let c=s.value,l=[],u=[];for(let e=0;e<t;++e)l.push(a+e),o&&u.push(o+e);e.ssrcGroups=[],e.ssrcs=[],e.ssrcGroups.push({semantics:`SIM`,ssrcs:l.join(` `)});for(let t of l)e.ssrcs.push({id:t,attribute:`cname`,value:c}),e.ssrcs.push({id:t,attribute:`msid`,value:`${r} ${i}`});for(let t=0;t<u.length;++t){let n=l[t],a=u[t];e.ssrcs.push({id:a,attribute:`cname`,value:c}),e.ssrcs.push({id:a,attribute:`msid`,value:`${r} ${i}`}),e.ssrcGroups.push({semantics:`FID`,ssrcs:`${n} ${a}`})}}})),W=e((e=>{Object.defineProperty(e,"__esModule",{value:!0}),e.addNackSupportForOpus=t,e.getMsidStreamIdAndTrackId=n,e.applyForcedRtpExtensions=r;function t(e){for(let t of e.codecs??[])(t.mimeType.toLowerCase()===`audio/opus`||t.mimeType.toLowerCase()===`audio/multiopus`)&&!t.rtcpFeedback?.some(e=>e.type===`nack`&&!e.parameter)&&(t.rtcpFeedback||=[],t.rtcpFeedback.push({type:`nack`}))}function n(e){if(!e||typeof e!=`string`)return{msidStreamId:void 0,msidTrackId:void 0};let[t,n]=e.trim().split(/\s+/);return t?{msidStreamId:t,msidTrackId:n}:{msidStreamId:void 0,msidTrackId:void 0}}function r(e,t){if(!e.getHeaderExtensionsToNegotiate||!e.setHeaderExtensionsToNegotiate||Object.keys(t).length===0)return!1;let n=e.getHeaderExtensionsToNegotiate();return n=n.map(e=>{let n=t[e.uri];return n===!0?e.direction=`sendrecv`:n===!1&&(e.direction=`stopped`),e}),e.setHeaderExtensionsToNegotiate(n),!0}})),ee=e((e=>{var t=e&&e.__createBinding||(Object.create?(function(e,t,n,r){r===void 0&&(r=n);var i=Object.getOwnPropertyDescriptor(t,n);(!i||(`get`in i?!t.__esModule:i.writable||i.configurable))&&(i={enumerable:!0,get:function(){return t[n]}}),Object.defineProperty(e,r,i)}):(function(e,t,n,r){r===void 0&&(r=n),e[r]=t[n]})),n=e&&e.__setModuleDefault||(Object.create?(function(e,t){Object.defineProperty(e,"default",{enumerable:!0,value:t})}):function(e,t){e.default=t}),r=e&&e.__importStar||(function(){var e=function(t){return e=Object.getOwnPropertyNames||function(e){var t=[];for(var n in e)Object.prototype.hasOwnProperty.call(e,n)&&(t[t.length]=n);return t},e(t)};return function(r){if(r&&r.__esModule)return r;var i={};if(r!=null)for(var a=e(r),o=0;o<a.length;o++)a[o]!=="default"&&t(i,r,a[o]);return n(i,r),i}})();Object.defineProperty(e,"__esModule",{value:!0}),e.Chrome111=void 0;var i=r(R()),a=b(),o=v(),s=r(T()),c=x(),l=z(),u=V(),d=r(H()),f=r(U()),p=r(W()),m=new o.Logger(`Chrome111`),h=`Chrome111`;e.Chrome111=class e extends a.EnhancedEventEmitter{_closed=!1;_direction;_sctpMaxReceiveMessageSize;_remoteSdp;_getSendExtendedRtpCapabilities;_forcedRtpExtensions;_forcedLocalDtlsRole;_pc;_mapMidTransceiver=new Map;_sendStream=new MediaStream;_hasDataChannelMediaSection=!1;_nextSendSctpStreamId=0;_transportReady=!1;static createFactory({forcedRtpExtensions:t}){return{name:h,factory:n=>new e({...n,forcedRtpExtensions:t}),getNativeRtpCapabilities:async({direction:n})=>{m.debug(`getNativeRtpCapabilities() [direction:%o]`,n);let r=new RTCPeerConnection({iceServers:[],iceTransportPolicy:`all`,bundlePolicy:`max-bundle`,rtcpMuxPolicy:`require`});try{let a=r.addTransceiver(`audio`,{direction:n});t&&p.applyForcedRtpExtensions(a,t);let o=r.addTransceiver(`video`,{direction:n,sendEncodings:[{scalabilityMode:`L3T3`}]});t&&p.applyForcedRtpExtensions(o,t);let s=await r.createOffer();try{r.close()}catch{}r=void 0;let c=i.parse(s.sdp);return e.getLocalRtpCapabilities(c)}catch(e){try{r?.close()}catch{}throw r=void 0,e}}}}static getLocalRtpCapabilities(e){let t=d.extractRtpCapabilities({sdpObject:e});return s.validateAndNormalizeRtpCapabilities(t),p.addNackSupportForOpus(t),t}constructor({direction:e,iceParameters:t,iceCandidates:n,dtlsParameters:r,sctpParameters:i,iceServers:a,iceTransportPolicy:o,additionalSettings:s,getSendExtendedRtpCapabilities:c,forcedRtpExtensions:l}){super(),m.debug(`constructor()`),this._direction=e,this._sctpMaxReceiveMessageSize=i?.maxSendMessageSize,this._remoteSdp=new u.RemoteSdp({iceParameters:t,iceCandidates:n,dtlsParameters:r,sctpParameters:i}),this._getSendExtendedRtpCapabilities=c,this._forcedRtpExtensions=l,r.role&&r.role!==`auto`&&(this._forcedLocalDtlsRole=r.role===`server`?`client`:`server`),this._pc=new RTCPeerConnection({iceServers:a??[],iceTransportPolicy:o??`all`,bundlePolicy:`max-bundle`,rtcpMuxPolicy:`require`,...s}),this._pc.addEventListener(`icegatheringstatechange`,this.onIceGatheringStateChange),this._pc.addEventListener(`icecandidateerror`,this.onIceCandidateError),this._pc.connectionState?this._pc.addEventListener(`connectionstatechange`,this.onConnectionStateChange):(m.warn(`run() | pc.connectionState not supported, using pc.iceConnectionState`),this._pc.addEventListener(`iceconnectionstatechange`,this.onIceConnectionStateChange))}get name(){return h}close(){if(m.debug(`close()`),!this._closed){this._closed=!0;try{this._pc.close()}catch{}this._pc.removeEventListener(`icegatheringstatechange`,this.onIceGatheringStateChange),this._pc.removeEventListener(`icecandidateerror`,this.onIceCandidateError),this._pc.removeEventListener(`connectionstatechange`,this.onConnectionStateChange),this._pc.removeEventListener(`iceconnectionstatechange`,this.onIceConnectionStateChange),this.emit(`@close`),super.close()}}async updateIceServers(e){this.assertNotClosed(),m.debug(`updateIceServers()`);let t=this._pc.getConfiguration();t.iceServers=e,this._pc.setConfiguration(t)}async restartIce(e){if(this.assertNotClosed(),m.debug(`restartIce()`),this._remoteSdp.updateIceParameters(e),this._transportReady){if(this._direction===`send`){let e=await this._pc.createOffer({iceRestart:!0});m.debug(`restartIce() | calling pc.setLocalDescription() [offer:%o]`,e),await this._pc.setLocalDescription(e);let t={type:`answer`,sdp:this._remoteSdp.getSdp()};m.debug(`restartIce() | calling pc.setRemoteDescription() [answer:%o]`,t),await this._pc.setRemoteDescription(t)}else{let e={type:`offer`,sdp:this._remoteSdp.getSdp()};m.debug(`restartIce() | calling pc.setRemoteDescription() [offer:%o]`,e),await this._pc.setRemoteDescription(e);let t=await this._pc.createAnswer();m.debug(`restartIce() | calling pc.setLocalDescription() [answer:%o]`,t),await this._pc.setLocalDescription(t)}}}async getTransportStats(){return this.assertNotClosed(),this._pc.getStats()}async send({track:t,streamId:n,encodings:r,codecOptions:a,codec:o,onRtpSender:c}){if(this.assertNotClosed(),this.assertSendDirection(),m.debug(`send() [kind:%s, track.id:%s, streamId:%s]`,t.kind,t.id,n),r&&r.length>1){let e=1;for(let t of r){let n=t.scalabilityMode?(0,l.parse)(t.scalabilityMode).temporalLayers:3;n>e&&(e=n)}r.forEach((t,n)=>{t.rid=`r${n}`,t.scalabilityMode=`L1T${e}`})}let u=this._remoteSdp.getNextMediaSectionIdx(),h=this._pc.addTransceiver(t,{direction:`sendonly`,streams:[this._sendStream],sendEncodings:r});this._forcedRtpExtensions&&p.applyForcedRtpExtensions(h,this._forcedRtpExtensions),c&&c(h.sender);let g=await this._pc.createOffer(),_=i.parse(g.sdp);_.extmapAllowMixed&&this._remoteSdp.setSessionExtmapAllowMixed();let v=e.getLocalRtpCapabilities(_),y=this._getSendExtendedRtpCapabilities(v),b=s.getSendingRtpParameters(t.kind,y);b.codecs=s.reduceCodecs(b.codecs,o);let x=s.getSendingRemoteRtpParameters(t.kind,y);x.codecs=s.reduceCodecs(x.codecs,o),this._transportReady||await this.setupTransport({localDtlsRole:this._forcedLocalDtlsRole??`client`,localSdpObject:_}),m.debug(`send() | calling pc.setLocalDescription() [offer:%o]`,g),await this._pc.setLocalDescription(g);let S=h.mid;b.mid=S,_=i.parse(this._pc.localDescription.sdp);let C=_.media[u.idx];if(b.rtcp.cname=d.getCname({offerMediaObject:C}),b.msid=`${n??this._sendStream.id} ${t.id}`,!r)b.encodings=f.getRtpEncodings({offerMediaObject:C,codecs:b.codecs});else if(r.length===1){let e=f.getRtpEncodings({offerMediaObject:C,codecs:b.codecs});Object.assign(e[0],r[0]),b.encodings=e}else b.encodings=r;this._remoteSdp.send({offerMediaObject:C,reuseMid:u.reuseMid,offerRtpParameters:b,answerRtpParameters:x,codecOptions:a});let w={type:`answer`,sdp:this._remoteSdp.getSdp()};return m.debug(`send() | calling pc.setRemoteDescription() [answer:%o]`,w),await this._pc.setRemoteDescription(w),this._mapMidTransceiver.set(S,h),{localId:S,rtpParameters:b,rtpSender:h.sender}}async stopSending(e){if(this.assertSendDirection(),m.debug(`stopSending() [localId:%s]`,e),this._closed)return;let t=this._mapMidTransceiver.get(e);if(!t)throw Error(`associated RTCRtpTransceiver not found`);if(t.sender.replaceTrack(null),this._pc.removeTrack(t.sender),this._remoteSdp.closeMediaSection(t.mid))try{t.stop()}catch{}let n=await this._pc.createOffer();m.debug(`stopSending() | calling pc.setLocalDescription() [offer:%o]`,n),await this._pc.setLocalDescription(n);let r={type:`answer`,sdp:this._remoteSdp.getSdp()};m.debug(`stopSending() | calling pc.setRemoteDescription() [answer:%o]`,r),await this._pc.setRemoteDescription(r),this._mapMidTransceiver.delete(e)}async pauseSending(e){this.assertNotClosed(),this.assertSendDirection(),m.debug(`pauseSending() [localId:%s]`,e);let t=this._mapMidTransceiver.get(e);if(!t)throw Error(`associated RTCRtpTransceiver not found`);t.direction=`inactive`,this._remoteSdp.pauseMediaSection(e);let n=await this._pc.createOffer();m.debug(`pauseSending() | calling pc.setLocalDescription() [offer:%o]`,n),await this._pc.setLocalDescription(n);let r={type:`answer`,sdp:this._remoteSdp.getSdp()};m.debug(`pauseSending() | calling pc.setRemoteDescription() [answer:%o]`,r),await this._pc.setRemoteDescription(r)}async resumeSending(e){this.assertNotClosed(),this.assertSendDirection(),m.debug(`resumeSending() [localId:%s]`,e);let t=this._mapMidTransceiver.get(e);if(this._remoteSdp.resumeSendingMediaSection(e),!t)throw Error(`associated RTCRtpTransceiver not found`);t.direction=`sendonly`;let n=await this._pc.createOffer();m.debug(`resumeSending() | calling pc.setLocalDescription() [offer:%o]`,n),await this._pc.setLocalDescription(n);let r={type:`answer`,sdp:this._remoteSdp.getSdp()};m.debug(`resumeSending() | calling pc.setRemoteDescription() [answer:%o]`,r),await this._pc.setRemoteDescription(r)}async replaceTrack(e,t){this.assertNotClosed(),this.assertSendDirection(),t?m.debug(`replaceTrack() [localId:%s, track.id:%s]`,e,t.id):m.debug(`replaceTrack() [localId:%s, no track]`,e);let n=this._mapMidTransceiver.get(e);if(!n)throw Error(`associated RTCRtpTransceiver not found`);await n.sender.replaceTrack(t)}async setMaxSpatialLayer(e,t){this.assertNotClosed(),this.assertSendDirection(),m.debug(`setMaxSpatialLayer() [localId:%s, spatialLayer:%s]`,e,t);let n=this._mapMidTransceiver.get(e);if(!n)throw Error(`associated RTCRtpTransceiver not found`);let r=n.sender.getParameters();r.encodings.forEach((e,n)=>{e.active=n<=t}),await n.sender.setParameters(r),this._remoteSdp.muxMediaSectionSimulcast(e,r.encodings);let i=await this._pc.createOffer();m.debug(`setMaxSpatialLayer() | calling pc.setLocalDescription() [offer:%o]`,i),await this._pc.setLocalDescription(i);let a={type:`answer`,sdp:this._remoteSdp.getSdp()};m.debug(`setMaxSpatialLayer() | calling pc.setRemoteDescription() [answer:%o]`,a),await this._pc.setRemoteDescription(a)}async setRtpEncodingParameters(e,t){this.assertNotClosed(),this.assertSendDirection(),m.debug(`setRtpEncodingParameters() [localId:%s, params:%o]`,e,t);let n=this._mapMidTransceiver.get(e);if(!n)throw Error(`associated RTCRtpTransceiver not found`);let r=n.sender.getParameters();r.encodings.forEach((e,n)=>{r.encodings[n]={...e,...t}}),await n.sender.setParameters(r),this._remoteSdp.muxMediaSectionSimulcast(e,r.encodings);let i=await this._pc.createOffer();m.debug(`setRtpEncodingParameters() | calling pc.setLocalDescription() [offer:%o]`,i),await this._pc.setLocalDescription(i);let a={type:`answer`,sdp:this._remoteSdp.getSdp()};m.debug(`setRtpEncodingParameters() | calling pc.setRemoteDescription() [answer:%o]`,a),await this._pc.setRemoteDescription(a)}async getSenderStats(e){this.assertNotClosed(),this.assertSendDirection();let t=this._mapMidTransceiver.get(e);if(!t)throw Error(`associated RTCRtpTransceiver not found`);return t.sender.getStats()}async sendDataChannel({sctpStreamParameters:e}){this.assertNotClosed(),this.assertSendDirection();let t={negotiated:!0,id:this._nextSendSctpStreamId,ordered:e.ordered,maxPacketLifeTime:e.maxPacketLifeTime,maxRetransmits:e.maxRetransmits,protocol:e.protocol};m.debug(`sendDataChannel() [options:%o]`,t);let n=this._pc.createDataChannel(e.label,t);if(this._nextSendSctpStreamId=++this._nextSendSctpStreamId%(this._pc.sctp?.maxChannels??65536),!this._hasDataChannelMediaSection){let e=await this._pc.createOffer(),t=i.parse(e.sdp),n=t.media.find(e=>e.type===`application`);this._transportReady||await this.setupTransport({localDtlsRole:this._forcedLocalDtlsRole??`client`,localSdpObject:t}),m.debug(`sendDataChannel() | calling pc.setLocalDescription() [offer:%o]`,e),await this._pc.setLocalDescription(e),this._remoteSdp.sendSctpAssociation({offerMediaObject:n});let r={type:`answer`,sdp:this._remoteSdp.getSdp()};m.debug(`sendDataChannel() | calling pc.setRemoteDescription() [answer:%o]`,r),await this._pc.setRemoteDescription(r),this._hasDataChannelMediaSection=!0}return{dataChannel:n,sctpStreamParameters:{streamId:t.id,ordered:t.ordered,maxPacketLifeTime:t.maxPacketLifeTime,maxRetransmits:t.maxRetransmits}}}async receive(e){this.assertNotClosed(),this.assertRecvDirection();let t=[],n=new Map;for(let t of e){let{trackId:e,kind:r,rtpParameters:i,streamId:a}=t;m.debug(`receive() [trackId:%s, kind:%s]`,e,r);let o=i.mid??String(this._mapMidTransceiver.size);n.set(e,o);let{msidStreamId:s}=p.getMsidStreamIdAndTrackId(i.msid);this._remoteSdp.receive({mid:o,kind:r,offerRtpParameters:i,streamId:a??s??i.rtcp?.cname??`-`,trackId:e})}let r={type:`offer`,sdp:this._remoteSdp.getSdp()};m.debug(`receive() | calling pc.setRemoteDescription() [offer:%o]`,r),await this._pc.setRemoteDescription(r);for(let t of e){let{trackId:e,onRtpReceiver:r}=t;if(r){let t=n.get(e),i=this._pc.getTransceivers().find(e=>e.mid===t);if(!i)throw Error(`transceiver not found`);this._forcedRtpExtensions&&p.applyForcedRtpExtensions(i,this._forcedRtpExtensions),r(i.receiver)}}let a=await this._pc.createAnswer(),o=i.parse(a.sdp);for(let t of e){let{trackId:e,rtpParameters:r}=t,i=n.get(e),a=o.media.find(e=>String(e.mid)===i);d.applyCodecParameters({offerRtpParameters:r,answerMediaObject:a})}a={type:`answer`,sdp:i.write(o)},this._transportReady||await this.setupTransport({localDtlsRole:this._forcedLocalDtlsRole??`client`,localSdpObject:o}),m.debug(`receive() | calling pc.setLocalDescription() [answer:%o]`,a),await this._pc.setLocalDescription(a);for(let r of e){let{trackId:e}=r,i=n.get(e),a=this._pc.getTransceivers().find(e=>e.mid===i);if(a)this._mapMidTransceiver.set(i,a),t.push({localId:i,track:a.receiver.track,rtpReceiver:a.receiver});else throw Error(`new RTCRtpTransceiver not found`)}return t}async stopReceiving(e){if(this.assertRecvDirection(),this._closed)return;for(let t of e){m.debug(`stopReceiving() [localId:%s]`,t);let e=this._mapMidTransceiver.get(t);if(!e)throw Error(`associated RTCRtpTransceiver not found`);this._remoteSdp.closeMediaSection(e.mid)}let t={type:`offer`,sdp:this._remoteSdp.getSdp()};m.debug(`stopReceiving() | calling pc.setRemoteDescription() [offer:%o]`,t),await this._pc.setRemoteDescription(t);let n=await this._pc.createAnswer();m.debug(`stopReceiving() | calling pc.setLocalDescription() [answer:%o]`,n),await this._pc.setLocalDescription(n);for(let t of e)this._mapMidTransceiver.delete(t)}async pauseReceiving(e){this.assertNotClosed(),this.assertRecvDirection();for(let t of e){m.debug(`pauseReceiving() [localId:%s]`,t);let e=this._mapMidTransceiver.get(t);if(!e)throw Error(`associated RTCRtpTransceiver not found`);e.direction=`inactive`,this._remoteSdp.pauseMediaSection(t)}let t={type:`offer`,sdp:this._remoteSdp.getSdp()};m.debug(`pauseReceiving() | calling pc.setRemoteDescription() [offer:%o]`,t),await this._pc.setRemoteDescription(t);let n=await this._pc.createAnswer();m.debug(`pauseReceiving() | calling pc.setLocalDescription() [answer:%o]`,n),await this._pc.setLocalDescription(n)}async resumeReceiving(e){this.assertNotClosed(),this.assertRecvDirection();for(let t of e){m.debug(`resumeReceiving() [localId:%s]`,t);let e=this._mapMidTransceiver.get(t);if(!e)throw Error(`associated RTCRtpTransceiver not found`);e.direction=`recvonly`,this._remoteSdp.resumeReceivingMediaSection(t)}let t={type:`offer`,sdp:this._remoteSdp.getSdp()};m.debug(`resumeReceiving() | calling pc.setRemoteDescription() [offer:%o]`,t),await this._pc.setRemoteDescription(t);let n=await this._pc.createAnswer();m.debug(`resumeReceiving() | calling pc.setLocalDescription() [answer:%o]`,n),await this._pc.setLocalDescription(n)}async getReceiverStats(e){this.assertNotClosed(),this.assertRecvDirection();let t=this._mapMidTransceiver.get(e);if(!t)throw Error(`associated RTCRtpTransceiver not found`);return t.receiver.getStats()}async receiveDataChannel({maxMessageSize:e,sctpStreamParameters:t,label:n,protocol:r}){this.assertNotClosed(),this.assertRecvDirection();let{streamId:a,ordered:o,maxPacketLifeTime:s,maxRetransmits:c}=t,l={negotiated:!0,id:a,ordered:o,maxPacketLifeTime:s,maxRetransmits:c,protocol:r};m.debug(`receiveDataChannel() [options:%o]`,l);let u=this._pc.createDataChannel(n,l);if(!this._hasDataChannelMediaSection){this._remoteSdp.receiveSctpAssociation();let t={type:`offer`,sdp:this._remoteSdp.getSdp()};m.debug(`receiveDataChannel() | calling pc.setRemoteDescription() [offer:%o]`,t),await this._pc.setRemoteDescription(t);let n=await this._pc.createAnswer(),r=i.parse(n.sdp),a=r.media.find(e=>e.type===`application`);typeof e==`number`&&(a.maxMessageSize=e),this._transportReady||await this.setupTransport({localDtlsRole:this._forcedLocalDtlsRole??`client`,localSdpObject:r}),n={type:`answer`,sdp:i.write(r)},m.debug(`receiveDataChannel() | calling pc.setLocalDescription() [answer:%o]`,n),await this._pc.setLocalDescription(n),this._hasDataChannelMediaSection=!0}return{dataChannel:u}}getDataChannelMaxMessageSize(){return this._direction===`send`?this._pc.sctp?.maxMessageSize:this._sctpMaxReceiveMessageSize}async setupTransport({localDtlsRole:e,localSdpObject:t}){t||=i.parse(this._pc.localDescription.sdp);let n=d.extractDtlsParameters({sdpObject:t});n.role=e,this._remoteSdp.updateDtlsRole(e===`client`?`server`:`client`),await new Promise((e,t)=>{this.safeEmit(`@connect`,{dtlsParameters:n},e,t)}),this._transportReady=!0}onIceGatheringStateChange=()=>{this.emit(`@icegatheringstatechange`,this._pc.iceGatheringState)};onIceCandidateError=e=>{this.emit(`@icecandidateerror`,e)};onConnectionStateChange=()=>{this.emit(`@connectionstatechange`,this._pc.connectionState)};onIceConnectionStateChange=()=>{switch(this._pc.iceConnectionState){case`checking`:this.emit(`@connectionstatechange`,`connecting`);break;case`connected`:case`completed`:this.emit(`@connectionstatechange`,`connected`);break;case`failed`:this.emit(`@connectionstatechange`,`failed`);break;case`disconnected`:this.emit(`@connectionstatechange`,`disconnected`);break;case`closed`:this.emit(`@connectionstatechange`,`closed`)}};assertNotClosed(){if(this._closed)throw new c.InvalidStateError(`method called in a closed handler`)}assertSendDirection(){if(this._direction!==`send`)throw Error(`method can just be called for handlers with "send" direction`)}assertRecvDirection(){if(this._direction!==`recv`)throw Error(`method can just be called for handlers with "recv" direction`)}}})),te=e((e=>{var t=e&&e.__createBinding||(Object.create?(function(e,t,n,r){r===void 0&&(r=n);var i=Object.getOwnPropertyDescriptor(t,n);(!i||(`get`in i?!t.__esModule:i.writable||i.configurable))&&(i={enumerable:!0,get:function(){return t[n]}}),Object.defineProperty(e,r,i)}):(function(e,t,n,r){r===void 0&&(r=n),e[r]=t[n]})),n=e&&e.__setModuleDefault||(Object.create?(function(e,t){Object.defineProperty(e,"default",{enumerable:!0,value:t})}):function(e,t){e.default=t}),r=e&&e.__importStar||(function(){var e=function(t){return e=Object.getOwnPropertyNames||function(e){var t=[];for(var n in e)Object.prototype.hasOwnProperty.call(e,n)&&(t[t.length]=n);return t},e(t)};return function(r){if(r&&r.__esModule)return r;var i={};if(r!=null)for(var a=e(r),o=0;o<a.length;o++)a[o]!=="default"&&t(i,r,a[o]);return n(i,r),i}})();Object.defineProperty(e,"__esModule",{value:!0}),e.Chrome74=void 0;var i=r(R()),a=v(),o=b(),s=r(T()),c=x(),l=z(),u=V(),d=r(H()),f=r(U()),p=r(W()),m=new a.Logger(`Chrome74`),h=`Chrome74`;e.Chrome74=class e extends o.EnhancedEventEmitter{_closed=!1;_direction;_sctpMaxReceiveMessageSize;_remoteSdp;_getSendExtendedRtpCapabilities;_forcedRtpExtensions;_forcedLocalDtlsRole;_pc;_mapMidTransceiver=new Map;_sendStream=new MediaStream;_hasDataChannelMediaSection=!1;_nextSendSctpStreamId=0;_transportReady=!1;static createFactory({forcedRtpExtensions:t}){return{name:h,factory:n=>new e({...n,forcedRtpExtensions:t}),getNativeRtpCapabilities:async({direction:n})=>{m.debug(`getNativeRtpCapabilities() [direction:%o]`,n);let r=new RTCPeerConnection({iceServers:[],iceTransportPolicy:`all`,bundlePolicy:`max-bundle`,rtcpMuxPolicy:`require`});try{let a=r.addTransceiver(`audio`,{direction:n});t&&p.applyForcedRtpExtensions(a,t);let o=r.addTransceiver(`video`,{direction:n});t&&p.applyForcedRtpExtensions(o,t);let s=await r.createOffer();try{r.close()}catch{}r=void 0;let c=i.parse(s.sdp);return e.getLocalRtpCapabilities(c)}catch(e){try{r?.close()}catch{}throw r=void 0,e}}}}static getLocalRtpCapabilities(e){let t=d.extractRtpCapabilities({sdpObject:e});return s.validateAndNormalizeRtpCapabilities(t),p.addNackSupportForOpus(t),t}constructor({direction:e,iceParameters:t,iceCandidates:n,dtlsParameters:r,sctpParameters:i,iceServers:a,iceTransportPolicy:o,additionalSettings:s,getSendExtendedRtpCapabilities:c,forcedRtpExtensions:l}){super(),m.debug(`constructor()`),this._direction=e,this._sctpMaxReceiveMessageSize=i?.maxSendMessageSize,this._remoteSdp=new u.RemoteSdp({iceParameters:t,iceCandidates:n,dtlsParameters:r,sctpParameters:i}),this._getSendExtendedRtpCapabilities=c,this._forcedRtpExtensions=l,r.role&&r.role!==`auto`&&(this._forcedLocalDtlsRole=r.role===`server`?`client`:`server`),this._pc=new RTCPeerConnection({iceServers:a??[],iceTransportPolicy:o??`all`,bundlePolicy:`max-bundle`,rtcpMuxPolicy:`require`,...s}),this._pc.addEventListener(`icegatheringstatechange`,this.onIceGatheringStateChange),this._pc.addEventListener(`icecandidateerror`,this.onIceCandidateError),this._pc.connectionState?this._pc.addEventListener(`connectionstatechange`,this.onConnectionStateChange):(m.warn(`run() | pc.connectionState not supported, using pc.iceConnectionState`),this._pc.addEventListener(`iceconnectionstatechange`,this.onIceConnectionStateChange))}get name(){return h}close(){if(m.debug(`close()`),!this._closed){this._closed=!0;try{this._pc.close()}catch{}this._pc.removeEventListener(`icegatheringstatechange`,this.onIceGatheringStateChange),this._pc.removeEventListener(`icecandidateerror`,this.onIceCandidateError),this._pc.removeEventListener(`connectionstatechange`,this.onConnectionStateChange),this._pc.removeEventListener(`iceconnectionstatechange`,this.onIceConnectionStateChange),this.emit(`@close`),super.close()}}async updateIceServers(e){this.assertNotClosed(),m.debug(`updateIceServers()`);let t=this._pc.getConfiguration();t.iceServers=e,this._pc.setConfiguration(t)}async restartIce(e){if(this.assertNotClosed(),m.debug(`restartIce()`),this._remoteSdp.updateIceParameters(e),this._transportReady){if(this._direction===`send`){let e=await this._pc.createOffer({iceRestart:!0});m.debug(`restartIce() | calling pc.setLocalDescription() [offer:%o]`,e),await this._pc.setLocalDescription(e);let t={type:`answer`,sdp:this._remoteSdp.getSdp()};m.debug(`restartIce() | calling pc.setRemoteDescription() [answer:%o]`,t),await this._pc.setRemoteDescription(t)}else{let e={type:`offer`,sdp:this._remoteSdp.getSdp()};m.debug(`restartIce() | calling pc.setRemoteDescription() [offer:%o]`,e),await this._pc.setRemoteDescription(e);let t=await this._pc.createAnswer();m.debug(`restartIce() | calling pc.setLocalDescription() [answer:%o]`,t),await this._pc.setLocalDescription(t)}}}async getTransportStats(){return this.assertNotClosed(),this._pc.getStats()}async send({track:t,streamId:n,encodings:r,codecOptions:a,codec:o,onRtpSender:c}){this.assertNotClosed(),this.assertSendDirection(),m.debug(`send() [kind:%s, track.id:%s, streamId:%s]`,t.kind,t.id,n),r&&r.length>1&&r.forEach((e,t)=>{e.rid=`r${t}`});let u=this._remoteSdp.getNextMediaSectionIdx(),h=this._pc.addTransceiver(t,{direction:`sendonly`,streams:[this._sendStream],sendEncodings:r});this._forcedRtpExtensions&&p.applyForcedRtpExtensions(h,this._forcedRtpExtensions),c&&c(h.sender);let g=await this._pc.createOffer(),_=i.parse(g.sdp);_.extmapAllowMixed&&this._remoteSdp.setSessionExtmapAllowMixed();let v=e.getLocalRtpCapabilities(_),y=this._getSendExtendedRtpCapabilities(v),b=s.getSendingRtpParameters(t.kind,y);b.codecs=s.reduceCodecs(b.codecs,o);let x=s.getSendingRemoteRtpParameters(t.kind,y);x.codecs=s.reduceCodecs(x.codecs,o),this._transportReady||await this.setupTransport({localDtlsRole:this._forcedLocalDtlsRole??`client`,localSdpObject:_});let S=!1,C=(0,l.parse)((r??[{}])[0].scalabilityMode),w;r?.length===1&&C.spatialLayers>1&&b.codecs[0].mimeType.toLowerCase()===`video/vp9`&&(m.debug(`send() | enabling legacy simulcast for VP9 SVC`),S=!0,_=i.parse(g.sdp),w=_.media[u.idx],f.addLegacySimulcast({offerMediaObject:w,numStreams:C.spatialLayers}),g={type:`offer`,sdp:i.write(_)}),m.debug(`send() | calling pc.setLocalDescription() [offer:%o]`,g),await this._pc.setLocalDescription(g);let T=h.mid;if(b.mid=T,_=i.parse(this._pc.localDescription.sdp),w=_.media[u.idx],b.rtcp.cname=d.getCname({offerMediaObject:w}),b.msid=`${n??this._sendStream.id} ${t.id}`,!r)b.encodings=f.getRtpEncodings({offerMediaObject:w,codecs:b.codecs});else if(r.length===1){let e=f.getRtpEncodings({offerMediaObject:w,codecs:b.codecs});Object.assign(e[0],r[0]),S&&(e=[e[0]]),b.encodings=e}else b.encodings=r;if(b.encodings.length>1&&(b.codecs[0].mimeType.toLowerCase()===`video/vp8`||b.codecs[0].mimeType.toLowerCase()===`video/h264`))for(let e of b.encodings)e.scalabilityMode=e.scalabilityMode?`L1T${C.temporalLayers}`:`L1T3`;this._remoteSdp.send({offerMediaObject:w,reuseMid:u.reuseMid,offerRtpParameters:b,answerRtpParameters:x,codecOptions:a});let E={type:`answer`,sdp:this._remoteSdp.getSdp()};return m.debug(`send() | calling pc.setRemoteDescription() [answer:%o]`,E),await this._pc.setRemoteDescription(E),this._mapMidTransceiver.set(T,h),{localId:T,rtpParameters:b,rtpSender:h.sender}}async stopSending(e){if(this.assertSendDirection(),m.debug(`stopSending() [localId:%s]`,e),this._closed)return;let t=this._mapMidTransceiver.get(e);if(!t)throw Error(`associated RTCRtpTransceiver not found`);if(t.sender.replaceTrack(null),this._pc.removeTrack(t.sender),this._remoteSdp.closeMediaSection(t.mid))try{t.stop()}catch{}let n=await this._pc.createOffer();m.debug(`stopSending() | calling pc.setLocalDescription() [offer:%o]`,n),await this._pc.setLocalDescription(n);let r={type:`answer`,sdp:this._remoteSdp.getSdp()};m.debug(`stopSending() | calling pc.setRemoteDescription() [answer:%o]`,r),await this._pc.setRemoteDescription(r),this._mapMidTransceiver.delete(e)}async pauseSending(e){this.assertNotClosed(),this.assertSendDirection(),m.debug(`pauseSending() [localId:%s]`,e);let t=this._mapMidTransceiver.get(e);if(!t)throw Error(`associated RTCRtpTransceiver not found`);t.direction=`inactive`,this._remoteSdp.pauseMediaSection(e);let n=await this._pc.createOffer();m.debug(`pauseSending() | calling pc.setLocalDescription() [offer:%o]`,n),await this._pc.setLocalDescription(n);let r={type:`answer`,sdp:this._remoteSdp.getSdp()};m.debug(`pauseSending() | calling pc.setRemoteDescription() [answer:%o]`,r),await this._pc.setRemoteDescription(r)}async resumeSending(e){this.assertNotClosed(),this.assertSendDirection(),m.debug(`resumeSending() [localId:%s]`,e);let t=this._mapMidTransceiver.get(e);if(this._remoteSdp.resumeSendingMediaSection(e),!t)throw Error(`associated RTCRtpTransceiver not found`);t.direction=`sendonly`;let n=await this._pc.createOffer();m.debug(`resumeSending() | calling pc.setLocalDescription() [offer:%o]`,n),await this._pc.setLocalDescription(n);let r={type:`answer`,sdp:this._remoteSdp.getSdp()};m.debug(`resumeSending() | calling pc.setRemoteDescription() [answer:%o]`,r),await this._pc.setRemoteDescription(r)}async replaceTrack(e,t){this.assertNotClosed(),this.assertSendDirection(),t?m.debug(`replaceTrack() [localId:%s, track.id:%s]`,e,t.id):m.debug(`replaceTrack() [localId:%s, no track]`,e);let n=this._mapMidTransceiver.get(e);if(!n)throw Error(`associated RTCRtpTransceiver not found`);await n.sender.replaceTrack(t)}async setMaxSpatialLayer(e,t){this.assertNotClosed(),this.assertSendDirection(),m.debug(`setMaxSpatialLayer() [localId:%s, spatialLayer:%s]`,e,t);let n=this._mapMidTransceiver.get(e);if(!n)throw Error(`associated RTCRtpTransceiver not found`);let r=n.sender.getParameters();r.encodings.forEach((e,n)=>{e.active=n<=t}),await n.sender.setParameters(r),this._remoteSdp.muxMediaSectionSimulcast(e,r.encodings);let i=await this._pc.createOffer();m.debug(`setMaxSpatialLayer() | calling pc.setLocalDescription() [offer:%o]`,i),await this._pc.setLocalDescription(i);let a={type:`answer`,sdp:this._remoteSdp.getSdp()};m.debug(`setMaxSpatialLayer() | calling pc.setRemoteDescription() [answer:%o]`,a),await this._pc.setRemoteDescription(a)}async setRtpEncodingParameters(e,t){this.assertNotClosed(),this.assertSendDirection(),m.debug(`setRtpEncodingParameters() [localId:%s, params:%o]`,e,t);let n=this._mapMidTransceiver.get(e);if(!n)throw Error(`associated RTCRtpTransceiver not found`);let r=n.sender.getParameters();r.encodings.forEach((e,n)=>{r.encodings[n]={...e,...t}}),await n.sender.setParameters(r),this._remoteSdp.muxMediaSectionSimulcast(e,r.encodings);let i=await this._pc.createOffer();m.debug(`setRtpEncodingParameters() | calling pc.setLocalDescription() [offer:%o]`,i),await this._pc.setLocalDescription(i);let a={type:`answer`,sdp:this._remoteSdp.getSdp()};m.debug(`setRtpEncodingParameters() | calling pc.setRemoteDescription() [answer:%o]`,a),await this._pc.setRemoteDescription(a)}async getSenderStats(e){this.assertNotClosed(),this.assertSendDirection();let t=this._mapMidTransceiver.get(e);if(!t)throw Error(`associated RTCRtpTransceiver not found`);return t.sender.getStats()}async sendDataChannel({sctpStreamParameters:e}){this.assertNotClosed(),this.assertSendDirection();let t={negotiated:!0,id:this._nextSendSctpStreamId,ordered:e.ordered,maxPacketLifeTime:e.maxPacketLifeTime,maxRetransmits:e.maxRetransmits,protocol:e.protocol};m.debug(`sendDataChannel() [options:%o]`,t);let n=this._pc.createDataChannel(e.label,t);if(this._nextSendSctpStreamId=++this._nextSendSctpStreamId%(this._pc.sctp?.maxChannels??65536),!this._hasDataChannelMediaSection){let e=await this._pc.createOffer(),t=i.parse(e.sdp),n=t.media.find(e=>e.type===`application`);this._transportReady||await this.setupTransport({localDtlsRole:this._forcedLocalDtlsRole??`client`,localSdpObject:t}),m.debug(`sendDataChannel() | calling pc.setLocalDescription() [offer:%o]`,e),await this._pc.setLocalDescription(e),this._remoteSdp.sendSctpAssociation({offerMediaObject:n});let r={type:`answer`,sdp:this._remoteSdp.getSdp()};m.debug(`sendDataChannel() | calling pc.setRemoteDescription() [answer:%o]`,r),await this._pc.setRemoteDescription(r),this._hasDataChannelMediaSection=!0}return{dataChannel:n,sctpStreamParameters:{streamId:t.id,ordered:t.ordered,maxPacketLifeTime:t.maxPacketLifeTime,maxRetransmits:t.maxRetransmits}}}async receive(e){this.assertNotClosed(),this.assertRecvDirection();let t=[],n=new Map;for(let t of e){let{trackId:e,kind:r,rtpParameters:i,streamId:a}=t;m.debug(`receive() [trackId:%s, kind:%s]`,e,r);let o=i.mid??String(this._mapMidTransceiver.size);n.set(e,o);let{msidStreamId:s}=p.getMsidStreamIdAndTrackId(i.msid);this._remoteSdp.receive({mid:o,kind:r,offerRtpParameters:i,streamId:a??s??i.rtcp?.cname??`-`,trackId:e})}let r={type:`offer`,sdp:this._remoteSdp.getSdp()};m.debug(`receive() | calling pc.setRemoteDescription() [offer:%o]`,r),await this._pc.setRemoteDescription(r);for(let t of e){let{trackId:e,onRtpReceiver:r}=t;if(r){let t=n.get(e),i=this._pc.getTransceivers().find(e=>e.mid===t);if(!i)throw Error(`transceiver not found`);this._forcedRtpExtensions&&p.applyForcedRtpExtensions(i,this._forcedRtpExtensions),r(i.receiver)}}let a=await this._pc.createAnswer(),o=i.parse(a.sdp);for(let t of e){let{trackId:e,rtpParameters:r}=t,i=n.get(e),a=o.media.find(e=>String(e.mid)===i);d.applyCodecParameters({offerRtpParameters:r,answerMediaObject:a})}a={type:`answer`,sdp:i.write(o)},this._transportReady||await this.setupTransport({localDtlsRole:this._forcedLocalDtlsRole??`client`,localSdpObject:o}),m.debug(`receive() | calling pc.setLocalDescription() [answer:%o]`,a),await this._pc.setLocalDescription(a);for(let r of e){let{trackId:e}=r,i=n.get(e),a=this._pc.getTransceivers().find(e=>e.mid===i);if(a)this._mapMidTransceiver.set(i,a),t.push({localId:i,track:a.receiver.track,rtpReceiver:a.receiver});else throw Error(`new RTCRtpTransceiver not found`)}return t}async stopReceiving(e){if(this.assertRecvDirection(),this._closed)return;for(let t of e){m.debug(`stopReceiving() [localId:%s]`,t);let e=this._mapMidTransceiver.get(t);if(!e)throw Error(`associated RTCRtpTransceiver not found`);this._remoteSdp.closeMediaSection(e.mid)}let t={type:`offer`,sdp:this._remoteSdp.getSdp()};m.debug(`stopReceiving() | calling pc.setRemoteDescription() [offer:%o]`,t),await this._pc.setRemoteDescription(t);let n=await this._pc.createAnswer();m.debug(`stopReceiving() | calling pc.setLocalDescription() [answer:%o]`,n),await this._pc.setLocalDescription(n);for(let t of e)this._mapMidTransceiver.delete(t)}async pauseReceiving(e){this.assertNotClosed(),this.assertRecvDirection();for(let t of e){m.debug(`pauseReceiving() [localId:%s]`,t);let e=this._mapMidTransceiver.get(t);if(!e)throw Error(`associated RTCRtpTransceiver not found`);e.direction=`inactive`,this._remoteSdp.pauseMediaSection(t)}let t={type:`offer`,sdp:this._remoteSdp.getSdp()};m.debug(`pauseReceiving() | calling pc.setRemoteDescription() [offer:%o]`,t),await this._pc.setRemoteDescription(t);let n=await this._pc.createAnswer();m.debug(`pauseReceiving() | calling pc.setLocalDescription() [answer:%o]`,n),await this._pc.setLocalDescription(n)}async resumeReceiving(e){this.assertNotClosed(),this.assertRecvDirection();for(let t of e){m.debug(`resumeReceiving() [localId:%s]`,t);let e=this._mapMidTransceiver.get(t);if(!e)throw Error(`associated RTCRtpTransceiver not found`);e.direction=`recvonly`,this._remoteSdp.resumeReceivingMediaSection(t)}let t={type:`offer`,sdp:this._remoteSdp.getSdp()};m.debug(`resumeReceiving() | calling pc.setRemoteDescription() [offer:%o]`,t),await this._pc.setRemoteDescription(t);let n=await this._pc.createAnswer();m.debug(`resumeReceiving() | calling pc.setLocalDescription() [answer:%o]`,n),await this._pc.setLocalDescription(n)}async getReceiverStats(e){this.assertNotClosed(),this.assertRecvDirection();let t=this._mapMidTransceiver.get(e);if(!t)throw Error(`associated RTCRtpTransceiver not found`);return t.receiver.getStats()}async receiveDataChannel({maxMessageSize:e,sctpStreamParameters:t,label:n,protocol:r}){this.assertNotClosed(),this.assertRecvDirection();let{streamId:a,ordered:o,maxPacketLifeTime:s,maxRetransmits:c}=t,l={negotiated:!0,id:a,ordered:o,maxPacketLifeTime:s,maxRetransmits:c,protocol:r};m.debug(`receiveDataChannel() [options:%o]`,l);let u=this._pc.createDataChannel(n,l);if(!this._hasDataChannelMediaSection){this._remoteSdp.receiveSctpAssociation();let t={type:`offer`,sdp:this._remoteSdp.getSdp()};m.debug(`receiveDataChannel() | calling pc.setRemoteDescription() [offer:%o]`,t),await this._pc.setRemoteDescription(t);let n=await this._pc.createAnswer(),r=i.parse(n.sdp),a=r.media.find(e=>e.type===`application`);typeof e==`number`&&(a.maxMessageSize=e),this._transportReady||await this.setupTransport({localDtlsRole:this._forcedLocalDtlsRole??`client`,localSdpObject:r}),n={type:`answer`,sdp:i.write(r)},m.debug(`receiveDataChannel() | calling pc.setLocalDescription() [answer:%o]`,n),await this._pc.setLocalDescription(n),this._hasDataChannelMediaSection=!0}return{dataChannel:u}}getDataChannelMaxMessageSize(){return this._direction===`send`?this._pc.sctp?.maxMessageSize:this._sctpMaxReceiveMessageSize}async setupTransport({localDtlsRole:e,localSdpObject:t}){t||=i.parse(this._pc.localDescription.sdp);let n=d.extractDtlsParameters({sdpObject:t});n.role=e,this._remoteSdp.updateDtlsRole(e===`client`?`server`:`client`),await new Promise((e,t)=>{this.safeEmit(`@connect`,{dtlsParameters:n},e,t)}),this._transportReady=!0}onIceGatheringStateChange=()=>{this.emit(`@icegatheringstatechange`,this._pc.iceGatheringState)};onIceCandidateError=e=>{this.emit(`@icecandidateerror`,e)};onConnectionStateChange=()=>{this.emit(`@connectionstatechange`,this._pc.connectionState)};onIceConnectionStateChange=()=>{switch(this._pc.iceConnectionState){case`checking`:this.emit(`@connectionstatechange`,`connecting`);break;case`connected`:case`completed`:this.emit(`@connectionstatechange`,`connected`);break;case`failed`:this.emit(`@connectionstatechange`,`failed`);break;case`disconnected`:this.emit(`@connectionstatechange`,`disconnected`);break;case`closed`:this.emit(`@connectionstatechange`,`closed`)}};assertNotClosed(){if(this._closed)throw new c.InvalidStateError(`method called in a closed handler`)}assertSendDirection(){if(this._direction!==`send`)throw Error(`method can just be called for handlers with "send" direction`)}assertRecvDirection(){if(this._direction!==`recv`)throw Error(`method can just be called for handlers with "recv" direction`)}}})),ne=e((e=>{var t=e&&e.__createBinding||(Object.create?(function(e,t,n,r){r===void 0&&(r=n);var i=Object.getOwnPropertyDescriptor(t,n);(!i||(`get`in i?!t.__esModule:i.writable||i.configurable))&&(i={enumerable:!0,get:function(){return t[n]}}),Object.defineProperty(e,r,i)}):(function(e,t,n,r){r===void 0&&(r=n),e[r]=t[n]})),n=e&&e.__setModuleDefault||(Object.create?(function(e,t){Object.defineProperty(e,"default",{enumerable:!0,value:t})}):function(e,t){e.default=t}),r=e&&e.__importStar||(function(){var e=function(t){return e=Object.getOwnPropertyNames||function(e){var t=[];for(var n in e)Object.prototype.hasOwnProperty.call(e,n)&&(t[t.length]=n);return t},e(t)};return function(r){if(r&&r.__esModule)return r;var i={};if(r!=null)for(var a=e(r),o=0;o<a.length;o++)a[o]!=="default"&&t(i,r,a[o]);return n(i,r),i}})();Object.defineProperty(e,"__esModule",{value:!0}),e.Firefox120=void 0;var i=r(R()),a=b(),o=v(),s=x(),c=r(T()),l=z(),u=V(),d=r(H()),f=r(U()),p=r(W()),m=new o.Logger(`Firefox120`),h=`Firefox120`;e.Firefox120=class e extends a.EnhancedEventEmitter{_closed=!1;_direction;_sctpMaxReceiveMessageSize;_remoteSdp;_getSendExtendedRtpCapabilities;_forcedRtpExtensions;_pc;_mapMidTransceiver=new Map;_sendStream=new MediaStream;_hasDataChannelMediaSection=!1;_nextSendSctpStreamId=0;_transportReady=!1;static createFactory({forcedRtpExtensions:t}){return{name:h,factory:n=>new e({...n,forcedRtpExtensions:t}),getNativeRtpCapabilities:async({direction:n})=>{m.debug(`getNativeRtpCapabilities() [direction:%o]`,n);let r=new RTCPeerConnection({iceServers:[],iceTransportPolicy:`all`,bundlePolicy:`max-bundle`,rtcpMuxPolicy:`require`}),a=document.createElement(`canvas`);a.getContext(`2d`);let o=a.captureStream().getVideoTracks()[0];try{let s=r.addTransceiver(`audio`,{direction:n});t&&p.applyForcedRtpExtensions(s,t);let c=r.addTransceiver(o,{direction:n,sendEncodings:[{rid:`r0`,maxBitrate:1e5},{rid:`r1`,maxBitrate:5e5}]});t&&p.applyForcedRtpExtensions(c,t);let l=await r.createOffer();try{a.remove()}catch{}try{o.stop()}catch{}try{r.close()}catch{}r=void 0;let u=i.parse(l.sdp);return e.getLocalRtpCapabilities(u)}catch(e){try{a.remove()}catch{}try{o.stop()}catch{}try{r?.close()}catch{}throw r=void 0,e}}}}static getLocalRtpCapabilities(e){let t=d.extractRtpCapabilities({sdpObject:e});return c.validateAndNormalizeRtpCapabilities(t),t}constructor({direction:e,iceParameters:t,iceCandidates:n,dtlsParameters:r,sctpParameters:i,iceServers:a,iceTransportPolicy:o,additionalSettings:s,getSendExtendedRtpCapabilities:c,forcedRtpExtensions:l}){super(),m.debug(`constructor()`),this._direction=e,this._sctpMaxReceiveMessageSize=i?.maxSendMessageSize,this._remoteSdp=new u.RemoteSdp({iceParameters:t,iceCandidates:n,dtlsParameters:r,sctpParameters:i}),this._getSendExtendedRtpCapabilities=c,this._forcedRtpExtensions=l,this._pc=new RTCPeerConnection({iceServers:a??[],iceTransportPolicy:o??`all`,bundlePolicy:`max-bundle`,rtcpMuxPolicy:`require`,...s}),this._pc.addEventListener(`icegatheringstatechange`,this.onIceGatheringStateChange),this._pc.addEventListener(`icecandidateerror`,this.onIceCandidateError),this._pc.connectionState?this._pc.addEventListener(`connectionstatechange`,this.onConnectionStateChange):(m.warn(`run() | pc.connectionState not supported, using pc.iceConnectionState`),this._pc.addEventListener(`iceconnectionstatechange`,this.onIceConnectionStateChange))}get name(){return h}close(){if(m.debug(`close()`),!this._closed){this._closed=!0;try{this._pc.close()}catch{}this._pc.removeEventListener(`icegatheringstatechange`,this.onIceGatheringStateChange),this._pc.removeEventListener(`icecandidateerror`,this.onIceCandidateError),this._pc.removeEventListener(`connectionstatechange`,this.onConnectionStateChange),this._pc.removeEventListener(`iceconnectionstatechange`,this.onIceConnectionStateChange),this.emit(`@close`),super.close()}}async updateIceServers(e){throw this.assertNotClosed(),new s.UnsupportedError(`not supported`)}async restartIce(e){if(this.assertNotClosed(),m.debug(`restartIce()`),this._remoteSdp.updateIceParameters(e),this._transportReady){if(this._direction===`send`){let e=await this._pc.createOffer({iceRestart:!0});m.debug(`restartIce() | calling pc.setLocalDescription() [offer:%o]`,e),await this._pc.setLocalDescription(e);let t={type:`answer`,sdp:this._remoteSdp.getSdp()};m.debug(`restartIce() | calling pc.setRemoteDescription() [answer:%o]`,t),await this._pc.setRemoteDescription(t)}else{let e={type:`offer`,sdp:this._remoteSdp.getSdp()};m.debug(`restartIce() | calling pc.setRemoteDescription() [offer:%o]`,e),await this._pc.setRemoteDescription(e);let t=await this._pc.createAnswer();m.debug(`restartIce() | calling pc.setLocalDescription() [answer:%o]`,t),await this._pc.setLocalDescription(t)}}}async getTransportStats(){return this.assertNotClosed(),this._pc.getStats()}async send({track:t,streamId:n,encodings:r,codecOptions:a,codec:o,onRtpSender:s}){this.assertNotClosed(),this.assertSendDirection(),m.debug(`send() [kind:%s, track.id:%s, streamId:%s]`,t.kind,t.id,n),r&&r.length>1&&r.forEach((e,t)=>{e.rid=`r${t}`});let u=this._pc.addTransceiver(t,{direction:`sendonly`,streams:[this._sendStream],sendEncodings:r});this._forcedRtpExtensions&&p.applyForcedRtpExtensions(u,this._forcedRtpExtensions),s&&s(u.sender);let h=await this._pc.createOffer(),g=i.parse(h.sdp);g.extmapAllowMixed&&this._remoteSdp.setSessionExtmapAllowMixed();let _=e.getLocalRtpCapabilities(g),v=this._getSendExtendedRtpCapabilities(_),y=c.getSendingRtpParameters(t.kind,v);y.codecs=c.reduceCodecs(y.codecs,o);let b=c.getSendingRemoteRtpParameters(t.kind,v);b.codecs=c.reduceCodecs(b.codecs,o),this._transportReady||await this.setupTransport({localDtlsRole:`client`,localSdpObject:g});let x=(0,l.parse)((r??[{}])[0].scalabilityMode);m.debug(`send() | calling pc.setLocalDescription() [offer:%o]`,h),await this._pc.setLocalDescription(h);let S=u.mid;y.mid=S,g=i.parse(this._pc.localDescription.sdp);let C=g.media[g.media.length-1];if(y.rtcp.cname=d.getCname({offerMediaObject:C}),y.msid=`${n??this._sendStream.id} ${t.id}`,!r)y.encodings=f.getRtpEncodings({offerMediaObject:C,codecs:y.codecs});else if(r.length===1){let e=f.getRtpEncodings({offerMediaObject:C,codecs:y.codecs});Object.assign(e[0],r[0]),y.encodings=e}else y.encodings=r;if(y.encodings.length>1&&(y.codecs[0].mimeType.toLowerCase()===`video/vp8`||y.codecs[0].mimeType.toLowerCase()===`video/h264`))for(let e of y.encodings)e.scalabilityMode=e.scalabilityMode?`L1T${x.temporalLayers}`:`L1T3`;this._remoteSdp.send({offerMediaObject:C,offerRtpParameters:y,answerRtpParameters:b,codecOptions:a});let w={type:`answer`,sdp:this._remoteSdp.getSdp()};return m.debug(`send() | calling pc.setRemoteDescription() [answer:%o]`,w),await this._pc.setRemoteDescription(w),this._mapMidTransceiver.set(S,u),{localId:S,rtpParameters:y,rtpSender:u.sender}}async stopSending(e){if(this.assertSendDirection(),m.debug(`stopSending() [localId:%s]`,e),this._closed)return;let t=this._mapMidTransceiver.get(e);if(!t)throw Error(`associated transceiver not found`);t.sender.replaceTrack(null),this._pc.removeTrack(t.sender),this._remoteSdp.disableMediaSection(t.mid);let n=await this._pc.createOffer();m.debug(`stopSending() | calling pc.setLocalDescription() [offer:%o]`,n),await this._pc.setLocalDescription(n);let r={type:`answer`,sdp:this._remoteSdp.getSdp()};m.debug(`stopSending() | calling pc.setRemoteDescription() [answer:%o]`,r),await this._pc.setRemoteDescription(r),this._mapMidTransceiver.delete(e)}async pauseSending(e){this.assertNotClosed(),this.assertSendDirection(),m.debug(`pauseSending() [localId:%s]`,e);let t=this._mapMidTransceiver.get(e);if(!t)throw Error(`associated RTCRtpTransceiver not found`);t.direction=`inactive`,this._remoteSdp.pauseMediaSection(e);let n=await this._pc.createOffer();m.debug(`pauseSending() | calling pc.setLocalDescription() [offer:%o]`,n),await this._pc.setLocalDescription(n);let r={type:`answer`,sdp:this._remoteSdp.getSdp()};m.debug(`pauseSending() | calling pc.setRemoteDescription() [answer:%o]`,r),await this._pc.setRemoteDescription(r)}async resumeSending(e){this.assertNotClosed(),this.assertSendDirection(),m.debug(`resumeSending() [localId:%s]`,e);let t=this._mapMidTransceiver.get(e);if(!t)throw Error(`associated RTCRtpTransceiver not found`);t.direction=`sendonly`,this._remoteSdp.resumeSendingMediaSection(e);let n=await this._pc.createOffer();m.debug(`resumeSending() | calling pc.setLocalDescription() [offer:%o]`,n),await this._pc.setLocalDescription(n);let r={type:`answer`,sdp:this._remoteSdp.getSdp()};m.debug(`resumeSending() | calling pc.setRemoteDescription() [answer:%o]`,r),await this._pc.setRemoteDescription(r)}async replaceTrack(e,t){this.assertNotClosed(),this.assertSendDirection(),t?m.debug(`replaceTrack() [localId:%s, track.id:%s]`,e,t.id):m.debug(`replaceTrack() [localId:%s, no track]`,e);let n=this._mapMidTransceiver.get(e);if(!n)throw Error(`associated RTCRtpTransceiver not found`);await n.sender.replaceTrack(t)}async setMaxSpatialLayer(e,t){this.assertNotClosed(),this.assertSendDirection(),m.debug(`setMaxSpatialLayer() [localId:%s, spatialLayer:%s]`,e,t);let n=this._mapMidTransceiver.get(e);if(!n)throw Error(`associated transceiver not found`);let r=n.sender.getParameters();r.encodings.forEach((e,n)=>{e.active=n<=t}),await n.sender.setParameters(r),this._remoteSdp.muxMediaSectionSimulcast(e,r.encodings);let i=await this._pc.createOffer();m.debug(`setMaxSpatialLayer() | calling pc.setLocalDescription() [offer:%o]`,i),await this._pc.setLocalDescription(i);let a={type:`answer`,sdp:this._remoteSdp.getSdp()};m.debug(`setMaxSpatialLayer() | calling pc.setRemoteDescription() [answer:%o]`,a),await this._pc.setRemoteDescription(a)}async setRtpEncodingParameters(e,t){this.assertNotClosed(),this.assertSendDirection(),m.debug(`setRtpEncodingParameters() [localId:%s, params:%o]`,e,t);let n=this._mapMidTransceiver.get(e);if(!n)throw Error(`associated RTCRtpTransceiver not found`);let r=n.sender.getParameters();r.encodings.forEach((e,n)=>{r.encodings[n]={...e,...t}}),await n.sender.setParameters(r),this._remoteSdp.muxMediaSectionSimulcast(e,r.encodings);let i=await this._pc.createOffer();m.debug(`setRtpEncodingParameters() | calling pc.setLocalDescription() [offer:%o]`,i),await this._pc.setLocalDescription(i);let a={type:`answer`,sdp:this._remoteSdp.getSdp()};m.debug(`setRtpEncodingParameters() | calling pc.setRemoteDescription() [answer:%o]`,a),await this._pc.setRemoteDescription(a)}async getSenderStats(e){this.assertNotClosed(),this.assertSendDirection();let t=this._mapMidTransceiver.get(e);if(!t)throw Error(`associated RTCRtpTransceiver not found`);return t.sender.getStats()}async sendDataChannel({sctpStreamParameters:e}){this.assertNotClosed(),this.assertSendDirection();let t={negotiated:!0,id:this._nextSendSctpStreamId,ordered:e.ordered,maxPacketLifeTime:e.maxPacketLifeTime,maxRetransmits:e.maxRetransmits,protocol:e.protocol};m.debug(`sendDataChannel() [options:%o]`,t);let n=this._pc.createDataChannel(e.label,t);if(this._nextSendSctpStreamId=++this._nextSendSctpStreamId%(this._pc.sctp?.maxChannels??65536),!this._hasDataChannelMediaSection){let e=await this._pc.createOffer(),t=i.parse(e.sdp),n=t.media.find(e=>e.type===`application`);this._transportReady||await this.setupTransport({localDtlsRole:`client`,localSdpObject:t}),m.debug(`sendDataChannel() | calling pc.setLocalDescription() [offer:%o]`,e),await this._pc.setLocalDescription(e),this._remoteSdp.sendSctpAssociation({offerMediaObject:n});let r={type:`answer`,sdp:this._remoteSdp.getSdp()};m.debug(`sendDataChannel() | calling pc.setRemoteDescription() [answer:%o]`,r),await this._pc.setRemoteDescription(r),this._hasDataChannelMediaSection=!0}return{dataChannel:n,sctpStreamParameters:{streamId:t.id,ordered:t.ordered,maxPacketLifeTime:t.maxPacketLifeTime,maxRetransmits:t.maxRetransmits}}}async receive(e){this.assertNotClosed(),this.assertRecvDirection();let t=[],n=new Map;for(let t of e){let{trackId:e,kind:r,rtpParameters:i,streamId:a}=t;m.debug(`receive() [trackId:%s, kind:%s]`,e,r);let o=i.mid??String(this._mapMidTransceiver.size);n.set(e,o);let{msidStreamId:s}=p.getMsidStreamIdAndTrackId(i.msid);this._remoteSdp.receive({mid:o,kind:r,offerRtpParameters:i,streamId:a??s??i.rtcp?.cname??`-`,trackId:e})}let r={type:`offer`,sdp:this._remoteSdp.getSdp()};m.debug(`receive() | calling pc.setRemoteDescription() [offer:%o]`,r),await this._pc.setRemoteDescription(r);for(let t of e){let{trackId:e,onRtpReceiver:r}=t;if(r){let t=n.get(e),i=this._pc.getTransceivers().find(e=>e.mid===t);if(!i)throw Error(`transceiver not found`);this._forcedRtpExtensions&&p.applyForcedRtpExtensions(i,this._forcedRtpExtensions),r(i.receiver)}}let a=await this._pc.createAnswer(),o=i.parse(a.sdp);for(let t of e){let{trackId:e,rtpParameters:r}=t,s=n.get(e),c=o.media.find(e=>String(e.mid)===s);d.applyCodecParameters({offerRtpParameters:r,answerMediaObject:c}),a={type:`answer`,sdp:i.write(o)}}this._transportReady||await this.setupTransport({localDtlsRole:`client`,localSdpObject:o}),m.debug(`receive() | calling pc.setLocalDescription() [answer:%o]`,a),await this._pc.setLocalDescription(a);for(let r of e){let{trackId:e}=r,i=n.get(e),a=this._pc.getTransceivers().find(e=>e.mid===i);if(!a)throw Error(`new RTCRtpTransceiver not found`);this._mapMidTransceiver.set(i,a),t.push({localId:i,track:a.receiver.track,rtpReceiver:a.receiver})}return t}async stopReceiving(e){if(this.assertRecvDirection(),this._closed)return;for(let t of e){m.debug(`stopReceiving() [localId:%s]`,t);let e=this._mapMidTransceiver.get(t);if(!e)throw Error(`associated RTCRtpTransceiver not found`);this._remoteSdp.closeMediaSection(e.mid)}let t={type:`offer`,sdp:this._remoteSdp.getSdp()};m.debug(`stopReceiving() | calling pc.setRemoteDescription() [offer:%o]`,t),await this._pc.setRemoteDescription(t);let n=await this._pc.createAnswer();m.debug(`stopReceiving() | calling pc.setLocalDescription() [answer:%o]`,n),await this._pc.setLocalDescription(n);for(let t of e)this._mapMidTransceiver.delete(t)}async pauseReceiving(e){this.assertNotClosed(),this.assertRecvDirection();for(let t of e){m.debug(`pauseReceiving() [localId:%s]`,t);let e=this._mapMidTransceiver.get(t);if(!e)throw Error(`associated RTCRtpTransceiver not found`);e.direction=`inactive`,this._remoteSdp.pauseMediaSection(t)}let t={type:`offer`,sdp:this._remoteSdp.getSdp()};m.debug(`pauseReceiving() | calling pc.setRemoteDescription() [offer:%o]`,t),await this._pc.setRemoteDescription(t);let n=await this._pc.createAnswer();m.debug(`pauseReceiving() | calling pc.setLocalDescription() [answer:%o]`,n),await this._pc.setLocalDescription(n)}async resumeReceiving(e){this.assertNotClosed(),this.assertRecvDirection();for(let t of e){m.debug(`resumeReceiving() [localId:%s]`,t);let e=this._mapMidTransceiver.get(t);if(!e)throw Error(`associated RTCRtpTransceiver not found`);e.direction=`recvonly`,this._remoteSdp.resumeReceivingMediaSection(t)}let t={type:`offer`,sdp:this._remoteSdp.getSdp()};m.debug(`resumeReceiving() | calling pc.setRemoteDescription() [offer:%o]`,t),await this._pc.setRemoteDescription(t);let n=await this._pc.createAnswer();m.debug(`resumeReceiving() | calling pc.setLocalDescription() [answer:%o]`,n),await this._pc.setLocalDescription(n)}async getReceiverStats(e){this.assertRecvDirection();let t=this._mapMidTransceiver.get(e);if(!t)throw Error(`associated RTCRtpTransceiver not found`);return t.receiver.getStats()}async receiveDataChannel({maxMessageSize:e,sctpStreamParameters:t,label:n,protocol:r}){this.assertNotClosed(),this.assertRecvDirection();let{streamId:a,ordered:o,maxPacketLifeTime:s,maxRetransmits:c}=t,l={negotiated:!0,id:a,ordered:o,maxPacketLifeTime:s,maxRetransmits:c,protocol:r};m.debug(`receiveDataChannel() [options:%o]`,l);let u=this._pc.createDataChannel(n,l);if(!this._hasDataChannelMediaSection){this._remoteSdp.receiveSctpAssociation();let t={type:`offer`,sdp:this._remoteSdp.getSdp()};m.debug(`receiveDataChannel() | calling pc.setRemoteDescription() [offer:%o]`,t),await this._pc.setRemoteDescription(t);let n=await this._pc.createAnswer(),r=i.parse(n.sdp),a=r.media.find(e=>e.type===`application`);typeof e==`number`&&(a.maxMessageSize=e),this._transportReady||await this.setupTransport({localDtlsRole:`client`,localSdpObject:r}),n={type:`answer`,sdp:i.write(r)},m.debug(`receiveDataChannel() | calling pc.setLocalDescription() [answer:%o]`,n),await this._pc.setLocalDescription(n),this._hasDataChannelMediaSection=!0}return{dataChannel:u}}getDataChannelMaxMessageSize(){return this._direction===`send`?this._pc.sctp?.maxMessageSize:this._sctpMaxReceiveMessageSize}async setupTransport({localDtlsRole:e,localSdpObject:t}){t||=i.parse(this._pc.localDescription.sdp);let n=d.extractDtlsParameters({sdpObject:t});n.role=e,this._remoteSdp.updateDtlsRole(e===`client`?`server`:`client`),await new Promise((e,t)=>{this.safeEmit(`@connect`,{dtlsParameters:n},e,t)}),this._transportReady=!0}onIceGatheringStateChange=()=>{this.emit(`@icegatheringstatechange`,this._pc.iceGatheringState)};onIceCandidateError=e=>{this.emit(`@icecandidateerror`,e)};onConnectionStateChange=()=>{this.emit(`@connectionstatechange`,this._pc.connectionState)};onIceConnectionStateChange=()=>{switch(this._pc.iceConnectionState){case`checking`:this.emit(`@connectionstatechange`,`connecting`);break;case`connected`:case`completed`:this.emit(`@connectionstatechange`,`connected`);break;case`failed`:this.emit(`@connectionstatechange`,`failed`);break;case`disconnected`:this.emit(`@connectionstatechange`,`disconnected`);break;case`closed`:this.emit(`@connectionstatechange`,`closed`)}};assertNotClosed(){if(this._closed)throw new s.InvalidStateError(`method called in a closed handler`)}assertSendDirection(){if(this._direction!==`send`)throw Error(`method can just be called for handlers with "send" direction`)}assertRecvDirection(){if(this._direction!==`recv`)throw Error(`method can just be called for handlers with "recv" direction`)}}})),re=e((e=>{var t=e&&e.__createBinding||(Object.create?(function(e,t,n,r){r===void 0&&(r=n);var i=Object.getOwnPropertyDescriptor(t,n);(!i||(`get`in i?!t.__esModule:i.writable||i.configurable))&&(i={enumerable:!0,get:function(){return t[n]}}),Object.defineProperty(e,r,i)}):(function(e,t,n,r){r===void 0&&(r=n),e[r]=t[n]})),n=e&&e.__setModuleDefault||(Object.create?(function(e,t){Object.defineProperty(e,"default",{enumerable:!0,value:t})}):function(e,t){e.default=t}),r=e&&e.__importStar||(function(){var e=function(t){return e=Object.getOwnPropertyNames||function(e){var t=[];for(var n in e)Object.prototype.hasOwnProperty.call(e,n)&&(t[t.length]=n);return t},e(t)};return function(r){if(r&&r.__esModule)return r;var i={};if(r!=null)for(var a=e(r),o=0;o<a.length;o++)a[o]!=="default"&&t(i,r,a[o]);return n(i,r),i}})();Object.defineProperty(e,"__esModule",{value:!0}),e.Safari12=void 0;var i=r(R()),a=b(),o=v(),s=r(T()),c=x(),l=z(),u=V(),d=r(H()),f=r(U()),p=r(W()),m=new o.Logger(`Safari12`),h=`Safari12`;e.Safari12=class e extends a.EnhancedEventEmitter{_closed=!1;_direction;_sctpMaxReceiveMessageSize;_remoteSdp;_getSendExtendedRtpCapabilities;_forcedRtpExtensions;_forcedLocalDtlsRole;_pc;_mapMidTransceiver=new Map;_sendStream=new MediaStream;_hasDataChannelMediaSection=!1;_nextSendSctpStreamId=0;_transportReady=!1;static createFactory({forcedRtpExtensions:t}){return{name:h,factory:n=>new e({...n,forcedRtpExtensions:t}),getNativeRtpCapabilities:async({direction:n})=>{m.debug(`getNativeRtpCapabilities() [direction:%o]`,n);let r=new RTCPeerConnection({iceServers:[],iceTransportPolicy:`all`,bundlePolicy:`max-bundle`,rtcpMuxPolicy:`require`});try{let a=r.addTransceiver(`audio`,{direction:n});t&&p.applyForcedRtpExtensions(a,t);let o=r.addTransceiver(`video`,{direction:n});t&&p.applyForcedRtpExtensions(o,t);let s=await r.createOffer();try{r.close()}catch{}r=void 0;let c=i.parse(s.sdp);return e.getLocalRtpCapabilities(c)}catch(e){try{r?.close()}catch{}throw r=void 0,e}}}}static getLocalRtpCapabilities(e){let t=d.extractRtpCapabilities({sdpObject:e});return s.validateAndNormalizeRtpCapabilities(t),p.addNackSupportForOpus(t),t}constructor({direction:e,iceParameters:t,iceCandidates:n,dtlsParameters:r,sctpParameters:i,iceServers:a,iceTransportPolicy:o,additionalSettings:s,getSendExtendedRtpCapabilities:c,forcedRtpExtensions:l}){super(),m.debug(`constructor()`),this._direction=e,this._sctpMaxReceiveMessageSize=i?.maxSendMessageSize,this._remoteSdp=new u.RemoteSdp({iceParameters:t,iceCandidates:n,dtlsParameters:r,sctpParameters:i}),this._getSendExtendedRtpCapabilities=c,this._forcedRtpExtensions=l,r.role&&r.role!==`auto`&&(this._forcedLocalDtlsRole=r.role===`server`?`client`:`server`),this._pc=new RTCPeerConnection({iceServers:a??[],iceTransportPolicy:o??`all`,bundlePolicy:`max-bundle`,rtcpMuxPolicy:`require`,...s}),this._pc.addEventListener(`icegatheringstatechange`,()=>{this.emit(`@icegatheringstatechange`,this._pc.iceGatheringState)}),this._pc.addEventListener(`icecandidateerror`,e=>{this.emit(`@icecandidateerror`,e)}),this._pc.addEventListener(`icegatheringstatechange`,this.onIceGatheringStateChange),this._pc.addEventListener(`icecandidateerror`,this.onIceCandidateError),this._pc.connectionState?this._pc.addEventListener(`connectionstatechange`,this.onConnectionStateChange):(m.warn(`run() | pc.connectionState not supported, using pc.iceConnectionState`),this._pc.addEventListener(`iceconnectionstatechange`,this.onIceConnectionStateChange))}get name(){return h}close(){if(m.debug(`close()`),!this._closed){this._closed=!0;try{this._pc.close()}catch{}this._pc.removeEventListener(`icegatheringstatechange`,this.onIceGatheringStateChange),this._pc.removeEventListener(`icecandidateerror`,this.onIceCandidateError),this._pc.removeEventListener(`connectionstatechange`,this.onConnectionStateChange),this._pc.removeEventListener(`iceconnectionstatechange`,this.onIceConnectionStateChange),this.emit(`@close`),super.close()}}async updateIceServers(e){this.assertNotClosed(),m.debug(`updateIceServers()`);let t=this._pc.getConfiguration();t.iceServers=e,this._pc.setConfiguration(t)}async restartIce(e){if(this.assertNotClosed(),m.debug(`restartIce()`),this._remoteSdp.updateIceParameters(e),this._transportReady){if(this._direction===`send`){let e=await this._pc.createOffer({iceRestart:!0});m.debug(`restartIce() | calling pc.setLocalDescription() [offer:%o]`,e),await this._pc.setLocalDescription(e);let t={type:`answer`,sdp:this._remoteSdp.getSdp()};m.debug(`restartIce() | calling pc.setRemoteDescription() [answer:%o]`,t),await this._pc.setRemoteDescription(t)}else{let e={type:`offer`,sdp:this._remoteSdp.getSdp()};m.debug(`restartIce() | calling pc.setRemoteDescription() [offer:%o]`,e),await this._pc.setRemoteDescription(e);let t=await this._pc.createAnswer();m.debug(`restartIce() | calling pc.setLocalDescription() [answer:%o]`,t),await this._pc.setLocalDescription(t)}}}async getTransportStats(){return this.assertNotClosed(),this._pc.getStats()}async send({track:t,streamId:n,encodings:r,codecOptions:a,codec:o,onRtpSender:c}){this.assertNotClosed(),this.assertSendDirection(),m.debug(`send() [kind:%s, track.id:%s, streamId:%s]`,t.kind,t.id,n);let u=this._remoteSdp.getNextMediaSectionIdx(),h=this._pc.addTransceiver(t,{direction:`sendonly`,streams:[this._sendStream],sendEncodings:r});this._forcedRtpExtensions&&p.applyForcedRtpExtensions(h,this._forcedRtpExtensions),c&&c(h.sender);let g=await this._pc.createOffer(),_=i.parse(g.sdp);_.extmapAllowMixed&&this._remoteSdp.setSessionExtmapAllowMixed();let v=e.getLocalRtpCapabilities(_),y=this._getSendExtendedRtpCapabilities(v),b=s.getSendingRtpParameters(t.kind,y);b.codecs=s.reduceCodecs(b.codecs,o);let x=s.getSendingRemoteRtpParameters(t.kind,y);x.codecs=s.reduceCodecs(x.codecs,o);let S;this._transportReady||await this.setupTransport({localDtlsRole:this._forcedLocalDtlsRole??`client`,localSdpObject:_});let C=(0,l.parse)((r??[{}])[0].scalabilityMode);r&&r.length>1&&(m.debug(`send() | enabling legacy simulcast`),_=i.parse(g.sdp),S=_.media[u.idx],f.addLegacySimulcast({offerMediaObject:S,numStreams:r.length}),g={type:`offer`,sdp:i.write(_)}),m.debug(`send() | calling pc.setLocalDescription() [offer:%o]`,g),await this._pc.setLocalDescription(g);let w=h.mid;if(b.mid=w,_=i.parse(this._pc.localDescription.sdp),S=_.media[u.idx],b.rtcp.cname=d.getCname({offerMediaObject:S}),b.msid=`${n??this._sendStream.id} ${t.id}`,b.encodings=f.getRtpEncodings({offerMediaObject:S,codecs:b.codecs}),r)for(let e=0;e<b.encodings.length;++e)r[e]&&Object.assign(b.encodings[e],r[e]);if(b.encodings.length>1&&(b.codecs[0].mimeType.toLowerCase()===`video/vp8`||b.codecs[0].mimeType.toLowerCase()===`video/h264`))for(let e of b.encodings)e.scalabilityMode=e.scalabilityMode?`L1T${C.temporalLayers}`:`L1T3`;this._remoteSdp.send({offerMediaObject:S,reuseMid:u.reuseMid,offerRtpParameters:b,answerRtpParameters:x,codecOptions:a});let T={type:`answer`,sdp:this._remoteSdp.getSdp()};return m.debug(`send() | calling pc.setRemoteDescription() [answer:%o]`,T),await this._pc.setRemoteDescription(T),this._mapMidTransceiver.set(w,h),{localId:w,rtpParameters:b,rtpSender:h.sender}}async stopSending(e){if(this.assertSendDirection(),this._closed)return;m.debug(`stopSending() [localId:%s]`,e);let t=this._mapMidTransceiver.get(e);if(!t)throw Error(`associated RTCRtpTransceiver not found`);if(t.sender.replaceTrack(null),this._pc.removeTrack(t.sender),this._remoteSdp.closeMediaSection(t.mid))try{t.stop()}catch{}let n=await this._pc.createOffer();m.debug(`stopSending() | calling pc.setLocalDescription() [offer:%o]`,n),await this._pc.setLocalDescription(n);let r={type:`answer`,sdp:this._remoteSdp.getSdp()};m.debug(`stopSending() | calling pc.setRemoteDescription() [answer:%o]`,r),await this._pc.setRemoteDescription(r),this._mapMidTransceiver.delete(e)}async pauseSending(e){this.assertNotClosed(),this.assertSendDirection(),m.debug(`pauseSending() [localId:%s]`,e);let t=this._mapMidTransceiver.get(e);if(!t)throw Error(`associated RTCRtpTransceiver not found`);t.direction=`inactive`,this._remoteSdp.pauseMediaSection(e);let n=await this._pc.createOffer();m.debug(`pauseSending() | calling pc.setLocalDescription() [offer:%o]`,n),await this._pc.setLocalDescription(n);let r={type:`answer`,sdp:this._remoteSdp.getSdp()};m.debug(`pauseSending() | calling pc.setRemoteDescription() [answer:%o]`,r),await this._pc.setRemoteDescription(r)}async resumeSending(e){this.assertNotClosed(),this.assertSendDirection(),m.debug(`resumeSending() [localId:%s]`,e);let t=this._mapMidTransceiver.get(e);if(!t)throw Error(`associated RTCRtpTransceiver not found`);t.direction=`sendonly`,this._remoteSdp.resumeSendingMediaSection(e);let n=await this._pc.createOffer();m.debug(`resumeSending() | calling pc.setLocalDescription() [offer:%o]`,n),await this._pc.setLocalDescription(n);let r={type:`answer`,sdp:this._remoteSdp.getSdp()};m.debug(`resumeSending() | calling pc.setRemoteDescription() [answer:%o]`,r),await this._pc.setRemoteDescription(r)}async replaceTrack(e,t){this.assertNotClosed(),this.assertSendDirection(),t?m.debug(`replaceTrack() [localId:%s, track.id:%s]`,e,t.id):m.debug(`replaceTrack() [localId:%s, no track]`,e);let n=this._mapMidTransceiver.get(e);if(!n)throw Error(`associated RTCRtpTransceiver not found`);await n.sender.replaceTrack(t)}async setMaxSpatialLayer(e,t){this.assertNotClosed(),this.assertSendDirection(),m.debug(`setMaxSpatialLayer() [localId:%s, spatialLayer:%s]`,e,t);let n=this._mapMidTransceiver.get(e);if(!n)throw Error(`associated RTCRtpTransceiver not found`);let r=n.sender.getParameters();r.encodings.forEach((e,n)=>{e.active=n<=t}),await n.sender.setParameters(r),this._remoteSdp.muxMediaSectionSimulcast(e,r.encodings);let i=await this._pc.createOffer();m.debug(`setMaxSpatialLayer() | calling pc.setLocalDescription() [offer:%o]`,i),await this._pc.setLocalDescription(i);let a={type:`answer`,sdp:this._remoteSdp.getSdp()};m.debug(`setMaxSpatialLayer() | calling pc.setRemoteDescription() [answer:%o]`,a),await this._pc.setRemoteDescription(a)}async setRtpEncodingParameters(e,t){this.assertNotClosed(),this.assertSendDirection(),m.debug(`setRtpEncodingParameters() [localId:%s, params:%o]`,e,t);let n=this._mapMidTransceiver.get(e);if(!n)throw Error(`associated RTCRtpTransceiver not found`);let r=n.sender.getParameters();r.encodings.forEach((e,n)=>{r.encodings[n]={...e,...t}}),await n.sender.setParameters(r),this._remoteSdp.muxMediaSectionSimulcast(e,r.encodings);let i=await this._pc.createOffer();m.debug(`setRtpEncodingParameters() | calling pc.setLocalDescription() [offer:%o]`,i),await this._pc.setLocalDescription(i);let a={type:`answer`,sdp:this._remoteSdp.getSdp()};m.debug(`setRtpEncodingParameters() | calling pc.setRemoteDescription() [answer:%o]`,a),await this._pc.setRemoteDescription(a)}async getSenderStats(e){this.assertNotClosed(),this.assertSendDirection();let t=this._mapMidTransceiver.get(e);if(!t)throw Error(`associated RTCRtpTransceiver not found`);return t.sender.getStats()}async sendDataChannel({sctpStreamParameters:e}){this.assertNotClosed(),this.assertSendDirection();let t={negotiated:!0,id:this._nextSendSctpStreamId,ordered:e.ordered,maxPacketLifeTime:e.maxPacketLifeTime,maxRetransmits:e.maxRetransmits,protocol:e.protocol};m.debug(`sendDataChannel() [options:%o]`,t);let n=this._pc.createDataChannel(e.label,t);if(this._nextSendSctpStreamId=++this._nextSendSctpStreamId%(this._pc.sctp?.maxChannels??65536),!this._hasDataChannelMediaSection){let e=await this._pc.createOffer(),t=i.parse(e.sdp),n=t.media.find(e=>e.type===`application`);this._transportReady||await this.setupTransport({localDtlsRole:this._forcedLocalDtlsRole??`client`,localSdpObject:t}),m.debug(`sendDataChannel() | calling pc.setLocalDescription() [offer:%o]`,e),await this._pc.setLocalDescription(e),this._remoteSdp.sendSctpAssociation({offerMediaObject:n});let r={type:`answer`,sdp:this._remoteSdp.getSdp()};m.debug(`sendDataChannel() | calling pc.setRemoteDescription() [answer:%o]`,r),await this._pc.setRemoteDescription(r),this._hasDataChannelMediaSection=!0}return{dataChannel:n,sctpStreamParameters:{streamId:t.id,ordered:t.ordered,maxPacketLifeTime:t.maxPacketLifeTime,maxRetransmits:t.maxRetransmits}}}async receive(e){this.assertNotClosed(),this.assertRecvDirection();let t=[],n=new Map;for(let t of e){let{trackId:e,kind:r,rtpParameters:i,streamId:a}=t;m.debug(`receive() [trackId:%s, kind:%s]`,e,r);let o=i.mid??String(this._mapMidTransceiver.size);n.set(e,o);let{msidStreamId:s}=p.getMsidStreamIdAndTrackId(i.msid);this._remoteSdp.receive({mid:o,kind:r,offerRtpParameters:i,streamId:a??s??i.rtcp?.cname??`-`,trackId:e})}let r={type:`offer`,sdp:this._remoteSdp.getSdp()};m.debug(`receive() | calling pc.setRemoteDescription() [offer:%o]`,r),await this._pc.setRemoteDescription(r);for(let t of e){let{trackId:e,onRtpReceiver:r}=t;if(r){let t=n.get(e),i=this._pc.getTransceivers().find(e=>e.mid===t);if(!i)throw Error(`transceiver not found`);this._forcedRtpExtensions&&p.applyForcedRtpExtensions(i,this._forcedRtpExtensions),r(i.receiver)}}let a=await this._pc.createAnswer(),o=i.parse(a.sdp);for(let t of e){let{trackId:e,rtpParameters:r}=t,i=n.get(e),a=o.media.find(e=>String(e.mid)===i);d.applyCodecParameters({offerRtpParameters:r,answerMediaObject:a})}a={type:`answer`,sdp:i.write(o)},this._transportReady||await this.setupTransport({localDtlsRole:this._forcedLocalDtlsRole??`client`,localSdpObject:o}),m.debug(`receive() | calling pc.setLocalDescription() [answer:%o]`,a),await this._pc.setLocalDescription(a);for(let r of e){let{trackId:e}=r,i=n.get(e),a=this._pc.getTransceivers().find(e=>e.mid===i);if(!a)throw Error(`new RTCRtpTransceiver not found`);this._mapMidTransceiver.set(i,a),t.push({localId:i,track:a.receiver.track,rtpReceiver:a.receiver})}return t}async stopReceiving(e){if(this.assertRecvDirection(),this._closed)return;for(let t of e){m.debug(`stopReceiving() [localId:%s]`,t);let e=this._mapMidTransceiver.get(t);if(!e)throw Error(`associated RTCRtpTransceiver not found`);this._remoteSdp.closeMediaSection(e.mid)}let t={type:`offer`,sdp:this._remoteSdp.getSdp()};m.debug(`stopReceiving() | calling pc.setRemoteDescription() [offer:%o]`,t),await this._pc.setRemoteDescription(t);let n=await this._pc.createAnswer();m.debug(`stopReceiving() | calling pc.setLocalDescription() [answer:%o]`,n),await this._pc.setLocalDescription(n);for(let t of e)this._mapMidTransceiver.delete(t)}async pauseReceiving(e){this.assertNotClosed(),this.assertRecvDirection();for(let t of e){m.debug(`pauseReceiving() [localId:%s]`,t);let e=this._mapMidTransceiver.get(t);if(!e)throw Error(`associated RTCRtpTransceiver not found`);e.direction=`inactive`,this._remoteSdp.pauseMediaSection(t)}let t={type:`offer`,sdp:this._remoteSdp.getSdp()};m.debug(`pauseReceiving() | calling pc.setRemoteDescription() [offer:%o]`,t),await this._pc.setRemoteDescription(t);let n=await this._pc.createAnswer();m.debug(`pauseReceiving() | calling pc.setLocalDescription() [answer:%o]`,n),await this._pc.setLocalDescription(n)}async resumeReceiving(e){this.assertNotClosed(),this.assertRecvDirection();for(let t of e){m.debug(`resumeReceiving() [localId:%s]`,t);let e=this._mapMidTransceiver.get(t);if(!e)throw Error(`associated RTCRtpTransceiver not found`);e.direction=`recvonly`,this._remoteSdp.resumeReceivingMediaSection(t)}let t={type:`offer`,sdp:this._remoteSdp.getSdp()};m.debug(`resumeReceiving() | calling pc.setRemoteDescription() [offer:%o]`,t),await this._pc.setRemoteDescription(t);let n=await this._pc.createAnswer();m.debug(`resumeReceiving() | calling pc.setLocalDescription() [answer:%o]`,n),await this._pc.setLocalDescription(n)}async getReceiverStats(e){this.assertNotClosed(),this.assertRecvDirection();let t=this._mapMidTransceiver.get(e);if(!t)throw Error(`associated RTCRtpTransceiver not found`);return t.receiver.getStats()}async receiveDataChannel({maxMessageSize:e,sctpStreamParameters:t,label:n,protocol:r}){this.assertNotClosed(),this.assertRecvDirection();let{streamId:a,ordered:o,maxPacketLifeTime:s,maxRetransmits:c}=t,l={negotiated:!0,id:a,ordered:o,maxPacketLifeTime:s,maxRetransmits:c,protocol:r};m.debug(`receiveDataChannel() [options:%o]`,l);let u=this._pc.createDataChannel(n,l);if(!this._hasDataChannelMediaSection){this._remoteSdp.receiveSctpAssociation();let t={type:`offer`,sdp:this._remoteSdp.getSdp()};m.debug(`receiveDataChannel() | calling pc.setRemoteDescription() [offer:%o]`,t),await this._pc.setRemoteDescription(t);let n=await this._pc.createAnswer(),r=i.parse(n.sdp),a=r.media.find(e=>e.type===`application`);typeof e==`number`&&(a.maxMessageSize=e),this._transportReady||await this.setupTransport({localDtlsRole:this._forcedLocalDtlsRole??`client`,localSdpObject:r}),n={type:`answer`,sdp:i.write(r)},m.debug(`receiveDataChannel() | calling pc.setLocalDescription() [answer:%o]`,n),await this._pc.setLocalDescription(n),this._hasDataChannelMediaSection=!0}return{dataChannel:u}}getDataChannelMaxMessageSize(){return this._direction===`send`?this._pc.sctp?.maxMessageSize:this._sctpMaxReceiveMessageSize}async setupTransport({localDtlsRole:e,localSdpObject:t}){t||=i.parse(this._pc.localDescription.sdp);let n=d.extractDtlsParameters({sdpObject:t});n.role=e,this._remoteSdp.updateDtlsRole(e===`client`?`server`:`client`),await new Promise((e,t)=>{this.safeEmit(`@connect`,{dtlsParameters:n},e,t)}),this._transportReady=!0}onIceGatheringStateChange=()=>{this.emit(`@icegatheringstatechange`,this._pc.iceGatheringState)};onIceCandidateError=e=>{this.emit(`@icecandidateerror`,e)};onConnectionStateChange=()=>{this.emit(`@connectionstatechange`,this._pc.connectionState)};onIceConnectionStateChange=()=>{switch(this._pc.iceConnectionState){case`checking`:this.emit(`@connectionstatechange`,`connecting`);break;case`connected`:case`completed`:this.emit(`@connectionstatechange`,`connected`);break;case`failed`:this.emit(`@connectionstatechange`,`failed`);break;case`disconnected`:this.emit(`@connectionstatechange`,`disconnected`);break;case`closed`:this.emit(`@connectionstatechange`,`closed`)}};assertNotClosed(){if(this._closed)throw new c.InvalidStateError(`method called in a closed handler`)}assertSendDirection(){if(this._direction!==`send`)throw Error(`method can just be called for handlers with "send" direction`)}assertRecvDirection(){if(this._direction!==`recv`)throw Error(`method can just be called for handlers with "recv" direction`)}}})),G=e((e=>{var t=e&&e.__createBinding||(Object.create?(function(e,t,n,r){r===void 0&&(r=n);var i=Object.getOwnPropertyDescriptor(t,n);(!i||(`get`in i?!t.__esModule:i.writable||i.configurable))&&(i={enumerable:!0,get:function(){return t[n]}}),Object.defineProperty(e,r,i)}):(function(e,t,n,r){r===void 0&&(r=n),e[r]=t[n]})),n=e&&e.__setModuleDefault||(Object.create?(function(e,t){Object.defineProperty(e,"default",{enumerable:!0,value:t})}):function(e,t){e.default=t}),r=e&&e.__importStar||(function(){var e=function(t){return e=Object.getOwnPropertyNames||function(e){var t=[];for(var n in e)Object.prototype.hasOwnProperty.call(e,n)&&(t[t.length]=n);return t},e(t)};return function(r){if(r&&r.__esModule)return r;var i={};if(r!=null)for(var a=e(r),o=0;o<a.length;o++)a[o]!=="default"&&t(i,r,a[o]);return n(i,r),i}})();Object.defineProperty(e,"__esModule",{value:!0}),e.ReactNative106=void 0;var i=r(R()),a=b(),o=v(),s=r(T()),c=x(),l=z(),u=V(),d=r(H()),f=r(U()),p=r(W()),m=new o.Logger(`ReactNative106`),h=`ReactNative106`;e.ReactNative106=class e extends a.EnhancedEventEmitter{_closed=!1;_direction;_sctpMaxReceiveMessageSize;_remoteSdp;_getSendExtendedRtpCapabilities;_forcedRtpExtensions;_forcedLocalDtlsRole;_pc;_mapMidTransceiver=new Map;_sendStream=new MediaStream;_hasDataChannelMediaSection=!1;_nextSendSctpStreamId=0;_transportReady=!1;static createFactory({forcedRtpExtensions:t}){return{name:h,factory:n=>new e({...n,forcedRtpExtensions:t}),getNativeRtpCapabilities:async({direction:n})=>{m.debug(`getNativeRtpCapabilities() [direction:%o]`,n);let r=new RTCPeerConnection({iceServers:[],iceTransportPolicy:`all`,bundlePolicy:`max-bundle`,rtcpMuxPolicy:`require`});try{let a=r.addTransceiver(`audio`,{direction:n});t&&p.applyForcedRtpExtensions(a,t);let o=r.addTransceiver(`video`,{direction:n});t&&p.applyForcedRtpExtensions(o,t);let s=await r.createOffer();try{r.close()}catch{}r=void 0;let c=i.parse(s.sdp);return e.getLocalRtpCapabilities(c)}catch(e){try{r?.close()}catch{}throw r=void 0,e}}}}static getLocalRtpCapabilities(e){let t=d.extractRtpCapabilities({sdpObject:e});return s.validateAndNormalizeRtpCapabilities(t),p.addNackSupportForOpus(t),t}constructor({direction:e,iceParameters:t,iceCandidates:n,dtlsParameters:r,sctpParameters:i,iceServers:a,iceTransportPolicy:o,additionalSettings:s,getSendExtendedRtpCapabilities:c,forcedRtpExtensions:l}){super(),m.debug(`constructor()`),this._direction=e,this._sctpMaxReceiveMessageSize=i?.maxSendMessageSize,this._remoteSdp=new u.RemoteSdp({iceParameters:t,iceCandidates:n,dtlsParameters:r,sctpParameters:i}),this._getSendExtendedRtpCapabilities=c,this._forcedRtpExtensions=l,r.role&&r.role!==`auto`&&(this._forcedLocalDtlsRole=r.role===`server`?`client`:`server`),this._pc=new RTCPeerConnection({iceServers:a??[],iceTransportPolicy:o??`all`,bundlePolicy:`max-bundle`,rtcpMuxPolicy:`require`,...s}),this._pc.addEventListener(`icegatheringstatechange`,this.onIceGatheringStateChange),this._pc.addEventListener(`icecandidateerror`,this.onIceCandidateError),this._pc.connectionState?this._pc.addEventListener(`connectionstatechange`,this.onConnectionStateChange):(m.warn(`run() | pc.connectionState not supported, using pc.iceConnectionState`),this._pc.addEventListener(`iceconnectionstatechange`,this.onIceConnectionStateChange))}get name(){return h}close(){if(m.debug(`close()`),!this._closed){this._closed=!0,this._sendStream.release(!1);try{this._pc.close()}catch{}this._pc.removeEventListener(`icegatheringstatechange`,this.onIceGatheringStateChange),this._pc.removeEventListener(`icecandidateerror`,this.onIceCandidateError),this._pc.removeEventListener(`connectionstatechange`,this.onConnectionStateChange),this._pc.removeEventListener(`iceconnectionstatechange`,this.onIceConnectionStateChange),this.emit(`@close`),super.close()}}async updateIceServers(e){this.assertNotClosed(),m.debug(`updateIceServers()`);let t=this._pc.getConfiguration();t.iceServers=e,this._pc.setConfiguration(t)}async restartIce(e){if(this.assertNotClosed(),m.debug(`restartIce()`),this._remoteSdp.updateIceParameters(e),this._transportReady){if(this._direction===`send`){let e=await this._pc.createOffer({iceRestart:!0});m.debug(`restartIce() | calling pc.setLocalDescription() [offer:%o]`,e),await this._pc.setLocalDescription(e);let t={type:`answer`,sdp:this._remoteSdp.getSdp()};m.debug(`restartIce() | calling pc.setRemoteDescription() [answer:%o]`,t),await this._pc.setRemoteDescription(t)}else{let e={type:`offer`,sdp:this._remoteSdp.getSdp()};m.debug(`restartIce() | calling pc.setRemoteDescription() [offer:%o]`,e),await this._pc.setRemoteDescription(e);let t=await this._pc.createAnswer();m.debug(`restartIce() | calling pc.setLocalDescription() [answer:%o]`,t),await this._pc.setLocalDescription(t)}}}async getTransportStats(){return this.assertNotClosed(),this._pc.getStats()}async send({track:t,streamId:n,encodings:r,codecOptions:a,codec:o,onRtpSender:c}){this.assertNotClosed(),this.assertSendDirection(),m.debug(`send() [kind:%s, track.id:%s, streamId:%s]`,t.kind,t.id,n),r&&r.length>1&&r.forEach((e,t)=>{e.rid=`r${t}`});let u=this._remoteSdp.getNextMediaSectionIdx(),h=this._pc.addTransceiver(t,{direction:`sendonly`,streams:[this._sendStream],sendEncodings:r});this._forcedRtpExtensions&&p.applyForcedRtpExtensions(h,this._forcedRtpExtensions),c&&c(h.sender);let g=await this._pc.createOffer(),_=i.parse(g.sdp);_.extmapAllowMixed&&this._remoteSdp.setSessionExtmapAllowMixed();let v=e.getLocalRtpCapabilities(_),y=this._getSendExtendedRtpCapabilities(v),b=s.getSendingRtpParameters(t.kind,y);b.codecs=s.reduceCodecs(b.codecs,o);let x=s.getSendingRemoteRtpParameters(t.kind,y);x.codecs=s.reduceCodecs(x.codecs,o),this._transportReady||await this.setupTransport({localDtlsRole:this._forcedLocalDtlsRole??`client`,localSdpObject:_});let S=!1,C=(0,l.parse)((r??[{}])[0].scalabilityMode),w;r?.length===1&&C.spatialLayers>1&&b.codecs[0].mimeType.toLowerCase()===`video/vp9`&&(m.debug(`send() | enabling legacy simulcast for VP9 SVC`),S=!0,_=i.parse(g.sdp),w=_.media[u.idx],f.addLegacySimulcast({offerMediaObject:w,numStreams:C.spatialLayers}),g={type:`offer`,sdp:i.write(_)}),m.debug(`send() | calling pc.setLocalDescription() [offer:%o]`,g),await this._pc.setLocalDescription(g);let T=h.mid??void 0;if(T||m.warn(`send() | missing transceiver.mid (bug in react-native-webrtc, using a workaround`),b.mid=T,_=i.parse(this._pc.localDescription.sdp),w=_.media[u.idx],b.rtcp.cname=d.getCname({offerMediaObject:w}),b.msid=`${n??this._sendStream.id} ${t.id}`,!r)b.encodings=f.getRtpEncodings({offerMediaObject:w,codecs:b.codecs});else if(r.length===1){let e=f.getRtpEncodings({offerMediaObject:w,codecs:b.codecs});Object.assign(e[0],r[0]),S&&(e=[e[0]]),b.encodings=e}else b.encodings=r;if(b.encodings.length>1&&(b.codecs[0].mimeType.toLowerCase()===`video/vp8`||b.codecs[0].mimeType.toLowerCase()===`video/h264`))for(let e of b.encodings)e.scalabilityMode=e.scalabilityMode?`L1T${C.temporalLayers}`:`L1T3`;this._remoteSdp.send({offerMediaObject:w,reuseMid:u.reuseMid,offerRtpParameters:b,answerRtpParameters:x,codecOptions:a});let E={type:`answer`,sdp:this._remoteSdp.getSdp()};return m.debug(`send() | calling pc.setRemoteDescription() [answer:%o]`,E),await this._pc.setRemoteDescription(E),T||(T=h.mid,b.mid=T),this._mapMidTransceiver.set(T,h),{localId:T,rtpParameters:b,rtpSender:h.sender}}async stopSending(e){if(this.assertSendDirection(),this._closed)return;m.debug(`stopSending() [localId:%s]`,e);let t=this._mapMidTransceiver.get(e);if(!t)throw Error(`associated RTCRtpTransceiver not found`);if(t.sender.replaceTrack(null),this._pc.removeTrack(t.sender),this._remoteSdp.closeMediaSection(t.mid))try{t.stop()}catch{}let n=await this._pc.createOffer();m.debug(`stopSending() | calling pc.setLocalDescription() [offer:%o]`,n),await this._pc.setLocalDescription(n);let r={type:`answer`,sdp:this._remoteSdp.getSdp()};m.debug(`stopSending() | calling pc.setRemoteDescription() [answer:%o]`,r),await this._pc.setRemoteDescription(r),this._mapMidTransceiver.delete(e)}async pauseSending(e){this.assertNotClosed(),this.assertSendDirection(),m.debug(`pauseSending() [localId:%s]`,e);let t=this._mapMidTransceiver.get(e);if(!t)throw Error(`associated RTCRtpTransceiver not found`);t.direction=`inactive`,this._remoteSdp.pauseMediaSection(e);let n=await this._pc.createOffer();m.debug(`pauseSending() | calling pc.setLocalDescription() [offer:%o]`,n),await this._pc.setLocalDescription(n);let r={type:`answer`,sdp:this._remoteSdp.getSdp()};m.debug(`pauseSending() | calling pc.setRemoteDescription() [answer:%o]`,r),await this._pc.setRemoteDescription(r)}async resumeSending(e){this.assertNotClosed(),this.assertSendDirection(),m.debug(`resumeSending() [localId:%s]`,e);let t=this._mapMidTransceiver.get(e);if(this._remoteSdp.resumeSendingMediaSection(e),!t)throw Error(`associated RTCRtpTransceiver not found`);t.direction=`sendonly`;let n=await this._pc.createOffer();m.debug(`resumeSending() | calling pc.setLocalDescription() [offer:%o]`,n),await this._pc.setLocalDescription(n);let r={type:`answer`,sdp:this._remoteSdp.getSdp()};m.debug(`resumeSending() | calling pc.setRemoteDescription() [answer:%o]`,r),await this._pc.setRemoteDescription(r)}async replaceTrack(e,t){this.assertNotClosed(),this.assertSendDirection(),t?m.debug(`replaceTrack() [localId:%s, track.id:%s]`,e,t.id):m.debug(`replaceTrack() [localId:%s, no track]`,e);let n=this._mapMidTransceiver.get(e);if(!n)throw Error(`associated RTCRtpTransceiver not found`);await n.sender.replaceTrack(t)}async setMaxSpatialLayer(e,t){this.assertNotClosed(),this.assertSendDirection(),m.debug(`setMaxSpatialLayer() [localId:%s, spatialLayer:%s]`,e,t);let n=this._mapMidTransceiver.get(e);if(!n)throw Error(`associated RTCRtpTransceiver not found`);let r=n.sender.getParameters();r.encodings.forEach((e,n)=>{e.active=n<=t}),await n.sender.setParameters(r),this._remoteSdp.muxMediaSectionSimulcast(e,r.encodings);let i=await this._pc.createOffer();m.debug(`setMaxSpatialLayer() | calling pc.setLocalDescription() [offer:%o]`,i),await this._pc.setLocalDescription(i);let a={type:`answer`,sdp:this._remoteSdp.getSdp()};m.debug(`setMaxSpatialLayer() | calling pc.setRemoteDescription() [answer:%o]`,a),await this._pc.setRemoteDescription(a)}async setRtpEncodingParameters(e,t){this.assertNotClosed(),this.assertSendDirection(),m.debug(`setRtpEncodingParameters() [localId:%s, params:%o]`,e,t);let n=this._mapMidTransceiver.get(e);if(!n)throw Error(`associated RTCRtpTransceiver not found`);let r=n.sender.getParameters();r.encodings.forEach((e,n)=>{r.encodings[n]={...e,...t}}),await n.sender.setParameters(r),this._remoteSdp.muxMediaSectionSimulcast(e,r.encodings);let i=await this._pc.createOffer();m.debug(`setRtpEncodingParameters() | calling pc.setLocalDescription() [offer:%o]`,i),await this._pc.setLocalDescription(i);let a={type:`answer`,sdp:this._remoteSdp.getSdp()};m.debug(`setRtpEncodingParameters() | calling pc.setRemoteDescription() [answer:%o]`,a),await this._pc.setRemoteDescription(a)}async getSenderStats(e){this.assertNotClosed(),this.assertSendDirection();let t=this._mapMidTransceiver.get(e);if(!t)throw Error(`associated RTCRtpTransceiver not found`);return t.sender.getStats()}async sendDataChannel({sctpStreamParameters:e}){this.assertNotClosed(),this.assertSendDirection();let t={negotiated:!0,id:this._nextSendSctpStreamId,ordered:e.ordered,maxPacketLifeTime:e.maxPacketLifeTime,maxRetransmits:e.maxRetransmits,protocol:e.protocol};m.debug(`sendDataChannel() [options:%o]`,t);let n=this._pc.createDataChannel(e.label,t);if(this._nextSendSctpStreamId=++this._nextSendSctpStreamId%(this._pc.sctp?.maxChannels??65536),!this._hasDataChannelMediaSection){let e=await this._pc.createOffer(),t=i.parse(e.sdp),n=t.media.find(e=>e.type===`application`);this._transportReady||await this.setupTransport({localDtlsRole:this._forcedLocalDtlsRole??`client`,localSdpObject:t}),m.debug(`sendDataChannel() | calling pc.setLocalDescription() [offer:%o]`,e),await this._pc.setLocalDescription(e),this._remoteSdp.sendSctpAssociation({offerMediaObject:n});let r={type:`answer`,sdp:this._remoteSdp.getSdp()};m.debug(`sendDataChannel() | calling pc.setRemoteDescription() [answer:%o]`,r),await this._pc.setRemoteDescription(r),this._hasDataChannelMediaSection=!0}return{dataChannel:n,sctpStreamParameters:{streamId:t.id,ordered:t.ordered,maxPacketLifeTime:t.maxPacketLifeTime,maxRetransmits:t.maxRetransmits}}}async receive(e){this.assertNotClosed(),this.assertRecvDirection();let t=[],n=new Map;for(let t of e){let{trackId:e,kind:r,rtpParameters:i,streamId:a}=t;m.debug(`receive() [trackId:%s, kind:%s]`,e,r);let o=i.mid??String(this._mapMidTransceiver.size);n.set(e,o);let{msidStreamId:s}=p.getMsidStreamIdAndTrackId(i.msid);this._remoteSdp.receive({mid:o,kind:r,offerRtpParameters:i,streamId:a??s??i.rtcp?.cname??`-`,trackId:e})}let r={type:`offer`,sdp:this._remoteSdp.getSdp()};m.debug(`receive() | calling pc.setRemoteDescription() [offer:%o]`,r),await this._pc.setRemoteDescription(r);for(let t of e){let{trackId:e,onRtpReceiver:r}=t;if(r){let t=n.get(e),i=this._pc.getTransceivers().find(e=>e.mid===t);if(!i)throw Error(`transceiver not found`);this._forcedRtpExtensions&&p.applyForcedRtpExtensions(i,this._forcedRtpExtensions),r(i.receiver)}}let a=await this._pc.createAnswer(),o=i.parse(a.sdp);for(let t of e){let{trackId:e,rtpParameters:r}=t,i=n.get(e),a=o.media.find(e=>String(e.mid)===i);d.applyCodecParameters({offerRtpParameters:r,answerMediaObject:a})}a={type:`answer`,sdp:i.write(o)},this._transportReady||await this.setupTransport({localDtlsRole:this._forcedLocalDtlsRole??`client`,localSdpObject:o}),m.debug(`receive() | calling pc.setLocalDescription() [answer:%o]`,a),await this._pc.setLocalDescription(a);for(let r of e){let{trackId:e}=r,i=n.get(e),a=this._pc.getTransceivers().find(e=>e.mid===i);if(a)this._mapMidTransceiver.set(i,a),t.push({localId:i,track:a.receiver.track,rtpReceiver:a.receiver});else throw Error(`new RTCRtpTransceiver not found`)}return t}async stopReceiving(e){if(this.assertRecvDirection(),this._closed)return;for(let t of e){m.debug(`stopReceiving() [localId:%s]`,t);let e=this._mapMidTransceiver.get(t);if(!e)throw Error(`associated RTCRtpTransceiver not found`);this._remoteSdp.closeMediaSection(e.mid)}let t={type:`offer`,sdp:this._remoteSdp.getSdp()};m.debug(`stopReceiving() | calling pc.setRemoteDescription() [offer:%o]`,t),await this._pc.setRemoteDescription(t);let n=await this._pc.createAnswer();m.debug(`stopReceiving() | calling pc.setLocalDescription() [answer:%o]`,n),await this._pc.setLocalDescription(n);for(let t of e)this._mapMidTransceiver.delete(t)}async pauseReceiving(e){this.assertNotClosed(),this.assertRecvDirection();for(let t of e){m.debug(`pauseReceiving() [localId:%s]`,t);let e=this._mapMidTransceiver.get(t);if(!e)throw Error(`associated RTCRtpTransceiver not found`);e.direction=`inactive`,this._remoteSdp.pauseMediaSection(t)}let t={type:`offer`,sdp:this._remoteSdp.getSdp()};m.debug(`pauseReceiving() | calling pc.setRemoteDescription() [offer:%o]`,t),await this._pc.setRemoteDescription(t);let n=await this._pc.createAnswer();m.debug(`pauseReceiving() | calling pc.setLocalDescription() [answer:%o]`,n),await this._pc.setLocalDescription(n)}async resumeReceiving(e){this.assertNotClosed(),this.assertRecvDirection();for(let t of e){m.debug(`resumeReceiving() [localId:%s]`,t);let e=this._mapMidTransceiver.get(t);if(!e)throw Error(`associated RTCRtpTransceiver not found`);e.direction=`recvonly`,this._remoteSdp.resumeReceivingMediaSection(t)}let t={type:`offer`,sdp:this._remoteSdp.getSdp()};m.debug(`resumeReceiving() | calling pc.setRemoteDescription() [offer:%o]`,t),await this._pc.setRemoteDescription(t);let n=await this._pc.createAnswer();m.debug(`resumeReceiving() | calling pc.setLocalDescription() [answer:%o]`,n),await this._pc.setLocalDescription(n)}async getReceiverStats(e){this.assertNotClosed(),this.assertRecvDirection();let t=this._mapMidTransceiver.get(e);if(!t)throw Error(`associated RTCRtpTransceiver not found`);return t.receiver.getStats()}async receiveDataChannel({maxMessageSize:e,sctpStreamParameters:t,label:n,protocol:r}){this.assertNotClosed(),this.assertRecvDirection();let{streamId:a,ordered:o,maxPacketLifeTime:s,maxRetransmits:c}=t,l={negotiated:!0,id:a,ordered:o,maxPacketLifeTime:s,maxRetransmits:c,protocol:r};m.debug(`receiveDataChannel() [options:%o]`,l);let u=this._pc.createDataChannel(n,l);if(!this._hasDataChannelMediaSection){this._remoteSdp.receiveSctpAssociation();let t={type:`offer`,sdp:this._remoteSdp.getSdp()};m.debug(`receiveDataChannel() | calling pc.setRemoteDescription() [offer:%o]`,t),await this._pc.setRemoteDescription(t);let n=await this._pc.createAnswer(),r=i.parse(n.sdp),a=r.media.find(e=>e.type===`application`);typeof e==`number`&&(a.maxMessageSize=e),this._transportReady||await this.setupTransport({localDtlsRole:this._forcedLocalDtlsRole??`client`,localSdpObject:r}),n={type:`answer`,sdp:i.write(r)},m.debug(`receiveDataChannel() | calling pc.setLocalDescription() [answer:%o]`,n),await this._pc.setLocalDescription(n),this._hasDataChannelMediaSection=!0}return{dataChannel:u}}getDataChannelMaxMessageSize(){return this._direction===`send`?this._pc.sctp?.maxMessageSize:this._sctpMaxReceiveMessageSize}async setupTransport({localDtlsRole:e,localSdpObject:t}){t||=i.parse(this._pc.localDescription.sdp);let n=d.extractDtlsParameters({sdpObject:t});n.role=e,this._remoteSdp.updateDtlsRole(e===`client`?`server`:`client`),await new Promise((e,t)=>{this.safeEmit(`@connect`,{dtlsParameters:n},e,t)}),this._transportReady=!0}onIceGatheringStateChange=()=>{this.emit(`@icegatheringstatechange`,this._pc.iceGatheringState)};onIceCandidateError=e=>{this.emit(`@icecandidateerror`,e)};onConnectionStateChange=()=>{this.emit(`@connectionstatechange`,this._pc.connectionState)};onIceConnectionStateChange=()=>{switch(this._pc.iceConnectionState){case`checking`:this.emit(`@connectionstatechange`,`connecting`);break;case`connected`:case`completed`:this.emit(`@connectionstatechange`,`connected`);break;case`failed`:this.emit(`@connectionstatechange`,`failed`);break;case`disconnected`:this.emit(`@connectionstatechange`,`disconnected`);break;case`closed`:this.emit(`@connectionstatechange`,`closed`)}};assertNotClosed(){if(this._closed)throw new c.InvalidStateError(`method called in a closed handler`)}assertSendDirection(){if(this._direction!==`send`)throw Error(`method can just be called for handlers with "send" direction`)}assertRecvDirection(){if(this._direction!==`recv`)throw Error(`method can just be called for handlers with "recv" direction`)}}})),K=e((e=>{var t=e&&e.__createBinding||(Object.create?(function(e,t,n,r){r===void 0&&(r=n);var i=Object.getOwnPropertyDescriptor(t,n);(!i||(`get`in i?!t.__esModule:i.writable||i.configurable))&&(i={enumerable:!0,get:function(){return t[n]}}),Object.defineProperty(e,r,i)}):(function(e,t,n,r){r===void 0&&(r=n),e[r]=t[n]})),n=e&&e.__setModuleDefault||(Object.create?(function(e,t){Object.defineProperty(e,"default",{enumerable:!0,value:t})}):function(e,t){e.default=t}),r=e&&e.__importStar||(function(){var e=function(t){return e=Object.getOwnPropertyNames||function(e){var t=[];for(var n in e)Object.prototype.hasOwnProperty.call(e,n)&&(t[t.length]=n);return t},e(t)};return function(r){if(r&&r.__esModule)return r;var i={};if(r!=null)for(var a=e(r),o=0;o<a.length;o++)a[o]!=="default"&&t(i,r,a[o]);return n(i,r),i}})();Object.defineProperty(e,"__esModule",{value:!0}),e.Device=void 0,e.detectDevice=g,e.detectDeviceAsync=_;var i=v(),a=b(),o=x(),s=r(S()),c=r(T()),l=P(),u=ee(),d=te(),f=ne(),p=re(),m=G(),h=new i.Logger(`Device`);function g(e,t){return h.debug(`detectDevice()`),!e&&typeof navigator==`object`&&(e=navigator.userAgent),!t&&typeof navigator==`object`&&(t=navigator.userAgentData),y(e,t)}async function _(e,t){return h.debug(`detectDeviceAsync()`),!e&&typeof navigator==`object`&&(e=navigator.userAgent),!t&&typeof navigator==`object`&&(t=navigator.userAgentData),y(e,t)}e.Device=class e{_handlerFactory;_handlerName;_loaded=!1;_getSendExtendedRtpCapabilities;_recvRtpCapabilities;_sendRtpCapabilities;_canProduceByKind={audio:!1,video:!1};_observer=new a.EnhancedEventEmitter;static async factory({handlerName:t,handlerFactory:n,forcedRtpExtensions:r}={}){if(h.debug(`factory()`),t&&n)throw TypeError(`just one of handlerName or handlerInterface can be given`);if(!t&&!n&&(t=await _(),!t))throw new o.UnsupportedError(`device not supported`);return new e({handlerName:t,handlerFactory:n,forcedRtpExtensions:r})}constructor({handlerName:e,handlerFactory:t,forcedRtpExtensions:n}={}){if(h.debug(`constructor()`),e&&t)throw TypeError(`just one of handlerName or handlerInterface can be given`);if(t)this._handlerFactory=t;else{if(e)h.debug(`constructor() | handler given: %s`,e);else if(e=g(),e)h.debug(`constructor() | detected handler: %s`,e);else throw new o.UnsupportedError(`device not supported`);switch(e){case`Chrome111`:this._handlerFactory=u.Chrome111.createFactory({forcedRtpExtensions:n});break;case`Chrome74`:this._handlerFactory=d.Chrome74.createFactory({forcedRtpExtensions:n});break;case`Firefox120`:this._handlerFactory=f.Firefox120.createFactory({forcedRtpExtensions:n});break;case`Safari12`:this._handlerFactory=p.Safari12.createFactory({forcedRtpExtensions:n});break;case`ReactNative106`:this._handlerFactory=m.ReactNative106.createFactory({forcedRtpExtensions:n});break;default:throw TypeError(`unknown handlerName "${e}"`)}}this._handlerName=this._handlerFactory.name}get handlerName(){return this._handlerName}get loaded(){return this._loaded}get rtpCapabilities(){return this.recvRtpCapabilities}get recvRtpCapabilities(){if(!this._loaded)throw new o.InvalidStateError(`not loaded`);return this._recvRtpCapabilities}get sendRtpCapabilities(){if(!this._loaded)throw new o.InvalidStateError(`not loaded`);return this._sendRtpCapabilities}get observer(){return this._observer}async load({routerRtpCapabilities:e,preferLocalCodecsOrder:t=!1}){if(h.debug(`load() [routerRtpCapabilities:%o]`,e),this._loaded)throw new o.InvalidStateError(`already loaded`);let n=s.clone(e);c.validateAndNormalizeRtpCapabilities(n);let{getNativeRtpCapabilities:r}=this._handlerFactory,i=s.clone(await r({direction:`recvonly`}));h.debug(`load() | got native receiving RTP capabilities:%o`,i),c.validateAndNormalizeRtpCapabilities(i);let a=s.clone(await r({direction:`sendonly`}));h.debug(`load() | got native sending RTP capabilities:%o`,a),c.validateAndNormalizeRtpCapabilities(a),this._getSendExtendedRtpCapabilities=e=>s.clone(c.getExtendedRtpCapabilities(e,n,t));let l=c.getExtendedRtpCapabilities(i,n,!1);this._recvRtpCapabilities=c.getRecvRtpCapabilities(l),h.debug(`load() | got receiving RTP capabilities:%o`,this._recvRtpCapabilities),c.validateAndNormalizeRtpCapabilities(this._recvRtpCapabilities);let u=c.getExtendedRtpCapabilities(a,n,t);this._sendRtpCapabilities=c.getSendRtpCapabilities(u),h.debug(`load() | got sending RTP capabilities:%o`,this._sendRtpCapabilities),c.validateAndNormalizeRtpCapabilities(this._sendRtpCapabilities),this._canProduceByKind.audio=c.canSend(`audio`,this._sendRtpCapabilities),this._canProduceByKind.video=c.canSend(`video`,this._sendRtpCapabilities),h.debug(`load() succeeded`),this._loaded=!0}canProduce(e){if(!this._loaded)throw new o.InvalidStateError(`not loaded`);if(e!==`audio`&&e!==`video`)throw TypeError(`invalid kind "${e}"`);return this._canProduceByKind[e]}createSendTransport({id:e,iceParameters:t,iceCandidates:n,dtlsParameters:r,sctpParameters:i,iceServers:a,iceTransportPolicy:o,additionalSettings:s,appData:c}){return h.debug(`createSendTransport()`),this.createTransport({direction:`send`,id:e,iceParameters:t,iceCandidates:n,dtlsParameters:r,sctpParameters:i,iceServers:a,iceTransportPolicy:o,additionalSettings:s,appData:c})}createRecvTransport({id:e,iceParameters:t,iceCandidates:n,dtlsParameters:r,sctpParameters:i,iceServers:a,iceTransportPolicy:o,additionalSettings:s,appData:c}){return h.debug(`createRecvTransport()`),this.createTransport({direction:`recv`,id:e,iceParameters:t,iceCandidates:n,dtlsParameters:r,sctpParameters:i,iceServers:a,iceTransportPolicy:o,additionalSettings:s,appData:c})}createTransport({direction:e,id:t,iceParameters:n,iceCandidates:r,dtlsParameters:i,sctpParameters:a,iceServers:s,iceTransportPolicy:c,additionalSettings:u,appData:d}){if(!this._loaded)throw new o.InvalidStateError(`not loaded`);if(typeof t!=`string`)throw TypeError(`missing id`);if(typeof n!=`object`)throw TypeError(`missing iceParameters`);if(!Array.isArray(r))throw TypeError(`missing iceCandidates`);if(typeof i!=`object`)throw TypeError(`missing dtlsParameters`);if(a&&typeof a!=`object`)throw TypeError(`wrong sctpParameters`);if(d&&typeof d!=`object`)throw TypeError(`if given, appData must be an object`);let f=new l.Transport({direction:e,id:t,iceParameters:n,iceCandidates:r,dtlsParameters:i,sctpParameters:a,iceServers:s,iceTransportPolicy:c,additionalSettings:u,appData:d,handlerFactory:this._handlerFactory,getSendExtendedRtpCapabilities:this._getSendExtendedRtpCapabilities,recvRtpCapabilities:this._recvRtpCapabilities,canProduceByKind:this._canProduceByKind});return this._observer.safeEmit(`newtransport`,f),f}};function y(e,t){h.debug(`detectDeviceImpl() [userAgent:"%s", userAgentData:%o]`,e,t);let n=C(e,t);if(n){if(n>=111)return h.debug(`detectDeviceImpl() | using Chrome111 handler`),`Chrome111`;if(n>=74)return h.debug(`detectDeviceImpl() | using Chrome74 handler`),`Chrome74`;h.warn(`detectDeviceImpl() | unsupported Chromium based browser/version`);return}let r=w(e);if(r){if(r>=120)return h.debug(`detectDeviceImpl() | using Firefox120 handler`),`Firefox120`;h.warn(`detectDeviceImpl() | unsupported Firefox browser/version`);return}let i=E(e);if(i){if(i>=605)return h.debug(`detectDeviceImpl() | using Safari12 handler`),`Safari12`;h.warn(`detectDeviceImpl() | unsupported desktop Safari browser/version`);return}let a=D(e);if(a){if(a>=605)return h.debug(`detectDeviceImpl() | using Safari12 handler`),`Safari12`;h.warn(`detectDeviceImpl() | unsupported iOS Safari based browser/version`);return}if(k()){if(typeof RTCPeerConnection<`u`&&typeof RTCRtpTransceiver<`u`)return h.debug(`detectDeviceImpl() | using ReactNative106 handler`),`ReactNative106`;h.warn(`detectDeviceImpl() | unsupported react-native-webrtc version without RTCPeerConnection or RTCRtpTransceiver, forgot to call registerGlobals() on it?`);return}h.warn(`detectDeviceImpl() | device not supported [userAgent:"%s", userAgentData:%o]`,e,t)}function C(e,t){if(h.debug(`getChromiumMajorVersion()`),O(e,t)){h.debug(`getChromiumMajorVersion() | this is iOS => undefined`);return}if(k()){h.debug(`getChromiumMajorVersion() | this is React-Native => undefined`);return}if(t){let e=(Array.isArray(t.brands)?t.brands:[]).find(e=>e.brand===`Chromium`);if(e){let t=Number(e.version);return h.debug(`getChromiumMajorVersion() | Chromium major version based on NavigatorUAData => ${t}`),t}}let n=e?.match(/\b(?:Chrome|Chromium)\/(\w+)/i);if(n?.[1]){let e=Number(n[1]);return h.debug(`getChromiumMajorVersion() | Chromium major version based on User-Agent => ${e}`),e}h.debug(`getChromiumMajorVersion() | this is not Chromium => undefined`)}function w(e){if(h.debug(`getFirefoxMajorVersion()`),O(e)){h.debug(`getFirefoxMajorVersion() | this is iOS => undefined`);return}if(k()){h.debug(`getFirefoxMajorVersion() | this is React-Native => undefined`);return}let t=e?.match(/\bFirefox\/(\w+)/i);if(t?.[1]){let e=Number(t[1]);return h.debug(`getFirefoxMajorVersion() | Firefox major version based on User-Agent => ${e}`),e}h.debug(`getFirefoxMajorVersion() | this is not Firefox => undefined`)}function E(e){if(h.debug(`getMacOSWebKitMajorVersion()`),O(e)){h.debug(`getMacOSWebKitMajorVersion() | this is iOS => undefined`);return}if(k()){h.debug(`getMacOSWebKitMajorVersion() | this is React-Native => undefined`);return}if(!e||!/\bSafari\b/i.test(e)||/\bChrome\b/i.test(e)||/\bChromium\b/i.test(e)||/\bFirefox\b/i.test(e)){h.debug(`getMacOSWebKitMajorVersion() | this is not Safari => undefined`);return}let t=e.match(/AppleWebKit\/(\w+)/i);if(t?.[1]){let e=Number(t[1]);return h.debug(`getMacOSWebKitMajorVersion() | WebKit major version based on User-Agent => ${e}`),e}h.debug(`getMacOSWebKitMajorVersion() | this is not WebKit => undefined`)}function D(e){if(h.debug(`getIOSWebKitMajorVersion()`),!O(e)){h.debug(`getIOSWebKitMajorVersion() | this is not iOS => undefined`);return}if(k()){h.debug(`getIOSWebKitMajorVersion() | this is React-Native => undefined`);return}let t=e?.match(/AppleWebKit\/(\w+)/i);if(t?.[1]){let e=Number(t[1]);return h.debug(`getIOSWebKitMajorVersion() | WebKit major version based on User-Agent => ${e}`),e}h.debug(`getIOSWebKitMajorVersion() | this is not WebKit => undefined`)}function O(e,t){return h.debug(`isIOS()`),t?.platform===`iOS`?(h.debug(`isIOS() | this is iOS based on NavigatorUAData.platform => true`),!0):t?.platform?(h.debug(`isIOS() | this is not iOS based on NavigatorUAData.platform => false`),!1):e&&/iPad|iPhone|iPod/.test(e)?(h.debug(`isIOS() | this is iOS based on User-Agent => true`),!0):typeof navigator==`object`&&navigator.platform===`MacIntel`&&navigator.maxTouchPoints>1?(h.debug(`isIOS() | this is iPadOS 13+ based on User-Agent => true`),!0):(h.debug(`isIOS() | this is not iOS => false`),!1)}function k(){return h.debug(`isReactNative()`),typeof navigator==`object`&&navigator.product===`ReactNative`?(h.debug(`isReactNative() | this is React-Native based on navigator.product`),!0):(h.debug(`isReactNative() | this is not React-Native => false`),!1)}})),q=e((e=>{for(var t=256,n=[],r;t--;)n[t]=(t+256).toString(16).substring(1);function i(){var e=0,i,a=``;if(!r||t+16>256){for(r=Array(e=256);e--;)r[e]=256*Math.random()|0;e=t=0}for(;e<16;e++)i=r[t+e],a+=e==6?n[i&15|64]:e==8?n[i&63|128]:n[i],e&1&&e>1&&e<11&&(a+=`-`);return t++,a}e.v4=i})),J=e((e=>{Object.defineProperty(e,"__esModule",{value:!0}),e.FakeEventTarget=void 0,e.FakeEventTarget=class{listeners={};addEventListener(e,t,n){t&&(this.listeners[e]=this.listeners[e]??[],this.listeners[e].push({callback:typeof t==`function`?t:t.handleEvent,once:typeof n==`object`&&n.once===!0}))}removeEventListener(e,t,n){this.listeners[e]&&t&&(this.listeners[e]=this.listeners[e].filter(e=>e.callback!==(typeof t==`function`?t:t.handleEvent)))}dispatchEvent(e){if(!e||typeof e.type!=`string`)throw Error(`invalid event object`);let t=this.listeners[e.type];if(!t)return!0;for(let n of[...t]){try{n.callback.call(this,e)}catch(e){setTimeout(()=>{throw e},0)}n.once&&this.removeEventListener(e.type,n.callback)}return!e.defaultPrevented}}})),Y=e((e=>{Object.defineProperty(e,"__esModule",{value:!0}),e.FakeEvent=void 0,e.FakeEvent=class{NONE=0;CAPTURING_PHASE=1;AT_TARGET=2;BUBBLING_PHASE=3;type;bubbles;cancelable;defaultPrevented=!1;composed=!1;currentTarget=null;eventPhase=this.NONE;isTrusted=!0;target=null;timeStamp=0;cancelBubble=!1;returnValue=!0;srcElement=null;constructor(e,t={}){this.type=e,this.bubbles=t.bubbles??!1,this.cancelable=t.cancelable??!1}preventDefault(){this.cancelable&&(this.defaultPrevented=!0)}stopPropagation(){}stopImmediatePropagation(){}composedPath(){return[]}initEvent(e,t,n){}}})),ie=e((e=>{Object.defineProperty(e,"__esModule",{value:!0}),e.clone=t;function t(e){if(e!==void 0)return Number.isNaN(e)?NaN:typeof structuredClone==`function`?structuredClone(e):JSON.parse(JSON.stringify(e))}})),ae=e((e=>{Object.defineProperty(e,"__esModule",{value:!0}),e.FakeMediaStreamTrack=void 0;var t=q(),n=J(),r=Y(),i=ie();e.FakeMediaStreamTrack=class e extends n.FakeEventTarget{#e;#t;#n;#r;#i;#a;#o;#s;#c;#l;#u;#d=null;#f=null;#p=null;#m=null;#h=null;constructor({kind:e,id:n,label:r,contentHint:i,enabled:a,muted:o,readyState:s,capabilities:c,constraints:l,settings:u,data:d}){super(),this.#e=n??(0,t.v4)(),this.#t=e,this.#n=r??``,this.#o=i??``,this.#i=a??!0,this.#a=o??!1,this.#r=s??`live`,this.#s=c??{},this.#c=l??{},this.#l=u??{},this.#u=d??{}}get id(){return this.#e}get kind(){return this.#t}get label(){return this.#n}get contentHint(){return this.#o}set contentHint(e){this.#o=e}get enabled(){return this.#i}set enabled(e){let t=this.#i!==e;this.#i=e,t&&this.dispatchEvent(new r.FakeEvent(`enabledchange`))}get muted(){return this.#a}get readyState(){return this.#r}get data(){return this.#u}set data(e){this.#u=e}get onmute(){return this.#d}set onmute(e){this.#d&&this.removeEventListener(`mute`,this.#d),this.#d=e,e&&this.addEventListener(`mute`,e)}get onunmute(){return this.#f}set onunmute(e){this.#f&&this.removeEventListener(`unmute`,this.#f),this.#f=e,e&&this.addEventListener(`unmute`,e)}get onended(){return this.#p}set onended(e){this.#p&&this.removeEventListener(`ended`,this.#p),this.#p=e,e&&this.addEventListener(`ended`,e)}get onenabledchange(){return this.#m}set onenabledchange(e){this.#m&&this.removeEventListener(`enabledchange`,this.#m),this.#m=e,e&&this.addEventListener(`enabledchange`,e)}get onstopped(){return this.#h}set onstopped(e){this.#h&&this.removeEventListener(`stopped`,this.#h),this.#h=e,e&&this.addEventListener(`stopped`,e)}addEventListener(e,t,n){super.addEventListener(e,t,n)}removeEventListener(e,t,n){super.removeEventListener(e,t,n)}stop(){this.#r!==`ended`&&(this.#r=`ended`,this.dispatchEvent(new r.FakeEvent(`stopped`)))}clone({id:n,data:r}={}){return new e({id:n??(0,t.v4)(),kind:this.#t,label:this.#n,contentHint:this.#o,enabled:this.#i,muted:this.#a,readyState:this.#r,capabilities:(0,i.clone)(this.#s),constraints:(0,i.clone)(this.#c),settings:(0,i.clone)(this.#l),data:r??(0,i.clone)(this.#u)})}getCapabilities(){return this.#s}getConstraints(){return this.#c}async applyConstraints(e={}){return this.#c=e,Promise.resolve()}getSettings(){return this.#l}remoteStop(){this.#r!==`ended`&&(this.#r=`ended`,this.dispatchEvent(new r.FakeEvent(`stopped`)),this.dispatchEvent(new r.FakeEvent(`ended`)))}remoteMute(){this.#a||(this.#a=!0,this.dispatchEvent(new r.FakeEvent(`mute`)))}remoteUnmute(){this.#a&&(this.#a=!1,this.dispatchEvent(new r.FakeEvent(`unmute`)))}}})),oe=e((e=>{Object.defineProperty(e,"__esModule",{value:!0}),e.FakeEventTarget=void 0,e.FakeEventTarget=class{listeners={};addEventListener(e,t,n){t&&(this.listeners[e]=this.listeners[e]??[],this.listeners[e].push({callback:typeof t==`function`?t:t.handleEvent,once:typeof n==`object`&&n.once===!0}))}removeEventListener(e,t,n){this.listeners[e]&&t&&(this.listeners[e]=this.listeners[e].filter(e=>e.callback!==(typeof t==`function`?t:t.handleEvent)))}dispatchEvent(e){if(!e||typeof e.type!=`string`)throw Error(`invalid event object`);let t=this.listeners[e.type];if(!t)return!0;for(let n of[...t]){try{n.callback.call(this,e)}catch(e){setTimeout(()=>{throw e},0)}n.once&&this.removeEventListener(e.type,n.callback)}return!e.defaultPrevented}}})),se=e((e=>{var t=e&&e.__createBinding||(Object.create?(function(e,t,n,r){r===void 0&&(r=n);var i=Object.getOwnPropertyDescriptor(t,n);(!i||(`get`in i?!t.__esModule:i.writable||i.configurable))&&(i={enumerable:!0,get:function(){return t[n]}}),Object.defineProperty(e,r,i)}):(function(e,t,n,r){r===void 0&&(r=n),e[r]=t[n]})),n=e&&e.__setModuleDefault||(Object.create?(function(e,t){Object.defineProperty(e,"default",{enumerable:!0,value:t})}):function(e,t){e.default=t}),r=e&&e.__importStar||(function(){var e=function(t){return e=Object.getOwnPropertyNames||function(e){var t=[];for(var n in e)Object.prototype.hasOwnProperty.call(e,n)&&(t[t.length]=n);return t},e(t)};return function(r){if(r&&r.__esModule)return r;var i={};if(r!=null)for(var a=e(r),o=0;o<a.length;o++)a[o]!=="default"&&t(i,r,a[o]);return n(i,r),i}})();Object.defineProperty(e,"__esModule",{value:!0}),e.FakeHandler=void 0;var i=ae(),a=b(),o=v(),s=r(S()),c=r(T()),l=x(),u=oe(),d=new o.Logger(`FakeHandler`),f=`FakeHandler`;e.FakeHandler=class e extends a.EnhancedEventEmitter{_closed=!1;_fakeParameters;_getSendExtendedRtpCapabilities;_cname=`CNAME-${s.generateRandomNumber()}`;_defaultSendStreamId=`${s.generateRandomNumber()}`;_transportReady=!1;_nextLocalId=1;_tracks=new Map;_nextSctpStreamId=0;static createFactory(t){return{name:f,factory:n=>new e(n,t),getNativeRtpCapabilities:async({direction:n})=>(d.debug(`getNativeRtpCapabilities() [direction:%o]`,n),e.getLocalRtpCapabilities(t))}}static getLocalRtpCapabilities(e){let t=e.generateNativeRtpCapabilities();return c.validateAndNormalizeRtpCapabilities(t),t}constructor({getSendExtendedRtpCapabilities:e},t){super(),d.debug(`constructor()`),this._getSendExtendedRtpCapabilities=e,this._fakeParameters=t}get name(){return f}close(){d.debug(`close()`),!this._closed&&(this._closed=!0,super.close())}setIceGatheringState(e){this.emit(`@icegatheringstatechange`,e)}setConnectionState(e){this.emit(`@connectionstatechange`,e)}async updateIceServers(e){this.assertNotClosed(),d.debug(`updateIceServers()`)}async restartIce(e){this.assertNotClosed(),d.debug(`restartIce()`)}async getTransportStats(){return this.assertNotClosed(),new Map}async send({track:t,streamId:n,encodings:r,codecOptions:i,codec:a}){this.assertNotClosed(),d.debug(`send() [kind:%s, track.id:%s]`,t.kind,t.id),this._transportReady||await this.setupTransport({localDtlsRole:`server`});let o=e.getLocalRtpCapabilities(this._fakeParameters),l=this._getSendExtendedRtpCapabilities(o),u=c.getSendingRtpParameters(t.kind,l);u.codecs=c.reduceCodecs(u.codecs,a);let f=u.codecs.some(e=>/.+\/rtx$/i.test(e.mimeType));u.mid=`mid-${s.generateRandomNumber()}`,u.msid=`${n??`-`} ${t.id}`,r||=[{}];for(let e of r)e.ssrc=s.generateRandomNumber(),f&&(e.rtx={ssrc:s.generateRandomNumber()});u.encodings=r,u.rtcp={cname:this._cname,reducedSize:!0,mux:!0},u.msid=`${n??this._defaultSendStreamId} ${t.id}`;let p=this._nextLocalId++;return this._tracks.set(p,t),{localId:String(p),rtpParameters:u}}async stopSending(e){if(d.debug(`stopSending() [localId:%s]`,e),!this._closed){if(!this._tracks.has(Number(e)))throw Error(`local track not found`);this._tracks.delete(Number(e))}}async pauseSending(e){this.assertNotClosed()}async resumeSending(e){this.assertNotClosed()}async replaceTrack(e,t){this.assertNotClosed(),t?d.debug(`replaceTrack() [localId:%s, track.id:%s]`,e,t.id):d.debug(`replaceTrack() [localId:%s, no track]`,e),this._tracks.delete(Number(e)),this._tracks.set(Number(e),t)}async setMaxSpatialLayer(e,t){this.assertNotClosed(),d.debug(`setMaxSpatialLayer() [localId:%s, spatialLayer:%s]`,e,t)}async setRtpEncodingParameters(e,t){this.assertNotClosed(),d.debug(`setRtpEncodingParameters() [localId:%s, params:%o]`,e,t)}async getSenderStats(e){return this.assertNotClosed(),new Map}async sendDataChannel({sctpStreamParameters:e}){return this.assertNotClosed(),this._transportReady||await this.setupTransport({localDtlsRole:`server`}),d.debug(`sendDataChannel()`),{dataChannel:new p({id:this._nextSctpStreamId++,ordered:e.ordered,maxPacketLifeTime:e.maxPacketLifeTime,maxRetransmits:e.maxRetransmits,label:e.label,protocol:e.protocol}),sctpStreamParameters:{streamId:this._nextSctpStreamId,ordered:e.ordered,maxPacketLifeTime:e.maxPacketLifeTime,maxRetransmits:e.maxRetransmits}}}async receive(e){this.assertNotClosed();let t=[];for(let n of e){let{trackId:e,kind:r}=n;this._transportReady||await this.setupTransport({localDtlsRole:`client`}),d.debug(`receive() [trackId:%s, kind:%s]`,e,r);let a=this._nextLocalId++,o=new i.FakeMediaStreamTrack({kind:r});this._tracks.set(a,o),t.push({localId:String(a),track:o})}return t}async stopReceiving(e){if(!this._closed)for(let t of e)d.debug(`stopReceiving() [localId:%s]`,t),this._tracks.delete(Number(t))}async pauseReceiving(e){this.assertNotClosed()}async resumeReceiving(e){this.assertNotClosed()}async getReceiverStats(e){return this.assertNotClosed(),new Map}async receiveDataChannel({sctpStreamParameters:e,label:t,protocol:n}){return this.assertNotClosed(),this._transportReady||await this.setupTransport({localDtlsRole:`client`}),d.debug(`receiveDataChannel()`),{dataChannel:new p({id:e.streamId,ordered:e.ordered,maxPacketLifeTime:e.maxPacketLifeTime,maxRetransmits:e.maxRetransmits,label:t,protocol:n})}}getDataChannelMaxMessageSize(){return 5e5}async setupTransport({localDtlsRole:e,localSdpObject:t}){let n=s.clone(this._fakeParameters.generateLocalDtlsParameters());e&&(n.role=e),this.emit(`@connectionstatechange`,`connecting`),await new Promise((e,t)=>this.emit(`@connect`,{dtlsParameters:n},e,t)),this._transportReady=!0}assertNotClosed(){if(this._closed)throw new l.InvalidStateError(`method called in a closed handler`)}};var p=class extends u.FakeEventTarget{_id;_negotiated=!0;_ordered;_maxPacketLifeTime;_maxRetransmits;_label;_protocol;_readyState=`connecting`;_bufferedAmount=0;_bufferedAmountLowThreshold=0;_binaryType=`arraybuffer`;_onopen=null;_onclosing=null;_onclose=null;_onmessage=null;_onbufferedamountlow=null;_onerror=null;constructor({id:e,ordered:t=!0,maxPacketLifeTime:n=null,maxRetransmits:r=null,label:i=``,protocol:a=``}){super(),d.debug(`constructor() [id:${e}, ordered:${t}, maxPacketLifeTime:${n}, maxRetransmits:${r}, label:${i}, protocol:${a}`),this._id=e,this._ordered=t,this._maxPacketLifeTime=n,this._maxRetransmits=r,this._label=i,this._protocol=a}get id(){return this._id}get negotiated(){return this._negotiated}get ordered(){return this._ordered}get maxPacketLifeTime(){return this._maxPacketLifeTime}get maxRetransmits(){return this._maxRetransmits}get label(){return this._label}get protocol(){return this._protocol}get readyState(){return this._readyState}get bufferedAmount(){return this._bufferedAmount}get bufferedAmountLowThreshold(){return this._bufferedAmountLowThreshold}set bufferedAmountLowThreshold(e){this._bufferedAmountLowThreshold=e}get binaryType(){return this._binaryType}set binaryType(e){this._binaryType=e}get onopen(){return this._onopen}set onopen(e){this._onopen&&this.removeEventListener(`open`,this._onopen),this._onopen=e,e&&this.addEventListener(`open`,e)}get onclosing(){return this._onclosing}set onclosing(e){this._onclosing&&this.removeEventListener(`closing`,this._onclosing),this._onclosing=e,e&&this.addEventListener(`closing`,e)}get onclose(){return this._onclose}set onclose(e){this._onclose&&this.removeEventListener(`close`,this._onclose),this._onclose=e,e&&this.addEventListener(`close`,e)}get onmessage(){return this._onmessage}set onmessage(e){this._onmessage&&this.removeEventListener(`message`,this._onmessage),this._onmessage=e,e&&this.addEventListener(`message`,e)}get onbufferedamountlow(){return this._onbufferedamountlow}set onbufferedamountlow(e){this._onbufferedamountlow&&this.removeEventListener(`bufferedamountlow`,this._onbufferedamountlow),this._onbufferedamountlow=e,e&&this.addEventListener(`bufferedamountlow`,e)}get onerror(){return this._onerror}set onerror(e){this._onerror&&this.removeEventListener(`error`,this._onerror),this._onerror=e,e&&this.addEventListener(`error`,e)}addEventListener(e,t,n){super.addEventListener(e,t,n)}removeEventListener(e,t,n){super.removeEventListener(e,t,n)}close(){[`closing`,`closed`].includes(this._readyState)||(this._readyState=`closed`)}send(e){if(this._readyState!==`open`)throw new l.InvalidStateError(`not open`)}}})),ce=e((e=>{var t=e&&e.__createBinding||(Object.create?(function(e,t,n,r){r===void 0&&(r=n);var i=Object.getOwnPropertyDescriptor(t,n);(!i||(`get`in i?!t.__esModule:i.writable||i.configurable))&&(i={enumerable:!0,get:function(){return t[n]}}),Object.defineProperty(e,r,i)}):(function(e,t,n,r){r===void 0&&(r=n),e[r]=t[n]})),n=e&&e.__setModuleDefault||(Object.create?(function(e,t){Object.defineProperty(e,"default",{enumerable:!0,value:t})}):function(e,t){e.default=t}),r=e&&e.__importStar||(function(){var e=function(t){return e=Object.getOwnPropertyNames||function(e){var t=[];for(var n in e)Object.prototype.hasOwnProperty.call(e,n)&&(t[t.length]=n);return t},e(t)};return function(r){if(r&&r.__esModule)return r;var i={};if(r!=null)for(var a=e(r),o=0;o<a.length;o++)a[o]!=="default"&&t(i,r,a[o]);return n(i,r),i}})();Object.defineProperty(e,"__esModule",{value:!0}),e.generateRouterRtpCapabilities=o,e.generateNativeRtpCapabilities=s,e.generateLocalDtlsParameters=c,e.generateTransportRemoteParameters=l,e.generateProducerRemoteParameters=u,e.generateConsumerRemoteParameters=d,e.generateDataProducerRemoteParameters=f,e.generateDataConsumerRemoteParameters=p;var i=r(S());function a(){return String(i.generateRandomNumber())}function o(){return i.deepFreeze({codecs:[{mimeType:`audio/opus`,kind:`audio`,preferredPayloadType:100,clockRate:48e3,channels:2,rtcpFeedback:[{type:`transport-cc`}],parameters:{useinbandfec:1,foo:`bar`}},{mimeType:`video/VP8`,kind:`video`,preferredPayloadType:101,clockRate:9e4,rtcpFeedback:[{type:`nack`},{type:`nack`,parameter:`pli`},{type:`ccm`,parameter:`fir`},{type:`goog-remb`},{type:`transport-cc`}],parameters:{"x-google-start-bitrate":1500}},{mimeType:`video/rtx`,kind:`video`,preferredPayloadType:102,clockRate:9e4,rtcpFeedback:[],parameters:{apt:101}},{mimeType:`video/H264`,kind:`video`,preferredPayloadType:103,clockRate:9e4,rtcpFeedback:[{type:`nack`},{type:`nack`,parameter:`pli`},{type:`ccm`,parameter:`fir`},{type:`goog-remb`},{type:`transport-cc`}],parameters:{"level-asymmetry-allowed":1,"packetization-mode":1,"profile-level-id":`42e01f`}},{mimeType:`video/rtx`,kind:`video`,preferredPayloadType:104,clockRate:9e4,rtcpFeedback:[],parameters:{apt:103}},{mimeType:`video/VP9`,kind:`video`,preferredPayloadType:105,clockRate:9e4,rtcpFeedback:[{type:`nack`},{type:`nack`,parameter:`pli`},{type:`ccm`,parameter:`fir`},{type:`goog-remb`},{type:`transport-cc`}],parameters:{"profile-id":0,"x-google-start-bitrate":1500}},{mimeType:`video/rtx`,kind:`video`,preferredPayloadType:106,clockRate:9e4,rtcpFeedback:[],parameters:{apt:105}}],headerExtensions:[{kind:`audio`,uri:`urn:ietf:params:rtp-hdrext:sdes:mid`,preferredId:1,preferredEncrypt:!1,direction:`sendrecv`},{kind:`video`,uri:`urn:ietf:params:rtp-hdrext:sdes:mid`,preferredId:1,preferredEncrypt:!1,direction:`sendrecv`},{kind:`video`,uri:`urn:ietf:params:rtp-hdrext:sdes:rtp-stream-id`,preferredId:2,preferredEncrypt:!1,direction:`recvonly`},{kind:`video`,uri:`urn:ietf:params:rtp-hdrext:sdes:repaired-rtp-stream-id`,preferredId:3,preferredEncrypt:!1,direction:`recvonly`},{kind:`audio`,uri:`http://www.webrtc.org/experiments/rtp-hdrext/abs-send-time`,preferredId:4,preferredEncrypt:!1,direction:`sendrecv`},{kind:`video`,uri:`http://www.webrtc.org/experiments/rtp-hdrext/abs-send-time`,preferredId:4,preferredEncrypt:!1,direction:`sendrecv`},{kind:`audio`,uri:`http://www.ietf.org/id/draft-holmer-rmcat-transport-wide-cc-extensions-01`,preferredId:5,preferredEncrypt:!1,direction:`recvonly`},{kind:`video`,uri:`http://www.ietf.org/id/draft-holmer-rmcat-transport-wide-cc-extensions-01`,preferredId:5,preferredEncrypt:!1,direction:`sendrecv`},{kind:`audio`,uri:`urn:ietf:params:rtp-hdrext:ssrc-audio-level`,preferredId:10,preferredEncrypt:!1,direction:`sendrecv`},{kind:`video`,uri:`urn:3gpp:video-orientation`,preferredId:11,preferredEncrypt:!1,direction:`sendrecv`}]})}function s(){return{codecs:[{mimeType:`audio/opus`,kind:`audio`,preferredPayloadType:111,clockRate:48e3,channels:2,rtcpFeedback:[{type:`transport-cc`}],parameters:{minptime:10,useinbandfec:1}},{mimeType:`audio/ISAC`,kind:`audio`,preferredPayloadType:103,clockRate:16e3,channels:1,rtcpFeedback:[{type:`transport-cc`}],parameters:{}},{mimeType:`audio/CN`,kind:`audio`,preferredPayloadType:106,clockRate:32e3,channels:1,rtcpFeedback:[{type:`transport-cc`}],parameters:{}},{mimeType:`audio/foo`,kind:`audio`,preferredPayloadType:107,clockRate:9e4,channels:4,rtcpFeedback:[{type:`foo-qwe-qwe`}],parameters:{foo:`lalala`}},{mimeType:`video/BAZCODEC`,kind:`video`,preferredPayloadType:100,clockRate:9e4,rtcpFeedback:[{type:`foo`},{type:`transport-cc`},{type:`ccm`,parameter:`fir`},{type:`nack`},{type:`nack`,parameter:`pli`}],parameters:{baz:`1234abcd`}},{mimeType:`video/rtx`,kind:`video`,preferredPayloadType:101,clockRate:9e4,rtcpFeedback:[],parameters:{apt:100}},{mimeType:`video/VP8`,kind:`video`,preferredPayloadType:96,clockRate:9e4,rtcpFeedback:[{type:`goog-remb`},{type:`transport-cc`},{type:`ccm`,parameter:`fir`},{type:`nack`},{type:`nack`,parameter:`pli`}],parameters:{baz:`1234abcd`}},{mimeType:`video/rtx`,kind:`video`,preferredPayloadType:97,clockRate:9e4,rtcpFeedback:[],parameters:{apt:96}},{mimeType:`video/VP9`,kind:`video`,preferredPayloadType:98,clockRate:9e4,rtcpFeedback:[{type:`goog-remb`},{type:`transport-cc`},{type:`ccm`,parameter:`fir`},{type:`nack`},{type:`nack`,parameter:`pli`}],parameters:{"profile-id":0}},{mimeType:`video/rtx`,kind:`video`,preferredPayloadType:99,clockRate:9e4,rtcpFeedback:[],parameters:{apt:98}}],headerExtensions:[{kind:`audio`,uri:`urn:ietf:params:rtp-hdrext:sdes:mid`,preferredId:1},{kind:`video`,uri:`urn:ietf:params:rtp-hdrext:sdes:mid`,preferredId:1},{kind:`video`,uri:`http://www.webrtc.org/experiments/rtp-hdrext/abs-send-time`,preferredId:3},{kind:`video`,uri:`urn:3gpp:video-orientation`,preferredId:4},{kind:`video`,uri:`http://www.ietf.org/id/draft-holmer-rmcat-transport-wide-cc-extensions-01`,preferredId:5},{kind:`video`,uri:`http://www.webrtc.org/experiments/rtp-hdrext/playout-delay`,preferredId:6},{kind:`video`,uri:`http://www.webrtc.org/experiments/rtp-hdrext/video-content-type`,preferredId:7},{kind:`video`,uri:`http://www.webrtc.org/experiments/rtp-hdrext/video-timing`,preferredId:8},{kind:`audio`,uri:`urn:ietf:params:rtp-hdrext:ssrc-audio-level`,preferredId:10}]}}function c(){return i.deepFreeze({fingerprints:[{algorithm:`sha-256`,value:`82:5A:68:3D:36:C3:0A:DE:AF:E7:32:43:D2:88:83:57:AC:2D:65:E5:80:C4:B6:FB:AF:1A:A0:21:9F:6D:0C:AD`}],role:`auto`})}function l(){return{id:a(),iceParameters:i.deepFreeze({iceLite:!0,password:`yku5ej8nvfaor28lvtrabcx0wkrpkztz`,usernameFragment:`h3hk1iz6qqlnqlne`}),iceCandidates:i.deepFreeze([{foundation:`udpcandidate`,address:`9.9.9.9`,ip:`9.9.9.9`,port:40533,priority:1078862079,protocol:`udp`,type:`host`,tcpType:`passive`},{foundation:`udpcandidate`,address:`9.9.9.9`,ip:`9:9:9:9:9:9`,port:41333,priority:1078862089,protocol:`udp`,type:`host`,tcpType:`passive`}]),dtlsParameters:i.deepFreeze({fingerprints:[{algorithm:`sha-256`,value:`A9:F4:E0:D2:74:D3:0F:D9:CA:A5:2F:9F:7F:47:FA:F0:C4:72:DD:73:49:D0:3B:14:90:20:51:30:1B:90:8E:71`},{algorithm:`sha-384`,value:`03:D9:0B:87:13:98:F6:6D:BC:FC:92:2E:39:D4:E1:97:32:61:30:56:84:70:81:6E:D1:82:97:EA:D9:C1:21:0F:6B:C5:E7:7F:E1:97:0C:17:97:6E:CF:B3:EF:2E:74:B0`},{algorithm:`sha-512`,value:`84:27:A4:28:A4:73:AF:43:02:2A:44:68:FF:2F:29:5C:3B:11:9A:60:F4:A8:F0:F5:AC:A0:E3:49:3E:B1:34:53:A9:85:CE:51:9B:ED:87:5E:B8:F4:8E:3D:FA:20:51:B8:96:EE:DA:56:DC:2F:5C:62:79:15:23:E0:21:82:2B:2C`}],role:`auto`}),sctpParameters:i.deepFreeze({port:5e3,maxSendMessageSize:5e4,maxReceiveMessageSize:5e4})}}function u(){return i.deepFreeze({id:a()})}function d({id:e,codecMimeType:t}={}){switch(t){case`audio/opus`:return{id:e??a(),producerId:a(),kind:`audio`,rtpParameters:i.deepFreeze({codecs:[{mimeType:`audio/opus`,payloadType:100,clockRate:48e3,channels:2,rtcpFeedback:[{type:`transport-cc`}],parameters:{useinbandfec:1,foo:`bar`}}],encodings:[{ssrc:46687003}],headerExtensions:[{uri:`urn:ietf:params:rtp-hdrext:sdes:mid`,id:1},{uri:`http://www.ietf.org/id/draft-holmer-rmcat-transport-wide-cc-extensions-01`,id:5},{uri:`urn:ietf:params:rtp-hdrext:ssrc-audio-level`,id:10}],rtcp:{cname:`wB4Ql4lrsxYLjzuN`,reducedSize:!0,mux:!0}})};case`audio/ISAC`:return{id:e??a(),producerId:a(),kind:`audio`,rtpParameters:i.deepFreeze({codecs:[{mimeType:`audio/ISAC`,payloadType:111,clockRate:16e3,channels:1,rtcpFeedback:[{type:`transport-cc`}],parameters:{}}],encodings:[{ssrc:46687004}],headerExtensions:[{uri:`urn:ietf:params:rtp-hdrext:sdes:mid`,id:1},{uri:`http://www.ietf.org/id/draft-holmer-rmcat-transport-wide-cc-extensions-01`,id:5}],rtcp:{cname:`wB4Ql4lrsxYLjzuN`,reducedSize:!0,mux:!0}})};case`video/VP8`:return{id:e??a(),producerId:a(),kind:`video`,rtpParameters:i.deepFreeze({codecs:[{mimeType:`video/VP8`,payloadType:101,clockRate:9e4,rtcpFeedback:[{type:`nack`},{type:`nack`,parameter:`pli`},{type:`ccm`,parameter:`fir`},{type:`goog-remb`},{type:`transport-cc`}],parameters:{"x-google-start-bitrate":1500}},{mimeType:`video/rtx`,payloadType:102,clockRate:9e4,rtcpFeedback:[],parameters:{apt:101}}],encodings:[{ssrc:99991111,rtx:{ssrc:99991112}}],headerExtensions:[{uri:`urn:ietf:params:rtp-hdrext:sdes:mid`,id:1},{uri:`http://www.webrtc.org/experiments/rtp-hdrext/abs-send-time`,id:4},{uri:`http://www.ietf.org/id/draft-holmer-rmcat-transport-wide-cc-extensions-01`,id:5},{uri:`urn:3gpp:video-orientation`,id:11}],rtcp:{cname:`wB4Ql4lrsxYLjzuN`,reducedSize:!0,mux:!0}})};case`video/H264`:return{id:e??a(),producerId:a(),kind:`video`,rtpParameters:i.deepFreeze({codecs:[{mimeType:`video/H264`,payloadType:103,clockRate:9e4,rtcpFeedback:[{type:`nack`},{type:`nack`,parameter:`pli`},{type:`ccm`,parameter:`fir`},{type:`goog-remb`},{type:`transport-cc`}],parameters:{"level-asymmetry-allowed":1,"packetization-mode":1,"profile-level-id":`42e01f`}},{mimeType:`video/rtx`,payloadType:104,clockRate:9e4,rtcpFeedback:[],parameters:{apt:103}}],encodings:[{ssrc:99991113,rtx:{ssrc:99991114}}],headerExtensions:[{uri:`urn:ietf:params:rtp-hdrext:sdes:mid`,id:1},{uri:`http://www.webrtc.org/experiments/rtp-hdrext/abs-send-time`,id:4},{uri:`http://www.ietf.org/id/draft-holmer-rmcat-transport-wide-cc-extensions-01`,id:5},{uri:`urn:3gpp:video-orientation`,id:11}],rtcp:{cname:`wB4Ql4lrsxYLjzuN`,reducedSize:!0,mux:!0}})};default:throw TypeError(`unknown codecMimeType '${t}'`)}}function f(){return i.deepFreeze({id:a()})}function p({id:e}={}){return{id:e??a(),dataProducerId:a(),sctpStreamParameters:i.deepFreeze({streamId:666,maxPacketLifeTime:5e3,maxRetransmits:void 0})}}})),X=e((e=>{var t=e&&e.__createBinding||(Object.create?(function(e,t,n,r){r===void 0&&(r=n);var i=Object.getOwnPropertyDescriptor(t,n);(!i||(`get`in i?!t.__esModule:i.writable||i.configurable))&&(i={enumerable:!0,get:function(){return t[n]}}),Object.defineProperty(e,r,i)}):(function(e,t,n,r){r===void 0&&(r=n),e[r]=t[n]})),n=e&&e.__setModuleDefault||(Object.create?(function(e,t){Object.defineProperty(e,"default",{enumerable:!0,value:t})}):function(e,t){e.default=t}),r=e&&e.__importStar||(function(){var e=function(t){return e=Object.getOwnPropertyNames||function(e){var t=[];for(var n in e)Object.prototype.hasOwnProperty.call(e,n)&&(t[t.length]=n);return t},e(t)};return function(r){if(r&&r.__esModule)return r;var i={};if(r!=null)for(var a=e(r),o=0;o<a.length;o++)a[o]!=="default"&&t(i,r,a[o]);return n(i,r),i}})(),i=e&&e.__importDefault||function(e){return e&&e.__esModule?e:{default:e}};Object.defineProperty(e,"__esModule",{value:!0}),e.debug=e.testFakeParameters=e.FakeHandler=e.enhancedEvents=e.ortc=e.parseScalabilityMode=e.detectDeviceAsync=e.detectDevice=e.Device=e.version=e.types=void 0,e.debug=i(g()).default,e.types=r(_()),e.version=`3.24.1`;var a=K();Object.defineProperty(e,"Device",{enumerable:!0,get:function(){return a.Device}}),Object.defineProperty(e,"detectDevice",{enumerable:!0,get:function(){return a.detectDevice}}),Object.defineProperty(e,"detectDeviceAsync",{enumerable:!0,get:function(){return a.detectDeviceAsync}});var o=z();Object.defineProperty(e,"parseScalabilityMode",{enumerable:!0,get:function(){return o.parse}}),e.ortc=r(T()),e.enhancedEvents=r(b());var s=se();Object.defineProperty(e,"FakeHandler",{enumerable:!0,get:function(){return s.FakeHandler}}),e.testFakeParameters=r(ce())})),le=X(),Z=.1;function Q({noiseSuppression:e,autoGainControl:t}){return{noiseSuppression:e,autoGainControl:t}}function ue(e){return typeof e==`object`&&!!e&&`name`in e&&(e.name===`NotAllowedError`||e.name===`SecurityError`)}function de(e,m){let h=!1,g,_,v,y,b,x=Promise.resolve(),S=new Map,C=new Map,w,T=Promise.resolve(),E=l(),D=new WeakMap,O;function k(t,r){t.on(`connect`,({dtlsParameters:t},i,a)=>{C.set(r,{answer:i,refuse:a}),e({type:n.Voice,signal:u.Connect,direction:r,dtlsParameters:t})})}async function A(){if(await m.waitForActivation?.(),h||a.getState().muted)return;o.setState({access:i.Asking});let e=await m.openMicrophone(Q(r.getState())).catch(e=>{o.setState({access:ue(e)?i.Denied:i.Unavailable})});if(e)return o.setState({access:i.Granted}),m.processMicrophone?m.processMicrophone(e):{track:e,stop:()=>e.stop()}}async function j(){let e=y;if(h||!e)return;if(a.getState().muted){if(!v?.track)return;v.pause(),await v.replaceTrack({track:null}),b?.stop();return}if(v?.track?.readyState===`live`)return;let t=await A();if(!t){a.setState({microphone:!1});return}if(h||a.getState().muted)return t.stop();if(b=t,a.setState({microphone:!0}),v){await v.replaceTrack({track:t.track}),v.resume();return}v=await e.produce({track:t.track,codecOptions:p,zeroRtpOnPause:!0})}function M(){x=x.then(j).catch(e=>{N(),$(e)})}function N(){y=void 0,b?.stop(),h||a.setState({microphone:!1})}async function P(t){let r=new le.Device({handlerFactory:m.handlerFactory});if(await r.load({routerRtpCapabilities:t.rtpCapabilities}),h)return;_=r.createRecvTransport(t.receive),k(_,f.Receive);let i=r.createSendTransport(t.send);g=i,k(i,f.Send),i.on(`produce`,({rtpParameters:t},r,i)=>{w={answer:e=>r({id:e}),refuse:i},e({type:n.Voice,signal:u.Produce,rtpParameters:t})}),e({type:n.Voice,signal:u.Listen,rtpCapabilities:r.rtpCapabilities}),y=i,a.setState({microphone:!0}),o.setState({open:!0}),M()}async function F({id:e,producerId:t,speaker:n,rtpParameters:r}){if(!_)return;let i=await _.consume({id:e,producerId:t,kind:`audio`,rtpParameters:r}),a=i.rtpReceiver;a&&`jitterBufferTarget`in a&&(a.jitterBufferTarget=120),S.set(e,{consumer:i,speaker:n,stop:m.playTrack(i.track,n)}),L(),O??=setInterval(R,Z*1e3)}function I(e){let t=S.get(e);t&&(S.delete(e),t.stop(),t.consumer.close(),t.speaker!==void 0&&E.forget(t.speaker),L(),R())}function L(){let e=Array.from(S.values(),({speaker:e})=>e).filter(e=>e!==void 0).sort();s(e,o.getState().heard)||o.setState({heard:e})}function R(){let e=performance.now();for(let{consumer:t,speaker:n}of S.values()){let r=t.rtpReceiver;n!==void 0&&r&&E.hear(n,c(r,D),e)}let t=E.read(e);s(t,o.getState().speakers)||o.setState({speakers:t})}function z({refused:e,direction:n}){let r=t(Error(`The room could not answer ${e}.`),`SP0369`,void 0);if(e===u.Produce&&w){w.refuse(r),w=void 0;return}let i=n&&C.get(n);if(e===u.Connect&&i){i.refuse(r),C.delete(n);return}$(r)}let B=a.subscribe(({muted:e},t)=>{e!==t.muted&&(e&&b?.stop(),M())}),V=r.subscribe((e,t)=>{let n=Q(e),r=Q(t);(n.noiseSuppression!==r.noiseSuppression||n.autoGainControl!==r.autoGainControl)&&v?.track?.readyState===`live`&&(b?.stop(),M())}),H=m.watchMicrophonePermission?.(e=>{let{access:t}=o.getState();e===`granted`&&t===i.Denied?M():e===`denied`&&t===i.Granted&&o.setState({access:i.Denied})});return e({type:n.Voice,signal:u.Open}),{receive:e=>{if(!h){if(e.signal===d.Connected){C.get(e.direction)?.answer(),C.delete(e.direction);return}if(e.signal===d.Produced){w?.answer(e.id),w=void 0;return}if(e.signal===d.Failed)return z(e);if(e.signal===d.Unavailable){o.setState({unavailable:!0});return}T=T.then(async()=>{h||(e.signal===d.Opened?await P(e):e.signal===d.Consume?await F(e):I(e.id))}).catch($)}},close:()=>{if(!h){h=!0,B(),V(),H?.(),clearInterval(O);for(let e of S.keys())I(e);b?.stop(),g?.close(),_?.close(),a.setState({microphone:!1}),o.setState({open:!1,unavailable:!1,access:i.Unasked,talking:!1,pushing:!1,inputDecibels:-1/0,heard:[],speakers:[]})}}}}function $(e){console.warn(`Voice stopped, and the game plays on without it. Check that the page may use the microphone, and that the room has voice on:`,e)}export{de as openVoice};
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
import{r as e}from"./rolldown-runtime-hePW80VL.js";import{t}from"./Cvdyeg_0.js";import{Rs as n,Y as r,et as i}from"./BoJD7UsQ.js";import{t as a}from"./CvVTau-c.js";import{t as o}from"./6RSie8Zr.js";var s=e(t()),c=s.forwardRef(function({points:e,closed:t=!1,curveType:c=`centripetal`,tension:l=.5,segments:u=20,vertexColors:d,...f},p){let m=s.useMemo(()=>{let i=e.map(e=>e instanceof n?e:new n(...e));return new r(i,t,c,l)},[e,t,c,l]),h=s.useMemo(()=>m.getPoints(u),[m,u]),g=s.useMemo(()=>{if(!d||d.length<2)return;if(d.length===u+1)return d;let e=d.map(e=>e instanceof i?e:new i(...e));t&&e.push(e[0].clone());let n=[e[0]],r=u/(e.length-1);for(let t=1;t<u;t++){let i=t%r/r,a=Math.floor(t/r);n.push(e[a].clone().lerp(e[a+1],i))}return n.push(e[e.length-1]),n},[d,u]);return s.createElement(o,a({ref:p,points:h,vertexColors:g},f))});export{c as t};
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
import"./Bn-oguIM.js";import{Ca as e,Jn as t,Pn as n,Ri as r,jn as i,jt as a,mi as o}from"./7kk1UrXM.js";var s=86400,c={timeoutSeconds:n(i().check(r(),o(s))).check(e(`Wall-clock seconds this call may take, a day at most, in place of the limit its description gives`)),wait:n(a()).check(e(`False returns a run id at once, which read_run reads`))},l={id:t().check(e(`The run's id, as the call started with wait: false returned it`))};export{s as n,l as r,c as t};
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
import{n as e}from"./rolldown-runtime-hePW80VL.js";import{B as t,Qr as n,Rs as r,V as i,Xr as a,et as o,jn as s}from"./BoJD7UsQ.js";import{d as c,i as l}from"./B4HH7vxm.js";var u=e({createMeshesFromInstancedMesh:()=>p,createMeshesFromMultiMaterialMesh:()=>m,createMultiMaterialObject:()=>h,reduceVertices:()=>g,sortInstancedMesh:()=>_,traverseAncestorsGenerator:()=>b,traverseGenerator:()=>v,traverseVisibleGenerator:()=>y}),d=new o,f=new a;function p(e){let t=new s,r=e.count,i=e.geometry,a=e.material;for(let o=0;o<r;o++){let r=new n(i,a);e.getMatrixAt(o,r.matrix),r.matrix.decompose(r.position,r.quaternion,r.scale),t.add(r)}return t.copy(e),t.updateMatrixWorld(),t}function m(e){if(Array.isArray(e.material)===!1)return console.warn(`THREE.SceneUtils.createMeshesFromMultiMaterialMesh(): The given mesh has no multiple materials.`),e;let r=new s;r.copy(e);let a=c(e.geometry),o=a.index,l=a.groups,u=Object.keys(a.attributes);for(let s=0;s<l.length;s++){let c=l[s],d=c.start,f=d+c.count,p=new i,m=e.material[c.materialIndex];for(let e=0;e<u.length;e++){let n=u[e],r=a.attributes[n],i=r.itemSize,s=c.count*i,l=r.array.constructor,m=new l(s),h=new t(m,i);for(let e=d,t=0;e<f;e++,t++){let n=o.getX(e);i>=1&&h.setX(t,r.getX(n)),i>=2&&h.setY(t,r.getY(n)),i>=3&&h.setZ(t,r.getZ(n)),i>=4&&h.setW(t,r.getW(n))}p.setAttribute(n,h)}let h=new n(p,m);r.add(h)}return r}function h(e,t){let r=new s;for(let i=0,a=t.length;i<a;i++)r.add(new n(e,t[i]));return r}function g(e,t,n){let i=n,a=new r;return e.updateWorldMatrix(!0,!0),e.traverseVisible(e=>{let{geometry:n}=e;if(n!==void 0){let{position:r}=n.attributes;if(r!==void 0)for(let n=0,o=r.count;n<o;n++)e.isMesh?e.getVertexPosition(n,a):a.fromBufferAttribute(r,n),e.isSkinnedMesh||a.applyMatrix4(e.matrixWorld),i=t(i,a)}}),i}function _(e,t){let n=l(e.instanceMatrix),r=e.instanceColor?l(e.instanceColor):null,i=new Map;for(let t in e.geometry.attributes){let n=e.geometry.attributes[t];n.isInstancedBufferAttribute&&i.set(n,l(n))}let a=[];for(let t=0;t<e.count;t++)a.push(t);a.sort(t);for(let t=0;t<a.length;t++){let o=a[t];f.fromArray(n.array,o*e.instanceMatrix.itemSize),f.toArray(e.instanceMatrix.array,t*e.instanceMatrix.itemSize),e.instanceColor&&(d.fromArray(r.array,o*e.instanceColor.itemSize),d.toArray(e.instanceColor.array,t*e.instanceColor.itemSize));for(let n in e.geometry.attributes){let r=e.geometry.attributes[n];if(r.isInstancedBufferAttribute){let e=i.get(r);r.setX(t,e.getX(o)),r.itemSize>1&&r.setY(t,e.getY(o)),r.itemSize>2&&r.setZ(t,e.getZ(o)),r.itemSize>3&&r.setW(t,e.getW(o))}}}}function*v(e){yield e;let t=e.children;for(let e=0,n=t.length;e<n;e++)yield*v(t[e])}function*y(e){if(e.visible===!1)return;yield e;let t=e.children;for(let e=0,n=t.length;e<n;e++)yield*y(t[e])}function*b(e){let t=e.parent;t!==null&&(yield t,yield*b(t))}export{g as a,v as c,h as i,y as l,p as n,_ as o,m as r,b as s,u as t};
|