{"version":3,"file":"static/js/main.105b5add.js","mappings":"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AAM,KAAM,KAAM,KAAM,KAAM,QAAS,KAAM,QAAS,KAAM,KAAM,KAAM,QAAS,KAAM,QAAS,KAAM,KAAM,KAAM,KAAM,KAAM,QAAS,KAAM,KAAM,KAAM,KAAM,KAAM,MAAO,KAAM,KAAM,KAAM,QAAS,KAAM,KAAM,KAAM,QAAS,MAAO,QAAS,KAAM,QAAS,KAAM,SAAU,MAAO,QAAS,KAAM,QAAS,KAAM,QAAS,MAAO,QAAS,KAAM,QAAS,MAAO,QAAS,MAAO,QAAS,KAAM,QAAS,MAAO,QAAS,KAAM,QAAS,KAAM,KAAM,MAAO,QAAS,KAAM,KAAM,KAAM,KAAM,KAAM,MAAO,KAAM,KAAM,KAAM,QAAS,KAAM,QAAS,KAAM,KAAM,KAAM,QAAS,KAAM,QAAS,KAAM,QAAS,KAAM,KAAM,KAAM,KAAM,KAAM,KAAM,KAAM,QAAS,KAAM,KAAM,KAAM,QAAS,KAAM,QAAS,KAAM,QAAS,KAAM,KAAM,KAAM,KAAM,KAAM,KAAM,KAAM,KAAM,KAAM,KAAM,KAAM,KAAM,KAAM,KAAM,KAAM,KAAM,KAAM,KAAM,KAAM,KAAM,KAAM,KAAM,KAAM,UAAW,KAAM,KAAM,KAAM,KAAM,KAAM,KAAM,KAAM,KAAM,KAAM,QAAS,KAAM,KAAM,KAAM,KAAM,KAAM,KAAM,KAAM,KAAM,KAAM,MAAO,KAAM,KAAM,KAAM,KAAM,KAAM,MAAO,KAAM,KAAM,KAAM,KAAM,KAAM,KAAM,KAAM,KAAM,KAAM,KAAM,KAAM,MAAO,KAAM,KAAM,KAAM,KAAM,KAAM,QAAS,KAAM,KAAM,KAAM,KAAM,KAAM,KAAM,KAAM,KAAM,KAAM,MAAO,KAAM,KAAM,KAAM,MAAO,KAAM,KAAM,KAAM,QAAS,KAAM,KAAM,KAAM,KAAM,KAAM,KAAM,KAAM,KAAM,KAAM,KAAM,KAAM,KAAM,KAAM,KAAM,KAAM,KAAM,KAAM,QAAS,KAAM,KAAM,KAAM,QAAS,KAAM,QAAS,KAAM,KAAM,KAAM,KAAM,KAAM,KAAM,KAAM,KAAM,KAAM,MAAO,KAAM,SAAU,KAAM,MAAO,KAAM,QAAS,KAAM,KAAM,KAAM,QAAS,KAAM,MAAO,KAAM,SAAU,KAAM,MAAO,KAAM,KAAM,KAAM,aAAc,K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AAMC,IAAK,MAAQ,CAAED,MAAO,KAAMC,IAAK,MAAQ,CAAED,MAAO,KAAMC,IAAK,MAAQ,CAAED,MAAO,KAAMC,IAAK,MAAQ,CAAED,MAAO,KAAMC,IAAK,MAAQ,CAAED,MAAO,KAAMC,IAAK,OAAS,CAAED,MAAO,MAAOC,IAAK,OAAS,CAAED,MAAO,MAAOC,IAAK,OAAS,CAAED,MAAO,MAAOC,IAAK,OAAS,CAAED,MAAO,MAAOC,IAAK,OAAS,CAAED,MAAO,MAAOC,IAAK,OAAS,CAAED,MAAO,MAAOC,IAAK,OAAS,CAAED,MAAO,MAAOC,IAAK,OAAS,CAAED,MAAO,MAAOC,IAAK,OAAS,CAAED,MAAO,MAAOC,IAAK,OAAS,CAAED,MAAO,MAAOC,IAAK,OAAS,CAAED,MAAO,MAAOC,IAAK,OAAS,CAAED,MAAO,MAAOC,IAAK,OAAS,CAAED,MAAO,MAAOC,IAAK,OAAS,CAAED,MAAO,MAAOC,IAAK,OAAS,CAAED,MAAO,MAAOC,IAAK,OAAS,CAAED,MAAO,MAAOC,IAAK,OAAS,CAAED,MAAO,MAAOC,IAAK,OAAS,CAAED,MAAO,MAAOC,IAAK,OAAS,CAAED,MAAO,MAAOC,IAAK,OAAS,CAAED,MAAO,MAAOC,IAAK,OAAS,CAAED,MAAO,MAAOC,IAAK,OAAS,CAAED,MAAO,MAAOC,IAAK,OAAS,CAAED,MAAO,KAAMC,IAAK,MAAQ,CAAED,MAAO,KAAMC,IAAK,MAAQ,CAAED,MAAO,KAAMC,IAAK,MAAQ,CAAED,MAAO,KAAMC,IAAK,MAAQ,CAAED,MAAO,KAAMC,IAAK,MAAQ,CAAED,MAAO,KAAMC,IAAK,MAAQ,CAAED,MAAO,KAAMC,IAAK,MAAQ,CAAED,MAAO,KAAMC,IAAK,MAAQ,CAAED,MAAO,KAAMC,IAAK,MAAQ,CAAED,MAAO,KAAMC,IAAK,MAAQ,CAAED,MAAO,KAAMC,IAAK,MAAQ,CAAED,MAAO,KAAMC,IAAK,MAAQ,CAAED,MAAO,MAAOC,IAAK,OAAS,CAAED,MAAO,MAAOC,IAAK,OAAS,CAAED,MAAO,KAAMC,IAAK,MAAQ,CAAED,MAAO,MAAOC,IAAK,OAAS,CAAED,MAAO,MAAOC,IAAK,OAAS,CAAED,MAAO,MAAOC,IAAK,OAAS,CAAED,MAAO,OAAQC,IAAK,QAAU,CAAED,MAAO,OAAQC,IAAK,QAAU,CAAED,MAAO,QAASC,IAAK,SAAW,CAAED,MAAO,MAAOC,IAAK,OAAS,CAAED,MAAO,OAAQC,IAAK,QAAU,CAAED,MAAO,KAAMC,IAAK,MAAQ,CAAED,MAAO,KAAMC,IAAK,MAAQ,CAAED,MAAO,KAAMC,IAAK,MAAQ,CAAED,MAAO,KAAMC,IAAK,MAAQ,CAAED,MAAO,MAAOC,IAAK,OAAS,CAAED,MAAO,MAAOC,IAAK,OAAS,CAAED,MAAO,MAAOC,IAAK,OAAS,CAAED,MAAO,MAAOC,IAAK,OAAS,CAAED,MAAO,MAAOC,IAAK,OAAS,CAAED,MAAO,MAAOC,IAAK,OAAS,CAAED,MAAO,MAAOC,IAAK,OAAS,CAAED,MAAO,MAAOC,IAAK,OAAS,CAAED,MAAO,MAAOC,IAAK,OAAS,CAAED,MAAO,MAAOC,IAAK,OAAS,CAAED,MAAO,MAAOC,IAAK,OAAS,CAAED,MAAO,MAAOC,IAAK,OAAS,CAAED,MAAO,OAAQC,IAAK,QAAU,CAAED,MAAO,MAAOC,IAAK,OAAS,CAAED,MAAO,OAAQC,IAAK,QAAU,CAAED,MAAO,KAAMC,IAAK,MAAQ,CAAED,MAAO,KAAMC,IAAK,MAAQ,CAAED,MAAO,KAAMC,IAAK,MAAQ,CAAED,MAAO,MAAOC,IAAK,OAAS,CAAED,MAAO,MAAOC,IAAK,OAAS,CAAED,MAAO,MAAOC,IAAK,OAAS,CAAED,MAAO,MAAOC,IAAK,OAAS,CAAED,MAAO,MAAOC,IAAK,OAAS,CAAED,MAAO,KAAMC,IAAK,OAAS,CAAED,MAAO,MAAOC,IAAK,OAAS,CAAED,MAAO,OAAQC,IAAK,SAAWq/E,GAAK,CAAEsW,MAAO,SAAS74F,EAAGmM,GACzgH,IAAIs3C,EAAI,CAAC,EAAGl1C,EAAI,IAAI4vC,GAAGy6C,OAAO54F,EAAGmM,GACjCs3C,EAAEl9B,QAAUhY,EAAE6lF,cAAe3wC,EAAE6+C,cAAgB/zF,EAAEgmF,aAAc9wC,EAAE8+C,cAAgBh0F,EAAE6lF,cAAe3wC,EAAE++C,aAAej0F,EAAE6lF,cAAe3wC,EAAEg/C,OAASl0F,EAAE6lF,cAAe3wC,EAAEi/C,gBAAkBn0F,EAAEgmF,aAAc9wC,EAAEk/C,gBAAkBp0F,EAAEgmF,aAAc9wC,EAAEm/C,kBAAoBr0F,EAAEgmF,aAAc9wC,EAAEo/C,kBAAoBt0F,EAAEgmF,aAAc9wC,EAAEq/C,kBAAoBv0F,EAAEgmF,aAAc9wC,EAAEs/C,kBAAoBx0F,EAAEgmF,aAAc9wC,EAAEu/C,oBAAsBz0F,EAAEgmF,aAAc9wC,EAAEw/C,oBAAsB10F,EAAEgmF,aAAc9wC,EAAEy/C,eAAiB30F,EAAEgmF,aAAc9wC,EAAE0/C,mBAAqB50F,EAAEgmF,aAAc9wC,EAAE2/C,aAAe70F,EAAEgmF,aAAc9wC,EAAE4/C,OAAS,GACtkB,IAAK,IAAIz6C,EAAI,EAAGA,EAAI,GAAIA,IACtBnF,EAAE4/C,OAAOz6C,GAAKr6C,EAAEylF,YAClB,OAAOvwC,EAAE6/C,gBAAkB/0F,EAAEmmF,aAAcjxC,EAAE8/C,gBAAkBh1F,EAAEmmF,aAAcjxC,EAAE+/C,gBAAkBj1F,EAAEmmF,aAAcjxC,EAAEggD,gBAAkBl1F,EAAEmmF,aAAcjxC,EAAEigD,UAAYlpD,OAAOC,aAAalsC,EAAEylF,YAAazlF,EAAEylF,YAAazlF,EAAEylF,YAAazlF,EAAEylF,aAAcvwC,EAAEkgD,YAAcp1F,EAAE6lF,cAAe3wC,EAAEmgD,iBAAmBr1F,EAAE6lF,cAAe3wC,EAAEogD,gBAAkBt1F,EAAE6lF,cAAe3wC,EAAEqgD,cAAgBv1F,EAAEgmF,aAAc9wC,EAAEsgD,eAAiBx1F,EAAEgmF,aAAc9wC,EAAEugD,aAAez1F,EAAEgmF,aAAc9wC,EAAEwgD,YAAc11F,EAAE6lF,cAAe3wC,EAAEygD,aAAe31F,EAAE6lF,cAAe,GAAK3wC,EAAEl9B,UAAYk9B,EAAE0gD,iBAAmB51F,EAAEmmF,aAAcjxC,EAAE2gD,iBAAmB71F,EAAEmmF,cAAe,GAAKjxC,EAAEl9B,UAAYk9B,EAAE4gD,SAAW91F,EAAEgmF,aAAc9wC,EAAE6gD,WAAa/1F,EAAEgmF,aAAc9wC,EAAE8gD,cAAgBh2F,EAAE6lF,cAAe3wC,EAAE+gD,YAAcj2F,EAAE6lF,cAAe3wC,EAAEghD,aAAel2F,EAAE6lF,eAAgB3wC,CACjyB,EAAGs2C,KAAM,SAAS/5F,GAChB,OAAO,IAAIu/C,EAAGyzC,MAAM,OAAQ,CAAC,CAAE/yF,KAAM,UAAWwP,KAAM,SAAU9O,MAAO,GAAK,CAAEV,KAAM,gBAAiBwP,KAAM,QAAS9O,MAAO,GAAK,CAAEV,KAAM,gBAAiBwP,KAAM,SAAU9O,MAAO,GAAK,CAAEV,KAAM,eAAgBwP,KAAM,SAAU9O,MAAO,GAAK,CAAEV,KAAM,SAAUwP,KAAM,SAAU9O,MAAO,GAAK,CAAEV,KAAM,kBAAmBwP,KAAM,QAAS9O,MAAO,KAAO,CAAEV,KAAM,kBAAmBwP,KAAM,QAAS9O,MAAO,KAAO,CAAEV,KAAM,oBAAqBwP,KAAM,QAAS9O,MAAO,GAAK,CAAEV,KAAM,oBAAqBwP,KAAM,QAAS9O,MAAO,KAAO,CAAEV,KAAM,oBAAqBwP,KAAM,QAAS9O,MAAO,KAAO,CAAEV,KAAM,oBAAqBwP,KAAM,QAAS9O,MAAO,KAAO,CAAEV,KAAM,sBAAuBwP,KAAM,QAAS9O,MAAO,GAAK,CAAEV,KAAM,sBAAuBwP,KAAM,QAAS9O,MAAO,KAAO,CAAEV,KAAM,iBAAkBwP,KAAM,QAAS9O,MAAO,IAAM,CAAEV,KAAM,qBAAsBwP,KAAM,QAAS9O,MAAO,KAAO,CAAEV,KAAM,eAAgBwP,KAAM,QAAS9O,MAAO,GAAK,CAAEV,KAAM,cAAewP,KAAM,OAAQ9O,MAAO,GAAK,CAAEV,KAAM,cAAewP,KAAM,OAAQ9O,MAAO,GAAK,CAAEV,KAAM,UAAWwP,KAAM,OAAQ9O,MAAO,GAAK,CAAEV,KAAM,cAAewP,KAAM,OAAQ9O,MAAO,GAAK,CAAEV,KAAM,YAAawP,KAAM,OAAQ9O,MAAO,GAAK,CAAEV,KAAM,mBAAoBwP,KAAM,OAAQ9O,MAAO,GAAK,CAAEV,KAAM,YAAawP,KAAM,OAAQ9O,MAAO,GAAK,CAAEV,KAAM,cAAewP,KAAM,OAAQ9O,MAAO,GAAK,CAAEV,KAAM,WAAYwP,KAAM,OAAQ9O,MAAO,GAAK,CAAEV,KAAM,WAAYwP,KAAM,OAAQ9O,MAAO,GAAK,CAAEV,KAAM,kBAAmBwP,KAAM,QAAS9O,MAAO,GAAK,CAAEV,KAAM,kBAAmBwP,KAAM,QAAS9O,MAAO,GAAK,CAAEV,KAAM,kBAAmBwP,KAAM,QAAS9O,MAAO,GAAK,CAAEV,KAAM,kBAAmBwP,KAAM,QAAS9O,MAAO,GAAK,CAAEV,KAAM,YAAawP,KAAM,YAAa9O,MAAO,QAAU,CAAEV,KAAM,cAAewP,KAAM,SAAU9O,MAAO,GAAK,CAAEV,KAAM,mBAAoBwP,KAAM,SAAU9O,MAAO,GAAK,CAAEV,KAAM,kBAAmBwP,KAAM,SAAU9O,MAAO,GAAK,CAAEV,KAAM,gBAAiBwP,KAAM,QAAS9O,MAAO,GAAK,CAAEV,KAAM,iBAAkBwP,KAAM,QAAS9O,MAAO,GAAK,CAAEV,KAAM,eAAgBwP,KAAM,QAAS9O,MAAO,GAAK,CAAEV,KAAM,cAAewP,KAAM,SAAU9O,MAAO,GAAK,CAAEV,KAAM,eAAgBwP,KAAM,SAAU9O,MAAO,GAAK,CAAEV,KAAM,mBAAoBwP,KAAM,QAAS9O,MAAO,GAAK,CAAEV,KAAM,mBAAoBwP,KAAM,QAAS9O,MAAO,GAAK,CAAEV,KAAM,WAAYwP,KAAM,QAAS9O,MAAO,GAAK,CAAEV,KAAM,aAAcwP,KAAM,QAAS9O,MAAO,GAAK,CAAEV,KAAM,gBAAiBwP,KAAM,SAAU9O,MAAO,GAAK,CAAEV,KAAM,cAAewP,KAAM,SAAU9O,MAAO,GAAK,CAAEV,KAAM,eAAgBwP,KAAM,SAAU9O,MAAO,IAAMX,EAC34E,EAAG0kG,cAAehjB,GAAIijB,gBAAiB,SAAS3kG,GAC9C,IAAK,IAAImM,EAAI,EAAGA,EAAIu1E,GAAGl/E,OAAQ2J,GAAK,EAAG,CACrC,IAAIs3C,EAAIi+B,GAAGv1E,GACX,GAAInM,GAAKyjD,EAAExgD,OAASjD,EAAIyjD,EAAEvgD,IACxB,OAAOiJ,CACX,CACA,OAAQ,CACV,GAAKy4F,GAAK,CAAE/L,MAAO,SAAS74F,EAAGmM,GAC7B,IAAIs3C,EAAI,CAAC,EAAGl1C,EAAI,IAAI4vC,GAAGy6C,OAAO54F,EAAGmM,GACjC,OAAQs3C,EAAEl9B,QAAUhY,EAAEwmF,eAAgBtxC,EAAEohD,YAAct2F,EAAEomF,aAAclxC,EAAEqhD,kBAAoBv2F,EAAEgmF,aAAc9wC,EAAEshD,mBAAqBx2F,EAAEgmF,aAAc9wC,EAAEuhD,aAAez2F,EAAEmmF,aAAcjxC,EAAEwhD,aAAe12F,EAAEmmF,aAAcjxC,EAAEyhD,aAAe32F,EAAEmmF,aAAcjxC,EAAE0hD,YAAc52F,EAAEmmF,aAAcjxC,EAAE2hD,YAAc72F,EAAEmmF,aAAcjxC,EAAEl9B,SACtT,KAAK,EACHk9B,EAAE7tC,MAAQgoC,GAAGx6C,QACb,MACF,KAAK,EACHqgD,EAAEk3C,eAAiBpsF,EAAE6lF,cAAe3wC,EAAEm3C,eAAiB,IAAI/0F,MAAM49C,EAAEk3C,gBACnE,IAAK,IAAI/xC,EAAI,EAAGA,EAAInF,EAAEk3C,eAAgB/xC,IACpCnF,EAAEm3C,eAAehyC,GAAKr6C,EAAE6lF,cAC1B3wC,EAAE7tC,MAAQ,GACV,IAAK,IAAIs5C,EAAG1gD,EAAI,EAAGA,EAAIi1C,EAAEk3C,eAAgBnsF,IACvCi1C,EAAEm3C,eAAepsF,IAAMovC,GAAGp7C,SAAW0sD,EAAI3gD,EAAE0lF,YAAaxwC,EAAE7tC,MAAM9S,KAAKyL,EAAEqmF,YAAY1lC,KACrF,MACF,KAAK,IACHzL,EAAEk3C,eAAiBpsF,EAAE6lF,cAAe3wC,EAAEnuC,OAAS,IAAIzP,MAAM49C,EAAEk3C,gBAC3D,IAAK,IAAIvpC,EAAI,EAAGA,EAAI3N,EAAEk3C,eAAgBvpC,IACpC3N,EAAEnuC,OAAO87C,GAAK7iD,EAAE0lF,YAEtB,OAAOxwC,CACT,EAAGs2C,KAAM,WACP,OAAO,IAAIx6C,EAAGyzC,MAAM,OAAQ,CAAC,CAAE/yF,KAAM,UAAWwP,KAAM,QAAS9O,MAAO,QAAU,CAAEV,KAAM,cAAewP,KAAM,QAAS9O,MAAO,GAAK,CAAEV,KAAM,oBAAqBwP,KAAM,QAAS9O,MAAO,GAAK,CAAEV,KAAM,qBAAsBwP,KAAM,QAAS9O,MAAO,GAAK,CAAEV,KAAM,eAAgBwP,KAAM,QAAS9O,MAAO,GAAK,CAAEV,KAAM,eAAgBwP,KAAM,QAAS9O,MAAO,GAAK,CAAEV,KAAM,eAAgBwP,KAAM,QAAS9O,MAAO,GAAK,CAAEV,KAAM,cAAewP,KAAM,QAAS9O,MAAO,GAAK,CAAEV,KAAM,cAAewP,KAAM,QAAS9O,MAAO,IAC7e,GAAK0kG,GAAK,IAAIx/F,MAAM,GAAIy/F,IAAMD,GAAG,GAAK,WACpC,IAAIrlG,EAAI6hC,KAAKvsB,OAASusB,KAAKkyD,eAAgB5nF,EAAI01B,KAAKuyD,cACpD,OAAa,IAANjoF,EAAU,CAAEo5F,YAAa,EAAGhO,SAAU11D,KAAKw0D,aAAan4C,GAAGq5C,UAAWiO,aAAc3jE,KAAKuyD,eAAwB,IAANjoF,EAAU,CAAEo5F,YAAa,EAAGhO,SAAU11D,KAAKw0D,aAAan4C,GAAGq5C,UAAWkO,WAAY5jE,KAAKqzD,0BAA6B/lC,EAAEqgC,QAAO,EAAI,KAAOxvF,EAAEsE,SAAS,IAAM,yCAC7Q,EAAG+gG,GAAG,GAAK,WACT,IAAIrlG,EAAI6hC,KAAKuyD,cACb,OAAOjlC,EAAEogC,SAAe,IAANvvF,EAAS,mEAAoE,CAAEulG,YAAavlG,EAAGu3F,SAAU11D,KAAKw0D,aAAan4C,GAAGq5C,UAAWmO,UAAW7jE,KAAK00D,mBAC7K,EAAG8O,GAAG,GAAK,WACT,IAAIrlG,EAAI6hC,KAAKuyD,cACb,OAAOjlC,EAAEogC,SAAe,IAANvvF,EAAS,oEAAqE,CAAEulG,YAAavlG,EAAGu3F,SAAU11D,KAAKw0D,aAAan4C,GAAGq5C,UAAWoO,cAAe9jE,KAAK00D,mBAClL,EAAG8O,GAAG,GAAK,WACT,IAAIrlG,EAAI6hC,KAAKuyD,cACb,OAAOjlC,EAAEogC,SAAe,IAANvvF,EAAS,mDAAoD,CAAEulG,YAAavlG,EAAGu3F,SAAU11D,KAAKw0D,aAAan4C,GAAGq5C,UAAWqO,aAAc/jE,KAAK00D,kBAAiB,WAC7K,MAAO,CAAEsP,SAAUhkE,KAAKuyD,cAAe0R,WAAYjkE,KAAKszD,gBAAgBtzD,KAAKuyD,cAAgB,GAC/F,IACF,EAAG,CAAE2R,cAAe7nD,GAAGw1C,OAAQsS,gBAAiB9nD,GAAGw1C,SACnD2R,GAAG,GAAK,WACN,IAAIrlG,EAAGmM,EAAGs3C,EAAI5hB,KAAKvsB,OAASusB,KAAKkyD,eAAgBxlF,EAAIszB,KAAKuyD,cAC1D,OAAa,IAAN7lF,EAAU,CAAEg3F,YAAah3F,EAAGgpF,SAAU11D,KAAKw0D,aAAan4C,GAAGq5C,UAAW0O,SAAUpkE,KAAK00D,kBAAiB,WAC3G,IAAI3tC,EAAI/mB,KAAKuyD,cAAellC,EAAIrtB,KAAKuyD,cACrC,MAAO,CAAEnoD,MAAOpK,KAAKszD,gBAAgBvsC,EAAI,GAAIs9C,cAAerkE,KAAK2zD,gBAAgBtmC,EAAGo2C,IACtF,KAAa,IAAN/2F,EAAU,CAAEg3F,YAAah3F,EAAGgpF,SAAU11D,KAAKw0D,aAAan4C,GAAGq5C,UAAWC,SAAU31D,KAAKw0D,aAAan4C,GAAGs5C,UAAW2O,UAAWtkE,KAAK00D,kBAAiB,WACtJ,IAAI3tC,EAAI/mB,KAAKuyD,cAAellC,EAAIrtB,KAAKuyD,cACrC,MAAO,CAAEwC,QAAS/0D,KAAKszD,gBAAgBvsC,EAAI,GAAIs9C,cAAerkE,KAAK2zD,gBAAgBtmC,EAAGo2C,IACxF,KAAa,IAAN/2F,GAAWvO,EAAI6hC,KAAKuyD,cAAejoF,EAAI01B,KAAKuyD,cAAe,CAAEmR,YAAah3F,EAAG63F,UAAWvkE,KAAKyzD,UAAUt1F,EAAGk+C,GAAG84C,QAAQ94C,GAAGq5C,WAAY2O,cAAerkE,KAAK2zD,gBAAgBrpF,EAAGm5F,WAAcn2C,EAAEqgC,QAAO,EAAI,KAAO/rC,EAAEn/C,SAAS,IAAM,4CACvO,EAAG+gG,GAAG,GAAK,WACT,IAAIrlG,EAAI6hC,KAAKvsB,OAASusB,KAAKkyD,eAAgB5nF,EAAI01B,KAAKuyD,cACpD,OAAa,IAANjoF,EAAU,CAAEo5F,YAAa,EAAGhO,SAAU11D,KAAKw0D,aAAan4C,GAAGq5C,UAAW8O,cAAexkE,KAAK00D,kBAAiB,WAChH,MAAO,CAAE+P,UAAWzkE,KAAKszD,kBAAmBlpD,MAAOpK,KAAKszD,gBAAgBtzD,KAAK0yD,aAAe,GAAIgS,UAAW1kE,KAAKszD,kBAAmB+Q,cAAerkE,KAAK2zD,gBAAgB8P,IACzK,KAAa,IAANn5F,EAAU,CAAEo5F,YAAa,EAAGhO,SAAU11D,KAAKw0D,aAAan4C,GAAGq5C,UAAWiP,kBAAmB3kE,KAAKw0D,aAAan4C,GAAGs5C,UAAWiP,cAAe5kE,KAAKw0D,aAAan4C,GAAGs5C,UAAWkP,kBAAmB7kE,KAAKw0D,aAAan4C,GAAGs5C,UAAWmP,cAAe9kE,KAAK00D,kBAAiB,WACrQ,MAAO,CAAE+P,UAAWzkE,KAAKszD,kBAAmBlpD,MAAOpK,KAAKszD,gBAAgBtzD,KAAK0yD,aAAe,GAAIgS,UAAW1kE,KAAKszD,kBAAmB+Q,cAAerkE,KAAK2zD,gBAAgB8P,IACzK,KAAa,IAANn5F,EAAU,CAAEo5F,YAAa,EAAGqB,kBAAmB/kE,KAAKyzD,UAAUp3C,GAAG84C,QAAQ94C,GAAGq5C,WAAYsP,cAAehlE,KAAKyzD,UAAUp3C,GAAG84C,QAAQ94C,GAAGq5C,WAAYuP,kBAAmBjlE,KAAKyzD,UAAUp3C,GAAG84C,QAAQ94C,GAAGq5C,WAAY2O,cAAerkE,KAAK2zD,gBAAgB8P,UAAan2C,EAAEqgC,QAAO,EAAI,KAAOxvF,EAAEsE,SAAS,IAAM,4CAC3S,EAAG+gG,GAAG,GAAK,WACT,IAAIrlG,EAAI6hC,KAAKuyD,cAAkIjoF,GAA9GgjD,EAAEogC,SAAe,IAANvvF,EAAS,oEAAzBA,EAA8F6hC,KAAKuyD,cAAoB,IAAIl2C,GAAGrc,KAAK/F,KAAM+F,KAAKvsB,OAASusB,KAAK6yD,eACxL,MAAO,CAAE6Q,YAAa,EAAGhT,WAAYvyF,EAAG+mG,UAAW1B,GAAGrlG,GAAGH,KAAKsM,GAChE,EAAGk5F,GAAG,GAAK,WACT,IAAIrlG,EAAI6hC,KAAKuyD,cACb,OAAOjlC,EAAEogC,SAAe,IAANvvF,EAAS,6FAA8F,CAAEulG,YAAavlG,EAAGu3F,SAAU11D,KAAKw0D,aAAan4C,GAAGq5C,UAAWqP,kBAAmB/kE,KAAKyzD,UAAUp3C,GAAG84C,QAAQ94C,GAAGq5C,WAAYuP,kBAAmBjlE,KAAKyzD,UAAUp3C,GAAG84C,QAAQ94C,GAAGq5C,WAAYyP,YAAanlE,KAAKszD,kBACjU,EACA,IAAI8R,GAAK,IAAIphG,MAAM,GACnBohG,GAAG,GAAK,SAASjnG,GACf,OAAyB,IAAlBA,EAAEulG,YAAoB,IAAIhmD,EAAGyzC,MAAM,oBAAqB,CAAC,CAAE/yF,KAAM,cAAewP,KAAM,SAAU9O,MAAO,GAAK,CAAEV,KAAM,WAAYwP,KAAM,QAAS9O,MAAO,IAAI4+C,EAAG2zC,SAASlzF,EAAEu3F,WAAa,CAAEt3F,KAAM,eAAgBwP,KAAM,SAAU9O,MAAOX,EAAEwlG,gBAAmB,IAAIjmD,EAAGyzC,MAAM,oBAAqB,CAAC,CAAE/yF,KAAM,cAAewP,KAAM,SAAU9O,MAAO,GAAK,CAAEV,KAAM,WAAYwP,KAAM,QAAS9O,MAAO,IAAI4+C,EAAG2zC,SAASlzF,EAAEu3F,YAAa3xF,OAAO25C,EAAG+zC,WAAW,aAActzF,EAAEylG,aACtc,EAAGwB,GAAG,GAAK,SAASjnG,GAClB,OAAOmvD,EAAEqgC,OAAyB,IAAlBxvF,EAAEulG,YAAmB,wCAAyC,IAAIhmD,EAAGyzC,MAAM,oBAAqB,CAAC,CAAE/yF,KAAM,cAAewP,KAAM,SAAU9O,MAAO,GAAK,CAAEV,KAAM,WAAYwP,KAAM,QAAS9O,MAAO,IAAI4+C,EAAG2zC,SAASlzF,EAAEu3F,YAAa3xF,OAAO25C,EAAGg0C,UAAU,SAAUvzF,EAAE2lG,eAAe,SAASx5F,GACnS,OAAO,IAAIozC,EAAGyzC,MAAM,oBAAqBzzC,EAAG+zC,WAAW,YAAannF,GACtE,KACF,EAAG86F,GAAG,GAAK,SAASjnG,GAClB,OAAOmvD,EAAEqgC,OAAyB,IAAlBxvF,EAAEulG,YAAmB,wCAAyC,IAAIhmD,EAAGyzC,MAAM,oBAAqB,CAAC,CAAE/yF,KAAM,cAAewP,KAAM,SAAU9O,MAAO,GAAK,CAAEV,KAAM,WAAYwP,KAAM,QAAS9O,MAAO,IAAI4+C,EAAG2zC,SAASlzF,EAAEu3F,YAAa3xF,OAAO25C,EAAGg0C,UAAU,SAAUvzF,EAAE4lG,cAAc,SAASz5F,GAClS,OAAO,IAAIozC,EAAGyzC,MAAM,mBAAoBzzC,EAAGg0C,UAAU,WAAYpnF,GAAG,SAASs3C,GAC3E,OAAO,IAAIlE,EAAGyzC,MAAM,gBAAiB,CAAC,CAAE/yF,KAAM,WAAYwP,KAAM,SAAU9O,MAAO8iD,EAAEoiD,WAAYjgG,OAAO25C,EAAG+zC,WAAW,YAAa7vC,EAAEqiD,WAAYriD,EAAEqiD,WAAWtjG,OAAS,IACvK,IACF,KACF,EACA,IAAI0kG,GAAK,CAAErO,MAAO,SAAS74F,EAAGmM,GAC5B,OAAOA,GAAKnM,EAAI,IAAIk+C,GAAGl+C,EAAGmM,EAAIA,GAAK,IAAI4oF,aAAa,GAAI5lC,EAAEogC,SAAe,IAANpjF,GAAiB,MAANA,EAAW,mCAA0C,IAANA,EAAU,CAAEoa,QAASpa,EAAGg7F,QAASnnG,EAAE03F,kBAAmB0P,SAAUpnG,EAAE23F,mBAAoB0P,QAASrnG,EAAE43F,gBAAgByN,KAAQ,CAAE9+E,QAASpa,EAAGg7F,QAASnnG,EAAE03F,kBAAmB0P,SAAUpnG,EAAE23F,mBAAoB0P,QAASrnG,EAAE43F,gBAAgByN,IAAKiC,WAAYtnG,EAAE83F,6BAClX,EAAGiC,KAAM,SAAS/5F,GAChB,OAAO,IAAIu/C,EAAGyzC,MAAM,OAAQ,CAAC,CAAE/yF,KAAM,UAAWwP,KAAM,QAAS9O,MAAO,OAAS,CAAEV,KAAM,UAAWwP,KAAM,QAAS9O,MAAO,IAAI4+C,EAAG4zC,WAAWnzF,EAAEmnG,UAAY,CAAElnG,KAAM,WAAYwP,KAAM,QAAS9O,MAAO,IAAI4+C,EAAG6zC,YAAYpzF,EAAEonG,WAAa,CAAEnnG,KAAM,UAAWwP,KAAM,QAAS9O,MAAO,IAAI4+C,EAAG8zC,WAAWrzF,EAAEqnG,QAASJ,MAC5S,GAAKM,GAAK,CAAE1O,MAAO,SAAS74F,EAAGmM,GAC7B,IAAK,IAAIs3C,EAAI,IAAItF,GAAGy6C,OAAO54F,EAAGmM,GAAIoC,EAAIk1C,EAAEixC,aAAc9rC,GAAKuG,EAAEogC,SAAe,IAANhhF,EAAS,mCAAoCk1C,EAAEixC,aAAcjxC,EAAEixC,aAAcjxC,EAAEixC,cAAexlC,EAAI,CAAC,EAAG1gD,EAAI,EAAGA,EAAIo6C,EAAGp6C,IAAK,CAC7L,IAAI4iD,EAAI3N,EAAEoxC,WAAYn3C,EAAK+F,EAAEixC,aAAc32C,EAAK0F,EAAEixC,aAAch3C,EAAKoF,EAAEkuC,KAAKhxF,EAAGmM,EAAIuxC,EAAIK,GACvFmR,EAAEkC,GAAK1T,CACT,CACA,OAAOwR,CACT,EAAG6qC,KAAM,SAAS/5F,GAChB,IAAImM,EAAGs3C,EAAIrjD,OAAOyC,KAAK7C,GAAGwC,OAAQ+L,EAAI,GAAIq6C,EAAI,GAAK,GAAKnF,EAAGyL,EAAI,IAAI3P,EAAGyzC,MAAM,OAAQ,CAAC,CAAE/yF,KAAM,UAAWwP,KAAM,QAAS9O,MAAO,GAAK,CAAEV,KAAM,QAASwP,KAAM,QAAS9O,MAAO,GAAK,CAAEV,KAAM,SAAUwP,KAAM,QAAS9O,MAAOioD,GAAK,CAAE3oD,KAAM,UAAWwP,KAAM,QAAS9O,MAAO8iD,KACrQ,IAAKt3C,KAAKnM,EAAG,CACX,IAAIwO,EAAID,EAAE/L,OACV+L,GAAKvO,EAAEmM,GAAI+iD,EAAE0iC,OAAO9uF,KAAK,CAAE7C,KAAM,OAASkM,EAAGsD,KAAM,MAAO9O,MAAOwL,IAAM+iD,EAAE0iC,OAAO9uF,KAAK,CAAE7C,KAAM,UAAYkM,EAAGsD,KAAM,QAAS9O,MAAOioD,EAAIp6C,IAAM0gD,EAAE0iC,OAAO9uF,KAAK,CAAE7C,KAAM,UAAYkM,EAAGsD,KAAM,QAAS9O,MAAOX,EAAEmM,GAAG3J,QAC9M,CACA,OAAO0sD,EAAE0iC,OAAO9uF,KAAK,CAAE7C,KAAM,aAAcwP,KAAM,YAAa9O,MAAO4N,IAAM2gD,CAC7E,GACA,SAASs4C,GAAGxnG,GACV,OAAO2D,KAAK8B,IAAIzF,GAAK2D,KAAK8B,IAAI,GAAK,CACrC,CACA,SAASgiG,GAAGznG,GACV,KAAOA,EAAEwC,OAAS,GAAK,GACrBxC,EAAE8C,KAAK,GACT,IAAK,IAAIqJ,EAAI,EAAGs3C,EAAI,EAAGA,EAAIzjD,EAAEwC,OAAQihD,GAAK,EACxCt3C,IAAMnM,EAAEyjD,IAAM,KAAOzjD,EAAEyjD,EAAI,IAAM,KAAOzjD,EAAEyjD,EAAI,IAAM,GAAKzjD,EAAEyjD,EAAI,GACjE,OAAOt3C,EAAKxI,KAAKgK,IAAI,EAAG,GAC1B,CACA,SAAS+5F,GAAG1nG,EAAGmM,EAAGs3C,EAAGl1C,GACnB,OAAO,IAAIgxC,EAAG0zC,OAAO,eAAgB,CAAC,CAAEhzF,KAAM,MAAOwP,KAAM,MAAO9O,WAAa,IAANX,EAAeA,EAAI,IAAM,CAAEC,KAAM,WAAYwP,KAAM,QAAS9O,WAAa,IAANwL,EAAeA,EAAI,GAAK,CAAElM,KAAM,SAAUwP,KAAM,QAAS9O,WAAa,IAAN8iD,EAAeA,EAAI,GAAK,CAAExjD,KAAM,SAAUwP,KAAM,QAAS9O,WAAa,IAAN4N,EAAeA,EAAI,IACjS,CACA,SAASo5F,GAAG3nG,GACV,IAAK,IAAImM,EAAI,IAAIozC,EAAGyzC,MAAM,OAAQ,CAAC,CAAE/yF,KAAM,UAAWwP,KAAM,MAAO9O,MAAO,QAAU,CAAEV,KAAM,YAAawP,KAAM,SAAU9O,MAAO,GAAK,CAAEV,KAAM,cAAewP,KAAM,SAAU9O,MAAO,GAAK,CAAEV,KAAM,gBAAiBwP,KAAM,SAAU9O,MAAO,GAAK,CAAEV,KAAM,aAAcwP,KAAM,SAAU9O,MAAO,KAAO8iD,GAAKt3C,EAAEixF,OAASp9F,EAAGmM,EAAE2sF,UAAY94F,EAAEwC,OAAQmB,KAAKgK,IAAI,EAAG65F,GAAGr7F,EAAE2sF,aAAcvqF,GAAKpC,EAAEiuF,YAAc,GAAK32C,EAAGt3C,EAAEkuF,cAAgBmN,GAAG/jD,GAAIt3C,EAAEmuF,WAAa,GAAKnuF,EAAE2sF,UAAY3sF,EAAEiuF,YAAa,IAAKxxC,EAAI,GAAIsG,EAAI/iD,EAAE4mF,SAAW2U,KAAK3U,SAAW5mF,EAAE2sF,UAAW5pC,EAAI,GAAK,GACphBA,GAAK,EAAGtG,EAAE9lD,KAAK,CAAE7C,KAAM,UAAWwP,KAAM,OAAQ9O,MAAO,IACzD,IAAK,IAAI6N,EAAI,EAAGA,EAAIxO,EAAEwC,OAAQgM,GAAK,EAAG,CACpC,IAAI4iD,EAAIpxD,EAAEwO,GAAIuvC,GAAMoR,EAAEogC,SAAgC,IAAvBn+B,EAAEugC,UAAUnvF,OAAc,aAAe4uD,EAAEugC,UAAY,gBAAiBvgC,EAAE2hC,UAAWr1C,EAAKgqD,GAAGt2C,EAAEugC,UAAW8V,GAAGr2C,EAAE0hC,UAAW5jC,EAAGnR,GAC5J,IAAKxvC,EAAEzL,KAAK,CAAE7C,KAAMy9C,EAAGxY,IAAM,gBAAiBz1B,KAAM,SAAU9O,MAAO+8C,IAAOkL,EAAE9lD,KAAK,CAAE7C,KAAMmxD,EAAEugC,UAAY,SAAUliF,KAAM,SAAU9O,MAAOywD,IAAMlC,GAAKnR,EAAIoR,EAAEogC,UAAU5sD,MAAMusB,GAAI,gDAAiDA,EAAI,GAAK,GACvOA,GAAK,EAAGtG,EAAE9lD,KAAK,CAAE7C,KAAM,UAAWwP,KAAM,OAAQ9O,MAAO,GAC3D,CACA,OAAO4N,EAAEJ,MAAK,SAASkwC,EAAI6C,GACzB,OAAO7C,EAAG19C,MAAMukC,IAAMgc,EAAGvgD,MAAMukC,IAAM,GAAK,CAC5C,IAAI/4B,EAAEylF,OAASzlF,EAAEylF,OAAOhsF,OAAO2I,GAAIpC,EAAEylF,OAASzlF,EAAEylF,OAAOhsF,OAAOgjD,GAAIz8C,CACpE,CACA,SAASy7F,GAAG5nG,EAAGmM,EAAGs3C,GAChB,IAAK,IAAIl1C,EAAI,EAAGA,EAAIpC,EAAE3J,OAAQ+L,GAAK,EAAG,CACpC,IAAIq6C,EAAI5oD,EAAE66F,iBAAiB1uF,EAAEoC,IAC7B,GAAI,EAAIq6C,EACN,OAAO5oD,EAAE6xF,OAAOtxF,IAAIqoD,GAAGkzC,YAC3B,CACA,OAAOr4C,CACT,CACA,IAAIokD,GAAK,CAAE9N,KAAM4N,GAAIG,YAAa,SAAS9nG,GACzC,IAAK,IAAImM,EAAGs3C,EAAI,GAAIl1C,EAAI,GAAIq6C,EAAI,GAAIsG,EAAI,GAAI1gD,EAAI,GAAI4iD,EAAI,GAAIrT,EAAK,GAAIL,EAAK,EAAGW,EAAK,EAAG6C,EAAK,EAAG/E,EAAK,EAAGG,EAAK,EAAG2C,EAAK,EAAGA,EAAKj/C,EAAE6xF,OAAOrvF,OAAQy8C,GAAM,EAAG,CAClJ,IAAIqF,EAAKtkD,EAAE6xF,OAAOtxF,IAAI0+C,GAAK8B,EAAK,EAAIuD,EAAGg5B,QACvC,GAAI36C,MAAM2hB,EAAGg3C,cACX,MAAM,IAAI/2D,MAAM,SAAW+f,EAAGrkD,KAAO,KAAOg/C,EAAK,oCAGnD,IAFC8B,EAAK50C,QAAW,IAANA,IAAiB,EAAI40C,IAAO50C,EAAI40C,GAAKrD,EAAKqD,IAAOrD,EAAKqD,IAC7DA,EAAKwhC,GAAGoiB,gBAAgB5jD,IACnB,GACP1C,GAAM,GAAK0C,OACR,GAAIA,EAAK,GACZG,GAAM,GAAKH,EAAK,QACb,GAAIA,EAAK,GACZ5E,GAAM,GAAK4E,EAAK,OACb,CACH,KAAMA,EAAK,KACT,MAAM,IAAIxc,MAAM,6DAClB+X,GAAM,GAAKyE,EAAK,EAClB,CACY,YAAZuD,EAAGrkD,OAAuB8gD,EAAKuD,EAAGw3C,aAAcr4C,EAAE3gD,KAAKi+C,EAAGm6C,MAAO3sF,EAAEzL,KAAKi+C,EAAGo6C,MAAOvyC,EAAE9lD,KAAKi+C,EAAGq6C,MAAOlsC,EAAEpsD,KAAKi+C,EAAGs6C,MAAOjqC,EAAEtuD,KAAKi+C,EAAGg7C,iBAAkBh+C,EAAGj7C,KAAKi+C,EAAGi7C,kBAAmBxtF,EAAE1L,KAAKwhD,EAAGg3C,cAC1L,CACA,IAAIn6C,EAAIrC,EAAK,CAAEo8C,KAAMv3F,KAAKgB,IAAIgB,MAAM,KAAM89C,GAAI03C,KAAMx3F,KAAKgB,IAAIgB,MAAM,KAAM4I,GAAI6sF,KAAMz3F,KAAKiB,IAAIe,MAAM,KAAMijD,GAAIyyC,KAAM13F,KAAKiB,IAAIe,MAAM,KAAMupD,GAAI0xC,gBAAiBj9F,KAAKiB,IAAIe,MAAM,KAAM6I,GAAIu5F,gBAAiB,SAASlK,GAC7M,IAAK,IAAImK,EAAK,EAAGC,EAAK,EAAGA,EAAKpK,EAAGr7F,OAAQylG,GAAM,EAC7CD,GAAMnK,EAAGoK,GACX,OAAOD,EAAKnK,EAAGr7F,MACjB,CAJsM,CAIpMgM,GAAIqyF,mBAAoBl9F,KAAKgB,IAAIgB,MAAM,KAAMyrD,GAAI82C,mBAAoBvkG,KAAKiB,IAAIe,MAAM,KAAMyrD,GAAI0vC,oBAAqBn9F,KAAKgB,IAAIgB,MAAM,KAAMo4C,IAAOgE,GAAMjD,EAAG2hD,SAAWzgG,EAAEygG,SAAU3hD,EAAG4hD,UAAY1gG,EAAE0gG,UAAWre,GAAG0X,KAAK,CAAEnrD,MAAO,EAAG+sD,WAAY37F,EAAE27F,WAAYT,KAAMp8C,EAAGo8C,KAAMC,KAAMr8C,EAAGq8C,KAAMC,KAAMt8C,EAAGs8C,KAAMC,KAAMv8C,EAAGu8C,KAAM8E,cAAe,EAAGK,iBAAkBxgG,EAAEwgG,oBAAsBjS,EAAK5xC,GAAGo9C,KAAK,CAAE0G,SAAU3hD,EAAG2hD,SAAUC,UAAW5hD,EAAG4hD,UAAWE,gBAAiB9hD,EAAG8hD,gBAAiBC,mBAAoB/hD,EAAG+hD,mBAAoBC,oBAAqBhiD,EAAGgiD,oBAAqBC,WAAYjiD,EAAGopD,oBAAsBppD,EAAGs8C,KAAOt8C,EAAGo8C,MAAOkG,iBAAkBphG,EAAE6xF,OAAOrvF,SAAW22F,EAAK95C,GAAG06C,KAAK/5F,EAAE6xF,OAAOrvF,QAAS42F,EAAK7W,GAAGwX,KAAK,CAAEuI,cAAe3+F,KAAK42B,MAAMukB,EAAGipD,iBAAkBxF,cAAeviG,EAAEo9F,OAAO+K,IAAI5F,cAAeC,aAAcxiG,EAAEo9F,OAAO+K,IAAI3F,aAAcoB,iBAAkBz3F,EAAG03F,gBAAiBnmD,EAAI4lD,gBAAiBjlD,EAAIklD,gBAAiBriD,EAAIsiD,gBAAiBrnD,EAAIsnD,gBAAiBnnD,EAAIqnD,YAAa3jG,EAAEo9F,OAAO+K,IAAIxE,YAAaG,cAAehlD,EAAG2hD,SAAUsD,eAAgBjlD,EAAG4hD,UAAWsD,aAAc,EAAGC,YAAanlD,EAAGu8C,KAAM6I,aAAcvgG,KAAKmI,IAAIgzC,EAAGq8C,MAAOgJ,iBAAkB,EAAGE,SAAUuD,GAAG5nG,EAAG,OAAQ,CAAEq7F,KAAM13F,KAAK42B,MAAMukB,EAAG2hD,SAAW,KAAMpF,KAAMiJ,WAAYsD,GAAG5nG,EAAG,4BAA6B8+C,GAAIu8C,KAAMkJ,cAAevkG,EAAEooG,QAAQ,KAAO,GAAK,EAAG5D,YAAaxkG,EAAEooG,QAAQ,KAAO,GAAK,IAAM/O,EAAKx5C,GAAGk6C,KAAK/5F,EAAE6xF,QAASyH,EAAKj7B,GAAE07B,KAAK/5F,EAAE6xF,QAAsF+H,GAA7EC,EAAK75F,EAAEqoG,eAAe,eAAiE,KAAlDvO,EAAK95F,EAAEqoG,eAAe,kBAAsC9O,GAAMA,EAAKv5F,EAAEqoG,eAAe,oBAAsBxO,EAAGx0F,QAAQ,MAAO,IAAM,IAAMy0F,EAAIN,EAAK,CAAC,EACpjD,IAAKr4C,KAAMnhD,EAAE4V,MACX4jF,EAAGr4C,GAAMnhD,EAAE4V,MAAMurC,GACnBq4C,EAAG8O,WAAa9O,EAAG8O,SAAW,CAAEC,GAAIvoG,EAAEqoG,eAAe,gBAAkB,IAAMzO,IAAOJ,EAAG6F,iBAAmB7F,EAAG6F,eAAiB,CAAEkJ,GAAIhP,IAAOC,EAAGgP,kBAAoBhP,EAAGgP,gBAAkBxoG,EAAE4V,MAAM6yF,YAAajP,EAAGkP,qBAAuBlP,EAAGkP,mBAAqB1oG,EAAE4V,MAAM+yF,eACtQ,IAAIjP,EAAK,GAAID,EAAKhY,GAAGsY,KAAKP,EAAIE,GAAgDC,GAA3CD,EAAK,EAAIA,EAAGl3F,OAASi+E,GAAGsZ,KAAKL,QAAM,EAAakL,GAAG7K,QAA+NF,GAAvND,EAAKxX,GAAG2X,KAAK/5F,EAAE6xF,OAAQ,CAAEtrE,QAASvmB,EAAEqoG,eAAe,WAAYxJ,SAAUjF,EAAIkF,WAAYjF,EAAImF,WAAYlF,EAAIuF,eAAgB9F,EAAIoC,WAAY37F,EAAE27F,WAAYsD,SAAU,CAAC,EAAGngD,EAAGq8C,KAAMr8C,EAAG2hD,SAAU3hD,EAAG8hD,mBAA0B5gG,EAAE4oG,OAAS,EAAIxoG,OAAOyC,KAAK7C,EAAE4oG,OAAOpmG,OAAS+kG,GAAGxN,KAAK/5F,EAAE4oG,YAAS,GAAQ9O,EAAK,CAAC/3C,EAAIwsC,EAAI4K,EAAIC,EAAIK,EAAIH,EAAIK,EAAIC,EAAIP,GACxaK,GAAMI,EAAGh3F,KAAK42F,GAAK15F,EAAEo9F,OAAOyL,MAAQ/O,EAAGh3F,KAAKokG,GAAGnN,KAAK/5F,EAAEo9F,OAAOyL,OAAQhP,GAAMC,EAAGh3F,KAAK+2F,GACnF,IAAK,IAAI4D,EAAKgK,IAAIlO,EAAKoO,GAAG7N,IAAKhH,UAAW4K,EAAKnE,EAAG3H,OAAQ+L,GAAK,EAAIC,EAAK,EAAGA,EAAKF,EAAGl7F,OAAQo7F,GAAM,EAC/F,GAAoB,eAAhBF,EAAGE,GAAI39F,KAAuB,CAChCy9F,EAAGE,GAAIj9F,MAAMm/F,mBAAqB,WAAarC,EAAIE,GAAK,EACxD,KACF,CACF,GAAIA,EACF,OAAOpE,EACT,MAAM,IAAIh1D,MAAM,qDAClB,EAAGukE,gBAAiBrB,IACpB,SAASsB,GAAG/oG,EAAGmM,GACb,IAAK,IAAIs3C,EAAI,EAAGl1C,EAAIvO,EAAEwC,OAAS,EAAGihD,GAAKl1C,GAAK,CAC1C,IAAIq6C,EAAInF,EAAIl1C,IAAM,EAAG2gD,EAAIlvD,EAAE4oD,GAAG1jB,IAC9B,GAAIgqB,IAAM/iD,EACR,OAAOy8C,EACTsG,EAAI/iD,EAAIs3C,EAAI,EAAImF,EAAIr6C,EAAIq6C,EAAI,CAC9B,CACA,OAAQnF,EAAI,CACd,CACA,SAASulD,GAAGhpG,EAAGmM,GACb,IAAK,IAAIs3C,EAAI,EAAGl1C,EAAIvO,EAAEwC,OAAS,EAAGihD,GAAKl1C,GAAK,CAC1C,IAAIq6C,EAAInF,EAAIl1C,IAAM,EAAG2gD,EAAIlvD,EAAE4oD,GAC3B,GAAIsG,IAAM/iD,EACR,OAAOy8C,EACTsG,EAAI/iD,EAAIs3C,EAAI,EAAImF,EAAIr6C,EAAIq6C,EAAI,CAC9B,CACA,OAAQnF,EAAI,CACd,CACA,SAASwlD,GAAGjpG,EAAGmM,GACb,IAAK,IAAIs3C,EAAI,EAAGl1C,EAAIvO,EAAEwC,OAAS,EAAGihD,GAAKl1C,GAAK,CAC1C,IAAIq6C,EAAGsG,EAAIzL,EAAIl1C,IAAM,EAAGC,GAAKo6C,EAAI5oD,EAAEkvD,IAAIn0B,MACvC,GAAIvsB,IAAMrC,EACR,OAAOy8C,EACTp6C,EAAIrC,EAAIs3C,EAAI,EAAIyL,EAAI3gD,EAAI2gD,EAAI,CAC9B,CACA,GAAI,EAAIzL,EACN,OAAOt3C,GAAKy8C,EAAI5oD,EAAEyjD,EAAI,IAAIvgD,IAAM,EAAI0lD,CACxC,CACA,SAASsgD,GAAGlpG,EAAGmM,GACb01B,KAAKpI,KAAOz5B,EAAG6hC,KAAK8vD,UAAYxlF,CAClC,CACA,SAASg9F,GAAGnpG,GACVkpG,GAAGrpG,KAAKgiC,KAAM7hC,EAAG,OACnB,CACA,SAASopG,GAAGppG,GACVkpG,GAAGrpG,KAAKgiC,KAAM7hC,EAAG,OACnB,CACA,SAASqpG,GAAGrpG,EAAGmM,EAAGs3C,GAChB,IAAK,IAAIl1C,EAAIvO,EAAEyyF,UAAW7pC,EAAI,EAAGA,EAAIr6C,EAAE/L,OAAQomD,IAAK,CAClD,IAAIsG,EAAI3gD,EAAEq6C,GACV,GAAIsG,EAAEq2C,cAAgBp5F,EACpB,OAAO+iD,CACX,CACA,GAAIzL,EACF,OAAOl1C,EAAEzL,KAAK2gD,GAAIA,CACtB,CACA,SAAS6lD,GAAGtpG,GACV,IAAK,IAAImM,EAAI,IAAI6jE,YAAYhwE,EAAEwC,QAASihD,EAAI,IAAI+rB,WAAWrjE,GAAIoC,EAAI,EAAGA,EAAIvO,EAAEwC,SAAU+L,EACpFk1C,EAAEl1C,GAAKvO,EAAEuO,GACX,OAAOpC,CACT,CACA,SAASo9F,GAAGvpG,EAAGmM,GACb,IAAKnM,EACH,MAAMmM,CACV,CACA,SAASq9F,GAAGxpG,EAAGmM,EAAGs3C,EAAGl1C,EAAGq6C,GACtB,IAAIsG,EAAI,GAAK/iD,EAAIoC,IAAM2gD,EAAIlvD,EAAEg0F,YAAavwC,GAAKyL,EAAI/iD,EAAIy8C,EAAIsG,GAAKA,IAAM,GAAK/iD,EAAIy8C,GAAKnF,EAAIA,EAAIzjD,EAAEu0F,aAC9F,OAAOrlC,CACT,CACA,SAASu6C,GAAGzpG,EAAGmM,EAAGs3C,GAChB,IAAIl1C,EAAGq6C,EAAI,IAAIzK,GAAGy6C,OAAOzsF,EAAGs3C,GAC5B,GAAIzjD,EAAE0pG,iBAAmB9gD,EAAE2rC,aAAcv0F,EAAE2pG,MAAQ/gD,EAAE2rC,aAAcv0F,EAAE4pG,MAAQhhD,EAAE2rC,aAAcv0F,EAAE6pG,MAAQjhD,EAAE2rC,aAAcv0F,EAAE8pG,MAAQlhD,EAAE2rC,aAAc,EAAIv0F,EAAE0pG,iBAAkB,CACvK,IAAK,IAAIx6C,EAAIlvD,EAAE+pG,gBAAkB,GAAIv7F,EAAI,EAAGA,EAAIxO,EAAE0pG,iBAAkBl7F,GAAK,EACvE0gD,EAAEpsD,KAAK8lD,EAAEwrC,eACXp0F,EAAEgqG,kBAAoBphD,EAAEwrC,cAAep0F,EAAEiqG,aAAe,GACxD,IAAK,IAAI74C,EAAI,EAAGA,EAAIpxD,EAAEgqG,kBAAmB54C,GAAK,EAC5CpxD,EAAEiqG,aAAannG,KAAK8lD,EAAEorC,aACxB,IAAK,IAAIj2C,EAAKmR,EAAEA,EAAE1sD,OAAS,GAAK,EAAGk7C,EAAK,GAAIW,EAAK,EAAGA,EAAKN,EAAIM,GAAM,EACjE,GAAI9vC,EAAIq6C,EAAEorC,YAAat2C,EAAG56C,KAAKyL,GAAI,GAAK,EAAIA,GAC1C,IAAK,IAAI2yC,EAAK0H,EAAEorC,YAAa73C,EAAK,EAAGA,EAAK+E,EAAI/E,GAAM,EAClDuB,EAAG56C,KAAKyL,GAAI8vC,GAAM,EACxB,GAAI8Q,EAAEogC,SAAS7xC,EAAGl7C,SAAWu7C,EAAI,cAAe,EAAImR,EAAE1sD,OAAQ,CAC5D,IAAI85C,EAAI2C,EAAK,GACb,GAAI,EAAIlB,EAAI,CACV,IAAK,IAAIuG,EAAK,EAAGA,EAAKvG,EAAIuG,GAAM,EAC9B/1C,EAAImvC,EAAG4G,IAAMhI,EAAK,CAAC,GAAG4tD,WAAa,EAAI37F,GAAI+tC,EAAGu/C,mBAAqB,GAAK3sC,EAAE3oD,QAAQ+9C,GAAKrF,EAAGn8C,KAAKw5C,GACjG,IAAK,IAAIyE,EAAK,EAAGI,EAAK,EAAGA,EAAKpD,EAAIoD,GAAM,EACtC5yC,EAAImvC,EAAGyD,IAAM7E,EAAK2C,EAAGkC,IAAK94C,EAAImhG,GAAG5gD,EAAGr6C,EAAGwyC,EAAI,EAAG,IAAKA,EAAKzE,EAAGj0C,EAC7D,IAAK,IAAIy2C,EAAK,EAAGiD,EAAK,EAAGA,EAAKhE,EAAIgE,GAAM,EACtCxzC,EAAImvC,EAAGqE,IAAMzF,EAAK2C,EAAG8C,IAAKz5C,EAAIkhG,GAAG5gD,EAAGr6C,EAAGuwC,EAAI,EAAG,IAAKA,EAAKxC,EAAGh0C,CAC/D,CACAtI,EAAEkL,OAAS+zC,CACb,MACEj/C,EAAEkL,OAAS,EACf,MAAO,GAA2B,IAAvBlL,EAAE0pG,iBACX1pG,EAAEkL,OAAS,OACR,CACHlL,EAAEmqG,aAAc,EAAInqG,EAAEkL,OAAS,GAAIlL,EAAE8lG,WAAa,GAClD,IAAK,IAAIvX,GAAK,EAAIA,GAAM,CACtB7wC,EAAKkL,EAAEwrC,cACP,IAAI+E,EAAK,CAAEc,WAAYrxC,EAAEwrC,cAAeziF,OAAQ,EAAGy4F,QAAS,EAAGC,QAAS,EAAGz4F,OAAQ,EAAGrF,GAAI,EAAGC,GAAI,GACjG,GAAK,EAAIkxC,GAAM,GAAK,EAAIA,IAAOy7C,EAAG5sF,GAAKq8C,EAAE2rC,aAAc4E,EAAG3sF,GAAKo8C,EAAE2rC,cAAgB4E,EAAGmR,cAAgB,CAAC1hD,EAAEwrC,cAAexrC,EAAEwrC,eAAiB,GAAK,EAAI12C,IAAOy7C,EAAG5sF,GAAKq8C,EAAEqrC,YAAakF,EAAG3sF,GAAKo8C,EAAEqrC,aAAekF,EAAGmR,cAAgB,CAAC1hD,EAAEorC,YAAaprC,EAAEorC,aAAc,GAAK,EAAIt2C,GAAMy7C,EAAGxnF,OAASwnF,EAAGvnF,OAASg3C,EAAE4rC,eAAiB,GAAK,GAAK92C,IAAOy7C,EAAGxnF,OAASi3C,EAAE4rC,eAAgB2E,EAAGvnF,OAASg3C,EAAE4rC,gBAAkB,GAAK,IAAM92C,KAAQy7C,EAAGxnF,OAASi3C,EAAE4rC,eAAgB2E,EAAGiR,QAAUxhD,EAAE4rC,eAAgB2E,EAAGkR,QAAUzhD,EAAE4rC,eAAgB2E,EAAGvnF,OAASg3C,EAAE4rC,gBAAiBx0F,EAAE8lG,WAAWhjG,KAAKq2F,GAAK5K,KAAQ,GAAK7wC,EACzjB,CACA,GAAI,IAAMA,EAAI,CACZ19C,EAAEgqG,kBAAoBphD,EAAEwrC,cAAep0F,EAAEiqG,aAAe,GACxD,IAAK,IAAI7Q,EAAK,EAAGA,EAAKp5F,EAAEgqG,kBAAmB5Q,GAAM,EAC/Cp5F,EAAEiqG,aAAannG,KAAK8lD,EAAEorC,YAC1B,CACF,CACF,CACA,SAASuW,GAAGvqG,EAAGmM,GACb,IAAK,IAAIs3C,EAAI,GAAIl1C,EAAI,EAAGA,EAAIvO,EAAEwC,OAAQ+L,GAAK,EAAG,CAC5C,IAAIq6C,EAAI5oD,EAAEuO,GAAIq6C,EAAI,CAAEvgD,EAAG8D,EAAEwF,OAASi3C,EAAEvgD,EAAI8D,EAAEi+F,QAAUxhD,EAAEtgD,EAAI6D,EAAEI,GAAIjE,EAAG6D,EAAEk+F,QAAUzhD,EAAEvgD,EAAI8D,EAAEyF,OAASg3C,EAAEtgD,EAAI6D,EAAEK,GAAI09F,QAASthD,EAAEshD,QAASrO,mBAAoBjzC,EAAEizC,oBACtJp4C,EAAE3gD,KAAK8lD,EACT,CACA,OAAOnF,CACT,CACA,SAAS+mD,GAAGxqG,GACV,IAAImM,EAAI,IAAIwwD,EACZ,GAAI38D,EACF,IAAK,IAAIyjD,EAAI,SAASvC,GACpB,IAAK,IAAI/E,EAAK,GAAIG,EAAK,GAAI2C,EAAK,EAAGA,EAAKiC,EAAG1+C,OAAQy8C,GAAM,EAAG,CAC1D,IAAIqF,EAAKpD,EAAGjC,GACZ3C,EAAGx5C,KAAKwhD,GAAKA,EAAGu3C,qBAAuB1/C,EAAGr5C,KAAKw5C,GAAKA,EAAK,GAC3D,CACA,OAAO6S,EAAEogC,SAAuB,IAAdjzC,EAAG95C,OAAc,uDAAwD25C,CAC7F,CANa,CAMXn8C,GAAIuO,EAAI,EAAGA,EAAIk1C,EAAEjhD,SAAU+L,EAAG,CAC9B,IAAIq6C,EAAGsG,EAAIzL,EAAEl1C,GAAIC,EAAI0gD,EAAEA,EAAE1sD,OAAS,GAAI4uD,EAAIlC,EAAE,GAC5C1gD,EAAE07F,QAAU/9F,EAAEyuB,OAAOpsB,EAAEnG,EAAGmG,EAAElG,GAAK8oD,EAAE84C,QAAU/9F,EAAEyuB,OAAOw2B,EAAE/oD,EAAG+oD,EAAE9oD,IAAMsgD,EAAI,CAAEvgD,EAAG,IAAOmG,EAAEnG,EAAI+oD,EAAE/oD,GAAIC,EAAG,IAAOkG,EAAElG,EAAI8oD,EAAE9oD,IAAM6D,EAAEyuB,OAAOguB,EAAEvgD,EAAGugD,EAAEtgD,IACvI,IAAK,IAAIy1C,EAAK,EAAGA,EAAKmR,EAAE1sD,SAAUu7C,EAAI,CACpC,IAAIL,EAAIW,EAAK7vC,EAAGA,EAAI4iD,EAAGA,EAAIlC,GAAGnR,EAAK,GAAKmR,EAAE1sD,QAC1CgM,EAAE07F,QAAU/9F,EAAE0uB,OAAOrsB,EAAEnG,EAAGmG,EAAElG,IAAMo1C,EAAK0T,EAAG/S,EAAG6rD,UAAY17F,EAAEnG,EAAGg2C,EAAGh2C,EAAGmG,EAAElG,EAAG+1C,EAAG/1C,GAAI8oD,EAAE84C,UAAYxsD,EAAK,CAAEr1C,EAAG,IAAOmG,EAAEnG,EAAI+oD,EAAE/oD,GAAIC,EAAG,IAAOkG,EAAElG,EAAI8oD,EAAE9oD,KAAO6D,EAAE8iF,iBAAiBzgF,EAAEnG,EAAGmG,EAAElG,EAAGo1C,EAAGr1C,EAAGq1C,EAAGp1C,GAC5L,CACA6D,EAAE8uB,WACJ,CACF,OAAO9uB,CACT,CACA,SAASs+F,GAAGzqG,EAAGmM,GACb,GAAIA,EAAEg+F,YACJ,IAAK,IAAI1mD,EAAI,EAAGA,EAAIt3C,EAAE25F,WAAWtjG,OAAQihD,GAAK,EAAG,CAC/C,IAAIl1C,EAAIpC,EAAE25F,WAAWriD,GAAImF,EAAI5oD,EAAEO,IAAIgO,EAAE0rF,YACrC,GAAIrxC,EAAE4yC,UAAW5yC,EAAE19C,OAAQ,CACzB,IAAIgkD,OAAI,EACR,QAAwB,IAApB3gD,EAAE+7F,cACJp7C,EAAIq7C,GAAG3hD,EAAE19C,OAAQqD,OACd,CACH,GAAIA,EAAE+7F,cAAc,GAAKn+F,EAAEjB,OAAO1I,OAAS,GAAK+L,EAAE+7F,cAAc,GAAK1hD,EAAE19C,OAAO1I,OAAS,EACrF,MAAM+hC,MAAM,kCAAoCp4B,EAAElM,MACpD,IAAIuO,EAAIrC,EAAEjB,OAAOqD,EAAE+7F,cAAc,IAAyIl5C,EAAIm5C,GAAG,CAA3In5C,EAAIxI,EAAE19C,OAAOqD,EAAE+7F,cAAc,KAAK/7F,EAAI,CAAEoD,OAAQpD,EAAEoD,OAAQy4F,QAAS77F,EAAE67F,QAASC,QAAS97F,EAAE87F,QAASz4F,OAAQrD,EAAEqD,OAAQrF,GAAI,EAAGC,GAAI,IAAoB,GACzL+B,EAAEhC,GAAKiC,EAAEnG,EAAI+oD,EAAE/oD,EAAGkG,EAAE/B,GAAKgC,EAAElG,EAAI8oD,EAAE9oD,EAAG4mD,EAAIq7C,GAAG3hD,EAAE19C,OAAQqD,EACvD,CACApC,EAAEjB,OAASiB,EAAEjB,OAAOtF,OAAOspD,EAC7B,CACF,CACF,OAAOs7C,GAAGr+F,EAAEjB,OACd,EACCi+F,GAAG7nG,UAAY4nG,GAAG5nG,UAAY,CAAEopG,UAAW3B,GAAI4B,UAAW3B,GAAI4B,SAAU,SAAS5qG,GAChF,IAAImM,EAAI01B,KAAKpI,KAAK2jE,OAAOv7D,KAAK8vD,WAC9B,OAAYxlF,GAAKnM,EAAI6hC,KAAKpI,KAAK2jE,OAAOv7D,KAAK8vD,WAAa9vD,KAAKgpE,qBAAuB1+F,CACtF,EAAG2+F,eAAgB,WACjB,IAAI9qG,EAAI6hC,KAAK+oE,WACb,OAAO5qG,EAAIA,EAAEmnG,QAAQzgG,KAAI,SAASyF,GAChC,OAAOA,EAAE+4B,GACX,IAAK,EACP,EAAG6lE,qBAAsB,WACvB,IAAI/qG,EAAI6hC,KAAK+oE,WACb,GAAI5qG,EAAG,CACL,IAAK,IAAImM,GAAI,EAAIs3C,EAAI,EAAGA,EAAIzjD,EAAEmnG,QAAQ3kG,OAAQihD,IAAK,CACjD,IAAIl1C,EAAIvO,EAAEmnG,QAAQ1jD,GAAGve,IACrB,GAAU,SAAN32B,EACF,OAAOA,EACH,SAANA,IAAiBpC,GAAI,EACvB,CACA,OAAOA,EAAI,YAAS,CACtB,CACF,EAAG6+F,eAAgB,SAAShrG,EAAGmM,GAC7B,IAAIs3C,EAAGl1C,EAAIszB,KAAK+oE,SAASz+F,GACzB,GAAIoC,EACF,OAAOk1C,EAAIl1C,EAAE44F,QAAS,IAAM54F,EAAIw6F,GAAGx6F,EAAE44F,QAASnnG,EAAIA,GAAK,SAAWyjD,EAAEl1C,GAAGujF,OAAS3lF,GAAKs3C,EAAE5rC,QAAQ,EAAItJ,EAAG,EAAGpC,EAAI,CAAE+4B,IAAKllC,EAAG8xF,OAAQ,CAAEC,eAAgB,CAAE0F,SAAU,EAAGzF,gBAAiB,MAAOC,eAAgB,IAAMC,eAAgB,MAAS/lF,EAAE2lF,aAAU,CACvP,EAAGmZ,gBAAiB,SAASriD,EAAGz8C,EAAGs3C,GACjC,IAAIl1C,EACJ,GADOq6C,EAAI/mB,KAAKmpE,eAAepiD,EAAGnF,GAEhC,OAAOt3C,GAAW,SAANA,GAAsB,SAANA,EAAe,IAAMoC,EAAIw6F,GAAGngD,EAAEspC,eAAgB/lF,IAAMy8C,EAAEspC,eAAe3jF,GAAG4jF,QAAU1uC,GAAKmF,EAAEspC,eAAer6E,QAAQ,EAAItJ,EAAG,EAAGk1C,EAAI,CAAEve,IAAK/4B,EAAGgmF,QAAS,CAAEsF,SAAU,EAAGzF,gBAAiB,MAAOC,eAAgB,MAASxuC,EAAE0uC,cAAW,EAASvpC,EAAEmpC,cACzQ,EAAGmZ,gBAAiB,SAASlrG,EAAGmM,EAAGs3C,EAAGl1C,GACpC,GAAIvO,EAAI6hC,KAAKopE,gBAAgBjrG,EAAGmM,EAAGoC,GAAO,CACxC,IAAK,IAAIq6C,EAAGsG,EAAIlvD,EAAEiyF,eAAgBzjF,EAAIqzB,KAAKpI,KAAK2jE,OAAOv7D,KAAK8vD,WAAWyV,SAAUh2C,EAAI,EAAGA,EAAIlC,EAAE1sD,OAAQ4uD,IACpG,IAAKxI,EAAIp6C,EAAE0gD,EAAEkC,KAAKlsB,MAAQue,EACxB,OAAOmF,EAAEwpC,QACb,GAAI7jF,EACF,OAAOpC,EAAIqC,EAAEhM,OAAQ2sD,EAAEqgC,OAAa,IAANrjF,GAAWs3C,GAAKj1C,EAAErC,EAAI,GAAG+4B,IAAK,iDAAkD12B,EAAE1L,KAAK8lD,EAAI,CAAE1jB,IAAKue,EAAG2uC,QAAS,CAAE+Y,OAAQ,EAAG7Y,kBAAmB,MAASpjC,EAAEpsD,KAAKqJ,GAAIy8C,EAAEwpC,OACtM,CACF,EAAGgZ,gBAAiB,SAASl8C,EAAG/iD,EAAGs3C,EAAGl1C,EAAGq6C,GACvC,IAA0Cp6C,EAAI,GAC9C,GADI0gD,EAAIrtB,KAAKqpE,gBAAgBh8C,EAAG/iD,EAAGs3C,EAAGmF,GAC/B,CACL,IAAK,IAAIwI,EAAGrT,EAAKmR,EAAEojC,kBAAmB50C,EAAK7b,KAAKpI,KAAK2jE,OAAOv7D,KAAK8vD,WAAW0V,QAAShpD,EAAK,EAAGA,EAAKN,EAAGv7C,OAAQ67C,KAC1G+S,EAAI1T,EAAGK,EAAGM,KAAMk0C,aAAehkF,GAAKC,EAAE1L,KAAKsuD,GAC9C,GAAiB,IAAb5iD,EAAEhM,QAAgBomD,EACpB,OAAOz8C,EAAIuxC,EAAGl7C,OAAQk7C,EAAG56C,KAAKsuD,EAAI,CAAEmhC,WAAYhkF,EAAGikF,WAAY,EAAGC,UAAW,GAAIoF,sBAAkB,IAAW95C,EAAGj7C,KAAKqJ,GAAI,CAACilD,EAC/H,CACA,OAAO5iD,CACT,EAAG68F,cAAe,SAASrrG,EAAGmM,GAC5B,OAAQnM,EAAE4mF,QACR,KAAK,EACH,OAAO5mF,EAAE22F,YAAcxqF,GAAKA,EAAInM,EAAE22F,WAAa32F,EAAE42F,QAAQp0F,OAASxC,EAAE42F,QAAQzqF,EAAInM,EAAE22F,YAAc,EAClG,KAAK,EACH,IAAIlzC,EAAIwlD,GAAGjpG,EAAEy2F,OAAQtqF,GACrB,OAAOs3C,EAAIA,EAAEozC,QAAU,EAE7B,EAAGyU,iBAAkB,SAAStrG,EAAGmM,GAC/B,OAAQnM,EAAE4mF,QACR,KAAK,EACH,IAAInjC,EAAIulD,GAAGhpG,EAAE6xF,OAAQ1lF,GACrB,OAAO,GAAKs3C,EAAIA,GAAK,EACvB,KAAK,EACH,OAAOA,EAAIwlD,GAAGjpG,EAAEy2F,OAAQtqF,IAAQs3C,EAAEr4C,MAAQe,EAAIs3C,EAAE1oB,OAAS,EAE/D,EAAGwwE,eAAgB,SAASvrG,GAC1B,GAAiB,IAAbA,EAAE4mF,OACJ,OAAO5mF,EAAE6xF,OACX,IAAK,IAAI1lF,EAAI,GAAIs3C,EAAIzjD,EAAEy2F,OAAQloF,EAAI,EAAGA,EAAIk1C,EAAEjhD,OAAQ+L,IAClD,IAAK,IAAIq6C,EAAInF,EAAEl1C,GAAI2gD,EAAItG,EAAE7tB,MAAOvsB,EAAIo6C,EAAE1lD,IAAKkuD,EAAIlC,EAAGkC,GAAK5iD,EAAG4iD,IACxDjlD,EAAErJ,KAAKsuD,GACX,OAAOjlD,CACT,IAAKq/F,KAAO,WACV,IAAIxrG,EAAI6hC,KAAKkpE,uBACblpE,KAAK4pE,qBAAuB5pE,KAAK6pE,iBAAiB1rG,EACpD,EAAGmpG,GAAG7nG,UAAUqqG,gBAAkB,SAAS3rG,EAAGmM,EAAGs3C,GAC/C,IAAK,IAAIl1C,EAAI,EAAGA,EAAIvO,EAAEwC,OAAQ+L,IAC5B,IAAK,IAAIq6C,EAAI5oD,EAAEuO,GAAGkkF,UAAWvjC,EAAI,EAAGA,EAAItG,EAAEpmD,OAAQ0sD,IAAK,CACrD,IAAI1gD,EAAIo6C,EAAEsG,GAAIkC,EAAIvvB,KAAKypE,iBAAiB98F,EAAE+oF,SAAUprF,GACpD,KAAMilD,EAAI,GACR,OAAQ5iD,EAAEo9F,WACR,KAAK,EACH,IAAK,IAAI7tD,EAAKvvC,EAAEq9F,SAASz6C,GAAI1T,EAAK,EAAGA,EAAKK,EAAGv7C,OAAQk7C,IAAM,CACzD,IAAIW,EAAKN,EAAGL,GACZ,GAAIW,EAAGytD,cAAgBroD,EACrB,OAAOpF,EAAG0tD,QAAU1tD,EAAG0tD,OAAOjW,UAAY,CAC9C,CACA,MACF,KAAK,EACH,IAAI35C,EAAKta,KAAKwpE,cAAc78F,EAAEw9F,UAAW7/F,GAAI+0C,EAAKrf,KAAKwpE,cAAc78F,EAAEy9F,UAAWxoD,GAClF,OADsFtH,EAAK3tC,EAAE09F,aAAa/vD,GAAI+E,IACpG6qD,QAAU5vD,EAAG4vD,OAAOjW,UAAY,EAElD,CACF,OAAO,CACT,EAAGqT,GAAG7nG,UAAUoqG,iBAAmB,SAAS1rG,EAAGmM,GAC7C,GAAI01B,KAAKpI,KAAK2jE,OAAO+O,KACnB,OAAOtqE,KAAKupE,gBAAgBprG,EAAGmM,EAAG,OAAQ,EAC9C,GAAIi9F,GAAG9nG,UAAY4nG,GAAG5nG,WAAWupG,mBAAqB,WACpD,MAAO,CAAEtkF,QAAS,EAAG4gF,QAAS,CAAC,CAAEjiE,IAAK,OAAQ4sD,OAAQ,CAAEC,eAAgB,CAAE0F,SAAU,EAAGzF,gBAAiB,MAAOC,eAAgB,IAAMC,eAAgB,MAASkV,SAAU,GAAIC,QAAS,GACvL,EAAG+B,GAAG9nG,UAAU8qG,UAAY,SAASpsG,EAAGmM,EAAGs3C,GACzC,IAAK,IAAIl1C,EAAI,GAAIq6C,EAAI/mB,KAAKupE,gBAAgBj/F,EAAGs3C,EAAGzjD,EAAG,GAAIkvD,EAAI,EAAGA,EAAItG,EAAEpmD,OAAQ0sD,IAC1E,IAAK,IAAI1gD,EAAIo6C,EAAEsG,GAAGujC,UAAWrhC,EAAI,EAAGA,EAAI5iD,EAAEhM,OAAQ4uD,IAAK,CACrD,IAAIrT,EAAKvvC,EAAE4iD,GAAI1T,EAAK7b,KAAK0pE,eAAextD,EAAGw5C,UAAWl5C,OAAK,EAC3D,GAAuB,IAAnBN,EAAGwnD,YACA,KAAIrkD,EAAKnD,EAAGynD,aAAjB,IAA+BnnD,EAAK,EAAGA,EAAKX,EAAGl7C,OAAQ67C,IAAM,CAC3D,IAAIlC,EAAKuB,EAAGW,GACZ9vC,EAAEzL,KAAK,CAAE0H,IAAK2xC,EAAIkwD,GAAIlwD,EAAK+E,GAC7B,CAHoC,KAIjC,CACH,IAAI5E,EAAKyB,EAAG0nD,WACZ,IAAKpnD,EAAK,EAAGA,EAAKX,EAAGl7C,OAAQ67C,IAC3B9vC,EAAEzL,KAAK,CAAE0H,IAAKkzC,EAAGW,GAAKguD,GAAI/vD,EAAG+B,IACjC,CACF,CACF,OAAO9vC,CACT,EAAG66F,GAAG9nG,UAAUgrG,cAAgB,SAAStsG,EAAGmM,EAAGs3C,GAC7C,IAAK,IAAIl1C,EAAI,GAAIq6C,EAAI/mB,KAAKupE,gBAAgBj/F,EAAGs3C,EAAGzjD,EAAG,GAAIkvD,EAAI,EAAGA,EAAItG,EAAEpmD,OAAQ0sD,IAC1E,IAAK,IAAI1gD,EAAIo6C,EAAEsG,GAAGujC,UAAWrhC,EAAI,EAAGA,EAAI5iD,EAAEhM,OAAQ4uD,IAChD,IAAK,IAAIrT,EAAKvvC,EAAE4iD,GAAI1T,EAAK7b,KAAK0pE,eAAextD,EAAGw5C,UAAWl5C,EAAKN,EAAG4nD,cAAezkD,EAAK,EAAGA,EAAKxD,EAAGl7C,OAAQ0+C,IACxG3yC,EAAEzL,KAAK,CAAE0H,IAAKkzC,EAAGwD,GAAKmrD,GAAIhuD,EAAG6C,KACnC,OAAO3yC,CACT,EAAG66F,GAAG9nG,UAAUirG,aAAe,SAASvsG,EAAGmM,EAAGs3C,GAC5C,IAAK,IAAIl1C,EAAI,GAAIq6C,EAAI/mB,KAAKupE,gBAAgBj/F,EAAGs3C,EAAGzjD,EAAG,GAAIkvD,EAAI,EAAGA,EAAItG,EAAEpmD,OAAQ0sD,IAC1E,IAAK,IAAI1gD,EAAIo6C,EAAEsG,GAAGujC,UAAWrhC,EAAI,EAAGA,EAAI5iD,EAAEhM,OAAQ4uD,IAChD,IAAK,IAAIrT,EAAKvvC,EAAE4iD,GAAI1T,EAAK7b,KAAK0pE,eAAextD,EAAGw5C,UAAWl5C,EAAKN,EAAG6nD,aAAc1kD,EAAK,EAAGA,EAAKxD,EAAGl7C,OAAQ0+C,IACvG,IAAK,IAAI/E,EAAKuB,EAAGwD,GAAK5E,EAAK+B,EAAG6C,GAAKjC,EAAK,EAAGA,EAAK3C,EAAG95C,OAAQy8C,IAAM,CAC/D,IAAIqF,EAAKhI,EAAG2C,GACZ1wC,EAAEzL,KAAK,CAAE0H,IAAK,CAAC2xC,GAAIv2C,OAAO0+C,EAAGwhD,YAAauG,GAAI/nD,EAAGuhD,UACnD,CACN,OAAOt3F,CACT,EAAG66F,GAAG9nG,UAAUkrG,UAAY,SAASxsG,EAAGmM,EAAGs3C,EAAGl1C,GAC5Ck1C,EAAI4lD,GAAGxnE,KAAKupE,gBAAgB3nD,EAAGl1C,EAAGvO,EAAG,GAAG,GAAI,GAAI,EAAG,CAAEulG,YAAa,EAAGhO,SAAU,CAAE3Q,OAAQ,EAAGiL,OAAQ,IAAM4T,WAAY,KAAOt2C,EAAEqgC,OAA6B,IAAtB/rC,EAAE8zC,SAAS3Q,OAAc,oDAAsDnjC,EAAE8zC,SAAS3Q,QAASr4E,EAAIpC,EAAE3B,KAAKxK,EAAI6hC,KAAK8oE,UAAUlnD,EAAE8zC,SAAS1F,OAAQtjF,IAAQ,IAAMk1C,EAAE8zC,SAAS1F,OAAOh6E,OAAO7X,GAAK,EAAIA,EAAG,EAAGuO,GAAIk1C,EAAEgiD,WAAW5tF,OAAO7X,EAAG,EAAG,IAAKyjD,EAAEgiD,WAAWzlG,GAAKmM,EAAEkgG,EACzY,EAAGjD,GAAG9nG,UAAUmrG,aAAe,SAASzsG,EAAGmM,EAAGs3C,EAAGl1C,GAC/Ck1C,EAAI4lD,GAAGxnE,KAAKupE,gBAAgB3nD,EAAGl1C,EAAGvO,EAAG,GAAG,GAAI,GAAI,EAAG,CAAEulG,YAAa,EAAGhO,SAAU,CAAE3Q,OAAQ,EAAGiL,OAAQ,IAAM8T,cAAe,KAAOx2C,EAAEqgC,OAA6B,IAAtB/rC,EAAE8zC,SAAS3Q,OAAc,oDAAsDnjC,EAAE8zC,SAAS3Q,QAASr4E,EAAIpC,EAAE3B,KAAKxK,EAAI6hC,KAAK8oE,UAAUlnD,EAAE8zC,SAAS1F,OAAQtjF,IAAQ,IAAMk1C,EAAE8zC,SAAS1F,OAAOh6E,OAAO7X,GAAK,EAAIA,EAAG,EAAGuO,GAAIk1C,EAAEkiD,cAAc9tF,OAAO7X,EAAG,EAAG,IAAKyjD,EAAEkiD,cAAc3lG,GAAKmM,EAAEkgG,EAClZ,EAAGjD,GAAG9nG,UAAUorG,YAAc,SAASx9C,EAAGnR,EAAIqT,EAAGxI,IACEA,GAA7CwI,EAAIvvB,KAAKupE,gBAAgBh6C,EAAGxI,EAAGsG,EAAG,GAAG,GAAI,IAAUujC,UAAU,MAAerhC,EAAEqhC,UAAU,GAAK7pC,EAAI,CAAE28C,YAAa,EAAGhO,SAAU,CAAE3Q,OAAQ,EAAGiL,OAAQ,IAAM+T,aAAc,KAAOz2C,EAAEqgC,OAA6B,IAAtB5mC,EAAE2uC,SAAS3Q,OAAc,oDAAsDh+B,EAAE2uC,SAAS3Q,QAA/M13B,EAAwNnR,EAAGvzC,IAAI,GAApS,IAAySgE,EAAIuvC,EAAGvzC,IAAIpH,MAAM,GAC1T,GAD8TguD,EAAI,CAAEy0C,SAAU9nD,EAAGsuD,GAAIvG,WAAYt3F,GAC7V,IADkWuvC,EAAKlc,KAAK8oE,UAAU/hD,EAAE2uC,SAAS1F,OAAQ3iC,IAChY,CACX,IAAK,IAAIxR,EAAKkL,EAAEg9C,aAAa7nD,GAAKM,EAAK,EAAGA,EAAKX,EAAGl7C,OAAQ67C,IACxD,GAAI,SAAS6C,EAAI/E,GACf,IAAIG,EAAK4E,EAAG1+C,OACZ,GAAI85C,IAAOH,EAAG35C,OAAQ,CACpB,IAAK,IAAIy8C,EAAK,EAAGA,EAAK3C,EAAI2C,IACxB,GAAIiC,EAAGjC,KAAQ9C,EAAG8C,GAChB,OACJ,OAAO,CACT,CACF,CARI,CAQFvB,EAAGW,GAAIynD,WAAYt3F,GACnB,OACJkvC,EAAG56C,KAAKsuD,EACV,MACExI,EAAE2uC,SAAS1F,OAAOh6E,OAAOkmC,GAAM,EAAIA,EAAI,EAAGmR,GAAItG,EAAEg9C,aAAa/tF,OAAOkmC,EAAI,EAAG,CAACqT,GAChF,EAAGg4C,GAAG9nG,UAAUqrG,WAAa,SAAS3sG,EAAGmM,EAAGs3C,GAC1C,GAAI,SAAS17B,KAAK/nB,GAChB,OAAO6hC,KAAKuqE,UAAUpsG,EAAGmM,EAAGs3C,GAC9B,OAAQzjD,GACN,IAAK,OACL,IAAK,OACH,OAAO6hC,KAAKuqE,UAAUpsG,EAAGmM,EAAGs3C,GAAG79C,OAAOi8B,KAAKyqE,cAActsG,EAAGmM,EAAGs3C,IACjE,IAAK,OACL,IAAK,OACL,IAAK,OACH,OAAO5hB,KAAK0qE,aAAavsG,EAAGmM,EAAGs3C,GAErC,EAAG2lD,GAAG9nG,UAAUiJ,IAAM,SAASvK,EAAGmM,EAAGs3C,EAAGl1C,GACtC,GAAI,SAASwZ,KAAK/nB,GAChB,OAAO6hC,KAAK2qE,UAAUxsG,EAAGmM,EAAGs3C,EAAGl1C,GACjC,OAAQvO,GACN,IAAK,OACL,IAAK,OACH,MAAsB,iBAARmM,EAAEkgG,GAAiBxqE,KAAK2qE,UAAUxsG,EAAGmM,EAAGs3C,EAAGl1C,GAAKszB,KAAK4qE,aAAazsG,EAAGmM,EAAGs3C,EAAGl1C,GAC3F,IAAK,OACL,IAAK,OACL,IAAK,OACH,OAAOszB,KAAK6qE,YAAY1sG,EAAGmM,EAAGs3C,EAAGl1C,GAEvC,EACA,IAAIq+F,GAAK,CAAEpR,QAASgP,GAAI3R,MAAO,SAAS74F,EAAGmM,EAAGs3C,EAAGl1C,GAC/C,IAAK,IAAIq6C,EAAI,IAAIzJ,GAAGg9C,SAAS5tF,GAAI2gD,EAAI,EAAGA,EAAIzL,EAAEjhD,OAAS,EAAG0sD,GAAK,EAAG,CAChE,IAAI1gD,EAAIi1C,EAAEyL,GACV1gD,IAAMi1C,EAAEyL,EAAI,GAAKtG,EAAE9lD,KAAKosD,EAAG/P,GAAGk9C,eAAe9tF,EAAG2gD,EAAGu6C,GAAIzpG,EAAGmM,EAAIqC,EAAGi8F,KAAO7hD,EAAE9lD,KAAKosD,EAAG/P,GAAGi9C,YAAY7tF,EAAG2gD,GACtG,CACA,OAAOtG,CACT,GACA,SAASikD,GAAG7sG,GACV6hC,KAAKpI,KAAOz5B,EAAG6hC,KAAK65D,YAAc,SAASvvF,GACzC,OAAOygG,GAAGpR,QAAQrvF,GAAGqiF,QACvB,EAAG3sD,KAAKirE,WAAajrE,KAAKkrE,gBAAa,EAAQlrE,KAAKmrE,YAAc,CACpE,CACA,SAASC,GAAGjtG,GACV,OAAOA,CACT,CACA,SAASktG,GAAGltG,GACV,OAAO2D,KAAKkB,KAAK7E,GAAK2D,KAAK42B,MAAM52B,KAAKmI,IAAI9L,GAC5C,CACA,SAASmtG,GAAGntG,GACV,OAAO2D,KAAKkB,KAAK7E,GAAK2D,KAAK42B,MAAM52B,KAAKmI,IAAI,EAAI9L,IAAM,CACtD,CACA,SAASotG,GAAGptG,GACV,OAAO2D,KAAKkB,KAAK7E,IAAM2D,KAAK42B,MAAM52B,KAAKmI,IAAI9L,GAAK,IAAO,GACzD,CACA,SAASqtG,GAAGrtG,GACV,OAAO2D,KAAKkB,KAAK7E,GAAK2D,KAAKid,KAAKjd,KAAKmI,IAAI9L,GAC3C,CACA,SAASstG,GAAGttG,GACV,OAAO2D,KAAKkB,KAAK7E,GAAK2D,KAAKC,MAAMD,KAAKmI,IAAI9L,GAC5C,CACA,SAASutG,GAAGvtG,GACV,IAAImM,EAAI01B,KAAK2rE,SAAU/pD,EAAI5hB,KAAK4rE,QAASl/F,EAAI,EAC7C,OAAOvO,EAAI,IAAMA,GAAKA,EAAGuO,GAAK,GAAIvO,GAAK6hC,KAAK6rE,YAAcjqD,EAAGzjD,EAAI2D,KAAKgqG,MAAM3tG,EAAImM,GAAKA,GAAInM,GAAKyjD,GAAK,EAAIA,EAAIl1C,EAAIvO,EAAIuO,CACrH,CACA,IAAIq/F,GAAK,CAAEvlG,EAAG,EAAGC,EAAG,EAAGsR,KAAM,IAAK8C,SAAU,SAAS1c,EAAGmM,EAAGs3C,EAAGl1C,GAC5D,OAAQk1C,EAAIzjD,EAAE6tG,GAAK7tG,EAAEqI,IAAMkG,EAAIpC,EAAE0hG,GAAK1hG,EAAE9D,EAC1C,EAAGylG,YAAa,SAAS9tG,EAAGmM,EAAGs3C,EAAGl1C,GAChC,IAAIq6C,EAAGsG,EAAG1gD,EAAG4iD,EAAGrT,EAAIL,EAAIW,EACxB,IAAK9vC,GAAKA,IAAMszB,KACd,OAAO+mB,EAAI5oD,EAAE6tG,GAAK1hG,EAAE0hG,GAAI3+C,EAAIlvD,EAAE6tG,GAAKpqD,EAAEoqD,GAAI9vD,EAAK5xC,EAAE9D,EAAI8D,EAAE0hG,GAAInwD,EAAK+F,EAAEp7C,EAAIo7C,EAAEoqD,GAAqD,KAAhDxvD,GAAM7vC,EAAI7K,KAAKmI,IAAI88C,KAAOwI,EAAIztD,KAAKmI,IAAIojD,UAAmBlvD,EAAEqI,EAAIrI,EAAE6tG,IAAM9vD,EAAKL,GAAM,QAAW19C,EAAEqI,EAAIrI,EAAE6tG,IAAM9vD,EAAKqT,EAAI1T,EAAKlvC,GAAK6vC,GAC7MuK,EAAIr6C,EAAEmO,SAAS1c,EAAGmM,GAAG,GAAI,GAAK+iD,EAAI3gD,EAAEmO,SAAS1c,EAAGyjD,GAAG,GAAI,GAAK1F,EAAKxvC,EAAEmO,SAASvQ,EAAGA,GAAG,GAAI,GAAKuxC,EAAKnvC,EAAEmO,SAAS+mC,EAAGA,GAAG,GAAI,GAAsD,KAAhDpF,GAAM7vC,EAAI7K,KAAKmI,IAAI88C,KAAOwI,EAAIztD,KAAKmI,IAAIojD,KAAa0+C,GAAGG,YAAY/tG,EAAGA,GAAI+9C,EAAKL,GAAM,EAAGnvC,GAAG,GAAMq/F,GAAGG,YAAY/tG,EAAGA,GAAI+9C,EAAKqT,EAAI1T,EAAKlvC,GAAK6vC,EAAI9vC,GAAG,EAC9Q,EAAGy/F,YAAanyF,OAAOoyF,kBAAmBF,YAAa,SAAS/tG,EAAGmM,EAAGs3C,EAAGl1C,EAAGq6C,GAC1E,IAAIsG,EAAG1gD,EACPD,GAAKA,IAAMszB,MAAQqtB,EAAItG,EAAIz8C,EAAE0hG,GAAK1hG,EAAE9D,EAAGmG,EAAIo6C,EAAIz8C,EAAE+hG,GAAK/hG,EAAE7D,EAAG4mD,GAAKzL,EAAIl1C,EAAElG,EAAGmG,GAAKi1C,EAAIl1C,EAAEjG,EAAGtI,EAAEqI,EAAI6mD,GAAKlvD,EAAEsI,EAAIkG,GAAKD,EAAEy/F,aAAehuG,EAAEqI,GAAKugD,EAAIz8C,EAAE0hG,GAAK1hG,EAAE9D,GAAKo7C,CACzJ,EAAGrjC,MAAO,EAAG+tF,MAAO,SAASnuG,GAC3BA,EAAEouG,UAAW,CACf,EAAGC,QAAS,SAASruG,GACnB,OAAOA,EAAEouG,QACX,EAAGE,QAAS,SAAStuG,GACnBA,EAAEouG,UAAW,CACf,GAAKG,GAAK,CAAElmG,EAAG,EAAGC,EAAG,EAAGsR,KAAM,IAAK8C,SAAU,SAAS1c,EAAGmM,EAAGs3C,EAAGl1C,GAC7D,OAAQk1C,EAAIzjD,EAAEkuG,GAAKluG,EAAEsI,IAAMiG,EAAIpC,EAAE+hG,GAAK/hG,EAAE7D,EAC1C,EAAGwlG,YAAa,SAAS9tG,EAAGmM,EAAGs3C,EAAGl1C,GAChC,IAAIq6C,EAAGsG,EAAG1gD,EAAG4iD,EAAGrT,EAAIL,EAAIW,EACxB,IAAK9vC,GAAKA,IAAMszB,KACd,OAAO+mB,EAAI5oD,EAAEkuG,GAAK/hG,EAAE+hG,GAAIh/C,EAAIlvD,EAAEkuG,GAAKzqD,EAAEyqD,GAAInwD,EAAK5xC,EAAE7D,EAAI6D,EAAE+hG,GAAIxwD,EAAK+F,EAAEn7C,EAAIm7C,EAAEyqD,GAAqD,KAAhD7vD,GAAM7vC,EAAI7K,KAAKmI,IAAI88C,KAAOwI,EAAIztD,KAAKmI,IAAIojD,UAAmBlvD,EAAEsI,EAAItI,EAAEkuG,IAAMnwD,EAAKL,GAAM,QAAW19C,EAAEsI,EAAItI,EAAEkuG,IAAMnwD,EAAKqT,EAAI1T,EAAKlvC,GAAK6vC,GAC7MuK,EAAIr6C,EAAEmO,SAAS1c,EAAGmM,GAAG,GAAI,GAAK+iD,EAAI3gD,EAAEmO,SAAS1c,EAAGyjD,GAAG,GAAI,GAAK1F,EAAKxvC,EAAEmO,SAASvQ,EAAGA,GAAG,GAAI,GAAKuxC,EAAKnvC,EAAEmO,SAAS+mC,EAAGA,GAAG,GAAI,GAAsD,KAAhDpF,GAAM7vC,EAAI7K,KAAKmI,IAAI88C,KAAOwI,EAAIztD,KAAKmI,IAAIojD,KAAaq/C,GAAGR,YAAY/tG,EAAGA,GAAI+9C,EAAKL,GAAM,EAAGnvC,GAAG,GAAMggG,GAAGR,YAAY/tG,EAAGA,GAAI+9C,EAAKqT,EAAI1T,EAAKlvC,GAAK6vC,EAAI9vC,GAAG,EAC9Q,EAAGy/F,YAAa,EAAGD,YAAa,SAAS/tG,EAAGmM,EAAGs3C,EAAGl1C,EAAGq6C,GACnD,IAAIsG,EAAG1gD,EACPD,GAAKA,IAAMszB,MAAQqtB,EAAItG,EAAIz8C,EAAE0hG,GAAK1hG,EAAE9D,EAAGmG,EAAIo6C,EAAIz8C,EAAE+hG,GAAK/hG,EAAE7D,EAAG4mD,GAAKzL,EAAIl1C,EAAElG,EAAGmG,GAAKi1C,EAAIl1C,EAAEjG,EAAGtI,EAAEsI,EAAIkG,EAAID,EAAEy/F,aAAehuG,EAAEqI,EAAI6mD,IAAMlvD,EAAEsI,GAAKsgD,EAAIz8C,EAAE+hG,GAAK/hG,EAAE7D,GAAKm7C,CACzJ,EAAGrjC,MAAOvE,OAAO2yF,kBAAmBL,MAAO,SAASnuG,GAClDA,EAAEyuG,UAAW,CACf,EAAGJ,QAAS,SAASruG,GACnB,OAAOA,EAAEyuG,QACX,EAAGH,QAAS,SAAStuG,GACnBA,EAAEyuG,UAAW,CACf,GACA,SAASC,GAAG1uG,EAAGmM,GACb01B,KAAKx5B,EAAIrI,EAAG6hC,KAAKv5B,EAAI6D,EAAG01B,KAAKjoB,UAAO,EAAQioB,KAAKzhB,MAAQjU,EAAInM,EAAG6hC,KAAKmsE,aAAehuG,EAAImM,EAAG/L,OAAOuuG,OAAO9sE,KAC3G,CACA,SAAS+sE,GAAG5uG,EAAGmM,GACb,IAAIs3C,EAAI9/C,KAAK6F,KAAKxJ,EAAIA,EAAImM,EAAIA,GAC9B,OAAOA,GAAKs3C,EAAgB,KAAZzjD,GAAKyjD,IAAkB,IAANt3C,EAAUyhG,GAAW,IAAN5tG,GAAiB,IAANmM,EAAUoiG,GAAK,IAAIG,GAAG1uG,EAAGmM,EACtF,CACA,SAAS0iG,GAAG7uG,EAAGmM,EAAGs3C,EAAGl1C,GACnBszB,KAAKx5B,EAAIw5B,KAAKgsE,GAAKlqG,KAAK42B,MAAM,GAAKv6B,GAAK,GAAI6hC,KAAKv5B,EAAIu5B,KAAKqsE,GAAKvqG,KAAK42B,MAAM,GAAKpuB,GAAK,GAAI01B,KAAKg6D,mBAAqBp4C,EAAG5hB,KAAKqoE,QAAU37F,EAAGszB,KAAKitE,wBAAqB,EAAQjtE,KAAKktE,wBAAqB,EAAQltE,KAAKusE,UAAW,EAAIvsE,KAAK4sE,UAAW,EAAIruG,OAAOw6E,kBAAkB/4C,KAC9Q,CACAzhC,OAAOuuG,OAAOf,IAAKxtG,OAAOuuG,OAAOJ,IAAKG,GAAGptG,UAAUob,SAAW,SAAS1c,EAAGmM,EAAGs3C,EAAGl1C,GAC9E,OAAOszB,KAAKx5B,EAAIulG,GAAGlxF,SAAS1c,EAAGmM,EAAGs3C,EAAGl1C,GAAKszB,KAAKv5B,EAAIimG,GAAG7xF,SAAS1c,EAAGmM,EAAGs3C,EAAGl1C,EAC1E,EAAGmgG,GAAGptG,UAAUwsG,YAAc,SAAS9tG,EAAG4oD,EAAGsG,EAAG3gD,GAC9C,IAAIC,EAAID,EAAEmO,SAAS1c,EAAG4oD,GAAG,GAAI,GAAKwI,EAAI7iD,EAAEmO,SAAS1c,EAAGkvD,GAAG,GAAI,GAAmGnR,GAA9F6K,EAAIr6C,EAAEmO,SAASksC,EAAGA,GAAG,GAAI,GAAKsG,EAAI3gD,EAAEmO,SAASwyC,EAAGA,GAAG,GAAI,IAAK1gD,EAAI7K,KAAKmI,IAAI0C,KAAI4iD,EAAIztD,KAAKmI,IAAIslD,KACnJ,IAAPrT,EAAWlc,KAAKksE,YAAY/tG,EAAGA,GAAI4oD,EAAIsG,GAAK,EAAG3gD,GAAG,GAAMszB,KAAKksE,YAAY/tG,EAAGA,GAAI4oD,EAAIwI,EAAIlC,EAAI1gD,GAAKuvC,EAAIxvC,GAAG,EAC1G,EAAGmgG,GAAGptG,UAAUysG,YAAc,SAAS/tG,EAAGkvD,EAAGnR,EAAIL,EAAI0T,GACnD,IAAI5iD,EAAI4iD,EAAIlC,EAAE2+C,GAAK3+C,EAAE7mD,EAA2Hg2C,GAAxH+S,EAAIA,EAAIlC,EAAEg/C,GAAKh/C,EAAE5mD,EAAG4mD,EAAI1gD,EAAIuvC,GAAML,EAAKA,GAAM7b,MAAMx5B,EAAGmG,EAAI4iD,EAAIrT,EAAKL,EAAGp1C,EAAG8oD,EAAI1T,EAAGswD,YAAajwD,EAAKlc,KAAKzhB,MAAOs9B,EAAK19C,EAAEqI,EAAQrI,EAAEsI,GACvJtI,EAAEqI,GAAK01C,EAAKL,EAAK0T,EAAIlC,EAAI1gD,EAAI6vC,IAAON,EAAKqT,GAAIpxD,EAAEsI,EAAIy1C,GAAM/9C,EAAEqI,EAAIq1C,GAAMW,CACvE,EAAGqwD,GAAGptG,UAAU6sG,MAAQ,SAASnuG,GAC/BA,EAAEouG,UAAW,EAAIpuG,EAAEyuG,UAAW,CAChC,EAAGI,GAAGvtG,UAAU0tG,YAAc,SAAShvG,GACrC,IAAK,IAAImM,EAAI01B,KAAKktE,oBAAqB/uG,EAAEquG,QAAQliG,IAAMA,IAAM01B,MAC3D11B,EAAIA,EAAE4iG,mBACR,OAAO5iG,CACT,EAAG0iG,GAAGvtG,UAAU2tG,YAAc,SAASjvG,GACrC,IAAK,IAAImM,EAAI01B,KAAKitE,oBAAqB9uG,EAAEquG,QAAQliG,IAAMA,IAAM01B,MAC3D11B,EAAIA,EAAE2iG,mBACR,OAAO3iG,CACT,EACA,IAAI4/B,GAAK3rC,OAAOuuG,OAAO,IAAIE,GAAG,EAAG,IAAKK,GAAK,CAAEC,QAAS,GAAK,GAAIC,UAAW,EAAGC,WAAY,KAAO/3E,KAAM,EAAGg4E,OAAQ,EAAGC,UAAU,GAC9H,SAASC,GAAGxvG,EAAGmM,GACb,OAAQ01B,KAAK4tE,IAAMzvG,EAAG6hC,KAAK9S,MAAQ,GAAI8S,KAAK6tE,KAAOvjG,EAAGnM,GACpD,IAAK,OACH6hC,KAAK8tE,IAAM9tE,KAAK+tE,IAAM/tE,KAAKguE,IAAM,EAAGhuE,KAAKiuE,IAAMjuE,KAAKkuE,IAAMluE,KAAKmuE,IAAM,EACvE,IAAK,OACHnuE,KAAKouE,GAAKpuE,KAAKquE,GAAKruE,KAAKsuE,IAAMvC,GAAI/rE,KAAKtH,MAAQ2yE,GAEtD,CACA,SAASrhE,GAAG7rC,GACV,IAAK,IAAImM,EAAInM,EAAEowG,MAAQ,IAAIvqG,MAAM7F,EAAEqwG,MAAM7tG,QAASihD,EAAI,EAAGA,EAAIt3C,EAAE3J,OAAQihD,IACrEt3C,EAAEs3C,GAAK,IAAIorD,GAAG,EAAG,EACrB,CACA,SAASyB,GAAGtwG,EAAGmM,GACb,IAAIs3C,EAAGl1C,EAAIvO,EAAE0vG,KAAM9mD,EAAI5oD,EAAEuwG,GAAIrhD,EAAI,EACjC,MACuB,MAAhBzL,EAAIl1C,IAAIq6C,IACXsG,SACG,GAAU,KAANzL,EACPyL,SACG,GAAU,KAANzL,EACPmF,GAAKr6C,EAAEq6C,EAAI,GAAK,OACb,GAAU,KAANnF,EACPmF,GAAK,EAAIr6C,EAAEq6C,EAAI,GAAK,OACjB,GAAI,KAAOnF,GAAKA,GAAK,IACxBmF,GAAKnF,EAAI,IAAM,OACZ,GAAI,KAAOA,GAAKA,GAAK,IACxBmF,GAAK,GAAKnF,EAAI,IAAM,QACjB,GAAIt3C,GAAW,IAAN+iD,GAAiB,KAANzL,EACvB,YACG,EAAIyL,GACXlvD,EAAEuwG,GAAK3nD,CACT,CACA,SAAS4nD,GAAGxwG,EAAGmM,GACb24B,EAAE2rE,OAAS/qG,QAAQD,IAAI0G,EAAEukG,KAAM,SAAW1wG,EAAE4Z,KAAO,KAAMzN,EAAE8jG,GAAK9jG,EAAE+jG,GAAK/jG,EAAEgkG,IAAMnwG,CACjF,CACA,SAAS2wG,GAAG3wG,EAAGmM,GACb24B,EAAE2rE,OAAS/qG,QAAQD,IAAI0G,EAAEukG,KAAM,UAAY1wG,EAAE4Z,KAAO,KAAMzN,EAAE+jG,GAAK/jG,EAAEgkG,IAAMnwG,CAC3E,CACA,SAAS4wG,GAAG5wG,EAAGmM,GACb24B,EAAE2rE,OAAS/qG,QAAQD,IAAI0G,EAAEukG,KAAM,UAAY1wG,EAAE4Z,KAAO,KAAMzN,EAAE8jG,GAAKjwG,CACnE,CACA,SAASuoG,GAAGvoG,EAAGmM,GACb,IAAIs3C,EAAgBl1C,GAAbq6C,EAAIz8C,EAAE4iB,OAAalgB,MAAO+5C,EAAIA,EAAE/5C,MAAOqgD,EAAI/iD,EAAE0kG,GAAGtiG,GAAIC,EAAIrC,EAAE2kG,GAAGloD,GACpE9jB,EAAE2rE,OAAS/qG,QAAQD,IAAI,SAAWzF,EAAI,IAAKuO,EAAGq6C,GAAIr6C,EAAIvO,GAAKyjD,EAAIyL,EAAE5mD,EAAIkG,EAAElG,EAAGkG,EAAEnG,EAAI6mD,EAAE7mD,IAAMo7C,EAAIj1C,EAAEnG,EAAI6mD,EAAE7mD,EAAGmG,EAAElG,EAAI4mD,EAAE5mD,GAAI6D,EAAE+jG,GAAK/jG,EAAEgkG,IAAMvB,GAAGnrD,EAAGl1C,EAC1I,CACA,SAASwiG,GAAG/wG,EAAGmM,GACb,IAAIs3C,EAAgBl1C,GAAbq6C,EAAIz8C,EAAE4iB,OAAalgB,MAAO+5C,EAAIA,EAAE/5C,MAAOqgD,EAAI/iD,EAAE0kG,GAAGtiG,GAAIC,EAAIrC,EAAE2kG,GAAGloD,GACpE9jB,EAAE2rE,OAAS/qG,QAAQD,IAAI,SAAWzF,EAAI,IAAKuO,EAAGq6C,GAAIr6C,EAAIvO,GAAKyjD,EAAIyL,EAAE5mD,EAAIkG,EAAElG,EAAGkG,EAAEnG,EAAI6mD,EAAE7mD,IAAMo7C,EAAIj1C,EAAEnG,EAAI6mD,EAAE7mD,EAAGmG,EAAElG,EAAI4mD,EAAE5mD,GAAI6D,EAAE8jG,GAAKrB,GAAGnrD,EAAGl1C,EAClI,CACA,SAASyiG,GAAGhxG,GACV8kC,EAAE2rE,OAAS/qG,QAAQD,IAAIzF,EAAE0wG,KAAM,SAAU1wG,EAAE+uB,MAAMlgB,KACnD,CACA,SAASoiG,GAAGjxG,EAAGmM,GACb,IAAIs3C,EAAIt3C,EAAE4iB,MAAMlgB,MAAON,EAAIpC,EAAE+kG,GAAGztD,GAAImF,EAAIz8C,EAAE8jG,GAAI/gD,EAAI/iD,EAAE+jG,GAAI1hG,GAAKs2B,EAAE2rE,OAAS/qG,QAAQD,IAAI0G,EAAEukG,KAAM,QAAU1wG,EAAI,IAAKyjD,GAAIyL,EAAExyC,SAASnO,EAAGw9B,KACjI/rC,IAAMwO,EAAIrC,EAAEouB,MAAM/rB,IAAKo6C,EAAEmlD,YAAYx/F,EAAGw9B,GAAIv9B,EAAG0gD,GAAItG,EAAEulD,MAAM5/F,GAAIpC,EAAE2jG,IAAM3jG,EAAE4jG,IAAMtsD,CACjF,CACA,SAAS4jC,GAAGrnF,EAAGmM,GACb,IAAIs3C,EAAGl1C,EAAGq6C,EAAGsG,EAAI/iD,EAAE0kG,GAAIriG,EAAI0gD,EAAE1sD,OAAS,EACtCsiC,EAAE2rE,OAAS/qG,QAAQD,IAAI0G,EAAEukG,KAAM,OAAS1wG,EAAE4Z,KAAO,KACjD,IAAK,IAAIw3C,EAAI,EAAGA,EAAI5iD,EAAG4iD,IACrB3N,EAAIyL,EAAEkC,GAAIpxD,EAAEquG,QAAQ5qD,KAAOl1C,EAAIk1C,EAAEwrD,YAAYjvG,MAAQyjD,IAAMl1C,KAAOq6C,EAAInF,EAAEurD,YAAYhvG,KAAOA,EAAE+tG,YAAYtqD,EAAGA,EAAGzjD,EAAE0c,SAASnO,EAAGA,GAAG,GAAI,GAAKvO,GAAG,GAAKA,EAAE8tG,YAAYrqD,EAAGl1C,EAAGq6C,EAAG5oD,GAC5K,CACA,SAASyV,GAAGzV,EAAGmM,GACb,IAAK,IAAIs3C,EAAIt3C,EAAE4iB,MAAOxgB,EAAIvO,EAAImM,EAAE4jG,IAAM5jG,EAAE6jG,IAAKpnD,GAAK5oD,EAAImM,EAAE+kG,GAAK/kG,EAAE2kG,IAAIviG,GAAI2gD,EAAI/iD,EAAE8jG,GAAIzhG,EAAIrC,EAAE+jG,GAAI9+C,EAAIjlD,EAAEmrB,KAAMymB,EAAK5xC,EAAE0kG,GAAIz/C,KAAO,CACvH,IAAI1T,EAAK+F,EAAE50C,MAAOwvC,EAAKN,EAAGL,GAAKwD,EAAK1yC,EAAEkO,SAASksC,EAAGA,GAAG,GAAI,GACzDsG,EAAE6+C,YAAY1vD,EAAIA,EAAI6C,EAAI1yC,GAAI0gD,EAAEi/C,MAAM9vD,GAAKvZ,EAAE2rE,OAAS/qG,QAAQD,IAAI0G,EAAEukG,MAAO,EAAIvkG,EAAEmrB,KAAO,SAAWnrB,EAAEmrB,KAAO85B,GAAK,KAAO,IAAM,QAAUpxD,EAAI,MAAQ,OAAS,IAAK09C,EACpK,CACAvxC,EAAEmrB,KAAO,CACX,CACA,SAAS65E,GAAGnxG,EAAGmM,GACb,IAAK,IAAIs3C,EAAIt3C,EAAE4iB,MAAOvgB,EAAIxO,EAAImM,EAAE4jG,IAAM5jG,EAAE6jG,IAAKzhG,GAAKvO,EAAImM,EAAE+kG,GAAK/kG,EAAE2kG,IAAItiG,GAAIo6C,EAAIz8C,EAAE8jG,GAAI/gD,EAAI/iD,EAAE+jG,GAAiB9+C,GAAb5iD,EAAIi1C,EAAE50C,MAAW1C,EAAE0kG,GAAG1kG,EAAEilG,SAAS5iG,KAAKuvC,EAAKqT,EAAG1T,GAAM5Y,EAAE2rE,OAAS/qG,QAAQD,IAAI0G,EAAEukG,KAAM,OAAS1wG,EAAI,IAAKwO,GAAI0gD,EAAExyC,SAASnO,EAAGA,GAAG,GAAI,IAAMwvC,IAAOxvC,GAAKq6C,EAAEmlD,YAAYhwD,EAAIA,EAAIL,EAAIwR,IAAKnR,EAAKA,EAAGgxD,sBAAwB39C,IAE5S,CACA,SAASigD,GAAGrxG,EAAGmM,GACb,IAAIs3C,EAAGl1C,EAAG6iD,EAAIjlD,EAAE4iB,MAAO65B,EAAI5oD,EAAImM,EAAE4jG,IAAM5jG,EAAE6jG,IAA+B9gD,GAA1BtG,GAAK5oD,EAAImM,EAAE+kG,GAAK/kG,EAAE2kG,IAAIloD,GAAQz8C,EAAE8jG,IAAIzhG,EAAIrC,EAAE+jG,GACxF,OAD4F9+C,EAAIA,EAAEviD,MAC1Fi2B,EAAE2rE,OAAS/qG,QAAQD,IAAI0G,EAAEukG,KAAM,OAAS1wG,EAAI,IAAKoxD,GAAIA,GAC3D,KAAK,EACH3N,EAAIt3C,EAAEikG,MACN,MACF,KAAK,EACH3sD,EAAIt3C,EAAEkkG,MACN,MACF,QACE,MAAM,IAAI9rE,MAAM,gBAEpB,IAAK,IAAIwZ,EAAKvvC,EAAEkO,SAASksC,EAAGA,GAAG,GAAI,GAAKlL,EAAK+F,EAAEjhD,OAAS,EAAG67C,EAAK,EAAGA,EAAKX,EAAIW,IAC1E9vC,EAAIk1C,EAAEpF,GAAK6Q,EAAE6+C,YAAYx/F,EAAGA,EAAGwvC,EAAIvvC,EACvC,CACA,SAAS8iG,GAAGtxG,EAAGmM,GACb,IAAiBs3C,GAAbl1C,EAAIpC,EAAE4iB,OAAalgB,MAAQ,GAAIN,EAAIA,EAAEM,MAAO+5C,EAAIz8C,EAAE2kG,GAAGviG,GAAI2gD,EAAI/iD,EAAE+kG,GAAG/kG,EAAE2jG,KAAMthG,EAAIrC,EAAE8jG,GAAI7+C,EAAIjlD,EAAE+jG,GAC9F1hG,EAAEu/F,YAAYnlD,EAAGsG,EAAGzL,EAAG2N,GAAI5iD,EAAE2/F,MAAMvlD,GAAI9jB,EAAE2rE,OAAS/qG,QAAQD,IAAI0G,EAAEukG,KAAM,SAAW1wG,EAAI,IAAKyjD,EAAGl1C,GAAIpC,EAAE4jG,IAAM5jG,EAAE2jG,IAAK3jG,EAAE6jG,IAAMzhG,EAAGvO,IAAMmM,EAAE2jG,IAAMvhG,EAC3I,CACA,SAASgjG,GAAGvxG,EAAGmM,GACb,IAAiBilD,GAAb3N,EAAIt3C,EAAE4iB,OAAalgB,MAAO40C,EAAIA,EAAE50C,MAAON,EAAIpC,EAAE+kG,GAAGztD,GAAImF,EAAIz8C,EAAE8jG,GAAI/gD,EAAI/iD,EAAE+jG,GAAI1hG,EAAIrC,EAAEqlG,IAAIpgD,GAAStsB,EAAE2rE,OAAS/qG,QAAQD,IAAI0G,EAAEukG,KAAM,QAAU1wG,EAAI,IAAKoxD,EAAG,IAAK5iD,EAAG,IAAKi1C,GAAvE2N,EAA2ElC,EAAExyC,SAASnO,EAAGw9B,IACnL/rC,IAAM2D,KAAKmI,IAAIslD,EAAI5iD,GAAKrC,EAAEgjG,UAAY/9C,EAAI5iD,GAAI4iD,EAAIjlD,EAAEouB,MAAM62B,IAAKxI,EAAEmlD,YAAYx/F,EAAGw9B,GAAIqlB,EAAGlC,GAAc,IAAV/iD,EAAEwjG,MAAcphG,EAAEs/F,GAAKt/F,EAAElG,EAAGkG,EAAE2/F,GAAK3/F,EAAEjG,GAAIsgD,EAAEulD,MAAM5/F,GAAIpC,EAAE2jG,IAAM3jG,EAAE4jG,IAAMtsD,CAClK,CACA,SAASguD,GAAGzxG,EAAGmM,GACb,IAAIs3C,EAAIt3C,EAAE4iB,MAAOxgB,EAAIk1C,EAAE50C,MAAO+5C,EAAIz8C,EAAE0kG,GAAGtiG,GACvCu2B,EAAE2rE,OAAS/qG,QAAQD,IAAI0G,EAAEukG,KAAM,MAAQ1wG,EAAI,IAAKuO,GAAIk1C,EAAE3gD,KAAK,GAAKqJ,EAAEgkG,IAAIzzF,SAASksC,EAAG7c,GAAI/rC,GAAG,GAC3F,CACA,SAAS0xG,GAAG1xG,EAAGmM,GACb,IAAiBs3C,GAAbl1C,EAAIpC,EAAE4iB,OAAalgB,MAAON,EAAIA,EAAEM,MAAO+5C,EAAIz8C,EAAE2kG,GAAGrtD,GAAIyL,EAAI/iD,EAAE+kG,GAAG3iG,GAAI2gD,EAAI/iD,EAAEgkG,IAAIzzF,SAASwyC,EAAGtG,EAAG5oD,EAAGA,GACjG8kC,EAAE2rE,OAAS/qG,QAAQD,IAAI0G,EAAEukG,KAAM,MAAQ1wG,EAAI,IAAKyjD,EAAGl1C,EAAG,KAAM2gD,GAAI/iD,EAAE4iB,MAAMjsB,KAAKa,KAAK42B,MAAM,GAAK20B,GAC/F,CACA,SAASyiD,GAAG3xG,EAAGmM,GACb,IAAIs3C,EAAIt3C,EAAE4iB,MAAOxgB,EAAIk1C,EAAE50C,MAAO+5C,EAAIz8C,EAAE8jG,GAAI/gD,EAAI/iD,EAAE+jG,GAAI1hG,EAAIrC,EAAEylG,KAAMxgD,EAAIjlD,EAAEijG,UAAY,IAAMpvG,EAAI,GAAI+9C,EAAK5xC,EAAEkjG,WAAY3xD,EAAKvxC,EAAE+kG,GACxHpsE,EAAE2rE,OAAS/qG,QAAQD,IAAI0G,EAAEukG,KAAM,UAAY1wG,EAAI,IAAKuO,EAAGk1C,GACvD,IAAK,IAAIpF,EAAK,EAAGA,EAAK9vC,EAAG8vC,IAAM,CAC7B,IAAI6C,EAAKuC,EAAE50C,MAAOstC,EAAKsH,EAAE50C,MACzBuiD,IAAM,IAAMjV,IAAO,KAAO3tC,IAAM,IAAM2tC,GAAM,GAAKA,GAAM,IAAMA,IAAMrX,EAAE2rE,OAAS/qG,QAAQD,IAAI0G,EAAEukG,KAAM,YAAaxvD,EAAI,KAAM/E,EAAK4B,GAAKmD,EAAKxD,EAAGwD,GAAK0H,EAAEmlD,YAAY7sD,EAAIA,EAAI/E,EAAK4B,EAAImR,GACjL,CACF,CACA,SAAS2iD,GAAG7xG,EAAGmM,GACb,IAAIs3C,EAAIt3C,EAAE4iB,MAAOxgB,EAAIk1C,EAAE50C,MACvBi2B,EAAE2rE,OAAS/qG,QAAQD,IAAI0G,EAAEukG,KAAM,WAAYjtD,EAAE3gD,KAAK,GAAKqJ,EAAEouB,MAAMhsB,EAAI,IACrE,CACA,SAASujG,GAAG9xG,EAAGmM,GACb,IAAIs3C,EAAIt3C,EAAE4iB,MAAOxgB,EAAIk1C,EAAE50C,MAAO+5C,EAAIz8C,EAAEylG,KAAM1iD,EAAI/iD,EAAEijG,UAAY,IAAMpvG,EAAI,GAAIwO,EAAIrC,EAAEkjG,WAChFvqE,EAAE2rE,OAAS/qG,QAAQD,IAAI0G,EAAEukG,KAAM,UAAY1wG,EAAI,IAAKuO,EAAGk1C,GACvD,IAAK,IAAI2N,EAAI,EAAGA,EAAI7iD,EAAG6iD,IAAK,CAC1B,IAAIrT,EAAK0F,EAAE50C,MAAO6uC,EAAK+F,EAAE50C,MACzBqgD,IAAM,IAAMxR,IAAO,KAAOkL,IAAM,IAAMlL,GAAM,GAAKA,GAAM,IAAMA,IAAMA,GAAUlvC,EAAGs2B,EAAE2rE,OAAS/qG,QAAQD,IAAI0G,EAAEukG,KAAM,YAAa3yD,EAAI,KAAML,GAAKvxC,EAAEqlG,IAAIzzD,IAAOL,EAC1J,CACF,CACA,SAASq0D,GAAG/xG,EAAGmM,GACb,IAAIs3C,EAAgBl1C,GAAbq6C,EAAIz8C,EAAE4iB,OAAalgB,MAAO+5C,EAAIA,EAAE/5C,MAAOqgD,EAAI/iD,EAAE0kG,GAAGtiG,GAAIC,EAAIrC,EAAE2kG,GAAGloD,GACpE9jB,EAAE2rE,OAAS/qG,QAAQD,IAAI0G,EAAEukG,KAAM,UAAY1wG,EAAI,IAAKuO,EAAGq6C,GAAIr6C,EAAIvO,GAAKyjD,EAAIyL,EAAE5mD,EAAIkG,EAAElG,EAAGkG,EAAEnG,EAAI6mD,EAAE7mD,IAAMo7C,EAAIj1C,EAAEnG,EAAI6mD,EAAE7mD,EAAGmG,EAAElG,EAAI4mD,EAAE5mD,GAAI6D,EAAEgkG,IAAMvB,GAAGnrD,EAAGl1C,EAC5I,CACA,SAASyjG,GAAGhyG,EAAGmM,GACb,IAAIs3C,EAAIt3C,EAAE4iB,MAAOxgB,EAAIpC,EAAEujG,KAAM9mD,EAAIz8C,EAAEokG,GACnCzrE,EAAE2rE,OAAS/qG,QAAQD,IAAI0G,EAAEukG,KAAM,SAAW1wG,EAAI,KAC9C,IAAK,IAAIkvD,EAAI,EAAGA,EAAIlvD,EAAGkvD,IACrBzL,EAAE3gD,KAAKyL,IAAIq6C,IACbz8C,EAAEokG,GAAK3nD,CACT,CACA,SAASqpD,GAAGjyG,EAAGmM,GACb,IAAIs3C,EAAIt3C,EAAEokG,GAAIhiG,EAAIpC,EAAEujG,KAAM9mD,EAAIz8C,EAAE4iB,MAChC+V,EAAE2rE,OAAS/qG,QAAQD,IAAI0G,EAAEokG,GAAI,SAAWvwG,EAAI,KAC5C,IAAK,IAAIkvD,EAAI,EAAGA,EAAIlvD,EAAGkvD,IAAK,CAC1B,IAAI1gD,EAAID,IAAIk1C,IAAM,EAAIl1C,IAAIk1C,GAC1B,MAAQj1C,IAAMA,IAAM,GAAK,MAAQA,KAAMo6C,EAAE9lD,KAAK0L,EAChD,CACArC,EAAEokG,GAAK9sD,CACT,CACA,SAASvE,GAAGl/C,EAAGmM,EAAGs3C,EAAGl1C,EAAGq6C,EAAGsG,GACzB,IAAI1gD,EAAG4iD,EAAG1T,EAAKwR,EAAEngC,MAAOgvB,EAAK/9C,GAAK09C,EAAG7uC,MAAsBwvC,GAAfX,EAAKA,EAAG7uC,MAAYqgD,EAAE4gD,KAAoB5uD,GAAf7C,EAAK6Q,EAAEgiD,GAAG7yD,GAAU6Q,EAAE4hD,GAAGpzD,IAAKvB,EAAK+S,EAAEogD,OAAQhzD,EAAK4S,EAAE+gD,GAAIhxD,EAAKiQ,EAAEihD,IAAK7rD,EAAK91C,EAAIywC,EAAGviC,SAASwkC,EAAI7C,GAAI,GAAI,GAAK0C,EAAK,GAAKuD,EAAK,GAAK,EACrMA,EAAK3gD,KAAKmI,IAAIw4C,GAAKtkD,IAAMoxD,EAAIlC,EAAEsiD,IAAIzzD,GAAKxvC,GAAK5K,KAAKmI,IAAIw4C,EAAK8M,GAAKlC,EAAEigD,UAAY7qD,EAAK8M,IAAK3N,GAAKa,EAAKnI,IAAOmI,EAAKnI,GAAK5tC,IAAM+1C,EAAK4K,EAAE30B,MAAM+pB,IAAMhI,EAAGyxD,YAAY7sD,EAAI7C,EAAI0C,EAAKuD,EAAIrF,GAAK3C,EAAG6xD,MAAMjtD,GAAKpc,EAAE2rE,OAAS/qG,QAAQD,IAAIypD,EAAEwhD,MAAO1wG,EAAI,QAAU,UAAYmM,EAAI,IAAM,MAAQs3C,EAAI,IAAM,MAAQl1C,EAAI,IAAM,MAAc,IAANq6C,EAAU,KAAa,IAANA,EAAU,KAAa,IAANA,EAAU,KAAO,IAAM,IAAK5oD,EAAI+9C,EAAK,IAAMmR,EAAEsiD,IAAIzzD,GAAM,IAAMqT,EAAI,IAAM,GAAI1T,EAAI,OAAQlvC,EAAG,KAAMuyC,EAAKuD,EAAI,KAAM4K,EAAE6gD,IAAM7gD,EAAE4gD,IAAK5gD,EAAE8gD,IAAMtyD,EAAIvxC,IAAM+iD,EAAE4gD,IAAMpyD,EAC3e,CACAmvD,GAAGvrG,UAAU2mB,KAAO,SAASjoB,EAAGmM,GAC9B,GAAgB,iBAALA,EACT,MAAM,IAAIo4B,MAAM,+BAClB,KAAM,EAAI1C,KAAKmrE,aAAc,CAC3B,IAAIvpD,EAAI5hB,KAAKpI,KAAMlrB,EAAIszB,KAAKkrE,WAC5B,IAAKx+F,GAAKA,EAAEqjG,OAASzlG,EAAG,CACtB,IAAIy8C,EAAI/mB,KAAKirE,WACb,IAAKlkD,EAAG,CACN4mD,GAAGluG,UAAY4tG,IAAKtmD,EAAI/mB,KAAKirE,WAAa,IAAI0C,GAAG,OAAQ/rD,EAAE25C,OAAO8U,OAAO5qG,MAAQ,GAAIshD,EAAEnvB,KAAOgqB,EAAG3e,EAAE2rE,QAAU/qG,QAAQD,IAAI,mBAAoBmjD,EAAE8nD,MAAQ,GACvJ,IACEyB,GAAGvpD,EACL,CAAE,MAAOlL,GACP,OAAOh4C,QAAQD,IAAI,yBAA2Bi4C,QAAW7b,KAAKmrE,YAAc,EAC9E,CACF,CACAwC,GAAGluG,UAAYsnD,GAAIr6C,EAAIszB,KAAKkrE,WAAa,IAAIyC,GAAG,OAAQ/rD,EAAE25C,OAAOgV,OAAOR,KAAOzlG,EAC/E,IAAI+iD,EAAIzL,EAAE25C,OAAOoU,IACjB,GAAItiD,EACF,IAAK,IAAI1gD,EAAID,EAAEijG,IAAM,IAAI3rG,MAAMqpD,EAAE1sD,QAAS4uD,EAAIjlD,EAAIs3C,EAAEk4C,WAAY59C,EAAK,EAAGA,EAAKmR,EAAE1sD,OAAQu7C,IACrFvvC,EAAEuvC,GAAMmR,EAAEnR,GAAMqT,OAElB7iD,EAAEijG,IAAM,GACV1sE,EAAE2rE,QAAU/qG,QAAQD,IAAI,mBAAoB8I,EAAEmiG,MAAQ,GACtD,IACEyB,GAAG5jG,EACL,CAAE,MAAOmvC,GACP7b,KAAKmrE,YAAc,GAAKtnG,QAAQD,IAAI,yBAA2Bi4C,GAAK7b,KAAKmrE,YAAc,CACzF,CACF,CACA,KAAM,EAAInrE,KAAKmrE,aACb,IACE,OAAOqF,GAAGryG,EAAGuO,EACf,CAAE,MAAOmvC,GACP7b,KAAKmrE,YAAc,IAAMtnG,QAAQD,IAAI,iBAAmBi4C,GAAKh4C,QAAQD,IAAI,8CAA+Co8B,KAAKmrE,YAAc,CAC7I,CACJ,CACF,EACA,IAAIqF,GAAK,SAASryG,EAAGmM,GACnB,IAAIs3C,EAAIt3C,EAAEylG,KAAOzlG,EAAEstB,KAAKkiE,WAAYptF,EAAIk1C,EAAGmF,EAAI5oD,EAAE8lG,WACjD,GAAI0J,GAAGluG,UAAY6K,EAAGy8C,EAAG,CACvB,IAAK,IAAIsG,EAAI/iD,EAAEstB,KAAMjrB,EAAI,GAAI4iD,EAAI,GAAIrT,EAAK,EAAGA,EAAK6K,EAAEpmD,OAAQu7C,IAAM,CAChE,IAAIL,EAAKkL,EAAE7K,GAAKM,EAAK6Q,EAAE2iC,OAAOtxF,IAAIm9C,EAAGu8C,YAAa/4C,EAAK,IAAIsuD,GAAG,OAAQnxD,EAAG4rD,cACzEnlE,EAAE2rE,QAAU/qG,QAAQD,IAAI,gBAAkBs4C,EAAK,OAAQmD,EAAGwvD,MAAQ,GAAI/0B,GAAGt9B,EAAI6C,EAAIuC,EAAGl1C,GACpF,IAAK,IAAI4tC,EAAKx4C,KAAK42B,MAAMmjB,EAAGnxC,GAAKk3C,GAAInH,EAAK34C,KAAK42B,MAAMmjB,EAAGlxC,GAAK+B,GAAI0wC,EAAKiC,EAAGmvD,MAAO/rD,EAAKpD,EAAGkwD,SAAUrwD,EAAK,EAAGA,EAAK9B,EAAGz8C,OAAQu+C,IAAM,CAC9H,IAAII,EAAKlC,EAAG8B,GACZI,EAAGitD,SAAWjtD,EAAGstD,UAAW,EAAIttD,EAAG0sD,GAAK1sD,EAAG94C,EAAI84C,EAAG94C,EAAI8zC,EAAIgF,EAAG+sD,GAAK/sD,EAAG74C,EAAI64C,EAAG74C,EAAIg0C,CAClF,CACA,IAAIwC,EAAKtwC,EAAEhM,OACXgM,EAAE1L,KAAK6C,MAAM6I,EAAGywC,GAChB,IAAK,IAAI8C,EAAK,EAAGA,EAAKuC,EAAG9hD,OAAQu/C,IAC/BqP,EAAEtuD,KAAKwhD,EAAGvC,GAAMjD,EACpB,CACA9+C,EAAEiqG,eAAiB/oD,EAAGoxD,kBAAoBpxD,EAAK,IAAIsuD,GAAG,OAAQxvG,EAAEiqG,eAAeoG,MAAQnvD,EAAGgwD,GAAKhwD,EAAG4vD,GAAK5vD,EAAG2vD,GAAKriG,EAAG0yC,EAAGkwD,SAAWhgD,EAAG5iD,EAAE1L,KAAK,IAAI+rG,GAAG,EAAG,GAAI,IAAIA,GAAGlrG,KAAK42B,MAAMv6B,EAAEs7F,aAAe73C,GAAI,IAAK3e,EAAE2rE,QAAU/qG,QAAQD,IAAI,wBAAyBy7C,EAAGwvD,MAAQ,GAAIyB,GAAGjxD,GAAK1yC,EAAEhM,QAAU,EAC1R,MACE0+C,EAAK,IAAIsuD,GAAG,OAAQxvG,EAAEiqG,cAAenlE,EAAE2rE,QAAU/qG,QAAQD,IAAI,oBAAqBy7C,EAAGwvD,MAAQ,GAAI/0B,GAAG37E,EAAGkhD,EAAIuC,EAAGl1C,GAAIC,EAAI0yC,EAAGmvD,MAC3H,OAAO7hG,CACT,EAAGmtE,GAAK,SAAS37E,EAAGmM,EAAGs3C,EAAGl1C,GACxB,IAAK,IAAIq6C,EAAGsG,EAAG1gD,EAAG4iD,EAAIpxD,EAAEkL,QAAU,GAAI6yC,EAAKqT,EAAE5uD,OAAQk7C,EAAKvxC,EAAEkkG,MAAQlkG,EAAE+kG,GAAK/kG,EAAE2kG,GAAK3kG,EAAE0kG,GAAK,GAAIxyD,EAAKlyC,EAAEilG,SAAW,GAAIlwD,EAAK,EAAGA,EAAKnD,EAAImD,IAClI0H,EAAIwI,EAAElQ,GAAKxD,EAAGwD,GAAM,IAAI2tD,GAAGjmD,EAAEvgD,EAAIo7C,EAAGmF,EAAEtgD,EAAIiG,EAAGq6C,EAAEizC,mBAAoBjzC,EAAEshD,SACvE,IAAK,IAAI/tD,EAAK,EAAGA,EAAK4B,EAAI5B,IACxByM,EAAIlL,EAAGvB,GAAK+S,IAAMA,EAAItG,EAAGvK,EAAGv7C,KAAKq5C,IAAMyM,EAAEizC,qBAAuBjzC,EAAEmmD,mBAAqB7/C,GAAG4/C,mBAAqBlmD,EAAGsG,OAAI,IAAW1gD,EAAIkvC,EAAGvB,EAAK,IAAKyM,EAAEmmD,mBAAqBvgG,GAAGsgG,mBAAqBlmD,GACnM,IAAKz8C,EAAEmmG,eAAgB,CACrB,GAAIxtE,EAAE2rE,MAAO,CACX/qG,QAAQD,IAAI,mBAAoB0G,EAAE4iB,OAClC,IAAK,IAAIutB,EAAK,EAAGA,EAAKyB,EAAIzB,IACxB52C,QAAQD,IAAI62C,EAAIoB,EAAGpB,GAAIj0C,EAAGq1C,EAAGpB,GAAIh0C,EACrC,CACA,GAAIo1C,EAAG56C,KAAK,IAAI+rG,GAAG,EAAG,GAAI,IAAIA,GAAGlrG,KAAK42B,MAAMv6B,EAAEs7F,aAAe73C,GAAI,IAAK0uD,GAAGhmG,GAAIuxC,EAAGl7C,QAAU,EAAGsiC,EAAE2rE,MAAO,CACpG/qG,QAAQD,IAAI,iBAAkB0G,EAAE4iB,OAChC,IAAK,IAAIkwB,EAAK,EAAGA,EAAKlB,EAAIkB,IACxBv5C,QAAQD,IAAIw5C,EAAIvB,EAAGuB,GAAI52C,EAAGq1C,EAAGuB,GAAI32C,EACrC,CACF,CACF,EAAG6pG,GAAK,SAASnyG,GACf,IAAImM,EAAInM,EAAE0vG,KACV,GAAIvjG,EAAG,CACL,IAAIs3C,EAAGl1C,EAAIpC,EAAE3J,OACb,IAAKxC,EAAEuwG,GAAK,EAAGvwG,EAAEuwG,GAAKhiG,EAAGvO,EAAEuwG,KAAM,CAC/B,GAAIzrE,EAAE2rE,OAASzwG,EAAE0wG,SAAUjtD,EAAI8uD,GAAGpmG,EAAEnM,EAAEuwG,MACpC,MAAM,IAAIhsE,MAAM,0BAA4B1oB,OAAO1P,EAAEnM,EAAEuwG,KAAKjsG,SAAS,KACvEm/C,EAAEzjD,EACJ,CACF,CACF,EAAGuyG,GAAK,CAAC/B,GAAGtvG,UAAK,EAAQqtG,IAAKiC,GAAGtvG,UAAK,EAAQ0sG,IAAK+C,GAAGzvG,UAAK,EAAQqtG,IAAKoC,GAAGzvG,UAAK,EAAQ0sG,IAAKgD,GAAG1vG,UAAK,EAAQqtG,IAAKqC,GAAG1vG,UAAK,EAAQ0sG,IAAKrF,GAAGrnG,UAAK,EAAQ,GAAIqnG,GAAGrnG,UAAK,EAAQ,GAAI6vG,GAAG7vG,UAAK,EAAQ,GAAI6vG,GAAG7vG,UAAK,EAAQ,GAAI,SAASlB,GAC9N,IAAImM,GAAKs3C,EAAIzjD,EAAE+uB,OAAOlgB,MAAO40C,EAAIA,EAAE50C,MACnCi2B,EAAE2rE,OAAS/qG,QAAQD,IAAIzF,EAAE0wG,KAAM,UAAWvkG,EAAGs3C,GAAIzjD,EAAEkwG,GAAKlwG,EAAEmwG,IAAMvB,GAAGnrD,EAAGt3C,EACxE,EAAG,SAASnM,GACV,IAAImM,GAAKs3C,EAAIzjD,EAAE+uB,OAAOlgB,MAAO40C,EAAIA,EAAE50C,MACnCi2B,EAAE2rE,OAAS/qG,QAAQD,IAAIzF,EAAE0wG,KAAM,UAAWvkG,EAAGs3C,GAAIzjD,EAAEiwG,GAAKrB,GAAGnrD,EAAGt3C,EAChE,EAAG,SAASnM,GACV,IAAImM,EAAInM,EAAE+uB,MAAO00B,EAAIzjD,EAAEkwG,GACvBprE,EAAE2rE,OAAS/qG,QAAQD,IAAIzF,EAAE0wG,KAAM,SAAUvkG,EAAErJ,KAAK,MAAQ2gD,EAAEp7C,GAAI8D,EAAErJ,KAAK,MAAQ2gD,EAAEn7C,EACjF,EAAG,SAAStI,GACV,IAAImM,EAAInM,EAAE+uB,MAAO00B,EAAIzjD,EAAEiwG,GACvBnrE,EAAE2rE,OAAS/qG,QAAQD,IAAIzF,EAAE0wG,KAAM,SAAUvkG,EAAErJ,KAAK,MAAQ2gD,EAAEp7C,GAAI8D,EAAErJ,KAAK,MAAQ2gD,EAAEn7C,EACjF,EAAG,SAAStI,GACVA,EAAEiwG,GAAKjwG,EAAEkwG,GAAIprE,EAAE2rE,OAAS/qG,QAAQD,IAAIzF,EAAE0wG,KAAM,WAC9C,EAAG,SAASvkG,GACV,IAAIs3C,GAAKj1C,EAAIrC,EAAE4iB,OAAOlgB,MAAON,EAAIC,EAAEK,MAAO+5C,EAAIp6C,EAAEK,MAAOqgD,EAAI1gD,EAAEK,MAAOL,EAAIA,EAAEK,MAAOkvC,EAAK5xC,EAAE+kG,GAAI7yD,EAAKlyC,EAAE2kG,GAAI1/C,EAAIrT,EAAG0F,GAAgB/F,GAAZK,EAAKA,EAAGxvC,GAAS8vC,EAAGuK,IAAiN1H,GAA7M7C,EAAKA,EAAG6Q,GAAI/iD,EAAIA,EAAE0kG,GAAGriG,GAASs2B,EAAE2rE,OAAS/qG,QAAQD,IAAI,YAAag+C,EAAGl1C,EAAGq6C,EAAGsG,EAAG1gD,GAArDi1C,EAAyD2N,EAAE/oD,EAAIkG,EAAI6iD,EAAE9oD,EAAGsgD,EAAI7K,EAAG11C,EAAG6mD,EAAInR,EAAGz1C,EAAGkG,EAAIkvC,EAAGr1C,EAAG+oD,EAAI1T,EAAGp1C,EAAGy1C,EAAKM,EAAGh2C,EAAcg2C,GAAMoF,EAAImF,IAAMwI,GAA3B1T,EAAKW,EAAG/1C,KAA8BiG,EAAI2gD,IAAM1gD,EAAIuvC,GAAU0F,EAAIyL,EAAI3gD,EAAIq6C,GAAGzM,EAAK3tC,EAAIkvC,EAAK0T,EAAIrT,EAC7X5xC,EAAE9D,GAAK64C,GAAM1yC,EAAIuvC,GAAM5B,GAAMsH,EAAImF,IAAMvK,EAAIlyC,EAAE7D,GAAK44C,GAAMkQ,EAAI1T,GAAMvB,GAAM5tC,EAAI2gD,IAAM7Q,CACpF,EAAG,SAASr+C,GACVA,EAAE8vG,IAAM9vG,EAAE+uB,MAAMlgB,MAAOi2B,EAAE2rE,OAAS/qG,QAAQD,IAAIzF,EAAE0wG,KAAM,SAAU1wG,EAAE8vG,IACpE,EAAG,SAAS9vG,GACVA,EAAE+vG,IAAM/vG,EAAE+uB,MAAMlgB,MAAOi2B,EAAE2rE,OAAS/qG,QAAQD,IAAIzF,EAAE0wG,KAAM,SAAU1wG,EAAE+vG,IACpE,EAAG,SAAS/vG,GACVA,EAAEgwG,IAAMhwG,EAAE+uB,MAAMlgB,MAAOi2B,EAAE2rE,OAAS/qG,QAAQD,IAAIzF,EAAE0wG,KAAM,SAAU1wG,EAAEgwG,IACpE,EAAG,SAAShwG,GACV,IAAImM,EAAInM,EAAE+uB,MAAMlgB,MAChB,OAAQi2B,EAAE2rE,OAAS/qG,QAAQD,IAAIzF,EAAE0wG,KAAM,SAAUvkG,GAAInM,EAAE2vG,IAAMxjG,GAC3D,KAAK,EACHnM,EAAEowG,OAASvkE,GAAG7rC,GAAIA,EAAEkxG,GAAKlxG,EAAEowG,MAC3B,MACF,KAAK,EACHpwG,EAAEkxG,GAAKlxG,EAAEqwG,MACT,MACF,QACE,MAAM,IAAI9rE,MAAM,wBAEtB,EAAG,SAASvkC,GACV,IAAImM,EAAInM,EAAE+uB,MAAMlgB,MAChB,OAAQi2B,EAAE2rE,OAAS/qG,QAAQD,IAAIzF,EAAE0wG,KAAM,SAAUvkG,GAAInM,EAAE4vG,IAAMzjG,GAC3D,KAAK,EACHnM,EAAEowG,OAASvkE,GAAG7rC,GAAIA,EAAE8wG,GAAK9wG,EAAEowG,MAC3B,MACF,KAAK,EACHpwG,EAAE8wG,GAAK9wG,EAAEqwG,MACT,MACF,QACE,MAAM,IAAI9rE,MAAM,wBAEtB,EAAG,SAASvkC,GACV,IAAImM,EAAInM,EAAE+uB,MAAMlgB,MAChB,OAAQi2B,EAAE2rE,OAAS/qG,QAAQD,IAAIzF,EAAE0wG,KAAM,SAAUvkG,GAAInM,EAAE6vG,IAAM1jG,GAC3D,KAAK,EACHnM,EAAEowG,OAASvkE,GAAG7rC,GAAIA,EAAE6wG,GAAK7wG,EAAEowG,MAC3B,MACF,KAAK,EACHpwG,EAAE6wG,GAAK7wG,EAAEqwG,MACT,MACF,QACE,MAAM,IAAI9rE,MAAM,wBAEtB,EAAG,SAASvkC,GACV,IAAImM,EAAInM,EAAE+uB,MAAMlgB,MAChB,OAAQi2B,EAAE2rE,OAAS/qG,QAAQD,IAAIzF,EAAE0wG,KAAM,SAAUvkG,GAAInM,EAAE2vG,IAAM3vG,EAAE4vG,IAAM5vG,EAAE6vG,IAAM1jG,GAC3E,KAAK,EACHnM,EAAEowG,OAASvkE,GAAG7rC,GAAIA,EAAEkxG,GAAKlxG,EAAE8wG,GAAK9wG,EAAE6wG,GAAK7wG,EAAEowG,MACzC,MACF,KAAK,EACHpwG,EAAEkxG,GAAKlxG,EAAE8wG,GAAK9wG,EAAE6wG,GAAK7wG,EAAEqwG,MACvB,MACF,QACE,MAAM,IAAI9rE,MAAM,wBAEtB,EAAG,SAASvkC,GACVA,EAAEs3B,KAAOt3B,EAAE+uB,MAAMlgB,MAAOi2B,EAAE2rE,OAAS/qG,QAAQD,IAAIzF,EAAE0wG,KAAM,UAAW1wG,EAAEs3B,KACtE,EAAG,SAASt3B,GACV8kC,EAAE2rE,OAAS/qG,QAAQD,IAAIzF,EAAE0wG,KAAM,SAAU1wG,EAAEu6B,MAAQ2yE,EACrD,EAAG,SAASltG,GACV8kC,EAAE2rE,OAAS/qG,QAAQD,IAAIzF,EAAE0wG,KAAM,UAAW1wG,EAAEu6B,MAAQ6yE,EACtD,EAAG,SAASptG,GACV,IAAImM,EAAInM,EAAE+uB,MAAMlgB,MAChBi2B,EAAE2rE,OAAS/qG,QAAQD,IAAIzF,EAAE0wG,KAAM,QAASvkG,GAAInM,EAAEsvG,OAASnjG,EAAI,EAC7D,EAAG,SAASnM,GACV8kC,EAAE2rE,OAAS/qG,QAAQD,IAAIzF,EAAE0wG,KAAM,UAAWJ,GAAGtwG,GAAG,EAClD,EAAG,SAASA,GACV,IAAImM,EAAInM,EAAE+uB,MAAMlgB,MAChBi2B,EAAE2rE,OAAS/qG,QAAQD,IAAIzF,EAAE0wG,KAAM,SAAUvkG,GAAInM,EAAEuwG,IAAMpkG,EAAI,CAC3D,EAAG,SAASnM,GACV,IAAImM,EAAInM,EAAE+uB,MAAMlgB,MAChBi2B,EAAE2rE,OAAS/qG,QAAQD,IAAIzF,EAAE0wG,KAAM,WAAYvkG,GAAInM,EAAEmvG,QAAUhjG,EAAI,EACjE,OAAG,OAAQ,EAAQ,SAASnM,GAC1B,IAAImM,EAAInM,EAAE+uB,MACV+V,EAAE2rE,OAAS/qG,QAAQD,IAAIzF,EAAE0wG,KAAM,SAAUvkG,EAAErJ,KAAKqJ,EAAEA,EAAE3J,OAAS,GAC/D,EAAGwuG,GAAI,SAAShxG,GACd8kC,EAAE2rE,OAAS/qG,QAAQD,IAAIzF,EAAE0wG,KAAM,WAAY1wG,EAAE+uB,MAAMvsB,OAAS,CAC9D,EAAG,SAASxC,GACV,IAAImM,EAAInM,EAAE+uB,MAAO00B,EAAIt3C,EAAE0C,MAAON,EAAIpC,EAAE0C,MACpCi2B,EAAE2rE,OAAS/qG,QAAQD,IAAIzF,EAAE0wG,KAAM,UAAWvkG,EAAErJ,KAAK2gD,GAAIt3C,EAAErJ,KAAKyL,EAC9D,EAAG,SAASvO,GACV,IAAImM,EAAInM,EAAE+uB,MACV+V,EAAE2rE,OAAS/qG,QAAQD,IAAIzF,EAAE0wG,KAAM,WAAYvkG,EAAErJ,KAAKqJ,EAAE3J,OACtD,EAAG,SAASxC,GACV,IAAImM,EAAInM,EAAE+uB,MAAO00B,EAAIt3C,EAAE0C,MACvBi2B,EAAE2rE,OAAS/qG,QAAQD,IAAIzF,EAAE0wG,KAAM,WAAYjtD,GAAIt3C,EAAErJ,KAAKqJ,EAAEA,EAAE3J,OAASihD,GACrE,EAAG,SAASzjD,GACV,IAAImM,EAAInM,EAAE+uB,MAAO00B,EAAIt3C,EAAE0C,MACvBi2B,EAAE2rE,OAAS/qG,QAAQD,IAAIzF,EAAE0wG,KAAM,WAAYjtD,GAAIt3C,EAAErJ,KAAKqJ,EAAE0L,OAAO1L,EAAE3J,OAASihD,EAAG,GAAG,GAClF,OAAG,OAAQ,OAAQ,EAAQ,SAASzjD,GAClC,IAAImM,GAAKoC,EAAIvO,EAAE+uB,OAAOlgB,MAAO40C,EAAIl1C,EAAEM,MAAON,GAAKu2B,EAAE2rE,OAAS/qG,QAAQD,IAAIzF,EAAE0wG,KAAM,aAAcvkG,EAAGs3C,GAAIzjD,EAAEuwG,IAAK3nD,EAAI5oD,EAAE0vG,KAChH1vG,EAAE0vG,KAAO1vG,EAAEsH,MAAM6E,GACjB,IAAK,IAAI+iD,EAAI,EAAGA,EAAIzL,EAAGyL,IACrBijD,GAAGnyG,GAAI8kC,EAAE2rE,OAAS/qG,QAAQD,MAAMzF,EAAE0wG,KAAMxhD,EAAI,EAAIzL,EAAI,gBAAkB,gBAAiByL,GACzFlvD,EAAEuwG,GAAKhiG,EAAGvO,EAAE0vG,KAAO9mD,CACrB,EAAG,SAAS5oD,GACV,IAAImM,EAAInM,EAAE+uB,MAAMlgB,MAAO40C,GAAK3e,EAAE2rE,OAAS/qG,QAAQD,IAAIzF,EAAE0wG,KAAM,SAAUvkG,GAAInM,EAAEuwG,IAAKhiG,EAAIvO,EAAE0vG,KACtF1vG,EAAE0vG,KAAO1vG,EAAEsH,MAAM6E,GAAIgmG,GAAGnyG,GAAIA,EAAEuwG,GAAK9sD,EAAGzjD,EAAE0vG,KAAOnhG,EAAGu2B,EAAE2rE,OAAS/qG,QAAQD,MAAMzF,EAAE0wG,KAAM,iBAAkBvkG,EACvG,EAAG,SAASnM,GACV,GAAc,SAAVA,EAAEyvG,IACJ,MAAM,IAAIlrE,MAAM,yBAClB,IAAIh2B,EAAIvO,EAAE+uB,MAAO5iB,EAAInM,EAAE0vG,KAAMjsD,EAAIzjD,EAAEuwG,GAAiB3nD,GAAbr6C,EAAIA,EAAEM,MAAW40C,GACxD,IAAK3e,EAAE2rE,OAAS/qG,QAAQD,IAAIzF,EAAE0wG,KAAM,SAAUniG,GAAe,KAAXpC,IAAIs3C,KAEtDzjD,EAAEuwG,GAAK9sD,EAAGzjD,EAAEsH,MAAMiH,GAAKpC,EAAE/I,MAAMwlD,EAAI,EAAGnF,EACxC,OAAG,EAAQwtD,GAAG/vG,UAAK,EAAQ,GAAI+vG,GAAG/vG,UAAK,EAAQ,GAAImmF,GAAGnmF,UAAK,EAAQqtG,IAAKlnB,GAAGnmF,UAAK,EAAQ0sG,IAAKn4F,GAAGvU,UAAK,EAAQ,GAAIuU,GAAGvU,UAAK,EAAQ,GAAIiwG,GAAGjwG,UAAK,EAAQ,GAAIiwG,GAAGjwG,UAAK,EAAQ,GAAImwG,GAAGnwG,UAAK,EAAQ,GAAImwG,GAAGnwG,UAAK,EAAQ,GAAI,SAASlB,GAC5N,IAAK,IAAImM,EAAInM,EAAE+uB,MAAO00B,EAAIzjD,EAAEs3B,KAAM/oB,EAAIvO,EAAEiwG,GAAIrnD,EAAIz8C,EAAE0C,MAAQ,GAAIqgD,EAAIlvD,EAAE6wG,GAAIptD,KAAO,CAC7E,IAAIj1C,EAAIrC,EAAE0C,MAAOuiD,EAAIlC,EAAE1gD,GACvBs2B,EAAE2rE,OAAS/qG,QAAQD,IAAIzF,EAAE0wG,MAAO,EAAI1wG,EAAEs3B,KAAO,SAAWt3B,EAAEs3B,KAAOmsB,GAAK,KAAO,IAAM,UAAWj1C,EAAGo6C,GAAIr6C,EAAEw/F,YAAY38C,EAAGA,EAAGxI,GAAIr6C,EAAE4/F,MAAM/8C,EACvI,CACApxD,EAAEs3B,KAAO,CACX,EAAG,SAASt3B,GACV,IAAK,IAAImM,EAAInM,EAAE+uB,MAAO00B,EAAIzjD,EAAE+vG,IAAKxhG,EAAIvO,EAAEgwG,IAAKpnD,EAAI5oD,EAAEs3B,KAAM43B,EAAIlvD,EAAEkxG,GAAGztD,GAAIj1C,EAAIxO,EAAE8wG,GAAGviG,GAAI6iD,EAAIpxD,EAAEiwG,GAAIlyD,EAAK/9C,EAAEmwG,IAAKzyD,EAAK19C,EAAE6wG,GAAIjoD,KAAO,CACxH,IAAIvK,EAAKlyC,EAAE0C,MAAOqyC,EAAKxD,EAAGW,GAC1BvZ,EAAE2rE,OAAS/qG,QAAQD,IAAIzF,EAAE0wG,MAAO,EAAI1wG,EAAEs3B,KAAO,SAAWt3B,EAAEs3B,KAAOsxB,GAAK,KAAO,IAAM,OAAQvK,EAAIoF,EAAG,MAAOl1C,GAAI6iD,EAAE08C,YAAY5sD,EAAIgO,EAAG1gD,EAAGuvC,GAAKqT,EAAE+8C,MAAMjtD,EACpJ,CACAlhD,EAAEs3B,KAAO,CACX,EAAGg6E,GAAGpwG,UAAK,EAAQ,GAAIowG,GAAGpwG,UAAK,EAAQ,GAAI,SAASlB,GAClD,IAAK,IAAImM,EAAInM,EAAE+uB,MAAO00B,EAAIzjD,EAAE8vG,IAAKvhG,EAAIvO,EAAEkxG,GAAGztD,GAAImF,EAAI5oD,EAAEs3B,KAAM43B,EAAIlvD,EAAEiwG,GAAIzhG,EAAIxO,EAAEkwG,GAAI9+C,EAAIpxD,EAAE8wG,GAAIloD,KAAO,CAC7F,IAAI7K,EAAK5xC,EAAE0C,MAAO6uC,EAAK0T,EAAErT,GACzBjZ,EAAE2rE,OAAS/qG,QAAQD,IAAIzF,EAAE0wG,MAAO,EAAI1wG,EAAEs3B,KAAO,SAAWt3B,EAAEs3B,KAAOsxB,GAAK,KAAO,IAAM,YAAa7K,GAAKmR,EAAE6+C,YAAYrwD,EAAInvC,EAAG,EAAGC,GAAI0gD,EAAEi/C,MAAMzwD,EAC3I,CACA19C,EAAEs3B,KAAO,CACX,EAAG,SAASt3B,GACV8kC,EAAE2rE,OAAS/qG,QAAQD,IAAIzF,EAAE0wG,KAAM,UAAW1wG,EAAEu6B,MAAQ4yE,EACtD,EAAGoE,GAAGrwG,UAAK,EAAQ,GAAIqwG,GAAGrwG,UAAK,EAAQ,GAAI,SAASlB,GAClD,IAAImM,EAAInM,EAAE0vG,KAAMjsD,EAAIzjD,EAAEuwG,GAAIhiG,EAAIvO,EAAE+uB,MAAO65B,EAAIz8C,IAAIs3C,GAC/C3e,EAAE2rE,OAAS/qG,QAAQD,IAAIzF,EAAE0wG,KAAM,WAAY9nD,GAC3C,IAAK,IAAIsG,EAAI,EAAGA,EAAItG,EAAGsG,IACrB3gD,EAAEzL,KAAKqJ,IAAIs3C,IACbzjD,EAAEuwG,GAAK9sD,CACT,EAAG,SAASzjD,GACV,IAAImM,EAAInM,EAAEuwG,GAAI9sD,EAAIzjD,EAAE0vG,KAAMnhG,EAAIvO,EAAE+uB,MAAO65B,EAAInF,IAAIt3C,GAC/C24B,EAAE2rE,OAAS/qG,QAAQD,IAAIzF,EAAE0wG,KAAM,WAAY9nD,GAC3C,IAAK,IAAIsG,EAAI,EAAGA,EAAItG,EAAGsG,IAAK,CAC1B,IAAI1gD,EAAIi1C,IAAIt3C,IAAM,EAAIs3C,IAAIt3C,GAC1B,MAAQqC,IAAMA,IAAM,GAAK,MAAQA,KAAMD,EAAEzL,KAAK0L,EAChD,CACAxO,EAAEuwG,GAAKpkG,CACT,EAAG,SAASnM,GACV,IAAIuO,EAAIvO,EAAE+uB,MAAO5iB,GAAKA,EAAInM,EAAEwyG,SAAWxyG,EAAEwyG,MAAQ,IAAK/uD,EAAIl1C,EAAEM,MAAON,EAAIA,EAAEM,MACzEi2B,EAAE2rE,OAAS/qG,QAAQD,IAAIzF,EAAE0wG,KAAM,KAAMjtD,EAAGl1C,GAAIpC,EAAEoC,GAAKk1C,CACrD,EAAG,SAASmF,GACV,IAAIz8C,EAAIy8C,EAAE75B,MAAO00B,EAAImF,EAAE4pD,MAAOjkG,EAAIpC,EAAE0C,MAAYi2B,EAAE2rE,OAAS/qG,QAAQD,IAAImjD,EAAE8nD,KAAM,KAAMniG,GAA1Cq6C,EAA8CnF,GAAKA,EAAEl1C,IAAM,EACtGpC,EAAErJ,KAAK8lD,EACT,EAAG,SAAS5oD,GACV,IAAImM,GAAKs3C,EAAIzjD,EAAE+uB,OAAOlgB,MAAO40C,EAAIA,EAAE50C,MACnCi2B,EAAE2rE,OAAS/qG,QAAQD,IAAIzF,EAAE0wG,KAAM,QAASvkG,EAAGs3C,GAAIzjD,EAAEwxG,IAAI/tD,GAAKt3C,EAAI,EAChE,EAAG,SAASnM,GACV,IAAImM,EAAInM,EAAE+uB,MAAO00B,EAAIt3C,EAAE0C,MACvBi2B,EAAE2rE,OAAS/qG,QAAQD,IAAIzF,EAAE0wG,KAAM,OAAQjtD,GAAIt3C,EAAErJ,KAAK,GAAK9C,EAAEwxG,IAAI/tD,GAC/D,EAAGguD,GAAGvwG,UAAK,EAAQ,GAAIuwG,GAAGvwG,UAAK,EAAQ,QAAI,EAAQwwG,GAAGxwG,UAAK,EAAQ,GAAIwwG,GAAGxwG,UAAK,EAAQ,GAAI,SAASlB,GAClG8kC,EAAE2rE,OAAS/qG,QAAQD,IAAIzF,EAAE0wG,KAAM,WAAY1wG,EAAE+uB,MAAMjsB,KAAK9C,EAAE4xG,KAC5D,OAAG,EAAQ,SAAS5xG,GAClB8kC,EAAE2rE,OAAS/qG,QAAQD,IAAIzF,EAAE0wG,KAAM,YAAa1wG,EAAEuvG,UAAW,CAC3D,OAAG,OAAQ,EAAQ,SAASvvG,GAC1B,IAAImM,EAAInM,EAAE+uB,MAAO00B,EAAIt3C,EAAE0C,MAAON,EAAIpC,EAAE0C,MACpCi2B,EAAE2rE,OAAS/qG,QAAQD,IAAIzF,EAAE0wG,KAAM,OAAQjtD,EAAGl1C,GAAIpC,EAAErJ,KAAKyL,EAAIk1C,EAAI,EAAI,EACnE,EAAG,SAASzjD,GACV,IAAImM,EAAInM,EAAE+uB,MAAO00B,EAAIt3C,EAAE0C,MAAON,EAAIpC,EAAE0C,MACpCi2B,EAAE2rE,OAAS/qG,QAAQD,IAAIzF,EAAE0wG,KAAM,SAAUjtD,EAAGl1C,GAAIpC,EAAErJ,KAAKyL,GAAKk1C,EAAI,EAAI,EACtE,EAAG,SAASzjD,GACV,IAAImM,EAAInM,EAAE+uB,MAAO00B,EAAIt3C,EAAE0C,MAAON,EAAIpC,EAAE0C,MACpCi2B,EAAE2rE,OAAS/qG,QAAQD,IAAIzF,EAAE0wG,KAAM,OAAQjtD,EAAGl1C,GAAIpC,EAAErJ,KAAK2gD,EAAIl1C,EAAI,EAAI,EACnE,EAAG,SAASvO,GACV,IAAImM,EAAInM,EAAE+uB,MAAO00B,EAAIt3C,EAAE0C,MAAON,EAAIpC,EAAE0C,MACpCi2B,EAAE2rE,OAAS/qG,QAAQD,IAAIzF,EAAE0wG,KAAM,SAAUjtD,EAAGl1C,GAAIpC,EAAErJ,KAAK2gD,GAAKl1C,EAAI,EAAI,EACtE,EAAG,SAASvO,GACV,IAAImM,EAAInM,EAAE+uB,MAAO00B,EAAIt3C,EAAE0C,MAAON,EAAIpC,EAAE0C,MACpCi2B,EAAE2rE,OAAS/qG,QAAQD,IAAIzF,EAAE0wG,KAAM,OAAQjtD,EAAGl1C,GAAIpC,EAAErJ,KAAK2gD,IAAMl1C,EAAI,EAAI,EACrE,EAAG,SAASvO,GACV,IAAImM,EAAInM,EAAE+uB,MAAO00B,EAAIt3C,EAAE0C,MAAON,EAAIpC,EAAE0C,MACpCi2B,EAAE2rE,OAAS/qG,QAAQD,IAAIzF,EAAE0wG,KAAM,QAASjtD,EAAGl1C,GAAIpC,EAAErJ,KAAK2gD,IAAMl1C,EAAI,EAAI,EACtE,EAAG,SAASvO,GACV,IAAImM,EAAInM,EAAE+uB,MAAO00B,EAAIt3C,EAAE0C,MACvBi2B,EAAE2rE,OAAS/qG,QAAQD,IAAIzF,EAAE0wG,KAAM,QAASjtD,GAAIt3C,EAAErJ,KAAKa,KAAKgqG,MAAMlqD,GAAK,EAAI,EAAI,EAC7E,EAAG,SAASzjD,GACV,IAAImM,EAAInM,EAAE+uB,MAAO00B,EAAIt3C,EAAE0C,MACvBi2B,EAAE2rE,OAAS/qG,QAAQD,IAAIzF,EAAE0wG,KAAM,SAAUjtD,GAAIt3C,EAAErJ,KAAKa,KAAKgqG,MAAMlqD,GAAK,EAAI,EAAI,EAC9E,EAAG,SAASzjD,GACV,IAAImM,EAAInM,EAAE+uB,MAAMlgB,MAChBi2B,EAAE2rE,OAAS/qG,QAAQD,IAAIzF,EAAE0wG,KAAM,OAAQvkG,GAAIA,IAAMmkG,GAAGtwG,GAAG,GAAK8kC,EAAE2rE,OAAS/qG,QAAQD,IAAIzF,EAAE0wG,KAAM,SAC7F,EAAG,SAAS1wG,GACV8kC,EAAE2rE,OAAS/qG,QAAQD,IAAIzF,EAAE0wG,KAAM,QACjC,EAAG,SAAS1wG,GACV,IAAImM,EAAInM,EAAE+uB,MAAO00B,EAAIt3C,EAAE0C,MAAON,EAAIpC,EAAE0C,MACpCi2B,EAAE2rE,OAAS/qG,QAAQD,IAAIzF,EAAE0wG,KAAM,QAASjtD,EAAGl1C,GAAIpC,EAAErJ,KAAK2gD,GAAKl1C,EAAI,EAAI,EACrE,EAAG,SAASvO,GACV,IAAImM,EAAInM,EAAE+uB,MAAO00B,EAAIt3C,EAAE0C,MAAON,EAAIpC,EAAE0C,MACpCi2B,EAAE2rE,OAAS/qG,QAAQD,IAAIzF,EAAE0wG,KAAM,OAAQjtD,EAAGl1C,GAAIpC,EAAErJ,KAAK2gD,GAAKl1C,EAAI,EAAI,EACpE,EAAG,SAASvO,GACV,IAAImM,EAAInM,EAAE+uB,MAAO00B,EAAIt3C,EAAE0C,MACvBi2B,EAAE2rE,OAAS/qG,QAAQD,IAAIzF,EAAE0wG,KAAM,QAASjtD,GAAIt3C,EAAErJ,KAAK2gD,EAAI,EAAI,EAC7D,EAAGkuD,GAAGzwG,UAAK,EAAQ,GAAI,SAASlB,GAC9B,IAAImM,EAAInM,EAAE+uB,MAAMlgB,MAChBi2B,EAAE2rE,OAAS/qG,QAAQD,IAAIzF,EAAE0wG,KAAM,QAASvkG,GAAInM,EAAEovG,UAAYjjG,CAC5D,EAAG,SAASnM,GACV,IAAImM,EAAInM,EAAE+uB,MAAMlgB,MAChBi2B,EAAE2rE,OAAS/qG,QAAQD,IAAIzF,EAAE0wG,KAAM,QAASvkG,GAAInM,EAAEqvG,WAAa1rG,KAAKgK,IAAI,GAAKxB,EAC3E,EAAG,SAASnM,GACV,IAAImM,EAAInM,EAAE+uB,MAAO00B,EAAIt3C,EAAE0C,MAAON,EAAIpC,EAAE0C,MACpCi2B,EAAE2rE,OAAS/qG,QAAQD,IAAIzF,EAAE0wG,KAAM,QAASjtD,EAAGl1C,GAAIpC,EAAErJ,KAAKyL,EAAIk1C,EAC5D,EAAG,SAASzjD,GACV,IAAImM,EAAInM,EAAE+uB,MAAO00B,EAAIt3C,EAAE0C,MAAON,EAAIpC,EAAE0C,MACpCi2B,EAAE2rE,OAAS/qG,QAAQD,IAAIzF,EAAE0wG,KAAM,QAASjtD,EAAGl1C,GAAIpC,EAAErJ,KAAKyL,EAAIk1C,EAC5D,EAAG,SAASzjD,GACV,IAAImM,EAAInM,EAAE+uB,MAAO00B,EAAIt3C,EAAE0C,MAAON,EAAIpC,EAAE0C,MACpCi2B,EAAE2rE,OAAS/qG,QAAQD,IAAIzF,EAAE0wG,KAAM,QAASjtD,EAAGl1C,GAAIpC,EAAErJ,KAAK,GAAKyL,EAAIk1C,EACjE,EAAG,SAASzjD,GACV,IAAImM,EAAInM,EAAE+uB,MAAO00B,EAAIt3C,EAAE0C,MAAON,EAAIpC,EAAE0C,MACpCi2B,EAAE2rE,OAAS/qG,QAAQD,IAAIzF,EAAE0wG,KAAM,QAASjtD,EAAGl1C,GAAIpC,EAAErJ,KAAKyL,EAAIk1C,EAAI,GAChE,EAAG,SAASzjD,GACV,IAAImM,EAAInM,EAAE+uB,MAAO00B,EAAIt3C,EAAE0C,MACvBi2B,EAAE2rE,OAAS/qG,QAAQD,IAAIzF,EAAE0wG,KAAM,QAASjtD,GAAIt3C,EAAErJ,KAAKa,KAAKmI,IAAI23C,GAC9D,EAAG,SAASzjD,GACV,IAAImM,EAAInM,EAAE+uB,MAAO00B,EAAIt3C,EAAE0C,MACvBi2B,EAAE2rE,OAAS/qG,QAAQD,IAAIzF,EAAE0wG,KAAM,QAASjtD,GAAIt3C,EAAErJ,MAAM2gD,EACtD,EAAG,SAASzjD,GACV,IAAImM,EAAInM,EAAE+uB,MAAO00B,EAAIt3C,EAAE0C,MACvBi2B,EAAE2rE,OAAS/qG,QAAQD,IAAIzF,EAAE0wG,KAAM,UAAWjtD,GAAIt3C,EAAErJ,KAAK,GAAKa,KAAKC,MAAM6/C,EAAI,IAC3E,EAAG,SAASzjD,GACV,IAAImM,EAAInM,EAAE+uB,MAAO00B,EAAIt3C,EAAE0C,MACvBi2B,EAAE2rE,OAAS/qG,QAAQD,IAAIzF,EAAE0wG,KAAM,YAAajtD,GAAIt3C,EAAErJ,KAAK,GAAKa,KAAKid,KAAK6iC,EAAI,IAC5E,EAAGouD,GAAG3wG,UAAK,EAAQ,GAAI2wG,GAAG3wG,UAAK,EAAQ,GAAI2wG,GAAG3wG,UAAK,EAAQ,GAAI2wG,GAAG3wG,UAAK,EAAQ,QAAI,OAAQ,OAAQ,OAAQ,EAAQ,SAASlB,GAC1H,IAAImM,GAAKs3C,EAAIzjD,EAAE+uB,OAAOlgB,MAAO40C,EAAIA,EAAE50C,MACnCi2B,EAAE2rE,OAAS/qG,QAAQD,IAAIzF,EAAE0wG,KAAM,UAAWvkG,EAAGs3C,GAAIzjD,EAAEwxG,IAAI/tD,GAAKt3C,EAAInM,EAAE4xG,KAAO5xG,EAAEy5B,KAAKkiE,UAClF,EAAGgW,GAAGzwG,UAAK,EAAQ,GAAIywG,GAAGzwG,UAAK,EAAQ,GAAI4wG,GAAG5wG,UAAK,EAAQ,GAAI4wG,GAAG5wG,UAAK,EAAQ,GAAI4wG,GAAG5wG,UAAK,EAAQ,GAAI,SAASlB,GAC9G,IAAImM,EAAGs3C,EAAIzjD,EAAE+uB,MAAMlgB,MACnB,OAAQi2B,EAAE2rE,OAAS/qG,QAAQD,IAAIzF,EAAE0wG,KAAM,WAAYjtD,GAAIzjD,EAAEu6B,MAAQgzE,GAAI,IAAM9pD,GACzE,KAAK,EACHt3C,EAAI,GACJ,MACF,KAAK,GACHA,EAAI,EACJ,MACF,KAAK,IACHA,EAAI,EACJ,MACF,QACE,MAAM,IAAIo4B,MAAM,wBAEpB,OAAQvkC,EAAEwtG,SAAWrhG,EAAG,GAAKs3C,GAC3B,KAAK,EACHzjD,EAAEytG,QAAU,EACZ,MACF,KAAK,GACHztG,EAAEytG,QAAU,IAAOthG,EACnB,MACF,KAAK,GACHnM,EAAEytG,QAAU,GAAMthG,EAClB,MACF,KAAK,GACHnM,EAAEytG,QAAU,IAAOthG,EACnB,MACF,QACE,MAAM,IAAIo4B,MAAM,wBAEpBvkC,EAAE0tG,YAA4B,KAAbjqD,GAAK,IAAY,GAAKA,EAAI,EAAI,IAAOt3C,CACxD,EAAG,SAASnM,GACV,IAAImM,EAAGs3C,EAAIzjD,EAAE+uB,MAAMlgB,MACnB,OAAQi2B,EAAE2rE,OAAS/qG,QAAQD,IAAIzF,EAAE0wG,KAAM,aAAcjtD,GAAIzjD,EAAEu6B,MAAQgzE,GAAI,IAAM9pD,GAC3E,KAAK,EACHt3C,EAAIxI,KAAK6F,KAAK,GAAK,EACnB,MACF,KAAK,GACH2C,EAAIxI,KAAK6F,KAAK,GACd,MACF,KAAK,IACH2C,EAAI,EAAIxI,KAAK6F,KAAK,GAClB,MACF,QACE,MAAM,IAAI+6B,MAAM,0BAEpB,OAAQvkC,EAAEwtG,SAAWrhG,EAAG,GAAKs3C,GAC3B,KAAK,EACHzjD,EAAEytG,QAAU,EACZ,MACF,KAAK,GACHztG,EAAEytG,QAAU,IAAOthG,EACnB,MACF,KAAK,GACHnM,EAAEytG,QAAU,GAAMthG,EAClB,MACF,KAAK,GACHnM,EAAEytG,QAAU,IAAOthG,EACnB,MACF,QACE,MAAM,IAAIo4B,MAAM,0BAEpBvkC,EAAE0tG,YAA4B,KAAbjqD,GAAK,IAAY,GAAKA,EAAI,EAAI,IAAOt3C,CACxD,OAAG,OAAQ,EAAQ,SAASnM,GAC1B8kC,EAAE2rE,OAAS/qG,QAAQD,IAAIzF,EAAE0wG,KAAM,UAAW1wG,EAAEu6B,MAAQ0yE,EACtD,OAAG,EAAQ,SAASjtG,GAClB8kC,EAAE2rE,OAAS/qG,QAAQD,IAAIzF,EAAE0wG,KAAM,UAAW1wG,EAAEu6B,MAAQ8yE,EACtD,EAAG,SAASrtG,GACV8kC,EAAE2rE,OAAS/qG,QAAQD,IAAIzF,EAAE0wG,KAAM,UAAW1wG,EAAEu6B,MAAQ+yE,EACtD,EAAG0D,GAAIA,QAAI,OAAQ,OAAQ,OAAQ,OAAQ,EAAQ,SAAShxG,GAC1D,IAAImM,EAAInM,EAAE+uB,MAAMlgB,MAChBi2B,EAAE2rE,OAAS/qG,QAAQD,IAAIzF,EAAE0wG,KAAM,aAAcvkG,EAC/C,EAAG4lG,GAAG7wG,UAAK,EAAQ,GAAI6wG,GAAG7wG,UAAK,EAAQ,GAAI,SAASlB,GAClD,IAAImM,EAAInM,EAAE+uB,MAAO00B,EAAIt3C,EAAE0C,MAAON,EAAI,EAClCu2B,EAAE2rE,OAAS/qG,QAAQD,IAAIzF,EAAE0wG,KAAM,YAAajtD,GAAI,EAAIA,IAAMl1C,EAAI,IAAK,GAAKk1C,IAAMl1C,GAAK,MAAOpC,EAAErJ,KAAKyL,EACnG,OAAG,EAAQ,SAASvO,GAClB,IAAImM,EAAInM,EAAE+uB,MAAO00B,EAAIt3C,EAAE0C,MAAON,EAAIpC,EAAE0C,MAAO+5C,EAAIz8C,EAAE0C,MACjDi2B,EAAE2rE,OAAS/qG,QAAQD,IAAIzF,EAAE0wG,KAAM,UAAWvkG,EAAErJ,KAAKyL,GAAIpC,EAAErJ,KAAK2gD,GAAIt3C,EAAErJ,KAAK8lD,EACzE,EAAG,SAAS5oD,GACV,IAAImM,EAAInM,EAAE+uB,MAAO00B,EAAIt3C,EAAE0C,MAAON,EAAIpC,EAAE0C,MACpCi2B,EAAE2rE,OAAS/qG,QAAQD,IAAIzF,EAAE0wG,KAAM,QAASjtD,EAAGl1C,GAAIpC,EAAErJ,KAAKa,KAAKiB,IAAI2J,EAAGk1C,GACpE,EAAG,SAASzjD,GACV,IAAImM,EAAInM,EAAE+uB,MAAO00B,EAAIt3C,EAAE0C,MAAON,EAAIpC,EAAE0C,MACpCi2B,EAAE2rE,OAAS/qG,QAAQD,IAAIzF,EAAE0wG,KAAM,QAASjtD,EAAGl1C,GAAIpC,EAAErJ,KAAKa,KAAKgB,IAAI4J,EAAGk1C,GACpE,EAAG,SAASzjD,GACV,IAAImM,EAAInM,EAAE+uB,MAAMlgB,MAChBi2B,EAAE2rE,OAAS/qG,QAAQD,IAAIzF,EAAE0wG,KAAM,aAAcvkG,EAC/C,EAAG,SAASnM,GACV,IAAImM,EAAInM,EAAE+uB,MAAMlgB,MAAO40C,EAAIzjD,EAAE+uB,MAAMlgB,MACnC,OAAQi2B,EAAE2rE,OAAS/qG,QAAQD,IAAIzF,EAAE0wG,KAAM,aAAcvkG,EAAGs3C,GAAIt3C,GAC1D,KAAK,EACH,YAAanM,EAAEsyG,iBAAmB7uD,GACpC,KAAK,EACH,YAAazjD,EAAEyyG,YAAchvD,GAC/B,QACE,MAAM,IAAIlf,MAAM,+BAEtB,OAAG,OAAQ,OAAQ,OAAQ,OAAQ,OAAQ,OAAQ,OAAQ,OAAQ,OAAQ,OAAQ,OAAQ,OAAQ,OAAQ,OAAQ,OAAQ,OAAQ,OAAQ,OAAQ,OAAQ,OAAQ,OAAQ,OAAQ,OAAQ,OAAQ,OAAQ,OAAQ,OAAQ,OAAQ,OAAQ,OAAQ,OAAQ,OAAQ,EAAQytE,GAAG9wG,UAAK,EAAQ,GAAI8wG,GAAG9wG,UAAK,EAAQ,GAAI8wG,GAAG9wG,UAAK,EAAQ,GAAI8wG,GAAG9wG,UAAK,EAAQ,GAAI8wG,GAAG9wG,UAAK,EAAQ,GAAI8wG,GAAG9wG,UAAK,EAAQ,GAAI8wG,GAAG9wG,UAAK,EAAQ,GAAI8wG,GAAG9wG,UAAK,EAAQ,GAAI+wG,GAAG/wG,UAAK,EAAQ,GAAI+wG,GAAG/wG,UAAK,EAAQ,GAAI+wG,GAAG/wG,UAAK,EAAQ,GAAI+wG,GAAG/wG,UAAK,EAAQ,GAAI+wG,GAAG/wG,UAAK,EAAQ,GAAI+wG,GAAG/wG,UAAK,EAAQ,GAAI+wG,GAAG/wG,UAAK,EAAQ,GAAI+wG,GAAG/wG,UAAK,EAAQ,GAAIg+C,GAAGh+C,UAAK,EAAQ,EAAG,EAAG,EAAG,EAAG,GAAIg+C,GAAGh+C,UAAK,EAAQ,EAAG,EAAG,EAAG,EAAG,GAAIg+C,GAAGh+C,UAAK,EAAQ,EAAG,EAAG,EAAG,EAAG,GAAIg+C,GAAGh+C,UAAK,EAAQ,EAAG,EAAG,EAAG,EAAG,GAAIg+C,GAAGh+C,UAAK,EAAQ,EAAG,EAAG,EAAG,EAAG,GAAIg+C,GAAGh+C,UAAK,EAAQ,EAAG,EAAG,EAAG,EAAG,GAAIg+C,GAAGh+C,UAAK,EAAQ,EAAG,EAAG,EAAG,EAAG,GAAIg+C,GAAGh+C,UAAK,EAAQ,EAAG,EAAG,EAAG,EAAG,GAAIg+C,GAAGh+C,UAAK,EAAQ,EAAG,EAAG,EAAG,EAAG,GAAIg+C,GAAGh+C,UAAK,EAAQ,EAAG,EAAG,EAAG,EAAG,GAAIg+C,GAAGh+C,UAAK,EAAQ,EAAG,EAAG,EAAG,EAAG,GAAIg+C,GAAGh+C,UAAK,EAAQ,EAAG,EAAG,EAAG,EAAG,GAAIg+C,GAAGh+C,UAAK,EAAQ,EAAG,EAAG,EAAG,EAAG,GAAIg+C,GAAGh+C,UAAK,EAAQ,EAAG,EAAG,EAAG,EAAG,GAAIg+C,GAAGh+C,UAAK,EAAQ,EAAG,EAAG,EAAG,EAAG,GAAIg+C,GAAGh+C,UAAK,EAAQ,EAAG,EAAG,EAAG,EAAG,GAAIg+C,GAAGh+C,UAAK,EAAQ,EAAG,EAAG,EAAG,EAAG,GAAIg+C,GAAGh+C,UAAK,EAAQ,EAAG,EAAG,EAAG,EAAG,GAAIg+C,GAAGh+C,UAAK,EAAQ,EAAG,EAAG,EAAG,EAAG,GAAIg+C,GAAGh+C,UAAK,EAAQ,EAAG,EAAG,EAAG,EAAG,GAAIg+C,GAAGh+C,UAAK,EAAQ,EAAG,EAAG,EAAG,EAAG,GAAIg+C,GAAGh+C,UAAK,EAAQ,EAAG,EAAG,EAAG,EAAG,GAAIg+C,GAAGh+C,UAAK,EAAQ,EAAG,EAAG,EAAG,EAAG,GAAIg+C,GAAGh+C,UAAK,EAAQ,EAAG,EAAG,EAAG,EAAG,GAAIg+C,GAAGh+C,UAAK,EAAQ,EAAG,EAAG,EAAG,EAAG,GAAIg+C,GAAGh+C,UAAK,EAAQ,EAAG,EAAG,EAAG,EAAG,GAAIg+C,GAAGh+C,UAAK,EAAQ,EAAG,EAAG,EAAG,EAAG,GAAIg+C,GAAGh+C,UAAK,EAAQ,EAAG,EAAG,EAAG,EAAG,GAAIg+C,GAAGh+C,UAAK,EAAQ,EAAG,EAAG,EAAG,EAAG,GAAIg+C,GAAGh+C,UAAK,EAAQ,EAAG,EAAG,EAAG,EAAG,GAAIg+C,GAAGh+C,UAAK,EAAQ,EAAG,EAAG,EAAG,EAAG,GAAIg+C,GAAGh+C,UAAK,EAAQ,EAAG,EAAG,EAAG,EAAG,GAAIg+C,GAAGh+C,UAAK,EAAQ,EAAG,EAAG,EAAG,EAAG,GAAIg+C,GAAGh+C,UAAK,EAAQ,EAAG,EAAG,EAAG,EAAG,GAAIg+C,GAAGh+C,UAAK,EAAQ,EAAG,EAAG,EAAG,EAAG,GAAIg+C,GAAGh+C,UAAK,EAAQ,EAAG,EAAG,EAAG,EAAG,GAAIg+C,GAAGh+C,UAAK,EAAQ,EAAG,EAAG,EAAG,EAAG,GAAIg+C,GAAGh+C,UAAK,EAAQ,EAAG,EAAG,EAAG,EAAG,GAAIg+C,GAAGh+C,UAAK,EAAQ,EAAG,EAAG,EAAG,EAAG,GAAIg+C,GAAGh+C,UAAK,EAAQ,EAAG,EAAG,EAAG,EAAG,GAAIg+C,GAAGh+C,UAAK,EAAQ,EAAG,EAAG,EAAG,EAAG,GAAIg+C,GAAGh+C,UAAK,EAAQ,EAAG,EAAG,EAAG,EAAG,GAAIg+C,GAAGh+C,UAAK,EAAQ,EAAG,EAAG,EAAG,EAAG,GAAIg+C,GAAGh+C,UAAK,EAAQ,EAAG,EAAG,EAAG,EAAG,GAAIg+C,GAAGh+C,UAAK,EAAQ,EAAG,EAAG,EAAG,EAAG,GAAIg+C,GAAGh+C,UAAK,EAAQ,EAAG,EAAG,EAAG,EAAG,GAAIg+C,GAAGh+C,UAAK,EAAQ,EAAG,EAAG,EAAG,EAAG,GAAIg+C,GAAGh+C,UAAK,EAAQ,EAAG,EAAG,EAAG,EAAG,GAAIg+C,GAAGh+C,UAAK,EAAQ,EAAG,EAAG,EAAG,EAAG,GAAIg+C,GAAGh+C,UAAK,EAAQ,EAAG,EAAG,EAAG,EAAG,GAAIg+C,GAAGh+C,UAAK,EAAQ,EAAG,EAAG,EAAG,EAAG,GAAIg+C,GAAGh+C,UAAK,EAAQ,EAAG,EAAG,EAAG,EAAG,GAAIg+C,GAAGh+C,UAAK,EAAQ,EAAG,EAAG,EAAG,EAAG,GAAIg+C,GAAGh+C,UAAK,EAAQ,EAAG,EAAG,EAAG,EAAG,GAAIg+C,GAAGh+C,UAAK,EAAQ,EAAG,EAAG,EAAG,EAAG,GAAIg+C,GAAGh+C,UAAK,EAAQ,EAAG,EAAG,EAAG,EAAG,GAAIg+C,GAAGh+C,UAAK,EAAQ,EAAG,EAAG,EAAG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","sources":["../node_modules/matter-js/build/matter.js","../node_modules/react-dom/cjs/react-dom.production.min.js","../node_modules/react-dom/client.js","../node_modules/react-dom/index.js","../node_modules/react/cjs/react-jsx-runtime.production.min.js","../node_modules/react/cjs/react.production.min.js","../node_modules/react/index.js","../node_modules/react/jsx-runtime.js","../node_modules/scheduler/cjs/scheduler.production.min.js","../node_modules/scheduler/index.js","../node_modules/@babel/runtime/helpers/regeneratorRuntime.js","../node_modules/@babel/runtime/helpers/typeof.js","../node_modules/@babel/runtime/regenerator/index.js","../webpack/bootstrap","../webpack/runtime/global","../webpack/runtime/publicPath","Components/Skills/Skills.js","../node_modules/@p5-wrapper/react/dist/component/react.js","Components/Intro/Shapes/Circle.js","Components/Intro/Shapes/Rectangle.js","Components/Intro/Shapes/Ground.js","Components/Intro/sketch.js","Components/Intro/Me.js","Components/TopHeader/TopHeader.js","assets/skillsSVG.js","assets/projectsList.js","Components/Experience/Experience.js","assets/experienceList.js","Components/small_buttons/SmallButtons.js","Components/Projects/Projects.js","App.js","index.js"],"sourcesContent":["/*!\n * matter-js 0.19.0 by @liabru\n * http://brm.io/matter-js/\n * License MIT\n * \n * The MIT License (MIT)\n * \n * Copyright (c) Liam Brummitt and contributors.\n * \n * Permission is hereby granted, free of charge, to any person obtaining a copy\n * of this software and associated documentation files (the \"Software\"), to deal\n * in the Software without restriction, including without limitation the rights\n * to use, copy, modify, merge, publish, distribute, sublicense, and/or sell\n * copies of the Software, and to permit persons to whom the Software is\n * furnished to do so, subject to the following conditions:\n * \n * The above copyright notice and this permission notice shall be included in\n * all copies or substantial portions of the Software.\n * \n * THE SOFTWARE IS PROVIDED \"AS IS\", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR\n * IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,\n * FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE\n * AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER\n * LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,\n * OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN\n * THE SOFTWARE.\n */\n(function webpackUniversalModuleDefinition(root, factory) {\n\tif(typeof exports === 'object' && typeof module === 'object')\n\t\tmodule.exports = factory();\n\telse if(typeof define === 'function' && define.amd)\n\t\tdefine(\"Matter\", [], factory);\n\telse if(typeof exports === 'object')\n\t\texports[\"Matter\"] = factory();\n\telse\n\t\troot[\"Matter\"] = factory();\n})(this, function() {\nreturn /******/ (function(modules) { // webpackBootstrap\n/******/ \t// The module cache\n/******/ \tvar installedModules = {};\n/******/\n/******/ \t// The require function\n/******/ \tfunction __webpack_require__(moduleId) {\n/******/\n/******/ \t\t// Check if module is in cache\n/******/ \t\tif(installedModules[moduleId]) {\n/******/ \t\t\treturn installedModules[moduleId].exports;\n/******/ \t\t}\n/******/ \t\t// Create a new module (and put it into the cache)\n/******/ \t\tvar module = installedModules[moduleId] = {\n/******/ \t\t\ti: moduleId,\n/******/ \t\t\tl: false,\n/******/ \t\t\texports: {}\n/******/ \t\t};\n/******/\n/******/ \t\t// Execute the module function\n/******/ \t\tmodules[moduleId].call(module.exports, module, module.exports, __webpack_require__);\n/******/\n/******/ \t\t// Flag the module as loaded\n/******/ \t\tmodule.l = true;\n/******/\n/******/ \t\t// Return the exports of the module\n/******/ \t\treturn module.exports;\n/******/ \t}\n/******/\n/******/\n/******/ \t// expose the modules object (__webpack_modules__)\n/******/ \t__webpack_require__.m = modules;\n/******/\n/******/ \t// expose the module cache\n/******/ \t__webpack_require__.c = installedModules;\n/******/\n/******/ \t// define getter function for harmony exports\n/******/ \t__webpack_require__.d = function(exports, name, getter) {\n/******/ \t\tif(!__webpack_require__.o(exports, name)) {\n/******/ \t\t\tObject.defineProperty(exports, name, { enumerable: true, get: getter });\n/******/ \t\t}\n/******/ \t};\n/******/\n/******/ \t// define __esModule on exports\n/******/ \t__webpack_require__.r = function(exports) {\n/******/ \t\tif(typeof Symbol !== 'undefined' && Symbol.toStringTag) {\n/******/ \t\t\tObject.defineProperty(exports, Symbol.toStringTag, { value: 'Module' });\n/******/ \t\t}\n/******/ \t\tObject.defineProperty(exports, '__esModule', { value: true });\n/******/ \t};\n/******/\n/******/ \t// create a fake namespace object\n/******/ \t// mode & 1: value is a module id, require it\n/******/ \t// mode & 2: merge all properties of value into the ns\n/******/ \t// mode & 4: return value when already ns object\n/******/ \t// mode & 8|1: behave like require\n/******/ \t__webpack_require__.t = function(value, mode) {\n/******/ \t\tif(mode & 1) value = __webpack_require__(value);\n/******/ \t\tif(mode & 8) return value;\n/******/ \t\tif((mode & 4) && typeof value === 'object' && value && value.__esModule) return value;\n/******/ \t\tvar ns = Object.create(null);\n/******/ \t\t__webpack_require__.r(ns);\n/******/ \t\tObject.defineProperty(ns, 'default', { enumerable: true, value: value });\n/******/ \t\tif(mode & 2 && typeof value != 'string') for(var key in value) __webpack_require__.d(ns, key, function(key) { return value[key]; }.bind(null, key));\n/******/ \t\treturn ns;\n/******/ \t};\n/******/\n/******/ \t// getDefaultExport function for compatibility with non-harmony modules\n/******/ \t__webpack_require__.n = function(module) {\n/******/ \t\tvar getter = module && module.__esModule ?\n/******/ \t\t\tfunction getDefault() { return module['default']; } :\n/******/ \t\t\tfunction getModuleExports() { return module; };\n/******/ \t\t__webpack_require__.d(getter, 'a', getter);\n/******/ \t\treturn getter;\n/******/ \t};\n/******/\n/******/ \t// Object.prototype.hasOwnProperty.call\n/******/ \t__webpack_require__.o = function(object, property) { return Object.prototype.hasOwnProperty.call(object, property); };\n/******/\n/******/ \t// __webpack_public_path__\n/******/ \t__webpack_require__.p = \"\";\n/******/\n/******/\n/******/ \t// Load entry module and return exports\n/******/ \treturn __webpack_require__(__webpack_require__.s = 20);\n/******/ })\n/************************************************************************/\n/******/ ([\n/* 0 */\n/***/ (function(module, exports) {\n\n/**\n* The `Matter.Common` module contains utility functions that are common to all modules.\n*\n* @class Common\n*/\n\nvar Common = {};\n\nmodule.exports = Common;\n\n(function() {\n\n Common._baseDelta = 1000 / 60;\n Common._nextId = 0;\n Common._seed = 0;\n Common._nowStartTime = +(new Date());\n Common._warnedOnce = {};\n Common._decomp = null;\n \n /**\n * Extends the object in the first argument using the object in the second argument.\n * @method extend\n * @param {} obj\n * @param {boolean} deep\n * @return {} obj extended\n */\n Common.extend = function(obj, deep) {\n var argsStart,\n args,\n deepClone;\n\n if (typeof deep === 'boolean') {\n argsStart = 2;\n deepClone = deep;\n } else {\n argsStart = 1;\n deepClone = true;\n }\n\n for (var i = argsStart; i < arguments.length; i++) {\n var source = arguments[i];\n\n if (source) {\n for (var prop in source) {\n if (deepClone && source[prop] && source[prop].constructor === Object) {\n if (!obj[prop] || obj[prop].constructor === Object) {\n obj[prop] = obj[prop] || {};\n Common.extend(obj[prop], deepClone, source[prop]);\n } else {\n obj[prop] = source[prop];\n }\n } else {\n obj[prop] = source[prop];\n }\n }\n }\n }\n \n return obj;\n };\n\n /**\n * Creates a new clone of the object, if deep is true references will also be cloned.\n * @method clone\n * @param {} obj\n * @param {bool} deep\n * @return {} obj cloned\n */\n Common.clone = function(obj, deep) {\n return Common.extend({}, deep, obj);\n };\n\n /**\n * Returns the list of keys for the given object.\n * @method keys\n * @param {} obj\n * @return {string[]} keys\n */\n Common.keys = function(obj) {\n if (Object.keys)\n return Object.keys(obj);\n\n // avoid hasOwnProperty for performance\n var keys = [];\n for (var key in obj)\n keys.push(key);\n return keys;\n };\n\n /**\n * Returns the list of values for the given object.\n * @method values\n * @param {} obj\n * @return {array} Array of the objects property values\n */\n Common.values = function(obj) {\n var values = [];\n \n if (Object.keys) {\n var keys = Object.keys(obj);\n for (var i = 0; i < keys.length; i++) {\n values.push(obj[keys[i]]);\n }\n return values;\n }\n \n // avoid hasOwnProperty for performance\n for (var key in obj)\n values.push(obj[key]);\n return values;\n };\n\n /**\n * Gets a value from `base` relative to the `path` string.\n * @method get\n * @param {} obj The base object\n * @param {string} path The path relative to `base`, e.g. 'Foo.Bar.baz'\n * @param {number} [begin] Path slice begin\n * @param {number} [end] Path slice end\n * @return {} The object at the given path\n */\n Common.get = function(obj, path, begin, end) {\n path = path.split('.').slice(begin, end);\n\n for (var i = 0; i < path.length; i += 1) {\n obj = obj[path[i]];\n }\n\n return obj;\n };\n\n /**\n * Sets a value on `base` relative to the given `path` string.\n * @method set\n * @param {} obj The base object\n * @param {string} path The path relative to `base`, e.g. 'Foo.Bar.baz'\n * @param {} val The value to set\n * @param {number} [begin] Path slice begin\n * @param {number} [end] Path slice end\n * @return {} Pass through `val` for chaining\n */\n Common.set = function(obj, path, val, begin, end) {\n var parts = path.split('.').slice(begin, end);\n Common.get(obj, path, 0, -1)[parts[parts.length - 1]] = val;\n return val;\n };\n\n /**\n * Shuffles the given array in-place.\n * The function uses a seeded random generator.\n * @method shuffle\n * @param {array} array\n * @return {array} array shuffled randomly\n */\n Common.shuffle = function(array) {\n for (var i = array.length - 1; i > 0; i--) {\n var j = Math.floor(Common.random() * (i + 1));\n var temp = array[i];\n array[i] = array[j];\n array[j] = temp;\n }\n return array;\n };\n\n /**\n * Randomly chooses a value from a list with equal probability.\n * The function uses a seeded random generator.\n * @method choose\n * @param {array} choices\n * @return {object} A random choice object from the array\n */\n Common.choose = function(choices) {\n return choices[Math.floor(Common.random() * choices.length)];\n };\n\n /**\n * Returns true if the object is a HTMLElement, otherwise false.\n * @method isElement\n * @param {object} obj\n * @return {boolean} True if the object is a HTMLElement, otherwise false\n */\n Common.isElement = function(obj) {\n if (typeof HTMLElement !== 'undefined') {\n return obj instanceof HTMLElement;\n }\n\n return !!(obj && obj.nodeType && obj.nodeName);\n };\n\n /**\n * Returns true if the object is an array.\n * @method isArray\n * @param {object} obj\n * @return {boolean} True if the object is an array, otherwise false\n */\n Common.isArray = function(obj) {\n return Object.prototype.toString.call(obj) === '[object Array]';\n };\n\n /**\n * Returns true if the object is a function.\n * @method isFunction\n * @param {object} obj\n * @return {boolean} True if the object is a function, otherwise false\n */\n Common.isFunction = function(obj) {\n return typeof obj === \"function\";\n };\n\n /**\n * Returns true if the object is a plain object.\n * @method isPlainObject\n * @param {object} obj\n * @return {boolean} True if the object is a plain object, otherwise false\n */\n Common.isPlainObject = function(obj) {\n return typeof obj === 'object' && obj.constructor === Object;\n };\n\n /**\n * Returns true if the object is a string.\n * @method isString\n * @param {object} obj\n * @return {boolean} True if the object is a string, otherwise false\n */\n Common.isString = function(obj) {\n return toString.call(obj) === '[object String]';\n };\n \n /**\n * Returns the given value clamped between a minimum and maximum value.\n * @method clamp\n * @param {number} value\n * @param {number} min\n * @param {number} max\n * @return {number} The value clamped between min and max inclusive\n */\n Common.clamp = function(value, min, max) {\n if (value < min)\n return min;\n if (value > max)\n return max;\n return value;\n };\n \n /**\n * Returns the sign of the given value.\n * @method sign\n * @param {number} value\n * @return {number} -1 if negative, +1 if 0 or positive\n */\n Common.sign = function(value) {\n return value < 0 ? -1 : 1;\n };\n \n /**\n * Returns the current timestamp since the time origin (e.g. from page load).\n * The result is in milliseconds and will use high-resolution timing if available.\n * @method now\n * @return {number} the current timestamp in milliseconds\n */\n Common.now = function() {\n if (typeof window !== 'undefined' && window.performance) {\n if (window.performance.now) {\n return window.performance.now();\n } else if (window.performance.webkitNow) {\n return window.performance.webkitNow();\n }\n }\n\n if (Date.now) {\n return Date.now();\n }\n\n return (new Date()) - Common._nowStartTime;\n };\n \n /**\n * Returns a random value between a minimum and a maximum value inclusive.\n * The function uses a seeded random generator.\n * @method random\n * @param {number} min\n * @param {number} max\n * @return {number} A random number between min and max inclusive\n */\n Common.random = function(min, max) {\n min = (typeof min !== \"undefined\") ? min : 0;\n max = (typeof max !== \"undefined\") ? max : 1;\n return min + _seededRandom() * (max - min);\n };\n\n var _seededRandom = function() {\n // https://en.wikipedia.org/wiki/Linear_congruential_generator\n Common._seed = (Common._seed * 9301 + 49297) % 233280;\n return Common._seed / 233280;\n };\n\n /**\n * Converts a CSS hex colour string into an integer.\n * @method colorToNumber\n * @param {string} colorString\n * @return {number} An integer representing the CSS hex string\n */\n Common.colorToNumber = function(colorString) {\n colorString = colorString.replace('#','');\n\n if (colorString.length == 3) {\n colorString = colorString.charAt(0) + colorString.charAt(0)\n + colorString.charAt(1) + colorString.charAt(1)\n + colorString.charAt(2) + colorString.charAt(2);\n }\n\n return parseInt(colorString, 16);\n };\n\n /**\n * The console logging level to use, where each level includes all levels above and excludes the levels below.\n * The default level is 'debug' which shows all console messages. \n *\n * Possible level values are:\n * - 0 = None\n * - 1 = Debug\n * - 2 = Info\n * - 3 = Warn\n * - 4 = Error\n * @static\n * @property logLevel\n * @type {Number}\n * @default 1\n */\n Common.logLevel = 1;\n\n /**\n * Shows a `console.log` message only if the current `Common.logLevel` allows it.\n * The message will be prefixed with 'matter-js' to make it easily identifiable.\n * @method log\n * @param ...objs {} The objects to log.\n */\n Common.log = function() {\n if (console && Common.logLevel > 0 && Common.logLevel <= 3) {\n console.log.apply(console, ['matter-js:'].concat(Array.prototype.slice.call(arguments)));\n }\n };\n\n /**\n * Shows a `console.info` message only if the current `Common.logLevel` allows it.\n * The message will be prefixed with 'matter-js' to make it easily identifiable.\n * @method info\n * @param ...objs {} The objects to log.\n */\n Common.info = function() {\n if (console && Common.logLevel > 0 && Common.logLevel <= 2) {\n console.info.apply(console, ['matter-js:'].concat(Array.prototype.slice.call(arguments)));\n }\n };\n\n /**\n * Shows a `console.warn` message only if the current `Common.logLevel` allows it.\n * The message will be prefixed with 'matter-js' to make it easily identifiable.\n * @method warn\n * @param ...objs {} The objects to log.\n */\n Common.warn = function() {\n if (console && Common.logLevel > 0 && Common.logLevel <= 3) {\n console.warn.apply(console, ['matter-js:'].concat(Array.prototype.slice.call(arguments)));\n }\n };\n\n /**\n * Uses `Common.warn` to log the given message one time only.\n * @method warnOnce\n * @param ...objs {} The objects to log.\n */\n Common.warnOnce = function() {\n var message = Array.prototype.slice.call(arguments).join(' ');\n\n if (!Common._warnedOnce[message]) {\n Common.warn(message);\n Common._warnedOnce[message] = true;\n }\n };\n\n /**\n * Shows a deprecated console warning when the function on the given object is called.\n * The target function will be replaced with a new function that first shows the warning\n * and then calls the original function.\n * @method deprecated\n * @param {object} obj The object or module\n * @param {string} name The property name of the function on obj\n * @param {string} warning The one-time message to show if the function is called\n */\n Common.deprecated = function(obj, prop, warning) {\n obj[prop] = Common.chain(function() {\n Common.warnOnce('🔅 deprecated 🔅', warning);\n }, obj[prop]);\n };\n\n /**\n * Returns the next unique sequential ID.\n * @method nextId\n * @return {Number} Unique sequential ID\n */\n Common.nextId = function() {\n return Common._nextId++;\n };\n\n /**\n * A cross browser compatible indexOf implementation.\n * @method indexOf\n * @param {array} haystack\n * @param {object} needle\n * @return {number} The position of needle in haystack, otherwise -1.\n */\n Common.indexOf = function(haystack, needle) {\n if (haystack.indexOf)\n return haystack.indexOf(needle);\n\n for (var i = 0; i < haystack.length; i++) {\n if (haystack[i] === needle)\n return i;\n }\n\n return -1;\n };\n\n /**\n * A cross browser compatible array map implementation.\n * @method map\n * @param {array} list\n * @param {function} func\n * @return {array} Values from list transformed by func.\n */\n Common.map = function(list, func) {\n if (list.map) {\n return list.map(func);\n }\n\n var mapped = [];\n\n for (var i = 0; i < list.length; i += 1) {\n mapped.push(func(list[i]));\n }\n\n return mapped;\n };\n\n /**\n * Takes a directed graph and returns the partially ordered set of vertices in topological order.\n * Circular dependencies are allowed.\n * @method topologicalSort\n * @param {object} graph\n * @return {array} Partially ordered set of vertices in topological order.\n */\n Common.topologicalSort = function(graph) {\n // https://github.com/mgechev/javascript-algorithms\n // Copyright (c) Minko Gechev (MIT license)\n // Modifications: tidy formatting and naming\n var result = [],\n visited = [],\n temp = [];\n\n for (var node in graph) {\n if (!visited[node] && !temp[node]) {\n Common._topologicalSort(node, visited, temp, graph, result);\n }\n }\n\n return result;\n };\n\n Common._topologicalSort = function(node, visited, temp, graph, result) {\n var neighbors = graph[node] || [];\n temp[node] = true;\n\n for (var i = 0; i < neighbors.length; i += 1) {\n var neighbor = neighbors[i];\n\n if (temp[neighbor]) {\n // skip circular dependencies\n continue;\n }\n\n if (!visited[neighbor]) {\n Common._topologicalSort(neighbor, visited, temp, graph, result);\n }\n }\n\n temp[node] = false;\n visited[node] = true;\n\n result.push(node);\n };\n\n /**\n * Takes _n_ functions as arguments and returns a new function that calls them in order.\n * The arguments applied when calling the new function will also be applied to every function passed.\n * The value of `this` refers to the last value returned in the chain that was not `undefined`.\n * Therefore if a passed function does not return a value, the previously returned value is maintained.\n * After all passed functions have been called the new function returns the last returned value (if any).\n * If any of the passed functions are a chain, then the chain will be flattened.\n * @method chain\n * @param ...funcs {function} The functions to chain.\n * @return {function} A new function that calls the passed functions in order.\n */\n Common.chain = function() {\n var funcs = [];\n\n for (var i = 0; i < arguments.length; i += 1) {\n var func = arguments[i];\n\n if (func._chained) {\n // flatten already chained functions\n funcs.push.apply(funcs, func._chained);\n } else {\n funcs.push(func);\n }\n }\n\n var chain = function() {\n // https://github.com/GoogleChrome/devtools-docs/issues/53#issuecomment-51941358\n var lastResult,\n args = new Array(arguments.length);\n\n for (var i = 0, l = arguments.length; i < l; i++) {\n args[i] = arguments[i];\n }\n\n for (i = 0; i < funcs.length; i += 1) {\n var result = funcs[i].apply(lastResult, args);\n\n if (typeof result !== 'undefined') {\n lastResult = result;\n }\n }\n\n return lastResult;\n };\n\n chain._chained = funcs;\n\n return chain;\n };\n\n /**\n * Chains a function to excute before the original function on the given `path` relative to `base`.\n * See also docs for `Common.chain`.\n * @method chainPathBefore\n * @param {} base The base object\n * @param {string} path The path relative to `base`\n * @param {function} func The function to chain before the original\n * @return {function} The chained function that replaced the original\n */\n Common.chainPathBefore = function(base, path, func) {\n return Common.set(base, path, Common.chain(\n func,\n Common.get(base, path)\n ));\n };\n\n /**\n * Chains a function to excute after the original function on the given `path` relative to `base`.\n * See also docs for `Common.chain`.\n * @method chainPathAfter\n * @param {} base The base object\n * @param {string} path The path relative to `base`\n * @param {function} func The function to chain after the original\n * @return {function} The chained function that replaced the original\n */\n Common.chainPathAfter = function(base, path, func) {\n return Common.set(base, path, Common.chain(\n Common.get(base, path),\n func\n ));\n };\n\n /**\n * Provide the [poly-decomp](https://github.com/schteppe/poly-decomp.js) library module to enable\n * concave vertex decomposition support when using `Bodies.fromVertices` e.g. `Common.setDecomp(require('poly-decomp'))`.\n * @method setDecomp\n * @param {} decomp The [poly-decomp](https://github.com/schteppe/poly-decomp.js) library module.\n */\n Common.setDecomp = function(decomp) {\n Common._decomp = decomp;\n };\n\n /**\n * Returns the [poly-decomp](https://github.com/schteppe/poly-decomp.js) library module provided through `Common.setDecomp`,\n * otherwise returns the global `decomp` if set.\n * @method getDecomp\n * @return {} The [poly-decomp](https://github.com/schteppe/poly-decomp.js) library module if provided.\n */\n Common.getDecomp = function() {\n // get user provided decomp if set\n var decomp = Common._decomp;\n\n try {\n // otherwise from window global\n if (!decomp && typeof window !== 'undefined') {\n decomp = window.decomp;\n }\n \n // otherwise from node global\n if (!decomp && typeof global !== 'undefined') {\n decomp = global.decomp;\n }\n } catch (e) {\n // decomp not available\n decomp = null;\n }\n\n return decomp;\n };\n})();\n\n\n/***/ }),\n/* 1 */\n/***/ (function(module, exports) {\n\n/**\n* The `Matter.Bounds` module contains methods for creating and manipulating axis-aligned bounding boxes (AABB).\n*\n* @class Bounds\n*/\n\nvar Bounds = {};\n\nmodule.exports = Bounds;\n\n(function() {\n\n /**\n * Creates a new axis-aligned bounding box (AABB) for the given vertices.\n * @method create\n * @param {vertices} vertices\n * @return {bounds} A new bounds object\n */\n Bounds.create = function(vertices) {\n var bounds = { \n min: { x: 0, y: 0 }, \n max: { x: 0, y: 0 }\n };\n\n if (vertices)\n Bounds.update(bounds, vertices);\n \n return bounds;\n };\n\n /**\n * Updates bounds using the given vertices and extends the bounds given a velocity.\n * @method update\n * @param {bounds} bounds\n * @param {vertices} vertices\n * @param {vector} velocity\n */\n Bounds.update = function(bounds, vertices, velocity) {\n bounds.min.x = Infinity;\n bounds.max.x = -Infinity;\n bounds.min.y = Infinity;\n bounds.max.y = -Infinity;\n\n for (var i = 0; i < vertices.length; i++) {\n var vertex = vertices[i];\n if (vertex.x > bounds.max.x) bounds.max.x = vertex.x;\n if (vertex.x < bounds.min.x) bounds.min.x = vertex.x;\n if (vertex.y > bounds.max.y) bounds.max.y = vertex.y;\n if (vertex.y < bounds.min.y) bounds.min.y = vertex.y;\n }\n \n if (velocity) {\n if (velocity.x > 0) {\n bounds.max.x += velocity.x;\n } else {\n bounds.min.x += velocity.x;\n }\n \n if (velocity.y > 0) {\n bounds.max.y += velocity.y;\n } else {\n bounds.min.y += velocity.y;\n }\n }\n };\n\n /**\n * Returns true if the bounds contains the given point.\n * @method contains\n * @param {bounds} bounds\n * @param {vector} point\n * @return {boolean} True if the bounds contain the point, otherwise false\n */\n Bounds.contains = function(bounds, point) {\n return point.x >= bounds.min.x && point.x <= bounds.max.x \n && point.y >= bounds.min.y && point.y <= bounds.max.y;\n };\n\n /**\n * Returns true if the two bounds intersect.\n * @method overlaps\n * @param {bounds} boundsA\n * @param {bounds} boundsB\n * @return {boolean} True if the bounds overlap, otherwise false\n */\n Bounds.overlaps = function(boundsA, boundsB) {\n return (boundsA.min.x <= boundsB.max.x && boundsA.max.x >= boundsB.min.x\n && boundsA.max.y >= boundsB.min.y && boundsA.min.y <= boundsB.max.y);\n };\n\n /**\n * Translates the bounds by the given vector.\n * @method translate\n * @param {bounds} bounds\n * @param {vector} vector\n */\n Bounds.translate = function(bounds, vector) {\n bounds.min.x += vector.x;\n bounds.max.x += vector.x;\n bounds.min.y += vector.y;\n bounds.max.y += vector.y;\n };\n\n /**\n * Shifts the bounds to the given position.\n * @method shift\n * @param {bounds} bounds\n * @param {vector} position\n */\n Bounds.shift = function(bounds, position) {\n var deltaX = bounds.max.x - bounds.min.x,\n deltaY = bounds.max.y - bounds.min.y;\n \n bounds.min.x = position.x;\n bounds.max.x = position.x + deltaX;\n bounds.min.y = position.y;\n bounds.max.y = position.y + deltaY;\n };\n \n})();\n\n\n/***/ }),\n/* 2 */\n/***/ (function(module, exports) {\n\n/**\n* The `Matter.Vector` module contains methods for creating and manipulating vectors.\n* Vectors are the basis of all the geometry related operations in the engine.\n* A `Matter.Vector` object is of the form `{ x: 0, y: 0 }`.\n*\n* See the included usage [examples](https://github.com/liabru/matter-js/tree/master/examples).\n*\n* @class Vector\n*/\n\n// TODO: consider params for reusing vector objects\n\nvar Vector = {};\n\nmodule.exports = Vector;\n\n(function() {\n\n /**\n * Creates a new vector.\n * @method create\n * @param {number} x\n * @param {number} y\n * @return {vector} A new vector\n */\n Vector.create = function(x, y) {\n return { x: x || 0, y: y || 0 };\n };\n\n /**\n * Returns a new vector with `x` and `y` copied from the given `vector`.\n * @method clone\n * @param {vector} vector\n * @return {vector} A new cloned vector\n */\n Vector.clone = function(vector) {\n return { x: vector.x, y: vector.y };\n };\n\n /**\n * Returns the magnitude (length) of a vector.\n * @method magnitude\n * @param {vector} vector\n * @return {number} The magnitude of the vector\n */\n Vector.magnitude = function(vector) {\n return Math.sqrt((vector.x * vector.x) + (vector.y * vector.y));\n };\n\n /**\n * Returns the magnitude (length) of a vector (therefore saving a `sqrt` operation).\n * @method magnitudeSquared\n * @param {vector} vector\n * @return {number} The squared magnitude of the vector\n */\n Vector.magnitudeSquared = function(vector) {\n return (vector.x * vector.x) + (vector.y * vector.y);\n };\n\n /**\n * Rotates the vector about (0, 0) by specified angle.\n * @method rotate\n * @param {vector} vector\n * @param {number} angle\n * @param {vector} [output]\n * @return {vector} The vector rotated about (0, 0)\n */\n Vector.rotate = function(vector, angle, output) {\n var cos = Math.cos(angle), sin = Math.sin(angle);\n if (!output) output = {};\n var x = vector.x * cos - vector.y * sin;\n output.y = vector.x * sin + vector.y * cos;\n output.x = x;\n return output;\n };\n\n /**\n * Rotates the vector about a specified point by specified angle.\n * @method rotateAbout\n * @param {vector} vector\n * @param {number} angle\n * @param {vector} point\n * @param {vector} [output]\n * @return {vector} A new vector rotated about the point\n */\n Vector.rotateAbout = function(vector, angle, point, output) {\n var cos = Math.cos(angle), sin = Math.sin(angle);\n if (!output) output = {};\n var x = point.x + ((vector.x - point.x) * cos - (vector.y - point.y) * sin);\n output.y = point.y + ((vector.x - point.x) * sin + (vector.y - point.y) * cos);\n output.x = x;\n return output;\n };\n\n /**\n * Normalises a vector (such that its magnitude is `1`).\n * @method normalise\n * @param {vector} vector\n * @return {vector} A new vector normalised\n */\n Vector.normalise = function(vector) {\n var magnitude = Vector.magnitude(vector);\n if (magnitude === 0)\n return { x: 0, y: 0 };\n return { x: vector.x / magnitude, y: vector.y / magnitude };\n };\n\n /**\n * Returns the dot-product of two vectors.\n * @method dot\n * @param {vector} vectorA\n * @param {vector} vectorB\n * @return {number} The dot product of the two vectors\n */\n Vector.dot = function(vectorA, vectorB) {\n return (vectorA.x * vectorB.x) + (vectorA.y * vectorB.y);\n };\n\n /**\n * Returns the cross-product of two vectors.\n * @method cross\n * @param {vector} vectorA\n * @param {vector} vectorB\n * @return {number} The cross product of the two vectors\n */\n Vector.cross = function(vectorA, vectorB) {\n return (vectorA.x * vectorB.y) - (vectorA.y * vectorB.x);\n };\n\n /**\n * Returns the cross-product of three vectors.\n * @method cross3\n * @param {vector} vectorA\n * @param {vector} vectorB\n * @param {vector} vectorC\n * @return {number} The cross product of the three vectors\n */\n Vector.cross3 = function(vectorA, vectorB, vectorC) {\n return (vectorB.x - vectorA.x) * (vectorC.y - vectorA.y) - (vectorB.y - vectorA.y) * (vectorC.x - vectorA.x);\n };\n\n /**\n * Adds the two vectors.\n * @method add\n * @param {vector} vectorA\n * @param {vector} vectorB\n * @param {vector} [output]\n * @return {vector} A new vector of vectorA and vectorB added\n */\n Vector.add = function(vectorA, vectorB, output) {\n if (!output) output = {};\n output.x = vectorA.x + vectorB.x;\n output.y = vectorA.y + vectorB.y;\n return output;\n };\n\n /**\n * Subtracts the two vectors.\n * @method sub\n * @param {vector} vectorA\n * @param {vector} vectorB\n * @param {vector} [output]\n * @return {vector} A new vector of vectorA and vectorB subtracted\n */\n Vector.sub = function(vectorA, vectorB, output) {\n if (!output) output = {};\n output.x = vectorA.x - vectorB.x;\n output.y = vectorA.y - vectorB.y;\n return output;\n };\n\n /**\n * Multiplies a vector and a scalar.\n * @method mult\n * @param {vector} vector\n * @param {number} scalar\n * @return {vector} A new vector multiplied by scalar\n */\n Vector.mult = function(vector, scalar) {\n return { x: vector.x * scalar, y: vector.y * scalar };\n };\n\n /**\n * Divides a vector and a scalar.\n * @method div\n * @param {vector} vector\n * @param {number} scalar\n * @return {vector} A new vector divided by scalar\n */\n Vector.div = function(vector, scalar) {\n return { x: vector.x / scalar, y: vector.y / scalar };\n };\n\n /**\n * Returns the perpendicular vector. Set `negate` to true for the perpendicular in the opposite direction.\n * @method perp\n * @param {vector} vector\n * @param {bool} [negate=false]\n * @return {vector} The perpendicular vector\n */\n Vector.perp = function(vector, negate) {\n negate = negate === true ? -1 : 1;\n return { x: negate * -vector.y, y: negate * vector.x };\n };\n\n /**\n * Negates both components of a vector such that it points in the opposite direction.\n * @method neg\n * @param {vector} vector\n * @return {vector} The negated vector\n */\n Vector.neg = function(vector) {\n return { x: -vector.x, y: -vector.y };\n };\n\n /**\n * Returns the angle between the vector `vectorB - vectorA` and the x-axis in radians.\n * @method angle\n * @param {vector} vectorA\n * @param {vector} vectorB\n * @return {number} The angle in radians\n */\n Vector.angle = function(vectorA, vectorB) {\n return Math.atan2(vectorB.y - vectorA.y, vectorB.x - vectorA.x);\n };\n\n /**\n * Temporary vector pool (not thread-safe).\n * @property _temp\n * @type {vector[]}\n * @private\n */\n Vector._temp = [\n Vector.create(), Vector.create(), \n Vector.create(), Vector.create(), \n Vector.create(), Vector.create()\n ];\n\n})();\n\n/***/ }),\n/* 3 */\n/***/ (function(module, exports, __webpack_require__) {\n\n/**\n* The `Matter.Vertices` module contains methods for creating and manipulating sets of vertices.\n* A set of vertices is an array of `Matter.Vector` with additional indexing properties inserted by `Vertices.create`.\n* A `Matter.Body` maintains a set of vertices to represent the shape of the object (its convex hull).\n*\n* See the included usage [examples](https://github.com/liabru/matter-js/tree/master/examples).\n*\n* @class Vertices\n*/\n\nvar Vertices = {};\n\nmodule.exports = Vertices;\n\nvar Vector = __webpack_require__(2);\nvar Common = __webpack_require__(0);\n\n(function() {\n\n /**\n * Creates a new set of `Matter.Body` compatible vertices.\n * The `points` argument accepts an array of `Matter.Vector` points orientated around the origin `(0, 0)`, for example:\n *\n * [{ x: 0, y: 0 }, { x: 25, y: 50 }, { x: 50, y: 0 }]\n *\n * The `Vertices.create` method returns a new array of vertices, which are similar to Matter.Vector objects,\n * but with some additional references required for efficient collision detection routines.\n *\n * Vertices must be specified in clockwise order.\n *\n * Note that the `body` argument is not optional, a `Matter.Body` reference must be provided.\n *\n * @method create\n * @param {vector[]} points\n * @param {body} body\n */\n Vertices.create = function(points, body) {\n var vertices = [];\n\n for (var i = 0; i < points.length; i++) {\n var point = points[i],\n vertex = {\n x: point.x,\n y: point.y,\n index: i,\n body: body,\n isInternal: false\n };\n\n vertices.push(vertex);\n }\n\n return vertices;\n };\n\n /**\n * Parses a string containing ordered x y pairs separated by spaces (and optionally commas), \n * into a `Matter.Vertices` object for the given `Matter.Body`.\n * For parsing SVG paths, see `Svg.pathToVertices`.\n * @method fromPath\n * @param {string} path\n * @param {body} body\n * @return {vertices} vertices\n */\n Vertices.fromPath = function(path, body) {\n var pathPattern = /L?\\s*([-\\d.e]+)[\\s,]*([-\\d.e]+)*/ig,\n points = [];\n\n path.replace(pathPattern, function(match, x, y) {\n points.push({ x: parseFloat(x), y: parseFloat(y) });\n });\n\n return Vertices.create(points, body);\n };\n\n /**\n * Returns the centre (centroid) of the set of vertices.\n * @method centre\n * @param {vertices} vertices\n * @return {vector} The centre point\n */\n Vertices.centre = function(vertices) {\n var area = Vertices.area(vertices, true),\n centre = { x: 0, y: 0 },\n cross,\n temp,\n j;\n\n for (var i = 0; i < vertices.length; i++) {\n j = (i + 1) % vertices.length;\n cross = Vector.cross(vertices[i], vertices[j]);\n temp = Vector.mult(Vector.add(vertices[i], vertices[j]), cross);\n centre = Vector.add(centre, temp);\n }\n\n return Vector.div(centre, 6 * area);\n };\n\n /**\n * Returns the average (mean) of the set of vertices.\n * @method mean\n * @param {vertices} vertices\n * @return {vector} The average point\n */\n Vertices.mean = function(vertices) {\n var average = { x: 0, y: 0 };\n\n for (var i = 0; i < vertices.length; i++) {\n average.x += vertices[i].x;\n average.y += vertices[i].y;\n }\n\n return Vector.div(average, vertices.length);\n };\n\n /**\n * Returns the area of the set of vertices.\n * @method area\n * @param {vertices} vertices\n * @param {bool} signed\n * @return {number} The area\n */\n Vertices.area = function(vertices, signed) {\n var area = 0,\n j = vertices.length - 1;\n\n for (var i = 0; i < vertices.length; i++) {\n area += (vertices[j].x - vertices[i].x) * (vertices[j].y + vertices[i].y);\n j = i;\n }\n\n if (signed)\n return area / 2;\n\n return Math.abs(area) / 2;\n };\n\n /**\n * Returns the moment of inertia (second moment of area) of the set of vertices given the total mass.\n * @method inertia\n * @param {vertices} vertices\n * @param {number} mass\n * @return {number} The polygon's moment of inertia\n */\n Vertices.inertia = function(vertices, mass) {\n var numerator = 0,\n denominator = 0,\n v = vertices,\n cross,\n j;\n\n // find the polygon's moment of inertia, using second moment of area\n // from equations at http://www.physicsforums.com/showthread.php?t=25293\n for (var n = 0; n < v.length; n++) {\n j = (n + 1) % v.length;\n cross = Math.abs(Vector.cross(v[j], v[n]));\n numerator += cross * (Vector.dot(v[j], v[j]) + Vector.dot(v[j], v[n]) + Vector.dot(v[n], v[n]));\n denominator += cross;\n }\n\n return (mass / 6) * (numerator / denominator);\n };\n\n /**\n * Translates the set of vertices in-place.\n * @method translate\n * @param {vertices} vertices\n * @param {vector} vector\n * @param {number} scalar\n */\n Vertices.translate = function(vertices, vector, scalar) {\n scalar = typeof scalar !== 'undefined' ? scalar : 1;\n\n var verticesLength = vertices.length,\n translateX = vector.x * scalar,\n translateY = vector.y * scalar,\n i;\n \n for (i = 0; i < verticesLength; i++) {\n vertices[i].x += translateX;\n vertices[i].y += translateY;\n }\n\n return vertices;\n };\n\n /**\n * Rotates the set of vertices in-place.\n * @method rotate\n * @param {vertices} vertices\n * @param {number} angle\n * @param {vector} point\n */\n Vertices.rotate = function(vertices, angle, point) {\n if (angle === 0)\n return;\n\n var cos = Math.cos(angle),\n sin = Math.sin(angle),\n pointX = point.x,\n pointY = point.y,\n verticesLength = vertices.length,\n vertex,\n dx,\n dy,\n i;\n\n for (i = 0; i < verticesLength; i++) {\n vertex = vertices[i];\n dx = vertex.x - pointX;\n dy = vertex.y - pointY;\n vertex.x = pointX + (dx * cos - dy * sin);\n vertex.y = pointY + (dx * sin + dy * cos);\n }\n\n return vertices;\n };\n\n /**\n * Returns `true` if the `point` is inside the set of `vertices`.\n * @method contains\n * @param {vertices} vertices\n * @param {vector} point\n * @return {boolean} True if the vertices contains point, otherwise false\n */\n Vertices.contains = function(vertices, point) {\n var pointX = point.x,\n pointY = point.y,\n verticesLength = vertices.length,\n vertex = vertices[verticesLength - 1],\n nextVertex;\n\n for (var i = 0; i < verticesLength; i++) {\n nextVertex = vertices[i];\n\n if ((pointX - vertex.x) * (nextVertex.y - vertex.y) \n + (pointY - vertex.y) * (vertex.x - nextVertex.x) > 0) {\n return false;\n }\n\n vertex = nextVertex;\n }\n\n return true;\n };\n\n /**\n * Scales the vertices from a point (default is centre) in-place.\n * @method scale\n * @param {vertices} vertices\n * @param {number} scaleX\n * @param {number} scaleY\n * @param {vector} point\n */\n Vertices.scale = function(vertices, scaleX, scaleY, point) {\n if (scaleX === 1 && scaleY === 1)\n return vertices;\n\n point = point || Vertices.centre(vertices);\n\n var vertex,\n delta;\n\n for (var i = 0; i < vertices.length; i++) {\n vertex = vertices[i];\n delta = Vector.sub(vertex, point);\n vertices[i].x = point.x + delta.x * scaleX;\n vertices[i].y = point.y + delta.y * scaleY;\n }\n\n return vertices;\n };\n\n /**\n * Chamfers a set of vertices by giving them rounded corners, returns a new set of vertices.\n * The radius parameter is a single number or an array to specify the radius for each vertex.\n * @method chamfer\n * @param {vertices} vertices\n * @param {number[]} radius\n * @param {number} quality\n * @param {number} qualityMin\n * @param {number} qualityMax\n */\n Vertices.chamfer = function(vertices, radius, quality, qualityMin, qualityMax) {\n if (typeof radius === 'number') {\n radius = [radius];\n } else {\n radius = radius || [8];\n }\n\n // quality defaults to -1, which is auto\n quality = (typeof quality !== 'undefined') ? quality : -1;\n qualityMin = qualityMin || 2;\n qualityMax = qualityMax || 14;\n\n var newVertices = [];\n\n for (var i = 0; i < vertices.length; i++) {\n var prevVertex = vertices[i - 1 >= 0 ? i - 1 : vertices.length - 1],\n vertex = vertices[i],\n nextVertex = vertices[(i + 1) % vertices.length],\n currentRadius = radius[i < radius.length ? i : radius.length - 1];\n\n if (currentRadius === 0) {\n newVertices.push(vertex);\n continue;\n }\n\n var prevNormal = Vector.normalise({ \n x: vertex.y - prevVertex.y, \n y: prevVertex.x - vertex.x\n });\n\n var nextNormal = Vector.normalise({ \n x: nextVertex.y - vertex.y, \n y: vertex.x - nextVertex.x\n });\n\n var diagonalRadius = Math.sqrt(2 * Math.pow(currentRadius, 2)),\n radiusVector = Vector.mult(Common.clone(prevNormal), currentRadius),\n midNormal = Vector.normalise(Vector.mult(Vector.add(prevNormal, nextNormal), 0.5)),\n scaledVertex = Vector.sub(vertex, Vector.mult(midNormal, diagonalRadius));\n\n var precision = quality;\n\n if (quality === -1) {\n // automatically decide precision\n precision = Math.pow(currentRadius, 0.32) * 1.75;\n }\n\n precision = Common.clamp(precision, qualityMin, qualityMax);\n\n // use an even value for precision, more likely to reduce axes by using symmetry\n if (precision % 2 === 1)\n precision += 1;\n\n var alpha = Math.acos(Vector.dot(prevNormal, nextNormal)),\n theta = alpha / precision;\n\n for (var j = 0; j < precision; j++) {\n newVertices.push(Vector.add(Vector.rotate(radiusVector, theta * j), scaledVertex));\n }\n }\n\n return newVertices;\n };\n\n /**\n * Sorts the input vertices into clockwise order in place.\n * @method clockwiseSort\n * @param {vertices} vertices\n * @return {vertices} vertices\n */\n Vertices.clockwiseSort = function(vertices) {\n var centre = Vertices.mean(vertices);\n\n vertices.sort(function(vertexA, vertexB) {\n return Vector.angle(centre, vertexA) - Vector.angle(centre, vertexB);\n });\n\n return vertices;\n };\n\n /**\n * Returns true if the vertices form a convex shape (vertices must be in clockwise order).\n * @method isConvex\n * @param {vertices} vertices\n * @return {bool} `true` if the `vertices` are convex, `false` if not (or `null` if not computable).\n */\n Vertices.isConvex = function(vertices) {\n // http://paulbourke.net/geometry/polygonmesh/\n // Copyright (c) Paul Bourke (use permitted)\n\n var flag = 0,\n n = vertices.length,\n i,\n j,\n k,\n z;\n\n if (n < 3)\n return null;\n\n for (i = 0; i < n; i++) {\n j = (i + 1) % n;\n k = (i + 2) % n;\n z = (vertices[j].x - vertices[i].x) * (vertices[k].y - vertices[j].y);\n z -= (vertices[j].y - vertices[i].y) * (vertices[k].x - vertices[j].x);\n\n if (z < 0) {\n flag |= 1;\n } else if (z > 0) {\n flag |= 2;\n }\n\n if (flag === 3) {\n return false;\n }\n }\n\n if (flag !== 0){\n return true;\n } else {\n return null;\n }\n };\n\n /**\n * Returns the convex hull of the input vertices as a new array of points.\n * @method hull\n * @param {vertices} vertices\n * @return [vertex] vertices\n */\n Vertices.hull = function(vertices) {\n // http://geomalgorithms.com/a10-_hull-1.html\n\n var upper = [],\n lower = [], \n vertex,\n i;\n\n // sort vertices on x-axis (y-axis for ties)\n vertices = vertices.slice(0);\n vertices.sort(function(vertexA, vertexB) {\n var dx = vertexA.x - vertexB.x;\n return dx !== 0 ? dx : vertexA.y - vertexB.y;\n });\n\n // build lower hull\n for (i = 0; i < vertices.length; i += 1) {\n vertex = vertices[i];\n\n while (lower.length >= 2 \n && Vector.cross3(lower[lower.length - 2], lower[lower.length - 1], vertex) <= 0) {\n lower.pop();\n }\n\n lower.push(vertex);\n }\n\n // build upper hull\n for (i = vertices.length - 1; i >= 0; i -= 1) {\n vertex = vertices[i];\n\n while (upper.length >= 2 \n && Vector.cross3(upper[upper.length - 2], upper[upper.length - 1], vertex) <= 0) {\n upper.pop();\n }\n\n upper.push(vertex);\n }\n\n // concatenation of the lower and upper hulls gives the convex hull\n // omit last points because they are repeated at the beginning of the other list\n upper.pop();\n lower.pop();\n\n return upper.concat(lower);\n };\n\n})();\n\n\n/***/ }),\n/* 4 */\n/***/ (function(module, exports, __webpack_require__) {\n\n/**\n* The `Matter.Body` module contains methods for creating and manipulating rigid bodies.\n* For creating bodies with common configurations such as rectangles, circles and other polygons see the module `Matter.Bodies`.\n*\n* See the included usage [examples](https://github.com/liabru/matter-js/tree/master/examples).\n\n* @class Body\n*/\n\nvar Body = {};\n\nmodule.exports = Body;\n\nvar Vertices = __webpack_require__(3);\nvar Vector = __webpack_require__(2);\nvar Sleeping = __webpack_require__(7);\nvar Common = __webpack_require__(0);\nvar Bounds = __webpack_require__(1);\nvar Axes = __webpack_require__(11);\n\n(function() {\n\n Body._timeCorrection = true;\n Body._inertiaScale = 4;\n Body._nextCollidingGroupId = 1;\n Body._nextNonCollidingGroupId = -1;\n Body._nextCategory = 0x0001;\n Body._baseDelta = 1000 / 60;\n\n /**\n * Creates a new rigid body model. The options parameter is an object that specifies any properties you wish to override the defaults.\n * All properties have default values, and many are pre-calculated automatically based on other properties.\n * Vertices must be specified in clockwise order.\n * See the properties section below for detailed information on what you can pass via the `options` object.\n * @method create\n * @param {} options\n * @return {body} body\n */\n Body.create = function(options) {\n var defaults = {\n id: Common.nextId(),\n type: 'body',\n label: 'Body',\n parts: [],\n plugin: {},\n angle: 0,\n vertices: Vertices.fromPath('L 0 0 L 40 0 L 40 40 L 0 40'),\n position: { x: 0, y: 0 },\n force: { x: 0, y: 0 },\n torque: 0,\n positionImpulse: { x: 0, y: 0 },\n constraintImpulse: { x: 0, y: 0, angle: 0 },\n totalContacts: 0,\n speed: 0,\n angularSpeed: 0,\n velocity: { x: 0, y: 0 },\n angularVelocity: 0,\n isSensor: false,\n isStatic: false,\n isSleeping: false,\n motion: 0,\n sleepThreshold: 60,\n density: 0.001,\n restitution: 0,\n friction: 0.1,\n frictionStatic: 0.5,\n frictionAir: 0.01,\n collisionFilter: {\n category: 0x0001,\n mask: 0xFFFFFFFF,\n group: 0\n },\n slop: 0.05,\n timeScale: 1,\n render: {\n visible: true,\n opacity: 1,\n strokeStyle: null,\n fillStyle: null,\n lineWidth: null,\n sprite: {\n xScale: 1,\n yScale: 1,\n xOffset: 0,\n yOffset: 0\n }\n },\n events: null,\n bounds: null,\n chamfer: null,\n circleRadius: 0,\n positionPrev: null,\n anglePrev: 0,\n parent: null,\n axes: null,\n area: 0,\n mass: 0,\n inertia: 0,\n deltaTime: 1000 / 60,\n _original: null\n };\n\n var body = Common.extend(defaults, options);\n\n _initProperties(body, options);\n\n return body;\n };\n\n /**\n * Returns the next unique group index for which bodies will collide.\n * If `isNonColliding` is `true`, returns the next unique group index for which bodies will _not_ collide.\n * See `body.collisionFilter` for more information.\n * @method nextGroup\n * @param {bool} [isNonColliding=false]\n * @return {Number} Unique group index\n */\n Body.nextGroup = function(isNonColliding) {\n if (isNonColliding)\n return Body._nextNonCollidingGroupId--;\n\n return Body._nextCollidingGroupId++;\n };\n\n /**\n * Returns the next unique category bitfield (starting after the initial default category `0x0001`).\n * There are 32 available. See `body.collisionFilter` for more information.\n * @method nextCategory\n * @return {Number} Unique category bitfield\n */\n Body.nextCategory = function() {\n Body._nextCategory = Body._nextCategory << 1;\n return Body._nextCategory;\n };\n\n /**\n * Initialises body properties.\n * @method _initProperties\n * @private\n * @param {body} body\n * @param {} [options]\n */\n var _initProperties = function(body, options) {\n options = options || {};\n\n // init required properties (order is important)\n Body.set(body, {\n bounds: body.bounds || Bounds.create(body.vertices),\n positionPrev: body.positionPrev || Vector.clone(body.position),\n anglePrev: body.anglePrev || body.angle,\n vertices: body.vertices,\n parts: body.parts || [body],\n isStatic: body.isStatic,\n isSleeping: body.isSleeping,\n parent: body.parent || body\n });\n\n Vertices.rotate(body.vertices, body.angle, body.position);\n Axes.rotate(body.axes, body.angle);\n Bounds.update(body.bounds, body.vertices, body.velocity);\n\n // allow options to override the automatically calculated properties\n Body.set(body, {\n axes: options.axes || body.axes,\n area: options.area || body.area,\n mass: options.mass || body.mass,\n inertia: options.inertia || body.inertia\n });\n\n // render properties\n var defaultFillStyle = (body.isStatic ? '#14151f' : Common.choose(['#f19648', '#f5d259', '#f55a3c', '#063e7b', '#ececd1'])),\n defaultStrokeStyle = body.isStatic ? '#555' : '#ccc',\n defaultLineWidth = body.isStatic && body.render.fillStyle === null ? 1 : 0;\n body.render.fillStyle = body.render.fillStyle || defaultFillStyle;\n body.render.strokeStyle = body.render.strokeStyle || defaultStrokeStyle;\n body.render.lineWidth = body.render.lineWidth || defaultLineWidth;\n body.render.sprite.xOffset += -(body.bounds.min.x - body.position.x) / (body.bounds.max.x - body.bounds.min.x);\n body.render.sprite.yOffset += -(body.bounds.min.y - body.position.y) / (body.bounds.max.y - body.bounds.min.y);\n };\n\n /**\n * Given a property and a value (or map of), sets the property(s) on the body, using the appropriate setter functions if they exist.\n * Prefer to use the actual setter functions in performance critical situations.\n * @method set\n * @param {body} body\n * @param {} settings A property name (or map of properties and values) to set on the body.\n * @param {} value The value to set if `settings` is a single property name.\n */\n Body.set = function(body, settings, value) {\n var property;\n\n if (typeof settings === 'string') {\n property = settings;\n settings = {};\n settings[property] = value;\n }\n\n for (property in settings) {\n if (!Object.prototype.hasOwnProperty.call(settings, property))\n continue;\n\n value = settings[property];\n switch (property) {\n\n case 'isStatic':\n Body.setStatic(body, value);\n break;\n case 'isSleeping':\n Sleeping.set(body, value);\n break;\n case 'mass':\n Body.setMass(body, value);\n break;\n case 'density':\n Body.setDensity(body, value);\n break;\n case 'inertia':\n Body.setInertia(body, value);\n break;\n case 'vertices':\n Body.setVertices(body, value);\n break;\n case 'position':\n Body.setPosition(body, value);\n break;\n case 'angle':\n Body.setAngle(body, value);\n break;\n case 'velocity':\n Body.setVelocity(body, value);\n break;\n case 'angularVelocity':\n Body.setAngularVelocity(body, value);\n break;\n case 'speed':\n Body.setSpeed(body, value);\n break;\n case 'angularSpeed':\n Body.setAngularSpeed(body, value);\n break;\n case 'parts':\n Body.setParts(body, value);\n break;\n case 'centre':\n Body.setCentre(body, value);\n break;\n default:\n body[property] = value;\n\n }\n }\n };\n\n /**\n * Sets the body as static, including isStatic flag and setting mass and inertia to Infinity.\n * @method setStatic\n * @param {body} body\n * @param {bool} isStatic\n */\n Body.setStatic = function(body, isStatic) {\n for (var i = 0; i < body.parts.length; i++) {\n var part = body.parts[i];\n part.isStatic = isStatic;\n\n if (isStatic) {\n part._original = {\n restitution: part.restitution,\n friction: part.friction,\n mass: part.mass,\n inertia: part.inertia,\n density: part.density,\n inverseMass: part.inverseMass,\n inverseInertia: part.inverseInertia\n };\n\n part.restitution = 0;\n part.friction = 1;\n part.mass = part.inertia = part.density = Infinity;\n part.inverseMass = part.inverseInertia = 0;\n\n part.positionPrev.x = part.position.x;\n part.positionPrev.y = part.position.y;\n part.anglePrev = part.angle;\n part.angularVelocity = 0;\n part.speed = 0;\n part.angularSpeed = 0;\n part.motion = 0;\n } else if (part._original) {\n part.restitution = part._original.restitution;\n part.friction = part._original.friction;\n part.mass = part._original.mass;\n part.inertia = part._original.inertia;\n part.density = part._original.density;\n part.inverseMass = part._original.inverseMass;\n part.inverseInertia = part._original.inverseInertia;\n\n part._original = null;\n }\n }\n };\n\n /**\n * Sets the mass of the body. Inverse mass, density and inertia are automatically updated to reflect the change.\n * @method setMass\n * @param {body} body\n * @param {number} mass\n */\n Body.setMass = function(body, mass) {\n var moment = body.inertia / (body.mass / 6);\n body.inertia = moment * (mass / 6);\n body.inverseInertia = 1 / body.inertia;\n\n body.mass = mass;\n body.inverseMass = 1 / body.mass;\n body.density = body.mass / body.area;\n };\n\n /**\n * Sets the density of the body. Mass and inertia are automatically updated to reflect the change.\n * @method setDensity\n * @param {body} body\n * @param {number} density\n */\n Body.setDensity = function(body, density) {\n Body.setMass(body, density * body.area);\n body.density = density;\n };\n\n /**\n * Sets the moment of inertia of the body. This is the second moment of area in two dimensions.\n * Inverse inertia is automatically updated to reflect the change. Mass is not changed.\n * @method setInertia\n * @param {body} body\n * @param {number} inertia\n */\n Body.setInertia = function(body, inertia) {\n body.inertia = inertia;\n body.inverseInertia = 1 / body.inertia;\n };\n\n /**\n * Sets the body's vertices and updates body properties accordingly, including inertia, area and mass (with respect to `body.density`).\n * Vertices will be automatically transformed to be orientated around their centre of mass as the origin.\n * They are then automatically translated to world space based on `body.position`.\n *\n * The `vertices` argument should be passed as an array of `Matter.Vector` points (or a `Matter.Vertices` array).\n * Vertices must form a convex hull. Concave vertices must be decomposed into convex parts.\n * \n * @method setVertices\n * @param {body} body\n * @param {vector[]} vertices\n */\n Body.setVertices = function(body, vertices) {\n // change vertices\n if (vertices[0].body === body) {\n body.vertices = vertices;\n } else {\n body.vertices = Vertices.create(vertices, body);\n }\n\n // update properties\n body.axes = Axes.fromVertices(body.vertices);\n body.area = Vertices.area(body.vertices);\n Body.setMass(body, body.density * body.area);\n\n // orient vertices around the centre of mass at origin (0, 0)\n var centre = Vertices.centre(body.vertices);\n Vertices.translate(body.vertices, centre, -1);\n\n // update inertia while vertices are at origin (0, 0)\n Body.setInertia(body, Body._inertiaScale * Vertices.inertia(body.vertices, body.mass));\n\n // update geometry\n Vertices.translate(body.vertices, body.position);\n Bounds.update(body.bounds, body.vertices, body.velocity);\n };\n\n /**\n * Sets the parts of the `body` and updates mass, inertia and centroid.\n * Each part will have its parent set to `body`.\n * By default the convex hull will be automatically computed and set on `body`, unless `autoHull` is set to `false.`\n * Note that this method will ensure that the first part in `body.parts` will always be the `body`.\n * @method setParts\n * @param {body} body\n * @param {body[]} parts\n * @param {bool} [autoHull=true]\n */\n Body.setParts = function(body, parts, autoHull) {\n var i;\n\n // add all the parts, ensuring that the first part is always the parent body\n parts = parts.slice(0);\n body.parts.length = 0;\n body.parts.push(body);\n body.parent = body;\n\n for (i = 0; i < parts.length; i++) {\n var part = parts[i];\n if (part !== body) {\n part.parent = body;\n body.parts.push(part);\n }\n }\n\n if (body.parts.length === 1)\n return;\n\n autoHull = typeof autoHull !== 'undefined' ? autoHull : true;\n\n // find the convex hull of all parts to set on the parent body\n if (autoHull) {\n var vertices = [];\n for (i = 0; i < parts.length; i++) {\n vertices = vertices.concat(parts[i].vertices);\n }\n\n Vertices.clockwiseSort(vertices);\n\n var hull = Vertices.hull(vertices),\n hullCentre = Vertices.centre(hull);\n\n Body.setVertices(body, hull);\n Vertices.translate(body.vertices, hullCentre);\n }\n\n // sum the properties of all compound parts of the parent body\n var total = Body._totalProperties(body);\n\n body.area = total.area;\n body.parent = body;\n body.position.x = total.centre.x;\n body.position.y = total.centre.y;\n body.positionPrev.x = total.centre.x;\n body.positionPrev.y = total.centre.y;\n\n Body.setMass(body, total.mass);\n Body.setInertia(body, total.inertia);\n Body.setPosition(body, total.centre);\n };\n\n /**\n * Set the centre of mass of the body. \n * The `centre` is a vector in world-space unless `relative` is set, in which case it is a translation.\n * The centre of mass is the point the body rotates about and can be used to simulate non-uniform density.\n * This is equal to moving `body.position` but not the `body.vertices`.\n * Invalid if the `centre` falls outside the body's convex hull.\n * @method setCentre\n * @param {body} body\n * @param {vector} centre\n * @param {bool} relative\n */\n Body.setCentre = function(body, centre, relative) {\n if (!relative) {\n body.positionPrev.x = centre.x - (body.position.x - body.positionPrev.x);\n body.positionPrev.y = centre.y - (body.position.y - body.positionPrev.y);\n body.position.x = centre.x;\n body.position.y = centre.y;\n } else {\n body.positionPrev.x += centre.x;\n body.positionPrev.y += centre.y;\n body.position.x += centre.x;\n body.position.y += centre.y;\n }\n };\n\n /**\n * Sets the position of the body. By default velocity is unchanged.\n * If `updateVelocity` is `true` then velocity is inferred from the change in position.\n * @method setPosition\n * @param {body} body\n * @param {vector} position\n * @param {boolean} [updateVelocity=false]\n */\n Body.setPosition = function(body, position, updateVelocity) {\n var delta = Vector.sub(position, body.position);\n\n if (updateVelocity) {\n body.positionPrev.x = body.position.x;\n body.positionPrev.y = body.position.y;\n body.velocity.x = delta.x;\n body.velocity.y = delta.y;\n body.speed = Vector.magnitude(delta);\n } else {\n body.positionPrev.x += delta.x;\n body.positionPrev.y += delta.y;\n }\n\n for (var i = 0; i < body.parts.length; i++) {\n var part = body.parts[i];\n part.position.x += delta.x;\n part.position.y += delta.y;\n Vertices.translate(part.vertices, delta);\n Bounds.update(part.bounds, part.vertices, body.velocity);\n }\n };\n\n /**\n * Sets the angle of the body. By default angular velocity is unchanged.\n * If `updateVelocity` is `true` then angular velocity is inferred from the change in angle.\n * @method setAngle\n * @param {body} body\n * @param {number} angle\n * @param {boolean} [updateVelocity=false]\n */\n Body.setAngle = function(body, angle, updateVelocity) {\n var delta = angle - body.angle;\n \n if (updateVelocity) {\n body.anglePrev = body.angle;\n body.angularVelocity = delta;\n body.angularSpeed = Math.abs(delta);\n } else {\n body.anglePrev += delta;\n }\n\n for (var i = 0; i < body.parts.length; i++) {\n var part = body.parts[i];\n part.angle += delta;\n Vertices.rotate(part.vertices, delta, body.position);\n Axes.rotate(part.axes, delta);\n Bounds.update(part.bounds, part.vertices, body.velocity);\n if (i > 0) {\n Vector.rotateAbout(part.position, delta, body.position, part.position);\n }\n }\n };\n\n /**\n * Sets the current linear velocity of the body. \n * Affects body speed.\n * @method setVelocity\n * @param {body} body\n * @param {vector} velocity\n */\n Body.setVelocity = function(body, velocity) {\n var timeScale = body.deltaTime / Body._baseDelta;\n body.positionPrev.x = body.position.x - velocity.x * timeScale;\n body.positionPrev.y = body.position.y - velocity.y * timeScale;\n body.velocity.x = (body.position.x - body.positionPrev.x) / timeScale;\n body.velocity.y = (body.position.y - body.positionPrev.y) / timeScale;\n body.speed = Vector.magnitude(body.velocity);\n };\n\n /**\n * Gets the current linear velocity of the body.\n * @method getVelocity\n * @param {body} body\n * @return {vector} velocity\n */\n Body.getVelocity = function(body) {\n var timeScale = Body._baseDelta / body.deltaTime;\n\n return {\n x: (body.position.x - body.positionPrev.x) * timeScale,\n y: (body.position.y - body.positionPrev.y) * timeScale\n };\n };\n\n /**\n * Gets the current linear speed of the body. \n * Equivalent to the magnitude of its velocity.\n * @method getSpeed\n * @param {body} body\n * @return {number} speed\n */\n Body.getSpeed = function(body) {\n return Vector.magnitude(Body.getVelocity(body));\n };\n\n /**\n * Sets the current linear speed of the body. \n * Direction is maintained. Affects body velocity.\n * @method setSpeed\n * @param {body} body\n * @param {number} speed\n */\n Body.setSpeed = function(body, speed) {\n Body.setVelocity(body, Vector.mult(Vector.normalise(Body.getVelocity(body)), speed));\n };\n\n /**\n * Sets the current rotational velocity of the body. \n * Affects body angular speed.\n * @method setAngularVelocity\n * @param {body} body\n * @param {number} velocity\n */\n Body.setAngularVelocity = function(body, velocity) {\n var timeScale = body.deltaTime / Body._baseDelta;\n body.anglePrev = body.angle - velocity * timeScale;\n body.angularVelocity = (body.angle - body.anglePrev) / timeScale;\n body.angularSpeed = Math.abs(body.angularVelocity);\n };\n\n /**\n * Gets the current rotational velocity of the body.\n * @method getAngularVelocity\n * @param {body} body\n * @return {number} angular velocity\n */\n Body.getAngularVelocity = function(body) {\n return (body.angle - body.anglePrev) * Body._baseDelta / body.deltaTime;\n };\n\n /**\n * Gets the current rotational speed of the body. \n * Equivalent to the magnitude of its angular velocity.\n * @method getAngularSpeed\n * @param {body} body\n * @return {number} angular speed\n */\n Body.getAngularSpeed = function(body) {\n return Math.abs(Body.getAngularVelocity(body));\n };\n\n /**\n * Sets the current rotational speed of the body. \n * Direction is maintained. Affects body angular velocity.\n * @method setAngularSpeed\n * @param {body} body\n * @param {number} speed\n */\n Body.setAngularSpeed = function(body, speed) {\n Body.setAngularVelocity(body, Common.sign(Body.getAngularVelocity(body)) * speed);\n };\n\n /**\n * Moves a body by a given vector relative to its current position. By default velocity is unchanged.\n * If `updateVelocity` is `true` then velocity is inferred from the change in position.\n * @method translate\n * @param {body} body\n * @param {vector} translation\n * @param {boolean} [updateVelocity=false]\n */\n Body.translate = function(body, translation, updateVelocity) {\n Body.setPosition(body, Vector.add(body.position, translation), updateVelocity);\n };\n\n /**\n * Rotates a body by a given angle relative to its current angle. By default angular velocity is unchanged.\n * If `updateVelocity` is `true` then angular velocity is inferred from the change in angle.\n * @method rotate\n * @param {body} body\n * @param {number} rotation\n * @param {vector} [point]\n * @param {boolean} [updateVelocity=false]\n */\n Body.rotate = function(body, rotation, point, updateVelocity) {\n if (!point) {\n Body.setAngle(body, body.angle + rotation, updateVelocity);\n } else {\n var cos = Math.cos(rotation),\n sin = Math.sin(rotation),\n dx = body.position.x - point.x,\n dy = body.position.y - point.y;\n \n Body.setPosition(body, {\n x: point.x + (dx * cos - dy * sin),\n y: point.y + (dx * sin + dy * cos)\n }, updateVelocity);\n\n Body.setAngle(body, body.angle + rotation, updateVelocity);\n }\n };\n\n /**\n * Scales the body, including updating physical properties (mass, area, axes, inertia), from a world-space point (default is body centre).\n * @method scale\n * @param {body} body\n * @param {number} scaleX\n * @param {number} scaleY\n * @param {vector} [point]\n */\n Body.scale = function(body, scaleX, scaleY, point) {\n var totalArea = 0,\n totalInertia = 0;\n\n point = point || body.position;\n\n for (var i = 0; i < body.parts.length; i++) {\n var part = body.parts[i];\n\n // scale vertices\n Vertices.scale(part.vertices, scaleX, scaleY, point);\n\n // update properties\n part.axes = Axes.fromVertices(part.vertices);\n part.area = Vertices.area(part.vertices);\n Body.setMass(part, body.density * part.area);\n\n // update inertia (requires vertices to be at origin)\n Vertices.translate(part.vertices, { x: -part.position.x, y: -part.position.y });\n Body.setInertia(part, Body._inertiaScale * Vertices.inertia(part.vertices, part.mass));\n Vertices.translate(part.vertices, { x: part.position.x, y: part.position.y });\n\n if (i > 0) {\n totalArea += part.area;\n totalInertia += part.inertia;\n }\n\n // scale position\n part.position.x = point.x + (part.position.x - point.x) * scaleX;\n part.position.y = point.y + (part.position.y - point.y) * scaleY;\n\n // update bounds\n Bounds.update(part.bounds, part.vertices, body.velocity);\n }\n\n // handle parent body\n if (body.parts.length > 1) {\n body.area = totalArea;\n\n if (!body.isStatic) {\n Body.setMass(body, body.density * totalArea);\n Body.setInertia(body, totalInertia);\n }\n }\n\n // handle circles\n if (body.circleRadius) { \n if (scaleX === scaleY) {\n body.circleRadius *= scaleX;\n } else {\n // body is no longer a circle\n body.circleRadius = null;\n }\n }\n };\n\n /**\n * Performs an update by integrating the equations of motion on the `body`.\n * This is applied every update by `Matter.Engine` automatically.\n * @method update\n * @param {body} body\n * @param {number} [deltaTime=16.666]\n */\n Body.update = function(body, deltaTime) {\n deltaTime = (typeof deltaTime !== 'undefined' ? deltaTime : (1000 / 60)) * body.timeScale;\n\n var deltaTimeSquared = deltaTime * deltaTime,\n correction = Body._timeCorrection ? deltaTime / (body.deltaTime || deltaTime) : 1;\n\n // from the previous step\n var frictionAir = 1 - body.frictionAir * (deltaTime / Common._baseDelta),\n velocityPrevX = (body.position.x - body.positionPrev.x) * correction,\n velocityPrevY = (body.position.y - body.positionPrev.y) * correction;\n\n // update velocity with Verlet integration\n body.velocity.x = (velocityPrevX * frictionAir) + (body.force.x / body.mass) * deltaTimeSquared;\n body.velocity.y = (velocityPrevY * frictionAir) + (body.force.y / body.mass) * deltaTimeSquared;\n\n body.positionPrev.x = body.position.x;\n body.positionPrev.y = body.position.y;\n body.position.x += body.velocity.x;\n body.position.y += body.velocity.y;\n body.deltaTime = deltaTime;\n\n // update angular velocity with Verlet integration\n body.angularVelocity = ((body.angle - body.anglePrev) * frictionAir * correction) + (body.torque / body.inertia) * deltaTimeSquared;\n body.anglePrev = body.angle;\n body.angle += body.angularVelocity;\n\n // transform the body geometry\n for (var i = 0; i < body.parts.length; i++) {\n var part = body.parts[i];\n\n Vertices.translate(part.vertices, body.velocity);\n \n if (i > 0) {\n part.position.x += body.velocity.x;\n part.position.y += body.velocity.y;\n }\n\n if (body.angularVelocity !== 0) {\n Vertices.rotate(part.vertices, body.angularVelocity, body.position);\n Axes.rotate(part.axes, body.angularVelocity);\n if (i > 0) {\n Vector.rotateAbout(part.position, body.angularVelocity, body.position, part.position);\n }\n }\n\n Bounds.update(part.bounds, part.vertices, body.velocity);\n }\n };\n\n /**\n * Updates properties `body.velocity`, `body.speed`, `body.angularVelocity` and `body.angularSpeed` which are normalised in relation to `Body._baseDelta`.\n * @method updateVelocities\n * @param {body} body\n */\n Body.updateVelocities = function(body) {\n var timeScale = Body._baseDelta / body.deltaTime,\n bodyVelocity = body.velocity;\n\n bodyVelocity.x = (body.position.x - body.positionPrev.x) * timeScale;\n bodyVelocity.y = (body.position.y - body.positionPrev.y) * timeScale;\n body.speed = Math.sqrt((bodyVelocity.x * bodyVelocity.x) + (bodyVelocity.y * bodyVelocity.y));\n\n body.angularVelocity = (body.angle - body.anglePrev) * timeScale;\n body.angularSpeed = Math.abs(body.angularVelocity);\n };\n\n /**\n * Applies the `force` to the `body` from the force origin `position` in world-space, over a single timestep, including applying any resulting angular torque.\n * \n * Forces are useful for effects like gravity, wind or rocket thrust, but can be difficult in practice when precise control is needed. In these cases see `Body.setVelocity` and `Body.setPosition` as an alternative.\n * \n * The force from this function is only applied once for the duration of a single timestep, in other words the duration depends directly on the current engine update `delta` and the rate of calls to this function.\n * \n * Therefore to account for time, you should apply the force constantly over as many engine updates as equivalent to the intended duration.\n * \n * If all or part of the force duration is some fraction of a timestep, first multiply the force by `duration / timestep`.\n * \n * The force origin `position` in world-space must also be specified. Passing `body.position` will result in zero angular effect as the force origin would be at the centre of mass.\n * \n * The `body` will take time to accelerate under a force, the resulting effect depends on duration of the force, the body mass and other forces on the body including friction combined.\n * @method applyForce\n * @param {body} body\n * @param {vector} position The force origin in world-space. Pass `body.position` to avoid angular torque.\n * @param {vector} force\n */\n Body.applyForce = function(body, position, force) {\n var offset = { x: position.x - body.position.x, y: position.y - body.position.y };\n body.force.x += force.x;\n body.force.y += force.y;\n body.torque += offset.x * force.y - offset.y * force.x;\n };\n\n /**\n * Returns the sums of the properties of all compound parts of the parent body.\n * @method _totalProperties\n * @private\n * @param {body} body\n * @return {}\n */\n Body._totalProperties = function(body) {\n // from equations at:\n // https://ecourses.ou.edu/cgi-bin/ebook.cgi?doc=&topic=st&chap_sec=07.2&page=theory\n // http://output.to/sideway/default.asp?qno=121100087\n\n var properties = {\n mass: 0,\n area: 0,\n inertia: 0,\n centre: { x: 0, y: 0 }\n };\n\n // sum the properties of all compound parts of the parent body\n for (var i = body.parts.length === 1 ? 0 : 1; i < body.parts.length; i++) {\n var part = body.parts[i],\n mass = part.mass !== Infinity ? part.mass : 1;\n\n properties.mass += mass;\n properties.area += part.area;\n properties.inertia += part.inertia;\n properties.centre = Vector.add(properties.centre, Vector.mult(part.position, mass));\n }\n\n properties.centre = Vector.div(properties.centre, properties.mass);\n\n return properties;\n };\n\n /*\n *\n * Events Documentation\n *\n */\n\n /**\n * Fired when a body starts sleeping (where `this` is the body).\n *\n * @event sleepStart\n * @this {body} The body that has started sleeping\n * @param {} event An event object\n * @param {} event.source The source object of the event\n * @param {} event.name The name of the event\n */\n\n /**\n * Fired when a body ends sleeping (where `this` is the body).\n *\n * @event sleepEnd\n * @this {body} The body that has ended sleeping\n * @param {} event An event object\n * @param {} event.source The source object of the event\n * @param {} event.name The name of the event\n */\n\n /*\n *\n * Properties Documentation\n *\n */\n\n /**\n * An integer `Number` uniquely identifying number generated in `Body.create` by `Common.nextId`.\n *\n * @property id\n * @type number\n */\n\n /**\n * _Read only_. Set by `Body.create`.\n * \n * A `String` denoting the type of object.\n *\n * @readOnly\n * @property type\n * @type string\n * @default \"body\"\n */\n\n /**\n * An arbitrary `String` name to help the user identify and manage bodies.\n *\n * @property label\n * @type string\n * @default \"Body\"\n */\n\n /**\n * _Read only_. Use `Body.setParts` to set. \n * \n * An array of bodies that make up this body. \n * The first body in the array must always be a self reference to the current body instance.\n * All bodies in the `parts` array together form a single rigid compound body.\n * Parts are allowed to overlap, have gaps or holes or even form concave bodies.\n * Parts themselves should never be added to a `World`, only the parent body should be.\n * Use `Body.setParts` when setting parts to ensure correct updates of all properties.\n *\n * @readOnly\n * @property parts\n * @type body[]\n */\n\n /**\n * An object reserved for storing plugin-specific properties.\n *\n * @property plugin\n * @type {}\n */\n\n /**\n * _Read only_. Updated by `Body.setParts`.\n * \n * A reference to the body that this is a part of. See `body.parts`.\n * This is a self reference if the body is not a part of another body.\n *\n * @readOnly\n * @property parent\n * @type body\n */\n\n /**\n * A `Number` specifying the angle of the body, in radians.\n *\n * @property angle\n * @type number\n * @default 0\n */\n\n /**\n * _Read only_. Use `Body.setVertices` or `Body.setParts` to set. See also `Bodies.fromVertices`.\n * \n * An array of `Vector` objects that specify the convex hull of the rigid body.\n * These should be provided about the origin `(0, 0)`. E.g.\n *\n * `[{ x: 0, y: 0 }, { x: 25, y: 50 }, { x: 50, y: 0 }]`\n * \n * Vertices must always be convex, in clockwise order and must not contain any duplicate points.\n * \n * Concave vertices should be decomposed into convex `parts`, see `Bodies.fromVertices` and `Body.setParts`.\n *\n * When set the vertices are translated such that `body.position` is at the centre of mass.\n * Many other body properties are automatically calculated from these vertices when set including `density`, `area` and `inertia`.\n * \n * The module `Matter.Vertices` contains useful methods for working with vertices.\n *\n * @readOnly\n * @property vertices\n * @type vector[]\n */\n\n /**\n * _Read only_. Use `Body.setPosition` to set. \n * \n * A `Vector` that specifies the current world-space position of the body.\n * \n * @readOnly\n * @property position\n * @type vector\n * @default { x: 0, y: 0 }\n */\n\n /**\n * A `Vector` that accumulates the total force applied to the body for a single update.\n * Force is zeroed after every `Engine.update`, so constant forces should be applied for every update they are needed. See also `Body.applyForce`.\n * \n * @property force\n * @type vector\n * @default { x: 0, y: 0 }\n */\n\n /**\n * A `Number` that accumulates the total torque (turning force) applied to the body for a single update. See also `Body.applyForce`.\n * Torque is zeroed after every `Engine.update`, so constant torques should be applied for every update they are needed.\n *\n * Torques result in angular acceleration on every update, which depends on body inertia and the engine update delta.\n * \n * @property torque\n * @type number\n * @default 0\n */\n\n /**\n * _Read only_. Use `Body.setSpeed` to set. \n * \n * See `Body.getSpeed` for details.\n * \n * Equivalent to the magnitude of `body.velocity` (always positive).\n * \n * @readOnly\n * @property speed\n * @type number\n * @default 0\n */\n\n /**\n * _Read only_. Use `Body.setVelocity` to set. \n * \n * See `Body.getVelocity` for details.\n * \n * Equivalent to the magnitude of `body.angularVelocity` (always positive).\n * \n * @readOnly\n * @property velocity\n * @type vector\n * @default { x: 0, y: 0 }\n */\n\n /**\n * _Read only_. Use `Body.setAngularSpeed` to set. \n * \n * See `Body.getAngularSpeed` for details.\n * \n * \n * @readOnly\n * @property angularSpeed\n * @type number\n * @default 0\n */\n\n /**\n * _Read only_. Use `Body.setAngularVelocity` to set. \n * \n * See `Body.getAngularVelocity` for details.\n * \n *\n * @readOnly\n * @property angularVelocity\n * @type number\n * @default 0\n */\n\n /**\n * _Read only_. Use `Body.setStatic` to set. \n * \n * A flag that indicates whether a body is considered static. A static body can never change position or angle and is completely fixed.\n *\n * @readOnly\n * @property isStatic\n * @type boolean\n * @default false\n */\n\n /**\n * A flag that indicates whether a body is a sensor. Sensor triggers collision events, but doesn't react with colliding body physically.\n *\n * @property isSensor\n * @type boolean\n * @default false\n */\n\n /**\n * _Read only_. Use `Sleeping.set` to set. \n * \n * A flag that indicates whether the body is considered sleeping. A sleeping body acts similar to a static body, except it is only temporary and can be awoken.\n *\n * @readOnly\n * @property isSleeping\n * @type boolean\n * @default false\n */\n\n /**\n * _Read only_. Calculated during engine update only when sleeping is enabled.\n * \n * A `Number` that loosely measures the amount of movement a body currently has.\n *\n * Derived from `body.speed^2 + body.angularSpeed^2`. See `Sleeping.update`.\n * \n * @readOnly\n * @property motion\n * @type number\n * @default 0\n */\n\n /**\n * A `Number` that defines the length of time during which this body must have near-zero velocity before it is set as sleeping by the `Matter.Sleeping` module (if sleeping is enabled by the engine).\n * \n * @property sleepThreshold\n * @type number\n * @default 60\n */\n\n /**\n * _Read only_. Use `Body.setDensity` to set. \n * \n * A `Number` that defines the density of the body (mass per unit area).\n * \n * Mass will also be updated when set.\n *\n * @readOnly\n * @property density\n * @type number\n * @default 0.001\n */\n\n /**\n * _Read only_. Use `Body.setMass` to set. \n * \n * A `Number` that defines the mass of the body.\n * \n * Density will also be updated when set.\n * \n * @readOnly\n * @property mass\n * @type number\n */\n\n /**\n * _Read only_. Use `Body.setMass` to set. \n * \n * A `Number` that defines the inverse mass of the body (`1 / mass`).\n *\n * @readOnly\n * @property inverseMass\n * @type number\n */\n\n /**\n * _Read only_. Automatically calculated when vertices, mass or density are set or set through `Body.setInertia`.\n * \n * A `Number` that defines the moment of inertia of the body. This is the second moment of area in two dimensions.\n * \n * Can be manually set to `Infinity` to prevent rotation of the body. See `Body.setInertia`.\n * \n * @readOnly\n * @property inertia\n * @type number\n */\n\n /**\n * _Read only_. Automatically calculated when vertices, mass or density are set or calculated by `Body.setInertia`.\n * \n * A `Number` that defines the inverse moment of inertia of the body (`1 / inertia`).\n * \n * @readOnly\n * @property inverseInertia\n * @type number\n */\n\n /**\n * A `Number` that defines the restitution (elasticity) of the body. The value is always positive and is in the range `(0, 1)`.\n * A value of `0` means collisions may be perfectly inelastic and no bouncing may occur. \n * A value of `0.8` means the body may bounce back with approximately 80% of its kinetic energy.\n * Note that collision response is based on _pairs_ of bodies, and that `restitution` values are _combined_ with the following formula:\n *\n * `Math.max(bodyA.restitution, bodyB.restitution)`\n *\n * @property restitution\n * @type number\n * @default 0\n */\n\n /**\n * A `Number` that defines the friction of the body. The value is always positive and is in the range `(0, 1)`.\n * A value of `0` means that the body may slide indefinitely.\n * A value of `1` means the body may come to a stop almost instantly after a force is applied.\n *\n * The effects of the value may be non-linear. \n * High values may be unstable depending on the body.\n * The engine uses a Coulomb friction model including static and kinetic friction.\n * Note that collision response is based on _pairs_ of bodies, and that `friction` values are _combined_ with the following formula:\n *\n * `Math.min(bodyA.friction, bodyB.friction)`\n *\n * @property friction\n * @type number\n * @default 0.1\n */\n\n /**\n * A `Number` that defines the static friction of the body (in the Coulomb friction model). \n * A value of `0` means the body will never 'stick' when it is nearly stationary and only dynamic `friction` is used.\n * The higher the value (e.g. `10`), the more force it will take to initially get the body moving when nearly stationary.\n * This value is multiplied with the `friction` property to make it easier to change `friction` and maintain an appropriate amount of static friction.\n *\n * @property frictionStatic\n * @type number\n * @default 0.5\n */\n\n /**\n * A `Number` that defines the air friction of the body (air resistance). \n * A value of `0` means the body will never slow as it moves through space.\n * The higher the value, the faster a body slows when moving through space.\n * The effects of the value are non-linear. \n *\n * @property frictionAir\n * @type number\n * @default 0.01\n */\n\n /**\n * An `Object` that specifies the collision filtering properties of this body.\n *\n * Collisions between two bodies will obey the following rules:\n * - If the two bodies have the same non-zero value of `collisionFilter.group`,\n * they will always collide if the value is positive, and they will never collide\n * if the value is negative.\n * - If the two bodies have different values of `collisionFilter.group` or if one\n * (or both) of the bodies has a value of 0, then the category/mask rules apply as follows:\n *\n * Each body belongs to a collision category, given by `collisionFilter.category`. This\n * value is used as a bit field and the category should have only one bit set, meaning that\n * the value of this property is a power of two in the range [1, 2^31]. Thus, there are 32\n * different collision categories available.\n *\n * Each body also defines a collision bitmask, given by `collisionFilter.mask` which specifies\n * the categories it collides with (the value is the bitwise AND value of all these categories).\n *\n * Using the category/mask rules, two bodies `A` and `B` collide if each includes the other's\n * category in its mask, i.e. `(categoryA & maskB) !== 0` and `(categoryB & maskA) !== 0`\n * are both true.\n *\n * @property collisionFilter\n * @type object\n */\n\n /**\n * An Integer `Number`, that specifies the collision group this body belongs to.\n * See `body.collisionFilter` for more information.\n *\n * @property collisionFilter.group\n * @type object\n * @default 0\n */\n\n /**\n * A bit field that specifies the collision category this body belongs to.\n * The category value should have only one bit set, for example `0x0001`.\n * This means there are up to 32 unique collision categories available.\n * See `body.collisionFilter` for more information.\n *\n * @property collisionFilter.category\n * @type object\n * @default 1\n */\n\n /**\n * A bit mask that specifies the collision categories this body may collide with.\n * See `body.collisionFilter` for more information.\n *\n * @property collisionFilter.mask\n * @type object\n * @default -1\n */\n\n /**\n * A `Number` that specifies a thin boundary around the body where it is allowed to slightly sink into other bodies.\n * \n * This is required for proper collision response, including friction and restitution effects.\n * \n * The default should generally suffice in most cases. You may need to decrease this value for very small bodies that are nearing the default value in scale.\n *\n * @property slop\n * @type number\n * @default 0.05\n */\n\n /**\n * A `Number` that specifies per-body time scaling.\n *\n * @property timeScale\n * @type number\n * @default 1\n */\n\n /**\n * _Read only_. Updated during engine update.\n * \n * A `Number` that records the last delta time value used to update this body.\n * Used to calculate speed and velocity.\n *\n * @readOnly\n * @property deltaTime\n * @type number\n * @default 1000 / 60\n */\n\n /**\n * An `Object` that defines the rendering properties to be consumed by the module `Matter.Render`.\n *\n * @property render\n * @type object\n */\n\n /**\n * A flag that indicates if the body should be rendered.\n *\n * @property render.visible\n * @type boolean\n * @default true\n */\n\n /**\n * Sets the opacity to use when rendering.\n *\n * @property render.opacity\n * @type number\n * @default 1\n */\n\n /**\n * An `Object` that defines the sprite properties to use when rendering, if any.\n *\n * @property render.sprite\n * @type object\n */\n\n /**\n * An `String` that defines the path to the image to use as the sprite texture, if any.\n *\n * @property render.sprite.texture\n * @type string\n */\n \n /**\n * A `Number` that defines the scaling in the x-axis for the sprite, if any.\n *\n * @property render.sprite.xScale\n * @type number\n * @default 1\n */\n\n /**\n * A `Number` that defines the scaling in the y-axis for the sprite, if any.\n *\n * @property render.sprite.yScale\n * @type number\n * @default 1\n */\n\n /**\n * A `Number` that defines the offset in the x-axis for the sprite (normalised by texture width).\n *\n * @property render.sprite.xOffset\n * @type number\n * @default 0\n */\n\n /**\n * A `Number` that defines the offset in the y-axis for the sprite (normalised by texture height).\n *\n * @property render.sprite.yOffset\n * @type number\n * @default 0\n */\n\n /**\n * A `Number` that defines the line width to use when rendering the body outline (if a sprite is not defined).\n * A value of `0` means no outline will be rendered.\n *\n * @property render.lineWidth\n * @type number\n * @default 0\n */\n\n /**\n * A `String` that defines the fill style to use when rendering the body (if a sprite is not defined).\n * It is the same as when using a canvas, so it accepts CSS style property values.\n *\n * @property render.fillStyle\n * @type string\n * @default a random colour\n */\n\n /**\n * A `String` that defines the stroke style to use when rendering the body outline (if a sprite is not defined).\n * It is the same as when using a canvas, so it accepts CSS style property values.\n *\n * @property render.strokeStyle\n * @type string\n * @default a random colour\n */\n\n /**\n * _Read only_. Calculated automatically when vertices are set.\n * \n * An array of unique axis vectors (edge normals) used for collision detection.\n * These are automatically calculated when vertices are set.\n * They are constantly updated by `Body.update` during the simulation.\n *\n * @readOnly\n * @property axes\n * @type vector[]\n */\n \n /**\n * _Read only_. Calculated automatically when vertices are set.\n * \n * A `Number` that measures the area of the body's convex hull.\n * \n * @readOnly\n * @property area\n * @type string\n * @default \n */\n\n /**\n * A `Bounds` object that defines the AABB region for the body.\n * It is automatically calculated when vertices are set and constantly updated by `Body.update` during simulation.\n * \n * @property bounds\n * @type bounds\n */\n\n})();\n\n\n/***/ }),\n/* 5 */\n/***/ (function(module, exports, __webpack_require__) {\n\n/**\n* The `Matter.Events` module contains methods to fire and listen to events on other objects.\n*\n* See the included usage [examples](https://github.com/liabru/matter-js/tree/master/examples).\n*\n* @class Events\n*/\n\nvar Events = {};\n\nmodule.exports = Events;\n\nvar Common = __webpack_require__(0);\n\n(function() {\n\n /**\n * Subscribes a callback function to the given object's `eventName`.\n * @method on\n * @param {} object\n * @param {string} eventNames\n * @param {function} callback\n */\n Events.on = function(object, eventNames, callback) {\n var names = eventNames.split(' '),\n name;\n\n for (var i = 0; i < names.length; i++) {\n name = names[i];\n object.events = object.events || {};\n object.events[name] = object.events[name] || [];\n object.events[name].push(callback);\n }\n\n return callback;\n };\n\n /**\n * Removes the given event callback. If no callback, clears all callbacks in `eventNames`. If no `eventNames`, clears all events.\n * @method off\n * @param {} object\n * @param {string} eventNames\n * @param {function} callback\n */\n Events.off = function(object, eventNames, callback) {\n if (!eventNames) {\n object.events = {};\n return;\n }\n\n // handle Events.off(object, callback)\n if (typeof eventNames === 'function') {\n callback = eventNames;\n eventNames = Common.keys(object.events).join(' ');\n }\n\n var names = eventNames.split(' ');\n\n for (var i = 0; i < names.length; i++) {\n var callbacks = object.events[names[i]],\n newCallbacks = [];\n\n if (callback && callbacks) {\n for (var j = 0; j < callbacks.length; j++) {\n if (callbacks[j] !== callback)\n newCallbacks.push(callbacks[j]);\n }\n }\n\n object.events[names[i]] = newCallbacks;\n }\n };\n\n /**\n * Fires all the callbacks subscribed to the given object's `eventName`, in the order they subscribed, if any.\n * @method trigger\n * @param {} object\n * @param {string} eventNames\n * @param {} event\n */\n Events.trigger = function(object, eventNames, event) {\n var names,\n name,\n callbacks,\n eventClone;\n\n var events = object.events;\n \n if (events && Common.keys(events).length > 0) {\n if (!event)\n event = {};\n\n names = eventNames.split(' ');\n\n for (var i = 0; i < names.length; i++) {\n name = names[i];\n callbacks = events[name];\n\n if (callbacks) {\n eventClone = Common.clone(event, false);\n eventClone.name = name;\n eventClone.source = object;\n\n for (var j = 0; j < callbacks.length; j++) {\n callbacks[j].apply(object, [eventClone]);\n }\n }\n }\n }\n };\n\n})();\n\n\n/***/ }),\n/* 6 */\n/***/ (function(module, exports, __webpack_require__) {\n\n/**\n* A composite is a collection of `Matter.Body`, `Matter.Constraint` and other `Matter.Composite` objects.\n*\n* They are a container that can represent complex objects made of multiple parts, even if they are not physically connected.\n* A composite could contain anything from a single body all the way up to a whole world.\n* \n* When making any changes to composites, use the included functions rather than changing their properties directly.\n*\n* See the included usage [examples](https://github.com/liabru/matter-js/tree/master/examples).\n*\n* @class Composite\n*/\n\nvar Composite = {};\n\nmodule.exports = Composite;\n\nvar Events = __webpack_require__(5);\nvar Common = __webpack_require__(0);\nvar Bounds = __webpack_require__(1);\nvar Body = __webpack_require__(4);\n\n(function() {\n\n /**\n * Creates a new composite. The options parameter is an object that specifies any properties you wish to override the defaults.\n * See the properites section below for detailed information on what you can pass via the `options` object.\n * @method create\n * @param {} [options]\n * @return {composite} A new composite\n */\n Composite.create = function(options) {\n return Common.extend({ \n id: Common.nextId(),\n type: 'composite',\n parent: null,\n isModified: false,\n bodies: [], \n constraints: [], \n composites: [],\n label: 'Composite',\n plugin: {},\n cache: {\n allBodies: null,\n allConstraints: null,\n allComposites: null\n }\n }, options);\n };\n\n /**\n * Sets the composite's `isModified` flag. \n * If `updateParents` is true, all parents will be set (default: false).\n * If `updateChildren` is true, all children will be set (default: false).\n * @private\n * @method setModified\n * @param {composite} composite\n * @param {boolean} isModified\n * @param {boolean} [updateParents=false]\n * @param {boolean} [updateChildren=false]\n */\n Composite.setModified = function(composite, isModified, updateParents, updateChildren) {\n composite.isModified = isModified;\n\n if (isModified && composite.cache) {\n composite.cache.allBodies = null;\n composite.cache.allConstraints = null;\n composite.cache.allComposites = null;\n }\n\n if (updateParents && composite.parent) {\n Composite.setModified(composite.parent, isModified, updateParents, updateChildren);\n }\n\n if (updateChildren) {\n for (var i = 0; i < composite.composites.length; i++) {\n var childComposite = composite.composites[i];\n Composite.setModified(childComposite, isModified, updateParents, updateChildren);\n }\n }\n };\n\n /**\n * Generic single or multi-add function. Adds a single or an array of body(s), constraint(s) or composite(s) to the given composite.\n * Triggers `beforeAdd` and `afterAdd` events on the `composite`.\n * @method add\n * @param {composite} composite\n * @param {object|array} object A single or an array of body(s), constraint(s) or composite(s)\n * @return {composite} The original composite with the objects added\n */\n Composite.add = function(composite, object) {\n var objects = [].concat(object);\n\n Events.trigger(composite, 'beforeAdd', { object: object });\n\n for (var i = 0; i < objects.length; i++) {\n var obj = objects[i];\n\n switch (obj.type) {\n\n case 'body':\n // skip adding compound parts\n if (obj.parent !== obj) {\n Common.warn('Composite.add: skipped adding a compound body part (you must add its parent instead)');\n break;\n }\n\n Composite.addBody(composite, obj);\n break;\n case 'constraint':\n Composite.addConstraint(composite, obj);\n break;\n case 'composite':\n Composite.addComposite(composite, obj);\n break;\n case 'mouseConstraint':\n Composite.addConstraint(composite, obj.constraint);\n break;\n\n }\n }\n\n Events.trigger(composite, 'afterAdd', { object: object });\n\n return composite;\n };\n\n /**\n * Generic remove function. Removes one or many body(s), constraint(s) or a composite(s) to the given composite.\n * Optionally searching its children recursively.\n * Triggers `beforeRemove` and `afterRemove` events on the `composite`.\n * @method remove\n * @param {composite} composite\n * @param {object|array} object\n * @param {boolean} [deep=false]\n * @return {composite} The original composite with the objects removed\n */\n Composite.remove = function(composite, object, deep) {\n var objects = [].concat(object);\n\n Events.trigger(composite, 'beforeRemove', { object: object });\n\n for (var i = 0; i < objects.length; i++) {\n var obj = objects[i];\n\n switch (obj.type) {\n\n case 'body':\n Composite.removeBody(composite, obj, deep);\n break;\n case 'constraint':\n Composite.removeConstraint(composite, obj, deep);\n break;\n case 'composite':\n Composite.removeComposite(composite, obj, deep);\n break;\n case 'mouseConstraint':\n Composite.removeConstraint(composite, obj.constraint);\n break;\n\n }\n }\n\n Events.trigger(composite, 'afterRemove', { object: object });\n\n return composite;\n };\n\n /**\n * Adds a composite to the given composite.\n * @private\n * @method addComposite\n * @param {composite} compositeA\n * @param {composite} compositeB\n * @return {composite} The original compositeA with the objects from compositeB added\n */\n Composite.addComposite = function(compositeA, compositeB) {\n compositeA.composites.push(compositeB);\n compositeB.parent = compositeA;\n Composite.setModified(compositeA, true, true, false);\n return compositeA;\n };\n\n /**\n * Removes a composite from the given composite, and optionally searching its children recursively.\n * @private\n * @method removeComposite\n * @param {composite} compositeA\n * @param {composite} compositeB\n * @param {boolean} [deep=false]\n * @return {composite} The original compositeA with the composite removed\n */\n Composite.removeComposite = function(compositeA, compositeB, deep) {\n var position = Common.indexOf(compositeA.composites, compositeB);\n if (position !== -1) {\n Composite.removeCompositeAt(compositeA, position);\n }\n\n if (deep) {\n for (var i = 0; i < compositeA.composites.length; i++){\n Composite.removeComposite(compositeA.composites[i], compositeB, true);\n }\n }\n\n return compositeA;\n };\n\n /**\n * Removes a composite from the given composite.\n * @private\n * @method removeCompositeAt\n * @param {composite} composite\n * @param {number} position\n * @return {composite} The original composite with the composite removed\n */\n Composite.removeCompositeAt = function(composite, position) {\n composite.composites.splice(position, 1);\n Composite.setModified(composite, true, true, false);\n return composite;\n };\n\n /**\n * Adds a body to the given composite.\n * @private\n * @method addBody\n * @param {composite} composite\n * @param {body} body\n * @return {composite} The original composite with the body added\n */\n Composite.addBody = function(composite, body) {\n composite.bodies.push(body);\n Composite.setModified(composite, true, true, false);\n return composite;\n };\n\n /**\n * Removes a body from the given composite, and optionally searching its children recursively.\n * @private\n * @method removeBody\n * @param {composite} composite\n * @param {body} body\n * @param {boolean} [deep=false]\n * @return {composite} The original composite with the body removed\n */\n Composite.removeBody = function(composite, body, deep) {\n var position = Common.indexOf(composite.bodies, body);\n if (position !== -1) {\n Composite.removeBodyAt(composite, position);\n }\n\n if (deep) {\n for (var i = 0; i < composite.composites.length; i++){\n Composite.removeBody(composite.composites[i], body, true);\n }\n }\n\n return composite;\n };\n\n /**\n * Removes a body from the given composite.\n * @private\n * @method removeBodyAt\n * @param {composite} composite\n * @param {number} position\n * @return {composite} The original composite with the body removed\n */\n Composite.removeBodyAt = function(composite, position) {\n composite.bodies.splice(position, 1);\n Composite.setModified(composite, true, true, false);\n return composite;\n };\n\n /**\n * Adds a constraint to the given composite.\n * @private\n * @method addConstraint\n * @param {composite} composite\n * @param {constraint} constraint\n * @return {composite} The original composite with the constraint added\n */\n Composite.addConstraint = function(composite, constraint) {\n composite.constraints.push(constraint);\n Composite.setModified(composite, true, true, false);\n return composite;\n };\n\n /**\n * Removes a constraint from the given composite, and optionally searching its children recursively.\n * @private\n * @method removeConstraint\n * @param {composite} composite\n * @param {constraint} constraint\n * @param {boolean} [deep=false]\n * @return {composite} The original composite with the constraint removed\n */\n Composite.removeConstraint = function(composite, constraint, deep) {\n var position = Common.indexOf(composite.constraints, constraint);\n if (position !== -1) {\n Composite.removeConstraintAt(composite, position);\n }\n\n if (deep) {\n for (var i = 0; i < composite.composites.length; i++){\n Composite.removeConstraint(composite.composites[i], constraint, true);\n }\n }\n\n return composite;\n };\n\n /**\n * Removes a body from the given composite.\n * @private\n * @method removeConstraintAt\n * @param {composite} composite\n * @param {number} position\n * @return {composite} The original composite with the constraint removed\n */\n Composite.removeConstraintAt = function(composite, position) {\n composite.constraints.splice(position, 1);\n Composite.setModified(composite, true, true, false);\n return composite;\n };\n\n /**\n * Removes all bodies, constraints and composites from the given composite.\n * Optionally clearing its children recursively.\n * @method clear\n * @param {composite} composite\n * @param {boolean} keepStatic\n * @param {boolean} [deep=false]\n */\n Composite.clear = function(composite, keepStatic, deep) {\n if (deep) {\n for (var i = 0; i < composite.composites.length; i++){\n Composite.clear(composite.composites[i], keepStatic, true);\n }\n }\n \n if (keepStatic) {\n composite.bodies = composite.bodies.filter(function(body) { return body.isStatic; });\n } else {\n composite.bodies.length = 0;\n }\n\n composite.constraints.length = 0;\n composite.composites.length = 0;\n\n Composite.setModified(composite, true, true, false);\n\n return composite;\n };\n\n /**\n * Returns all bodies in the given composite, including all bodies in its children, recursively.\n * @method allBodies\n * @param {composite} composite\n * @return {body[]} All the bodies\n */\n Composite.allBodies = function(composite) {\n if (composite.cache && composite.cache.allBodies) {\n return composite.cache.allBodies;\n }\n\n var bodies = [].concat(composite.bodies);\n\n for (var i = 0; i < composite.composites.length; i++)\n bodies = bodies.concat(Composite.allBodies(composite.composites[i]));\n\n if (composite.cache) {\n composite.cache.allBodies = bodies;\n }\n\n return bodies;\n };\n\n /**\n * Returns all constraints in the given composite, including all constraints in its children, recursively.\n * @method allConstraints\n * @param {composite} composite\n * @return {constraint[]} All the constraints\n */\n Composite.allConstraints = function(composite) {\n if (composite.cache && composite.cache.allConstraints) {\n return composite.cache.allConstraints;\n }\n\n var constraints = [].concat(composite.constraints);\n\n for (var i = 0; i < composite.composites.length; i++)\n constraints = constraints.concat(Composite.allConstraints(composite.composites[i]));\n\n if (composite.cache) {\n composite.cache.allConstraints = constraints;\n }\n\n return constraints;\n };\n\n /**\n * Returns all composites in the given composite, including all composites in its children, recursively.\n * @method allComposites\n * @param {composite} composite\n * @return {composite[]} All the composites\n */\n Composite.allComposites = function(composite) {\n if (composite.cache && composite.cache.allComposites) {\n return composite.cache.allComposites;\n }\n\n var composites = [].concat(composite.composites);\n\n for (var i = 0; i < composite.composites.length; i++)\n composites = composites.concat(Composite.allComposites(composite.composites[i]));\n\n if (composite.cache) {\n composite.cache.allComposites = composites;\n }\n\n return composites;\n };\n\n /**\n * Searches the composite recursively for an object matching the type and id supplied, null if not found.\n * @method get\n * @param {composite} composite\n * @param {number} id\n * @param {string} type\n * @return {object} The requested object, if found\n */\n Composite.get = function(composite, id, type) {\n var objects,\n object;\n\n switch (type) {\n case 'body':\n objects = Composite.allBodies(composite);\n break;\n case 'constraint':\n objects = Composite.allConstraints(composite);\n break;\n case 'composite':\n objects = Composite.allComposites(composite).concat(composite);\n break;\n }\n\n if (!objects)\n return null;\n\n object = objects.filter(function(object) { \n return object.id.toString() === id.toString(); \n });\n\n return object.length === 0 ? null : object[0];\n };\n\n /**\n * Moves the given object(s) from compositeA to compositeB (equal to a remove followed by an add).\n * @method move\n * @param {compositeA} compositeA\n * @param {object[]} objects\n * @param {compositeB} compositeB\n * @return {composite} Returns compositeA\n */\n Composite.move = function(compositeA, objects, compositeB) {\n Composite.remove(compositeA, objects);\n Composite.add(compositeB, objects);\n return compositeA;\n };\n\n /**\n * Assigns new ids for all objects in the composite, recursively.\n * @method rebase\n * @param {composite} composite\n * @return {composite} Returns composite\n */\n Composite.rebase = function(composite) {\n var objects = Composite.allBodies(composite)\n .concat(Composite.allConstraints(composite))\n .concat(Composite.allComposites(composite));\n\n for (var i = 0; i < objects.length; i++) {\n objects[i].id = Common.nextId();\n }\n\n return composite;\n };\n\n /**\n * Translates all children in the composite by a given vector relative to their current positions, \n * without imparting any velocity.\n * @method translate\n * @param {composite} composite\n * @param {vector} translation\n * @param {bool} [recursive=true]\n */\n Composite.translate = function(composite, translation, recursive) {\n var bodies = recursive ? Composite.allBodies(composite) : composite.bodies;\n\n for (var i = 0; i < bodies.length; i++) {\n Body.translate(bodies[i], translation);\n }\n\n return composite;\n };\n\n /**\n * Rotates all children in the composite by a given angle about the given point, without imparting any angular velocity.\n * @method rotate\n * @param {composite} composite\n * @param {number} rotation\n * @param {vector} point\n * @param {bool} [recursive=true]\n */\n Composite.rotate = function(composite, rotation, point, recursive) {\n var cos = Math.cos(rotation),\n sin = Math.sin(rotation),\n bodies = recursive ? Composite.allBodies(composite) : composite.bodies;\n\n for (var i = 0; i < bodies.length; i++) {\n var body = bodies[i],\n dx = body.position.x - point.x,\n dy = body.position.y - point.y;\n \n Body.setPosition(body, {\n x: point.x + (dx * cos - dy * sin),\n y: point.y + (dx * sin + dy * cos)\n });\n\n Body.rotate(body, rotation);\n }\n\n return composite;\n };\n\n /**\n * Scales all children in the composite, including updating physical properties (mass, area, axes, inertia), from a world-space point.\n * @method scale\n * @param {composite} composite\n * @param {number} scaleX\n * @param {number} scaleY\n * @param {vector} point\n * @param {bool} [recursive=true]\n */\n Composite.scale = function(composite, scaleX, scaleY, point, recursive) {\n var bodies = recursive ? Composite.allBodies(composite) : composite.bodies;\n\n for (var i = 0; i < bodies.length; i++) {\n var body = bodies[i],\n dx = body.position.x - point.x,\n dy = body.position.y - point.y;\n \n Body.setPosition(body, {\n x: point.x + dx * scaleX,\n y: point.y + dy * scaleY\n });\n\n Body.scale(body, scaleX, scaleY);\n }\n\n return composite;\n };\n\n /**\n * Returns the union of the bounds of all of the composite's bodies.\n * @method bounds\n * @param {composite} composite The composite.\n * @returns {bounds} The composite bounds.\n */\n Composite.bounds = function(composite) {\n var bodies = Composite.allBodies(composite),\n vertices = [];\n\n for (var i = 0; i < bodies.length; i += 1) {\n var body = bodies[i];\n vertices.push(body.bounds.min, body.bounds.max);\n }\n\n return Bounds.create(vertices);\n };\n\n /*\n *\n * Events Documentation\n *\n */\n\n /**\n * Fired when a call to `Composite.add` is made, before objects have been added.\n *\n * @event beforeAdd\n * @param {} event An event object\n * @param {} event.object The object(s) to be added (may be a single body, constraint, composite or a mixed array of these)\n * @param {} event.source The source object of the event\n * @param {} event.name The name of the event\n */\n\n /**\n * Fired when a call to `Composite.add` is made, after objects have been added.\n *\n * @event afterAdd\n * @param {} event An event object\n * @param {} event.object The object(s) that have been added (may be a single body, constraint, composite or a mixed array of these)\n * @param {} event.source The source object of the event\n * @param {} event.name The name of the event\n */\n\n /**\n * Fired when a call to `Composite.remove` is made, before objects have been removed.\n *\n * @event beforeRemove\n * @param {} event An event object\n * @param {} event.object The object(s) to be removed (may be a single body, constraint, composite or a mixed array of these)\n * @param {} event.source The source object of the event\n * @param {} event.name The name of the event\n */\n\n /**\n * Fired when a call to `Composite.remove` is made, after objects have been removed.\n *\n * @event afterRemove\n * @param {} event An event object\n * @param {} event.object The object(s) that have been removed (may be a single body, constraint, composite or a mixed array of these)\n * @param {} event.source The source object of the event\n * @param {} event.name The name of the event\n */\n\n /*\n *\n * Properties Documentation\n *\n */\n\n /**\n * An integer `Number` uniquely identifying number generated in `Composite.create` by `Common.nextId`.\n *\n * @property id\n * @type number\n */\n\n /**\n * A `String` denoting the type of object.\n *\n * @property type\n * @type string\n * @default \"composite\"\n * @readOnly\n */\n\n /**\n * An arbitrary `String` name to help the user identify and manage composites.\n *\n * @property label\n * @type string\n * @default \"Composite\"\n */\n\n /**\n * A flag that specifies whether the composite has been modified during the current step.\n * This is automatically managed when bodies, constraints or composites are added or removed.\n *\n * @property isModified\n * @type boolean\n * @default false\n */\n\n /**\n * The `Composite` that is the parent of this composite. It is automatically managed by the `Matter.Composite` methods.\n *\n * @property parent\n * @type composite\n * @default null\n */\n\n /**\n * An array of `Body` that are _direct_ children of this composite.\n * To add or remove bodies you should use `Composite.add` and `Composite.remove` methods rather than directly modifying this property.\n * If you wish to recursively find all descendants, you should use the `Composite.allBodies` method.\n *\n * @property bodies\n * @type body[]\n * @default []\n */\n\n /**\n * An array of `Constraint` that are _direct_ children of this composite.\n * To add or remove constraints you should use `Composite.add` and `Composite.remove` methods rather than directly modifying this property.\n * If you wish to recursively find all descendants, you should use the `Composite.allConstraints` method.\n *\n * @property constraints\n * @type constraint[]\n * @default []\n */\n\n /**\n * An array of `Composite` that are _direct_ children of this composite.\n * To add or remove composites you should use `Composite.add` and `Composite.remove` methods rather than directly modifying this property.\n * If you wish to recursively find all descendants, you should use the `Composite.allComposites` method.\n *\n * @property composites\n * @type composite[]\n * @default []\n */\n\n /**\n * An object reserved for storing plugin-specific properties.\n *\n * @property plugin\n * @type {}\n */\n\n /**\n * An object used for storing cached results for performance reasons.\n * This is used internally only and is automatically managed.\n *\n * @private\n * @property cache\n * @type {}\n */\n\n})();\n\n\n/***/ }),\n/* 7 */\n/***/ (function(module, exports, __webpack_require__) {\n\n/**\n* The `Matter.Sleeping` module contains methods to manage the sleeping state of bodies.\n*\n* @class Sleeping\n*/\n\nvar Sleeping = {};\n\nmodule.exports = Sleeping;\n\nvar Body = __webpack_require__(4);\nvar Events = __webpack_require__(5);\nvar Common = __webpack_require__(0);\n\n(function() {\n\n Sleeping._motionWakeThreshold = 0.18;\n Sleeping._motionSleepThreshold = 0.08;\n Sleeping._minBias = 0.9;\n\n /**\n * Puts bodies to sleep or wakes them up depending on their motion.\n * @method update\n * @param {body[]} bodies\n * @param {number} delta\n */\n Sleeping.update = function(bodies, delta) {\n var timeScale = delta / Common._baseDelta,\n motionSleepThreshold = Sleeping._motionSleepThreshold;\n \n // update bodies sleeping status\n for (var i = 0; i < bodies.length; i++) {\n var body = bodies[i],\n speed = Body.getSpeed(body),\n angularSpeed = Body.getAngularSpeed(body),\n motion = speed * speed + angularSpeed * angularSpeed;\n\n // wake up bodies if they have a force applied\n if (body.force.x !== 0 || body.force.y !== 0) {\n Sleeping.set(body, false);\n continue;\n }\n\n var minMotion = Math.min(body.motion, motion),\n maxMotion = Math.max(body.motion, motion);\n \n // biased average motion estimation between frames\n body.motion = Sleeping._minBias * minMotion + (1 - Sleeping._minBias) * maxMotion;\n\n if (body.sleepThreshold > 0 && body.motion < motionSleepThreshold) {\n body.sleepCounter += 1;\n \n if (body.sleepCounter >= body.sleepThreshold / timeScale) {\n Sleeping.set(body, true);\n }\n } else if (body.sleepCounter > 0) {\n body.sleepCounter -= 1;\n }\n }\n };\n\n /**\n * Given a set of colliding pairs, wakes the sleeping bodies involved.\n * @method afterCollisions\n * @param {pair[]} pairs\n */\n Sleeping.afterCollisions = function(pairs) {\n var motionSleepThreshold = Sleeping._motionSleepThreshold;\n\n // wake up bodies involved in collisions\n for (var i = 0; i < pairs.length; i++) {\n var pair = pairs[i];\n \n // don't wake inactive pairs\n if (!pair.isActive)\n continue;\n\n var collision = pair.collision,\n bodyA = collision.bodyA.parent, \n bodyB = collision.bodyB.parent;\n \n // don't wake if at least one body is static\n if ((bodyA.isSleeping && bodyB.isSleeping) || bodyA.isStatic || bodyB.isStatic)\n continue;\n \n if (bodyA.isSleeping || bodyB.isSleeping) {\n var sleepingBody = (bodyA.isSleeping && !bodyA.isStatic) ? bodyA : bodyB,\n movingBody = sleepingBody === bodyA ? bodyB : bodyA;\n\n if (!sleepingBody.isStatic && movingBody.motion > motionSleepThreshold) {\n Sleeping.set(sleepingBody, false);\n }\n }\n }\n };\n \n /**\n * Set a body as sleeping or awake.\n * @method set\n * @param {body} body\n * @param {boolean} isSleeping\n */\n Sleeping.set = function(body, isSleeping) {\n var wasSleeping = body.isSleeping;\n\n if (isSleeping) {\n body.isSleeping = true;\n body.sleepCounter = body.sleepThreshold;\n\n body.positionImpulse.x = 0;\n body.positionImpulse.y = 0;\n\n body.positionPrev.x = body.position.x;\n body.positionPrev.y = body.position.y;\n\n body.anglePrev = body.angle;\n body.speed = 0;\n body.angularSpeed = 0;\n body.motion = 0;\n\n if (!wasSleeping) {\n Events.trigger(body, 'sleepStart');\n }\n } else {\n body.isSleeping = false;\n body.sleepCounter = 0;\n\n if (wasSleeping) {\n Events.trigger(body, 'sleepEnd');\n }\n }\n };\n\n})();\n\n\n/***/ }),\n/* 8 */\n/***/ (function(module, exports, __webpack_require__) {\n\n/**\n* The `Matter.Collision` module contains methods for detecting collisions between a given pair of bodies.\n*\n* For efficient detection between a list of bodies, see `Matter.Detector` and `Matter.Query`.\n*\n* See `Matter.Engine` for collision events.\n*\n* @class Collision\n*/\n\nvar Collision = {};\n\nmodule.exports = Collision;\n\nvar Vertices = __webpack_require__(3);\nvar Pair = __webpack_require__(9);\n\n(function() {\n var _supports = [];\n\n var _overlapAB = {\n overlap: 0,\n axis: null\n };\n\n var _overlapBA = {\n overlap: 0,\n axis: null\n };\n\n /**\n * Creates a new collision record.\n * @method create\n * @param {body} bodyA The first body part represented by the collision record\n * @param {body} bodyB The second body part represented by the collision record\n * @return {collision} A new collision record\n */\n Collision.create = function(bodyA, bodyB) {\n return { \n pair: null,\n collided: false,\n bodyA: bodyA,\n bodyB: bodyB,\n parentA: bodyA.parent,\n parentB: bodyB.parent,\n depth: 0,\n normal: { x: 0, y: 0 },\n tangent: { x: 0, y: 0 },\n penetration: { x: 0, y: 0 },\n supports: []\n };\n };\n\n /**\n * Detect collision between two bodies.\n * @method collides\n * @param {body} bodyA\n * @param {body} bodyB\n * @param {pairs} [pairs] Optionally reuse collision records from existing pairs.\n * @return {collision|null} A collision record if detected, otherwise null\n */\n Collision.collides = function(bodyA, bodyB, pairs) {\n Collision._overlapAxes(_overlapAB, bodyA.vertices, bodyB.vertices, bodyA.axes);\n\n if (_overlapAB.overlap <= 0) {\n return null;\n }\n\n Collision._overlapAxes(_overlapBA, bodyB.vertices, bodyA.vertices, bodyB.axes);\n\n if (_overlapBA.overlap <= 0) {\n return null;\n }\n\n // reuse collision records for gc efficiency\n var pair = pairs && pairs.table[Pair.id(bodyA, bodyB)],\n collision;\n\n if (!pair) {\n collision = Collision.create(bodyA, bodyB);\n collision.collided = true;\n collision.bodyA = bodyA.id < bodyB.id ? bodyA : bodyB;\n collision.bodyB = bodyA.id < bodyB.id ? bodyB : bodyA;\n collision.parentA = collision.bodyA.parent;\n collision.parentB = collision.bodyB.parent;\n } else {\n collision = pair.collision;\n }\n\n bodyA = collision.bodyA;\n bodyB = collision.bodyB;\n\n var minOverlap;\n\n if (_overlapAB.overlap < _overlapBA.overlap) {\n minOverlap = _overlapAB;\n } else {\n minOverlap = _overlapBA;\n }\n\n var normal = collision.normal,\n supports = collision.supports,\n minAxis = minOverlap.axis,\n minAxisX = minAxis.x,\n minAxisY = minAxis.y;\n\n // ensure normal is facing away from bodyA\n if (minAxisX * (bodyB.position.x - bodyA.position.x) + minAxisY * (bodyB.position.y - bodyA.position.y) < 0) {\n normal.x = minAxisX;\n normal.y = minAxisY;\n } else {\n normal.x = -minAxisX;\n normal.y = -minAxisY;\n }\n \n collision.tangent.x = -normal.y;\n collision.tangent.y = normal.x;\n\n collision.depth = minOverlap.overlap;\n\n collision.penetration.x = normal.x * collision.depth;\n collision.penetration.y = normal.y * collision.depth;\n\n // find support points, there is always either exactly one or two\n var supportsB = Collision._findSupports(bodyA, bodyB, normal, 1),\n supportCount = 0;\n\n // find the supports from bodyB that are inside bodyA\n if (Vertices.contains(bodyA.vertices, supportsB[0])) {\n supports[supportCount++] = supportsB[0];\n }\n\n if (Vertices.contains(bodyA.vertices, supportsB[1])) {\n supports[supportCount++] = supportsB[1];\n }\n\n // find the supports from bodyA that are inside bodyB\n if (supportCount < 2) {\n var supportsA = Collision._findSupports(bodyB, bodyA, normal, -1);\n\n if (Vertices.contains(bodyB.vertices, supportsA[0])) {\n supports[supportCount++] = supportsA[0];\n }\n\n if (supportCount < 2 && Vertices.contains(bodyB.vertices, supportsA[1])) {\n supports[supportCount++] = supportsA[1];\n }\n }\n\n // account for the edge case of overlapping but no vertex containment\n if (supportCount === 0) {\n supports[supportCount++] = supportsB[0];\n }\n\n // update supports array size\n supports.length = supportCount;\n\n return collision;\n };\n\n /**\n * Find the overlap between two sets of vertices.\n * @method _overlapAxes\n * @private\n * @param {object} result\n * @param {vertices} verticesA\n * @param {vertices} verticesB\n * @param {axes} axes\n */\n Collision._overlapAxes = function(result, verticesA, verticesB, axes) {\n var verticesALength = verticesA.length,\n verticesBLength = verticesB.length,\n verticesAX = verticesA[0].x,\n verticesAY = verticesA[0].y,\n verticesBX = verticesB[0].x,\n verticesBY = verticesB[0].y,\n axesLength = axes.length,\n overlapMin = Number.MAX_VALUE,\n overlapAxisNumber = 0,\n overlap,\n overlapAB,\n overlapBA,\n dot,\n i,\n j;\n\n for (i = 0; i < axesLength; i++) {\n var axis = axes[i],\n axisX = axis.x,\n axisY = axis.y,\n minA = verticesAX * axisX + verticesAY * axisY,\n minB = verticesBX * axisX + verticesBY * axisY,\n maxA = minA,\n maxB = minB;\n \n for (j = 1; j < verticesALength; j += 1) {\n dot = verticesA[j].x * axisX + verticesA[j].y * axisY;\n\n if (dot > maxA) { \n maxA = dot;\n } else if (dot < minA) { \n minA = dot;\n }\n }\n\n for (j = 1; j < verticesBLength; j += 1) {\n dot = verticesB[j].x * axisX + verticesB[j].y * axisY;\n\n if (dot > maxB) { \n maxB = dot;\n } else if (dot < minB) { \n minB = dot;\n }\n }\n\n overlapAB = maxA - minB;\n overlapBA = maxB - minA;\n overlap = overlapAB < overlapBA ? overlapAB : overlapBA;\n\n if (overlap < overlapMin) {\n overlapMin = overlap;\n overlapAxisNumber = i;\n\n if (overlap <= 0) {\n // can not be intersecting\n break;\n }\n } \n }\n\n result.axis = axes[overlapAxisNumber];\n result.overlap = overlapMin;\n };\n\n /**\n * Projects vertices on an axis and returns an interval.\n * @method _projectToAxis\n * @private\n * @param {} projection\n * @param {} vertices\n * @param {} axis\n */\n Collision._projectToAxis = function(projection, vertices, axis) {\n var min = vertices[0].x * axis.x + vertices[0].y * axis.y,\n max = min;\n\n for (var i = 1; i < vertices.length; i += 1) {\n var dot = vertices[i].x * axis.x + vertices[i].y * axis.y;\n\n if (dot > max) { \n max = dot; \n } else if (dot < min) { \n min = dot; \n }\n }\n\n projection.min = min;\n projection.max = max;\n };\n\n /**\n * Finds supporting vertices given two bodies along a given direction using hill-climbing.\n * @method _findSupports\n * @private\n * @param {body} bodyA\n * @param {body} bodyB\n * @param {vector} normal\n * @param {number} direction\n * @return [vector]\n */\n Collision._findSupports = function(bodyA, bodyB, normal, direction) {\n var vertices = bodyB.vertices,\n verticesLength = vertices.length,\n bodyAPositionX = bodyA.position.x,\n bodyAPositionY = bodyA.position.y,\n normalX = normal.x * direction,\n normalY = normal.y * direction,\n nearestDistance = Number.MAX_VALUE,\n vertexA,\n vertexB,\n vertexC,\n distance,\n j;\n\n // find deepest vertex relative to the axis\n for (j = 0; j < verticesLength; j += 1) {\n vertexB = vertices[j];\n distance = normalX * (bodyAPositionX - vertexB.x) + normalY * (bodyAPositionY - vertexB.y);\n\n // convex hill-climbing\n if (distance < nearestDistance) {\n nearestDistance = distance;\n vertexA = vertexB;\n }\n }\n\n // measure next vertex\n vertexC = vertices[(verticesLength + vertexA.index - 1) % verticesLength];\n nearestDistance = normalX * (bodyAPositionX - vertexC.x) + normalY * (bodyAPositionY - vertexC.y);\n\n // compare with previous vertex\n vertexB = vertices[(vertexA.index + 1) % verticesLength];\n if (normalX * (bodyAPositionX - vertexB.x) + normalY * (bodyAPositionY - vertexB.y) < nearestDistance) {\n _supports[0] = vertexA;\n _supports[1] = vertexB;\n\n return _supports;\n }\n\n _supports[0] = vertexA;\n _supports[1] = vertexC;\n\n return _supports;\n };\n\n /*\n *\n * Properties Documentation\n *\n */\n\n /**\n * A reference to the pair using this collision record, if there is one.\n *\n * @property pair\n * @type {pair|null}\n * @default null\n */\n\n /**\n * A flag that indicates if the bodies were colliding when the collision was last updated.\n * \n * @property collided\n * @type boolean\n * @default false\n */\n\n /**\n * The first body part represented by the collision (see also `collision.parentA`).\n * \n * @property bodyA\n * @type body\n */\n\n /**\n * The second body part represented by the collision (see also `collision.parentB`).\n * \n * @property bodyB\n * @type body\n */\n\n /**\n * The first body represented by the collision (i.e. `collision.bodyA.parent`).\n * \n * @property parentA\n * @type body\n */\n\n /**\n * The second body represented by the collision (i.e. `collision.bodyB.parent`).\n * \n * @property parentB\n * @type body\n */\n\n /**\n * A `Number` that represents the minimum separating distance between the bodies along the collision normal.\n *\n * @readOnly\n * @property depth\n * @type number\n * @default 0\n */\n\n /**\n * A normalised `Vector` that represents the direction between the bodies that provides the minimum separating distance.\n *\n * @property normal\n * @type vector\n * @default { x: 0, y: 0 }\n */\n\n /**\n * A normalised `Vector` that is the tangent direction to the collision normal.\n *\n * @property tangent\n * @type vector\n * @default { x: 0, y: 0 }\n */\n\n /**\n * A `Vector` that represents the direction and depth of the collision.\n *\n * @property penetration\n * @type vector\n * @default { x: 0, y: 0 }\n */\n\n /**\n * An array of body vertices that represent the support points in the collision.\n * These are the deepest vertices (along the collision normal) of each body that are contained by the other body's vertices.\n *\n * @property supports\n * @type vector[]\n * @default []\n */\n\n})();\n\n\n/***/ }),\n/* 9 */\n/***/ (function(module, exports, __webpack_require__) {\n\n/**\n* The `Matter.Pair` module contains methods for creating and manipulating collision pairs.\n*\n* @class Pair\n*/\n\nvar Pair = {};\n\nmodule.exports = Pair;\n\nvar Contact = __webpack_require__(16);\n\n(function() {\n \n /**\n * Creates a pair.\n * @method create\n * @param {collision} collision\n * @param {number} timestamp\n * @return {pair} A new pair\n */\n Pair.create = function(collision, timestamp) {\n var bodyA = collision.bodyA,\n bodyB = collision.bodyB;\n\n var pair = {\n id: Pair.id(bodyA, bodyB),\n bodyA: bodyA,\n bodyB: bodyB,\n collision: collision,\n contacts: [],\n activeContacts: [],\n separation: 0,\n isActive: true,\n confirmedActive: true,\n isSensor: bodyA.isSensor || bodyB.isSensor,\n timeCreated: timestamp,\n timeUpdated: timestamp,\n inverseMass: 0,\n friction: 0,\n frictionStatic: 0,\n restitution: 0,\n slop: 0\n };\n\n Pair.update(pair, collision, timestamp);\n\n return pair;\n };\n\n /**\n * Updates a pair given a collision.\n * @method update\n * @param {pair} pair\n * @param {collision} collision\n * @param {number} timestamp\n */\n Pair.update = function(pair, collision, timestamp) {\n var contacts = pair.contacts,\n supports = collision.supports,\n activeContacts = pair.activeContacts,\n parentA = collision.parentA,\n parentB = collision.parentB,\n parentAVerticesLength = parentA.vertices.length;\n \n pair.isActive = true;\n pair.timeUpdated = timestamp;\n pair.collision = collision;\n pair.separation = collision.depth;\n pair.inverseMass = parentA.inverseMass + parentB.inverseMass;\n pair.friction = parentA.friction < parentB.friction ? parentA.friction : parentB.friction;\n pair.frictionStatic = parentA.frictionStatic > parentB.frictionStatic ? parentA.frictionStatic : parentB.frictionStatic;\n pair.restitution = parentA.restitution > parentB.restitution ? parentA.restitution : parentB.restitution;\n pair.slop = parentA.slop > parentB.slop ? parentA.slop : parentB.slop;\n\n collision.pair = pair;\n activeContacts.length = 0;\n \n for (var i = 0; i < supports.length; i++) {\n var support = supports[i],\n contactId = support.body === parentA ? support.index : parentAVerticesLength + support.index,\n contact = contacts[contactId];\n\n if (contact) {\n activeContacts.push(contact);\n } else {\n activeContacts.push(contacts[contactId] = Contact.create(support));\n }\n }\n };\n \n /**\n * Set a pair as active or inactive.\n * @method setActive\n * @param {pair} pair\n * @param {bool} isActive\n * @param {number} timestamp\n */\n Pair.setActive = function(pair, isActive, timestamp) {\n if (isActive) {\n pair.isActive = true;\n pair.timeUpdated = timestamp;\n } else {\n pair.isActive = false;\n pair.activeContacts.length = 0;\n }\n };\n\n /**\n * Get the id for the given pair.\n * @method id\n * @param {body} bodyA\n * @param {body} bodyB\n * @return {string} Unique pairId\n */\n Pair.id = function(bodyA, bodyB) {\n if (bodyA.id < bodyB.id) {\n return 'A' + bodyA.id + 'B' + bodyB.id;\n } else {\n return 'A' + bodyB.id + 'B' + bodyA.id;\n }\n };\n\n})();\n\n\n/***/ }),\n/* 10 */\n/***/ (function(module, exports, __webpack_require__) {\n\n/**\n* The `Matter.Constraint` module contains methods for creating and manipulating constraints.\n* Constraints are used for specifying that a fixed distance must be maintained between two bodies (or a body and a fixed world-space position).\n* The stiffness of constraints can be modified to create springs or elastic.\n*\n* See the included usage [examples](https://github.com/liabru/matter-js/tree/master/examples).\n*\n* @class Constraint\n*/\n\nvar Constraint = {};\n\nmodule.exports = Constraint;\n\nvar Vertices = __webpack_require__(3);\nvar Vector = __webpack_require__(2);\nvar Sleeping = __webpack_require__(7);\nvar Bounds = __webpack_require__(1);\nvar Axes = __webpack_require__(11);\nvar Common = __webpack_require__(0);\n\n(function() {\n\n Constraint._warming = 0.4;\n Constraint._torqueDampen = 1;\n Constraint._minLength = 0.000001;\n\n /**\n * Creates a new constraint.\n * All properties have default values, and many are pre-calculated automatically based on other properties.\n * To simulate a revolute constraint (or pin joint) set `length: 0` and a high `stiffness` value (e.g. `0.7` or above).\n * If the constraint is unstable, try lowering the `stiffness` value and / or increasing `engine.constraintIterations`.\n * For compound bodies, constraints must be applied to the parent body (not one of its parts).\n * See the properties section below for detailed information on what you can pass via the `options` object.\n * @method create\n * @param {} options\n * @return {constraint} constraint\n */\n Constraint.create = function(options) {\n var constraint = options;\n\n // if bodies defined but no points, use body centre\n if (constraint.bodyA && !constraint.pointA)\n constraint.pointA = { x: 0, y: 0 };\n if (constraint.bodyB && !constraint.pointB)\n constraint.pointB = { x: 0, y: 0 };\n\n // calculate static length using initial world space points\n var initialPointA = constraint.bodyA ? Vector.add(constraint.bodyA.position, constraint.pointA) : constraint.pointA,\n initialPointB = constraint.bodyB ? Vector.add(constraint.bodyB.position, constraint.pointB) : constraint.pointB,\n length = Vector.magnitude(Vector.sub(initialPointA, initialPointB));\n \n constraint.length = typeof constraint.length !== 'undefined' ? constraint.length : length;\n\n // option defaults\n constraint.id = constraint.id || Common.nextId();\n constraint.label = constraint.label || 'Constraint';\n constraint.type = 'constraint';\n constraint.stiffness = constraint.stiffness || (constraint.length > 0 ? 1 : 0.7);\n constraint.damping = constraint.damping || 0;\n constraint.angularStiffness = constraint.angularStiffness || 0;\n constraint.angleA = constraint.bodyA ? constraint.bodyA.angle : constraint.angleA;\n constraint.angleB = constraint.bodyB ? constraint.bodyB.angle : constraint.angleB;\n constraint.plugin = {};\n\n // render\n var render = {\n visible: true,\n lineWidth: 2,\n strokeStyle: '#ffffff',\n type: 'line',\n anchors: true\n };\n\n if (constraint.length === 0 && constraint.stiffness > 0.1) {\n render.type = 'pin';\n render.anchors = false;\n } else if (constraint.stiffness < 0.9) {\n render.type = 'spring';\n }\n\n constraint.render = Common.extend(render, constraint.render);\n\n return constraint;\n };\n\n /**\n * Prepares for solving by constraint warming.\n * @private\n * @method preSolveAll\n * @param {body[]} bodies\n */\n Constraint.preSolveAll = function(bodies) {\n for (var i = 0; i < bodies.length; i += 1) {\n var body = bodies[i],\n impulse = body.constraintImpulse;\n\n if (body.isStatic || (impulse.x === 0 && impulse.y === 0 && impulse.angle === 0)) {\n continue;\n }\n\n body.position.x += impulse.x;\n body.position.y += impulse.y;\n body.angle += impulse.angle;\n }\n };\n\n /**\n * Solves all constraints in a list of collisions.\n * @private\n * @method solveAll\n * @param {constraint[]} constraints\n * @param {number} delta\n */\n Constraint.solveAll = function(constraints, delta) {\n var timeScale = Common.clamp(delta / Common._baseDelta, 0, 1);\n\n // Solve fixed constraints first.\n for (var i = 0; i < constraints.length; i += 1) {\n var constraint = constraints[i],\n fixedA = !constraint.bodyA || (constraint.bodyA && constraint.bodyA.isStatic),\n fixedB = !constraint.bodyB || (constraint.bodyB && constraint.bodyB.isStatic);\n\n if (fixedA || fixedB) {\n Constraint.solve(constraints[i], timeScale);\n }\n }\n\n // Solve free constraints last.\n for (i = 0; i < constraints.length; i += 1) {\n constraint = constraints[i];\n fixedA = !constraint.bodyA || (constraint.bodyA && constraint.bodyA.isStatic);\n fixedB = !constraint.bodyB || (constraint.bodyB && constraint.bodyB.isStatic);\n\n if (!fixedA && !fixedB) {\n Constraint.solve(constraints[i], timeScale);\n }\n }\n };\n\n /**\n * Solves a distance constraint with Gauss-Siedel method.\n * @private\n * @method solve\n * @param {constraint} constraint\n * @param {number} timeScale\n */\n Constraint.solve = function(constraint, timeScale) {\n var bodyA = constraint.bodyA,\n bodyB = constraint.bodyB,\n pointA = constraint.pointA,\n pointB = constraint.pointB;\n\n if (!bodyA && !bodyB)\n return;\n\n // update reference angle\n if (bodyA && !bodyA.isStatic) {\n Vector.rotate(pointA, bodyA.angle - constraint.angleA, pointA);\n constraint.angleA = bodyA.angle;\n }\n \n // update reference angle\n if (bodyB && !bodyB.isStatic) {\n Vector.rotate(pointB, bodyB.angle - constraint.angleB, pointB);\n constraint.angleB = bodyB.angle;\n }\n\n var pointAWorld = pointA,\n pointBWorld = pointB;\n\n if (bodyA) pointAWorld = Vector.add(bodyA.position, pointA);\n if (bodyB) pointBWorld = Vector.add(bodyB.position, pointB);\n\n if (!pointAWorld || !pointBWorld)\n return;\n\n var delta = Vector.sub(pointAWorld, pointBWorld),\n currentLength = Vector.magnitude(delta);\n\n // prevent singularity\n if (currentLength < Constraint._minLength) {\n currentLength = Constraint._minLength;\n }\n\n // solve distance constraint with Gauss-Siedel method\n var difference = (currentLength - constraint.length) / currentLength,\n isRigid = constraint.stiffness >= 1 || constraint.length === 0,\n stiffness = isRigid ? constraint.stiffness * timeScale \n : constraint.stiffness * timeScale * timeScale,\n damping = constraint.damping * timeScale,\n force = Vector.mult(delta, difference * stiffness),\n massTotal = (bodyA ? bodyA.inverseMass : 0) + (bodyB ? bodyB.inverseMass : 0),\n inertiaTotal = (bodyA ? bodyA.inverseInertia : 0) + (bodyB ? bodyB.inverseInertia : 0),\n resistanceTotal = massTotal + inertiaTotal,\n torque,\n share,\n normal,\n normalVelocity,\n relativeVelocity;\n \n if (damping > 0) {\n var zero = Vector.create();\n normal = Vector.div(delta, currentLength);\n\n relativeVelocity = Vector.sub(\n bodyB && Vector.sub(bodyB.position, bodyB.positionPrev) || zero,\n bodyA && Vector.sub(bodyA.position, bodyA.positionPrev) || zero\n );\n\n normalVelocity = Vector.dot(normal, relativeVelocity);\n }\n\n if (bodyA && !bodyA.isStatic) {\n share = bodyA.inverseMass / massTotal;\n\n // keep track of applied impulses for post solving\n bodyA.constraintImpulse.x -= force.x * share;\n bodyA.constraintImpulse.y -= force.y * share;\n\n // apply forces\n bodyA.position.x -= force.x * share;\n bodyA.position.y -= force.y * share;\n\n // apply damping\n if (damping > 0) {\n bodyA.positionPrev.x -= damping * normal.x * normalVelocity * share;\n bodyA.positionPrev.y -= damping * normal.y * normalVelocity * share;\n }\n\n // apply torque\n torque = (Vector.cross(pointA, force) / resistanceTotal) * Constraint._torqueDampen * bodyA.inverseInertia * (1 - constraint.angularStiffness);\n bodyA.constraintImpulse.angle -= torque;\n bodyA.angle -= torque;\n }\n\n if (bodyB && !bodyB.isStatic) {\n share = bodyB.inverseMass / massTotal;\n\n // keep track of applied impulses for post solving\n bodyB.constraintImpulse.x += force.x * share;\n bodyB.constraintImpulse.y += force.y * share;\n \n // apply forces\n bodyB.position.x += force.x * share;\n bodyB.position.y += force.y * share;\n\n // apply damping\n if (damping > 0) {\n bodyB.positionPrev.x += damping * normal.x * normalVelocity * share;\n bodyB.positionPrev.y += damping * normal.y * normalVelocity * share;\n }\n\n // apply torque\n torque = (Vector.cross(pointB, force) / resistanceTotal) * Constraint._torqueDampen * bodyB.inverseInertia * (1 - constraint.angularStiffness);\n bodyB.constraintImpulse.angle += torque;\n bodyB.angle += torque;\n }\n\n };\n\n /**\n * Performs body updates required after solving constraints.\n * @private\n * @method postSolveAll\n * @param {body[]} bodies\n */\n Constraint.postSolveAll = function(bodies) {\n for (var i = 0; i < bodies.length; i++) {\n var body = bodies[i],\n impulse = body.constraintImpulse;\n\n if (body.isStatic || (impulse.x === 0 && impulse.y === 0 && impulse.angle === 0)) {\n continue;\n }\n\n Sleeping.set(body, false);\n\n // update geometry and reset\n for (var j = 0; j < body.parts.length; j++) {\n var part = body.parts[j];\n \n Vertices.translate(part.vertices, impulse);\n\n if (j > 0) {\n part.position.x += impulse.x;\n part.position.y += impulse.y;\n }\n\n if (impulse.angle !== 0) {\n Vertices.rotate(part.vertices, impulse.angle, body.position);\n Axes.rotate(part.axes, impulse.angle);\n if (j > 0) {\n Vector.rotateAbout(part.position, impulse.angle, body.position, part.position);\n }\n }\n\n Bounds.update(part.bounds, part.vertices, body.velocity);\n }\n\n // dampen the cached impulse for warming next step\n impulse.angle *= Constraint._warming;\n impulse.x *= Constraint._warming;\n impulse.y *= Constraint._warming;\n }\n };\n\n /**\n * Returns the world-space position of `constraint.pointA`, accounting for `constraint.bodyA`.\n * @method pointAWorld\n * @param {constraint} constraint\n * @returns {vector} the world-space position\n */\n Constraint.pointAWorld = function(constraint) {\n return {\n x: (constraint.bodyA ? constraint.bodyA.position.x : 0) \n + (constraint.pointA ? constraint.pointA.x : 0),\n y: (constraint.bodyA ? constraint.bodyA.position.y : 0) \n + (constraint.pointA ? constraint.pointA.y : 0)\n };\n };\n\n /**\n * Returns the world-space position of `constraint.pointB`, accounting for `constraint.bodyB`.\n * @method pointBWorld\n * @param {constraint} constraint\n * @returns {vector} the world-space position\n */\n Constraint.pointBWorld = function(constraint) {\n return {\n x: (constraint.bodyB ? constraint.bodyB.position.x : 0) \n + (constraint.pointB ? constraint.pointB.x : 0),\n y: (constraint.bodyB ? constraint.bodyB.position.y : 0) \n + (constraint.pointB ? constraint.pointB.y : 0)\n };\n };\n\n /*\n *\n * Properties Documentation\n *\n */\n\n /**\n * An integer `Number` uniquely identifying number generated in `Composite.create` by `Common.nextId`.\n *\n * @property id\n * @type number\n */\n\n /**\n * A `String` denoting the type of object.\n *\n * @property type\n * @type string\n * @default \"constraint\"\n * @readOnly\n */\n\n /**\n * An arbitrary `String` name to help the user identify and manage bodies.\n *\n * @property label\n * @type string\n * @default \"Constraint\"\n */\n\n /**\n * An `Object` that defines the rendering properties to be consumed by the module `Matter.Render`.\n *\n * @property render\n * @type object\n */\n\n /**\n * A flag that indicates if the constraint should be rendered.\n *\n * @property render.visible\n * @type boolean\n * @default true\n */\n\n /**\n * A `Number` that defines the line width to use when rendering the constraint outline.\n * A value of `0` means no outline will be rendered.\n *\n * @property render.lineWidth\n * @type number\n * @default 2\n */\n\n /**\n * A `String` that defines the stroke style to use when rendering the constraint outline.\n * It is the same as when using a canvas, so it accepts CSS style property values.\n *\n * @property render.strokeStyle\n * @type string\n * @default a random colour\n */\n\n /**\n * A `String` that defines the constraint rendering type. \n * The possible values are 'line', 'pin', 'spring'.\n * An appropriate render type will be automatically chosen unless one is given in options.\n *\n * @property render.type\n * @type string\n * @default 'line'\n */\n\n /**\n * A `Boolean` that defines if the constraint's anchor points should be rendered.\n *\n * @property render.anchors\n * @type boolean\n * @default true\n */\n\n /**\n * The first possible `Body` that this constraint is attached to.\n *\n * @property bodyA\n * @type body\n * @default null\n */\n\n /**\n * The second possible `Body` that this constraint is attached to.\n *\n * @property bodyB\n * @type body\n * @default null\n */\n\n /**\n * A `Vector` that specifies the offset of the constraint from center of the `constraint.bodyA` if defined, otherwise a world-space position.\n *\n * @property pointA\n * @type vector\n * @default { x: 0, y: 0 }\n */\n\n /**\n * A `Vector` that specifies the offset of the constraint from center of the `constraint.bodyB` if defined, otherwise a world-space position.\n *\n * @property pointB\n * @type vector\n * @default { x: 0, y: 0 }\n */\n\n /**\n * A `Number` that specifies the stiffness of the constraint, i.e. the rate at which it returns to its resting `constraint.length`.\n * A value of `1` means the constraint should be very stiff.\n * A value of `0.2` means the constraint acts like a soft spring.\n *\n * @property stiffness\n * @type number\n * @default 1\n */\n\n /**\n * A `Number` that specifies the damping of the constraint, \n * i.e. the amount of resistance applied to each body based on their velocities to limit the amount of oscillation.\n * Damping will only be apparent when the constraint also has a very low `stiffness`.\n * A value of `0.1` means the constraint will apply heavy damping, resulting in little to no oscillation.\n * A value of `0` means the constraint will apply no damping.\n *\n * @property damping\n * @type number\n * @default 0\n */\n\n /**\n * A `Number` that specifies the target resting length of the constraint. \n * It is calculated automatically in `Constraint.create` from initial positions of the `constraint.bodyA` and `constraint.bodyB`.\n *\n * @property length\n * @type number\n */\n\n /**\n * An object reserved for storing plugin-specific properties.\n *\n * @property plugin\n * @type {}\n */\n\n})();\n\n\n/***/ }),\n/* 11 */\n/***/ (function(module, exports, __webpack_require__) {\n\n/**\n* The `Matter.Axes` module contains methods for creating and manipulating sets of axes.\n*\n* @class Axes\n*/\n\nvar Axes = {};\n\nmodule.exports = Axes;\n\nvar Vector = __webpack_require__(2);\nvar Common = __webpack_require__(0);\n\n(function() {\n\n /**\n * Creates a new set of axes from the given vertices.\n * @method fromVertices\n * @param {vertices} vertices\n * @return {axes} A new axes from the given vertices\n */\n Axes.fromVertices = function(vertices) {\n var axes = {};\n\n // find the unique axes, using edge normal gradients\n for (var i = 0; i < vertices.length; i++) {\n var j = (i + 1) % vertices.length, \n normal = Vector.normalise({ \n x: vertices[j].y - vertices[i].y, \n y: vertices[i].x - vertices[j].x\n }),\n gradient = (normal.y === 0) ? Infinity : (normal.x / normal.y);\n \n // limit precision\n gradient = gradient.toFixed(3).toString();\n axes[gradient] = normal;\n }\n\n return Common.values(axes);\n };\n\n /**\n * Rotates a set of axes by the given angle.\n * @method rotate\n * @param {axes} axes\n * @param {number} angle\n */\n Axes.rotate = function(axes, angle) {\n if (angle === 0)\n return;\n \n var cos = Math.cos(angle),\n sin = Math.sin(angle);\n\n for (var i = 0; i < axes.length; i++) {\n var axis = axes[i],\n xx;\n xx = axis.x * cos - axis.y * sin;\n axis.y = axis.x * sin + axis.y * cos;\n axis.x = xx;\n }\n };\n\n})();\n\n\n/***/ }),\n/* 12 */\n/***/ (function(module, exports, __webpack_require__) {\n\n/**\n* The `Matter.Bodies` module contains factory methods for creating rigid body models \n* with commonly used body configurations (such as rectangles, circles and other polygons).\n*\n* See the included usage [examples](https://github.com/liabru/matter-js/tree/master/examples).\n*\n* @class Bodies\n*/\n\n// TODO: true circle bodies\n\nvar Bodies = {};\n\nmodule.exports = Bodies;\n\nvar Vertices = __webpack_require__(3);\nvar Common = __webpack_require__(0);\nvar Body = __webpack_require__(4);\nvar Bounds = __webpack_require__(1);\nvar Vector = __webpack_require__(2);\n\n(function() {\n\n /**\n * Creates a new rigid body model with a rectangle hull. \n * The options parameter is an object that specifies any properties you wish to override the defaults.\n * See the properties section of the `Matter.Body` module for detailed information on what you can pass via the `options` object.\n * @method rectangle\n * @param {number} x\n * @param {number} y\n * @param {number} width\n * @param {number} height\n * @param {object} [options]\n * @return {body} A new rectangle body\n */\n Bodies.rectangle = function(x, y, width, height, options) {\n options = options || {};\n\n var rectangle = { \n label: 'Rectangle Body',\n position: { x: x, y: y },\n vertices: Vertices.fromPath('L 0 0 L ' + width + ' 0 L ' + width + ' ' + height + ' L 0 ' + height)\n };\n\n if (options.chamfer) {\n var chamfer = options.chamfer;\n rectangle.vertices = Vertices.chamfer(rectangle.vertices, chamfer.radius, \n chamfer.quality, chamfer.qualityMin, chamfer.qualityMax);\n delete options.chamfer;\n }\n\n return Body.create(Common.extend({}, rectangle, options));\n };\n \n /**\n * Creates a new rigid body model with a trapezoid hull. \n * The options parameter is an object that specifies any properties you wish to override the defaults.\n * See the properties section of the `Matter.Body` module for detailed information on what you can pass via the `options` object.\n * @method trapezoid\n * @param {number} x\n * @param {number} y\n * @param {number} width\n * @param {number} height\n * @param {number} slope\n * @param {object} [options]\n * @return {body} A new trapezoid body\n */\n Bodies.trapezoid = function(x, y, width, height, slope, options) {\n options = options || {};\n\n slope *= 0.5;\n var roof = (1 - (slope * 2)) * width;\n \n var x1 = width * slope,\n x2 = x1 + roof,\n x3 = x2 + x1,\n verticesPath;\n\n if (slope < 0.5) {\n verticesPath = 'L 0 0 L ' + x1 + ' ' + (-height) + ' L ' + x2 + ' ' + (-height) + ' L ' + x3 + ' 0';\n } else {\n verticesPath = 'L 0 0 L ' + x2 + ' ' + (-height) + ' L ' + x3 + ' 0';\n }\n\n var trapezoid = { \n label: 'Trapezoid Body',\n position: { x: x, y: y },\n vertices: Vertices.fromPath(verticesPath)\n };\n\n if (options.chamfer) {\n var chamfer = options.chamfer;\n trapezoid.vertices = Vertices.chamfer(trapezoid.vertices, chamfer.radius, \n chamfer.quality, chamfer.qualityMin, chamfer.qualityMax);\n delete options.chamfer;\n }\n\n return Body.create(Common.extend({}, trapezoid, options));\n };\n\n /**\n * Creates a new rigid body model with a circle hull. \n * The options parameter is an object that specifies any properties you wish to override the defaults.\n * See the properties section of the `Matter.Body` module for detailed information on what you can pass via the `options` object.\n * @method circle\n * @param {number} x\n * @param {number} y\n * @param {number} radius\n * @param {object} [options]\n * @param {number} [maxSides]\n * @return {body} A new circle body\n */\n Bodies.circle = function(x, y, radius, options, maxSides) {\n options = options || {};\n\n var circle = {\n label: 'Circle Body',\n circleRadius: radius\n };\n \n // approximate circles with polygons until true circles implemented in SAT\n maxSides = maxSides || 25;\n var sides = Math.ceil(Math.max(10, Math.min(maxSides, radius)));\n\n // optimisation: always use even number of sides (half the number of unique axes)\n if (sides % 2 === 1)\n sides += 1;\n\n return Bodies.polygon(x, y, sides, radius, Common.extend({}, circle, options));\n };\n\n /**\n * Creates a new rigid body model with a regular polygon hull with the given number of sides. \n * The options parameter is an object that specifies any properties you wish to override the defaults.\n * See the properties section of the `Matter.Body` module for detailed information on what you can pass via the `options` object.\n * @method polygon\n * @param {number} x\n * @param {number} y\n * @param {number} sides\n * @param {number} radius\n * @param {object} [options]\n * @return {body} A new regular polygon body\n */\n Bodies.polygon = function(x, y, sides, radius, options) {\n options = options || {};\n\n if (sides < 3)\n return Bodies.circle(x, y, radius, options);\n\n var theta = 2 * Math.PI / sides,\n path = '',\n offset = theta * 0.5;\n\n for (var i = 0; i < sides; i += 1) {\n var angle = offset + (i * theta),\n xx = Math.cos(angle) * radius,\n yy = Math.sin(angle) * radius;\n\n path += 'L ' + xx.toFixed(3) + ' ' + yy.toFixed(3) + ' ';\n }\n\n var polygon = { \n label: 'Polygon Body',\n position: { x: x, y: y },\n vertices: Vertices.fromPath(path)\n };\n\n if (options.chamfer) {\n var chamfer = options.chamfer;\n polygon.vertices = Vertices.chamfer(polygon.vertices, chamfer.radius, \n chamfer.quality, chamfer.qualityMin, chamfer.qualityMax);\n delete options.chamfer;\n }\n\n return Body.create(Common.extend({}, polygon, options));\n };\n\n /**\n * Utility to create a compound body based on set(s) of vertices.\n * \n * _Note:_ To optionally enable automatic concave vertices decomposition the [poly-decomp](https://github.com/schteppe/poly-decomp.js) \n * package must be first installed and provided see `Common.setDecomp`, otherwise the convex hull of each vertex set will be used.\n * \n * The resulting vertices are reorientated about their centre of mass,\n * and offset such that `body.position` corresponds to this point.\n * \n * The resulting offset may be found if needed by subtracting `body.bounds` from the original input bounds.\n * To later move the centre of mass see `Body.setCentre`.\n * \n * Note that automatic conconcave decomposition results are not always optimal. \n * For best results, simplify the input vertices as much as possible first.\n * By default this function applies some addtional simplification to help.\n * \n * Some outputs may also require further manual processing afterwards to be robust.\n * In particular some parts may need to be overlapped to avoid collision gaps.\n * Thin parts and sharp points should be avoided or removed where possible.\n *\n * The options parameter object specifies any `Matter.Body` properties you wish to override the defaults.\n * \n * See the properties section of the `Matter.Body` module for detailed information on what you can pass via the `options` object.\n * @method fromVertices\n * @param {number} x\n * @param {number} y\n * @param {array} vertexSets One or more arrays of vertex points e.g. `[[{ x: 0, y: 0 }...], ...]`.\n * @param {object} [options] The body options.\n * @param {bool} [flagInternal=false] Optionally marks internal edges with `isInternal`.\n * @param {number} [removeCollinear=0.01] Threshold when simplifying vertices along the same edge.\n * @param {number} [minimumArea=10] Threshold when removing small parts.\n * @param {number} [removeDuplicatePoints=0.01] Threshold when simplifying nearby vertices.\n * @return {body}\n */\n Bodies.fromVertices = function(x, y, vertexSets, options, flagInternal, removeCollinear, minimumArea, removeDuplicatePoints) {\n var decomp = Common.getDecomp(),\n canDecomp,\n body,\n parts,\n isConvex,\n isConcave,\n vertices,\n i,\n j,\n k,\n v,\n z;\n\n // check decomp is as expected\n canDecomp = Boolean(decomp && decomp.quickDecomp);\n\n options = options || {};\n parts = [];\n\n flagInternal = typeof flagInternal !== 'undefined' ? flagInternal : false;\n removeCollinear = typeof removeCollinear !== 'undefined' ? removeCollinear : 0.01;\n minimumArea = typeof minimumArea !== 'undefined' ? minimumArea : 10;\n removeDuplicatePoints = typeof removeDuplicatePoints !== 'undefined' ? removeDuplicatePoints : 0.01;\n\n // ensure vertexSets is an array of arrays\n if (!Common.isArray(vertexSets[0])) {\n vertexSets = [vertexSets];\n }\n\n for (v = 0; v < vertexSets.length; v += 1) {\n vertices = vertexSets[v];\n isConvex = Vertices.isConvex(vertices);\n isConcave = !isConvex;\n\n if (isConcave && !canDecomp) {\n Common.warnOnce(\n 'Bodies.fromVertices: Install the \\'poly-decomp\\' library and use Common.setDecomp or provide \\'decomp\\' as a global to decompose concave vertices.'\n );\n }\n\n if (isConvex || !canDecomp) {\n if (isConvex) {\n vertices = Vertices.clockwiseSort(vertices);\n } else {\n // fallback to convex hull when decomposition is not possible\n vertices = Vertices.hull(vertices);\n }\n\n parts.push({\n position: { x: x, y: y },\n vertices: vertices\n });\n } else {\n // initialise a decomposition\n var concave = vertices.map(function(vertex) {\n return [vertex.x, vertex.y];\n });\n\n // vertices are concave and simple, we can decompose into parts\n decomp.makeCCW(concave);\n if (removeCollinear !== false)\n decomp.removeCollinearPoints(concave, removeCollinear);\n if (removeDuplicatePoints !== false && decomp.removeDuplicatePoints)\n decomp.removeDuplicatePoints(concave, removeDuplicatePoints);\n\n // use the quick decomposition algorithm (Bayazit)\n var decomposed = decomp.quickDecomp(concave);\n\n // for each decomposed chunk\n for (i = 0; i < decomposed.length; i++) {\n var chunk = decomposed[i];\n\n // convert vertices into the correct structure\n var chunkVertices = chunk.map(function(vertices) {\n return {\n x: vertices[0],\n y: vertices[1]\n };\n });\n\n // skip small chunks\n if (minimumArea > 0 && Vertices.area(chunkVertices) < minimumArea)\n continue;\n\n // create a compound part\n parts.push({\n position: Vertices.centre(chunkVertices),\n vertices: chunkVertices\n });\n }\n }\n }\n\n // create body parts\n for (i = 0; i < parts.length; i++) {\n parts[i] = Body.create(Common.extend(parts[i], options));\n }\n\n // flag internal edges (coincident part edges)\n if (flagInternal) {\n var coincident_max_dist = 5;\n\n for (i = 0; i < parts.length; i++) {\n var partA = parts[i];\n\n for (j = i + 1; j < parts.length; j++) {\n var partB = parts[j];\n\n if (Bounds.overlaps(partA.bounds, partB.bounds)) {\n var pav = partA.vertices,\n pbv = partB.vertices;\n\n // iterate vertices of both parts\n for (k = 0; k < partA.vertices.length; k++) {\n for (z = 0; z < partB.vertices.length; z++) {\n // find distances between the vertices\n var da = Vector.magnitudeSquared(Vector.sub(pav[(k + 1) % pav.length], pbv[z])),\n db = Vector.magnitudeSquared(Vector.sub(pav[k], pbv[(z + 1) % pbv.length]));\n\n // if both vertices are very close, consider the edge concident (internal)\n if (da < coincident_max_dist && db < coincident_max_dist) {\n pav[k].isInternal = true;\n pbv[z].isInternal = true;\n }\n }\n }\n\n }\n }\n }\n }\n\n if (parts.length > 1) {\n // create the parent body to be returned, that contains generated compound parts\n body = Body.create(Common.extend({ parts: parts.slice(0) }, options));\n\n // offset such that body.position is at the centre off mass\n Body.setPosition(body, { x: x, y: y });\n\n return body;\n } else {\n return parts[0];\n }\n };\n\n})();\n\n\n/***/ }),\n/* 13 */\n/***/ (function(module, exports, __webpack_require__) {\n\n/**\n* The `Matter.Detector` module contains methods for efficiently detecting collisions between a list of bodies using a broadphase algorithm.\n*\n* @class Detector\n*/\n\nvar Detector = {};\n\nmodule.exports = Detector;\n\nvar Common = __webpack_require__(0);\nvar Collision = __webpack_require__(8);\n\n(function() {\n\n /**\n * Creates a new collision detector.\n * @method create\n * @param {} options\n * @return {detector} A new collision detector\n */\n Detector.create = function(options) {\n var defaults = {\n bodies: [],\n pairs: null\n };\n\n return Common.extend(defaults, options);\n };\n\n /**\n * Sets the list of bodies in the detector.\n * @method setBodies\n * @param {detector} detector\n * @param {body[]} bodies\n */\n Detector.setBodies = function(detector, bodies) {\n detector.bodies = bodies.slice(0);\n };\n\n /**\n * Clears the detector including its list of bodies.\n * @method clear\n * @param {detector} detector\n */\n Detector.clear = function(detector) {\n detector.bodies = [];\n };\n\n /**\n * Efficiently finds all collisions among all the bodies in `detector.bodies` using a broadphase algorithm.\n * \n * _Note:_ The specific ordering of collisions returned is not guaranteed between releases and may change for performance reasons.\n * If a specific ordering is required then apply a sort to the resulting array.\n * @method collisions\n * @param {detector} detector\n * @return {collision[]} collisions\n */\n Detector.collisions = function(detector) {\n var collisions = [],\n pairs = detector.pairs,\n bodies = detector.bodies,\n bodiesLength = bodies.length,\n canCollide = Detector.canCollide,\n collides = Collision.collides,\n i,\n j;\n\n bodies.sort(Detector._compareBoundsX);\n\n for (i = 0; i < bodiesLength; i++) {\n var bodyA = bodies[i],\n boundsA = bodyA.bounds,\n boundXMax = bodyA.bounds.max.x,\n boundYMax = bodyA.bounds.max.y,\n boundYMin = bodyA.bounds.min.y,\n bodyAStatic = bodyA.isStatic || bodyA.isSleeping,\n partsALength = bodyA.parts.length,\n partsASingle = partsALength === 1;\n\n for (j = i + 1; j < bodiesLength; j++) {\n var bodyB = bodies[j],\n boundsB = bodyB.bounds;\n\n if (boundsB.min.x > boundXMax) {\n break;\n }\n\n if (boundYMax < boundsB.min.y || boundYMin > boundsB.max.y) {\n continue;\n }\n\n if (bodyAStatic && (bodyB.isStatic || bodyB.isSleeping)) {\n continue;\n }\n\n if (!canCollide(bodyA.collisionFilter, bodyB.collisionFilter)) {\n continue;\n }\n\n var partsBLength = bodyB.parts.length;\n\n if (partsASingle && partsBLength === 1) {\n var collision = collides(bodyA, bodyB, pairs);\n\n if (collision) {\n collisions.push(collision);\n }\n } else {\n var partsAStart = partsALength > 1 ? 1 : 0,\n partsBStart = partsBLength > 1 ? 1 : 0;\n \n for (var k = partsAStart; k < partsALength; k++) {\n var partA = bodyA.parts[k],\n boundsA = partA.bounds;\n\n for (var z = partsBStart; z < partsBLength; z++) {\n var partB = bodyB.parts[z],\n boundsB = partB.bounds;\n\n if (boundsA.min.x > boundsB.max.x || boundsA.max.x < boundsB.min.x\n || boundsA.max.y < boundsB.min.y || boundsA.min.y > boundsB.max.y) {\n continue;\n }\n\n var collision = collides(partA, partB, pairs);\n\n if (collision) {\n collisions.push(collision);\n }\n }\n }\n }\n }\n }\n\n return collisions;\n };\n\n /**\n * Returns `true` if both supplied collision filters will allow a collision to occur.\n * See `body.collisionFilter` for more information.\n * @method canCollide\n * @param {} filterA\n * @param {} filterB\n * @return {bool} `true` if collision can occur\n */\n Detector.canCollide = function(filterA, filterB) {\n if (filterA.group === filterB.group && filterA.group !== 0)\n return filterA.group > 0;\n\n return (filterA.mask & filterB.category) !== 0 && (filterB.mask & filterA.category) !== 0;\n };\n\n /**\n * The comparison function used in the broadphase algorithm.\n * Returns the signed delta of the bodies bounds on the x-axis.\n * @private\n * @method _sortCompare\n * @param {body} bodyA\n * @param {body} bodyB\n * @return {number} The signed delta used for sorting\n */\n Detector._compareBoundsX = function(bodyA, bodyB) {\n return bodyA.bounds.min.x - bodyB.bounds.min.x;\n };\n\n /*\n *\n * Properties Documentation\n *\n */\n\n /**\n * The array of `Matter.Body` between which the detector finds collisions.\n * \n * _Note:_ The order of bodies in this array _is not fixed_ and will be continually managed by the detector.\n * @property bodies\n * @type body[]\n * @default []\n */\n\n /**\n * Optional. A `Matter.Pairs` object from which previous collision objects may be reused. Intended for internal `Matter.Engine` usage.\n * @property pairs\n * @type {pairs|null}\n * @default null\n */\n\n})();\n\n\n/***/ }),\n/* 14 */\n/***/ (function(module, exports, __webpack_require__) {\n\n/**\n* The `Matter.Mouse` module contains methods for creating and manipulating mouse inputs.\n*\n* @class Mouse\n*/\n\nvar Mouse = {};\n\nmodule.exports = Mouse;\n\nvar Common = __webpack_require__(0);\n\n(function() {\n\n /**\n * Creates a mouse input.\n * @method create\n * @param {HTMLElement} element\n * @return {mouse} A new mouse\n */\n Mouse.create = function(element) {\n var mouse = {};\n\n if (!element) {\n Common.log('Mouse.create: element was undefined, defaulting to document.body', 'warn');\n }\n \n mouse.element = element || document.body;\n mouse.absolute = { x: 0, y: 0 };\n mouse.position = { x: 0, y: 0 };\n mouse.mousedownPosition = { x: 0, y: 0 };\n mouse.mouseupPosition = { x: 0, y: 0 };\n mouse.offset = { x: 0, y: 0 };\n mouse.scale = { x: 1, y: 1 };\n mouse.wheelDelta = 0;\n mouse.button = -1;\n mouse.pixelRatio = parseInt(mouse.element.getAttribute('data-pixel-ratio'), 10) || 1;\n\n mouse.sourceEvents = {\n mousemove: null,\n mousedown: null,\n mouseup: null,\n mousewheel: null\n };\n \n mouse.mousemove = function(event) { \n var position = Mouse._getRelativeMousePosition(event, mouse.element, mouse.pixelRatio),\n touches = event.changedTouches;\n\n if (touches) {\n mouse.button = 0;\n event.preventDefault();\n }\n\n mouse.absolute.x = position.x;\n mouse.absolute.y = position.y;\n mouse.position.x = mouse.absolute.x * mouse.scale.x + mouse.offset.x;\n mouse.position.y = mouse.absolute.y * mouse.scale.y + mouse.offset.y;\n mouse.sourceEvents.mousemove = event;\n };\n \n mouse.mousedown = function(event) {\n var position = Mouse._getRelativeMousePosition(event, mouse.element, mouse.pixelRatio),\n touches = event.changedTouches;\n\n if (touches) {\n mouse.button = 0;\n event.preventDefault();\n } else {\n mouse.button = event.button;\n }\n\n mouse.absolute.x = position.x;\n mouse.absolute.y = position.y;\n mouse.position.x = mouse.absolute.x * mouse.scale.x + mouse.offset.x;\n mouse.position.y = mouse.absolute.y * mouse.scale.y + mouse.offset.y;\n mouse.mousedownPosition.x = mouse.position.x;\n mouse.mousedownPosition.y = mouse.position.y;\n mouse.sourceEvents.mousedown = event;\n };\n \n mouse.mouseup = function(event) {\n var position = Mouse._getRelativeMousePosition(event, mouse.element, mouse.pixelRatio),\n touches = event.changedTouches;\n\n if (touches) {\n event.preventDefault();\n }\n \n mouse.button = -1;\n mouse.absolute.x = position.x;\n mouse.absolute.y = position.y;\n mouse.position.x = mouse.absolute.x * mouse.scale.x + mouse.offset.x;\n mouse.position.y = mouse.absolute.y * mouse.scale.y + mouse.offset.y;\n mouse.mouseupPosition.x = mouse.position.x;\n mouse.mouseupPosition.y = mouse.position.y;\n mouse.sourceEvents.mouseup = event;\n };\n\n mouse.mousewheel = function(event) {\n mouse.wheelDelta = Math.max(-1, Math.min(1, event.wheelDelta || -event.detail));\n event.preventDefault();\n };\n\n Mouse.setElement(mouse, mouse.element);\n\n return mouse;\n };\n\n /**\n * Sets the element the mouse is bound to (and relative to).\n * @method setElement\n * @param {mouse} mouse\n * @param {HTMLElement} element\n */\n Mouse.setElement = function(mouse, element) {\n mouse.element = element;\n\n element.addEventListener('mousemove', mouse.mousemove);\n element.addEventListener('mousedown', mouse.mousedown);\n element.addEventListener('mouseup', mouse.mouseup);\n \n element.addEventListener('mousewheel', mouse.mousewheel);\n element.addEventListener('DOMMouseScroll', mouse.mousewheel);\n\n element.addEventListener('touchmove', mouse.mousemove);\n element.addEventListener('touchstart', mouse.mousedown);\n element.addEventListener('touchend', mouse.mouseup);\n };\n\n /**\n * Clears all captured source events.\n * @method clearSourceEvents\n * @param {mouse} mouse\n */\n Mouse.clearSourceEvents = function(mouse) {\n mouse.sourceEvents.mousemove = null;\n mouse.sourceEvents.mousedown = null;\n mouse.sourceEvents.mouseup = null;\n mouse.sourceEvents.mousewheel = null;\n mouse.wheelDelta = 0;\n };\n\n /**\n * Sets the mouse position offset.\n * @method setOffset\n * @param {mouse} mouse\n * @param {vector} offset\n */\n Mouse.setOffset = function(mouse, offset) {\n mouse.offset.x = offset.x;\n mouse.offset.y = offset.y;\n mouse.position.x = mouse.absolute.x * mouse.scale.x + mouse.offset.x;\n mouse.position.y = mouse.absolute.y * mouse.scale.y + mouse.offset.y;\n };\n\n /**\n * Sets the mouse position scale.\n * @method setScale\n * @param {mouse} mouse\n * @param {vector} scale\n */\n Mouse.setScale = function(mouse, scale) {\n mouse.scale.x = scale.x;\n mouse.scale.y = scale.y;\n mouse.position.x = mouse.absolute.x * mouse.scale.x + mouse.offset.x;\n mouse.position.y = mouse.absolute.y * mouse.scale.y + mouse.offset.y;\n };\n \n /**\n * Gets the mouse position relative to an element given a screen pixel ratio.\n * @method _getRelativeMousePosition\n * @private\n * @param {} event\n * @param {} element\n * @param {number} pixelRatio\n * @return {}\n */\n Mouse._getRelativeMousePosition = function(event, element, pixelRatio) {\n var elementBounds = element.getBoundingClientRect(),\n rootNode = (document.documentElement || document.body.parentNode || document.body),\n scrollX = (window.pageXOffset !== undefined) ? window.pageXOffset : rootNode.scrollLeft,\n scrollY = (window.pageYOffset !== undefined) ? window.pageYOffset : rootNode.scrollTop,\n touches = event.changedTouches,\n x, y;\n \n if (touches) {\n x = touches[0].pageX - elementBounds.left - scrollX;\n y = touches[0].pageY - elementBounds.top - scrollY;\n } else {\n x = event.pageX - elementBounds.left - scrollX;\n y = event.pageY - elementBounds.top - scrollY;\n }\n\n return { \n x: x / (element.clientWidth / (element.width || element.clientWidth) * pixelRatio),\n y: y / (element.clientHeight / (element.height || element.clientHeight) * pixelRatio)\n };\n };\n\n})();\n\n\n/***/ }),\n/* 15 */\n/***/ (function(module, exports, __webpack_require__) {\n\n/**\n* The `Matter.Plugin` module contains functions for registering and installing plugins on modules.\n*\n* @class Plugin\n*/\n\nvar Plugin = {};\n\nmodule.exports = Plugin;\n\nvar Common = __webpack_require__(0);\n\n(function() {\n\n Plugin._registry = {};\n\n /**\n * Registers a plugin object so it can be resolved later by name.\n * @method register\n * @param plugin {} The plugin to register.\n * @return {object} The plugin.\n */\n Plugin.register = function(plugin) {\n if (!Plugin.isPlugin(plugin)) {\n Common.warn('Plugin.register:', Plugin.toString(plugin), 'does not implement all required fields.');\n }\n\n if (plugin.name in Plugin._registry) {\n var registered = Plugin._registry[plugin.name],\n pluginVersion = Plugin.versionParse(plugin.version).number,\n registeredVersion = Plugin.versionParse(registered.version).number;\n\n if (pluginVersion > registeredVersion) {\n Common.warn('Plugin.register:', Plugin.toString(registered), 'was upgraded to', Plugin.toString(plugin));\n Plugin._registry[plugin.name] = plugin;\n } else if (pluginVersion < registeredVersion) {\n Common.warn('Plugin.register:', Plugin.toString(registered), 'can not be downgraded to', Plugin.toString(plugin));\n } else if (plugin !== registered) {\n Common.warn('Plugin.register:', Plugin.toString(plugin), 'is already registered to different plugin object');\n }\n } else {\n Plugin._registry[plugin.name] = plugin;\n }\n\n return plugin;\n };\n\n /**\n * Resolves a dependency to a plugin object from the registry if it exists. \n * The `dependency` may contain a version, but only the name matters when resolving.\n * @method resolve\n * @param dependency {string} The dependency.\n * @return {object} The plugin if resolved, otherwise `undefined`.\n */\n Plugin.resolve = function(dependency) {\n return Plugin._registry[Plugin.dependencyParse(dependency).name];\n };\n\n /**\n * Returns a pretty printed plugin name and version.\n * @method toString\n * @param plugin {} The plugin.\n * @return {string} Pretty printed plugin name and version.\n */\n Plugin.toString = function(plugin) {\n return typeof plugin === 'string' ? plugin : (plugin.name || 'anonymous') + '@' + (plugin.version || plugin.range || '0.0.0');\n };\n\n /**\n * Returns `true` if the object meets the minimum standard to be considered a plugin.\n * This means it must define the following properties:\n * - `name`\n * - `version`\n * - `install`\n * @method isPlugin\n * @param obj {} The obj to test.\n * @return {boolean} `true` if the object can be considered a plugin otherwise `false`.\n */\n Plugin.isPlugin = function(obj) {\n return obj && obj.name && obj.version && obj.install;\n };\n\n /**\n * Returns `true` if a plugin with the given `name` been installed on `module`.\n * @method isUsed\n * @param module {} The module.\n * @param name {string} The plugin name.\n * @return {boolean} `true` if a plugin with the given `name` been installed on `module`, otherwise `false`.\n */\n Plugin.isUsed = function(module, name) {\n return module.used.indexOf(name) > -1;\n };\n\n /**\n * Returns `true` if `plugin.for` is applicable to `module` by comparing against `module.name` and `module.version`.\n * If `plugin.for` is not specified then it is assumed to be applicable.\n * The value of `plugin.for` is a string of the format `'module-name'` or `'module-name@version'`.\n * @method isFor\n * @param plugin {} The plugin.\n * @param module {} The module.\n * @return {boolean} `true` if `plugin.for` is applicable to `module`, otherwise `false`.\n */\n Plugin.isFor = function(plugin, module) {\n var parsed = plugin.for && Plugin.dependencyParse(plugin.for);\n return !plugin.for || (module.name === parsed.name && Plugin.versionSatisfies(module.version, parsed.range));\n };\n\n /**\n * Installs the plugins by calling `plugin.install` on each plugin specified in `plugins` if passed, otherwise `module.uses`.\n * For installing plugins on `Matter` see the convenience function `Matter.use`.\n * Plugins may be specified either by their name or a reference to the plugin object.\n * Plugins themselves may specify further dependencies, but each plugin is installed only once.\n * Order is important, a topological sort is performed to find the best resulting order of installation.\n * This sorting attempts to satisfy every dependency's requested ordering, but may not be exact in all cases.\n * This function logs the resulting status of each dependency in the console, along with any warnings.\n * - A green tick ✅ indicates a dependency was resolved and installed.\n * - An orange diamond 🔶 indicates a dependency was resolved but a warning was thrown for it or one if its dependencies.\n * - A red cross ❌ indicates a dependency could not be resolved.\n * Avoid calling this function multiple times on the same module unless you intend to manually control installation order.\n * @method use\n * @param module {} The module install plugins on.\n * @param [plugins=module.uses] {} The plugins to install on module (optional, defaults to `module.uses`).\n */\n Plugin.use = function(module, plugins) {\n module.uses = (module.uses || []).concat(plugins || []);\n\n if (module.uses.length === 0) {\n Common.warn('Plugin.use:', Plugin.toString(module), 'does not specify any dependencies to install.');\n return;\n }\n\n var dependencies = Plugin.dependencies(module),\n sortedDependencies = Common.topologicalSort(dependencies),\n status = [];\n\n for (var i = 0; i < sortedDependencies.length; i += 1) {\n if (sortedDependencies[i] === module.name) {\n continue;\n }\n\n var plugin = Plugin.resolve(sortedDependencies[i]);\n\n if (!plugin) {\n status.push('❌ ' + sortedDependencies[i]);\n continue;\n }\n\n if (Plugin.isUsed(module, plugin.name)) {\n continue;\n }\n\n if (!Plugin.isFor(plugin, module)) {\n Common.warn('Plugin.use:', Plugin.toString(plugin), 'is for', plugin.for, 'but installed on', Plugin.toString(module) + '.');\n plugin._warned = true;\n }\n\n if (plugin.install) {\n plugin.install(module);\n } else {\n Common.warn('Plugin.use:', Plugin.toString(plugin), 'does not specify an install function.');\n plugin._warned = true;\n }\n\n if (plugin._warned) {\n status.push('🔶 ' + Plugin.toString(plugin));\n delete plugin._warned;\n } else {\n status.push('✅ ' + Plugin.toString(plugin));\n }\n\n module.used.push(plugin.name);\n }\n\n if (status.length > 0) {\n Common.info(status.join(' '));\n }\n };\n\n /**\n * Recursively finds all of a module's dependencies and returns a flat dependency graph.\n * @method dependencies\n * @param module {} The module.\n * @return {object} A dependency graph.\n */\n Plugin.dependencies = function(module, tracked) {\n var parsedBase = Plugin.dependencyParse(module),\n name = parsedBase.name;\n\n tracked = tracked || {};\n\n if (name in tracked) {\n return;\n }\n\n module = Plugin.resolve(module) || module;\n\n tracked[name] = Common.map(module.uses || [], function(dependency) {\n if (Plugin.isPlugin(dependency)) {\n Plugin.register(dependency);\n }\n\n var parsed = Plugin.dependencyParse(dependency),\n resolved = Plugin.resolve(dependency);\n\n if (resolved && !Plugin.versionSatisfies(resolved.version, parsed.range)) {\n Common.warn(\n 'Plugin.dependencies:', Plugin.toString(resolved), 'does not satisfy',\n Plugin.toString(parsed), 'used by', Plugin.toString(parsedBase) + '.'\n );\n\n resolved._warned = true;\n module._warned = true;\n } else if (!resolved) {\n Common.warn(\n 'Plugin.dependencies:', Plugin.toString(dependency), 'used by',\n Plugin.toString(parsedBase), 'could not be resolved.'\n );\n\n module._warned = true;\n }\n\n return parsed.name;\n });\n\n for (var i = 0; i < tracked[name].length; i += 1) {\n Plugin.dependencies(tracked[name][i], tracked);\n }\n\n return tracked;\n };\n\n /**\n * Parses a dependency string into its components.\n * The `dependency` is a string of the format `'module-name'` or `'module-name@version'`.\n * See documentation for `Plugin.versionParse` for a description of the format.\n * This function can also handle dependencies that are already resolved (e.g. a module object).\n * @method dependencyParse\n * @param dependency {string} The dependency of the format `'module-name'` or `'module-name@version'`.\n * @return {object} The dependency parsed into its components.\n */\n Plugin.dependencyParse = function(dependency) {\n if (Common.isString(dependency)) {\n var pattern = /^[\\w-]+(@(\\*|[\\^~]?\\d+\\.\\d+\\.\\d+(-[0-9A-Za-z-+]+)?))?$/;\n\n if (!pattern.test(dependency)) {\n Common.warn('Plugin.dependencyParse:', dependency, 'is not a valid dependency string.');\n }\n\n return {\n name: dependency.split('@')[0],\n range: dependency.split('@')[1] || '*'\n };\n }\n\n return {\n name: dependency.name,\n range: dependency.range || dependency.version\n };\n };\n\n /**\n * Parses a version string into its components. \n * Versions are strictly of the format `x.y.z` (as in [semver](http://semver.org/)).\n * Versions may optionally have a prerelease tag in the format `x.y.z-alpha`.\n * Ranges are a strict subset of [npm ranges](https://docs.npmjs.com/misc/semver#advanced-range-syntax).\n * Only the following range types are supported:\n * - Tilde ranges e.g. `~1.2.3`\n * - Caret ranges e.g. `^1.2.3`\n * - Greater than ranges e.g. `>1.2.3`\n * - Greater than or equal ranges e.g. `>=1.2.3`\n * - Exact version e.g. `1.2.3`\n * - Any version `*`\n * @method versionParse\n * @param range {string} The version string.\n * @return {object} The version range parsed into its components.\n */\n Plugin.versionParse = function(range) {\n var pattern = /^(\\*)|(\\^|~|>=|>)?\\s*((\\d+)\\.(\\d+)\\.(\\d+))(-[0-9A-Za-z-+]+)?$/;\n\n if (!pattern.test(range)) {\n Common.warn('Plugin.versionParse:', range, 'is not a valid version or range.');\n }\n\n var parts = pattern.exec(range);\n var major = Number(parts[4]);\n var minor = Number(parts[5]);\n var patch = Number(parts[6]);\n\n return {\n isRange: Boolean(parts[1] || parts[2]),\n version: parts[3],\n range: range,\n operator: parts[1] || parts[2] || '',\n major: major,\n minor: minor,\n patch: patch,\n parts: [major, minor, patch],\n prerelease: parts[7],\n number: major * 1e8 + minor * 1e4 + patch\n };\n };\n\n /**\n * Returns `true` if `version` satisfies the given `range`.\n * See documentation for `Plugin.versionParse` for a description of the format.\n * If a version or range is not specified, then any version (`*`) is assumed to satisfy.\n * @method versionSatisfies\n * @param version {string} The version string.\n * @param range {string} The range string.\n * @return {boolean} `true` if `version` satisfies `range`, otherwise `false`.\n */\n Plugin.versionSatisfies = function(version, range) {\n range = range || '*';\n\n var r = Plugin.versionParse(range),\n v = Plugin.versionParse(version);\n\n if (r.isRange) {\n if (r.operator === '*' || version === '*') {\n return true;\n }\n\n if (r.operator === '>') {\n return v.number > r.number;\n }\n\n if (r.operator === '>=') {\n return v.number >= r.number;\n }\n\n if (r.operator === '~') {\n return v.major === r.major && v.minor === r.minor && v.patch >= r.patch;\n }\n\n if (r.operator === '^') {\n if (r.major > 0) {\n return v.major === r.major && v.number >= r.number;\n }\n\n if (r.minor > 0) {\n return v.minor === r.minor && v.patch >= r.patch;\n }\n\n return v.patch === r.patch;\n }\n }\n\n return version === range || version === '*';\n };\n\n})();\n\n\n/***/ }),\n/* 16 */\n/***/ (function(module, exports) {\n\n/**\n* The `Matter.Contact` module contains methods for creating and manipulating collision contacts.\n*\n* @class Contact\n*/\n\nvar Contact = {};\n\nmodule.exports = Contact;\n\n(function() {\n\n /**\n * Creates a new contact.\n * @method create\n * @param {vertex} vertex\n * @return {contact} A new contact\n */\n Contact.create = function(vertex) {\n return {\n vertex: vertex,\n normalImpulse: 0,\n tangentImpulse: 0\n };\n };\n\n})();\n\n\n/***/ }),\n/* 17 */\n/***/ (function(module, exports, __webpack_require__) {\n\n/**\n* The `Matter.Engine` module contains methods for creating and manipulating engines.\n* An engine is a controller that manages updating the simulation of the world.\n* See `Matter.Runner` for an optional game loop utility.\n*\n* See the included usage [examples](https://github.com/liabru/matter-js/tree/master/examples).\n*\n* @class Engine\n*/\n\nvar Engine = {};\n\nmodule.exports = Engine;\n\nvar Sleeping = __webpack_require__(7);\nvar Resolver = __webpack_require__(18);\nvar Detector = __webpack_require__(13);\nvar Pairs = __webpack_require__(19);\nvar Events = __webpack_require__(5);\nvar Composite = __webpack_require__(6);\nvar Constraint = __webpack_require__(10);\nvar Common = __webpack_require__(0);\nvar Body = __webpack_require__(4);\n\n(function() {\n\n /**\n * Creates a new engine. The options parameter is an object that specifies any properties you wish to override the defaults.\n * All properties have default values, and many are pre-calculated automatically based on other properties.\n * See the properties section below for detailed information on what you can pass via the `options` object.\n * @method create\n * @param {object} [options]\n * @return {engine} engine\n */\n Engine.create = function(options) {\n options = options || {};\n\n var defaults = {\n positionIterations: 6,\n velocityIterations: 4,\n constraintIterations: 2,\n enableSleeping: false,\n events: [],\n plugin: {},\n gravity: {\n x: 0,\n y: 1,\n scale: 0.001\n },\n timing: {\n timestamp: 0,\n timeScale: 1,\n lastDelta: 0,\n lastElapsed: 0\n }\n };\n\n var engine = Common.extend(defaults, options);\n\n engine.world = options.world || Composite.create({ label: 'World' });\n engine.pairs = options.pairs || Pairs.create();\n engine.detector = options.detector || Detector.create();\n\n // for temporary back compatibility only\n engine.grid = { buckets: [] };\n engine.world.gravity = engine.gravity;\n engine.broadphase = engine.grid;\n engine.metrics = {};\n \n return engine;\n };\n\n /**\n * Moves the simulation forward in time by `delta` milliseconds.\n * Triggers `beforeUpdate` and `afterUpdate` events.\n * Triggers `collisionStart`, `collisionActive` and `collisionEnd` events.\n * @method update\n * @param {engine} engine\n * @param {number} [delta=16.666]\n */\n Engine.update = function(engine, delta) {\n var startTime = Common.now();\n\n var world = engine.world,\n detector = engine.detector,\n pairs = engine.pairs,\n timing = engine.timing,\n timestamp = timing.timestamp,\n i;\n\n delta = typeof delta !== 'undefined' ? delta : Common._baseDelta;\n delta *= timing.timeScale;\n\n // increment timestamp\n timing.timestamp += delta;\n timing.lastDelta = delta;\n\n // create an event object\n var event = {\n timestamp: timing.timestamp,\n delta: delta\n };\n\n Events.trigger(engine, 'beforeUpdate', event);\n\n // get all bodies and all constraints in the world\n var allBodies = Composite.allBodies(world),\n allConstraints = Composite.allConstraints(world);\n\n // if the world has changed\n if (world.isModified) {\n // update the detector bodies\n Detector.setBodies(detector, allBodies);\n\n // reset all composite modified flags\n Composite.setModified(world, false, false, true);\n }\n\n // update sleeping if enabled\n if (engine.enableSleeping)\n Sleeping.update(allBodies, delta);\n\n // apply gravity to all bodies\n Engine._bodiesApplyGravity(allBodies, engine.gravity);\n\n // update all body position and rotation by integration\n if (delta > 0) {\n Engine._bodiesUpdate(allBodies, delta);\n }\n\n // update all constraints (first pass)\n Constraint.preSolveAll(allBodies);\n for (i = 0; i < engine.constraintIterations; i++) {\n Constraint.solveAll(allConstraints, delta);\n }\n Constraint.postSolveAll(allBodies);\n\n // find all collisions\n detector.pairs = engine.pairs;\n var collisions = Detector.collisions(detector);\n\n // update collision pairs\n Pairs.update(pairs, collisions, timestamp);\n\n // wake up bodies involved in collisions\n if (engine.enableSleeping)\n Sleeping.afterCollisions(pairs.list);\n\n // trigger collision events\n if (pairs.collisionStart.length > 0)\n Events.trigger(engine, 'collisionStart', { pairs: pairs.collisionStart });\n\n // iteratively resolve position between collisions\n var positionDamping = Common.clamp(20 / engine.positionIterations, 0, 1);\n \n Resolver.preSolvePosition(pairs.list);\n for (i = 0; i < engine.positionIterations; i++) {\n Resolver.solvePosition(pairs.list, delta, positionDamping);\n }\n Resolver.postSolvePosition(allBodies);\n\n // update all constraints (second pass)\n Constraint.preSolveAll(allBodies);\n for (i = 0; i < engine.constraintIterations; i++) {\n Constraint.solveAll(allConstraints, delta);\n }\n Constraint.postSolveAll(allBodies);\n\n // iteratively resolve velocity between collisions\n Resolver.preSolveVelocity(pairs.list);\n for (i = 0; i < engine.velocityIterations; i++) {\n Resolver.solveVelocity(pairs.list, delta);\n }\n\n // update body speed and velocity properties\n Engine._bodiesUpdateVelocities(allBodies);\n\n // trigger collision events\n if (pairs.collisionActive.length > 0)\n Events.trigger(engine, 'collisionActive', { pairs: pairs.collisionActive });\n\n if (pairs.collisionEnd.length > 0)\n Events.trigger(engine, 'collisionEnd', { pairs: pairs.collisionEnd });\n\n // clear force buffers\n Engine._bodiesClearForces(allBodies);\n\n Events.trigger(engine, 'afterUpdate', event);\n\n // log the time elapsed computing this update\n engine.timing.lastElapsed = Common.now() - startTime;\n\n return engine;\n };\n \n /**\n * Merges two engines by keeping the configuration of `engineA` but replacing the world with the one from `engineB`.\n * @method merge\n * @param {engine} engineA\n * @param {engine} engineB\n */\n Engine.merge = function(engineA, engineB) {\n Common.extend(engineA, engineB);\n \n if (engineB.world) {\n engineA.world = engineB.world;\n\n Engine.clear(engineA);\n\n var bodies = Composite.allBodies(engineA.world);\n\n for (var i = 0; i < bodies.length; i++) {\n var body = bodies[i];\n Sleeping.set(body, false);\n body.id = Common.nextId();\n }\n }\n };\n\n /**\n * Clears the engine pairs and detector.\n * @method clear\n * @param {engine} engine\n */\n Engine.clear = function(engine) {\n Pairs.clear(engine.pairs);\n Detector.clear(engine.detector);\n };\n\n /**\n * Zeroes the `body.force` and `body.torque` force buffers.\n * @method _bodiesClearForces\n * @private\n * @param {body[]} bodies\n */\n Engine._bodiesClearForces = function(bodies) {\n var bodiesLength = bodies.length;\n\n for (var i = 0; i < bodiesLength; i++) {\n var body = bodies[i];\n\n // reset force buffers\n body.force.x = 0;\n body.force.y = 0;\n body.torque = 0;\n }\n };\n\n /**\n * Applies gravitational acceleration to all `bodies`.\n * This models a [uniform gravitational field](https://en.wikipedia.org/wiki/Gravity_of_Earth), similar to near the surface of a planet.\n * \n * @method _bodiesApplyGravity\n * @private\n * @param {body[]} bodies\n * @param {vector} gravity\n */\n Engine._bodiesApplyGravity = function(bodies, gravity) {\n var gravityScale = typeof gravity.scale !== 'undefined' ? gravity.scale : 0.001,\n bodiesLength = bodies.length;\n\n if ((gravity.x === 0 && gravity.y === 0) || gravityScale === 0) {\n return;\n }\n \n for (var i = 0; i < bodiesLength; i++) {\n var body = bodies[i];\n\n if (body.isStatic || body.isSleeping)\n continue;\n\n // add the resultant force of gravity\n body.force.y += body.mass * gravity.y * gravityScale;\n body.force.x += body.mass * gravity.x * gravityScale;\n }\n };\n\n /**\n * Applies `Body.update` to all given `bodies`.\n * @method _bodiesUpdate\n * @private\n * @param {body[]} bodies\n * @param {number} delta The amount of time elapsed between updates\n */\n Engine._bodiesUpdate = function(bodies, delta) {\n var bodiesLength = bodies.length;\n\n for (var i = 0; i < bodiesLength; i++) {\n var body = bodies[i];\n\n if (body.isStatic || body.isSleeping)\n continue;\n\n Body.update(body, delta);\n }\n };\n\n /**\n * Applies `Body.updateVelocities` to all given `bodies`.\n * @method _bodiesUpdateVelocities\n * @private\n * @param {body[]} bodies\n */\n Engine._bodiesUpdateVelocities = function(bodies) {\n var bodiesLength = bodies.length;\n\n for (var i = 0; i < bodiesLength; i++) {\n Body.updateVelocities(bodies[i]);\n }\n };\n\n /**\n * A deprecated alias for `Runner.run`, use `Matter.Runner.run(engine)` instead and see `Matter.Runner` for more information.\n * @deprecated use Matter.Runner.run(engine) instead\n * @method run\n * @param {engine} engine\n */\n\n /**\n * Fired just before an update\n *\n * @event beforeUpdate\n * @param {object} event An event object\n * @param {number} event.timestamp The engine.timing.timestamp of the event\n * @param {number} event.delta The delta time in milliseconds value used in the update\n * @param {engine} event.source The source object of the event\n * @param {string} event.name The name of the event\n */\n\n /**\n * Fired after engine update and all collision events\n *\n * @event afterUpdate\n * @param {object} event An event object\n * @param {number} event.timestamp The engine.timing.timestamp of the event\n * @param {number} event.delta The delta time in milliseconds value used in the update\n * @param {engine} event.source The source object of the event\n * @param {string} event.name The name of the event\n */\n\n /**\n * Fired after engine update, provides a list of all pairs that have started to collide in the current tick (if any)\n *\n * @event collisionStart\n * @param {object} event An event object\n * @param {pair[]} event.pairs List of affected pairs\n * @param {number} event.timestamp The engine.timing.timestamp of the event\n * @param {number} event.delta The delta time in milliseconds value used in the update\n * @param {engine} event.source The source object of the event\n * @param {string} event.name The name of the event\n */\n\n /**\n * Fired after engine update, provides a list of all pairs that are colliding in the current tick (if any)\n *\n * @event collisionActive\n * @param {object} event An event object\n * @param {pair[]} event.pairs List of affected pairs\n * @param {number} event.timestamp The engine.timing.timestamp of the event\n * @param {number} event.delta The delta time in milliseconds value used in the update\n * @param {engine} event.source The source object of the event\n * @param {string} event.name The name of the event\n */\n\n /**\n * Fired after engine update, provides a list of all pairs that have ended collision in the current tick (if any)\n *\n * @event collisionEnd\n * @param {object} event An event object\n * @param {pair[]} event.pairs List of affected pairs\n * @param {number} event.timestamp The engine.timing.timestamp of the event\n * @param {number} event.delta The delta time in milliseconds value used in the update\n * @param {engine} event.source The source object of the event\n * @param {string} event.name The name of the event\n */\n\n /*\n *\n * Properties Documentation\n *\n */\n\n /**\n * An integer `Number` that specifies the number of position iterations to perform each update.\n * The higher the value, the higher quality the simulation will be at the expense of performance.\n *\n * @property positionIterations\n * @type number\n * @default 6\n */\n\n /**\n * An integer `Number` that specifies the number of velocity iterations to perform each update.\n * The higher the value, the higher quality the simulation will be at the expense of performance.\n *\n * @property velocityIterations\n * @type number\n * @default 4\n */\n\n /**\n * An integer `Number` that specifies the number of constraint iterations to perform each update.\n * The higher the value, the higher quality the simulation will be at the expense of performance.\n * The default value of `2` is usually very adequate.\n *\n * @property constraintIterations\n * @type number\n * @default 2\n */\n\n /**\n * A flag that specifies whether the engine should allow sleeping via the `Matter.Sleeping` module.\n * Sleeping can improve stability and performance, but often at the expense of accuracy.\n *\n * @property enableSleeping\n * @type boolean\n * @default false\n */\n\n /**\n * An `Object` containing properties regarding the timing systems of the engine. \n *\n * @property timing\n * @type object\n */\n\n /**\n * A `Number` that specifies the global scaling factor of time for all bodies.\n * A value of `0` freezes the simulation.\n * A value of `0.1` gives a slow-motion effect.\n * A value of `1.2` gives a speed-up effect.\n *\n * @property timing.timeScale\n * @type number\n * @default 1\n */\n\n /**\n * A `Number` that specifies the current simulation-time in milliseconds starting from `0`. \n * It is incremented on every `Engine.update` by the given `delta` argument. \n * \n * @property timing.timestamp\n * @type number\n * @default 0\n */\n\n /**\n * A `Number` that represents the total execution time elapsed during the last `Engine.update` in milliseconds.\n * It is updated by timing from the start of the last `Engine.update` call until it ends.\n *\n * This value will also include the total execution time of all event handlers directly or indirectly triggered by the engine update.\n * \n * @property timing.lastElapsed\n * @type number\n * @default 0\n */\n\n /**\n * A `Number` that represents the `delta` value used in the last engine update.\n * \n * @property timing.lastDelta\n * @type number\n * @default 0\n */\n\n /**\n * A `Matter.Detector` instance.\n *\n * @property detector\n * @type detector\n * @default a Matter.Detector instance\n */\n\n /**\n * A `Matter.Grid` instance.\n *\n * @deprecated replaced by `engine.detector`\n * @property grid\n * @type grid\n * @default a Matter.Grid instance\n */\n\n /**\n * Replaced by and now alias for `engine.grid`.\n *\n * @deprecated replaced by `engine.detector`\n * @property broadphase\n * @type grid\n * @default a Matter.Grid instance\n */\n\n /**\n * The root `Matter.Composite` instance that will contain all bodies, constraints and other composites to be simulated by this engine.\n *\n * @property world\n * @type composite\n * @default a Matter.Composite instance\n */\n\n /**\n * An object reserved for storing plugin-specific properties.\n *\n * @property plugin\n * @type {}\n */\n\n /**\n * An optional gravitational acceleration applied to all bodies in `engine.world` on every update.\n * \n * This models a [uniform gravitational field](https://en.wikipedia.org/wiki/Gravity_of_Earth), similar to near the surface of a planet. For gravity in other contexts, disable this and apply forces as needed.\n * \n * To disable set the `scale` component to `0`.\n * \n * This is split into three components for ease of use: \n * a normalised direction (`x` and `y`) and magnitude (`scale`).\n *\n * @property gravity\n * @type object\n */\n\n /**\n * The gravitational direction normal `x` component, to be multiplied by `gravity.scale`.\n * \n * @property gravity.x\n * @type object\n * @default 0\n */\n\n /**\n * The gravitational direction normal `y` component, to be multiplied by `gravity.scale`.\n *\n * @property gravity.y\n * @type object\n * @default 1\n */\n\n /**\n * The magnitude of the gravitational acceleration.\n * \n * @property gravity.scale\n * @type object\n * @default 0.001\n */\n\n})();\n\n\n/***/ }),\n/* 18 */\n/***/ (function(module, exports, __webpack_require__) {\n\n/**\n* The `Matter.Resolver` module contains methods for resolving collision pairs.\n*\n* @class Resolver\n*/\n\nvar Resolver = {};\n\nmodule.exports = Resolver;\n\nvar Vertices = __webpack_require__(3);\nvar Common = __webpack_require__(0);\nvar Bounds = __webpack_require__(1);\n\n(function() {\n\n Resolver._restingThresh = 2;\n Resolver._restingThreshTangent = Math.sqrt(6);\n Resolver._positionDampen = 0.9;\n Resolver._positionWarming = 0.8;\n Resolver._frictionNormalMultiplier = 5;\n Resolver._frictionMaxStatic = Number.MAX_VALUE;\n\n /**\n * Prepare pairs for position solving.\n * @method preSolvePosition\n * @param {pair[]} pairs\n */\n Resolver.preSolvePosition = function(pairs) {\n var i,\n pair,\n activeCount,\n pairsLength = pairs.length;\n\n // find total contacts on each body\n for (i = 0; i < pairsLength; i++) {\n pair = pairs[i];\n \n if (!pair.isActive)\n continue;\n \n activeCount = pair.activeContacts.length;\n pair.collision.parentA.totalContacts += activeCount;\n pair.collision.parentB.totalContacts += activeCount;\n }\n };\n\n /**\n * Find a solution for pair positions.\n * @method solvePosition\n * @param {pair[]} pairs\n * @param {number} delta\n * @param {number} [damping=1]\n */\n Resolver.solvePosition = function(pairs, delta, damping) {\n var i,\n pair,\n collision,\n bodyA,\n bodyB,\n normal,\n contactShare,\n positionImpulse,\n positionDampen = Resolver._positionDampen * (damping || 1),\n slopDampen = Common.clamp(delta / Common._baseDelta, 0, 1),\n pairsLength = pairs.length;\n\n // find impulses required to resolve penetration\n for (i = 0; i < pairsLength; i++) {\n pair = pairs[i];\n \n if (!pair.isActive || pair.isSensor)\n continue;\n\n collision = pair.collision;\n bodyA = collision.parentA;\n bodyB = collision.parentB;\n normal = collision.normal;\n\n // get current separation between body edges involved in collision\n pair.separation = \n normal.x * (bodyB.positionImpulse.x + collision.penetration.x - bodyA.positionImpulse.x)\n + normal.y * (bodyB.positionImpulse.y + collision.penetration.y - bodyA.positionImpulse.y);\n }\n \n for (i = 0; i < pairsLength; i++) {\n pair = pairs[i];\n\n if (!pair.isActive || pair.isSensor)\n continue;\n \n collision = pair.collision;\n bodyA = collision.parentA;\n bodyB = collision.parentB;\n normal = collision.normal;\n positionImpulse = pair.separation - pair.slop * slopDampen;\n\n if (bodyA.isStatic || bodyB.isStatic)\n positionImpulse *= 2;\n \n if (!(bodyA.isStatic || bodyA.isSleeping)) {\n contactShare = positionDampen / bodyA.totalContacts;\n bodyA.positionImpulse.x += normal.x * positionImpulse * contactShare;\n bodyA.positionImpulse.y += normal.y * positionImpulse * contactShare;\n }\n\n if (!(bodyB.isStatic || bodyB.isSleeping)) {\n contactShare = positionDampen / bodyB.totalContacts;\n bodyB.positionImpulse.x -= normal.x * positionImpulse * contactShare;\n bodyB.positionImpulse.y -= normal.y * positionImpulse * contactShare;\n }\n }\n };\n\n /**\n * Apply position resolution.\n * @method postSolvePosition\n * @param {body[]} bodies\n */\n Resolver.postSolvePosition = function(bodies) {\n var positionWarming = Resolver._positionWarming,\n bodiesLength = bodies.length,\n verticesTranslate = Vertices.translate,\n boundsUpdate = Bounds.update;\n\n for (var i = 0; i < bodiesLength; i++) {\n var body = bodies[i],\n positionImpulse = body.positionImpulse,\n positionImpulseX = positionImpulse.x,\n positionImpulseY = positionImpulse.y,\n velocity = body.velocity;\n\n // reset contact count\n body.totalContacts = 0;\n\n if (positionImpulseX !== 0 || positionImpulseY !== 0) {\n // update body geometry\n for (var j = 0; j < body.parts.length; j++) {\n var part = body.parts[j];\n verticesTranslate(part.vertices, positionImpulse);\n boundsUpdate(part.bounds, part.vertices, velocity);\n part.position.x += positionImpulseX;\n part.position.y += positionImpulseY;\n }\n\n // move the body without changing velocity\n body.positionPrev.x += positionImpulseX;\n body.positionPrev.y += positionImpulseY;\n\n if (positionImpulseX * velocity.x + positionImpulseY * velocity.y < 0) {\n // reset cached impulse if the body has velocity along it\n positionImpulse.x = 0;\n positionImpulse.y = 0;\n } else {\n // warm the next iteration\n positionImpulse.x *= positionWarming;\n positionImpulse.y *= positionWarming;\n }\n }\n }\n };\n\n /**\n * Prepare pairs for velocity solving.\n * @method preSolveVelocity\n * @param {pair[]} pairs\n */\n Resolver.preSolveVelocity = function(pairs) {\n var pairsLength = pairs.length,\n i,\n j;\n \n for (i = 0; i < pairsLength; i++) {\n var pair = pairs[i];\n \n if (!pair.isActive || pair.isSensor)\n continue;\n \n var contacts = pair.activeContacts,\n contactsLength = contacts.length,\n collision = pair.collision,\n bodyA = collision.parentA,\n bodyB = collision.parentB,\n normal = collision.normal,\n tangent = collision.tangent;\n \n // resolve each contact\n for (j = 0; j < contactsLength; j++) {\n var contact = contacts[j],\n contactVertex = contact.vertex,\n normalImpulse = contact.normalImpulse,\n tangentImpulse = contact.tangentImpulse;\n \n if (normalImpulse !== 0 || tangentImpulse !== 0) {\n // total impulse from contact\n var impulseX = normal.x * normalImpulse + tangent.x * tangentImpulse,\n impulseY = normal.y * normalImpulse + tangent.y * tangentImpulse;\n \n // apply impulse from contact\n if (!(bodyA.isStatic || bodyA.isSleeping)) {\n bodyA.positionPrev.x += impulseX * bodyA.inverseMass;\n bodyA.positionPrev.y += impulseY * bodyA.inverseMass;\n bodyA.anglePrev += bodyA.inverseInertia * (\n (contactVertex.x - bodyA.position.x) * impulseY\n - (contactVertex.y - bodyA.position.y) * impulseX\n );\n }\n \n if (!(bodyB.isStatic || bodyB.isSleeping)) {\n bodyB.positionPrev.x -= impulseX * bodyB.inverseMass;\n bodyB.positionPrev.y -= impulseY * bodyB.inverseMass;\n bodyB.anglePrev -= bodyB.inverseInertia * (\n (contactVertex.x - bodyB.position.x) * impulseY \n - (contactVertex.y - bodyB.position.y) * impulseX\n );\n }\n }\n }\n }\n };\n\n /**\n * Find a solution for pair velocities.\n * @method solveVelocity\n * @param {pair[]} pairs\n * @param {number} delta\n */\n Resolver.solveVelocity = function(pairs, delta) {\n var timeScale = delta / Common._baseDelta,\n timeScaleSquared = timeScale * timeScale,\n timeScaleCubed = timeScaleSquared * timeScale,\n restingThresh = -Resolver._restingThresh * timeScale,\n restingThreshTangent = Resolver._restingThreshTangent,\n frictionNormalMultiplier = Resolver._frictionNormalMultiplier * timeScale,\n frictionMaxStatic = Resolver._frictionMaxStatic,\n pairsLength = pairs.length,\n tangentImpulse,\n maxFriction,\n i,\n j;\n\n for (i = 0; i < pairsLength; i++) {\n var pair = pairs[i];\n \n if (!pair.isActive || pair.isSensor)\n continue;\n \n var collision = pair.collision,\n bodyA = collision.parentA,\n bodyB = collision.parentB,\n bodyAVelocity = bodyA.velocity,\n bodyBVelocity = bodyB.velocity,\n normalX = collision.normal.x,\n normalY = collision.normal.y,\n tangentX = collision.tangent.x,\n tangentY = collision.tangent.y,\n contacts = pair.activeContacts,\n contactsLength = contacts.length,\n contactShare = 1 / contactsLength,\n inverseMassTotal = bodyA.inverseMass + bodyB.inverseMass,\n friction = pair.friction * pair.frictionStatic * frictionNormalMultiplier;\n\n // update body velocities\n bodyAVelocity.x = bodyA.position.x - bodyA.positionPrev.x;\n bodyAVelocity.y = bodyA.position.y - bodyA.positionPrev.y;\n bodyBVelocity.x = bodyB.position.x - bodyB.positionPrev.x;\n bodyBVelocity.y = bodyB.position.y - bodyB.positionPrev.y;\n bodyA.angularVelocity = bodyA.angle - bodyA.anglePrev;\n bodyB.angularVelocity = bodyB.angle - bodyB.anglePrev;\n\n // resolve each contact\n for (j = 0; j < contactsLength; j++) {\n var contact = contacts[j],\n contactVertex = contact.vertex;\n\n var offsetAX = contactVertex.x - bodyA.position.x,\n offsetAY = contactVertex.y - bodyA.position.y,\n offsetBX = contactVertex.x - bodyB.position.x,\n offsetBY = contactVertex.y - bodyB.position.y;\n \n var velocityPointAX = bodyAVelocity.x - offsetAY * bodyA.angularVelocity,\n velocityPointAY = bodyAVelocity.y + offsetAX * bodyA.angularVelocity,\n velocityPointBX = bodyBVelocity.x - offsetBY * bodyB.angularVelocity,\n velocityPointBY = bodyBVelocity.y + offsetBX * bodyB.angularVelocity;\n\n var relativeVelocityX = velocityPointAX - velocityPointBX,\n relativeVelocityY = velocityPointAY - velocityPointBY;\n\n var normalVelocity = normalX * relativeVelocityX + normalY * relativeVelocityY,\n tangentVelocity = tangentX * relativeVelocityX + tangentY * relativeVelocityY;\n\n // coulomb friction\n var normalOverlap = pair.separation + normalVelocity;\n var normalForce = Math.min(normalOverlap, 1);\n normalForce = normalOverlap < 0 ? 0 : normalForce;\n\n var frictionLimit = normalForce * friction;\n\n if (tangentVelocity < -frictionLimit || tangentVelocity > frictionLimit) {\n maxFriction = (tangentVelocity > 0 ? tangentVelocity : -tangentVelocity);\n tangentImpulse = pair.friction * (tangentVelocity > 0 ? 1 : -1) * timeScaleCubed;\n \n if (tangentImpulse < -maxFriction) {\n tangentImpulse = -maxFriction;\n } else if (tangentImpulse > maxFriction) {\n tangentImpulse = maxFriction;\n }\n } else {\n tangentImpulse = tangentVelocity;\n maxFriction = frictionMaxStatic;\n }\n\n // account for mass, inertia and contact offset\n var oAcN = offsetAX * normalY - offsetAY * normalX,\n oBcN = offsetBX * normalY - offsetBY * normalX,\n share = contactShare / (inverseMassTotal + bodyA.inverseInertia * oAcN * oAcN + bodyB.inverseInertia * oBcN * oBcN);\n\n // raw impulses\n var normalImpulse = (1 + pair.restitution) * normalVelocity * share;\n tangentImpulse *= share;\n\n // handle high velocity and resting collisions separately\n if (normalVelocity < restingThresh) {\n // high normal velocity so clear cached contact normal impulse\n contact.normalImpulse = 0;\n } else {\n // solve resting collision constraints using Erin Catto's method (GDC08)\n // impulse constraint tends to 0\n var contactNormalImpulse = contact.normalImpulse;\n contact.normalImpulse += normalImpulse;\n if (contact.normalImpulse > 0) contact.normalImpulse = 0;\n normalImpulse = contact.normalImpulse - contactNormalImpulse;\n }\n\n // handle high velocity and resting collisions separately\n if (tangentVelocity < -restingThreshTangent || tangentVelocity > restingThreshTangent) {\n // high tangent velocity so clear cached contact tangent impulse\n contact.tangentImpulse = 0;\n } else {\n // solve resting collision constraints using Erin Catto's method (GDC08)\n // tangent impulse tends to -tangentSpeed or +tangentSpeed\n var contactTangentImpulse = contact.tangentImpulse;\n contact.tangentImpulse += tangentImpulse;\n if (contact.tangentImpulse < -maxFriction) contact.tangentImpulse = -maxFriction;\n if (contact.tangentImpulse > maxFriction) contact.tangentImpulse = maxFriction;\n tangentImpulse = contact.tangentImpulse - contactTangentImpulse;\n }\n\n // total impulse from contact\n var impulseX = normalX * normalImpulse + tangentX * tangentImpulse,\n impulseY = normalY * normalImpulse + tangentY * tangentImpulse;\n \n // apply impulse from contact\n if (!(bodyA.isStatic || bodyA.isSleeping)) {\n bodyA.positionPrev.x += impulseX * bodyA.inverseMass;\n bodyA.positionPrev.y += impulseY * bodyA.inverseMass;\n bodyA.anglePrev += (offsetAX * impulseY - offsetAY * impulseX) * bodyA.inverseInertia;\n }\n\n if (!(bodyB.isStatic || bodyB.isSleeping)) {\n bodyB.positionPrev.x -= impulseX * bodyB.inverseMass;\n bodyB.positionPrev.y -= impulseY * bodyB.inverseMass;\n bodyB.anglePrev -= (offsetBX * impulseY - offsetBY * impulseX) * bodyB.inverseInertia;\n }\n }\n }\n };\n\n})();\n\n\n/***/ }),\n/* 19 */\n/***/ (function(module, exports, __webpack_require__) {\n\n/**\n* The `Matter.Pairs` module contains methods for creating and manipulating collision pair sets.\n*\n* @class Pairs\n*/\n\nvar Pairs = {};\n\nmodule.exports = Pairs;\n\nvar Pair = __webpack_require__(9);\nvar Common = __webpack_require__(0);\n\n(function() {\n\n /**\n * Creates a new pairs structure.\n * @method create\n * @param {object} options\n * @return {pairs} A new pairs structure\n */\n Pairs.create = function(options) {\n return Common.extend({ \n table: {},\n list: [],\n collisionStart: [],\n collisionActive: [],\n collisionEnd: []\n }, options);\n };\n\n /**\n * Updates pairs given a list of collisions.\n * @method update\n * @param {object} pairs\n * @param {collision[]} collisions\n * @param {number} timestamp\n */\n Pairs.update = function(pairs, collisions, timestamp) {\n var pairsList = pairs.list,\n pairsListLength = pairsList.length,\n pairsTable = pairs.table,\n collisionsLength = collisions.length,\n collisionStart = pairs.collisionStart,\n collisionEnd = pairs.collisionEnd,\n collisionActive = pairs.collisionActive,\n collision,\n pairIndex,\n pair,\n i;\n\n // clear collision state arrays, but maintain old reference\n collisionStart.length = 0;\n collisionEnd.length = 0;\n collisionActive.length = 0;\n\n for (i = 0; i < pairsListLength; i++) {\n pairsList[i].confirmedActive = false;\n }\n\n for (i = 0; i < collisionsLength; i++) {\n collision = collisions[i];\n pair = collision.pair;\n\n if (pair) {\n // pair already exists (but may or may not be active)\n if (pair.isActive) {\n // pair exists and is active\n collisionActive.push(pair);\n } else {\n // pair exists but was inactive, so a collision has just started again\n collisionStart.push(pair);\n }\n\n // update the pair\n Pair.update(pair, collision, timestamp);\n pair.confirmedActive = true;\n } else {\n // pair did not exist, create a new pair\n pair = Pair.create(collision, timestamp);\n pairsTable[pair.id] = pair;\n\n // push the new pair\n collisionStart.push(pair);\n pairsList.push(pair);\n }\n }\n\n // find pairs that are no longer active\n var removePairIndex = [];\n pairsListLength = pairsList.length;\n\n for (i = 0; i < pairsListLength; i++) {\n pair = pairsList[i];\n \n if (!pair.confirmedActive) {\n Pair.setActive(pair, false, timestamp);\n collisionEnd.push(pair);\n\n if (!pair.collision.bodyA.isSleeping && !pair.collision.bodyB.isSleeping) {\n removePairIndex.push(i);\n }\n }\n }\n\n // remove inactive pairs\n for (i = 0; i < removePairIndex.length; i++) {\n pairIndex = removePairIndex[i] - i;\n pair = pairsList[pairIndex];\n pairsList.splice(pairIndex, 1);\n delete pairsTable[pair.id];\n }\n };\n\n /**\n * Clears the given pairs structure.\n * @method clear\n * @param {pairs} pairs\n * @return {pairs} pairs\n */\n Pairs.clear = function(pairs) {\n pairs.table = {};\n pairs.list.length = 0;\n pairs.collisionStart.length = 0;\n pairs.collisionActive.length = 0;\n pairs.collisionEnd.length = 0;\n return pairs;\n };\n\n})();\n\n\n/***/ }),\n/* 20 */\n/***/ (function(module, exports, __webpack_require__) {\n\nvar Matter = module.exports = __webpack_require__(21);\r\n\r\nMatter.Axes = __webpack_require__(11);\r\nMatter.Bodies = __webpack_require__(12);\r\nMatter.Body = __webpack_require__(4);\r\nMatter.Bounds = __webpack_require__(1);\r\nMatter.Collision = __webpack_require__(8);\r\nMatter.Common = __webpack_require__(0);\r\nMatter.Composite = __webpack_require__(6);\r\nMatter.Composites = __webpack_require__(22);\r\nMatter.Constraint = __webpack_require__(10);\r\nMatter.Contact = __webpack_require__(16);\r\nMatter.Detector = __webpack_require__(13);\r\nMatter.Engine = __webpack_require__(17);\r\nMatter.Events = __webpack_require__(5);\r\nMatter.Grid = __webpack_require__(23);\r\nMatter.Mouse = __webpack_require__(14);\r\nMatter.MouseConstraint = __webpack_require__(24);\r\nMatter.Pair = __webpack_require__(9);\r\nMatter.Pairs = __webpack_require__(19);\r\nMatter.Plugin = __webpack_require__(15);\r\nMatter.Query = __webpack_require__(25);\r\nMatter.Render = __webpack_require__(26);\r\nMatter.Resolver = __webpack_require__(18);\r\nMatter.Runner = __webpack_require__(27);\r\nMatter.SAT = __webpack_require__(28);\r\nMatter.Sleeping = __webpack_require__(7);\r\nMatter.Svg = __webpack_require__(29);\r\nMatter.Vector = __webpack_require__(2);\r\nMatter.Vertices = __webpack_require__(3);\r\nMatter.World = __webpack_require__(30);\r\n\r\n// temporary back compatibility\r\nMatter.Engine.run = Matter.Runner.run;\r\nMatter.Common.deprecated(Matter.Engine, 'run', 'Engine.run ➤ use Matter.Runner.run(engine) instead');\r\n\n\n/***/ }),\n/* 21 */\n/***/ (function(module, exports, __webpack_require__) {\n\n/**\r\n* The `Matter` module is the top level namespace. It also includes a function for installing plugins on top of the library.\r\n*\r\n* @class Matter\r\n*/\r\n\r\nvar Matter = {};\r\n\r\nmodule.exports = Matter;\r\n\r\nvar Plugin = __webpack_require__(15);\r\nvar Common = __webpack_require__(0);\r\n\r\n(function() {\r\n\r\n /**\r\n * The library name.\r\n * @property name\r\n * @readOnly\r\n * @type {String}\r\n */\r\n Matter.name = 'matter-js';\r\n\r\n /**\r\n * The library version.\r\n * @property version\r\n * @readOnly\r\n * @type {String}\r\n */\r\n Matter.version = true ? \"0.19.0\" : undefined;\r\n\r\n /**\r\n * A list of plugin dependencies to be installed. These are normally set and installed through `Matter.use`.\r\n * Alternatively you may set `Matter.uses` manually and install them by calling `Plugin.use(Matter)`.\r\n * @property uses\r\n * @type {Array}\r\n */\r\n Matter.uses = [];\r\n\r\n /**\r\n * The plugins that have been installed through `Matter.Plugin.install`. Read only.\r\n * @property used\r\n * @readOnly\r\n * @type {Array}\r\n */\r\n Matter.used = [];\r\n\r\n /**\r\n * Installs the given plugins on the `Matter` namespace.\r\n * This is a short-hand for `Plugin.use`, see it for more information.\r\n * Call this function once at the start of your code, with all of the plugins you wish to install as arguments.\r\n * Avoid calling this function multiple times unless you intend to manually control installation order.\r\n * @method use\r\n * @param ...plugin {Function} The plugin(s) to install on `base` (multi-argument).\r\n */\r\n Matter.use = function() {\r\n Plugin.use(Matter, Array.prototype.slice.call(arguments));\r\n };\r\n\r\n /**\r\n * Chains a function to excute before the original function on the given `path` relative to `Matter`.\r\n * See also docs for `Common.chain`.\r\n * @method before\r\n * @param {string} path The path relative to `Matter`\r\n * @param {function} func The function to chain before the original\r\n * @return {function} The chained function that replaced the original\r\n */\r\n Matter.before = function(path, func) {\r\n path = path.replace(/^Matter./, '');\r\n return Common.chainPathBefore(Matter, path, func);\r\n };\r\n\r\n /**\r\n * Chains a function to excute after the original function on the given `path` relative to `Matter`.\r\n * See also docs for `Common.chain`.\r\n * @method after\r\n * @param {string} path The path relative to `Matter`\r\n * @param {function} func The function to chain after the original\r\n * @return {function} The chained function that replaced the original\r\n */\r\n Matter.after = function(path, func) {\r\n path = path.replace(/^Matter./, '');\r\n return Common.chainPathAfter(Matter, path, func);\r\n };\r\n\r\n})();\r\n\n\n/***/ }),\n/* 22 */\n/***/ (function(module, exports, __webpack_require__) {\n\n/**\n* The `Matter.Composites` module contains factory methods for creating composite bodies\n* with commonly used configurations (such as stacks and chains).\n*\n* See the included usage [examples](https://github.com/liabru/matter-js/tree/master/examples).\n*\n* @class Composites\n*/\n\nvar Composites = {};\n\nmodule.exports = Composites;\n\nvar Composite = __webpack_require__(6);\nvar Constraint = __webpack_require__(10);\nvar Common = __webpack_require__(0);\nvar Body = __webpack_require__(4);\nvar Bodies = __webpack_require__(12);\nvar deprecated = Common.deprecated;\n\n(function() {\n\n /**\n * Create a new composite containing bodies created in the callback in a grid arrangement.\n * This function uses the body's bounds to prevent overlaps.\n * @method stack\n * @param {number} xx\n * @param {number} yy\n * @param {number} columns\n * @param {number} rows\n * @param {number} columnGap\n * @param {number} rowGap\n * @param {function} callback\n * @return {composite} A new composite containing objects created in the callback\n */\n Composites.stack = function(xx, yy, columns, rows, columnGap, rowGap, callback) {\n var stack = Composite.create({ label: 'Stack' }),\n x = xx,\n y = yy,\n lastBody,\n i = 0;\n\n for (var row = 0; row < rows; row++) {\n var maxHeight = 0;\n \n for (var column = 0; column < columns; column++) {\n var body = callback(x, y, column, row, lastBody, i);\n \n if (body) {\n var bodyHeight = body.bounds.max.y - body.bounds.min.y,\n bodyWidth = body.bounds.max.x - body.bounds.min.x; \n\n if (bodyHeight > maxHeight)\n maxHeight = bodyHeight;\n \n Body.translate(body, { x: bodyWidth * 0.5, y: bodyHeight * 0.5 });\n\n x = body.bounds.max.x + columnGap;\n\n Composite.addBody(stack, body);\n \n lastBody = body;\n i += 1;\n } else {\n x += columnGap;\n }\n }\n \n y += maxHeight + rowGap;\n x = xx;\n }\n\n return stack;\n };\n \n /**\n * Chains all bodies in the given composite together using constraints.\n * @method chain\n * @param {composite} composite\n * @param {number} xOffsetA\n * @param {number} yOffsetA\n * @param {number} xOffsetB\n * @param {number} yOffsetB\n * @param {object} options\n * @return {composite} A new composite containing objects chained together with constraints\n */\n Composites.chain = function(composite, xOffsetA, yOffsetA, xOffsetB, yOffsetB, options) {\n var bodies = composite.bodies;\n \n for (var i = 1; i < bodies.length; i++) {\n var bodyA = bodies[i - 1],\n bodyB = bodies[i],\n bodyAHeight = bodyA.bounds.max.y - bodyA.bounds.min.y,\n bodyAWidth = bodyA.bounds.max.x - bodyA.bounds.min.x, \n bodyBHeight = bodyB.bounds.max.y - bodyB.bounds.min.y,\n bodyBWidth = bodyB.bounds.max.x - bodyB.bounds.min.x;\n \n var defaults = {\n bodyA: bodyA,\n pointA: { x: bodyAWidth * xOffsetA, y: bodyAHeight * yOffsetA },\n bodyB: bodyB,\n pointB: { x: bodyBWidth * xOffsetB, y: bodyBHeight * yOffsetB }\n };\n \n var constraint = Common.extend(defaults, options);\n \n Composite.addConstraint(composite, Constraint.create(constraint));\n }\n\n composite.label += ' Chain';\n \n return composite;\n };\n\n /**\n * Connects bodies in the composite with constraints in a grid pattern, with optional cross braces.\n * @method mesh\n * @param {composite} composite\n * @param {number} columns\n * @param {number} rows\n * @param {boolean} crossBrace\n * @param {object} options\n * @return {composite} The composite containing objects meshed together with constraints\n */\n Composites.mesh = function(composite, columns, rows, crossBrace, options) {\n var bodies = composite.bodies,\n row,\n col,\n bodyA,\n bodyB,\n bodyC;\n \n for (row = 0; row < rows; row++) {\n for (col = 1; col < columns; col++) {\n bodyA = bodies[(col - 1) + (row * columns)];\n bodyB = bodies[col + (row * columns)];\n Composite.addConstraint(composite, Constraint.create(Common.extend({ bodyA: bodyA, bodyB: bodyB }, options)));\n }\n\n if (row > 0) {\n for (col = 0; col < columns; col++) {\n bodyA = bodies[col + ((row - 1) * columns)];\n bodyB = bodies[col + (row * columns)];\n Composite.addConstraint(composite, Constraint.create(Common.extend({ bodyA: bodyA, bodyB: bodyB }, options)));\n\n if (crossBrace && col > 0) {\n bodyC = bodies[(col - 1) + ((row - 1) * columns)];\n Composite.addConstraint(composite, Constraint.create(Common.extend({ bodyA: bodyC, bodyB: bodyB }, options)));\n }\n\n if (crossBrace && col < columns - 1) {\n bodyC = bodies[(col + 1) + ((row - 1) * columns)];\n Composite.addConstraint(composite, Constraint.create(Common.extend({ bodyA: bodyC, bodyB: bodyB }, options)));\n }\n }\n }\n }\n\n composite.label += ' Mesh';\n \n return composite;\n };\n \n /**\n * Create a new composite containing bodies created in the callback in a pyramid arrangement.\n * This function uses the body's bounds to prevent overlaps.\n * @method pyramid\n * @param {number} xx\n * @param {number} yy\n * @param {number} columns\n * @param {number} rows\n * @param {number} columnGap\n * @param {number} rowGap\n * @param {function} callback\n * @return {composite} A new composite containing objects created in the callback\n */\n Composites.pyramid = function(xx, yy, columns, rows, columnGap, rowGap, callback) {\n return Composites.stack(xx, yy, columns, rows, columnGap, rowGap, function(x, y, column, row, lastBody, i) {\n var actualRows = Math.min(rows, Math.ceil(columns / 2)),\n lastBodyWidth = lastBody ? lastBody.bounds.max.x - lastBody.bounds.min.x : 0;\n \n if (row > actualRows)\n return;\n \n // reverse row order\n row = actualRows - row;\n \n var start = row,\n end = columns - 1 - row;\n\n if (column < start || column > end)\n return;\n \n // retroactively fix the first body's position, since width was unknown\n if (i === 1) {\n Body.translate(lastBody, { x: (column + (columns % 2 === 1 ? 1 : -1)) * lastBodyWidth, y: 0 });\n }\n\n var xOffset = lastBody ? column * lastBodyWidth : 0;\n \n return callback(xx + xOffset + column * columnGap, y, column, row, lastBody, i);\n });\n };\n\n /**\n * This has now moved to the [newtonsCradle example](https://github.com/liabru/matter-js/blob/master/examples/newtonsCradle.js), follow that instead as this function is deprecated here.\n * @deprecated moved to newtonsCradle example\n * @method newtonsCradle\n * @param {number} xx\n * @param {number} yy\n * @param {number} number\n * @param {number} size\n * @param {number} length\n * @return {composite} A new composite newtonsCradle body\n */\n Composites.newtonsCradle = function(xx, yy, number, size, length) {\n var newtonsCradle = Composite.create({ label: 'Newtons Cradle' });\n\n for (var i = 0; i < number; i++) {\n var separation = 1.9,\n circle = Bodies.circle(xx + i * (size * separation), yy + length, size, \n { inertia: Infinity, restitution: 1, friction: 0, frictionAir: 0.0001, slop: 1 }),\n constraint = Constraint.create({ pointA: { x: xx + i * (size * separation), y: yy }, bodyB: circle });\n\n Composite.addBody(newtonsCradle, circle);\n Composite.addConstraint(newtonsCradle, constraint);\n }\n\n return newtonsCradle;\n };\n\n deprecated(Composites, 'newtonsCradle', 'Composites.newtonsCradle ➤ moved to newtonsCradle example');\n \n /**\n * This has now moved to the [car example](https://github.com/liabru/matter-js/blob/master/examples/car.js), follow that instead as this function is deprecated here.\n * @deprecated moved to car example\n * @method car\n * @param {number} xx\n * @param {number} yy\n * @param {number} width\n * @param {number} height\n * @param {number} wheelSize\n * @return {composite} A new composite car body\n */\n Composites.car = function(xx, yy, width, height, wheelSize) {\n var group = Body.nextGroup(true),\n wheelBase = 20,\n wheelAOffset = -width * 0.5 + wheelBase,\n wheelBOffset = width * 0.5 - wheelBase,\n wheelYOffset = 0;\n \n var car = Composite.create({ label: 'Car' }),\n body = Bodies.rectangle(xx, yy, width, height, { \n collisionFilter: {\n group: group\n },\n chamfer: {\n radius: height * 0.5\n },\n density: 0.0002\n });\n \n var wheelA = Bodies.circle(xx + wheelAOffset, yy + wheelYOffset, wheelSize, { \n collisionFilter: {\n group: group\n },\n friction: 0.8\n });\n \n var wheelB = Bodies.circle(xx + wheelBOffset, yy + wheelYOffset, wheelSize, { \n collisionFilter: {\n group: group\n },\n friction: 0.8\n });\n \n var axelA = Constraint.create({\n bodyB: body,\n pointB: { x: wheelAOffset, y: wheelYOffset },\n bodyA: wheelA,\n stiffness: 1,\n length: 0\n });\n \n var axelB = Constraint.create({\n bodyB: body,\n pointB: { x: wheelBOffset, y: wheelYOffset },\n bodyA: wheelB,\n stiffness: 1,\n length: 0\n });\n \n Composite.addBody(car, body);\n Composite.addBody(car, wheelA);\n Composite.addBody(car, wheelB);\n Composite.addConstraint(car, axelA);\n Composite.addConstraint(car, axelB);\n\n return car;\n };\n\n deprecated(Composites, 'car', 'Composites.car ➤ moved to car example');\n\n /**\n * This has now moved to the [softBody example](https://github.com/liabru/matter-js/blob/master/examples/softBody.js)\n * and the [cloth example](https://github.com/liabru/matter-js/blob/master/examples/cloth.js), follow those instead as this function is deprecated here.\n * @deprecated moved to softBody and cloth examples\n * @method softBody\n * @param {number} xx\n * @param {number} yy\n * @param {number} columns\n * @param {number} rows\n * @param {number} columnGap\n * @param {number} rowGap\n * @param {boolean} crossBrace\n * @param {number} particleRadius\n * @param {} particleOptions\n * @param {} constraintOptions\n * @return {composite} A new composite softBody\n */\n Composites.softBody = function(xx, yy, columns, rows, columnGap, rowGap, crossBrace, particleRadius, particleOptions, constraintOptions) {\n particleOptions = Common.extend({ inertia: Infinity }, particleOptions);\n constraintOptions = Common.extend({ stiffness: 0.2, render: { type: 'line', anchors: false } }, constraintOptions);\n\n var softBody = Composites.stack(xx, yy, columns, rows, columnGap, rowGap, function(x, y) {\n return Bodies.circle(x, y, particleRadius, particleOptions);\n });\n\n Composites.mesh(softBody, columns, rows, crossBrace, constraintOptions);\n\n softBody.label = 'Soft Body';\n\n return softBody;\n };\n\n deprecated(Composites, 'softBody', 'Composites.softBody ➤ moved to softBody and cloth examples');\n})();\n\n\n/***/ }),\n/* 23 */\n/***/ (function(module, exports, __webpack_require__) {\n\n/**\n* This module has now been replaced by `Matter.Detector`.\n*\n* All usage should be migrated to `Matter.Detector` or another alternative.\n* For back-compatibility purposes this module will remain for a short term and then later removed in a future release.\n*\n* The `Matter.Grid` module contains methods for creating and manipulating collision broadphase grid structures.\n*\n* @class Grid\n* @deprecated\n*/\n\nvar Grid = {};\n\nmodule.exports = Grid;\n\nvar Pair = __webpack_require__(9);\nvar Common = __webpack_require__(0);\nvar deprecated = Common.deprecated;\n\n(function() {\n\n /**\n * Creates a new grid.\n * @deprecated replaced by Matter.Detector\n * @method create\n * @param {} options\n * @return {grid} A new grid\n */\n Grid.create = function(options) {\n var defaults = {\n buckets: {},\n pairs: {},\n pairsList: [],\n bucketWidth: 48,\n bucketHeight: 48\n };\n\n return Common.extend(defaults, options);\n };\n\n /**\n * The width of a single grid bucket.\n *\n * @property bucketWidth\n * @type number\n * @default 48\n */\n\n /**\n * The height of a single grid bucket.\n *\n * @property bucketHeight\n * @type number\n * @default 48\n */\n\n /**\n * Updates the grid.\n * @deprecated replaced by Matter.Detector\n * @method update\n * @param {grid} grid\n * @param {body[]} bodies\n * @param {engine} engine\n * @param {boolean} forceUpdate\n */\n Grid.update = function(grid, bodies, engine, forceUpdate) {\n var i, col, row,\n world = engine.world,\n buckets = grid.buckets,\n bucket,\n bucketId,\n gridChanged = false;\n\n for (i = 0; i < bodies.length; i++) {\n var body = bodies[i];\n\n if (body.isSleeping && !forceUpdate)\n continue;\n\n // temporary back compatibility bounds check\n if (world.bounds && (body.bounds.max.x < world.bounds.min.x || body.bounds.min.x > world.bounds.max.x\n || body.bounds.max.y < world.bounds.min.y || body.bounds.min.y > world.bounds.max.y))\n continue;\n\n var newRegion = Grid._getRegion(grid, body);\n\n // if the body has changed grid region\n if (!body.region || newRegion.id !== body.region.id || forceUpdate) {\n\n if (!body.region || forceUpdate)\n body.region = newRegion;\n\n var union = Grid._regionUnion(newRegion, body.region);\n\n // update grid buckets affected by region change\n // iterate over the union of both regions\n for (col = union.startCol; col <= union.endCol; col++) {\n for (row = union.startRow; row <= union.endRow; row++) {\n bucketId = Grid._getBucketId(col, row);\n bucket = buckets[bucketId];\n\n var isInsideNewRegion = (col >= newRegion.startCol && col <= newRegion.endCol\n && row >= newRegion.startRow && row <= newRegion.endRow);\n\n var isInsideOldRegion = (col >= body.region.startCol && col <= body.region.endCol\n && row >= body.region.startRow && row <= body.region.endRow);\n\n // remove from old region buckets\n if (!isInsideNewRegion && isInsideOldRegion) {\n if (isInsideOldRegion) {\n if (bucket)\n Grid._bucketRemoveBody(grid, bucket, body);\n }\n }\n\n // add to new region buckets\n if (body.region === newRegion || (isInsideNewRegion && !isInsideOldRegion) || forceUpdate) {\n if (!bucket)\n bucket = Grid._createBucket(buckets, bucketId);\n Grid._bucketAddBody(grid, bucket, body);\n }\n }\n }\n\n // set the new region\n body.region = newRegion;\n\n // flag changes so we can update pairs\n gridChanged = true;\n }\n }\n\n // update pairs list only if pairs changed (i.e. a body changed region)\n if (gridChanged)\n grid.pairsList = Grid._createActivePairsList(grid);\n };\n\n deprecated(Grid, 'update', 'Grid.update ➤ replaced by Matter.Detector');\n\n /**\n * Clears the grid.\n * @deprecated replaced by Matter.Detector\n * @method clear\n * @param {grid} grid\n */\n Grid.clear = function(grid) {\n grid.buckets = {};\n grid.pairs = {};\n grid.pairsList = [];\n };\n\n deprecated(Grid, 'clear', 'Grid.clear ➤ replaced by Matter.Detector');\n\n /**\n * Finds the union of two regions.\n * @method _regionUnion\n * @deprecated replaced by Matter.Detector\n * @private\n * @param {} regionA\n * @param {} regionB\n * @return {} region\n */\n Grid._regionUnion = function(regionA, regionB) {\n var startCol = Math.min(regionA.startCol, regionB.startCol),\n endCol = Math.max(regionA.endCol, regionB.endCol),\n startRow = Math.min(regionA.startRow, regionB.startRow),\n endRow = Math.max(regionA.endRow, regionB.endRow);\n\n return Grid._createRegion(startCol, endCol, startRow, endRow);\n };\n\n /**\n * Gets the region a given body falls in for a given grid.\n * @method _getRegion\n * @deprecated replaced by Matter.Detector\n * @private\n * @param {} grid\n * @param {} body\n * @return {} region\n */\n Grid._getRegion = function(grid, body) {\n var bounds = body.bounds,\n startCol = Math.floor(bounds.min.x / grid.bucketWidth),\n endCol = Math.floor(bounds.max.x / grid.bucketWidth),\n startRow = Math.floor(bounds.min.y / grid.bucketHeight),\n endRow = Math.floor(bounds.max.y / grid.bucketHeight);\n\n return Grid._createRegion(startCol, endCol, startRow, endRow);\n };\n\n /**\n * Creates a region.\n * @method _createRegion\n * @deprecated replaced by Matter.Detector\n * @private\n * @param {} startCol\n * @param {} endCol\n * @param {} startRow\n * @param {} endRow\n * @return {} region\n */\n Grid._createRegion = function(startCol, endCol, startRow, endRow) {\n return { \n id: startCol + ',' + endCol + ',' + startRow + ',' + endRow,\n startCol: startCol, \n endCol: endCol, \n startRow: startRow, \n endRow: endRow \n };\n };\n\n /**\n * Gets the bucket id at the given position.\n * @method _getBucketId\n * @deprecated replaced by Matter.Detector\n * @private\n * @param {} column\n * @param {} row\n * @return {string} bucket id\n */\n Grid._getBucketId = function(column, row) {\n return 'C' + column + 'R' + row;\n };\n\n /**\n * Creates a bucket.\n * @method _createBucket\n * @deprecated replaced by Matter.Detector\n * @private\n * @param {} buckets\n * @param {} bucketId\n * @return {} bucket\n */\n Grid._createBucket = function(buckets, bucketId) {\n var bucket = buckets[bucketId] = [];\n return bucket;\n };\n\n /**\n * Adds a body to a bucket.\n * @method _bucketAddBody\n * @deprecated replaced by Matter.Detector\n * @private\n * @param {} grid\n * @param {} bucket\n * @param {} body\n */\n Grid._bucketAddBody = function(grid, bucket, body) {\n var gridPairs = grid.pairs,\n pairId = Pair.id,\n bucketLength = bucket.length,\n i;\n\n // add new pairs\n for (i = 0; i < bucketLength; i++) {\n var bodyB = bucket[i];\n\n if (body.id === bodyB.id || (body.isStatic && bodyB.isStatic))\n continue;\n\n // keep track of the number of buckets the pair exists in\n // important for Grid.update to work\n var id = pairId(body, bodyB),\n pair = gridPairs[id];\n\n if (pair) {\n pair[2] += 1;\n } else {\n gridPairs[id] = [body, bodyB, 1];\n }\n }\n\n // add to bodies (after pairs, otherwise pairs with self)\n bucket.push(body);\n };\n\n /**\n * Removes a body from a bucket.\n * @method _bucketRemoveBody\n * @deprecated replaced by Matter.Detector\n * @private\n * @param {} grid\n * @param {} bucket\n * @param {} body\n */\n Grid._bucketRemoveBody = function(grid, bucket, body) {\n var gridPairs = grid.pairs,\n pairId = Pair.id,\n i;\n\n // remove from bucket\n bucket.splice(Common.indexOf(bucket, body), 1);\n\n var bucketLength = bucket.length;\n\n // update pair counts\n for (i = 0; i < bucketLength; i++) {\n // keep track of the number of buckets the pair exists in\n // important for _createActivePairsList to work\n var pair = gridPairs[pairId(body, bucket[i])];\n\n if (pair)\n pair[2] -= 1;\n }\n };\n\n /**\n * Generates a list of the active pairs in the grid.\n * @method _createActivePairsList\n * @deprecated replaced by Matter.Detector\n * @private\n * @param {} grid\n * @return [] pairs\n */\n Grid._createActivePairsList = function(grid) {\n var pair,\n gridPairs = grid.pairs,\n pairKeys = Common.keys(gridPairs),\n pairKeysLength = pairKeys.length,\n pairs = [],\n k;\n\n // iterate over grid.pairs\n for (k = 0; k < pairKeysLength; k++) {\n pair = gridPairs[pairKeys[k]];\n\n // if pair exists in at least one bucket\n // it is a pair that needs further collision testing so push it\n if (pair[2] > 0) {\n pairs.push(pair);\n } else {\n delete gridPairs[pairKeys[k]];\n }\n }\n\n return pairs;\n };\n \n})();\n\n\n/***/ }),\n/* 24 */\n/***/ (function(module, exports, __webpack_require__) {\n\n/**\n* The `Matter.MouseConstraint` module contains methods for creating mouse constraints.\n* Mouse constraints are used for allowing user interaction, providing the ability to move bodies via the mouse or touch.\n*\n* See the included usage [examples](https://github.com/liabru/matter-js/tree/master/examples).\n*\n* @class MouseConstraint\n*/\n\nvar MouseConstraint = {};\n\nmodule.exports = MouseConstraint;\n\nvar Vertices = __webpack_require__(3);\nvar Sleeping = __webpack_require__(7);\nvar Mouse = __webpack_require__(14);\nvar Events = __webpack_require__(5);\nvar Detector = __webpack_require__(13);\nvar Constraint = __webpack_require__(10);\nvar Composite = __webpack_require__(6);\nvar Common = __webpack_require__(0);\nvar Bounds = __webpack_require__(1);\n\n(function() {\n\n /**\n * Creates a new mouse constraint.\n * All properties have default values, and many are pre-calculated automatically based on other properties.\n * See the properties section below for detailed information on what you can pass via the `options` object.\n * @method create\n * @param {engine} engine\n * @param {} options\n * @return {MouseConstraint} A new MouseConstraint\n */\n MouseConstraint.create = function(engine, options) {\n var mouse = (engine ? engine.mouse : null) || (options ? options.mouse : null);\n\n if (!mouse) {\n if (engine && engine.render && engine.render.canvas) {\n mouse = Mouse.create(engine.render.canvas);\n } else if (options && options.element) {\n mouse = Mouse.create(options.element);\n } else {\n mouse = Mouse.create();\n Common.warn('MouseConstraint.create: options.mouse was undefined, options.element was undefined, may not function as expected');\n }\n }\n\n var constraint = Constraint.create({ \n label: 'Mouse Constraint',\n pointA: mouse.position,\n pointB: { x: 0, y: 0 },\n length: 0.01, \n stiffness: 0.1,\n angularStiffness: 1,\n render: {\n strokeStyle: '#90EE90',\n lineWidth: 3\n }\n });\n\n var defaults = {\n type: 'mouseConstraint',\n mouse: mouse,\n element: null,\n body: null,\n constraint: constraint,\n collisionFilter: {\n category: 0x0001,\n mask: 0xFFFFFFFF,\n group: 0\n }\n };\n\n var mouseConstraint = Common.extend(defaults, options);\n\n Events.on(engine, 'beforeUpdate', function() {\n var allBodies = Composite.allBodies(engine.world);\n MouseConstraint.update(mouseConstraint, allBodies);\n MouseConstraint._triggerEvents(mouseConstraint);\n });\n\n return mouseConstraint;\n };\n\n /**\n * Updates the given mouse constraint.\n * @private\n * @method update\n * @param {MouseConstraint} mouseConstraint\n * @param {body[]} bodies\n */\n MouseConstraint.update = function(mouseConstraint, bodies) {\n var mouse = mouseConstraint.mouse,\n constraint = mouseConstraint.constraint,\n body = mouseConstraint.body;\n\n if (mouse.button === 0) {\n if (!constraint.bodyB) {\n for (var i = 0; i < bodies.length; i++) {\n body = bodies[i];\n if (Bounds.contains(body.bounds, mouse.position) \n && Detector.canCollide(body.collisionFilter, mouseConstraint.collisionFilter)) {\n for (var j = body.parts.length > 1 ? 1 : 0; j < body.parts.length; j++) {\n var part = body.parts[j];\n if (Vertices.contains(part.vertices, mouse.position)) {\n constraint.pointA = mouse.position;\n constraint.bodyB = mouseConstraint.body = body;\n constraint.pointB = { x: mouse.position.x - body.position.x, y: mouse.position.y - body.position.y };\n constraint.angleB = body.angle;\n\n Sleeping.set(body, false);\n Events.trigger(mouseConstraint, 'startdrag', { mouse: mouse, body: body });\n\n break;\n }\n }\n }\n }\n } else {\n Sleeping.set(constraint.bodyB, false);\n constraint.pointA = mouse.position;\n }\n } else {\n constraint.bodyB = mouseConstraint.body = null;\n constraint.pointB = null;\n\n if (body)\n Events.trigger(mouseConstraint, 'enddrag', { mouse: mouse, body: body });\n }\n };\n\n /**\n * Triggers mouse constraint events.\n * @method _triggerEvents\n * @private\n * @param {mouse} mouseConstraint\n */\n MouseConstraint._triggerEvents = function(mouseConstraint) {\n var mouse = mouseConstraint.mouse,\n mouseEvents = mouse.sourceEvents;\n\n if (mouseEvents.mousemove)\n Events.trigger(mouseConstraint, 'mousemove', { mouse: mouse });\n\n if (mouseEvents.mousedown)\n Events.trigger(mouseConstraint, 'mousedown', { mouse: mouse });\n\n if (mouseEvents.mouseup)\n Events.trigger(mouseConstraint, 'mouseup', { mouse: mouse });\n\n // reset the mouse state ready for the next step\n Mouse.clearSourceEvents(mouse);\n };\n\n /*\n *\n * Events Documentation\n *\n */\n\n /**\n * Fired when the mouse has moved (or a touch moves) during the last step\n *\n * @event mousemove\n * @param {} event An event object\n * @param {mouse} event.mouse The engine's mouse instance\n * @param {} event.source The source object of the event\n * @param {} event.name The name of the event\n */\n\n /**\n * Fired when the mouse is down (or a touch has started) during the last step\n *\n * @event mousedown\n * @param {} event An event object\n * @param {mouse} event.mouse The engine's mouse instance\n * @param {} event.source The source object of the event\n * @param {} event.name The name of the event\n */\n\n /**\n * Fired when the mouse is up (or a touch has ended) during the last step\n *\n * @event mouseup\n * @param {} event An event object\n * @param {mouse} event.mouse The engine's mouse instance\n * @param {} event.source The source object of the event\n * @param {} event.name The name of the event\n */\n\n /**\n * Fired when the user starts dragging a body\n *\n * @event startdrag\n * @param {} event An event object\n * @param {mouse} event.mouse The engine's mouse instance\n * @param {body} event.body The body being dragged\n * @param {} event.source The source object of the event\n * @param {} event.name The name of the event\n */\n\n /**\n * Fired when the user ends dragging a body\n *\n * @event enddrag\n * @param {} event An event object\n * @param {mouse} event.mouse The engine's mouse instance\n * @param {body} event.body The body that has stopped being dragged\n * @param {} event.source The source object of the event\n * @param {} event.name The name of the event\n */\n\n /*\n *\n * Properties Documentation\n *\n */\n\n /**\n * A `String` denoting the type of object.\n *\n * @property type\n * @type string\n * @default \"constraint\"\n * @readOnly\n */\n\n /**\n * The `Mouse` instance in use. If not supplied in `MouseConstraint.create`, one will be created.\n *\n * @property mouse\n * @type mouse\n * @default mouse\n */\n\n /**\n * The `Body` that is currently being moved by the user, or `null` if no body.\n *\n * @property body\n * @type body\n * @default null\n */\n\n /**\n * The `Constraint` object that is used to move the body during interaction.\n *\n * @property constraint\n * @type constraint\n */\n\n /**\n * An `Object` that specifies the collision filter properties.\n * The collision filter allows the user to define which types of body this mouse constraint can interact with.\n * See `body.collisionFilter` for more information.\n *\n * @property collisionFilter\n * @type object\n */\n\n})();\n\n\n/***/ }),\n/* 25 */\n/***/ (function(module, exports, __webpack_require__) {\n\n/**\n* The `Matter.Query` module contains methods for performing collision queries.\n*\n* See the included usage [examples](https://github.com/liabru/matter-js/tree/master/examples).\n*\n* @class Query\n*/\n\nvar Query = {};\n\nmodule.exports = Query;\n\nvar Vector = __webpack_require__(2);\nvar Collision = __webpack_require__(8);\nvar Bounds = __webpack_require__(1);\nvar Bodies = __webpack_require__(12);\nvar Vertices = __webpack_require__(3);\n\n(function() {\n\n /**\n * Returns a list of collisions between `body` and `bodies`.\n * @method collides\n * @param {body} body\n * @param {body[]} bodies\n * @return {collision[]} Collisions\n */\n Query.collides = function(body, bodies) {\n var collisions = [],\n bodiesLength = bodies.length,\n bounds = body.bounds,\n collides = Collision.collides,\n overlaps = Bounds.overlaps;\n\n for (var i = 0; i < bodiesLength; i++) {\n var bodyA = bodies[i],\n partsALength = bodyA.parts.length,\n partsAStart = partsALength === 1 ? 0 : 1;\n \n if (overlaps(bodyA.bounds, bounds)) {\n for (var j = partsAStart; j < partsALength; j++) {\n var part = bodyA.parts[j];\n\n if (overlaps(part.bounds, bounds)) {\n var collision = collides(part, body);\n\n if (collision) {\n collisions.push(collision);\n break;\n }\n }\n }\n }\n }\n\n return collisions;\n };\n\n /**\n * Casts a ray segment against a set of bodies and returns all collisions, ray width is optional. Intersection points are not provided.\n * @method ray\n * @param {body[]} bodies\n * @param {vector} startPoint\n * @param {vector} endPoint\n * @param {number} [rayWidth]\n * @return {collision[]} Collisions\n */\n Query.ray = function(bodies, startPoint, endPoint, rayWidth) {\n rayWidth = rayWidth || 1e-100;\n\n var rayAngle = Vector.angle(startPoint, endPoint),\n rayLength = Vector.magnitude(Vector.sub(startPoint, endPoint)),\n rayX = (endPoint.x + startPoint.x) * 0.5,\n rayY = (endPoint.y + startPoint.y) * 0.5,\n ray = Bodies.rectangle(rayX, rayY, rayLength, rayWidth, { angle: rayAngle }),\n collisions = Query.collides(ray, bodies);\n\n for (var i = 0; i < collisions.length; i += 1) {\n var collision = collisions[i];\n collision.body = collision.bodyB = collision.bodyA; \n }\n\n return collisions;\n };\n\n /**\n * Returns all bodies whose bounds are inside (or outside if set) the given set of bounds, from the given set of bodies.\n * @method region\n * @param {body[]} bodies\n * @param {bounds} bounds\n * @param {bool} [outside=false]\n * @return {body[]} The bodies matching the query\n */\n Query.region = function(bodies, bounds, outside) {\n var result = [];\n\n for (var i = 0; i < bodies.length; i++) {\n var body = bodies[i],\n overlaps = Bounds.overlaps(body.bounds, bounds);\n if ((overlaps && !outside) || (!overlaps && outside))\n result.push(body);\n }\n\n return result;\n };\n\n /**\n * Returns all bodies whose vertices contain the given point, from the given set of bodies.\n * @method point\n * @param {body[]} bodies\n * @param {vector} point\n * @return {body[]} The bodies matching the query\n */\n Query.point = function(bodies, point) {\n var result = [];\n\n for (var i = 0; i < bodies.length; i++) {\n var body = bodies[i];\n \n if (Bounds.contains(body.bounds, point)) {\n for (var j = body.parts.length === 1 ? 0 : 1; j < body.parts.length; j++) {\n var part = body.parts[j];\n\n if (Bounds.contains(part.bounds, point)\n && Vertices.contains(part.vertices, point)) {\n result.push(body);\n break;\n }\n }\n }\n }\n\n return result;\n };\n\n})();\n\n\n/***/ }),\n/* 26 */\n/***/ (function(module, exports, __webpack_require__) {\n\n/**\n* The `Matter.Render` module is a simple canvas based renderer for visualising instances of `Matter.Engine`.\n* It is intended for development and debugging purposes, but may also be suitable for simple games.\n* It includes a number of drawing options including wireframe, vector with support for sprites and viewports.\n*\n* @class Render\n*/\n\nvar Render = {};\n\nmodule.exports = Render;\n\nvar Body = __webpack_require__(4);\nvar Common = __webpack_require__(0);\nvar Composite = __webpack_require__(6);\nvar Bounds = __webpack_require__(1);\nvar Events = __webpack_require__(5);\nvar Vector = __webpack_require__(2);\nvar Mouse = __webpack_require__(14);\n\n(function() {\n\n var _requestAnimationFrame,\n _cancelAnimationFrame;\n\n if (typeof window !== 'undefined') {\n _requestAnimationFrame = window.requestAnimationFrame || window.webkitRequestAnimationFrame\n || window.mozRequestAnimationFrame || window.msRequestAnimationFrame\n || function(callback){ window.setTimeout(function() { callback(Common.now()); }, 1000 / 60); };\n\n _cancelAnimationFrame = window.cancelAnimationFrame || window.mozCancelAnimationFrame\n || window.webkitCancelAnimationFrame || window.msCancelAnimationFrame;\n }\n\n Render._goodFps = 30;\n Render._goodDelta = 1000 / 60;\n\n /**\n * Creates a new renderer. The options parameter is an object that specifies any properties you wish to override the defaults.\n * All properties have default values, and many are pre-calculated automatically based on other properties.\n * See the properties section below for detailed information on what you can pass via the `options` object.\n * @method create\n * @param {object} [options]\n * @return {render} A new renderer\n */\n Render.create = function(options) {\n var defaults = {\n engine: null,\n element: null,\n canvas: null,\n mouse: null,\n frameRequestId: null,\n timing: {\n historySize: 60,\n delta: 0,\n deltaHistory: [],\n lastTime: 0,\n lastTimestamp: 0,\n lastElapsed: 0,\n timestampElapsed: 0,\n timestampElapsedHistory: [],\n engineDeltaHistory: [],\n engineElapsedHistory: [],\n elapsedHistory: []\n },\n options: {\n width: 800,\n height: 600,\n pixelRatio: 1,\n background: '#14151f',\n wireframeBackground: '#14151f',\n hasBounds: !!options.bounds,\n enabled: true,\n wireframes: true,\n showSleeping: true,\n showDebug: false,\n showStats: false,\n showPerformance: false,\n showBounds: false,\n showVelocity: false,\n showCollisions: false,\n showSeparations: false,\n showAxes: false,\n showPositions: false,\n showAngleIndicator: false,\n showIds: false,\n showVertexNumbers: false,\n showConvexHulls: false,\n showInternalEdges: false,\n showMousePosition: false\n }\n };\n\n var render = Common.extend(defaults, options);\n\n if (render.canvas) {\n render.canvas.width = render.options.width || render.canvas.width;\n render.canvas.height = render.options.height || render.canvas.height;\n }\n\n render.mouse = options.mouse;\n render.engine = options.engine;\n render.canvas = render.canvas || _createCanvas(render.options.width, render.options.height);\n render.context = render.canvas.getContext('2d');\n render.textures = {};\n\n render.bounds = render.bounds || {\n min: {\n x: 0,\n y: 0\n },\n max: {\n x: render.canvas.width,\n y: render.canvas.height\n }\n };\n\n // for temporary back compatibility only\n render.controller = Render;\n render.options.showBroadphase = false;\n\n if (render.options.pixelRatio !== 1) {\n Render.setPixelRatio(render, render.options.pixelRatio);\n }\n\n if (Common.isElement(render.element)) {\n render.element.appendChild(render.canvas);\n }\n\n return render;\n };\n\n /**\n * Continuously updates the render canvas on the `requestAnimationFrame` event.\n * @method run\n * @param {render} render\n */\n Render.run = function(render) {\n (function loop(time){\n render.frameRequestId = _requestAnimationFrame(loop);\n \n _updateTiming(render, time);\n\n Render.world(render, time);\n\n if (render.options.showStats || render.options.showDebug) {\n Render.stats(render, render.context, time);\n }\n\n if (render.options.showPerformance || render.options.showDebug) {\n Render.performance(render, render.context, time);\n }\n })();\n };\n\n /**\n * Ends execution of `Render.run` on the given `render`, by canceling the animation frame request event loop.\n * @method stop\n * @param {render} render\n */\n Render.stop = function(render) {\n _cancelAnimationFrame(render.frameRequestId);\n };\n\n /**\n * Sets the pixel ratio of the renderer and updates the canvas.\n * To automatically detect the correct ratio, pass the string `'auto'` for `pixelRatio`.\n * @method setPixelRatio\n * @param {render} render\n * @param {number} pixelRatio\n */\n Render.setPixelRatio = function(render, pixelRatio) {\n var options = render.options,\n canvas = render.canvas;\n\n if (pixelRatio === 'auto') {\n pixelRatio = _getPixelRatio(canvas);\n }\n\n options.pixelRatio = pixelRatio;\n canvas.setAttribute('data-pixel-ratio', pixelRatio);\n canvas.width = options.width * pixelRatio;\n canvas.height = options.height * pixelRatio;\n canvas.style.width = options.width + 'px';\n canvas.style.height = options.height + 'px';\n };\n\n /**\n * Positions and sizes the viewport around the given object bounds.\n * Objects must have at least one of the following properties:\n * - `object.bounds`\n * - `object.position`\n * - `object.min` and `object.max`\n * - `object.x` and `object.y`\n * @method lookAt\n * @param {render} render\n * @param {object[]} objects\n * @param {vector} [padding]\n * @param {bool} [center=true]\n */\n Render.lookAt = function(render, objects, padding, center) {\n center = typeof center !== 'undefined' ? center : true;\n objects = Common.isArray(objects) ? objects : [objects];\n padding = padding || {\n x: 0,\n y: 0\n };\n\n // find bounds of all objects\n var bounds = {\n min: { x: Infinity, y: Infinity },\n max: { x: -Infinity, y: -Infinity }\n };\n\n for (var i = 0; i < objects.length; i += 1) {\n var object = objects[i],\n min = object.bounds ? object.bounds.min : (object.min || object.position || object),\n max = object.bounds ? object.bounds.max : (object.max || object.position || object);\n\n if (min && max) {\n if (min.x < bounds.min.x)\n bounds.min.x = min.x;\n\n if (max.x > bounds.max.x)\n bounds.max.x = max.x;\n\n if (min.y < bounds.min.y)\n bounds.min.y = min.y;\n\n if (max.y > bounds.max.y)\n bounds.max.y = max.y;\n }\n }\n\n // find ratios\n var width = (bounds.max.x - bounds.min.x) + 2 * padding.x,\n height = (bounds.max.y - bounds.min.y) + 2 * padding.y,\n viewHeight = render.canvas.height,\n viewWidth = render.canvas.width,\n outerRatio = viewWidth / viewHeight,\n innerRatio = width / height,\n scaleX = 1,\n scaleY = 1;\n\n // find scale factor\n if (innerRatio > outerRatio) {\n scaleY = innerRatio / outerRatio;\n } else {\n scaleX = outerRatio / innerRatio;\n }\n\n // enable bounds\n render.options.hasBounds = true;\n\n // position and size\n render.bounds.min.x = bounds.min.x;\n render.bounds.max.x = bounds.min.x + width * scaleX;\n render.bounds.min.y = bounds.min.y;\n render.bounds.max.y = bounds.min.y + height * scaleY;\n\n // center\n if (center) {\n render.bounds.min.x += width * 0.5 - (width * scaleX) * 0.5;\n render.bounds.max.x += width * 0.5 - (width * scaleX) * 0.5;\n render.bounds.min.y += height * 0.5 - (height * scaleY) * 0.5;\n render.bounds.max.y += height * 0.5 - (height * scaleY) * 0.5;\n }\n\n // padding\n render.bounds.min.x -= padding.x;\n render.bounds.max.x -= padding.x;\n render.bounds.min.y -= padding.y;\n render.bounds.max.y -= padding.y;\n\n // update mouse\n if (render.mouse) {\n Mouse.setScale(render.mouse, {\n x: (render.bounds.max.x - render.bounds.min.x) / render.canvas.width,\n y: (render.bounds.max.y - render.bounds.min.y) / render.canvas.height\n });\n\n Mouse.setOffset(render.mouse, render.bounds.min);\n }\n };\n\n /**\n * Applies viewport transforms based on `render.bounds` to a render context.\n * @method startViewTransform\n * @param {render} render\n */\n Render.startViewTransform = function(render) {\n var boundsWidth = render.bounds.max.x - render.bounds.min.x,\n boundsHeight = render.bounds.max.y - render.bounds.min.y,\n boundsScaleX = boundsWidth / render.options.width,\n boundsScaleY = boundsHeight / render.options.height;\n\n render.context.setTransform(\n render.options.pixelRatio / boundsScaleX, 0, 0, \n render.options.pixelRatio / boundsScaleY, 0, 0\n );\n \n render.context.translate(-render.bounds.min.x, -render.bounds.min.y);\n };\n\n /**\n * Resets all transforms on the render context.\n * @method endViewTransform\n * @param {render} render\n */\n Render.endViewTransform = function(render) {\n render.context.setTransform(render.options.pixelRatio, 0, 0, render.options.pixelRatio, 0, 0);\n };\n\n /**\n * Renders the given `engine`'s `Matter.World` object.\n * This is the entry point for all rendering and should be called every time the scene changes.\n * @method world\n * @param {render} render\n */\n Render.world = function(render, time) {\n var startTime = Common.now(),\n engine = render.engine,\n world = engine.world,\n canvas = render.canvas,\n context = render.context,\n options = render.options,\n timing = render.timing;\n\n var allBodies = Composite.allBodies(world),\n allConstraints = Composite.allConstraints(world),\n background = options.wireframes ? options.wireframeBackground : options.background,\n bodies = [],\n constraints = [],\n i;\n\n var event = {\n timestamp: engine.timing.timestamp\n };\n\n Events.trigger(render, 'beforeRender', event);\n\n // apply background if it has changed\n if (render.currentBackground !== background)\n _applyBackground(render, background);\n\n // clear the canvas with a transparent fill, to allow the canvas background to show\n context.globalCompositeOperation = 'source-in';\n context.fillStyle = \"transparent\";\n context.fillRect(0, 0, canvas.width, canvas.height);\n context.globalCompositeOperation = 'source-over';\n\n // handle bounds\n if (options.hasBounds) {\n // filter out bodies that are not in view\n for (i = 0; i < allBodies.length; i++) {\n var body = allBodies[i];\n if (Bounds.overlaps(body.bounds, render.bounds))\n bodies.push(body);\n }\n\n // filter out constraints that are not in view\n for (i = 0; i < allConstraints.length; i++) {\n var constraint = allConstraints[i],\n bodyA = constraint.bodyA,\n bodyB = constraint.bodyB,\n pointAWorld = constraint.pointA,\n pointBWorld = constraint.pointB;\n\n if (bodyA) pointAWorld = Vector.add(bodyA.position, constraint.pointA);\n if (bodyB) pointBWorld = Vector.add(bodyB.position, constraint.pointB);\n\n if (!pointAWorld || !pointBWorld)\n continue;\n\n if (Bounds.contains(render.bounds, pointAWorld) || Bounds.contains(render.bounds, pointBWorld))\n constraints.push(constraint);\n }\n\n // transform the view\n Render.startViewTransform(render);\n\n // update mouse\n if (render.mouse) {\n Mouse.setScale(render.mouse, {\n x: (render.bounds.max.x - render.bounds.min.x) / render.options.width,\n y: (render.bounds.max.y - render.bounds.min.y) / render.options.height\n });\n\n Mouse.setOffset(render.mouse, render.bounds.min);\n }\n } else {\n constraints = allConstraints;\n bodies = allBodies;\n\n if (render.options.pixelRatio !== 1) {\n render.context.setTransform(render.options.pixelRatio, 0, 0, render.options.pixelRatio, 0, 0);\n }\n }\n\n if (!options.wireframes || (engine.enableSleeping && options.showSleeping)) {\n // fully featured rendering of bodies\n Render.bodies(render, bodies, context);\n } else {\n if (options.showConvexHulls)\n Render.bodyConvexHulls(render, bodies, context);\n\n // optimised method for wireframes only\n Render.bodyWireframes(render, bodies, context);\n }\n\n if (options.showBounds)\n Render.bodyBounds(render, bodies, context);\n\n if (options.showAxes || options.showAngleIndicator)\n Render.bodyAxes(render, bodies, context);\n\n if (options.showPositions)\n Render.bodyPositions(render, bodies, context);\n\n if (options.showVelocity)\n Render.bodyVelocity(render, bodies, context);\n\n if (options.showIds)\n Render.bodyIds(render, bodies, context);\n\n if (options.showSeparations)\n Render.separations(render, engine.pairs.list, context);\n\n if (options.showCollisions)\n Render.collisions(render, engine.pairs.list, context);\n\n if (options.showVertexNumbers)\n Render.vertexNumbers(render, bodies, context);\n\n if (options.showMousePosition)\n Render.mousePosition(render, render.mouse, context);\n\n Render.constraints(constraints, context);\n\n if (options.hasBounds) {\n // revert view transforms\n Render.endViewTransform(render);\n }\n\n Events.trigger(render, 'afterRender', event);\n\n // log the time elapsed computing this update\n timing.lastElapsed = Common.now() - startTime;\n };\n\n /**\n * Renders statistics about the engine and world useful for debugging.\n * @private\n * @method stats\n * @param {render} render\n * @param {RenderingContext} context\n * @param {Number} time\n */\n Render.stats = function(render, context, time) {\n var engine = render.engine,\n world = engine.world,\n bodies = Composite.allBodies(world),\n parts = 0,\n width = 55,\n height = 44,\n x = 0,\n y = 0;\n \n // count parts\n for (var i = 0; i < bodies.length; i += 1) {\n parts += bodies[i].parts.length;\n }\n\n // sections\n var sections = {\n 'Part': parts,\n 'Body': bodies.length,\n 'Cons': Composite.allConstraints(world).length,\n 'Comp': Composite.allComposites(world).length,\n 'Pair': engine.pairs.list.length\n };\n\n // background\n context.fillStyle = '#0e0f19';\n context.fillRect(x, y, width * 5.5, height);\n\n context.font = '12px Arial';\n context.textBaseline = 'top';\n context.textAlign = 'right';\n\n // sections\n for (var key in sections) {\n var section = sections[key];\n // label\n context.fillStyle = '#aaa';\n context.fillText(key, x + width, y + 8);\n\n // value\n context.fillStyle = '#eee';\n context.fillText(section, x + width, y + 26);\n\n x += width;\n }\n };\n\n /**\n * Renders engine and render performance information.\n * @private\n * @method performance\n * @param {render} render\n * @param {RenderingContext} context\n */\n Render.performance = function(render, context) {\n var engine = render.engine,\n timing = render.timing,\n deltaHistory = timing.deltaHistory,\n elapsedHistory = timing.elapsedHistory,\n timestampElapsedHistory = timing.timestampElapsedHistory,\n engineDeltaHistory = timing.engineDeltaHistory,\n engineElapsedHistory = timing.engineElapsedHistory,\n lastEngineDelta = engine.timing.lastDelta;\n \n var deltaMean = _mean(deltaHistory),\n elapsedMean = _mean(elapsedHistory),\n engineDeltaMean = _mean(engineDeltaHistory),\n engineElapsedMean = _mean(engineElapsedHistory),\n timestampElapsedMean = _mean(timestampElapsedHistory),\n rateMean = (timestampElapsedMean / deltaMean) || 0,\n fps = (1000 / deltaMean) || 0;\n\n var graphHeight = 4,\n gap = 12,\n width = 60,\n height = 34,\n x = 10,\n y = 69;\n\n // background\n context.fillStyle = '#0e0f19';\n context.fillRect(0, 50, gap * 4 + width * 5 + 22, height);\n\n // show FPS\n Render.status(\n context, x, y, width, graphHeight, deltaHistory.length, \n Math.round(fps) + ' fps', \n fps / Render._goodFps,\n function(i) { return (deltaHistory[i] / deltaMean) - 1; }\n );\n\n // show engine delta\n Render.status(\n context, x + gap + width, y, width, graphHeight, engineDeltaHistory.length,\n lastEngineDelta.toFixed(2) + ' dt', \n Render._goodDelta / lastEngineDelta,\n function(i) { return (engineDeltaHistory[i] / engineDeltaMean) - 1; }\n );\n\n // show engine update time\n Render.status(\n context, x + (gap + width) * 2, y, width, graphHeight, engineElapsedHistory.length,\n engineElapsedMean.toFixed(2) + ' ut', \n 1 - (engineElapsedMean / Render._goodFps),\n function(i) { return (engineElapsedHistory[i] / engineElapsedMean) - 1; }\n );\n\n // show render time\n Render.status(\n context, x + (gap + width) * 3, y, width, graphHeight, elapsedHistory.length,\n elapsedMean.toFixed(2) + ' rt', \n 1 - (elapsedMean / Render._goodFps),\n function(i) { return (elapsedHistory[i] / elapsedMean) - 1; }\n );\n\n // show effective speed\n Render.status(\n context, x + (gap + width) * 4, y, width, graphHeight, timestampElapsedHistory.length, \n rateMean.toFixed(2) + ' x', \n rateMean * rateMean * rateMean,\n function(i) { return (((timestampElapsedHistory[i] / deltaHistory[i]) / rateMean) || 0) - 1; }\n );\n };\n\n /**\n * Renders a label, indicator and a chart.\n * @private\n * @method status\n * @param {RenderingContext} context\n * @param {number} x\n * @param {number} y\n * @param {number} width\n * @param {number} height\n * @param {number} count\n * @param {string} label\n * @param {string} indicator\n * @param {function} plotY\n */\n Render.status = function(context, x, y, width, height, count, label, indicator, plotY) {\n // background\n context.strokeStyle = '#888';\n context.fillStyle = '#444';\n context.lineWidth = 1;\n context.fillRect(x, y + 7, width, 1);\n\n // chart\n context.beginPath();\n context.moveTo(x, y + 7 - height * Common.clamp(0.4 * plotY(0), -2, 2));\n for (var i = 0; i < width; i += 1) {\n context.lineTo(x + i, y + 7 - (i < count ? height * Common.clamp(0.4 * plotY(i), -2, 2) : 0));\n }\n context.stroke();\n\n // indicator\n context.fillStyle = 'hsl(' + Common.clamp(25 + 95 * indicator, 0, 120) + ',100%,60%)';\n context.fillRect(x, y - 7, 4, 4);\n\n // label\n context.font = '12px Arial';\n context.textBaseline = 'middle';\n context.textAlign = 'right';\n context.fillStyle = '#eee';\n context.fillText(label, x + width, y - 5);\n };\n\n /**\n * Description\n * @private\n * @method constraints\n * @param {constraint[]} constraints\n * @param {RenderingContext} context\n */\n Render.constraints = function(constraints, context) {\n var c = context;\n\n for (var i = 0; i < constraints.length; i++) {\n var constraint = constraints[i];\n\n if (!constraint.render.visible || !constraint.pointA || !constraint.pointB)\n continue;\n\n var bodyA = constraint.bodyA,\n bodyB = constraint.bodyB,\n start,\n end;\n\n if (bodyA) {\n start = Vector.add(bodyA.position, constraint.pointA);\n } else {\n start = constraint.pointA;\n }\n\n if (constraint.render.type === 'pin') {\n c.beginPath();\n c.arc(start.x, start.y, 3, 0, 2 * Math.PI);\n c.closePath();\n } else {\n if (bodyB) {\n end = Vector.add(bodyB.position, constraint.pointB);\n } else {\n end = constraint.pointB;\n }\n\n c.beginPath();\n c.moveTo(start.x, start.y);\n\n if (constraint.render.type === 'spring') {\n var delta = Vector.sub(end, start),\n normal = Vector.perp(Vector.normalise(delta)),\n coils = Math.ceil(Common.clamp(constraint.length / 5, 12, 20)),\n offset;\n\n for (var j = 1; j < coils; j += 1) {\n offset = j % 2 === 0 ? 1 : -1;\n\n c.lineTo(\n start.x + delta.x * (j / coils) + normal.x * offset * 4,\n start.y + delta.y * (j / coils) + normal.y * offset * 4\n );\n }\n }\n\n c.lineTo(end.x, end.y);\n }\n\n if (constraint.render.lineWidth) {\n c.lineWidth = constraint.render.lineWidth;\n c.strokeStyle = constraint.render.strokeStyle;\n c.stroke();\n }\n\n if (constraint.render.anchors) {\n c.fillStyle = constraint.render.strokeStyle;\n c.beginPath();\n c.arc(start.x, start.y, 3, 0, 2 * Math.PI);\n c.arc(end.x, end.y, 3, 0, 2 * Math.PI);\n c.closePath();\n c.fill();\n }\n }\n };\n\n /**\n * Description\n * @private\n * @method bodies\n * @param {render} render\n * @param {body[]} bodies\n * @param {RenderingContext} context\n */\n Render.bodies = function(render, bodies, context) {\n var c = context,\n engine = render.engine,\n options = render.options,\n showInternalEdges = options.showInternalEdges || !options.wireframes,\n body,\n part,\n i,\n k;\n\n for (i = 0; i < bodies.length; i++) {\n body = bodies[i];\n\n if (!body.render.visible)\n continue;\n\n // handle compound parts\n for (k = body.parts.length > 1 ? 1 : 0; k < body.parts.length; k++) {\n part = body.parts[k];\n\n if (!part.render.visible)\n continue;\n\n if (options.showSleeping && body.isSleeping) {\n c.globalAlpha = 0.5 * part.render.opacity;\n } else if (part.render.opacity !== 1) {\n c.globalAlpha = part.render.opacity;\n }\n\n if (part.render.sprite && part.render.sprite.texture && !options.wireframes) {\n // part sprite\n var sprite = part.render.sprite,\n texture = _getTexture(render, sprite.texture);\n\n c.translate(part.position.x, part.position.y);\n c.rotate(part.angle);\n\n c.drawImage(\n texture,\n texture.width * -sprite.xOffset * sprite.xScale,\n texture.height * -sprite.yOffset * sprite.yScale,\n texture.width * sprite.xScale,\n texture.height * sprite.yScale\n );\n\n // revert translation, hopefully faster than save / restore\n c.rotate(-part.angle);\n c.translate(-part.position.x, -part.position.y);\n } else {\n // part polygon\n if (part.circleRadius) {\n c.beginPath();\n c.arc(part.position.x, part.position.y, part.circleRadius, 0, 2 * Math.PI);\n } else {\n c.beginPath();\n c.moveTo(part.vertices[0].x, part.vertices[0].y);\n\n for (var j = 1; j < part.vertices.length; j++) {\n if (!part.vertices[j - 1].isInternal || showInternalEdges) {\n c.lineTo(part.vertices[j].x, part.vertices[j].y);\n } else {\n c.moveTo(part.vertices[j].x, part.vertices[j].y);\n }\n\n if (part.vertices[j].isInternal && !showInternalEdges) {\n c.moveTo(part.vertices[(j + 1) % part.vertices.length].x, part.vertices[(j + 1) % part.vertices.length].y);\n }\n }\n\n c.lineTo(part.vertices[0].x, part.vertices[0].y);\n c.closePath();\n }\n\n if (!options.wireframes) {\n c.fillStyle = part.render.fillStyle;\n\n if (part.render.lineWidth) {\n c.lineWidth = part.render.lineWidth;\n c.strokeStyle = part.render.strokeStyle;\n c.stroke();\n }\n\n c.fill();\n } else {\n c.lineWidth = 1;\n c.strokeStyle = '#bbb';\n c.stroke();\n }\n }\n\n c.globalAlpha = 1;\n }\n }\n };\n\n /**\n * Optimised method for drawing body wireframes in one pass\n * @private\n * @method bodyWireframes\n * @param {render} render\n * @param {body[]} bodies\n * @param {RenderingContext} context\n */\n Render.bodyWireframes = function(render, bodies, context) {\n var c = context,\n showInternalEdges = render.options.showInternalEdges,\n body,\n part,\n i,\n j,\n k;\n\n c.beginPath();\n\n // render all bodies\n for (i = 0; i < bodies.length; i++) {\n body = bodies[i];\n\n if (!body.render.visible)\n continue;\n\n // handle compound parts\n for (k = body.parts.length > 1 ? 1 : 0; k < body.parts.length; k++) {\n part = body.parts[k];\n\n c.moveTo(part.vertices[0].x, part.vertices[0].y);\n\n for (j = 1; j < part.vertices.length; j++) {\n if (!part.vertices[j - 1].isInternal || showInternalEdges) {\n c.lineTo(part.vertices[j].x, part.vertices[j].y);\n } else {\n c.moveTo(part.vertices[j].x, part.vertices[j].y);\n }\n\n if (part.vertices[j].isInternal && !showInternalEdges) {\n c.moveTo(part.vertices[(j + 1) % part.vertices.length].x, part.vertices[(j + 1) % part.vertices.length].y);\n }\n }\n\n c.lineTo(part.vertices[0].x, part.vertices[0].y);\n }\n }\n\n c.lineWidth = 1;\n c.strokeStyle = '#bbb';\n c.stroke();\n };\n\n /**\n * Optimised method for drawing body convex hull wireframes in one pass\n * @private\n * @method bodyConvexHulls\n * @param {render} render\n * @param {body[]} bodies\n * @param {RenderingContext} context\n */\n Render.bodyConvexHulls = function(render, bodies, context) {\n var c = context,\n body,\n part,\n i,\n j,\n k;\n\n c.beginPath();\n\n // render convex hulls\n for (i = 0; i < bodies.length; i++) {\n body = bodies[i];\n\n if (!body.render.visible || body.parts.length === 1)\n continue;\n\n c.moveTo(body.vertices[0].x, body.vertices[0].y);\n\n for (j = 1; j < body.vertices.length; j++) {\n c.lineTo(body.vertices[j].x, body.vertices[j].y);\n }\n\n c.lineTo(body.vertices[0].x, body.vertices[0].y);\n }\n\n c.lineWidth = 1;\n c.strokeStyle = 'rgba(255,255,255,0.2)';\n c.stroke();\n };\n\n /**\n * Renders body vertex numbers.\n * @private\n * @method vertexNumbers\n * @param {render} render\n * @param {body[]} bodies\n * @param {RenderingContext} context\n */\n Render.vertexNumbers = function(render, bodies, context) {\n var c = context,\n i,\n j,\n k;\n\n for (i = 0; i < bodies.length; i++) {\n var parts = bodies[i].parts;\n for (k = parts.length > 1 ? 1 : 0; k < parts.length; k++) {\n var part = parts[k];\n for (j = 0; j < part.vertices.length; j++) {\n c.fillStyle = 'rgba(255,255,255,0.2)';\n c.fillText(i + '_' + j, part.position.x + (part.vertices[j].x - part.position.x) * 0.8, part.position.y + (part.vertices[j].y - part.position.y) * 0.8);\n }\n }\n }\n };\n\n /**\n * Renders mouse position.\n * @private\n * @method mousePosition\n * @param {render} render\n * @param {mouse} mouse\n * @param {RenderingContext} context\n */\n Render.mousePosition = function(render, mouse, context) {\n var c = context;\n c.fillStyle = 'rgba(255,255,255,0.8)';\n c.fillText(mouse.position.x + ' ' + mouse.position.y, mouse.position.x + 5, mouse.position.y - 5);\n };\n\n /**\n * Draws body bounds\n * @private\n * @method bodyBounds\n * @param {render} render\n * @param {body[]} bodies\n * @param {RenderingContext} context\n */\n Render.bodyBounds = function(render, bodies, context) {\n var c = context,\n engine = render.engine,\n options = render.options;\n\n c.beginPath();\n\n for (var i = 0; i < bodies.length; i++) {\n var body = bodies[i];\n\n if (body.render.visible) {\n var parts = bodies[i].parts;\n for (var j = parts.length > 1 ? 1 : 0; j < parts.length; j++) {\n var part = parts[j];\n c.rect(part.bounds.min.x, part.bounds.min.y, part.bounds.max.x - part.bounds.min.x, part.bounds.max.y - part.bounds.min.y);\n }\n }\n }\n\n if (options.wireframes) {\n c.strokeStyle = 'rgba(255,255,255,0.08)';\n } else {\n c.strokeStyle = 'rgba(0,0,0,0.1)';\n }\n\n c.lineWidth = 1;\n c.stroke();\n };\n\n /**\n * Draws body angle indicators and axes\n * @private\n * @method bodyAxes\n * @param {render} render\n * @param {body[]} bodies\n * @param {RenderingContext} context\n */\n Render.bodyAxes = function(render, bodies, context) {\n var c = context,\n engine = render.engine,\n options = render.options,\n part,\n i,\n j,\n k;\n\n c.beginPath();\n\n for (i = 0; i < bodies.length; i++) {\n var body = bodies[i],\n parts = body.parts;\n\n if (!body.render.visible)\n continue;\n\n if (options.showAxes) {\n // render all axes\n for (j = parts.length > 1 ? 1 : 0; j < parts.length; j++) {\n part = parts[j];\n for (k = 0; k < part.axes.length; k++) {\n var axis = part.axes[k];\n c.moveTo(part.position.x, part.position.y);\n c.lineTo(part.position.x + axis.x * 20, part.position.y + axis.y * 20);\n }\n }\n } else {\n for (j = parts.length > 1 ? 1 : 0; j < parts.length; j++) {\n part = parts[j];\n for (k = 0; k < part.axes.length; k++) {\n // render a single axis indicator\n c.moveTo(part.position.x, part.position.y);\n c.lineTo((part.vertices[0].x + part.vertices[part.vertices.length-1].x) / 2,\n (part.vertices[0].y + part.vertices[part.vertices.length-1].y) / 2);\n }\n }\n }\n }\n\n if (options.wireframes) {\n c.strokeStyle = 'indianred';\n c.lineWidth = 1;\n } else {\n c.strokeStyle = 'rgba(255, 255, 255, 0.4)';\n c.globalCompositeOperation = 'overlay';\n c.lineWidth = 2;\n }\n\n c.stroke();\n c.globalCompositeOperation = 'source-over';\n };\n\n /**\n * Draws body positions\n * @private\n * @method bodyPositions\n * @param {render} render\n * @param {body[]} bodies\n * @param {RenderingContext} context\n */\n Render.bodyPositions = function(render, bodies, context) {\n var c = context,\n engine = render.engine,\n options = render.options,\n body,\n part,\n i,\n k;\n\n c.beginPath();\n\n // render current positions\n for (i = 0; i < bodies.length; i++) {\n body = bodies[i];\n\n if (!body.render.visible)\n continue;\n\n // handle compound parts\n for (k = 0; k < body.parts.length; k++) {\n part = body.parts[k];\n c.arc(part.position.x, part.position.y, 3, 0, 2 * Math.PI, false);\n c.closePath();\n }\n }\n\n if (options.wireframes) {\n c.fillStyle = 'indianred';\n } else {\n c.fillStyle = 'rgba(0,0,0,0.5)';\n }\n c.fill();\n\n c.beginPath();\n\n // render previous positions\n for (i = 0; i < bodies.length; i++) {\n body = bodies[i];\n if (body.render.visible) {\n c.arc(body.positionPrev.x, body.positionPrev.y, 2, 0, 2 * Math.PI, false);\n c.closePath();\n }\n }\n\n c.fillStyle = 'rgba(255,165,0,0.8)';\n c.fill();\n };\n\n /**\n * Draws body velocity\n * @private\n * @method bodyVelocity\n * @param {render} render\n * @param {body[]} bodies\n * @param {RenderingContext} context\n */\n Render.bodyVelocity = function(render, bodies, context) {\n var c = context;\n\n c.beginPath();\n\n for (var i = 0; i < bodies.length; i++) {\n var body = bodies[i];\n\n if (!body.render.visible)\n continue;\n\n var velocity = Body.getVelocity(body);\n\n c.moveTo(body.position.x, body.position.y);\n c.lineTo(body.position.x + velocity.x, body.position.y + velocity.y);\n }\n\n c.lineWidth = 3;\n c.strokeStyle = 'cornflowerblue';\n c.stroke();\n };\n\n /**\n * Draws body ids\n * @private\n * @method bodyIds\n * @param {render} render\n * @param {body[]} bodies\n * @param {RenderingContext} context\n */\n Render.bodyIds = function(render, bodies, context) {\n var c = context,\n i,\n j;\n\n for (i = 0; i < bodies.length; i++) {\n if (!bodies[i].render.visible)\n continue;\n\n var parts = bodies[i].parts;\n for (j = parts.length > 1 ? 1 : 0; j < parts.length; j++) {\n var part = parts[j];\n c.font = \"12px Arial\";\n c.fillStyle = 'rgba(255,255,255,0.5)';\n c.fillText(part.id, part.position.x + 10, part.position.y - 10);\n }\n }\n };\n\n /**\n * Description\n * @private\n * @method collisions\n * @param {render} render\n * @param {pair[]} pairs\n * @param {RenderingContext} context\n */\n Render.collisions = function(render, pairs, context) {\n var c = context,\n options = render.options,\n pair,\n collision,\n corrected,\n bodyA,\n bodyB,\n i,\n j;\n\n c.beginPath();\n\n // render collision positions\n for (i = 0; i < pairs.length; i++) {\n pair = pairs[i];\n\n if (!pair.isActive)\n continue;\n\n collision = pair.collision;\n for (j = 0; j < pair.activeContacts.length; j++) {\n var contact = pair.activeContacts[j],\n vertex = contact.vertex;\n c.rect(vertex.x - 1.5, vertex.y - 1.5, 3.5, 3.5);\n }\n }\n\n if (options.wireframes) {\n c.fillStyle = 'rgba(255,255,255,0.7)';\n } else {\n c.fillStyle = 'orange';\n }\n c.fill();\n\n c.beginPath();\n\n // render collision normals\n for (i = 0; i < pairs.length; i++) {\n pair = pairs[i];\n\n if (!pair.isActive)\n continue;\n\n collision = pair.collision;\n\n if (pair.activeContacts.length > 0) {\n var normalPosX = pair.activeContacts[0].vertex.x,\n normalPosY = pair.activeContacts[0].vertex.y;\n\n if (pair.activeContacts.length === 2) {\n normalPosX = (pair.activeContacts[0].vertex.x + pair.activeContacts[1].vertex.x) / 2;\n normalPosY = (pair.activeContacts[0].vertex.y + pair.activeContacts[1].vertex.y) / 2;\n }\n\n if (collision.bodyB === collision.supports[0].body || collision.bodyA.isStatic === true) {\n c.moveTo(normalPosX - collision.normal.x * 8, normalPosY - collision.normal.y * 8);\n } else {\n c.moveTo(normalPosX + collision.normal.x * 8, normalPosY + collision.normal.y * 8);\n }\n\n c.lineTo(normalPosX, normalPosY);\n }\n }\n\n if (options.wireframes) {\n c.strokeStyle = 'rgba(255,165,0,0.7)';\n } else {\n c.strokeStyle = 'orange';\n }\n\n c.lineWidth = 1;\n c.stroke();\n };\n\n /**\n * Description\n * @private\n * @method separations\n * @param {render} render\n * @param {pair[]} pairs\n * @param {RenderingContext} context\n */\n Render.separations = function(render, pairs, context) {\n var c = context,\n options = render.options,\n pair,\n collision,\n corrected,\n bodyA,\n bodyB,\n i,\n j;\n\n c.beginPath();\n\n // render separations\n for (i = 0; i < pairs.length; i++) {\n pair = pairs[i];\n\n if (!pair.isActive)\n continue;\n\n collision = pair.collision;\n bodyA = collision.bodyA;\n bodyB = collision.bodyB;\n\n var k = 1;\n\n if (!bodyB.isStatic && !bodyA.isStatic) k = 0.5;\n if (bodyB.isStatic) k = 0;\n\n c.moveTo(bodyB.position.x, bodyB.position.y);\n c.lineTo(bodyB.position.x - collision.penetration.x * k, bodyB.position.y - collision.penetration.y * k);\n\n k = 1;\n\n if (!bodyB.isStatic && !bodyA.isStatic) k = 0.5;\n if (bodyA.isStatic) k = 0;\n\n c.moveTo(bodyA.position.x, bodyA.position.y);\n c.lineTo(bodyA.position.x + collision.penetration.x * k, bodyA.position.y + collision.penetration.y * k);\n }\n\n if (options.wireframes) {\n c.strokeStyle = 'rgba(255,165,0,0.5)';\n } else {\n c.strokeStyle = 'orange';\n }\n c.stroke();\n };\n\n /**\n * Description\n * @private\n * @method inspector\n * @param {inspector} inspector\n * @param {RenderingContext} context\n */\n Render.inspector = function(inspector, context) {\n var engine = inspector.engine,\n selected = inspector.selected,\n render = inspector.render,\n options = render.options,\n bounds;\n\n if (options.hasBounds) {\n var boundsWidth = render.bounds.max.x - render.bounds.min.x,\n boundsHeight = render.bounds.max.y - render.bounds.min.y,\n boundsScaleX = boundsWidth / render.options.width,\n boundsScaleY = boundsHeight / render.options.height;\n\n context.scale(1 / boundsScaleX, 1 / boundsScaleY);\n context.translate(-render.bounds.min.x, -render.bounds.min.y);\n }\n\n for (var i = 0; i < selected.length; i++) {\n var item = selected[i].data;\n\n context.translate(0.5, 0.5);\n context.lineWidth = 1;\n context.strokeStyle = 'rgba(255,165,0,0.9)';\n context.setLineDash([1,2]);\n\n switch (item.type) {\n\n case 'body':\n\n // render body selections\n bounds = item.bounds;\n context.beginPath();\n context.rect(Math.floor(bounds.min.x - 3), Math.floor(bounds.min.y - 3),\n Math.floor(bounds.max.x - bounds.min.x + 6), Math.floor(bounds.max.y - bounds.min.y + 6));\n context.closePath();\n context.stroke();\n\n break;\n\n case 'constraint':\n\n // render constraint selections\n var point = item.pointA;\n if (item.bodyA)\n point = item.pointB;\n context.beginPath();\n context.arc(point.x, point.y, 10, 0, 2 * Math.PI);\n context.closePath();\n context.stroke();\n\n break;\n\n }\n\n context.setLineDash([]);\n context.translate(-0.5, -0.5);\n }\n\n // render selection region\n if (inspector.selectStart !== null) {\n context.translate(0.5, 0.5);\n context.lineWidth = 1;\n context.strokeStyle = 'rgba(255,165,0,0.6)';\n context.fillStyle = 'rgba(255,165,0,0.1)';\n bounds = inspector.selectBounds;\n context.beginPath();\n context.rect(Math.floor(bounds.min.x), Math.floor(bounds.min.y),\n Math.floor(bounds.max.x - bounds.min.x), Math.floor(bounds.max.y - bounds.min.y));\n context.closePath();\n context.stroke();\n context.fill();\n context.translate(-0.5, -0.5);\n }\n\n if (options.hasBounds)\n context.setTransform(1, 0, 0, 1, 0, 0);\n };\n\n /**\n * Updates render timing.\n * @method _updateTiming\n * @private\n * @param {render} render\n * @param {number} time\n */\n var _updateTiming = function(render, time) {\n var engine = render.engine,\n timing = render.timing,\n historySize = timing.historySize,\n timestamp = engine.timing.timestamp;\n\n timing.delta = time - timing.lastTime || Render._goodDelta;\n timing.lastTime = time;\n\n timing.timestampElapsed = timestamp - timing.lastTimestamp || 0;\n timing.lastTimestamp = timestamp;\n\n timing.deltaHistory.unshift(timing.delta);\n timing.deltaHistory.length = Math.min(timing.deltaHistory.length, historySize);\n\n timing.engineDeltaHistory.unshift(engine.timing.lastDelta);\n timing.engineDeltaHistory.length = Math.min(timing.engineDeltaHistory.length, historySize);\n\n timing.timestampElapsedHistory.unshift(timing.timestampElapsed);\n timing.timestampElapsedHistory.length = Math.min(timing.timestampElapsedHistory.length, historySize);\n\n timing.engineElapsedHistory.unshift(engine.timing.lastElapsed);\n timing.engineElapsedHistory.length = Math.min(timing.engineElapsedHistory.length, historySize);\n\n timing.elapsedHistory.unshift(timing.lastElapsed);\n timing.elapsedHistory.length = Math.min(timing.elapsedHistory.length, historySize);\n };\n\n /**\n * Returns the mean value of the given numbers.\n * @method _mean\n * @private\n * @param {Number[]} values\n * @return {Number} the mean of given values\n */\n var _mean = function(values) {\n var result = 0;\n for (var i = 0; i < values.length; i += 1) {\n result += values[i];\n }\n return (result / values.length) || 0;\n };\n\n /**\n * @method _createCanvas\n * @private\n * @param {} width\n * @param {} height\n * @return canvas\n */\n var _createCanvas = function(width, height) {\n var canvas = document.createElement('canvas');\n canvas.width = width;\n canvas.height = height;\n canvas.oncontextmenu = function() { return false; };\n canvas.onselectstart = function() { return false; };\n return canvas;\n };\n\n /**\n * Gets the pixel ratio of the canvas.\n * @method _getPixelRatio\n * @private\n * @param {HTMLElement} canvas\n * @return {Number} pixel ratio\n */\n var _getPixelRatio = function(canvas) {\n var context = canvas.getContext('2d'),\n devicePixelRatio = window.devicePixelRatio || 1,\n backingStorePixelRatio = context.webkitBackingStorePixelRatio || context.mozBackingStorePixelRatio\n || context.msBackingStorePixelRatio || context.oBackingStorePixelRatio\n || context.backingStorePixelRatio || 1;\n\n return devicePixelRatio / backingStorePixelRatio;\n };\n\n /**\n * Gets the requested texture (an Image) via its path\n * @method _getTexture\n * @private\n * @param {render} render\n * @param {string} imagePath\n * @return {Image} texture\n */\n var _getTexture = function(render, imagePath) {\n var image = render.textures[imagePath];\n\n if (image)\n return image;\n\n image = render.textures[imagePath] = new Image();\n image.src = imagePath;\n\n return image;\n };\n\n /**\n * Applies the background to the canvas using CSS.\n * @method applyBackground\n * @private\n * @param {render} render\n * @param {string} background\n */\n var _applyBackground = function(render, background) {\n var cssBackground = background;\n\n if (/(jpg|gif|png)$/.test(background))\n cssBackground = 'url(' + background + ')';\n\n render.canvas.style.background = cssBackground;\n render.canvas.style.backgroundSize = \"contain\";\n render.currentBackground = background;\n };\n\n /*\n *\n * Events Documentation\n *\n */\n\n /**\n * Fired before rendering\n *\n * @event beforeRender\n * @param {} event An event object\n * @param {number} event.timestamp The engine.timing.timestamp of the event\n * @param {} event.source The source object of the event\n * @param {} event.name The name of the event\n */\n\n /**\n * Fired after rendering\n *\n * @event afterRender\n * @param {} event An event object\n * @param {number} event.timestamp The engine.timing.timestamp of the event\n * @param {} event.source The source object of the event\n * @param {} event.name The name of the event\n */\n\n /*\n *\n * Properties Documentation\n *\n */\n\n /**\n * A back-reference to the `Matter.Render` module.\n *\n * @deprecated\n * @property controller\n * @type render\n */\n\n /**\n * A reference to the `Matter.Engine` instance to be used.\n *\n * @property engine\n * @type engine\n */\n\n /**\n * A reference to the element where the canvas is to be inserted (if `render.canvas` has not been specified)\n *\n * @property element\n * @type HTMLElement\n * @default null\n */\n\n /**\n * The canvas element to render to. If not specified, one will be created if `render.element` has been specified.\n *\n * @property canvas\n * @type HTMLCanvasElement\n * @default null\n */\n\n /**\n * A `Bounds` object that specifies the drawing view region.\n * Rendering will be automatically transformed and scaled to fit within the canvas size (`render.options.width` and `render.options.height`).\n * This allows for creating views that can pan or zoom around the scene.\n * You must also set `render.options.hasBounds` to `true` to enable bounded rendering.\n *\n * @property bounds\n * @type bounds\n */\n\n /**\n * The 2d rendering context from the `render.canvas` element.\n *\n * @property context\n * @type CanvasRenderingContext2D\n */\n\n /**\n * The sprite texture cache.\n *\n * @property textures\n * @type {}\n */\n\n /**\n * The mouse to render if `render.options.showMousePosition` is enabled.\n *\n * @property mouse\n * @type mouse\n * @default null\n */\n\n /**\n * The configuration options of the renderer.\n *\n * @property options\n * @type {}\n */\n\n /**\n * The target width in pixels of the `render.canvas` to be created.\n * See also the `options.pixelRatio` property to change render quality.\n *\n * @property options.width\n * @type number\n * @default 800\n */\n\n /**\n * The target height in pixels of the `render.canvas` to be created.\n * See also the `options.pixelRatio` property to change render quality.\n *\n * @property options.height\n * @type number\n * @default 600\n */\n\n /**\n * The [pixel ratio](https://developer.mozilla.org/en-US/docs/Web/API/Window/devicePixelRatio) to use when rendering.\n *\n * @property options.pixelRatio\n * @type number\n * @default 1\n */\n\n /**\n * A CSS background color string to use when `render.options.wireframes` is disabled.\n * This may be also set to `'transparent'` or equivalent.\n *\n * @property options.background\n * @type string\n * @default '#14151f'\n */\n\n /**\n * A CSS background color string to use when `render.options.wireframes` is enabled.\n * This may be also set to `'transparent'` or equivalent.\n *\n * @property options.wireframeBackground\n * @type string\n * @default '#14151f'\n */\n\n /**\n * A flag that specifies if `render.bounds` should be used when rendering.\n *\n * @property options.hasBounds\n * @type boolean\n * @default false\n */\n\n /**\n * A flag to enable or disable all debug information overlays together. \n * This includes and has priority over the values of:\n *\n * - `render.options.showStats`\n * - `render.options.showPerformance`\n *\n * @property options.showDebug\n * @type boolean\n * @default false\n */\n\n /**\n * A flag to enable or disable the engine stats info overlay. \n * From left to right, the values shown are:\n *\n * - body parts total\n * - body total\n * - constraints total\n * - composites total\n * - collision pairs total\n *\n * @property options.showStats\n * @type boolean\n * @default false\n */\n\n /**\n * A flag to enable or disable performance charts. \n * From left to right, the values shown are:\n *\n * - average render frequency (e.g. 60 fps)\n * - exact engine delta time used for last update (e.g. 16.66ms)\n * - average engine execution duration (e.g. 5.00ms)\n * - average render execution duration (e.g. 0.40ms)\n * - average effective play speed (e.g. '1.00x' is 'real-time')\n *\n * Each value is recorded over a fixed sample of past frames (60 frames).\n *\n * A chart shown below each value indicates the variance from the average over the sample.\n * The more stable or fixed the value is the flatter the chart will appear.\n *\n * @property options.showPerformance\n * @type boolean\n * @default false\n */\n \n /**\n * A flag to enable or disable rendering entirely.\n *\n * @property options.enabled\n * @type boolean\n * @default false\n */\n\n /**\n * A flag to toggle wireframe rendering otherwise solid fill rendering is used.\n *\n * @property options.wireframes\n * @type boolean\n * @default true\n */\n\n /**\n * A flag to enable or disable sleeping bodies indicators.\n *\n * @property options.showSleeping\n * @type boolean\n * @default true\n */\n\n /**\n * A flag to enable or disable the debug information overlay.\n *\n * @property options.showDebug\n * @type boolean\n * @default false\n */\n\n /**\n * A flag to enable or disable the collision broadphase debug overlay.\n *\n * @deprecated no longer implemented\n * @property options.showBroadphase\n * @type boolean\n * @default false\n */\n\n /**\n * A flag to enable or disable the body bounds debug overlay.\n *\n * @property options.showBounds\n * @type boolean\n * @default false\n */\n\n /**\n * A flag to enable or disable the body velocity debug overlay.\n *\n * @property options.showVelocity\n * @type boolean\n * @default false\n */\n\n /**\n * A flag to enable or disable the body collisions debug overlay.\n *\n * @property options.showCollisions\n * @type boolean\n * @default false\n */\n\n /**\n * A flag to enable or disable the collision resolver separations debug overlay.\n *\n * @property options.showSeparations\n * @type boolean\n * @default false\n */\n\n /**\n * A flag to enable or disable the body axes debug overlay.\n *\n * @property options.showAxes\n * @type boolean\n * @default false\n */\n\n /**\n * A flag to enable or disable the body positions debug overlay.\n *\n * @property options.showPositions\n * @type boolean\n * @default false\n */\n\n /**\n * A flag to enable or disable the body angle debug overlay.\n *\n * @property options.showAngleIndicator\n * @type boolean\n * @default false\n */\n\n /**\n * A flag to enable or disable the body and part ids debug overlay.\n *\n * @property options.showIds\n * @type boolean\n * @default false\n */\n\n /**\n * A flag to enable or disable the body vertex numbers debug overlay.\n *\n * @property options.showVertexNumbers\n * @type boolean\n * @default false\n */\n\n /**\n * A flag to enable or disable the body convex hulls debug overlay.\n *\n * @property options.showConvexHulls\n * @type boolean\n * @default false\n */\n\n /**\n * A flag to enable or disable the body internal edges debug overlay.\n *\n * @property options.showInternalEdges\n * @type boolean\n * @default false\n */\n\n /**\n * A flag to enable or disable the mouse position debug overlay.\n *\n * @property options.showMousePosition\n * @type boolean\n * @default false\n */\n\n})();\n\n\n/***/ }),\n/* 27 */\n/***/ (function(module, exports, __webpack_require__) {\n\n/**\n* The `Matter.Runner` module is an optional utility which provides a game loop, \n* that handles continuously updating a `Matter.Engine` for you within a browser.\n* It is intended for development and debugging purposes, but may also be suitable for simple games.\n* If you are using your own game loop instead, then you do not need the `Matter.Runner` module.\n* Instead just call `Engine.update(engine, delta)` in your own loop.\n*\n* See the included usage [examples](https://github.com/liabru/matter-js/tree/master/examples).\n*\n* @class Runner\n*/\n\nvar Runner = {};\n\nmodule.exports = Runner;\n\nvar Events = __webpack_require__(5);\nvar Engine = __webpack_require__(17);\nvar Common = __webpack_require__(0);\n\n(function() {\n\n var _requestAnimationFrame,\n _cancelAnimationFrame;\n\n if (typeof window !== 'undefined') {\n _requestAnimationFrame = window.requestAnimationFrame || window.webkitRequestAnimationFrame\n || window.mozRequestAnimationFrame || window.msRequestAnimationFrame;\n \n _cancelAnimationFrame = window.cancelAnimationFrame || window.mozCancelAnimationFrame \n || window.webkitCancelAnimationFrame || window.msCancelAnimationFrame;\n }\n\n if (!_requestAnimationFrame) {\n var _frameTimeout;\n\n _requestAnimationFrame = function(callback){ \n _frameTimeout = setTimeout(function() { \n callback(Common.now()); \n }, 1000 / 60);\n };\n\n _cancelAnimationFrame = function() {\n clearTimeout(_frameTimeout);\n };\n }\n\n /**\n * Creates a new Runner. The options parameter is an object that specifies any properties you wish to override the defaults.\n * @method create\n * @param {} options\n */\n Runner.create = function(options) {\n var defaults = {\n fps: 60,\n deltaSampleSize: 60,\n counterTimestamp: 0,\n frameCounter: 0,\n deltaHistory: [],\n timePrev: null,\n frameRequestId: null,\n isFixed: false,\n enabled: true\n };\n\n var runner = Common.extend(defaults, options);\n\n runner.delta = runner.delta || 1000 / runner.fps;\n runner.deltaMin = runner.deltaMin || 1000 / runner.fps;\n runner.deltaMax = runner.deltaMax || 1000 / (runner.fps * 0.5);\n runner.fps = 1000 / runner.delta;\n\n return runner;\n };\n\n /**\n * Continuously ticks a `Matter.Engine` by calling `Runner.tick` on the `requestAnimationFrame` event.\n * @method run\n * @param {engine} engine\n */\n Runner.run = function(runner, engine) {\n // create runner if engine is first argument\n if (typeof runner.positionIterations !== 'undefined') {\n engine = runner;\n runner = Runner.create();\n }\n\n (function run(time){\n runner.frameRequestId = _requestAnimationFrame(run);\n\n if (time && runner.enabled) {\n Runner.tick(runner, engine, time);\n }\n })();\n\n return runner;\n };\n\n /**\n * A game loop utility that updates the engine and renderer by one step (a 'tick').\n * Features delta smoothing, time correction and fixed or dynamic timing.\n * Consider just `Engine.update(engine, delta)` if you're using your own loop.\n * @method tick\n * @param {runner} runner\n * @param {engine} engine\n * @param {number} time\n */\n Runner.tick = function(runner, engine, time) {\n var timing = engine.timing,\n delta;\n\n if (runner.isFixed) {\n // fixed timestep\n delta = runner.delta;\n } else {\n // dynamic timestep based on wall clock between calls\n delta = (time - runner.timePrev) || runner.delta;\n runner.timePrev = time;\n\n // optimistically filter delta over a few frames, to improve stability\n runner.deltaHistory.push(delta);\n runner.deltaHistory = runner.deltaHistory.slice(-runner.deltaSampleSize);\n delta = Math.min.apply(null, runner.deltaHistory);\n\n // limit delta\n delta = delta < runner.deltaMin ? runner.deltaMin : delta;\n delta = delta > runner.deltaMax ? runner.deltaMax : delta;\n\n // update engine timing object\n runner.delta = delta;\n }\n\n // create an event object\n var event = {\n timestamp: timing.timestamp\n };\n\n Events.trigger(runner, 'beforeTick', event);\n\n // fps counter\n runner.frameCounter += 1;\n if (time - runner.counterTimestamp >= 1000) {\n runner.fps = runner.frameCounter * ((time - runner.counterTimestamp) / 1000);\n runner.counterTimestamp = time;\n runner.frameCounter = 0;\n }\n\n Events.trigger(runner, 'tick', event);\n\n // update\n Events.trigger(runner, 'beforeUpdate', event);\n\n Engine.update(engine, delta);\n\n Events.trigger(runner, 'afterUpdate', event);\n\n Events.trigger(runner, 'afterTick', event);\n };\n\n /**\n * Ends execution of `Runner.run` on the given `runner`, by canceling the animation frame request event loop.\n * If you wish to only temporarily pause the engine, see `engine.enabled` instead.\n * @method stop\n * @param {runner} runner\n */\n Runner.stop = function(runner) {\n _cancelAnimationFrame(runner.frameRequestId);\n };\n\n /**\n * Alias for `Runner.run`.\n * @method start\n * @param {runner} runner\n * @param {engine} engine\n */\n Runner.start = function(runner, engine) {\n Runner.run(runner, engine);\n };\n\n /*\n *\n * Events Documentation\n *\n */\n\n /**\n * Fired at the start of a tick, before any updates to the engine or timing\n *\n * @event beforeTick\n * @param {} event An event object\n * @param {number} event.timestamp The engine.timing.timestamp of the event\n * @param {} event.source The source object of the event\n * @param {} event.name The name of the event\n */\n\n /**\n * Fired after engine timing updated, but just before update\n *\n * @event tick\n * @param {} event An event object\n * @param {number} event.timestamp The engine.timing.timestamp of the event\n * @param {} event.source The source object of the event\n * @param {} event.name The name of the event\n */\n\n /**\n * Fired at the end of a tick, after engine update and after rendering\n *\n * @event afterTick\n * @param {} event An event object\n * @param {number} event.timestamp The engine.timing.timestamp of the event\n * @param {} event.source The source object of the event\n * @param {} event.name The name of the event\n */\n\n /**\n * Fired before update\n *\n * @event beforeUpdate\n * @param {} event An event object\n * @param {number} event.timestamp The engine.timing.timestamp of the event\n * @param {} event.source The source object of the event\n * @param {} event.name The name of the event\n */\n\n /**\n * Fired after update\n *\n * @event afterUpdate\n * @param {} event An event object\n * @param {number} event.timestamp The engine.timing.timestamp of the event\n * @param {} event.source The source object of the event\n * @param {} event.name The name of the event\n */\n\n /*\n *\n * Properties Documentation\n *\n */\n\n /**\n * A flag that specifies whether the runner is running or not.\n *\n * @property enabled\n * @type boolean\n * @default true\n */\n\n /**\n * A `Boolean` that specifies if the runner should use a fixed timestep (otherwise it is variable).\n * If timing is fixed, then the apparent simulation speed will change depending on the frame rate (but behaviour will be deterministic).\n * If the timing is variable, then the apparent simulation speed will be constant (approximately, but at the cost of determininism).\n *\n * @property isFixed\n * @type boolean\n * @default false\n */\n\n /**\n * A `Number` that specifies the time step between updates in milliseconds.\n * If `engine.timing.isFixed` is set to `true`, then `delta` is fixed.\n * If it is `false`, then `delta` can dynamically change to maintain the correct apparent simulation speed.\n *\n * @property delta\n * @type number\n * @default 1000 / 60\n */\n\n})();\n\n\n/***/ }),\n/* 28 */\n/***/ (function(module, exports, __webpack_require__) {\n\n/**\n* This module has now been replaced by `Matter.Collision`.\n*\n* All usage should be migrated to `Matter.Collision`.\n* For back-compatibility purposes this module will remain for a short term and then later removed in a future release.\n*\n* The `Matter.SAT` module contains methods for detecting collisions using the Separating Axis Theorem.\n*\n* @class SAT\n* @deprecated\n*/\n\nvar SAT = {};\n\nmodule.exports = SAT;\n\nvar Collision = __webpack_require__(8);\nvar Common = __webpack_require__(0);\nvar deprecated = Common.deprecated;\n\n(function() {\n\n /**\n * Detect collision between two bodies using the Separating Axis Theorem.\n * @deprecated replaced by Collision.collides\n * @method collides\n * @param {body} bodyA\n * @param {body} bodyB\n * @return {collision} collision\n */\n SAT.collides = function(bodyA, bodyB) {\n return Collision.collides(bodyA, bodyB);\n };\n\n deprecated(SAT, 'collides', 'SAT.collides ➤ replaced by Collision.collides');\n\n})();\n\n\n/***/ }),\n/* 29 */\n/***/ (function(module, exports, __webpack_require__) {\n\n/**\n* The `Matter.Svg` module contains methods for converting SVG images into an array of vector points.\n*\n* To use this module you also need the SVGPathSeg polyfill: https://github.com/progers/pathseg\n*\n* See the included usage [examples](https://github.com/liabru/matter-js/tree/master/examples).\n*\n* @class Svg\n*/\n\nvar Svg = {};\n\nmodule.exports = Svg;\n\nvar Bounds = __webpack_require__(1);\nvar Common = __webpack_require__(0);\n\n(function() {\n\n /**\n * Converts an SVG path into an array of vector points.\n * If the input path forms a concave shape, you must decompose the result into convex parts before use.\n * See `Bodies.fromVertices` which provides support for this.\n * Note that this function is not guaranteed to support complex paths (such as those with holes).\n * You must load the `pathseg.js` polyfill on newer browsers.\n * @method pathToVertices\n * @param {SVGPathElement} path\n * @param {Number} [sampleLength=15]\n * @return {Vector[]} points\n */\n Svg.pathToVertices = function(path, sampleLength) {\n if (typeof window !== 'undefined' && !('SVGPathSeg' in window)) {\n Common.warn('Svg.pathToVertices: SVGPathSeg not defined, a polyfill is required.');\n }\n\n // https://github.com/wout/svg.topoly.js/blob/master/svg.topoly.js\n var i, il, total, point, segment, segments, \n segmentsQueue, lastSegment, \n lastPoint, segmentIndex, points = [],\n lx, ly, length = 0, x = 0, y = 0;\n\n sampleLength = sampleLength || 15;\n\n var addPoint = function(px, py, pathSegType) {\n // all odd-numbered path types are relative except PATHSEG_CLOSEPATH (1)\n var isRelative = pathSegType % 2 === 1 && pathSegType > 1;\n\n // when the last point doesn't equal the current point add the current point\n if (!lastPoint || px != lastPoint.x || py != lastPoint.y) {\n if (lastPoint && isRelative) {\n lx = lastPoint.x;\n ly = lastPoint.y;\n } else {\n lx = 0;\n ly = 0;\n }\n\n var point = {\n x: lx + px,\n y: ly + py\n };\n\n // set last point\n if (isRelative || !lastPoint) {\n lastPoint = point;\n }\n\n points.push(point);\n\n x = lx + px;\n y = ly + py;\n }\n };\n\n var addSegmentPoint = function(segment) {\n var segType = segment.pathSegTypeAsLetter.toUpperCase();\n\n // skip path ends\n if (segType === 'Z') \n return;\n\n // map segment to x and y\n switch (segType) {\n\n case 'M':\n case 'L':\n case 'T':\n case 'C':\n case 'S':\n case 'Q':\n x = segment.x;\n y = segment.y;\n break;\n case 'H':\n x = segment.x;\n break;\n case 'V':\n y = segment.y;\n break;\n }\n\n addPoint(x, y, segment.pathSegType);\n };\n\n // ensure path is absolute\n Svg._svgPathToAbsolute(path);\n\n // get total length\n total = path.getTotalLength();\n\n // queue segments\n segments = [];\n for (i = 0; i < path.pathSegList.numberOfItems; i += 1)\n segments.push(path.pathSegList.getItem(i));\n\n segmentsQueue = segments.concat();\n\n // sample through path\n while (length < total) {\n // get segment at position\n segmentIndex = path.getPathSegAtLength(length);\n segment = segments[segmentIndex];\n\n // new segment\n if (segment != lastSegment) {\n while (segmentsQueue.length && segmentsQueue[0] != segment)\n addSegmentPoint(segmentsQueue.shift());\n\n lastSegment = segment;\n }\n\n // add points in between when curving\n // TODO: adaptive sampling\n switch (segment.pathSegTypeAsLetter.toUpperCase()) {\n\n case 'C':\n case 'T':\n case 'S':\n case 'Q':\n case 'A':\n point = path.getPointAtLength(length);\n addPoint(point.x, point.y, 0);\n break;\n\n }\n\n // increment by sample value\n length += sampleLength;\n }\n\n // add remaining segments not passed by sampling\n for (i = 0, il = segmentsQueue.length; i < il; ++i)\n addSegmentPoint(segmentsQueue[i]);\n\n return points;\n };\n\n Svg._svgPathToAbsolute = function(path) {\n // http://phrogz.net/convert-svg-path-to-all-absolute-commands\n // Copyright (c) Gavin Kistner\n // http://phrogz.net/js/_ReuseLicense.txt\n // Modifications: tidy formatting and naming\n var x0, y0, x1, y1, x2, y2, segs = path.pathSegList,\n x = 0, y = 0, len = segs.numberOfItems;\n\n for (var i = 0; i < len; ++i) {\n var seg = segs.getItem(i),\n segType = seg.pathSegTypeAsLetter;\n\n if (/[MLHVCSQTA]/.test(segType)) {\n if ('x' in seg) x = seg.x;\n if ('y' in seg) y = seg.y;\n } else {\n if ('x1' in seg) x1 = x + seg.x1;\n if ('x2' in seg) x2 = x + seg.x2;\n if ('y1' in seg) y1 = y + seg.y1;\n if ('y2' in seg) y2 = y + seg.y2;\n if ('x' in seg) x += seg.x;\n if ('y' in seg) y += seg.y;\n\n switch (segType) {\n\n case 'm':\n segs.replaceItem(path.createSVGPathSegMovetoAbs(x, y), i);\n break;\n case 'l':\n segs.replaceItem(path.createSVGPathSegLinetoAbs(x, y), i);\n break;\n case 'h':\n segs.replaceItem(path.createSVGPathSegLinetoHorizontalAbs(x), i);\n break;\n case 'v':\n segs.replaceItem(path.createSVGPathSegLinetoVerticalAbs(y), i);\n break;\n case 'c':\n segs.replaceItem(path.createSVGPathSegCurvetoCubicAbs(x, y, x1, y1, x2, y2), i);\n break;\n case 's':\n segs.replaceItem(path.createSVGPathSegCurvetoCubicSmoothAbs(x, y, x2, y2), i);\n break;\n case 'q':\n segs.replaceItem(path.createSVGPathSegCurvetoQuadraticAbs(x, y, x1, y1), i);\n break;\n case 't':\n segs.replaceItem(path.createSVGPathSegCurvetoQuadraticSmoothAbs(x, y), i);\n break;\n case 'a':\n segs.replaceItem(path.createSVGPathSegArcAbs(x, y, seg.r1, seg.r2, seg.angle, seg.largeArcFlag, seg.sweepFlag), i);\n break;\n case 'z':\n case 'Z':\n x = x0;\n y = y0;\n break;\n\n }\n }\n\n if (segType == 'M' || segType == 'm') {\n x0 = x;\n y0 = y;\n }\n }\n };\n\n})();\n\n/***/ }),\n/* 30 */\n/***/ (function(module, exports, __webpack_require__) {\n\n/**\n* This module has now been replaced by `Matter.Composite`.\n*\n* All usage should be migrated to the equivalent functions found on `Matter.Composite`.\n* For example `World.add(world, body)` now becomes `Composite.add(world, body)`.\n*\n* The property `world.gravity` has been moved to `engine.gravity`.\n*\n* For back-compatibility purposes this module will remain as a direct alias to `Matter.Composite` in the short term during migration.\n* Eventually this alias module will be marked as deprecated and then later removed in a future release.\n*\n* @class World\n*/\n\nvar World = {};\n\nmodule.exports = World;\n\nvar Composite = __webpack_require__(6);\nvar Common = __webpack_require__(0);\n\n(function() {\n\n /**\n * See above, aliases for back compatibility only\n */\n World.create = Composite.create;\n World.add = Composite.add;\n World.remove = Composite.remove;\n World.clear = Composite.clear;\n World.addComposite = Composite.addComposite;\n World.addBody = Composite.addBody;\n World.addConstraint = Composite.addConstraint;\n\n})();\n\n\n/***/ })\n/******/ ]);\n});","/**\n * @license React\n * react-dom.production.min.js\n *\n * Copyright (c) Facebook, Inc. and its affiliates.\n *\n * This source code is licensed under the MIT license found in the\n * LICENSE file in the root directory of this source tree.\n */\n/*\n Modernizr 3.0.0pre (Custom Build) | MIT\n*/\n'use strict';var aa=require(\"react\"),ca=require(\"scheduler\");function p(a){for(var b=\"https://reactjs.org/docs/error-decoder.html?invariant=\"+a,c=1;cb}return!1}function v(a,b,c,d,e,f,g){this.acceptsBooleans=2===b||3===b||4===b;this.attributeName=d;this.attributeNamespace=e;this.mustUseProperty=c;this.propertyName=a;this.type=b;this.sanitizeURL=f;this.removeEmptyString=g}var z={};\n\"children dangerouslySetInnerHTML defaultValue defaultChecked innerHTML suppressContentEditableWarning suppressHydrationWarning style\".split(\" \").forEach(function(a){z[a]=new v(a,0,!1,a,null,!1,!1)});[[\"acceptCharset\",\"accept-charset\"],[\"className\",\"class\"],[\"htmlFor\",\"for\"],[\"httpEquiv\",\"http-equiv\"]].forEach(function(a){var b=a[0];z[b]=new v(b,1,!1,a[1],null,!1,!1)});[\"contentEditable\",\"draggable\",\"spellCheck\",\"value\"].forEach(function(a){z[a]=new v(a,2,!1,a.toLowerCase(),null,!1,!1)});\n[\"autoReverse\",\"externalResourcesRequired\",\"focusable\",\"preserveAlpha\"].forEach(function(a){z[a]=new v(a,2,!1,a,null,!1,!1)});\"allowFullScreen async autoFocus autoPlay controls default defer disabled disablePictureInPicture disableRemotePlayback formNoValidate hidden loop noModule noValidate open playsInline readOnly required reversed scoped seamless itemScope\".split(\" \").forEach(function(a){z[a]=new v(a,3,!1,a.toLowerCase(),null,!1,!1)});\n[\"checked\",\"multiple\",\"muted\",\"selected\"].forEach(function(a){z[a]=new v(a,3,!0,a,null,!1,!1)});[\"capture\",\"download\"].forEach(function(a){z[a]=new v(a,4,!1,a,null,!1,!1)});[\"cols\",\"rows\",\"size\",\"span\"].forEach(function(a){z[a]=new v(a,6,!1,a,null,!1,!1)});[\"rowSpan\",\"start\"].forEach(function(a){z[a]=new v(a,5,!1,a.toLowerCase(),null,!1,!1)});var ra=/[\\-:]([a-z])/g;function sa(a){return a[1].toUpperCase()}\n\"accent-height alignment-baseline arabic-form baseline-shift cap-height clip-path clip-rule color-interpolation color-interpolation-filters color-profile color-rendering dominant-baseline enable-background fill-opacity fill-rule flood-color flood-opacity font-family font-size font-size-adjust font-stretch font-style font-variant font-weight glyph-name glyph-orientation-horizontal glyph-orientation-vertical horiz-adv-x horiz-origin-x image-rendering letter-spacing lighting-color marker-end marker-mid marker-start overline-position overline-thickness paint-order panose-1 pointer-events rendering-intent shape-rendering stop-color stop-opacity strikethrough-position strikethrough-thickness stroke-dasharray stroke-dashoffset stroke-linecap stroke-linejoin stroke-miterlimit stroke-opacity stroke-width text-anchor text-decoration text-rendering underline-position underline-thickness unicode-bidi unicode-range units-per-em v-alphabetic v-hanging v-ideographic v-mathematical vector-effect vert-adv-y vert-origin-x vert-origin-y word-spacing writing-mode xmlns:xlink x-height\".split(\" \").forEach(function(a){var b=a.replace(ra,\nsa);z[b]=new v(b,1,!1,a,null,!1,!1)});\"xlink:actuate xlink:arcrole xlink:role xlink:show xlink:title xlink:type\".split(\" \").forEach(function(a){var b=a.replace(ra,sa);z[b]=new v(b,1,!1,a,\"http://www.w3.org/1999/xlink\",!1,!1)});[\"xml:base\",\"xml:lang\",\"xml:space\"].forEach(function(a){var b=a.replace(ra,sa);z[b]=new v(b,1,!1,a,\"http://www.w3.org/XML/1998/namespace\",!1,!1)});[\"tabIndex\",\"crossOrigin\"].forEach(function(a){z[a]=new v(a,1,!1,a.toLowerCase(),null,!1,!1)});\nz.xlinkHref=new v(\"xlinkHref\",1,!1,\"xlink:href\",\"http://www.w3.org/1999/xlink\",!0,!1);[\"src\",\"href\",\"action\",\"formAction\"].forEach(function(a){z[a]=new v(a,1,!1,a.toLowerCase(),null,!0,!0)});\nfunction ta(a,b,c,d){var e=z.hasOwnProperty(b)?z[b]:null;if(null!==e?0!==e.type:d||!(2h||e[g]!==f[h]){var k=\"\\n\"+e[g].replace(\" at new \",\" at \");a.displayName&&k.includes(\"\")&&(k=k.replace(\"\",a.displayName));return k}while(1<=g&&0<=h)}break}}}finally{Na=!1,Error.prepareStackTrace=c}return(a=a?a.displayName||a.name:\"\")?Ma(a):\"\"}\nfunction Pa(a){switch(a.tag){case 5:return Ma(a.type);case 16:return Ma(\"Lazy\");case 13:return Ma(\"Suspense\");case 19:return Ma(\"SuspenseList\");case 0:case 2:case 15:return a=Oa(a.type,!1),a;case 11:return a=Oa(a.type.render,!1),a;case 1:return a=Oa(a.type,!0),a;default:return\"\"}}\nfunction Qa(a){if(null==a)return null;if(\"function\"===typeof a)return a.displayName||a.name||null;if(\"string\"===typeof a)return a;switch(a){case ya:return\"Fragment\";case wa:return\"Portal\";case Aa:return\"Profiler\";case za:return\"StrictMode\";case Ea:return\"Suspense\";case Fa:return\"SuspenseList\"}if(\"object\"===typeof a)switch(a.$$typeof){case Ca:return(a.displayName||\"Context\")+\".Consumer\";case Ba:return(a._context.displayName||\"Context\")+\".Provider\";case Da:var b=a.render;a=a.displayName;a||(a=b.displayName||\nb.name||\"\",a=\"\"!==a?\"ForwardRef(\"+a+\")\":\"ForwardRef\");return a;case Ga:return b=a.displayName||null,null!==b?b:Qa(a.type)||\"Memo\";case Ha:b=a._payload;a=a._init;try{return Qa(a(b))}catch(c){}}return null}\nfunction Ra(a){var b=a.type;switch(a.tag){case 24:return\"Cache\";case 9:return(b.displayName||\"Context\")+\".Consumer\";case 10:return(b._context.displayName||\"Context\")+\".Provider\";case 18:return\"DehydratedFragment\";case 11:return a=b.render,a=a.displayName||a.name||\"\",b.displayName||(\"\"!==a?\"ForwardRef(\"+a+\")\":\"ForwardRef\");case 7:return\"Fragment\";case 5:return b;case 4:return\"Portal\";case 3:return\"Root\";case 6:return\"Text\";case 16:return Qa(b);case 8:return b===za?\"StrictMode\":\"Mode\";case 22:return\"Offscreen\";\ncase 12:return\"Profiler\";case 21:return\"Scope\";case 13:return\"Suspense\";case 19:return\"SuspenseList\";case 25:return\"TracingMarker\";case 1:case 0:case 17:case 2:case 14:case 15:if(\"function\"===typeof b)return b.displayName||b.name||null;if(\"string\"===typeof b)return b}return null}function Sa(a){switch(typeof a){case \"boolean\":case \"number\":case \"string\":case \"undefined\":return a;case \"object\":return a;default:return\"\"}}\nfunction Ta(a){var b=a.type;return(a=a.nodeName)&&\"input\"===a.toLowerCase()&&(\"checkbox\"===b||\"radio\"===b)}\nfunction Ua(a){var b=Ta(a)?\"checked\":\"value\",c=Object.getOwnPropertyDescriptor(a.constructor.prototype,b),d=\"\"+a[b];if(!a.hasOwnProperty(b)&&\"undefined\"!==typeof c&&\"function\"===typeof c.get&&\"function\"===typeof c.set){var e=c.get,f=c.set;Object.defineProperty(a,b,{configurable:!0,get:function(){return e.call(this)},set:function(a){d=\"\"+a;f.call(this,a)}});Object.defineProperty(a,b,{enumerable:c.enumerable});return{getValue:function(){return d},setValue:function(a){d=\"\"+a},stopTracking:function(){a._valueTracker=\nnull;delete a[b]}}}}function Va(a){a._valueTracker||(a._valueTracker=Ua(a))}function Wa(a){if(!a)return!1;var b=a._valueTracker;if(!b)return!0;var c=b.getValue();var d=\"\";a&&(d=Ta(a)?a.checked?\"true\":\"false\":a.value);a=d;return a!==c?(b.setValue(a),!0):!1}function Xa(a){a=a||(\"undefined\"!==typeof document?document:void 0);if(\"undefined\"===typeof a)return null;try{return a.activeElement||a.body}catch(b){return a.body}}\nfunction Ya(a,b){var c=b.checked;return A({},b,{defaultChecked:void 0,defaultValue:void 0,value:void 0,checked:null!=c?c:a._wrapperState.initialChecked})}function Za(a,b){var c=null==b.defaultValue?\"\":b.defaultValue,d=null!=b.checked?b.checked:b.defaultChecked;c=Sa(null!=b.value?b.value:c);a._wrapperState={initialChecked:d,initialValue:c,controlled:\"checkbox\"===b.type||\"radio\"===b.type?null!=b.checked:null!=b.value}}function ab(a,b){b=b.checked;null!=b&&ta(a,\"checked\",b,!1)}\nfunction bb(a,b){ab(a,b);var c=Sa(b.value),d=b.type;if(null!=c)if(\"number\"===d){if(0===c&&\"\"===a.value||a.value!=c)a.value=\"\"+c}else a.value!==\"\"+c&&(a.value=\"\"+c);else if(\"submit\"===d||\"reset\"===d){a.removeAttribute(\"value\");return}b.hasOwnProperty(\"value\")?cb(a,b.type,c):b.hasOwnProperty(\"defaultValue\")&&cb(a,b.type,Sa(b.defaultValue));null==b.checked&&null!=b.defaultChecked&&(a.defaultChecked=!!b.defaultChecked)}\nfunction db(a,b,c){if(b.hasOwnProperty(\"value\")||b.hasOwnProperty(\"defaultValue\")){var d=b.type;if(!(\"submit\"!==d&&\"reset\"!==d||void 0!==b.value&&null!==b.value))return;b=\"\"+a._wrapperState.initialValue;c||b===a.value||(a.value=b);a.defaultValue=b}c=a.name;\"\"!==c&&(a.name=\"\");a.defaultChecked=!!a._wrapperState.initialChecked;\"\"!==c&&(a.name=c)}\nfunction cb(a,b,c){if(\"number\"!==b||Xa(a.ownerDocument)!==a)null==c?a.defaultValue=\"\"+a._wrapperState.initialValue:a.defaultValue!==\"\"+c&&(a.defaultValue=\"\"+c)}var eb=Array.isArray;\nfunction fb(a,b,c,d){a=a.options;if(b){b={};for(var e=0;e\"+b.valueOf().toString()+\"\";for(b=mb.firstChild;a.firstChild;)a.removeChild(a.firstChild);for(;b.firstChild;)a.appendChild(b.firstChild)}});\nfunction ob(a,b){if(b){var c=a.firstChild;if(c&&c===a.lastChild&&3===c.nodeType){c.nodeValue=b;return}}a.textContent=b}\nvar pb={animationIterationCount:!0,aspectRatio:!0,borderImageOutset:!0,borderImageSlice:!0,borderImageWidth:!0,boxFlex:!0,boxFlexGroup:!0,boxOrdinalGroup:!0,columnCount:!0,columns:!0,flex:!0,flexGrow:!0,flexPositive:!0,flexShrink:!0,flexNegative:!0,flexOrder:!0,gridArea:!0,gridRow:!0,gridRowEnd:!0,gridRowSpan:!0,gridRowStart:!0,gridColumn:!0,gridColumnEnd:!0,gridColumnSpan:!0,gridColumnStart:!0,fontWeight:!0,lineClamp:!0,lineHeight:!0,opacity:!0,order:!0,orphans:!0,tabSize:!0,widows:!0,zIndex:!0,\nzoom:!0,fillOpacity:!0,floodOpacity:!0,stopOpacity:!0,strokeDasharray:!0,strokeDashoffset:!0,strokeMiterlimit:!0,strokeOpacity:!0,strokeWidth:!0},qb=[\"Webkit\",\"ms\",\"Moz\",\"O\"];Object.keys(pb).forEach(function(a){qb.forEach(function(b){b=b+a.charAt(0).toUpperCase()+a.substring(1);pb[b]=pb[a]})});function rb(a,b,c){return null==b||\"boolean\"===typeof b||\"\"===b?\"\":c||\"number\"!==typeof b||0===b||pb.hasOwnProperty(a)&&pb[a]?(\"\"+b).trim():b+\"px\"}\nfunction sb(a,b){a=a.style;for(var c in b)if(b.hasOwnProperty(c)){var d=0===c.indexOf(\"--\"),e=rb(c,b[c],d);\"float\"===c&&(c=\"cssFloat\");d?a.setProperty(c,e):a[c]=e}}var tb=A({menuitem:!0},{area:!0,base:!0,br:!0,col:!0,embed:!0,hr:!0,img:!0,input:!0,keygen:!0,link:!0,meta:!0,param:!0,source:!0,track:!0,wbr:!0});\nfunction ub(a,b){if(b){if(tb[a]&&(null!=b.children||null!=b.dangerouslySetInnerHTML))throw Error(p(137,a));if(null!=b.dangerouslySetInnerHTML){if(null!=b.children)throw Error(p(60));if(\"object\"!==typeof b.dangerouslySetInnerHTML||!(\"__html\"in b.dangerouslySetInnerHTML))throw Error(p(61));}if(null!=b.style&&\"object\"!==typeof b.style)throw Error(p(62));}}\nfunction vb(a,b){if(-1===a.indexOf(\"-\"))return\"string\"===typeof b.is;switch(a){case \"annotation-xml\":case \"color-profile\":case \"font-face\":case \"font-face-src\":case \"font-face-uri\":case \"font-face-format\":case \"font-face-name\":case \"missing-glyph\":return!1;default:return!0}}var wb=null;function xb(a){a=a.target||a.srcElement||window;a.correspondingUseElement&&(a=a.correspondingUseElement);return 3===a.nodeType?a.parentNode:a}var yb=null,zb=null,Ab=null;\nfunction Bb(a){if(a=Cb(a)){if(\"function\"!==typeof yb)throw Error(p(280));var b=a.stateNode;b&&(b=Db(b),yb(a.stateNode,a.type,b))}}function Eb(a){zb?Ab?Ab.push(a):Ab=[a]:zb=a}function Fb(){if(zb){var a=zb,b=Ab;Ab=zb=null;Bb(a);if(b)for(a=0;a>>=0;return 0===a?32:31-(pc(a)/qc|0)|0}var rc=64,sc=4194304;\nfunction tc(a){switch(a&-a){case 1:return 1;case 2:return 2;case 4:return 4;case 8:return 8;case 16:return 16;case 32:return 32;case 64:case 128:case 256:case 512:case 1024:case 2048:case 4096:case 8192:case 16384:case 32768:case 65536:case 131072:case 262144:case 524288:case 1048576:case 2097152:return a&4194240;case 4194304:case 8388608:case 16777216:case 33554432:case 67108864:return a&130023424;case 134217728:return 134217728;case 268435456:return 268435456;case 536870912:return 536870912;case 1073741824:return 1073741824;\ndefault:return a}}function uc(a,b){var c=a.pendingLanes;if(0===c)return 0;var d=0,e=a.suspendedLanes,f=a.pingedLanes,g=c&268435455;if(0!==g){var h=g&~e;0!==h?d=tc(h):(f&=g,0!==f&&(d=tc(f)))}else g=c&~e,0!==g?d=tc(g):0!==f&&(d=tc(f));if(0===d)return 0;if(0!==b&&b!==d&&0===(b&e)&&(e=d&-d,f=b&-b,e>=f||16===e&&0!==(f&4194240)))return b;0!==(d&4)&&(d|=c&16);b=a.entangledLanes;if(0!==b)for(a=a.entanglements,b&=d;0c;c++)b.push(a);return b}\nfunction Ac(a,b,c){a.pendingLanes|=b;536870912!==b&&(a.suspendedLanes=0,a.pingedLanes=0);a=a.eventTimes;b=31-oc(b);a[b]=c}function Bc(a,b){var c=a.pendingLanes&~b;a.pendingLanes=b;a.suspendedLanes=0;a.pingedLanes=0;a.expiredLanes&=b;a.mutableReadLanes&=b;a.entangledLanes&=b;b=a.entanglements;var d=a.eventTimes;for(a=a.expirationTimes;0=be),ee=String.fromCharCode(32),fe=!1;\nfunction ge(a,b){switch(a){case \"keyup\":return-1!==$d.indexOf(b.keyCode);case \"keydown\":return 229!==b.keyCode;case \"keypress\":case \"mousedown\":case \"focusout\":return!0;default:return!1}}function he(a){a=a.detail;return\"object\"===typeof a&&\"data\"in a?a.data:null}var ie=!1;function je(a,b){switch(a){case \"compositionend\":return he(b);case \"keypress\":if(32!==b.which)return null;fe=!0;return ee;case \"textInput\":return a=b.data,a===ee&&fe?null:a;default:return null}}\nfunction ke(a,b){if(ie)return\"compositionend\"===a||!ae&&ge(a,b)?(a=nd(),md=ld=kd=null,ie=!1,a):null;switch(a){case \"paste\":return null;case \"keypress\":if(!(b.ctrlKey||b.altKey||b.metaKey)||b.ctrlKey&&b.altKey){if(b.char&&1=b)return{node:c,offset:b-a};a=d}a:{for(;c;){if(c.nextSibling){c=c.nextSibling;break a}c=c.parentNode}c=void 0}c=Je(c)}}function Le(a,b){return a&&b?a===b?!0:a&&3===a.nodeType?!1:b&&3===b.nodeType?Le(a,b.parentNode):\"contains\"in a?a.contains(b):a.compareDocumentPosition?!!(a.compareDocumentPosition(b)&16):!1:!1}\nfunction Me(){for(var a=window,b=Xa();b instanceof a.HTMLIFrameElement;){try{var c=\"string\"===typeof b.contentWindow.location.href}catch(d){c=!1}if(c)a=b.contentWindow;else break;b=Xa(a.document)}return b}function Ne(a){var b=a&&a.nodeName&&a.nodeName.toLowerCase();return b&&(\"input\"===b&&(\"text\"===a.type||\"search\"===a.type||\"tel\"===a.type||\"url\"===a.type||\"password\"===a.type)||\"textarea\"===b||\"true\"===a.contentEditable)}\nfunction Oe(a){var b=Me(),c=a.focusedElem,d=a.selectionRange;if(b!==c&&c&&c.ownerDocument&&Le(c.ownerDocument.documentElement,c)){if(null!==d&&Ne(c))if(b=d.start,a=d.end,void 0===a&&(a=b),\"selectionStart\"in c)c.selectionStart=b,c.selectionEnd=Math.min(a,c.value.length);else if(a=(b=c.ownerDocument||document)&&b.defaultView||window,a.getSelection){a=a.getSelection();var e=c.textContent.length,f=Math.min(d.start,e);d=void 0===d.end?f:Math.min(d.end,e);!a.extend&&f>d&&(e=d,d=f,f=e);e=Ke(c,f);var g=Ke(c,\nd);e&&g&&(1!==a.rangeCount||a.anchorNode!==e.node||a.anchorOffset!==e.offset||a.focusNode!==g.node||a.focusOffset!==g.offset)&&(b=b.createRange(),b.setStart(e.node,e.offset),a.removeAllRanges(),f>d?(a.addRange(b),a.extend(g.node,g.offset)):(b.setEnd(g.node,g.offset),a.addRange(b)))}b=[];for(a=c;a=a.parentNode;)1===a.nodeType&&b.push({element:a,left:a.scrollLeft,top:a.scrollTop});\"function\"===typeof c.focus&&c.focus();for(c=0;c=document.documentMode,Qe=null,Re=null,Se=null,Te=!1;\nfunction Ue(a,b,c){var d=c.window===c?c.document:9===c.nodeType?c:c.ownerDocument;Te||null==Qe||Qe!==Xa(d)||(d=Qe,\"selectionStart\"in d&&Ne(d)?d={start:d.selectionStart,end:d.selectionEnd}:(d=(d.ownerDocument&&d.ownerDocument.defaultView||window).getSelection(),d={anchorNode:d.anchorNode,anchorOffset:d.anchorOffset,focusNode:d.focusNode,focusOffset:d.focusOffset}),Se&&Ie(Se,d)||(Se=d,d=oe(Re,\"onSelect\"),0Tf||(a.current=Sf[Tf],Sf[Tf]=null,Tf--)}function G(a,b){Tf++;Sf[Tf]=a.current;a.current=b}var Vf={},H=Uf(Vf),Wf=Uf(!1),Xf=Vf;function Yf(a,b){var c=a.type.contextTypes;if(!c)return Vf;var d=a.stateNode;if(d&&d.__reactInternalMemoizedUnmaskedChildContext===b)return d.__reactInternalMemoizedMaskedChildContext;var e={},f;for(f in c)e[f]=b[f];d&&(a=a.stateNode,a.__reactInternalMemoizedUnmaskedChildContext=b,a.__reactInternalMemoizedMaskedChildContext=e);return e}\nfunction Zf(a){a=a.childContextTypes;return null!==a&&void 0!==a}function $f(){E(Wf);E(H)}function ag(a,b,c){if(H.current!==Vf)throw Error(p(168));G(H,b);G(Wf,c)}function bg(a,b,c){var d=a.stateNode;b=b.childContextTypes;if(\"function\"!==typeof d.getChildContext)return c;d=d.getChildContext();for(var e in d)if(!(e in b))throw Error(p(108,Ra(a)||\"Unknown\",e));return A({},c,d)}\nfunction cg(a){a=(a=a.stateNode)&&a.__reactInternalMemoizedMergedChildContext||Vf;Xf=H.current;G(H,a);G(Wf,Wf.current);return!0}function dg(a,b,c){var d=a.stateNode;if(!d)throw Error(p(169));c?(a=bg(a,b,Xf),d.__reactInternalMemoizedMergedChildContext=a,E(Wf),E(H),G(H,a)):E(Wf);G(Wf,c)}var eg=null,fg=!1,gg=!1;function hg(a){null===eg?eg=[a]:eg.push(a)}function ig(a){fg=!0;hg(a)}\nfunction jg(){if(!gg&&null!==eg){gg=!0;var a=0,b=C;try{var c=eg;for(C=1;a>=g;e-=g;rg=1<<32-oc(b)+e|c<w?(x=u,u=null):x=u.sibling;var n=r(e,u,h[w],k);if(null===n){null===u&&(u=x);break}a&&u&&null===n.alternate&&b(e,u);g=f(n,g,w);null===m?l=n:m.sibling=n;m=n;u=x}if(w===h.length)return c(e,u),I&&tg(e,w),l;if(null===u){for(;ww?(x=m,m=null):x=m.sibling;var t=r(e,m,n.value,k);if(null===t){null===m&&(m=x);break}a&&m&&null===t.alternate&&b(e,m);g=f(t,g,w);null===u?l=t:u.sibling=t;u=t;m=x}if(n.done)return c(e,\nm),I&&tg(e,w),l;if(null===m){for(;!n.done;w++,n=h.next())n=q(e,n.value,k),null!==n&&(g=f(n,g,w),null===u?l=n:u.sibling=n,u=n);I&&tg(e,w);return l}for(m=d(e,m);!n.done;w++,n=h.next())n=y(m,e,w,n.value,k),null!==n&&(a&&null!==n.alternate&&m.delete(null===n.key?w:n.key),g=f(n,g,w),null===u?l=n:u.sibling=n,u=n);a&&m.forEach(function(a){return b(e,a)});I&&tg(e,w);return l}function J(a,d,f,h){\"object\"===typeof f&&null!==f&&f.type===ya&&null===f.key&&(f=f.props.children);if(\"object\"===typeof f&&null!==f){switch(f.$$typeof){case va:a:{for(var k=\nf.key,l=d;null!==l;){if(l.key===k){k=f.type;if(k===ya){if(7===l.tag){c(a,l.sibling);d=e(l,f.props.children);d.return=a;a=d;break a}}else if(l.elementType===k||\"object\"===typeof k&&null!==k&&k.$$typeof===Ha&&Ng(k)===l.type){c(a,l.sibling);d=e(l,f.props);d.ref=Lg(a,l,f);d.return=a;a=d;break a}c(a,l);break}else b(a,l);l=l.sibling}f.type===ya?(d=Tg(f.props.children,a.mode,h,f.key),d.return=a,a=d):(h=Rg(f.type,f.key,f.props,null,a.mode,h),h.ref=Lg(a,d,f),h.return=a,a=h)}return g(a);case wa:a:{for(l=f.key;null!==\nd;){if(d.key===l)if(4===d.tag&&d.stateNode.containerInfo===f.containerInfo&&d.stateNode.implementation===f.implementation){c(a,d.sibling);d=e(d,f.children||[]);d.return=a;a=d;break a}else{c(a,d);break}else b(a,d);d=d.sibling}d=Sg(f,a.mode,h);d.return=a;a=d}return g(a);case Ha:return l=f._init,J(a,d,l(f._payload),h)}if(eb(f))return n(a,d,f,h);if(Ka(f))return t(a,d,f,h);Mg(a,f)}return\"string\"===typeof f&&\"\"!==f||\"number\"===typeof f?(f=\"\"+f,null!==d&&6===d.tag?(c(a,d.sibling),d=e(d,f),d.return=a,a=d):\n(c(a,d),d=Qg(f,a.mode,h),d.return=a,a=d),g(a)):c(a,d)}return J}var Ug=Og(!0),Vg=Og(!1),Wg=Uf(null),Xg=null,Yg=null,Zg=null;function $g(){Zg=Yg=Xg=null}function ah(a){var b=Wg.current;E(Wg);a._currentValue=b}function bh(a,b,c){for(;null!==a;){var d=a.alternate;(a.childLanes&b)!==b?(a.childLanes|=b,null!==d&&(d.childLanes|=b)):null!==d&&(d.childLanes&b)!==b&&(d.childLanes|=b);if(a===c)break;a=a.return}}\nfunction ch(a,b){Xg=a;Zg=Yg=null;a=a.dependencies;null!==a&&null!==a.firstContext&&(0!==(a.lanes&b)&&(dh=!0),a.firstContext=null)}function eh(a){var b=a._currentValue;if(Zg!==a)if(a={context:a,memoizedValue:b,next:null},null===Yg){if(null===Xg)throw Error(p(308));Yg=a;Xg.dependencies={lanes:0,firstContext:a}}else Yg=Yg.next=a;return b}var fh=null;function gh(a){null===fh?fh=[a]:fh.push(a)}\nfunction hh(a,b,c,d){var e=b.interleaved;null===e?(c.next=c,gh(b)):(c.next=e.next,e.next=c);b.interleaved=c;return ih(a,d)}function ih(a,b){a.lanes|=b;var c=a.alternate;null!==c&&(c.lanes|=b);c=a;for(a=a.return;null!==a;)a.childLanes|=b,c=a.alternate,null!==c&&(c.childLanes|=b),c=a,a=a.return;return 3===c.tag?c.stateNode:null}var jh=!1;function kh(a){a.updateQueue={baseState:a.memoizedState,firstBaseUpdate:null,lastBaseUpdate:null,shared:{pending:null,interleaved:null,lanes:0},effects:null}}\nfunction lh(a,b){a=a.updateQueue;b.updateQueue===a&&(b.updateQueue={baseState:a.baseState,firstBaseUpdate:a.firstBaseUpdate,lastBaseUpdate:a.lastBaseUpdate,shared:a.shared,effects:a.effects})}function mh(a,b){return{eventTime:a,lane:b,tag:0,payload:null,callback:null,next:null}}\nfunction nh(a,b,c){var d=a.updateQueue;if(null===d)return null;d=d.shared;if(0!==(K&2)){var e=d.pending;null===e?b.next=b:(b.next=e.next,e.next=b);d.pending=b;return ih(a,c)}e=d.interleaved;null===e?(b.next=b,gh(d)):(b.next=e.next,e.next=b);d.interleaved=b;return ih(a,c)}function oh(a,b,c){b=b.updateQueue;if(null!==b&&(b=b.shared,0!==(c&4194240))){var d=b.lanes;d&=a.pendingLanes;c|=d;b.lanes=c;Cc(a,c)}}\nfunction ph(a,b){var c=a.updateQueue,d=a.alternate;if(null!==d&&(d=d.updateQueue,c===d)){var e=null,f=null;c=c.firstBaseUpdate;if(null!==c){do{var g={eventTime:c.eventTime,lane:c.lane,tag:c.tag,payload:c.payload,callback:c.callback,next:null};null===f?e=f=g:f=f.next=g;c=c.next}while(null!==c);null===f?e=f=b:f=f.next=b}else e=f=b;c={baseState:d.baseState,firstBaseUpdate:e,lastBaseUpdate:f,shared:d.shared,effects:d.effects};a.updateQueue=c;return}a=c.lastBaseUpdate;null===a?c.firstBaseUpdate=b:a.next=\nb;c.lastBaseUpdate=b}\nfunction qh(a,b,c,d){var e=a.updateQueue;jh=!1;var f=e.firstBaseUpdate,g=e.lastBaseUpdate,h=e.shared.pending;if(null!==h){e.shared.pending=null;var k=h,l=k.next;k.next=null;null===g?f=l:g.next=l;g=k;var m=a.alternate;null!==m&&(m=m.updateQueue,h=m.lastBaseUpdate,h!==g&&(null===h?m.firstBaseUpdate=l:h.next=l,m.lastBaseUpdate=k))}if(null!==f){var q=e.baseState;g=0;m=l=k=null;h=f;do{var r=h.lane,y=h.eventTime;if((d&r)===r){null!==m&&(m=m.next={eventTime:y,lane:0,tag:h.tag,payload:h.payload,callback:h.callback,\nnext:null});a:{var n=a,t=h;r=b;y=c;switch(t.tag){case 1:n=t.payload;if(\"function\"===typeof n){q=n.call(y,q,r);break a}q=n;break a;case 3:n.flags=n.flags&-65537|128;case 0:n=t.payload;r=\"function\"===typeof n?n.call(y,q,r):n;if(null===r||void 0===r)break a;q=A({},q,r);break a;case 2:jh=!0}}null!==h.callback&&0!==h.lane&&(a.flags|=64,r=e.effects,null===r?e.effects=[h]:r.push(h))}else y={eventTime:y,lane:r,tag:h.tag,payload:h.payload,callback:h.callback,next:null},null===m?(l=m=y,k=q):m=m.next=y,g|=r;\nh=h.next;if(null===h)if(h=e.shared.pending,null===h)break;else r=h,h=r.next,r.next=null,e.lastBaseUpdate=r,e.shared.pending=null}while(1);null===m&&(k=q);e.baseState=k;e.firstBaseUpdate=l;e.lastBaseUpdate=m;b=e.shared.interleaved;if(null!==b){e=b;do g|=e.lane,e=e.next;while(e!==b)}else null===f&&(e.shared.lanes=0);rh|=g;a.lanes=g;a.memoizedState=q}}\nfunction sh(a,b,c){a=b.effects;b.effects=null;if(null!==a)for(b=0;bc?c:4;a(!0);var d=Gh.transition;Gh.transition={};try{a(!1),b()}finally{C=c,Gh.transition=d}}function wi(){return Uh().memoizedState}\nfunction xi(a,b,c){var d=yi(a);c={lane:d,action:c,hasEagerState:!1,eagerState:null,next:null};if(zi(a))Ai(b,c);else if(c=hh(a,b,c,d),null!==c){var e=R();gi(c,a,d,e);Bi(c,b,d)}}\nfunction ii(a,b,c){var d=yi(a),e={lane:d,action:c,hasEagerState:!1,eagerState:null,next:null};if(zi(a))Ai(b,e);else{var f=a.alternate;if(0===a.lanes&&(null===f||0===f.lanes)&&(f=b.lastRenderedReducer,null!==f))try{var g=b.lastRenderedState,h=f(g,c);e.hasEagerState=!0;e.eagerState=h;if(He(h,g)){var k=b.interleaved;null===k?(e.next=e,gh(b)):(e.next=k.next,k.next=e);b.interleaved=e;return}}catch(l){}finally{}c=hh(a,b,e,d);null!==c&&(e=R(),gi(c,a,d,e),Bi(c,b,d))}}\nfunction zi(a){var b=a.alternate;return a===M||null!==b&&b===M}function Ai(a,b){Jh=Ih=!0;var c=a.pending;null===c?b.next=b:(b.next=c.next,c.next=b);a.pending=b}function Bi(a,b,c){if(0!==(c&4194240)){var d=b.lanes;d&=a.pendingLanes;c|=d;b.lanes=c;Cc(a,c)}}\nvar Rh={readContext:eh,useCallback:P,useContext:P,useEffect:P,useImperativeHandle:P,useInsertionEffect:P,useLayoutEffect:P,useMemo:P,useReducer:P,useRef:P,useState:P,useDebugValue:P,useDeferredValue:P,useTransition:P,useMutableSource:P,useSyncExternalStore:P,useId:P,unstable_isNewReconciler:!1},Oh={readContext:eh,useCallback:function(a,b){Th().memoizedState=[a,void 0===b?null:b];return a},useContext:eh,useEffect:mi,useImperativeHandle:function(a,b,c){c=null!==c&&void 0!==c?c.concat([a]):null;return ki(4194308,\n4,pi.bind(null,b,a),c)},useLayoutEffect:function(a,b){return ki(4194308,4,a,b)},useInsertionEffect:function(a,b){return ki(4,2,a,b)},useMemo:function(a,b){var c=Th();b=void 0===b?null:b;a=a();c.memoizedState=[a,b];return a},useReducer:function(a,b,c){var d=Th();b=void 0!==c?c(b):b;d.memoizedState=d.baseState=b;a={pending:null,interleaved:null,lanes:0,dispatch:null,lastRenderedReducer:a,lastRenderedState:b};d.queue=a;a=a.dispatch=xi.bind(null,M,a);return[d.memoizedState,a]},useRef:function(a){var b=\nTh();a={current:a};return b.memoizedState=a},useState:hi,useDebugValue:ri,useDeferredValue:function(a){return Th().memoizedState=a},useTransition:function(){var a=hi(!1),b=a[0];a=vi.bind(null,a[1]);Th().memoizedState=a;return[b,a]},useMutableSource:function(){},useSyncExternalStore:function(a,b,c){var d=M,e=Th();if(I){if(void 0===c)throw Error(p(407));c=c()}else{c=b();if(null===Q)throw Error(p(349));0!==(Hh&30)||di(d,b,c)}e.memoizedState=c;var f={value:c,getSnapshot:b};e.queue=f;mi(ai.bind(null,d,\nf,a),[a]);d.flags|=2048;bi(9,ci.bind(null,d,f,c,b),void 0,null);return c},useId:function(){var a=Th(),b=Q.identifierPrefix;if(I){var c=sg;var d=rg;c=(d&~(1<<32-oc(d)-1)).toString(32)+c;b=\":\"+b+\"R\"+c;c=Kh++;0\\x3c/script>\",a=a.removeChild(a.firstChild)):\n\"string\"===typeof d.is?a=g.createElement(c,{is:d.is}):(a=g.createElement(c),\"select\"===c&&(g=a,d.multiple?g.multiple=!0:d.size&&(g.size=d.size))):a=g.createElementNS(a,c);a[Of]=b;a[Pf]=d;zj(a,b,!1,!1);b.stateNode=a;a:{g=vb(c,d);switch(c){case \"dialog\":D(\"cancel\",a);D(\"close\",a);e=d;break;case \"iframe\":case \"object\":case \"embed\":D(\"load\",a);e=d;break;case \"video\":case \"audio\":for(e=0;eGj&&(b.flags|=128,d=!0,Dj(f,!1),b.lanes=4194304)}else{if(!d)if(a=Ch(g),null!==a){if(b.flags|=128,d=!0,c=a.updateQueue,null!==c&&(b.updateQueue=c,b.flags|=4),Dj(f,!0),null===f.tail&&\"hidden\"===f.tailMode&&!g.alternate&&!I)return S(b),null}else 2*B()-f.renderingStartTime>Gj&&1073741824!==c&&(b.flags|=128,d=!0,Dj(f,!1),b.lanes=4194304);f.isBackwards?(g.sibling=b.child,b.child=g):(c=f.last,null!==c?c.sibling=g:b.child=g,f.last=g)}if(null!==f.tail)return b=f.tail,f.rendering=\nb,f.tail=b.sibling,f.renderingStartTime=B(),b.sibling=null,c=L.current,G(L,d?c&1|2:c&1),b;S(b);return null;case 22:case 23:return Hj(),d=null!==b.memoizedState,null!==a&&null!==a.memoizedState!==d&&(b.flags|=8192),d&&0!==(b.mode&1)?0!==(fj&1073741824)&&(S(b),b.subtreeFlags&6&&(b.flags|=8192)):S(b),null;case 24:return null;case 25:return null}throw Error(p(156,b.tag));}\nfunction Ij(a,b){wg(b);switch(b.tag){case 1:return Zf(b.type)&&$f(),a=b.flags,a&65536?(b.flags=a&-65537|128,b):null;case 3:return zh(),E(Wf),E(H),Eh(),a=b.flags,0!==(a&65536)&&0===(a&128)?(b.flags=a&-65537|128,b):null;case 5:return Bh(b),null;case 13:E(L);a=b.memoizedState;if(null!==a&&null!==a.dehydrated){if(null===b.alternate)throw Error(p(340));Ig()}a=b.flags;return a&65536?(b.flags=a&-65537|128,b):null;case 19:return E(L),null;case 4:return zh(),null;case 10:return ah(b.type._context),null;case 22:case 23:return Hj(),\nnull;case 24:return null;default:return null}}var Jj=!1,U=!1,Kj=\"function\"===typeof WeakSet?WeakSet:Set,V=null;function Lj(a,b){var c=a.ref;if(null!==c)if(\"function\"===typeof c)try{c(null)}catch(d){W(a,b,d)}else c.current=null}function Mj(a,b,c){try{c()}catch(d){W(a,b,d)}}var Nj=!1;\nfunction Oj(a,b){Cf=dd;a=Me();if(Ne(a)){if(\"selectionStart\"in a)var c={start:a.selectionStart,end:a.selectionEnd};else a:{c=(c=a.ownerDocument)&&c.defaultView||window;var d=c.getSelection&&c.getSelection();if(d&&0!==d.rangeCount){c=d.anchorNode;var e=d.anchorOffset,f=d.focusNode;d=d.focusOffset;try{c.nodeType,f.nodeType}catch(F){c=null;break a}var g=0,h=-1,k=-1,l=0,m=0,q=a,r=null;b:for(;;){for(var y;;){q!==c||0!==e&&3!==q.nodeType||(h=g+e);q!==f||0!==d&&3!==q.nodeType||(k=g+d);3===q.nodeType&&(g+=\nq.nodeValue.length);if(null===(y=q.firstChild))break;r=q;q=y}for(;;){if(q===a)break b;r===c&&++l===e&&(h=g);r===f&&++m===d&&(k=g);if(null!==(y=q.nextSibling))break;q=r;r=q.parentNode}q=y}c=-1===h||-1===k?null:{start:h,end:k}}else c=null}c=c||{start:0,end:0}}else c=null;Df={focusedElem:a,selectionRange:c};dd=!1;for(V=b;null!==V;)if(b=V,a=b.child,0!==(b.subtreeFlags&1028)&&null!==a)a.return=b,V=a;else for(;null!==V;){b=V;try{var n=b.alternate;if(0!==(b.flags&1024))switch(b.tag){case 0:case 11:case 15:break;\ncase 1:if(null!==n){var t=n.memoizedProps,J=n.memoizedState,x=b.stateNode,w=x.getSnapshotBeforeUpdate(b.elementType===b.type?t:Ci(b.type,t),J);x.__reactInternalSnapshotBeforeUpdate=w}break;case 3:var u=b.stateNode.containerInfo;1===u.nodeType?u.textContent=\"\":9===u.nodeType&&u.documentElement&&u.removeChild(u.documentElement);break;case 5:case 6:case 4:case 17:break;default:throw Error(p(163));}}catch(F){W(b,b.return,F)}a=b.sibling;if(null!==a){a.return=b.return;V=a;break}V=b.return}n=Nj;Nj=!1;return n}\nfunction Pj(a,b,c){var d=b.updateQueue;d=null!==d?d.lastEffect:null;if(null!==d){var e=d=d.next;do{if((e.tag&a)===a){var f=e.destroy;e.destroy=void 0;void 0!==f&&Mj(b,c,f)}e=e.next}while(e!==d)}}function Qj(a,b){b=b.updateQueue;b=null!==b?b.lastEffect:null;if(null!==b){var c=b=b.next;do{if((c.tag&a)===a){var d=c.create;c.destroy=d()}c=c.next}while(c!==b)}}function Rj(a){var b=a.ref;if(null!==b){var c=a.stateNode;switch(a.tag){case 5:a=c;break;default:a=c}\"function\"===typeof b?b(a):b.current=a}}\nfunction Sj(a){var b=a.alternate;null!==b&&(a.alternate=null,Sj(b));a.child=null;a.deletions=null;a.sibling=null;5===a.tag&&(b=a.stateNode,null!==b&&(delete b[Of],delete b[Pf],delete b[of],delete b[Qf],delete b[Rf]));a.stateNode=null;a.return=null;a.dependencies=null;a.memoizedProps=null;a.memoizedState=null;a.pendingProps=null;a.stateNode=null;a.updateQueue=null}function Tj(a){return 5===a.tag||3===a.tag||4===a.tag}\nfunction Uj(a){a:for(;;){for(;null===a.sibling;){if(null===a.return||Tj(a.return))return null;a=a.return}a.sibling.return=a.return;for(a=a.sibling;5!==a.tag&&6!==a.tag&&18!==a.tag;){if(a.flags&2)continue a;if(null===a.child||4===a.tag)continue a;else a.child.return=a,a=a.child}if(!(a.flags&2))return a.stateNode}}\nfunction Vj(a,b,c){var d=a.tag;if(5===d||6===d)a=a.stateNode,b?8===c.nodeType?c.parentNode.insertBefore(a,b):c.insertBefore(a,b):(8===c.nodeType?(b=c.parentNode,b.insertBefore(a,c)):(b=c,b.appendChild(a)),c=c._reactRootContainer,null!==c&&void 0!==c||null!==b.onclick||(b.onclick=Bf));else if(4!==d&&(a=a.child,null!==a))for(Vj(a,b,c),a=a.sibling;null!==a;)Vj(a,b,c),a=a.sibling}\nfunction Wj(a,b,c){var d=a.tag;if(5===d||6===d)a=a.stateNode,b?c.insertBefore(a,b):c.appendChild(a);else if(4!==d&&(a=a.child,null!==a))for(Wj(a,b,c),a=a.sibling;null!==a;)Wj(a,b,c),a=a.sibling}var X=null,Xj=!1;function Yj(a,b,c){for(c=c.child;null!==c;)Zj(a,b,c),c=c.sibling}\nfunction Zj(a,b,c){if(lc&&\"function\"===typeof lc.onCommitFiberUnmount)try{lc.onCommitFiberUnmount(kc,c)}catch(h){}switch(c.tag){case 5:U||Lj(c,b);case 6:var d=X,e=Xj;X=null;Yj(a,b,c);X=d;Xj=e;null!==X&&(Xj?(a=X,c=c.stateNode,8===a.nodeType?a.parentNode.removeChild(c):a.removeChild(c)):X.removeChild(c.stateNode));break;case 18:null!==X&&(Xj?(a=X,c=c.stateNode,8===a.nodeType?Kf(a.parentNode,c):1===a.nodeType&&Kf(a,c),bd(a)):Kf(X,c.stateNode));break;case 4:d=X;e=Xj;X=c.stateNode.containerInfo;Xj=!0;\nYj(a,b,c);X=d;Xj=e;break;case 0:case 11:case 14:case 15:if(!U&&(d=c.updateQueue,null!==d&&(d=d.lastEffect,null!==d))){e=d=d.next;do{var f=e,g=f.destroy;f=f.tag;void 0!==g&&(0!==(f&2)?Mj(c,b,g):0!==(f&4)&&Mj(c,b,g));e=e.next}while(e!==d)}Yj(a,b,c);break;case 1:if(!U&&(Lj(c,b),d=c.stateNode,\"function\"===typeof d.componentWillUnmount))try{d.props=c.memoizedProps,d.state=c.memoizedState,d.componentWillUnmount()}catch(h){W(c,b,h)}Yj(a,b,c);break;case 21:Yj(a,b,c);break;case 22:c.mode&1?(U=(d=U)||null!==\nc.memoizedState,Yj(a,b,c),U=d):Yj(a,b,c);break;default:Yj(a,b,c)}}function ak(a){var b=a.updateQueue;if(null!==b){a.updateQueue=null;var c=a.stateNode;null===c&&(c=a.stateNode=new Kj);b.forEach(function(b){var d=bk.bind(null,a,b);c.has(b)||(c.add(b),b.then(d,d))})}}\nfunction ck(a,b){var c=b.deletions;if(null!==c)for(var d=0;de&&(e=g);d&=~f}d=e;d=B()-d;d=(120>d?120:480>d?480:1080>d?1080:1920>d?1920:3E3>d?3E3:4320>d?4320:1960*lk(d/1960))-d;if(10a?16:a;if(null===wk)var d=!1;else{a=wk;wk=null;xk=0;if(0!==(K&6))throw Error(p(331));var e=K;K|=4;for(V=a.current;null!==V;){var f=V,g=f.child;if(0!==(V.flags&16)){var h=f.deletions;if(null!==h){for(var k=0;kB()-fk?Kk(a,0):rk|=c);Dk(a,b)}function Yk(a,b){0===b&&(0===(a.mode&1)?b=1:(b=sc,sc<<=1,0===(sc&130023424)&&(sc=4194304)));var c=R();a=ih(a,b);null!==a&&(Ac(a,b,c),Dk(a,c))}function uj(a){var b=a.memoizedState,c=0;null!==b&&(c=b.retryLane);Yk(a,c)}\nfunction bk(a,b){var c=0;switch(a.tag){case 13:var d=a.stateNode;var e=a.memoizedState;null!==e&&(c=e.retryLane);break;case 19:d=a.stateNode;break;default:throw Error(p(314));}null!==d&&d.delete(b);Yk(a,c)}var Vk;\nVk=function(a,b,c){if(null!==a)if(a.memoizedProps!==b.pendingProps||Wf.current)dh=!0;else{if(0===(a.lanes&c)&&0===(b.flags&128))return dh=!1,yj(a,b,c);dh=0!==(a.flags&131072)?!0:!1}else dh=!1,I&&0!==(b.flags&1048576)&&ug(b,ng,b.index);b.lanes=0;switch(b.tag){case 2:var d=b.type;ij(a,b);a=b.pendingProps;var e=Yf(b,H.current);ch(b,c);e=Nh(null,b,d,a,e,c);var f=Sh();b.flags|=1;\"object\"===typeof e&&null!==e&&\"function\"===typeof e.render&&void 0===e.$$typeof?(b.tag=1,b.memoizedState=null,b.updateQueue=\nnull,Zf(d)?(f=!0,cg(b)):f=!1,b.memoizedState=null!==e.state&&void 0!==e.state?e.state:null,kh(b),e.updater=Ei,b.stateNode=e,e._reactInternals=b,Ii(b,d,a,c),b=jj(null,b,d,!0,f,c)):(b.tag=0,I&&f&&vg(b),Xi(null,b,e,c),b=b.child);return b;case 16:d=b.elementType;a:{ij(a,b);a=b.pendingProps;e=d._init;d=e(d._payload);b.type=d;e=b.tag=Zk(d);a=Ci(d,a);switch(e){case 0:b=cj(null,b,d,a,c);break a;case 1:b=hj(null,b,d,a,c);break a;case 11:b=Yi(null,b,d,a,c);break a;case 14:b=$i(null,b,d,Ci(d.type,a),c);break a}throw Error(p(306,\nd,\"\"));}return b;case 0:return d=b.type,e=b.pendingProps,e=b.elementType===d?e:Ci(d,e),cj(a,b,d,e,c);case 1:return d=b.type,e=b.pendingProps,e=b.elementType===d?e:Ci(d,e),hj(a,b,d,e,c);case 3:a:{kj(b);if(null===a)throw Error(p(387));d=b.pendingProps;f=b.memoizedState;e=f.element;lh(a,b);qh(b,d,null,c);var g=b.memoizedState;d=g.element;if(f.isDehydrated)if(f={element:d,isDehydrated:!1,cache:g.cache,pendingSuspenseBoundaries:g.pendingSuspenseBoundaries,transitions:g.transitions},b.updateQueue.baseState=\nf,b.memoizedState=f,b.flags&256){e=Ji(Error(p(423)),b);b=lj(a,b,d,c,e);break a}else if(d!==e){e=Ji(Error(p(424)),b);b=lj(a,b,d,c,e);break a}else for(yg=Lf(b.stateNode.containerInfo.firstChild),xg=b,I=!0,zg=null,c=Vg(b,null,d,c),b.child=c;c;)c.flags=c.flags&-3|4096,c=c.sibling;else{Ig();if(d===e){b=Zi(a,b,c);break a}Xi(a,b,d,c)}b=b.child}return b;case 5:return Ah(b),null===a&&Eg(b),d=b.type,e=b.pendingProps,f=null!==a?a.memoizedProps:null,g=e.children,Ef(d,e)?g=null:null!==f&&Ef(d,f)&&(b.flags|=32),\ngj(a,b),Xi(a,b,g,c),b.child;case 6:return null===a&&Eg(b),null;case 13:return oj(a,b,c);case 4:return yh(b,b.stateNode.containerInfo),d=b.pendingProps,null===a?b.child=Ug(b,null,d,c):Xi(a,b,d,c),b.child;case 11:return d=b.type,e=b.pendingProps,e=b.elementType===d?e:Ci(d,e),Yi(a,b,d,e,c);case 7:return Xi(a,b,b.pendingProps,c),b.child;case 8:return Xi(a,b,b.pendingProps.children,c),b.child;case 12:return Xi(a,b,b.pendingProps.children,c),b.child;case 10:a:{d=b.type._context;e=b.pendingProps;f=b.memoizedProps;\ng=e.value;G(Wg,d._currentValue);d._currentValue=g;if(null!==f)if(He(f.value,g)){if(f.children===e.children&&!Wf.current){b=Zi(a,b,c);break a}}else for(f=b.child,null!==f&&(f.return=b);null!==f;){var h=f.dependencies;if(null!==h){g=f.child;for(var k=h.firstContext;null!==k;){if(k.context===d){if(1===f.tag){k=mh(-1,c&-c);k.tag=2;var l=f.updateQueue;if(null!==l){l=l.shared;var m=l.pending;null===m?k.next=k:(k.next=m.next,m.next=k);l.pending=k}}f.lanes|=c;k=f.alternate;null!==k&&(k.lanes|=c);bh(f.return,\nc,b);h.lanes|=c;break}k=k.next}}else if(10===f.tag)g=f.type===b.type?null:f.child;else if(18===f.tag){g=f.return;if(null===g)throw Error(p(341));g.lanes|=c;h=g.alternate;null!==h&&(h.lanes|=c);bh(g,c,b);g=f.sibling}else g=f.child;if(null!==g)g.return=f;else for(g=f;null!==g;){if(g===b){g=null;break}f=g.sibling;if(null!==f){f.return=g.return;g=f;break}g=g.return}f=g}Xi(a,b,e.children,c);b=b.child}return b;case 9:return e=b.type,d=b.pendingProps.children,ch(b,c),e=eh(e),d=d(e),b.flags|=1,Xi(a,b,d,c),\nb.child;case 14:return d=b.type,e=Ci(d,b.pendingProps),e=Ci(d.type,e),$i(a,b,d,e,c);case 15:return bj(a,b,b.type,b.pendingProps,c);case 17:return d=b.type,e=b.pendingProps,e=b.elementType===d?e:Ci(d,e),ij(a,b),b.tag=1,Zf(d)?(a=!0,cg(b)):a=!1,ch(b,c),Gi(b,d,e),Ii(b,d,e,c),jj(null,b,d,!0,a,c);case 19:return xj(a,b,c);case 22:return dj(a,b,c)}throw Error(p(156,b.tag));};function Fk(a,b){return ac(a,b)}\nfunction $k(a,b,c,d){this.tag=a;this.key=c;this.sibling=this.child=this.return=this.stateNode=this.type=this.elementType=null;this.index=0;this.ref=null;this.pendingProps=b;this.dependencies=this.memoizedState=this.updateQueue=this.memoizedProps=null;this.mode=d;this.subtreeFlags=this.flags=0;this.deletions=null;this.childLanes=this.lanes=0;this.alternate=null}function Bg(a,b,c,d){return new $k(a,b,c,d)}function aj(a){a=a.prototype;return!(!a||!a.isReactComponent)}\nfunction Zk(a){if(\"function\"===typeof a)return aj(a)?1:0;if(void 0!==a&&null!==a){a=a.$$typeof;if(a===Da)return 11;if(a===Ga)return 14}return 2}\nfunction Pg(a,b){var c=a.alternate;null===c?(c=Bg(a.tag,b,a.key,a.mode),c.elementType=a.elementType,c.type=a.type,c.stateNode=a.stateNode,c.alternate=a,a.alternate=c):(c.pendingProps=b,c.type=a.type,c.flags=0,c.subtreeFlags=0,c.deletions=null);c.flags=a.flags&14680064;c.childLanes=a.childLanes;c.lanes=a.lanes;c.child=a.child;c.memoizedProps=a.memoizedProps;c.memoizedState=a.memoizedState;c.updateQueue=a.updateQueue;b=a.dependencies;c.dependencies=null===b?null:{lanes:b.lanes,firstContext:b.firstContext};\nc.sibling=a.sibling;c.index=a.index;c.ref=a.ref;return c}\nfunction Rg(a,b,c,d,e,f){var g=2;d=a;if(\"function\"===typeof a)aj(a)&&(g=1);else if(\"string\"===typeof a)g=5;else a:switch(a){case ya:return Tg(c.children,e,f,b);case za:g=8;e|=8;break;case Aa:return a=Bg(12,c,b,e|2),a.elementType=Aa,a.lanes=f,a;case Ea:return a=Bg(13,c,b,e),a.elementType=Ea,a.lanes=f,a;case Fa:return a=Bg(19,c,b,e),a.elementType=Fa,a.lanes=f,a;case Ia:return pj(c,e,f,b);default:if(\"object\"===typeof a&&null!==a)switch(a.$$typeof){case Ba:g=10;break a;case Ca:g=9;break a;case Da:g=11;\nbreak a;case Ga:g=14;break a;case Ha:g=16;d=null;break a}throw Error(p(130,null==a?a:typeof a,\"\"));}b=Bg(g,c,b,e);b.elementType=a;b.type=d;b.lanes=f;return b}function Tg(a,b,c,d){a=Bg(7,a,d,b);a.lanes=c;return a}function pj(a,b,c,d){a=Bg(22,a,d,b);a.elementType=Ia;a.lanes=c;a.stateNode={isHidden:!1};return a}function Qg(a,b,c){a=Bg(6,a,null,b);a.lanes=c;return a}\nfunction Sg(a,b,c){b=Bg(4,null!==a.children?a.children:[],a.key,b);b.lanes=c;b.stateNode={containerInfo:a.containerInfo,pendingChildren:null,implementation:a.implementation};return b}\nfunction al(a,b,c,d,e){this.tag=b;this.containerInfo=a;this.finishedWork=this.pingCache=this.current=this.pendingChildren=null;this.timeoutHandle=-1;this.callbackNode=this.pendingContext=this.context=null;this.callbackPriority=0;this.eventTimes=zc(0);this.expirationTimes=zc(-1);this.entangledLanes=this.finishedLanes=this.mutableReadLanes=this.expiredLanes=this.pingedLanes=this.suspendedLanes=this.pendingLanes=0;this.entanglements=zc(0);this.identifierPrefix=d;this.onRecoverableError=e;this.mutableSourceEagerHydrationData=\nnull}function bl(a,b,c,d,e,f,g,h,k){a=new al(a,b,c,h,k);1===b?(b=1,!0===f&&(b|=8)):b=0;f=Bg(3,null,null,b);a.current=f;f.stateNode=a;f.memoizedState={element:d,isDehydrated:c,cache:null,transitions:null,pendingSuspenseBoundaries:null};kh(f);return a}function cl(a,b,c){var d=3>>1,e=a[d];if(0>>1;dg(C,c))ng(x,C)?(a[d]=x,a[n]=c,d=n):(a[d]=C,a[m]=c,d=m);else if(ng(x,c))a[d]=x,a[n]=c,d=n;else break a}}return b}\nfunction g(a,b){var c=a.sortIndex-b.sortIndex;return 0!==c?c:a.id-b.id}if(\"object\"===typeof performance&&\"function\"===typeof performance.now){var l=performance;exports.unstable_now=function(){return l.now()}}else{var p=Date,q=p.now();exports.unstable_now=function(){return p.now()-q}}var r=[],t=[],u=1,v=null,y=3,z=!1,A=!1,B=!1,D=\"function\"===typeof setTimeout?setTimeout:null,E=\"function\"===typeof clearTimeout?clearTimeout:null,F=\"undefined\"!==typeof setImmediate?setImmediate:null;\n\"undefined\"!==typeof navigator&&void 0!==navigator.scheduling&&void 0!==navigator.scheduling.isInputPending&&navigator.scheduling.isInputPending.bind(navigator.scheduling);function G(a){for(var b=h(t);null!==b;){if(null===b.callback)k(t);else if(b.startTime<=a)k(t),b.sortIndex=b.expirationTime,f(r,b);else break;b=h(t)}}function H(a){B=!1;G(a);if(!A)if(null!==h(r))A=!0,I(J);else{var b=h(t);null!==b&&K(H,b.startTime-a)}}\nfunction J(a,b){A=!1;B&&(B=!1,E(L),L=-1);z=!0;var c=y;try{G(b);for(v=h(r);null!==v&&(!(v.expirationTime>b)||a&&!M());){var d=v.callback;if(\"function\"===typeof d){v.callback=null;y=v.priorityLevel;var e=d(v.expirationTime<=b);b=exports.unstable_now();\"function\"===typeof e?v.callback=e:v===h(r)&&k(r);G(b)}else k(r);v=h(r)}if(null!==v)var w=!0;else{var m=h(t);null!==m&&K(H,m.startTime-b);w=!1}return w}finally{v=null,y=c,z=!1}}var N=!1,O=null,L=-1,P=5,Q=-1;\nfunction M(){return exports.unstable_now()-Qa||125d?(a.sortIndex=c,f(t,a),null===h(r)&&a===h(t)&&(B?(E(L),L=-1):B=!0,K(H,c-d))):(a.sortIndex=e,f(r,a),A||z||(A=!0,I(J)));return a};\nexports.unstable_shouldYield=M;exports.unstable_wrapCallback=function(a){var b=y;return function(){var c=y;y=b;try{return a.apply(this,arguments)}finally{y=c}}};\n","'use strict';\n\nif (process.env.NODE_ENV === 'production') {\n module.exports = require('./cjs/scheduler.production.min.js');\n} else {\n module.exports = require('./cjs/scheduler.development.js');\n}\n","var _typeof = require(\"./typeof.js\")[\"default\"];\nfunction _regeneratorRuntime() {\n \"use strict\"; /*! regenerator-runtime -- Copyright (c) 2014-present, Facebook, Inc. -- license (MIT): https://github.com/facebook/regenerator/blob/main/LICENSE */\n module.exports = _regeneratorRuntime = function _regeneratorRuntime() {\n return e;\n }, module.exports.__esModule = true, module.exports[\"default\"] = module.exports;\n var t,\n e = {},\n r = Object.prototype,\n n = r.hasOwnProperty,\n o = Object.defineProperty || function (t, e, r) {\n t[e] = r.value;\n },\n i = \"function\" == typeof Symbol ? Symbol : {},\n a = i.iterator || \"@@iterator\",\n c = i.asyncIterator || \"@@asyncIterator\",\n u = i.toStringTag || \"@@toStringTag\";\n function define(t, e, r) {\n return Object.defineProperty(t, e, {\n value: r,\n enumerable: !0,\n configurable: !0,\n writable: !0\n }), t[e];\n }\n try {\n define({}, \"\");\n } catch (t) {\n define = function define(t, e, r) {\n return t[e] = r;\n };\n }\n function wrap(t, e, r, n) {\n var i = e && e.prototype instanceof Generator ? e : Generator,\n a = Object.create(i.prototype),\n c = new Context(n || []);\n return o(a, \"_invoke\", {\n value: makeInvokeMethod(t, r, c)\n }), a;\n }\n function tryCatch(t, e, r) {\n try {\n return {\n type: \"normal\",\n arg: t.call(e, r)\n };\n } catch (t) {\n return {\n type: \"throw\",\n arg: t\n };\n }\n }\n e.wrap = wrap;\n var h = \"suspendedStart\",\n l = \"suspendedYield\",\n f = \"executing\",\n s = \"completed\",\n y = {};\n function Generator() {}\n function GeneratorFunction() {}\n function GeneratorFunctionPrototype() {}\n var p = {};\n define(p, a, function () {\n return this;\n });\n var d = Object.getPrototypeOf,\n v = d && d(d(values([])));\n v && v !== r && n.call(v, a) && (p = v);\n var g = GeneratorFunctionPrototype.prototype = Generator.prototype = Object.create(p);\n function defineIteratorMethods(t) {\n [\"next\", \"throw\", \"return\"].forEach(function (e) {\n define(t, e, function (t) {\n return this._invoke(e, t);\n });\n });\n }\n function AsyncIterator(t, e) {\n function invoke(r, o, i, a) {\n var c = tryCatch(t[r], t, o);\n if (\"throw\" !== c.type) {\n var u = c.arg,\n h = u.value;\n return h && \"object\" == _typeof(h) && n.call(h, \"__await\") ? e.resolve(h.__await).then(function (t) {\n invoke(\"next\", t, i, a);\n }, function (t) {\n invoke(\"throw\", t, i, a);\n }) : e.resolve(h).then(function (t) {\n u.value = t, i(u);\n }, function (t) {\n return invoke(\"throw\", t, i, a);\n });\n }\n a(c.arg);\n }\n var r;\n o(this, \"_invoke\", {\n value: function value(t, n) {\n function callInvokeWithMethodAndArg() {\n return new e(function (e, r) {\n invoke(t, n, e, r);\n });\n }\n return r = r ? r.then(callInvokeWithMethodAndArg, callInvokeWithMethodAndArg) : callInvokeWithMethodAndArg();\n }\n });\n }\n function makeInvokeMethod(e, r, n) {\n var o = h;\n return function (i, a) {\n if (o === f) throw Error(\"Generator is already running\");\n if (o === s) {\n if (\"throw\" === i) throw a;\n return {\n value: t,\n done: !0\n };\n }\n for (n.method = i, n.arg = a;;) {\n var c = n.delegate;\n if (c) {\n var u = maybeInvokeDelegate(c, n);\n if (u) {\n if (u === y) continue;\n return u;\n }\n }\n if (\"next\" === n.method) n.sent = n._sent = n.arg;else if (\"throw\" === n.method) {\n if (o === h) throw o = s, n.arg;\n n.dispatchException(n.arg);\n } else \"return\" === n.method && n.abrupt(\"return\", n.arg);\n o = f;\n var p = tryCatch(e, r, n);\n if (\"normal\" === p.type) {\n if (o = n.done ? s : l, p.arg === y) continue;\n return {\n value: p.arg,\n done: n.done\n };\n }\n \"throw\" === p.type && (o = s, n.method = \"throw\", n.arg = p.arg);\n }\n };\n }\n function maybeInvokeDelegate(e, r) {\n var n = r.method,\n o = e.iterator[n];\n if (o === t) return r.delegate = null, \"throw\" === n && e.iterator[\"return\"] && (r.method = \"return\", r.arg = t, maybeInvokeDelegate(e, r), \"throw\" === r.method) || \"return\" !== n && (r.method = \"throw\", r.arg = new TypeError(\"The iterator does not provide a '\" + n + \"' method\")), y;\n var i = tryCatch(o, e.iterator, r.arg);\n if (\"throw\" === i.type) return r.method = \"throw\", r.arg = i.arg, r.delegate = null, y;\n var a = i.arg;\n return a ? a.done ? (r[e.resultName] = a.value, r.next = e.nextLoc, \"return\" !== r.method && (r.method = \"next\", r.arg = t), r.delegate = null, y) : a : (r.method = \"throw\", r.arg = new TypeError(\"iterator result is not an object\"), r.delegate = null, y);\n }\n function pushTryEntry(t) {\n var e = {\n tryLoc: t[0]\n };\n 1 in t && (e.catchLoc = t[1]), 2 in t && (e.finallyLoc = t[2], e.afterLoc = t[3]), this.tryEntries.push(e);\n }\n function resetTryEntry(t) {\n var e = t.completion || {};\n e.type = \"normal\", delete e.arg, t.completion = e;\n }\n function Context(t) {\n this.tryEntries = [{\n tryLoc: \"root\"\n }], t.forEach(pushTryEntry, this), this.reset(!0);\n }\n function values(e) {\n if (e || \"\" === e) {\n var r = e[a];\n if (r) return r.call(e);\n if (\"function\" == typeof e.next) return e;\n if (!isNaN(e.length)) {\n var o = -1,\n i = function next() {\n for (; ++o < e.length;) if (n.call(e, o)) return next.value = e[o], next.done = !1, next;\n return next.value = t, next.done = !0, next;\n };\n return i.next = i;\n }\n }\n throw new TypeError(_typeof(e) + \" is not iterable\");\n }\n return GeneratorFunction.prototype = GeneratorFunctionPrototype, o(g, \"constructor\", {\n value: GeneratorFunctionPrototype,\n configurable: !0\n }), o(GeneratorFunctionPrototype, \"constructor\", {\n value: GeneratorFunction,\n configurable: !0\n }), GeneratorFunction.displayName = define(GeneratorFunctionPrototype, u, \"GeneratorFunction\"), e.isGeneratorFunction = function (t) {\n var e = \"function\" == typeof t && t.constructor;\n return !!e && (e === GeneratorFunction || \"GeneratorFunction\" === (e.displayName || e.name));\n }, e.mark = function (t) {\n return Object.setPrototypeOf ? Object.setPrototypeOf(t, GeneratorFunctionPrototype) : (t.__proto__ = GeneratorFunctionPrototype, define(t, u, \"GeneratorFunction\")), t.prototype = Object.create(g), t;\n }, e.awrap = function (t) {\n return {\n __await: t\n };\n }, defineIteratorMethods(AsyncIterator.prototype), define(AsyncIterator.prototype, c, function () {\n return this;\n }), e.AsyncIterator = AsyncIterator, e.async = function (t, r, n, o, i) {\n void 0 === i && (i = Promise);\n var a = new AsyncIterator(wrap(t, r, n, o), i);\n return e.isGeneratorFunction(r) ? a : a.next().then(function (t) {\n return t.done ? t.value : a.next();\n });\n }, defineIteratorMethods(g), define(g, u, \"Generator\"), define(g, a, function () {\n return this;\n }), define(g, \"toString\", function () {\n return \"[object Generator]\";\n }), e.keys = function (t) {\n var e = Object(t),\n r = [];\n for (var n in e) r.push(n);\n return r.reverse(), function next() {\n for (; r.length;) {\n var t = r.pop();\n if (t in e) return next.value = t, next.done = !1, next;\n }\n return next.done = !0, next;\n };\n }, e.values = values, Context.prototype = {\n constructor: Context,\n reset: function reset(e) {\n if (this.prev = 0, this.next = 0, this.sent = this._sent = t, this.done = !1, this.delegate = null, this.method = \"next\", this.arg = t, this.tryEntries.forEach(resetTryEntry), !e) for (var r in this) \"t\" === r.charAt(0) && n.call(this, r) && !isNaN(+r.slice(1)) && (this[r] = t);\n },\n stop: function stop() {\n this.done = !0;\n var t = this.tryEntries[0].completion;\n if (\"throw\" === t.type) throw t.arg;\n return this.rval;\n },\n dispatchException: function dispatchException(e) {\n if (this.done) throw e;\n var r = this;\n function handle(n, o) {\n return a.type = \"throw\", a.arg = e, r.next = n, o && (r.method = \"next\", r.arg = t), !!o;\n }\n for (var o = this.tryEntries.length - 1; o >= 0; --o) {\n var i = this.tryEntries[o],\n a = i.completion;\n if (\"root\" === i.tryLoc) return handle(\"end\");\n if (i.tryLoc <= this.prev) {\n var c = n.call(i, \"catchLoc\"),\n u = n.call(i, \"finallyLoc\");\n if (c && u) {\n if (this.prev < i.catchLoc) return handle(i.catchLoc, !0);\n if (this.prev < i.finallyLoc) return handle(i.finallyLoc);\n } else if (c) {\n if (this.prev < i.catchLoc) return handle(i.catchLoc, !0);\n } else {\n if (!u) throw Error(\"try statement without catch or finally\");\n if (this.prev < i.finallyLoc) return handle(i.finallyLoc);\n }\n }\n }\n },\n abrupt: function abrupt(t, e) {\n for (var r = this.tryEntries.length - 1; r >= 0; --r) {\n var o = this.tryEntries[r];\n if (o.tryLoc <= this.prev && n.call(o, \"finallyLoc\") && this.prev < o.finallyLoc) {\n var i = o;\n break;\n }\n }\n i && (\"break\" === t || \"continue\" === t) && i.tryLoc <= e && e <= i.finallyLoc && (i = null);\n var a = i ? i.completion : {};\n return a.type = t, a.arg = e, i ? (this.method = \"next\", this.next = i.finallyLoc, y) : this.complete(a);\n },\n complete: function complete(t, e) {\n if (\"throw\" === t.type) throw t.arg;\n return \"break\" === t.type || \"continue\" === t.type ? this.next = t.arg : \"return\" === t.type ? (this.rval = this.arg = t.arg, this.method = \"return\", this.next = \"end\") : \"normal\" === t.type && e && (this.next = e), y;\n },\n finish: function finish(t) {\n for (var e = this.tryEntries.length - 1; e >= 0; --e) {\n var r = this.tryEntries[e];\n if (r.finallyLoc === t) return this.complete(r.completion, r.afterLoc), resetTryEntry(r), y;\n }\n },\n \"catch\": function _catch(t) {\n for (var e = this.tryEntries.length - 1; e >= 0; --e) {\n var r = this.tryEntries[e];\n if (r.tryLoc === t) {\n var n = r.completion;\n if (\"throw\" === n.type) {\n var o = n.arg;\n resetTryEntry(r);\n }\n return o;\n }\n }\n throw Error(\"illegal catch attempt\");\n },\n delegateYield: function delegateYield(e, r, n) {\n return this.delegate = {\n iterator: values(e),\n resultName: r,\n nextLoc: n\n }, \"next\" === this.method && (this.arg = t), y;\n }\n }, e;\n}\nmodule.exports = _regeneratorRuntime, module.exports.__esModule = true, module.exports[\"default\"] = module.exports;","function _typeof(o) {\n \"@babel/helpers - typeof\";\n\n return (module.exports = _typeof = \"function\" == typeof Symbol && \"symbol\" == typeof Symbol.iterator ? function (o) {\n return typeof o;\n } : function (o) {\n return o && \"function\" == typeof Symbol && o.constructor === Symbol && o !== Symbol.prototype ? \"symbol\" : typeof o;\n }, module.exports.__esModule = true, module.exports[\"default\"] = module.exports), _typeof(o);\n}\nmodule.exports = _typeof, module.exports.__esModule = true, module.exports[\"default\"] = module.exports;","// TODO(Babel 8): Remove this file.\n\nvar runtime = require(\"../helpers/regeneratorRuntime\")();\nmodule.exports = runtime;\n\n// Copied from https://github.com/facebook/regenerator/blob/main/packages/runtime/runtime.js#L736=\ntry {\n regeneratorRuntime = runtime;\n} catch (accidentalStrictMode) {\n if (typeof globalThis === \"object\") {\n globalThis.regeneratorRuntime = runtime;\n } else {\n Function(\"r\", \"regeneratorRuntime = r\")(runtime);\n }\n}\n","// The module cache\nvar __webpack_module_cache__ = {};\n\n// The require function\nfunction __webpack_require__(moduleId) {\n\t// Check if module is in cache\n\tvar cachedModule = __webpack_module_cache__[moduleId];\n\tif (cachedModule !== undefined) {\n\t\treturn cachedModule.exports;\n\t}\n\t// Create a new module (and put it into the cache)\n\tvar module = __webpack_module_cache__[moduleId] = {\n\t\t// no module.id needed\n\t\t// no module.loaded needed\n\t\texports: {}\n\t};\n\n\t// Execute the module function\n\t__webpack_modules__[moduleId].call(module.exports, module, module.exports, __webpack_require__);\n\n\t// Return the exports of the module\n\treturn module.exports;\n}\n\n","__webpack_require__.g = (function() {\n\tif (typeof globalThis === 'object') return globalThis;\n\ttry {\n\t\treturn this || new Function('return this')();\n\t} catch (e) {\n\t\tif (typeof window === 'object') return window;\n\t}\n})();","__webpack_require__.p = \"/\";","import React from \"react\";\nimport \"./Skills.css\";\n\nexport default function Skills({ skills }) {\n console.log(skills);\n return (\n
\n
\n {skills && skills[0] ? skills[0] : \"No skill available\"}\n
\n
\n {skills && skills[1] ? skills[1] : \"No skill available\"}\n
\n
\n {skills && skills[2] ? skills[2] : \"No skill available\"}\n
\n
\n {skills && skills[3] ? skills[3] : \"No skill available\"}\n
\n
\n );\n}\n","import _n, { useRef as gn, useEffect as Pr, memo as zn } from \"react\";\nconst Hn = { Date: !0, RegExp: !0, String: !0, Number: !0 };\nfunction xn(yt, Et, Vt = { cyclesFix: !0 }, t = []) {\n var y, u;\n let H = [];\n const C = Array.isArray(yt);\n for (const h in yt) {\n const g = yt[h], f = C ? +h : h;\n if (!(h in Et)) {\n H.push({\n type: \"REMOVE\",\n path: [f],\n oldValue: yt[h]\n });\n continue;\n }\n const n = Et[h], s = typeof g == \"object\" && typeof n == \"object\" && Array.isArray(g) === Array.isArray(n);\n if (g && n && s && !Hn[(u = (y = Object.getPrototypeOf(g)) == null ? void 0 : y.constructor) == null ? void 0 : u.name] && (!Vt.cyclesFix || !t.includes(g))) {\n const o = xn(g, n, Vt, Vt.cyclesFix ? t.concat([g]) : []);\n H.push.apply(H, o.map((a) => (a.path.unshift(f), a)));\n } else\n g !== n && // treat NaN values as equivalent\n !(Number.isNaN(g) && Number.isNaN(n)) && !(s && (isNaN(g) ? g + \"\" == n + \"\" : +g == +n)) && H.push({\n path: [f],\n type: \"CHANGE\",\n value: n,\n oldValue: g\n });\n }\n const m = Array.isArray(Et);\n for (const h in Et)\n h in yt || H.push({\n type: \"CREATE\",\n path: [m ? +h : h],\n value: Et[h]\n });\n return H;\n}\nfunction Wn(yt, Et) {\n return xn(yt, Et).length === 0;\n}\nvar _r = typeof globalThis < \"u\" ? globalThis : typeof window < \"u\" ? window : typeof global < \"u\" ? global : typeof self < \"u\" ? self : {};\nfunction qn(yt) {\n return yt && yt.__esModule && Object.prototype.hasOwnProperty.call(yt, \"default\") ? yt.default : yt;\n}\nvar Ar = { exports: {} }, pr = {};\n/**\n * @license React\n * react-jsx-runtime.production.min.js\n *\n * Copyright (c) Facebook, Inc. and its affiliates.\n *\n * This source code is licensed under the MIT license found in the\n * LICENSE file in the root directory of this source tree.\n */\nvar vn;\nfunction Xn() {\n if (vn)\n return pr;\n vn = 1;\n var yt = _n, Et = Symbol.for(\"react.element\"), Vt = Symbol.for(\"react.fragment\"), t = Object.prototype.hasOwnProperty, H = yt.__SECRET_INTERNALS_DO_NOT_USE_OR_YOU_WILL_BE_FIRED.ReactCurrentOwner, C = { key: !0, ref: !0, __self: !0, __source: !0 };\n function m(y, u, h) {\n var g, f = {}, n = null, s = null;\n h !== void 0 && (n = \"\" + h), u.key !== void 0 && (n = \"\" + u.key), u.ref !== void 0 && (s = u.ref);\n for (g in u)\n t.call(u, g) && !C.hasOwnProperty(g) && (f[g] = u[g]);\n if (y && y.defaultProps)\n for (g in u = y.defaultProps, u)\n f[g] === void 0 && (f[g] = u[g]);\n return { $$typeof: Et, type: y, key: n, ref: s, props: f, _owner: H.current };\n }\n return pr.Fragment = Vt, pr.jsx = m, pr.jsxs = m, pr;\n}\nvar mr = {};\n/**\n * @license React\n * react-jsx-runtime.development.js\n *\n * Copyright (c) Facebook, Inc. and its affiliates.\n *\n * This source code is licensed under the MIT license found in the\n * LICENSE file in the root directory of this source tree.\n */\nvar bn;\nfunction Yn() {\n return bn || (bn = 1, process.env.NODE_ENV !== \"production\" && function() {\n var yt = _n, Et = Symbol.for(\"react.element\"), Vt = Symbol.for(\"react.portal\"), t = Symbol.for(\"react.fragment\"), H = Symbol.for(\"react.strict_mode\"), C = Symbol.for(\"react.profiler\"), m = Symbol.for(\"react.provider\"), y = Symbol.for(\"react.context\"), u = Symbol.for(\"react.forward_ref\"), h = Symbol.for(\"react.suspense\"), g = Symbol.for(\"react.suspense_list\"), f = Symbol.for(\"react.memo\"), n = Symbol.for(\"react.lazy\"), s = Symbol.for(\"react.offscreen\"), o = Symbol.iterator, a = \"@@iterator\";\n function l(me) {\n if (me === null || typeof me != \"object\")\n return null;\n var Ue = o && me[o] || me[a];\n return typeof Ue == \"function\" ? Ue : null;\n }\n var r = yt.__SECRET_INTERNALS_DO_NOT_USE_OR_YOU_WILL_BE_FIRED;\n function i(me) {\n {\n for (var Ue = arguments.length, Ye = new Array(Ue > 1 ? Ue - 1 : 0), it = 1; it < Ue; it++)\n Ye[it - 1] = arguments[it];\n c(\"error\", me, Ye);\n }\n }\n function c(me, Ue, Ye) {\n {\n var it = r.ReactDebugCurrentFrame, ht = it.getStackAddendum();\n ht !== \"\" && (Ue += \"%s\", Ye = Ye.concat([ht]));\n var pt = Ye.map(function(ie) {\n return String(ie);\n });\n pt.unshift(\"Warning: \" + Ue), Function.prototype.apply.call(console[me], console, pt);\n }\n }\n var p = !1, j = !1, T = !1, _ = !1, S = !1, E;\n E = Symbol.for(\"react.module.reference\");\n function P(me) {\n return !!(typeof me == \"string\" || typeof me == \"function\" || me === t || me === C || S || me === H || me === h || me === g || _ || me === s || p || j || T || typeof me == \"object\" && me !== null && (me.$$typeof === n || me.$$typeof === f || me.$$typeof === m || me.$$typeof === y || me.$$typeof === u || // This needs to include all possible module reference object\n // types supported by any Flight configuration anywhere since\n // we don't know which Flight build this will end up being used\n // with.\n me.$$typeof === E || me.getModuleId !== void 0));\n }\n function x(me, Ue, Ye) {\n var it = me.displayName;\n if (it)\n return it;\n var ht = Ue.displayName || Ue.name || \"\";\n return ht !== \"\" ? Ye + \"(\" + ht + \")\" : Ye;\n }\n function A(me) {\n return me.displayName || \"Context\";\n }\n function M(me) {\n if (me == null)\n return null;\n if (typeof me.tag == \"number\" && i(\"Received an unexpected object in getComponentNameFromType(). This is likely a bug in React. Please file an issue.\"), typeof me == \"function\")\n return me.displayName || me.name || null;\n if (typeof me == \"string\")\n return me;\n switch (me) {\n case t:\n return \"Fragment\";\n case Vt:\n return \"Portal\";\n case C:\n return \"Profiler\";\n case H:\n return \"StrictMode\";\n case h:\n return \"Suspense\";\n case g:\n return \"SuspenseList\";\n }\n if (typeof me == \"object\")\n switch (me.$$typeof) {\n case y:\n var Ue = me;\n return A(Ue) + \".Consumer\";\n case m:\n var Ye = me;\n return A(Ye._context) + \".Provider\";\n case u:\n return x(me, me.render, \"ForwardRef\");\n case f:\n var it = me.displayName || null;\n return it !== null ? it : M(me.type) || \"Memo\";\n case n: {\n var ht = me, pt = ht._payload, ie = ht._init;\n try {\n return M(ie(pt));\n } catch {\n return null;\n }\n }\n }\n return null;\n }\n var R = Object.assign, L = 0, F, V, G, U, W, X, ne;\n function b() {\n }\n b.__reactDisabledLog = !0;\n function O() {\n {\n if (L === 0) {\n F = console.log, V = console.info, G = console.warn, U = console.error, W = console.group, X = console.groupCollapsed, ne = console.groupEnd;\n var me = {\n configurable: !0,\n enumerable: !0,\n value: b,\n writable: !0\n };\n Object.defineProperties(console, {\n info: me,\n log: me,\n warn: me,\n error: me,\n group: me,\n groupCollapsed: me,\n groupEnd: me\n });\n }\n L++;\n }\n }\n function D() {\n {\n if (L--, L === 0) {\n var me = {\n configurable: !0,\n enumerable: !0,\n writable: !0\n };\n Object.defineProperties(console, {\n log: R({}, me, {\n value: F\n }),\n info: R({}, me, {\n value: V\n }),\n warn: R({}, me, {\n value: G\n }),\n error: R({}, me, {\n value: U\n }),\n group: R({}, me, {\n value: W\n }),\n groupCollapsed: R({}, me, {\n value: X\n }),\n groupEnd: R({}, me, {\n value: ne\n })\n });\n }\n L < 0 && i(\"disabledDepth fell below zero. This is a bug in React. Please file an issue.\");\n }\n }\n var B = r.ReactCurrentDispatcher, Y;\n function K(me, Ue, Ye) {\n {\n if (Y === void 0)\n try {\n throw Error();\n } catch (ht) {\n var it = ht.stack.trim().match(/\\n( *(at )?)/);\n Y = it && it[1] || \"\";\n }\n return `\n` + Y + me;\n }\n }\n var te = !1, ce;\n {\n var re = typeof WeakMap == \"function\" ? WeakMap : Map;\n ce = new re();\n }\n function ue(me, Ue) {\n if (!me || te)\n return \"\";\n {\n var Ye = ce.get(me);\n if (Ye !== void 0)\n return Ye;\n }\n var it;\n te = !0;\n var ht = Error.prepareStackTrace;\n Error.prepareStackTrace = void 0;\n var pt;\n pt = B.current, B.current = null, O();\n try {\n if (Ue) {\n var ie = function() {\n throw Error();\n };\n if (Object.defineProperty(ie.prototype, \"props\", {\n set: function() {\n throw Error();\n }\n }), typeof Reflect == \"object\" && Reflect.construct) {\n try {\n Reflect.construct(ie, []);\n } catch (ut) {\n it = ut;\n }\n Reflect.construct(me, [], ie);\n } else {\n try {\n ie.call();\n } catch (ut) {\n it = ut;\n }\n me.call(ie.prototype);\n }\n } else {\n try {\n throw Error();\n } catch (ut) {\n it = ut;\n }\n me();\n }\n } catch (ut) {\n if (ut && it && typeof ut.stack == \"string\") {\n for (var Oe = ut.stack.split(`\n`), Ge = it.stack.split(`\n`), Le = Oe.length - 1, rt = Ge.length - 1; Le >= 1 && rt >= 0 && Oe[Le] !== Ge[rt]; )\n rt--;\n for (; Le >= 1 && rt >= 0; Le--, rt--)\n if (Oe[Le] !== Ge[rt]) {\n if (Le !== 1 || rt !== 1)\n do\n if (Le--, rt--, rt < 0 || Oe[Le] !== Ge[rt]) {\n var Ae = `\n` + Oe[Le].replace(\" at new \", \" at \");\n return me.displayName && Ae.includes(\"\") && (Ae = Ae.replace(\"\", me.displayName)), typeof me == \"function\" && ce.set(me, Ae), Ae;\n }\n while (Le >= 1 && rt >= 0);\n break;\n }\n }\n } finally {\n te = !1, B.current = pt, D(), Error.prepareStackTrace = ht;\n }\n var ct = me ? me.displayName || me.name : \"\", qe = ct ? K(ct) : \"\";\n return typeof me == \"function\" && ce.set(me, qe), qe;\n }\n function le(me, Ue, Ye) {\n return ue(me, !1);\n }\n function J(me) {\n var Ue = me.prototype;\n return !!(Ue && Ue.isReactComponent);\n }\n function ae(me, Ue, Ye) {\n if (me == null)\n return \"\";\n if (typeof me == \"function\")\n return ue(me, J(me));\n if (typeof me == \"string\")\n return K(me);\n switch (me) {\n case h:\n return K(\"Suspense\");\n case g:\n return K(\"SuspenseList\");\n }\n if (typeof me == \"object\")\n switch (me.$$typeof) {\n case u:\n return le(me.render);\n case f:\n return ae(me.type, Ue, Ye);\n case n: {\n var it = me, ht = it._payload, pt = it._init;\n try {\n return ae(pt(ht), Ue, Ye);\n } catch {\n }\n }\n }\n return \"\";\n }\n var he = Object.prototype.hasOwnProperty, _e = {}, fe = r.ReactDebugCurrentFrame;\n function ge(me) {\n if (me) {\n var Ue = me._owner, Ye = ae(me.type, me._source, Ue ? Ue.type : null);\n fe.setExtraStackFrame(Ye);\n } else\n fe.setExtraStackFrame(null);\n }\n function xe(me, Ue, Ye, it, ht) {\n {\n var pt = Function.call.bind(he);\n for (var ie in me)\n if (pt(me, ie)) {\n var Oe = void 0;\n try {\n if (typeof me[ie] != \"function\") {\n var Ge = Error((it || \"React class\") + \": \" + Ye + \" type `\" + ie + \"` is invalid; it must be a function, usually from the `prop-types` package, but received `\" + typeof me[ie] + \"`.This often happens because of typos such as `PropTypes.function` instead of `PropTypes.func`.\");\n throw Ge.name = \"Invariant Violation\", Ge;\n }\n Oe = me[ie](Ue, ie, it, Ye, null, \"SECRET_DO_NOT_PASS_THIS_OR_YOU_WILL_BE_FIRED\");\n } catch (Le) {\n Oe = Le;\n }\n Oe && !(Oe instanceof Error) && (ge(ht), i(\"%s: type specification of %s `%s` is invalid; the type checker function must return `null` or an `Error` but returned a %s. You may have forgotten to pass an argument to the type checker creator (arrayOf, instanceOf, objectOf, oneOf, oneOfType, and shape all require an argument).\", it || \"React class\", Ye, ie, typeof Oe), ge(null)), Oe instanceof Error && !(Oe.message in _e) && (_e[Oe.message] = !0, ge(ht), i(\"Failed %s type: %s\", Ye, Oe.message), ge(null));\n }\n }\n }\n var De = Array.isArray;\n function Me(me) {\n return De(me);\n }\n function Qe(me) {\n {\n var Ue = typeof Symbol == \"function\" && Symbol.toStringTag, Ye = Ue && me[Symbol.toStringTag] || me.constructor.name || \"Object\";\n return Ye;\n }\n }\n function ze(me) {\n try {\n return Ve(me), !1;\n } catch {\n return !0;\n }\n }\n function Ve(me) {\n return \"\" + me;\n }\n function Xe(me) {\n if (ze(me))\n return i(\"The provided key is an unsupported type %s. This value must be coerced to a string before before using it here.\", Qe(me)), Ve(me);\n }\n var He = r.ReactCurrentOwner, ve = {\n key: !0,\n ref: !0,\n __self: !0,\n __source: !0\n }, Re, we, Z;\n Z = {};\n function $(me) {\n if (he.call(me, \"ref\")) {\n var Ue = Object.getOwnPropertyDescriptor(me, \"ref\").get;\n if (Ue && Ue.isReactWarning)\n return !1;\n }\n return me.ref !== void 0;\n }\n function q(me) {\n if (he.call(me, \"key\")) {\n var Ue = Object.getOwnPropertyDescriptor(me, \"key\").get;\n if (Ue && Ue.isReactWarning)\n return !1;\n }\n return me.key !== void 0;\n }\n function ee(me, Ue) {\n if (typeof me.ref == \"string\" && He.current && Ue && He.current.stateNode !== Ue) {\n var Ye = M(He.current.type);\n Z[Ye] || (i('Component \"%s\" contains the string ref \"%s\". Support for string refs will be removed in a future major release. This case cannot be automatically converted to an arrow function. We ask you to manually fix this case by using useRef() or createRef() instead. Learn more about using refs safely here: https://reactjs.org/link/strict-mode-string-ref', M(He.current.type), me.ref), Z[Ye] = !0);\n }\n }\n function pe(me, Ue) {\n {\n var Ye = function() {\n Re || (Re = !0, i(\"%s: `key` is not a prop. Trying to access it will result in `undefined` being returned. If you need to access the same value within the child component, you should pass it as a different prop. (https://reactjs.org/link/special-props)\", Ue));\n };\n Ye.isReactWarning = !0, Object.defineProperty(me, \"key\", {\n get: Ye,\n configurable: !0\n });\n }\n }\n function je(me, Ue) {\n {\n var Ye = function() {\n we || (we = !0, i(\"%s: `ref` is not a prop. Trying to access it will result in `undefined` being returned. If you need to access the same value within the child component, you should pass it as a different prop. (https://reactjs.org/link/special-props)\", Ue));\n };\n Ye.isReactWarning = !0, Object.defineProperty(me, \"ref\", {\n get: Ye,\n configurable: !0\n });\n }\n }\n var Ce = function(me, Ue, Ye, it, ht, pt, ie) {\n var Oe = {\n // This tag allows us to uniquely identify this as a React Element\n $$typeof: Et,\n // Built-in properties that belong on the element\n type: me,\n key: Ue,\n ref: Ye,\n props: ie,\n // Record the component responsible for creating this element.\n _owner: pt\n };\n return Oe._store = {}, Object.defineProperty(Oe._store, \"validated\", {\n configurable: !1,\n enumerable: !1,\n writable: !0,\n value: !1\n }), Object.defineProperty(Oe, \"_self\", {\n configurable: !1,\n enumerable: !1,\n writable: !1,\n value: it\n }), Object.defineProperty(Oe, \"_source\", {\n configurable: !1,\n enumerable: !1,\n writable: !1,\n value: ht\n }), Object.freeze && (Object.freeze(Oe.props), Object.freeze(Oe)), Oe;\n };\n function Fe(me, Ue, Ye, it, ht) {\n {\n var pt, ie = {}, Oe = null, Ge = null;\n Ye !== void 0 && (Xe(Ye), Oe = \"\" + Ye), q(Ue) && (Xe(Ue.key), Oe = \"\" + Ue.key), $(Ue) && (Ge = Ue.ref, ee(Ue, ht));\n for (pt in Ue)\n he.call(Ue, pt) && !ve.hasOwnProperty(pt) && (ie[pt] = Ue[pt]);\n if (me && me.defaultProps) {\n var Le = me.defaultProps;\n for (pt in Le)\n ie[pt] === void 0 && (ie[pt] = Le[pt]);\n }\n if (Oe || Ge) {\n var rt = typeof me == \"function\" ? me.displayName || me.name || \"Unknown\" : me;\n Oe && pe(ie, rt), Ge && je(ie, rt);\n }\n return Ce(me, Oe, Ge, ht, it, He.current, ie);\n }\n }\n var Ne = r.ReactCurrentOwner, Be = r.ReactDebugCurrentFrame;\n function We(me) {\n if (me) {\n var Ue = me._owner, Ye = ae(me.type, me._source, Ue ? Ue.type : null);\n Be.setExtraStackFrame(Ye);\n } else\n Be.setExtraStackFrame(null);\n }\n var st;\n st = !1;\n function nt(me) {\n return typeof me == \"object\" && me !== null && me.$$typeof === Et;\n }\n function Ke() {\n {\n if (Ne.current) {\n var me = M(Ne.current.type);\n if (me)\n return `\n\nCheck the render method of \\`` + me + \"`.\";\n }\n return \"\";\n }\n }\n function at(me) {\n {\n if (me !== void 0) {\n var Ue = me.fileName.replace(/^.*[\\\\\\/]/, \"\"), Ye = me.lineNumber;\n return `\n\nCheck your code at ` + Ue + \":\" + Ye + \".\";\n }\n return \"\";\n }\n }\n var ot = {};\n function bt(me) {\n {\n var Ue = Ke();\n if (!Ue) {\n var Ye = typeof me == \"string\" ? me : me.displayName || me.name;\n Ye && (Ue = `\n\nCheck the top-level render call using <` + Ye + \">.\");\n }\n return Ue;\n }\n }\n function It(me, Ue) {\n {\n if (!me._store || me._store.validated || me.key != null)\n return;\n me._store.validated = !0;\n var Ye = bt(Ue);\n if (ot[Ye])\n return;\n ot[Ye] = !0;\n var it = \"\";\n me && me._owner && me._owner !== Ne.current && (it = \" It was passed a child from \" + M(me._owner.type) + \".\"), We(me), i('Each child in a list should have a unique \"key\" prop.%s%s See https://reactjs.org/link/warning-keys for more information.', Ye, it), We(null);\n }\n }\n function Mt(me, Ue) {\n {\n if (typeof me != \"object\")\n return;\n if (Me(me))\n for (var Ye = 0; Ye < me.length; Ye++) {\n var it = me[Ye];\n nt(it) && It(it, Ue);\n }\n else if (nt(me))\n me._store && (me._store.validated = !0);\n else if (me) {\n var ht = l(me);\n if (typeof ht == \"function\" && ht !== me.entries)\n for (var pt = ht.call(me), ie; !(ie = pt.next()).done; )\n nt(ie.value) && It(ie.value, Ue);\n }\n }\n }\n function mt(me) {\n {\n var Ue = me.type;\n if (Ue == null || typeof Ue == \"string\")\n return;\n var Ye;\n if (typeof Ue == \"function\")\n Ye = Ue.propTypes;\n else if (typeof Ue == \"object\" && (Ue.$$typeof === u || // Note: Memo only checks outer props here.\n // Inner props are checked in the reconciler.\n Ue.$$typeof === f))\n Ye = Ue.propTypes;\n else\n return;\n if (Ye) {\n var it = M(Ue);\n xe(Ye, me.props, \"prop\", it, me);\n } else if (Ue.PropTypes !== void 0 && !st) {\n st = !0;\n var ht = M(Ue);\n i(\"Component %s declared `PropTypes` instead of `propTypes`. Did you misspell the property assignment?\", ht || \"Unknown\");\n }\n typeof Ue.getDefaultProps == \"function\" && !Ue.getDefaultProps.isReactClassApproved && i(\"getDefaultProps is only used on classic React.createClass definitions. Use a static property named `defaultProps` instead.\");\n }\n }\n function jt(me) {\n {\n for (var Ue = Object.keys(me.props), Ye = 0; Ye < Ue.length; Ye++) {\n var it = Ue[Ye];\n if (it !== \"children\" && it !== \"key\") {\n We(me), i(\"Invalid prop `%s` supplied to `React.Fragment`. React.Fragment can only have `key` and `children` props.\", it), We(null);\n break;\n }\n }\n me.ref !== null && (We(me), i(\"Invalid attribute `ref` supplied to `React.Fragment`.\"), We(null));\n }\n }\n function ft(me, Ue, Ye, it, ht, pt) {\n {\n var ie = P(me);\n if (!ie) {\n var Oe = \"\";\n (me === void 0 || typeof me == \"object\" && me !== null && Object.keys(me).length === 0) && (Oe += \" You likely forgot to export your component from the file it's defined in, or you might have mixed up default and named imports.\");\n var Ge = at(ht);\n Ge ? Oe += Ge : Oe += Ke();\n var Le;\n me === null ? Le = \"null\" : Me(me) ? Le = \"array\" : me !== void 0 && me.$$typeof === Et ? (Le = \"<\" + (M(me.type) || \"Unknown\") + \" />\", Oe = \" Did you accidentally export a JSX literal instead of a component?\") : Le = typeof me, i(\"React.jsx: type is invalid -- expected a string (for built-in components) or a class/function (for composite components) but got: %s.%s\", Le, Oe);\n }\n var rt = Fe(me, Ue, Ye, ht, pt);\n if (rt == null)\n return rt;\n if (ie) {\n var Ae = Ue.children;\n if (Ae !== void 0)\n if (it)\n if (Me(Ae)) {\n for (var ct = 0; ct < Ae.length; ct++)\n Mt(Ae[ct], me);\n Object.freeze && Object.freeze(Ae);\n } else\n i(\"React.jsx: Static children should always be an array. You are likely explicitly calling React.jsxs or React.jsxDEV. Use the Babel transform instead.\");\n else\n Mt(Ae, me);\n }\n return me === t ? jt(rt) : mt(rt), rt;\n }\n }\n function Dt(me, Ue, Ye) {\n return ft(me, Ue, Ye, !0);\n }\n function At(me, Ue, Ye) {\n return ft(me, Ue, Ye, !1);\n }\n var gt = At, Ft = Dt;\n mr.Fragment = t, mr.jsx = gt, mr.jsxs = Ft;\n }()), mr;\n}\nprocess.env.NODE_ENV === \"production\" ? Ar.exports = Xn() : Ar.exports = Yn();\nvar wr = Ar.exports;\nconst Zn = \"react-p5-wrapper\";\nfunction xr(yt) {\n throw new Error('Could not dynamically require \"' + yt + '\". Please configure the dynamicRequireTargets or/and ignoreDynamicRequires option of @rollup/plugin-commonjs appropriately for this require call to work.');\n}\nvar wn = { exports: {} };\n/*! p5.js v1.9.2 March 19, 2024 */\n(function(yt, Et) {\n (function(Vt) {\n yt.exports = Vt();\n })(function() {\n var Vt;\n return function t(H, C, m) {\n function y(g, f) {\n if (!C[g]) {\n if (!H[g]) {\n var n = typeof xr == \"function\" && xr;\n if (!f && n)\n return n(g, !0);\n if (u)\n return u(g, !0);\n throw (f = new Error(\"Cannot find module '\" + g + \"'\")).code = \"MODULE_NOT_FOUND\", f;\n }\n n = C[g] = { exports: {} }, H[g][0].call(n.exports, function(s) {\n return y(H[g][1][s] || s);\n }, n, n.exports, t, H, C, m);\n }\n return C[g].exports;\n }\n for (var u = typeof xr == \"function\" && xr, h = 0; h < m.length; h++)\n y(m[h]);\n return y;\n }({ 1: [function(t, H, C) {\n C.byteLength = function(a) {\n var a = n(a), o = a[0], a = a[1];\n return 3 * (o + a) / 4 - a;\n }, C.toByteArray = function(s) {\n var o, a, r = n(s), l = r[0], r = r[1], i = new u(function(j, T) {\n return 3 * (j + T) / 4 - T;\n }(l, r)), c = 0, p = 0 < r ? l - 4 : l;\n for (a = 0; a < p; a += 4)\n o = y[s.charCodeAt(a)] << 18 | y[s.charCodeAt(a + 1)] << 12 | y[s.charCodeAt(a + 2)] << 6 | y[s.charCodeAt(a + 3)], i[c++] = o >> 16 & 255, i[c++] = o >> 8 & 255, i[c++] = 255 & o;\n return r === 2 && (o = y[s.charCodeAt(a)] << 2 | y[s.charCodeAt(a + 1)] >> 4, i[c++] = 255 & o), r === 1 && (o = y[s.charCodeAt(a)] << 10 | y[s.charCodeAt(a + 1)] << 4 | y[s.charCodeAt(a + 2)] >> 2, i[c++] = o >> 8 & 255, i[c++] = 255 & o), i;\n }, C.fromByteArray = function(s) {\n for (var o, a = s.length, l = a % 3, r = [], i = 0, c = a - l; i < c; i += 16383)\n r.push(function(p, j, T) {\n for (var _, S = [], E = j; E < T; E += 3)\n _ = (p[E] << 16 & 16711680) + (p[E + 1] << 8 & 65280) + (255 & p[E + 2]), S.push(function(P) {\n return m[P >> 18 & 63] + m[P >> 12 & 63] + m[P >> 6 & 63] + m[63 & P];\n }(_));\n return S.join(\"\");\n }(s, i, c < i + 16383 ? c : i + 16383));\n return l == 1 ? (o = s[a - 1], r.push(m[o >> 2] + m[o << 4 & 63] + \"==\")) : l == 2 && (o = (s[a - 2] << 8) + s[a - 1], r.push(m[o >> 10] + m[o >> 4 & 63] + m[o << 2 & 63] + \"=\")), r.join(\"\");\n };\n for (var m = [], y = [], u = typeof Uint8Array < \"u\" ? Uint8Array : Array, h = \"ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/\", g = 0, f = h.length; g < f; ++g)\n m[g] = h[g], y[h.charCodeAt(g)] = g;\n function n(s) {\n var o = s.length;\n if (0 < o % 4)\n throw new Error(\"Invalid string. Length must be a multiple of 4\");\n return s = s.indexOf(\"=\"), o = (s = s === -1 ? o : s) === o ? 0 : 4 - s % 4, [s, o];\n }\n y[45] = 62, y[95] = 63;\n }, {}], 2: [function(t, H, C) {\n }, {}], 3: [function(t, H, C) {\n }, {}], 4: [function(t, H, C) {\n (function(n) {\n var y = t(\"base64-js\"), u = t(\"ieee754\"), h = typeof Symbol == \"function\" && typeof Symbol.for == \"function\" ? Symbol.for(\"nodejs.util.inspect.custom\") : null, g = (C.Buffer = n, C.SlowBuffer = function(b) {\n return +b != b && (b = 0), n.alloc(+b);\n }, C.INSPECT_MAX_BYTES = 50, 2147483647);\n function f(b) {\n if (g < b)\n throw new RangeError('The value \"' + b + '\" is invalid for option \"size\"');\n return b = new Uint8Array(b), Object.setPrototypeOf(b, n.prototype), b;\n }\n function n(b, O, D) {\n if (typeof b != \"number\")\n return s(b, O, D);\n if (typeof O == \"string\")\n throw new TypeError('The \"string\" argument must be of type string. Received type number');\n return a(b);\n }\n function s(b, O, D) {\n if (typeof b == \"string\") {\n var B = b, Y = O;\n if (n.isEncoding(Y = typeof Y == \"string\" && Y !== \"\" ? Y : \"utf8\"))\n return K = 0 | i(B, Y), te = f(K), te = (B = te.write(B, Y)) !== K ? te.slice(0, B) : te;\n throw new TypeError(\"Unknown encoding: \" + Y);\n }\n if (ArrayBuffer.isView(b))\n return l(b);\n if (b != null) {\n if (W(b, ArrayBuffer) || b && W(b.buffer, ArrayBuffer)) {\n var K = b, B = O, te = D;\n if (B < 0 || K.byteLength < B)\n throw new RangeError('\"offset\" is outside of buffer bounds');\n if (K.byteLength < B + (te || 0))\n throw new RangeError('\"length\" is outside of buffer bounds');\n return K = B === void 0 && te === void 0 ? new Uint8Array(K) : te === void 0 ? new Uint8Array(K, B) : new Uint8Array(K, B, te), Object.setPrototypeOf(K, n.prototype), K;\n }\n if (typeof b == \"number\")\n throw new TypeError('The \"value\" argument must not be of type number. Received type number');\n if (Y = b.valueOf && b.valueOf(), Y != null && Y !== b)\n return n.from(Y, O, D);\n var ce = function(re) {\n {\n var ue, le;\n if (n.isBuffer(re))\n return ue = 0 | r(re.length), (le = f(ue)).length !== 0 && re.copy(le, 0, 0, ue), le;\n }\n if (re.length !== void 0)\n return typeof re.length != \"number\" || X(re.length) ? f(0) : l(re);\n if (re.type === \"Buffer\" && Array.isArray(re.data))\n return l(re.data);\n }(b);\n if (ce)\n return ce;\n if (typeof Symbol < \"u\" && Symbol.toPrimitive != null && typeof b[Symbol.toPrimitive] == \"function\")\n return n.from(b[Symbol.toPrimitive](\"string\"), O, D);\n }\n throw new TypeError(\"The first argument must be one of type string, Buffer, ArrayBuffer, Array, or Array-like Object. Received type \" + typeof b);\n }\n function o(b) {\n if (typeof b != \"number\")\n throw new TypeError('\"size\" argument must be of type number');\n if (b < 0)\n throw new RangeError('The value \"' + b + '\" is invalid for option \"size\"');\n }\n function a(b) {\n return o(b), f(b < 0 ? 0 : 0 | r(b));\n }\n function l(b) {\n for (var O = b.length < 0 ? 0 : 0 | r(b.length), D = f(O), B = 0; B < O; B += 1)\n D[B] = 255 & b[B];\n return D;\n }\n function r(b) {\n if (g <= b)\n throw new RangeError(\"Attempt to allocate Buffer larger than maximum size: 0x\" + g.toString(16) + \" bytes\");\n return 0 | b;\n }\n function i(b, O) {\n if (n.isBuffer(b))\n return b.length;\n if (ArrayBuffer.isView(b) || W(b, ArrayBuffer))\n return b.byteLength;\n if (typeof b != \"string\")\n throw new TypeError('The \"string\" argument must be one of type string, Buffer, or ArrayBuffer. Received type ' + typeof b);\n var D = b.length, B = 2 < arguments.length && arguments[2] === !0;\n if (!B && D === 0)\n return 0;\n for (var Y = !1; ; )\n switch (O) {\n case \"ascii\":\n case \"latin1\":\n case \"binary\":\n return D;\n case \"utf8\":\n case \"utf-8\":\n return V(b).length;\n case \"ucs2\":\n case \"ucs-2\":\n case \"utf16le\":\n case \"utf-16le\":\n return 2 * D;\n case \"hex\":\n return D >>> 1;\n case \"base64\":\n return G(b).length;\n default:\n if (Y)\n return B ? -1 : V(b).length;\n O = (\"\" + O).toLowerCase(), Y = !0;\n }\n }\n function c(b, O, D) {\n var B, Y = !1;\n if ((O = O === void 0 || O < 0 ? 0 : O) > this.length || (D = D === void 0 || D > this.length ? this.length : D) <= 0 || (D >>>= 0) <= (O >>>= 0))\n return \"\";\n for (b = b || \"utf8\"; ; )\n switch (b) {\n case \"hex\":\n var K = this, fe = O, te = D, le = K.length;\n (!te || te < 0 || le < te) && (te = le);\n for (var ce = \"\", re = fe = !fe || fe < 0 ? 0 : fe; re < te; ++re)\n ce += ne[K[re]];\n return ce;\n case \"utf8\":\n case \"utf-8\":\n return E(this, O, D);\n case \"ascii\":\n var ue = this, le = O, J = D, ae = \"\";\n J = Math.min(ue.length, J);\n for (var he = le; he < J; ++he)\n ae += String.fromCharCode(127 & ue[he]);\n return ae;\n case \"latin1\":\n case \"binary\":\n var _e = this, fe = O, ge = D, xe = \"\";\n ge = Math.min(_e.length, ge);\n for (var De = fe; De < ge; ++De)\n xe += String.fromCharCode(_e[De]);\n return xe;\n case \"base64\":\n return Me = this, B = D, (Qe = O) === 0 && B === Me.length ? y.fromByteArray(Me) : y.fromByteArray(Me.slice(Qe, B));\n case \"ucs2\":\n case \"ucs-2\":\n case \"utf16le\":\n case \"utf-16le\":\n for (var Me = O, Qe = D, ze = this.slice(Me, Qe), Ve = \"\", Xe = 0; Xe < ze.length; Xe += 2)\n Ve += String.fromCharCode(ze[Xe] + 256 * ze[Xe + 1]);\n return Ve;\n default:\n if (Y)\n throw new TypeError(\"Unknown encoding: \" + b);\n b = (b + \"\").toLowerCase(), Y = !0;\n }\n }\n function p(b, O, D) {\n var B = b[O];\n b[O] = b[D], b[D] = B;\n }\n function j(b, O, D, B, Y) {\n if (b.length === 0)\n return -1;\n if (typeof D == \"string\" ? (B = D, D = 0) : 2147483647 < D ? D = 2147483647 : D < -2147483648 && (D = -2147483648), (D = (D = X(D = +D) ? Y ? 0 : b.length - 1 : D) < 0 ? b.length + D : D) >= b.length) {\n if (Y)\n return -1;\n D = b.length - 1;\n } else if (D < 0) {\n if (!Y)\n return -1;\n D = 0;\n }\n if (typeof O == \"string\" && (O = n.from(O, B)), n.isBuffer(O))\n return O.length === 0 ? -1 : T(b, O, D, B, Y);\n if (typeof O == \"number\")\n return O &= 255, typeof Uint8Array.prototype.indexOf == \"function\" ? (Y ? Uint8Array.prototype.indexOf : Uint8Array.prototype.lastIndexOf).call(b, O, D) : T(b, [O], D, B, Y);\n throw new TypeError(\"val must be string, number or Buffer\");\n }\n function T(b, O, D, B, Y) {\n var K = 1, te = b.length, ce = O.length;\n if (B !== void 0 && ((B = String(B).toLowerCase()) === \"ucs2\" || B === \"ucs-2\" || B === \"utf16le\" || B === \"utf-16le\")) {\n if (b.length < 2 || O.length < 2)\n return -1;\n te /= K = 2, ce /= 2, D /= 2;\n }\n function re(he, _e) {\n return K === 1 ? he[_e] : he.readUInt16BE(_e * K);\n }\n if (Y)\n for (var ue = -1, le = D; le < te; le++)\n if (re(b, le) === re(O, ue === -1 ? 0 : le - ue)) {\n if (le - (ue = ue === -1 ? le : ue) + 1 === ce)\n return ue * K;\n } else\n ue !== -1 && (le -= le - ue), ue = -1;\n else\n for (le = D = te < D + ce ? te - ce : D; 0 <= le; le--) {\n for (var J = !0, ae = 0; ae < ce; ae++)\n if (re(b, le + ae) !== re(O, ae)) {\n J = !1;\n break;\n }\n if (J)\n return le;\n }\n return -1;\n }\n function _(b, O, D, B) {\n return U(function(Y) {\n for (var K = [], te = 0; te < Y.length; ++te)\n K.push(255 & Y.charCodeAt(te));\n return K;\n }(O), b, D, B);\n }\n function S(b, O, D, B) {\n return U(function(Y, K) {\n for (var te, ce, re = [], ue = 0; ue < Y.length && !((K -= 2) < 0); ++ue)\n ce = Y.charCodeAt(ue), te = ce >> 8, ce = ce % 256, re.push(ce), re.push(te);\n return re;\n }(O, b.length - D), b, D, B);\n }\n function E(b, O, D) {\n D = Math.min(b.length, D);\n for (var B = [], Y = O; Y < D; ) {\n var K, te, ce, re, ue = b[Y], le = null, J = 239 < ue ? 4 : 223 < ue ? 3 : 191 < ue ? 2 : 1;\n if (Y + J <= D)\n switch (J) {\n case 1:\n ue < 128 && (le = ue);\n break;\n case 2:\n (192 & (K = b[Y + 1])) == 128 && 127 < (re = (31 & ue) << 6 | 63 & K) && (le = re);\n break;\n case 3:\n K = b[Y + 1], te = b[Y + 2], (192 & K) == 128 && (192 & te) == 128 && 2047 < (re = (15 & ue) << 12 | (63 & K) << 6 | 63 & te) && (re < 55296 || 57343 < re) && (le = re);\n break;\n case 4:\n K = b[Y + 1], te = b[Y + 2], ce = b[Y + 3], (192 & K) == 128 && (192 & te) == 128 && (192 & ce) == 128 && 65535 < (re = (15 & ue) << 18 | (63 & K) << 12 | (63 & te) << 6 | 63 & ce) && re < 1114112 && (le = re);\n }\n le === null ? (le = 65533, J = 1) : 65535 < le && (le -= 65536, B.push(le >>> 10 & 1023 | 55296), le = 56320 | 1023 & le), B.push(le), Y += J;\n }\n var ae = B, he = ae.length;\n if (he <= P)\n return String.fromCharCode.apply(String, ae);\n for (var _e = \"\", fe = 0; fe < he; )\n _e += String.fromCharCode.apply(String, ae.slice(fe, fe += P));\n return _e;\n }\n C.kMaxLength = g, (n.TYPED_ARRAY_SUPPORT = function() {\n try {\n var b = new Uint8Array(1), O = { foo: function() {\n return 42;\n } };\n return Object.setPrototypeOf(O, Uint8Array.prototype), Object.setPrototypeOf(b, O), b.foo() === 42;\n } catch {\n return !1;\n }\n }()) || typeof console > \"u\" || typeof console.error != \"function\" || console.error(\"This browser lacks typed array (Uint8Array) support which is required by `buffer` v5.x. Use `buffer` v4.x if you require old browser support.\"), Object.defineProperty(n.prototype, \"parent\", { enumerable: !0, get: function() {\n if (n.isBuffer(this))\n return this.buffer;\n } }), Object.defineProperty(n.prototype, \"offset\", { enumerable: !0, get: function() {\n if (n.isBuffer(this))\n return this.byteOffset;\n } }), typeof Symbol < \"u\" && Symbol.species != null && n[Symbol.species] === n && Object.defineProperty(n, Symbol.species, { value: null, configurable: !0, enumerable: !1, writable: !1 }), n.poolSize = 8192, n.from = s, Object.setPrototypeOf(n.prototype, Uint8Array.prototype), Object.setPrototypeOf(n, Uint8Array), n.alloc = function(b, O, D) {\n return O = O, D = D, o(b = b), !(b <= 0) && O !== void 0 ? typeof D == \"string\" ? f(b).fill(O, D) : f(b).fill(O) : f(b);\n }, n.allocUnsafe = a, n.allocUnsafeSlow = a, n.isBuffer = function(b) {\n return b != null && b._isBuffer === !0 && b !== n.prototype;\n }, n.compare = function(b, O) {\n if (W(b, Uint8Array) && (b = n.from(b, b.offset, b.byteLength)), W(O, Uint8Array) && (O = n.from(O, O.offset, O.byteLength)), !n.isBuffer(b) || !n.isBuffer(O))\n throw new TypeError('The \"buf1\", \"buf2\" arguments must be one of type Buffer or Uint8Array');\n if (b === O)\n return 0;\n for (var D = b.length, B = O.length, Y = 0, K = Math.min(D, B); Y < K; ++Y)\n if (b[Y] !== O[Y]) {\n D = b[Y], B = O[Y];\n break;\n }\n return D < B ? -1 : B < D ? 1 : 0;\n }, n.isEncoding = function(b) {\n switch (String(b).toLowerCase()) {\n case \"hex\":\n case \"utf8\":\n case \"utf-8\":\n case \"ascii\":\n case \"latin1\":\n case \"binary\":\n case \"base64\":\n case \"ucs2\":\n case \"ucs-2\":\n case \"utf16le\":\n case \"utf-16le\":\n return !0;\n default:\n return !1;\n }\n }, n.concat = function(b, O) {\n if (!Array.isArray(b))\n throw new TypeError('\"list\" argument must be an Array of Buffers');\n if (b.length === 0)\n return n.alloc(0);\n if (O === void 0)\n for (Y = O = 0; Y < b.length; ++Y)\n O += b[Y].length;\n for (var D = n.allocUnsafe(O), B = 0, Y = 0; Y < b.length; ++Y) {\n var K = b[Y];\n if (W(K, Uint8Array) && (K = n.from(K)), !n.isBuffer(K))\n throw new TypeError('\"list\" argument must be an Array of Buffers');\n K.copy(D, B), B += K.length;\n }\n return D;\n }, n.byteLength = i, n.prototype._isBuffer = !0, n.prototype.swap16 = function() {\n var b = this.length;\n if (b % 2 != 0)\n throw new RangeError(\"Buffer size must be a multiple of 16-bits\");\n for (var O = 0; O < b; O += 2)\n p(this, O, O + 1);\n return this;\n }, n.prototype.swap32 = function() {\n var b = this.length;\n if (b % 4 != 0)\n throw new RangeError(\"Buffer size must be a multiple of 32-bits\");\n for (var O = 0; O < b; O += 4)\n p(this, O, O + 3), p(this, O + 1, O + 2);\n return this;\n }, n.prototype.swap64 = function() {\n var b = this.length;\n if (b % 8 != 0)\n throw new RangeError(\"Buffer size must be a multiple of 64-bits\");\n for (var O = 0; O < b; O += 8)\n p(this, O, O + 7), p(this, O + 1, O + 6), p(this, O + 2, O + 5), p(this, O + 3, O + 4);\n return this;\n }, n.prototype.toLocaleString = n.prototype.toString = function() {\n var b = this.length;\n return b === 0 ? \"\" : arguments.length === 0 ? E(this, 0, b) : c.apply(this, arguments);\n }, n.prototype.equals = function(b) {\n if (n.isBuffer(b))\n return this === b || n.compare(this, b) === 0;\n throw new TypeError(\"Argument must be a Buffer\");\n }, n.prototype.inspect = function() {\n var O = \"\", b = C.INSPECT_MAX_BYTES, O = this.toString(\"hex\", 0, b).replace(/(.{2})/g, \"$1 \").trim();\n return this.length > b && (O += \" ... \"), \"\";\n }, h && (n.prototype[h] = n.prototype.inspect), n.prototype.compare = function(b, O, D, B, Y) {\n if (W(b, Uint8Array) && (b = n.from(b, b.offset, b.byteLength)), !n.isBuffer(b))\n throw new TypeError('The \"target\" argument must be one of type Buffer or Uint8Array. Received type ' + typeof b);\n if (D === void 0 && (D = b ? b.length : 0), B === void 0 && (B = 0), Y === void 0 && (Y = this.length), (O = O === void 0 ? 0 : O) < 0 || D > b.length || B < 0 || Y > this.length)\n throw new RangeError(\"out of range index\");\n if (Y <= B && D <= O)\n return 0;\n if (Y <= B)\n return -1;\n if (D <= O)\n return 1;\n if (this === b)\n return 0;\n for (var K = (Y >>>= 0) - (B >>>= 0), te = (D >>>= 0) - (O >>>= 0), ce = Math.min(K, te), re = this.slice(B, Y), ue = b.slice(O, D), le = 0; le < ce; ++le)\n if (re[le] !== ue[le]) {\n K = re[le], te = ue[le];\n break;\n }\n return K < te ? -1 : te < K ? 1 : 0;\n }, n.prototype.includes = function(b, O, D) {\n return this.indexOf(b, O, D) !== -1;\n }, n.prototype.indexOf = function(b, O, D) {\n return j(this, b, O, D, !0);\n }, n.prototype.lastIndexOf = function(b, O, D) {\n return j(this, b, O, D, !1);\n }, n.prototype.write = function(b, O, D, B) {\n if (O === void 0)\n B = \"utf8\", D = this.length, O = 0;\n else if (D === void 0 && typeof O == \"string\")\n B = O, D = this.length, O = 0;\n else {\n if (!isFinite(O))\n throw new Error(\"Buffer.write(string, encoding, offset[, length]) is no longer supported\");\n O >>>= 0, isFinite(D) ? (D >>>= 0, B === void 0 && (B = \"utf8\")) : (B = D, D = void 0);\n }\n var Y = this.length - O;\n if ((D === void 0 || Y < D) && (D = Y), 0 < b.length && (D < 0 || O < 0) || O > this.length)\n throw new RangeError(\"Attempt to write outside buffer bounds\");\n B = B || \"utf8\";\n for (var K, te, ce, re = !1; ; )\n switch (B) {\n case \"hex\":\n var ue = this, le = b, J = O, ae = D, he = (J = Number(J) || 0, ue.length - J);\n (!ae || he < (ae = Number(ae))) && (ae = he), (he = le.length) / 2 < ae && (ae = he / 2);\n for (var _e = 0; _e < ae; ++_e) {\n var fe = parseInt(le.substr(2 * _e, 2), 16);\n if (X(fe))\n return _e;\n ue[J + _e] = fe;\n }\n return _e;\n case \"utf8\":\n case \"utf-8\":\n return he = O, ce = D, U(V(b, (te = this).length - he), te, he, ce);\n case \"ascii\":\n return _(this, b, O, D);\n case \"latin1\":\n case \"binary\":\n return _(this, b, O, D);\n case \"base64\":\n return te = this, ce = O, K = D, U(G(b), te, ce, K);\n case \"ucs2\":\n case \"ucs-2\":\n case \"utf16le\":\n case \"utf-16le\":\n return S(this, b, O, D);\n default:\n if (re)\n throw new TypeError(\"Unknown encoding: \" + B);\n B = (\"\" + B).toLowerCase(), re = !0;\n }\n }, n.prototype.toJSON = function() {\n return { type: \"Buffer\", data: Array.prototype.slice.call(this._arr || this, 0) };\n };\n var P = 4096;\n function x(b, O, D) {\n if (b % 1 != 0 || b < 0)\n throw new RangeError(\"offset is not uint\");\n if (D < b + O)\n throw new RangeError(\"Trying to access beyond buffer length\");\n }\n function A(b, O, D, B, Y, K) {\n if (!n.isBuffer(b))\n throw new TypeError('\"buffer\" argument must be a Buffer instance');\n if (Y < O || O < K)\n throw new RangeError('\"value\" argument is out of bounds');\n if (D + B > b.length)\n throw new RangeError(\"Index out of range\");\n }\n function M(b, O, D, B) {\n if (D + B > b.length)\n throw new RangeError(\"Index out of range\");\n if (D < 0)\n throw new RangeError(\"Index out of range\");\n }\n function R(b, O, D, B, Y) {\n return O = +O, D >>>= 0, Y || M(b, 0, D, 4), u.write(b, O, D, B, 23, 4), D + 4;\n }\n function L(b, O, D, B, Y) {\n return O = +O, D >>>= 0, Y || M(b, 0, D, 8), u.write(b, O, D, B, 52, 8), D + 8;\n }\n n.prototype.slice = function(b, O) {\n var D = this.length, D = ((b = ~~b) < 0 ? (b += D) < 0 && (b = 0) : D < b && (b = D), (O = O === void 0 ? D : ~~O) < 0 ? (O += D) < 0 && (O = 0) : D < O && (O = D), O < b && (O = b), this.subarray(b, O));\n return Object.setPrototypeOf(D, n.prototype), D;\n }, n.prototype.readUIntLE = function(b, O, D) {\n b >>>= 0, O >>>= 0, D || x(b, O, this.length);\n for (var B = this[b], Y = 1, K = 0; ++K < O && (Y *= 256); )\n B += this[b + K] * Y;\n return B;\n }, n.prototype.readUIntBE = function(b, O, D) {\n b >>>= 0, O >>>= 0, D || x(b, O, this.length);\n for (var B = this[b + --O], Y = 1; 0 < O && (Y *= 256); )\n B += this[b + --O] * Y;\n return B;\n }, n.prototype.readUInt8 = function(b, O) {\n return b >>>= 0, O || x(b, 1, this.length), this[b];\n }, n.prototype.readUInt16LE = function(b, O) {\n return b >>>= 0, O || x(b, 2, this.length), this[b] | this[b + 1] << 8;\n }, n.prototype.readUInt16BE = function(b, O) {\n return b >>>= 0, O || x(b, 2, this.length), this[b] << 8 | this[b + 1];\n }, n.prototype.readUInt32LE = function(b, O) {\n return b >>>= 0, O || x(b, 4, this.length), (this[b] | this[b + 1] << 8 | this[b + 2] << 16) + 16777216 * this[b + 3];\n }, n.prototype.readUInt32BE = function(b, O) {\n return b >>>= 0, O || x(b, 4, this.length), 16777216 * this[b] + (this[b + 1] << 16 | this[b + 2] << 8 | this[b + 3]);\n }, n.prototype.readIntLE = function(b, O, D) {\n b >>>= 0, O >>>= 0, D || x(b, O, this.length);\n for (var B = this[b], Y = 1, K = 0; ++K < O && (Y *= 256); )\n B += this[b + K] * Y;\n return (Y *= 128) <= B && (B -= Math.pow(2, 8 * O)), B;\n }, n.prototype.readIntBE = function(b, O, D) {\n b >>>= 0, O >>>= 0, D || x(b, O, this.length);\n for (var B = O, Y = 1, K = this[b + --B]; 0 < B && (Y *= 256); )\n K += this[b + --B] * Y;\n return (Y *= 128) <= K && (K -= Math.pow(2, 8 * O)), K;\n }, n.prototype.readInt8 = function(b, O) {\n return b >>>= 0, O || x(b, 1, this.length), 128 & this[b] ? -1 * (255 - this[b] + 1) : this[b];\n }, n.prototype.readInt16LE = function(b, O) {\n return b >>>= 0, O || x(b, 2, this.length), O = this[b] | this[b + 1] << 8, 32768 & O ? 4294901760 | O : O;\n }, n.prototype.readInt16BE = function(b, O) {\n return b >>>= 0, O || x(b, 2, this.length), O = this[b + 1] | this[b] << 8, 32768 & O ? 4294901760 | O : O;\n }, n.prototype.readInt32LE = function(b, O) {\n return b >>>= 0, O || x(b, 4, this.length), this[b] | this[b + 1] << 8 | this[b + 2] << 16 | this[b + 3] << 24;\n }, n.prototype.readInt32BE = function(b, O) {\n return b >>>= 0, O || x(b, 4, this.length), this[b] << 24 | this[b + 1] << 16 | this[b + 2] << 8 | this[b + 3];\n }, n.prototype.readFloatLE = function(b, O) {\n return b >>>= 0, O || x(b, 4, this.length), u.read(this, b, !0, 23, 4);\n }, n.prototype.readFloatBE = function(b, O) {\n return b >>>= 0, O || x(b, 4, this.length), u.read(this, b, !1, 23, 4);\n }, n.prototype.readDoubleLE = function(b, O) {\n return b >>>= 0, O || x(b, 8, this.length), u.read(this, b, !0, 52, 8);\n }, n.prototype.readDoubleBE = function(b, O) {\n return b >>>= 0, O || x(b, 8, this.length), u.read(this, b, !1, 52, 8);\n }, n.prototype.writeUIntLE = function(b, O, D, B) {\n b = +b, O >>>= 0, D >>>= 0, B || A(this, b, O, D, Math.pow(2, 8 * D) - 1, 0);\n var Y = 1, K = 0;\n for (this[O] = 255 & b; ++K < D && (Y *= 256); )\n this[O + K] = b / Y & 255;\n return O + D;\n }, n.prototype.writeUIntBE = function(b, O, D, B) {\n b = +b, O >>>= 0, D >>>= 0, B || A(this, b, O, D, Math.pow(2, 8 * D) - 1, 0);\n var Y = D - 1, K = 1;\n for (this[O + Y] = 255 & b; 0 <= --Y && (K *= 256); )\n this[O + Y] = b / K & 255;\n return O + D;\n }, n.prototype.writeUInt8 = function(b, O, D) {\n return b = +b, O >>>= 0, D || A(this, b, O, 1, 255, 0), this[O] = 255 & b, O + 1;\n }, n.prototype.writeUInt16LE = function(b, O, D) {\n return b = +b, O >>>= 0, D || A(this, b, O, 2, 65535, 0), this[O] = 255 & b, this[O + 1] = b >>> 8, O + 2;\n }, n.prototype.writeUInt16BE = function(b, O, D) {\n return b = +b, O >>>= 0, D || A(this, b, O, 2, 65535, 0), this[O] = b >>> 8, this[O + 1] = 255 & b, O + 2;\n }, n.prototype.writeUInt32LE = function(b, O, D) {\n return b = +b, O >>>= 0, D || A(this, b, O, 4, 4294967295, 0), this[O + 3] = b >>> 24, this[O + 2] = b >>> 16, this[O + 1] = b >>> 8, this[O] = 255 & b, O + 4;\n }, n.prototype.writeUInt32BE = function(b, O, D) {\n return b = +b, O >>>= 0, D || A(this, b, O, 4, 4294967295, 0), this[O] = b >>> 24, this[O + 1] = b >>> 16, this[O + 2] = b >>> 8, this[O + 3] = 255 & b, O + 4;\n }, n.prototype.writeIntLE = function(b, O, D, B) {\n b = +b, O >>>= 0, B || A(this, b, O, D, (B = Math.pow(2, 8 * D - 1)) - 1, -B);\n var Y = 0, K = 1, te = 0;\n for (this[O] = 255 & b; ++Y < D && (K *= 256); )\n b < 0 && te === 0 && this[O + Y - 1] !== 0 && (te = 1), this[O + Y] = (b / K >> 0) - te & 255;\n return O + D;\n }, n.prototype.writeIntBE = function(b, O, D, B) {\n b = +b, O >>>= 0, B || A(this, b, O, D, (B = Math.pow(2, 8 * D - 1)) - 1, -B);\n var Y = D - 1, K = 1, te = 0;\n for (this[O + Y] = 255 & b; 0 <= --Y && (K *= 256); )\n b < 0 && te === 0 && this[O + Y + 1] !== 0 && (te = 1), this[O + Y] = (b / K >> 0) - te & 255;\n return O + D;\n }, n.prototype.writeInt8 = function(b, O, D) {\n return b = +b, O >>>= 0, D || A(this, b, O, 1, 127, -128), this[O] = 255 & (b = b < 0 ? 255 + b + 1 : b), O + 1;\n }, n.prototype.writeInt16LE = function(b, O, D) {\n return b = +b, O >>>= 0, D || A(this, b, O, 2, 32767, -32768), this[O] = 255 & b, this[O + 1] = b >>> 8, O + 2;\n }, n.prototype.writeInt16BE = function(b, O, D) {\n return b = +b, O >>>= 0, D || A(this, b, O, 2, 32767, -32768), this[O] = b >>> 8, this[O + 1] = 255 & b, O + 2;\n }, n.prototype.writeInt32LE = function(b, O, D) {\n return b = +b, O >>>= 0, D || A(this, b, O, 4, 2147483647, -2147483648), this[O] = 255 & b, this[O + 1] = b >>> 8, this[O + 2] = b >>> 16, this[O + 3] = b >>> 24, O + 4;\n }, n.prototype.writeInt32BE = function(b, O, D) {\n return b = +b, O >>>= 0, D || A(this, b, O, 4, 2147483647, -2147483648), this[O] = (b = b < 0 ? 4294967295 + b + 1 : b) >>> 24, this[O + 1] = b >>> 16, this[O + 2] = b >>> 8, this[O + 3] = 255 & b, O + 4;\n }, n.prototype.writeFloatLE = function(b, O, D) {\n return R(this, b, O, !0, D);\n }, n.prototype.writeFloatBE = function(b, O, D) {\n return R(this, b, O, !1, D);\n }, n.prototype.writeDoubleLE = function(b, O, D) {\n return L(this, b, O, !0, D);\n }, n.prototype.writeDoubleBE = function(b, O, D) {\n return L(this, b, O, !1, D);\n }, n.prototype.copy = function(b, O, D, B) {\n if (!n.isBuffer(b))\n throw new TypeError(\"argument should be a Buffer\");\n if (D = D || 0, B || B === 0 || (B = this.length), O >= b.length && (O = b.length), (B = 0 < B && B < D ? D : B) === D || b.length === 0 || this.length === 0)\n return 0;\n if ((O = O || 0) < 0)\n throw new RangeError(\"targetStart out of bounds\");\n if (D < 0 || D >= this.length)\n throw new RangeError(\"Index out of range\");\n if (B < 0)\n throw new RangeError(\"sourceEnd out of bounds\");\n B > this.length && (B = this.length);\n var Y = (B = b.length - O < B - D ? b.length - O + D : B) - D;\n if (this === b && typeof Uint8Array.prototype.copyWithin == \"function\")\n this.copyWithin(O, D, B);\n else if (this === b && D < O && O < B)\n for (var K = Y - 1; 0 <= K; --K)\n b[K + O] = this[K + D];\n else\n Uint8Array.prototype.set.call(b, this.subarray(D, B), O);\n return Y;\n }, n.prototype.fill = function(b, O, D, B) {\n if (typeof b == \"string\") {\n if (typeof O == \"string\" ? (B = O, O = 0, D = this.length) : typeof D == \"string\" && (B = D, D = this.length), B !== void 0 && typeof B != \"string\")\n throw new TypeError(\"encoding must be a string\");\n if (typeof B == \"string\" && !n.isEncoding(B))\n throw new TypeError(\"Unknown encoding: \" + B);\n var Y;\n b.length === 1 && (Y = b.charCodeAt(0), (B === \"utf8\" && Y < 128 || B === \"latin1\") && (b = Y));\n } else\n typeof b == \"number\" ? b &= 255 : typeof b == \"boolean\" && (b = Number(b));\n if (O < 0 || this.length < O || this.length < D)\n throw new RangeError(\"Out of range index\");\n var K;\n if (!(D <= O))\n if (O >>>= 0, D = D === void 0 ? this.length : D >>> 0, typeof (b = b || 0) == \"number\")\n for (K = O; K < D; ++K)\n this[K] = b;\n else {\n var te = n.isBuffer(b) ? b : n.from(b, B), ce = te.length;\n if (ce === 0)\n throw new TypeError('The value \"' + b + '\" is invalid for argument \"value\"');\n for (K = 0; K < D - O; ++K)\n this[K + O] = te[K % ce];\n }\n return this;\n };\n var F = /[^+/0-9A-Za-z-_]/g;\n function V(b, O) {\n O = O || 1 / 0;\n for (var D, B = b.length, Y = null, K = [], te = 0; te < B; ++te) {\n if (55295 < (D = b.charCodeAt(te)) && D < 57344) {\n if (!Y) {\n if (56319 < D) {\n -1 < (O -= 3) && K.push(239, 191, 189);\n continue;\n }\n if (te + 1 === B) {\n -1 < (O -= 3) && K.push(239, 191, 189);\n continue;\n }\n Y = D;\n continue;\n }\n if (D < 56320) {\n -1 < (O -= 3) && K.push(239, 191, 189), Y = D;\n continue;\n }\n D = 65536 + (Y - 55296 << 10 | D - 56320);\n } else\n Y && -1 < (O -= 3) && K.push(239, 191, 189);\n if (Y = null, D < 128) {\n if (--O < 0)\n break;\n K.push(D);\n } else if (D < 2048) {\n if ((O -= 2) < 0)\n break;\n K.push(D >> 6 | 192, 63 & D | 128);\n } else if (D < 65536) {\n if ((O -= 3) < 0)\n break;\n K.push(D >> 12 | 224, D >> 6 & 63 | 128, 63 & D | 128);\n } else {\n if (!(D < 1114112))\n throw new Error(\"Invalid code point\");\n if ((O -= 4) < 0)\n break;\n K.push(D >> 18 | 240, D >> 12 & 63 | 128, D >> 6 & 63 | 128, 63 & D | 128);\n }\n }\n return K;\n }\n function G(b) {\n return y.toByteArray(function(O) {\n if ((O = (O = O.split(\"=\")[0]).trim().replace(F, \"\")).length < 2)\n return \"\";\n for (; O.length % 4 != 0; )\n O += \"=\";\n return O;\n }(b));\n }\n function U(b, O, D, B) {\n for (var Y = 0; Y < B && !(Y + D >= O.length || Y >= b.length); ++Y)\n O[Y + D] = b[Y];\n return Y;\n }\n function W(b, O) {\n return b instanceof O || b != null && b.constructor != null && b.constructor.name != null && b.constructor.name === O.name;\n }\n function X(b) {\n return b != b;\n }\n var ne = function() {\n for (var b = \"0123456789abcdef\", O = new Array(256), D = 0; D < 16; ++D)\n for (var B = 16 * D, Y = 0; Y < 16; ++Y)\n O[B + Y] = b[D] + b[Y];\n return O;\n }();\n }).call(this, t(\"buffer\").Buffer);\n }, { \"base64-js\": 1, buffer: 4, ieee754: 251 }], 5: [function(t, H, C) {\n H.exports = function(m) {\n if (typeof m != \"function\")\n throw TypeError(String(m) + \" is not a function\");\n return m;\n };\n }, {}], 6: [function(t, H, C) {\n var m = t(\"../internals/is-object\");\n H.exports = function(y) {\n if (m(y) || y === null)\n return y;\n throw TypeError(\"Can't set \" + String(y) + \" as a prototype\");\n };\n }, { \"../internals/is-object\": 75 }], 7: [function(u, H, C) {\n var m = u(\"../internals/well-known-symbol\"), y = u(\"../internals/object-create\"), u = u(\"../internals/object-define-property\"), h = m(\"unscopables\"), g = Array.prototype;\n g[h] == null && u.f(g, h, { configurable: !0, value: y(null) }), H.exports = function(f) {\n g[h][f] = !0;\n };\n }, { \"../internals/object-create\": 91, \"../internals/object-define-property\": 93, \"../internals/well-known-symbol\": 149 }], 8: [function(t, H, C) {\n var m = t(\"../internals/string-multibyte\").charAt;\n H.exports = function(y, u, h) {\n return u + (h ? m(y, u).length : 1);\n };\n }, { \"../internals/string-multibyte\": 124 }], 9: [function(t, H, C) {\n H.exports = function(m, y, u) {\n if (m instanceof y)\n return m;\n throw TypeError(\"Incorrect \" + (u ? u + \" \" : \"\") + \"invocation\");\n };\n }, {}], 10: [function(t, H, C) {\n var m = t(\"../internals/is-object\");\n H.exports = function(y) {\n if (m(y))\n return y;\n throw TypeError(String(y) + \" is not an object\");\n };\n }, { \"../internals/is-object\": 75 }], 11: [function(t, H, C) {\n H.exports = typeof ArrayBuffer < \"u\" && typeof DataView < \"u\";\n }, {}], 12: [function(M, H, C) {\n function m(L) {\n return f(L) && n(R, s(L));\n }\n var y, u = M(\"../internals/array-buffer-native\"), h = M(\"../internals/descriptors\"), g = M(\"../internals/global\"), f = M(\"../internals/is-object\"), n = M(\"../internals/has\"), s = M(\"../internals/classof\"), o = M(\"../internals/create-non-enumerable-property\"), a = M(\"../internals/redefine\"), l = M(\"../internals/object-define-property\").f, r = M(\"../internals/object-get-prototype-of\"), i = M(\"../internals/object-set-prototype-of\"), P = M(\"../internals/well-known-symbol\"), M = M(\"../internals/uid\"), c = g.Int8Array, p = c && c.prototype, j = g.Uint8ClampedArray, j = j && j.prototype, T = c && r(c), _ = p && r(p), S = Object.prototype, E = S.isPrototypeOf, P = P(\"toStringTag\"), x = M(\"TYPED_ARRAY_TAG\"), A = u && !!i && s(g.opera) !== \"Opera\", M = !1, R = { Int8Array: 1, Uint8Array: 1, Uint8ClampedArray: 1, Int16Array: 2, Uint16Array: 2, Int32Array: 4, Uint32Array: 4, Float32Array: 4, Float64Array: 8 };\n for (y in R)\n g[y] || (A = !1);\n if ((!A || typeof T != \"function\" || T === Function.prototype) && (T = function() {\n throw TypeError(\"Incorrect invocation\");\n }, A))\n for (y in R)\n g[y] && i(g[y], T);\n if ((!A || !_ || _ === S) && (_ = T.prototype, A))\n for (y in R)\n g[y] && i(g[y].prototype, _);\n if (A && r(j) !== _ && i(j, _), h && !n(_, P))\n for (y in M = !0, l(_, P, { get: function() {\n return f(this) ? this[x] : void 0;\n } }), R)\n g[y] && o(g[y], x, y);\n H.exports = { NATIVE_ARRAY_BUFFER_VIEWS: A, TYPED_ARRAY_TAG: M && x, aTypedArray: function(L) {\n if (m(L))\n return L;\n throw TypeError(\"Target is not a typed array\");\n }, aTypedArrayConstructor: function(L) {\n if (i) {\n if (E.call(T, L))\n return L;\n } else\n for (var F in R)\n if (n(R, y) && (F = g[F], F && (L === F || E.call(F, L))))\n return L;\n throw TypeError(\"Target is not a typed array constructor\");\n }, exportTypedArrayMethod: function(L, F, V) {\n if (h) {\n if (V)\n for (var G in R)\n G = g[G], G && n(G.prototype, L) && delete G.prototype[L];\n _[L] && !V || a(_, L, !V && A && p[L] || F);\n }\n }, exportTypedArrayStaticMethod: function(L, F, V) {\n var G, U;\n if (h) {\n if (i) {\n if (V)\n for (G in R)\n (U = g[G]) && n(U, L) && delete U[L];\n if (T[L] && !V)\n return;\n try {\n return a(T, L, !V && A && c[L] || F);\n } catch {\n }\n }\n for (G in R)\n !(U = g[G]) || U[L] && !V || a(U, L, F);\n }\n }, isView: function(L) {\n return L = s(L), L === \"DataView\" || n(R, L);\n }, isTypedArray: m, TypedArray: T, TypedArrayPrototype: _ };\n }, { \"../internals/array-buffer-native\": 11, \"../internals/classof\": 29, \"../internals/create-non-enumerable-property\": 38, \"../internals/descriptors\": 43, \"../internals/global\": 60, \"../internals/has\": 61, \"../internals/is-object\": 75, \"../internals/object-define-property\": 93, \"../internals/object-get-prototype-of\": 98, \"../internals/object-set-prototype-of\": 102, \"../internals/redefine\": 109, \"../internals/uid\": 146, \"../internals/well-known-symbol\": 149 }], 13: [function(D, H, C) {\n function m(J) {\n return [255 & J];\n }\n function y(J) {\n return [255 & J, J >> 8 & 255];\n }\n function u(J) {\n return [255 & J, J >> 8 & 255, J >> 16 & 255, J >> 24 & 255];\n }\n function h(J) {\n return J[3] << 24 | J[2] << 16 | J[1] << 8 | J[0];\n }\n function g(J) {\n return K(J, 23, 4);\n }\n function f(J) {\n return K(J, 52, 8);\n }\n function n(J, ae) {\n M(J[W], ae, { get: function() {\n return F(this)[ae];\n } });\n }\n function s(xe, ae, ge, _e) {\n if (ge = S(ge), xe = F(xe), ge + ae > xe.byteLength)\n throw Y(X);\n var fe = F(xe.buffer).bytes, ge = ge + xe.byteOffset, xe = fe.slice(ge, ge + ae);\n return _e ? xe : xe.reverse();\n }\n function o(J, ae, he, _e, fe, ge) {\n if (he = S(he), J = F(J), he + ae > J.byteLength)\n throw Y(X);\n for (var xe = F(J.buffer).bytes, De = he + J.byteOffset, Me = _e(+fe), Qe = 0; Qe < ae; Qe++)\n xe[De + Qe] = Me[ge ? Qe : ae - Qe - 1];\n }\n var a = D(\"../internals/global\"), l = D(\"../internals/descriptors\"), r = D(\"../internals/array-buffer-native\"), i = D(\"../internals/create-non-enumerable-property\"), c = D(\"../internals/redefine-all\"), p = D(\"../internals/fails\"), j = D(\"../internals/an-instance\"), T = D(\"../internals/to-integer\"), _ = D(\"../internals/to-length\"), S = D(\"../internals/to-index\"), E = D(\"../internals/ieee754\"), P = D(\"../internals/object-get-prototype-of\"), x = D(\"../internals/object-set-prototype-of\"), A = D(\"../internals/object-get-own-property-names\").f, M = D(\"../internals/object-define-property\").f, R = D(\"../internals/array-fill\"), L = D(\"../internals/set-to-string-tag\"), D = D(\"../internals/internal-state\"), F = D.get, V = D.set, G = \"ArrayBuffer\", U = \"DataView\", W = \"prototype\", X = \"Wrong index\", ne = a[G], b = ne, O = a[U], D = O && O[W], B = Object.prototype, Y = a.RangeError, K = E.pack, te = E.unpack;\n if (r) {\n if (!p(function() {\n ne(1);\n }) || !p(function() {\n new ne(-1);\n }) || p(function() {\n return new ne(), new ne(1.5), new ne(NaN), ne.name != G;\n })) {\n for (var ce, a = (b = function(he) {\n return j(this, b), new ne(S(he));\n })[W] = ne[W], re = A(ne), ue = 0; re.length > ue; )\n (ce = re[ue++]) in b || i(b, ce, ne[ce]);\n a.constructor = b;\n }\n x && P(D) !== B && x(D, B);\n var E = new O(new b(2)), le = D.setInt8;\n E.setInt8(0, 2147483648), E.setInt8(1, 2147483649), !E.getInt8(0) && E.getInt8(1) || c(D, { setInt8: function(ae, he) {\n le.call(this, ae, he << 24 >> 24);\n }, setUint8: function(ae, he) {\n le.call(this, ae, he << 24 >> 24);\n } }, { unsafe: !0 });\n } else\n b = function(J) {\n j(this, b, G), J = S(J), V(this, { bytes: R.call(new Array(J), 0), byteLength: J }), l || (this.byteLength = J);\n }, O = function(J, fe, he) {\n j(this, O, U), j(J, b, U);\n var _e = F(J).byteLength, fe = T(fe);\n if (fe < 0 || _e < fe)\n throw Y(\"Wrong offset\");\n if (_e < fe + (he = he === void 0 ? _e - fe : _(he)))\n throw Y(\"Wrong length\");\n V(this, { buffer: J, byteLength: he, byteOffset: fe }), l || (this.buffer = J, this.byteLength = he, this.byteOffset = fe);\n }, l && (n(b, \"byteLength\"), n(O, \"buffer\"), n(O, \"byteLength\"), n(O, \"byteOffset\")), c(O[W], { getInt8: function(J) {\n return s(this, 1, J)[0] << 24 >> 24;\n }, getUint8: function(J) {\n return s(this, 1, J)[0];\n }, getInt16: function(J) {\n return J = s(this, 2, J, 1 < arguments.length ? arguments[1] : void 0), (J[1] << 8 | J[0]) << 16 >> 16;\n }, getUint16: function(J) {\n return J = s(this, 2, J, 1 < arguments.length ? arguments[1] : void 0), J[1] << 8 | J[0];\n }, getInt32: function(J) {\n return h(s(this, 4, J, 1 < arguments.length ? arguments[1] : void 0));\n }, getUint32: function(J) {\n return h(s(this, 4, J, 1 < arguments.length ? arguments[1] : void 0)) >>> 0;\n }, getFloat32: function(J) {\n return te(s(this, 4, J, 1 < arguments.length ? arguments[1] : void 0), 23);\n }, getFloat64: function(J) {\n return te(s(this, 8, J, 1 < arguments.length ? arguments[1] : void 0), 52);\n }, setInt8: function(J, ae) {\n o(this, 1, J, m, ae);\n }, setUint8: function(J, ae) {\n o(this, 1, J, m, ae);\n }, setInt16: function(J, ae) {\n o(this, 2, J, y, ae, 2 < arguments.length ? arguments[2] : void 0);\n }, setUint16: function(J, ae) {\n o(this, 2, J, y, ae, 2 < arguments.length ? arguments[2] : void 0);\n }, setInt32: function(J, ae) {\n o(this, 4, J, u, ae, 2 < arguments.length ? arguments[2] : void 0);\n }, setUint32: function(J, ae) {\n o(this, 4, J, u, ae, 2 < arguments.length ? arguments[2] : void 0);\n }, setFloat32: function(J, ae) {\n o(this, 4, J, g, ae, 2 < arguments.length ? arguments[2] : void 0);\n }, setFloat64: function(J, ae) {\n o(this, 8, J, f, ae, 2 < arguments.length ? arguments[2] : void 0);\n } });\n L(b, G), L(O, U), H.exports = { ArrayBuffer: b, DataView: O };\n }, { \"../internals/an-instance\": 9, \"../internals/array-buffer-native\": 11, \"../internals/array-fill\": 15, \"../internals/create-non-enumerable-property\": 38, \"../internals/descriptors\": 43, \"../internals/fails\": 51, \"../internals/global\": 60, \"../internals/ieee754\": 66, \"../internals/internal-state\": 71, \"../internals/object-define-property\": 93, \"../internals/object-get-own-property-names\": 96, \"../internals/object-get-prototype-of\": 98, \"../internals/object-set-prototype-of\": 102, \"../internals/redefine-all\": 108, \"../internals/set-to-string-tag\": 118, \"../internals/to-index\": 134, \"../internals/to-integer\": 136, \"../internals/to-length\": 137 }], 14: [function(t, H, C) {\n var m = t(\"../internals/to-object\"), y = t(\"../internals/to-absolute-index\"), u = t(\"../internals/to-length\"), h = Math.min;\n H.exports = [].copyWithin || function(l, f) {\n var n = m(this), s = u(n.length), o = y(l, s), a = y(f, s), l = 2 < arguments.length ? arguments[2] : void 0, r = h((l === void 0 ? s : y(l, s)) - a, s - o), i = 1;\n for (a < o && o < a + r && (i = -1, a += r - 1, o += r - 1); 0 < r--; )\n a in n ? n[o] = n[a] : delete n[o], o += i, a += i;\n return n;\n };\n }, { \"../internals/to-absolute-index\": 133, \"../internals/to-length\": 137, \"../internals/to-object\": 138 }], 15: [function(t, H, C) {\n var m = t(\"../internals/to-object\"), y = t(\"../internals/to-absolute-index\"), u = t(\"../internals/to-length\");\n H.exports = function(h) {\n for (var g = m(this), f = u(g.length), s = arguments.length, n = y(1 < s ? arguments[1] : void 0, f), s = 2 < s ? arguments[2] : void 0, o = s === void 0 ? f : y(s, f); n < o; )\n g[n++] = h;\n return g;\n };\n }, { \"../internals/to-absolute-index\": 133, \"../internals/to-length\": 137, \"../internals/to-object\": 138 }], 16: [function(u, H, C) {\n var m = u(\"../internals/array-iteration\").forEach, y = u(\"../internals/array-method-is-strict\"), u = u(\"../internals/array-method-uses-to-length\"), y = y(\"forEach\"), u = u(\"forEach\");\n H.exports = y && u ? [].forEach : function(h) {\n return m(this, h, 1 < arguments.length ? arguments[1] : void 0);\n };\n }, { \"../internals/array-iteration\": 19, \"../internals/array-method-is-strict\": 22, \"../internals/array-method-uses-to-length\": 23 }], 17: [function(t, H, C) {\n var m = t(\"../internals/function-bind-context\"), y = t(\"../internals/to-object\"), u = t(\"../internals/call-with-safe-iteration-closing\"), h = t(\"../internals/is-array-iterator-method\"), g = t(\"../internals/to-length\"), f = t(\"../internals/create-property\"), n = t(\"../internals/get-iterator-method\");\n H.exports = function(j) {\n var o, a, l, r, i, c, p = y(j), j = typeof this == \"function\" ? this : Array, T = arguments.length, _ = 1 < T ? arguments[1] : void 0, S = _ !== void 0, E = n(p), P = 0;\n if (S && (_ = m(_, 2 < T ? arguments[2] : void 0, 2)), E == null || j == Array && h(E))\n for (a = new j(o = g(p.length)); P < o; P++)\n c = S ? _(p[P], P) : p[P], f(a, P, c);\n else\n for (i = (r = E.call(p)).next, a = new j(); !(l = i.call(r)).done; P++)\n c = S ? u(r, _, [l.value, P], !0) : l.value, f(a, P, c);\n return a.length = P, a;\n };\n }, { \"../internals/call-with-safe-iteration-closing\": 26, \"../internals/create-property\": 40, \"../internals/function-bind-context\": 55, \"../internals/get-iterator-method\": 58, \"../internals/is-array-iterator-method\": 72, \"../internals/to-length\": 137, \"../internals/to-object\": 138 }], 18: [function(t, H, C) {\n function m(g) {\n return function(f, n, s) {\n var o, a = y(f), l = u(a.length), r = h(s, l);\n if (g && n != n) {\n for (; r < l; )\n if ((o = a[r++]) != o)\n return !0;\n } else\n for (; r < l; r++)\n if ((g || r in a) && a[r] === n)\n return g || r || 0;\n return !g && -1;\n };\n }\n var y = t(\"../internals/to-indexed-object\"), u = t(\"../internals/to-length\"), h = t(\"../internals/to-absolute-index\");\n H.exports = { includes: m(!0), indexOf: m(!1) };\n }, { \"../internals/to-absolute-index\": 133, \"../internals/to-indexed-object\": 135, \"../internals/to-length\": 137 }], 19: [function(t, H, C) {\n function m(s) {\n var o = s == 1, a = s == 2, l = s == 3, r = s == 4, i = s == 6, c = s == 5 || i;\n return function(p, j, T, _) {\n for (var S, E, P = h(p), x = u(P), A = y(j, T, 3), M = g(x.length), R = 0, j = _ || f, L = o ? j(p, M) : a ? j(p, 0) : void 0; R < M; R++)\n if ((c || R in x) && (E = A(S = x[R], R, P), s)) {\n if (o)\n L[R] = E;\n else if (E)\n switch (s) {\n case 3:\n return !0;\n case 5:\n return S;\n case 6:\n return R;\n case 2:\n n.call(L, S);\n }\n else if (r)\n return !1;\n }\n return i ? -1 : l || r ? r : L;\n };\n }\n var y = t(\"../internals/function-bind-context\"), u = t(\"../internals/indexed-object\"), h = t(\"../internals/to-object\"), g = t(\"../internals/to-length\"), f = t(\"../internals/array-species-create\"), n = [].push;\n H.exports = { forEach: m(0), map: m(1), filter: m(2), some: m(3), every: m(4), find: m(5), findIndex: m(6) };\n }, { \"../internals/array-species-create\": 25, \"../internals/function-bind-context\": 55, \"../internals/indexed-object\": 67, \"../internals/to-length\": 137, \"../internals/to-object\": 138 }], 20: [function(s, H, C) {\n var m = s(\"../internals/to-indexed-object\"), y = s(\"../internals/to-integer\"), u = s(\"../internals/to-length\"), n = s(\"../internals/array-method-is-strict\"), s = s(\"../internals/array-method-uses-to-length\"), h = Math.min, g = [].lastIndexOf, f = !!g && 1 / [1].lastIndexOf(1, -0) < 0, n = n(\"lastIndexOf\"), s = s(\"indexOf\", { ACCESSORS: !0, 1: 0 });\n H.exports = f || !n || !s ? function(o) {\n if (f)\n return g.apply(this, arguments) || 0;\n var a = m(this), l = u(a.length), r = l - 1;\n for ((r = 1 < arguments.length ? h(r, y(arguments[1])) : r) < 0 && (r = l + r); 0 <= r; r--)\n if (r in a && a[r] === o)\n return r || 0;\n return -1;\n } : g;\n }, { \"../internals/array-method-is-strict\": 22, \"../internals/array-method-uses-to-length\": 23, \"../internals/to-indexed-object\": 135, \"../internals/to-integer\": 136, \"../internals/to-length\": 137 }], 21: [function(t, H, C) {\n var m = t(\"../internals/fails\"), y = t(\"../internals/well-known-symbol\"), u = t(\"../internals/engine-v8-version\"), h = y(\"species\");\n H.exports = function(g) {\n return 51 <= u || !m(function() {\n var f = [];\n return (f.constructor = {})[h] = function() {\n return { foo: 1 };\n }, f[g](Boolean).foo !== 1;\n });\n };\n }, { \"../internals/engine-v8-version\": 48, \"../internals/fails\": 51, \"../internals/well-known-symbol\": 149 }], 22: [function(t, H, C) {\n var m = t(\"../internals/fails\");\n H.exports = function(y, u) {\n var h = [][y];\n return !!h && m(function() {\n h.call(null, u || function() {\n throw 1;\n }, 1);\n });\n };\n }, { \"../internals/fails\": 51 }], 23: [function(t, H, C) {\n function m(n) {\n throw n;\n }\n var y = t(\"../internals/descriptors\"), u = t(\"../internals/fails\"), h = t(\"../internals/has\"), g = Object.defineProperty, f = {};\n H.exports = function(n, s) {\n var o, a, l, r;\n return h(f, n) ? f[n] : (o = [][n], a = !!h(s = s || {}, \"ACCESSORS\") && s.ACCESSORS, l = h(s, 0) ? s[0] : m, r = h(s, 1) ? s[1] : void 0, f[n] = !!o && !u(function() {\n if (a && !y)\n return !0;\n var i = { length: -1 };\n a ? g(i, 1, { enumerable: !0, get: m }) : i[1] = 1, o.call(i, l, r);\n }));\n };\n }, { \"../internals/descriptors\": 43, \"../internals/fails\": 51, \"../internals/has\": 61 }], 24: [function(t, H, C) {\n function m(f) {\n return function(n, s, o, a) {\n y(s);\n var l = u(n), r = h(l), i = g(l.length), c = f ? i - 1 : 0, p = f ? -1 : 1;\n if (o < 2)\n for (; ; ) {\n if (c in r) {\n a = r[c], c += p;\n break;\n }\n if (c += p, f ? c < 0 : i <= c)\n throw TypeError(\"Reduce of empty array with no initial value\");\n }\n for (; f ? 0 <= c : c < i; c += p)\n c in r && (a = s(a, r[c], c, l));\n return a;\n };\n }\n var y = t(\"../internals/a-function\"), u = t(\"../internals/to-object\"), h = t(\"../internals/indexed-object\"), g = t(\"../internals/to-length\");\n H.exports = { left: m(!1), right: m(!0) };\n }, { \"../internals/a-function\": 5, \"../internals/indexed-object\": 67, \"../internals/to-length\": 137, \"../internals/to-object\": 138 }], 25: [function(t, H, C) {\n var m = t(\"../internals/is-object\"), y = t(\"../internals/is-array\"), u = t(\"../internals/well-known-symbol\")(\"species\");\n H.exports = function(h, g) {\n var f;\n return new ((f = y(h) && (typeof (f = h.constructor) == \"function\" && (f === Array || y(f.prototype)) || m(f) && (f = f[u]) === null) ? void 0 : f) === void 0 ? Array : f)(g === 0 ? 0 : g);\n };\n }, { \"../internals/is-array\": 73, \"../internals/is-object\": 75, \"../internals/well-known-symbol\": 149 }], 26: [function(t, H, C) {\n var m = t(\"../internals/an-object\");\n H.exports = function(y, u, h, g) {\n try {\n return g ? u(m(h)[0], h[1]) : u(h);\n } catch (f) {\n throw g = y.return, g !== void 0 && m(g.call(y)), f;\n }\n };\n }, { \"../internals/an-object\": 10 }], 27: [function(t, H, C) {\n var m = t(\"../internals/well-known-symbol\")(\"iterator\"), y = !1;\n try {\n var u = 0, h = { next: function() {\n return { done: !!u++ };\n }, return: function() {\n y = !0;\n } };\n h[m] = function() {\n return this;\n }, Array.from(h, function() {\n throw 2;\n });\n } catch {\n }\n H.exports = function(g, f) {\n if (!f && !y)\n return !1;\n var n = !1;\n try {\n var s = {};\n s[m] = function() {\n return { next: function() {\n return { done: n = !0 };\n } };\n }, g(s);\n } catch {\n }\n return n;\n };\n }, { \"../internals/well-known-symbol\": 149 }], 28: [function(t, H, C) {\n var m = {}.toString;\n H.exports = function(y) {\n return m.call(y).slice(8, -1);\n };\n }, {}], 29: [function(t, H, C) {\n var m = t(\"../internals/to-string-tag-support\"), y = t(\"../internals/classof-raw\"), u = t(\"../internals/well-known-symbol\")(\"toStringTag\"), h = y(/* @__PURE__ */ function() {\n return arguments;\n }()) == \"Arguments\";\n H.exports = m ? y : function(g) {\n var f;\n return g === void 0 ? \"Undefined\" : g === null ? \"Null\" : typeof (f = function(n, s) {\n try {\n return n[s];\n } catch {\n }\n }(g = Object(g), u)) == \"string\" ? f : h ? y(g) : (f = y(g)) == \"Object\" && typeof g.callee == \"function\" ? \"Arguments\" : f;\n };\n }, { \"../internals/classof-raw\": 28, \"../internals/to-string-tag-support\": 142, \"../internals/well-known-symbol\": 149 }], 30: [function(l, H, C) {\n var m = l(\"../internals/object-define-property\").f, y = l(\"../internals/object-create\"), u = l(\"../internals/redefine-all\"), h = l(\"../internals/function-bind-context\"), g = l(\"../internals/an-instance\"), f = l(\"../internals/iterate\"), n = l(\"../internals/define-iterator\"), s = l(\"../internals/set-species\"), o = l(\"../internals/descriptors\"), a = l(\"../internals/internal-metadata\").fastKey, l = l(\"../internals/internal-state\"), r = l.set, i = l.getterFor;\n H.exports = { getConstructor: function(c, p, j, T) {\n function _(x, A, M) {\n var R, L = P(x), F = S(x, A);\n return F ? F.value = M : (L.last = F = { index: R = a(A, !0), key: A, value: M, previous: A = L.last, next: void 0, removed: !1 }, L.first || (L.first = F), A && (A.next = F), o ? L.size++ : x.size++, R !== \"F\" && (L.index[R] = F)), x;\n }\n function S(R, A) {\n var M, R = P(R), L = a(A);\n if (L !== \"F\")\n return R.index[L];\n for (M = R.first; M; M = M.next)\n if (M.key == A)\n return M;\n }\n var E = c(function(x, A) {\n g(x, E, p), r(x, { type: p, index: y(null), first: void 0, last: void 0, size: 0 }), o || (x.size = 0), A != null && f(A, x[T], x, j);\n }), P = i(p);\n return u(E.prototype, { clear: function() {\n for (var x = P(this), A = x.index, M = x.first; M; )\n M.removed = !0, M.previous && (M.previous = M.previous.next = void 0), delete A[M.index], M = M.next;\n x.first = x.last = void 0, o ? x.size = 0 : this.size = 0;\n }, delete: function(L) {\n var A, M, R = P(this), L = S(this, L);\n return L && (A = L.next, M = L.previous, delete R.index[L.index], L.removed = !0, M && (M.next = A), A && (A.previous = M), R.first == L && (R.first = A), R.last == L && (R.last = M), o ? R.size-- : this.size--), !!L;\n }, forEach: function(x) {\n for (var A, M = P(this), R = h(x, 1 < arguments.length ? arguments[1] : void 0, 3); A = A ? A.next : M.first; )\n for (R(A.value, A.key, this); A && A.removed; )\n A = A.previous;\n }, has: function(x) {\n return !!S(this, x);\n } }), u(E.prototype, j ? { get: function(x) {\n return x = S(this, x), x && x.value;\n }, set: function(x, A) {\n return _(this, x === 0 ? 0 : x, A);\n } } : { add: function(x) {\n return _(this, x = x === 0 ? 0 : x, x);\n } }), o && m(E.prototype, \"size\", { get: function() {\n return P(this).size;\n } }), E;\n }, setStrong: function(c, p, j) {\n var T = p + \" Iterator\", _ = i(p), S = i(T);\n n(c, p, function(E, P) {\n r(this, { type: T, target: E, state: _(E), kind: P, last: void 0 });\n }, function() {\n for (var E = S(this), P = E.kind, x = E.last; x && x.removed; )\n x = x.previous;\n return E.target && (E.last = x = x ? x.next : E.state.first) ? P == \"keys\" ? { value: x.key, done: !1 } : P == \"values\" ? { value: x.value, done: !1 } : { value: [x.key, x.value], done: !1 } : { value: E.target = void 0, done: !0 };\n }, j ? \"entries\" : \"values\", !j, !0), s(p);\n } };\n }, { \"../internals/an-instance\": 9, \"../internals/define-iterator\": 41, \"../internals/descriptors\": 43, \"../internals/function-bind-context\": 55, \"../internals/internal-metadata\": 70, \"../internals/internal-state\": 71, \"../internals/iterate\": 78, \"../internals/object-create\": 91, \"../internals/object-define-property\": 93, \"../internals/redefine-all\": 108, \"../internals/set-species\": 117 }], 31: [function(r, H, C) {\n function m(_) {\n return _.frozen || (_.frozen = new y());\n }\n function y() {\n this.entries = [];\n }\n function u(_, S) {\n return p(_.entries, function(E) {\n return E[0] === S;\n });\n }\n var h = r(\"../internals/redefine-all\"), g = r(\"../internals/internal-metadata\").getWeakData, f = r(\"../internals/an-object\"), n = r(\"../internals/is-object\"), s = r(\"../internals/an-instance\"), o = r(\"../internals/iterate\"), a = r(\"../internals/array-iteration\"), l = r(\"../internals/has\"), r = r(\"../internals/internal-state\"), i = r.set, c = r.getterFor, p = a.find, j = a.findIndex, T = 0;\n y.prototype = { get: function(_) {\n if (_ = u(this, _), _)\n return _[1];\n }, has: function(_) {\n return !!u(this, _);\n }, set: function(_, S) {\n var E = u(this, _);\n E ? E[1] = S : this.entries.push([_, S]);\n }, delete: function(_) {\n var S = j(this.entries, function(E) {\n return E[0] === _;\n });\n return ~S && this.entries.splice(S, 1), !!~S;\n } }, H.exports = { getConstructor: function(_, S, E, P) {\n function x(R, L, F) {\n var V = M(R), G = g(f(L), !0);\n return G === !0 ? m(V).set(L, F) : G[V.id] = F, R;\n }\n var A = _(function(R, L) {\n s(R, A, S), i(R, { type: S, id: T++, frozen: void 0 }), L != null && o(L, R[P], R, E);\n }), M = c(S);\n return h(A.prototype, { delete: function(R) {\n var L, F = M(this);\n return !!n(R) && ((L = g(R)) === !0 ? m(F).delete(R) : L && l(L, F.id) && delete L[F.id]);\n }, has: function(R) {\n var L, F = M(this);\n return !!n(R) && ((L = g(R)) === !0 ? m(F).has(R) : L && l(L, F.id));\n } }), h(A.prototype, E ? { get: function(R) {\n var L, F = M(this);\n if (n(R))\n return (L = g(R)) === !0 ? m(F).get(R) : L ? L[F.id] : void 0;\n }, set: function(R, L) {\n return x(this, R, L);\n } } : { add: function(R) {\n return x(this, R, !0);\n } }), A;\n } };\n }, { \"../internals/an-instance\": 9, \"../internals/an-object\": 10, \"../internals/array-iteration\": 19, \"../internals/has\": 61, \"../internals/internal-metadata\": 70, \"../internals/internal-state\": 71, \"../internals/is-object\": 75, \"../internals/iterate\": 78, \"../internals/redefine-all\": 108 }], 32: [function(t, H, C) {\n var m = t(\"../internals/export\"), y = t(\"../internals/global\"), u = t(\"../internals/is-forced\"), h = t(\"../internals/redefine\"), g = t(\"../internals/internal-metadata\"), f = t(\"../internals/iterate\"), n = t(\"../internals/an-instance\"), s = t(\"../internals/is-object\"), o = t(\"../internals/fails\"), a = t(\"../internals/check-correctness-of-iteration\"), l = t(\"../internals/set-to-string-tag\"), r = t(\"../internals/inherit-if-required\");\n H.exports = function(i, c, p) {\n function j(G) {\n var U = L[G];\n h(L, G, G == \"add\" ? function(W) {\n return U.call(this, W === 0 ? 0 : W), this;\n } : G == \"delete\" ? function(W) {\n return !(A && !s(W)) && U.call(this, W === 0 ? 0 : W);\n } : G == \"get\" ? function(W) {\n return A && !s(W) ? void 0 : U.call(this, W === 0 ? 0 : W);\n } : G == \"has\" ? function(W) {\n return !(A && !s(W)) && U.call(this, W === 0 ? 0 : W);\n } : function(W, X) {\n return U.call(this, W === 0 ? 0 : W, X), this;\n });\n }\n var T, _, S, E, P, x = i.indexOf(\"Map\") !== -1, A = i.indexOf(\"Weak\") !== -1, M = x ? \"set\" : \"add\", R = y[i], L = R && R.prototype, F = R, V = {};\n return u(i, typeof R != \"function\" || !(A || L.forEach && !o(function() {\n new R().entries().next();\n }))) ? (F = p.getConstructor(c, i, x, M), g.REQUIRED = !0) : u(i, !0) && (_ = (T = new F())[M](A ? {} : -0, 1) != T, S = o(function() {\n T.has(1);\n }), E = a(function(G) {\n new R(G);\n }), P = !A && o(function() {\n for (var G = new R(), U = 5; U--; )\n G[M](U, U);\n return !G.has(-0);\n }), E || (((F = c(function(G, U) {\n return n(G, F, i), G = r(new R(), G, F), U != null && f(U, G[M], G, x), G;\n })).prototype = L).constructor = F), (S || P) && (j(\"delete\"), j(\"has\"), x && j(\"get\")), (P || _) && j(M), A && L.clear && delete L.clear), V[i] = F, m({ global: !0, forced: F != R }, V), l(F, i), A || p.setStrong(F, i, x), F;\n };\n }, { \"../internals/an-instance\": 9, \"../internals/check-correctness-of-iteration\": 27, \"../internals/export\": 50, \"../internals/fails\": 51, \"../internals/global\": 60, \"../internals/inherit-if-required\": 68, \"../internals/internal-metadata\": 70, \"../internals/is-forced\": 74, \"../internals/is-object\": 75, \"../internals/iterate\": 78, \"../internals/redefine\": 109, \"../internals/set-to-string-tag\": 118 }], 33: [function(t, H, C) {\n var m = t(\"../internals/has\"), y = t(\"../internals/own-keys\"), u = t(\"../internals/object-get-own-property-descriptor\"), h = t(\"../internals/object-define-property\");\n H.exports = function(g, f) {\n for (var n = y(f), s = h.f, o = u.f, a = 0; a < n.length; a++) {\n var l = n[a];\n m(g, l) || s(g, l, o(f, l));\n }\n };\n }, { \"../internals/has\": 61, \"../internals/object-define-property\": 93, \"../internals/object-get-own-property-descriptor\": 94, \"../internals/own-keys\": 104 }], 34: [function(t, H, C) {\n var m = t(\"../internals/well-known-symbol\")(\"match\");\n H.exports = function(y) {\n var u = /./;\n try {\n \"/./\"[y](u);\n } catch {\n try {\n return u[m] = !1, \"/./\"[y](u);\n } catch {\n }\n }\n return !1;\n };\n }, { \"../internals/well-known-symbol\": 149 }], 35: [function(t, H, C) {\n t = t(\"../internals/fails\"), H.exports = !t(function() {\n function m() {\n }\n return m.prototype.constructor = null, Object.getPrototypeOf(new m()) !== m.prototype;\n });\n }, { \"../internals/fails\": 51 }], 36: [function(t, H, C) {\n var m = t(\"../internals/require-object-coercible\"), y = /\"/g;\n H.exports = function(n, h, g, f) {\n var n = String(m(n)), s = \"<\" + h;\n return g !== \"\" && (s += \" \" + g + '=\"' + String(f).replace(y, \""\") + '\"'), s + \">\" + n + \"\";\n };\n }, { \"../internals/require-object-coercible\": 114 }], 37: [function(t, H, C) {\n function m() {\n return this;\n }\n var y = t(\"../internals/iterators-core\").IteratorPrototype, u = t(\"../internals/object-create\"), h = t(\"../internals/create-property-descriptor\"), g = t(\"../internals/set-to-string-tag\"), f = t(\"../internals/iterators\");\n H.exports = function(n, s, o) {\n return s += \" Iterator\", n.prototype = u(y, { next: h(1, o) }), g(n, s, !1, !0), f[s] = m, n;\n };\n }, { \"../internals/create-property-descriptor\": 39, \"../internals/iterators\": 80, \"../internals/iterators-core\": 79, \"../internals/object-create\": 91, \"../internals/set-to-string-tag\": 118 }], 38: [function(t, H, C) {\n var m = t(\"../internals/descriptors\"), y = t(\"../internals/object-define-property\"), u = t(\"../internals/create-property-descriptor\");\n H.exports = m ? function(h, g, f) {\n return y.f(h, g, u(1, f));\n } : function(h, g, f) {\n return h[g] = f, h;\n };\n }, { \"../internals/create-property-descriptor\": 39, \"../internals/descriptors\": 43, \"../internals/object-define-property\": 93 }], 39: [function(t, H, C) {\n H.exports = function(m, y) {\n return { enumerable: !(1 & m), configurable: !(2 & m), writable: !(4 & m), value: y };\n };\n }, {}], 40: [function(t, H, C) {\n var m = t(\"../internals/to-primitive\"), y = t(\"../internals/object-define-property\"), u = t(\"../internals/create-property-descriptor\");\n H.exports = function(h, g, f) {\n g = m(g), g in h ? y.f(h, g, u(0, f)) : h[g] = f;\n };\n }, { \"../internals/create-property-descriptor\": 39, \"../internals/object-define-property\": 93, \"../internals/to-primitive\": 141 }], 41: [function(r, H, C) {\n function m() {\n return this;\n }\n var y = r(\"../internals/export\"), u = r(\"../internals/create-iterator-constructor\"), h = r(\"../internals/object-get-prototype-of\"), g = r(\"../internals/object-set-prototype-of\"), f = r(\"../internals/set-to-string-tag\"), n = r(\"../internals/create-non-enumerable-property\"), s = r(\"../internals/redefine\"), o = r(\"../internals/well-known-symbol\"), a = r(\"../internals/is-pure\"), l = r(\"../internals/iterators\"), r = r(\"../internals/iterators-core\"), i = r.IteratorPrototype, c = r.BUGGY_SAFARI_ITERATORS, p = o(\"iterator\"), j = \"values\", T = \"entries\";\n H.exports = function(_, S, E, V, x, A, M) {\n u(E, S, V);\n function R(b) {\n if (b === x && X)\n return X;\n if (!c && b in U)\n return U[b];\n switch (b) {\n case \"keys\":\n case j:\n case T:\n return function() {\n return new E(this, b);\n };\n }\n return function() {\n return new E(this);\n };\n }\n var L, F, V = S + \" Iterator\", G = !1, U = _.prototype, W = U[p] || U[\"@@iterator\"] || x && U[x], X = !c && W || R(x), ne = S == \"Array\" && U.entries || W;\n if (ne && (ne = h(ne.call(new _())), i !== Object.prototype && ne.next && (a || h(ne) === i || (g ? g(ne, i) : typeof ne[p] != \"function\" && n(ne, p, m)), f(ne, V, !0, !0), a && (l[V] = m))), x == j && W && W.name !== j && (G = !0, X = function() {\n return W.call(this);\n }), a && !M || U[p] === X || n(U, p, X), l[S] = X, x)\n if (L = { values: R(j), keys: A ? X : R(\"keys\"), entries: R(T) }, M)\n for (F in L)\n !c && !G && F in U || s(U, F, L[F]);\n else\n y({ target: S, proto: !0, forced: c || G }, L);\n return L;\n };\n }, { \"../internals/create-iterator-constructor\": 37, \"../internals/create-non-enumerable-property\": 38, \"../internals/export\": 50, \"../internals/is-pure\": 76, \"../internals/iterators\": 80, \"../internals/iterators-core\": 79, \"../internals/object-get-prototype-of\": 98, \"../internals/object-set-prototype-of\": 102, \"../internals/redefine\": 109, \"../internals/set-to-string-tag\": 118, \"../internals/well-known-symbol\": 149 }], 42: [function(t, H, C) {\n var m = t(\"../internals/path\"), y = t(\"../internals/has\"), u = t(\"../internals/well-known-symbol-wrapped\"), h = t(\"../internals/object-define-property\").f;\n H.exports = function(g) {\n var f = m.Symbol || (m.Symbol = {});\n y(f, g) || h(f, g, { value: u.f(g) });\n };\n }, { \"../internals/has\": 61, \"../internals/object-define-property\": 93, \"../internals/path\": 105, \"../internals/well-known-symbol-wrapped\": 148 }], 43: [function(t, H, C) {\n t = t(\"../internals/fails\"), H.exports = !t(function() {\n return Object.defineProperty({}, 1, { get: function() {\n return 7;\n } })[1] != 7;\n });\n }, { \"../internals/fails\": 51 }], 44: [function(y, H, C) {\n var m = y(\"../internals/global\"), y = y(\"../internals/is-object\"), u = m.document, h = y(u) && y(u.createElement);\n H.exports = function(g) {\n return h ? u.createElement(g) : {};\n };\n }, { \"../internals/global\": 60, \"../internals/is-object\": 75 }], 45: [function(t, H, C) {\n H.exports = { CSSRuleList: 0, CSSStyleDeclaration: 0, CSSValueList: 0, ClientRectList: 0, DOMRectList: 0, DOMStringList: 0, DOMTokenList: 1, DataTransferItemList: 0, FileList: 0, HTMLAllCollection: 0, HTMLCollection: 0, HTMLFormElement: 0, HTMLSelectElement: 0, MediaList: 0, MimeTypeArray: 0, NamedNodeMap: 0, NodeList: 1, PaintRequestList: 0, Plugin: 0, PluginArray: 0, SVGLengthList: 0, SVGNumberList: 0, SVGPathSegList: 0, SVGPointList: 0, SVGStringList: 0, SVGTransformList: 0, SourceBufferList: 0, StyleSheetList: 0, TextTrackCueList: 0, TextTrackList: 0, TouchList: 0 };\n }, {}], 46: [function(t, H, C) {\n t = t(\"../internals/engine-user-agent\"), H.exports = /(iphone|ipod|ipad).*applewebkit/i.test(t);\n }, { \"../internals/engine-user-agent\": 47 }], 47: [function(t, H, C) {\n t = t(\"../internals/get-built-in\"), H.exports = t(\"navigator\", \"userAgent\") || \"\";\n }, { \"../internals/get-built-in\": 57 }], 48: [function(u, H, C) {\n var m, y, h = u(\"../internals/global\"), u = u(\"../internals/engine-user-agent\"), h = h.process, h = h && h.versions, h = h && h.v8;\n h ? y = (m = h.split(\".\"))[0] + m[1] : u && (!(m = u.match(/Edge\\/(\\d+)/)) || 74 <= m[1]) && (m = u.match(/Chrome\\/(\\d+)/)) && (y = m[1]), H.exports = y && +y;\n }, { \"../internals/engine-user-agent\": 47, \"../internals/global\": 60 }], 49: [function(t, H, C) {\n H.exports = [\"constructor\", \"hasOwnProperty\", \"isPrototypeOf\", \"propertyIsEnumerable\", \"toLocaleString\", \"toString\", \"valueOf\"];\n }, {}], 50: [function(t, H, C) {\n var m = t(\"../internals/global\"), y = t(\"../internals/object-get-own-property-descriptor\").f, u = t(\"../internals/create-non-enumerable-property\"), h = t(\"../internals/redefine\"), g = t(\"../internals/set-global\"), f = t(\"../internals/copy-constructor-properties\"), n = t(\"../internals/is-forced\");\n H.exports = function(s, o) {\n var a, l, r, i = s.target, c = s.global, p = s.stat, j = c ? m : p ? m[i] || g(i, {}) : (m[i] || {}).prototype;\n if (j)\n for (a in o) {\n if (l = o[a], r = s.noTargetGet ? (r = y(j, a)) && r.value : j[a], !n(c ? a : i + (p ? \".\" : \"#\") + a, s.forced) && r !== void 0) {\n if (typeof l == typeof r)\n continue;\n f(l, r);\n }\n (s.sham || r && r.sham) && u(l, \"sham\", !0), h(j, a, l, s);\n }\n };\n }, { \"../internals/copy-constructor-properties\": 33, \"../internals/create-non-enumerable-property\": 38, \"../internals/global\": 60, \"../internals/is-forced\": 74, \"../internals/object-get-own-property-descriptor\": 94, \"../internals/redefine\": 109, \"../internals/set-global\": 116 }], 51: [function(t, H, C) {\n H.exports = function(m) {\n try {\n return !!m();\n } catch {\n return !0;\n }\n };\n }, {}], 52: [function(o, H, C) {\n o(\"../modules/es.regexp.exec\");\n var m = o(\"../internals/redefine\"), y = o(\"../internals/fails\"), u = o(\"../internals/well-known-symbol\"), h = o(\"../internals/regexp-exec\"), g = o(\"../internals/create-non-enumerable-property\"), f = u(\"species\"), n = !y(function() {\n var r = /./;\n return r.exec = function() {\n var i = [];\n return i.groups = { a: \"7\" }, i;\n }, \"\".replace(r, \"$\") !== \"7\";\n }), s = \"a\".replace(/./, \"$0\") === \"$0\", o = u(\"replace\"), a = !!/./[o] && /./[o](\"a\", \"$0\") === \"\", l = !y(function() {\n var i = /(?:)/, r = i.exec, i = (i.exec = function() {\n return r.apply(this, arguments);\n }, \"ab\".split(i));\n return i.length !== 2 || i[0] !== \"a\" || i[1] !== \"b\";\n });\n H.exports = function(r, i, c, p) {\n var j, T, _ = u(r), S = !y(function() {\n var P = {};\n return P[_] = function() {\n return 7;\n }, \"\"[r](P) != 7;\n }), E = S && !y(function() {\n var P = !1, x = /a/;\n return r === \"split\" && ((x = { constructor: {} }).constructor[f] = function() {\n return x;\n }, x.flags = \"\", x[_] = /./[_]), x.exec = function() {\n return P = !0, null;\n }, x[_](\"\"), !P;\n });\n S && E && (r !== \"replace\" || n && s && !a) && (r !== \"split\" || l) || (j = /./[_], c = (E = c(_, \"\"[r], function(P, x, A, M, R) {\n return x.exec === h ? S && !R ? { done: !0, value: j.call(x, A, M) } : { done: !0, value: P.call(A, x, M) } : { done: !1 };\n }, { REPLACE_KEEPS_$0: s, REGEXP_REPLACE_SUBSTITUTES_UNDEFINED_CAPTURE: a }))[0], T = E[1], m(String.prototype, r, c), m(RegExp.prototype, _, i == 2 ? function(P, x) {\n return T.call(P, this, x);\n } : function(P) {\n return T.call(P, this);\n })), p && g(RegExp.prototype[_], \"sham\", !0);\n };\n }, { \"../internals/create-non-enumerable-property\": 38, \"../internals/fails\": 51, \"../internals/redefine\": 109, \"../internals/regexp-exec\": 111, \"../internals/well-known-symbol\": 149, \"../modules/es.regexp.exec\": 192 }], 53: [function(t, H, C) {\n function m(g, f, n, s, o, a, l, r) {\n for (var i, c = o, p = 0, j = !!l && h(l, r, 3); p < s; ) {\n if (p in n) {\n if (i = j ? j(n[p], p, f) : n[p], 0 < a && y(i))\n c = m(g, f, i, u(i.length), c, a - 1) - 1;\n else {\n if (9007199254740991 <= c)\n throw TypeError(\"Exceed the acceptable array length\");\n g[c] = i;\n }\n c++;\n }\n p++;\n }\n return c;\n }\n var y = t(\"../internals/is-array\"), u = t(\"../internals/to-length\"), h = t(\"../internals/function-bind-context\");\n H.exports = m;\n }, { \"../internals/function-bind-context\": 55, \"../internals/is-array\": 73, \"../internals/to-length\": 137 }], 54: [function(t, H, C) {\n t = t(\"../internals/fails\"), H.exports = !t(function() {\n return Object.isExtensible(Object.preventExtensions({}));\n });\n }, { \"../internals/fails\": 51 }], 55: [function(t, H, C) {\n var m = t(\"../internals/a-function\");\n H.exports = function(y, u, h) {\n if (m(y), u === void 0)\n return y;\n switch (h) {\n case 0:\n return function() {\n return y.call(u);\n };\n case 1:\n return function(g) {\n return y.call(u, g);\n };\n case 2:\n return function(g, f) {\n return y.call(u, g, f);\n };\n case 3:\n return function(g, f, n) {\n return y.call(u, g, f, n);\n };\n }\n return function() {\n return y.apply(u, arguments);\n };\n };\n }, { \"../internals/a-function\": 5 }], 56: [function(t, H, C) {\n var m = t(\"../internals/a-function\"), y = t(\"../internals/is-object\"), u = [].slice, h = {};\n H.exports = Function.bind || function(g) {\n var f = m(this), n = u.call(arguments, 1), s = function() {\n var o = n.concat(u.call(arguments));\n if (this instanceof s) {\n var a = f, l = o.length, r = o;\n if (!(l in h)) {\n for (var i = [], c = 0; c < l; c++)\n i[c] = \"a[\" + c + \"]\";\n h[l] = Function(\"C,a\", \"return new C(\" + i.join(\",\") + \")\");\n }\n return h[l](a, r);\n }\n return f.apply(g, o);\n };\n return y(f.prototype) && (s.prototype = f.prototype), s;\n };\n }, { \"../internals/a-function\": 5, \"../internals/is-object\": 75 }], 57: [function(t, H, C) {\n function m(h) {\n return typeof h == \"function\" ? h : void 0;\n }\n var y = t(\"../internals/path\"), u = t(\"../internals/global\");\n H.exports = function(h, g) {\n return arguments.length < 2 ? m(y[h]) || m(u[h]) : y[h] && y[h][g] || u[h] && u[h][g];\n };\n }, { \"../internals/global\": 60, \"../internals/path\": 105 }], 58: [function(t, H, C) {\n var m = t(\"../internals/classof\"), y = t(\"../internals/iterators\"), u = t(\"../internals/well-known-symbol\")(\"iterator\");\n H.exports = function(h) {\n if (h != null)\n return h[u] || h[\"@@iterator\"] || y[m(h)];\n };\n }, { \"../internals/classof\": 29, \"../internals/iterators\": 80, \"../internals/well-known-symbol\": 149 }], 59: [function(t, H, C) {\n var m = t(\"../internals/an-object\"), y = t(\"../internals/get-iterator-method\");\n H.exports = function(u) {\n var h = y(u);\n if (typeof h != \"function\")\n throw TypeError(String(u) + \" is not iterable\");\n return m(h.call(u));\n };\n }, { \"../internals/an-object\": 10, \"../internals/get-iterator-method\": 58 }], 60: [function(t, H, C) {\n (function(m) {\n function y(u) {\n return u && u.Math == Math && u;\n }\n H.exports = y(typeof globalThis == \"object\" && globalThis) || y(typeof window == \"object\" && window) || y(typeof self == \"object\" && self) || y(typeof m == \"object\" && m) || Function(\"return this\")();\n }).call(this, typeof _r < \"u\" ? _r : typeof self < \"u\" ? self : typeof window < \"u\" ? window : {});\n }, {}], 61: [function(t, H, C) {\n var m = {}.hasOwnProperty;\n H.exports = function(y, u) {\n return m.call(y, u);\n };\n }, {}], 62: [function(t, H, C) {\n H.exports = {};\n }, {}], 63: [function(t, H, C) {\n var m = t(\"../internals/global\");\n H.exports = function(y, u) {\n var h = m.console;\n h && h.error && (arguments.length === 1 ? h.error(y) : h.error(y, u));\n };\n }, { \"../internals/global\": 60 }], 64: [function(t, H, C) {\n t = t(\"../internals/get-built-in\"), H.exports = t(\"document\", \"documentElement\");\n }, { \"../internals/get-built-in\": 57 }], 65: [function(t, H, C) {\n var m = t(\"../internals/descriptors\"), y = t(\"../internals/fails\"), u = t(\"../internals/document-create-element\");\n H.exports = !m && !y(function() {\n return Object.defineProperty(u(\"div\"), \"a\", { get: function() {\n return 7;\n } }).a != 7;\n });\n }, { \"../internals/descriptors\": 43, \"../internals/document-create-element\": 44, \"../internals/fails\": 51 }], 66: [function(t, H, C) {\n var m = Math.abs, y = Math.pow, u = Math.floor, h = Math.log, g = Math.LN2;\n H.exports = { pack: function(f, n, c) {\n var o, a, l, r = new Array(c), i = 8 * c - n - 1, c = (1 << i) - 1, p = c >> 1, j = n === 23 ? y(2, -24) - y(2, -77) : 0, T = f < 0 || f === 0 && 1 / f < 0 ? 1 : 0, _ = 0;\n for ((f = m(f)) != f || f === 1 / 0 ? (a = f != f ? 1 : 0, o = c) : (o = u(h(f) / g), f * (l = y(2, -o)) < 1 && (o--, l *= 2), 2 <= (f += 1 <= o + p ? j / l : j * y(2, 1 - p)) * l && (o++, l /= 2), c <= o + p ? (a = 0, o = c) : 1 <= o + p ? (a = (f * l - 1) * y(2, n), o += p) : (a = f * y(2, p - 1) * y(2, n), o = 0)); 8 <= n; r[_++] = 255 & a, a /= 256, n -= 8)\n ;\n for (o = o << n | a, i += n; 0 < i; r[_++] = 255 & o, o /= 256, i -= 8)\n ;\n return r[--_] |= 128 * T, r;\n }, unpack: function(f, n) {\n var s, o = f.length, c = 8 * o - n - 1, a = (1 << c) - 1, l = a >> 1, r = c - 7, i = o - 1, c = f[i--], p = 127 & c;\n for (c >>= 7; 0 < r; p = 256 * p + f[i], i--, r -= 8)\n ;\n for (s = p & (1 << -r) - 1, p >>= -r, r += n; 0 < r; s = 256 * s + f[i], i--, r -= 8)\n ;\n if (p === 0)\n p = 1 - l;\n else {\n if (p === a)\n return s ? NaN : c ? -1 / 0 : 1 / 0;\n s += y(2, n), p -= l;\n }\n return (c ? -1 : 1) * s * y(2, p - n);\n } };\n }, {}], 67: [function(t, H, C) {\n var m = t(\"../internals/fails\"), y = t(\"../internals/classof-raw\"), u = \"\".split;\n H.exports = m(function() {\n return !Object(\"z\").propertyIsEnumerable(0);\n }) ? function(h) {\n return y(h) == \"String\" ? u.call(h, \"\") : Object(h);\n } : Object;\n }, { \"../internals/classof-raw\": 28, \"../internals/fails\": 51 }], 68: [function(t, H, C) {\n var m = t(\"../internals/is-object\"), y = t(\"../internals/object-set-prototype-of\");\n H.exports = function(u, h, g) {\n return y && typeof (h = h.constructor) == \"function\" && h !== g && m(h = h.prototype) && h !== g.prototype && y(u, h), u;\n };\n }, { \"../internals/is-object\": 75, \"../internals/object-set-prototype-of\": 102 }], 69: [function(m, H, C) {\n var m = m(\"../internals/shared-store\"), y = Function.toString;\n typeof m.inspectSource != \"function\" && (m.inspectSource = function(u) {\n return y.call(u);\n }), H.exports = m.inspectSource;\n }, { \"../internals/shared-store\": 120 }], 70: [function(t, H, C) {\n function m(r) {\n g(r, s, { value: { objectID: \"O\" + ++o, weakData: {} } });\n }\n var y = t(\"../internals/hidden-keys\"), u = t(\"../internals/is-object\"), h = t(\"../internals/has\"), g = t(\"../internals/object-define-property\").f, f = t(\"../internals/uid\"), n = t(\"../internals/freezing\"), s = f(\"meta\"), o = 0, a = Object.isExtensible || function() {\n return !0;\n }, l = H.exports = { REQUIRED: !1, fastKey: function(r, i) {\n if (!u(r))\n return typeof r == \"symbol\" ? r : (typeof r == \"string\" ? \"S\" : \"P\") + r;\n if (!h(r, s)) {\n if (!a(r))\n return \"F\";\n if (!i)\n return \"E\";\n m(r);\n }\n return r[s].objectID;\n }, getWeakData: function(r, i) {\n if (!h(r, s)) {\n if (!a(r))\n return !0;\n if (!i)\n return !1;\n m(r);\n }\n return r[s].weakData;\n }, onFreeze: function(r) {\n return n && l.REQUIRED && a(r) && !h(r, s) && m(r), r;\n } };\n y[s] = !0;\n }, { \"../internals/freezing\": 54, \"../internals/has\": 61, \"../internals/hidden-keys\": 62, \"../internals/is-object\": 75, \"../internals/object-define-property\": 93, \"../internals/uid\": 146 }], 71: [function(c, H, C) {\n var m, y, u, h, g, f, n, s, o = c(\"../internals/native-weak-map\"), p = c(\"../internals/global\"), a = c(\"../internals/is-object\"), l = c(\"../internals/create-non-enumerable-property\"), r = c(\"../internals/has\"), i = c(\"../internals/shared-key\"), c = c(\"../internals/hidden-keys\"), p = p.WeakMap;\n n = o ? (m = new p(), y = m.get, u = m.has, h = m.set, g = function(j, T) {\n return h.call(m, j, T), T;\n }, f = function(j) {\n return y.call(m, j) || {};\n }, function(j) {\n return u.call(m, j);\n }) : (c[s = i(\"state\")] = !0, g = function(j, T) {\n return l(j, s, T), T;\n }, f = function(j) {\n return r(j, s) ? j[s] : {};\n }, function(j) {\n return r(j, s);\n }), H.exports = { set: g, get: f, has: n, enforce: function(j) {\n return n(j) ? f(j) : g(j, {});\n }, getterFor: function(j) {\n return function(T) {\n if (a(T) && (T = f(T)).type === j)\n return T;\n throw TypeError(\"Incompatible receiver, \" + j + \" required\");\n };\n } };\n }, { \"../internals/create-non-enumerable-property\": 38, \"../internals/global\": 60, \"../internals/has\": 61, \"../internals/hidden-keys\": 62, \"../internals/is-object\": 75, \"../internals/native-weak-map\": 86, \"../internals/shared-key\": 119 }], 72: [function(t, H, C) {\n var m = t(\"../internals/well-known-symbol\"), y = t(\"../internals/iterators\"), u = m(\"iterator\"), h = Array.prototype;\n H.exports = function(g) {\n return g !== void 0 && (y.Array === g || h[u] === g);\n };\n }, { \"../internals/iterators\": 80, \"../internals/well-known-symbol\": 149 }], 73: [function(t, H, C) {\n var m = t(\"../internals/classof-raw\");\n H.exports = Array.isArray || function(y) {\n return m(y) == \"Array\";\n };\n }, { \"../internals/classof-raw\": 28 }], 74: [function(t, H, C) {\n function m(s, o) {\n return (s = g[h(s)]) == n || s != f && (typeof o == \"function\" ? y(o) : !!o);\n }\n var y = t(\"../internals/fails\"), u = /#|\\.prototype\\./, h = m.normalize = function(s) {\n return String(s).replace(u, \".\").toLowerCase();\n }, g = m.data = {}, f = m.NATIVE = \"N\", n = m.POLYFILL = \"P\";\n H.exports = m;\n }, { \"../internals/fails\": 51 }], 75: [function(t, H, C) {\n H.exports = function(m) {\n return typeof m == \"object\" ? m !== null : typeof m == \"function\";\n };\n }, {}], 76: [function(t, H, C) {\n H.exports = !1;\n }, {}], 77: [function(t, H, C) {\n var m = t(\"../internals/is-object\"), y = t(\"../internals/classof-raw\"), u = t(\"../internals/well-known-symbol\")(\"match\");\n H.exports = function(h) {\n var g;\n return m(h) && ((g = h[u]) !== void 0 ? !!g : y(h) == \"RegExp\");\n };\n }, { \"../internals/classof-raw\": 28, \"../internals/is-object\": 75, \"../internals/well-known-symbol\": 149 }], 78: [function(t, H, C) {\n function m(s, o) {\n this.stopped = s, this.result = o;\n }\n var y = t(\"../internals/an-object\"), u = t(\"../internals/is-array-iterator-method\"), h = t(\"../internals/to-length\"), g = t(\"../internals/function-bind-context\"), f = t(\"../internals/get-iterator-method\"), n = t(\"../internals/call-with-safe-iteration-closing\");\n (H.exports = function(s, o, a, l, r) {\n var i, c, p, j, T, _, S = g(o, a, l ? 2 : 1);\n if (r)\n i = s;\n else {\n if (typeof (o = f(s)) != \"function\")\n throw TypeError(\"Target is not iterable\");\n if (u(o)) {\n for (c = 0, p = h(s.length); c < p; c++)\n if ((j = l ? S(y(_ = s[c])[0], _[1]) : S(s[c])) && j instanceof m)\n return j;\n return new m(!1);\n }\n i = o.call(s);\n }\n for (T = i.next; !(_ = T.call(i)).done; )\n if (typeof (j = n(i, S, _.value, l)) == \"object\" && j && j instanceof m)\n return j;\n return new m(!1);\n }).stop = function(s) {\n return new m(!0, s);\n };\n }, { \"../internals/an-object\": 10, \"../internals/call-with-safe-iteration-closing\": 26, \"../internals/function-bind-context\": 55, \"../internals/get-iterator-method\": 58, \"../internals/is-array-iterator-method\": 72, \"../internals/to-length\": 137 }], 79: [function(f, H, C) {\n var m, y, u = f(\"../internals/object-get-prototype-of\"), h = f(\"../internals/create-non-enumerable-property\"), g = f(\"../internals/has\"), n = f(\"../internals/well-known-symbol\"), f = f(\"../internals/is-pure\"), n = n(\"iterator\"), s = !1;\n [].keys && (\"next\" in (y = [].keys()) ? (u = u(u(y))) !== Object.prototype && (m = u) : s = !0), m == null && (m = {}), f || g(m, n) || h(m, n, function() {\n return this;\n }), H.exports = { IteratorPrototype: m, BUGGY_SAFARI_ITERATORS: s };\n }, { \"../internals/create-non-enumerable-property\": 38, \"../internals/has\": 61, \"../internals/is-pure\": 76, \"../internals/object-get-prototype-of\": 98, \"../internals/well-known-symbol\": 149 }], 80: [function(t, H, C) {\n H.exports = {};\n }, {}], 81: [function(t, H, C) {\n H.exports = Math.sign || function(m) {\n return (m = +m) == 0 || m != m ? m : m < 0 ? -1 : 1;\n };\n }, {}], 82: [function(l, H, C) {\n var m, y, u, h, g, f, n, s, o = l(\"../internals/global\"), T = l(\"../internals/object-get-own-property-descriptor\").f, j = l(\"../internals/classof-raw\"), a = l(\"../internals/task\").set, l = l(\"../internals/engine-is-ios\"), r = o.MutationObserver || o.WebKitMutationObserver, i = o.process, c = o.Promise, p = j(i) == \"process\", j = T(o, \"queueMicrotask\"), T = j && j.value;\n T || (m = function() {\n var _, S;\n for (p && (_ = i.domain) && _.exit(); y; ) {\n S = y.fn, y = y.next;\n try {\n S();\n } catch (E) {\n throw y ? h() : u = void 0, E;\n }\n }\n u = void 0, _ && _.enter();\n }, h = p ? function() {\n i.nextTick(m);\n } : r && !l ? (g = !0, f = document.createTextNode(\"\"), new r(m).observe(f, { characterData: !0 }), function() {\n f.data = g = !g;\n }) : c && c.resolve ? (n = c.resolve(void 0), s = n.then, function() {\n s.call(n, m);\n }) : function() {\n a.call(o, m);\n }), H.exports = T || function(_) {\n _ = { fn: _, next: void 0 }, u && (u.next = _), y || (y = _, h()), u = _;\n };\n }, { \"../internals/classof-raw\": 28, \"../internals/engine-is-ios\": 46, \"../internals/global\": 60, \"../internals/object-get-own-property-descriptor\": 94, \"../internals/task\": 131 }], 83: [function(t, H, C) {\n t = t(\"../internals/global\"), H.exports = t.Promise;\n }, { \"../internals/global\": 60 }], 84: [function(t, H, C) {\n t = t(\"../internals/fails\"), H.exports = !!Object.getOwnPropertySymbols && !t(function() {\n return !String(Symbol());\n });\n }, { \"../internals/fails\": 51 }], 85: [function(t, H, C) {\n var m = t(\"../internals/fails\"), y = t(\"../internals/well-known-symbol\"), u = t(\"../internals/is-pure\"), h = y(\"iterator\");\n H.exports = !m(function() {\n var g = new URL(\"b?a=1&b=2&c=3\", \"http://a\"), f = g.searchParams, n = \"\";\n return g.pathname = \"c%20d\", f.forEach(function(s, o) {\n f.delete(\"b\"), n += o + s;\n }), u && !g.toJSON || !f.sort || g.href !== \"http://a/c%20d?a=1&c=3\" || f.get(\"c\") !== \"3\" || String(new URLSearchParams(\"?a=1\")) !== \"a=1\" || !f[h] || new URL(\"https://a@b\").username !== \"a\" || new URLSearchParams(new URLSearchParams(\"a=b\")).get(\"a\") !== \"b\" || new URL(\"http://тест\").host !== \"xn--e1aybc\" || new URL(\"http://a#б\").hash !== \"#%D0%B1\" || n !== \"a1c3\" || new URL(\"http://x\", void 0).host !== \"x\";\n });\n }, { \"../internals/fails\": 51, \"../internals/is-pure\": 76, \"../internals/well-known-symbol\": 149 }], 86: [function(m, H, C) {\n var y = m(\"../internals/global\"), m = m(\"../internals/inspect-source\"), y = y.WeakMap;\n H.exports = typeof y == \"function\" && /native code/.test(m(y));\n }, { \"../internals/global\": 60, \"../internals/inspect-source\": 69 }], 87: [function(t, H, C) {\n function m(u) {\n var h, g;\n this.promise = new u(function(f, n) {\n if (h !== void 0 || g !== void 0)\n throw TypeError(\"Bad Promise constructor\");\n h = f, g = n;\n }), this.resolve = y(h), this.reject = y(g);\n }\n var y = t(\"../internals/a-function\");\n H.exports.f = function(u) {\n return new m(u);\n };\n }, { \"../internals/a-function\": 5 }], 88: [function(t, H, C) {\n var m = t(\"../internals/is-regexp\");\n H.exports = function(y) {\n if (m(y))\n throw TypeError(\"The method doesn't accept regular expressions\");\n return y;\n };\n }, { \"../internals/is-regexp\": 77 }], 89: [function(t, H, C) {\n var m = t(\"../internals/global\").isFinite;\n H.exports = Number.isFinite || function(y) {\n return typeof y == \"number\" && m(y);\n };\n }, { \"../internals/global\": 60 }], 90: [function(t, H, C) {\n var m = t(\"../internals/descriptors\"), y = t(\"../internals/fails\"), u = t(\"../internals/object-keys\"), h = t(\"../internals/object-get-own-property-symbols\"), g = t(\"../internals/object-property-is-enumerable\"), f = t(\"../internals/to-object\"), n = t(\"../internals/indexed-object\"), s = Object.assign, o = Object.defineProperty;\n H.exports = !s || y(function() {\n var a, l, r, i;\n return !(!m || s({ b: 1 }, s(o({}, \"a\", { enumerable: !0, get: function() {\n o(this, \"b\", { value: 3, enumerable: !1 });\n } }), { b: 2 })).b === 1) || (l = {}, i = \"abcdefghijklmnopqrst\", (a = {})[r = Symbol()] = 7, i.split(\"\").forEach(function(c) {\n l[c] = c;\n }), s({}, a)[r] != 7 || u(s({}, l)).join(\"\") != i);\n }) ? function(a, l) {\n for (var r = f(a), i = arguments.length, c = 1, p = h.f, j = g.f; c < i; )\n for (var T, _ = n(arguments[c++]), S = p ? u(_).concat(p(_)) : u(_), E = S.length, P = 0; P < E; )\n T = S[P++], m && !j.call(_, T) || (r[T] = _[T]);\n return r;\n } : s;\n }, { \"../internals/descriptors\": 43, \"../internals/fails\": 51, \"../internals/indexed-object\": 67, \"../internals/object-get-own-property-symbols\": 97, \"../internals/object-keys\": 100, \"../internals/object-property-is-enumerable\": 101, \"../internals/to-object\": 138 }], 91: [function(o, H, C) {\n function m() {\n }\n var y, u = o(\"../internals/an-object\"), h = o(\"../internals/object-define-properties\"), g = o(\"../internals/enum-bug-keys\"), f = o(\"../internals/hidden-keys\"), n = o(\"../internals/html\"), s = o(\"../internals/document-create-element\"), o = o(\"../internals/shared-key\"), a = \"prototype\", l = \"script\", r = o(\"IE_PROTO\"), i = function(p) {\n return \"<\" + l + \">\" + p + \"\";\n }, c = function() {\n try {\n y = document.domain && new ActiveXObject(\"htmlfile\");\n } catch {\n }\n c = y ? ((p = y).write(i(\"\")), p.close(), j = p.parentWindow.Object, p = null, j) : (p = s(\"iframe\"), j = \"java\" + l + \":\", p.style.display = \"none\", n.appendChild(p), p.src = String(j), (j = p.contentWindow.document).open(), j.write(i(\"document.F=Object\")), j.close(), j.F);\n for (var p, j, T = g.length; T--; )\n delete c[a][g[T]];\n return c();\n };\n f[r] = !0, H.exports = Object.create || function(p, j) {\n var T;\n return p !== null ? (m[a] = u(p), T = new m(), m[a] = null, T[r] = p) : T = c(), j === void 0 ? T : h(T, j);\n };\n }, { \"../internals/an-object\": 10, \"../internals/document-create-element\": 44, \"../internals/enum-bug-keys\": 49, \"../internals/hidden-keys\": 62, \"../internals/html\": 64, \"../internals/object-define-properties\": 92, \"../internals/shared-key\": 119 }], 92: [function(t, H, C) {\n var m = t(\"../internals/descriptors\"), y = t(\"../internals/object-define-property\"), u = t(\"../internals/an-object\"), h = t(\"../internals/object-keys\");\n H.exports = m ? Object.defineProperties : function(g, f) {\n u(g);\n for (var n, s = h(f), o = s.length, a = 0; a < o; )\n y.f(g, n = s[a++], f[n]);\n return g;\n };\n }, { \"../internals/an-object\": 10, \"../internals/descriptors\": 43, \"../internals/object-define-property\": 93, \"../internals/object-keys\": 100 }], 93: [function(t, H, C) {\n var m = t(\"../internals/descriptors\"), y = t(\"../internals/ie8-dom-define\"), u = t(\"../internals/an-object\"), h = t(\"../internals/to-primitive\"), g = Object.defineProperty;\n C.f = m ? g : function(f, n, s) {\n if (u(f), n = h(n, !0), u(s), y)\n try {\n return g(f, n, s);\n } catch {\n }\n if (\"get\" in s || \"set\" in s)\n throw TypeError(\"Accessors not supported\");\n return \"value\" in s && (f[n] = s.value), f;\n };\n }, { \"../internals/an-object\": 10, \"../internals/descriptors\": 43, \"../internals/ie8-dom-define\": 65, \"../internals/to-primitive\": 141 }], 94: [function(t, H, C) {\n var m = t(\"../internals/descriptors\"), y = t(\"../internals/object-property-is-enumerable\"), u = t(\"../internals/create-property-descriptor\"), h = t(\"../internals/to-indexed-object\"), g = t(\"../internals/to-primitive\"), f = t(\"../internals/has\"), n = t(\"../internals/ie8-dom-define\"), s = Object.getOwnPropertyDescriptor;\n C.f = m ? s : function(o, a) {\n if (o = h(o), a = g(a, !0), n)\n try {\n return s(o, a);\n } catch {\n }\n if (f(o, a))\n return u(!y.f.call(o, a), o[a]);\n };\n }, { \"../internals/create-property-descriptor\": 39, \"../internals/descriptors\": 43, \"../internals/has\": 61, \"../internals/ie8-dom-define\": 65, \"../internals/object-property-is-enumerable\": 101, \"../internals/to-indexed-object\": 135, \"../internals/to-primitive\": 141 }], 95: [function(t, H, C) {\n var m = t(\"../internals/to-indexed-object\"), y = t(\"../internals/object-get-own-property-names\").f, u = {}.toString, h = typeof window == \"object\" && window && Object.getOwnPropertyNames ? Object.getOwnPropertyNames(window) : [];\n H.exports.f = function(g) {\n if (!h || u.call(g) != \"[object Window]\")\n return y(m(g));\n try {\n return y(g);\n } catch {\n return h.slice();\n }\n };\n }, { \"../internals/object-get-own-property-names\": 96, \"../internals/to-indexed-object\": 135 }], 96: [function(t, H, C) {\n var m = t(\"../internals/object-keys-internal\"), y = t(\"../internals/enum-bug-keys\").concat(\"length\", \"prototype\");\n C.f = Object.getOwnPropertyNames || function(u) {\n return m(u, y);\n };\n }, { \"../internals/enum-bug-keys\": 49, \"../internals/object-keys-internal\": 99 }], 97: [function(t, H, C) {\n C.f = Object.getOwnPropertySymbols;\n }, {}], 98: [function(h, H, C) {\n var m = h(\"../internals/has\"), y = h(\"../internals/to-object\"), u = h(\"../internals/shared-key\"), h = h(\"../internals/correct-prototype-getter\"), g = u(\"IE_PROTO\"), f = Object.prototype;\n H.exports = h ? Object.getPrototypeOf : function(n) {\n return n = y(n), m(n, g) ? n[g] : typeof n.constructor == \"function\" && n instanceof n.constructor ? n.constructor.prototype : n instanceof Object ? f : null;\n };\n }, { \"../internals/correct-prototype-getter\": 35, \"../internals/has\": 61, \"../internals/shared-key\": 119, \"../internals/to-object\": 138 }], 99: [function(t, H, C) {\n var m = t(\"../internals/has\"), y = t(\"../internals/to-indexed-object\"), u = t(\"../internals/array-includes\").indexOf, h = t(\"../internals/hidden-keys\");\n H.exports = function(g, f) {\n var n, s = y(g), o = 0, a = [];\n for (n in s)\n !m(h, n) && m(s, n) && a.push(n);\n for (; f.length > o; )\n !m(s, n = f[o++]) || ~u(a, n) || a.push(n);\n return a;\n };\n }, { \"../internals/array-includes\": 18, \"../internals/has\": 61, \"../internals/hidden-keys\": 62, \"../internals/to-indexed-object\": 135 }], 100: [function(t, H, C) {\n var m = t(\"../internals/object-keys-internal\"), y = t(\"../internals/enum-bug-keys\");\n H.exports = Object.keys || function(u) {\n return m(u, y);\n };\n }, { \"../internals/enum-bug-keys\": 49, \"../internals/object-keys-internal\": 99 }], 101: [function(t, H, C) {\n var m = {}.propertyIsEnumerable, y = Object.getOwnPropertyDescriptor, u = y && !m.call({ 1: 2 }, 1);\n C.f = u ? function(h) {\n return h = y(this, h), !!h && h.enumerable;\n } : m;\n }, {}], 102: [function(t, H, C) {\n var m = t(\"../internals/an-object\"), y = t(\"../internals/a-possible-prototype\");\n H.exports = Object.setPrototypeOf || (\"__proto__\" in {} ? function() {\n var u, h = !1, g = {};\n try {\n (u = Object.getOwnPropertyDescriptor(Object.prototype, \"__proto__\").set).call(g, []), h = g instanceof Array;\n } catch {\n }\n return function(f, n) {\n return m(f), y(n), h ? u.call(f, n) : f.__proto__ = n, f;\n };\n }() : void 0);\n }, { \"../internals/a-possible-prototype\": 6, \"../internals/an-object\": 10 }], 103: [function(t, H, C) {\n var m = t(\"../internals/to-string-tag-support\"), y = t(\"../internals/classof\");\n H.exports = m ? {}.toString : function() {\n return \"[object \" + y(this) + \"]\";\n };\n }, { \"../internals/classof\": 29, \"../internals/to-string-tag-support\": 142 }], 104: [function(t, H, C) {\n var m = t(\"../internals/get-built-in\"), y = t(\"../internals/object-get-own-property-names\"), u = t(\"../internals/object-get-own-property-symbols\"), h = t(\"../internals/an-object\");\n H.exports = m(\"Reflect\", \"ownKeys\") || function(g) {\n var f = y.f(h(g)), n = u.f;\n return n ? f.concat(n(g)) : f;\n };\n }, { \"../internals/an-object\": 10, \"../internals/get-built-in\": 57, \"../internals/object-get-own-property-names\": 96, \"../internals/object-get-own-property-symbols\": 97 }], 105: [function(t, H, C) {\n t = t(\"../internals/global\"), H.exports = t;\n }, { \"../internals/global\": 60 }], 106: [function(t, H, C) {\n H.exports = function(m) {\n try {\n return { error: !1, value: m() };\n } catch (y) {\n return { error: !0, value: y };\n }\n };\n }, {}], 107: [function(t, H, C) {\n var m = t(\"../internals/an-object\"), y = t(\"../internals/is-object\"), u = t(\"../internals/new-promise-capability\");\n H.exports = function(h, g) {\n return m(h), y(g) && g.constructor === h ? g : ((0, (h = u.f(h)).resolve)(g), h.promise);\n };\n }, { \"../internals/an-object\": 10, \"../internals/is-object\": 75, \"../internals/new-promise-capability\": 87 }], 108: [function(t, H, C) {\n var m = t(\"../internals/redefine\");\n H.exports = function(y, u, h) {\n for (var g in u)\n m(y, g, u[g], h);\n return y;\n };\n }, { \"../internals/redefine\": 109 }], 109: [function(f, H, C) {\n var m = f(\"../internals/global\"), y = f(\"../internals/create-non-enumerable-property\"), u = f(\"../internals/has\"), h = f(\"../internals/set-global\"), g = f(\"../internals/inspect-source\"), f = f(\"../internals/internal-state\"), n = f.get, s = f.enforce, o = String(String).split(\"String\");\n (H.exports = function(a, l, r, j) {\n var c = !!j && !!j.unsafe, p = !!j && !!j.enumerable, j = !!j && !!j.noTargetGet;\n typeof r == \"function\" && (typeof l != \"string\" || u(r, \"name\") || y(r, \"name\", l), s(r).source = o.join(typeof l == \"string\" ? l : \"\")), a === m ? p ? a[l] = r : h(l, r) : (c ? !j && a[l] && (p = !0) : delete a[l], p ? a[l] = r : y(a, l, r));\n })(Function.prototype, \"toString\", function() {\n return typeof this == \"function\" && n(this).source || g(this);\n });\n }, { \"../internals/create-non-enumerable-property\": 38, \"../internals/global\": 60, \"../internals/has\": 61, \"../internals/inspect-source\": 69, \"../internals/internal-state\": 71, \"../internals/set-global\": 116 }], 110: [function(t, H, C) {\n var m = t(\"./classof-raw\"), y = t(\"./regexp-exec\");\n H.exports = function(u, h) {\n var g = u.exec;\n if (typeof g == \"function\") {\n if (g = g.call(u, h), typeof g != \"object\")\n throw TypeError(\"RegExp exec method returned something other than an Object or null\");\n return g;\n }\n if (m(u) !== \"RegExp\")\n throw TypeError(\"RegExp#exec called on incompatible receiver\");\n return y.call(u, h);\n };\n }, { \"./classof-raw\": 28, \"./regexp-exec\": 111 }], 111: [function(h, H, C) {\n var m, y, u = h(\"./regexp-flags\"), h = h(\"./regexp-sticky-helpers\"), g = RegExp.prototype.exec, f = String.prototype.replace, n = g, s = (m = /a/, y = /b*/g, g.call(m, \"a\"), g.call(y, \"a\"), m.lastIndex !== 0 || y.lastIndex !== 0), o = h.UNSUPPORTED_Y || h.BROKEN_CARET, a = /()??/.exec(\"\")[1] !== void 0;\n H.exports = n = s || a || o ? function(l) {\n var r, i, c, p, j = this, T = o && j.sticky, _ = u.call(j), S = j.source, E = 0, P = l;\n return T && ((_ = _.replace(\"y\", \"\")).indexOf(\"g\") === -1 && (_ += \"g\"), P = String(l).slice(j.lastIndex), 0 < j.lastIndex && (!j.multiline || j.multiline && l[j.lastIndex - 1] !== `\n`) && (S = \"(?: \" + S + \")\", P = \" \" + P, E++), i = new RegExp(\"^(?:\" + S + \")\", _)), a && (i = new RegExp(\"^\" + S + \"$(?!\\\\s)\", _)), s && (r = j.lastIndex), c = g.call(T ? i : j, P), T ? c ? (c.input = c.input.slice(E), c[0] = c[0].slice(E), c.index = j.lastIndex, j.lastIndex += c[0].length) : j.lastIndex = 0 : s && c && (j.lastIndex = j.global ? c.index + c[0].length : r), a && c && 1 < c.length && f.call(c[0], i, function() {\n for (p = 1; p < arguments.length - 2; p++)\n arguments[p] === void 0 && (c[p] = void 0);\n }), c;\n } : n;\n }, { \"./regexp-flags\": 112, \"./regexp-sticky-helpers\": 113 }], 112: [function(t, H, C) {\n var m = t(\"../internals/an-object\");\n H.exports = function() {\n var y = m(this), u = \"\";\n return y.global && (u += \"g\"), y.ignoreCase && (u += \"i\"), y.multiline && (u += \"m\"), y.dotAll && (u += \"s\"), y.unicode && (u += \"u\"), y.sticky && (u += \"y\"), u;\n };\n }, { \"../internals/an-object\": 10 }], 113: [function(t, H, C) {\n t = t(\"./fails\");\n function m(y, u) {\n return RegExp(y, u);\n }\n C.UNSUPPORTED_Y = t(function() {\n var y = m(\"a\", \"y\");\n return y.lastIndex = 2, y.exec(\"abcd\") != null;\n }), C.BROKEN_CARET = t(function() {\n var y = m(\"^r\", \"gy\");\n return y.lastIndex = 2, y.exec(\"str\") != null;\n });\n }, { \"./fails\": 51 }], 114: [function(t, H, C) {\n H.exports = function(m) {\n if (m == null)\n throw TypeError(\"Can't call method on \" + m);\n return m;\n };\n }, {}], 115: [function(t, H, C) {\n H.exports = Object.is || function(m, y) {\n return m === y ? m !== 0 || 1 / m == 1 / y : m != m && y != y;\n };\n }, {}], 116: [function(t, H, C) {\n var m = t(\"../internals/global\"), y = t(\"../internals/create-non-enumerable-property\");\n H.exports = function(u, h) {\n try {\n y(m, u, h);\n } catch {\n m[u] = h;\n }\n return h;\n };\n }, { \"../internals/create-non-enumerable-property\": 38, \"../internals/global\": 60 }], 117: [function(t, H, C) {\n var m = t(\"../internals/get-built-in\"), y = t(\"../internals/object-define-property\"), u = t(\"../internals/well-known-symbol\"), h = t(\"../internals/descriptors\"), g = u(\"species\");\n H.exports = function(n) {\n var n = m(n), s = y.f;\n h && n && !n[g] && s(n, g, { configurable: !0, get: function() {\n return this;\n } });\n };\n }, { \"../internals/descriptors\": 43, \"../internals/get-built-in\": 57, \"../internals/object-define-property\": 93, \"../internals/well-known-symbol\": 149 }], 118: [function(t, H, C) {\n var m = t(\"../internals/object-define-property\").f, y = t(\"../internals/has\"), u = t(\"../internals/well-known-symbol\")(\"toStringTag\");\n H.exports = function(h, g, f) {\n h && !y(h = f ? h : h.prototype, u) && m(h, u, { configurable: !0, value: g });\n };\n }, { \"../internals/has\": 61, \"../internals/object-define-property\": 93, \"../internals/well-known-symbol\": 149 }], 119: [function(t, H, C) {\n var m = t(\"../internals/shared\"), y = t(\"../internals/uid\"), u = m(\"keys\");\n H.exports = function(h) {\n return u[h] || (u[h] = y(h));\n };\n }, { \"../internals/shared\": 121, \"../internals/uid\": 146 }], 120: [function(m, H, C) {\n var u = m(\"../internals/global\"), m = m(\"../internals/set-global\"), y = \"__core-js_shared__\", u = u[y] || m(y, {});\n H.exports = u;\n }, { \"../internals/global\": 60, \"../internals/set-global\": 116 }], 121: [function(t, H, C) {\n var m = t(\"../internals/is-pure\"), y = t(\"../internals/shared-store\");\n (H.exports = function(u, h) {\n return y[u] || (y[u] = h !== void 0 ? h : {});\n })(\"versions\", []).push({ version: \"3.6.5\", mode: m ? \"pure\" : \"global\", copyright: \"© 2020 Denis Pushkarev (zloirock.ru)\" });\n }, { \"../internals/is-pure\": 76, \"../internals/shared-store\": 120 }], 122: [function(t, H, C) {\n var m = t(\"../internals/an-object\"), y = t(\"../internals/a-function\"), u = t(\"../internals/well-known-symbol\")(\"species\");\n H.exports = function(f, g) {\n var f = m(f).constructor;\n return f === void 0 || (f = m(f)[u]) == null ? g : y(f);\n };\n }, { \"../internals/a-function\": 5, \"../internals/an-object\": 10, \"../internals/well-known-symbol\": 149 }], 123: [function(t, H, C) {\n var m = t(\"../internals/fails\");\n H.exports = function(y) {\n return m(function() {\n var u = \"\"[y]('\"');\n return u !== u.toLowerCase() || 3 < u.split('\"').length;\n });\n };\n }, { \"../internals/fails\": 51 }], 124: [function(t, H, C) {\n function m(h) {\n return function(s, o) {\n var n, s = String(u(s)), o = y(o), a = s.length;\n return o < 0 || a <= o ? h ? \"\" : void 0 : (n = s.charCodeAt(o)) < 55296 || 56319 < n || o + 1 === a || (a = s.charCodeAt(o + 1)) < 56320 || 57343 < a ? h ? s.charAt(o) : n : h ? s.slice(o, o + 2) : a - 56320 + (n - 55296 << 10) + 65536;\n };\n }\n var y = t(\"../internals/to-integer\"), u = t(\"../internals/require-object-coercible\");\n H.exports = { codeAt: m(!1), charAt: m(!0) };\n }, { \"../internals/require-object-coercible\": 114, \"../internals/to-integer\": 136 }], 125: [function(t, H, C) {\n t = t(\"../internals/engine-user-agent\"), H.exports = /Version\\/10\\.\\d+(\\.\\d+)?( Mobile\\/\\w+)? Safari\\//.test(t);\n }, { \"../internals/engine-user-agent\": 47 }], 126: [function(t, H, C) {\n function m(f) {\n return function(a, i, r) {\n var a = String(h(a)), l = a.length, r = r === void 0 ? \" \" : String(r), i = y(i);\n return i <= l || r == \"\" ? a : ((l = u.call(r, g((i = i - l) / r.length))).length > i && (l = l.slice(0, i)), f ? a + l : l + a);\n };\n }\n var y = t(\"../internals/to-length\"), u = t(\"../internals/string-repeat\"), h = t(\"../internals/require-object-coercible\"), g = Math.ceil;\n H.exports = { start: m(!1), end: m(!0) };\n }, { \"../internals/require-object-coercible\": 114, \"../internals/string-repeat\": 128, \"../internals/to-length\": 137 }], 127: [function(t, H, C) {\n function m(c) {\n return c + 22 + 75 * (c < 26);\n }\n function y(c) {\n var p, j = [], T = (c = function(W) {\n for (var X = [], ne = 0, b = W.length; ne < b; ) {\n var O, D = W.charCodeAt(ne++);\n 55296 <= D && D <= 56319 && ne < b ? (64512 & (O = W.charCodeAt(ne++))) == 56320 ? X.push(((1023 & D) << 10) + (1023 & O) + 65536) : (X.push(D), ne--) : X.push(D);\n }\n return X;\n }(c)).length, _ = 128, S = 0, E = 72;\n for (M = 0; M < c.length; M++)\n (p = c[M]) < 128 && j.push(i(p));\n var P = j.length, x = P;\n for (P && j.push(\"-\"); x < T; ) {\n for (var A = u, M = 0; M < c.length; M++)\n _ <= (p = c[M]) && p < A && (A = p);\n var R = x + 1;\n if (A - _ > r((u - S) / R))\n throw RangeError(a);\n for (S += (A - _) * R, _ = A, M = 0; M < c.length; M++) {\n if ((p = c[M]) < _ && ++S > u)\n throw RangeError(a);\n if (p == _) {\n for (var L = S, F = h; ; F += h) {\n var V = F <= E ? 1 : E + g <= F ? g : F - E;\n if (L < V)\n break;\n var G = L - V, U = h - V;\n j.push(i(m(V + G % U))), L = r(G / U);\n }\n j.push(i(m(L))), E = function(W, X, ne) {\n var b = 0;\n for (W = ne ? r(W / n) : W >> 1, W += r(W / X); l * g >> 1 < W; b += h)\n W = r(W / l);\n return r(b + (l + 1) * W / (W + f));\n }(S, R, x == P), S = 0, ++x;\n }\n }\n ++S, ++_;\n }\n return j.join(\"\");\n }\n var u = 2147483647, h = 36, g = 26, f = 38, n = 700, s = /[^\\0-\\u007E]/, o = /[.\\u3002\\uFF0E\\uFF61]/g, a = \"Overflow: input needs wider integers to process\", l = h - 1, r = Math.floor, i = String.fromCharCode;\n H.exports = function(c) {\n for (var p, j = [], T = c.toLowerCase().replace(o, \".\").split(\".\"), _ = 0; _ < T.length; _++)\n p = T[_], j.push(s.test(p) ? \"xn--\" + y(p) : p);\n return j.join(\".\");\n };\n }, {}], 128: [function(t, H, C) {\n var m = t(\"../internals/to-integer\"), y = t(\"../internals/require-object-coercible\");\n H.exports = \"\".repeat || function(u) {\n var h = String(y(this)), g = \"\", f = m(u);\n if (f < 0 || f == 1 / 0)\n throw RangeError(\"Wrong number of repetitions\");\n for (; 0 < f; (f >>>= 1) && (h += h))\n 1 & f && (g += h);\n return g;\n };\n }, { \"../internals/require-object-coercible\": 114, \"../internals/to-integer\": 136 }], 129: [function(t, H, C) {\n var m = t(\"../internals/fails\"), y = t(\"../internals/whitespaces\");\n H.exports = function(u) {\n return m(function() {\n return !!y[u]() || \"​…᠎\"[u]() != \"​…᠎\" || y[u].name !== u;\n });\n };\n }, { \"../internals/fails\": 51, \"../internals/whitespaces\": 150 }], 130: [function(u, H, C) {\n function m(f) {\n return function(n) {\n return n = String(y(n)), 1 & f && (n = n.replace(h, \"\")), n = 2 & f ? n.replace(g, \"\") : n;\n };\n }\n var y = u(\"../internals/require-object-coercible\"), u = \"[\" + u(\"../internals/whitespaces\") + \"]\", h = RegExp(\"^\" + u + u + \"*\"), g = RegExp(u + u + \"*$\");\n H.exports = { start: m(1), end: m(2), trim: m(3) };\n }, { \"../internals/require-object-coercible\": 114, \"../internals/whitespaces\": 150 }], 131: [function(l, H, C) {\n function m(x) {\n return function() {\n P(x);\n };\n }\n function y(x) {\n P(x.data);\n }\n function u(x) {\n g.postMessage(x + \"\", r.protocol + \"//\" + r.host);\n }\n var h, g = l(\"../internals/global\"), f = l(\"../internals/fails\"), n = l(\"../internals/classof-raw\"), s = l(\"../internals/function-bind-context\"), o = l(\"../internals/html\"), a = l(\"../internals/document-create-element\"), l = l(\"../internals/engine-is-ios\"), r = g.location, i = g.setImmediate, c = g.clearImmediate, p = g.process, j = g.MessageChannel, T = g.Dispatch, _ = 0, S = {}, E = \"onreadystatechange\", P = function(x) {\n var A;\n S.hasOwnProperty(x) && (A = S[x], delete S[x], A());\n };\n i && c || (i = function(x) {\n for (var A = [], M = 1; M < arguments.length; )\n A.push(arguments[M++]);\n return S[++_] = function() {\n (typeof x == \"function\" ? x : Function(x)).apply(void 0, A);\n }, h(_), _;\n }, c = function(x) {\n delete S[x];\n }, n(p) == \"process\" ? h = function(x) {\n p.nextTick(m(x));\n } : T && T.now ? h = function(x) {\n T.now(m(x));\n } : j && !l ? (l = (n = new j()).port2, n.port1.onmessage = y, h = s(l.postMessage, l, 1)) : !g.addEventListener || typeof postMessage != \"function\" || g.importScripts || f(u) || r.protocol === \"file:\" ? h = E in a(\"script\") ? function(x) {\n o.appendChild(a(\"script\"))[E] = function() {\n o.removeChild(this), P(x);\n };\n } : function(x) {\n setTimeout(m(x), 0);\n } : (h = u, g.addEventListener(\"message\", y, !1))), H.exports = { set: i, clear: c };\n }, { \"../internals/classof-raw\": 28, \"../internals/document-create-element\": 44, \"../internals/engine-is-ios\": 46, \"../internals/fails\": 51, \"../internals/function-bind-context\": 55, \"../internals/global\": 60, \"../internals/html\": 64 }], 132: [function(t, H, C) {\n var m = t(\"../internals/classof-raw\");\n H.exports = function(y) {\n if (typeof y != \"number\" && m(y) != \"Number\")\n throw TypeError(\"Incorrect invocation\");\n return +y;\n };\n }, { \"../internals/classof-raw\": 28 }], 133: [function(t, H, C) {\n var m = t(\"../internals/to-integer\"), y = Math.max, u = Math.min;\n H.exports = function(h, g) {\n return h = m(h), h < 0 ? y(h + g, 0) : u(h, g);\n };\n }, { \"../internals/to-integer\": 136 }], 134: [function(t, H, C) {\n var m = t(\"../internals/to-integer\"), y = t(\"../internals/to-length\");\n H.exports = function(h) {\n if (h === void 0)\n return 0;\n var h = m(h), g = y(h);\n if (h !== g)\n throw RangeError(\"Wrong length or index\");\n return g;\n };\n }, { \"../internals/to-integer\": 136, \"../internals/to-length\": 137 }], 135: [function(t, H, C) {\n var m = t(\"../internals/indexed-object\"), y = t(\"../internals/require-object-coercible\");\n H.exports = function(u) {\n return m(y(u));\n };\n }, { \"../internals/indexed-object\": 67, \"../internals/require-object-coercible\": 114 }], 136: [function(t, H, C) {\n var m = Math.ceil, y = Math.floor;\n H.exports = function(u) {\n return isNaN(u = +u) ? 0 : (0 < u ? y : m)(u);\n };\n }, {}], 137: [function(t, H, C) {\n var m = t(\"../internals/to-integer\"), y = Math.min;\n H.exports = function(u) {\n return 0 < u ? y(m(u), 9007199254740991) : 0;\n };\n }, { \"../internals/to-integer\": 136 }], 138: [function(t, H, C) {\n var m = t(\"../internals/require-object-coercible\");\n H.exports = function(y) {\n return Object(m(y));\n };\n }, { \"../internals/require-object-coercible\": 114 }], 139: [function(t, H, C) {\n var m = t(\"../internals/to-positive-integer\");\n H.exports = function(y, u) {\n if (y = m(y), y % u)\n throw RangeError(\"Wrong offset\");\n return y;\n };\n }, { \"../internals/to-positive-integer\": 140 }], 140: [function(t, H, C) {\n var m = t(\"../internals/to-integer\");\n H.exports = function(y) {\n if (y = m(y), y < 0)\n throw RangeError(\"The argument can't be less than 0\");\n return y;\n };\n }, { \"../internals/to-integer\": 136 }], 141: [function(t, H, C) {\n var m = t(\"../internals/is-object\");\n H.exports = function(y, u) {\n if (!m(y))\n return y;\n var h, g;\n if (u && typeof (h = y.toString) == \"function\" && !m(g = h.call(y)) || typeof (h = y.valueOf) == \"function\" && !m(g = h.call(y)) || !u && typeof (h = y.toString) == \"function\" && !m(g = h.call(y)))\n return g;\n throw TypeError(\"Can't convert object to primitive value\");\n };\n }, { \"../internals/is-object\": 75 }], 142: [function(t, H, C) {\n var m = {};\n m[t(\"../internals/well-known-symbol\")(\"toStringTag\")] = \"z\", H.exports = String(m) === \"[object z]\";\n }, { \"../internals/well-known-symbol\": 149 }], 143: [function(t, H, C) {\n function m(fe, ge) {\n for (var xe = 0, De = ge.length, Me = new (J(fe))(De); xe < De; )\n Me[xe] = ge[xe++];\n return Me;\n }\n function y(fe, ge) {\n O(fe, ge, { get: function() {\n return ne(this)[ge];\n } });\n }\n function u(fe) {\n return fe instanceof K || (fe = P(fe)) == \"ArrayBuffer\" || fe == \"SharedArrayBuffer\";\n }\n function h(fe, ge) {\n return ae(fe) && typeof ge != \"symbol\" && ge in fe && String(+ge) == String(ge);\n }\n function g(fe, ge) {\n return h(fe, ge = S(ge, !0)) ? c(2, fe[ge]) : D(fe, ge);\n }\n function f(fe, ge, xe) {\n return !(h(fe, ge = S(ge, !0)) && x(xe) && E(xe, \"value\")) || E(xe, \"get\") || E(xe, \"set\") || xe.configurable || E(xe, \"writable\") && !xe.writable || E(xe, \"enumerable\") && !xe.enumerable ? O(fe, ge, xe) : (fe[ge] = xe.value, fe);\n }\n var n = t(\"../internals/export\"), s = t(\"../internals/global\"), o = t(\"../internals/descriptors\"), a = t(\"../internals/typed-array-constructors-require-wrappers\"), l = t(\"../internals/array-buffer-view-core\"), r = t(\"../internals/array-buffer\"), i = t(\"../internals/an-instance\"), c = t(\"../internals/create-property-descriptor\"), p = t(\"../internals/create-non-enumerable-property\"), j = t(\"../internals/to-length\"), T = t(\"../internals/to-index\"), _ = t(\"../internals/to-offset\"), S = t(\"../internals/to-primitive\"), E = t(\"../internals/has\"), P = t(\"../internals/classof\"), x = t(\"../internals/is-object\"), A = t(\"../internals/object-create\"), M = t(\"../internals/object-set-prototype-of\"), R = t(\"../internals/object-get-own-property-names\").f, L = t(\"../internals/typed-array-from\"), F = t(\"../internals/array-iteration\").forEach, V = t(\"../internals/set-species\"), G = t(\"../internals/object-define-property\"), U = t(\"../internals/object-get-own-property-descriptor\"), W = t(\"../internals/internal-state\"), X = t(\"../internals/inherit-if-required\"), ne = W.get, b = W.set, O = G.f, D = U.f, B = Math.round, Y = s.RangeError, K = r.ArrayBuffer, te = r.DataView, ce = l.NATIVE_ARRAY_BUFFER_VIEWS, re = l.TYPED_ARRAY_TAG, ue = l.TypedArray, le = l.TypedArrayPrototype, J = l.aTypedArrayConstructor, ae = l.isTypedArray, he = \"BYTES_PER_ELEMENT\", _e = \"Wrong length\";\n o ? (ce || (U.f = g, G.f = f, y(le, \"buffer\"), y(le, \"byteOffset\"), y(le, \"byteLength\"), y(le, \"length\")), n({ target: \"Object\", stat: !0, forced: !ce }, { getOwnPropertyDescriptor: g, defineProperty: f }), H.exports = function(ve, ge, xe) {\n function De(we, Z) {\n O(we, Z, { get: function() {\n var $ = this, q = Z;\n return ($ = ne($)).view[ze](q * Me + $.byteOffset, !0);\n }, set: function($) {\n var q = this, ee = Z;\n q = ne(q), xe && ($ = ($ = B($)) < 0 ? 0 : 255 < $ ? 255 : 255 & $), q.view[Ve](ee * Me + q.byteOffset, $, !0);\n }, enumerable: !0 });\n }\n var Me = ve.match(/\\d+$/)[0] / 8, Qe = ve + (xe ? \"Clamped\" : \"\") + \"Array\", ze = \"get\" + ve, Ve = \"set\" + ve, Xe = s[Qe], He = Xe, ve = He && He.prototype, Re = {};\n ce ? a && (He = ge(function(we, Z, $, q) {\n return i(we, He, Qe), X(x(Z) ? u(Z) ? q !== void 0 ? new Xe(Z, _($, Me), q) : $ !== void 0 ? new Xe(Z, _($, Me)) : new Xe(Z) : ae(Z) ? m(He, Z) : L.call(He, Z) : new Xe(T(Z)), we, He);\n }), M && M(He, ue), F(R(Xe), function(we) {\n we in He || p(He, we, Xe[we]);\n }), He.prototype = ve) : (He = ge(function(we, Z, $, q) {\n i(we, He, Qe);\n var ee, pe, je = 0, Ce = 0;\n if (x(Z)) {\n if (!u(Z))\n return ae(Z) ? m(He, Z) : L.call(He, Z);\n var Fe = Z, Ce = _($, Me), $ = Z.byteLength;\n if (q === void 0) {\n if ($ % Me || (ee = $ - Ce) < 0)\n throw Y(_e);\n } else if ($ < (ee = j(q) * Me) + Ce)\n throw Y(_e);\n pe = ee / Me;\n } else\n pe = T(Z), Fe = new K(ee = pe * Me);\n for (b(we, { buffer: Fe, byteOffset: Ce, byteLength: ee, length: pe, view: new te(Fe) }); je < pe; )\n De(we, je++);\n }), M && M(He, ue), ve = He.prototype = A(le)), ve.constructor !== He && p(ve, \"constructor\", He), re && p(ve, re, Qe), Re[Qe] = He, n({ global: !0, forced: He != Xe, sham: !ce }, Re), he in He || p(He, he, Me), he in ve || p(ve, he, Me), V(Qe);\n }) : H.exports = function() {\n };\n }, { \"../internals/an-instance\": 9, \"../internals/array-buffer\": 13, \"../internals/array-buffer-view-core\": 12, \"../internals/array-iteration\": 19, \"../internals/classof\": 29, \"../internals/create-non-enumerable-property\": 38, \"../internals/create-property-descriptor\": 39, \"../internals/descriptors\": 43, \"../internals/export\": 50, \"../internals/global\": 60, \"../internals/has\": 61, \"../internals/inherit-if-required\": 68, \"../internals/internal-state\": 71, \"../internals/is-object\": 75, \"../internals/object-create\": 91, \"../internals/object-define-property\": 93, \"../internals/object-get-own-property-descriptor\": 94, \"../internals/object-get-own-property-names\": 96, \"../internals/object-set-prototype-of\": 102, \"../internals/set-species\": 117, \"../internals/to-index\": 134, \"../internals/to-length\": 137, \"../internals/to-offset\": 139, \"../internals/to-primitive\": 141, \"../internals/typed-array-constructors-require-wrappers\": 144, \"../internals/typed-array-from\": 145 }], 144: [function(h, H, C) {\n var m = h(\"../internals/global\"), y = h(\"../internals/fails\"), u = h(\"../internals/check-correctness-of-iteration\"), h = h(\"../internals/array-buffer-view-core\").NATIVE_ARRAY_BUFFER_VIEWS, g = m.ArrayBuffer, f = m.Int8Array;\n H.exports = !h || !y(function() {\n f(1);\n }) || !y(function() {\n new f(-1);\n }) || !u(function(n) {\n new f(), new f(null), new f(1.5), new f(n);\n }, !0) || y(function() {\n return new f(new g(2), 1, void 0).length !== 1;\n });\n }, { \"../internals/array-buffer-view-core\": 12, \"../internals/check-correctness-of-iteration\": 27, \"../internals/fails\": 51, \"../internals/global\": 60 }], 145: [function(t, H, C) {\n var m = t(\"../internals/to-object\"), y = t(\"../internals/to-length\"), u = t(\"../internals/get-iterator-method\"), h = t(\"../internals/is-array-iterator-method\"), g = t(\"../internals/function-bind-context\"), f = t(\"../internals/array-buffer-view-core\").aTypedArrayConstructor;\n H.exports = function(n) {\n var s, o, a, l, r, i, c = m(n), p = arguments.length, j = 1 < p ? arguments[1] : void 0, T = j !== void 0, _ = u(c);\n if (_ != null && !h(_))\n for (i = (r = _.call(c)).next, c = []; !(l = i.call(r)).done; )\n c.push(l.value);\n for (T && 2 < p && (j = g(j, arguments[2], 2)), o = y(c.length), a = new (f(this))(o), s = 0; s < o; s++)\n a[s] = T ? j(c[s], s) : c[s];\n return a;\n };\n }, { \"../internals/array-buffer-view-core\": 12, \"../internals/function-bind-context\": 55, \"../internals/get-iterator-method\": 58, \"../internals/is-array-iterator-method\": 72, \"../internals/to-length\": 137, \"../internals/to-object\": 138 }], 146: [function(t, H, C) {\n var m = 0, y = Math.random();\n H.exports = function(u) {\n return \"Symbol(\" + String(u === void 0 ? \"\" : u) + \")_\" + (++m + y).toString(36);\n };\n }, {}], 147: [function(t, H, C) {\n t = t(\"../internals/native-symbol\"), H.exports = t && !Symbol.sham && typeof Symbol.iterator == \"symbol\";\n }, { \"../internals/native-symbol\": 84 }], 148: [function(t, H, C) {\n t = t(\"../internals/well-known-symbol\"), C.f = t;\n }, { \"../internals/well-known-symbol\": 149 }], 149: [function(f, H, C) {\n var m = f(\"../internals/global\"), y = f(\"../internals/shared\"), u = f(\"../internals/has\"), h = f(\"../internals/uid\"), g = f(\"../internals/native-symbol\"), f = f(\"../internals/use-symbol-as-uid\"), n = y(\"wks\"), s = m.Symbol, o = f ? s : s && s.withoutSetter || h;\n H.exports = function(a) {\n return u(n, a) || (g && u(s, a) ? n[a] = s[a] : n[a] = o(\"Symbol.\" + a)), n[a];\n };\n }, { \"../internals/global\": 60, \"../internals/has\": 61, \"../internals/native-symbol\": 84, \"../internals/shared\": 121, \"../internals/uid\": 146, \"../internals/use-symbol-as-uid\": 147 }], 150: [function(t, H, C) {\n H.exports = `\t\n\\v\\f\\r                 \\u2028\\u2029\\uFEFF`;\n }, {}], 151: [function(u, H, C) {\n var m = u(\"../internals/export\"), y = u(\"../internals/global\"), g = u(\"../internals/array-buffer\"), u = u(\"../internals/set-species\"), h = \"ArrayBuffer\", g = g[h];\n m({ global: !0, forced: y[h] !== g }, { ArrayBuffer: g }), u(h);\n }, { \"../internals/array-buffer\": 13, \"../internals/export\": 50, \"../internals/global\": 60, \"../internals/set-species\": 117 }], 152: [function(c, H, C) {\n var m = c(\"../internals/export\"), y = c(\"../internals/fails\"), u = c(\"../internals/is-array\"), h = c(\"../internals/is-object\"), g = c(\"../internals/to-object\"), f = c(\"../internals/to-length\"), n = c(\"../internals/create-property\"), s = c(\"../internals/array-species-create\"), o = c(\"../internals/array-method-has-species-support\"), i = c(\"../internals/well-known-symbol\"), c = c(\"../internals/engine-v8-version\"), a = i(\"isConcatSpreadable\"), l = 9007199254740991, r = \"Maximum allowed index exceeded\", i = 51 <= c || !y(function() {\n var p = [];\n return p[a] = !1, p.concat()[0] !== p;\n }), c = o(\"concat\");\n m({ target: \"Array\", proto: !0, forced: !i || !c }, { concat: function(p) {\n for (var j, T, _, S, E, P = g(this), x = s(P, 0), A = 0, M = -1, R = arguments.length; M < R; M++)\n if (E = void 0, !h(S = _ = M === -1 ? P : arguments[M]) || ((E = S[a]) !== void 0 ? !E : !u(S))) {\n if (l <= A)\n throw TypeError(r);\n n(x, A++, _);\n } else {\n if (T = f(_.length), l < A + T)\n throw TypeError(r);\n for (j = 0; j < T; j++, A++)\n j in _ && n(x, A, _[j]);\n }\n return x.length = A, x;\n } });\n }, { \"../internals/array-method-has-species-support\": 21, \"../internals/array-species-create\": 25, \"../internals/create-property\": 40, \"../internals/engine-v8-version\": 48, \"../internals/export\": 50, \"../internals/fails\": 51, \"../internals/is-array\": 73, \"../internals/is-object\": 75, \"../internals/to-length\": 137, \"../internals/to-object\": 138, \"../internals/well-known-symbol\": 149 }], 153: [function(u, H, C) {\n var m = u(\"../internals/export\"), y = u(\"../internals/array-copy-within\"), u = u(\"../internals/add-to-unscopables\");\n m({ target: \"Array\", proto: !0 }, { copyWithin: y }), u(\"copyWithin\");\n }, { \"../internals/add-to-unscopables\": 7, \"../internals/array-copy-within\": 14, \"../internals/export\": 50 }], 154: [function(h, H, C) {\n var m = h(\"../internals/export\"), y = h(\"../internals/array-iteration\").every, u = h(\"../internals/array-method-is-strict\"), h = h(\"../internals/array-method-uses-to-length\"), u = u(\"every\"), h = h(\"every\");\n m({ target: \"Array\", proto: !0, forced: !u || !h }, { every: function(g) {\n return y(this, g, 1 < arguments.length ? arguments[1] : void 0);\n } });\n }, { \"../internals/array-iteration\": 19, \"../internals/array-method-is-strict\": 22, \"../internals/array-method-uses-to-length\": 23, \"../internals/export\": 50 }], 155: [function(u, H, C) {\n var m = u(\"../internals/export\"), y = u(\"../internals/array-fill\"), u = u(\"../internals/add-to-unscopables\");\n m({ target: \"Array\", proto: !0 }, { fill: y }), u(\"fill\");\n }, { \"../internals/add-to-unscopables\": 7, \"../internals/array-fill\": 15, \"../internals/export\": 50 }], 156: [function(h, H, C) {\n var m = h(\"../internals/export\"), y = h(\"../internals/array-iteration\").filter, u = h(\"../internals/array-method-has-species-support\"), h = h(\"../internals/array-method-uses-to-length\"), u = u(\"filter\"), h = h(\"filter\");\n m({ target: \"Array\", proto: !0, forced: !u || !h }, { filter: function(g) {\n return y(this, g, 1 < arguments.length ? arguments[1] : void 0);\n } });\n }, { \"../internals/array-iteration\": 19, \"../internals/array-method-has-species-support\": 21, \"../internals/array-method-uses-to-length\": 23, \"../internals/export\": 50 }], 157: [function(f, H, C) {\n var m = f(\"../internals/export\"), y = f(\"../internals/array-iteration\").findIndex, u = f(\"../internals/add-to-unscopables\"), f = f(\"../internals/array-method-uses-to-length\"), h = \"findIndex\", g = !0, f = f(h);\n h in [] && Array(1)[h](function() {\n g = !1;\n }), m({ target: \"Array\", proto: !0, forced: g || !f }, { findIndex: function(n) {\n return y(this, n, 1 < arguments.length ? arguments[1] : void 0);\n } }), u(h);\n }, { \"../internals/add-to-unscopables\": 7, \"../internals/array-iteration\": 19, \"../internals/array-method-uses-to-length\": 23, \"../internals/export\": 50 }], 158: [function(t, H, C) {\n var m = t(\"../internals/export\"), y = t(\"../internals/flatten-into-array\"), u = t(\"../internals/to-object\"), h = t(\"../internals/to-length\"), g = t(\"../internals/a-function\"), f = t(\"../internals/array-species-create\");\n m({ target: \"Array\", proto: !0 }, { flatMap: function(n) {\n var s, o = u(this), a = h(o.length);\n return g(n), (s = f(o, 0)).length = y(s, o, o, a, 0, 1, n, 1 < arguments.length ? arguments[1] : void 0), s;\n } });\n }, { \"../internals/a-function\": 5, \"../internals/array-species-create\": 25, \"../internals/export\": 50, \"../internals/flatten-into-array\": 53, \"../internals/to-length\": 137, \"../internals/to-object\": 138 }], 159: [function(t, H, C) {\n var m = t(\"../internals/export\"), y = t(\"../internals/flatten-into-array\"), u = t(\"../internals/to-object\"), h = t(\"../internals/to-length\"), g = t(\"../internals/to-integer\"), f = t(\"../internals/array-species-create\");\n m({ target: \"Array\", proto: !0 }, { flat: function() {\n var n = arguments.length ? arguments[0] : void 0, s = u(this), o = h(s.length), a = f(s, 0);\n return a.length = y(a, s, s, o, 0, n === void 0 ? 1 : g(n)), a;\n } });\n }, { \"../internals/array-species-create\": 25, \"../internals/export\": 50, \"../internals/flatten-into-array\": 53, \"../internals/to-integer\": 136, \"../internals/to-length\": 137, \"../internals/to-object\": 138 }], 160: [function(y, H, C) {\n var m = y(\"../internals/export\"), y = y(\"../internals/array-for-each\");\n m({ target: \"Array\", proto: !0, forced: [].forEach != y }, { forEach: y });\n }, { \"../internals/array-for-each\": 16, \"../internals/export\": 50 }], 161: [function(t, H, C) {\n var m = t(\"../internals/export\"), y = t(\"../internals/array-from\");\n m({ target: \"Array\", stat: !0, forced: !t(\"../internals/check-correctness-of-iteration\")(function(u) {\n Array.from(u);\n }) }, { from: y });\n }, { \"../internals/array-from\": 17, \"../internals/check-correctness-of-iteration\": 27, \"../internals/export\": 50 }], 162: [function(t, H, C) {\n var m = t(\"../internals/export\"), y = t(\"../internals/array-includes\").includes, u = t(\"../internals/add-to-unscopables\");\n m({ target: \"Array\", proto: !0, forced: !t(\"../internals/array-method-uses-to-length\")(\"indexOf\", { ACCESSORS: !0, 1: 0 }) }, { includes: function(h) {\n return y(this, h, 1 < arguments.length ? arguments[1] : void 0);\n } }), u(\"includes\");\n }, { \"../internals/add-to-unscopables\": 7, \"../internals/array-includes\": 18, \"../internals/array-method-uses-to-length\": 23, \"../internals/export\": 50 }], 163: [function(f, H, C) {\n var m = f(\"../internals/export\"), y = f(\"../internals/array-includes\").indexOf, g = f(\"../internals/array-method-is-strict\"), f = f(\"../internals/array-method-uses-to-length\"), u = [].indexOf, h = !!u && 1 / [1].indexOf(1, -0) < 0, g = g(\"indexOf\"), f = f(\"indexOf\", { ACCESSORS: !0, 1: 0 });\n m({ target: \"Array\", proto: !0, forced: h || !g || !f }, { indexOf: function(n) {\n return h ? u.apply(this, arguments) || 0 : y(this, n, 1 < arguments.length ? arguments[1] : void 0);\n } });\n }, { \"../internals/array-includes\": 18, \"../internals/array-method-is-strict\": 22, \"../internals/array-method-uses-to-length\": 23, \"../internals/export\": 50 }], 164: [function(g, H, C) {\n var m = g(\"../internals/to-indexed-object\"), y = g(\"../internals/add-to-unscopables\"), u = g(\"../internals/iterators\"), h = g(\"../internals/internal-state\"), g = g(\"../internals/define-iterator\"), f = \"Array Iterator\", n = h.set, s = h.getterFor(f);\n H.exports = g(Array, \"Array\", function(o, a) {\n n(this, { type: f, target: m(o), index: 0, kind: a });\n }, function() {\n var o = s(this), a = o.target, l = o.kind, r = o.index++;\n return !a || r >= a.length ? { value: o.target = void 0, done: !0 } : l == \"keys\" ? { value: r, done: !1 } : l == \"values\" ? { value: a[r], done: !1 } : { value: [r, a[r]], done: !1 };\n }, \"values\"), u.Arguments = u.Array, y(\"keys\"), y(\"values\"), y(\"entries\");\n }, { \"../internals/add-to-unscopables\": 7, \"../internals/define-iterator\": 41, \"../internals/internal-state\": 71, \"../internals/iterators\": 80, \"../internals/to-indexed-object\": 135 }], 165: [function(g, H, C) {\n var m = g(\"../internals/export\"), h = g(\"../internals/indexed-object\"), y = g(\"../internals/to-indexed-object\"), g = g(\"../internals/array-method-is-strict\"), u = [].join, h = h != Object, g = g(\"join\", \",\");\n m({ target: \"Array\", proto: !0, forced: h || !g }, { join: function(f) {\n return u.call(y(this), f === void 0 ? \",\" : f);\n } });\n }, { \"../internals/array-method-is-strict\": 22, \"../internals/export\": 50, \"../internals/indexed-object\": 67, \"../internals/to-indexed-object\": 135 }], 166: [function(y, H, C) {\n var m = y(\"../internals/export\"), y = y(\"../internals/array-last-index-of\");\n m({ target: \"Array\", proto: !0, forced: y !== [].lastIndexOf }, { lastIndexOf: y });\n }, { \"../internals/array-last-index-of\": 20, \"../internals/export\": 50 }], 167: [function(h, H, C) {\n var m = h(\"../internals/export\"), y = h(\"../internals/array-iteration\").map, u = h(\"../internals/array-method-has-species-support\"), h = h(\"../internals/array-method-uses-to-length\"), u = u(\"map\"), h = h(\"map\");\n m({ target: \"Array\", proto: !0, forced: !u || !h }, { map: function(g) {\n return y(this, g, 1 < arguments.length ? arguments[1] : void 0);\n } });\n }, { \"../internals/array-iteration\": 19, \"../internals/array-method-has-species-support\": 21, \"../internals/array-method-uses-to-length\": 23, \"../internals/export\": 50 }], 168: [function(a, H, C) {\n var m = a(\"../internals/export\"), y = a(\"../internals/is-object\"), u = a(\"../internals/is-array\"), h = a(\"../internals/to-absolute-index\"), g = a(\"../internals/to-length\"), f = a(\"../internals/to-indexed-object\"), n = a(\"../internals/create-property\"), s = a(\"../internals/well-known-symbol\"), o = a(\"../internals/array-method-has-species-support\"), a = a(\"../internals/array-method-uses-to-length\"), o = o(\"slice\"), a = a(\"slice\", { ACCESSORS: !0, 0: 0, 1: 2 }), l = s(\"species\"), r = [].slice, i = Math.max;\n m({ target: \"Array\", proto: !0, forced: !o || !a }, { slice: function(c, p) {\n var j, T, _, S = f(this), E = g(S.length), P = h(c, E), x = h(p === void 0 ? E : p, E);\n if (u(S) && ((j = typeof (j = S.constructor) == \"function\" && (j === Array || u(j.prototype)) || y(j) && (j = j[l]) === null ? void 0 : j) === Array || j === void 0))\n return r.call(S, P, x);\n for (T = new (j === void 0 ? Array : j)(i(x - P, 0)), _ = 0; P < x; P++, _++)\n P in S && n(T, _, S[P]);\n return T.length = _, T;\n } });\n }, { \"../internals/array-method-has-species-support\": 21, \"../internals/array-method-uses-to-length\": 23, \"../internals/create-property\": 40, \"../internals/export\": 50, \"../internals/is-array\": 73, \"../internals/is-object\": 75, \"../internals/to-absolute-index\": 133, \"../internals/to-indexed-object\": 135, \"../internals/to-length\": 137, \"../internals/well-known-symbol\": 149 }], 169: [function(h, H, C) {\n var m = h(\"../internals/export\"), y = h(\"../internals/array-iteration\").some, u = h(\"../internals/array-method-is-strict\"), h = h(\"../internals/array-method-uses-to-length\"), u = u(\"some\"), h = h(\"some\");\n m({ target: \"Array\", proto: !0, forced: !u || !h }, { some: function(g) {\n return y(this, g, 1 < arguments.length ? arguments[1] : void 0);\n } });\n }, { \"../internals/array-iteration\": 19, \"../internals/array-method-is-strict\": 22, \"../internals/array-method-uses-to-length\": 23, \"../internals/export\": 50 }], 170: [function(o, H, C) {\n var m = o(\"../internals/export\"), y = o(\"../internals/to-absolute-index\"), u = o(\"../internals/to-integer\"), h = o(\"../internals/to-length\"), g = o(\"../internals/to-object\"), f = o(\"../internals/array-species-create\"), n = o(\"../internals/create-property\"), s = o(\"../internals/array-method-has-species-support\"), o = o(\"../internals/array-method-uses-to-length\"), s = s(\"splice\"), o = o(\"splice\", { ACCESSORS: !0, 0: 0, 1: 2 }), a = Math.max, l = Math.min;\n m({ target: \"Array\", proto: !0, forced: !s || !o }, { splice: function(A, i) {\n var c, p, j, T, _, S, E = g(this), P = h(E.length), x = y(A, P), A = arguments.length;\n if (A === 0 ? c = p = 0 : p = A === 1 ? (c = 0, P - x) : (c = A - 2, l(a(u(i), 0), P - x)), 9007199254740991 < P + c - p)\n throw TypeError(\"Maximum allowed length exceeded\");\n for (j = f(E, p), T = 0; T < p; T++)\n (_ = x + T) in E && n(j, T, E[_]);\n if (c < (j.length = p)) {\n for (T = x; T < P - p; T++)\n S = T + c, (_ = T + p) in E ? E[S] = E[_] : delete E[S];\n for (T = P; P - p + c < T; T--)\n delete E[T - 1];\n } else if (p < c)\n for (T = P - p; x < T; T--)\n S = T + c - 1, (_ = T + p - 1) in E ? E[S] = E[_] : delete E[S];\n for (T = 0; T < c; T++)\n E[T + x] = arguments[T + 2];\n return E.length = P - p + c, j;\n } });\n }, { \"../internals/array-method-has-species-support\": 21, \"../internals/array-method-uses-to-length\": 23, \"../internals/array-species-create\": 25, \"../internals/create-property\": 40, \"../internals/export\": 50, \"../internals/to-absolute-index\": 133, \"../internals/to-integer\": 136, \"../internals/to-length\": 137, \"../internals/to-object\": 138 }], 171: [function(t, H, C) {\n t(\"../internals/add-to-unscopables\")(\"flatMap\");\n }, { \"../internals/add-to-unscopables\": 7 }], 172: [function(t, H, C) {\n t(\"../internals/add-to-unscopables\")(\"flat\");\n }, { \"../internals/add-to-unscopables\": 7 }], 173: [function(y, H, C) {\n var m = y(\"../internals/descriptors\"), y = y(\"../internals/object-define-property\").f, u = Function.prototype, h = u.toString, g = /^\\s*function ([^ (]*)/;\n !m || \"name\" in u || y(u, \"name\", { configurable: !0, get: function() {\n try {\n return h.call(this).match(g)[1];\n } catch {\n return \"\";\n }\n } });\n }, { \"../internals/descriptors\": 43, \"../internals/object-define-property\": 93 }], 174: [function(y, H, C) {\n var m = y(\"../internals/collection\"), y = y(\"../internals/collection-strong\");\n H.exports = m(\"Map\", function(u) {\n return function() {\n return u(this, arguments.length ? arguments[0] : void 0);\n };\n }, y);\n }, { \"../internals/collection\": 32, \"../internals/collection-strong\": 30 }], 175: [function(m, H, C) {\n var m = m(\"../internals/export\"), y = Math.hypot, u = Math.abs, h = Math.sqrt;\n m({ target: \"Math\", stat: !0, forced: !!y && y(1 / 0, NaN) !== 1 / 0 }, { hypot: function(g, f) {\n for (var n, s, o = 0, a = 0, l = arguments.length, r = 0; a < l; )\n r < (n = u(arguments[a++])) ? (o = o * (s = r / n) * s + 1, r = n) : o += 0 < n ? (s = n / r) * s : n;\n return r === 1 / 0 ? 1 / 0 : r * h(o);\n } });\n }, { \"../internals/export\": 50 }], 176: [function(m, H, C) {\n var m = m(\"../internals/export\"), y = Math.log, u = Math.LN2;\n m({ target: \"Math\", stat: !0 }, { log2: function(h) {\n return y(h) / u;\n } });\n }, { \"../internals/export\": 50 }], 177: [function(t, H, C) {\n t(\"../internals/export\")({ target: \"Math\", stat: !0 }, { sign: t(\"../internals/math-sign\") });\n }, { \"../internals/export\": 50, \"../internals/math-sign\": 81 }], 178: [function(t, H, C) {\n function m(M) {\n var R, L, F, V, G, U, W, X = o(M, !1);\n if (typeof X == \"string\" && 2 < X.length) {\n if ((M = (X = p(X)).charCodeAt(0)) === 43 || M === 45) {\n if ((R = X.charCodeAt(2)) === 88 || R === 120)\n return NaN;\n } else if (M === 48) {\n switch (X.charCodeAt(1)) {\n case 66:\n case 98:\n L = 2, F = 49;\n break;\n case 79:\n case 111:\n L = 8, F = 55;\n break;\n default:\n return +X;\n }\n for (G = (V = X.slice(2)).length, U = 0; U < G; U++)\n if ((W = V.charCodeAt(U)) < 48 || F < W)\n return NaN;\n return parseInt(V, L);\n }\n }\n return +X;\n }\n var y = t(\"../internals/descriptors\"), u = t(\"../internals/global\"), h = t(\"../internals/is-forced\"), g = t(\"../internals/redefine\"), f = t(\"../internals/has\"), n = t(\"../internals/classof-raw\"), s = t(\"../internals/inherit-if-required\"), o = t(\"../internals/to-primitive\"), a = t(\"../internals/fails\"), l = t(\"../internals/object-create\"), r = t(\"../internals/object-get-own-property-names\").f, i = t(\"../internals/object-get-own-property-descriptor\").f, c = t(\"../internals/object-define-property\").f, p = t(\"../internals/string-trim\").trim, j = \"Number\", T = u[j], _ = T.prototype, S = n(l(_)) == j;\n if (h(j, !T(\" 0o1\") || !T(\"0b1\") || T(\"+0x1\"))) {\n for (var E, P = function(R) {\n var R = arguments.length < 1 ? 0 : R, L = this;\n return L instanceof P && (S ? a(function() {\n _.valueOf.call(L);\n }) : n(L) != j) ? s(new T(m(R)), L, P) : m(R);\n }, x = y ? r(T) : \"MAX_VALUE,MIN_VALUE,NaN,NEGATIVE_INFINITY,POSITIVE_INFINITY,EPSILON,isFinite,isInteger,isNaN,isSafeInteger,MAX_SAFE_INTEGER,MIN_SAFE_INTEGER,parseFloat,parseInt,isInteger\".split(\",\"), A = 0; x.length > A; A++)\n f(T, E = x[A]) && !f(P, E) && c(P, E, i(T, E));\n (P.prototype = _).constructor = P, g(u, j, P);\n }\n }, { \"../internals/classof-raw\": 28, \"../internals/descriptors\": 43, \"../internals/fails\": 51, \"../internals/global\": 60, \"../internals/has\": 61, \"../internals/inherit-if-required\": 68, \"../internals/is-forced\": 74, \"../internals/object-create\": 91, \"../internals/object-define-property\": 93, \"../internals/object-get-own-property-descriptor\": 94, \"../internals/object-get-own-property-names\": 96, \"../internals/redefine\": 109, \"../internals/string-trim\": 130, \"../internals/to-primitive\": 141 }], 179: [function(t, H, C) {\n t(\"../internals/export\")({ target: \"Number\", stat: !0 }, { isFinite: t(\"../internals/number-is-finite\") });\n }, { \"../internals/export\": 50, \"../internals/number-is-finite\": 89 }], 180: [function(f, H, C) {\n function m(o, a, l) {\n return a === 0 ? l : a % 2 == 1 ? m(o, a - 1, l * o) : m(o * o, a / 2, l);\n }\n var y = f(\"../internals/export\"), u = f(\"../internals/to-integer\"), h = f(\"../internals/this-number-value\"), g = f(\"../internals/string-repeat\"), f = f(\"../internals/fails\"), n = 1 .toFixed, s = Math.floor;\n y({ target: \"Number\", proto: !0, forced: n && (8e-5.toFixed(3) !== \"0.000\" || 0.9.toFixed(0) !== \"1\" || 1.255.toFixed(2) !== \"1.25\" || 1000000000000000100 .toFixed(0) !== \"1000000000000000128\") || !f(function() {\n n.call({});\n }) }, { toFixed: function(j) {\n function a(E, P) {\n for (var x = -1, A = P; ++x < 6; )\n A += E * T[x], T[x] = A % 1e7, A = s(A / 1e7);\n }\n function l(E) {\n for (var P = 6, x = 0; 0 <= --P; )\n x += T[P], T[P] = s(x / E), x = x % E * 1e7;\n }\n function r() {\n for (var E, P = 6, x = \"\"; 0 <= --P; )\n x === \"\" && P !== 0 && T[P] === 0 || (E = String(T[P]), x = x === \"\" ? E : x + g.call(\"0\", 7 - E.length) + E);\n return x;\n }\n var i, c, p = h(this), j = u(j), T = [0, 0, 0, 0, 0, 0], _ = \"\", S = \"0\";\n if (j < 0 || 20 < j)\n throw RangeError(\"Incorrect fraction digits\");\n if (p != p)\n return \"NaN\";\n if (p <= -1e21 || 1e21 <= p)\n return String(p);\n if (p < 0 && (_ = \"-\", p = -p), 1e-21 < p)\n if (p = (i = function(E) {\n for (var P = 0, x = E; 4096 <= x; )\n P += 12, x /= 4096;\n for (; 2 <= x; )\n P += 1, x /= 2;\n return P;\n }(p * m(2, 69, 1)) - 69) < 0 ? p * m(2, -i, 1) : p / m(2, i, 1), p *= 4503599627370496, 0 < (i = 52 - i)) {\n for (a(0, p), c = j; 7 <= c; )\n a(1e7, 0), c -= 7;\n for (a(m(10, c, 1), 0), c = i - 1; 23 <= c; )\n l(1 << 23), c -= 23;\n l(1 << c), a(1, 1), l(2), S = r();\n } else\n a(0, p), a(1 << -i, 0), S = r() + g.call(\"0\", j);\n return S = 0 < j ? _ + ((p = S.length) <= j ? \"0.\" + g.call(\"0\", j - p) + S : S.slice(0, p - j) + \".\" + S.slice(p - j)) : _ + S;\n } });\n }, { \"../internals/export\": 50, \"../internals/fails\": 51, \"../internals/string-repeat\": 128, \"../internals/this-number-value\": 132, \"../internals/to-integer\": 136 }], 181: [function(y, H, C) {\n var m = y(\"../internals/export\"), y = y(\"../internals/object-assign\");\n m({ target: \"Object\", stat: !0, forced: Object.assign !== y }, { assign: y });\n }, { \"../internals/export\": 50, \"../internals/object-assign\": 90 }], 182: [function(t, H, C) {\n var m = t(\"../internals/export\"), y = t(\"../internals/iterate\"), u = t(\"../internals/create-property\");\n m({ target: \"Object\", stat: !0 }, { fromEntries: function(h) {\n var g = {};\n return y(h, function(f, n) {\n u(g, f, n);\n }, void 0, !0), g;\n } });\n }, { \"../internals/create-property\": 40, \"../internals/export\": 50, \"../internals/iterate\": 78 }], 183: [function(h, H, C) {\n var m = h(\"../internals/export\"), g = h(\"../internals/fails\"), y = h(\"../internals/to-indexed-object\"), u = h(\"../internals/object-get-own-property-descriptor\").f, h = h(\"../internals/descriptors\"), g = g(function() {\n u(1);\n });\n m({ target: \"Object\", stat: !0, forced: !h || g, sham: !h }, { getOwnPropertyDescriptor: function(f, n) {\n return u(y(f), n);\n } });\n }, { \"../internals/descriptors\": 43, \"../internals/export\": 50, \"../internals/fails\": 51, \"../internals/object-get-own-property-descriptor\": 94, \"../internals/to-indexed-object\": 135 }], 184: [function(u, H, C) {\n var m = u(\"../internals/export\"), y = u(\"../internals/fails\"), u = u(\"../internals/object-get-own-property-names-external\").f;\n m({ target: \"Object\", stat: !0, forced: y(function() {\n return !Object.getOwnPropertyNames(1);\n }) }, { getOwnPropertyNames: u });\n }, { \"../internals/export\": 50, \"../internals/fails\": 51, \"../internals/object-get-own-property-names-external\": 95 }], 185: [function(g, H, C) {\n var m = g(\"../internals/export\"), y = g(\"../internals/fails\"), u = g(\"../internals/to-object\"), h = g(\"../internals/object-get-prototype-of\"), g = g(\"../internals/correct-prototype-getter\");\n m({ target: \"Object\", stat: !0, forced: y(function() {\n h(1);\n }), sham: !g }, { getPrototypeOf: function(f) {\n return h(u(f));\n } });\n }, { \"../internals/correct-prototype-getter\": 35, \"../internals/export\": 50, \"../internals/fails\": 51, \"../internals/object-get-prototype-of\": 98, \"../internals/to-object\": 138 }], 186: [function(t, H, C) {\n var m = t(\"../internals/export\"), y = t(\"../internals/to-object\"), u = t(\"../internals/object-keys\");\n m({ target: \"Object\", stat: !0, forced: t(\"../internals/fails\")(function() {\n u(1);\n }) }, { keys: function(h) {\n return u(y(h));\n } });\n }, { \"../internals/export\": 50, \"../internals/fails\": 51, \"../internals/object-keys\": 100, \"../internals/to-object\": 138 }], 187: [function(u, H, C) {\n var m = u(\"../internals/to-string-tag-support\"), y = u(\"../internals/redefine\"), u = u(\"../internals/object-to-string\");\n m || y(Object.prototype, \"toString\", u, { unsafe: !0 });\n }, { \"../internals/object-to-string\": 103, \"../internals/redefine\": 109, \"../internals/to-string-tag-support\": 142 }], 188: [function(xe, H, C) {\n var m, y, u, h, g = xe(\"../internals/export\"), f = xe(\"../internals/is-pure\"), n = xe(\"../internals/global\"), s = xe(\"../internals/get-built-in\"), o = xe(\"../internals/native-promise-constructor\"), a = xe(\"../internals/redefine\"), l = xe(\"../internals/redefine-all\"), r = xe(\"../internals/set-to-string-tag\"), i = xe(\"../internals/set-species\"), c = xe(\"../internals/is-object\"), p = xe(\"../internals/a-function\"), j = xe(\"../internals/an-instance\"), T = xe(\"../internals/classof-raw\"), _ = xe(\"../internals/inspect-source\"), S = xe(\"../internals/iterate\"), E = xe(\"../internals/check-correctness-of-iteration\"), P = xe(\"../internals/species-constructor\"), x = xe(\"../internals/task\").set, A = xe(\"../internals/microtask\"), M = xe(\"../internals/promise-resolve\"), R = xe(\"../internals/host-report-errors\"), L = xe(\"../internals/new-promise-capability\"), F = xe(\"../internals/perform\"), V = xe(\"../internals/internal-state\"), G = xe(\"../internals/is-forced\"), De = xe(\"../internals/well-known-symbol\"), U = xe(\"../internals/engine-v8-version\"), W = De(\"species\"), X = \"Promise\", ne = V.get, b = V.set, O = V.getterFor(X), D = o, B = n.TypeError, Y = n.document, K = n.process, te = s(\"fetch\"), ce = L.f, re = ce, ue = T(K) == \"process\", le = !!(Y && Y.createEvent && n.dispatchEvent), J = \"unhandledrejection\", ae = \"rejectionhandled\", he = 1, _e = 2, fe = 1, ge = 2, xe = G(X, function() {\n var Re, we;\n return _(D) === String(D) && (U === 66 || !ue && typeof PromiseRejectionEvent != \"function\") ? !0 : !(!f || D.prototype.finally) || !(51 <= U && /native code/.test(D)) && (we = function(Z) {\n Z(function() {\n }, function() {\n });\n }, ((Re = D.resolve(1)).constructor = {})[W] = we, !(Re.then(function() {\n }) instanceof we));\n }), De = xe || !E(function(Re) {\n D.all(Re).catch(function() {\n });\n }), Me = function(Re) {\n var we;\n return !(!c(Re) || typeof (we = Re.then) != \"function\") && we;\n }, Qe = function(Re, we, Z) {\n var $;\n we.notified || (we.notified = !0, $ = we.reactions, A(function() {\n for (var q, ee, pe = we.value, je = we.state == he, Ce = 0; $.length > Ce; ) {\n var Fe, Ne, Be, We = $[Ce++], st = je ? We.ok : We.fail, nt = We.resolve, Ke = We.reject, at = We.domain;\n try {\n st ? (je || (we.rejection === ge && function(ot, bt) {\n x.call(n, function() {\n ue ? K.emit(\"rejectionHandled\", ot) : ze(ae, ot, bt.value);\n });\n }(Re, we), we.rejection = fe), st === !0 ? Fe = pe : (at && at.enter(), Fe = st(pe), at && (at.exit(), Be = !0)), Fe === We.promise ? Ke(B(\"Promise-chain cycle\")) : (Ne = Me(Fe)) ? Ne.call(Fe, nt, Ke) : nt(Fe)) : Ke(pe);\n } catch (ot) {\n at && !Be && at.exit(), Ke(ot);\n }\n }\n we.reactions = [], we.notified = !1, Z && !we.rejection && (q = Re, ee = we, x.call(n, function() {\n var ot = ee.value, bt = Ve(ee);\n if (bt && (bt = F(function() {\n ue ? K.emit(\"unhandledRejection\", ot, q) : ze(J, q, ot);\n }), ee.rejection = ue || Ve(ee) ? ge : fe, bt.error))\n throw bt.value;\n }));\n }));\n }, ze = function(Re, we, Z) {\n var $;\n le ? (($ = Y.createEvent(\"Event\")).promise = we, $.reason = Z, $.initEvent(Re, !1, !0), n.dispatchEvent($)) : $ = { promise: we, reason: Z }, (we = n[\"on\" + Re]) ? we($) : Re === J && R(\"Unhandled promise rejection\", Z);\n }, Ve = function(Re) {\n return Re.rejection !== fe && !Re.parent;\n }, Xe = function(Re, we, Z, $) {\n return function(q) {\n Re(we, Z, q, $);\n };\n }, He = function(Re, we, Z, $) {\n we.done || (we.done = !0, (we = $ || we).value = Z, we.state = _e, Qe(Re, we, !0));\n }, ve = function(Re, we, Z, $) {\n if (!we.done) {\n we.done = !0, $ && (we = $);\n try {\n if (Re === Z)\n throw B(\"Promise can't be resolved itself\");\n var q = Me(Z);\n q ? A(function() {\n var ee = { done: !1 };\n try {\n q.call(Z, Xe(ve, Re, ee, we), Xe(He, Re, ee, we));\n } catch (pe) {\n He(Re, ee, pe, we);\n }\n }) : (we.value = Z, we.state = he, Qe(Re, we, !1));\n } catch (ee) {\n He(Re, { done: !1 }, ee, we);\n }\n }\n };\n xe && (D = function(Re) {\n j(this, D, X), p(Re), m.call(this);\n var we = ne(this);\n try {\n Re(Xe(ve, this, we), Xe(He, this, we));\n } catch (Z) {\n He(this, we, Z);\n }\n }, (m = function(Re) {\n b(this, { type: X, done: !1, notified: !1, parent: !1, reactions: [], rejection: !1, state: 0, value: void 0 });\n }).prototype = l(D.prototype, { then: function(Re, we) {\n var Z = O(this), $ = ce(P(this, D));\n return $.ok = typeof Re != \"function\" || Re, $.fail = typeof we == \"function\" && we, $.domain = ue ? K.domain : void 0, Z.parent = !0, Z.reactions.push($), Z.state != 0 && Qe(this, Z, !1), $.promise;\n }, catch: function(Re) {\n return this.then(void 0, Re);\n } }), y = function() {\n var Re = new m(), we = ne(Re);\n this.promise = Re, this.resolve = Xe(ve, Re, we), this.reject = Xe(He, Re, we);\n }, L.f = ce = function(Re) {\n return Re === D || Re === u ? new y() : re(Re);\n }, f || typeof o != \"function\" || (h = o.prototype.then, a(o.prototype, \"then\", function(Re, we) {\n var Z = this;\n return new D(function($, q) {\n h.call(Z, $, q);\n }).then(Re, we);\n }, { unsafe: !0 }), typeof te == \"function\" && g({ global: !0, enumerable: !0, forced: !0 }, { fetch: function(Re) {\n return M(D, te.apply(n, arguments));\n } }))), g({ global: !0, wrap: !0, forced: xe }, { Promise: D }), r(D, X, !1, !0), i(X), u = s(X), g({ target: X, stat: !0, forced: xe }, { reject: function(Re) {\n var we = ce(this);\n return we.reject.call(void 0, Re), we.promise;\n } }), g({ target: X, stat: !0, forced: f || xe }, { resolve: function(Re) {\n return M(f && this === u ? D : this, Re);\n } }), g({ target: X, stat: !0, forced: De }, { all: function(Re) {\n var we = this, Z = ce(we), $ = Z.resolve, q = Z.reject, ee = F(function() {\n var pe = p(we.resolve), je = [], Ce = 0, Fe = 1;\n S(Re, function(Ne) {\n var Be = Ce++, We = !1;\n je.push(void 0), Fe++, pe.call(we, Ne).then(function(st) {\n We || (We = !0, je[Be] = st, --Fe || $(je));\n }, q);\n }), --Fe || $(je);\n });\n return ee.error && q(ee.value), Z.promise;\n }, race: function(Re) {\n var we = this, Z = ce(we), $ = Z.reject, q = F(function() {\n var ee = p(we.resolve);\n S(Re, function(pe) {\n ee.call(we, pe).then(Z.resolve, $);\n });\n });\n return q.error && $(q.value), Z.promise;\n } });\n }, { \"../internals/a-function\": 5, \"../internals/an-instance\": 9, \"../internals/check-correctness-of-iteration\": 27, \"../internals/classof-raw\": 28, \"../internals/engine-v8-version\": 48, \"../internals/export\": 50, \"../internals/get-built-in\": 57, \"../internals/global\": 60, \"../internals/host-report-errors\": 63, \"../internals/inspect-source\": 69, \"../internals/internal-state\": 71, \"../internals/is-forced\": 74, \"../internals/is-object\": 75, \"../internals/is-pure\": 76, \"../internals/iterate\": 78, \"../internals/microtask\": 82, \"../internals/native-promise-constructor\": 83, \"../internals/new-promise-capability\": 87, \"../internals/perform\": 106, \"../internals/promise-resolve\": 107, \"../internals/redefine\": 109, \"../internals/redefine-all\": 108, \"../internals/set-species\": 117, \"../internals/set-to-string-tag\": 118, \"../internals/species-constructor\": 122, \"../internals/task\": 131, \"../internals/well-known-symbol\": 149 }], 189: [function(n, H, C) {\n var m = n(\"../internals/export\"), l = n(\"../internals/get-built-in\"), y = n(\"../internals/a-function\"), u = n(\"../internals/an-object\"), h = n(\"../internals/is-object\"), g = n(\"../internals/object-create\"), f = n(\"../internals/function-bind\"), n = n(\"../internals/fails\"), s = l(\"Reflect\", \"construct\"), o = n(function() {\n function r() {\n }\n return !(s(function() {\n }, [], r) instanceof r);\n }), a = !n(function() {\n s(function() {\n });\n }), l = o || a;\n m({ target: \"Reflect\", stat: !0, forced: l, sham: l }, { construct: function(r, i) {\n y(r), u(i);\n var c = arguments.length < 3 ? r : y(arguments[2]);\n if (a && !o)\n return s(r, i, c);\n if (r == c) {\n switch (i.length) {\n case 0:\n return new r();\n case 1:\n return new r(i[0]);\n case 2:\n return new r(i[0], i[1]);\n case 3:\n return new r(i[0], i[1], i[2]);\n case 4:\n return new r(i[0], i[1], i[2], i[3]);\n }\n var p = [null];\n return p.push.apply(p, i), new (f.apply(r, p))();\n }\n return p = c.prototype, c = g(h(p) ? p : Object.prototype), p = Function.apply.call(r, c, i), h(p) ? p : c;\n } });\n }, { \"../internals/a-function\": 5, \"../internals/an-object\": 10, \"../internals/export\": 50, \"../internals/fails\": 51, \"../internals/function-bind\": 56, \"../internals/get-built-in\": 57, \"../internals/is-object\": 75, \"../internals/object-create\": 91 }], 190: [function(t, H, C) {\n var m = t(\"../internals/export\"), y = t(\"../internals/is-object\"), u = t(\"../internals/an-object\"), h = t(\"../internals/has\"), g = t(\"../internals/object-get-own-property-descriptor\"), f = t(\"../internals/object-get-prototype-of\");\n m({ target: \"Reflect\", stat: !0 }, { get: function n(s, o) {\n var a, l = arguments.length < 3 ? s : arguments[2];\n return u(s) === l ? s[o] : (a = g.f(s, o)) ? h(a, \"value\") ? a.value : a.get === void 0 ? void 0 : a.get.call(l) : y(a = f(s)) ? n(a, o, l) : void 0;\n } });\n }, { \"../internals/an-object\": 10, \"../internals/export\": 50, \"../internals/has\": 61, \"../internals/is-object\": 75, \"../internals/object-get-own-property-descriptor\": 94, \"../internals/object-get-prototype-of\": 98 }], 191: [function(t, H, C) {\n var m = t(\"../internals/descriptors\"), y = t(\"../internals/global\"), u = t(\"../internals/is-forced\"), h = t(\"../internals/inherit-if-required\"), g = t(\"../internals/object-define-property\").f, f = t(\"../internals/object-get-own-property-names\").f, n = t(\"../internals/is-regexp\"), s = t(\"../internals/regexp-flags\"), o = t(\"../internals/regexp-sticky-helpers\"), a = t(\"../internals/redefine\"), l = t(\"../internals/fails\"), r = t(\"../internals/internal-state\").set, i = t(\"../internals/set-species\"), c = t(\"../internals/well-known-symbol\")(\"match\"), p = y.RegExp, j = p.prototype, T = /a/g, _ = /a/g, S = new p(T) !== T, E = o.UNSUPPORTED_Y;\n if (m && u(\"RegExp\", !S || E || l(function() {\n return _[c] = !1, p(T) != T || p(_) == _ || p(T, \"i\") != \"/a/i\";\n }))) {\n for (var P = function(M, R) {\n var L, F = this instanceof P, V = n(M), G = R === void 0;\n return !F && V && M.constructor === P && G ? M : (S ? V && !G && (M = M.source) : M instanceof P && (G && (R = s.call(M)), M = M.source), E && (L = !!R && -1 < R.indexOf(\"y\")) && (R = R.replace(/y/g, \"\")), V = h(S ? new p(M, R) : p(M, R), F ? this : j, P), E && L && r(V, { sticky: L }), V);\n }, x = f(p), A = 0; x.length > A; )\n (function(M) {\n M in P || g(P, M, { configurable: !0, get: function() {\n return p[M];\n }, set: function(R) {\n p[M] = R;\n } });\n })(x[A++]);\n (j.constructor = P).prototype = j, a(y, \"RegExp\", P);\n }\n i(\"RegExp\");\n }, { \"../internals/descriptors\": 43, \"../internals/fails\": 51, \"../internals/global\": 60, \"../internals/inherit-if-required\": 68, \"../internals/internal-state\": 71, \"../internals/is-forced\": 74, \"../internals/is-regexp\": 77, \"../internals/object-define-property\": 93, \"../internals/object-get-own-property-names\": 96, \"../internals/redefine\": 109, \"../internals/regexp-flags\": 112, \"../internals/regexp-sticky-helpers\": 113, \"../internals/set-species\": 117, \"../internals/well-known-symbol\": 149 }], 192: [function(y, H, C) {\n var m = y(\"../internals/export\"), y = y(\"../internals/regexp-exec\");\n m({ target: \"RegExp\", proto: !0, forced: /./.exec !== y }, { exec: y });\n }, { \"../internals/export\": 50, \"../internals/regexp-exec\": 111 }], 193: [function(h, H, C) {\n var m = h(\"../internals/redefine\"), y = h(\"../internals/an-object\"), n = h(\"../internals/fails\"), u = h(\"../internals/regexp-flags\"), h = \"toString\", g = RegExp.prototype, f = g[h], n = n(function() {\n return f.call({ source: \"a\", flags: \"b\" }) != \"/a/b\";\n }), s = f.name != h;\n (n || s) && m(RegExp.prototype, h, function() {\n var o = y(this), a = String(o.source), l = o.flags;\n return \"/\" + a + \"/\" + String(l === void 0 && o instanceof RegExp && !(\"flags\" in g) ? u.call(o) : l);\n }, { unsafe: !0 });\n }, { \"../internals/an-object\": 10, \"../internals/fails\": 51, \"../internals/redefine\": 109, \"../internals/regexp-flags\": 112 }], 194: [function(y, H, C) {\n var m = y(\"../internals/collection\"), y = y(\"../internals/collection-strong\");\n H.exports = m(\"Set\", function(u) {\n return function() {\n return u(this, arguments.length ? arguments[0] : void 0);\n };\n }, y);\n }, { \"../internals/collection\": 32, \"../internals/collection-strong\": 30 }], 195: [function(f, H, C) {\n var m = f(\"../internals/export\"), y = f(\"../internals/object-get-own-property-descriptor\").f, u = f(\"../internals/to-length\"), h = f(\"../internals/not-a-regexp\"), g = f(\"../internals/require-object-coercible\"), o = f(\"../internals/correct-is-regexp-logic\"), f = f(\"../internals/is-pure\"), n = \"\".endsWith, s = Math.min, o = o(\"endsWith\");\n m({ target: \"String\", proto: !0, forced: !!(f || o || !(m = y(String.prototype, \"endsWith\")) || m.writable) && !o }, { endsWith: function(a) {\n var l = String(g(this)), r = (h(a), 1 < arguments.length ? arguments[1] : void 0), i = u(l.length), r = r === void 0 ? i : s(u(r), i), i = String(a);\n return n ? n.call(l, i, r) : l.slice(r - i.length, r) === i;\n } });\n }, { \"../internals/correct-is-regexp-logic\": 34, \"../internals/export\": 50, \"../internals/is-pure\": 76, \"../internals/not-a-regexp\": 88, \"../internals/object-get-own-property-descriptor\": 94, \"../internals/require-object-coercible\": 114, \"../internals/to-length\": 137 }], 196: [function(t, H, C) {\n var m = t(\"../internals/export\"), y = t(\"../internals/not-a-regexp\"), u = t(\"../internals/require-object-coercible\");\n m({ target: \"String\", proto: !0, forced: !t(\"../internals/correct-is-regexp-logic\")(\"includes\") }, { includes: function(h) {\n return !!~String(u(this)).indexOf(y(h), 1 < arguments.length ? arguments[1] : void 0);\n } });\n }, { \"../internals/correct-is-regexp-logic\": 34, \"../internals/export\": 50, \"../internals/not-a-regexp\": 88, \"../internals/require-object-coercible\": 114 }], 197: [function(u, H, C) {\n var m = u(\"../internals/string-multibyte\").charAt, y = u(\"../internals/internal-state\"), u = u(\"../internals/define-iterator\"), h = \"String Iterator\", g = y.set, f = y.getterFor(h);\n u(String, \"String\", function(n) {\n g(this, { type: h, string: String(n), index: 0 });\n }, function() {\n var n = f(this), s = n.string, o = n.index;\n return o >= s.length ? { value: void 0, done: !0 } : (s = m(s, o), n.index += s.length, { value: s, done: !1 });\n });\n }, { \"../internals/define-iterator\": 41, \"../internals/internal-state\": 71, \"../internals/string-multibyte\": 124 }], 198: [function(t, H, C) {\n var m = t(\"../internals/fix-regexp-well-known-symbol-logic\"), y = t(\"../internals/an-object\"), u = t(\"../internals/to-length\"), h = t(\"../internals/require-object-coercible\"), g = t(\"../internals/advance-string-index\"), f = t(\"../internals/regexp-exec-abstract\");\n m(\"match\", 1, function(n, s, o) {\n return [function(a) {\n var l = h(this), r = a == null ? void 0 : a[n];\n return r !== void 0 ? r.call(a, l) : new RegExp(a)[n](String(l));\n }, function(a) {\n var l = o(s, a, this);\n if (l.done)\n return l.value;\n var r = y(a), i = String(this);\n if (!r.global)\n return f(r, i);\n for (var c = r.unicode, p = [], j = r.lastIndex = 0; (T = f(r, i)) !== null; ) {\n var T = String(T[0]);\n (p[j] = T) === \"\" && (r.lastIndex = g(i, u(r.lastIndex), c)), j++;\n }\n return j === 0 ? null : p;\n }];\n });\n }, { \"../internals/advance-string-index\": 8, \"../internals/an-object\": 10, \"../internals/fix-regexp-well-known-symbol-logic\": 52, \"../internals/regexp-exec-abstract\": 110, \"../internals/require-object-coercible\": 114, \"../internals/to-length\": 137 }], 199: [function(t, H, C) {\n var m = t(\"../internals/export\"), y = t(\"../internals/string-pad\").start;\n m({ target: \"String\", proto: !0, forced: t(\"../internals/string-pad-webkit-bug\") }, { padStart: function(u) {\n return y(this, u, 1 < arguments.length ? arguments[1] : void 0);\n } });\n }, { \"../internals/export\": 50, \"../internals/string-pad\": 126, \"../internals/string-pad-webkit-bug\": 125 }], 200: [function(t, H, C) {\n t(\"../internals/export\")({ target: \"String\", proto: !0 }, { repeat: t(\"../internals/string-repeat\") });\n }, { \"../internals/export\": 50, \"../internals/string-repeat\": 128 }], 201: [function(t, H, C) {\n var m = t(\"../internals/fix-regexp-well-known-symbol-logic\"), y = t(\"../internals/an-object\"), u = t(\"../internals/to-object\"), h = t(\"../internals/to-length\"), g = t(\"../internals/to-integer\"), f = t(\"../internals/require-object-coercible\"), n = t(\"../internals/advance-string-index\"), s = t(\"../internals/regexp-exec-abstract\"), o = Math.max, a = Math.min, l = Math.floor, r = /\\$([$&'`]|\\d\\d?|<[^>]*>)/g, i = /\\$([$&'`]|\\d\\d?)/g;\n m(\"replace\", 2, function(c, p, j, T) {\n var _ = T.REGEXP_REPLACE_SUBSTITUTES_UNDEFINED_CAPTURE, S = T.REPLACE_KEEPS_$0, E = _ ? \"$\" : \"$0\";\n return [function(P, x) {\n var A = f(this), M = P == null ? void 0 : P[c];\n return M !== void 0 ? M.call(P, A, x) : p.call(String(A), P, x);\n }, function(P, x) {\n if (!_ && S || typeof x == \"string\" && x.indexOf(E) === -1) {\n var A = j(p, P, this, x);\n if (A.done)\n return A.value;\n }\n for (var M, R = y(P), L = String(this), F = typeof x == \"function\", V = (F || (x = String(x)), R.global), G = (V && (M = R.unicode, R.lastIndex = 0), []); (b = s(R, L)) !== null && (G.push(b), V); )\n String(b[0]) === \"\" && (R.lastIndex = n(L, h(R.lastIndex), M));\n for (var U, W = \"\", X = 0, ne = 0; ne < G.length; ne++) {\n for (var b = G[ne], O = String(b[0]), D = o(a(g(b.index), L.length), 0), B = [], Y = 1; Y < b.length; Y++)\n B.push((U = b[Y]) === void 0 ? U : String(U));\n var K = b.groups, te = F ? (te = [O].concat(B, D, L), K !== void 0 && te.push(K), String(x.apply(void 0, te))) : function(ce, re, ue, le, J, ae) {\n var he = ue + ce.length, _e = le.length, fe = i;\n return J !== void 0 && (J = u(J), fe = r), p.call(ae, fe, function(ge, xe) {\n var De;\n switch (xe.charAt(0)) {\n case \"$\":\n return \"$\";\n case \"&\":\n return ce;\n case \"`\":\n return re.slice(0, ue);\n case \"'\":\n return re.slice(he);\n case \"<\":\n De = J[xe.slice(1, -1)];\n break;\n default:\n var Me, Qe = +xe;\n if (Qe == 0)\n return ge;\n if (_e < Qe)\n return (Me = l(Qe / 10)) !== 0 && Me <= _e ? le[Me - 1] === void 0 ? xe.charAt(1) : le[Me - 1] + xe.charAt(1) : ge;\n De = le[Qe - 1];\n }\n return De === void 0 ? \"\" : De;\n });\n }(O, L, D, B, K, x);\n X <= D && (W += L.slice(X, D) + te, X = D + O.length);\n }\n return W + L.slice(X);\n }];\n });\n }, { \"../internals/advance-string-index\": 8, \"../internals/an-object\": 10, \"../internals/fix-regexp-well-known-symbol-logic\": 52, \"../internals/regexp-exec-abstract\": 110, \"../internals/require-object-coercible\": 114, \"../internals/to-integer\": 136, \"../internals/to-length\": 137, \"../internals/to-object\": 138 }], 202: [function(t, H, C) {\n var m = t(\"../internals/fix-regexp-well-known-symbol-logic\"), y = t(\"../internals/an-object\"), u = t(\"../internals/require-object-coercible\"), h = t(\"../internals/same-value\"), g = t(\"../internals/regexp-exec-abstract\");\n m(\"search\", 1, function(f, n, s) {\n return [function(o) {\n var a = u(this), l = o == null ? void 0 : o[f];\n return l !== void 0 ? l.call(o, a) : new RegExp(o)[f](String(a));\n }, function(o) {\n var a, l = s(n, o, this);\n return l.done ? l.value : (l = y(o), o = String(this), a = l.lastIndex, h(a, 0) || (l.lastIndex = 0), o = g(l, o), h(l.lastIndex, a) || (l.lastIndex = a), o === null ? -1 : o.index);\n }];\n });\n }, { \"../internals/an-object\": 10, \"../internals/fix-regexp-well-known-symbol-logic\": 52, \"../internals/regexp-exec-abstract\": 110, \"../internals/require-object-coercible\": 114, \"../internals/same-value\": 115 }], 203: [function(a, H, C) {\n var m = a(\"../internals/fix-regexp-well-known-symbol-logic\"), y = a(\"../internals/is-regexp\"), u = a(\"../internals/an-object\"), h = a(\"../internals/require-object-coercible\"), g = a(\"../internals/species-constructor\"), f = a(\"../internals/advance-string-index\"), n = a(\"../internals/to-length\"), s = a(\"../internals/regexp-exec-abstract\"), o = a(\"../internals/regexp-exec\"), a = a(\"../internals/fails\"), l = [].push, r = Math.min, i = 4294967295, c = !a(function() {\n return !RegExp(i, \"y\");\n });\n m(\"split\", 2, function(p, j, T) {\n var _ = \"abbc\".split(/(b)*/)[1] == \"c\" || \"test\".split(/(?:)/, -1).length != 4 || \"ab\".split(/(?:ab)*/).length != 2 || \".\".split(/(.?)(.?)/).length != 4 || 1 < \".\".split(/()()/).length || \"\".split(/.?/).length ? function(S, E) {\n var P = String(h(this)), x = E === void 0 ? i : E >>> 0;\n if (x == 0)\n return [];\n if (S === void 0)\n return [P];\n if (!y(S))\n return j.call(P, S, x);\n for (var A, M, R, L = [], E = (S.ignoreCase ? \"i\" : \"\") + (S.multiline ? \"m\" : \"\") + (S.unicode ? \"u\" : \"\") + (S.sticky ? \"y\" : \"\"), F = 0, V = new RegExp(S.source, E + \"g\"); (A = o.call(V, P)) && !(F < (M = V.lastIndex) && (L.push(P.slice(F, A.index)), 1 < A.length && A.index < P.length && l.apply(L, A.slice(1)), R = A[0].length, F = M, L.length >= x)); )\n V.lastIndex === A.index && V.lastIndex++;\n return F === P.length ? !R && V.test(\"\") || L.push(\"\") : L.push(P.slice(F)), L.length > x ? L.slice(0, x) : L;\n } : \"0\".split(void 0, 0).length ? function(S, E) {\n return S === void 0 && E === 0 ? [] : j.call(this, S, E);\n } : j;\n return [function(S, E) {\n var P = h(this), x = S == null ? void 0 : S[p];\n return x !== void 0 ? x.call(S, P, E) : _.call(String(P), S, E);\n }, function(A, E) {\n var P = T(_, A, this, E, _ !== j);\n if (P.done)\n return P.value;\n var P = u(A), x = String(this), A = g(P, RegExp), M = P.unicode, R = (P.ignoreCase ? \"i\" : \"\") + (P.multiline ? \"m\" : \"\") + (P.unicode ? \"u\" : \"\") + (c ? \"y\" : \"g\"), L = new A(c ? P : \"^(?:\" + P.source + \")\", R), F = E === void 0 ? i : E >>> 0;\n if (F == 0)\n return [];\n if (x.length === 0)\n return s(L, x) === null ? [x] : [];\n for (var V = 0, G = 0, U = []; G < x.length; ) {\n L.lastIndex = c ? G : 0;\n var W, X = s(L, c ? x : x.slice(G));\n if (X === null || (W = r(n(L.lastIndex + (c ? 0 : G)), x.length)) === V)\n G = f(x, G, M);\n else {\n if (U.push(x.slice(V, G)), U.length === F)\n return U;\n for (var ne = 1; ne <= X.length - 1; ne++)\n if (U.push(X[ne]), U.length === F)\n return U;\n G = V = W;\n }\n }\n return U.push(x.slice(V)), U;\n }];\n }, !c);\n }, { \"../internals/advance-string-index\": 8, \"../internals/an-object\": 10, \"../internals/fails\": 51, \"../internals/fix-regexp-well-known-symbol-logic\": 52, \"../internals/is-regexp\": 77, \"../internals/regexp-exec\": 111, \"../internals/regexp-exec-abstract\": 110, \"../internals/require-object-coercible\": 114, \"../internals/species-constructor\": 122, \"../internals/to-length\": 137 }], 204: [function(f, H, C) {\n var m = f(\"../internals/export\"), y = f(\"../internals/object-get-own-property-descriptor\").f, u = f(\"../internals/to-length\"), h = f(\"../internals/not-a-regexp\"), g = f(\"../internals/require-object-coercible\"), o = f(\"../internals/correct-is-regexp-logic\"), f = f(\"../internals/is-pure\"), n = \"\".startsWith, s = Math.min, o = o(\"startsWith\");\n m({ target: \"String\", proto: !0, forced: !!(f || o || !(m = y(String.prototype, \"startsWith\")) || m.writable) && !o }, { startsWith: function(i) {\n var l = String(g(this)), r = (h(i), u(s(1 < arguments.length ? arguments[1] : void 0, l.length))), i = String(i);\n return n ? n.call(l, i, r) : l.slice(r, r + i.length) === i;\n } });\n }, { \"../internals/correct-is-regexp-logic\": 34, \"../internals/export\": 50, \"../internals/is-pure\": 76, \"../internals/not-a-regexp\": 88, \"../internals/object-get-own-property-descriptor\": 94, \"../internals/require-object-coercible\": 114, \"../internals/to-length\": 137 }], 205: [function(t, H, C) {\n var m = t(\"../internals/export\"), y = t(\"../internals/create-html\");\n m({ target: \"String\", proto: !0, forced: t(\"../internals/string-html-forced\")(\"sub\") }, { sub: function() {\n return y(this, \"sub\", \"\", \"\");\n } });\n }, { \"../internals/create-html\": 36, \"../internals/export\": 50, \"../internals/string-html-forced\": 123 }], 206: [function(t, H, C) {\n var m = t(\"../internals/export\"), y = t(\"../internals/string-trim\").trim;\n m({ target: \"String\", proto: !0, forced: t(\"../internals/string-trim-forced\")(\"trim\") }, { trim: function() {\n return y(this);\n } });\n }, { \"../internals/export\": 50, \"../internals/string-trim\": 130, \"../internals/string-trim-forced\": 129 }], 207: [function(r, H, C) {\n var m, y, u, h, g, f = r(\"../internals/export\"), n = r(\"../internals/descriptors\"), s = r(\"../internals/global\"), o = r(\"../internals/has\"), a = r(\"../internals/is-object\"), l = r(\"../internals/object-define-property\").f, r = r(\"../internals/copy-constructor-properties\"), i = s.Symbol;\n !n || typeof i != \"function\" || \"description\" in i.prototype && i().description === void 0 || (m = {}, r(y = function() {\n var c = arguments.length < 1 || arguments[0] === void 0 ? void 0 : String(arguments[0]), p = this instanceof y ? new i(c) : c === void 0 ? i() : i(c);\n return c === \"\" && (m[p] = !0), p;\n }, i), (s = y.prototype = i.prototype).constructor = y, u = s.toString, h = String(i(\"test\")) == \"Symbol(test)\", g = /^Symbol\\((.*)\\)[^)]+$/, l(s, \"description\", { configurable: !0, get: function() {\n var c = a(this) ? this.valueOf() : this, p = u.call(c);\n return o(m, c) ? \"\" : (c = h ? p.slice(7, -1) : p.replace(g, \"$1\")) === \"\" ? void 0 : c;\n } }), f({ global: !0, forced: !0 }, { Symbol: y }));\n }, { \"../internals/copy-constructor-properties\": 33, \"../internals/descriptors\": 43, \"../internals/export\": 50, \"../internals/global\": 60, \"../internals/has\": 61, \"../internals/is-object\": 75, \"../internals/object-define-property\": 93 }], 208: [function(t, H, C) {\n t(\"../internals/define-well-known-symbol\")(\"iterator\");\n }, { \"../internals/define-well-known-symbol\": 42 }], 209: [function(re, H, C) {\n function m(q, ee) {\n var pe = De[q] = P(ae[ce]);\n return ue(pe, { type: te, tag: q, description: ee }), o || (pe.description = ee), pe;\n }\n function y(q, je) {\n j(q);\n var pe = _(je), je = x(pe).concat($(pe));\n return Y(je, function(Ce) {\n o && !Z.call(pe, Ce) || we(q, Ce, pe[Ce]);\n }), q;\n }\n function u(je, Ce) {\n var pe, je = _(je), Ce = S(Ce, !0);\n if (je !== J || !i(De, Ce) || i(Me, Ce))\n return !(pe = _e(je, Ce)) || !i(De, Ce) || i(je, K) && je[K][Ce] || (pe.enumerable = !0), pe;\n }\n function h(ee) {\n var ee = ge(_(ee)), pe = [];\n return Y(ee, function(je) {\n i(De, je) || i(X, je) || pe.push(je);\n }), pe;\n }\n var g = re(\"../internals/export\"), f = re(\"../internals/global\"), n = re(\"../internals/get-built-in\"), s = re(\"../internals/is-pure\"), o = re(\"../internals/descriptors\"), a = re(\"../internals/native-symbol\"), l = re(\"../internals/use-symbol-as-uid\"), r = re(\"../internals/fails\"), i = re(\"../internals/has\"), c = re(\"../internals/is-array\"), p = re(\"../internals/is-object\"), j = re(\"../internals/an-object\"), T = re(\"../internals/to-object\"), _ = re(\"../internals/to-indexed-object\"), S = re(\"../internals/to-primitive\"), E = re(\"../internals/create-property-descriptor\"), P = re(\"../internals/object-create\"), x = re(\"../internals/object-keys\"), A = re(\"../internals/object-get-own-property-names\"), M = re(\"../internals/object-get-own-property-names-external\"), R = re(\"../internals/object-get-own-property-symbols\"), L = re(\"../internals/object-get-own-property-descriptor\"), F = re(\"../internals/object-define-property\"), V = re(\"../internals/object-property-is-enumerable\"), G = re(\"../internals/create-non-enumerable-property\"), U = re(\"../internals/redefine\"), W = re(\"../internals/shared\"), Ve = re(\"../internals/shared-key\"), X = re(\"../internals/hidden-keys\"), ne = re(\"../internals/uid\"), b = re(\"../internals/well-known-symbol\"), O = re(\"../internals/well-known-symbol-wrapped\"), D = re(\"../internals/define-well-known-symbol\"), B = re(\"../internals/set-to-string-tag\"), Xe = re(\"../internals/internal-state\"), Y = re(\"../internals/array-iteration\").forEach, K = Ve(\"hidden\"), te = \"Symbol\", ce = \"prototype\", re = b(\"toPrimitive\"), ue = Xe.set, le = Xe.getterFor(te), J = Object[ce], ae = f.Symbol, he = n(\"JSON\", \"stringify\"), _e = L.f, fe = F.f, ge = M.f, xe = V.f, De = W(\"symbols\"), Me = W(\"op-symbols\"), Qe = W(\"string-to-symbol-registry\"), ze = W(\"symbol-to-string-registry\"), Ve = W(\"wks\"), Xe = f.QObject, He = !Xe || !Xe[ce] || !Xe[ce].findChild, ve = o && r(function() {\n return P(fe({}, \"a\", { get: function() {\n return fe(this, \"a\", { value: 7 }).a;\n } })).a != 7;\n }) ? function(q, ee, pe) {\n var je = _e(J, ee);\n je && delete J[ee], fe(q, ee, pe), je && q !== J && fe(J, ee, je);\n } : fe, Re = l ? function(q) {\n return typeof q == \"symbol\";\n } : function(q) {\n return Object(q) instanceof ae;\n }, we = function(q, ee, pe) {\n return q === J && we(Me, ee, pe), j(q), ee = S(ee, !0), j(pe), (i(De, ee) ? (pe.enumerable ? (i(q, K) && q[K][ee] && (q[K][ee] = !1), pe = P(pe, { enumerable: E(0, !1) })) : (i(q, K) || fe(q, K, E(1, {})), q[K][ee] = !0), ve) : fe)(q, ee, pe);\n }, Z = function(ee) {\n var ee = S(ee, !0), pe = xe.call(this, ee);\n return !(this === J && i(De, ee) && !i(Me, ee)) && (!(pe || !i(this, ee) || !i(De, ee) || i(this, K) && this[K][ee]) || pe);\n }, $ = function(pe) {\n var ee = pe === J, pe = ge(ee ? Me : _(pe)), je = [];\n return Y(pe, function(Ce) {\n !i(De, Ce) || ee && !i(J, Ce) || je.push(De[Ce]);\n }), je;\n };\n a || (U((ae = function() {\n if (this instanceof ae)\n throw TypeError(\"Symbol is not a constructor\");\n var q = arguments.length && arguments[0] !== void 0 ? String(arguments[0]) : void 0, ee = ne(q), pe = function(je) {\n this === J && pe.call(Me, je), i(this, K) && i(this[K], ee) && (this[K][ee] = !1), ve(this, ee, E(1, je));\n };\n return o && He && ve(J, ee, { configurable: !0, set: pe }), m(ee, q);\n })[ce], \"toString\", function() {\n return le(this).tag;\n }), U(ae, \"withoutSetter\", function(q) {\n return m(ne(q), q);\n }), V.f = Z, F.f = we, L.f = u, A.f = M.f = h, R.f = $, O.f = function(q) {\n return m(b(q), q);\n }, o && (fe(ae[ce], \"description\", { configurable: !0, get: function() {\n return le(this).description;\n } }), s || U(J, \"propertyIsEnumerable\", Z, { unsafe: !0 }))), g({ global: !0, wrap: !0, forced: !a, sham: !a }, { Symbol: ae }), Y(x(Ve), function(q) {\n D(q);\n }), g({ target: te, stat: !0, forced: !a }, { for: function(pe) {\n var ee, pe = String(pe);\n return i(Qe, pe) ? Qe[pe] : (ee = ae(pe), Qe[pe] = ee, ze[ee] = pe, ee);\n }, keyFor: function(q) {\n if (!Re(q))\n throw TypeError(q + \" is not a symbol\");\n if (i(ze, q))\n return ze[q];\n }, useSetter: function() {\n He = !0;\n }, useSimple: function() {\n He = !1;\n } }), g({ target: \"Object\", stat: !0, forced: !a, sham: !o }, { create: function(q, ee) {\n return ee === void 0 ? P(q) : y(P(q), ee);\n }, defineProperty: we, defineProperties: y, getOwnPropertyDescriptor: u }), g({ target: \"Object\", stat: !0, forced: !a }, { getOwnPropertyNames: h, getOwnPropertySymbols: $ }), g({ target: \"Object\", stat: !0, forced: r(function() {\n R.f(1);\n }) }, { getOwnPropertySymbols: function(q) {\n return R.f(T(q));\n } }), he && g({ target: \"JSON\", stat: !0, forced: !a || r(function() {\n var q = ae();\n return he([q]) != \"[null]\" || he({ a: q }) != \"{}\" || he(Object(q)) != \"{}\";\n }) }, { stringify: function(q, ee, pe) {\n for (var je, Ce = [q], Fe = 1; Fe < arguments.length; )\n Ce.push(arguments[Fe++]);\n if ((p(je = ee) || q !== void 0) && !Re(q))\n return c(ee) || (ee = function(Ne, Be) {\n if (typeof je == \"function\" && (Be = je.call(this, Ne, Be)), !Re(Be))\n return Be;\n }), Ce[1] = ee, he.apply(null, Ce);\n } }), ae[ce][re] || G(ae[ce], re, ae[ce].valueOf), B(ae, te), X[K] = !0;\n }, { \"../internals/an-object\": 10, \"../internals/array-iteration\": 19, \"../internals/create-non-enumerable-property\": 38, \"../internals/create-property-descriptor\": 39, \"../internals/define-well-known-symbol\": 42, \"../internals/descriptors\": 43, \"../internals/export\": 50, \"../internals/fails\": 51, \"../internals/get-built-in\": 57, \"../internals/global\": 60, \"../internals/has\": 61, \"../internals/hidden-keys\": 62, \"../internals/internal-state\": 71, \"../internals/is-array\": 73, \"../internals/is-object\": 75, \"../internals/is-pure\": 76, \"../internals/native-symbol\": 84, \"../internals/object-create\": 91, \"../internals/object-define-property\": 93, \"../internals/object-get-own-property-descriptor\": 94, \"../internals/object-get-own-property-names\": 96, \"../internals/object-get-own-property-names-external\": 95, \"../internals/object-get-own-property-symbols\": 97, \"../internals/object-keys\": 100, \"../internals/object-property-is-enumerable\": 101, \"../internals/redefine\": 109, \"../internals/set-to-string-tag\": 118, \"../internals/shared\": 121, \"../internals/shared-key\": 119, \"../internals/to-indexed-object\": 135, \"../internals/to-object\": 138, \"../internals/to-primitive\": 141, \"../internals/uid\": 146, \"../internals/use-symbol-as-uid\": 147, \"../internals/well-known-symbol\": 149, \"../internals/well-known-symbol-wrapped\": 148 }], 210: [function(t, H, C) {\n var m = t(\"../internals/array-buffer-view-core\"), y = t(\"../internals/array-copy-within\"), u = m.aTypedArray;\n (0, m.exportTypedArrayMethod)(\"copyWithin\", function(h, g) {\n return y.call(u(this), h, g, 2 < arguments.length ? arguments[2] : void 0);\n });\n }, { \"../internals/array-buffer-view-core\": 12, \"../internals/array-copy-within\": 14 }], 211: [function(t, H, C) {\n var m = t(\"../internals/array-buffer-view-core\"), y = t(\"../internals/array-iteration\").every, u = m.aTypedArray;\n (0, m.exportTypedArrayMethod)(\"every\", function(h) {\n return y(u(this), h, 1 < arguments.length ? arguments[1] : void 0);\n });\n }, { \"../internals/array-buffer-view-core\": 12, \"../internals/array-iteration\": 19 }], 212: [function(t, H, C) {\n var m = t(\"../internals/array-buffer-view-core\"), y = t(\"../internals/array-fill\"), u = m.aTypedArray;\n (0, m.exportTypedArrayMethod)(\"fill\", function(h) {\n return y.apply(u(this), arguments);\n });\n }, { \"../internals/array-buffer-view-core\": 12, \"../internals/array-fill\": 15 }], 213: [function(t, H, C) {\n var m = t(\"../internals/array-buffer-view-core\"), y = t(\"../internals/array-iteration\").filter, u = t(\"../internals/species-constructor\"), h = m.aTypedArray, g = m.aTypedArrayConstructor;\n (0, m.exportTypedArrayMethod)(\"filter\", function(f) {\n for (var n = y(h(this), f, 1 < arguments.length ? arguments[1] : void 0), f = u(this, this.constructor), s = 0, o = n.length, a = new (g(f))(o); s < o; )\n a[s] = n[s++];\n return a;\n });\n }, { \"../internals/array-buffer-view-core\": 12, \"../internals/array-iteration\": 19, \"../internals/species-constructor\": 122 }], 214: [function(t, H, C) {\n var m = t(\"../internals/array-buffer-view-core\"), y = t(\"../internals/array-iteration\").findIndex, u = m.aTypedArray;\n (0, m.exportTypedArrayMethod)(\"findIndex\", function(h) {\n return y(u(this), h, 1 < arguments.length ? arguments[1] : void 0);\n });\n }, { \"../internals/array-buffer-view-core\": 12, \"../internals/array-iteration\": 19 }], 215: [function(t, H, C) {\n var m = t(\"../internals/array-buffer-view-core\"), y = t(\"../internals/array-iteration\").find, u = m.aTypedArray;\n (0, m.exportTypedArrayMethod)(\"find\", function(h) {\n return y(u(this), h, 1 < arguments.length ? arguments[1] : void 0);\n });\n }, { \"../internals/array-buffer-view-core\": 12, \"../internals/array-iteration\": 19 }], 216: [function(t, H, C) {\n t(\"../internals/typed-array-constructor\")(\"Float32\", function(m) {\n return function(y, u, h) {\n return m(this, y, u, h);\n };\n });\n }, { \"../internals/typed-array-constructor\": 143 }], 217: [function(t, H, C) {\n t(\"../internals/typed-array-constructor\")(\"Float64\", function(m) {\n return function(y, u, h) {\n return m(this, y, u, h);\n };\n });\n }, { \"../internals/typed-array-constructor\": 143 }], 218: [function(t, H, C) {\n var m = t(\"../internals/array-buffer-view-core\"), y = t(\"../internals/array-iteration\").forEach, u = m.aTypedArray;\n (0, m.exportTypedArrayMethod)(\"forEach\", function(h) {\n y(u(this), h, 1 < arguments.length ? arguments[1] : void 0);\n });\n }, { \"../internals/array-buffer-view-core\": 12, \"../internals/array-iteration\": 19 }], 219: [function(t, H, C) {\n var m = t(\"../internals/array-buffer-view-core\"), y = t(\"../internals/array-includes\").includes, u = m.aTypedArray;\n (0, m.exportTypedArrayMethod)(\"includes\", function(h) {\n return y(u(this), h, 1 < arguments.length ? arguments[1] : void 0);\n });\n }, { \"../internals/array-buffer-view-core\": 12, \"../internals/array-includes\": 18 }], 220: [function(t, H, C) {\n var m = t(\"../internals/array-buffer-view-core\"), y = t(\"../internals/array-includes\").indexOf, u = m.aTypedArray;\n (0, m.exportTypedArrayMethod)(\"indexOf\", function(h) {\n return y(u(this), h, 1 < arguments.length ? arguments[1] : void 0);\n });\n }, { \"../internals/array-buffer-view-core\": 12, \"../internals/array-includes\": 18 }], 221: [function(t, H, C) {\n t(\"../internals/typed-array-constructor\")(\"Int16\", function(m) {\n return function(y, u, h) {\n return m(this, y, u, h);\n };\n });\n }, { \"../internals/typed-array-constructor\": 143 }], 222: [function(t, H, C) {\n t(\"../internals/typed-array-constructor\")(\"Int32\", function(m) {\n return function(y, u, h) {\n return m(this, y, u, h);\n };\n });\n }, { \"../internals/typed-array-constructor\": 143 }], 223: [function(y, H, C) {\n function m() {\n return u.call(f(this));\n }\n var o = y(\"../internals/global\"), s = y(\"../internals/array-buffer-view-core\"), n = y(\"../modules/es.array.iterator\"), y = y(\"../internals/well-known-symbol\")(\"iterator\"), o = o.Uint8Array, u = n.values, h = n.keys, g = n.entries, f = s.aTypedArray, n = s.exportTypedArrayMethod, s = o && o.prototype[y], o = !!s && (s.name == \"values\" || s.name == null);\n n(\"entries\", function() {\n return g.call(f(this));\n }), n(\"keys\", function() {\n return h.call(f(this));\n }), n(\"values\", m, !o), n(y, m, !o);\n }, { \"../internals/array-buffer-view-core\": 12, \"../internals/global\": 60, \"../internals/well-known-symbol\": 149, \"../modules/es.array.iterator\": 164 }], 224: [function(y, H, C) {\n var y = y(\"../internals/array-buffer-view-core\"), m = y.aTypedArray, y = y.exportTypedArrayMethod, u = [].join;\n y(\"join\", function(h) {\n return u.apply(m(this), arguments);\n });\n }, { \"../internals/array-buffer-view-core\": 12 }], 225: [function(t, H, C) {\n var m = t(\"../internals/array-buffer-view-core\"), y = t(\"../internals/array-last-index-of\"), u = m.aTypedArray;\n (0, m.exportTypedArrayMethod)(\"lastIndexOf\", function(h) {\n return y.apply(u(this), arguments);\n });\n }, { \"../internals/array-buffer-view-core\": 12, \"../internals/array-last-index-of\": 20 }], 226: [function(t, H, C) {\n var m = t(\"../internals/array-buffer-view-core\"), y = t(\"../internals/array-iteration\").map, u = t(\"../internals/species-constructor\"), h = m.aTypedArray, g = m.aTypedArrayConstructor;\n (0, m.exportTypedArrayMethod)(\"map\", function(f) {\n return y(h(this), f, 1 < arguments.length ? arguments[1] : void 0, function(n, s) {\n return new (g(u(n, n.constructor)))(s);\n });\n });\n }, { \"../internals/array-buffer-view-core\": 12, \"../internals/array-iteration\": 19, \"../internals/species-constructor\": 122 }], 227: [function(t, H, C) {\n var m = t(\"../internals/array-buffer-view-core\"), y = t(\"../internals/array-reduce\").right, u = m.aTypedArray;\n (0, m.exportTypedArrayMethod)(\"reduceRight\", function(h) {\n return y(u(this), h, arguments.length, 1 < arguments.length ? arguments[1] : void 0);\n });\n }, { \"../internals/array-buffer-view-core\": 12, \"../internals/array-reduce\": 24 }], 228: [function(t, H, C) {\n var m = t(\"../internals/array-buffer-view-core\"), y = t(\"../internals/array-reduce\").left, u = m.aTypedArray;\n (0, m.exportTypedArrayMethod)(\"reduce\", function(h) {\n return y(u(this), h, arguments.length, 1 < arguments.length ? arguments[1] : void 0);\n });\n }, { \"../internals/array-buffer-view-core\": 12, \"../internals/array-reduce\": 24 }], 229: [function(y, H, C) {\n var y = y(\"../internals/array-buffer-view-core\"), m = y.aTypedArray, y = y.exportTypedArrayMethod, u = Math.floor;\n y(\"reverse\", function() {\n for (var h, g = m(this).length, f = u(g / 2), n = 0; n < f; )\n h = this[n], this[n++] = this[--g], this[g] = h;\n return this;\n });\n }, { \"../internals/array-buffer-view-core\": 12 }], 230: [function(g, H, C) {\n var m = g(\"../internals/array-buffer-view-core\"), y = g(\"../internals/to-length\"), u = g(\"../internals/to-offset\"), h = g(\"../internals/to-object\"), g = g(\"../internals/fails\"), f = m.aTypedArray;\n (0, m.exportTypedArrayMethod)(\"set\", function(n) {\n f(this);\n var s = u(1 < arguments.length ? arguments[1] : void 0, 1), o = this.length, a = h(n), l = y(a.length), r = 0;\n if (o < l + s)\n throw RangeError(\"Wrong length\");\n for (; r < l; )\n this[s + r] = a[r++];\n }, g(function() {\n new Int8Array(1).set({});\n }));\n }, { \"../internals/array-buffer-view-core\": 12, \"../internals/fails\": 51, \"../internals/to-length\": 137, \"../internals/to-object\": 138, \"../internals/to-offset\": 139 }], 231: [function(y, H, C) {\n var g = y(\"../internals/array-buffer-view-core\"), m = y(\"../internals/species-constructor\"), y = y(\"../internals/fails\"), u = g.aTypedArray, h = g.aTypedArrayConstructor, g = g.exportTypedArrayMethod, f = [].slice;\n g(\"slice\", function(n, s) {\n for (var o = f.call(u(this), n, s), n = m(this, this.constructor), a = 0, l = o.length, r = new (h(n))(l); a < l; )\n r[a] = o[a++];\n return r;\n }, y(function() {\n new Int8Array(1).slice();\n }));\n }, { \"../internals/array-buffer-view-core\": 12, \"../internals/fails\": 51, \"../internals/species-constructor\": 122 }], 232: [function(t, H, C) {\n var m = t(\"../internals/array-buffer-view-core\"), y = t(\"../internals/array-iteration\").some, u = m.aTypedArray;\n (0, m.exportTypedArrayMethod)(\"some\", function(h) {\n return y(u(this), h, 1 < arguments.length ? arguments[1] : void 0);\n });\n }, { \"../internals/array-buffer-view-core\": 12, \"../internals/array-iteration\": 19 }], 233: [function(y, H, C) {\n var y = y(\"../internals/array-buffer-view-core\"), m = y.aTypedArray, y = y.exportTypedArrayMethod, u = [].sort;\n y(\"sort\", function(h) {\n return u.call(m(this), h);\n });\n }, { \"../internals/array-buffer-view-core\": 12 }], 234: [function(t, H, C) {\n var m = t(\"../internals/array-buffer-view-core\"), y = t(\"../internals/to-length\"), u = t(\"../internals/to-absolute-index\"), h = t(\"../internals/species-constructor\"), g = m.aTypedArray;\n (0, m.exportTypedArrayMethod)(\"subarray\", function(a, n) {\n var s = g(this), o = s.length, a = u(a, o);\n return new (h(s, s.constructor))(s.buffer, s.byteOffset + a * s.BYTES_PER_ELEMENT, y((n === void 0 ? o : u(n, o)) - a));\n });\n }, { \"../internals/array-buffer-view-core\": 12, \"../internals/species-constructor\": 122, \"../internals/to-absolute-index\": 133, \"../internals/to-length\": 137 }], 235: [function(y, H, C) {\n var g = y(\"../internals/global\"), m = y(\"../internals/array-buffer-view-core\"), y = y(\"../internals/fails\"), u = g.Int8Array, h = m.aTypedArray, g = m.exportTypedArrayMethod, f = [].toLocaleString, n = [].slice, s = !!u && y(function() {\n f.call(new u(1));\n });\n g(\"toLocaleString\", function() {\n return f.apply(s ? n.call(h(this)) : h(this), arguments);\n }, y(function() {\n return [1, 2].toLocaleString() != new u([1, 2]).toLocaleString();\n }) || !y(function() {\n u.prototype.toLocaleString.call([1, 2]);\n }));\n }, { \"../internals/array-buffer-view-core\": 12, \"../internals/fails\": 51, \"../internals/global\": 60 }], 236: [function(y, H, C) {\n var m = y(\"../internals/array-buffer-view-core\").exportTypedArrayMethod, g = y(\"../internals/fails\"), y = y(\"../internals/global\").Uint8Array, y = y && y.prototype || {}, u = [].toString, h = [].join, g = (g(function() {\n u.call({});\n }) && (u = function() {\n return h.call(this);\n }), y.toString != u);\n m(\"toString\", u, g);\n }, { \"../internals/array-buffer-view-core\": 12, \"../internals/fails\": 51, \"../internals/global\": 60 }], 237: [function(t, H, C) {\n t(\"../internals/typed-array-constructor\")(\"Uint16\", function(m) {\n return function(y, u, h) {\n return m(this, y, u, h);\n };\n });\n }, { \"../internals/typed-array-constructor\": 143 }], 238: [function(t, H, C) {\n t(\"../internals/typed-array-constructor\")(\"Uint32\", function(m) {\n return function(y, u, h) {\n return m(this, y, u, h);\n };\n });\n }, { \"../internals/typed-array-constructor\": 143 }], 239: [function(t, H, C) {\n t(\"../internals/typed-array-constructor\")(\"Uint8\", function(m) {\n return function(y, u, h) {\n return m(this, y, u, h);\n };\n });\n }, { \"../internals/typed-array-constructor\": 143 }], 240: [function(t, H, C) {\n t(\"../internals/typed-array-constructor\")(\"Uint8\", function(m) {\n return function(y, u, h) {\n return m(this, y, u, h);\n };\n }, !0);\n }, { \"../internals/typed-array-constructor\": 143 }], 241: [function(i, j, C) {\n function m(T) {\n return function() {\n return T(this, arguments.length ? arguments[0] : void 0);\n };\n }\n var y, u, h, g, f, c = i(\"../internals/global\"), n = i(\"../internals/redefine-all\"), s = i(\"../internals/internal-metadata\"), o = i(\"../internals/collection\"), a = i(\"../internals/collection-weak\"), l = i(\"../internals/is-object\"), r = i(\"../internals/internal-state\").enforce, i = i(\"../internals/native-weak-map\"), c = !c.ActiveXObject && \"ActiveXObject\" in c, p = Object.isExtensible, j = j.exports = o(\"WeakMap\", m, a);\n i && c && (y = a.getConstructor(m, \"WeakMap\", !0), s.REQUIRED = !0, o = j.prototype, u = o.delete, h = o.has, g = o.get, f = o.set, n(o, { delete: function(T) {\n var _;\n return l(T) && !p(T) ? ((_ = r(this)).frozen || (_.frozen = new y()), u.call(this, T) || _.frozen.delete(T)) : u.call(this, T);\n }, has: function(T) {\n var _;\n return l(T) && !p(T) ? ((_ = r(this)).frozen || (_.frozen = new y()), h.call(this, T) || _.frozen.has(T)) : h.call(this, T);\n }, get: function(T) {\n var _;\n return !l(T) || p(T) || ((_ = r(this)).frozen || (_.frozen = new y()), h.call(this, T)) ? g.call(this, T) : _.frozen.get(T);\n }, set: function(T, _) {\n var S;\n return !l(T) || p(T) || ((S = r(this)).frozen || (S.frozen = new y()), h.call(this, T)) ? f.call(this, T, _) : S.frozen.set(T, _), this;\n } }));\n }, { \"../internals/collection\": 32, \"../internals/collection-weak\": 31, \"../internals/global\": 60, \"../internals/internal-metadata\": 70, \"../internals/internal-state\": 71, \"../internals/is-object\": 75, \"../internals/native-weak-map\": 86, \"../internals/redefine-all\": 108 }], 242: [function(t, H, C) {\n var m, y = t(\"../internals/global\"), u = t(\"../internals/dom-iterables\"), h = t(\"../internals/array-for-each\"), g = t(\"../internals/create-non-enumerable-property\");\n for (m in u) {\n var f = y[m], f = f && f.prototype;\n if (f && f.forEach !== h)\n try {\n g(f, \"forEach\", h);\n } catch {\n f.forEach = h;\n }\n }\n }, { \"../internals/array-for-each\": 16, \"../internals/create-non-enumerable-property\": 38, \"../internals/dom-iterables\": 45, \"../internals/global\": 60 }], 243: [function(f, H, C) {\n var m, y = f(\"../internals/global\"), u = f(\"../internals/dom-iterables\"), h = f(\"../modules/es.array.iterator\"), g = f(\"../internals/create-non-enumerable-property\"), f = f(\"../internals/well-known-symbol\"), n = f(\"iterator\"), s = f(\"toStringTag\"), o = h.values;\n for (m in u) {\n var a = y[m], l = a && a.prototype;\n if (l) {\n if (l[n] !== o)\n try {\n g(l, n, o);\n } catch {\n l[n] = o;\n }\n if (l[s] || g(l, s, m), u[m]) {\n for (var r in h)\n if (l[r] !== h[r])\n try {\n g(l, r, h[r]);\n } catch {\n l[r] = h[r];\n }\n }\n }\n }\n }, { \"../internals/create-non-enumerable-property\": 38, \"../internals/dom-iterables\": 45, \"../internals/global\": 60, \"../internals/well-known-symbol\": 149, \"../modules/es.array.iterator\": 164 }], 244: [function(K, H, C) {\n K(\"../modules/es.array.iterator\");\n function m(te) {\n try {\n return decodeURIComponent(te);\n } catch {\n return te;\n }\n }\n function y(te) {\n return D[te];\n }\n function u(te) {\n return encodeURIComponent(te).replace(O, y);\n }\n function h(te) {\n this.entries.length = 0, B(this.entries, te);\n }\n function g(te, ce) {\n if (te < ce)\n throw TypeError(\"Not enough arguments\");\n }\n function f() {\n c(this, f, F);\n var te, ce, re, ue, le, J, ae, he, _e = 0 < arguments.length ? arguments[0] : void 0, fe = [];\n if (G(this, { type: F, entries: fe, updateURL: function() {\n }, updateSearchParams: h }), _e !== void 0)\n if (S(_e))\n if (typeof (te = A(_e)) == \"function\")\n for (re = (ce = te.call(_e)).next; !(ue = re.call(ce)).done; ) {\n if ((J = (le = (ue = x(_(ue.value))).next).call(ue)).done || (ae = le.call(ue)).done || !le.call(ue).done)\n throw TypeError(\"Expected sequence with length 2\");\n fe.push({ key: J.value + \"\", value: ae.value + \"\" });\n }\n else\n for (he in _e)\n p(_e, he) && fe.push({ key: he, value: _e[he] + \"\" });\n else\n B(fe, typeof _e == \"string\" ? _e.charAt(0) === \"?\" ? _e.slice(1) : _e : _e + \"\");\n }\n var n = K(\"../internals/export\"), L = K(\"../internals/get-built-in\"), s = K(\"../internals/native-url\"), o = K(\"../internals/redefine\"), a = K(\"../internals/redefine-all\"), l = K(\"../internals/set-to-string-tag\"), r = K(\"../internals/create-iterator-constructor\"), i = K(\"../internals/internal-state\"), c = K(\"../internals/an-instance\"), p = K(\"../internals/has\"), j = K(\"../internals/function-bind-context\"), T = K(\"../internals/classof\"), _ = K(\"../internals/an-object\"), S = K(\"../internals/is-object\"), E = K(\"../internals/object-create\"), P = K(\"../internals/create-property-descriptor\"), x = K(\"../internals/get-iterator\"), A = K(\"../internals/get-iterator-method\"), K = K(\"../internals/well-known-symbol\"), M = L(\"fetch\"), R = L(\"Headers\"), L = K(\"iterator\"), F = \"URLSearchParams\", V = F + \"Iterator\", G = i.set, U = i.getterFor(F), W = i.getterFor(V), X = /\\+/g, ne = Array(4), b = function(te) {\n var ce, re = te.replace(X, \" \"), ue = 4;\n try {\n return decodeURIComponent(re);\n } catch {\n for (; ue; )\n re = re.replace((ce = ue--, ne[ce - 1] || (ne[ce - 1] = RegExp(\"((?:%[\\\\da-f]{2}){\" + ce + \"})\", \"gi\"))), m);\n return re;\n }\n }, O = /[!'()~]|%20/g, D = { \"!\": \"%21\", \"'\": \"%27\", \"(\": \"%28\", \")\": \"%29\", \"~\": \"%7E\", \"%20\": \"+\" }, B = function(te, ce) {\n if (ce)\n for (var re, ue = ce.split(\"&\"), le = 0; le < ue.length; )\n (re = ue[le++]).length && (re = re.split(\"=\"), te.push({ key: b(re.shift()), value: b(re.join(\"=\")) }));\n }, Y = r(function(te, ce) {\n G(this, { type: V, iterator: x(U(te).entries), kind: ce });\n }, \"Iterator\", function() {\n var ce = W(this), te = ce.kind, ce = ce.iterator.next(), re = ce.value;\n return ce.done || (ce.value = te === \"keys\" ? re.key : te === \"values\" ? re.value : [re.key, re.value]), ce;\n }), K = f.prototype;\n a(K, { append: function(te, ce) {\n g(arguments.length, 2);\n var re = U(this);\n re.entries.push({ key: te + \"\", value: ce + \"\" }), re.updateURL();\n }, delete: function(te) {\n g(arguments.length, 1);\n for (var ce = U(this), re = ce.entries, ue = te + \"\", le = 0; le < re.length; )\n re[le].key === ue ? re.splice(le, 1) : le++;\n ce.updateURL();\n }, get: function(te) {\n g(arguments.length, 1);\n for (var ce = U(this).entries, re = te + \"\", ue = 0; ue < ce.length; ue++)\n if (ce[ue].key === re)\n return ce[ue].value;\n return null;\n }, getAll: function(te) {\n g(arguments.length, 1);\n for (var ce = U(this).entries, re = te + \"\", ue = [], le = 0; le < ce.length; le++)\n ce[le].key === re && ue.push(ce[le].value);\n return ue;\n }, has: function(te) {\n g(arguments.length, 1);\n for (var ce = U(this).entries, re = te + \"\", ue = 0; ue < ce.length; )\n if (ce[ue++].key === re)\n return !0;\n return !1;\n }, set: function(te, ce) {\n g(arguments.length, 1);\n for (var re, ue = U(this), le = ue.entries, J = !1, ae = te + \"\", he = ce + \"\", _e = 0; _e < le.length; _e++)\n (re = le[_e]).key === ae && (J ? le.splice(_e--, 1) : (J = !0, re.value = he));\n J || le.push({ key: ae, value: he }), ue.updateURL();\n }, sort: function() {\n for (var te, ce, re = U(this), ue = re.entries, le = ue.slice(), J = ue.length = 0; J < le.length; J++) {\n for (te = le[J], ce = 0; ce < J; ce++)\n if (ue[ce].key > te.key) {\n ue.splice(ce, 0, te);\n break;\n }\n ce === J && ue.push(te);\n }\n re.updateURL();\n }, forEach: function(te) {\n for (var ce, re = U(this).entries, ue = j(te, 1 < arguments.length ? arguments[1] : void 0, 3), le = 0; le < re.length; )\n ue((ce = re[le++]).value, ce.key, this);\n }, keys: function() {\n return new Y(this, \"keys\");\n }, values: function() {\n return new Y(this, \"values\");\n }, entries: function() {\n return new Y(this, \"entries\");\n } }, { enumerable: !0 }), o(K, L, K.entries), o(K, \"toString\", function() {\n for (var te, ce = U(this).entries, re = [], ue = 0; ue < ce.length; )\n te = ce[ue++], re.push(u(te.key) + \"=\" + u(te.value));\n return re.join(\"&\");\n }, { enumerable: !0 }), l(f, F), n({ global: !0, forced: !s }, { URLSearchParams: f }), s || typeof M != \"function\" || typeof R != \"function\" || n({ global: !0, enumerable: !0, forced: !0 }, { fetch: function(le) {\n var ce, re, ue, le = [le];\n return 1 < arguments.length && (S(ce = arguments[1]) && (re = ce.body, T(re) === F && ((ue = ce.headers ? new R(ce.headers) : new R()).has(\"content-type\") || ue.set(\"content-type\", \"application/x-www-form-urlencoded;charset=UTF-8\"), ce = E(ce, { body: P(0, String(re)), headers: P(0, ue) }))), le.push(ce)), M.apply(this, le);\n } }), H.exports = { URLSearchParams: f, getState: U };\n }, { \"../internals/an-instance\": 9, \"../internals/an-object\": 10, \"../internals/classof\": 29, \"../internals/create-iterator-constructor\": 37, \"../internals/create-property-descriptor\": 39, \"../internals/export\": 50, \"../internals/function-bind-context\": 55, \"../internals/get-built-in\": 57, \"../internals/get-iterator\": 59, \"../internals/get-iterator-method\": 58, \"../internals/has\": 61, \"../internals/internal-state\": 71, \"../internals/is-object\": 75, \"../internals/native-url\": 85, \"../internals/object-create\": 91, \"../internals/redefine\": 109, \"../internals/redefine-all\": 108, \"../internals/set-to-string-tag\": 118, \"../internals/well-known-symbol\": 149, \"../modules/es.array.iterator\": 164 }], 245: [function(x, H, C) {\n x(\"../modules/es.string.iterator\");\n function m(ie) {\n var Oe, Ge, Le, rt;\n if (typeof ie == \"number\") {\n for (Oe = [], Ge = 0; Ge < 4; Ge++)\n Oe.unshift(ie % 256), ie = V(ie / 256);\n return Oe.join(\".\");\n }\n if (typeof ie != \"object\")\n return ie;\n for (Oe = \"\", Le = ae(ie), Ge = 0; Ge < 8; Ge++)\n rt && ie[Ge] === 0 || (rt = rt && !1, Le === Ge ? (Oe += Ge ? \":\" : \"::\", rt = !0) : (Oe += ie[Ge].toString(16), Ge < 7 && (Oe += \":\")));\n return \"[\" + Oe + \"]\";\n }\n function y(ie) {\n return !ie.host || ie.cannotBeABaseURL || ie.scheme == \"file\";\n }\n function u(ie, Oe, Ge, Le) {\n var rt, Ae, ct, qe = Ge || Re, ut = 0, Ze = \"\", Pt = !1, Ut = !1, Ct = !1;\n for (Ge || (ie.scheme = \"\", ie.username = \"\", ie.password = \"\", ie.host = null, ie.port = null, ie.path = [], ie.query = null, ie.fragment = null, ie.cannotBeABaseURL = !1, Oe = Oe.replace(ue, \"\")), Oe = Oe.replace(le, \"\"), rt = T(Oe); ut <= rt.length; ) {\n switch (Ae = rt[ut], qe) {\n case Re:\n if (!Ae || !b.test(Ae)) {\n if (Ge)\n return W;\n qe = Z;\n continue;\n }\n Ze += Ae.toLowerCase(), qe = we;\n break;\n case we:\n if (Ae && (O.test(Ae) || Ae == \"+\" || Ae == \"-\" || Ae == \".\"))\n Ze += Ae.toLowerCase();\n else {\n if (Ae != \":\") {\n if (Ge)\n return W;\n Ze = \"\", qe = Z, ut = 0;\n continue;\n }\n if (Ge && (Me(ie) != p(De, Ze) || Ze == \"file\" && (Qe(ie) || ie.port !== null) || ie.scheme == \"file\" && !ie.host))\n return;\n if (ie.scheme = Ze, Ge)\n return void (Me(ie) && De[ie.scheme] == ie.port && (ie.port = null));\n Ze = \"\", ie.scheme == \"file\" ? qe = st : Me(ie) && Le && Le.scheme == ie.scheme ? qe = $ : Me(ie) ? qe = je : rt[ut + 1] == \"/\" ? (qe = q, ut++) : (ie.cannotBeABaseURL = !0, ie.path.push(\"\"), qe = bt);\n }\n break;\n case Z:\n if (!Le || Le.cannotBeABaseURL && Ae != \"#\")\n return W;\n if (Le.cannotBeABaseURL && Ae == \"#\") {\n ie.scheme = Le.scheme, ie.path = Le.path.slice(), ie.query = Le.query, ie.fragment = \"\", ie.cannotBeABaseURL = !0, qe = Mt;\n break;\n }\n qe = Le.scheme == \"file\" ? st : ee;\n continue;\n case $:\n if (Ae != \"/\" || rt[ut + 1] != \"/\") {\n qe = ee;\n continue;\n }\n qe = Ce, ut++;\n break;\n case q:\n if (Ae == \"/\") {\n qe = Fe;\n break;\n }\n qe = ot;\n continue;\n case ee:\n if (ie.scheme = Le.scheme, Ae == f)\n ie.username = Le.username, ie.password = Le.password, ie.host = Le.host, ie.port = Le.port, ie.path = Le.path.slice(), ie.query = Le.query;\n else if (Ae == \"/\" || Ae == \"\\\\\" && Me(ie))\n qe = pe;\n else if (Ae == \"?\")\n ie.username = Le.username, ie.password = Le.password, ie.host = Le.host, ie.port = Le.port, ie.path = Le.path.slice(), ie.query = \"\", qe = It;\n else {\n if (Ae != \"#\") {\n ie.username = Le.username, ie.password = Le.password, ie.host = Le.host, ie.port = Le.port, ie.path = Le.path.slice(), ie.path.pop(), qe = ot;\n continue;\n }\n ie.username = Le.username, ie.password = Le.password, ie.host = Le.host, ie.port = Le.port, ie.path = Le.path.slice(), ie.query = Le.query, ie.fragment = \"\", qe = Mt;\n }\n break;\n case pe:\n if (!Me(ie) || Ae != \"/\" && Ae != \"\\\\\") {\n if (Ae != \"/\") {\n ie.username = Le.username, ie.password = Le.password, ie.host = Le.host, ie.port = Le.port, qe = ot;\n continue;\n }\n qe = Fe;\n } else\n qe = Ce;\n break;\n case je:\n if (qe = Ce, Ae != \"/\" || Ze.charAt(ut + 1) != \"/\")\n continue;\n ut++;\n break;\n case Ce:\n if (Ae == \"/\" || Ae == \"\\\\\")\n break;\n qe = Fe;\n continue;\n case Fe:\n if (Ae == \"@\") {\n Pt && (Ze = \"%40\" + Ze);\n for (var Pt = !0, Nt = T(Ze), Kt = 0; Kt < Nt.length; Kt++) {\n var Xt = Nt[Kt];\n Xt != \":\" || Ct ? (Xt = xe(Xt, ge), Ct ? ie.password += Xt : ie.username += Xt) : Ct = !0;\n }\n Ze = \"\";\n } else if (Ae == f || Ae == \"/\" || Ae == \"?\" || Ae == \"#\" || Ae == \"\\\\\" && Me(ie)) {\n if (Pt && Ze == \"\")\n return U;\n ut -= T(Ze).length + 1, Ze = \"\", qe = Ne;\n } else\n Ze += Ae;\n break;\n case Ne:\n case Be:\n if (Ge && ie.scheme == \"file\") {\n qe = Ke;\n continue;\n }\n if (Ae != \":\" || Ut) {\n if (Ae == f || Ae == \"/\" || Ae == \"?\" || Ae == \"#\" || Ae == \"\\\\\" && Me(ie)) {\n if (Me(ie) && Ze == \"\")\n return X;\n if (Ge && Ze == \"\" && (Qe(ie) || ie.port !== null))\n return;\n if (ct = J(ie, Ze))\n return ct;\n if (Ze = \"\", qe = at, Ge)\n return;\n continue;\n }\n Ae == \"[\" ? Ut = !0 : Ae == \"]\" && (Ut = !1), Ze += Ae;\n } else {\n if (Ze == \"\")\n return X;\n if (ct = J(ie, Ze))\n return ct;\n if (Ze = \"\", qe = We, Ge == Be)\n return;\n }\n break;\n case We:\n if (!D.test(Ae)) {\n if (Ae == f || Ae == \"/\" || Ae == \"?\" || Ae == \"#\" || Ae == \"\\\\\" && Me(ie) || Ge) {\n if (Ze != \"\") {\n var Jt = parseInt(Ze, 10);\n if (65535 < Jt)\n return ne;\n ie.port = Me(ie) && Jt === De[ie.scheme] ? null : Jt, Ze = \"\";\n }\n if (Ge)\n return;\n qe = at;\n continue;\n }\n return ne;\n }\n Ze += Ae;\n break;\n case st:\n if (ie.scheme = \"file\", Ae == \"/\" || Ae == \"\\\\\")\n qe = nt;\n else {\n if (!Le || Le.scheme != \"file\") {\n qe = ot;\n continue;\n }\n if (Ae == f)\n ie.host = Le.host, ie.path = Le.path.slice(), ie.query = Le.query;\n else if (Ae == \"?\")\n ie.host = Le.host, ie.path = Le.path.slice(), ie.query = \"\", qe = It;\n else {\n if (Ae != \"#\") {\n Ve(rt.slice(ut).join(\"\")) || (ie.host = Le.host, ie.path = Le.path.slice(), Xe(ie)), qe = ot;\n continue;\n }\n ie.host = Le.host, ie.path = Le.path.slice(), ie.query = Le.query, ie.fragment = \"\", qe = Mt;\n }\n }\n break;\n case nt:\n if (Ae == \"/\" || Ae == \"\\\\\") {\n qe = Ke;\n break;\n }\n Le && Le.scheme == \"file\" && !Ve(rt.slice(ut).join(\"\")) && (ze(Le.path[0], !0) ? ie.path.push(Le.path[0]) : ie.host = Le.host), qe = ot;\n continue;\n case Ke:\n if (Ae == f || Ae == \"/\" || Ae == \"\\\\\" || Ae == \"?\" || Ae == \"#\") {\n if (!Ge && ze(Ze))\n qe = ot;\n else {\n if (Ze == \"\") {\n if (ie.host = \"\", Ge)\n return;\n } else {\n if (ct = J(ie, Ze))\n return ct;\n if (ie.host == \"localhost\" && (ie.host = \"\"), Ge)\n return;\n Ze = \"\";\n }\n qe = at;\n }\n continue;\n }\n Ze += Ae;\n break;\n case at:\n if (Me(ie)) {\n if (qe = ot, Ae != \"/\" && Ae != \"\\\\\")\n continue;\n } else if (Ge || Ae != \"?\")\n if (Ge || Ae != \"#\") {\n if (Ae != f && (qe = ot, Ae != \"/\"))\n continue;\n } else\n ie.fragment = \"\", qe = Mt;\n else\n ie.query = \"\", qe = It;\n break;\n case ot:\n if (Ae == f || Ae == \"/\" || Ae == \"\\\\\" && Me(ie) || !Ge && (Ae == \"?\" || Ae == \"#\")) {\n if (ve(Ze) ? (Xe(ie), Ae == \"/\" || Ae == \"\\\\\" && Me(ie) || ie.path.push(\"\")) : He(Ze) ? Ae == \"/\" || Ae == \"\\\\\" && Me(ie) || ie.path.push(\"\") : (ie.scheme == \"file\" && !ie.path.length && ze(Ze) && (ie.host && (ie.host = \"\"), Ze = Ze.charAt(0) + \":\"), ie.path.push(Ze)), Ze = \"\", ie.scheme == \"file\" && (Ae == f || Ae == \"?\" || Ae == \"#\"))\n for (; 1 < ie.path.length && ie.path[0] === \"\"; )\n ie.path.shift();\n Ae == \"?\" ? (ie.query = \"\", qe = It) : Ae == \"#\" && (ie.fragment = \"\", qe = Mt);\n } else\n Ze += xe(Ae, fe);\n break;\n case bt:\n Ae == \"?\" ? (ie.query = \"\", qe = It) : Ae == \"#\" ? (ie.fragment = \"\", qe = Mt) : Ae != f && (ie.path[0] += xe(Ae, he));\n break;\n case It:\n Ge || Ae != \"#\" ? Ae != f && (Ae == \"'\" && Me(ie) ? ie.query += \"%27\" : ie.query += Ae == \"#\" ? \"%23\" : xe(Ae, he)) : (ie.fragment = \"\", qe = Mt);\n break;\n case Mt:\n Ae != f && (ie.fragment += xe(Ae, _e));\n }\n ut++;\n }\n }\n function h(Ae) {\n var Oe, Ge, Le = c(this, h, \"URL\"), rt = 1 < arguments.length ? arguments[1] : void 0, Ae = String(Ae), ct = L(Le, { type: \"URL\" });\n if (rt !== void 0) {\n if (rt instanceof h)\n Oe = F(rt);\n else if (Ge = u(Oe = {}, String(rt)))\n throw TypeError(Ge);\n }\n if (Ge = u(ct, Ae, null, Oe))\n throw TypeError(Ge);\n var qe = ct.searchParams = new M();\n (rt = R(qe)).updateSearchParams(ct.query), rt.updateURL = function() {\n ct.query = String(qe) || null;\n }, a || (Le.href = jt.call(Le), Le.origin = ft.call(Le), Le.protocol = Dt.call(Le), Le.username = At.call(Le), Le.password = gt.call(Le), Le.host = Ft.call(Le), Le.hostname = me.call(Le), Le.port = Ue.call(Le), Le.pathname = Ye.call(Le), Le.search = it.call(Le), Le.searchParams = ht.call(Le), Le.hash = pt.call(Le));\n }\n function g(ie, Oe) {\n return { get: ie, set: Oe, configurable: !0, enumerable: !0 };\n }\n var f, n, s, o = x(\"../internals/export\"), a = x(\"../internals/descriptors\"), l = x(\"../internals/native-url\"), mt = x(\"../internals/global\"), r = x(\"../internals/object-define-properties\"), i = x(\"../internals/redefine\"), c = x(\"../internals/an-instance\"), p = x(\"../internals/has\"), j = x(\"../internals/object-assign\"), T = x(\"../internals/array-from\"), _ = x(\"../internals/string-multibyte\").codeAt, S = x(\"../internals/string-punycode-to-ascii\"), E = x(\"../internals/set-to-string-tag\"), P = x(\"../modules/web.url-search-params\"), x = x(\"../internals/internal-state\"), A = mt.URL, M = P.URLSearchParams, R = P.getState, L = x.set, F = x.getterFor(\"URL\"), V = Math.floor, G = Math.pow, U = \"Invalid authority\", W = \"Invalid scheme\", X = \"Invalid host\", ne = \"Invalid port\", b = /[A-Za-z]/, O = /[\\d+-.A-Za-z]/, D = /\\d/, B = /^(0x|0X)/, Y = /^[0-7]+$/, K = /^\\d+$/, te = /^[\\dA-Fa-f]+$/, ce = /[\\u0000\\u0009\\u000A\\u000D #%/:?@[\\\\]]/, re = /[\\u0000\\u0009\\u000A\\u000D #/:?@[\\\\]]/, ue = /^[\\u0000-\\u001F ]+|[\\u0000-\\u001F ]+$/g, le = /[\\u0009\\u000A\\u000D]/g, J = function(ie, Oe) {\n var Ge, Le, rt;\n if (Oe.charAt(0) == \"[\")\n return Oe.charAt(Oe.length - 1) == \"]\" && (Ge = function(Ae) {\n var ct = [0, 0, 0, 0, 0, 0, 0, 0], qe = 0, ut = null, Ze = 0, Pt, Ut, Ct, Nt, Kt, Xt, Jt, Bt = function() {\n return Ae.charAt(Ze);\n };\n if (Bt() == \":\") {\n if (Ae.charAt(1) != \":\")\n return;\n Ze += 2, qe++, ut = qe;\n }\n for (; Bt(); ) {\n if (qe == 8)\n return;\n if (Bt() == \":\") {\n if (ut !== null)\n return;\n Ze++, qe++, ut = qe;\n continue;\n }\n for (Pt = Ut = 0; Ut < 4 && te.test(Bt()); )\n Pt = Pt * 16 + parseInt(Bt(), 16), Ze++, Ut++;\n if (Bt() == \".\") {\n if (Ut == 0 || (Ze -= Ut, qe > 6))\n return;\n for (Ct = 0; Bt(); ) {\n if (Nt = null, Ct > 0)\n if (Bt() == \".\" && Ct < 4)\n Ze++;\n else\n return;\n if (!D.test(Bt()))\n return;\n for (; D.test(Bt()); ) {\n if (Kt = parseInt(Bt(), 10), Nt === null)\n Nt = Kt;\n else {\n if (Nt == 0)\n return;\n Nt = Nt * 10 + Kt;\n }\n if (Nt > 255)\n return;\n Ze++;\n }\n ct[qe] = ct[qe] * 256 + Nt, Ct++, (Ct == 2 || Ct == 4) && qe++;\n }\n if (Ct != 4)\n return;\n break;\n } else if (Bt() == \":\") {\n if (Ze++, !Bt())\n return;\n } else if (Bt())\n return;\n ct[qe++] = Pt;\n }\n if (ut !== null)\n for (Xt = qe - ut, qe = 7; qe != 0 && Xt > 0; )\n Jt = ct[qe], ct[qe--] = ct[ut + Xt - 1], ct[ut + --Xt] = Jt;\n else if (qe != 8)\n return;\n return ct;\n }(Oe.slice(1, -1))) ? void (ie.host = Ge) : X;\n if (Me(ie))\n return Oe = S(Oe), ce.test(Oe) || (Ge = function(Ae) {\n var ct = Ae.split(\".\"), qe, ut, Ze, Pt, Ut, Ct, Nt;\n if (ct.length && ct[ct.length - 1] == \"\" && ct.pop(), (qe = ct.length) > 4)\n return Ae;\n for (ut = [], Ze = 0; Ze < qe; Ze++) {\n if (Pt = ct[Ze], Pt == \"\")\n return Ae;\n if (Ut = 10, Pt.length > 1 && Pt.charAt(0) == \"0\" && (Ut = B.test(Pt) ? 16 : 8, Pt = Pt.slice(Ut == 8 ? 1 : 2)), Pt === \"\")\n Ct = 0;\n else {\n if (!(Ut == 10 ? K : Ut == 8 ? Y : te).test(Pt))\n return Ae;\n Ct = parseInt(Pt, Ut);\n }\n ut.push(Ct);\n }\n for (Ze = 0; Ze < qe; Ze++)\n if (Ct = ut[Ze], Ze == qe - 1) {\n if (Ct >= G(256, 5 - qe))\n return null;\n } else if (Ct > 255)\n return null;\n for (Nt = ut.pop(), Ze = 0; Ze < ut.length; Ze++)\n Nt += ut[Ze] * G(256, 3 - Ze);\n return Nt;\n }(Oe)) === null ? X : void (ie.host = Ge);\n if (re.test(Oe))\n return X;\n for (Ge = \"\", Le = T(Oe), rt = 0; rt < Le.length; rt++)\n Ge += xe(Le[rt], he);\n ie.host = Ge;\n }, ae = function(ie) {\n for (var Oe = null, Ge = 1, Le = null, rt = 0, Ae = 0; Ae < 8; Ae++)\n ie[Ae] !== 0 ? (Ge < rt && (Oe = Le, Ge = rt), Le = null, rt = 0) : (Le === null && (Le = Ae), ++rt);\n return Ge < rt && (Oe = Le, Ge = rt), Oe;\n }, he = {}, _e = j({}, he, { \" \": 1, '\"': 1, \"<\": 1, \">\": 1, \"`\": 1 }), fe = j({}, _e, { \"#\": 1, \"?\": 1, \"{\": 1, \"}\": 1 }), ge = j({}, fe, { \"/\": 1, \":\": 1, \";\": 1, \"=\": 1, \"@\": 1, \"[\": 1, \"\\\\\": 1, \"]\": 1, \"^\": 1, \"|\": 1 }), xe = function(ie, Oe) {\n var Ge = _(ie, 0);\n return 32 < Ge && Ge < 127 && !p(Oe, ie) ? ie : encodeURIComponent(ie);\n }, De = { ftp: 21, file: null, http: 80, https: 443, ws: 80, wss: 443 }, Me = function(ie) {\n return p(De, ie.scheme);\n }, Qe = function(ie) {\n return ie.username != \"\" || ie.password != \"\";\n }, ze = function(ie, Oe) {\n return ie.length == 2 && b.test(ie.charAt(0)) && ((ie = ie.charAt(1)) == \":\" || !Oe && ie == \"|\");\n }, Ve = function(ie) {\n return 1 < ie.length && ze(ie.slice(0, 2)) && (ie.length == 2 || (ie = ie.charAt(2)) === \"/\" || ie === \"\\\\\" || ie === \"?\" || ie === \"#\");\n }, Xe = function(ie) {\n var Oe = ie.path, Ge = Oe.length;\n !Ge || ie.scheme == \"file\" && Ge == 1 && ze(Oe[0], !0) || Oe.pop();\n }, He = function(ie) {\n return ie === \".\" || ie.toLowerCase() === \"%2e\";\n }, ve = function(ie) {\n return (ie = ie.toLowerCase()) === \"..\" || ie === \"%2e.\" || ie === \".%2e\" || ie === \"%2e%2e\";\n }, Re = {}, we = {}, Z = {}, $ = {}, q = {}, ee = {}, pe = {}, je = {}, Ce = {}, Fe = {}, Ne = {}, Be = {}, We = {}, st = {}, nt = {}, Ke = {}, at = {}, ot = {}, bt = {}, It = {}, Mt = {}, mt = h.prototype, jt = function() {\n var ie = F(this), Oe = ie.scheme, Ge = ie.username, Le = ie.password, rt = ie.host, Ae = ie.port, ct = ie.path, qe = ie.query, ut = ie.fragment, Ze = Oe + \":\";\n return rt !== null ? (Ze += \"//\", Qe(ie) && (Ze += Ge + (Le ? \":\" + Le : \"\") + \"@\"), Ze += m(rt), Ae !== null && (Ze += \":\" + Ae)) : Oe == \"file\" && (Ze += \"//\"), Ze += ie.cannotBeABaseURL ? ct[0] : ct.length ? \"/\" + ct.join(\"/\") : \"\", qe !== null && (Ze += \"?\" + qe), ut !== null && (Ze += \"#\" + ut), Ze;\n }, ft = function() {\n var ie = F(this), Oe = ie.scheme, Ge = ie.port;\n if (Oe == \"blob\")\n try {\n return new URL(Oe.path[0]).origin;\n } catch {\n return \"null\";\n }\n return Oe != \"file\" && Me(ie) ? Oe + \"://\" + m(ie.host) + (Ge !== null ? \":\" + Ge : \"\") : \"null\";\n }, Dt = function() {\n return F(this).scheme + \":\";\n }, At = function() {\n return F(this).username;\n }, gt = function() {\n return F(this).password;\n }, Ft = function() {\n var Oe = F(this), ie = Oe.host, Oe = Oe.port;\n return ie === null ? \"\" : Oe === null ? m(ie) : m(ie) + \":\" + Oe;\n }, me = function() {\n var ie = F(this).host;\n return ie === null ? \"\" : m(ie);\n }, Ue = function() {\n var ie = F(this).port;\n return ie === null ? \"\" : String(ie);\n }, Ye = function() {\n var ie = F(this), Oe = ie.path;\n return ie.cannotBeABaseURL ? Oe[0] : Oe.length ? \"/\" + Oe.join(\"/\") : \"\";\n }, it = function() {\n var ie = F(this).query;\n return ie ? \"?\" + ie : \"\";\n }, ht = function() {\n return F(this).searchParams;\n }, pt = function() {\n var ie = F(this).fragment;\n return ie ? \"#\" + ie : \"\";\n };\n a && r(mt, { href: g(jt, function(Ge) {\n var Oe = F(this), Ge = String(Ge), Ge = u(Oe, Ge);\n if (Ge)\n throw TypeError(Ge);\n R(Oe.searchParams).updateSearchParams(Oe.query);\n }), origin: g(ft), protocol: g(Dt, function(ie) {\n var Oe = F(this);\n u(Oe, String(ie) + \":\", Re);\n }), username: g(At, function(ie) {\n var Oe = F(this), Ge = T(String(ie));\n if (!y(Oe)) {\n Oe.username = \"\";\n for (var Le = 0; Le < Ge.length; Le++)\n Oe.username += xe(Ge[Le], ge);\n }\n }), password: g(gt, function(ie) {\n var Oe = F(this), Ge = T(String(ie));\n if (!y(Oe)) {\n Oe.password = \"\";\n for (var Le = 0; Le < Ge.length; Le++)\n Oe.password += xe(Ge[Le], ge);\n }\n }), host: g(Ft, function(ie) {\n var Oe = F(this);\n Oe.cannotBeABaseURL || u(Oe, String(ie), Ne);\n }), hostname: g(me, function(ie) {\n var Oe = F(this);\n Oe.cannotBeABaseURL || u(Oe, String(ie), Be);\n }), port: g(Ue, function(ie) {\n var Oe = F(this);\n y(Oe) || ((ie = String(ie)) == \"\" ? Oe.port = null : u(Oe, ie, We));\n }), pathname: g(Ye, function(ie) {\n var Oe = F(this);\n Oe.cannotBeABaseURL || (Oe.path = [], u(Oe, ie + \"\", at));\n }), search: g(it, function(ie) {\n var Oe = F(this);\n (ie = String(ie)) == \"\" ? Oe.query = null : (ie.charAt(0) == \"?\" && (ie = ie.slice(1)), Oe.query = \"\", u(Oe, ie, It)), R(Oe.searchParams).updateSearchParams(Oe.query);\n }), searchParams: g(ht), hash: g(pt, function(ie) {\n var Oe = F(this);\n (ie = String(ie)) == \"\" ? Oe.fragment = null : (ie.charAt(0) == \"#\" && (ie = ie.slice(1)), Oe.fragment = \"\", u(Oe, ie, Mt));\n }) }), i(mt, \"toJSON\", function() {\n return jt.call(this);\n }, { enumerable: !0 }), i(mt, \"toString\", function() {\n return jt.call(this);\n }, { enumerable: !0 }), A && (n = A.createObjectURL, s = A.revokeObjectURL, n && i(h, \"createObjectURL\", function(ie) {\n return n.apply(A, arguments);\n }), s && i(h, \"revokeObjectURL\", function(ie) {\n return s.apply(A, arguments);\n })), E(h, \"URL\"), o({ global: !0, forced: !l, sham: !a }, { URL: h });\n }, { \"../internals/an-instance\": 9, \"../internals/array-from\": 17, \"../internals/descriptors\": 43, \"../internals/export\": 50, \"../internals/global\": 60, \"../internals/has\": 61, \"../internals/internal-state\": 71, \"../internals/native-url\": 85, \"../internals/object-assign\": 90, \"../internals/object-define-properties\": 92, \"../internals/redefine\": 109, \"../internals/set-to-string-tag\": 118, \"../internals/string-multibyte\": 124, \"../internals/string-punycode-to-ascii\": 127, \"../modules/es.string.iterator\": 197, \"../modules/web.url-search-params\": 244 }], 246: [function(t, H, C) {\n H.exports = t(\"./\").polyfill();\n }, { \"./\": 247 }], 247: [function(t, H, C) {\n (function(m, y) {\n var u, h;\n u = this, h = function() {\n function g(J) {\n return typeof J == \"function\";\n }\n var f = Array.isArray || function(J) {\n return Object.prototype.toString.call(J) === \"[object Array]\";\n }, n = 0, s = void 0, o = void 0, a = function(J, ae) {\n j[n] = J, j[n + 1] = ae, (n += 2) === 2 && (o ? o(T) : M());\n }, l = typeof window < \"u\" ? window : void 0, r = l || {}, r = r.MutationObserver || r.WebKitMutationObserver, i = typeof self > \"u\" && m !== void 0 && {}.toString.call(m) === \"[object process]\", c = typeof Uint8ClampedArray < \"u\" && typeof importScripts < \"u\" && typeof MessageChannel < \"u\";\n function p() {\n var J = setTimeout;\n return function() {\n return J(T, 1);\n };\n }\n var j = new Array(1e3);\n function T() {\n for (var J = 0; J < n; J += 2)\n (0, j[J])(j[J + 1]), j[J] = void 0, j[J + 1] = void 0;\n n = 0;\n }\n function _() {\n try {\n var J = Function(\"return this\")().require(\"vertx\");\n return (s = J.runOnLoop || J.runOnContext) !== void 0 ? function() {\n s(T);\n } : p();\n } catch {\n return p();\n }\n }\n var S, E, P, M = void 0;\n function x(J, ae) {\n var he, _e = this, fe = new this.constructor(L), ge = (fe[R] === void 0 && te(fe), _e._state);\n return ge ? (he = arguments[ge - 1], a(function() {\n return Y(ge, fe, he, _e._result);\n })) : D(_e, fe, J, ae), fe;\n }\n function A(J) {\n var ae;\n return J && typeof J == \"object\" && J.constructor === this ? J : (X(ae = new this(L), J), ae);\n }\n var M = i ? function() {\n return m.nextTick(T);\n } : r ? (E = 0, i = new r(T), P = document.createTextNode(\"\"), i.observe(P, { characterData: !0 }), function() {\n P.data = E = ++E % 2;\n }) : c ? ((S = new MessageChannel()).port1.onmessage = T, function() {\n return S.port2.postMessage(0);\n }) : (l === void 0 && typeof t == \"function\" ? _ : p)(), R = Math.random().toString(36).substring(2);\n function L() {\n }\n var F = void 0, V = 1, G = 2;\n function U(J, ae, he) {\n a(function(_e) {\n var fe = !1, ge = function(xe, De, Me, Qe) {\n try {\n xe.call(De, Me, Qe);\n } catch (ze) {\n return ze;\n }\n }(he, ae, function(xe) {\n fe || (fe = !0, (ae !== xe ? X : b)(_e, xe));\n }, function(xe) {\n fe || (fe = !0, O(_e, xe));\n }, _e._label);\n !fe && ge && (fe = !0, O(_e, ge));\n }, J);\n }\n function W(J, ae, he) {\n var _e, fe;\n ae.constructor === J.constructor && he === x && ae.constructor.resolve === A ? (_e = J, (fe = ae)._state === V ? b(_e, fe._result) : fe._state === G ? O(_e, fe._result) : D(fe, void 0, function(ge) {\n return X(_e, ge);\n }, function(ge) {\n return O(_e, ge);\n })) : he !== void 0 && g(he) ? U(J, ae, he) : b(J, ae);\n }\n function X(J, ae) {\n if (J === ae)\n O(J, new TypeError(\"You cannot resolve a promise with itself\"));\n else if (he = typeof ae, ae === null || he != \"object\" && he != \"function\")\n b(J, ae);\n else {\n he = void 0;\n try {\n he = ae.then;\n } catch (_e) {\n return void O(J, _e);\n }\n W(J, ae, he);\n }\n var he;\n }\n function ne(J) {\n J._onerror && J._onerror(J._result), B(J);\n }\n function b(J, ae) {\n J._state === F && (J._result = ae, J._state = V, J._subscribers.length !== 0 && a(B, J));\n }\n function O(J, ae) {\n J._state === F && (J._state = G, J._result = ae, a(ne, J));\n }\n function D(J, ae, he, _e) {\n var fe = J._subscribers, ge = fe.length;\n J._onerror = null, fe[ge] = ae, fe[ge + V] = he, fe[ge + G] = _e, ge === 0 && J._state && a(B, J);\n }\n function B(J) {\n var ae = J._subscribers, he = J._state;\n if (ae.length !== 0) {\n for (var _e, fe = void 0, ge = J._result, xe = 0; xe < ae.length; xe += 3)\n _e = ae[xe], fe = ae[xe + he], _e ? Y(he, _e, fe, ge) : fe(ge);\n J._subscribers.length = 0;\n }\n }\n function Y(J, ae, he, _e) {\n var fe = g(he), ge = void 0, xe = void 0, De = !0;\n if (fe) {\n try {\n ge = he(_e);\n } catch (Me) {\n De = !1, xe = Me;\n }\n if (ae === ge)\n return void O(ae, new TypeError(\"A promises callback cannot return that same promise.\"));\n } else\n ge = _e;\n ae._state === F && (fe && De ? X(ae, ge) : De === !1 ? O(ae, xe) : J === V ? b(ae, ge) : J === G && O(ae, ge));\n }\n var K = 0;\n function te(J) {\n J[R] = K++, J._state = void 0, J._result = void 0, J._subscribers = [];\n }\n re.prototype._enumerate = function(J) {\n for (var ae = 0; this._state === F && ae < J.length; ae++)\n this._eachEntry(J[ae], ae);\n }, re.prototype._eachEntry = function(J, ae) {\n var he = this._instanceConstructor, _e = he.resolve;\n if (_e === A) {\n var fe, ge = void 0, xe = void 0, De = !1;\n try {\n ge = J.then;\n } catch (Me) {\n De = !0, xe = Me;\n }\n ge === x && J._state !== F ? this._settledAt(J._state, ae, J._result) : typeof ge != \"function\" ? (this._remaining--, this._result[ae] = J) : he === ue ? (fe = new he(L), De ? O(fe, xe) : W(fe, J, ge), this._willSettleAt(fe, ae)) : this._willSettleAt(new he(function(Me) {\n return Me(J);\n }), ae);\n } else\n this._willSettleAt(_e(J), ae);\n }, re.prototype._settledAt = function(J, ae, he) {\n var _e = this.promise;\n _e._state === F && (this._remaining--, J === G ? O(_e, he) : this._result[ae] = he), this._remaining === 0 && b(_e, this._result);\n }, re.prototype._willSettleAt = function(J, ae) {\n var he = this;\n D(J, void 0, function(_e) {\n return he._settledAt(V, ae, _e);\n }, function(_e) {\n return he._settledAt(G, ae, _e);\n });\n };\n var ce = re;\n function re(J, ae) {\n this._instanceConstructor = J, this.promise = new J(L), this.promise[R] || te(this.promise), f(ae) ? (this.length = ae.length, this._remaining = ae.length, this._result = new Array(this.length), this.length !== 0 && (this.length = this.length || 0, this._enumerate(ae), this._remaining !== 0) || b(this.promise, this._result)) : O(this.promise, new Error(\"Array Methods must be provided an Array\"));\n }\n le.prototype.catch = function(J) {\n return this.then(null, J);\n }, le.prototype.finally = function(J) {\n var ae = this.constructor;\n return g(J) ? this.then(function(he) {\n return ae.resolve(J()).then(function() {\n return he;\n });\n }, function(he) {\n return ae.resolve(J()).then(function() {\n throw he;\n });\n }) : this.then(J, J);\n };\n var ue = le;\n function le(J) {\n if (this[R] = K++, this._result = this._state = void 0, this._subscribers = [], L !== J) {\n if (typeof J != \"function\")\n throw new TypeError(\"You must pass a resolver function as the first argument to the promise constructor\");\n if (!(this instanceof le))\n throw new TypeError(\"Failed to construct 'Promise': Please use the 'new' operator, this object constructor cannot be called as a function.\");\n var ae = this;\n try {\n J(function(he) {\n X(ae, he);\n }, function(he) {\n O(ae, he);\n });\n } catch (he) {\n O(ae, he);\n }\n }\n }\n return ue.prototype.then = x, ue.all = function(J) {\n return new ce(this, J).promise;\n }, ue.race = function(J) {\n var ae = this;\n return f(J) ? new ae(function(he, _e) {\n for (var fe = J.length, ge = 0; ge < fe; ge++)\n ae.resolve(J[ge]).then(he, _e);\n }) : new ae(function(he, _e) {\n return _e(new TypeError(\"You must pass an array to race.\"));\n });\n }, ue.resolve = A, ue.reject = function(J) {\n var ae = new this(L);\n return O(ae, J), ae;\n }, ue._setScheduler = function(J) {\n o = J;\n }, ue._setAsap = function(J) {\n a = J;\n }, ue._asap = a, ue.polyfill = function() {\n var J = void 0;\n if (y !== void 0)\n J = y;\n else if (typeof self < \"u\")\n J = self;\n else\n try {\n J = Function(\"return this\")();\n } catch {\n throw new Error(\"polyfill failed because global object is unavailable in this environment\");\n }\n var ae = J.Promise;\n if (ae) {\n var he = null;\n try {\n he = Object.prototype.toString.call(ae.resolve());\n } catch {\n }\n if (he === \"[object Promise]\" && !ae.cast)\n return;\n }\n J.Promise = ue;\n }, ue.Promise = ue;\n }, typeof C == \"object\" && H !== void 0 ? H.exports = h() : u.ES6Promise = h();\n }).call(this, t(\"_process\"), typeof _r < \"u\" ? _r : typeof self < \"u\" ? self : typeof window < \"u\" ? window : {});\n }, { _process: 256 }], 248: [function(t, H, C) {\n var m, y;\n m = this, y = function(u, h) {\n var g = 5e3, f = \"callback\";\n function n(o) {\n try {\n delete window[o];\n } catch {\n window[o] = void 0;\n }\n }\n function s(o) {\n o = document.getElementById(o), o && document.getElementsByTagName(\"head\")[0].removeChild(o);\n }\n h.exports = function(o) {\n var a = arguments.length <= 1 || arguments[1] === void 0 ? {} : arguments[1], l = o, r = a.timeout || g, i = a.jsonpCallback || f, c = void 0;\n return new Promise(function(p, j) {\n var T = a.jsonpCallbackFunction || \"jsonp_\" + Date.now() + \"_\" + Math.ceil(1e5 * Math.random()), _ = i + \"_\" + T, S = (window[T] = function(E) {\n p({ ok: !0, json: function() {\n return Promise.resolve(E);\n } }), c && clearTimeout(c), s(_), n(T);\n }, l += l.indexOf(\"?\") === -1 ? \"?\" : \"&\", document.createElement(\"script\"));\n S.setAttribute(\"src\", \"\" + l + i + \"=\" + T), a.charset && S.setAttribute(\"charset\", a.charset), S.id = _, document.getElementsByTagName(\"head\")[0].appendChild(S), c = setTimeout(function() {\n j(new Error(\"JSONP request to \" + o + \" timed out\")), n(T), s(_), window[T] = function() {\n n(T);\n };\n }, r), S.onerror = function() {\n j(new Error(\"JSONP request to \" + o + \" failed\")), n(T), s(_), c && clearTimeout(c);\n };\n });\n };\n }, C !== void 0 && H !== void 0 ? y(0, H) : (y(y = { exports: {} }, y), m.fetchJsonp = y.exports);\n }, {}], 249: [function(t, H, C) {\n var m = function(y) {\n var u, h, g, f, n, s, o, a, l, r, i;\n if (!(y === void 0 || typeof navigator < \"u\" && /MSIE [1-9]\\./.test(navigator.userAgent)))\n return i = y.document, u = function() {\n return y.URL || y.webkitURL || y;\n }, h = i.createElementNS(\"http://www.w3.org/1999/xhtml\", \"a\"), g = \"download\" in h, f = /constructor/i.test(y.HTMLElement) || y.safari, n = /CriOS\\/[\\d]+/.test(navigator.userAgent), s = function(c) {\n (y.setImmediate || y.setTimeout)(function() {\n throw c;\n }, 0);\n }, o = 4e4, a = function(c) {\n setTimeout(function() {\n typeof c == \"string\" ? u().revokeObjectURL(c) : c.remove();\n }, o);\n }, l = function(c) {\n return /^\\s*(?:text\\/\\S*|application\\/xml|\\S*\\/\\S*\\+xml)\\s*;.*charset\\s*=\\s*utf-8/i.test(c.type) ? new Blob([\"\\uFEFF\", c], { type: c.type }) : c;\n }, i = (r = function(c, p, E) {\n E || (c = l(c));\n var T, _, S = this, E = c.type === \"application/octet-stream\", P = function() {\n for (var x = S, A = \"writestart progress write writeend\".split(\" \"), M = void 0, R = (A = [].concat(A)).length; R--; ) {\n var L = x[\"on\" + A[R]];\n if (typeof L == \"function\")\n try {\n L.call(x, M || x);\n } catch (F) {\n s(F);\n }\n }\n };\n S.readyState = S.INIT, g ? (T = u().createObjectURL(c), setTimeout(function() {\n var x, A;\n h.href = T, h.download = p, x = h, A = new MouseEvent(\"click\"), x.dispatchEvent(A), P(), a(T), S.readyState = S.DONE;\n })) : (n || E && f) && y.FileReader ? ((_ = new FileReader()).onloadend = function() {\n var x = n ? _.result : _.result.replace(/^data:[^;]*;/, \"data:attachment/file;\");\n y.open(x, \"_blank\") || (y.location.href = x), x = void 0, S.readyState = S.DONE, P();\n }, _.readAsDataURL(c), S.readyState = S.INIT) : (T = T || u().createObjectURL(c), !E && y.open(T, \"_blank\") || (y.location.href = T), S.readyState = S.DONE, P(), a(T));\n }).prototype, typeof navigator < \"u\" && navigator.msSaveOrOpenBlob ? function(c, p, j) {\n return p = p || c.name || \"download\", j || (c = l(c)), navigator.msSaveOrOpenBlob(c, p);\n } : (i.abort = function() {\n }, i.readyState = i.INIT = 0, i.WRITING = 1, i.DONE = 2, i.error = i.onwritestart = i.onprogress = i.onwrite = i.onabort = i.onerror = i.onwriteend = null, function(c, p, j) {\n return new r(c, p || c.name || \"download\", j);\n });\n }(typeof self < \"u\" && self || typeof window < \"u\" && window || this.content);\n H !== void 0 && H.exports ? H.exports.saveAs = m : Vt != null;\n }, {}], 250: [function(t, H, C) {\n var m, y = Object.defineProperty, u = (y(C, \"__esModule\", { value: !0 }), C), h = { GIFEncoder: () => P, applyPalette: () => function(F, V, G = \"rgb565\") {\n if (!F || !F.buffer)\n throw new Error(\"quantize() expected RGBA Uint8Array data\");\n if (!(F instanceof Uint8Array || F instanceof Uint8ClampedArray))\n throw new Error(\"quantize() expected RGBA Uint8Array data\");\n if (256 < V.length)\n throw new Error(\"applyPalette() only works with 256 colors or less\");\n const U = new Uint32Array(F.buffer), W = U.length, X = G === \"rgb444\" ? 4096 : 65536, ne = new Uint8Array(W), b = new Array(X);\n if (G === \"rgba4444\")\n for (let le = 0; le < W; le++) {\n var Y = U[le], O = Y >> 24 & 255, D = Y >> 16 & 255, B = Y >> 8 & 255, Y = 255 & Y, K = a(Y, B, D, O), K = K in b ? b[K] : b[K] = function(J, ae, he, _e, fe) {\n let ge = 0, xe = 1e100;\n for (let ze = 0; ze < fe.length; ze++) {\n var De, Me = fe[ze], Qe = _(Me[3] - _e);\n Qe > xe || (De = Me[0], (Qe += _(De - J)) > xe || (De = Me[1], (Qe += _(De - ae)) > xe || (De = Me[2], (Qe += _(De - he)) > xe || (xe = Qe, ge = ze))));\n }\n return ge;\n }(Y, B, D, O, V);\n ne[le] = K;\n }\n else {\n const le = G === \"rgb444\" ? l : o;\n for (let J = 0; J < W; J++) {\n var re = U[J], te = re >> 16 & 255, ce = re >> 8 & 255, re = 255 & re, ue = le(re, ce, te), ue = ue in b ? b[ue] : b[ue] = function(ae, he, _e, fe) {\n let ge = 0, xe = 1e100;\n for (let ze = 0; ze < fe.length; ze++) {\n var De, Me = fe[ze], Qe = _(Me[0] - ae);\n Qe > xe || (De = Me[1], (Qe += _(De - he)) > xe || (De = Me[2], (Qe += _(De - _e)) > xe || (xe = Qe, ge = ze)));\n }\n return ge;\n }(re, ce, te, V);\n ne[J] = ue;\n }\n }\n return ne;\n }, default: () => L, nearestColor: () => function(F, V, G = j) {\n return F[S(F, V, G)];\n }, nearestColorIndex: () => S, nearestColorIndexWithDistance: () => E, prequantize: () => function(F, { roundRGB: V = 5, roundAlpha: G = 10, oneBitAlpha: U = null } = {}) {\n const W = new Uint32Array(F.buffer);\n for (let D = 0; D < W.length; D++) {\n var O = W[D];\n let B = O >> 24 & 255;\n var X, ne = O >> 16 & 255, b = O >> 8 & 255, O = 255 & O;\n B = T(B, G), U && (X = typeof U == \"number\" ? U : 127, B = B <= X ? 0 : 255), O = T(O, V), b = T(b, V), ne = T(ne, V), W[D] = B << 24 | ne << 16 | b << 8 | O << 0;\n }\n }, quantize: () => function(F, V, G = {}) {\n var { format: U = \"rgb565\", clearAlpha: W = !0, clearAlphaColor: X = 0, clearAlphaThreshold: ne = 0, oneBitAlpha: b = !1 } = G;\n if (!F || !F.buffer)\n throw new Error(\"quantize() expected RGBA Uint8Array data\");\n if (!(F instanceof Uint8Array || F instanceof Uint8ClampedArray))\n throw new Error(\"quantize() expected RGBA Uint8Array data\");\n F = new Uint32Array(F.buffer);\n let O = G.useSqrt !== !1;\n const D = U === \"rgba4444\", B = function(Ve, Xe) {\n const He = Xe === \"rgb444\" ? 4096 : 65536, ve = new Array(He), Re = Ve.length;\n if (Xe === \"rgba4444\")\n for (let nt = 0; nt < Re; ++nt) {\n var q = Ve[nt], we = q >> 24 & 255, Z = q >> 16 & 255, $ = q >> 8 & 255, q = 255 & q, ee = a(q, $, Z, we);\n let Ke = ee in ve ? ve[ee] : ve[ee] = p();\n Ke.rc += q, Ke.gc += $, Ke.bc += Z, Ke.ac += we, Ke.cnt++;\n }\n else if (Xe === \"rgb444\")\n for (let nt = 0; nt < Re; ++nt) {\n var Ce = Ve[nt], pe = Ce >> 16 & 255, je = Ce >> 8 & 255, Ce = 255 & Ce, Fe = l(Ce, je, pe);\n let Ke = Fe in ve ? ve[Fe] : ve[Fe] = p();\n Ke.rc += Ce, Ke.gc += je, Ke.bc += pe, Ke.cnt++;\n }\n else\n for (let nt = 0; nt < Re; ++nt) {\n var We = Ve[nt], Ne = We >> 16 & 255, Be = We >> 8 & 255, We = 255 & We, st = o(We, Be, Ne);\n let Ke = st in ve ? ve[st] : ve[st] = p();\n Ke.rc += We, Ke.gc += Be, Ke.bc += Ne, Ke.cnt++;\n }\n return ve;\n }(F, U), Y = B.length, K = Y - 1, te = new Uint32Array(Y + 1);\n for (var ce = 0, re = 0; re < Y; ++re) {\n const Ve = B[re];\n Ve != null && (Me = 1 / Ve.cnt, D && (Ve.ac *= Me), Ve.rc *= Me, Ve.gc *= Me, Ve.bc *= Me, B[ce++] = Ve);\n }\n i(V) / ce < 0.022 && (O = !1);\n for (var ue, le, J, re = 0; re < ce - 1; ++re)\n B[re].fw = re + 1, B[re + 1].bk = re, O && (B[re].cnt = Math.sqrt(B[re].cnt));\n for (O && (B[re].cnt = Math.sqrt(B[re].cnt)), re = 0; re < ce; ++re) {\n c(B, re, !1);\n var ae = B[re].err;\n for (le = ++te[0]; 1 < le && (J = le >> 1, !(B[ue = te[J]].err <= ae)); le = J)\n te[le] = ue;\n te[le] = re;\n }\n var he, _e = ce - V;\n for (re = 0; re < _e; ) {\n for (; ; ) {\n var fe = te[1];\n if ((he = B[fe]).tm >= he.mtm && B[he.nn].mtm <= he.tm)\n break;\n for (he.mtm == K ? fe = te[1] = te[te[0]--] : (c(B, fe, !1), he.tm = re), ae = B[fe].err, le = 1; (J = le + le) <= te[0] && (J < te[0] && B[te[J]].err > B[te[J + 1]].err && J++, !(ae <= B[ue = te[J]].err)); le = J)\n te[le] = ue;\n te[le] = fe;\n }\n var ge = B[he.nn], xe = he.cnt, De = ge.cnt, Me = 1 / (xe + De);\n D && (he.ac = Me * (xe * he.ac + De * ge.ac)), he.rc = Me * (xe * he.rc + De * ge.rc), he.gc = Me * (xe * he.gc + De * ge.gc), he.bc = Me * (xe * he.bc + De * ge.bc), he.cnt += ge.cnt, he.mtm = ++re, B[ge.bk].fw = ge.fw, B[ge.fw].bk = ge.bk, ge.mtm = K;\n }\n let Qe = [];\n for (re = 0; ; 0) {\n let Ve = r(Math.round(B[re].rc), 0, 255), Xe = r(Math.round(B[re].gc), 0, 255), He = r(Math.round(B[re].bc), 0, 255), ve = 255;\n D && (ve = r(Math.round(B[re].ac), 0, 255), b && (ze = typeof b == \"number\" ? b : 127, ve = ve <= ze ? 0 : 255), W && ve <= ne && (Ve = Xe = He = X, ve = 0));\n var ze = D ? [Ve, Xe, He, ve] : [Ve, Xe, He];\n if (function(Re, we) {\n for (let q = 0; q < Re.length; q++) {\n var $ = Re[q], Z = $[0] === we[0] && $[1] === we[1] && $[2] === we[2], $ = !(4 <= $.length && 4 <= we.length) || $[3] === we[3];\n if (Z && $)\n return !0;\n }\n return !1;\n }(Qe, ze) || Qe.push(ze), (re = B[re].fw) == 0)\n break;\n }\n return Qe;\n }, snapColorsToPalette: () => function(F, V, G = 5) {\n if (F.length && V.length) {\n var U = F.map((O) => O.slice(0, 3)), W = G * G, X = F[0].length;\n for (let O = 0; O < V.length; O++) {\n let D = V[O];\n D = D.length < X ? [D[0], D[1], D[2], 255] : D.length > X ? D.slice(0, 3) : D.slice();\n var b = E(U, D.slice(0, 3), j), ne = b[0], b = b[1];\n 0 < b && b <= W && (F[ne] = D);\n }\n }\n } };\n for (m in h)\n y(u, m, { get: h[m], enumerable: !0 });\n var g = { signature: \"GIF\", version: \"89a\", trailer: 59, extensionIntroducer: 33, applicationExtensionLabel: 255, graphicControlExtensionLabel: 249, imageSeparator: 44, signatureSize: 3, versionSize: 3, globalColorTableFlagMask: 128, colorResolutionMask: 112, sortFlagMask: 8, globalColorTableSizeMask: 7, applicationIdentifierSize: 8, applicationAuthCodeSize: 3, disposalMethodMask: 28, userInputFlagMask: 2, transparentColorFlagMask: 1, localColorTableFlagMask: 128, interlaceFlagMask: 64, idSortFlagMask: 32, localColorTableSizeMask: 7 };\n function f(F = 256) {\n let V = 0, G = new Uint8Array(F);\n return { get buffer() {\n return G.buffer;\n }, reset() {\n V = 0;\n }, bytesView() {\n return G.subarray(0, V);\n }, bytes() {\n return G.slice(0, V);\n }, writeByte(W) {\n U(V + 1), G[V] = W, V++;\n }, writeBytes(W, X = 0, ne = W.length) {\n U(V + ne);\n for (let b = 0; b < ne; b++)\n G[V++] = W[b + X];\n }, writeBytesView(W, X = 0, ne = W.byteLength) {\n U(V + ne), G.set(W.subarray(X, X + ne), V), V += ne;\n } };\n function U(W) {\n var X = G.length;\n if (!(W <= X)) {\n W = Math.max(W, X * (X < 1048576 ? 2 : 1.125) >>> 0), X != 0 && (W = Math.max(W, 256));\n const ne = G;\n G = new Uint8Array(W), 0 < V && G.set(ne.subarray(0, V), 0);\n }\n }\n }\n var n = [0, 1, 3, 7, 15, 31, 63, 127, 255, 511, 1023, 2047, 4095, 8191, 16383, 32767, 65535], s = function(F, V, G, D, W = f(512), X = new Uint8Array(256), ne = new Int32Array(5003), b = new Int32Array(5003)) {\n var O = ne.length, D = Math.max(2, D);\n X.fill(0), b.fill(0), ne.fill(-1);\n let B = 0, Y = 0;\n var K = D + 1;\n const te = K;\n let ce = !1, re = te, ue = (1 << re) - 1;\n var le = 1 << K - 1;\n const J = 1 + le;\n let ae = 2 + le, he = 0, _e = G[0], fe = 0;\n for (let ze = O; ze < 65536; ze *= 2)\n ++fe;\n fe = 8 - fe, W.writeByte(D), Qe(le);\n var ge = G.length;\n for (let ze = 1; ze < ge; ze++)\n e: {\n var xe = G[ze], De = (xe << 12) + _e;\n let Ve = xe << fe ^ _e;\n if (ne[Ve] === De)\n _e = b[Ve];\n else {\n for (var Me = Ve === 0 ? 1 : O - Ve; 0 <= ne[Ve]; )\n if ((Ve -= Me) < 0 && (Ve += O), ne[Ve] === De) {\n _e = b[Ve];\n break e;\n }\n Qe(_e), _e = xe, ae < 4096 ? (b[Ve] = ae++, ne[Ve] = De) : (ne.fill(-1), ae = 2 + le, ce = !0, Qe(le));\n }\n }\n return Qe(_e), Qe(J), W.writeByte(0), W.bytesView();\n function Qe(ze) {\n for (B &= n[Y], 0 < Y ? B |= ze << Y : B = ze, Y += re; 8 <= Y; )\n X[he++] = 255 & B, 254 <= he && (W.writeByte(he), W.writeBytesView(X, 0, he), he = 0), B >>= 8, Y -= 8;\n if ((ae > ue || ce) && (ce ? (re = te, ue = (1 << re) - 1, ce = !1) : (++re, ue = re === 12 ? 1 << re : (1 << re) - 1)), ze == J) {\n for (; 0 < Y; )\n X[he++] = 255 & B, 254 <= he && (W.writeByte(he), W.writeBytesView(X, 0, he), he = 0), B >>= 8, Y -= 8;\n 0 < he && (W.writeByte(he), W.writeBytesView(X, 0, he), he = 0);\n }\n }\n };\n function o(F, V, G) {\n return F << 8 & 63488 | V << 2 & 992 | G >> 3;\n }\n function a(F, V, G, U) {\n return F >> 4 | 240 & V | (240 & G) << 4 | (240 & U) << 8;\n }\n function l(F, V, G) {\n return F >> 4 << 8 | 240 & V | G >> 4;\n }\n function r(F, V, G) {\n return F < V ? V : G < F ? G : F;\n }\n function i(F) {\n return F * F;\n }\n function c(F, V, G) {\n var U = 0, W = 1e100;\n const X = F[V];\n for (var ne = X.cnt, b = X.ac, O = X.rc, D = X.gc, B = X.bc, Y = X.fw; Y != 0; Y = F[Y].fw) {\n var K, te = F[Y], ce = te.cnt, ce = ne * ce / (ne + ce);\n W <= ce || (K = 0, G && W <= (K += ce * i(te.ac - b)) || W <= (K += ce * i(te.rc - O)) || W <= (K += ce * i(te.gc - D)) || W <= (K += ce * i(te.bc - B)) || (W = K, U = Y));\n }\n X.err = W, X.nn = U;\n }\n function p() {\n return { ac: 0, rc: 0, gc: 0, bc: 0, cnt: 0, nn: 0, fw: 0, bk: 0, tm: 0, mtm: 0, err: 0 };\n }\n function j(F, V) {\n for (var G = 0, U = 0; U < F.length; U++) {\n var W = F[U] - V[U];\n G += W * W;\n }\n return G;\n }\n function T(F, V) {\n return 1 < V ? Math.round(F / V) * V : F;\n }\n function _(F) {\n return F * F;\n }\n function S(F, V, G = j) {\n let U = 1 / 0, W = -1;\n for (let ne = 0; ne < F.length; ne++) {\n var X = G(V, F[ne]);\n X < U && (U = X, W = ne);\n }\n return W;\n }\n function E(F, V, G = j) {\n let U = 1 / 0, W = -1;\n for (let ne = 0; ne < F.length; ne++) {\n var X = G(V, F[ne]);\n X < U && (U = X, W = ne);\n }\n return [W, U];\n }\n function P(F = {}) {\n const { initialCapacity: V = 4096, auto: G = !0 } = F, U = f(V), W = new Uint8Array(256), X = new Int32Array(5003), ne = new Int32Array(5003);\n let b = !1;\n return { reset() {\n U.reset(), b = !1;\n }, finish() {\n U.writeByte(g.trailer);\n }, bytes() {\n return U.bytes();\n }, bytesView() {\n return U.bytesView();\n }, get buffer() {\n return U.buffer;\n }, get stream() {\n return U;\n }, writeHeader: O, writeFrame(D, B, Y, _e = {}) {\n var { transparent: te = !1, transparentIndex: ce = 0, delay: Me = 0, palette: re = null, repeat: ge = 0, colorDepth: ue = 8, dispose: le = -1 } = _e;\n let J = !1;\n if (G ? b || (J = !0, O(), b = !0) : J = !!_e.first, B = Math.max(0, Math.floor(B)), Y = Math.max(0, Math.floor(Y)), J) {\n if (!re)\n throw new Error(\"First frame must include a { palette } option\");\n var [_e, xe, he, De, fe = 8] = [U, B, Y, re, ue];\n De = R(De.length) - 1, fe = 128 | fe - 1 << 4 | De, A(_e, xe), A(_e, he), _e.writeBytes([fe, 0, 0]), x(U, re), 0 <= ge && (De = U, xe = ge, De.writeByte(33), De.writeByte(255), De.writeByte(11), M(De, \"NETSCAPE2.0\"), De.writeByte(3), De.writeByte(1), A(De, xe), De.writeByte(0));\n }\n var ae, he = Math.round(Me / 10), _e = U, fe = le, ge = he, xe = te, De = ce, Me = (_e.writeByte(33), _e.writeByte(249), _e.writeByte(4), De < 0 && (De = 0, xe = !1), xe = xe ? (ae = 1, 2) : ae = 0, 0 <= fe && (xe = 7 & fe), xe <<= 2, _e.writeByte(0 | xe | ae), A(_e, ge), _e.writeByte(De || 0), _e.writeByte(0), !!re && !J);\n le = U, te = B, ce = Y, ae = Me ? re : null, le.writeByte(44), A(le, 0), A(le, 0), A(le, te), A(le, ce), ae ? (te = R(ae.length) - 1, le.writeByte(128 | te)) : le.writeByte(0), Me && x(U, re), [ge, _e, ce, te, le = 8, Me, re, D] = [U, D, B, Y, ue, W, X, ne], s(ce, te, _e, le, ge, Me, re, D);\n } };\n function O() {\n M(U, \"GIF89a\");\n }\n }\n function x(F, V) {\n var G = 1 << R(V.length);\n for (let U = 0; U < G; U++) {\n let W = [0, 0, 0];\n U < V.length && (W = V[U]), F.writeByte(W[0]), F.writeByte(W[1]), F.writeByte(W[2]);\n }\n }\n function A(F, V) {\n F.writeByte(255 & V), F.writeByte(V >> 8 & 255);\n }\n function M(F, V) {\n for (var G = 0; G < V.length; G++)\n F.writeByte(V.charCodeAt(G));\n }\n function R(F) {\n return Math.max(Math.ceil(Math.log2(F)), 1);\n }\n var L = P;\n }, {}], 251: [function(t, H, C) {\n C.read = function(m, y, u, h, c) {\n var f, n, s = 8 * c - h - 1, o = (1 << s) - 1, a = o >> 1, l = -7, r = u ? c - 1 : 0, i = u ? -1 : 1, c = m[y + r];\n for (r += i, f = c & (1 << -l) - 1, c >>= -l, l += s; 0 < l; f = 256 * f + m[y + r], r += i, l -= 8)\n ;\n for (n = f & (1 << -l) - 1, f >>= -l, l += h; 0 < l; n = 256 * n + m[y + r], r += i, l -= 8)\n ;\n if (f === 0)\n f = 1 - a;\n else {\n if (f === o)\n return n ? NaN : 1 / 0 * (c ? -1 : 1);\n n += Math.pow(2, h), f -= a;\n }\n return (c ? -1 : 1) * n * Math.pow(2, f - h);\n }, C.write = function(m, y, u, h, g, p) {\n var n, s, o = 8 * p - g - 1, a = (1 << o) - 1, l = a >> 1, r = g === 23 ? Math.pow(2, -24) - Math.pow(2, -77) : 0, i = h ? 0 : p - 1, c = h ? 1 : -1, p = y < 0 || y === 0 && 1 / y < 0 ? 1 : 0;\n for (y = Math.abs(y), isNaN(y) || y === 1 / 0 ? (s = isNaN(y) ? 1 : 0, n = a) : (n = Math.floor(Math.log(y) / Math.LN2), y * (h = Math.pow(2, -n)) < 1 && (n--, h *= 2), 2 <= (y += 1 <= n + l ? r / h : r * Math.pow(2, 1 - l)) * h && (n++, h /= 2), a <= n + l ? (s = 0, n = a) : 1 <= n + l ? (s = (y * h - 1) * Math.pow(2, g), n += l) : (s = y * Math.pow(2, l - 1) * Math.pow(2, g), n = 0)); 8 <= g; m[u + i] = 255 & s, i += c, s /= 256, g -= 8)\n ;\n for (n = n << g | s, o += g; 0 < o; m[u + i] = 255 & n, i += c, n /= 256, o -= 8)\n ;\n m[u + i - c] |= 128 * p;\n };\n }, {}], 252: [function(t, H, C) {\n var m;\n function y(Z, $) {\n return Z.b === $.b && Z.a === $.a;\n }\n function u(Z, $) {\n return Z.b < $.b || Z.b === $.b && Z.a <= $.a;\n }\n function h(Z, $, q) {\n var ee = $.b - Z.b, pe = q.b - $.b;\n return 0 < ee + pe ? ee < pe ? $.a - Z.a + ee / (ee + pe) * (Z.a - q.a) : $.a - q.a + pe / (ee + pe) * (q.a - Z.a) : 0;\n }\n function g(Z, $, q) {\n var ee = $.b - Z.b, pe = q.b - $.b;\n return 0 < ee + pe ? ($.a - q.a) * ee + ($.a - Z.a) * pe : 0;\n }\n function f(Z, $) {\n return Z.a < $.a || Z.a === $.a && Z.b <= $.b;\n }\n function n(Z, $, q) {\n var ee = $.a - Z.a, pe = q.a - $.a;\n return 0 < ee + pe ? ee < pe ? $.b - Z.b + ee / (ee + pe) * (Z.b - q.b) : $.b - q.b + pe / (ee + pe) * (q.b - Z.b) : 0;\n }\n function s(Z, $, q) {\n var ee = $.a - Z.a, pe = q.a - $.a;\n return 0 < ee + pe ? ($.b - q.b) * ee + ($.b - Z.b) * pe : 0;\n }\n function o(Z, $, q, ee) {\n return (Z = Z < 0 ? 0 : Z) <= (q = q < 0 ? 0 : q) ? q === 0 ? ($ + ee) / 2 : $ + Z / (Z + q) * (ee - $) : ee + q / (Z + q) * ($ - ee);\n }\n function a(Z) {\n var $ = p(Z.b);\n return T($, Z.c), T($.b, Z.c), _($, Z.a), $;\n }\n function l(Z, $) {\n var q = !1, ee = !1;\n Z !== $ && ($.a !== Z.a && (ee = !0, E($.a, Z.a)), $.d !== Z.d && (q = !0, P($.d, Z.d)), j($, Z), ee || (T($, Z.a), Z.a.c = Z), q || (_($, Z.d), Z.d.a = Z));\n }\n function r(Z) {\n var $ = Z.b, q = !1;\n Z.d !== Z.b.d && (q = !0, P(Z.d, Z.b.d)), Z.c === Z ? E(Z.a, null) : (Z.b.d.a = Z.b.e, Z.a.c = Z.c, j(Z, Z.b.e), q || _(Z, Z.d)), $.c === $ ? (E($.a, null), P($.d, null)) : (Z.d.a = $.b.e, $.a.c = $.c, j($, $.b.e)), S(Z);\n }\n function i(Z) {\n var $ = p(Z), q = $.b;\n return j($, Z.e), $.a = Z.b.a, T(q, $.a), $.d = q.d = Z.d, $ = $.b, j(Z.b, Z.b.b.e), j(Z.b, $), Z.b.a = $.a, $.b.a.c = $.b, $.b.d = Z.b.d, $.f = Z.f, $.b.f = Z.b.f, $;\n }\n function c(Z, $) {\n var q = !1, ee = p(Z), pe = ee.b;\n return $.d !== Z.d && (q = !0, P($.d, Z.d)), j(ee, Z.e), j(pe, $), ee.a = Z.b.a, pe.a = $.a, ee.d = pe.d = Z.d, Z.d.a = pe, q || _(ee, Z.d), ee;\n }\n function p(Z) {\n var $ = new he(), q = new he(), ee = Z.b.h;\n return (((q.h = ee).b.h = $).h = Z).b.h = q, $.b = q, (($.c = $).e = q).b = $, (q.c = q).e = $;\n }\n function j(Z, $) {\n var q = Z.c, ee = $.c;\n q.b.e = $, (ee.b.e = Z).c = ee, $.c = q;\n }\n function T(Z, $) {\n var q = $.f, ee = new fe($, q);\n for (q.e = ee, q = ($.f = ee).c = Z; q.a = ee, (q = q.c) !== Z; )\n ;\n }\n function _(Z, $) {\n var q = $.d, ee = new ae($, q);\n for (q.b = ee, ($.d = ee).a = Z, ee.c = $.c, q = Z; q.d = ee, (q = q.e) !== Z; )\n ;\n }\n function S(Z) {\n var $ = Z.h;\n Z = Z.b.h, ($.b.h = Z).b.h = $;\n }\n function E(Z, $) {\n for (var q = Z.c, ee = q; ee.a = $, (ee = ee.c) !== q; )\n ;\n q = Z.f, ((ee = Z.e).f = q).e = ee;\n }\n function P(Z, $) {\n for (var q = Z.a, ee = q; ee.d = $, (ee = ee.e) !== q; )\n ;\n q = Z.d, ((ee = Z.b).d = q).b = ee;\n }\n function x(Z) {\n var $ = 0;\n return Math.abs(Z[1]) > Math.abs(Z[0]) && ($ = 1), $ = Math.abs(Z[2]) > Math.abs(Z[$]) ? 2 : $;\n }\n function A(Z, $) {\n Z.f += $.f, Z.b.f += $.b.f;\n }\n function M(Z, $, q) {\n return Z = Z.a, $ = $.a, q = q.a, $.b.a === Z ? q.b.a === Z ? u($.a, q.a) ? g(q.b.a, $.a, q.a) <= 0 : 0 <= g($.b.a, q.a, $.a) : g(q.b.a, Z, q.a) <= 0 : q.b.a === Z ? 0 <= g($.b.a, Z, $.a) : ($ = h($.b.a, Z, $.a), (Z = h(q.b.a, Z, q.a)) <= $);\n }\n function R(Z) {\n Z.a.i = null;\n var $ = Z.e;\n $.a.c = $.c, $.c.a = $.a, Z.e = null;\n }\n function L(Z, $) {\n r(Z.a), Z.c = !1, (Z.a = $).i = Z;\n }\n function F(Z) {\n for (var $ = Z.a.a; (Z = we(Z)).a.a === $; )\n ;\n return Z.c && (L(Z, $ = c(Re(Z).a.b, Z.a.e)), Z = we(Z)), Z;\n }\n function V(Z, $, q) {\n var ee = new ve();\n return ee.a = q, ee.e = ce(Z.f, $.e, ee), q.i = ee;\n }\n function G(Z, $) {\n switch (Z.s) {\n case 100130:\n return (1 & $) != 0;\n case 100131:\n return $ !== 0;\n case 100132:\n return 0 < $;\n case 100133:\n return $ < 0;\n case 100134:\n return 2 <= $ || $ <= -2;\n }\n return !1;\n }\n function U(Z) {\n var $ = Z.a, q = $.d;\n q.c = Z.d, q.a = $, R(Z);\n }\n function W(Z, $, q) {\n for ($ = (Z = $).a; Z !== q; ) {\n Z.c = !1;\n var ee = Re(Z), pe = ee.a;\n if (pe.a !== $.a) {\n if (!ee.c) {\n U(Z);\n break;\n }\n L(ee, pe = c($.c.b, pe.b));\n }\n $.c !== pe && (l(pe.b.e, pe), l($, pe)), U(Z), $ = ee.a, Z = ee;\n }\n return $;\n }\n function X(Z, $, q, ee, pe, je) {\n for (var Ce = !0; V(Z, $, q.b), (q = q.c) !== ee; )\n ;\n for (pe === null && (pe = Re($).a.b.c); (q = (ee = Re($)).a.b).a === pe.a; )\n q.c !== pe && (l(q.b.e, q), l(pe.b.e, q)), ee.f = $.f - q.f, ee.d = G(Z, ee.f), $.b = !0, !Ce && D(Z, $) && (A(q, pe), R($), r(pe)), Ce = !1, $ = ee, pe = q;\n $.b = !0, je && Y(Z, $);\n }\n function ne(Z, $, q, ee, pe) {\n var je = [$.g[0], $.g[1], $.g[2]];\n $.d = null, $.d = Z.o && Z.o(je, q, ee, Z.c) || null, $.d === null && (pe ? Z.n || (J(Z, 100156), Z.n = !0) : $.d = q[0]);\n }\n function b(Z, $, q) {\n var ee = [null, null, null, null];\n ee[0] = $.a.d, ee[1] = q.a.d, ne(Z, $.a, ee, [0.5, 0.5, 0, 0], !1), l($, q);\n }\n function O(Z, $, q, ee, pe) {\n var je = Math.abs($.b - Z.b) + Math.abs($.a - Z.a), Ce = Math.abs(q.b - Z.b) + Math.abs(q.a - Z.a), Fe = pe + 1;\n ee[pe] = 0.5 * Ce / (je + Ce), ee[Fe] = 0.5 * je / (je + Ce), Z.g[0] += ee[pe] * $.g[0] + ee[Fe] * q.g[0], Z.g[1] += ee[pe] * $.g[1] + ee[Fe] * q.g[1], Z.g[2] += ee[pe] * $.g[2] + ee[Fe] * q.g[2];\n }\n function D(Z, $) {\n var q = Re($), ee = $.a, pe = q.a;\n if (u(ee.a, pe.a)) {\n if (0 < g(pe.b.a, ee.a, pe.a))\n return;\n if (y(ee.a, pe.a)) {\n if (ee.a !== pe.a) {\n var q = Z.e, je = ee.a.h;\n if (0 <= je) {\n var Ce = (q = q.b).d, Fe = q.e, Ne = q.c, Be = Ne[je];\n Ce[Be] = Ce[q.a], (Ne[Ce[Be]] = Be) <= --q.a && (Be <= 1 || u(Fe[Ce[Be >> 1]], Fe[Ce[Be]]) ? Xe : He)(q, Be), Fe[je] = null, Ne[je] = q.b, q.b = je;\n } else\n for (q.c[-(je + 1)] = null; 0 < q.a && q.c[q.d[q.a - 1]] === null; )\n --q.a;\n b(Z, pe.b.e, ee);\n }\n } else\n i(pe.b), l(ee, pe.b.e), $.b = q.b = !0;\n } else {\n if (g(ee.b.a, pe.a, ee.a) < 0)\n return;\n we($).b = $.b = !0, i(ee.b), l(pe.b.e, ee);\n }\n return 1;\n }\n function B(Z, $) {\n var q = Re($), ee = $.a, pe = q.a, je = ee.a, Ce = pe.a, Fe = ee.b.a, Ne = pe.b.a, Be = new fe();\n if (g(Fe, Z.a, je), g(Ne, Z.a, Ce), !(je === Ce || Math.min(je.a, Fe.a) > Math.max(Ce.a, Ne.a))) {\n if (u(je, Ce)) {\n if (0 < g(Ne, je, Ce))\n return;\n } else if (g(Fe, Ce, je) < 0)\n return;\n var We, st, nt = Fe, Ke = je, at = Ne, ot = Ce;\n if (u(nt, Ke) || (We = nt, nt = Ke, Ke = We), u(at, ot) || (We = at, at = ot, ot = We), u(nt, at) || (We = nt, nt = at, at = We, We = Ke, Ke = ot, ot = We), u(at, Ke) ? u(Ke, ot) ? ((We = h(nt, at, Ke)) + (st = h(at, Ke, ot)) < 0 && (We = -We, st = -st), Be.b = o(We, at.b, st, Ke.b)) : ((We = g(nt, at, Ke)) + (st = -g(nt, ot, Ke)) < 0 && (We = -We, st = -st), Be.b = o(We, at.b, st, ot.b)) : Be.b = (at.b + Ke.b) / 2, f(nt, Ke) || (We = nt, nt = Ke, Ke = We), f(at, ot) || (We = at, at = ot, ot = We), f(nt, at) || (We = nt, nt = at, at = We, We = Ke, Ke = ot, ot = We), f(at, Ke) ? f(Ke, ot) ? ((We = n(nt, at, Ke)) + (st = n(at, Ke, ot)) < 0 && (We = -We, st = -st), Be.a = o(We, at.a, st, Ke.a)) : ((We = s(nt, at, Ke)) + (st = -s(nt, ot, Ke)) < 0 && (We = -We, st = -st), Be.a = o(We, at.a, st, ot.a)) : Be.a = (at.a + Ke.a) / 2, u(Be, Z.a) && (Be.b = Z.a.b, Be.a = Z.a.a), nt = u(je, Ce) ? je : Ce, u(nt, Be) && (Be.b = nt.b, Be.a = nt.a), y(Be, je) || y(Be, Ce))\n return D(Z, $), 0;\n if (!y(Fe, Z.a) && 0 <= g(Fe, Z.a, Be) || !y(Ne, Z.a) && g(Ne, Z.a, Be) <= 0) {\n if (Ne === Z.a)\n i(ee.b), l(pe.b, ee), ee = Re($ = F($)).a, W(Z, Re($), q), X(Z, $, ee.b.e, ee, ee, !0);\n else {\n if (Fe !== Z.a)\n return 0 <= g(Fe, Z.a, Be) && (we($).b = $.b = !0, i(ee.b), ee.a.b = Z.a.b, ee.a.a = Z.a.a), void (g(Ne, Z.a, Be) <= 0 && ($.b = q.b = !0, i(pe.b), pe.a.b = Z.a.b, pe.a.a = Z.a.a));\n for (i(pe.b), l(ee.e, pe.b.e), Ce = (je = q = $).a.b.a; (je = we(je)).a.b.a === Ce; )\n ;\n je = Re($ = je).a.b.c, q.a = pe.b.e, X(Z, $, (pe = W(Z, q, null)).c, ee.b.c, je, !0);\n }\n return 1;\n }\n i(ee.b), i(pe.b), l(pe.b.e, ee), ee.a.b = Be.b, ee.a.a = Be.a, ee.a.h = xe(Z.e, ee.a), ee = ee.a, pe = [0, 0, 0, 0], Be = [je.d, Fe.d, Ce.d, Ne.d], ee.g[0] = ee.g[1] = ee.g[2] = 0, O(ee, je, Fe, pe, 0), O(ee, Ce, Ne, pe, 2), ne(Z, ee, Be, pe, !0), we($).b = $.b = q.b = !0;\n }\n }\n function Y(Z, $) {\n for (var q = Re($); ; ) {\n for (; q.b; )\n q = Re($ = q);\n if (!$.b && (($ = we(q = $)) === null || !$.b))\n break;\n $.b = !1;\n var ee = $.a, pe = q.a;\n if (je = ee.b.a !== pe.b.a)\n e: {\n var je, Ce = Re(je = $), Fe = je.a, Ne = Ce.a, Be = void 0;\n if (u(Fe.b.a, Ne.b.a)) {\n if (g(Fe.b.a, Ne.b.a, Fe.a) < 0) {\n je = !1;\n break e;\n }\n we(je).b = je.b = !0, Be = i(Fe), l(Ne.b, Be), Be.d.c = je.d;\n } else {\n if (0 < g(Ne.b.a, Fe.b.a, Ne.a)) {\n je = !1;\n break e;\n }\n je.b = Ce.b = !0, Be = i(Ne), l(Fe.e, Ne.b), Be.b.d.c = je.d;\n }\n je = !0;\n }\n if (je && (q.c ? (R(q), r(pe), pe = (q = Re($)).a) : $.c && (R($), r(ee), ee = ($ = we(q)).a)), ee.a !== pe.a) {\n if (ee.b.a === pe.b.a || $.c || q.c || ee.b.a !== Z.a && pe.b.a !== Z.a)\n D(Z, $);\n else if (B(Z, $))\n break;\n }\n ee.a === pe.a && ee.b.a === pe.b.a && (A(pe, ee), R($), r(ee), $ = we(q));\n }\n }\n function K(Z, $) {\n var q = new ve(), ee = a(Z.b);\n ee.a.b = 4e150, ee.a.a = $, ee.b.a.b = -4e150, ee.b.a.a = $, Z.a = ee.b.a, q.a = ee, q.f = 0, q.d = !1, q.c = !1, q.h = !0, q.b = !1, ee = ce(ee = Z.f, ee.a, q), q.e = ee;\n }\n function te(Z) {\n this.a = new re(), this.b = Z, this.c = M;\n }\n function ce(Z, $, q) {\n for (; ($ = $.c).b !== null && !Z.c(Z.b, $.b, q); )\n ;\n return Z = new re(q, $.a, $), $.a.c = Z, $.a = Z;\n }\n function re(Z, $, q) {\n this.b = Z || null, this.a = $ || this, this.c = q || this;\n }\n function ue() {\n this.d = 0, this.p = this.b = this.q = null, this.j = [0, 0, 0], this.s = 100130, this.n = !1, this.o = this.a = this.e = this.f = null, this.m = !1, this.c = this.r = this.i = this.k = this.l = this.h = null;\n }\n function le(Z, $) {\n if (Z.d !== $)\n for (; Z.d !== $; )\n if (Z.d < $)\n switch (Z.d) {\n case 0:\n J(Z, 100151), Z.u(null);\n break;\n case 1:\n J(Z, 100152), Z.t();\n }\n else\n switch (Z.d) {\n case 2:\n J(Z, 100154), Z.v();\n break;\n case 1:\n J(Z, 100153), Z.w();\n }\n }\n function J(Z, $) {\n Z.p && Z.p($, Z.c);\n }\n function ae(Z, $) {\n this.b = Z || this, this.d = $ || this, this.a = null, this.c = !1;\n }\n function he() {\n (this.h = this).i = this.d = this.a = this.e = this.c = this.b = null, this.f = 0;\n }\n function _e() {\n this.c = new fe(), this.a = new ae(), this.b = new he(), this.d = new he(), this.b.b = this.d, this.d.b = this.b;\n }\n function fe(Z, $) {\n this.e = Z || this, this.f = $ || this, this.d = this.c = null, this.g = [0, 0, 0], this.h = this.a = this.b = 0;\n }\n function ge() {\n this.c = [], this.d = null, this.a = 0, this.e = !1, this.b = new Me();\n }\n function xe(Z, $) {\n var q, ee, pe;\n return Z.e ? (2 * (ee = ++(q = Z.b).a) > q.f && (q.f *= 2, q.c = Qe(q.c, q.f + 1)), q.b === 0 ? pe = ee : (pe = q.b, q.b = q.c[q.b]), q.e[pe] = $, q.c[pe] = ee, q.d[ee] = pe, q.h && He(q, ee), pe) : (q = Z.a++, Z.c[q] = $, -(q + 1));\n }\n function De(Z) {\n if (Z.a === 0)\n return Ve(Z.b);\n var $ = Z.c[Z.d[Z.a - 1]];\n if (Z.b.a !== 0 && u(ze(Z.b), $))\n return Ve(Z.b);\n for (; --Z.a, 0 < Z.a && Z.c[Z.d[Z.a - 1]] === null; )\n ;\n return $;\n }\n function Me() {\n this.d = Qe([0], 33), this.e = [null, null], this.c = [0, 0], this.a = 0, this.f = 32, this.b = 0, this.h = !1, this.d[1] = 1;\n }\n function Qe(Z, $) {\n for (var q = Array($), ee = 0; ee < Z.length; ee++)\n q[ee] = Z[ee];\n for (; ee < $; ee++)\n q[ee] = 0;\n return q;\n }\n function ze(Z) {\n return Z.e[Z.d[1]];\n }\n function Ve(Z) {\n var $ = Z.d, q = Z.e, ee = Z.c, pe = $[1], je = q[pe];\n return 0 < Z.a && ($[1] = $[Z.a], ee[$[1]] = 1, q[pe] = null, ee[pe] = Z.b, Z.b = pe, 0 < --Z.a && Xe(Z, 1)), je;\n }\n function Xe(Z, $) {\n for (var q = Z.d, ee = Z.e, pe = Z.c, je = $, Ce = q[je]; ; ) {\n var Fe = je << 1, Ne = (Fe < Z.a && u(ee[q[Fe + 1]], ee[q[Fe]]) && (Fe += 1), q[Fe]);\n if (Fe > Z.a || u(ee[Ce], ee[Ne])) {\n pe[q[je] = Ce] = je;\n break;\n }\n pe[q[je] = Ne] = je, je = Fe;\n }\n }\n function He(Z, $) {\n for (var q = Z.d, ee = Z.e, pe = Z.c, je = $, Ce = q[je]; ; ) {\n var Fe = je >> 1, Ne = q[Fe];\n if (Fe == 0 || u(ee[Ne], ee[Ce])) {\n pe[q[je] = Ce] = je;\n break;\n }\n pe[q[je] = Ne] = je, je = Fe;\n }\n }\n function ve() {\n this.e = this.a = null, this.f = 0, this.c = this.b = this.h = this.d = !1;\n }\n function Re(Z) {\n return Z.e.c.b;\n }\n function we(Z) {\n return Z.e.a.b;\n }\n (m = ue.prototype).x = function() {\n le(this, 0);\n }, m.B = function(Z, $) {\n switch (Z) {\n case 100142:\n return;\n case 100140:\n switch ($) {\n case 100130:\n case 100131:\n case 100132:\n case 100133:\n case 100134:\n return void (this.s = $);\n }\n break;\n case 100141:\n return void (this.m = !!$);\n default:\n return void J(this, 100900);\n }\n J(this, 100901);\n }, m.y = function(Z) {\n switch (Z) {\n case 100142:\n return 0;\n case 100140:\n return this.s;\n case 100141:\n return this.m;\n default:\n J(this, 100900);\n }\n return !1;\n }, m.A = function(Z, $, q) {\n this.j[0] = Z, this.j[1] = $, this.j[2] = q;\n }, m.z = function(Z, $) {\n var q = $ || null;\n switch (Z) {\n case 100100:\n case 100106:\n this.h = q;\n break;\n case 100104:\n case 100110:\n this.l = q;\n break;\n case 100101:\n case 100107:\n this.k = q;\n break;\n case 100102:\n case 100108:\n this.i = q;\n break;\n case 100103:\n case 100109:\n this.p = q;\n break;\n case 100105:\n case 100111:\n this.o = q;\n break;\n case 100112:\n this.r = q;\n break;\n default:\n J(this, 100900);\n }\n }, m.C = function(Z, $) {\n var q = !1, ee = [0, 0, 0];\n le(this, 2);\n for (var pe = 0; pe < 3; ++pe) {\n var je = Z[pe];\n je < -1e150 && (je = -1e150, q = !0), 1e150 < je && (je = 1e150, q = !0), ee[pe] = je;\n }\n q && J(this, 100155), (q = this.q) === null ? l(q = a(this.b), q.b) : (i(q), q = q.e), q.a.d = $, q.a.g[0] = ee[0], q.a.g[1] = ee[1], q.a.g[2] = ee[2], q.f = 1, q.b.f = -1, this.q = q;\n }, m.u = function(Z) {\n le(this, 0), this.d = 1, this.b = new _e(), this.c = Z;\n }, m.t = function() {\n le(this, 1), this.d = 2, this.q = null;\n }, m.v = function() {\n le(this, 2), this.d = 1;\n }, m.w = function() {\n le(this, 1), this.d = 0;\n var Z, $, q = this.j[0], ee = this.j[1], pe = this.j[2], je = !1, Ce = [q, ee, pe];\n if (q === 0 && ee === 0 && pe === 0) {\n for (var ee = [-2e150, -2e150, -2e150], Fe = [2e150, 2e150, 2e150], pe = [], Ne = [], q = (je = this.b.c).e; q !== je; q = q.e)\n for (var Be = 0; Be < 3; ++Be) {\n var We = q.g[Be];\n We < Fe[Be] && (Fe[Be] = We, Ne[Be] = q), We > ee[Be] && (ee[Be] = We, pe[Be] = q);\n }\n if (ee[1] - Fe[1] > ee[q = 0] - Fe[0] && (q = 1), Fe[q = ee[2] - Fe[2] > ee[q] - Fe[q] ? 2 : q] >= ee[q])\n Ce[0] = 0, Ce[1] = 0, Ce[2] = 1;\n else {\n for (Fe = Ne[q], pe = pe[q], Ne = [ee = 0, 0, 0], Fe = [Fe.g[0] - pe.g[0], Fe.g[1] - pe.g[1], Fe.g[2] - pe.g[2]], Be = [0, 0, 0], q = je.e; q !== je; q = q.e)\n Be[0] = q.g[0] - pe.g[0], Be[1] = q.g[1] - pe.g[1], Be[2] = q.g[2] - pe.g[2], Ne[0] = Fe[1] * Be[2] - Fe[2] * Be[1], Ne[1] = Fe[2] * Be[0] - Fe[0] * Be[2], Ne[2] = Fe[0] * Be[1] - Fe[1] * Be[0], ee < (We = Ne[0] * Ne[0] + Ne[1] * Ne[1] + Ne[2] * Ne[2]) && (ee = We, Ce[0] = Ne[0], Ce[1] = Ne[1], Ce[2] = Ne[2]);\n ee <= 0 && (Ce[0] = Ce[1] = Ce[2] = 0, Ce[x(Fe)] = 1);\n }\n je = !0;\n }\n for (Ne = x(Ce), q = this.b.c, ee = (Ne + 1) % 3, pe = (Ne + 2) % 3, Ne = 0 < Ce[Ne] ? 1 : -1, Ce = q.e; Ce !== q; Ce = Ce.e)\n Ce.b = Ce.g[ee], Ce.a = Ne * Ce.g[pe];\n if (je) {\n for (Ce = 0, q = (je = this.b.a).b; q !== je; q = q.b)\n if (!((ee = q.a).f <= 0))\n for (; Ce += (ee.a.b - ee.b.a.b) * (ee.a.a + ee.b.a.a), (ee = ee.e) !== q.a; )\n ;\n if (Ce < 0)\n for (je = (Ce = this.b.c).e; je !== Ce; je = je.e)\n je.a = -je.a;\n }\n for (this.n = !1, Ce = this.b.b, q = Ce.h; q !== Ce; q = je)\n je = q.h, ee = q.e, y(q.a, q.b.a) && q.e.e !== q && (b(this, ee, q), r(q), ee = (q = ee).e), ee.e === q && (ee !== q && (ee !== je && ee !== je.b || (je = je.h), r(ee)), q !== je && q !== je.b || (je = je.h), r(q));\n for (this.e = Ce = new ge(), je = this.b.c, q = je.e; q !== je; q = q.e)\n q.h = xe(Ce, q);\n var st = Ce;\n st.d = [];\n for (var nt = 0; nt < st.a; nt++)\n st.d[nt] = nt;\n st.d.sort(/* @__PURE__ */ function(ot) {\n return function(bt, It) {\n return u(ot[bt], ot[It]) ? 1 : -1;\n };\n }(st.c)), st.e = !0;\n for (var Ke = st.b, at = Ke.a; 1 <= at; --at)\n Xe(Ke, at);\n for (Ke.h = !0, this.f = new te(this), K(this, -4e150), K(this, 4e150); (Ce = De(this.e)) !== null; ) {\n for (; ; ) {\n e:\n if ((q = this.e).a === 0)\n je = ze(q.b);\n else if (je = q.c[q.d[q.a - 1]], q.b.a !== 0 && u(q = ze(q.b), je)) {\n je = q;\n break e;\n }\n if (je === null || !y(je, Ce))\n break;\n je = De(this.e), b(this, Ce.c, je.c);\n }\n (function ot(bt, It) {\n for (var Mt, mt = (bt.a = It).c; mt.i === null; )\n if ((mt = mt.c) === It.c) {\n var mt = bt, jt = It;\n (gt = new ve()).a = jt.c.b;\n for (var Ft = (ft = mt.f).a; (Ft = Ft.a).b !== null && !ft.c(ft.b, gt, Ft.b); )\n ;\n var ft, Dt, At = Re(ft = Ft.b), gt = ft.a, Ft = At.a;\n return void (g(gt.b.a, jt, gt.a) === 0 ? y((gt = ft.a).a, jt) || y(gt.b.a, jt) || (i(gt.b), ft.c && (r(gt.c), ft.c = !1), l(jt.c, gt), ot(mt, jt)) : (Dt = u(Ft.b.a, gt.b.a) ? ft : At, At = void 0, ft.d || Dt.c ? (At = Dt === ft ? c(jt.c.b, gt.e) : c(Ft.b.c.b, jt.c).b, Dt.c ? L(Dt, At) : ((ft = V(gt = mt, ft, At)).f = we(ft).f + ft.a.f, ft.d = G(gt, ft.f)), ot(mt, jt)) : X(mt, ft, jt.c, jt.c, null, !0)));\n }\n ft = (gt = Re(mt = F(mt.i))).a, (gt = W(bt, gt, null)).c === ft ? (gt = (ft = gt).c, Ft = Re(mt), At = mt.a, Dt = Ft.a, Mt = !1, At.b.a !== Dt.b.a && B(bt, mt), y(At.a, bt.a) && (l(gt.b.e, At), gt = Re(mt = F(mt)).a, W(bt, Re(mt), Ft), Mt = !0), y(Dt.a, bt.a) && (l(ft, Dt.b.e), ft = W(bt, Ft, null), Mt = !0), Mt ? X(bt, mt, ft.c, gt, gt, !0) : (jt = u(Dt.a, At.a) ? Dt.b.e : At, X(bt, mt, jt = c(ft.c.b, jt), jt.c, jt.c, !1), jt.b.i.c = !0, Y(bt, mt))) : X(bt, mt, gt.c, ft, ft, !0);\n })(this, Ce);\n }\n for (this.a = this.f.a.a.b.a.a, Ce = 0; (je = this.f.a.a.b) !== null; )\n je.h || ++Ce, R(je);\n for (this.f = null, (Ce = this.e).b = null, Ce.d = null, this.e = Ce.c = null, Ce = this.b, q = Ce.a.b; q !== Ce.a; q = je)\n je = q.b, (q = q.a).e.e === q && (A(q.c, q), r(q));\n if (!this.n) {\n if (Ce = this.b, this.m)\n for (q = Ce.b.h; q !== Ce.b; q = je)\n je = q.h, q.b.d.c !== q.d.c ? q.f = q.d.c ? 1 : -1 : r(q);\n else\n for (q = Ce.a.b; q !== Ce.a; q = je)\n if (je = q.b, q.c) {\n for (q = q.a; u(q.b.a, q.a); q = q.c.b)\n ;\n for (; u(q.a, q.b.a); q = q.e)\n ;\n for (ee = q.c.b, pe = void 0; q.e !== ee; )\n if (u(q.b.a, ee.a)) {\n for (; ee.e !== q && (u(($ = ee.e).b.a, $.a) || g(ee.a, ee.b.a, ee.e.b.a) <= 0); )\n ee = (pe = c(ee.e, ee)).b;\n ee = ee.c.b;\n } else {\n for (; ee.e !== q && (u((Z = q.c.b).a, Z.b.a) || 0 <= g(q.b.a, q.a, q.c.b.a)); )\n q = (pe = c(q, q.c.b)).b;\n q = q.e;\n }\n for (; ee.e.e !== q; )\n pe = c(ee.e, ee), ee = pe.b;\n }\n if (this.h || this.i || this.k || this.l)\n if (this.m) {\n for (je = (Ce = this.b).a.b; je !== Ce.a; je = je.b)\n if (je.c) {\n for (this.h && this.h(2, this.c), q = je.a; this.k && this.k(q.a.d, this.c), (q = q.e) !== je.a; )\n ;\n this.i && this.i(this.c);\n }\n } else {\n for (Ce = this.b, je = !!this.l, q = !1, ee = -1, pe = Ce.a.d; pe !== Ce.a; pe = pe.d)\n if (pe.c)\n for (q || (this.h && this.h(4, this.c), q = !0), Ne = pe.a; je && (Fe = Ne.b.d.c ? 0 : 1, ee !== Fe && (ee = Fe, this.l && this.l(!!ee, this.c))), this.k && this.k(Ne.a.d, this.c), (Ne = Ne.e) !== pe.a; )\n ;\n q && this.i && this.i(this.c);\n }\n if (this.r) {\n for (Ce = this.b, q = Ce.a.b; q !== Ce.a; q = je)\n if (je = q.b, !q.c) {\n for (pe = (ee = q.a).e, Ne = void 0; pe = (Ne = pe).e, (Ne.d = null) === Ne.b.d && (Ne.c === Ne ? E(Ne.a, null) : (Ne.a.c = Ne.c, j(Ne, Ne.b.e)), (Fe = Ne.b).c === Fe ? E(Fe.a, null) : (Fe.a.c = Fe.c, j(Fe, Fe.b.e)), S(Ne)), Ne !== ee; )\n ;\n ee = q.d, ((q = q.b).d = ee).b = q;\n }\n return this.r(this.b), void (this.c = this.b = null);\n }\n }\n this.b = this.c = null;\n }, this.libtess = { GluTesselator: ue, windingRule: { GLU_TESS_WINDING_ODD: 100130, GLU_TESS_WINDING_NONZERO: 100131, GLU_TESS_WINDING_POSITIVE: 100132, GLU_TESS_WINDING_NEGATIVE: 100133, GLU_TESS_WINDING_ABS_GEQ_TWO: 100134 }, primitiveType: { GL_LINE_LOOP: 2, GL_TRIANGLES: 4, GL_TRIANGLE_STRIP: 5, GL_TRIANGLE_FAN: 6 }, errorType: { GLU_TESS_MISSING_BEGIN_POLYGON: 100151, GLU_TESS_MISSING_END_POLYGON: 100153, GLU_TESS_MISSING_BEGIN_CONTOUR: 100152, GLU_TESS_MISSING_END_CONTOUR: 100154, GLU_TESS_COORD_TOO_LARGE: 100155, GLU_TESS_NEED_COMBINE_CALLBACK: 100156 }, gluEnum: { GLU_TESS_MESH: 100112, GLU_TESS_TOLERANCE: 100142, GLU_TESS_WINDING_RULE: 100140, GLU_TESS_BOUNDARY_ONLY: 100141, GLU_INVALID_ENUM: 100900, GLU_INVALID_VALUE: 100901, GLU_TESS_BEGIN: 100100, GLU_TESS_VERTEX: 100101, GLU_TESS_END: 100102, GLU_TESS_ERROR: 100103, GLU_TESS_EDGE_FLAG: 100104, GLU_TESS_COMBINE: 100105, GLU_TESS_BEGIN_DATA: 100106, GLU_TESS_VERTEX_DATA: 100107, GLU_TESS_END_DATA: 100108, GLU_TESS_ERROR_DATA: 100109, GLU_TESS_EDGE_FLAG_DATA: 100110, GLU_TESS_COMBINE_DATA: 100111 } }, ue.prototype.gluDeleteTess = ue.prototype.x, ue.prototype.gluTessProperty = ue.prototype.B, ue.prototype.gluGetTessProperty = ue.prototype.y, ue.prototype.gluTessNormal = ue.prototype.A, ue.prototype.gluTessCallback = ue.prototype.z, ue.prototype.gluTessVertex = ue.prototype.C, ue.prototype.gluTessBeginPolygon = ue.prototype.u, ue.prototype.gluTessBeginContour = ue.prototype.t, ue.prototype.gluTessEndContour = ue.prototype.v, ue.prototype.gluTessEndPolygon = ue.prototype.w, H !== void 0 && (H.exports = this.libtess);\n }, {}], 253: [function(t, H, C) {\n function m(u, h, g, f) {\n var n = 0, s = (f = f === void 0 ? {} : f).loop === void 0 ? null : f.loop, o = f.palette === void 0 ? null : f.palette;\n if (h <= 0 || g <= 0 || 65535 < h || 65535 < g)\n throw new Error(\"Width/Height invalid.\");\n function a(_) {\n if (_ = _.length, _ < 2 || 256 < _ || _ & _ - 1)\n throw new Error(\"Invalid code/color length, must be power of 2 and 2 .. 256.\");\n return _;\n }\n u[n++] = 71, u[n++] = 73, u[n++] = 70, u[n++] = 56, u[n++] = 57, u[n++] = 97;\n var l = 0, r = 0;\n if (o !== null) {\n for (var i = a(o); i >>= 1; )\n ++l;\n if (i = 1 << l, --l, f.background !== void 0) {\n if (i <= (r = f.background))\n throw new Error(\"Background index out of range.\");\n if (r === 0)\n throw new Error(\"Background index explicitly passed as 0.\");\n }\n }\n if (u[n++] = 255 & h, u[n++] = h >> 8 & 255, u[n++] = 255 & g, u[n++] = g >> 8 & 255, u[n++] = (o !== null ? 128 : 0) | l, u[n++] = r, u[n++] = 0, o !== null)\n for (var c = 0, p = o.length; c < p; ++c) {\n var j = o[c];\n u[n++] = j >> 16 & 255, u[n++] = j >> 8 & 255, u[n++] = 255 & j;\n }\n if (s !== null) {\n if (s < 0 || 65535 < s)\n throw new Error(\"Loop count invalid.\");\n u[n++] = 33, u[n++] = 255, u[n++] = 11, u[n++] = 78, u[n++] = 69, u[n++] = 84, u[n++] = 83, u[n++] = 67, u[n++] = 65, u[n++] = 80, u[n++] = 69, u[n++] = 50, u[n++] = 46, u[n++] = 48, u[n++] = 3, u[n++] = 1, u[n++] = 255 & s, u[n++] = s >> 8 & 255, u[n++] = 0;\n }\n var T = !1;\n this.addFrame = function(_, S, E, P, x, A) {\n if (T === !0 && (--n, T = !1), A = A === void 0 ? {} : A, _ < 0 || S < 0 || 65535 < _ || 65535 < S)\n throw new Error(\"x/y invalid.\");\n if (E <= 0 || P <= 0 || 65535 < E || 65535 < P)\n throw new Error(\"Width/Height invalid.\");\n if (x.length < E * P)\n throw new Error(\"Not enough pixels for the frame size.\");\n var M = !0, R = A.palette;\n if (R == null && (M = !1, R = o), R == null)\n throw new Error(\"Must supply either a local or global palette.\");\n for (var F = a(R), L = 0; F >>= 1; )\n ++L;\n var F = 1 << L, V = A.delay === void 0 ? 0 : A.delay, G = A.disposal === void 0 ? 0 : A.disposal;\n if (G < 0 || 3 < G)\n throw new Error(\"Disposal out of range.\");\n var U = !1, W = 0;\n if (A.transparent !== void 0 && A.transparent !== null && (U = !0, (W = A.transparent) < 0 || F <= W))\n throw new Error(\"Transparent color index.\");\n if (G === 0 && !U && V === 0 || (u[n++] = 33, u[n++] = 249, u[n++] = 4, u[n++] = G << 2 | (U === !0 ? 1 : 0), u[n++] = 255 & V, u[n++] = V >> 8 & 255, u[n++] = W, u[n++] = 0), u[n++] = 44, u[n++] = 255 & _, u[n++] = _ >> 8 & 255, u[n++] = 255 & S, u[n++] = S >> 8 & 255, u[n++] = 255 & E, u[n++] = E >> 8 & 255, u[n++] = 255 & P, u[n++] = P >> 8 & 255, u[n++] = M === !0 ? 128 | L - 1 : 0, M === !0)\n for (var X = 0, ne = R.length; X < ne; ++X) {\n var b = R[X];\n u[n++] = b >> 16 & 255, u[n++] = b >> 8 & 255, u[n++] = 255 & b;\n }\n return n = function(O, D, B, Y) {\n O[D++] = B;\n var K = D++, te = 1 << B, ce = te - 1, re = 1 + te, ue = 1 + re, le = B + 1, J = 0, ae = 0;\n function he(Ve) {\n for (; Ve <= J; )\n O[D++] = 255 & ae, ae >>= 8, J -= 8, D === K + 256 && (O[K] = 255, K = D++);\n }\n function _e(Ve) {\n ae |= Ve << J, J += le, he(8);\n }\n var fe = Y[0] & ce, ge = {};\n _e(te);\n for (var xe = 1, De = Y.length; xe < De; ++xe) {\n var Me = Y[xe] & ce, Qe = fe << 8 | Me, ze = ge[Qe];\n if (ze === void 0) {\n for (ae |= fe << J, J += le; 8 <= J; )\n O[D++] = 255 & ae, ae >>= 8, J -= 8, D === K + 256 && (O[K] = 255, K = D++);\n ue === 4096 ? (_e(te), ue = 1 + re, le = B + 1, ge = {}) : (1 << le <= ue && ++le, ge[Qe] = ue++), fe = Me;\n } else\n fe = ze;\n }\n return _e(fe), _e(re), he(1), K + 1 === D ? O[K] = 0 : (O[K] = D - K - 1, O[D++] = 0), D;\n }(u, n, L < 2 ? 2 : L, x);\n }, this.end = function() {\n return T === !1 && (u[n++] = 59, T = !0), n;\n }, this.getOutputBuffer = function() {\n return u;\n }, this.setOutputBuffer = function(_) {\n u = _;\n }, this.getOutputBufferPosition = function() {\n return n;\n }, this.setOutputBufferPosition = function(_) {\n n = _;\n };\n }\n function y(u, h, g, f) {\n for (var n = u[h++], s = 1 << n, o = 1 + s, a = 1 + o, l = n + 1, r = (1 << l) - 1, i = 0, c = 0, p = 0, j = u[h++], T = new Int32Array(4096), _ = null; ; ) {\n for (; i < 16 && j !== 0; )\n c |= u[h++] << i, i += 8, j === 1 ? j = u[h++] : --j;\n if (i < l)\n break;\n var S = c & r;\n if (c >>= l, i -= l, S == s)\n a = 1 + o, r = (1 << (l = n + 1)) - 1, _ = null;\n else {\n if (S == o)\n break;\n for (var E = S < a ? S : _, P = 0, x = E; s < x; )\n x = T[x] >> 8, ++P;\n var A = x;\n if (f < p + P + (E !== S ? 1 : 0))\n return void console.log(\"Warning, gif stream longer than expected.\");\n g[p++] = A;\n var M = p += P;\n for (E !== S && (g[p++] = A), x = E; P--; )\n x = T[x], g[--M] = 255 & x, x >>= 8;\n _ !== null && a < 4096 && (T[a++] = _ << 8 | A, r + 1 <= a && l < 12 && (++l, r = r << 1 | 1)), _ = S;\n }\n }\n p !== f && console.log(\"Warning, gif stream shorter than expected.\");\n }\n try {\n C.GifWriter = m, C.GifReader = function(u) {\n var h = 0;\n if (u[h++] !== 71 || u[h++] !== 73 || u[h++] !== 70 || u[h++] !== 56 || (u[h++] + 1 & 253) != 56 || u[h++] !== 97)\n throw new Error(\"Invalid GIF 87a/89a header.\");\n var g = u[h++] | u[h++] << 8, f = u[h++] | u[h++] << 8, n = u[h++], s = 1 << 1 + (7 & n), o = (u[h++], u[h++], null), a = null, l = (n >> 7 && (o = h, h += 3 * (a = s)), !0), r = [], i = 0, c = null, p = 0, j = null;\n for (this.width = g, this.height = f; l && h < u.length; )\n switch (u[h++]) {\n case 33:\n switch (u[h++]) {\n case 255:\n if (u[h] !== 11 || u[h + 1] == 78 && u[h + 2] == 69 && u[h + 3] == 84 && u[h + 4] == 83 && u[h + 5] == 67 && u[h + 6] == 65 && u[h + 7] == 80 && u[h + 8] == 69 && u[h + 9] == 50 && u[h + 10] == 46 && u[h + 11] == 48 && u[h + 12] == 3 && u[h + 13] == 1 && u[h + 16] == 0)\n h += 14, j = u[h++] | u[h++] << 8, h++;\n else\n for (h += 12; ; ) {\n if (!(0 <= (_ = u[h++])))\n throw Error(\"Invalid block size\");\n if (_ === 0)\n break;\n h += _;\n }\n break;\n case 249:\n if (u[h++] !== 4 || u[h + 4] !== 0)\n throw new Error(\"Invalid graphics extension block.\");\n var T = u[h++], i = u[h++] | u[h++] << 8, c = u[h++];\n !(1 & T) && (c = null), p = T >> 2 & 7, h++;\n break;\n case 254:\n for (; ; ) {\n if (!(0 <= (_ = u[h++])))\n throw Error(\"Invalid block size\");\n if (_ === 0)\n break;\n h += _;\n }\n break;\n default:\n throw new Error(\"Unknown graphic control label: 0x\" + u[h - 1].toString(16));\n }\n break;\n case 44:\n var _, S = u[h++] | u[h++] << 8, E = u[h++] | u[h++] << 8, P = u[h++] | u[h++] << 8, x = u[h++] | u[h++] << 8, V = u[h++], A = V >> 6 & 1, M = 1 << 1 + (7 & V), R = o, L = a, F = !1, V = (V >> 7 && (F = !0, R = h, h += 3 * (L = M)), h);\n for (h++; ; ) {\n if (!(0 <= (_ = u[h++])))\n throw Error(\"Invalid block size\");\n if (_ === 0)\n break;\n h += _;\n }\n r.push({ x: S, y: E, width: P, height: x, has_local_palette: F, palette_offset: R, palette_size: L, data_offset: V, data_length: h - V, transparent_index: c, interlaced: !!A, delay: i, disposal: p });\n break;\n case 59:\n l = !1;\n break;\n default:\n throw new Error(\"Unknown gif block: 0x\" + u[h - 1].toString(16));\n }\n this.numFrames = function() {\n return r.length;\n }, this.loopCount = function() {\n return j;\n }, this.frameInfo = function(G) {\n if (G < 0 || G >= r.length)\n throw new Error(\"Frame index out of range.\");\n return r[G];\n }, this.decodeAndBlitFrameBGRA = function(G, U) {\n for (var G = this.frameInfo(G), W = G.width * G.height, X = new Uint8Array(W), ne = (y(u, G.data_offset, X, W), G.palette_offset), b = G.transparent_index, O = (b === null && (b = 256), G.width), D = g - O, B = O, Y = 4 * (G.y * g + G.x), K = 4 * ((G.y + G.height) * g + G.x), te = Y, ce = 4 * D, re = (G.interlaced === !0 && (ce += 4 * g * 7), 8), ue = 0, le = X.length; ue < le; ++ue) {\n var J, ae, he = X[ue];\n B === 0 && (B = O, K <= (te += ce) && (ce = 4 * D + 4 * g * (re - 1), te = Y + (O + D) * (re << 1), re >>= 1)), he === b ? te += 4 : (J = u[ne + 3 * he], ae = u[ne + 3 * he + 1], he = u[ne + 3 * he + 2], U[te++] = he, U[te++] = ae, U[te++] = J, U[te++] = 255), --B;\n }\n }, this.decodeAndBlitFrameRGBA = function(G, U) {\n for (var G = this.frameInfo(G), W = G.width * G.height, X = new Uint8Array(W), ne = (y(u, G.data_offset, X, W), G.palette_offset), b = G.transparent_index, O = (b === null && (b = 256), G.width), D = g - O, B = O, Y = 4 * (G.y * g + G.x), K = 4 * ((G.y + G.height) * g + G.x), te = Y, ce = 4 * D, re = (G.interlaced === !0 && (ce += 4 * g * 7), 8), ue = 0, le = X.length; ue < le; ++ue) {\n var J, ae, he = X[ue];\n B === 0 && (B = O, K <= (te += ce) && (ce = 4 * D + 4 * g * (re - 1), te = Y + (O + D) * (re << 1), re >>= 1)), he === b ? te += 4 : (J = u[ne + 3 * he], ae = u[ne + 3 * he + 1], he = u[ne + 3 * he + 2], U[te++] = J, U[te++] = ae, U[te++] = he, U[te++] = 255), --B;\n }\n };\n };\n } catch {\n }\n }, {}], 254: [function(t, H, C) {\n (function(m) {\n var y, u;\n y = this, u = function(h) {\n function g(I) {\n if (this == null)\n throw TypeError();\n var v, w = String(this), k = w.length, I = I ? Number(I) : 0;\n if (!((I = I != I ? 0 : I) < 0 || k <= I))\n return 55296 <= (v = w.charCodeAt(I)) && v <= 56319 && I + 1 < k && 56320 <= (k = w.charCodeAt(I + 1)) && k <= 57343 ? 1024 * (v - 55296) + k - 56320 + 65536 : v;\n }\n String.prototype.codePointAt || ((f = function() {\n try {\n var d = {}, v = Object.defineProperty, w = v(d, d, d) && v;\n } catch {\n }\n return w;\n }()) ? f(String.prototype, \"codePointAt\", { value: g, configurable: !0, writable: !0 }) : String.prototype.codePointAt = g);\n var f, n = 0, s = -3;\n function o() {\n this.table = new Uint16Array(16), this.trans = new Uint16Array(288);\n }\n function a(d, v) {\n this.source = d, this.sourceIndex = 0, this.tag = 0, this.bitcount = 0, this.dest = v, this.destLen = 0, this.ltree = new o(), this.dtree = new o();\n }\n var l = new o(), r = new o(), i = new Uint8Array(30), c = new Uint16Array(30), p = new Uint8Array(30), j = new Uint16Array(30), T = new Uint8Array([16, 17, 18, 0, 8, 7, 9, 6, 10, 5, 11, 4, 12, 3, 13, 2, 14, 1, 15]), _ = new o(), S = new Uint8Array(320);\n function E(d, v, w, k) {\n for (var I, N = 0; N < w; ++N)\n d[N] = 0;\n for (N = 0; N < 30 - w; ++N)\n d[N + w] = N / w | 0;\n for (I = k, N = 0; N < 30; ++N)\n v[N] = I, I += 1 << d[N];\n }\n var P = new Uint16Array(16);\n function x(d, v, w, k) {\n for (var I, N = 0; N < 16; ++N)\n d.table[N] = 0;\n for (N = 0; N < k; ++N)\n d.table[v[w + N]]++;\n for (N = I = d.table[0] = 0; N < 16; ++N)\n P[N] = I, I += d.table[N];\n for (N = 0; N < k; ++N)\n v[w + N] && (d.trans[P[v[w + N]]++] = N);\n }\n function A(d, v, w) {\n if (!v)\n return w;\n for (; d.bitcount < 24; )\n d.tag |= d.source[d.sourceIndex++] << d.bitcount, d.bitcount += 8;\n var k = d.tag & 65535 >>> 16 - v;\n return d.tag >>>= v, d.bitcount -= v, k + w;\n }\n function M(d, v) {\n for (; d.bitcount < 24; )\n d.tag |= d.source[d.sourceIndex++] << d.bitcount, d.bitcount += 8;\n for (var w = 0, k = 0, I = 0, N = d.tag; k = 2 * k + (1 & N), N >>>= 1, w += v.table[++I], 0 <= (k -= v.table[I]); )\n ;\n return d.tag = N, d.bitcount -= I, v.trans[w + k];\n }\n function R(d, v, w) {\n for (; ; ) {\n var k = M(d, v);\n if (k === 256)\n return n;\n if (k < 256)\n d.dest[d.destLen++] = k;\n else\n for (var I, N = A(d, i[k -= 257], c[k]), k = M(d, w), z = I = d.destLen - A(d, p[k], j[k]); z < I + N; ++z)\n d.dest[d.destLen++] = d.dest[z];\n }\n }\n for (var L = l, F = r, V = 0; V < 7; ++V)\n L.table[V] = 0;\n for (L.table[7] = 24, L.table[8] = 152, L.table[9] = 112, V = 0; V < 24; ++V)\n L.trans[V] = 256 + V;\n for (V = 0; V < 144; ++V)\n L.trans[24 + V] = V;\n for (V = 0; V < 8; ++V)\n L.trans[168 + V] = 280 + V;\n for (V = 0; V < 112; ++V)\n L.trans[176 + V] = 144 + V;\n for (V = 0; V < 5; ++V)\n F.table[V] = 0;\n for (F.table[5] = 32, V = 0; V < 32; ++V)\n F.trans[V] = V;\n E(i, c, 4, 3), E(p, j, 2, 1), i[28] = 0, c[28] = 258;\n var G = function(d, v) {\n var w, k, I, N = new a(d, v);\n do {\n switch (I = void 0, (k = N).bitcount-- || (k.tag = k.source[k.sourceIndex++], k.bitcount = 7), I = 1 & k.tag, k.tag >>>= 1, k = I, A(N, 2, 0)) {\n case 0:\n w = function(Ee) {\n for (var $e, lt; 8 < Ee.bitcount; )\n Ee.sourceIndex--, Ee.bitcount -= 8;\n if (($e = 256 * Ee.source[Ee.sourceIndex + 1] + Ee.source[Ee.sourceIndex]) !== (65535 & ~(256 * Ee.source[Ee.sourceIndex + 3] + Ee.source[Ee.sourceIndex + 2])))\n return s;\n for (Ee.sourceIndex += 4, lt = $e; lt; --lt)\n Ee.dest[Ee.destLen++] = Ee.source[Ee.sourceIndex++];\n return Ee.bitcount = 0, n;\n }(N);\n break;\n case 1:\n w = R(N, l, r);\n break;\n case 2:\n Pe = ke = Ie = Te = z = de = be = Se = ye = oe = se = Q = void 0;\n for (var z, Q = N, se = N.ltree, oe = N.dtree, ye = A(Q, 5, 257), Se = A(Q, 5, 1), be = A(Q, 4, 4), de = 0; de < 19; ++de)\n S[de] = 0;\n for (de = 0; de < be; ++de) {\n var Ie = A(Q, 3, 0);\n S[T[de]] = Ie;\n }\n for (x(_, S, 0, 19), z = 0; z < ye + Se; ) {\n var ke = M(Q, _);\n switch (ke) {\n case 16:\n for (var Pe = S[z - 1], Te = A(Q, 2, 3); Te; --Te)\n S[z++] = Pe;\n break;\n case 17:\n for (Te = A(Q, 3, 3); Te; --Te)\n S[z++] = 0;\n break;\n case 18:\n for (Te = A(Q, 7, 11); Te; --Te)\n S[z++] = 0;\n break;\n default:\n S[z++] = ke;\n }\n }\n x(se, S, 0, ye), x(oe, S, ye, Se), w = R(N, N.ltree, N.dtree);\n break;\n default:\n w = s;\n }\n if (w !== n)\n throw new Error(\"Data error\");\n } while (!k);\n return N.destLen < N.dest.length ? typeof N.dest.slice == \"function\" ? N.dest.slice(0, N.destLen) : N.dest.subarray(0, N.destLen) : N.dest;\n };\n function U(d, v, w, k, I) {\n return Math.pow(1 - I, 3) * d + 3 * Math.pow(1 - I, 2) * I * v + 3 * (1 - I) * Math.pow(I, 2) * w + Math.pow(I, 3) * k;\n }\n function W() {\n this.x1 = Number.NaN, this.y1 = Number.NaN, this.x2 = Number.NaN, this.y2 = Number.NaN;\n }\n function X() {\n this.commands = [], this.fill = \"black\", this.stroke = null, this.strokeWidth = 1;\n }\n function ne(d) {\n throw new Error(d);\n }\n function b(d, v) {\n d || ne(v);\n }\n W.prototype.isEmpty = function() {\n return isNaN(this.x1) || isNaN(this.y1) || isNaN(this.x2) || isNaN(this.y2);\n }, W.prototype.addPoint = function(d, v) {\n typeof d == \"number\" && ((isNaN(this.x1) || isNaN(this.x2)) && (this.x1 = d, this.x2 = d), d < this.x1 && (this.x1 = d), d > this.x2 && (this.x2 = d)), typeof v == \"number\" && ((isNaN(this.y1) || isNaN(this.y2)) && (this.y1 = v, this.y2 = v), v < this.y1 && (this.y1 = v), v > this.y2 && (this.y2 = v));\n }, W.prototype.addX = function(d) {\n this.addPoint(d, null);\n }, W.prototype.addY = function(d) {\n this.addPoint(null, d);\n }, W.prototype.addBezier = function(d, v, w, k, I, N, z, Q) {\n var se = [d, v], oe = [w, k], ye = [I, N], Se = [z, Q];\n this.addPoint(d, v), this.addPoint(z, Q);\n for (var be = 0; be <= 1; be++) {\n var de, Ie = 6 * se[be] - 12 * oe[be] + 6 * ye[be], ke = -3 * se[be] + 9 * oe[be] - 9 * ye[be] + 3 * Se[be], Pe = 3 * oe[be] - 3 * se[be];\n ke == 0 ? Ie == 0 || 0 < (de = -Pe / Ie) && de < 1 && (be === 0 && this.addX(U(se[be], oe[be], ye[be], Se[be], de)), be === 1 && this.addY(U(se[be], oe[be], ye[be], Se[be], de))) : (de = Math.pow(Ie, 2) - 4 * Pe * ke) < 0 || (0 < (Pe = (-Ie + Math.sqrt(de)) / (2 * ke)) && Pe < 1 && (be === 0 && this.addX(U(se[be], oe[be], ye[be], Se[be], Pe)), be === 1 && this.addY(U(se[be], oe[be], ye[be], Se[be], Pe))), 0 < (Pe = (-Ie - Math.sqrt(de)) / (2 * ke)) && Pe < 1 && (be === 0 && this.addX(U(se[be], oe[be], ye[be], Se[be], Pe)), be === 1 && this.addY(U(se[be], oe[be], ye[be], Se[be], Pe))));\n }\n }, W.prototype.addQuad = function(d, v, w, k, I, N) {\n w = d + 2 / 3 * (w - d), k = v + 2 / 3 * (k - v), this.addBezier(d, v, w, k, w + 1 / 3 * (I - d), k + 1 / 3 * (N - v), I, N);\n }, X.prototype.moveTo = function(d, v) {\n this.commands.push({ type: \"M\", x: d, y: v });\n }, X.prototype.lineTo = function(d, v) {\n this.commands.push({ type: \"L\", x: d, y: v });\n }, X.prototype.curveTo = X.prototype.bezierCurveTo = function(d, v, w, k, I, N) {\n this.commands.push({ type: \"C\", x1: d, y1: v, x2: w, y2: k, x: I, y: N });\n }, X.prototype.quadTo = X.prototype.quadraticCurveTo = function(d, v, w, k) {\n this.commands.push({ type: \"Q\", x1: d, y1: v, x: w, y: k });\n }, X.prototype.close = X.prototype.closePath = function() {\n this.commands.push({ type: \"Z\" });\n }, X.prototype.extend = function(d) {\n var v;\n if (d.commands)\n d = d.commands;\n else if (d instanceof W)\n return v = d, this.moveTo(v.x1, v.y1), this.lineTo(v.x2, v.y1), this.lineTo(v.x2, v.y2), this.lineTo(v.x1, v.y2), void this.close();\n Array.prototype.push.apply(this.commands, d);\n }, X.prototype.getBoundingBox = function() {\n for (var d = new W(), v = 0, w = 0, k = 0, I = 0, N = 0; N < this.commands.length; N++) {\n var z = this.commands[N];\n switch (z.type) {\n case \"M\":\n d.addPoint(z.x, z.y), v = k = z.x, w = I = z.y;\n break;\n case \"L\":\n d.addPoint(z.x, z.y), k = z.x, I = z.y;\n break;\n case \"Q\":\n d.addQuad(k, I, z.x1, z.y1, z.x, z.y), k = z.x, I = z.y;\n break;\n case \"C\":\n d.addBezier(k, I, z.x1, z.y1, z.x2, z.y2, z.x, z.y), k = z.x, I = z.y;\n break;\n case \"Z\":\n k = v, I = w;\n break;\n default:\n throw new Error(\"Unexpected path command \" + z.type);\n }\n }\n return d.isEmpty() && d.addPoint(0, 0), d;\n }, X.prototype.draw = function(d) {\n d.beginPath();\n for (var v = 0; v < this.commands.length; v += 1) {\n var w = this.commands[v];\n w.type === \"M\" ? d.moveTo(w.x, w.y) : w.type === \"L\" ? d.lineTo(w.x, w.y) : w.type === \"C\" ? d.bezierCurveTo(w.x1, w.y1, w.x2, w.y2, w.x, w.y) : w.type === \"Q\" ? d.quadraticCurveTo(w.x1, w.y1, w.x, w.y) : w.type === \"Z\" && d.closePath();\n }\n this.fill && (d.fillStyle = this.fill, d.fill()), this.stroke && (d.strokeStyle = this.stroke, d.lineWidth = this.strokeWidth, d.stroke());\n }, X.prototype.toPathData = function(d) {\n function v() {\n for (var N = arguments, z = \"\", Q = 0; Q < arguments.length; Q += 1) {\n var se = N[Q];\n 0 <= se && 0 < Q && (z += \" \"), z += (se = se, Math.round(se) === se ? \"\" + Math.round(se) : se.toFixed(d));\n }\n return z;\n }\n d = d !== void 0 ? d : 2;\n for (var w = \"\", k = 0; k < this.commands.length; k += 1) {\n var I = this.commands[k];\n I.type === \"M\" ? w += \"M\" + v(I.x, I.y) : I.type === \"L\" ? w += \"L\" + v(I.x, I.y) : I.type === \"C\" ? w += \"C\" + v(I.x1, I.y1, I.x2, I.y2, I.x, I.y) : I.type === \"Q\" ? w += \"Q\" + v(I.x1, I.y1, I.x, I.y) : I.type === \"Z\" && (w += \"Z\");\n }\n return w;\n }, X.prototype.toSVG = function(d) {\n var v = (v = '\";\n }, X.prototype.toDOMElement = function(v) {\n var v = this.toPathData(v), w = document.createElementNS(\"http://www.w3.org/2000/svg\", \"path\");\n return w.setAttribute(\"d\", v), w;\n };\n var O = { fail: ne, argument: b, assert: b }, D = {}, B = {}, Y = {};\n function K(d) {\n return function() {\n return d;\n };\n }\n B.BYTE = function(d) {\n return O.argument(0 <= d && d <= 255, \"Byte value should be between 0 and 255.\"), [d];\n }, Y.BYTE = K(1), B.CHAR = function(d) {\n return [d.charCodeAt(0)];\n }, Y.CHAR = K(1), B.CHARARRAY = function(d) {\n for (var v = [], w = 0; w < d.length; w += 1)\n v[w] = d.charCodeAt(w);\n return v;\n }, Y.CHARARRAY = function(d) {\n return d.length;\n }, B.USHORT = function(d) {\n return [d >> 8 & 255, 255 & d];\n }, Y.USHORT = K(2), B.SHORT = function(d) {\n return [(d = 32768 <= d ? -(65536 - d) : d) >> 8 & 255, 255 & d];\n }, Y.SHORT = K(2), B.UINT24 = function(d) {\n return [d >> 16 & 255, d >> 8 & 255, 255 & d];\n }, Y.UINT24 = K(3), B.ULONG = function(d) {\n return [d >> 24 & 255, d >> 16 & 255, d >> 8 & 255, 255 & d];\n }, Y.ULONG = K(4), B.LONG = function(d) {\n return [(d = 2147483648 <= d ? -(4294967296 - d) : d) >> 24 & 255, d >> 16 & 255, d >> 8 & 255, 255 & d];\n }, Y.LONG = K(4), B.FIXED = B.ULONG, Y.FIXED = Y.ULONG, B.FWORD = B.SHORT, Y.FWORD = Y.SHORT, B.UFWORD = B.USHORT, Y.UFWORD = Y.USHORT, B.LONGDATETIME = function(d) {\n return [0, 0, 0, 0, d >> 24 & 255, d >> 16 & 255, d >> 8 & 255, 255 & d];\n }, Y.LONGDATETIME = K(8), B.TAG = function(d) {\n return O.argument(d.length === 4, \"Tag should be exactly 4 ASCII characters.\"), [d.charCodeAt(0), d.charCodeAt(1), d.charCodeAt(2), d.charCodeAt(3)];\n }, Y.TAG = K(4), B.Card8 = B.BYTE, Y.Card8 = Y.BYTE, B.Card16 = B.USHORT, Y.Card16 = Y.USHORT, B.OffSize = B.BYTE, Y.OffSize = Y.BYTE, B.SID = B.USHORT, Y.SID = Y.USHORT, B.NUMBER = function(d) {\n return -107 <= d && d <= 107 ? [d + 139] : 108 <= d && d <= 1131 ? [247 + ((d -= 108) >> 8), 255 & d] : -1131 <= d && d <= -108 ? [251 + ((d = -d - 108) >> 8), 255 & d] : -32768 <= d && d <= 32767 ? B.NUMBER16(d) : B.NUMBER32(d);\n }, Y.NUMBER = function(d) {\n return B.NUMBER(d).length;\n }, B.NUMBER16 = function(d) {\n return [28, d >> 8 & 255, 255 & d];\n }, Y.NUMBER16 = K(3), B.NUMBER32 = function(d) {\n return [29, d >> 24 & 255, d >> 16 & 255, d >> 8 & 255, 255 & d];\n }, Y.NUMBER32 = K(5), B.REAL = function(d) {\n for (var v = d.toString(), w = /\\.(\\d*?)(?:9{5,20}|0{5,20})\\d{0,2}(?:e(.+)|$)/.exec(v), k = (w && (w = parseFloat(\"1e\" + ((w[2] ? +w[2] : 0) + w[1].length)), v = (Math.round(d * w) / w).toString()), \"\"), I = 0, N = v.length; I < N; I += 1) {\n var z = v[I];\n k += z === \"e\" ? v[++I] === \"-\" ? \"c\" : \"b\" : z === \".\" ? \"a\" : z === \"-\" ? \"e\" : z;\n }\n for (var Q = [30], se = 0, oe = (k += 1 & k.length ? \"f\" : \"ff\").length; se < oe; se += 2)\n Q.push(parseInt(k.substr(se, 2), 16));\n return Q;\n }, Y.REAL = function(d) {\n return B.REAL(d).length;\n }, B.NAME = B.CHARARRAY, Y.NAME = Y.CHARARRAY, B.STRING = B.CHARARRAY, Y.STRING = Y.CHARARRAY, D.UTF8 = function(d, v, w) {\n for (var k = [], I = w, N = 0; N < I; N++, v += 1)\n k[N] = d.getUint8(v);\n return String.fromCharCode.apply(null, k);\n }, D.UTF16 = function(d, v, w) {\n for (var k = [], I = w / 2, N = 0; N < I; N++, v += 2)\n k[N] = d.getUint16(v);\n return String.fromCharCode.apply(null, k);\n }, B.UTF16 = function(d) {\n for (var v = [], w = 0; w < d.length; w += 1) {\n var k = d.charCodeAt(w);\n v[v.length] = k >> 8 & 255, v[v.length] = 255 & k;\n }\n return v;\n }, Y.UTF16 = function(d) {\n return 2 * d.length;\n };\n var te, ce = { \"x-mac-croatian\": \"ÄÅÇÉÑÖÜáàâäãåçéèêëíìîïñóòôöõúùûü†°¢£§•¶ß®Š™´¨≠ŽØ∞±≤≥∆µ∂∑∏š∫ªºΩžø¿¡¬√ƒ≈Ć«Č… ÀÃÕŒœĐ—“”‘’÷◊©⁄€‹›Æ»–·‚„‰ÂćÁčÈÍÎÏÌÓÔđÒÚÛÙıˆ˜¯πË˚¸Êæˇ\", \"x-mac-cyrillic\": \"АБВГДЕЖЗИЙКЛМНОПРСТУФХЦЧШЩЪЫЬЭЮЯ†°Ґ£§•¶І®©™Ђђ≠Ѓѓ∞±≤≥іµґЈЄєЇїЉљЊњјЅ¬√ƒ≈∆«»… ЋћЌќѕ–—“”‘’÷„ЎўЏџ№Ёёяабвгдежзийклмнопрстуфхцчшщъыьэю\", \"x-mac-gaelic\": \"ÄÅÇÉÑÖÜáàâäãåçéèêëíìîïñóòôöõúùûü†°¢£§•¶ß®©™´¨≠ÆØḂ±≤≥ḃĊċḊḋḞḟĠġṀæøṁṖṗɼƒſṠ«»… ÀÃÕŒœ–—“”‘’ṡẛÿŸṪ€‹›Ŷŷṫ·Ỳỳ⁊ÂÊÁËÈÍÎÏÌÓÔ♣ÒÚÛÙıÝýŴŵẄẅẀẁẂẃ\", \"x-mac-greek\": \"Ĺ²É³ÖÜ΅àâä΄¨çéèê룙î‰ôö¦€ùûü†ΓΔΘΛΞΠß®©ΣΪ§≠°·Α±≤≥¥ΒΕΖΗΙΚΜΦΫΨΩάΝ¬ΟΡ≈Τ«»… ΥΧΆΈœ–―“”‘’÷ΉΊΌΎέήίόΏύαβψδεφγηιξκλμνοπώρστθωςχυζϊϋΐΰ­\", \"x-mac-icelandic\": \"ÄÅÇÉÑÖÜáàâäãåçéèêëíìîïñóòôöõúùûüÝ°¢£§•¶ß®©™´¨≠ÆØ∞±≤≥¥µ∂∑∏π∫ªºΩæø¿¡¬√ƒ≈∆«»… ÀÃÕŒœ–—“”‘’÷◊ÿŸ⁄€ÐðÞþý·‚„‰ÂÊÁËÈÍÎÏÌÓÔÒÚÛÙıˆ˜¯˘˙˚¸˝˛ˇ\", \"x-mac-inuit\": \"ᐃᐄᐅᐆᐊᐋᐱᐲᐳᐴᐸᐹᑉᑎᑏᑐᑑᑕᑖᑦᑭᑮᑯᑰᑲᑳᒃᒋᒌᒍᒎᒐᒑ°ᒡᒥᒦ•¶ᒧ®©™ᒨᒪᒫᒻᓂᓃᓄᓅᓇᓈᓐᓯᓰᓱᓲᓴᓵᔅᓕᓖᓗᓘᓚᓛᓪᔨᔩᔪᔫᔭ… ᔮᔾᕕᕖᕗ–—“”‘’ᕘᕙᕚᕝᕆᕇᕈᕉᕋᕌᕐᕿᖀᖁᖂᖃᖄᖅᖏᖐᖑᖒᖓᖔᖕᙱᙲᙳᙴᙵᙶᖖᖠᖡᖢᖣᖤᖥᖦᕼŁł\", \"x-mac-ce\": \"ÄĀāÉĄÖÜáąČäčĆć鏟ĎíďĒēĖóėôöõúĚěü†°Ę£§•¶ß®©™ę¨≠ģĮįĪ≤≥īĶ∂∑łĻļĽľĹĺŅņѬ√ńŇ∆«»… ňŐÕőŌ–—“”‘’÷◊ōŔŕŘ‹›řŖŗŠ‚„šŚśÁŤťÍŽžŪÓÔūŮÚůŰűŲųÝýķŻŁżĢˇ\", macintosh: \"ÄÅÇÉÑÖÜáàâäãåçéèêëíìîïñóòôöõúùûü†°¢£§•¶ß®©™´¨≠ÆØ∞±≤≥¥µ∂∑∏π∫ªºΩæø¿¡¬√ƒ≈∆«»… ÀÃÕŒœ–—“”‘’÷◊ÿŸ⁄€‹›fifl‡·‚„‰ÂÊÁËÈÍÎÏÌÓÔÒÚÛÙıˆ˜¯˘˙˚¸˝˛ˇ\", \"x-mac-romanian\": \"ÄÅÇÉÑÖÜáàâäãåçéèêëíìîïñóòôöõúùûü†°¢£§•¶ß®©™´¨≠ĂȘ∞±≤≥¥µ∂∑∏π∫ªºΩăș¿¡¬√ƒ≈∆«»… ÀÃÕŒœ–—“”‘’÷◊ÿŸ⁄€‹›Țț‡·‚„‰ÂÊÁËÈÍÎÏÌÓÔÒÚÛÙıˆ˜¯˘˙˚¸˝˛ˇ\", \"x-mac-turkish\": \"ÄÅÇÉÑÖÜáàâäãåçéèêëíìîïñóòôöõúùûü†°¢£§•¶ß®©™´¨≠ÆØ∞±≤≥¥µ∂∑∏π∫ªºΩæø¿¡¬√ƒ≈∆«»… ÀÃÕŒœ–—“”‘’÷◊ÿŸĞğİıŞş‡·‚„‰ÂÊÁËÈÍÎÏÌÓÔÒÚÛÙˆ˜¯˘˙˚¸˝˛ˇ\" }, re = (D.MACSTRING = function(d, v, w, k) {\n var I = ce[k];\n if (I !== void 0) {\n for (var N = \"\", z = 0; z < w; z++) {\n var Q = d.getUint8(v + z);\n N += Q <= 127 ? String.fromCharCode(Q) : I[127 & Q];\n }\n return N;\n }\n }, typeof WeakMap == \"function\" && /* @__PURE__ */ new WeakMap());\n function ue(d) {\n return -128 <= d && d <= 127;\n }\n B.MACSTRING = function(d, v) {\n var w = function(z) {\n if (!te)\n for (var Q in te = {}, ce)\n te[Q] = new String(Q);\n var se = te[z];\n if (se !== void 0) {\n if (re) {\n var oe = re.get(se);\n if (oe !== void 0)\n return oe;\n }\n var ye = ce[z];\n if (ye !== void 0) {\n for (var Se = {}, be = 0; be < ye.length; be++)\n Se[ye.charCodeAt(be)] = be + 128;\n return re && re.set(se, Se), Se;\n }\n }\n }(v);\n if (w !== void 0) {\n for (var k = [], I = 0; I < d.length; I++) {\n var N = d.charCodeAt(I);\n if (128 <= N && (N = w[N]) === void 0)\n return;\n k[I] = N;\n }\n return k;\n }\n }, Y.MACSTRING = function(d, v) {\n return d = B.MACSTRING(d, v), d !== void 0 ? d.length : 0;\n }, B.VARDELTAS = function(d) {\n for (var k = 0, v = []; k < d.length; )\n var w = d[k], k = (w === 0 ? function(I, N, z) {\n for (var Q = 0, se = I.length; N < se && Q < 64 && I[N] === 0; )\n ++N, ++Q;\n return z.push(128 | Q - 1), N;\n } : -128 <= w && w <= 127 ? function(I, N, z) {\n for (var Q = 0, se = I.length, oe = N; oe < se && Q < 64; ) {\n var ye = I[oe];\n if (!ue(ye) || ye === 0 && oe + 1 < se && I[oe + 1] === 0)\n break;\n ++oe, ++Q;\n }\n z.push(Q - 1);\n for (var Se = N; Se < oe; ++Se)\n z.push(I[Se] + 256 & 255);\n return oe;\n } : function(I, N, z) {\n for (var Q = 0, se = I.length, oe = N; oe < se && Q < 64; ) {\n var ye = I[oe];\n if (ye === 0 || ue(ye) && oe + 1 < se && ue(I[oe + 1]))\n break;\n ++oe, ++Q;\n }\n z.push(64 | Q - 1);\n for (var Se = N; Se < oe; ++Se) {\n var be = I[Se];\n z.push(be + 65536 >> 8 & 255, be + 256 & 255);\n }\n return oe;\n })(d, k, v);\n return v;\n }, B.INDEX = function(d) {\n for (var v = 1, w = [v], k = [], I = 0; I < d.length; I += 1) {\n var N = B.OBJECT(d[I]);\n Array.prototype.push.apply(k, N), v += N.length, w.push(v);\n }\n if (k.length === 0)\n return [0, 0];\n for (var z = [], Q = 1 + Math.floor(Math.log(v) / Math.log(2)) / 8 | 0, se = [void 0, B.BYTE, B.USHORT, B.UINT24, B.ULONG][Q], oe = 0; oe < w.length; oe += 1) {\n var ye = se(w[oe]);\n Array.prototype.push.apply(z, ye);\n }\n return Array.prototype.concat(B.Card16(d.length), B.OffSize(Q), z, k);\n }, Y.INDEX = function(d) {\n return B.INDEX(d).length;\n }, B.DICT = function(d) {\n for (var v = [], w = Object.keys(d), k = w.length, I = 0; I < k; I += 1) {\n var N = parseInt(w[I], 0), z = d[N];\n v = (v = v.concat(B.OPERAND(z.value, z.type))).concat(B.OPERATOR(N));\n }\n return v;\n }, Y.DICT = function(d) {\n return B.DICT(d).length;\n }, B.OPERATOR = function(d) {\n return d < 1200 ? [d] : [12, d - 1200];\n }, B.OPERAND = function(d, v) {\n var w = [];\n if (Array.isArray(v))\n for (var k = 0; k < v.length; k += 1)\n O.argument(d.length === v.length, \"Not enough arguments given for type\" + v), w = w.concat(B.OPERAND(d[k], v[k]));\n else if (v === \"SID\")\n w = w.concat(B.NUMBER(d));\n else if (v === \"offset\")\n w = w.concat(B.NUMBER32(d));\n else if (v === \"number\")\n w = w.concat(B.NUMBER(d));\n else {\n if (v !== \"real\")\n throw new Error(\"Unknown operand type \" + v);\n w = w.concat(B.REAL(d));\n }\n return w;\n }, B.OP = B.BYTE, Y.OP = Y.BYTE;\n var le = typeof WeakMap == \"function\" && /* @__PURE__ */ new WeakMap();\n function J(d, v, w) {\n for (var k = 0; k < v.length; k += 1) {\n var I = v[k];\n this[I.name] = I.value;\n }\n if (this.tableName = d, this.fields = v, w)\n for (var N = Object.keys(w), z = 0; z < N.length; z += 1) {\n var Q = N[z], se = w[Q];\n this[Q] !== void 0 && (this[Q] = se);\n }\n }\n function ae(d, v, w) {\n w === void 0 && (w = v.length);\n var k = new Array(v.length + 1);\n k[0] = { name: d + \"Count\", type: \"USHORT\", value: w };\n for (var I = 0; I < v.length; I++)\n k[I + 1] = { name: d + I, type: \"USHORT\", value: v[I] };\n return k;\n }\n function he(d, v, w) {\n var k = v.length, I = new Array(k + 1);\n I[0] = { name: d + \"Count\", type: \"USHORT\", value: k };\n for (var N = 0; N < k; N++)\n I[N + 1] = { name: d + N, type: \"TABLE\", value: w(v[N], N) };\n return I;\n }\n function _e(d, v, w) {\n var k = v.length, I = [];\n I[0] = { name: d + \"Count\", type: \"USHORT\", value: k };\n for (var N = 0; N < k; N++)\n I = I.concat(w(v[N], N));\n return I;\n }\n function fe(d) {\n d.format === 1 ? J.call(this, \"coverageTable\", [{ name: \"coverageFormat\", type: \"USHORT\", value: 1 }].concat(ae(\"glyph\", d.glyphs))) : O.assert(!1, \"Can't create coverage table format 2 yet.\");\n }\n function ge(d) {\n J.call(this, \"scriptListTable\", _e(\"scriptRecord\", d, function(v, w) {\n var k = v.script, I = k.defaultLangSys;\n return O.assert(!!I, \"Unable to write GSUB: script \" + v.tag + \" has no default language system.\"), [{ name: \"scriptTag\" + w, type: \"TAG\", value: v.tag }, { name: \"script\" + w, type: \"TABLE\", value: new J(\"scriptTable\", [{ name: \"defaultLangSys\", type: \"TABLE\", value: new J(\"defaultLangSys\", [{ name: \"lookupOrder\", type: \"USHORT\", value: 0 }, { name: \"reqFeatureIndex\", type: \"USHORT\", value: I.reqFeatureIndex }].concat(ae(\"featureIndex\", I.featureIndexes))) }].concat(_e(\"langSys\", k.langSysRecords, function(N, z) {\n var Q = N.langSys;\n return [{ name: \"langSysTag\" + z, type: \"TAG\", value: N.tag }, { name: \"langSys\" + z, type: \"TABLE\", value: new J(\"langSys\", [{ name: \"lookupOrder\", type: \"USHORT\", value: 0 }, { name: \"reqFeatureIndex\", type: \"USHORT\", value: Q.reqFeatureIndex }].concat(ae(\"featureIndex\", Q.featureIndexes))) }];\n }))) }];\n }));\n }\n function xe(d) {\n J.call(this, \"featureListTable\", _e(\"featureRecord\", d, function(v, w) {\n var k = v.feature;\n return [{ name: \"featureTag\" + w, type: \"TAG\", value: v.tag }, { name: \"feature\" + w, type: \"TABLE\", value: new J(\"featureTable\", [{ name: \"featureParams\", type: \"USHORT\", value: k.featureParams }].concat(ae(\"lookupListIndex\", k.lookupListIndexes))) }];\n }));\n }\n function De(d, v) {\n J.call(this, \"lookupListTable\", he(\"lookup\", d, function(w) {\n var k = v[w.lookupType];\n return O.assert(!!k, \"Unable to write GSUB lookup type \" + w.lookupType + \" tables.\"), new J(\"lookupTable\", [{ name: \"lookupType\", type: \"USHORT\", value: w.lookupType }, { name: \"lookupFlag\", type: \"USHORT\", value: w.lookupFlag }].concat(he(\"subtable\", w.subtables, k)));\n }));\n }\n B.CHARSTRING = function(d) {\n if (le) {\n var v = le.get(d);\n if (v !== void 0)\n return v;\n }\n for (var N = [], w = d.length, k = 0; k < w; k += 1)\n var I = d[k], N = N.concat(B[I.type](I.value));\n return le && le.set(d, N), N;\n }, Y.CHARSTRING = function(d) {\n return B.CHARSTRING(d).length;\n }, B.OBJECT = function(d) {\n var v = B[d.type];\n return O.argument(v !== void 0, \"No encoding function for type \" + d.type), v(d.value);\n }, Y.OBJECT = function(d) {\n var v = Y[d.type];\n return O.argument(v !== void 0, \"No sizeOf function for type \" + d.type), v(d.value);\n }, B.TABLE = function(d) {\n for (var v = [], w = d.fields.length, k = [], I = [], N = 0; N < w; N += 1) {\n var z = d.fields[N], se = B[z.type], Q = (O.argument(se !== void 0, \"No encoding function for field type \" + z.type + \" (\" + z.name + \")\"), d[z.name]), se = se(Q = Q === void 0 ? z.value : Q);\n z.type === \"TABLE\" ? (I.push(v.length), v = v.concat([0, 0]), k.push(se)) : v = v.concat(se);\n }\n for (var oe = 0; oe < k.length; oe += 1) {\n var ye = I[oe], Se = v.length;\n O.argument(Se < 65536, \"Table \" + d.tableName + \" too big.\"), v[ye] = Se >> 8, v[ye + 1] = 255 & Se, v = v.concat(k[oe]);\n }\n return v;\n }, Y.TABLE = function(d) {\n for (var v = 0, w = d.fields.length, k = 0; k < w; k += 1) {\n var I = d.fields[k], N = Y[I.type], z = (O.argument(N !== void 0, \"No sizeOf function for field type \" + I.type + \" (\" + I.name + \")\"), d[I.name]);\n v += N(z = z === void 0 ? I.value : z), I.type === \"TABLE\" && (v += 2);\n }\n return v;\n }, B.RECORD = B.TABLE, Y.RECORD = Y.TABLE, B.LITERAL = function(d) {\n return d;\n }, Y.LITERAL = function(d) {\n return d.length;\n }, J.prototype.encode = function() {\n return B.TABLE(this);\n }, J.prototype.sizeOf = function() {\n return Y.TABLE(this);\n };\n var Me = { Table: J, Record: J, Coverage: (fe.prototype = Object.create(J.prototype)).constructor = fe, ScriptList: (ge.prototype = Object.create(J.prototype)).constructor = ge, FeatureList: (xe.prototype = Object.create(J.prototype)).constructor = xe, LookupList: (De.prototype = Object.create(J.prototype)).constructor = De, ushortList: ae, tableList: he, recordList: _e };\n function Qe(d, v) {\n return d.getUint8(v);\n }\n function ze(d, v) {\n return d.getUint16(v, !1);\n }\n function Ve(d, v) {\n return d.getUint32(v, !1);\n }\n function Xe(d, v) {\n return d.getInt16(v, !1) + d.getUint16(v + 2, !1) / 65535;\n }\n var He = { byte: 1, uShort: 2, short: 2, uLong: 4, fixed: 4, longDateTime: 8, tag: 4 };\n function ve(d, v) {\n this.data = d, this.offset = v, this.relativeOffset = 0;\n }\n ve.prototype.parseByte = function() {\n var d = this.data.getUint8(this.offset + this.relativeOffset);\n return this.relativeOffset += 1, d;\n }, ve.prototype.parseChar = function() {\n var d = this.data.getInt8(this.offset + this.relativeOffset);\n return this.relativeOffset += 1, d;\n }, ve.prototype.parseCard8 = ve.prototype.parseByte, ve.prototype.parseCard16 = ve.prototype.parseUShort = function() {\n var d = this.data.getUint16(this.offset + this.relativeOffset);\n return this.relativeOffset += 2, d;\n }, ve.prototype.parseSID = ve.prototype.parseUShort, ve.prototype.parseOffset16 = ve.prototype.parseUShort, ve.prototype.parseShort = function() {\n var d = this.data.getInt16(this.offset + this.relativeOffset);\n return this.relativeOffset += 2, d;\n }, ve.prototype.parseF2Dot14 = function() {\n var d = this.data.getInt16(this.offset + this.relativeOffset) / 16384;\n return this.relativeOffset += 2, d;\n }, ve.prototype.parseOffset32 = ve.prototype.parseULong = function() {\n var d = Ve(this.data, this.offset + this.relativeOffset);\n return this.relativeOffset += 4, d;\n }, ve.prototype.parseFixed = function() {\n var d = Xe(this.data, this.offset + this.relativeOffset);\n return this.relativeOffset += 4, d;\n }, ve.prototype.parseString = function(d) {\n var v = this.data, w = this.offset + this.relativeOffset, k = \"\";\n this.relativeOffset += d;\n for (var I = 0; I < d; I++)\n k += String.fromCharCode(v.getUint8(w + I));\n return k;\n }, ve.prototype.parseTag = function() {\n return this.parseString(4);\n }, ve.prototype.parseLongDateTime = function() {\n var d = Ve(this.data, this.offset + this.relativeOffset + 4);\n return d -= 2082844800, this.relativeOffset += 8, d;\n }, ve.prototype.parseVersion = function(d) {\n var v = ze(this.data, this.offset + this.relativeOffset), w = ze(this.data, this.offset + this.relativeOffset + 2);\n return this.relativeOffset += 4, v + w / (d = d === void 0 ? 4096 : d) / 10;\n }, ve.prototype.skip = function(d, v) {\n this.relativeOffset += He[d] * (v = v === void 0 ? 1 : v);\n }, ve.prototype.parseULongList = function(d) {\n d === void 0 && (d = this.parseULong());\n for (var v = new Array(d), w = this.data, k = this.offset + this.relativeOffset, I = 0; I < d; I++)\n v[I] = w.getUint32(k), k += 4;\n return this.relativeOffset += 4 * d, v;\n }, ve.prototype.parseOffset16List = ve.prototype.parseUShortList = function(d) {\n d === void 0 && (d = this.parseUShort());\n for (var v = new Array(d), w = this.data, k = this.offset + this.relativeOffset, I = 0; I < d; I++)\n v[I] = w.getUint16(k), k += 2;\n return this.relativeOffset += 2 * d, v;\n }, ve.prototype.parseShortList = function(d) {\n for (var v = new Array(d), w = this.data, k = this.offset + this.relativeOffset, I = 0; I < d; I++)\n v[I] = w.getInt16(k), k += 2;\n return this.relativeOffset += 2 * d, v;\n }, ve.prototype.parseByteList = function(d) {\n for (var v = new Array(d), w = this.data, k = this.offset + this.relativeOffset, I = 0; I < d; I++)\n v[I] = w.getUint8(k++);\n return this.relativeOffset += d, v;\n }, ve.prototype.parseList = function(d, v) {\n v || (v = d, d = this.parseUShort());\n for (var w = new Array(d), k = 0; k < d; k++)\n w[k] = v.call(this);\n return w;\n }, ve.prototype.parseList32 = function(d, v) {\n v || (v = d, d = this.parseULong());\n for (var w = new Array(d), k = 0; k < d; k++)\n w[k] = v.call(this);\n return w;\n }, ve.prototype.parseRecordList = function(d, v) {\n v || (v = d, d = this.parseUShort());\n for (var w = new Array(d), k = Object.keys(v), I = 0; I < d; I++) {\n for (var N = {}, z = 0; z < k.length; z++) {\n var Q = k[z], se = v[Q];\n N[Q] = se.call(this);\n }\n w[I] = N;\n }\n return w;\n }, ve.prototype.parseRecordList32 = function(d, v) {\n v || (v = d, d = this.parseULong());\n for (var w = new Array(d), k = Object.keys(v), I = 0; I < d; I++) {\n for (var N = {}, z = 0; z < k.length; z++) {\n var Q = k[z], se = v[Q];\n N[Q] = se.call(this);\n }\n w[I] = N;\n }\n return w;\n }, ve.prototype.parseStruct = function(d) {\n if (typeof d == \"function\")\n return d.call(this);\n for (var v = Object.keys(d), w = {}, k = 0; k < v.length; k++) {\n var I = v[k], N = d[I];\n w[I] = N.call(this);\n }\n return w;\n }, ve.prototype.parseValueRecord = function(d) {\n var v;\n if ((d = d === void 0 ? this.parseUShort() : d) !== 0)\n return v = {}, 1 & d && (v.xPlacement = this.parseShort()), 2 & d && (v.yPlacement = this.parseShort()), 4 & d && (v.xAdvance = this.parseShort()), 8 & d && (v.yAdvance = this.parseShort()), 16 & d && (v.xPlaDevice = void 0, this.parseShort()), 32 & d && (v.yPlaDevice = void 0, this.parseShort()), 64 & d && (v.xAdvDevice = void 0, this.parseShort()), 128 & d && (v.yAdvDevice = void 0, this.parseShort()), v;\n }, ve.prototype.parseValueRecordList = function() {\n for (var d = this.parseUShort(), v = this.parseUShort(), w = new Array(v), k = 0; k < v; k++)\n w[k] = this.parseValueRecord(d);\n return w;\n }, ve.prototype.parsePointer = function(d) {\n var v = this.parseOffset16();\n if (0 < v)\n return new ve(this.data, this.offset + v).parseStruct(d);\n }, ve.prototype.parsePointer32 = function(d) {\n var v = this.parseOffset32();\n if (0 < v)\n return new ve(this.data, this.offset + v).parseStruct(d);\n }, ve.prototype.parseListOfLists = function(d) {\n for (var v = this.parseOffset16List(), w = v.length, k = this.relativeOffset, I = new Array(w), N = 0; N < w; N++) {\n var z = v[N];\n if (z === 0)\n I[N] = void 0;\n else if (this.relativeOffset = z, d) {\n for (var Q = this.parseOffset16List(), se = new Array(Q.length), oe = 0; oe < Q.length; oe++)\n this.relativeOffset = z + Q[oe], se[oe] = d.call(this);\n I[N] = se;\n } else\n I[N] = this.parseUShortList();\n }\n return this.relativeOffset = k, I;\n }, ve.prototype.parseCoverage = function() {\n var d = this.offset + this.relativeOffset, v = this.parseUShort(), w = this.parseUShort();\n if (v === 1)\n return { format: 1, glyphs: this.parseUShortList(w) };\n if (v !== 2)\n throw new Error(\"0x\" + d.toString(16) + \": Coverage format must be 1 or 2.\");\n for (var k = new Array(w), I = 0; I < w; I++)\n k[I] = { start: this.parseUShort(), end: this.parseUShort(), index: this.parseUShort() };\n return { format: 2, ranges: k };\n }, ve.prototype.parseClassDef = function() {\n var d = this.offset + this.relativeOffset, v = this.parseUShort();\n if (v === 1)\n return { format: 1, startGlyph: this.parseUShort(), classes: this.parseUShortList() };\n if (v === 2)\n return { format: 2, ranges: this.parseRecordList({ start: ve.uShort, end: ve.uShort, classId: ve.uShort }) };\n throw new Error(\"0x\" + d.toString(16) + \": ClassDef format must be 1 or 2.\");\n }, ve.list = function(d, v) {\n return function() {\n return this.parseList(d, v);\n };\n }, ve.list32 = function(d, v) {\n return function() {\n return this.parseList32(d, v);\n };\n }, ve.recordList = function(d, v) {\n return function() {\n return this.parseRecordList(d, v);\n };\n }, ve.recordList32 = function(d, v) {\n return function() {\n return this.parseRecordList32(d, v);\n };\n }, ve.pointer = function(d) {\n return function() {\n return this.parsePointer(d);\n };\n }, ve.pointer32 = function(d) {\n return function() {\n return this.parsePointer32(d);\n };\n }, ve.tag = ve.prototype.parseTag, ve.byte = ve.prototype.parseByte, ve.uShort = ve.offset16 = ve.prototype.parseUShort, ve.uShortList = ve.prototype.parseUShortList, ve.uLong = ve.offset32 = ve.prototype.parseULong, ve.uLongList = ve.prototype.parseULongList, ve.struct = ve.prototype.parseStruct, ve.coverage = ve.prototype.parseCoverage, ve.classDef = ve.prototype.parseClassDef;\n var Re = { reserved: ve.uShort, reqFeatureIndex: ve.uShort, featureIndexes: ve.uShortList }, we = (ve.prototype.parseScriptList = function() {\n return this.parsePointer(ve.recordList({ tag: ve.tag, script: ve.pointer({ defaultLangSys: ve.pointer(Re), langSysRecords: ve.recordList({ tag: ve.tag, langSys: ve.pointer(Re) }) }) })) || [];\n }, ve.prototype.parseFeatureList = function() {\n return this.parsePointer(ve.recordList({ tag: ve.tag, feature: ve.pointer({ featureParams: ve.offset16, lookupListIndexes: ve.uShortList }) })) || [];\n }, ve.prototype.parseLookupList = function(d) {\n return this.parsePointer(ve.list(ve.pointer(function() {\n var v = this.parseUShort(), w = (O.argument(1 <= v && v <= 9, \"GPOS/GSUB lookup type \" + v + \" unknown.\"), this.parseUShort()), k = 16 & w;\n return { lookupType: v, lookupFlag: w, subtables: this.parseList(ve.pointer(d[v])), markFilteringSet: k ? this.parseUShort() : void 0 };\n }))) || [];\n }, ve.prototype.parseFeatureVariationsList = function() {\n return this.parsePointer32(function() {\n var d = this.parseUShort(), v = this.parseUShort();\n return O.argument(d === 1 && v < 1, \"GPOS/GSUB feature variations table unknown.\"), this.parseRecordList32({ conditionSetOffset: ve.offset32, featureTableSubstitutionOffset: ve.offset32 });\n }) || [];\n }, { getByte: Qe, getCard8: Qe, getUShort: ze, getCard16: ze, getShort: function(d, v) {\n return d.getInt16(v, !1);\n }, getULong: Ve, getFixed: Xe, getTag: function(d, v) {\n for (var w = \"\", k = v; k < v + 4; k += 1)\n w += String.fromCharCode(d.getInt8(k));\n return w;\n }, getOffset: function(d, v, w) {\n for (var k = 0, I = 0; I < w; I += 1)\n k = (k <<= 8) + d.getUint8(v + I);\n return k;\n }, getBytes: function(d, v, w) {\n for (var k = [], I = v; I < w; I += 1)\n k.push(d.getUint8(I));\n return k;\n }, bytesToString: function(d) {\n for (var v = \"\", w = 0; w < d.length; w += 1)\n v += String.fromCharCode(d[w]);\n return v;\n }, Parser: ve }), Z = { parse: function(d, v) {\n for (var w = {}, k = (w.version = we.getUShort(d, v), O.argument(w.version === 0, \"cmap table version should be 0.\"), w.numTables = we.getUShort(d, v + 2), -1), I = w.numTables - 1; 0 <= I; --I) {\n var N = we.getUShort(d, v + 4 + 8 * I), z = we.getUShort(d, v + 4 + 8 * I + 2);\n if (N === 3 && (z === 0 || z === 1 || z === 10) || N === 0 && (z === 0 || z === 1 || z === 2 || z === 3 || z === 4)) {\n k = we.getULong(d, v + 4 + 8 * I + 4);\n break;\n }\n }\n if (k === -1)\n throw new Error(\"No valid cmap sub-tables found.\");\n var Q = new we.Parser(d, v + k);\n if (w.format = Q.parseUShort(), w.format === 12) {\n var se, oe = w, ye = Q;\n ye.parseUShort(), oe.length = ye.parseULong(), oe.language = ye.parseULong(), oe.groupCount = se = ye.parseULong(), oe.glyphIndexMap = {};\n for (var Se = 0; Se < se; Se += 1)\n for (var be = ye.parseULong(), de = ye.parseULong(), Ie = ye.parseULong(), ke = be; ke <= de; ke += 1)\n oe.glyphIndexMap[ke] = Ie, Ie++;\n } else {\n if (w.format !== 4)\n throw new Error(\"Only format 4 and 12 cmap tables are supported (found format \" + w.format + \").\");\n var Pe = w, Te = d, Ee = v, $e = k;\n Pe.length = Q.parseUShort(), Pe.language = Q.parseUShort(), Pe.segCount = lt = Q.parseUShort() >> 1, Q.skip(\"uShort\", 3), Pe.glyphIndexMap = {};\n for (var lt, et = new we.Parser(Te, Ee + $e + 14), tt = new we.Parser(Te, Ee + $e + 16 + 2 * lt), dt = new we.Parser(Te, Ee + $e + 16 + 4 * lt), wt = new we.Parser(Te, Ee + $e + 16 + 6 * lt), Ot = Ee + $e + 16 + 8 * lt, Rt = 0; Rt < lt - 1; Rt += 1)\n for (var Ht = void 0, Wt = et.parseUShort(), Qt = tt.parseUShort(), xt = dt.parseShort(), St = wt.parseUShort(), vt = Qt; vt <= Wt; vt += 1)\n St !== 0 ? (Ot = (Ot = wt.offset + wt.relativeOffset - 2) + St + 2 * (vt - Qt), (Ht = we.getUShort(Te, Ot)) !== 0 && (Ht = Ht + xt & 65535)) : Ht = vt + xt & 65535, Pe.glyphIndexMap[vt] = Ht;\n }\n return w;\n }, make: function(d) {\n for (var v = !0, w = d.length - 1; 0 < w; --w)\n if (65535 < d.get(w).unicode) {\n console.log(\"Adding CMAP format 12 (needed!)\"), v = !1;\n break;\n }\n var k, I, N = [{ name: \"version\", type: \"USHORT\", value: 0 }, { name: \"numTables\", type: \"USHORT\", value: v ? 1 : 2 }, { name: \"platformID\", type: \"USHORT\", value: 3 }, { name: \"encodingID\", type: \"USHORT\", value: 1 }, { name: \"offset\", type: \"ULONG\", value: v ? 12 : 20 }], z = (N = (N = v ? N : N.concat([{ name: \"cmap12PlatformID\", type: \"USHORT\", value: 3 }, { name: \"cmap12EncodingID\", type: \"USHORT\", value: 10 }, { name: \"cmap12Offset\", type: \"ULONG\", value: 0 }])).concat([{ name: \"format\", type: \"USHORT\", value: 4 }, { name: \"cmap4Length\", type: \"USHORT\", value: 0 }, { name: \"language\", type: \"USHORT\", value: 0 }, { name: \"segCountX2\", type: \"USHORT\", value: 0 }, { name: \"searchRange\", type: \"USHORT\", value: 0 }, { name: \"entrySelector\", type: \"USHORT\", value: 0 }, { name: \"rangeShift\", type: \"USHORT\", value: 0 }]), new Me.Table(\"cmap\", N));\n for (z.segments = [], w = 0; w < d.length; w += 1) {\n for (var Q = d.get(w), se = 0; se < Q.unicodes.length; se += 1)\n k = Q.unicodes[se], I = w, z.segments.push({ end: k, start: k, delta: -(k - I), offset: 0, glyphIndex: I });\n z.segments = z.segments.sort(function(Ee, $e) {\n return Ee.start - $e.start;\n });\n }\n z.segments.push({ end: 65535, start: 65535, delta: 1, offset: 0 });\n var oe = z.segments.length, ye = 0, Se = [], be = [], de = [], Ie = [], ke = [], Pe = [];\n for (w = 0; w < oe; w += 1) {\n var Te = z.segments[w];\n Te.end <= 65535 && Te.start <= 65535 ? (Se = Se.concat({ name: \"end_\" + w, type: \"USHORT\", value: Te.end }), be = be.concat({ name: \"start_\" + w, type: \"USHORT\", value: Te.start }), de = de.concat({ name: \"idDelta_\" + w, type: \"SHORT\", value: Te.delta }), Ie = Ie.concat({ name: \"idRangeOffset_\" + w, type: \"USHORT\", value: Te.offset }), Te.glyphId !== void 0 && (ke = ke.concat({ name: \"glyph_\" + w, type: \"USHORT\", value: Te.glyphId }))) : ye += 1, v || Te.glyphIndex === void 0 || (Pe = (Pe = (Pe = Pe.concat({ name: \"cmap12Start_\" + w, type: \"ULONG\", value: Te.start })).concat({ name: \"cmap12End_\" + w, type: \"ULONG\", value: Te.end })).concat({ name: \"cmap12Glyph_\" + w, type: \"ULONG\", value: Te.glyphIndex }));\n }\n return z.segCountX2 = 2 * (oe - ye), z.searchRange = 2 * Math.pow(2, Math.floor(Math.log(oe - ye) / Math.log(2))), z.entrySelector = Math.log(z.searchRange / 2) / Math.log(2), z.rangeShift = z.segCountX2 - z.searchRange, z.fields = z.fields.concat(Se), z.fields.push({ name: \"reservedPad\", type: \"USHORT\", value: 0 }), z.fields = z.fields.concat(be), z.fields = z.fields.concat(de), z.fields = z.fields.concat(Ie), z.fields = z.fields.concat(ke), z.cmap4Length = 14 + 2 * Se.length + 2 + 2 * be.length + 2 * de.length + 2 * Ie.length + 2 * ke.length, v || (N = 16 + 4 * Pe.length, z.cmap12Offset = 20 + z.cmap4Length, z.fields = z.fields.concat([{ name: \"cmap12Format\", type: \"USHORT\", value: 12 }, { name: \"cmap12Reserved\", type: \"USHORT\", value: 0 }, { name: \"cmap12Length\", type: \"ULONG\", value: N }, { name: \"cmap12Language\", type: \"ULONG\", value: 0 }, { name: \"cmap12nGroups\", type: \"ULONG\", value: Pe.length / 3 }]), z.fields = z.fields.concat(Pe)), z;\n } }, $ = [\".notdef\", \"space\", \"exclam\", \"quotedbl\", \"numbersign\", \"dollar\", \"percent\", \"ampersand\", \"quoteright\", \"parenleft\", \"parenright\", \"asterisk\", \"plus\", \"comma\", \"hyphen\", \"period\", \"slash\", \"zero\", \"one\", \"two\", \"three\", \"four\", \"five\", \"six\", \"seven\", \"eight\", \"nine\", \"colon\", \"semicolon\", \"less\", \"equal\", \"greater\", \"question\", \"at\", \"A\", \"B\", \"C\", \"D\", \"E\", \"F\", \"G\", \"H\", \"I\", \"J\", \"K\", \"L\", \"M\", \"N\", \"O\", \"P\", \"Q\", \"R\", \"S\", \"T\", \"U\", \"V\", \"W\", \"X\", \"Y\", \"Z\", \"bracketleft\", \"backslash\", \"bracketright\", \"asciicircum\", \"underscore\", \"quoteleft\", \"a\", \"b\", \"c\", \"d\", \"e\", \"f\", \"g\", \"h\", \"i\", \"j\", \"k\", \"l\", \"m\", \"n\", \"o\", \"p\", \"q\", \"r\", \"s\", \"t\", \"u\", \"v\", \"w\", \"x\", \"y\", \"z\", \"braceleft\", \"bar\", \"braceright\", \"asciitilde\", \"exclamdown\", \"cent\", \"sterling\", \"fraction\", \"yen\", \"florin\", \"section\", \"currency\", \"quotesingle\", \"quotedblleft\", \"guillemotleft\", \"guilsinglleft\", \"guilsinglright\", \"fi\", \"fl\", \"endash\", \"dagger\", \"daggerdbl\", \"periodcentered\", \"paragraph\", \"bullet\", \"quotesinglbase\", \"quotedblbase\", \"quotedblright\", \"guillemotright\", \"ellipsis\", \"perthousand\", \"questiondown\", \"grave\", \"acute\", \"circumflex\", \"tilde\", \"macron\", \"breve\", \"dotaccent\", \"dieresis\", \"ring\", \"cedilla\", \"hungarumlaut\", \"ogonek\", \"caron\", \"emdash\", \"AE\", \"ordfeminine\", \"Lslash\", \"Oslash\", \"OE\", \"ordmasculine\", \"ae\", \"dotlessi\", \"lslash\", \"oslash\", \"oe\", \"germandbls\", \"onesuperior\", \"logicalnot\", \"mu\", \"trademark\", \"Eth\", \"onehalf\", \"plusminus\", \"Thorn\", \"onequarter\", \"divide\", \"brokenbar\", \"degree\", \"thorn\", \"threequarters\", \"twosuperior\", \"registered\", \"minus\", \"eth\", \"multiply\", \"threesuperior\", \"copyright\", \"Aacute\", \"Acircumflex\", \"Adieresis\", \"Agrave\", \"Aring\", \"Atilde\", \"Ccedilla\", \"Eacute\", \"Ecircumflex\", \"Edieresis\", \"Egrave\", \"Iacute\", \"Icircumflex\", \"Idieresis\", \"Igrave\", \"Ntilde\", \"Oacute\", \"Ocircumflex\", \"Odieresis\", \"Ograve\", \"Otilde\", \"Scaron\", \"Uacute\", \"Ucircumflex\", \"Udieresis\", \"Ugrave\", \"Yacute\", \"Ydieresis\", \"Zcaron\", \"aacute\", \"acircumflex\", \"adieresis\", \"agrave\", \"aring\", \"atilde\", \"ccedilla\", \"eacute\", \"ecircumflex\", \"edieresis\", \"egrave\", \"iacute\", \"icircumflex\", \"idieresis\", \"igrave\", \"ntilde\", \"oacute\", \"ocircumflex\", \"odieresis\", \"ograve\", \"otilde\", \"scaron\", \"uacute\", \"ucircumflex\", \"udieresis\", \"ugrave\", \"yacute\", \"ydieresis\", \"zcaron\", \"exclamsmall\", \"Hungarumlautsmall\", \"dollaroldstyle\", \"dollarsuperior\", \"ampersandsmall\", \"Acutesmall\", \"parenleftsuperior\", \"parenrightsuperior\", \"266 ff\", \"onedotenleader\", \"zerooldstyle\", \"oneoldstyle\", \"twooldstyle\", \"threeoldstyle\", \"fouroldstyle\", \"fiveoldstyle\", \"sixoldstyle\", \"sevenoldstyle\", \"eightoldstyle\", \"nineoldstyle\", \"commasuperior\", \"threequartersemdash\", \"periodsuperior\", \"questionsmall\", \"asuperior\", \"bsuperior\", \"centsuperior\", \"dsuperior\", \"esuperior\", \"isuperior\", \"lsuperior\", \"msuperior\", \"nsuperior\", \"osuperior\", \"rsuperior\", \"ssuperior\", \"tsuperior\", \"ff\", \"ffi\", \"ffl\", \"parenleftinferior\", \"parenrightinferior\", \"Circumflexsmall\", \"hyphensuperior\", \"Gravesmall\", \"Asmall\", \"Bsmall\", \"Csmall\", \"Dsmall\", \"Esmall\", \"Fsmall\", \"Gsmall\", \"Hsmall\", \"Ismall\", \"Jsmall\", \"Ksmall\", \"Lsmall\", \"Msmall\", \"Nsmall\", \"Osmall\", \"Psmall\", \"Qsmall\", \"Rsmall\", \"Ssmall\", \"Tsmall\", \"Usmall\", \"Vsmall\", \"Wsmall\", \"Xsmall\", \"Ysmall\", \"Zsmall\", \"colonmonetary\", \"onefitted\", \"rupiah\", \"Tildesmall\", \"exclamdownsmall\", \"centoldstyle\", \"Lslashsmall\", \"Scaronsmall\", \"Zcaronsmall\", \"Dieresissmall\", \"Brevesmall\", \"Caronsmall\", \"Dotaccentsmall\", \"Macronsmall\", \"figuredash\", \"hypheninferior\", \"Ogoneksmall\", \"Ringsmall\", \"Cedillasmall\", \"questiondownsmall\", \"oneeighth\", \"threeeighths\", \"fiveeighths\", \"seveneighths\", \"onethird\", \"twothirds\", \"zerosuperior\", \"foursuperior\", \"fivesuperior\", \"sixsuperior\", \"sevensuperior\", \"eightsuperior\", \"ninesuperior\", \"zeroinferior\", \"oneinferior\", \"twoinferior\", \"threeinferior\", \"fourinferior\", \"fiveinferior\", \"sixinferior\", \"seveninferior\", \"eightinferior\", \"nineinferior\", \"centinferior\", \"dollarinferior\", \"periodinferior\", \"commainferior\", \"Agravesmall\", \"Aacutesmall\", \"Acircumflexsmall\", \"Atildesmall\", \"Adieresissmall\", \"Aringsmall\", \"AEsmall\", \"Ccedillasmall\", \"Egravesmall\", \"Eacutesmall\", \"Ecircumflexsmall\", \"Edieresissmall\", \"Igravesmall\", \"Iacutesmall\", \"Icircumflexsmall\", \"Idieresissmall\", \"Ethsmall\", \"Ntildesmall\", \"Ogravesmall\", \"Oacutesmall\", \"Ocircumflexsmall\", \"Otildesmall\", \"Odieresissmall\", \"OEsmall\", \"Oslashsmall\", \"Ugravesmall\", \"Uacutesmall\", \"Ucircumflexsmall\", \"Udieresissmall\", \"Yacutesmall\", \"Thornsmall\", \"Ydieresissmall\", \"001.000\", \"001.001\", \"001.002\", \"001.003\", \"Black\", \"Bold\", \"Book\", \"Light\", \"Medium\", \"Regular\", \"Roman\", \"Semibold\"], q = [\"\", \"\", \"\", \"\", \"\", \"\", \"\", \"\", \"\", \"\", \"\", \"\", \"\", \"\", \"\", \"\", \"\", \"\", \"\", \"\", \"\", \"\", \"\", \"\", \"\", \"\", \"\", \"\", \"\", \"\", \"\", \"\", \"space\", \"exclam\", \"quotedbl\", \"numbersign\", \"dollar\", \"percent\", \"ampersand\", \"quoteright\", \"parenleft\", \"parenright\", \"asterisk\", \"plus\", \"comma\", \"hyphen\", \"period\", \"slash\", \"zero\", \"one\", \"two\", \"three\", \"four\", \"five\", \"six\", \"seven\", \"eight\", \"nine\", \"colon\", \"semicolon\", \"less\", \"equal\", \"greater\", \"question\", \"at\", \"A\", \"B\", \"C\", \"D\", \"E\", \"F\", \"G\", \"H\", \"I\", \"J\", \"K\", \"L\", \"M\", \"N\", \"O\", \"P\", \"Q\", \"R\", \"S\", \"T\", \"U\", \"V\", \"W\", \"X\", \"Y\", \"Z\", \"bracketleft\", \"backslash\", \"bracketright\", \"asciicircum\", \"underscore\", \"quoteleft\", \"a\", \"b\", \"c\", \"d\", \"e\", \"f\", \"g\", \"h\", \"i\", \"j\", \"k\", \"l\", \"m\", \"n\", \"o\", \"p\", \"q\", \"r\", \"s\", \"t\", \"u\", \"v\", \"w\", \"x\", \"y\", \"z\", \"braceleft\", \"bar\", \"braceright\", \"asciitilde\", \"\", \"\", \"\", \"\", \"\", \"\", \"\", \"\", \"\", \"\", \"\", \"\", \"\", \"\", \"\", \"\", \"\", \"\", \"\", \"\", \"\", \"\", \"\", \"\", \"\", \"\", \"\", \"\", \"\", \"\", \"\", \"\", \"\", \"\", \"exclamdown\", \"cent\", \"sterling\", \"fraction\", \"yen\", \"florin\", \"section\", \"currency\", \"quotesingle\", \"quotedblleft\", \"guillemotleft\", \"guilsinglleft\", \"guilsinglright\", \"fi\", \"fl\", \"\", \"endash\", \"dagger\", \"daggerdbl\", \"periodcentered\", \"\", \"paragraph\", \"bullet\", \"quotesinglbase\", \"quotedblbase\", \"quotedblright\", \"guillemotright\", \"ellipsis\", \"perthousand\", \"\", \"questiondown\", \"\", \"grave\", \"acute\", \"circumflex\", \"tilde\", \"macron\", \"breve\", \"dotaccent\", \"dieresis\", \"\", \"ring\", \"cedilla\", \"\", \"hungarumlaut\", \"ogonek\", \"caron\", \"emdash\", \"\", \"\", \"\", \"\", \"\", \"\", \"\", \"\", \"\", \"\", \"\", \"\", \"\", \"\", \"\", \"\", \"AE\", \"\", \"ordfeminine\", \"\", \"\", \"\", \"\", \"Lslash\", \"Oslash\", \"OE\", \"ordmasculine\", \"\", \"\", \"\", \"\", \"\", \"ae\", \"\", \"\", \"\", \"dotlessi\", \"\", \"\", \"lslash\", \"oslash\", \"oe\", \"germandbls\"], ee = [\"\", \"\", \"\", \"\", \"\", \"\", \"\", \"\", \"\", \"\", \"\", \"\", \"\", \"\", \"\", \"\", \"\", \"\", \"\", \"\", \"\", \"\", \"\", \"\", \"\", \"\", \"\", \"\", \"\", \"\", \"\", \"\", \"space\", \"exclamsmall\", \"Hungarumlautsmall\", \"\", \"dollaroldstyle\", \"dollarsuperior\", \"ampersandsmall\", \"Acutesmall\", \"parenleftsuperior\", \"parenrightsuperior\", \"twodotenleader\", \"onedotenleader\", \"comma\", \"hyphen\", \"period\", \"fraction\", \"zerooldstyle\", \"oneoldstyle\", \"twooldstyle\", \"threeoldstyle\", \"fouroldstyle\", \"fiveoldstyle\", \"sixoldstyle\", \"sevenoldstyle\", \"eightoldstyle\", \"nineoldstyle\", \"colon\", \"semicolon\", \"commasuperior\", \"threequartersemdash\", \"periodsuperior\", \"questionsmall\", \"\", \"asuperior\", \"bsuperior\", \"centsuperior\", \"dsuperior\", \"esuperior\", \"\", \"\", \"isuperior\", \"\", \"\", \"lsuperior\", \"msuperior\", \"nsuperior\", \"osuperior\", \"\", \"\", \"rsuperior\", \"ssuperior\", \"tsuperior\", \"\", \"ff\", \"fi\", \"fl\", \"ffi\", \"ffl\", \"parenleftinferior\", \"\", \"parenrightinferior\", \"Circumflexsmall\", \"hyphensuperior\", \"Gravesmall\", \"Asmall\", \"Bsmall\", \"Csmall\", \"Dsmall\", \"Esmall\", \"Fsmall\", \"Gsmall\", \"Hsmall\", \"Ismall\", \"Jsmall\", \"Ksmall\", \"Lsmall\", \"Msmall\", \"Nsmall\", \"Osmall\", \"Psmall\", \"Qsmall\", \"Rsmall\", \"Ssmall\", \"Tsmall\", \"Usmall\", \"Vsmall\", \"Wsmall\", \"Xsmall\", \"Ysmall\", \"Zsmall\", \"colonmonetary\", \"onefitted\", \"rupiah\", \"Tildesmall\", \"\", \"\", \"\", \"\", \"\", \"\", \"\", \"\", \"\", \"\", \"\", \"\", \"\", \"\", \"\", \"\", \"\", \"\", \"\", \"\", \"\", \"\", \"\", \"\", \"\", \"\", \"\", \"\", \"\", \"\", \"\", \"\", \"\", \"\", \"exclamdownsmall\", \"centoldstyle\", \"Lslashsmall\", \"\", \"\", \"Scaronsmall\", \"Zcaronsmall\", \"Dieresissmall\", \"Brevesmall\", \"Caronsmall\", \"\", \"Dotaccentsmall\", \"\", \"\", \"Macronsmall\", \"\", \"\", \"figuredash\", \"hypheninferior\", \"\", \"\", \"Ogoneksmall\", \"Ringsmall\", \"Cedillasmall\", \"\", \"\", \"\", \"onequarter\", \"onehalf\", \"threequarters\", \"questiondownsmall\", \"oneeighth\", \"threeeighths\", \"fiveeighths\", \"seveneighths\", \"onethird\", \"twothirds\", \"\", \"\", \"zerosuperior\", \"onesuperior\", \"twosuperior\", \"threesuperior\", \"foursuperior\", \"fivesuperior\", \"sixsuperior\", \"sevensuperior\", \"eightsuperior\", \"ninesuperior\", \"zeroinferior\", \"oneinferior\", \"twoinferior\", \"threeinferior\", \"fourinferior\", \"fiveinferior\", \"sixinferior\", \"seveninferior\", \"eightinferior\", \"nineinferior\", \"centinferior\", \"dollarinferior\", \"periodinferior\", \"commainferior\", \"Agravesmall\", \"Aacutesmall\", \"Acircumflexsmall\", \"Atildesmall\", \"Adieresissmall\", \"Aringsmall\", \"AEsmall\", \"Ccedillasmall\", \"Egravesmall\", \"Eacutesmall\", \"Ecircumflexsmall\", \"Edieresissmall\", \"Igravesmall\", \"Iacutesmall\", \"Icircumflexsmall\", \"Idieresissmall\", \"Ethsmall\", \"Ntildesmall\", \"Ogravesmall\", \"Oacutesmall\", \"Ocircumflexsmall\", \"Otildesmall\", \"Odieresissmall\", \"OEsmall\", \"Oslashsmall\", \"Ugravesmall\", \"Uacutesmall\", \"Ucircumflexsmall\", \"Udieresissmall\", \"Yacutesmall\", \"Thornsmall\", \"Ydieresissmall\"], pe = [\".notdef\", \".null\", \"nonmarkingreturn\", \"space\", \"exclam\", \"quotedbl\", \"numbersign\", \"dollar\", \"percent\", \"ampersand\", \"quotesingle\", \"parenleft\", \"parenright\", \"asterisk\", \"plus\", \"comma\", \"hyphen\", \"period\", \"slash\", \"zero\", \"one\", \"two\", \"three\", \"four\", \"five\", \"six\", \"seven\", \"eight\", \"nine\", \"colon\", \"semicolon\", \"less\", \"equal\", \"greater\", \"question\", \"at\", \"A\", \"B\", \"C\", \"D\", \"E\", \"F\", \"G\", \"H\", \"I\", \"J\", \"K\", \"L\", \"M\", \"N\", \"O\", \"P\", \"Q\", \"R\", \"S\", \"T\", \"U\", \"V\", \"W\", \"X\", \"Y\", \"Z\", \"bracketleft\", \"backslash\", \"bracketright\", \"asciicircum\", \"underscore\", \"grave\", \"a\", \"b\", \"c\", \"d\", \"e\", \"f\", \"g\", \"h\", \"i\", \"j\", \"k\", \"l\", \"m\", \"n\", \"o\", \"p\", \"q\", \"r\", \"s\", \"t\", \"u\", \"v\", \"w\", \"x\", \"y\", \"z\", \"braceleft\", \"bar\", \"braceright\", \"asciitilde\", \"Adieresis\", \"Aring\", \"Ccedilla\", \"Eacute\", \"Ntilde\", \"Odieresis\", \"Udieresis\", \"aacute\", \"agrave\", \"acircumflex\", \"adieresis\", \"atilde\", \"aring\", \"ccedilla\", \"eacute\", \"egrave\", \"ecircumflex\", \"edieresis\", \"iacute\", \"igrave\", \"icircumflex\", \"idieresis\", \"ntilde\", \"oacute\", \"ograve\", \"ocircumflex\", \"odieresis\", \"otilde\", \"uacute\", \"ugrave\", \"ucircumflex\", \"udieresis\", \"dagger\", \"degree\", \"cent\", \"sterling\", \"section\", \"bullet\", \"paragraph\", \"germandbls\", \"registered\", \"copyright\", \"trademark\", \"acute\", \"dieresis\", \"notequal\", \"AE\", \"Oslash\", \"infinity\", \"plusminus\", \"lessequal\", \"greaterequal\", \"yen\", \"mu\", \"partialdiff\", \"summation\", \"product\", \"pi\", \"integral\", \"ordfeminine\", \"ordmasculine\", \"Omega\", \"ae\", \"oslash\", \"questiondown\", \"exclamdown\", \"logicalnot\", \"radical\", \"florin\", \"approxequal\", \"Delta\", \"guillemotleft\", \"guillemotright\", \"ellipsis\", \"nonbreakingspace\", \"Agrave\", \"Atilde\", \"Otilde\", \"OE\", \"oe\", \"endash\", \"emdash\", \"quotedblleft\", \"quotedblright\", \"quoteleft\", \"quoteright\", \"divide\", \"lozenge\", \"ydieresis\", \"Ydieresis\", \"fraction\", \"currency\", \"guilsinglleft\", \"guilsinglright\", \"fi\", \"fl\", \"daggerdbl\", \"periodcentered\", \"quotesinglbase\", \"quotedblbase\", \"perthousand\", \"Acircumflex\", \"Ecircumflex\", \"Aacute\", \"Edieresis\", \"Egrave\", \"Iacute\", \"Icircumflex\", \"Idieresis\", \"Igrave\", \"Oacute\", \"Ocircumflex\", \"apple\", \"Ograve\", \"Uacute\", \"Ucircumflex\", \"Ugrave\", \"dotlessi\", \"circumflex\", \"tilde\", \"macron\", \"breve\", \"dotaccent\", \"ring\", \"cedilla\", \"hungarumlaut\", \"ogonek\", \"caron\", \"Lslash\", \"lslash\", \"Scaron\", \"scaron\", \"Zcaron\", \"zcaron\", \"brokenbar\", \"Eth\", \"eth\", \"Yacute\", \"yacute\", \"Thorn\", \"thorn\", \"minus\", \"multiply\", \"onesuperior\", \"twosuperior\", \"threesuperior\", \"onehalf\", \"onequarter\", \"threequarters\", \"franc\", \"Gbreve\", \"gbreve\", \"Idotaccent\", \"Scedilla\", \"scedilla\", \"Cacute\", \"cacute\", \"Ccaron\", \"ccaron\", \"dcroat\"];\n function je(d) {\n this.font = d;\n }\n function Ce(d) {\n this.cmap = d;\n }\n function Fe(d, v) {\n this.encoding = d, this.charset = v;\n }\n function Ne(d) {\n switch (d.version) {\n case 1:\n this.names = pe.slice();\n break;\n case 2:\n this.names = new Array(d.numberOfGlyphs);\n for (var v = 0; v < d.numberOfGlyphs; v++)\n d.glyphNameIndex[v] < pe.length ? this.names[v] = pe[d.glyphNameIndex[v]] : this.names[v] = d.names[d.glyphNameIndex[v] - pe.length];\n break;\n case 2.5:\n this.names = new Array(d.numberOfGlyphs);\n for (var w = 0; w < d.numberOfGlyphs; w++)\n this.names[w] = pe[w + d.glyphNameIndex[w]];\n break;\n default:\n this.names = [];\n }\n }\n je.prototype.charToGlyphIndex = function(d) {\n var v = d.codePointAt(0), w = this.font.glyphs;\n if (w) {\n for (var k = 0; k < w.length; k += 1)\n for (var I = w.get(k), N = 0; N < I.unicodes.length; N += 1)\n if (I.unicodes[N] === v)\n return k;\n }\n return null;\n }, Ce.prototype.charToGlyphIndex = function(d) {\n return this.cmap.glyphIndexMap[d.codePointAt(0)] || 0;\n }, Fe.prototype.charToGlyphIndex = function(d) {\n return d = d.codePointAt(0), d = this.encoding[d], this.charset.indexOf(d);\n }, Ne.prototype.nameToGlyphIndex = function(d) {\n return this.names.indexOf(d);\n }, Ne.prototype.glyphIndexToName = function(d) {\n return this.names[d];\n };\n var Be = { line: function(d, v, w, k, I) {\n d.beginPath(), d.moveTo(v, w), d.lineTo(k, I), d.stroke();\n } };\n function We(d) {\n this.bindConstructorValues(d);\n }\n function st(d, v, w) {\n Object.defineProperty(d, v, { get: function() {\n return d.path, d[w];\n }, set: function(k) {\n d[w] = k;\n }, enumerable: !0, configurable: !0 });\n }\n function nt(d, v) {\n if (this.font = d, this.glyphs = {}, Array.isArray(v))\n for (var w = 0; w < v.length; w++)\n this.glyphs[w] = v[w];\n this.length = v && v.length || 0;\n }\n We.prototype.bindConstructorValues = function(d) {\n var v;\n this.index = d.index || 0, this.name = d.name || null, this.unicode = d.unicode || void 0, this.unicodes = d.unicodes || d.unicode !== void 0 ? [d.unicode] : [], d.xMin && (this.xMin = d.xMin), d.yMin && (this.yMin = d.yMin), d.xMax && (this.xMax = d.xMax), d.yMax && (this.yMax = d.yMax), d.advanceWidth && (this.advanceWidth = d.advanceWidth), Object.defineProperty(this, \"path\", (d = d.path, v = d || new X(), { configurable: !0, get: function() {\n return v = typeof v == \"function\" ? v() : v;\n }, set: function(w) {\n v = w;\n } }));\n }, We.prototype.addUnicode = function(d) {\n this.unicodes.length === 0 && (this.unicode = d), this.unicodes.push(d);\n }, We.prototype.getBoundingBox = function() {\n return this.path.getBoundingBox();\n }, We.prototype.getPath = function(d, v, w, k, I) {\n d = d !== void 0 ? d : 0, v = v !== void 0 ? v : 0, w = w !== void 0 ? w : 72;\n for (var N, z, Q = (k = k || {}).xScale, se = k.yScale, oe = ((N = k.hinting && I && I.hinting ? this.path && I.hinting.exec(this, w) : N) ? (z = I.hinting.getCommands(N), d = Math.round(d), v = Math.round(v), Q = se = 1) : (z = this.path.commands, k = 1 / this.path.unitsPerEm * w, Q === void 0 && (Q = k), se === void 0 && (se = k)), new X()), ye = 0; ye < z.length; ye += 1) {\n var Se = z[ye];\n Se.type === \"M\" ? oe.moveTo(d + Se.x * Q, v + -Se.y * se) : Se.type === \"L\" ? oe.lineTo(d + Se.x * Q, v + -Se.y * se) : Se.type === \"Q\" ? oe.quadraticCurveTo(d + Se.x1 * Q, v + -Se.y1 * se, d + Se.x * Q, v + -Se.y * se) : Se.type === \"C\" ? oe.curveTo(d + Se.x1 * Q, v + -Se.y1 * se, d + Se.x2 * Q, v + -Se.y2 * se, d + Se.x * Q, v + -Se.y * se) : Se.type === \"Z\" && oe.closePath();\n }\n return oe;\n }, We.prototype.getContours = function() {\n if (this.points === void 0)\n return [];\n for (var d = [], v = [], w = 0; w < this.points.length; w += 1) {\n var k = this.points[w];\n v.push(k), k.lastPointOfContour && (d.push(v), v = []);\n }\n return O.argument(v.length === 0, \"There are still points left in the current contour.\"), d;\n }, We.prototype.getMetrics = function() {\n for (var d = this.path.commands, v = [], w = [], k = 0; k < d.length; k += 1) {\n var I = d[k];\n I.type !== \"Z\" && (v.push(I.x), w.push(I.y)), I.type !== \"Q\" && I.type !== \"C\" || (v.push(I.x1), w.push(I.y1)), I.type === \"C\" && (v.push(I.x2), w.push(I.y2));\n }\n var N = { xMin: Math.min.apply(null, v), yMin: Math.min.apply(null, w), xMax: Math.max.apply(null, v), yMax: Math.max.apply(null, w), leftSideBearing: this.leftSideBearing };\n return isFinite(N.xMin) || (N.xMin = 0), isFinite(N.xMax) || (N.xMax = this.advanceWidth), isFinite(N.yMin) || (N.yMin = 0), isFinite(N.yMax) || (N.yMax = 0), N.rightSideBearing = this.advanceWidth - N.leftSideBearing - (N.xMax - N.xMin), N;\n }, We.prototype.draw = function(d, v, w, k, I) {\n this.getPath(v, w, k, I).draw(d);\n }, We.prototype.drawPoints = function(d, v, w, k) {\n function I(ye, Se, be, de) {\n var Ie = 2 * Math.PI;\n d.beginPath();\n for (var ke = 0; ke < ye.length; ke += 1)\n d.moveTo(Se + ye[ke].x * de, be + ye[ke].y * de), d.arc(Se + ye[ke].x * de, be + ye[ke].y * de, 2, 0, Ie, !1);\n d.closePath(), d.fill();\n }\n v = v !== void 0 ? v : 0, w = w !== void 0 ? w : 0;\n for (var k = 1 / this.path.unitsPerEm * (k = k !== void 0 ? k : 24), N = [], z = [], Q = this.path, se = 0; se < Q.commands.length; se += 1) {\n var oe = Q.commands[se];\n oe.x !== void 0 && N.push({ x: oe.x, y: -oe.y }), oe.x1 !== void 0 && z.push({ x: oe.x1, y: -oe.y1 }), oe.x2 !== void 0 && z.push({ x: oe.x2, y: -oe.y2 });\n }\n d.fillStyle = \"blue\", I(N, v, w, k), d.fillStyle = \"red\", I(z, v, w, k);\n }, We.prototype.drawMetrics = function(d, v, w, k) {\n v = v !== void 0 ? v : 0, w = w !== void 0 ? w : 0, k = 1 / this.path.unitsPerEm * (k = k !== void 0 ? k : 24), d.lineWidth = 1, d.strokeStyle = \"black\", Be.line(d, v, -1e4, v, 1e4), Be.line(d, -1e4, w, 1e4, w);\n var I = this.xMin || 0, N = this.yMin || 0, z = this.xMax || 0, Q = this.yMax || 0, se = this.advanceWidth || 0;\n d.strokeStyle = \"blue\", Be.line(d, v + I * k, -1e4, v + I * k, 1e4), Be.line(d, v + z * k, -1e4, v + z * k, 1e4), Be.line(d, -1e4, w + -N * k, 1e4, w + -N * k), Be.line(d, -1e4, w + -Q * k, 1e4, w + -Q * k), d.strokeStyle = \"green\", Be.line(d, v + se * k, -1e4, v + se * k, 1e4);\n }, nt.prototype.get = function(d) {\n return typeof this.glyphs[d] == \"function\" && (this.glyphs[d] = this.glyphs[d]()), this.glyphs[d];\n }, nt.prototype.push = function(d, v) {\n this.glyphs[d] = v, this.length++;\n };\n var Ke = { GlyphSet: nt, glyphLoader: function(d, v) {\n return new We({ index: v, font: d });\n }, ttfGlyphLoader: function(d, v, w, k, I, N) {\n return function() {\n var z = new We({ index: v, font: d });\n return z.path = function() {\n w(z, k, I);\n var Q = N(d.glyphs, z);\n return Q.unitsPerEm = d.unitsPerEm, Q;\n }, st(z, \"xMin\", \"_xMin\"), st(z, \"xMax\", \"_xMax\"), st(z, \"yMin\", \"_yMin\"), st(z, \"yMax\", \"_yMax\"), z;\n };\n }, cffGlyphLoader: function(d, v, w, k) {\n return function() {\n var I = new We({ index: v, font: d });\n return I.path = function() {\n var N = w(d, I, k);\n return N.unitsPerEm = d.unitsPerEm, N;\n }, I;\n };\n } };\n function at(d) {\n return d = d.length < 1240 ? 107 : d.length < 33900 ? 1131 : 32768, d;\n }\n function ot(d, v, w) {\n var k, I = [], N = [], z = we.getCard16(d, v);\n if (z !== 0) {\n for (var Q = we.getByte(d, v + 2), se = v + (z + 1) * Q + 2, oe = v + 3, ye = 0; ye < z + 1; ye += 1)\n I.push(we.getOffset(d, oe, Q)), oe += Q;\n k = se + I[z];\n } else\n k = v + 2;\n for (var Se = 0; Se < I.length - 1; Se += 1) {\n var be = we.getBytes(d, se + I[Se], se + I[Se + 1]);\n w && (be = w(be)), N.push(be);\n }\n return { objects: N, startOffset: v, endOffset: k };\n }\n function bt(d, v) {\n if (v === 28)\n return d.parseByte() << 8 | d.parseByte();\n if (v === 29)\n return d.parseByte() << 24 | d.parseByte() << 16 | d.parseByte() << 8 | d.parseByte();\n if (v === 30) {\n for (var w = d, k = \"\", I = [\"0\", \"1\", \"2\", \"3\", \"4\", \"5\", \"6\", \"7\", \"8\", \"9\", \".\", \"E\", \"E-\", null, \"-\"]; ; ) {\n var z = w.parseByte(), N = z >> 4, z = 15 & z;\n if (N == 15 || (k += I[N], z == 15))\n break;\n k += I[z];\n }\n return parseFloat(k);\n }\n if (32 <= v && v <= 246)\n return v - 139;\n if (247 <= v && v <= 250)\n return 256 * (v - 247) + d.parseByte() + 108;\n if (251 <= v && v <= 254)\n return 256 * -(v - 251) - d.parseByte() - 108;\n throw new Error(\"Invalid b0 \" + v);\n }\n function It(d, v, w) {\n var k = new we.Parser(d, v = v !== void 0 ? v : 0), I = [], N = [];\n for (w = w !== void 0 ? w : d.length; k.relativeOffset < w; ) {\n var z = k.parseByte();\n z <= 21 ? (z === 12 && (z = 1200 + k.parseByte()), I.push([z, N]), N = []) : N.push(bt(k, z));\n }\n for (var Q = I, se = {}, oe = 0; oe < Q.length; oe += 1) {\n var ye = Q[oe][0], Se = Q[oe][1], be = void 0, be = Se.length === 1 ? Se[0] : Se;\n if (se.hasOwnProperty(ye) && !isNaN(se[ye]))\n throw new Error(\"Object \" + se + \" already has key \" + ye);\n se[ye] = be;\n }\n return se;\n }\n function Mt(d, v) {\n return v = v <= 390 ? $[v] : d[v - 391];\n }\n function mt(d, v, w) {\n for (var k, I = {}, N = 0; N < v.length; N += 1) {\n var z = v[N];\n if (Array.isArray(z.type)) {\n var Q = [];\n Q.length = z.type.length;\n for (var se = 0; se < z.type.length; se++)\n (k = d[z.op] !== void 0 ? d[z.op][se] : void 0) === void 0 && (k = z.value !== void 0 && z.value[se] !== void 0 ? z.value[se] : null), z.type[se] === \"SID\" && (k = Mt(w, k)), Q[se] = k;\n I[z.name] = Q;\n } else\n (k = d[z.op]) === void 0 && (k = z.value !== void 0 ? z.value : null), z.type === \"SID\" && (k = Mt(w, k)), I[z.name] = k;\n }\n return I;\n }\n var jt = [{ name: \"version\", op: 0, type: \"SID\" }, { name: \"notice\", op: 1, type: \"SID\" }, { name: \"copyright\", op: 1200, type: \"SID\" }, { name: \"fullName\", op: 2, type: \"SID\" }, { name: \"familyName\", op: 3, type: \"SID\" }, { name: \"weight\", op: 4, type: \"SID\" }, { name: \"isFixedPitch\", op: 1201, type: \"number\", value: 0 }, { name: \"italicAngle\", op: 1202, type: \"number\", value: 0 }, { name: \"underlinePosition\", op: 1203, type: \"number\", value: -100 }, { name: \"underlineThickness\", op: 1204, type: \"number\", value: 50 }, { name: \"paintType\", op: 1205, type: \"number\", value: 0 }, { name: \"charstringType\", op: 1206, type: \"number\", value: 2 }, { name: \"fontMatrix\", op: 1207, type: [\"real\", \"real\", \"real\", \"real\", \"real\", \"real\"], value: [1e-3, 0, 0, 1e-3, 0, 0] }, { name: \"uniqueId\", op: 13, type: \"number\" }, { name: \"fontBBox\", op: 5, type: [\"number\", \"number\", \"number\", \"number\"], value: [0, 0, 0, 0] }, { name: \"strokeWidth\", op: 1208, type: \"number\", value: 0 }, { name: \"xuid\", op: 14, type: [], value: null }, { name: \"charset\", op: 15, type: \"offset\", value: 0 }, { name: \"encoding\", op: 16, type: \"offset\", value: 0 }, { name: \"charStrings\", op: 17, type: \"offset\", value: 0 }, { name: \"private\", op: 18, type: [\"number\", \"offset\"], value: [0, 0] }, { name: \"ros\", op: 1230, type: [\"SID\", \"SID\", \"number\"] }, { name: \"cidFontVersion\", op: 1231, type: \"number\", value: 0 }, { name: \"cidFontRevision\", op: 1232, type: \"number\", value: 0 }, { name: \"cidFontType\", op: 1233, type: \"number\", value: 0 }, { name: \"cidCount\", op: 1234, type: \"number\", value: 8720 }, { name: \"uidBase\", op: 1235, type: \"number\" }, { name: \"fdArray\", op: 1236, type: \"offset\" }, { name: \"fdSelect\", op: 1237, type: \"offset\" }, { name: \"fontName\", op: 1238, type: \"SID\" }], ft = [{ name: \"subrs\", op: 19, type: \"offset\", value: 0 }, { name: \"defaultWidthX\", op: 20, type: \"number\", value: 0 }, { name: \"nominalWidthX\", op: 21, type: \"number\", value: 0 }];\n function Dt(d, v, w, k) {\n return mt(It(d, v, w), ft, k);\n }\n function At(d, v, w, k) {\n for (var I = [], N = 0; N < w.length; N += 1) {\n var z = new DataView(new Uint8Array(w[N]).buffer), z = (Q = k, mt(It(z, 0, z.byteLength), jt, Q)), Q = (z._subrs = [], z._subrsBias = 0, z.private[0]), se = z.private[1];\n Q !== 0 && se !== 0 && (Q = Dt(d, se + v, Q, k), z._defaultWidthX = Q.defaultWidthX, z._nominalWidthX = Q.nominalWidthX, Q.subrs !== 0 && (se = ot(d, se + Q.subrs + v), z._subrs = se.objects, z._subrsBias = at(z._subrs)), z._privateDict = Q), I.push(z);\n }\n return I;\n }\n function gt(d, v, w) {\n var k, I, N, z, Q, se, oe, ye, Se, be = new X(), de = [], Ie = 0, ke = !1, Pe = !1, Te = 0, Ee = 0, $e = (Se = (d.isCIDFont ? (Q = d.tables.cff.topDict._fdSelect[v.index], Q = d.tables.cff.topDict._fdArray[Q], se = Q._subrs, oe = Q._subrsBias, ye = Q._defaultWidthX, Q) : (se = d.tables.cff.topDict._subrs, oe = d.tables.cff.topDict._subrsBias, ye = d.tables.cff.topDict._defaultWidthX, d.tables.cff.topDict))._nominalWidthX, ye);\n function lt(tt, dt) {\n Pe && be.closePath(), be.moveTo(tt, dt), Pe = !0;\n }\n function et() {\n de.length % 2 == 0 || ke || ($e = de.shift() + Se), Ie += de.length >> 1, de.length = 0, ke = !0;\n }\n return function tt(dt) {\n for (var wt, Ot, Rt, Ht, Wt, Qt, xt, St, vt, qt, kt, zt, Tt = 0; Tt < dt.length; ) {\n var Gt = dt[Tt];\n switch (Tt += 1, Gt) {\n case 1:\n case 3:\n et();\n break;\n case 4:\n 1 < de.length && !ke && ($e = de.shift() + Se, ke = !0), Ee += de.pop(), lt(Te, Ee);\n break;\n case 5:\n for (; 0 < de.length; )\n Te += de.shift(), Ee += de.shift(), be.lineTo(Te, Ee);\n break;\n case 6:\n for (; 0 < de.length && (Te += de.shift(), be.lineTo(Te, Ee), de.length !== 0); )\n Ee += de.shift(), be.lineTo(Te, Ee);\n break;\n case 7:\n for (; 0 < de.length && (Ee += de.shift(), be.lineTo(Te, Ee), de.length !== 0); )\n Te += de.shift(), be.lineTo(Te, Ee);\n break;\n case 8:\n for (; 0 < de.length; )\n k = Te + de.shift(), I = Ee + de.shift(), N = k + de.shift(), z = I + de.shift(), Te = N + de.shift(), Ee = z + de.shift(), be.curveTo(k, I, N, z, Te, Ee);\n break;\n case 10:\n Wt = de.pop() + oe, (Qt = se[Wt]) && tt(Qt);\n break;\n case 11:\n return;\n case 12:\n switch (Gt = dt[Tt], Tt += 1, Gt) {\n case 35:\n k = Te + de.shift(), I = Ee + de.shift(), N = k + de.shift(), z = I + de.shift(), xt = N + de.shift(), St = z + de.shift(), vt = xt + de.shift(), qt = St + de.shift(), kt = vt + de.shift(), zt = qt + de.shift(), Te = kt + de.shift(), Ee = zt + de.shift(), de.shift(), be.curveTo(k, I, N, z, xt, St), be.curveTo(vt, qt, kt, zt, Te, Ee);\n break;\n case 34:\n k = Te + de.shift(), I = Ee, N = k + de.shift(), z = I + de.shift(), xt = N + de.shift(), St = z, vt = xt + de.shift(), qt = z, kt = vt + de.shift(), zt = Ee, Te = kt + de.shift(), be.curveTo(k, I, N, z, xt, St), be.curveTo(vt, qt, kt, zt, Te, Ee);\n break;\n case 36:\n k = Te + de.shift(), I = Ee + de.shift(), N = k + de.shift(), z = I + de.shift(), xt = N + de.shift(), St = z, vt = xt + de.shift(), qt = z, kt = vt + de.shift(), zt = qt + de.shift(), Te = kt + de.shift(), be.curveTo(k, I, N, z, xt, St), be.curveTo(vt, qt, kt, zt, Te, Ee);\n break;\n case 37:\n k = Te + de.shift(), I = Ee + de.shift(), N = k + de.shift(), z = I + de.shift(), xt = N + de.shift(), St = z + de.shift(), vt = xt + de.shift(), qt = St + de.shift(), kt = vt + de.shift(), zt = qt + de.shift(), Math.abs(kt - Te) > Math.abs(zt - Ee) ? Te = kt + de.shift() : Ee = zt + de.shift(), be.curveTo(k, I, N, z, xt, St), be.curveTo(vt, qt, kt, zt, Te, Ee);\n break;\n default:\n console.log(\"Glyph \" + v.index + \": unknown operator 1200\" + Gt), de.length = 0;\n }\n break;\n case 14:\n 0 < de.length && !ke && ($e = de.shift() + Se, ke = !0), Pe && (be.closePath(), Pe = !1);\n break;\n case 18:\n et();\n break;\n case 19:\n case 20:\n et(), Tt += Ie + 7 >> 3;\n break;\n case 21:\n 2 < de.length && !ke && ($e = de.shift() + Se, ke = !0), Ee += de.pop(), lt(Te += de.pop(), Ee);\n break;\n case 22:\n 1 < de.length && !ke && ($e = de.shift() + Se, ke = !0), lt(Te += de.pop(), Ee);\n break;\n case 23:\n et();\n break;\n case 24:\n for (; 2 < de.length; )\n k = Te + de.shift(), I = Ee + de.shift(), N = k + de.shift(), z = I + de.shift(), Te = N + de.shift(), Ee = z + de.shift(), be.curveTo(k, I, N, z, Te, Ee);\n Te += de.shift(), Ee += de.shift(), be.lineTo(Te, Ee);\n break;\n case 25:\n for (; 6 < de.length; )\n Te += de.shift(), Ee += de.shift(), be.lineTo(Te, Ee);\n k = Te + de.shift(), I = Ee + de.shift(), N = k + de.shift(), z = I + de.shift(), Te = N + de.shift(), Ee = z + de.shift(), be.curveTo(k, I, N, z, Te, Ee);\n break;\n case 26:\n for (de.length % 2 && (Te += de.shift()); 0 < de.length; )\n k = Te, I = Ee + de.shift(), N = k + de.shift(), z = I + de.shift(), Te = N, Ee = z + de.shift(), be.curveTo(k, I, N, z, Te, Ee);\n break;\n case 27:\n for (de.length % 2 && (Ee += de.shift()); 0 < de.length; )\n k = Te + de.shift(), I = Ee, N = k + de.shift(), z = I + de.shift(), Te = N + de.shift(), Ee = z, be.curveTo(k, I, N, z, Te, Ee);\n break;\n case 28:\n wt = dt[Tt], Ot = dt[Tt + 1], de.push((wt << 24 | Ot << 16) >> 16), Tt += 2;\n break;\n case 29:\n Wt = de.pop() + d.gsubrsBias, (Qt = d.gsubrs[Wt]) && tt(Qt);\n break;\n case 30:\n for (; 0 < de.length && (k = Te, I = Ee + de.shift(), N = k + de.shift(), z = I + de.shift(), Te = N + de.shift(), Ee = z + (de.length === 1 ? de.shift() : 0), be.curveTo(k, I, N, z, Te, Ee), de.length !== 0); )\n k = Te + de.shift(), I = Ee, N = k + de.shift(), z = I + de.shift(), Ee = z + de.shift(), Te = N + (de.length === 1 ? de.shift() : 0), be.curveTo(k, I, N, z, Te, Ee);\n break;\n case 31:\n for (; 0 < de.length && (k = Te + de.shift(), I = Ee, N = k + de.shift(), z = I + de.shift(), Ee = z + de.shift(), Te = N + (de.length === 1 ? de.shift() : 0), be.curveTo(k, I, N, z, Te, Ee), de.length !== 0); )\n k = Te, I = Ee + de.shift(), N = k + de.shift(), z = I + de.shift(), Te = N + de.shift(), Ee = z + (de.length === 1 ? de.shift() : 0), be.curveTo(k, I, N, z, Te, Ee);\n break;\n default:\n Gt < 32 ? console.log(\"Glyph \" + v.index + \": unknown operator \" + Gt) : Gt < 247 ? de.push(Gt - 139) : Gt < 251 ? (wt = dt[Tt], Tt += 1, de.push(256 * (Gt - 247) + wt + 108)) : Gt < 255 ? (wt = dt[Tt], Tt += 1, de.push(256 * -(Gt - 251) - wt - 108)) : (wt = dt[Tt], Ot = dt[Tt + 1], Rt = dt[Tt + 2], Ht = dt[Tt + 3], Tt += 4, de.push((wt << 24 | Ot << 16 | Rt << 8 | Ht) / 65536));\n }\n }\n }(w), v.advanceWidth = $e, be;\n }\n function Ft(d, v) {\n var w, k = $.indexOf(d);\n return 0 <= k && (w = k), 0 <= (k = v.indexOf(d)) ? w = k + $.length : (w = $.length + v.length, v.push(d)), w;\n }\n function me(d, v, w) {\n for (var k = {}, I = 0; I < d.length; I += 1) {\n var N = d[I], z = v[N.name];\n z === void 0 || function Q(se, oe) {\n if (se === oe)\n return 1;\n if (Array.isArray(se) && Array.isArray(oe) && se.length === oe.length) {\n for (var ye = 0; ye < se.length; ye += 1)\n if (!Q(se[ye], oe[ye]))\n return;\n return 1;\n }\n }(z, N.value) || (N.type === \"SID\" && (z = Ft(z, w)), k[N.op] = { name: N.name, type: N.type, value: z });\n }\n return k;\n }\n function Ue(d, v) {\n var w = new Me.Record(\"Top DICT\", [{ name: \"dict\", type: \"DICT\", value: {} }]);\n return w.dict = me(jt, d, v), w;\n }\n function Ye(d) {\n var v = new Me.Record(\"Top DICT INDEX\", [{ name: \"topDicts\", type: \"INDEX\", value: [] }]);\n return v.topDicts = [{ name: \"topDict_0\", type: \"TABLE\", value: d }], v;\n }\n function it(d) {\n for (var v = new Me.Record(\"CharStrings INDEX\", [{ name: \"charStrings\", type: \"INDEX\", value: [] }]), w = 0; w < d.length; w += 1) {\n var k = d.get(w), I = function(N) {\n for (var z = [], Q = N.path, se = (z.push({ name: \"width\", type: \"NUMBER\", value: N.advanceWidth }), 0), oe = 0, ye = 0; ye < Q.commands.length; ye += 1) {\n var Se, be, de, Ie, ke = void 0, Pe = void 0, Te = Q.commands[ye];\n (Te = Te.type === \"Q\" ? { type: \"C\", x: Te.x, y: Te.y, x1: 1 / 3 * se + 2 / 3 * Te.x1, y1: 1 / 3 * oe + 2 / 3 * Te.y1, x2: 1 / 3 * Te.x + 2 / 3 * Te.x1, y2: 1 / 3 * Te.y + 2 / 3 * Te.y1 } : Te).type === \"M\" ? (ke = Math.round(Te.x - se), Pe = Math.round(Te.y - oe), z.push({ name: \"dx\", type: \"NUMBER\", value: ke }), z.push({ name: \"dy\", type: \"NUMBER\", value: Pe }), z.push({ name: \"rmoveto\", type: \"OP\", value: 21 }), se = Math.round(Te.x), oe = Math.round(Te.y)) : Te.type === \"L\" ? (ke = Math.round(Te.x - se), Pe = Math.round(Te.y - oe), z.push({ name: \"dx\", type: \"NUMBER\", value: ke }), z.push({ name: \"dy\", type: \"NUMBER\", value: Pe }), z.push({ name: \"rlineto\", type: \"OP\", value: 5 }), se = Math.round(Te.x), oe = Math.round(Te.y)) : Te.type === \"C\" && (Se = Math.round(Te.x1 - se), be = Math.round(Te.y1 - oe), de = Math.round(Te.x2 - Te.x1), Ie = Math.round(Te.y2 - Te.y1), ke = Math.round(Te.x - Te.x2), Pe = Math.round(Te.y - Te.y2), z.push({ name: \"dx1\", type: \"NUMBER\", value: Se }), z.push({ name: \"dy1\", type: \"NUMBER\", value: be }), z.push({ name: \"dx2\", type: \"NUMBER\", value: de }), z.push({ name: \"dy2\", type: \"NUMBER\", value: Ie }), z.push({ name: \"dx\", type: \"NUMBER\", value: ke }), z.push({ name: \"dy\", type: \"NUMBER\", value: Pe }), z.push({ name: \"rrcurveto\", type: \"OP\", value: 8 }), se = Math.round(Te.x), oe = Math.round(Te.y));\n }\n return z.push({ name: \"endchar\", type: \"OP\", value: 14 }), z;\n }(k);\n v.charStrings.push({ name: k.name, type: \"CHARSTRING\", value: I });\n }\n return v;\n }\n var ht = { parse: function(d, v, w) {\n w.tables.cff = {}, Q = d, k = v, (I = {}).formatMajor = we.getCard8(Q, k), I.formatMinor = we.getCard8(Q, k + 1), I.size = we.getCard8(Q, k + 2), I.offsetSize = we.getCard8(Q, k + 3), I.startOffset = k, I.endOffset = k + 4;\n var Q = ot(d, I.endOffset, we.bytesToString), k = ot(d, Q.endOffset), I = ot(d, k.endOffset, we.bytesToString), Q = ot(d, I.endOffset);\n if (w.gsubrs = Q.objects, w.gsubrsBias = at(w.gsubrs), (Q = At(d, v, k.objects, I.objects)).length !== 1)\n throw new Error(\"CFF table has too many fonts in 'FontSet' - count of fonts NameIndex.length = \" + Q.length);\n if (k = Q[0], (w.tables.cff.topDict = k)._privateDict && (w.defaultWidthX = k._privateDict.defaultWidthX, w.nominalWidthX = k._privateDict.nominalWidthX), k.ros[0] !== void 0 && k.ros[1] !== void 0 && (w.isCIDFont = !0), w.isCIDFont) {\n var Q = k.fdArray, N = k.fdSelect;\n if (Q === 0 || N === 0)\n throw new Error(\"Font is marked as a CID font, but FDArray and/or FDSelect information is missing\");\n Q = At(d, v, ot(d, Q += v).objects, I.objects), k._fdArray = Q, k._fdSelect = function(be, de, Ie, ke) {\n var Pe, Te = [], Ee = new we.Parser(be, de);\n if ((be = Ee.parseCard8()) === 0)\n for (var $e = 0; $e < Ie; $e++) {\n if (ke <= (Pe = Ee.parseCard8()))\n throw new Error(\"CFF table CID Font FDSelect has bad FD index value \" + Pe + \" (FD count \" + ke + \")\");\n Te.push(Pe);\n }\n else {\n if (be !== 3)\n throw new Error(\"CFF Table CID Font FDSelect table has unsupported format \" + be);\n var lt, et = Ee.parseCard16(), tt = Ee.parseCard16();\n if (tt !== 0)\n throw new Error(\"CFF Table CID Font FDSelect format 3 range has bad initial GID \" + tt);\n for (var dt = 0; dt < et; dt++) {\n if (Pe = Ee.parseCard8(), lt = Ee.parseCard16(), ke <= Pe)\n throw new Error(\"CFF table CID Font FDSelect has bad FD index value \" + Pe + \" (FD count \" + ke + \")\");\n if (Ie < lt)\n throw new Error(\"CFF Table CID Font FDSelect format 3 range has bad GID \" + lt);\n for (; tt < lt; tt++)\n Te.push(Pe);\n tt = lt;\n }\n if (lt !== Ie)\n throw new Error(\"CFF Table CID Font FDSelect format 3 range has bad final GID \" + lt);\n }\n return Te;\n }(d, N += v, w.numGlyphs, Q.length);\n }\n var N = v + k.private[1], Q = Dt(d, N, k.private[0], I.objects), z = (w.defaultWidthX = Q.defaultWidthX, w.nominalWidthX = Q.nominalWidthX, Q.subrs !== 0 ? (N = ot(d, N + Q.subrs), w.subrs = N.objects, w.subrsBias = at(w.subrs)) : (w.subrs = [], w.subrsBias = 0), ot(d, v + k.charStrings)), Q = (w.nGlyphs = z.objects.length, function(ye, Se, be, de) {\n var Ie = new we.Parser(ye, Se), ke = (--be, [\".notdef\"]);\n if ((ye = Ie.parseCard8()) === 0)\n for (var Pe = 0; Pe < be; Pe += 1)\n Te = Ie.parseSID(), ke.push(Mt(de, Te));\n else if (ye === 1)\n for (; ke.length <= be; )\n for (var Te = Ie.parseSID(), Ee = Ie.parseCard8(), $e = 0; $e <= Ee; $e += 1)\n ke.push(Mt(de, Te)), Te += 1;\n else {\n if (ye !== 2)\n throw new Error(\"Unknown charset format \" + ye);\n for (; ke.length <= be; ) {\n Te = Ie.parseSID(), Ee = Ie.parseCard16();\n for (var lt = 0; lt <= Ee; lt += 1)\n ke.push(Mt(de, Te)), Te += 1;\n }\n }\n return ke;\n }(d, v + k.charset, w.nGlyphs, I.objects));\n k.encoding === 0 ? w.cffEncoding = new Fe(q, Q) : k.encoding === 1 ? w.cffEncoding = new Fe(ee, Q) : w.cffEncoding = function(ye, Se, be) {\n var de = {}, Ie = new we.Parser(ye, Se);\n if ((ye = Ie.parseCard8()) === 0)\n for (var ke = Ie.parseCard8(), Pe = 0; Pe < ke; Pe += 1)\n de[Ee = Ie.parseCard8()] = Pe;\n else {\n if (ye !== 1)\n throw new Error(\"Unknown encoding format \" + ye);\n for (var Te = Ie.parseCard8(), Ee = 1, $e = 0; $e < Te; $e += 1)\n for (var lt = Ie.parseCard8(), et = Ie.parseCard8(), tt = lt; tt <= lt + et; tt += 1)\n de[tt] = Ee, Ee += 1;\n }\n return new Fe(de, be);\n }(d, v + k.encoding, Q), w.encoding = w.encoding || w.cffEncoding, w.glyphs = new Ke.GlyphSet(w);\n for (var se = 0; se < w.nGlyphs; se += 1) {\n var oe = z.objects[se];\n w.glyphs.push(se, Ke.cffGlyphLoader(w, se, gt, oe));\n }\n }, make: function(d, ye) {\n for (var w, k = new Me.Table(\"CFF \", [{ name: \"header\", type: \"RECORD\" }, { name: \"nameIndex\", type: \"RECORD\" }, { name: \"topDictIndex\", type: \"RECORD\" }, { name: \"stringIndex\", type: \"RECORD\" }, { name: \"globalSubrIndex\", type: \"RECORD\" }, { name: \"charsets\", type: \"RECORD\" }, { name: \"charStringsIndex\", type: \"RECORD\" }, { name: \"privateDict\", type: \"RECORD\" }]), I = 1 / ye.unitsPerEm, I = { version: ye.version, fullName: ye.fullName, familyName: ye.familyName, weight: ye.weightName, fontBBox: ye.fontBBox || [0, 0, 0, 0], fontMatrix: [I, 0, 0, I, 0, 0], charset: 999, encoding: 0, charStrings: 999, private: [0, 999] }, N = [], z = 1; z < d.length; z += 1)\n w = d.get(z), N.push(w.name);\n var Q, se, oe = [], ye = (k.header = new Me.Record(\"Header\", [{ name: \"major\", type: \"Card8\", value: 1 }, { name: \"minor\", type: \"Card8\", value: 0 }, { name: \"hdrSize\", type: \"Card8\", value: 4 }, { name: \"major\", type: \"Card8\", value: 1 }]), k.nameIndex = function(be) {\n var de = new Me.Record(\"Name INDEX\", [{ name: \"names\", type: \"INDEX\", value: [] }]);\n de.names = [];\n for (var Ie = 0; Ie < be.length; Ie += 1)\n de.names.push({ name: \"name_\" + Ie, type: \"NAME\", value: be[Ie] });\n return de;\n }([ye.postScriptName]), Ue(I, oe)), Se = (k.topDictIndex = Ye(ye), k.globalSubrIndex = new Me.Record(\"Global Subr INDEX\", [{ name: \"subrs\", type: \"INDEX\", value: [] }]), k.charsets = function(be, de) {\n for (var Ie = new Me.Record(\"Charsets\", [{ name: \"format\", type: \"Card8\", value: 0 }]), ke = 0; ke < be.length; ke += 1) {\n var Pe = Ft(be[ke], de);\n Ie.fields.push({ name: \"glyph_\" + ke, type: \"SID\", value: Pe });\n }\n return Ie;\n }(N, oe), k.charStringsIndex = it(d), k.privateDict = (Se = {}, Q = oe, (se = new Me.Record(\"Private DICT\", [{ name: \"dict\", type: \"DICT\", value: {} }])).dict = me(ft, Se, Q), se), k.stringIndex = function(be) {\n var de = new Me.Record(\"String INDEX\", [{ name: \"strings\", type: \"INDEX\", value: [] }]);\n de.strings = [];\n for (var Ie = 0; Ie < be.length; Ie += 1)\n de.strings.push({ name: \"string_\" + Ie, type: \"STRING\", value: be[Ie] });\n return de;\n }(oe), k.header.sizeOf() + k.nameIndex.sizeOf() + k.topDictIndex.sizeOf() + k.stringIndex.sizeOf() + k.globalSubrIndex.sizeOf());\n return I.charset = Se, I.encoding = 0, I.charStrings = I.charset + k.charsets.sizeOf(), I.private[1] = I.charStrings + k.charStringsIndex.sizeOf(), ye = Ue(I, oe), k.topDictIndex = Ye(ye), k;\n } }, pt = { parse: function(k, v) {\n var w = {}, k = new we.Parser(k, v);\n return w.version = k.parseVersion(), w.fontRevision = Math.round(1e3 * k.parseFixed()) / 1e3, w.checkSumAdjustment = k.parseULong(), w.magicNumber = k.parseULong(), O.argument(w.magicNumber === 1594834165, \"Font header has wrong magic number.\"), w.flags = k.parseUShort(), w.unitsPerEm = k.parseUShort(), w.created = k.parseLongDateTime(), w.modified = k.parseLongDateTime(), w.xMin = k.parseShort(), w.yMin = k.parseShort(), w.xMax = k.parseShort(), w.yMax = k.parseShort(), w.macStyle = k.parseUShort(), w.lowestRecPPEM = k.parseUShort(), w.fontDirectionHint = k.parseShort(), w.indexToLocFormat = k.parseShort(), w.glyphDataFormat = k.parseShort(), w;\n }, make: function(d) {\n var v = Math.round((/* @__PURE__ */ new Date()).getTime() / 1e3) + 2082844800, w = v;\n return d.createdTimestamp && (w = d.createdTimestamp + 2082844800), new Me.Table(\"head\", [{ name: \"version\", type: \"FIXED\", value: 65536 }, { name: \"fontRevision\", type: \"FIXED\", value: 65536 }, { name: \"checkSumAdjustment\", type: \"ULONG\", value: 0 }, { name: \"magicNumber\", type: \"ULONG\", value: 1594834165 }, { name: \"flags\", type: \"USHORT\", value: 0 }, { name: \"unitsPerEm\", type: \"USHORT\", value: 1e3 }, { name: \"created\", type: \"LONGDATETIME\", value: w }, { name: \"modified\", type: \"LONGDATETIME\", value: v }, { name: \"xMin\", type: \"SHORT\", value: 0 }, { name: \"yMin\", type: \"SHORT\", value: 0 }, { name: \"xMax\", type: \"SHORT\", value: 0 }, { name: \"yMax\", type: \"SHORT\", value: 0 }, { name: \"macStyle\", type: \"USHORT\", value: 0 }, { name: \"lowestRecPPEM\", type: \"USHORT\", value: 0 }, { name: \"fontDirectionHint\", type: \"SHORT\", value: 2 }, { name: \"indexToLocFormat\", type: \"SHORT\", value: 0 }, { name: \"glyphDataFormat\", type: \"SHORT\", value: 0 }], d);\n } }, ie = { parse: function(k, v) {\n var w = {}, k = new we.Parser(k, v);\n return w.version = k.parseVersion(), w.ascender = k.parseShort(), w.descender = k.parseShort(), w.lineGap = k.parseShort(), w.advanceWidthMax = k.parseUShort(), w.minLeftSideBearing = k.parseShort(), w.minRightSideBearing = k.parseShort(), w.xMaxExtent = k.parseShort(), w.caretSlopeRise = k.parseShort(), w.caretSlopeRun = k.parseShort(), w.caretOffset = k.parseShort(), k.relativeOffset += 8, w.metricDataFormat = k.parseShort(), w.numberOfHMetrics = k.parseUShort(), w;\n }, make: function(d) {\n return new Me.Table(\"hhea\", [{ name: \"version\", type: \"FIXED\", value: 65536 }, { name: \"ascender\", type: \"FWORD\", value: 0 }, { name: \"descender\", type: \"FWORD\", value: 0 }, { name: \"lineGap\", type: \"FWORD\", value: 0 }, { name: \"advanceWidthMax\", type: \"UFWORD\", value: 0 }, { name: \"minLeftSideBearing\", type: \"FWORD\", value: 0 }, { name: \"minRightSideBearing\", type: \"FWORD\", value: 0 }, { name: \"xMaxExtent\", type: \"FWORD\", value: 0 }, { name: \"caretSlopeRise\", type: \"SHORT\", value: 1 }, { name: \"caretSlopeRun\", type: \"SHORT\", value: 0 }, { name: \"caretOffset\", type: \"SHORT\", value: 0 }, { name: \"reserved1\", type: \"SHORT\", value: 0 }, { name: \"reserved2\", type: \"SHORT\", value: 0 }, { name: \"reserved3\", type: \"SHORT\", value: 0 }, { name: \"reserved4\", type: \"SHORT\", value: 0 }, { name: \"metricDataFormat\", type: \"SHORT\", value: 0 }, { name: \"numberOfHMetrics\", type: \"USHORT\", value: 0 }], d);\n } }, Oe = { parse: function(d, v, w, k, I) {\n for (var N, z, Q = new we.Parser(d, v), se = 0; se < k; se += 1) {\n se < w && (N = Q.parseUShort(), z = Q.parseShort());\n var oe = I.get(se);\n oe.advanceWidth = N, oe.leftSideBearing = z;\n }\n }, make: function(d) {\n for (var v = new Me.Table(\"hmtx\", []), w = 0; w < d.length; w += 1) {\n var I = d.get(w), k = I.advanceWidth || 0, I = I.leftSideBearing || 0;\n v.fields.push({ name: \"advanceWidth_\" + w, type: \"USHORT\", value: k }), v.fields.push({ name: \"leftSideBearing_\" + w, type: \"SHORT\", value: I });\n }\n return v;\n } }, Ge = { make: function(d) {\n for (var v = new Me.Table(\"ltag\", [{ name: \"version\", type: \"ULONG\", value: 1 }, { name: \"flags\", type: \"ULONG\", value: 0 }, { name: \"numTags\", type: \"ULONG\", value: d.length }]), w = \"\", k = 12 + 4 * d.length, I = 0; I < d.length; ++I) {\n var N = w.indexOf(d[I]);\n N < 0 && (N = w.length, w += d[I]), v.fields.push({ name: \"offset \" + I, type: \"USHORT\", value: k + N }), v.fields.push({ name: \"length \" + I, type: \"USHORT\", value: d[I].length });\n }\n return v.fields.push({ name: \"stringPool\", type: \"CHARARRAY\", value: w }), v;\n }, parse: function(d, v) {\n for (var w = new we.Parser(d, v), k = w.parseULong(), I = (O.argument(k === 1, \"Unsupported ltag table version.\"), w.skip(\"uLong\", 1), w.parseULong()), N = [], z = 0; z < I; z++) {\n for (var Q = \"\", se = v + w.parseUShort(), oe = w.parseUShort(), ye = se; ye < se + oe; ++ye)\n Q += String.fromCharCode(d.getInt8(ye));\n N.push(Q);\n }\n return N;\n } }, Le = { parse: function(k, v) {\n var w = {}, k = new we.Parser(k, v);\n return w.version = k.parseVersion(), w.numGlyphs = k.parseUShort(), w.version === 1 && (w.maxPoints = k.parseUShort(), w.maxContours = k.parseUShort(), w.maxCompositePoints = k.parseUShort(), w.maxCompositeContours = k.parseUShort(), w.maxZones = k.parseUShort(), w.maxTwilightPoints = k.parseUShort(), w.maxStorage = k.parseUShort(), w.maxFunctionDefs = k.parseUShort(), w.maxInstructionDefs = k.parseUShort(), w.maxStackElements = k.parseUShort(), w.maxSizeOfInstructions = k.parseUShort(), w.maxComponentElements = k.parseUShort(), w.maxComponentDepth = k.parseUShort()), w;\n }, make: function(d) {\n return new Me.Table(\"maxp\", [{ name: \"version\", type: \"FIXED\", value: 20480 }, { name: \"numGlyphs\", type: \"USHORT\", value: d }]);\n } }, rt = [\"copyright\", \"fontFamily\", \"fontSubfamily\", \"uniqueID\", \"fullName\", \"version\", \"postScriptName\", \"trademark\", \"manufacturer\", \"designer\", \"description\", \"manufacturerURL\", \"designerURL\", \"license\", \"licenseURL\", \"reserved\", \"preferredFamily\", \"preferredSubfamily\", \"compatibleFullName\", \"sampleText\", \"postScriptFindFontName\", \"wwsFamily\", \"wwsSubfamily\"], Ae = { 0: \"en\", 1: \"fr\", 2: \"de\", 3: \"it\", 4: \"nl\", 5: \"sv\", 6: \"es\", 7: \"da\", 8: \"pt\", 9: \"no\", 10: \"he\", 11: \"ja\", 12: \"ar\", 13: \"fi\", 14: \"el\", 15: \"is\", 16: \"mt\", 17: \"tr\", 18: \"hr\", 19: \"zh-Hant\", 20: \"ur\", 21: \"hi\", 22: \"th\", 23: \"ko\", 24: \"lt\", 25: \"pl\", 26: \"hu\", 27: \"es\", 28: \"lv\", 29: \"se\", 30: \"fo\", 31: \"fa\", 32: \"ru\", 33: \"zh\", 34: \"nl-BE\", 35: \"ga\", 36: \"sq\", 37: \"ro\", 38: \"cz\", 39: \"sk\", 40: \"si\", 41: \"yi\", 42: \"sr\", 43: \"mk\", 44: \"bg\", 45: \"uk\", 46: \"be\", 47: \"uz\", 48: \"kk\", 49: \"az-Cyrl\", 50: \"az-Arab\", 51: \"hy\", 52: \"ka\", 53: \"mo\", 54: \"ky\", 55: \"tg\", 56: \"tk\", 57: \"mn-CN\", 58: \"mn\", 59: \"ps\", 60: \"ks\", 61: \"ku\", 62: \"sd\", 63: \"bo\", 64: \"ne\", 65: \"sa\", 66: \"mr\", 67: \"bn\", 68: \"as\", 69: \"gu\", 70: \"pa\", 71: \"or\", 72: \"ml\", 73: \"kn\", 74: \"ta\", 75: \"te\", 76: \"si\", 77: \"my\", 78: \"km\", 79: \"lo\", 80: \"vi\", 81: \"id\", 82: \"tl\", 83: \"ms\", 84: \"ms-Arab\", 85: \"am\", 86: \"ti\", 87: \"om\", 88: \"so\", 89: \"sw\", 90: \"rw\", 91: \"rn\", 92: \"ny\", 93: \"mg\", 94: \"eo\", 128: \"cy\", 129: \"eu\", 130: \"ca\", 131: \"la\", 132: \"qu\", 133: \"gn\", 134: \"ay\", 135: \"tt\", 136: \"ug\", 137: \"dz\", 138: \"jv\", 139: \"su\", 140: \"gl\", 141: \"af\", 142: \"br\", 143: \"iu\", 144: \"gd\", 145: \"gv\", 146: \"ga\", 147: \"to\", 148: \"el-polyton\", 149: \"kl\", 150: \"az\", 151: \"nn\" }, ct = { 0: 0, 1: 0, 2: 0, 3: 0, 4: 0, 5: 0, 6: 0, 7: 0, 8: 0, 9: 0, 10: 5, 11: 1, 12: 4, 13: 0, 14: 6, 15: 0, 16: 0, 17: 0, 18: 0, 19: 2, 20: 4, 21: 9, 22: 21, 23: 3, 24: 29, 25: 29, 26: 29, 27: 29, 28: 29, 29: 0, 30: 0, 31: 4, 32: 7, 33: 25, 34: 0, 35: 0, 36: 0, 37: 0, 38: 29, 39: 29, 40: 0, 41: 5, 42: 7, 43: 7, 44: 7, 45: 7, 46: 7, 47: 7, 48: 7, 49: 7, 50: 4, 51: 24, 52: 23, 53: 7, 54: 7, 55: 7, 56: 7, 57: 27, 58: 7, 59: 4, 60: 4, 61: 4, 62: 4, 63: 26, 64: 9, 65: 9, 66: 9, 67: 13, 68: 13, 69: 11, 70: 10, 71: 12, 72: 17, 73: 16, 74: 14, 75: 15, 76: 18, 77: 19, 78: 20, 79: 22, 80: 30, 81: 0, 82: 0, 83: 0, 84: 4, 85: 28, 86: 28, 87: 28, 88: 0, 89: 0, 90: 0, 91: 0, 92: 0, 93: 0, 94: 0, 128: 0, 129: 0, 130: 0, 131: 0, 132: 0, 133: 0, 134: 0, 135: 7, 136: 4, 137: 26, 138: 0, 139: 0, 140: 0, 141: 0, 142: 0, 143: 28, 144: 0, 145: 0, 146: 0, 147: 0, 148: 6, 149: 0, 150: 0, 151: 0 }, qe = { 1078: \"af\", 1052: \"sq\", 1156: \"gsw\", 1118: \"am\", 5121: \"ar-DZ\", 15361: \"ar-BH\", 3073: \"ar\", 2049: \"ar-IQ\", 11265: \"ar-JO\", 13313: \"ar-KW\", 12289: \"ar-LB\", 4097: \"ar-LY\", 6145: \"ary\", 8193: \"ar-OM\", 16385: \"ar-QA\", 1025: \"ar-SA\", 10241: \"ar-SY\", 7169: \"aeb\", 14337: \"ar-AE\", 9217: \"ar-YE\", 1067: \"hy\", 1101: \"as\", 2092: \"az-Cyrl\", 1068: \"az\", 1133: \"ba\", 1069: \"eu\", 1059: \"be\", 2117: \"bn\", 1093: \"bn-IN\", 8218: \"bs-Cyrl\", 5146: \"bs\", 1150: \"br\", 1026: \"bg\", 1027: \"ca\", 3076: \"zh-HK\", 5124: \"zh-MO\", 2052: \"zh\", 4100: \"zh-SG\", 1028: \"zh-TW\", 1155: \"co\", 1050: \"hr\", 4122: \"hr-BA\", 1029: \"cs\", 1030: \"da\", 1164: \"prs\", 1125: \"dv\", 2067: \"nl-BE\", 1043: \"nl\", 3081: \"en-AU\", 10249: \"en-BZ\", 4105: \"en-CA\", 9225: \"en-029\", 16393: \"en-IN\", 6153: \"en-IE\", 8201: \"en-JM\", 17417: \"en-MY\", 5129: \"en-NZ\", 13321: \"en-PH\", 18441: \"en-SG\", 7177: \"en-ZA\", 11273: \"en-TT\", 2057: \"en-GB\", 1033: \"en\", 12297: \"en-ZW\", 1061: \"et\", 1080: \"fo\", 1124: \"fil\", 1035: \"fi\", 2060: \"fr-BE\", 3084: \"fr-CA\", 1036: \"fr\", 5132: \"fr-LU\", 6156: \"fr-MC\", 4108: \"fr-CH\", 1122: \"fy\", 1110: \"gl\", 1079: \"ka\", 3079: \"de-AT\", 1031: \"de\", 5127: \"de-LI\", 4103: \"de-LU\", 2055: \"de-CH\", 1032: \"el\", 1135: \"kl\", 1095: \"gu\", 1128: \"ha\", 1037: \"he\", 1081: \"hi\", 1038: \"hu\", 1039: \"is\", 1136: \"ig\", 1057: \"id\", 1117: \"iu\", 2141: \"iu-Latn\", 2108: \"ga\", 1076: \"xh\", 1077: \"zu\", 1040: \"it\", 2064: \"it-CH\", 1041: \"ja\", 1099: \"kn\", 1087: \"kk\", 1107: \"km\", 1158: \"quc\", 1159: \"rw\", 1089: \"sw\", 1111: \"kok\", 1042: \"ko\", 1088: \"ky\", 1108: \"lo\", 1062: \"lv\", 1063: \"lt\", 2094: \"dsb\", 1134: \"lb\", 1071: \"mk\", 2110: \"ms-BN\", 1086: \"ms\", 1100: \"ml\", 1082: \"mt\", 1153: \"mi\", 1146: \"arn\", 1102: \"mr\", 1148: \"moh\", 1104: \"mn\", 2128: \"mn-CN\", 1121: \"ne\", 1044: \"nb\", 2068: \"nn\", 1154: \"oc\", 1096: \"or\", 1123: \"ps\", 1045: \"pl\", 1046: \"pt\", 2070: \"pt-PT\", 1094: \"pa\", 1131: \"qu-BO\", 2155: \"qu-EC\", 3179: \"qu\", 1048: \"ro\", 1047: \"rm\", 1049: \"ru\", 9275: \"smn\", 4155: \"smj-NO\", 5179: \"smj\", 3131: \"se-FI\", 1083: \"se\", 2107: \"se-SE\", 8251: \"sms\", 6203: \"sma-NO\", 7227: \"sms\", 1103: \"sa\", 7194: \"sr-Cyrl-BA\", 3098: \"sr\", 6170: \"sr-Latn-BA\", 2074: \"sr-Latn\", 1132: \"nso\", 1074: \"tn\", 1115: \"si\", 1051: \"sk\", 1060: \"sl\", 11274: \"es-AR\", 16394: \"es-BO\", 13322: \"es-CL\", 9226: \"es-CO\", 5130: \"es-CR\", 7178: \"es-DO\", 12298: \"es-EC\", 17418: \"es-SV\", 4106: \"es-GT\", 18442: \"es-HN\", 2058: \"es-MX\", 19466: \"es-NI\", 6154: \"es-PA\", 15370: \"es-PY\", 10250: \"es-PE\", 20490: \"es-PR\", 3082: \"es\", 1034: \"es\", 21514: \"es-US\", 14346: \"es-UY\", 8202: \"es-VE\", 2077: \"sv-FI\", 1053: \"sv\", 1114: \"syr\", 1064: \"tg\", 2143: \"tzm\", 1097: \"ta\", 1092: \"tt\", 1098: \"te\", 1054: \"th\", 1105: \"bo\", 1055: \"tr\", 1090: \"tk\", 1152: \"ug\", 1058: \"uk\", 1070: \"hsb\", 1056: \"ur\", 2115: \"uz-Cyrl\", 1091: \"uz\", 1066: \"vi\", 1106: \"cy\", 1160: \"wo\", 1157: \"sah\", 1144: \"ii\", 1130: \"yo\" }, ut = \"utf-16\", Ze = { 0: \"macintosh\", 1: \"x-mac-japanese\", 2: \"x-mac-chinesetrad\", 3: \"x-mac-korean\", 6: \"x-mac-greek\", 7: \"x-mac-cyrillic\", 9: \"x-mac-devanagai\", 10: \"x-mac-gurmukhi\", 11: \"x-mac-gujarati\", 12: \"x-mac-oriya\", 13: \"x-mac-bengali\", 14: \"x-mac-tamil\", 15: \"x-mac-telugu\", 16: \"x-mac-kannada\", 17: \"x-mac-malayalam\", 18: \"x-mac-sinhalese\", 19: \"x-mac-burmese\", 20: \"x-mac-khmer\", 21: \"x-mac-thai\", 22: \"x-mac-lao\", 23: \"x-mac-georgian\", 24: \"x-mac-armenian\", 25: \"x-mac-chinesesimp\", 26: \"x-mac-tibetan\", 27: \"x-mac-mongolian\", 28: \"x-mac-ethiopic\", 29: \"x-mac-ce\", 30: \"x-mac-vietnamese\", 31: \"x-mac-extarabic\" }, Pt = { 15: \"x-mac-icelandic\", 17: \"x-mac-turkish\", 18: \"x-mac-croatian\", 24: \"x-mac-ce\", 25: \"x-mac-ce\", 26: \"x-mac-ce\", 27: \"x-mac-ce\", 28: \"x-mac-ce\", 30: \"x-mac-icelandic\", 37: \"x-mac-romanian\", 38: \"x-mac-ce\", 39: \"x-mac-ce\", 40: \"x-mac-ce\", 143: \"x-mac-inuit\", 146: \"x-mac-gaelic\" };\n function Ut(d, v, w) {\n switch (d) {\n case 0:\n return ut;\n case 1:\n return Pt[w] || Ze[v];\n case 3:\n if (v === 1 || v === 10)\n return ut;\n }\n }\n function Ct(d) {\n var v, w = {};\n for (v in d)\n w[d[v]] = parseInt(v);\n return w;\n }\n function Nt(d, v, w, k, I, N) {\n return new Me.Record(\"NameRecord\", [{ name: \"platformID\", type: \"USHORT\", value: d }, { name: \"encodingID\", type: \"USHORT\", value: v }, { name: \"languageID\", type: \"USHORT\", value: w }, { name: \"nameID\", type: \"USHORT\", value: k }, { name: \"length\", type: \"USHORT\", value: I }, { name: \"offset\", type: \"USHORT\", value: N }]);\n }\n function Kt(d, v) {\n if ((w = function(N, z) {\n var Q = N.length, se = z.length - Q + 1;\n e:\n for (var oe = 0; oe < se; oe++)\n for (; oe < se; oe++) {\n for (var ye = 0; ye < Q; ye++)\n if (z[oe + ye] !== N[ye])\n continue e;\n return oe;\n }\n return -1;\n }(d, v)) < 0)\n for (var w = v.length, k = 0, I = d.length; k < I; ++k)\n v.push(d[k]);\n return w;\n }\n var Xt = { parse: function(d, v, w) {\n for (var k = {}, I = new we.Parser(d, v), v = I.parseUShort(), N = I.parseUShort(), z = I.offset + I.parseUShort(), Q = 0; Q < N; Q++) {\n var Ie = I.parseUShort(), se = I.parseUShort(), oe = I.parseUShort(), ye = I.parseUShort(), ye = rt[ye] || ye, Se = I.parseUShort(), be = I.parseUShort(), de = function(Pe, Te, Ee) {\n switch (Pe) {\n case 0:\n if (Te === 65535)\n return \"und\";\n if (Ee)\n return Ee[Te];\n break;\n case 1:\n return Ae[Te];\n case 3:\n return qe[Te];\n }\n }(Ie, oe, w), Ie = Ut(Ie, se, oe);\n Ie !== void 0 && de !== void 0 && (se = void 0, (se = Ie === ut ? D.UTF16(d, z + be, Se) : D.MACSTRING(d, z + be, Se, Ie)) && ((oe = (oe = k[ye]) === void 0 ? k[ye] = {} : oe)[de] = se));\n }\n return v === 1 && I.parseUShort(), k;\n }, make: function(d, v) {\n var w, k = [], I = {}, N = Ct(rt);\n for (w in d) {\n var z = N[w];\n if (z === void 0 && (z = w), be = parseInt(z), isNaN(be))\n throw new Error('Name table entry \"' + w + '\" does not exist, see nameTableNames for complete list.');\n I[be] = d[w], k.push(be);\n }\n for (var Q = Ct(Ae), se = Ct(qe), oe = [], ye = [], Se = 0; Se < k.length; Se++) {\n var be, de, Ie = I[be = k[Se]];\n for (de in Ie) {\n var ke = Ie[de], lt = 1, Pe = Q[de], Te = ct[Pe], Ee = Ut(lt, Te, Pe), Ee = B.MACSTRING(ke, Ee), $e = (Ee === void 0 && (lt = 0, (Pe = v.indexOf(de)) < 0 && (Pe = v.length, v.push(de)), Te = 4, Ee = B.UTF16(ke)), Kt(Ee, ye)), lt = (oe.push(Nt(lt, Te, Pe, be, Ee.length, $e)), se[de]);\n lt !== void 0 && (Pe = Kt(Te = B.UTF16(ke), ye), oe.push(Nt(3, 1, lt, be, Te.length, Pe)));\n }\n }\n oe.sort(function(dt, wt) {\n return dt.platformID - wt.platformID || dt.encodingID - wt.encodingID || dt.languageID - wt.languageID || dt.nameID - wt.nameID;\n });\n for (var et = new Me.Table(\"name\", [{ name: \"format\", type: \"USHORT\", value: 0 }, { name: \"count\", type: \"USHORT\", value: oe.length }, { name: \"stringOffset\", type: \"USHORT\", value: 6 + 12 * oe.length }]), tt = 0; tt < oe.length; tt++)\n et.fields.push({ name: \"record_\" + tt, type: \"RECORD\", value: oe[tt] });\n return et.fields.push({ name: \"strings\", type: \"LITERAL\", value: ye }), et;\n } }, Jt = [{ begin: 0, end: 127 }, { begin: 128, end: 255 }, { begin: 256, end: 383 }, { begin: 384, end: 591 }, { begin: 592, end: 687 }, { begin: 688, end: 767 }, { begin: 768, end: 879 }, { begin: 880, end: 1023 }, { begin: 11392, end: 11519 }, { begin: 1024, end: 1279 }, { begin: 1328, end: 1423 }, { begin: 1424, end: 1535 }, { begin: 42240, end: 42559 }, { begin: 1536, end: 1791 }, { begin: 1984, end: 2047 }, { begin: 2304, end: 2431 }, { begin: 2432, end: 2559 }, { begin: 2560, end: 2687 }, { begin: 2688, end: 2815 }, { begin: 2816, end: 2943 }, { begin: 2944, end: 3071 }, { begin: 3072, end: 3199 }, { begin: 3200, end: 3327 }, { begin: 3328, end: 3455 }, { begin: 3584, end: 3711 }, { begin: 3712, end: 3839 }, { begin: 4256, end: 4351 }, { begin: 6912, end: 7039 }, { begin: 4352, end: 4607 }, { begin: 7680, end: 7935 }, { begin: 7936, end: 8191 }, { begin: 8192, end: 8303 }, { begin: 8304, end: 8351 }, { begin: 8352, end: 8399 }, { begin: 8400, end: 8447 }, { begin: 8448, end: 8527 }, { begin: 8528, end: 8591 }, { begin: 8592, end: 8703 }, { begin: 8704, end: 8959 }, { begin: 8960, end: 9215 }, { begin: 9216, end: 9279 }, { begin: 9280, end: 9311 }, { begin: 9312, end: 9471 }, { begin: 9472, end: 9599 }, { begin: 9600, end: 9631 }, { begin: 9632, end: 9727 }, { begin: 9728, end: 9983 }, { begin: 9984, end: 10175 }, { begin: 12288, end: 12351 }, { begin: 12352, end: 12447 }, { begin: 12448, end: 12543 }, { begin: 12544, end: 12591 }, { begin: 12592, end: 12687 }, { begin: 43072, end: 43135 }, { begin: 12800, end: 13055 }, { begin: 13056, end: 13311 }, { begin: 44032, end: 55215 }, { begin: 55296, end: 57343 }, { begin: 67840, end: 67871 }, { begin: 19968, end: 40959 }, { begin: 57344, end: 63743 }, { begin: 12736, end: 12783 }, { begin: 64256, end: 64335 }, { begin: 64336, end: 65023 }, { begin: 65056, end: 65071 }, { begin: 65040, end: 65055 }, { begin: 65104, end: 65135 }, { begin: 65136, end: 65279 }, { begin: 65280, end: 65519 }, { begin: 65520, end: 65535 }, { begin: 3840, end: 4095 }, { begin: 1792, end: 1871 }, { begin: 1920, end: 1983 }, { begin: 3456, end: 3583 }, { begin: 4096, end: 4255 }, { begin: 4608, end: 4991 }, { begin: 5024, end: 5119 }, { begin: 5120, end: 5759 }, { begin: 5760, end: 5791 }, { begin: 5792, end: 5887 }, { begin: 6016, end: 6143 }, { begin: 6144, end: 6319 }, { begin: 10240, end: 10495 }, { begin: 40960, end: 42127 }, { begin: 5888, end: 5919 }, { begin: 66304, end: 66351 }, { begin: 66352, end: 66383 }, { begin: 66560, end: 66639 }, { begin: 118784, end: 119039 }, { begin: 119808, end: 120831 }, { begin: 1044480, end: 1048573 }, { begin: 65024, end: 65039 }, { begin: 917504, end: 917631 }, { begin: 6400, end: 6479 }, { begin: 6480, end: 6527 }, { begin: 6528, end: 6623 }, { begin: 6656, end: 6687 }, { begin: 11264, end: 11359 }, { begin: 11568, end: 11647 }, { begin: 19904, end: 19967 }, { begin: 43008, end: 43055 }, { begin: 65536, end: 65663 }, { begin: 65856, end: 65935 }, { begin: 66432, end: 66463 }, { begin: 66464, end: 66527 }, { begin: 66640, end: 66687 }, { begin: 66688, end: 66735 }, { begin: 67584, end: 67647 }, { begin: 68096, end: 68191 }, { begin: 119552, end: 119647 }, { begin: 73728, end: 74751 }, { begin: 119648, end: 119679 }, { begin: 7040, end: 7103 }, { begin: 7168, end: 7247 }, { begin: 7248, end: 7295 }, { begin: 43136, end: 43231 }, { begin: 43264, end: 43311 }, { begin: 43312, end: 43359 }, { begin: 43520, end: 43615 }, { begin: 65936, end: 65999 }, { begin: 66e3, end: 66047 }, { begin: 66208, end: 66271 }, { begin: 127024, end: 127135 }], Bt = { parse: function(d, v) {\n var w = {}, k = new we.Parser(d, v);\n w.version = k.parseUShort(), w.xAvgCharWidth = k.parseShort(), w.usWeightClass = k.parseUShort(), w.usWidthClass = k.parseUShort(), w.fsType = k.parseUShort(), w.ySubscriptXSize = k.parseShort(), w.ySubscriptYSize = k.parseShort(), w.ySubscriptXOffset = k.parseShort(), w.ySubscriptYOffset = k.parseShort(), w.ySuperscriptXSize = k.parseShort(), w.ySuperscriptYSize = k.parseShort(), w.ySuperscriptXOffset = k.parseShort(), w.ySuperscriptYOffset = k.parseShort(), w.yStrikeoutSize = k.parseShort(), w.yStrikeoutPosition = k.parseShort(), w.sFamilyClass = k.parseShort(), w.panose = [];\n for (var I = 0; I < 10; I++)\n w.panose[I] = k.parseByte();\n return w.ulUnicodeRange1 = k.parseULong(), w.ulUnicodeRange2 = k.parseULong(), w.ulUnicodeRange3 = k.parseULong(), w.ulUnicodeRange4 = k.parseULong(), w.achVendID = String.fromCharCode(k.parseByte(), k.parseByte(), k.parseByte(), k.parseByte()), w.fsSelection = k.parseUShort(), w.usFirstCharIndex = k.parseUShort(), w.usLastCharIndex = k.parseUShort(), w.sTypoAscender = k.parseShort(), w.sTypoDescender = k.parseShort(), w.sTypoLineGap = k.parseShort(), w.usWinAscent = k.parseUShort(), w.usWinDescent = k.parseUShort(), 1 <= w.version && (w.ulCodePageRange1 = k.parseULong(), w.ulCodePageRange2 = k.parseULong()), 2 <= w.version && (w.sxHeight = k.parseShort(), w.sCapHeight = k.parseShort(), w.usDefaultChar = k.parseUShort(), w.usBreakChar = k.parseUShort(), w.usMaxContent = k.parseUShort()), w;\n }, make: function(d) {\n return new Me.Table(\"OS/2\", [{ name: \"version\", type: \"USHORT\", value: 3 }, { name: \"xAvgCharWidth\", type: \"SHORT\", value: 0 }, { name: \"usWeightClass\", type: \"USHORT\", value: 0 }, { name: \"usWidthClass\", type: \"USHORT\", value: 0 }, { name: \"fsType\", type: \"USHORT\", value: 0 }, { name: \"ySubscriptXSize\", type: \"SHORT\", value: 650 }, { name: \"ySubscriptYSize\", type: \"SHORT\", value: 699 }, { name: \"ySubscriptXOffset\", type: \"SHORT\", value: 0 }, { name: \"ySubscriptYOffset\", type: \"SHORT\", value: 140 }, { name: \"ySuperscriptXSize\", type: \"SHORT\", value: 650 }, { name: \"ySuperscriptYSize\", type: \"SHORT\", value: 699 }, { name: \"ySuperscriptXOffset\", type: \"SHORT\", value: 0 }, { name: \"ySuperscriptYOffset\", type: \"SHORT\", value: 479 }, { name: \"yStrikeoutSize\", type: \"SHORT\", value: 49 }, { name: \"yStrikeoutPosition\", type: \"SHORT\", value: 258 }, { name: \"sFamilyClass\", type: \"SHORT\", value: 0 }, { name: \"bFamilyType\", type: \"BYTE\", value: 0 }, { name: \"bSerifStyle\", type: \"BYTE\", value: 0 }, { name: \"bWeight\", type: \"BYTE\", value: 0 }, { name: \"bProportion\", type: \"BYTE\", value: 0 }, { name: \"bContrast\", type: \"BYTE\", value: 0 }, { name: \"bStrokeVariation\", type: \"BYTE\", value: 0 }, { name: \"bArmStyle\", type: \"BYTE\", value: 0 }, { name: \"bLetterform\", type: \"BYTE\", value: 0 }, { name: \"bMidline\", type: \"BYTE\", value: 0 }, { name: \"bXHeight\", type: \"BYTE\", value: 0 }, { name: \"ulUnicodeRange1\", type: \"ULONG\", value: 0 }, { name: \"ulUnicodeRange2\", type: \"ULONG\", value: 0 }, { name: \"ulUnicodeRange3\", type: \"ULONG\", value: 0 }, { name: \"ulUnicodeRange4\", type: \"ULONG\", value: 0 }, { name: \"achVendID\", type: \"CHARARRAY\", value: \"XXXX\" }, { name: \"fsSelection\", type: \"USHORT\", value: 0 }, { name: \"usFirstCharIndex\", type: \"USHORT\", value: 0 }, { name: \"usLastCharIndex\", type: \"USHORT\", value: 0 }, { name: \"sTypoAscender\", type: \"SHORT\", value: 0 }, { name: \"sTypoDescender\", type: \"SHORT\", value: 0 }, { name: \"sTypoLineGap\", type: \"SHORT\", value: 0 }, { name: \"usWinAscent\", type: \"USHORT\", value: 0 }, { name: \"usWinDescent\", type: \"USHORT\", value: 0 }, { name: \"ulCodePageRange1\", type: \"ULONG\", value: 0 }, { name: \"ulCodePageRange2\", type: \"ULONG\", value: 0 }, { name: \"sxHeight\", type: \"SHORT\", value: 0 }, { name: \"sCapHeight\", type: \"SHORT\", value: 0 }, { name: \"usDefaultChar\", type: \"USHORT\", value: 0 }, { name: \"usBreakChar\", type: \"USHORT\", value: 0 }, { name: \"usMaxContext\", type: \"USHORT\", value: 0 }], d);\n }, unicodeRanges: Jt, getUnicodeRange: function(d) {\n for (var v = 0; v < Jt.length; v += 1) {\n var w = Jt[v];\n if (d >= w.begin && d < w.end)\n return v;\n }\n return -1;\n } }, Lr = { parse: function(d, v) {\n var w = {}, k = new we.Parser(d, v);\n switch (w.version = k.parseVersion(), w.italicAngle = k.parseFixed(), w.underlinePosition = k.parseShort(), w.underlineThickness = k.parseShort(), w.isFixedPitch = k.parseULong(), w.minMemType42 = k.parseULong(), w.maxMemType42 = k.parseULong(), w.minMemType1 = k.parseULong(), w.maxMemType1 = k.parseULong(), w.version) {\n case 1:\n w.names = pe.slice();\n break;\n case 2:\n w.numberOfGlyphs = k.parseUShort(), w.glyphNameIndex = new Array(w.numberOfGlyphs);\n for (var I = 0; I < w.numberOfGlyphs; I++)\n w.glyphNameIndex[I] = k.parseUShort();\n w.names = [];\n for (var N, z = 0; z < w.numberOfGlyphs; z++)\n w.glyphNameIndex[z] >= pe.length && (N = k.parseChar(), w.names.push(k.parseString(N)));\n break;\n case 2.5:\n w.numberOfGlyphs = k.parseUShort(), w.offset = new Array(w.numberOfGlyphs);\n for (var Q = 0; Q < w.numberOfGlyphs; Q++)\n w.offset[Q] = k.parseChar();\n }\n return w;\n }, make: function() {\n return new Me.Table(\"post\", [{ name: \"version\", type: \"FIXED\", value: 196608 }, { name: \"italicAngle\", type: \"FIXED\", value: 0 }, { name: \"underlinePosition\", type: \"FWORD\", value: 0 }, { name: \"underlineThickness\", type: \"FWORD\", value: 0 }, { name: \"isFixedPitch\", type: \"ULONG\", value: 0 }, { name: \"minMemType42\", type: \"ULONG\", value: 0 }, { name: \"maxMemType42\", type: \"ULONG\", value: 0 }, { name: \"minMemType1\", type: \"ULONG\", value: 0 }, { name: \"maxMemType1\", type: \"ULONG\", value: 0 }]);\n } }, Yt = new Array(9), ar = (Yt[1] = function() {\n var d = this.offset + this.relativeOffset, v = this.parseUShort();\n return v === 1 ? { substFormat: 1, coverage: this.parsePointer(ve.coverage), deltaGlyphId: this.parseUShort() } : v === 2 ? { substFormat: 2, coverage: this.parsePointer(ve.coverage), substitute: this.parseOffset16List() } : void O.assert(!1, \"0x\" + d.toString(16) + \": lookup type 1 format must be 1 or 2.\");\n }, Yt[2] = function() {\n var d = this.parseUShort();\n return O.argument(d === 1, \"GSUB Multiple Substitution Subtable identifier-format must be 1\"), { substFormat: d, coverage: this.parsePointer(ve.coverage), sequences: this.parseListOfLists() };\n }, Yt[3] = function() {\n var d = this.parseUShort();\n return O.argument(d === 1, \"GSUB Alternate Substitution Subtable identifier-format must be 1\"), { substFormat: d, coverage: this.parsePointer(ve.coverage), alternateSets: this.parseListOfLists() };\n }, Yt[4] = function() {\n var d = this.parseUShort();\n return O.argument(d === 1, \"GSUB ligature table identifier-format must be 1\"), { substFormat: d, coverage: this.parsePointer(ve.coverage), ligatureSets: this.parseListOfLists(function() {\n return { ligGlyph: this.parseUShort(), components: this.parseUShortList(this.parseUShort() - 1) };\n }) };\n }, { sequenceIndex: ve.uShort, lookupListIndex: ve.uShort });\n Yt[5] = function() {\n var d, v, w = this.offset + this.relativeOffset, k = this.parseUShort();\n return k === 1 ? { substFormat: k, coverage: this.parsePointer(ve.coverage), ruleSets: this.parseListOfLists(function() {\n var I = this.parseUShort(), N = this.parseUShort();\n return { input: this.parseUShortList(I - 1), lookupRecords: this.parseRecordList(N, ar) };\n }) } : k === 2 ? { substFormat: k, coverage: this.parsePointer(ve.coverage), classDef: this.parsePointer(ve.classDef), classSets: this.parseListOfLists(function() {\n var I = this.parseUShort(), N = this.parseUShort();\n return { classes: this.parseUShortList(I - 1), lookupRecords: this.parseRecordList(N, ar) };\n }) } : k === 3 ? (d = this.parseUShort(), v = this.parseUShort(), { substFormat: k, coverages: this.parseList(d, ve.pointer(ve.coverage)), lookupRecords: this.parseRecordList(v, ar) }) : void O.assert(!1, \"0x\" + w.toString(16) + \": lookup type 5 format must be 1, 2 or 3.\");\n }, Yt[6] = function() {\n var d = this.offset + this.relativeOffset, v = this.parseUShort();\n return v === 1 ? { substFormat: 1, coverage: this.parsePointer(ve.coverage), chainRuleSets: this.parseListOfLists(function() {\n return { backtrack: this.parseUShortList(), input: this.parseUShortList(this.parseShort() - 1), lookahead: this.parseUShortList(), lookupRecords: this.parseRecordList(ar) };\n }) } : v === 2 ? { substFormat: 2, coverage: this.parsePointer(ve.coverage), backtrackClassDef: this.parsePointer(ve.classDef), inputClassDef: this.parsePointer(ve.classDef), lookaheadClassDef: this.parsePointer(ve.classDef), chainClassSet: this.parseListOfLists(function() {\n return { backtrack: this.parseUShortList(), input: this.parseUShortList(this.parseShort() - 1), lookahead: this.parseUShortList(), lookupRecords: this.parseRecordList(ar) };\n }) } : v === 3 ? { substFormat: 3, backtrackCoverage: this.parseList(ve.pointer(ve.coverage)), inputCoverage: this.parseList(ve.pointer(ve.coverage)), lookaheadCoverage: this.parseList(ve.pointer(ve.coverage)), lookupRecords: this.parseRecordList(ar) } : void O.assert(!1, \"0x\" + d.toString(16) + \": lookup type 6 format must be 1, 2 or 3.\");\n }, Yt[7] = function() {\n var d = this.parseUShort(), d = (O.argument(d === 1, \"GSUB Extension Substitution subtable identifier-format must be 1\"), this.parseUShort()), v = new ve(this.data, this.offset + this.parseULong());\n return { substFormat: 1, lookupType: d, extension: Yt[d].call(v) };\n }, Yt[8] = function() {\n var d = this.parseUShort();\n return O.argument(d === 1, \"GSUB Reverse Chaining Contextual Single Substitution Subtable identifier-format must be 1\"), { substFormat: d, coverage: this.parsePointer(ve.coverage), backtrackCoverage: this.parseList(ve.pointer(ve.coverage)), lookaheadCoverage: this.parseList(ve.pointer(ve.coverage)), substitutes: this.parseUShortList() };\n };\n var yr = new Array(9);\n yr[1] = function(d) {\n return d.substFormat === 1 ? new Me.Table(\"substitutionTable\", [{ name: \"substFormat\", type: \"USHORT\", value: 1 }, { name: \"coverage\", type: \"TABLE\", value: new Me.Coverage(d.coverage) }, { name: \"deltaGlyphID\", type: \"USHORT\", value: d.deltaGlyphId }]) : new Me.Table(\"substitutionTable\", [{ name: \"substFormat\", type: \"USHORT\", value: 2 }, { name: \"coverage\", type: \"TABLE\", value: new Me.Coverage(d.coverage) }].concat(Me.ushortList(\"substitute\", d.substitute)));\n }, yr[3] = function(d) {\n return O.assert(d.substFormat === 1, \"Lookup type 3 substFormat must be 1.\"), new Me.Table(\"substitutionTable\", [{ name: \"substFormat\", type: \"USHORT\", value: 1 }, { name: \"coverage\", type: \"TABLE\", value: new Me.Coverage(d.coverage) }].concat(Me.tableList(\"altSet\", d.alternateSets, function(v) {\n return new Me.Table(\"alternateSetTable\", Me.ushortList(\"alternate\", v));\n })));\n }, yr[4] = function(d) {\n return O.assert(d.substFormat === 1, \"Lookup type 4 substFormat must be 1.\"), new Me.Table(\"substitutionTable\", [{ name: \"substFormat\", type: \"USHORT\", value: 1 }, { name: \"coverage\", type: \"TABLE\", value: new Me.Coverage(d.coverage) }].concat(Me.tableList(\"ligSet\", d.ligatureSets, function(v) {\n return new Me.Table(\"ligatureSetTable\", Me.tableList(\"ligature\", v, function(w) {\n return new Me.Table(\"ligatureTable\", [{ name: \"ligGlyph\", type: \"USHORT\", value: w.ligGlyph }].concat(Me.ushortList(\"component\", w.components, w.components.length + 1)));\n }));\n })));\n };\n var Rr = { parse: function(d, v) {\n return v = (d = new ve(d, v = v || 0)).parseVersion(1), O.argument(v === 1 || v === 1.1, \"Unsupported GSUB table version.\"), v === 1 ? { version: v, scripts: d.parseScriptList(), features: d.parseFeatureList(), lookups: d.parseLookupList(Yt) } : { version: v, scripts: d.parseScriptList(), features: d.parseFeatureList(), lookups: d.parseLookupList(Yt), variations: d.parseFeatureVariationsList() };\n }, make: function(d) {\n return new Me.Table(\"GSUB\", [{ name: \"version\", type: \"ULONG\", value: 65536 }, { name: \"scripts\", type: \"TABLE\", value: new Me.ScriptList(d.scripts) }, { name: \"features\", type: \"TABLE\", value: new Me.FeatureList(d.features) }, { name: \"lookups\", type: \"TABLE\", value: new Me.LookupList(d.lookups, yr) }]);\n } }, Ir = { parse: function(d, v) {\n for (var w = new we.Parser(d, v), k = w.parseULong(), I = (O.argument(k === 1, \"Unsupported META table version.\"), w.parseULong(), w.parseULong(), w.parseULong()), N = {}, z = 0; z < I; z++) {\n var Q = w.parseTag(), oe = w.parseULong(), se = w.parseULong(), oe = D.UTF8(d, v + oe, se);\n N[Q] = oe;\n }\n return N;\n }, make: function(d) {\n var v, w = Object.keys(d).length, k = \"\", I = 16 + 12 * w, N = new Me.Table(\"meta\", [{ name: \"version\", type: \"ULONG\", value: 1 }, { name: \"flags\", type: \"ULONG\", value: 0 }, { name: \"offset\", type: \"ULONG\", value: I }, { name: \"numTags\", type: \"ULONG\", value: w }]);\n for (v in d) {\n var z = k.length;\n k += d[v], N.fields.push({ name: \"tag \" + v, type: \"TAG\", value: v }), N.fields.push({ name: \"offset \" + v, type: \"ULONG\", value: I + z }), N.fields.push({ name: \"length \" + v, type: \"ULONG\", value: d[v].length });\n }\n return N.fields.push({ name: \"stringPool\", type: \"CHARARRAY\", value: k }), N;\n } };\n function Dr(d) {\n return Math.log(d) / Math.log(2) | 0;\n }\n function Sr(d) {\n for (; d.length % 4 != 0; )\n d.push(0);\n for (var v = 0, w = 0; w < d.length; w += 4)\n v += (d[w] << 24) + (d[w + 1] << 16) + (d[w + 2] << 8) + d[w + 3];\n return v %= Math.pow(2, 32);\n }\n function Fr(d, v, w, k) {\n return new Me.Record(\"Table Record\", [{ name: \"tag\", type: \"TAG\", value: d !== void 0 ? d : \"\" }, { name: \"checkSum\", type: \"ULONG\", value: v !== void 0 ? v : 0 }, { name: \"offset\", type: \"ULONG\", value: w !== void 0 ? w : 0 }, { name: \"length\", type: \"ULONG\", value: k !== void 0 ? k : 0 }]);\n }\n function Ur(d) {\n for (var v = new Me.Table(\"sfnt\", [{ name: \"version\", type: \"TAG\", value: \"OTTO\" }, { name: \"numTables\", type: \"USHORT\", value: 0 }, { name: \"searchRange\", type: \"USHORT\", value: 0 }, { name: \"entrySelector\", type: \"USHORT\", value: 0 }, { name: \"rangeShift\", type: \"USHORT\", value: 0 }]), w = (v.tables = d, v.numTables = d.length, Math.pow(2, Dr(v.numTables))), k = (v.searchRange = 16 * w, v.entrySelector = Dr(w), v.rangeShift = 16 * v.numTables - v.searchRange, []), I = [], N = v.sizeOf() + Fr().sizeOf() * v.numTables; N % 4 != 0; )\n N += 1, I.push({ name: \"padding\", type: \"BYTE\", value: 0 });\n for (var z = 0; z < d.length; z += 1) {\n var Q = d[z], se = (O.argument(Q.tableName.length === 4, \"Table name\" + Q.tableName + \" is invalid.\"), Q.sizeOf()), oe = Fr(Q.tableName, Sr(Q.encode()), N, se);\n for (k.push({ name: oe.tag + \" Table Record\", type: \"RECORD\", value: oe }), I.push({ name: Q.tableName + \" table\", type: \"RECORD\", value: Q }), N += se, O.argument(!isNaN(N), \"Something went wrong calculating the offset.\"); N % 4 != 0; )\n N += 1, I.push({ name: \"padding\", type: \"BYTE\", value: 0 });\n }\n return k.sort(function(ye, Se) {\n return ye.value.tag > Se.value.tag ? 1 : -1;\n }), v.fields = v.fields.concat(k), v.fields = v.fields.concat(I), v;\n }\n function Nr(d, v, w) {\n for (var k = 0; k < v.length; k += 1) {\n var I = d.charToGlyphIndex(v[k]);\n if (0 < I)\n return d.glyphs.get(I).getMetrics();\n }\n return w;\n }\n var Sn = { make: Ur, fontToTable: function(d) {\n for (var v, w = [], k = [], I = [], N = [], z = [], Q = [], se = [], oe = 0, ye = 0, Se = 0, be = 0, de = 0, Ie = 0; Ie < d.glyphs.length; Ie += 1) {\n var ke = d.glyphs.get(Ie), Pe = 0 | ke.unicode;\n if (isNaN(ke.advanceWidth))\n throw new Error(\"Glyph \" + ke.name + \" (\" + Ie + \"): advanceWidth is not a number.\");\n (Pe < v || v === void 0) && 0 < Pe && (v = Pe), oe < Pe && (oe = Pe);\n var Pe = Bt.getUnicodeRange(Pe);\n if (Pe < 32)\n ye |= 1 << Pe;\n else if (Pe < 64)\n Se |= 1 << Pe - 32;\n else if (Pe < 96)\n be |= 1 << Pe - 64;\n else {\n if (!(Pe < 123))\n throw new Error(\"Unicode ranges bits > 123 are reserved for internal usage\");\n de |= 1 << Pe - 96;\n }\n ke.name !== \".notdef\" && (Pe = ke.getMetrics(), w.push(Pe.xMin), k.push(Pe.yMin), I.push(Pe.xMax), N.push(Pe.yMax), Q.push(Pe.leftSideBearing), se.push(Pe.rightSideBearing), z.push(ke.advanceWidth));\n }\n var Te, Ee = { xMin: Math.min.apply(null, w), yMin: Math.min.apply(null, k), xMax: Math.max.apply(null, I), yMax: Math.max.apply(null, N), advanceWidthMax: Math.max.apply(null, z), advanceWidthAvg: function(Gt) {\n for (var fr = 0, ur = 0; ur < Gt.length; ur += 1)\n fr += Gt[ur];\n return fr / Gt.length;\n }(z), minLeftSideBearing: Math.min.apply(null, Q), maxLeftSideBearing: Math.max.apply(null, Q), minRightSideBearing: Math.min.apply(null, se) }, $e = (Ee.ascender = d.ascender, Ee.descender = d.descender, pt.make({ flags: 3, unitsPerEm: d.unitsPerEm, xMin: Ee.xMin, yMin: Ee.yMin, xMax: Ee.xMax, yMax: Ee.yMax, lowestRecPPEM: 3, createdTimestamp: d.createdTimestamp })), lt = ie.make({ ascender: Ee.ascender, descender: Ee.descender, advanceWidthMax: Ee.advanceWidthMax, minLeftSideBearing: Ee.minLeftSideBearing, minRightSideBearing: Ee.minRightSideBearing, xMaxExtent: Ee.maxLeftSideBearing + (Ee.xMax - Ee.xMin), numberOfHMetrics: d.glyphs.length }), et = Le.make(d.glyphs.length), tt = Bt.make({ xAvgCharWidth: Math.round(Ee.advanceWidthAvg), usWeightClass: d.tables.os2.usWeightClass, usWidthClass: d.tables.os2.usWidthClass, usFirstCharIndex: v, usLastCharIndex: oe, ulUnicodeRange1: ye, ulUnicodeRange2: Se, ulUnicodeRange3: be, ulUnicodeRange4: de, fsSelection: d.tables.os2.fsSelection, sTypoAscender: Ee.ascender, sTypoDescender: Ee.descender, sTypoLineGap: 0, usWinAscent: Ee.yMax, usWinDescent: Math.abs(Ee.yMin), ulCodePageRange1: 1, sxHeight: Nr(d, \"xyvw\", { yMax: Math.round(Ee.ascender / 2) }).yMax, sCapHeight: Nr(d, \"HIKLEFJMNTZBDPRAGOQSUVWXY\", Ee).yMax, usDefaultChar: d.hasChar(\" \") ? 32 : 0, usBreakChar: d.hasChar(\" \") ? 32 : 0 }), dt = Oe.make(d.glyphs), wt = Z.make(d.glyphs), St = d.getEnglishName(\"fontFamily\"), vt = d.getEnglishName(\"fontSubfamily\"), xt = St + \" \" + vt, Ot = (Ot = d.getEnglishName(\"postScriptName\")) || St.replace(/\\s/g, \"\") + \"-\" + vt, Rt = {};\n for (Te in d.names)\n Rt[Te] = d.names[Te];\n Rt.uniqueID || (Rt.uniqueID = { en: d.getEnglishName(\"manufacturer\") + \":\" + xt }), Rt.postScriptName || (Rt.postScriptName = { en: Ot }), Rt.preferredFamily || (Rt.preferredFamily = d.names.fontFamily), Rt.preferredSubfamily || (Rt.preferredSubfamily = d.names.fontSubfamily);\n var Wt = [], Ht = Xt.make(Rt, Wt), Wt = 0 < Wt.length ? Ge.make(Wt) : void 0, Qt = Lr.make(), xt = ht.make(d.glyphs, { version: d.getEnglishName(\"version\"), fullName: xt, familyName: St, weightName: vt, postScriptName: Ot, unitsPerEm: d.unitsPerEm, fontBBox: [0, Ee.yMin, Ee.ascender, Ee.advanceWidthMax] }), St = d.metas && 0 < Object.keys(d.metas).length ? Ir.make(d.metas) : void 0, vt = [$e, lt, et, tt, Ht, wt, Qt, xt, dt];\n Wt && vt.push(Wt), d.tables.gsub && vt.push(Rr.make(d.tables.gsub)), St && vt.push(St);\n for (var qt = Sr((Ot = Ur(vt)).encode()), kt = Ot.fields, zt = !1, Tt = 0; Tt < kt.length; Tt += 1)\n if (kt[Tt].name === \"head table\") {\n kt[Tt].value.checkSumAdjustment = 2981146554 - qt, zt = !0;\n break;\n }\n if (zt)\n return Ot;\n throw new Error(\"Could not find head table with checkSum to adjust.\");\n }, computeCheckSum: Sr };\n function Tr(d, v) {\n for (var w = 0, k = d.length - 1; w <= k; ) {\n var I = w + k >>> 1, N = d[I].tag;\n if (N === v)\n return I;\n N < v ? w = 1 + I : k = I - 1;\n }\n return -w - 1;\n }\n function Br(d, v) {\n for (var w = 0, k = d.length - 1; w <= k; ) {\n var I = w + k >>> 1, N = d[I];\n if (N === v)\n return I;\n N < v ? w = 1 + I : k = I - 1;\n }\n return -w - 1;\n }\n function Gr(d, v) {\n for (var w = 0, k = d.length - 1; w <= k; ) {\n var I, N = w + k >>> 1, z = (I = d[N]).start;\n if (z === v)\n return I;\n z < v ? w = 1 + N : k = N - 1;\n }\n if (0 < w)\n return v > (I = d[w - 1]).end ? 0 : I;\n }\n function gr(d, v) {\n this.font = d, this.tableName = v;\n }\n function vr(d) {\n gr.call(this, d, \"gpos\");\n }\n function $t(d) {\n gr.call(this, d, \"gsub\");\n }\n function Vr(d, v, w) {\n for (var k = d.subtables, I = 0; I < k.length; I++) {\n var N = k[I];\n if (N.substFormat === v)\n return N;\n }\n if (w)\n return k.push(w), w;\n }\n function zr(d) {\n for (var v = new ArrayBuffer(d.length), w = new Uint8Array(v), k = 0; k < d.length; ++k)\n w[k] = d[k];\n return v;\n }\n function ir(d, v) {\n if (!d)\n throw v;\n }\n function Hr(d, v, w, k, I) {\n var N = 0 < (v & k) ? (N = d.parseByte(), w + (N = v & I ? N : -N)) : 0 < (v & I) ? w : w + d.parseShort();\n return N;\n }\n function Tn(d, v, w) {\n var k, I = new we.Parser(v, w);\n if (d.numberOfContours = I.parseShort(), d._xMin = I.parseShort(), d._yMin = I.parseShort(), d._xMax = I.parseShort(), d._yMax = I.parseShort(), 0 < d.numberOfContours) {\n for (var N = d.endPointIndices = [], z = 0; z < d.numberOfContours; z += 1)\n N.push(I.parseUShort());\n d.instructionLength = I.parseUShort(), d.instructions = [];\n for (var Q = 0; Q < d.instructionLength; Q += 1)\n d.instructions.push(I.parseByte());\n for (var se = N[N.length - 1] + 1, oe = [], ye = 0; ye < se; ye += 1)\n if (k = I.parseByte(), oe.push(k), 0 < (8 & k))\n for (var Se = I.parseByte(), be = 0; be < Se; be += 1)\n oe.push(k), ye += 1;\n if (O.argument(oe.length === se, \"Bad flags.\"), 0 < N.length) {\n var de, Ie = [];\n if (0 < se) {\n for (var ke = 0; ke < se; ke += 1)\n k = oe[ke], (de = {}).onCurve = !!(1 & k), de.lastPointOfContour = 0 <= N.indexOf(ke), Ie.push(de);\n for (var Pe = 0, Te = 0; Te < se; Te += 1)\n k = oe[Te], (de = Ie[Te]).x = Hr(I, k, Pe, 2, 16), Pe = de.x;\n for (var Ee = 0, $e = 0; $e < se; $e += 1)\n k = oe[$e], (de = Ie[$e]).y = Hr(I, k, Ee, 4, 32), Ee = de.y;\n }\n d.points = Ie;\n } else\n d.points = [];\n } else if (d.numberOfContours === 0)\n d.points = [];\n else {\n d.isComposite = !0, d.points = [], d.components = [];\n for (var lt = !0; lt; ) {\n oe = I.parseUShort();\n var et = { glyphIndex: I.parseUShort(), xScale: 1, scale01: 0, scale10: 0, yScale: 1, dx: 0, dy: 0 };\n 0 < (1 & oe) ? 0 < (2 & oe) ? (et.dx = I.parseShort(), et.dy = I.parseShort()) : et.matchedPoints = [I.parseUShort(), I.parseUShort()] : 0 < (2 & oe) ? (et.dx = I.parseChar(), et.dy = I.parseChar()) : et.matchedPoints = [I.parseByte(), I.parseByte()], 0 < (8 & oe) ? et.xScale = et.yScale = I.parseF2Dot14() : 0 < (64 & oe) ? (et.xScale = I.parseF2Dot14(), et.yScale = I.parseF2Dot14()) : 0 < (128 & oe) && (et.xScale = I.parseF2Dot14(), et.scale01 = I.parseF2Dot14(), et.scale10 = I.parseF2Dot14(), et.yScale = I.parseF2Dot14()), d.components.push(et), lt = !!(32 & oe);\n }\n if (256 & oe) {\n d.instructionLength = I.parseUShort(), d.instructions = [];\n for (var tt = 0; tt < d.instructionLength; tt += 1)\n d.instructions.push(I.parseByte());\n }\n }\n }\n function Er(d, v) {\n for (var w = [], k = 0; k < d.length; k += 1) {\n var I = d[k], I = { x: v.xScale * I.x + v.scale01 * I.y + v.dx, y: v.scale10 * I.x + v.yScale * I.y + v.dy, onCurve: I.onCurve, lastPointOfContour: I.lastPointOfContour };\n w.push(I);\n }\n return w;\n }\n function Wr(d) {\n var v = new X();\n if (d)\n for (var w = function(Se) {\n for (var be = [], de = [], Ie = 0; Ie < Se.length; Ie += 1) {\n var ke = Se[Ie];\n de.push(ke), ke.lastPointOfContour && (be.push(de), de = []);\n }\n return O.argument(de.length === 0, \"There are still points left in the current contour.\"), be;\n }(d), k = 0; k < w.length; ++k) {\n var I, N = w[k], z = N[N.length - 1], Q = N[0];\n z.onCurve ? v.moveTo(z.x, z.y) : Q.onCurve ? v.moveTo(Q.x, Q.y) : (I = { x: 0.5 * (z.x + Q.x), y: 0.5 * (z.y + Q.y) }, v.moveTo(I.x, I.y));\n for (var se = 0; se < N.length; ++se) {\n var oe, ye = z, z = Q, Q = N[(se + 1) % N.length];\n z.onCurve ? v.lineTo(z.x, z.y) : (oe = Q, ye.onCurve || (z.x, ye.x, z.y, ye.y), Q.onCurve || (oe = { x: 0.5 * (z.x + Q.x), y: 0.5 * (z.y + Q.y) }), v.quadraticCurveTo(z.x, z.y, oe.x, oe.y));\n }\n v.closePath();\n }\n return v;\n }\n function En(d, v) {\n if (v.isComposite)\n for (var w = 0; w < v.components.length; w += 1) {\n var k = v.components[w], I = d.get(k.glyphIndex);\n if (I.getPath(), I.points) {\n var N = void 0;\n if (k.matchedPoints === void 0)\n N = Er(I.points, k);\n else {\n if (k.matchedPoints[0] > v.points.length - 1 || k.matchedPoints[1] > I.points.length - 1)\n throw Error(\"Matched points out of range in \" + v.name);\n var z = v.points[k.matchedPoints[0]], Q = I.points[k.matchedPoints[1]], k = { xScale: k.xScale, scale01: k.scale01, scale10: k.scale10, yScale: k.yScale, dx: 0, dy: 0 }, Q = Er([Q], k)[0];\n k.dx = z.x - Q.x, k.dy = z.y - Q.y, N = Er(I.points, k);\n }\n v.points = v.points.concat(N);\n }\n }\n return Wr(v.points);\n }\n (vr.prototype = gr.prototype = { searchTag: Tr, binSearch: Br, getTable: function(d) {\n var v = this.font.tables[this.tableName];\n return v = !v && d ? this.font.tables[this.tableName] = this.createDefaultTable() : v;\n }, getScriptNames: function() {\n var d = this.getTable();\n return d ? d.scripts.map(function(v) {\n return v.tag;\n }) : [];\n }, getDefaultScriptName: function() {\n var d = this.getTable();\n if (d) {\n for (var v = !1, w = 0; w < d.scripts.length; w++) {\n var k = d.scripts[w].tag;\n if (k === \"DFLT\")\n return k;\n k === \"latn\" && (v = !0);\n }\n return v ? \"latn\" : void 0;\n }\n }, getScriptTable: function(d, v) {\n var w, k = this.getTable(v);\n if (k)\n return w = k.scripts, 0 <= (k = Tr(k.scripts, d = d || \"DFLT\")) ? w[k].script : v ? (w.splice(-1 - k, 0, v = { tag: d, script: { defaultLangSys: { reserved: 0, reqFeatureIndex: 65535, featureIndexes: [] }, langSysRecords: [] } }), v.script) : void 0;\n }, getLangSysTable: function(I, v, w) {\n var k, I = this.getScriptTable(I, w);\n if (I)\n return v && v !== \"dflt\" && v !== \"DFLT\" ? 0 <= (k = Tr(I.langSysRecords, v)) ? I.langSysRecords[k].langSys : w ? (I.langSysRecords.splice(-1 - k, 0, w = { tag: v, langSys: { reserved: 0, reqFeatureIndex: 65535, featureIndexes: [] } }), w.langSys) : void 0 : I.defaultLangSys;\n }, getFeatureTable: function(d, v, w, k) {\n if (d = this.getLangSysTable(d, v, k), d) {\n for (var I, N = d.featureIndexes, z = this.font.tables[this.tableName].features, Q = 0; Q < N.length; Q++)\n if ((I = z[N[Q]]).tag === w)\n return I.feature;\n if (k)\n return v = z.length, O.assert(v === 0 || w >= z[v - 1].tag, \"Features must be added in alphabetical order.\"), z.push(I = { tag: w, feature: { params: 0, lookupListIndexes: [] } }), N.push(v), I.feature;\n }\n }, getLookupTables: function(N, v, w, k, I) {\n var N = this.getFeatureTable(N, v, w, I), z = [];\n if (N) {\n for (var Q, se = N.lookupListIndexes, oe = this.font.tables[this.tableName].lookups, ye = 0; ye < se.length; ye++)\n (Q = oe[se[ye]]).lookupType === k && z.push(Q);\n if (z.length === 0 && I)\n return v = oe.length, oe.push(Q = { lookupType: k, lookupFlag: 0, subtables: [], markFilteringSet: void 0 }), se.push(v), [Q];\n }\n return z;\n }, getGlyphClass: function(d, v) {\n switch (d.format) {\n case 1:\n return d.startGlyph <= v && v < d.startGlyph + d.classes.length ? d.classes[v - d.startGlyph] : 0;\n case 2:\n var w = Gr(d.ranges, v);\n return w ? w.classId : 0;\n }\n }, getCoverageIndex: function(d, v) {\n switch (d.format) {\n case 1:\n var w = Br(d.glyphs, v);\n return 0 <= w ? w : -1;\n case 2:\n return w = Gr(d.ranges, v), w ? w.index + v - w.start : -1;\n }\n }, expandCoverage: function(d) {\n if (d.format === 1)\n return d.glyphs;\n for (var v = [], w = d.ranges, k = 0; k < w.length; k++)\n for (var I = w[k], N = I.start, z = I.end, Q = N; Q <= z; Q++)\n v.push(Q);\n return v;\n } }).init = function() {\n var d = this.getDefaultScriptName();\n this.defaultKerningTables = this.getKerningTables(d);\n }, vr.prototype.getKerningValue = function(d, v, w) {\n for (var k = 0; k < d.length; k++)\n for (var I = d[k].subtables, N = 0; N < I.length; N++) {\n var z = I[N], Q = this.getCoverageIndex(z.coverage, v);\n if (!(Q < 0))\n switch (z.posFormat) {\n case 1:\n for (var se = z.pairSets[Q], oe = 0; oe < se.length; oe++) {\n var ye = se[oe];\n if (ye.secondGlyph === w)\n return ye.value1 && ye.value1.xAdvance || 0;\n }\n break;\n case 2:\n var be = this.getGlyphClass(z.classDef1, v), Se = this.getGlyphClass(z.classDef2, w), be = z.classRecords[be][Se];\n return be.value1 && be.value1.xAdvance || 0;\n }\n }\n return 0;\n }, vr.prototype.getKerningTables = function(d, v) {\n if (this.font.tables.gpos)\n return this.getLookupTables(d, v, \"kern\", 2);\n }, ($t.prototype = gr.prototype).createDefaultTable = function() {\n return { version: 1, scripts: [{ tag: \"DFLT\", script: { defaultLangSys: { reserved: 0, reqFeatureIndex: 65535, featureIndexes: [] }, langSysRecords: [] } }], features: [], lookups: [] };\n }, $t.prototype.getSingle = function(d, v, w) {\n for (var k = [], I = this.getLookupTables(v, w, d, 1), N = 0; N < I.length; N++)\n for (var z = I[N].subtables, Q = 0; Q < z.length; Q++) {\n var se = z[Q], oe = this.expandCoverage(se.coverage), ye = void 0;\n if (se.substFormat === 1)\n for (var Se = se.deltaGlyphId, ye = 0; ye < oe.length; ye++) {\n var be = oe[ye];\n k.push({ sub: be, by: be + Se });\n }\n else {\n var de = se.substitute;\n for (ye = 0; ye < oe.length; ye++)\n k.push({ sub: oe[ye], by: de[ye] });\n }\n }\n return k;\n }, $t.prototype.getAlternates = function(d, v, w) {\n for (var k = [], I = this.getLookupTables(v, w, d, 3), N = 0; N < I.length; N++)\n for (var z = I[N].subtables, Q = 0; Q < z.length; Q++)\n for (var se = z[Q], oe = this.expandCoverage(se.coverage), ye = se.alternateSets, Se = 0; Se < oe.length; Se++)\n k.push({ sub: oe[Se], by: ye[Se] });\n return k;\n }, $t.prototype.getLigatures = function(d, v, w) {\n for (var k = [], I = this.getLookupTables(v, w, d, 4), N = 0; N < I.length; N++)\n for (var z = I[N].subtables, Q = 0; Q < z.length; Q++)\n for (var se = z[Q], oe = this.expandCoverage(se.coverage), ye = se.ligatureSets, Se = 0; Se < oe.length; Se++)\n for (var be = oe[Se], de = ye[Se], Ie = 0; Ie < de.length; Ie++) {\n var ke = de[Ie];\n k.push({ sub: [be].concat(ke.components), by: ke.ligGlyph });\n }\n return k;\n }, $t.prototype.addSingle = function(d, v, w, k) {\n w = Vr(this.getLookupTables(w, k, d, 1, !0)[0], 2, { substFormat: 2, coverage: { format: 1, glyphs: [] }, substitute: [] }), O.assert(w.coverage.format === 1, \"Ligature: unable to modify coverage table format \" + w.coverage.format), k = v.sub, d = this.binSearch(w.coverage.glyphs, k), d < 0 && (w.coverage.glyphs.splice(d = -1 - d, 0, k), w.substitute.splice(d, 0, 0)), w.substitute[d] = v.by;\n }, $t.prototype.addAlternate = function(d, v, w, k) {\n w = Vr(this.getLookupTables(w, k, d, 3, !0)[0], 1, { substFormat: 1, coverage: { format: 1, glyphs: [] }, alternateSets: [] }), O.assert(w.coverage.format === 1, \"Ligature: unable to modify coverage table format \" + w.coverage.format), k = v.sub, d = this.binSearch(w.coverage.glyphs, k), d < 0 && (w.coverage.glyphs.splice(d = -1 - d, 0, k), w.alternateSets.splice(d, 0, 0)), w.alternateSets[d] = v.by;\n }, $t.prototype.addLigature = function(N, se, Q, I) {\n var Q = this.getLookupTables(Q, I, N, 4, !0)[0], I = Q.subtables[0], N = (I || (Q.subtables[0] = I = { substFormat: 1, coverage: { format: 1, glyphs: [] }, ligatureSets: [] }), O.assert(I.coverage.format === 1, \"Ligature: unable to modify coverage table format \" + I.coverage.format), se.sub[0]), z = se.sub.slice(1), Q = { ligGlyph: se.by, components: z }, se = this.binSearch(I.coverage.glyphs, N);\n if (0 <= se) {\n for (var oe = I.ligatureSets[se], ye = 0; ye < oe.length; ye++)\n if (function(Se, be) {\n var de = Se.length;\n if (de === be.length) {\n for (var Ie = 0; Ie < de; Ie++)\n if (Se[Ie] !== be[Ie])\n return;\n return 1;\n }\n }(oe[ye].components, z))\n return;\n oe.push(Q);\n } else\n I.coverage.glyphs.splice(se = -1 - se, 0, N), I.ligatureSets.splice(se, 0, [Q]);\n }, $t.prototype.getFeature = function(d, v, w) {\n if (/ss\\d\\d/.test(d))\n return this.getSingle(d, v, w);\n switch (d) {\n case \"aalt\":\n case \"salt\":\n return this.getSingle(d, v, w).concat(this.getAlternates(d, v, w));\n case \"dlig\":\n case \"liga\":\n case \"rlig\":\n return this.getLigatures(d, v, w);\n }\n }, $t.prototype.add = function(d, v, w, k) {\n if (/ss\\d\\d/.test(d))\n return this.addSingle(d, v, w, k);\n switch (d) {\n case \"aalt\":\n case \"salt\":\n return typeof v.by == \"number\" ? this.addSingle(d, v, w, k) : this.addAlternate(d, v, w, k);\n case \"dlig\":\n case \"liga\":\n case \"rlig\":\n return this.addLigature(d, v, w, k);\n }\n };\n var qr = { getPath: Wr, parse: function(d, v, w, k) {\n for (var I = new Ke.GlyphSet(k), N = 0; N < w.length - 1; N += 1) {\n var z = w[N];\n z !== w[N + 1] ? I.push(N, Ke.ttfGlyphLoader(k, N, Tn, d, v + z, En)) : I.push(N, Ke.glyphLoader(k, N));\n }\n return I;\n } };\n function Xr(d) {\n this.font = d, this.getCommands = function(v) {\n return qr.getPath(v).commands;\n }, this._fpgmState = this._prepState = void 0, this._errorState = 0;\n }\n function Mn(d) {\n return d;\n }\n function Yr(d) {\n return Math.sign(d) * Math.round(Math.abs(d));\n }\n function kn(d) {\n return Math.sign(d) * Math.round(Math.abs(2 * d)) / 2;\n }\n function Cn(d) {\n return Math.sign(d) * (Math.round(Math.abs(d) + 0.5) - 0.5);\n }\n function On(d) {\n return Math.sign(d) * Math.ceil(Math.abs(d));\n }\n function Pn(d) {\n return Math.sign(d) * Math.floor(Math.abs(d));\n }\n function Zr(d) {\n var v = this.srPeriod, w = this.srPhase, k = 1;\n return d < 0 && (d = -d, k = -1), d += this.srThreshold - w, d = Math.trunc(d / v) * v, (d += w) < 0 ? w * k : d * k;\n }\n var er = { x: 1, y: 0, axis: \"x\", distance: function(d, v, w, k) {\n return (w ? d.xo : d.x) - (k ? v.xo : v.x);\n }, interpolate: function(d, v, w, k) {\n var I, N, z, Q, se, oe, ye;\n if (!k || k === this)\n return I = d.xo - v.xo, N = d.xo - w.xo, se = v.x - v.xo, oe = w.x - w.xo, (ye = (z = Math.abs(I)) + (Q = Math.abs(N))) === 0 ? void (d.x = d.xo + (se + oe) / 2) : void (d.x = d.xo + (se * Q + oe * z) / ye);\n I = k.distance(d, v, !0, !0), N = k.distance(d, w, !0, !0), se = k.distance(v, v, !1, !0), oe = k.distance(w, w, !1, !0), (ye = (z = Math.abs(I)) + (Q = Math.abs(N))) === 0 ? er.setRelative(d, d, (se + oe) / 2, k, !0) : er.setRelative(d, d, (se * Q + oe * z) / ye, k, !0);\n }, normalSlope: Number.NEGATIVE_INFINITY, setRelative: function(d, v, w, k, I) {\n var N, z;\n k && k !== this ? (N = I ? v.xo : v.x, z = I ? v.yo : v.y, N += w * k.x, z += w * k.y, d.x = N + (d.y - z) / k.normalSlope) : d.x = (I ? v.xo : v.x) + w;\n }, slope: 0, touch: function(d) {\n d.xTouched = !0;\n }, touched: function(d) {\n return d.xTouched;\n }, untouch: function(d) {\n d.xTouched = !1;\n } }, tr = { x: 0, y: 1, axis: \"y\", distance: function(d, v, w, k) {\n return (w ? d.yo : d.y) - (k ? v.yo : v.y);\n }, interpolate: function(d, v, w, k) {\n var I, N, z, Q, se, oe, ye;\n if (!k || k === this)\n return I = d.yo - v.yo, N = d.yo - w.yo, se = v.y - v.yo, oe = w.y - w.yo, (ye = (z = Math.abs(I)) + (Q = Math.abs(N))) === 0 ? void (d.y = d.yo + (se + oe) / 2) : void (d.y = d.yo + (se * Q + oe * z) / ye);\n I = k.distance(d, v, !0, !0), N = k.distance(d, w, !0, !0), se = k.distance(v, v, !1, !0), oe = k.distance(w, w, !1, !0), (ye = (z = Math.abs(I)) + (Q = Math.abs(N))) === 0 ? tr.setRelative(d, d, (se + oe) / 2, k, !0) : tr.setRelative(d, d, (se * Q + oe * z) / ye, k, !0);\n }, normalSlope: 0, setRelative: function(d, v, w, k, I) {\n var N, z;\n k && k !== this ? (N = I ? v.xo : v.x, z = I ? v.yo : v.y, N += w * k.x, z += w * k.y, d.y = z + k.normalSlope * (d.x - N)) : d.y = (I ? v.yo : v.y) + w;\n }, slope: Number.POSITIVE_INFINITY, touch: function(d) {\n d.yTouched = !0;\n }, touched: function(d) {\n return d.yTouched;\n }, untouch: function(d) {\n d.yTouched = !1;\n } };\n function cr(d, v) {\n this.x = d, this.y = v, this.axis = void 0, this.slope = v / d, this.normalSlope = -d / v, Object.freeze(this);\n }\n function dr(d, v) {\n var w = Math.sqrt(d * d + v * v);\n return v /= w, (d /= w) === 1 && v === 0 ? er : d === 0 && v === 1 ? tr : new cr(d, v);\n }\n function rr(d, v, w, k) {\n this.x = this.xo = Math.round(64 * d) / 64, this.y = this.yo = Math.round(64 * v) / 64, this.lastPointOfContour = w, this.onCurve = k, this.prevPointOnContour = void 0, this.nextPointOnContour = void 0, this.xTouched = !1, this.yTouched = !1, Object.preventExtensions(this);\n }\n Object.freeze(er), Object.freeze(tr), cr.prototype.distance = function(d, v, w, k) {\n return this.x * er.distance(d, v, w, k) + this.y * tr.distance(d, v, w, k);\n }, cr.prototype.interpolate = function(d, I, N, k) {\n var z = k.distance(d, I, !0, !0), Q = k.distance(d, N, !0, !0), I = k.distance(I, I, !1, !0), N = k.distance(N, N, !1, !0), z = Math.abs(z), Q = Math.abs(Q), se = z + Q;\n se === 0 ? this.setRelative(d, d, (I + N) / 2, k, !0) : this.setRelative(d, d, (I * Q + N * z) / se, k, !0);\n }, cr.prototype.setRelative = function(d, N, se, oe, Q) {\n var z = Q ? N.xo : N.x, Q = Q ? N.yo : N.y, N = z + se * (oe = oe || this).x, z = Q + se * oe.y, Q = oe.normalSlope, se = this.slope, oe = d.x, ye = d.y;\n d.x = (se * oe - Q * N + z - ye) / (se - Q), d.y = se * (d.x - oe) + ye;\n }, cr.prototype.touch = function(d) {\n d.xTouched = !0, d.yTouched = !0;\n }, rr.prototype.nextTouched = function(d) {\n for (var v = this.nextPointOnContour; !d.touched(v) && v !== this; )\n v = v.nextPointOnContour;\n return v;\n }, rr.prototype.prevTouched = function(d) {\n for (var v = this.prevPointOnContour; !d.touched(v) && v !== this; )\n v = v.prevPointOnContour;\n return v;\n };\n var hr = Object.freeze(new rr(0, 0)), An = { cvCutIn: 17 / 16, deltaBase: 9, deltaShift: 0.125, loop: 1, minDis: 1, autoFlip: !0 };\n function nr(d, v) {\n switch (this.env = d, this.stack = [], this.prog = v, d) {\n case \"glyf\":\n this.zp0 = this.zp1 = this.zp2 = 1, this.rp0 = this.rp1 = this.rp2 = 0;\n case \"prep\":\n this.fv = this.pv = this.dpv = er, this.round = Yr;\n }\n }\n function br(d) {\n for (var v = d.tZone = new Array(d.gZone.length), w = 0; w < v.length; w++)\n v[w] = new rr(0, 0);\n }\n function Qr(d, v) {\n var w, k = d.prog, I = d.ip, N = 1;\n do\n if ((w = k[++I]) === 88)\n N++;\n else if (w === 89)\n N--;\n else if (w === 64)\n I += k[I + 1] + 1;\n else if (w === 65)\n I += 2 * k[I + 1] + 1;\n else if (176 <= w && w <= 183)\n I += w - 176 + 1;\n else if (184 <= w && w <= 191)\n I += 2 * (w - 184 + 1);\n else if (v && N === 1 && w === 27)\n break;\n while (0 < N);\n d.ip = I;\n }\n function Kr(d, v) {\n h.DEBUG && console.log(v.step, \"SVTCA[\" + d.axis + \"]\"), v.fv = v.pv = v.dpv = d;\n }\n function Jr(d, v) {\n h.DEBUG && console.log(v.step, \"SPVTCA[\" + d.axis + \"]\"), v.pv = v.dpv = d;\n }\n function $r(d, v) {\n h.DEBUG && console.log(v.step, \"SFVTCA[\" + d.axis + \"]\"), v.fv = d;\n }\n function en(d, v) {\n var w, I = v.stack, k = I.pop(), I = I.pop(), N = v.z2[k], z = v.z1[I];\n h.DEBUG && console.log(\"SPVTL[\" + d + \"]\", k, I), k = d ? (w = N.y - z.y, z.x - N.x) : (w = z.x - N.x, z.y - N.y), v.pv = v.dpv = dr(w, k);\n }\n function tn(d, v) {\n var w, I = v.stack, k = I.pop(), I = I.pop(), N = v.z2[k], z = v.z1[I];\n h.DEBUG && console.log(\"SFVTL[\" + d + \"]\", k, I), k = d ? (w = N.y - z.y, z.x - N.x) : (w = z.x - N.x, z.y - N.y), v.fv = dr(w, k);\n }\n function Mr(d) {\n h.DEBUG && console.log(d.step, \"POP[]\"), d.stack.pop();\n }\n function rn(d, v) {\n var w = v.stack.pop(), k = v.z0[w], I = v.fv, N = v.pv, z = (h.DEBUG && console.log(v.step, \"MDAP[\" + d + \"]\", w), N.distance(k, hr));\n d && (z = v.round(z)), I.setRelative(k, hr, z, N), I.touch(k), v.rp0 = v.rp1 = w;\n }\n function nn(d, v) {\n var w, k, I, N = v.z2, z = N.length - 2;\n h.DEBUG && console.log(v.step, \"IUP[\" + d.axis + \"]\");\n for (var Q = 0; Q < z; Q++)\n w = N[Q], d.touched(w) || (k = w.prevTouched(d)) !== w && (k === (I = w.nextTouched(d)) && d.setRelative(w, w, d.distance(k, k, !1, !0), d, !0), d.interpolate(w, k, I, d));\n }\n function on(d, v) {\n for (var w = v.stack, k = d ? v.rp1 : v.rp2, I = (d ? v.z0 : v.z1)[k], N = v.fv, z = v.pv, Q = v.loop, se = v.z2; Q--; ) {\n var oe = w.pop(), ye = se[oe], Se = z.distance(I, I, !1, !0);\n N.setRelative(ye, ye, Se, z), N.touch(ye), h.DEBUG && console.log(v.step, (1 < v.loop ? \"loop \" + (v.loop - Q) + \": \" : \"\") + \"SHP[\" + (d ? \"rp1\" : \"rp2\") + \"]\", oe);\n }\n v.loop = 1;\n }\n function sn(d, v) {\n for (var w = v.stack, z = d ? v.rp1 : v.rp2, k = (d ? v.z0 : v.z1)[z], I = v.fv, N = v.pv, z = w.pop(), Q = v.z2[v.contours[z]], se = Q, oe = (h.DEBUG && console.log(v.step, \"SHC[\" + d + \"]\", z), N.distance(k, k, !1, !0)); se !== k && I.setRelative(se, se, oe, N), (se = se.nextPointOnContour) !== Q; )\n ;\n }\n function an(d, v) {\n var w, k, Q = v.stack, I = d ? v.rp1 : v.rp2, I = (d ? v.z0 : v.z1)[I], N = v.fv, z = v.pv, Q = Q.pop();\n switch (h.DEBUG && console.log(v.step, \"SHZ[\" + d + \"]\", Q), Q) {\n case 0:\n w = v.tZone;\n break;\n case 1:\n w = v.gZone;\n break;\n default:\n throw new Error(\"Invalid zone\");\n }\n for (var se = z.distance(I, I, !1, !0), oe = w.length - 2, ye = 0; ye < oe; ye++)\n k = w[ye], N.setRelative(k, k, se, z);\n }\n function ln(d, v) {\n var k = v.stack, w = k.pop() / 64, k = k.pop(), I = v.z1[k], N = v.z0[v.rp0], z = v.fv, Q = v.pv;\n z.setRelative(I, N, w, Q), z.touch(I), h.DEBUG && console.log(v.step, \"MSIRP[\" + d + \"]\", w, k), v.rp1 = v.rp0, v.rp2 = k, d && (v.rp0 = k);\n }\n function un(d, v) {\n var w = v.stack, Q = w.pop(), w = w.pop(), k = v.z0[w], I = v.fv, N = v.pv, z = v.cvt[Q], Q = (h.DEBUG && console.log(v.step, \"MIAP[\" + d + \"]\", Q, \"(\", z, \")\", w), N.distance(k, hr));\n d && (Math.abs(Q - z) < v.cvCutIn && (Q = z), Q = v.round(Q)), I.setRelative(k, hr, Q, N), v.zp0 === 0 && (k.xo = k.x, k.yo = k.y), I.touch(k), v.rp0 = v.rp1 = w;\n }\n function cn(d, v) {\n var w = v.stack, k = w.pop(), I = v.z2[k];\n h.DEBUG && console.log(v.step, \"GC[\" + d + \"]\", k), w.push(64 * v.dpv.distance(I, hr, d, !1));\n }\n function dn(d, v) {\n var k = v.stack, w = k.pop(), k = k.pop(), I = v.z1[w], N = v.z0[k], N = v.dpv.distance(N, I, d, d);\n h.DEBUG && console.log(v.step, \"MD[\" + d + \"]\", w, k, \"->\", N), v.stack.push(Math.round(64 * N));\n }\n function kr(d, v) {\n var w = v.stack, k = w.pop(), I = v.fv, N = v.pv, z = v.ppem, Q = v.deltaBase + 16 * (d - 1), se = v.deltaShift, oe = v.z0;\n h.DEBUG && console.log(v.step, \"DELTAP[\" + d + \"]\", k, w);\n for (var ye = 0; ye < k; ye++) {\n var Se = w.pop(), be = w.pop();\n Q + ((240 & be) >> 4) === z && (0 <= (be = (15 & be) - 8) && be++, h.DEBUG && console.log(v.step, \"DELTAPFIX\", Se, \"by\", be * se), Se = oe[Se], I.setRelative(Se, Se, be * se, N));\n }\n }\n function jr(d, v) {\n var w = v.stack, k = w.pop();\n h.DEBUG && console.log(v.step, \"ROUND[]\"), w.push(64 * v.round(k / 64));\n }\n function Cr(d, v) {\n var w = v.stack, k = w.pop(), I = v.ppem, N = v.deltaBase + 16 * (d - 1), z = v.deltaShift;\n h.DEBUG && console.log(v.step, \"DELTAC[\" + d + \"]\", k, w);\n for (var Q = 0; Q < k; Q++) {\n var se = w.pop(), oe = w.pop();\n N + ((240 & oe) >> 4) === I && (0 <= (oe = (15 & oe) - 8) && oe++, oe = oe * z, h.DEBUG && console.log(v.step, \"DELTACFIX\", se, \"by\", oe), v.cvt[se] += oe);\n }\n }\n function hn(d, v) {\n var w, I = v.stack, k = I.pop(), I = I.pop(), N = v.z2[k], z = v.z1[I];\n h.DEBUG && console.log(v.step, \"SDPVTL[\" + d + \"]\", k, I), k = d ? (w = N.y - z.y, z.x - N.x) : (w = z.x - N.x, z.y - N.y), v.dpv = dr(w, k);\n }\n function or(d, v) {\n var w = v.stack, k = v.prog, I = v.ip;\n h.DEBUG && console.log(v.step, \"PUSHB[\" + d + \"]\");\n for (var N = 0; N < d; N++)\n w.push(k[++I]);\n v.ip = I;\n }\n function sr(d, v) {\n var w = v.ip, k = v.prog, I = v.stack;\n h.DEBUG && console.log(v.ip, \"PUSHW[\" + d + \"]\");\n for (var N = 0; N < d; N++) {\n var z = k[++w] << 8 | k[++w];\n 32768 & z && (z = -(1 + (65535 ^ z))), I.push(z);\n }\n v.ip = w;\n }\n function Je(d, v, w, k, I, N) {\n var z, Q, oe = N.stack, se = d && oe.pop(), oe = oe.pop(), ye = N.rp0, ye = N.z0[ye], Se = N.z1[oe], be = N.minDis, de = N.fv, Ie = N.dpv, ke = z = Ie.distance(Se, ye, !0, !0), Pe = 0 <= ke ? 1 : -1;\n ke = Math.abs(ke), d && (Q = N.cvt[se], k && Math.abs(ke - Q) < N.cvCutIn && (ke = Q)), w && ke < be && (ke = be), k && (ke = N.round(ke)), de.setRelative(Se, ye, Pe * ke, Ie), de.touch(Se), h.DEBUG && console.log(N.step, (d ? \"MIRP[\" : \"MDRP[\") + (v ? \"M\" : \"m\") + (w ? \">\" : \"_\") + (k ? \"R\" : \"_\") + (I === 0 ? \"Gr\" : I === 1 ? \"Bl\" : I === 2 ? \"Wh\" : \"\") + \"]\", d ? se + \"(\" + N.cvt[se] + \",\" + Q + \")\" : \"\", oe, \"(d =\", z, \"->\", Pe * ke, \")\"), N.rp1 = N.rp0, N.rp2 = oe, v && (N.rp0 = oe);\n }\n Xr.prototype.exec = function(d, v) {\n if (typeof v != \"number\")\n throw new Error(\"Point size is not a number!\");\n if (!(2 < this._errorState)) {\n var w = this.font, k = this._prepState;\n if (!k || k.ppem !== v) {\n var I = this._fpgmState;\n if (!I) {\n nr.prototype = An, (I = this._fpgmState = new nr(\"fpgm\", w.tables.fpgm)).funcs = [], I.font = w, h.DEBUG && (console.log(\"---EXEC FPGM---\"), I.step = -1);\n try {\n lr(I);\n } catch (oe) {\n return console.log(\"Hinting error in FPGM:\" + oe), void (this._errorState = 3);\n }\n }\n nr.prototype = I, (k = this._prepState = new nr(\"prep\", w.tables.prep)).ppem = v;\n var N = w.tables.cvt;\n if (N)\n for (var z = k.cvt = new Array(N.length), Q = v / w.unitsPerEm, se = 0; se < N.length; se++)\n z[se] = N[se] * Q;\n else\n k.cvt = [];\n h.DEBUG && (console.log(\"---EXEC PREP---\"), k.step = -1);\n try {\n lr(k);\n } catch (oe) {\n this._errorState < 2 && console.log(\"Hinting error in PREP:\" + oe), this._errorState = 2;\n }\n }\n if (!(1 < this._errorState))\n try {\n return Ln(d, k);\n } catch (oe) {\n this._errorState < 1 && (console.log(\"Hinting error:\" + oe), console.log(\"Note: further hinting errors are silenced\")), this._errorState = 1;\n }\n }\n };\n var Ln = function(d, v) {\n var w = v.ppem / v.font.unitsPerEm, k = w, I = d.components;\n if (nr.prototype = v, I) {\n for (var N = v.font, z = [], Q = [], se = 0; se < I.length; se++) {\n var oe = I[se], ye = N.glyphs.get(oe.glyphIndex), Se = new nr(\"glyf\", ye.instructions);\n h.DEBUG && (console.log(\"---EXEC COMP \" + se + \"---\"), Se.step = -1), fn(ye, Se, w, k);\n for (var be = Math.round(oe.dx * w), de = Math.round(oe.dy * k), Ie = Se.gZone, ke = Se.contours, Pe = 0; Pe < Ie.length; Pe++) {\n var Te = Ie[Pe];\n Te.xTouched = Te.yTouched = !1, Te.xo = Te.x = Te.x + be, Te.yo = Te.y = Te.y + de;\n }\n var Ee = z.length;\n z.push.apply(z, Ie);\n for (var $e = 0; $e < ke.length; $e++)\n Q.push(ke[$e] + Ee);\n }\n d.instructions && !Se.inhibitGridFit && ((Se = new nr(\"glyf\", d.instructions)).gZone = Se.z0 = Se.z1 = Se.z2 = z, Se.contours = Q, z.push(new rr(0, 0), new rr(Math.round(d.advanceWidth * w), 0)), h.DEBUG && (console.log(\"---EXEC COMPOSITE---\"), Se.step = -1), lr(Se), z.length -= 2);\n } else\n Se = new nr(\"glyf\", d.instructions), h.DEBUG && (console.log(\"---EXEC GLYPH---\"), Se.step = -1), fn(d, Se, w, k), z = Se.gZone;\n return z;\n }, fn = function(d, v, w, k) {\n for (var I, N, z, Q = d.points || [], se = Q.length, oe = v.gZone = v.z0 = v.z1 = v.z2 = [], ye = v.contours = [], Se = 0; Se < se; Se++)\n I = Q[Se], oe[Se] = new rr(I.x * w, I.y * k, I.lastPointOfContour, I.onCurve);\n for (var be = 0; be < se; be++)\n I = oe[be], N || (N = I, ye.push(be)), I.lastPointOfContour ? ((I.nextPointOnContour = N).prevPointOnContour = I, N = void 0) : (z = oe[be + 1], (I.nextPointOnContour = z).prevPointOnContour = I);\n if (!v.inhibitGridFit) {\n if (h.DEBUG) {\n console.log(\"PROCESSING GLYPH\", v.stack);\n for (var de = 0; de < se; de++)\n console.log(de, oe[de].x, oe[de].y);\n }\n if (oe.push(new rr(0, 0), new rr(Math.round(d.advanceWidth * w), 0)), lr(v), oe.length -= 2, h.DEBUG) {\n console.log(\"FINISHED GLYPH\", v.stack);\n for (var Ie = 0; Ie < se; Ie++)\n console.log(Ie, oe[Ie].x, oe[Ie].y);\n }\n }\n }, lr = function(d) {\n var v = d.prog;\n if (v) {\n var w, k = v.length;\n for (d.ip = 0; d.ip < k; d.ip++) {\n if (h.DEBUG && d.step++, !(w = Rn[v[d.ip]]))\n throw new Error(\"unknown instruction: 0x\" + Number(v[d.ip]).toString(16));\n w(d);\n }\n }\n }, Rn = [Kr.bind(void 0, tr), Kr.bind(void 0, er), Jr.bind(void 0, tr), Jr.bind(void 0, er), $r.bind(void 0, tr), $r.bind(void 0, er), en.bind(void 0, 0), en.bind(void 0, 1), tn.bind(void 0, 0), tn.bind(void 0, 1), function(d) {\n var v = (w = d.stack).pop(), w = w.pop();\n h.DEBUG && console.log(d.step, \"SPVFS[]\", v, w), d.pv = d.dpv = dr(w, v);\n }, function(d) {\n var v = (w = d.stack).pop(), w = w.pop();\n h.DEBUG && console.log(d.step, \"SPVFS[]\", v, w), d.fv = dr(w, v);\n }, function(d) {\n var v = d.stack, w = d.pv;\n h.DEBUG && console.log(d.step, \"GPV[]\"), v.push(16384 * w.x), v.push(16384 * w.y);\n }, function(d) {\n var v = d.stack, w = d.fv;\n h.DEBUG && console.log(d.step, \"GFV[]\"), v.push(16384 * w.x), v.push(16384 * w.y);\n }, function(d) {\n d.fv = d.pv, h.DEBUG && console.log(d.step, \"SFVTPV[]\");\n }, function(v) {\n var w = (z = v.stack).pop(), k = z.pop(), I = z.pop(), N = z.pop(), z = z.pop(), se = v.z0, ye = v.z1, Q = se[w], se = se[k], oe = ye[I], ye = ye[N], v = v.z2[z], w = (h.DEBUG && console.log(\"ISECT[], \", w, k, I, N, z), Q.x), k = Q.y, I = se.x, N = se.y, z = oe.x, Q = oe.y, se = ye.x, oe = ye.y, ye = (w - I) * (Q - oe) - (k - N) * (z - se), Se = w * N - k * I, be = z * oe - Q * se;\n v.x = (Se * (z - se) - be * (w - I)) / ye, v.y = (Se * (Q - oe) - be * (k - N)) / ye;\n }, function(d) {\n d.rp0 = d.stack.pop(), h.DEBUG && console.log(d.step, \"SRP0[]\", d.rp0);\n }, function(d) {\n d.rp1 = d.stack.pop(), h.DEBUG && console.log(d.step, \"SRP1[]\", d.rp1);\n }, function(d) {\n d.rp2 = d.stack.pop(), h.DEBUG && console.log(d.step, \"SRP2[]\", d.rp2);\n }, function(d) {\n var v = d.stack.pop();\n switch (h.DEBUG && console.log(d.step, \"SZP0[]\", v), d.zp0 = v) {\n case 0:\n d.tZone || br(d), d.z0 = d.tZone;\n break;\n case 1:\n d.z0 = d.gZone;\n break;\n default:\n throw new Error(\"Invalid zone pointer\");\n }\n }, function(d) {\n var v = d.stack.pop();\n switch (h.DEBUG && console.log(d.step, \"SZP1[]\", v), d.zp1 = v) {\n case 0:\n d.tZone || br(d), d.z1 = d.tZone;\n break;\n case 1:\n d.z1 = d.gZone;\n break;\n default:\n throw new Error(\"Invalid zone pointer\");\n }\n }, function(d) {\n var v = d.stack.pop();\n switch (h.DEBUG && console.log(d.step, \"SZP2[]\", v), d.zp2 = v) {\n case 0:\n d.tZone || br(d), d.z2 = d.tZone;\n break;\n case 1:\n d.z2 = d.gZone;\n break;\n default:\n throw new Error(\"Invalid zone pointer\");\n }\n }, function(d) {\n var v = d.stack.pop();\n switch (h.DEBUG && console.log(d.step, \"SZPS[]\", v), d.zp0 = d.zp1 = d.zp2 = v) {\n case 0:\n d.tZone || br(d), d.z0 = d.z1 = d.z2 = d.tZone;\n break;\n case 1:\n d.z0 = d.z1 = d.z2 = d.gZone;\n break;\n default:\n throw new Error(\"Invalid zone pointer\");\n }\n }, function(d) {\n d.loop = d.stack.pop(), h.DEBUG && console.log(d.step, \"SLOOP[]\", d.loop);\n }, function(d) {\n h.DEBUG && console.log(d.step, \"RTG[]\"), d.round = Yr;\n }, function(d) {\n h.DEBUG && console.log(d.step, \"RTHG[]\"), d.round = Cn;\n }, function(d) {\n var v = d.stack.pop();\n h.DEBUG && console.log(d.step, \"SMD[]\", v), d.minDis = v / 64;\n }, function(d) {\n h.DEBUG && console.log(d.step, \"ELSE[]\"), Qr(d, !1);\n }, function(d) {\n var v = d.stack.pop();\n h.DEBUG && console.log(d.step, \"JMPR[]\", v), d.ip += v - 1;\n }, function(d) {\n var v = d.stack.pop();\n h.DEBUG && console.log(d.step, \"SCVTCI[]\", v), d.cvCutIn = v / 64;\n }, void 0, void 0, function(d) {\n var v = d.stack;\n h.DEBUG && console.log(d.step, \"DUP[]\"), v.push(v[v.length - 1]);\n }, Mr, function(d) {\n h.DEBUG && console.log(d.step, \"CLEAR[]\"), d.stack.length = 0;\n }, function(d) {\n var v = d.stack, w = v.pop(), k = v.pop();\n h.DEBUG && console.log(d.step, \"SWAP[]\"), v.push(w), v.push(k);\n }, function(d) {\n var v = d.stack;\n h.DEBUG && console.log(d.step, \"DEPTH[]\"), v.push(v.length);\n }, function(d) {\n var v = d.stack, w = v.pop();\n h.DEBUG && console.log(d.step, \"CINDEX[]\", w), v.push(v[v.length - w]);\n }, function(d) {\n var v = d.stack, w = v.pop();\n h.DEBUG && console.log(d.step, \"MINDEX[]\", w), v.push(v.splice(v.length - w, 1)[0]);\n }, void 0, void 0, void 0, function(d) {\n var v = (k = d.stack).pop(), w = k.pop(), k = (h.DEBUG && console.log(d.step, \"LOOPCALL[]\", v, w), d.ip), I = d.prog;\n d.prog = d.funcs[v];\n for (var N = 0; N < w; N++)\n lr(d), h.DEBUG && console.log(++d.step, N + 1 < w ? \"next loopcall\" : \"done loopcall\", N);\n d.ip = k, d.prog = I;\n }, function(d) {\n var v = d.stack.pop(), w = (h.DEBUG && console.log(d.step, \"CALL[]\", v), d.ip), k = d.prog;\n d.prog = d.funcs[v], lr(d), d.ip = w, d.prog = k, h.DEBUG && console.log(++d.step, \"returning from\", v);\n }, function(d) {\n if (d.env !== \"fpgm\")\n throw new Error(\"FDEF not allowed here\");\n var k = d.stack, v = d.prog, w = d.ip, k = k.pop(), I = w;\n for (h.DEBUG && console.log(d.step, \"FDEF[]\", k); v[++w] !== 45; )\n ;\n d.ip = w, d.funcs[k] = v.slice(I + 1, w);\n }, void 0, rn.bind(void 0, 0), rn.bind(void 0, 1), nn.bind(void 0, tr), nn.bind(void 0, er), on.bind(void 0, 0), on.bind(void 0, 1), sn.bind(void 0, 0), sn.bind(void 0, 1), an.bind(void 0, 0), an.bind(void 0, 1), function(d) {\n for (var v = d.stack, w = d.loop, k = d.fv, I = v.pop() / 64, N = d.z2; w--; ) {\n var z = v.pop(), Q = N[z];\n h.DEBUG && console.log(d.step, (1 < d.loop ? \"loop \" + (d.loop - w) + \": \" : \"\") + \"SHPIX[]\", z, I), k.setRelative(Q, Q, I), k.touch(Q);\n }\n d.loop = 1;\n }, function(d) {\n for (var v = d.stack, w = d.rp1, k = d.rp2, I = d.loop, N = d.z0[w], z = d.z1[k], Q = d.fv, se = d.dpv, oe = d.z2; I--; ) {\n var ye = v.pop(), Se = oe[ye];\n h.DEBUG && console.log(d.step, (1 < d.loop ? \"loop \" + (d.loop - I) + \": \" : \"\") + \"IP[]\", ye, w, \"<->\", k), Q.interpolate(Se, N, z, se), Q.touch(Se);\n }\n d.loop = 1;\n }, ln.bind(void 0, 0), ln.bind(void 0, 1), function(d) {\n for (var v = d.stack, w = d.rp0, k = d.z0[w], I = d.loop, N = d.fv, z = d.pv, Q = d.z1; I--; ) {\n var se = v.pop(), oe = Q[se];\n h.DEBUG && console.log(d.step, (1 < d.loop ? \"loop \" + (d.loop - I) + \": \" : \"\") + \"ALIGNRP[]\", se), N.setRelative(oe, k, 0, z), N.touch(oe);\n }\n d.loop = 1;\n }, function(d) {\n h.DEBUG && console.log(d.step, \"RTDG[]\"), d.round = kn;\n }, un.bind(void 0, 0), un.bind(void 0, 1), function(d) {\n var v = d.prog, w = d.ip, k = d.stack, I = v[++w];\n h.DEBUG && console.log(d.step, \"NPUSHB[]\", I);\n for (var N = 0; N < I; N++)\n k.push(v[++w]);\n d.ip = w;\n }, function(d) {\n var v = d.ip, w = d.prog, k = d.stack, I = w[++v];\n h.DEBUG && console.log(d.step, \"NPUSHW[]\", I);\n for (var N = 0; N < I; N++) {\n var z = w[++v] << 8 | w[++v];\n 32768 & z && (z = -(1 + (65535 ^ z))), k.push(z);\n }\n d.ip = v;\n }, function(d) {\n var k = d.stack, v = (v = d.store) || (d.store = []), w = k.pop(), k = k.pop();\n h.DEBUG && console.log(d.step, \"WS\", w, k), v[k] = w;\n }, function(I) {\n var v = I.stack, w = I.store, k = v.pop(), I = (h.DEBUG && console.log(I.step, \"RS\", k), w && w[k] || 0);\n v.push(I);\n }, function(d) {\n var v = (w = d.stack).pop(), w = w.pop();\n h.DEBUG && console.log(d.step, \"WCVTP\", v, w), d.cvt[w] = v / 64;\n }, function(d) {\n var v = d.stack, w = v.pop();\n h.DEBUG && console.log(d.step, \"RCVT\", w), v.push(64 * d.cvt[w]);\n }, cn.bind(void 0, 0), cn.bind(void 0, 1), void 0, dn.bind(void 0, 0), dn.bind(void 0, 1), function(d) {\n h.DEBUG && console.log(d.step, \"MPPEM[]\"), d.stack.push(d.ppem);\n }, void 0, function(d) {\n h.DEBUG && console.log(d.step, \"FLIPON[]\"), d.autoFlip = !0;\n }, void 0, void 0, function(d) {\n var v = d.stack, w = v.pop(), k = v.pop();\n h.DEBUG && console.log(d.step, \"LT[]\", w, k), v.push(k < w ? 1 : 0);\n }, function(d) {\n var v = d.stack, w = v.pop(), k = v.pop();\n h.DEBUG && console.log(d.step, \"LTEQ[]\", w, k), v.push(k <= w ? 1 : 0);\n }, function(d) {\n var v = d.stack, w = v.pop(), k = v.pop();\n h.DEBUG && console.log(d.step, \"GT[]\", w, k), v.push(w < k ? 1 : 0);\n }, function(d) {\n var v = d.stack, w = v.pop(), k = v.pop();\n h.DEBUG && console.log(d.step, \"GTEQ[]\", w, k), v.push(w <= k ? 1 : 0);\n }, function(d) {\n var v = d.stack, w = v.pop(), k = v.pop();\n h.DEBUG && console.log(d.step, \"EQ[]\", w, k), v.push(w === k ? 1 : 0);\n }, function(d) {\n var v = d.stack, w = v.pop(), k = v.pop();\n h.DEBUG && console.log(d.step, \"NEQ[]\", w, k), v.push(w !== k ? 1 : 0);\n }, function(d) {\n var v = d.stack, w = v.pop();\n h.DEBUG && console.log(d.step, \"ODD[]\", w), v.push(Math.trunc(w) % 2 ? 1 : 0);\n }, function(d) {\n var v = d.stack, w = v.pop();\n h.DEBUG && console.log(d.step, \"EVEN[]\", w), v.push(Math.trunc(w) % 2 ? 0 : 1);\n }, function(d) {\n var v = d.stack.pop();\n h.DEBUG && console.log(d.step, \"IF[]\", v), v || (Qr(d, !0), h.DEBUG && console.log(d.step, \"EIF[]\"));\n }, function(d) {\n h.DEBUG && console.log(d.step, \"EIF[]\");\n }, function(d) {\n var v = d.stack, w = v.pop(), k = v.pop();\n h.DEBUG && console.log(d.step, \"AND[]\", w, k), v.push(w && k ? 1 : 0);\n }, function(d) {\n var v = d.stack, w = v.pop(), k = v.pop();\n h.DEBUG && console.log(d.step, \"OR[]\", w, k), v.push(w || k ? 1 : 0);\n }, function(d) {\n var v = d.stack, w = v.pop();\n h.DEBUG && console.log(d.step, \"NOT[]\", w), v.push(w ? 0 : 1);\n }, kr.bind(void 0, 1), function(d) {\n var v = d.stack.pop();\n h.DEBUG && console.log(d.step, \"SDB[]\", v), d.deltaBase = v;\n }, function(d) {\n var v = d.stack.pop();\n h.DEBUG && console.log(d.step, \"SDS[]\", v), d.deltaShift = Math.pow(0.5, v);\n }, function(d) {\n var v = d.stack, w = v.pop(), k = v.pop();\n h.DEBUG && console.log(d.step, \"ADD[]\", w, k), v.push(k + w);\n }, function(d) {\n var v = d.stack, w = v.pop(), k = v.pop();\n h.DEBUG && console.log(d.step, \"SUB[]\", w, k), v.push(k - w);\n }, function(d) {\n var v = d.stack, w = v.pop(), k = v.pop();\n h.DEBUG && console.log(d.step, \"DIV[]\", w, k), v.push(64 * k / w);\n }, function(d) {\n var v = d.stack, w = v.pop(), k = v.pop();\n h.DEBUG && console.log(d.step, \"MUL[]\", w, k), v.push(k * w / 64);\n }, function(d) {\n var v = d.stack, w = v.pop();\n h.DEBUG && console.log(d.step, \"ABS[]\", w), v.push(Math.abs(w));\n }, function(d) {\n var v = d.stack, w = v.pop();\n h.DEBUG && console.log(d.step, \"NEG[]\", w), v.push(-w);\n }, function(d) {\n var v = d.stack, w = v.pop();\n h.DEBUG && console.log(d.step, \"FLOOR[]\", w), v.push(64 * Math.floor(w / 64));\n }, function(d) {\n var v = d.stack, w = v.pop();\n h.DEBUG && console.log(d.step, \"CEILING[]\", w), v.push(64 * Math.ceil(w / 64));\n }, jr.bind(void 0, 0), jr.bind(void 0, 1), jr.bind(void 0, 2), jr.bind(void 0, 3), void 0, void 0, void 0, void 0, function(d) {\n var v = (w = d.stack).pop(), w = w.pop();\n h.DEBUG && console.log(d.step, \"WCVTF[]\", v, w), d.cvt[w] = v * d.ppem / d.font.unitsPerEm;\n }, kr.bind(void 0, 2), kr.bind(void 0, 3), Cr.bind(void 0, 1), Cr.bind(void 0, 2), Cr.bind(void 0, 3), function(d) {\n var v, w = d.stack.pop();\n switch (h.DEBUG && console.log(d.step, \"SROUND[]\", w), d.round = Zr, 192 & w) {\n case 0:\n v = 0.5;\n break;\n case 64:\n v = 1;\n break;\n case 128:\n v = 2;\n break;\n default:\n throw new Error(\"invalid SROUND value\");\n }\n switch (d.srPeriod = v, 48 & w) {\n case 0:\n d.srPhase = 0;\n break;\n case 16:\n d.srPhase = 0.25 * v;\n break;\n case 32:\n d.srPhase = 0.5 * v;\n break;\n case 48:\n d.srPhase = 0.75 * v;\n break;\n default:\n throw new Error(\"invalid SROUND value\");\n }\n d.srThreshold = (w &= 15) === 0 ? 0 : (w / 8 - 0.5) * v;\n }, function(d) {\n var v, w = d.stack.pop();\n switch (h.DEBUG && console.log(d.step, \"S45ROUND[]\", w), d.round = Zr, 192 & w) {\n case 0:\n v = Math.sqrt(2) / 2;\n break;\n case 64:\n v = Math.sqrt(2);\n break;\n case 128:\n v = 2 * Math.sqrt(2);\n break;\n default:\n throw new Error(\"invalid S45ROUND value\");\n }\n switch (d.srPeriod = v, 48 & w) {\n case 0:\n d.srPhase = 0;\n break;\n case 16:\n d.srPhase = 0.25 * v;\n break;\n case 32:\n d.srPhase = 0.5 * v;\n break;\n case 48:\n d.srPhase = 0.75 * v;\n break;\n default:\n throw new Error(\"invalid S45ROUND value\");\n }\n d.srThreshold = (w &= 15) === 0 ? 0 : (w / 8 - 0.5) * v;\n }, void 0, void 0, function(d) {\n h.DEBUG && console.log(d.step, \"ROFF[]\"), d.round = Mn;\n }, void 0, function(d) {\n h.DEBUG && console.log(d.step, \"RUTG[]\"), d.round = On;\n }, function(d) {\n h.DEBUG && console.log(d.step, \"RDTG[]\"), d.round = Pn;\n }, Mr, Mr, void 0, void 0, void 0, void 0, void 0, function(d) {\n var v = d.stack.pop();\n h.DEBUG && console.log(d.step, \"SCANCTRL[]\", v);\n }, hn.bind(void 0, 0), hn.bind(void 0, 1), function(d) {\n var v = d.stack, w = v.pop(), k = 0;\n h.DEBUG && console.log(d.step, \"GETINFO[]\", w), 1 & w && (k = 35), 32 & w && (k |= 4096), v.push(k);\n }, void 0, function(d) {\n var v = d.stack, w = v.pop(), k = v.pop(), I = v.pop();\n h.DEBUG && console.log(d.step, \"ROLL[]\"), v.push(k), v.push(w), v.push(I);\n }, function(d) {\n var v = d.stack, w = v.pop(), k = v.pop();\n h.DEBUG && console.log(d.step, \"MAX[]\", w, k), v.push(Math.max(k, w));\n }, function(d) {\n var v = d.stack, w = v.pop(), k = v.pop();\n h.DEBUG && console.log(d.step, \"MIN[]\", w, k), v.push(Math.min(k, w));\n }, function(d) {\n var v = d.stack.pop();\n h.DEBUG && console.log(d.step, \"SCANTYPE[]\", v);\n }, function(d) {\n var v = d.stack.pop(), w = d.stack.pop();\n switch (h.DEBUG && console.log(d.step, \"INSTCTRL[]\", v, w), v) {\n case 1:\n return void (d.inhibitGridFit = !!w);\n case 2:\n return void (d.ignoreCvt = !!w);\n default:\n throw new Error(\"invalid INSTCTRL[] selector\");\n }\n }, void 0, void 0, void 0, void 0, void 0, void 0, void 0, void 0, void 0, void 0, void 0, void 0, void 0, void 0, void 0, void 0, void 0, void 0, void 0, void 0, void 0, void 0, void 0, void 0, void 0, void 0, void 0, void 0, void 0, void 0, void 0, void 0, void 0, or.bind(void 0, 1), or.bind(void 0, 2), or.bind(void 0, 3), or.bind(void 0, 4), or.bind(void 0, 5), or.bind(void 0, 6), or.bind(void 0, 7), or.bind(void 0, 8), sr.bind(void 0, 1), sr.bind(void 0, 2), sr.bind(void 0, 3), sr.bind(void 0, 4), sr.bind(void 0, 5), sr.bind(void 0, 6), sr.bind(void 0, 7), sr.bind(void 0, 8), Je.bind(void 0, 0, 0, 0, 0, 0), Je.bind(void 0, 0, 0, 0, 0, 1), Je.bind(void 0, 0, 0, 0, 0, 2), Je.bind(void 0, 0, 0, 0, 0, 3), Je.bind(void 0, 0, 0, 0, 1, 0), Je.bind(void 0, 0, 0, 0, 1, 1), Je.bind(void 0, 0, 0, 0, 1, 2), Je.bind(void 0, 0, 0, 0, 1, 3), Je.bind(void 0, 0, 0, 1, 0, 0), Je.bind(void 0, 0, 0, 1, 0, 1), Je.bind(void 0, 0, 0, 1, 0, 2), Je.bind(void 0, 0, 0, 1, 0, 3), Je.bind(void 0, 0, 0, 1, 1, 0), Je.bind(void 0, 0, 0, 1, 1, 1), Je.bind(void 0, 0, 0, 1, 1, 2), Je.bind(void 0, 0, 0, 1, 1, 3), Je.bind(void 0, 0, 1, 0, 0, 0), Je.bind(void 0, 0, 1, 0, 0, 1), Je.bind(void 0, 0, 1, 0, 0, 2), Je.bind(void 0, 0, 1, 0, 0, 3), Je.bind(void 0, 0, 1, 0, 1, 0), Je.bind(void 0, 0, 1, 0, 1, 1), Je.bind(void 0, 0, 1, 0, 1, 2), Je.bind(void 0, 0, 1, 0, 1, 3), Je.bind(void 0, 0, 1, 1, 0, 0), Je.bind(void 0, 0, 1, 1, 0, 1), Je.bind(void 0, 0, 1, 1, 0, 2), Je.bind(void 0, 0, 1, 1, 0, 3), Je.bind(void 0, 0, 1, 1, 1, 0), Je.bind(void 0, 0, 1, 1, 1, 1), Je.bind(void 0, 0, 1, 1, 1, 2), Je.bind(void 0, 0, 1, 1, 1, 3), Je.bind(void 0, 1, 0, 0, 0, 0), Je.bind(void 0, 1, 0, 0, 0, 1), Je.bind(void 0, 1, 0, 0, 0, 2), Je.bind(void 0, 1, 0, 0, 0, 3), Je.bind(void 0, 1, 0, 0, 1, 0), Je.bind(void 0, 1, 0, 0, 1, 1), Je.bind(void 0, 1, 0, 0, 1, 2), Je.bind(void 0, 1, 0, 0, 1, 3), Je.bind(void 0, 1, 0, 1, 0, 0), Je.bind(void 0, 1, 0, 1, 0, 1), Je.bind(void 0, 1, 0, 1, 0, 2), Je.bind(void 0, 1, 0, 1, 0, 3), Je.bind(void 0, 1, 0, 1, 1, 0), Je.bind(void 0, 1, 0, 1, 1, 1), Je.bind(void 0, 1, 0, 1, 1, 2), Je.bind(void 0, 1, 0, 1, 1, 3), Je.bind(void 0, 1, 1, 0, 0, 0), Je.bind(void 0, 1, 1, 0, 0, 1), Je.bind(void 0, 1, 1, 0, 0, 2), Je.bind(void 0, 1, 1, 0, 0, 3), Je.bind(void 0, 1, 1, 0, 1, 0), Je.bind(void 0, 1, 1, 0, 1, 1), Je.bind(void 0, 1, 1, 0, 1, 2), Je.bind(void 0, 1, 1, 0, 1, 3), Je.bind(void 0, 1, 1, 1, 0, 0), Je.bind(void 0, 1, 1, 1, 0, 1), Je.bind(void 0, 1, 1, 1, 0, 2), Je.bind(void 0, 1, 1, 1, 0, 3), Je.bind(void 0, 1, 1, 1, 1, 0), Je.bind(void 0, 1, 1, 1, 1, 1), Je.bind(void 0, 1, 1, 1, 1, 2), Je.bind(void 0, 1, 1, 1, 1, 3)], In = Array.from || function(d) {\n return d.match(/[\\uD800-\\uDBFF][\\uDC00-\\uDFFF]?|[^\\uD800-\\uDFFF]|./g) || [];\n };\n function _t(d) {\n (d = d || {}).empty || (ir(d.familyName, \"When creating a new Font object, familyName is required.\"), ir(d.styleName, \"When creating a new Font object, styleName is required.\"), ir(d.unitsPerEm, \"When creating a new Font object, unitsPerEm is required.\"), ir(d.ascender, \"When creating a new Font object, ascender is required.\"), ir(d.descender, \"When creating a new Font object, descender is required.\"), ir(d.descender < 0, \"Descender should be negative (e.g. -512).\"), this.names = { fontFamily: { en: d.familyName || \" \" }, fontSubfamily: { en: d.styleName || \" \" }, fullName: { en: d.fullName || d.familyName + \" \" + d.styleName }, postScriptName: { en: d.postScriptName || (d.familyName + d.styleName).replace(/\\s/g, \"\") }, designer: { en: d.designer || \" \" }, designerURL: { en: d.designerURL || \" \" }, manufacturer: { en: d.manufacturer || \" \" }, manufacturerURL: { en: d.manufacturerURL || \" \" }, license: { en: d.license || \" \" }, licenseURL: { en: d.licenseURL || \" \" }, version: { en: d.version || \"Version 0.1\" }, description: { en: d.description || \" \" }, copyright: { en: d.copyright || \" \" }, trademark: { en: d.trademark || \" \" } }, this.unitsPerEm = d.unitsPerEm || 1e3, this.ascender = d.ascender, this.descender = d.descender, this.createdTimestamp = d.createdTimestamp, this.tables = { os2: { usWeightClass: d.weightClass || this.usWeightClasses.MEDIUM, usWidthClass: d.widthClass || this.usWidthClasses.MEDIUM, fsSelection: d.fsSelection || this.fsSelectionValues.REGULAR } }), this.supported = !0, this.glyphs = new Ke.GlyphSet(this, d.glyphs || []), this.encoding = new je(this), this.position = new vr(this), this.substitution = new $t(this), this.tables = this.tables || {}, Object.defineProperty(this, \"hinting\", { get: function() {\n return this._hinting || (this.outlinesFormat === \"truetype\" ? this._hinting = new Xr(this) : void 0);\n } });\n }\n function pn(d, v) {\n var w, k = JSON.stringify(d), I = 256;\n for (w in v) {\n var N = parseInt(w);\n if (N && !(N < 256)) {\n if (JSON.stringify(v[w]) === k)\n return N;\n I <= N && (I = N + 1);\n }\n }\n return v[I] = d, I;\n }\n _t.prototype.hasChar = function(d) {\n return this.encoding.charToGlyphIndex(d) !== null;\n }, _t.prototype.charToGlyphIndex = function(d) {\n return this.encoding.charToGlyphIndex(d);\n }, _t.prototype.charToGlyph = function(d) {\n return d = this.charToGlyphIndex(d), this.glyphs.get(d) || this.glyphs.get(0);\n }, _t.prototype.stringToGlyphs = function(d, v) {\n v = v || this.defaultRenderOptions;\n for (var w = In(d), k = [], I = 0; I < w.length; I += 1) {\n var N = w[I];\n k.push(this.charToGlyphIndex(N));\n }\n var z = k.length;\n if (v.features) {\n var d = v.script || this.substitution.getDefaultScriptName(), Q = [];\n v.features.liga && (Q = Q.concat(this.substitution.getFeature(\"liga\", d, v.language))), v.features.rlig && (Q = Q.concat(this.substitution.getFeature(\"rlig\", d, v.language)));\n for (var se = 0; se < z; se += 1)\n for (var oe = 0; oe < Q.length; oe++) {\n for (var ye = Q[oe], Se = ye.sub, be = Se.length, de = 0; de < be && Se[de] === k[se + de]; )\n de++;\n de === be && (k.splice(se, be, ye.by), z = z - be + 1);\n }\n }\n for (var Ie = new Array(z), ke = this.glyphs.get(0), Pe = 0; Pe < z; Pe += 1)\n Ie[Pe] = this.glyphs.get(k[Pe]) || ke;\n return Ie;\n }, _t.prototype.nameToGlyphIndex = function(d) {\n return this.glyphNames.nameToGlyphIndex(d);\n }, _t.prototype.nameToGlyph = function(d) {\n return d = this.nameToGlyphIndex(d), this.glyphs.get(d) || this.glyphs.get(0);\n }, _t.prototype.glyphIndexToName = function(d) {\n return this.glyphNames.glyphIndexToName ? this.glyphNames.glyphIndexToName(d) : \"\";\n }, _t.prototype.getKerningValue = function(d, v) {\n d = d.index || d, v = v.index || v;\n var w = this.position.defaultKerningTables;\n return w ? this.position.getKerningValue(w, d, v) : this.kerningPairs[d + \",\" + v] || 0;\n }, _t.prototype.defaultRenderOptions = { kerning: !0, features: { liga: !0, rlig: !0 } }, _t.prototype.forEachGlyph = function(d, v, w, k, I, N) {\n v = v !== void 0 ? v : 0, w = w !== void 0 ? w : 0, I = I || this.defaultRenderOptions;\n var z, Q = 1 / this.unitsPerEm * (k = k !== void 0 ? k : 72), se = this.stringToGlyphs(d, I);\n I.kerning && (d = I.script || this.position.getDefaultScriptName(), z = this.position.getKerningTables(d, I.language));\n for (var oe = 0; oe < se.length; oe += 1) {\n var ye = se[oe];\n N.call(this, ye, v, w, k, I), ye.advanceWidth && (v += ye.advanceWidth * Q), I.kerning && oe < se.length - 1 && (v += (z ? this.position.getKerningValue(z, ye.index, se[oe + 1].index) : this.getKerningValue(ye, se[oe + 1])) * Q), I.letterSpacing ? v += I.letterSpacing * k : I.tracking && (v += I.tracking / 1e3 * k);\n }\n return v;\n }, _t.prototype.getPath = function(d, v, w, k, I) {\n var N = new X();\n return this.forEachGlyph(d, v, w, k, I, function(z, Q, se, oe) {\n z = z.getPath(Q, se, oe, I, this), N.extend(z);\n }), N;\n }, _t.prototype.getPaths = function(d, v, w, k, I) {\n var N = [];\n return this.forEachGlyph(d, v, w, k, I, function(z, Q, se, oe) {\n z = z.getPath(Q, se, oe, I, this), N.push(z);\n }), N;\n }, _t.prototype.getAdvanceWidth = function(d, v, w) {\n return this.forEachGlyph(d, 0, 0, v, w, function() {\n });\n }, _t.prototype.draw = function(d, v, w, k, I, N) {\n this.getPath(v, w, k, I, N).draw(d);\n }, _t.prototype.drawPoints = function(d, v, w, k, I, N) {\n this.forEachGlyph(v, w, k, I, N, function(z, Q, se, oe) {\n z.drawPoints(d, Q, se, oe);\n });\n }, _t.prototype.drawMetrics = function(d, v, w, k, I, N) {\n this.forEachGlyph(v, w, k, I, N, function(z, Q, se, oe) {\n z.drawMetrics(d, Q, se, oe);\n });\n }, _t.prototype.getEnglishName = function(d) {\n if (d = this.names[d], d)\n return d.en;\n }, _t.prototype.validate = function() {\n var d = this;\n function v(w) {\n w = d.getEnglishName(w), w && w.trim().length;\n }\n v(\"fontFamily\"), v(\"weightName\"), v(\"manufacturer\"), v(\"copyright\"), v(\"version\"), this.unitsPerEm;\n }, _t.prototype.toTables = function() {\n return Sn.fontToTable(this);\n }, _t.prototype.toBuffer = function() {\n return console.warn(\"Font.toBuffer is deprecated. Use Font.toArrayBuffer instead.\"), this.toArrayBuffer();\n }, _t.prototype.toArrayBuffer = function() {\n for (var d = this.toTables().encode(), v = new ArrayBuffer(d.length), w = new Uint8Array(v), k = 0; k < d.length; k++)\n w[k] = d[k];\n return v;\n }, _t.prototype.download = function(d) {\n var v = this.getEnglishName(\"fontFamily\"), w = this.getEnglishName(\"fontSubfamily\"), k = (d = d || v.replace(/\\s/g, \"\") + \"-\" + w + \".otf\", this.toArrayBuffer());\n typeof window < \"u\" ? (window.requestFileSystem = window.requestFileSystem || window.webkitRequestFileSystem, window.requestFileSystem(window.TEMPORARY, k.byteLength, function(I) {\n I.root.getFile(d, { create: !0 }, function(N) {\n N.createWriter(function(z) {\n var Q = new DataView(k), Q = new Blob([Q], { type: \"font/opentype\" });\n z.write(Q), z.addEventListener(\"writeend\", function() {\n location.href = N.toURL();\n }, !1);\n });\n });\n }, function(I) {\n throw new Error(I.name + \": \" + I.message);\n })) : (v = t(\"fs\"), w = function(I) {\n for (var N = new m(I.byteLength), z = new Uint8Array(I), Q = 0; Q < N.length; ++Q)\n N[Q] = z[Q];\n return N;\n }(k), v.writeFileSync(d, w));\n }, _t.prototype.fsSelectionValues = { ITALIC: 1, UNDERSCORE: 2, NEGATIVE: 4, OUTLINED: 8, STRIKEOUT: 16, BOLD: 32, REGULAR: 64, USER_TYPO_METRICS: 128, WWS: 256, OBLIQUE: 512 }, _t.prototype.usWidthClasses = { ULTRA_CONDENSED: 1, EXTRA_CONDENSED: 2, CONDENSED: 3, SEMI_CONDENSED: 4, MEDIUM: 5, SEMI_EXPANDED: 6, EXPANDED: 7, EXTRA_EXPANDED: 8, ULTRA_EXPANDED: 9 }, _t.prototype.usWeightClasses = { THIN: 100, EXTRA_LIGHT: 200, LIGHT: 300, NORMAL: 400, MEDIUM: 500, SEMI_BOLD: 600, BOLD: 700, EXTRA_BOLD: 800, BLACK: 900 };\n var Dn = { make: function(d, v) {\n var w = new Me.Table(\"fvar\", [{ name: \"version\", type: \"ULONG\", value: 65536 }, { name: \"offsetToData\", type: \"USHORT\", value: 0 }, { name: \"countSizePairs\", type: \"USHORT\", value: 2 }, { name: \"axisCount\", type: \"USHORT\", value: d.axes.length }, { name: \"axisSize\", type: \"USHORT\", value: 20 }, { name: \"instanceCount\", type: \"USHORT\", value: d.instances.length }, { name: \"instanceSize\", type: \"USHORT\", value: 4 + 4 * d.axes.length }]);\n w.offsetToData = w.sizeOf();\n for (var k, I, N, z = 0; z < d.axes.length; z++)\n w.fields = w.fields.concat((k = z, I = d.axes[z], N = v, N = pn(I.name, v), [{ name: \"tag_\" + k, type: \"TAG\", value: I.tag }, { name: \"minValue_\" + k, type: \"FIXED\", value: I.minValue << 16 }, { name: \"defaultValue_\" + k, type: \"FIXED\", value: I.defaultValue << 16 }, { name: \"maxValue_\" + k, type: \"FIXED\", value: I.maxValue << 16 }, { name: \"flags_\" + k, type: \"USHORT\", value: 0 }, { name: \"nameID_\" + k, type: \"USHORT\", value: N }]));\n for (var Q = 0; Q < d.instances.length; Q++)\n w.fields = w.fields.concat(function(se, oe, ye, Se) {\n for (var be = [{ name: \"nameID_\" + se, type: \"USHORT\", value: pn(oe.name, Se) }, { name: \"flags_\" + se, type: \"USHORT\", value: 0 }], de = 0; de < ye.length; ++de) {\n var Ie = ye[de].tag;\n be.push({ name: \"axis_\" + se + \" \" + Ie, type: \"FIXED\", value: oe.coordinates[Ie] << 16 });\n }\n return be;\n }(Q, d.instances[Q], d.axes, v));\n return w;\n }, parse: function(d, v, w) {\n for (var k, I, N, z, Q = new we.Parser(d, v), se = Q.parseULong(), oe = (O.argument(se === 65536, \"Unsupported fvar table version.\"), Q.parseOffset16()), ye = (Q.skip(\"uShort\", 1), Q.parseUShort()), Se = Q.parseUShort(), be = Q.parseUShort(), de = Q.parseUShort(), Ie = [], ke = 0; ke < ye; ke++)\n Ie.push((k = d, I = v + oe + ke * Se, N = w, z = {}, k = new we.Parser(k, I), z.tag = k.parseTag(), z.minValue = k.parseFixed(), z.defaultValue = k.parseFixed(), z.maxValue = k.parseFixed(), k.skip(\"uShort\", 1), z.name = N[k.parseUShort()] || {}, z));\n for (var Pe = [], Te = v + oe + ye * Se, Ee = 0; Ee < be; Ee++)\n Pe.push(function($e, lt, et, tt) {\n var dt = {}, wt = new we.Parser($e, lt);\n dt.name = tt[wt.parseUShort()] || {}, wt.skip(\"uShort\", 1), dt.coordinates = {};\n for (var Ot = 0; Ot < et.length; ++Ot)\n dt.coordinates[et[Ot].tag] = wt.parseFixed();\n return dt;\n }(d, Te + Ee * de, Ie, w));\n return { axes: Ie, instances: Pe };\n } }, Zt = new Array(10);\n Zt[1] = function() {\n var d = this.offset + this.relativeOffset, v = this.parseUShort();\n return v === 1 ? { posFormat: 1, coverage: this.parsePointer(ve.coverage), value: this.parseValueRecord() } : v === 2 ? { posFormat: 2, coverage: this.parsePointer(ve.coverage), values: this.parseValueRecordList() } : void O.assert(!1, \"0x\" + d.toString(16) + \": GPOS lookup type 1 format must be 1 or 2.\");\n }, Zt[2] = function() {\n var d, v, w, k, N = this.offset + this.relativeOffset, I = this.parseUShort(), N = (O.assert(I === 1 || I === 2, \"0x\" + N.toString(16) + \": GPOS lookup type 2 format must be 1 or 2.\"), this.parsePointer(ve.coverage)), z = this.parseUShort(), Q = this.parseUShort();\n return I === 1 ? { posFormat: I, coverage: N, valueFormat1: z, valueFormat2: Q, pairSets: this.parseList(ve.pointer(ve.list(function() {\n return { secondGlyph: this.parseUShort(), value1: this.parseValueRecord(z), value2: this.parseValueRecord(Q) };\n }))) } : I === 2 ? (d = this.parsePointer(ve.classDef), v = this.parsePointer(ve.classDef), w = this.parseUShort(), k = this.parseUShort(), { posFormat: I, coverage: N, valueFormat1: z, valueFormat2: Q, classDef1: d, classDef2: v, class1Count: w, class2Count: k, classRecords: this.parseList(w, ve.list(k, function() {\n return { value1: this.parseValueRecord(z), value2: this.parseValueRecord(Q) };\n })) }) : void 0;\n }, Zt[3] = function() {\n return { error: \"GPOS Lookup 3 not supported\" };\n }, Zt[4] = function() {\n return { error: \"GPOS Lookup 4 not supported\" };\n }, Zt[5] = function() {\n return { error: \"GPOS Lookup 5 not supported\" };\n }, Zt[6] = function() {\n return { error: \"GPOS Lookup 6 not supported\" };\n }, Zt[7] = function() {\n return { error: \"GPOS Lookup 7 not supported\" };\n }, Zt[8] = function() {\n return { error: \"GPOS Lookup 8 not supported\" };\n }, Zt[9] = function() {\n return { error: \"GPOS Lookup 9 not supported\" };\n };\n var Fn = new Array(10), Un = { parse: function(d, v) {\n return v = (d = new ve(d, v = v || 0)).parseVersion(1), O.argument(v === 1 || v === 1.1, \"Unsupported GPOS table version \" + v), v === 1 ? { version: v, scripts: d.parseScriptList(), features: d.parseFeatureList(), lookups: d.parseLookupList(Zt) } : { version: v, scripts: d.parseScriptList(), features: d.parseFeatureList(), lookups: d.parseLookupList(Zt), variations: d.parseFeatureVariationsList() };\n }, make: function(d) {\n return new Me.Table(\"GPOS\", [{ name: \"version\", type: \"ULONG\", value: 65536 }, { name: \"scripts\", type: \"TABLE\", value: new Me.ScriptList(d.scripts) }, { name: \"features\", type: \"TABLE\", value: new Me.FeatureList(d.features) }, { name: \"lookups\", type: \"TABLE\", value: new Me.LookupList(d.lookups, Fn) }]);\n } }, Nn = { parse: function(d, v) {\n if (d = new we.Parser(d, v), (v = d.parseUShort()) === 0) {\n var w = d, k = {}, Se = (w.skip(\"uShort\"), w.parseUShort()), I = (O.argument(Se === 0, \"Unsupported kern sub-table version.\"), w.skip(\"uShort\", 2), w.parseUShort());\n w.skip(\"uShort\", 3);\n for (var N = 0; N < I; N += 1) {\n var z = w.parseUShort(), Q = w.parseUShort(), se = w.parseShort();\n k[z + \",\" + Q] = se;\n }\n return k;\n }\n if (v !== 1)\n throw new Error(\"Unsupported kern table version (\" + v + \").\");\n var oe = d, ye = {}, Se = (oe.skip(\"uShort\"), 1 < oe.parseULong() && console.warn(\"Only the first kern subtable is supported.\"), oe.skip(\"uLong\"), 255 & oe.parseUShort());\n if (oe.skip(\"uShort\"), Se == 0) {\n var be = oe.parseUShort();\n oe.skip(\"uShort\", 3);\n for (var de = 0; de < be; de += 1) {\n var Ie = oe.parseUShort(), ke = oe.parseUShort(), Pe = oe.parseShort();\n ye[Ie + \",\" + ke] = Pe;\n }\n }\n return ye;\n } }, Bn = { parse: function(d, v, w, k) {\n for (var I = new we.Parser(d, v), N = k ? I.parseUShort : I.parseULong, z = [], Q = 0; Q < w + 1; Q += 1) {\n var se = N.call(I);\n k && (se *= 2), z.push(se);\n }\n return z;\n } };\n function Gn(d, v) {\n t(\"fs\").readFile(d, function(w, k) {\n if (w)\n return v(w.message);\n v(null, zr(k));\n });\n }\n function Vn(d, v) {\n var w = new XMLHttpRequest();\n w.open(\"get\", d, !0), w.responseType = \"arraybuffer\", w.onload = function() {\n return w.response ? v(null, w.response) : v(\"Font could not be loaded: \" + w.statusText);\n }, w.onerror = function() {\n v(\"Font could not be loaded\");\n }, w.send();\n }\n function mn(d, v) {\n for (var w = [], k = 12, I = 0; I < v; I += 1) {\n var N = we.getTag(d, k), z = we.getULong(d, k + 4), Q = we.getULong(d, k + 8), se = we.getULong(d, k + 12);\n w.push({ tag: N, checksum: z, offset: Q, length: se, compression: !1 }), k += 16;\n }\n return w;\n }\n function Lt(w, v) {\n if (v.compression !== \"WOFF\")\n return { data: w, offset: v.offset };\n var w = new Uint8Array(w.buffer, v.offset + 2, v.compressedLength - 2), k = new Uint8Array(v.length);\n if (G(w, k), k.byteLength !== v.length)\n throw new Error(\"Decompression error: \" + v.tag + \" decompressed length doesn't match recorded length\");\n return { data: new DataView(k.buffer, 0), offset: 0 };\n }\n function Or(Ee) {\n var v, w, k, I, N, z, Q, se, oe, ye, Se, be, de, Ie, ke = new _t({ empty: !0 }), Pe = new DataView(Ee, 0), Te = [], Ee = we.getTag(Pe, 0);\n if (Ee === \"\\0\u0001\\0\\0\" || Ee === \"true\" || Ee === \"typ1\")\n ke.outlinesFormat = \"truetype\", Te = mn(Pe, k = we.getUShort(Pe, 4));\n else if (Ee === \"OTTO\")\n ke.outlinesFormat = \"cff\", Te = mn(Pe, k = we.getUShort(Pe, 4));\n else {\n if (Ee !== \"wOFF\")\n throw new Error(\"Unsupported OpenType signature \" + Ee);\n var $e = we.getTag(Pe, 4);\n if ($e === \"\\0\u0001\\0\\0\")\n ke.outlinesFormat = \"truetype\";\n else {\n if ($e !== \"OTTO\")\n throw new Error(\"Unsupported OpenType flavor \" + Ee);\n ke.outlinesFormat = \"cff\";\n }\n Te = function(St, vt) {\n for (var qt = [], kt = 44, zt = 0; zt < vt; zt += 1) {\n var Tt = we.getTag(St, kt), Gt = we.getULong(St, kt + 4), fr = we.getULong(St, kt + 8), ur = we.getULong(St, kt + 12), yn = void 0, yn = fr < ur && \"WOFF\";\n qt.push({ tag: Tt, offset: Gt, compression: yn, compressedLength: fr, length: ur }), kt += 20;\n }\n return qt;\n }(Pe, k = we.getUShort(Pe, 12));\n }\n for (var lt = 0; lt < k; lt += 1) {\n var et = Te[lt], tt = void 0;\n switch (et.tag) {\n case \"cmap\":\n tt = Lt(Pe, et), ke.tables.cmap = Z.parse(tt.data, tt.offset), ke.encoding = new Ce(ke.tables.cmap);\n break;\n case \"cvt \":\n tt = Lt(Pe, et), Ie = new we.Parser(tt.data, tt.offset), ke.tables.cvt = Ie.parseShortList(et.length / 2);\n break;\n case \"fvar\":\n N = et;\n break;\n case \"fpgm\":\n tt = Lt(Pe, et), Ie = new we.Parser(tt.data, tt.offset), ke.tables.fpgm = Ie.parseByteList(et.length);\n break;\n case \"head\":\n tt = Lt(Pe, et), ke.tables.head = pt.parse(tt.data, tt.offset), ke.unitsPerEm = ke.tables.head.unitsPerEm, v = ke.tables.head.indexToLocFormat;\n break;\n case \"hhea\":\n tt = Lt(Pe, et), ke.tables.hhea = ie.parse(tt.data, tt.offset), ke.ascender = ke.tables.hhea.ascender, ke.descender = ke.tables.hhea.descender, ke.numberOfHMetrics = ke.tables.hhea.numberOfHMetrics;\n break;\n case \"hmtx\":\n oe = et;\n break;\n case \"ltag\":\n tt = Lt(Pe, et), w = Ge.parse(tt.data, tt.offset);\n break;\n case \"maxp\":\n tt = Lt(Pe, et), ke.tables.maxp = Le.parse(tt.data, tt.offset), ke.numGlyphs = ke.tables.maxp.numGlyphs;\n break;\n case \"name\":\n be = et;\n break;\n case \"OS/2\":\n tt = Lt(Pe, et), ke.tables.os2 = Bt.parse(tt.data, tt.offset);\n break;\n case \"post\":\n tt = Lt(Pe, et), ke.tables.post = Lr.parse(tt.data, tt.offset), ke.glyphNames = new Ne(ke.tables.post);\n break;\n case \"prep\":\n tt = Lt(Pe, et), Ie = new we.Parser(tt.data, tt.offset), ke.tables.prep = Ie.parseByteList(et.length);\n break;\n case \"glyf\":\n z = et;\n break;\n case \"loca\":\n Se = et;\n break;\n case \"CFF \":\n I = et;\n break;\n case \"kern\":\n ye = et;\n break;\n case \"GPOS\":\n Q = et;\n break;\n case \"GSUB\":\n se = et;\n break;\n case \"meta\":\n de = et;\n }\n }\n if ($e = Lt(Pe, be), ke.tables.name = Xt.parse($e.data, $e.offset, w), ke.names = ke.tables.name, z && Se)\n Ee = v === 0, $e = Lt(Pe, Se), $e = Bn.parse($e.data, $e.offset, ke.numGlyphs, Ee), Ee = Lt(Pe, z), ke.glyphs = qr.parse(Ee.data, Ee.offset, $e, ke);\n else {\n if (!I)\n throw new Error(\"Font doesn't contain TrueType or CFF outlines.\");\n Ee = Lt(Pe, I), ht.parse(Ee.data, Ee.offset, ke);\n }\n for (var $e = Lt(Pe, oe), dt = (Oe.parse($e.data, $e.offset, ke.numberOfHMetrics, ke.numGlyphs, ke.glyphs), ke), wt = dt.tables.cmap.glyphIndexMap, Ot = Object.keys(wt), Rt = 0; Rt < Ot.length; Rt += 1) {\n var Ht, Wt = Ot[Rt], Qt = wt[Wt];\n (Ht = dt.glyphs.get(Qt)).addUnicode(parseInt(Wt));\n }\n for (var xt = 0; xt < dt.glyphs.length; xt += 1)\n Ht = dt.glyphs.get(xt), dt.cffEncoding ? dt.isCIDFont ? Ht.name = \"gid\" + xt : Ht.name = dt.cffEncoding.charset[xt] : dt.glyphNames.names && (Ht.name = dt.glyphNames.glyphIndexToName(xt));\n return ye ? (Ee = Lt(Pe, ye), ke.kerningPairs = Nn.parse(Ee.data, Ee.offset)) : ke.kerningPairs = {}, Q && ($e = Lt(Pe, Q), ke.tables.gpos = Un.parse($e.data, $e.offset), ke.position.init()), se && (Ee = Lt(Pe, se), ke.tables.gsub = Rr.parse(Ee.data, Ee.offset)), N && ($e = Lt(Pe, N), ke.tables.fvar = Dn.parse($e.data, $e.offset, ke.names)), de && (Ee = Lt(Pe, de), ke.tables.meta = Ir.parse(Ee.data, Ee.offset), ke.metas = ke.tables.meta), ke;\n }\n h.Font = _t, h.Glyph = We, h.Path = X, h.BoundingBox = W, h._parse = we, h.parse = Or, h.load = function(d, v) {\n (typeof window > \"u\" ? Gn : Vn)(d, function(w, k) {\n if (w)\n return v(w);\n var I;\n try {\n I = Or(k);\n } catch (N) {\n return v(N, null);\n }\n return v(null, I);\n });\n }, h.loadSync = function(d) {\n return Or(zr(t(\"fs\").readFileSync(d)));\n }, Object.defineProperty(h, \"__esModule\", { value: !0 });\n }, u(typeof C == \"object\" && H !== void 0 ? C : y.opentype = {});\n }).call(this, t(\"buffer\").Buffer);\n }, { buffer: 4, fs: 2 }], 255: [function(t, H, C) {\n (function(m) {\n function y(g, f) {\n for (var n = 0, s = g.length - 1; 0 <= s; s--) {\n var o = g[s];\n o === \".\" ? g.splice(s, 1) : o === \"..\" ? (g.splice(s, 1), n++) : n && (g.splice(s, 1), n--);\n }\n if (f)\n for (; n--; )\n g.unshift(\"..\");\n return g;\n }\n function u(g, f) {\n if (g.filter)\n return g.filter(f);\n for (var n = [], s = 0; s < g.length; s++)\n f(g[s], s, g) && n.push(g[s]);\n return n;\n }\n C.resolve = function() {\n for (var g = \"\", f = !1, n = arguments.length - 1; -1 <= n && !f; n--) {\n var s = 0 <= n ? arguments[n] : m.cwd();\n if (typeof s != \"string\")\n throw new TypeError(\"Arguments to path.resolve must be strings\");\n s && (g = s + \"/\" + g, f = s.charAt(0) === \"/\");\n }\n return (f ? \"/\" : \"\") + (g = y(u(g.split(\"/\"), function(o) {\n return !!o;\n }), !f).join(\"/\")) || \".\";\n }, C.normalize = function(g) {\n var f = C.isAbsolute(g), n = h(g, -1) === \"/\";\n return (g = (g = y(u(g.split(\"/\"), function(s) {\n return !!s;\n }), !f).join(\"/\")) || f ? g : \".\") && n && (g += \"/\"), (f ? \"/\" : \"\") + g;\n }, C.isAbsolute = function(g) {\n return g.charAt(0) === \"/\";\n }, C.join = function() {\n var g = Array.prototype.slice.call(arguments, 0);\n return C.normalize(u(g, function(f, n) {\n if (typeof f != \"string\")\n throw new TypeError(\"Arguments to path.join must be strings\");\n return f;\n }).join(\"/\"));\n }, C.relative = function(g, f) {\n function n(c) {\n for (var p = 0; p < c.length && c[p] === \"\"; p++)\n ;\n for (var j = c.length - 1; 0 <= j && c[j] === \"\"; j--)\n ;\n return j < p ? [] : c.slice(p, j - p + 1);\n }\n g = C.resolve(g).substr(1), f = C.resolve(f).substr(1);\n for (var s = n(g.split(\"/\")), o = n(f.split(\"/\")), a = Math.min(s.length, o.length), l = a, r = 0; r < a; r++)\n if (s[r] !== o[r]) {\n l = r;\n break;\n }\n for (var i = [], r = l; r < s.length; r++)\n i.push(\"..\");\n return (i = i.concat(o.slice(l))).join(\"/\");\n }, C.sep = \"/\", C.delimiter = \":\", C.dirname = function(g) {\n if (typeof g != \"string\" && (g += \"\"), g.length === 0)\n return \".\";\n for (var f = g.charCodeAt(0) === 47, n = -1, s = !0, o = g.length - 1; 1 <= o; --o)\n if (g.charCodeAt(o) === 47) {\n if (!s) {\n n = o;\n break;\n }\n } else\n s = !1;\n return n === -1 ? f ? \"/\" : \".\" : f && n === 1 ? \"/\" : g.slice(0, n);\n }, C.basename = function(g, f) {\n return g = function(n) {\n typeof n != \"string\" && (n += \"\");\n for (var s = 0, o = -1, a = !0, l = n.length - 1; 0 <= l; --l)\n if (n.charCodeAt(l) === 47) {\n if (!a) {\n s = l + 1;\n break;\n }\n } else\n o === -1 && (a = !1, o = l + 1);\n return o === -1 ? \"\" : n.slice(s, o);\n }(g), g = f && g.substr(-1 * f.length) === f ? g.substr(0, g.length - f.length) : g;\n }, C.extname = function(g) {\n typeof g != \"string\" && (g += \"\");\n for (var f = -1, n = 0, s = -1, o = !0, a = 0, l = g.length - 1; 0 <= l; --l) {\n var r = g.charCodeAt(l);\n if (r === 47) {\n if (o)\n continue;\n n = l + 1;\n break;\n }\n s === -1 && (o = !1, s = l + 1), r === 46 ? f === -1 ? f = l : a !== 1 && (a = 1) : f !== -1 && (a = -1);\n }\n return f === -1 || s === -1 || a === 0 || a === 1 && f === s - 1 && f === n + 1 ? \"\" : g.slice(f, s);\n };\n var h = \"ab\".substr(-1) === \"b\" ? function(g, f, n) {\n return g.substr(f, n);\n } : function(g, f, n) {\n return f < 0 && (f = g.length + f), g.substr(f, n);\n };\n }).call(this, t(\"_process\"));\n }, { _process: 256 }], 256: [function(t, u, C) {\n var m, y, u = u.exports = {};\n function h() {\n throw new Error(\"setTimeout has not been defined\");\n }\n function g() {\n throw new Error(\"clearTimeout has not been defined\");\n }\n try {\n m = typeof setTimeout == \"function\" ? setTimeout : h;\n } catch {\n m = h;\n }\n try {\n y = typeof clearTimeout == \"function\" ? clearTimeout : g;\n } catch {\n y = g;\n }\n function f(p) {\n if (m === setTimeout)\n return setTimeout(p, 0);\n if ((m === h || !m) && setTimeout)\n return (m = setTimeout)(p, 0);\n try {\n return m(p, 0);\n } catch {\n try {\n return m.call(null, p, 0);\n } catch {\n return m.call(this, p, 0);\n }\n }\n }\n var n, s = [], o = !1, a = -1;\n function l() {\n o && n && (o = !1, n.length ? s = n.concat(s) : a = -1, s.length && r());\n }\n function r() {\n if (!o) {\n for (var p = f(l), j = (o = !0, s.length); j; ) {\n for (n = s, s = []; ++a < j; )\n n && n[a].run();\n a = -1, j = s.length;\n }\n n = null, o = !1, function(T) {\n if (y === clearTimeout)\n return clearTimeout(T);\n if ((y === g || !y) && clearTimeout)\n return (y = clearTimeout)(T);\n try {\n y(T);\n } catch {\n try {\n return y.call(null, T);\n } catch {\n return y.call(this, T);\n }\n }\n }(p);\n }\n }\n function i(p, j) {\n this.fun = p, this.array = j;\n }\n function c() {\n }\n u.nextTick = function(p) {\n var j = new Array(arguments.length - 1);\n if (1 < arguments.length)\n for (var T = 1; T < arguments.length; T++)\n j[T - 1] = arguments[T];\n s.push(new i(p, j)), s.length !== 1 || o || f(r);\n }, i.prototype.run = function() {\n this.fun.apply(null, this.array);\n }, u.title = \"browser\", u.browser = !0, u.env = {}, u.argv = [], u.version = \"\", u.versions = {}, u.on = c, u.addListener = c, u.once = c, u.off = c, u.removeListener = c, u.removeAllListeners = c, u.emit = c, u.prependListener = c, u.prependOnceListener = c, u.listeners = function(p) {\n return [];\n }, u.binding = function(p) {\n throw new Error(\"process.binding is not supported\");\n }, u.cwd = function() {\n return \"/\";\n }, u.chdir = function(p) {\n throw new Error(\"process.chdir is not supported\");\n }, u.umask = function() {\n return 0;\n };\n }, {}], 257: [function(t, H, C) {\n H = function(m) {\n var y, u = Object.prototype, h = u.hasOwnProperty, _ = typeof Symbol == \"function\" ? Symbol : {}, g = _.iterator || \"@@iterator\", f = _.asyncIterator || \"@@asyncIterator\", n = _.toStringTag || \"@@toStringTag\";\n function s(V, D, U, B) {\n var X, ne, b, O, D = D && D.prototype instanceof p ? D : p, D = Object.create(D.prototype), B = new R(B || []);\n return D._invoke = (X = V, ne = U, b = B, O = a, function(Y, K) {\n if (O === r)\n throw new Error(\"Generator is already running\");\n if (O === i) {\n if (Y === \"throw\")\n throw K;\n return F();\n }\n for (b.method = Y, b.arg = K; ; ) {\n var te = b.delegate;\n if (te && (te = function ce(re, ue) {\n var le = re.iterator[ue.method];\n if (le === y) {\n if (ue.delegate = null, ue.method === \"throw\") {\n if (re.iterator.return && (ue.method = \"return\", ue.arg = y, ce(re, ue), ue.method === \"throw\"))\n return c;\n ue.method = \"throw\", ue.arg = new TypeError(\"The iterator does not provide a 'throw' method\");\n }\n return c;\n }\n if (le = o(le, re.iterator, ue.arg), le.type === \"throw\")\n return ue.method = \"throw\", ue.arg = le.arg, ue.delegate = null, c;\n if (le = le.arg, !le)\n return ue.method = \"throw\", ue.arg = new TypeError(\"iterator result is not an object\"), ue.delegate = null, c;\n {\n if (!le.done)\n return le;\n ue[re.resultName] = le.value, ue.next = re.nextLoc, ue.method !== \"return\" && (ue.method = \"next\", ue.arg = y);\n }\n return ue.delegate = null, c;\n }(te, b), te)) {\n if (te === c)\n continue;\n return te;\n }\n if (b.method === \"next\")\n b.sent = b._sent = b.arg;\n else if (b.method === \"throw\") {\n if (O === a)\n throw O = i, b.arg;\n b.dispatchException(b.arg);\n } else\n b.method === \"return\" && b.abrupt(\"return\", b.arg);\n if (O = r, te = o(X, ne, b), te.type === \"normal\") {\n if (O = b.done ? i : l, te.arg !== c)\n return { value: te.arg, done: b.done };\n } else\n te.type === \"throw\" && (O = i, b.method = \"throw\", b.arg = te.arg);\n }\n }), D;\n }\n function o(V, G, U) {\n try {\n return { type: \"normal\", arg: V.call(G, U) };\n } catch (W) {\n return { type: \"throw\", arg: W };\n }\n }\n m.wrap = s;\n var a = \"suspendedStart\", l = \"suspendedYield\", r = \"executing\", i = \"completed\", c = {};\n function p() {\n }\n function j() {\n }\n function T() {\n }\n var _ = {}, S = (_[g] = function() {\n return this;\n }, Object.getPrototypeOf), S = S && S(S(L([]))), E = (S && S !== u && h.call(S, g) && (_ = S), T.prototype = p.prototype = Object.create(_));\n function P(V) {\n [\"next\", \"throw\", \"return\"].forEach(function(G) {\n V[G] = function(U) {\n return this._invoke(G, U);\n };\n });\n }\n function x(V) {\n var G;\n this._invoke = function(U, W) {\n function X() {\n return new Promise(function(ne, b) {\n (function O(ce, B, Y, K) {\n var te, ce = o(V[ce], V, B);\n if (ce.type !== \"throw\")\n return (B = (te = ce.arg).value) && typeof B == \"object\" && h.call(B, \"__await\") ? Promise.resolve(B.__await).then(function(re) {\n O(\"next\", re, Y, K);\n }, function(re) {\n O(\"throw\", re, Y, K);\n }) : Promise.resolve(B).then(function(re) {\n te.value = re, Y(te);\n }, function(re) {\n return O(\"throw\", re, Y, K);\n });\n K(ce.arg);\n })(U, W, ne, b);\n });\n }\n return G = G ? G.then(X, X) : X();\n };\n }\n function A(V) {\n var G = { tryLoc: V[0] };\n 1 in V && (G.catchLoc = V[1]), 2 in V && (G.finallyLoc = V[2], G.afterLoc = V[3]), this.tryEntries.push(G);\n }\n function M(V) {\n var G = V.completion || {};\n G.type = \"normal\", delete G.arg, V.completion = G;\n }\n function R(V) {\n this.tryEntries = [{ tryLoc: \"root\" }], V.forEach(A, this), this.reset(!0);\n }\n function L(V) {\n if (V) {\n var G, U = V[g];\n if (U)\n return U.call(V);\n if (typeof V.next == \"function\")\n return V;\n if (!isNaN(V.length))\n return G = -1, (U = function W() {\n for (; ++G < V.length; )\n if (h.call(V, G))\n return W.value = V[G], W.done = !1, W;\n return W.value = y, W.done = !0, W;\n }).next = U;\n }\n return { next: F };\n }\n function F() {\n return { value: y, done: !0 };\n }\n return (j.prototype = E.constructor = T).constructor = j, T[n] = j.displayName = \"GeneratorFunction\", m.isGeneratorFunction = function(V) {\n return V = typeof V == \"function\" && V.constructor, !!V && (V === j || (V.displayName || V.name) === \"GeneratorFunction\");\n }, m.mark = function(V) {\n return Object.setPrototypeOf ? Object.setPrototypeOf(V, T) : (V.__proto__ = T, n in V || (V[n] = \"GeneratorFunction\")), V.prototype = Object.create(E), V;\n }, m.awrap = function(V) {\n return { __await: V };\n }, P(x.prototype), x.prototype[f] = function() {\n return this;\n }, m.AsyncIterator = x, m.async = function(V, G, U, W) {\n var X = new x(s(V, G, U, W));\n return m.isGeneratorFunction(G) ? X : X.next().then(function(ne) {\n return ne.done ? ne.value : X.next();\n });\n }, P(E), E[n] = \"Generator\", E[g] = function() {\n return this;\n }, E.toString = function() {\n return \"[object Generator]\";\n }, m.keys = function(V) {\n var G, U = [];\n for (G in V)\n U.push(G);\n return U.reverse(), function W() {\n for (; U.length; ) {\n var X = U.pop();\n if (X in V)\n return W.value = X, W.done = !1, W;\n }\n return W.done = !0, W;\n };\n }, m.values = L, R.prototype = { constructor: R, reset: function(V) {\n if (this.prev = 0, this.next = 0, this.sent = this._sent = y, this.done = !1, this.delegate = null, this.method = \"next\", this.arg = y, this.tryEntries.forEach(M), !V)\n for (var G in this)\n G.charAt(0) === \"t\" && h.call(this, G) && !isNaN(+G.slice(1)) && (this[G] = y);\n }, stop: function() {\n this.done = !0;\n var V = this.tryEntries[0].completion;\n if (V.type === \"throw\")\n throw V.arg;\n return this.rval;\n }, dispatchException: function(V) {\n if (this.done)\n throw V;\n var G = this;\n function U(D, B) {\n return ne.type = \"throw\", ne.arg = V, G.next = D, B && (G.method = \"next\", G.arg = y), !!B;\n }\n for (var W = this.tryEntries.length - 1; 0 <= W; --W) {\n var X = this.tryEntries[W], ne = X.completion;\n if (X.tryLoc === \"root\")\n return U(\"end\");\n if (X.tryLoc <= this.prev) {\n var b = h.call(X, \"catchLoc\"), O = h.call(X, \"finallyLoc\");\n if (b && O) {\n if (this.prev < X.catchLoc)\n return U(X.catchLoc, !0);\n if (this.prev < X.finallyLoc)\n return U(X.finallyLoc);\n } else if (b) {\n if (this.prev < X.catchLoc)\n return U(X.catchLoc, !0);\n } else {\n if (!O)\n throw new Error(\"try statement without catch or finally\");\n if (this.prev < X.finallyLoc)\n return U(X.finallyLoc);\n }\n }\n }\n }, abrupt: function(V, G) {\n for (var U = this.tryEntries.length - 1; 0 <= U; --U) {\n var W = this.tryEntries[U];\n if (W.tryLoc <= this.prev && h.call(W, \"finallyLoc\") && this.prev < W.finallyLoc) {\n var X = W;\n break;\n }\n }\n var ne = (X = X && (V === \"break\" || V === \"continue\") && X.tryLoc <= G && G <= X.finallyLoc ? null : X) ? X.completion : {};\n return ne.type = V, ne.arg = G, X ? (this.method = \"next\", this.next = X.finallyLoc, c) : this.complete(ne);\n }, complete: function(V, G) {\n if (V.type === \"throw\")\n throw V.arg;\n return V.type === \"break\" || V.type === \"continue\" ? this.next = V.arg : V.type === \"return\" ? (this.rval = this.arg = V.arg, this.method = \"return\", this.next = \"end\") : V.type === \"normal\" && G && (this.next = G), c;\n }, finish: function(V) {\n for (var G = this.tryEntries.length - 1; 0 <= G; --G) {\n var U = this.tryEntries[G];\n if (U.finallyLoc === V)\n return this.complete(U.completion, U.afterLoc), M(U), c;\n }\n }, catch: function(V) {\n for (var G = this.tryEntries.length - 1; 0 <= G; --G) {\n var U, W, X = this.tryEntries[G];\n if (X.tryLoc === V)\n return (U = X.completion).type === \"throw\" && (W = U.arg, M(X)), W;\n }\n throw new Error(\"illegal catch attempt\");\n }, delegateYield: function(V, G, U) {\n return this.delegate = { iterator: L(V), resultName: G, nextLoc: U }, this.method === \"next\" && (this.arg = y), c;\n } }, m;\n }(typeof H == \"object\" ? H.exports : {});\n try {\n regeneratorRuntime = H;\n } catch {\n Function(\"r\", \"regeneratorRuntime = r\")(H);\n }\n }, {}], 258: [function(t, H, C) {\n (function(m) {\n var y, u, h, g, f, n, s, o, a, l;\n function r(M) {\n if (typeof M != \"string\" && (M = String(M)), /[^a-z0-9\\-#$%&'*+.\\^_`|~]/i.test(M))\n throw new TypeError(\"Invalid character in header field name\");\n return M.toLowerCase();\n }\n function i(M) {\n return M = typeof M != \"string\" ? String(M) : M;\n }\n function c(M) {\n var R = { next: function() {\n var L = M.shift();\n return { done: L === void 0, value: L };\n } };\n return u && (R[Symbol.iterator] = function() {\n return R;\n }), R;\n }\n function p(M) {\n this.map = {}, M instanceof p ? M.forEach(function(R, L) {\n this.append(L, R);\n }, this) : Array.isArray(M) ? M.forEach(function(R) {\n this.append(R[0], R[1]);\n }, this) : M && Object.getOwnPropertyNames(M).forEach(function(R) {\n this.append(R, M[R]);\n }, this);\n }\n function j(M) {\n if (M.bodyUsed)\n return Promise.reject(new TypeError(\"Already read\"));\n M.bodyUsed = !0;\n }\n function T(M) {\n return new Promise(function(R, L) {\n M.onload = function() {\n R(M.result);\n }, M.onerror = function() {\n L(M.error);\n };\n });\n }\n function _(M) {\n var R = new FileReader(), L = T(R);\n return R.readAsArrayBuffer(M), L;\n }\n function S(M) {\n var R;\n return M.slice ? M.slice(0) : ((R = new Uint8Array(M.byteLength)).set(new Uint8Array(M)), R.buffer);\n }\n function E() {\n return this.bodyUsed = !1, this._initBody = function(M) {\n if (this._bodyInit = M)\n if (typeof M == \"string\")\n this._bodyText = M;\n else if (h && Blob.prototype.isPrototypeOf(M))\n this._bodyBlob = M;\n else if (g && FormData.prototype.isPrototypeOf(M))\n this._bodyFormData = M;\n else if (y && URLSearchParams.prototype.isPrototypeOf(M))\n this._bodyText = M.toString();\n else if (f && h && s(M))\n this._bodyArrayBuffer = S(M.buffer), this._bodyInit = new Blob([this._bodyArrayBuffer]);\n else {\n if (!f || !ArrayBuffer.prototype.isPrototypeOf(M) && !o(M))\n throw new Error(\"unsupported BodyInit type\");\n this._bodyArrayBuffer = S(M);\n }\n else\n this._bodyText = \"\";\n this.headers.get(\"content-type\") || (typeof M == \"string\" ? this.headers.set(\"content-type\", \"text/plain;charset=UTF-8\") : this._bodyBlob && this._bodyBlob.type ? this.headers.set(\"content-type\", this._bodyBlob.type) : y && URLSearchParams.prototype.isPrototypeOf(M) && this.headers.set(\"content-type\", \"application/x-www-form-urlencoded;charset=UTF-8\"));\n }, h && (this.blob = function() {\n var M = j(this);\n if (M)\n return M;\n if (this._bodyBlob)\n return Promise.resolve(this._bodyBlob);\n if (this._bodyArrayBuffer)\n return Promise.resolve(new Blob([this._bodyArrayBuffer]));\n if (this._bodyFormData)\n throw new Error(\"could not read FormData body as blob\");\n return Promise.resolve(new Blob([this._bodyText]));\n }, this.arrayBuffer = function() {\n return this._bodyArrayBuffer ? j(this) || Promise.resolve(this._bodyArrayBuffer) : this.blob().then(_);\n }), this.text = function() {\n var M, R, L = j(this);\n if (L)\n return L;\n if (this._bodyBlob)\n return L = this._bodyBlob, M = new FileReader(), R = T(M), M.readAsText(L), R;\n if (this._bodyArrayBuffer)\n return Promise.resolve(function(F) {\n for (var V = new Uint8Array(F), G = new Array(V.length), U = 0; U < V.length; U++)\n G[U] = String.fromCharCode(V[U]);\n return G.join(\"\");\n }(this._bodyArrayBuffer));\n if (this._bodyFormData)\n throw new Error(\"could not read FormData body as text\");\n return Promise.resolve(this._bodyText);\n }, g && (this.formData = function() {\n return this.text().then(x);\n }), this.json = function() {\n return this.text().then(JSON.parse);\n }, this;\n }\n function P(M, R) {\n var L, F = (R = R || {}).body;\n if (M instanceof P) {\n if (M.bodyUsed)\n throw new TypeError(\"Already read\");\n this.url = M.url, this.credentials = M.credentials, R.headers || (this.headers = new p(M.headers)), this.method = M.method, this.mode = M.mode, F || M._bodyInit == null || (F = M._bodyInit, M.bodyUsed = !0);\n } else\n this.url = String(M);\n if (this.credentials = R.credentials || this.credentials || \"omit\", !R.headers && this.headers || (this.headers = new p(R.headers)), this.method = (M = R.method || this.method || \"GET\", L = M.toUpperCase(), -1 < a.indexOf(L) ? L : M), this.mode = R.mode || this.mode || null, this.referrer = null, (this.method === \"GET\" || this.method === \"HEAD\") && F)\n throw new TypeError(\"Body not allowed for GET or HEAD requests\");\n this._initBody(F);\n }\n function x(M) {\n var R = new FormData();\n return M.trim().split(\"&\").forEach(function(L) {\n var F;\n L && (F = (L = L.split(\"=\")).shift().replace(/\\+/g, \" \"), L = L.join(\"=\").replace(/\\+/g, \" \"), R.append(decodeURIComponent(F), decodeURIComponent(L)));\n }), R;\n }\n function A(M, R) {\n R = R || {}, this.type = \"default\", this.status = R.status === void 0 ? 200 : R.status, this.ok = 200 <= this.status && this.status < 300, this.statusText = \"statusText\" in R ? R.statusText : \"OK\", this.headers = new p(R.headers), this.url = R.url || \"\", this._initBody(M);\n }\n m.fetch || (y = \"URLSearchParams\" in m, u = \"Symbol\" in m && \"iterator\" in Symbol, h = \"FileReader\" in m && \"Blob\" in m && function() {\n try {\n return new Blob(), !0;\n } catch {\n return !1;\n }\n }(), g = \"FormData\" in m, (f = \"ArrayBuffer\" in m) && (n = [\"[object Int8Array]\", \"[object Uint8Array]\", \"[object Uint8ClampedArray]\", \"[object Int16Array]\", \"[object Uint16Array]\", \"[object Int32Array]\", \"[object Uint32Array]\", \"[object Float32Array]\", \"[object Float64Array]\"], s = function(M) {\n return M && DataView.prototype.isPrototypeOf(M);\n }, o = ArrayBuffer.isView || function(M) {\n return M && -1 < n.indexOf(Object.prototype.toString.call(M));\n }), p.prototype.append = function(M, R) {\n M = r(M), R = i(R);\n var L = this.map[M];\n this.map[M] = L ? L + \",\" + R : R;\n }, p.prototype.delete = function(M) {\n delete this.map[r(M)];\n }, p.prototype.get = function(M) {\n return M = r(M), this.has(M) ? this.map[M] : null;\n }, p.prototype.has = function(M) {\n return this.map.hasOwnProperty(r(M));\n }, p.prototype.set = function(M, R) {\n this.map[r(M)] = i(R);\n }, p.prototype.forEach = function(M, R) {\n for (var L in this.map)\n this.map.hasOwnProperty(L) && M.call(R, this.map[L], L, this);\n }, p.prototype.keys = function() {\n var M = [];\n return this.forEach(function(R, L) {\n M.push(L);\n }), c(M);\n }, p.prototype.values = function() {\n var M = [];\n return this.forEach(function(R) {\n M.push(R);\n }), c(M);\n }, p.prototype.entries = function() {\n var M = [];\n return this.forEach(function(R, L) {\n M.push([L, R]);\n }), c(M);\n }, u && (p.prototype[Symbol.iterator] = p.prototype.entries), a = [\"DELETE\", \"GET\", \"HEAD\", \"OPTIONS\", \"POST\", \"PUT\"], P.prototype.clone = function() {\n return new P(this, { body: this._bodyInit });\n }, E.call(P.prototype), E.call(A.prototype), A.prototype.clone = function() {\n return new A(this._bodyInit, { status: this.status, statusText: this.statusText, headers: new p(this.headers), url: this.url });\n }, A.error = function() {\n var M = new A(null, { status: 0, statusText: \"\" });\n return M.type = \"error\", M;\n }, l = [301, 302, 303, 307, 308], A.redirect = function(M, R) {\n if (l.indexOf(R) === -1)\n throw new RangeError(\"Invalid status code\");\n return new A(null, { status: R, headers: { location: M } });\n }, m.Headers = p, m.Request = P, m.Response = A, m.fetch = function(M, R) {\n return new Promise(function(L, F) {\n var V = new P(M, R), G = new XMLHttpRequest();\n G.onload = function() {\n var U, W = { status: G.status, statusText: G.statusText, headers: (W = G.getAllResponseHeaders() || \"\", U = new p(), W.replace(/\\r?\\n[\\t ]+/g, \" \").split(/\\r?\\n/).forEach(function(b) {\n var b = b.split(\":\"), O = b.shift().trim();\n O && (b = b.join(\":\").trim(), U.append(O, b));\n }), U) }, X = (W.url = \"responseURL\" in G ? G.responseURL : W.headers.get(\"X-Request-URL\"), \"response\" in G ? G.response : G.responseText);\n L(new A(X, W));\n }, G.onerror = function() {\n F(new TypeError(\"Network request failed\"));\n }, G.ontimeout = function() {\n F(new TypeError(\"Network request failed\"));\n }, G.open(V.method, V.url, !0), V.credentials === \"include\" ? G.withCredentials = !0 : V.credentials === \"omit\" && (G.withCredentials = !1), \"responseType\" in G && h && (G.responseType = \"blob\"), V.headers.forEach(function(U, W) {\n G.setRequestHeader(W, U);\n }), G.send(V._bodyInit === void 0 ? null : V._bodyInit);\n });\n }, m.fetch.polyfill = !0);\n })(typeof self < \"u\" ? self : this);\n }, {}], 259: [function(t, H, C) {\n t(\"core-js/modules/es.function.name\"), t(\"core-js/modules/es.object.to-string\"), t(\"core-js/modules/es.regexp.exec\"), t(\"core-js/modules/es.regexp.to-string\"), t(\"core-js/modules/es.string.split\"), t(\"core-js/modules/es.function.name\"), t(\"core-js/modules/es.object.to-string\"), t(\"core-js/modules/es.regexp.exec\"), t(\"core-js/modules/es.regexp.to-string\"), t(\"core-js/modules/es.string.split\"), Object.defineProperty(C, \"__esModule\", { value: !0 }), C.default = void 0;\n var m, y = h(t(\"../core/main\")), u = h(t(\"../color/color_conversion\"));\n function h(n) {\n return n && n.__esModule ? n : { default: n };\n }\n var g = [{ h: 0, s: 0, b: 0.8275, name: \"gray\" }, { h: 0, s: 0, b: 0.8627, name: \"gray\" }, { h: 0, s: 0, b: 0.7529, name: \"gray\" }, { h: 0.0167, s: 0.1176, b: 1, name: \"light pink\" }], f = [{ h: 0, s: 0, b: 0, name: \"black\" }, { h: 0, s: 0, b: 0.5, name: \"gray\" }, { h: 0, s: 0, b: 1, name: \"white\" }, { h: 0, s: 0.5, b: 0.5, name: \"dark maroon\" }, { h: 0, s: 0.5, b: 1, name: \"salmon pink\" }, { h: 0, s: 1, b: 0, name: \"black\" }, { h: 0, s: 1, b: 0.5, name: \"dark red\" }, { h: 0, s: 1, b: 1, name: \"red\" }, { h: 5, s: 0, b: 1, name: \"very light peach\" }, { h: 5, s: 0.5, b: 0.5, name: \"brown\" }, { h: 5, s: 0.5, b: 1, name: \"peach\" }, { h: 5, s: 1, b: 0.5, name: \"brick red\" }, { h: 5, s: 1, b: 1, name: \"crimson\" }, { h: 10, s: 0, b: 1, name: \"light peach\" }, { h: 10, s: 0.5, b: 0.5, name: \"brown\" }, { h: 10, s: 0.5, b: 1, name: \"light orange\" }, { h: 10, s: 1, b: 0.5, name: \"brown\" }, { h: 10, s: 1, b: 1, name: \"orange\" }, { h: 15, s: 0, b: 1, name: \"very light yellow\" }, { h: 15, s: 0.5, b: 0.5, name: \"olive green\" }, { h: 15, s: 0.5, b: 1, name: \"light yellow\" }, { h: 15, s: 1, b: 0, name: \"dark olive green\" }, { h: 15, s: 1, b: 0.5, name: \"olive green\" }, { h: 15, s: 1, b: 1, name: \"yellow\" }, { h: 20, s: 0, b: 1, name: \"very light yellow\" }, { h: 20, s: 0.5, b: 0.5, name: \"olive green\" }, { h: 20, s: 0.5, b: 1, name: \"light yellow green\" }, { h: 20, s: 1, b: 0, name: \"dark olive green\" }, { h: 20, s: 1, b: 0.5, name: \"dark yellow green\" }, { h: 20, s: 1, b: 1, name: \"yellow green\" }, { h: 25, s: 0.5, b: 0.5, name: \"dark yellow green\" }, { h: 25, s: 0.5, b: 1, name: \"light green\" }, { h: 25, s: 1, b: 0.5, name: \"dark green\" }, { h: 25, s: 1, b: 1, name: \"green\" }, { h: 30, s: 0.5, b: 1, name: \"light green\" }, { h: 30, s: 1, b: 0.5, name: \"dark green\" }, { h: 30, s: 1, b: 1, name: \"green\" }, { h: 35, s: 0, b: 0.5, name: \"light green\" }, { h: 35, s: 0, b: 1, name: \"very light green\" }, { h: 35, s: 0.5, b: 0.5, name: \"dark green\" }, { h: 35, s: 0.5, b: 1, name: \"light green\" }, { h: 35, s: 1, b: 0, name: \"very dark green\" }, { h: 35, s: 1, b: 0.5, name: \"dark green\" }, { h: 35, s: 1, b: 1, name: \"green\" }, { h: 40, s: 0, b: 1, name: \"very light green\" }, { h: 40, s: 0.5, b: 0.5, name: \"dark green\" }, { h: 40, s: 0.5, b: 1, name: \"light green\" }, { h: 40, s: 1, b: 0.5, name: \"dark green\" }, { h: 40, s: 1, b: 1, name: \"green\" }, { h: 45, s: 0.5, b: 1, name: \"light turquoise\" }, { h: 45, s: 1, b: 0.5, name: \"dark turquoise\" }, { h: 45, s: 1, b: 1, name: \"turquoise\" }, { h: 50, s: 0, b: 1, name: \"light sky blue\" }, { h: 50, s: 0.5, b: 0.5, name: \"dark cyan\" }, { h: 50, s: 0.5, b: 1, name: \"light cyan\" }, { h: 50, s: 1, b: 0.5, name: \"dark cyan\" }, { h: 50, s: 1, b: 1, name: \"cyan\" }, { h: 55, s: 0, b: 1, name: \"light sky blue\" }, { h: 55, s: 0.5, b: 1, name: \"light sky blue\" }, { h: 55, s: 1, b: 0.5, name: \"dark blue\" }, { h: 55, s: 1, b: 1, name: \"sky blue\" }, { h: 60, s: 0, b: 0.5, name: \"gray\" }, { h: 60, s: 0, b: 1, name: \"very light blue\" }, { h: 60, s: 0.5, b: 0.5, name: \"blue\" }, { h: 60, s: 0.5, b: 1, name: \"light blue\" }, { h: 60, s: 1, b: 0.5, name: \"navy blue\" }, { h: 60, s: 1, b: 1, name: \"blue\" }, { h: 65, s: 0, b: 1, name: \"lavender\" }, { h: 65, s: 0.5, b: 0.5, name: \"navy blue\" }, { h: 65, s: 0.5, b: 1, name: \"light purple\" }, { h: 65, s: 1, b: 0.5, name: \"dark navy blue\" }, { h: 65, s: 1, b: 1, name: \"blue\" }, { h: 70, s: 0, b: 1, name: \"lavender\" }, { h: 70, s: 0.5, b: 0.5, name: \"navy blue\" }, { h: 70, s: 0.5, b: 1, name: \"lavender blue\" }, { h: 70, s: 1, b: 0.5, name: \"dark navy blue\" }, { h: 70, s: 1, b: 1, name: \"blue\" }, { h: 75, s: 0.5, b: 1, name: \"lavender\" }, { h: 75, s: 1, b: 0.5, name: \"dark purple\" }, { h: 75, s: 1, b: 1, name: \"purple\" }, { h: 80, s: 0.5, b: 1, name: \"pinkish purple\" }, { h: 80, s: 1, b: 0.5, name: \"dark purple\" }, { h: 80, s: 1, b: 1, name: \"purple\" }, { h: 85, s: 0, b: 1, name: \"light pink\" }, { h: 85, s: 0.5, b: 0.5, name: \"purple\" }, { h: 85, s: 0.5, b: 1, name: \"light fuchsia\" }, { h: 85, s: 1, b: 0.5, name: \"dark fuchsia\" }, { h: 85, s: 1, b: 1, name: \"fuchsia\" }, { h: 90, s: 0.5, b: 0.5, name: \"dark fuchsia\" }, { h: 90, s: 0.5, b: 1, name: \"hot pink\" }, { h: 90, s: 1, b: 0.5, name: \"dark fuchsia\" }, { h: 90, s: 1, b: 1, name: \"fuchsia\" }, { h: 95, s: 0, b: 1, name: \"pink\" }, { h: 95, s: 0.5, b: 1, name: \"light pink\" }, { h: 95, s: 1, b: 0.5, name: \"dark magenta\" }, { h: 95, s: 1, b: 1, name: \"magenta\" }];\n y.default.prototype._rgbColorName = function(a) {\n var s, o, a = u.default._rgbaToHSBA(a), l = [(m = a)[0], a[1], a[2]];\n l[0] !== 0 && (l[0] = Math.round(100 * l[0]), (a = l[0].toString().split(\"\"))[o = a.length - 1] = parseInt(a[o]), a[o] < 2.5 ? a[o] = 0 : 2.5 <= a[o] && a[o] < 7.5 && (a[o] = 5), a.length === 2 ? (a[0] = parseInt(a[0]), 7.5 <= a[o] && (a[o] = 0, a[0] = a[0] + 1), l[0] = 10 * a[0] + a[1]) : 7.5 <= a[o] ? l[0] = 10 : l[0] = a[o]), l[2] = l[2] / 255;\n for (var r = l.length - 1; 1 <= r; r--)\n l[r] <= 0.25 ? l[r] = 0 : 0.25 < l[r] && l[r] < 0.75 ? l[r] = 0.5 : l[r] = 1;\n if (l[0] === 0 && l[1] === 0 && l[2] === 1) {\n for (var i = 2; 0 <= i; i--)\n m[i] = Math.round(1e4 * m[i]) / 1e4;\n for (var c = 0; c < g.length; c++) {\n if (g[c].h === m[0] && g[c].s === m[1] && g[c].b === m[2]) {\n s = g[c].name;\n break;\n }\n s = \"white\";\n }\n } else\n for (var p = 0; p < f.length; p++)\n if (f[p].h === l[0] && f[p].s === l[1] && f[p].b === l[2]) {\n s = f[p].name;\n break;\n }\n return s;\n }, t = y.default, C.default = t;\n }, { \"../color/color_conversion\": 265, \"../core/main\": 280, \"core-js/modules/es.function.name\": 173, \"core-js/modules/es.object.to-string\": 187, \"core-js/modules/es.regexp.exec\": 192, \"core-js/modules/es.regexp.to-string\": 193, \"core-js/modules/es.string.split\": 203 }], 260: [function(t, H, C) {\n t(\"core-js/modules/es.array.concat\"), t(\"core-js/modules/es.regexp.exec\"), t(\"core-js/modules/es.string.ends-with\"), t(\"core-js/modules/es.string.replace\"), t(\"core-js/modules/es.array.concat\"), t(\"core-js/modules/es.regexp.exec\"), t(\"core-js/modules/es.string.ends-with\"), t(\"core-js/modules/es.string.replace\"), Object.defineProperty(C, \"__esModule\", { value: !0 }), C.default = void 0;\n var m = (t = t(\"../core/main\")) && t.__esModule ? t : { default: t }, y = \"_Description\", u = \"_fallbackDesc\", h = \"_fallbackTable\", g = \"_Label\", f = \"_labelDesc\", n = \"_labelTable\";\n function s(o) {\n if (o === \"label\" || o === \"fallback\")\n throw new Error(\"description should not be LABEL or FALLBACK\");\n return o.endsWith(\".\") || o.endsWith(\";\") || o.endsWith(\",\") || o.endsWith(\"?\") || o.endsWith(\"!\") || (o += \".\"), o;\n }\n m.default.prototype.describe = function(o, a) {\n var l;\n m.default._validateParameters(\"describe\", arguments), typeof o == \"string\" && (l = this.canvas.id, o = s(o), this.dummyDOM || (this.dummyDOM = document.getElementById(l).parentNode), this.descriptions || (this.descriptions = {}), this.descriptions.fallback ? this.descriptions.fallback.innerHTML !== o && (this.descriptions.fallback.innerHTML = o) : this._describeHTML(\"fallback\", o), a === this.LABEL && (this.descriptions.label ? this.descriptions.label.innerHTML !== o && (this.descriptions.label.innerHTML = o) : this._describeHTML(\"label\", o)));\n }, m.default.prototype.describeElement = function(o, a, l) {\n var r, i;\n m.default._validateParameters(\"describeElement\", arguments), typeof a == \"string\" && typeof o == \"string\" && (r = this.canvas.id, a = s(a), i = function(c) {\n if (c === \"label\" || c === \"fallback\")\n throw new Error(\"element name should not be LABEL or FALLBACK\");\n return c.endsWith(\".\") || c.endsWith(\";\") || c.endsWith(\",\") ? c = c.replace(/.$/, \":\") : c.endsWith(\":\") || (c += \":\"), c;\n }(o), o = o.replace(/[^a-zA-Z0-9]/g, \"\"), i = ''.concat(i, \"\").concat(a, \"\"), this.dummyDOM || (this.dummyDOM = document.getElementById(r).parentNode), this.descriptions ? this.descriptions.fallbackElements || (this.descriptions.fallbackElements = {}) : this.descriptions = { fallbackElements: {} }, this.descriptions.fallbackElements[o] ? this.descriptions.fallbackElements[o].innerHTML !== i && (this.descriptions.fallbackElements[o].innerHTML = i) : this._describeElementHTML(\"fallback\", o, i), l === this.LABEL && (this.descriptions.labelElements || (this.descriptions.labelElements = {}), this.descriptions.labelElements[o] ? this.descriptions.labelElements[o].innerHTML !== i && (this.descriptions.labelElements[o].innerHTML = i) : this._describeElementHTML(\"label\", o, i)));\n }, m.default.prototype._describeHTML = function(o, a) {\n var l, r = this.canvas.id;\n o === \"fallback\" ? (this.dummyDOM.querySelector(\"#\".concat(r + y)) ? this.dummyDOM.querySelector(\"#\" + r + h).insertAdjacentHTML(\"beforebegin\", '

')) : (l = '

'), this.dummyDOM.querySelector(\"#\".concat(r, \"accessibleOutput\")) ? this.dummyDOM.querySelector(\"#\".concat(r, \"accessibleOutput\")).insertAdjacentHTML(\"beforebegin\", l) : this.dummyDOM.querySelector(\"#\".concat(r)).innerHTML = l), this.descriptions.fallback = this.dummyDOM.querySelector(\"#\".concat(r).concat(u)), this.descriptions.fallback.innerHTML = a) : o === \"label\" && (this.dummyDOM.querySelector(\"#\".concat(r + g)) ? this.dummyDOM.querySelector(\"#\".concat(r + n)) && this.dummyDOM.querySelector(\"#\".concat(r + n)).insertAdjacentHTML(\"beforebegin\", '

')) : (l = '

'), this.dummyDOM.querySelector(\"#\".concat(r, \"accessibleOutputLabel\")) ? this.dummyDOM.querySelector(\"#\".concat(r, \"accessibleOutputLabel\")).insertAdjacentHTML(\"beforebegin\", l) : this.dummyDOM.querySelector(\"#\" + r).insertAdjacentHTML(\"afterend\", l)), this.descriptions.label = this.dummyDOM.querySelector(\"#\" + r + f), this.descriptions.label.innerHTML = a);\n }, m.default.prototype._describeElementHTML = function(o, a, l) {\n var r, i = this.canvas.id;\n o === \"fallback\" ? (this.dummyDOM.querySelector(\"#\".concat(i + y)) ? this.dummyDOM.querySelector(\"#\" + i + h) || this.dummyDOM.querySelector(\"#\" + i + u).insertAdjacentHTML(\"afterend\", '
Canvas elements and their descriptions
')) : (r = '
Canvas elements and their descriptions
'), this.dummyDOM.querySelector(\"#\".concat(i, \"accessibleOutput\")) ? this.dummyDOM.querySelector(\"#\".concat(i, \"accessibleOutput\")).insertAdjacentHTML(\"beforebegin\", r) : this.dummyDOM.querySelector(\"#\" + i).innerHTML = r), (r = document.createElement(\"tr\")).id = i + \"_fte_\" + a, this.dummyDOM.querySelector(\"#\" + i + h).appendChild(r), this.descriptions.fallbackElements[a] = this.dummyDOM.querySelector(\"#\".concat(i).concat(\"_fte_\").concat(a)), this.descriptions.fallbackElements[a].innerHTML = l) : o === \"label\" && (this.dummyDOM.querySelector(\"#\".concat(i + g)) ? this.dummyDOM.querySelector(\"#\".concat(i + n)) || this.dummyDOM.querySelector(\"#\" + i + f).insertAdjacentHTML(\"afterend\", '
')) : (r = '
'), this.dummyDOM.querySelector(\"#\".concat(i, \"accessibleOutputLabel\")) ? this.dummyDOM.querySelector(\"#\".concat(i, \"accessibleOutputLabel\")).insertAdjacentHTML(\"beforebegin\", r) : this.dummyDOM.querySelector(\"#\" + i).insertAdjacentHTML(\"afterend\", r)), (o = document.createElement(\"tr\")).id = i + \"_lte_\" + a, this.dummyDOM.querySelector(\"#\" + i + n).appendChild(o), this.descriptions.labelElements[a] = this.dummyDOM.querySelector(\"#\".concat(i).concat(\"_lte_\").concat(a)), this.descriptions.labelElements[a].innerHTML = l);\n }, t = m.default, C.default = t;\n }, { \"../core/main\": 280, \"core-js/modules/es.array.concat\": 152, \"core-js/modules/es.regexp.exec\": 192, \"core-js/modules/es.string.ends-with\": 195, \"core-js/modules/es.string.replace\": 201 }], 261: [function(t, H, C) {\n t(\"core-js/modules/es.array.concat\"), t(\"core-js/modules/es.array.from\"), t(\"core-js/modules/es.array.map\"), t(\"core-js/modules/es.string.iterator\"), t(\"core-js/modules/es.array.concat\"), t(\"core-js/modules/es.array.from\"), t(\"core-js/modules/es.array.map\"), t(\"core-js/modules/es.string.iterator\"), Object.defineProperty(C, \"__esModule\", { value: !0 }), C.default = void 0, t = (t = t(\"../core/main\")) && t.__esModule ? t : { default: t }, t.default.prototype._updateGridOutput = function(m) {\n var y, u, h, g;\n this.dummyDOM.querySelector(\"#\".concat(m, \"_summary\")) && (y = this._accessibleOutputs[m], h = function(f, n, s, o) {\n return n = \"\".concat(n, \" canvas, \").concat(s, \" by \").concat(o, \" pixels, contains \").concat(f[0]), n = (f[0] === 1 ? \"\".concat(n, \" shape: \") : \"\".concat(n, \" shapes: \")).concat(f[1]), n;\n }((u = function(f, n) {\n var s, o = \"\", a = \"\", l = 0;\n for (s in n) {\n var r, i = 0;\n for (r in n[s]) {\n var c = '
  • ').concat(n[s][r].color, \" \").concat(s, \",\");\n s === \"line\" ? c += \" location = \".concat(n[s][r].pos, \", length = \").concat(n[s][r].length, \" pixels\") : (c += \" location = \".concat(n[s][r].pos), s !== \"point\" && (c += \", area = \".concat(n[s][r].area, \" %\")), c += \"
  • \"), o += c, i++, l++;\n }\n a = 1 < i ? \"\".concat(a, \" \").concat(i, \" \").concat(s, \"s\") : \"\".concat(a, \" \").concat(i, \" \").concat(s);\n }\n return { numShapes: [l, a], details: o };\n }(m, this.ingredients.shapes)).numShapes, this.ingredients.colors.background, this.width, this.height), g = function(f, n) {\n var s, o, a = 0, l = \"\", r = Array.from(Array(10), function() {\n return Array(10);\n });\n for (s in n)\n for (var i in n[s]) {\n var c = void 0;\n c = s !== \"line\" ? '
    ').concat(n[s][i].color, \" \").concat(s, \"\") : '').concat(n[s][i].color, \" \").concat(s, \" midpoint\"), r[n[s][i].loc.locY][n[s][i].loc.locX] ? r[n[s][i].loc.locY][n[s][i].loc.locX] = r[n[s][i].loc.locY][n[s][i].loc.locX] + \" \" + c : r[n[s][i].loc.locY][n[s][i].loc.locX] = c, a++;\n }\n for (o in r) {\n var p, j = \"\";\n for (p in r[o])\n j += \"\", r[o][p] !== void 0 && (j += r[o][p]), j += \"\";\n l = l + j + \"\";\n }\n return l;\n }(m, this.ingredients.shapes), h !== y.summary.innerHTML && (y.summary.innerHTML = h), g !== y.map.innerHTML && (y.map.innerHTML = g), u.details !== y.shapeDetails.innerHTML && (y.shapeDetails.innerHTML = u.details), this._accessibleOutputs[m] = y);\n }, t = t.default, C.default = t;\n }, { \"../core/main\": 280, \"core-js/modules/es.array.concat\": 152, \"core-js/modules/es.array.from\": 161, \"core-js/modules/es.array.map\": 167, \"core-js/modules/es.string.iterator\": 197 }], 262: [function(t, H, C) {\n t(\"core-js/modules/es.symbol\"), t(\"core-js/modules/es.symbol.description\"), t(\"core-js/modules/es.symbol.iterator\"), t(\"core-js/modules/es.array.concat\"), t(\"core-js/modules/es.array.fill\"), t(\"core-js/modules/es.array.from\"), t(\"core-js/modules/es.array.iterator\"), t(\"core-js/modules/es.array.map\"), t(\"core-js/modules/es.number.to-fixed\"), t(\"core-js/modules/es.object.to-string\"), t(\"core-js/modules/es.regexp.to-string\"), t(\"core-js/modules/es.string.iterator\"), t(\"core-js/modules/web.dom-collections.iterator\"), t(\"core-js/modules/es.array.concat\"), t(\"core-js/modules/es.array.fill\"), t(\"core-js/modules/es.array.map\"), t(\"core-js/modules/es.number.to-fixed\"), Object.defineProperty(C, \"__esModule\", { value: !0 }), C.default = void 0;\n var m = (t = t(\"../core/main\")) && t.__esModule ? t : { default: t };\n function y(h) {\n return function(g) {\n if (Array.isArray(g)) {\n for (var f = 0, n = new Array(g.length); f < g.length; f++)\n n[f] = g[f];\n return n;\n }\n }(h) || function(g) {\n if (Symbol.iterator in Object(g) || Object.prototype.toString.call(g) === \"[object Arguments]\")\n return Array.from(g);\n }(h) || function() {\n throw new TypeError(\"Invalid attempt to spread non-iterable instance\");\n }();\n }\n function u(h, g, f) {\n return g = Math.floor(h[0] / g * 10), h = Math.floor(h[1] / f * 10), g === 10 && (g -= 1), h === 10 && (h -= 1), { locX: g, locY: h };\n }\n m.default.prototype.textOutput = function(h) {\n m.default._validateParameters(\"textOutput\", arguments), this._accessibleOutputs.text || (this._accessibleOutputs.text = !0, this._createOutput(\"textOutput\", \"Fallback\"), h === this.LABEL && (this._accessibleOutputs.textLabel = !0, this._createOutput(\"textOutput\", \"Label\")));\n }, m.default.prototype.gridOutput = function(h) {\n m.default._validateParameters(\"gridOutput\", arguments), this._accessibleOutputs.grid || (this._accessibleOutputs.grid = !0, this._createOutput(\"gridOutput\", \"Fallback\"), h === this.LABEL && (this._accessibleOutputs.gridLabel = !0, this._createOutput(\"gridOutput\", \"Label\")));\n }, m.default.prototype._addAccsOutput = function() {\n return this._accessibleOutputs || (this._accessibleOutputs = { text: !1, grid: !1, textLabel: !1, gridLabel: !1 }), this._accessibleOutputs.grid || this._accessibleOutputs.text;\n }, m.default.prototype._createOutput = function(h, g) {\n var f, n, s, o = this.canvas.id, a = (this.ingredients || (this.ingredients = { shapes: {}, colors: { background: \"white\", fill: \"white\", stroke: \"black\" }, pShapes: \"\", pBackground: \"\" }), this.dummyDOM || (this.dummyDOM = document.getElementById(o).parentNode), \"\");\n g === \"Fallback\" ? (f = o + h, this.dummyDOM.querySelector(\"#\".concat(n = o + \"accessibleOutput\")) || (this.dummyDOM.querySelector(\"#\".concat(o, \"_Description\")) ? this.dummyDOM.querySelector(\"#\".concat(o, \"_Description\")).insertAdjacentHTML(\"afterend\", '
    ')) : this.dummyDOM.querySelector(\"#\".concat(o)).innerHTML = '
    '))) : g === \"Label\" && (f = o + h + (a = g), this.dummyDOM.querySelector(\"#\".concat(n = o + \"accessibleOutput\" + g)) || (this.dummyDOM.querySelector(\"#\".concat(o, \"_Label\")) ? this.dummyDOM.querySelector(\"#\".concat(o, \"_Label\")) : this.dummyDOM.querySelector(\"#\".concat(o))).insertAdjacentHTML(\"afterend\", '
    '))), this._accessibleOutputs[f] = {}, h === \"textOutput\" ? (a = \"#\".concat(o, \"gridOutput\").concat(a), s = '
    Text Output

      '), this.dummyDOM.querySelector(a) ? this.dummyDOM.querySelector(a).insertAdjacentHTML(\"beforebegin\", s) : this.dummyDOM.querySelector(\"#\".concat(n)).innerHTML = s, this._accessibleOutputs[f].list = this.dummyDOM.querySelector(\"#\".concat(f, \"_list\"))) : h === \"gridOutput\" && (a = \"#\".concat(o, \"textOutput\").concat(a), s = '
      Grid Output

        '), this.dummyDOM.querySelector(a) ? this.dummyDOM.querySelector(a).insertAdjacentHTML(\"afterend\", s) : this.dummyDOM.querySelector(\"#\".concat(n)).innerHTML = s, this._accessibleOutputs[f].map = this.dummyDOM.querySelector(\"#\".concat(f, \"_map\"))), this._accessibleOutputs[f].shapeDetails = this.dummyDOM.querySelector(\"#\".concat(f, \"_shapeDetails\")), this._accessibleOutputs[f].summary = this.dummyDOM.querySelector(\"#\".concat(f, \"_summary\"));\n }, m.default.prototype._updateAccsOutput = function() {\n var h = this.canvas.id;\n JSON.stringify(this.ingredients.shapes) === this.ingredients.pShapes && this.ingredients.colors.background === this.ingredients.pBackground || (this.ingredients.pShapes = JSON.stringify(this.ingredients.shapes), this._accessibleOutputs.text && this._updateTextOutput(h + \"textOutput\"), this._accessibleOutputs.grid && this._updateGridOutput(h + \"gridOutput\"), this._accessibleOutputs.textLabel && this._updateTextOutput(h + \"textOutputLabel\"), this._accessibleOutputs.gridLabel && this._updateGridOutput(h + \"gridOutputLabel\"));\n }, m.default.prototype._accsBackground = function(h) {\n this.ingredients.pShapes = JSON.stringify(this.ingredients.shapes), this.ingredients.pBackground = this.ingredients.colors.background, this.ingredients.shapes = {}, this.ingredients.colors.backgroundRGBA !== h && (this.ingredients.colors.backgroundRGBA = h, this.ingredients.colors.background = this._rgbColorName(h));\n }, m.default.prototype._accsCanvasColors = function(h, g) {\n h === \"fill\" ? this.ingredients.colors.fillRGBA !== g && (this.ingredients.colors.fillRGBA = g, this.ingredients.colors.fill = this._rgbColorName(g)) : h === \"stroke\" && this.ingredients.colors.strokeRGBA !== g && (this.ingredients.colors.strokeRGBA = g, this.ingredients.colors.stroke = this._rgbColorName(g));\n }, m.default.prototype._accsOutput = function(h, g) {\n h === \"ellipse\" && g[2] === g[3] ? h = \"circle\" : h === \"rectangle\" && g[2] === g[3] && (h = \"square\");\n var f, n, s = {}, o = !0, a = function(r, i) {\n var c;\n return r = r === \"rectangle\" || r === \"ellipse\" || r === \"arc\" || r === \"circle\" || r === \"square\" ? (c = Math.round(i[0] + i[2] / 2), Math.round(i[1] + i[3] / 2)) : r === \"triangle\" ? (c = (i[0] + i[2] + i[4]) / 3, (i[1] + i[3] + i[5]) / 3) : r === \"quadrilateral\" ? (c = (i[0] + i[2] + i[4] + i[6]) / 4, (i[1] + i[3] + i[5] + i[7]) / 4) : r === \"line\" ? (c = (i[0] + i[2]) / 2, (i[1] + i[3]) / 2) : (c = i[0], i[1]), [c, r];\n }(h, g);\n if (h === \"line\" ? (s.color = this.ingredients.colors.stroke, s.length = Math.round(this.dist(g[0], g[1], g[2], g[3])), f = this._getPos(g[0], [1]), n = this._getPos(g[2], [3]), s.loc = u(a, this.width, this.height), s.pos = f === n ? \"at \".concat(f) : \"from \".concat(f, \" to \").concat(n)) : (h === \"point\" ? s.color = this.ingredients.colors.stroke : (s.color = this.ingredients.colors.fill, s.area = this._getArea(h, g)), s.pos = this._getPos.apply(this, y(a)), s.loc = u(a, this.width, this.height)), this.ingredients.shapes[h]) {\n if (this.ingredients.shapes[h] !== [s]) {\n for (var l in this.ingredients.shapes[h])\n JSON.stringify(this.ingredients.shapes[h][l]) === JSON.stringify(s) && (o = !1);\n o === !0 && this.ingredients.shapes[h].push(s);\n }\n } else\n this.ingredients.shapes[h] = [s];\n }, m.default.prototype._getPos = function(n, f) {\n var n = new DOMPointReadOnly(n, f), f = this._renderer.isP3D ? new DOMMatrix(this._renderer.uMVMatrix.mat4) : this.drawingContext.getTransform(), n = n.matrixTransform(f), f = n.x, n = n.y, s = this.width * this._pixelDensity, o = this.height * this._pixelDensity;\n return f < 0.4 * s ? n < 0.4 * o ? \"top left\" : 0.6 * o < n ? \"bottom left\" : \"mid left\" : 0.6 * s < f ? n < 0.4 * o ? \"top right\" : 0.6 * o < n ? \"bottom right\" : \"mid right\" : n < 0.4 * o ? \"top middle\" : 0.6 * o < n ? \"bottom middle\" : \"middle\";\n }, m.default.prototype._getArea = function(h, g) {\n var f, n, s = 0, o = (h === \"arc\" ? (s = (f = ((g[5] - g[4]) % (2 * Math.PI) + 2 * Math.PI) % (2 * Math.PI)) * g[2] * g[3] / 8, g[6] !== \"open\" && g[6] !== \"chord\" || (n = g[0], i = g[1], o = g[0] + g[2] / 2 * Math.cos(g[4]).toFixed(2), c = g[1] + g[3] / 2 * Math.sin(g[4]).toFixed(2), l = g[0] + g[2] / 2 * Math.cos(g[5]).toFixed(2), a = g[1] + g[3] / 2 * Math.sin(g[5]).toFixed(2), n = Math.abs(n * (c - a) + o * (a - i) + l * (i - c)) / 2, f > Math.PI ? s += n : s -= n)) : h === \"ellipse\" || h === \"circle\" ? s = 3.14 * g[2] / 2 * g[3] / 2 : h === \"line\" || h === \"point\" ? s = 0 : h === \"quadrilateral\" ? s = Math.abs((g[6] + g[0]) * (g[7] - g[1]) + (g[0] + g[2]) * (g[1] - g[3]) + (g[2] + g[4]) * (g[3] - g[5]) + (g[4] + g[6]) * (g[5] - g[7])) / 2 : h === \"rectangle\" || h === \"square\" ? s = g[2] * g[3] : h === \"triangle\" && (s = Math.abs(g[0] * (g[3] - g[5]) + g[2] * (g[5] - g[1]) + g[4] * (g[1] - g[3])) / 2), this.width * this._pixelDensity), a = this.height * this._pixelDensity, l = [new DOMPoint(0, 0), new DOMPoint(o, 0), new DOMPoint(o, a), new DOMPoint(0, a)], r = (this._renderer.isP3D ? new DOMMatrix(this._renderer.uMVMatrix.mat4) : this.drawingContext.getTransform()).inverse(), i = l.map(function(p) {\n return p.matrixTransform(r);\n }), c = Math.abs((i[3].x + i[0].x) * (i[3].y - i[0].y) + (i[0].x + i[1].x) * (i[0].y - i[1].y) + (i[1].x + i[2].x) * (i[1].y - i[2].y) + (i[2].x + i[3].x) * (i[2].y - i[3].y)) / 2;\n return Math.round(100 * s / c);\n }, t = m.default, C.default = t;\n }, { \"../core/main\": 280, \"core-js/modules/es.array.concat\": 152, \"core-js/modules/es.array.fill\": 155, \"core-js/modules/es.array.from\": 161, \"core-js/modules/es.array.iterator\": 164, \"core-js/modules/es.array.map\": 167, \"core-js/modules/es.number.to-fixed\": 180, \"core-js/modules/es.object.to-string\": 187, \"core-js/modules/es.regexp.to-string\": 193, \"core-js/modules/es.string.iterator\": 197, \"core-js/modules/es.symbol\": 209, \"core-js/modules/es.symbol.description\": 207, \"core-js/modules/es.symbol.iterator\": 208, \"core-js/modules/web.dom-collections.iterator\": 243 }], 263: [function(t, H, C) {\n t(\"core-js/modules/es.array.concat\"), t(\"core-js/modules/es.array.concat\"), Object.defineProperty(C, \"__esModule\", { value: !0 }), C.default = void 0, t = (t = t(\"../core/main\")) && t.__esModule ? t : { default: t }, t.default.prototype._updateTextOutput = function(m) {\n var y, u, h, g;\n this.dummyDOM.querySelector(\"#\".concat(m, \"_summary\")) && (y = this._accessibleOutputs[m], h = function(f, n, s, o) {\n return s = \"Your output is a, \".concat(s, \" by \").concat(o, \" pixels, \").concat(n, \" canvas containing the following\"), s = f === 1 ? \"\".concat(s, \" shape:\") : \"\".concat(s, \" \").concat(f, \" shapes:\"), s;\n }((u = function(f, n) {\n var s, o = \"\", a = 0;\n for (s in n)\n for (var l in n[s]) {\n var r = '
      • ').concat(n[s][l].color, \" \").concat(s, \"\");\n s === \"line\" ? r += \", \".concat(n[s][l].pos, \", \").concat(n[s][l].length, \" pixels long.
      • \") : (r += \", at \".concat(n[s][l].pos), s !== \"point\" && (r += \", covering \".concat(n[s][l].area, \"% of the canvas\")), r += \".\"), o += r, a++;\n }\n return { numShapes: a, listShapes: o };\n }(m, this.ingredients.shapes)).numShapes, this.ingredients.colors.background, this.width, this.height), g = function(f, n) {\n var s, o = \"\", a = 0;\n for (s in n)\n for (var l in n[s]) {\n var r = '').concat(n[s][l].color, \" \").concat(s, \"\");\n s === \"line\" ? r += \"location = \".concat(n[s][l].pos, \"length = \").concat(n[s][l].length, \" pixels\") : (r += \"location = \".concat(n[s][l].pos, \"\"), s !== \"point\" && (r += \" area = \".concat(n[s][l].area, \"%\")), r += \"\"), o += r, a++;\n }\n return o;\n }(m, this.ingredients.shapes), h !== y.summary.innerHTML && (y.summary.innerHTML = h), u.listShapes !== y.list.innerHTML && (y.list.innerHTML = u.listShapes), g !== y.shapeDetails.innerHTML && (y.shapeDetails.innerHTML = g), this._accessibleOutputs[m] = y);\n }, t = t.default, C.default = t;\n }, { \"../core/main\": 280, \"core-js/modules/es.array.concat\": 152 }], 264: [function(t, H, C) {\n var m = (m = t(\"./core/main\")) && m.__esModule ? m : { default: m };\n t(\"./core/constants\"), t(\"./core/environment\"), t(\"./core/friendly_errors/stacktrace\"), t(\"./core/friendly_errors/validate_params\"), t(\"./core/friendly_errors/file_errors\"), t(\"./core/friendly_errors/fes_core\"), t(\"./core/friendly_errors/sketch_reader\"), t(\"./core/helpers\"), t(\"./core/legacy\"), t(\"./core/preload\"), t(\"./core/p5.Element\"), t(\"./core/p5.Graphics\"), t(\"./core/p5.Renderer\"), t(\"./core/p5.Renderer2D\"), t(\"./core/rendering\"), t(\"./core/shim\"), t(\"./core/structure\"), t(\"./core/transform\"), t(\"./core/shape/2d_primitives\"), t(\"./core/shape/attributes\"), t(\"./core/shape/curves\"), t(\"./core/shape/vertex\"), t(\"./accessibility/outputs\"), t(\"./accessibility/textOutput\"), t(\"./accessibility/gridOutput\"), t(\"./accessibility/color_namer\"), t(\"./color/color_conversion\"), t(\"./color/creating_reading\"), t(\"./color/p5.Color\"), t(\"./color/setting\"), t(\"./data/p5.TypedDict\"), t(\"./data/local_storage.js\"), t(\"./dom/dom\"), t(\"./accessibility/describe\"), t(\"./events/acceleration\"), t(\"./events/keyboard\"), t(\"./events/mouse\"), t(\"./events/touch\"), t(\"./image/filters\"), t(\"./image/image\"), t(\"./image/loading_displaying\"), t(\"./image/p5.Image\"), t(\"./image/pixels\"), t(\"./io/files\"), t(\"./io/p5.Table\"), t(\"./io/p5.TableRow\"), t(\"./io/p5.XML\"), t(\"./math/calculation\"), t(\"./math/math\"), t(\"./math/noise\"), t(\"./math/p5.Vector\"), t(\"./math/random\"), t(\"./math/trigonometry\"), t(\"./typography/attributes\"), t(\"./typography/loading_displaying\"), t(\"./typography/p5.Font\"), t(\"./utilities/array_functions\"), t(\"./utilities/conversion\"), t(\"./utilities/string_functions\"), t(\"./utilities/time_date\"), t(\"./webgl/3d_primitives\"), t(\"./webgl/interaction\"), t(\"./webgl/light\"), t(\"./webgl/loading\"), t(\"./webgl/material\"), t(\"./webgl/p5.Camera\"), t(\"./webgl/p5.DataArray\"), t(\"./webgl/p5.Geometry\"), t(\"./webgl/p5.Matrix\"), t(\"./webgl/p5.RendererGL.Immediate\"), t(\"./webgl/p5.RendererGL\"), t(\"./webgl/p5.RendererGL.Retained\"), t(\"./webgl/p5.Framebuffer\"), t(\"./webgl/p5.Shader\"), t(\"./webgl/p5.RenderBuffer\"), t(\"./webgl/p5.Texture\"), t(\"./webgl/text\"), t(\"./core/init\"), H.exports = m.default;\n }, { \"./accessibility/color_namer\": 259, \"./accessibility/describe\": 260, \"./accessibility/gridOutput\": 261, \"./accessibility/outputs\": 262, \"./accessibility/textOutput\": 263, \"./color/color_conversion\": 265, \"./color/creating_reading\": 266, \"./color/p5.Color\": 267, \"./color/setting\": 268, \"./core/constants\": 269, \"./core/environment\": 270, \"./core/friendly_errors/fes_core\": 271, \"./core/friendly_errors/file_errors\": 272, \"./core/friendly_errors/sketch_reader\": 273, \"./core/friendly_errors/stacktrace\": 274, \"./core/friendly_errors/validate_params\": 275, \"./core/helpers\": 276, \"./core/init\": 277, \"./core/legacy\": 279, \"./core/main\": 280, \"./core/p5.Element\": 281, \"./core/p5.Graphics\": 282, \"./core/p5.Renderer\": 283, \"./core/p5.Renderer2D\": 284, \"./core/preload\": 285, \"./core/rendering\": 286, \"./core/shape/2d_primitives\": 287, \"./core/shape/attributes\": 288, \"./core/shape/curves\": 289, \"./core/shape/vertex\": 290, \"./core/shim\": 291, \"./core/structure\": 292, \"./core/transform\": 293, \"./data/local_storage.js\": 294, \"./data/p5.TypedDict\": 295, \"./dom/dom\": 296, \"./events/acceleration\": 297, \"./events/keyboard\": 298, \"./events/mouse\": 299, \"./events/touch\": 300, \"./image/filters\": 301, \"./image/image\": 302, \"./image/loading_displaying\": 303, \"./image/p5.Image\": 304, \"./image/pixels\": 305, \"./io/files\": 306, \"./io/p5.Table\": 307, \"./io/p5.TableRow\": 308, \"./io/p5.XML\": 309, \"./math/calculation\": 310, \"./math/math\": 311, \"./math/noise\": 312, \"./math/p5.Vector\": 313, \"./math/random\": 314, \"./math/trigonometry\": 315, \"./typography/attributes\": 316, \"./typography/loading_displaying\": 317, \"./typography/p5.Font\": 318, \"./utilities/array_functions\": 319, \"./utilities/conversion\": 320, \"./utilities/string_functions\": 321, \"./utilities/time_date\": 322, \"./webgl/3d_primitives\": 323, \"./webgl/interaction\": 325, \"./webgl/light\": 326, \"./webgl/loading\": 327, \"./webgl/material\": 328, \"./webgl/p5.Camera\": 329, \"./webgl/p5.DataArray\": 330, \"./webgl/p5.Framebuffer\": 331, \"./webgl/p5.Geometry\": 332, \"./webgl/p5.Matrix\": 333, \"./webgl/p5.RenderBuffer\": 334, \"./webgl/p5.RendererGL\": 337, \"./webgl/p5.RendererGL.Immediate\": 335, \"./webgl/p5.RendererGL.Retained\": 336, \"./webgl/p5.Shader\": 338, \"./webgl/p5.Texture\": 339, \"./webgl/text\": 340 }], 265: [function(t, H, C) {\n Object.defineProperty(C, \"__esModule\", { value: !0 }), C.default = void 0, t = (t = t(\"../core/main\")) && t.__esModule ? t : { default: t }, t.default.ColorConversion = { _hsbaToHSLA: function(m) {\n var y = m[0], u = m[1], h = m[2], g = (2 - u) * h / 2;\n return g != 0 && (g == 1 ? u = 0 : g < 0.5 ? u /= 2 - u : u = u * h / (2 - 2 * g)), [y, u, g, m[3]];\n }, _hsbaToRGBA: function(m) {\n var y, u, h, g, f, n = 6 * m[0], s = m[1], o = m[2];\n return s === 0 ? [o, o, o, m[3]] : (u = o * (1 - s), h = o * (1 - s * (n - (y = Math.floor(n)))), s = o * (1 - s * (1 + y - n)), n = y === 1 ? (g = h, f = o, u) : y === 2 ? (g = u, f = o, s) : y === 3 ? (g = u, f = h, o) : y === 4 ? (g = s, f = u, o) : y === 5 ? (g = o, f = u, h) : (g = o, f = s, u), [g, f, n, m[3]]);\n }, _hslaToHSBA: function(m) {\n var y = m[0], u = m[1], h = m[2], g = h < 0.5 ? (1 + u) * h : h + u - h * u;\n return [y, u = 2 * (g - h) / g, g, m[3]];\n }, _hslaToRGBA: function(m) {\n var y, u = 6 * m[0], h = m[1], g = m[2];\n return h === 0 ? [g, g, g, m[3]] : [(y = function(f, n, s) {\n return f < 0 ? f += 6 : 6 <= f && (f -= 6), f < 1 ? n + (s - n) * f : f < 3 ? s : f < 4 ? n + (s - n) * (4 - f) : n;\n })(2 + u, h = 2 * g - (g = g < 0.5 ? (1 + h) * g : g + h - g * h), g), y(u, h, g), y(u - 2, h, g), m[3]];\n }, _rgbaToHSBA: function(m) {\n var y, u, h = m[0], g = m[1], f = m[2], n = Math.max(h, g, f), s = n - Math.min(h, g, f);\n return s == 0 ? u = y = 0 : (u = s / n, h === n ? y = (g - f) / s : g === n ? y = 2 + (f - h) / s : f === n && (y = 4 + (h - g) / s), y < 0 ? y += 6 : 6 <= y && (y -= 6)), [y / 6, u, n, m[3]];\n }, _rgbaToHSLA: function(m) {\n var y, u, h = m[0], g = m[1], f = m[2], n = Math.max(h, g, f), o = Math.min(h, g, f), s = n + o, o = n - o;\n return o == 0 ? u = y = 0 : (u = s < 1 ? o / s : o / (2 - s), h === n ? y = (g - f) / o : g === n ? y = 2 + (f - h) / o : f === n && (y = 4 + (h - g) / o), y < 0 ? y += 6 : 6 <= y && (y -= 6)), [y / 6, u, s / 2, m[3]];\n } }, t = t.default.ColorConversion, C.default = t;\n }, { \"../core/main\": 280 }], 266: [function(t, H, C) {\n function m(n) {\n return (m = typeof Symbol == \"function\" && typeof Symbol.iterator == \"symbol\" ? function(s) {\n return typeof s;\n } : function(s) {\n return s && typeof Symbol == \"function\" && s.constructor === Symbol && s !== Symbol.prototype ? \"symbol\" : typeof s;\n })(n);\n }\n function y(n) {\n return (y = typeof Symbol == \"function\" && m(Symbol.iterator) === \"symbol\" ? function(s) {\n return m(s);\n } : function(s) {\n return s && typeof Symbol == \"function\" && s.constructor === Symbol && s !== Symbol.prototype ? \"symbol\" : m(s);\n })(n);\n }\n t(\"core-js/modules/es.symbol\"), t(\"core-js/modules/es.symbol.description\"), t(\"core-js/modules/es.symbol.iterator\"), t(\"core-js/modules/es.array.iterator\"), t(\"core-js/modules/es.array.map\"), t(\"core-js/modules/es.object.get-own-property-descriptor\"), t(\"core-js/modules/es.object.to-string\"), t(\"core-js/modules/es.string.iterator\"), t(\"core-js/modules/es.weak-map\"), t(\"core-js/modules/web.dom-collections.iterator\"), t(\"core-js/modules/es.array.map\"), Object.defineProperty(C, \"__esModule\", { value: !0 }), C.default = void 0;\n var u = (f = t(\"../core/main\")) && f.__esModule ? f : { default: f }, h = function(n) {\n if (n && n.__esModule)\n return n;\n if (n === null || y(n) !== \"object\" && typeof n != \"function\")\n return { default: n };\n var s = g();\n if (s && s.has(n))\n return s.get(n);\n var o, a = {}, l = Object.defineProperty && Object.getOwnPropertyDescriptor;\n for (o in n) {\n var r;\n Object.prototype.hasOwnProperty.call(n, o) && ((r = l ? Object.getOwnPropertyDescriptor(n, o) : null) && (r.get || r.set) ? Object.defineProperty(a, o, r) : a[o] = n[o]);\n }\n return a.default = n, s && s.set(n, a), a;\n }(t(\"../core/constants\"));\n function g() {\n var n;\n return typeof WeakMap != \"function\" ? null : (n = /* @__PURE__ */ new WeakMap(), g = function() {\n return n;\n }, n);\n }\n t(\"./p5.Color\"), t(\"../core/friendly_errors/validate_params\"), t(\"../core/friendly_errors/file_errors\"), t(\"../core/friendly_errors/fes_core\"), u.default.prototype.alpha = function(n) {\n return u.default._validateParameters(\"alpha\", arguments), this.color(n)._getAlpha();\n }, u.default.prototype.blue = function(n) {\n return u.default._validateParameters(\"blue\", arguments), this.color(n)._getBlue();\n }, u.default.prototype.brightness = function(n) {\n return u.default._validateParameters(\"brightness\", arguments), this.color(n)._getBrightness();\n }, u.default.prototype.color = function() {\n for (var n, s = arguments.length, o = new Array(s), a = 0; a < s; a++)\n o[a] = arguments[a];\n return u.default._validateParameters(\"color\", o), o[0] instanceof u.default.Color ? o[0] : (n = Array.isArray(o[0]) ? o[0] : o, new u.default.Color(this, n));\n }, u.default.prototype.green = function(n) {\n return u.default._validateParameters(\"green\", arguments), this.color(n)._getGreen();\n }, u.default.prototype.hue = function(n) {\n return u.default._validateParameters(\"hue\", arguments), this.color(n)._getHue();\n }, u.default.prototype.lerpColor = function(n, s, o) {\n u.default._validateParameters(\"lerpColor\", arguments);\n var a, l, r, i = this._colorMode, c = this._colorMaxes;\n if (i === h.RGB)\n l = n.levels.map(function(p) {\n return p / 255;\n }), r = s.levels.map(function(p) {\n return p / 255;\n });\n else if (i === h.HSB)\n n._getBrightness(), s._getBrightness(), l = n.hsba, r = s.hsba;\n else {\n if (i !== h.HSL)\n throw new Error(\"\".concat(i, \" cannot be used for interpolation.\"));\n n._getLightness(), s._getLightness(), l = n.hsla, r = s.hsla;\n }\n return o = Math.max(Math.min(o, 1), 0), this.lerp === void 0 && (this.lerp = function(p, j, T) {\n return T * (j - p) + p;\n }), i === h.RGB ? a = this.lerp(l[0], r[0], o) : (0.5 < Math.abs(l[0] - r[0]) && (l[0] > r[0] ? r[0] += 1 : l[0] += 1), 1 <= (a = this.lerp(l[0], r[0], o)) && --a), n = this.lerp(l[1], r[1], o), s = this.lerp(l[2], r[2], o), l = this.lerp(l[3], r[3], o), a *= c[i][0], n *= c[i][1], s *= c[i][2], l *= c[i][3], this.color(a, n, s, l);\n }, u.default.prototype.lightness = function(n) {\n return u.default._validateParameters(\"lightness\", arguments), this.color(n)._getLightness();\n }, u.default.prototype.red = function(n) {\n return u.default._validateParameters(\"red\", arguments), this.color(n)._getRed();\n }, u.default.prototype.saturation = function(n) {\n return u.default._validateParameters(\"saturation\", arguments), this.color(n)._getSaturation();\n };\n var f = u.default;\n C.default = f;\n }, { \"../core/constants\": 269, \"../core/friendly_errors/fes_core\": 271, \"../core/friendly_errors/file_errors\": 272, \"../core/friendly_errors/validate_params\": 275, \"../core/main\": 280, \"./p5.Color\": 267, \"core-js/modules/es.array.iterator\": 164, \"core-js/modules/es.array.map\": 167, \"core-js/modules/es.object.get-own-property-descriptor\": 183, \"core-js/modules/es.object.to-string\": 187, \"core-js/modules/es.string.iterator\": 197, \"core-js/modules/es.symbol\": 209, \"core-js/modules/es.symbol.description\": 207, \"core-js/modules/es.symbol.iterator\": 208, \"core-js/modules/es.weak-map\": 241, \"core-js/modules/web.dom-collections.iterator\": 243 }], 267: [function(a, H, C) {\n function m(p) {\n return (m = typeof Symbol == \"function\" && typeof Symbol.iterator == \"symbol\" ? function(j) {\n return typeof j;\n } : function(j) {\n return j && typeof Symbol == \"function\" && j.constructor === Symbol && j !== Symbol.prototype ? \"symbol\" : typeof j;\n })(p);\n }\n function y(p) {\n return (y = typeof Symbol == \"function\" && m(Symbol.iterator) === \"symbol\" ? function(j) {\n return m(j);\n } : function(j) {\n return j && typeof Symbol == \"function\" && j.constructor === Symbol && j !== Symbol.prototype ? \"symbol\" : m(j);\n })(p);\n }\n a(\"core-js/modules/es.symbol\"), a(\"core-js/modules/es.symbol.description\"), a(\"core-js/modules/es.symbol.iterator\"), a(\"core-js/modules/es.array.includes\"), a(\"core-js/modules/es.array.iterator\"), a(\"core-js/modules/es.array.join\"), a(\"core-js/modules/es.array.map\"), a(\"core-js/modules/es.array.slice\"), a(\"core-js/modules/es.object.get-own-property-descriptor\"), a(\"core-js/modules/es.object.to-string\"), a(\"core-js/modules/es.regexp.constructor\"), a(\"core-js/modules/es.regexp.exec\"), a(\"core-js/modules/es.regexp.to-string\"), a(\"core-js/modules/es.string.includes\"), a(\"core-js/modules/es.string.iterator\"), a(\"core-js/modules/es.string.trim\"), a(\"core-js/modules/es.weak-map\"), a(\"core-js/modules/web.dom-collections.iterator\"), a(\"core-js/modules/es.array.includes\"), a(\"core-js/modules/es.array.join\"), a(\"core-js/modules/es.array.map\"), a(\"core-js/modules/es.array.slice\"), a(\"core-js/modules/es.object.to-string\"), a(\"core-js/modules/es.regexp.constructor\"), a(\"core-js/modules/es.regexp.exec\"), a(\"core-js/modules/es.regexp.to-string\"), a(\"core-js/modules/es.string.includes\"), a(\"core-js/modules/es.string.trim\"), Object.defineProperty(C, \"__esModule\", { value: !0 }), C.default = void 0;\n var u = n(a(\"../core/main\")), h = function(p) {\n if (p && p.__esModule)\n return p;\n if (p === null || y(p) !== \"object\" && typeof p != \"function\")\n return { default: p };\n var j = f();\n if (j && j.has(p))\n return j.get(p);\n var T, _ = {}, S = Object.defineProperty && Object.getOwnPropertyDescriptor;\n for (T in p) {\n var E;\n Object.prototype.hasOwnProperty.call(p, T) && ((E = S ? Object.getOwnPropertyDescriptor(p, T) : null) && (E.get || E.set) ? Object.defineProperty(_, T, E) : _[T] = p[T]);\n }\n return _.default = p, j && j.set(p, _), _;\n }(a(\"../core/constants\")), g = n(a(\"./color_conversion\"));\n function f() {\n var p;\n return typeof WeakMap != \"function\" ? null : (p = /* @__PURE__ */ new WeakMap(), f = function() {\n return p;\n }, p);\n }\n function n(p) {\n return p && p.__esModule ? p : { default: p };\n }\n function s(p, j) {\n for (var T = 0; T < j.length; T++) {\n var _ = j[T];\n _.enumerable = _.enumerable || !1, _.configurable = !0, \"value\" in _ && (_.writable = !0), Object.defineProperty(p, _.key, _);\n }\n }\n var o = { aliceblue: \"#f0f8ff\", antiquewhite: \"#faebd7\", aqua: \"#00ffff\", aquamarine: \"#7fffd4\", azure: \"#f0ffff\", beige: \"#f5f5dc\", bisque: \"#ffe4c4\", black: \"#000000\", blanchedalmond: \"#ffebcd\", blue: \"#0000ff\", blueviolet: \"#8a2be2\", brown: \"#a52a2a\", burlywood: \"#deb887\", cadetblue: \"#5f9ea0\", chartreuse: \"#7fff00\", chocolate: \"#d2691e\", coral: \"#ff7f50\", cornflowerblue: \"#6495ed\", cornsilk: \"#fff8dc\", crimson: \"#dc143c\", cyan: \"#00ffff\", darkblue: \"#00008b\", darkcyan: \"#008b8b\", darkgoldenrod: \"#b8860b\", darkgray: \"#a9a9a9\", darkgreen: \"#006400\", darkgrey: \"#a9a9a9\", darkkhaki: \"#bdb76b\", darkmagenta: \"#8b008b\", darkolivegreen: \"#556b2f\", darkorange: \"#ff8c00\", darkorchid: \"#9932cc\", darkred: \"#8b0000\", darksalmon: \"#e9967a\", darkseagreen: \"#8fbc8f\", darkslateblue: \"#483d8b\", darkslategray: \"#2f4f4f\", darkslategrey: \"#2f4f4f\", darkturquoise: \"#00ced1\", darkviolet: \"#9400d3\", deeppink: \"#ff1493\", deepskyblue: \"#00bfff\", dimgray: \"#696969\", dimgrey: \"#696969\", dodgerblue: \"#1e90ff\", firebrick: \"#b22222\", floralwhite: \"#fffaf0\", forestgreen: \"#228b22\", fuchsia: \"#ff00ff\", gainsboro: \"#dcdcdc\", ghostwhite: \"#f8f8ff\", gold: \"#ffd700\", goldenrod: \"#daa520\", gray: \"#808080\", green: \"#008000\", greenyellow: \"#adff2f\", grey: \"#808080\", honeydew: \"#f0fff0\", hotpink: \"#ff69b4\", indianred: \"#cd5c5c\", indigo: \"#4b0082\", ivory: \"#fffff0\", khaki: \"#f0e68c\", lavender: \"#e6e6fa\", lavenderblush: \"#fff0f5\", lawngreen: \"#7cfc00\", lemonchiffon: \"#fffacd\", lightblue: \"#add8e6\", lightcoral: \"#f08080\", lightcyan: \"#e0ffff\", lightgoldenrodyellow: \"#fafad2\", lightgray: \"#d3d3d3\", lightgreen: \"#90ee90\", lightgrey: \"#d3d3d3\", lightpink: \"#ffb6c1\", lightsalmon: \"#ffa07a\", lightseagreen: \"#20b2aa\", lightskyblue: \"#87cefa\", lightslategray: \"#778899\", lightslategrey: \"#778899\", lightsteelblue: \"#b0c4de\", lightyellow: \"#ffffe0\", lime: \"#00ff00\", limegreen: \"#32cd32\", linen: \"#faf0e6\", magenta: \"#ff00ff\", maroon: \"#800000\", mediumaquamarine: \"#66cdaa\", mediumblue: \"#0000cd\", mediumorchid: \"#ba55d3\", mediumpurple: \"#9370db\", mediumseagreen: \"#3cb371\", mediumslateblue: \"#7b68ee\", mediumspringgreen: \"#00fa9a\", mediumturquoise: \"#48d1cc\", mediumvioletred: \"#c71585\", midnightblue: \"#191970\", mintcream: \"#f5fffa\", mistyrose: \"#ffe4e1\", moccasin: \"#ffe4b5\", navajowhite: \"#ffdead\", navy: \"#000080\", oldlace: \"#fdf5e6\", olive: \"#808000\", olivedrab: \"#6b8e23\", orange: \"#ffa500\", orangered: \"#ff4500\", orchid: \"#da70d6\", palegoldenrod: \"#eee8aa\", palegreen: \"#98fb98\", paleturquoise: \"#afeeee\", palevioletred: \"#db7093\", papayawhip: \"#ffefd5\", peachpuff: \"#ffdab9\", peru: \"#cd853f\", pink: \"#ffc0cb\", plum: \"#dda0dd\", powderblue: \"#b0e0e6\", purple: \"#800080\", rebeccapurple: \"#663399\", red: \"#ff0000\", rosybrown: \"#bc8f8f\", royalblue: \"#4169e1\", saddlebrown: \"#8b4513\", salmon: \"#fa8072\", sandybrown: \"#f4a460\", seagreen: \"#2e8b57\", seashell: \"#fff5ee\", sienna: \"#a0522d\", silver: \"#c0c0c0\", skyblue: \"#87ceeb\", slateblue: \"#6a5acd\", slategray: \"#708090\", slategrey: \"#708090\", snow: \"#fffafa\", springgreen: \"#00ff7f\", steelblue: \"#4682b4\", tan: \"#d2b48c\", teal: \"#008080\", thistle: \"#d8bfd8\", tomato: \"#ff6347\", turquoise: \"#40e0d0\", violet: \"#ee82ee\", wheat: \"#f5deb3\", white: \"#ffffff\", whitesmoke: \"#f5f5f5\", yellow: \"#ffff00\", yellowgreen: \"#9acd32\" }, a = /\\s*/, c = /(\\d{1,3})/, l = /((?:\\d+(?:\\.\\d+)?)|(?:\\.\\d+))/, r = new RegExp(\"\".concat(l.source, \"%\")), i = { HEX3: /^#([a-f0-9])([a-f0-9])([a-f0-9])$/i, HEX4: /^#([a-f0-9])([a-f0-9])([a-f0-9])([a-f0-9])$/i, HEX6: /^#([a-f0-9]{2})([a-f0-9]{2})([a-f0-9]{2})$/i, HEX8: /^#([a-f0-9]{2})([a-f0-9]{2})([a-f0-9]{2})([a-f0-9]{2})$/i, RGB: new RegExp([\"^rgb\\\\(\", c.source, \",\", c.source, \",\", c.source, \"\\\\)$\"].join(a.source), \"i\"), RGB_PERCENT: new RegExp([\"^rgb\\\\(\", r.source, \",\", r.source, \",\", r.source, \"\\\\)$\"].join(a.source), \"i\"), RGBA: new RegExp([\"^rgba\\\\(\", c.source, \",\", c.source, \",\", c.source, \",\", l.source, \"\\\\)$\"].join(a.source), \"i\"), RGBA_PERCENT: new RegExp([\"^rgba\\\\(\", r.source, \",\", r.source, \",\", r.source, \",\", l.source, \"\\\\)$\"].join(a.source), \"i\"), HSL: new RegExp([\"^hsl\\\\(\", c.source, \",\", r.source, \",\", r.source, \"\\\\)$\"].join(a.source), \"i\"), HSLA: new RegExp([\"^hsla\\\\(\", c.source, \",\", r.source, \",\", r.source, \",\", l.source, \"\\\\)$\"].join(a.source), \"i\"), HSB: new RegExp([\"^hsb\\\\(\", c.source, \",\", r.source, \",\", r.source, \"\\\\)$\"].join(a.source), \"i\"), HSBA: new RegExp([\"^hsba\\\\(\", c.source, \",\", r.source, \",\", r.source, \",\", l.source, \"\\\\)$\"].join(a.source), \"i\") }, c = (u.default.Color = function() {\n function p(S, E) {\n if (!(this instanceof p))\n throw new TypeError(\"Cannot call a class as a function\");\n if (this._storeModeAndMaxes(S._colorMode, S._colorMaxes), ![h.RGB, h.HSL, h.HSB].includes(this.mode))\n throw new Error(\"\".concat(this.mode, \" is an invalid colorMode.\"));\n this._array = p._parseInputs.apply(this, E), this._calculateLevels();\n }\n var j, T, _;\n return j = p, _ = [{ key: \"_parseInputs\", value: function(S, E, P, x) {\n var A, M = arguments.length, R = this.mode, L = this.maxes[R], F = [];\n if (3 <= M) {\n for (F[0] = S / L[0], F[1] = E / L[1], F[2] = P / L[2], F[3] = typeof x == \"number\" ? x / L[3] : 1, A = F.length - 1; 0 <= A; --A) {\n var V = F[A];\n V < 0 ? F[A] = 0 : 1 < V && (F[A] = 1);\n }\n return R === h.HSL ? g.default._hslaToRGBA(F) : R === h.HSB ? g.default._hsbaToRGBA(F) : F;\n }\n if (M === 1 && typeof S == \"string\") {\n if (P = S.trim().toLowerCase(), o[P])\n return p._parseInputs.call(this, o[P]);\n if (i.HEX3.test(P))\n return (F = i.HEX3.exec(P).slice(1).map(function(G) {\n return parseInt(G + G, 16) / 255;\n }))[3] = 1, F;\n if (i.HEX6.test(P))\n return (F = i.HEX6.exec(P).slice(1).map(function(G) {\n return parseInt(G, 16) / 255;\n }))[3] = 1, F;\n if (i.HEX4.test(P))\n return F = i.HEX4.exec(P).slice(1).map(function(G) {\n return parseInt(G + G, 16) / 255;\n });\n if (i.HEX8.test(P))\n return F = i.HEX8.exec(P).slice(1).map(function(G) {\n return parseInt(G, 16) / 255;\n });\n if (i.RGB.test(P))\n return (F = i.RGB.exec(P).slice(1).map(function(G) {\n return G / 255;\n }))[3] = 1, F;\n if (i.RGB_PERCENT.test(P))\n return (F = i.RGB_PERCENT.exec(P).slice(1).map(function(G) {\n return parseFloat(G) / 100;\n }))[3] = 1, F;\n if (i.RGBA.test(P))\n return F = i.RGBA.exec(P).slice(1).map(function(G, U) {\n return U === 3 ? parseFloat(G) : G / 255;\n });\n if (i.RGBA_PERCENT.test(P))\n return F = i.RGBA_PERCENT.exec(P).slice(1).map(function(G, U) {\n return U === 3 ? parseFloat(G) : parseFloat(G) / 100;\n });\n if (i.HSL.test(P) ? (F = i.HSL.exec(P).slice(1).map(function(G, U) {\n return U === 0 ? parseInt(G, 10) / 360 : parseInt(G, 10) / 100;\n }))[3] = 1 : i.HSLA.test(P) && (F = i.HSLA.exec(P).slice(1).map(function(G, U) {\n return U === 0 ? parseInt(G, 10) / 360 : U === 3 ? parseFloat(G) : parseInt(G, 10) / 100;\n })), (F = F.map(function(G) {\n return Math.max(Math.min(G, 1), 0);\n })).length)\n return g.default._hslaToRGBA(F);\n if (i.HSB.test(P) ? (F = i.HSB.exec(P).slice(1).map(function(G, U) {\n return U === 0 ? parseInt(G, 10) / 360 : parseInt(G, 10) / 100;\n }))[3] = 1 : i.HSBA.test(P) && (F = i.HSBA.exec(P).slice(1).map(function(G, U) {\n return U === 0 ? parseInt(G, 10) / 360 : U === 3 ? parseFloat(G) : parseInt(G, 10) / 100;\n })), F.length) {\n for (A = F.length - 1; 0 <= A; --A)\n F[A] = Math.max(Math.min(F[A], 1), 0);\n return g.default._hsbaToRGBA(F);\n }\n F = [1, 1, 1, 1];\n } else {\n if (M !== 1 && M !== 2 || typeof S != \"number\")\n throw new Error(\"\".concat(arguments, \"is not a valid color representation.\"));\n F[0] = S / L[2], F[1] = S / L[2], F[2] = S / L[2], F[3] = typeof E == \"number\" ? E / L[3] : 1, F = F.map(function(G) {\n return Math.max(Math.min(G, 1), 0);\n });\n }\n return F;\n } }], (T = [{ key: \"toString\", value: function(S) {\n var E = this.levels, P = this._array, x = P[3];\n switch (S) {\n case \"#rrggbb\":\n return \"#\".concat(E[0] < 16 ? \"0\".concat(E[0].toString(16)) : E[0].toString(16), E[1] < 16 ? \"0\".concat(E[1].toString(16)) : E[1].toString(16), E[2] < 16 ? \"0\".concat(E[2].toString(16)) : E[2].toString(16));\n case \"#rrggbbaa\":\n return \"#\".concat(E[0] < 16 ? \"0\".concat(E[0].toString(16)) : E[0].toString(16), E[1] < 16 ? \"0\".concat(E[1].toString(16)) : E[1].toString(16), E[2] < 16 ? \"0\".concat(E[2].toString(16)) : E[2].toString(16), E[3] < 16 ? \"0\".concat(E[3].toString(16)) : E[3].toString(16));\n case \"#rgb\":\n return \"#\".concat(Math.round(15 * P[0]).toString(16), Math.round(15 * P[1]).toString(16), Math.round(15 * P[2]).toString(16));\n case \"#rgba\":\n return \"#\".concat(Math.round(15 * P[0]).toString(16), Math.round(15 * P[1]).toString(16), Math.round(15 * P[2]).toString(16), Math.round(15 * P[3]).toString(16));\n case \"rgb\":\n return \"rgb(\".concat(E[0], \", \", E[1], \", \", E[2], \")\");\n case \"rgb%\":\n return \"rgb(\".concat((100 * P[0]).toPrecision(3), \"%, \", (100 * P[1]).toPrecision(3), \"%, \", (100 * P[2]).toPrecision(3), \"%)\");\n case \"rgba%\":\n return \"rgba(\".concat((100 * P[0]).toPrecision(3), \"%, \", (100 * P[1]).toPrecision(3), \"%, \", (100 * P[2]).toPrecision(3), \"%, \", (100 * P[3]).toPrecision(3), \"%)\");\n case \"hsb\":\n case \"hsv\":\n return this.hsba || (this.hsba = g.default._rgbaToHSBA(this._array)), \"hsb(\".concat(this.hsba[0] * this.maxes[h.HSB][0], \", \", this.hsba[1] * this.maxes[h.HSB][1], \", \", this.hsba[2] * this.maxes[h.HSB][2], \")\");\n case \"hsb%\":\n case \"hsv%\":\n return this.hsba || (this.hsba = g.default._rgbaToHSBA(this._array)), \"hsb(\".concat((100 * this.hsba[0]).toPrecision(3), \"%, \", (100 * this.hsba[1]).toPrecision(3), \"%, \", (100 * this.hsba[2]).toPrecision(3), \"%)\");\n case \"hsba\":\n case \"hsva\":\n return this.hsba || (this.hsba = g.default._rgbaToHSBA(this._array)), \"hsba(\".concat(this.hsba[0] * this.maxes[h.HSB][0], \", \", this.hsba[1] * this.maxes[h.HSB][1], \", \", this.hsba[2] * this.maxes[h.HSB][2], \", \", x, \")\");\n case \"hsba%\":\n case \"hsva%\":\n return this.hsba || (this.hsba = g.default._rgbaToHSBA(this._array)), \"hsba(\".concat((100 * this.hsba[0]).toPrecision(3), \"%, \", (100 * this.hsba[1]).toPrecision(3), \"%, \", (100 * this.hsba[2]).toPrecision(3), \"%, \", (100 * x).toPrecision(3), \"%)\");\n case \"hsl\":\n return this.hsla || (this.hsla = g.default._rgbaToHSLA(this._array)), \"hsl(\".concat(this.hsla[0] * this.maxes[h.HSL][0], \", \", this.hsla[1] * this.maxes[h.HSL][1], \", \", this.hsla[2] * this.maxes[h.HSL][2], \")\");\n case \"hsl%\":\n return this.hsla || (this.hsla = g.default._rgbaToHSLA(this._array)), \"hsl(\".concat((100 * this.hsla[0]).toPrecision(3), \"%, \", (100 * this.hsla[1]).toPrecision(3), \"%, \", (100 * this.hsla[2]).toPrecision(3), \"%)\");\n case \"hsla\":\n return this.hsla || (this.hsla = g.default._rgbaToHSLA(this._array)), \"hsla(\".concat(this.hsla[0] * this.maxes[h.HSL][0], \", \", this.hsla[1] * this.maxes[h.HSL][1], \", \", this.hsla[2] * this.maxes[h.HSL][2], \", \", x, \")\");\n case \"hsla%\":\n return this.hsla || (this.hsla = g.default._rgbaToHSLA(this._array)), \"hsl(\".concat((100 * this.hsla[0]).toPrecision(3), \"%, \", (100 * this.hsla[1]).toPrecision(3), \"%, \", (100 * this.hsla[2]).toPrecision(3), \"%, \", (100 * x).toPrecision(3), \"%)\");\n default:\n return \"rgba(\".concat(E[0], \",\", E[1], \",\", E[2], \",\", x, \")\");\n }\n } }, { key: \"setRed\", value: function(S) {\n this._array[0] = S / this.maxes[h.RGB][0], this._calculateLevels();\n } }, { key: \"setGreen\", value: function(S) {\n this._array[1] = S / this.maxes[h.RGB][1], this._calculateLevels();\n } }, { key: \"setBlue\", value: function(S) {\n this._array[2] = S / this.maxes[h.RGB][2], this._calculateLevels();\n } }, { key: \"setAlpha\", value: function(S) {\n this._array[3] = S / this.maxes[this.mode][3], this._calculateLevels();\n } }, { key: \"_calculateLevels\", value: function() {\n for (var S = this._array, E = this.levels = new Array(S.length), P = S.length - 1; 0 <= P; --P)\n E[P] = Math.round(255 * S[P]);\n this.hsla = null, this.hsba = null;\n } }, { key: \"_getAlpha\", value: function() {\n return this._array[3] * this.maxes[this.mode][3];\n } }, { key: \"_storeModeAndMaxes\", value: function(S, E) {\n this.mode = S, this.maxes = E;\n } }, { key: \"_getMode\", value: function() {\n return this.mode;\n } }, { key: \"_getMaxes\", value: function() {\n return this.maxes;\n } }, { key: \"_getBlue\", value: function() {\n return this._array[2] * this.maxes[h.RGB][2];\n } }, { key: \"_getBrightness\", value: function() {\n return this.hsba || (this.hsba = g.default._rgbaToHSBA(this._array)), this.hsba[2] * this.maxes[h.HSB][2];\n } }, { key: \"_getGreen\", value: function() {\n return this._array[1] * this.maxes[h.RGB][1];\n } }, { key: \"_getHue\", value: function() {\n return this.mode === h.HSB ? (this.hsba || (this.hsba = g.default._rgbaToHSBA(this._array)), this.hsba[0] * this.maxes[h.HSB][0]) : (this.hsla || (this.hsla = g.default._rgbaToHSLA(this._array)), this.hsla[0] * this.maxes[h.HSL][0]);\n } }, { key: \"_getLightness\", value: function() {\n return this.hsla || (this.hsla = g.default._rgbaToHSLA(this._array)), this.hsla[2] * this.maxes[h.HSL][2];\n } }, { key: \"_getRed\", value: function() {\n return this._array[0] * this.maxes[h.RGB][0];\n } }, { key: \"_getSaturation\", value: function() {\n return this.mode === h.HSB ? (this.hsba || (this.hsba = g.default._rgbaToHSBA(this._array)), this.hsba[1] * this.maxes[h.HSB][1]) : (this.hsla || (this.hsla = g.default._rgbaToHSLA(this._array)), this.hsla[1] * this.maxes[h.HSL][1]);\n } }]) && s(j.prototype, T), _ && s(j, _), p;\n }(), u.default.Color);\n C.default = c;\n }, { \"../core/constants\": 269, \"../core/main\": 280, \"./color_conversion\": 265, \"core-js/modules/es.array.includes\": 162, \"core-js/modules/es.array.iterator\": 164, \"core-js/modules/es.array.join\": 165, \"core-js/modules/es.array.map\": 167, \"core-js/modules/es.array.slice\": 168, \"core-js/modules/es.object.get-own-property-descriptor\": 183, \"core-js/modules/es.object.to-string\": 187, \"core-js/modules/es.regexp.constructor\": 191, \"core-js/modules/es.regexp.exec\": 192, \"core-js/modules/es.regexp.to-string\": 193, \"core-js/modules/es.string.includes\": 196, \"core-js/modules/es.string.iterator\": 197, \"core-js/modules/es.string.trim\": 206, \"core-js/modules/es.symbol\": 209, \"core-js/modules/es.symbol.description\": 207, \"core-js/modules/es.symbol.iterator\": 208, \"core-js/modules/es.weak-map\": 241, \"core-js/modules/web.dom-collections.iterator\": 243 }], 268: [function(t, H, C) {\n function m(n) {\n return (m = typeof Symbol == \"function\" && typeof Symbol.iterator == \"symbol\" ? function(s) {\n return typeof s;\n } : function(s) {\n return s && typeof Symbol == \"function\" && s.constructor === Symbol && s !== Symbol.prototype ? \"symbol\" : typeof s;\n })(n);\n }\n function y(n) {\n return (y = typeof Symbol == \"function\" && m(Symbol.iterator) === \"symbol\" ? function(s) {\n return m(s);\n } : function(s) {\n return s && typeof Symbol == \"function\" && s.constructor === Symbol && s !== Symbol.prototype ? \"symbol\" : m(s);\n })(n);\n }\n t(\"core-js/modules/es.symbol\"), t(\"core-js/modules/es.symbol.description\"), t(\"core-js/modules/es.symbol.iterator\"), t(\"core-js/modules/es.array.fill\"), t(\"core-js/modules/es.array.iterator\"), t(\"core-js/modules/es.object.get-own-property-descriptor\"), t(\"core-js/modules/es.object.to-string\"), t(\"core-js/modules/es.string.iterator\"), t(\"core-js/modules/es.weak-map\"), t(\"core-js/modules/web.dom-collections.iterator\"), t(\"core-js/modules/es.array.fill\"), Object.defineProperty(C, \"__esModule\", { value: !0 }), C.default = void 0;\n var u = (f = t(\"../core/main\")) && f.__esModule ? f : { default: f }, h = function(n) {\n if (n && n.__esModule)\n return n;\n if (n === null || y(n) !== \"object\" && typeof n != \"function\")\n return { default: n };\n var s = g();\n if (s && s.has(n))\n return s.get(n);\n var o, a = {}, l = Object.defineProperty && Object.getOwnPropertyDescriptor;\n for (o in n) {\n var r;\n Object.prototype.hasOwnProperty.call(n, o) && ((r = l ? Object.getOwnPropertyDescriptor(n, o) : null) && (r.get || r.set) ? Object.defineProperty(a, o, r) : a[o] = n[o]);\n }\n return a.default = n, s && s.set(n, a), a;\n }(t(\"../core/constants\"));\n function g() {\n var n;\n return typeof WeakMap != \"function\" ? null : (n = /* @__PURE__ */ new WeakMap(), g = function() {\n return n;\n }, n);\n }\n t(\"./p5.Color\"), u.default.prototype.beginClip = function() {\n this._renderer.beginClip(0 < arguments.length && arguments[0] !== void 0 ? arguments[0] : {});\n }, u.default.prototype.endClip = function() {\n this._renderer.endClip();\n }, u.default.prototype.clip = function(n, s) {\n this._renderer.beginClip(s), n(), this._renderer.endClip(s);\n }, u.default.prototype.background = function() {\n var n;\n return (n = this._renderer).background.apply(n, arguments), this;\n }, u.default.prototype.clear = function() {\n return this._renderer.clear((arguments.length <= 0 ? void 0 : arguments[0]) || 0, (arguments.length <= 1 ? void 0 : arguments[1]) || 0, (arguments.length <= 2 ? void 0 : arguments[2]) || 0, (arguments.length <= 3 ? void 0 : arguments[3]) || 0), this;\n }, u.default.prototype.colorMode = function(n, s, o, a, l) {\n return u.default._validateParameters(\"colorMode\", arguments), n !== h.RGB && n !== h.HSB && n !== h.HSL || (this._colorMode = n, n = this._colorMaxes[n], arguments.length === 2 ? (n[0] = s, n[1] = s, n[2] = s, n[3] = s) : arguments.length === 4 ? (n[0] = s, n[1] = o, n[2] = a) : arguments.length === 5 && (n[0] = s, n[1] = o, n[2] = a, n[3] = l)), this;\n }, u.default.prototype.fill = function() {\n var n;\n return this._renderer._setProperty(\"_fillSet\", !0), this._renderer._setProperty(\"_doFill\", !0), (n = this._renderer).fill.apply(n, arguments), this;\n }, u.default.prototype.noFill = function() {\n return this._renderer._setProperty(\"_doFill\", !1), this;\n }, u.default.prototype.noStroke = function() {\n return this._renderer._setProperty(\"_doStroke\", !1), this;\n }, u.default.prototype.stroke = function() {\n var n;\n return this._renderer._setProperty(\"_strokeSet\", !0), this._renderer._setProperty(\"_doStroke\", !0), (n = this._renderer).stroke.apply(n, arguments), this;\n }, u.default.prototype.erase = function() {\n return this._renderer.erase(0 < arguments.length && arguments[0] !== void 0 ? arguments[0] : 255, 1 < arguments.length && arguments[1] !== void 0 ? arguments[1] : 255), this;\n }, u.default.prototype.noErase = function() {\n return this._renderer.noErase(), this;\n };\n var f = u.default;\n C.default = f;\n }, { \"../core/constants\": 269, \"../core/main\": 280, \"./p5.Color\": 267, \"core-js/modules/es.array.fill\": 155, \"core-js/modules/es.array.iterator\": 164, \"core-js/modules/es.object.get-own-property-descriptor\": 183, \"core-js/modules/es.object.to-string\": 187, \"core-js/modules/es.string.iterator\": 197, \"core-js/modules/es.symbol\": 209, \"core-js/modules/es.symbol.description\": 207, \"core-js/modules/es.symbol.iterator\": 208, \"core-js/modules/es.weak-map\": 241, \"core-js/modules/web.dom-collections.iterator\": 243 }], 269: [function(t, H, C) {\n Object.defineProperty(C, \"__esModule\", { value: !0 }), C.QUADRATIC = C.LINEAR = C._CTX_MIDDLE = C._DEFAULT_LEADMULT = C._DEFAULT_TEXT_FILL = C.WORD = C.CHAR = C.BOLDITALIC = C.BOLD = C.ITALIC = C.NORMAL = C.BLUR = C.ERODE = C.DILATE = C.POSTERIZE = C.INVERT = C.OPAQUE = C.GRAY = C.THRESHOLD = C.BURN = C.DODGE = C.SOFT_LIGHT = C.HARD_LIGHT = C.OVERLAY = C.REPLACE = C.SCREEN = C.MULTIPLY = C.EXCLUSION = C.SUBTRACT = C.DIFFERENCE = C.LIGHTEST = C.DARKEST = C.ADD = C.REMOVE = C.BLEND = C.UP_ARROW = C.TAB = C.SHIFT = C.RIGHT_ARROW = C.RETURN = C.OPTION = C.LEFT_ARROW = C.ESCAPE = C.ENTER = C.DOWN_ARROW = C.DELETE = C.CONTROL = C.BACKSPACE = C.ALT = C.AUTO = C.HSL = C.HSB = C.RGB = C.MITER = C.BEVEL = C.ROUND = C.SQUARE = C.PROJECT = C.PIE = C.CHORD = C.OPEN = C.CLOSE = C.TESS = C.QUAD_STRIP = C.QUADS = C.TRIANGLE_STRIP = C.TRIANGLE_FAN = C.TRIANGLES = C.LINE_LOOP = C.LINE_STRIP = C.LINES = C.POINTS = C.BASELINE = C.BOTTOM = C.TOP = C.CENTER = C.LEFT = C.RIGHT = C.RADIUS = C.CORNERS = C.CORNER = C.RAD_TO_DEG = C.DEG_TO_RAD = C.RADIANS = C.DEGREES = C.TWO_PI = C.TAU = C.QUARTER_PI = C.PI = C.HALF_PI = C.WAIT = C.TEXT = C.MOVE = C.HAND = C.CROSS = C.ARROW = C.WEBGL2 = C.WEBGL = C.P2D = C.VERSION = void 0, C.RGBA = C.HALF_FLOAT = C.FLOAT = C.UNSIGNED_INT = C.UNSIGNED_BYTE = C.COVER = C.CONTAIN = C.FALLBACK = C.LABEL = C.AXES = C.GRID = C._DEFAULT_FILL = C._DEFAULT_STROKE = C.PORTRAIT = C.LANDSCAPE = C.SMOOTH = C.FLAT = C.MIRROR = C.CLAMP = C.REPEAT = C.NEAREST = C.IMAGE = C.IMMEDIATE = C.TEXTURE = C.FILL = C.STROKE = C.CURVE = C.BEZIER = void 0;\n var m = Math.PI, y = (C.VERSION = \"1.9.2\", C.P2D = \"p2d\", C.WEBGL = \"webgl\", C.WEBGL2 = \"webgl2\", C.ARROW = \"default\", C.CROSS = \"crosshair\", C.HAND = \"pointer\", C.MOVE = \"move\", C.TEXT = \"text\", C.WAIT = \"wait\", m / 2), y = (C.HALF_PI = y, m), y = (C.PI = y, m / 4), y = (C.QUARTER_PI = y, 2 * m), y = (C.TAU = y, 2 * m), y = (C.TWO_PI = y, C.DEGREES = \"degrees\", C.RADIANS = \"radians\", m / 180), y = (C.DEG_TO_RAD = y, 180 / m);\n C.RAD_TO_DEG = y, C.CORNER = \"corner\", C.CORNERS = \"corners\", C.RADIUS = \"radius\", C.RIGHT = \"right\", C.LEFT = \"left\", C.CENTER = \"center\", C.TOP = \"top\", C.BOTTOM = \"bottom\", C.BASELINE = \"alphabetic\", C.POINTS = 0, C.LINES = 1, C.LINE_STRIP = 3, C.LINE_LOOP = 2, C.TRIANGLES = 4, C.TRIANGLE_FAN = 6, C.TRIANGLE_STRIP = 5, C.QUADS = \"quads\", C.QUAD_STRIP = \"quad_strip\", C.TESS = \"tess\", C.CLOSE = \"close\", C.OPEN = \"open\", C.CHORD = \"chord\", C.PIE = \"pie\", C.PROJECT = \"square\", C.SQUARE = \"butt\", C.ROUND = \"round\", C.BEVEL = \"bevel\", C.MITER = \"miter\", C.RGB = \"rgb\", C.HSB = \"hsb\", C.HSL = \"hsl\", C.AUTO = \"auto\", C.ALT = 18, C.BACKSPACE = 8, C.CONTROL = 17, C.DELETE = 46, C.DOWN_ARROW = 40, C.ENTER = 13, C.ESCAPE = 27, C.LEFT_ARROW = 37, C.OPTION = 18, C.RETURN = 13, C.RIGHT_ARROW = 39, C.SHIFT = 16, C.TAB = 9, C.UP_ARROW = 38, C.BLEND = \"source-over\", C.REMOVE = \"destination-out\", C.ADD = \"lighter\", C.DARKEST = \"darken\", C.LIGHTEST = \"lighten\", C.DIFFERENCE = \"difference\", C.SUBTRACT = \"subtract\", C.EXCLUSION = \"exclusion\", C.MULTIPLY = \"multiply\", C.SCREEN = \"screen\", C.REPLACE = \"copy\", C.OVERLAY = \"overlay\", C.HARD_LIGHT = \"hard-light\", C.SOFT_LIGHT = \"soft-light\", C.DODGE = \"color-dodge\", C.BURN = \"color-burn\", C.THRESHOLD = \"threshold\", C.GRAY = \"gray\", C.OPAQUE = \"opaque\", C.INVERT = \"invert\", C.POSTERIZE = \"posterize\", C.DILATE = \"dilate\", C.ERODE = \"erode\", C.BLUR = \"blur\", C.NORMAL = \"normal\", C.ITALIC = \"italic\", C.BOLD = \"bold\", C.BOLDITALIC = \"bold italic\", C.CHAR = \"CHAR\", C.WORD = \"WORD\", C._DEFAULT_TEXT_FILL = \"#000000\", C._DEFAULT_LEADMULT = 1.25, C._CTX_MIDDLE = \"middle\", C.LINEAR = \"linear\", C.QUADRATIC = \"quadratic\", C.BEZIER = \"bezier\", C.CURVE = \"curve\", C.STROKE = \"stroke\", C.FILL = \"fill\", C.TEXTURE = \"texture\", C.IMMEDIATE = \"immediate\", C.IMAGE = \"image\", C.NEAREST = \"nearest\", C.REPEAT = \"repeat\", C.CLAMP = \"clamp\", C.MIRROR = \"mirror\", C.FLAT = \"flat\", C.SMOOTH = \"smooth\", C.LANDSCAPE = \"landscape\", C.PORTRAIT = \"portrait\", C._DEFAULT_STROKE = \"#000000\", C._DEFAULT_FILL = \"#FFFFFF\", C.GRID = \"grid\", C.AXES = \"axes\", C.LABEL = \"label\", C.FALLBACK = \"fallback\", C.CONTAIN = \"contain\", C.COVER = \"cover\", C.UNSIGNED_BYTE = \"unsigned-byte\", C.UNSIGNED_INT = \"unsigned-int\", C.FLOAT = \"float\", C.HALF_FLOAT = \"half-float\", C.RGBA = \"rgba\";\n }, {}], 270: [function(t, H, C) {\n function m(l) {\n return (m = typeof Symbol == \"function\" && typeof Symbol.iterator == \"symbol\" ? function(r) {\n return typeof r;\n } : function(r) {\n return r && typeof Symbol == \"function\" && r.constructor === Symbol && r !== Symbol.prototype ? \"symbol\" : typeof r;\n })(l);\n }\n function y(l) {\n return (y = typeof Symbol == \"function\" && m(Symbol.iterator) === \"symbol\" ? function(r) {\n return m(r);\n } : function(r) {\n return r && typeof Symbol == \"function\" && r.constructor === Symbol && r !== Symbol.prototype ? \"symbol\" : m(r);\n })(l);\n }\n t(\"core-js/modules/es.symbol\"), t(\"core-js/modules/es.symbol.description\"), t(\"core-js/modules/es.symbol.iterator\"), t(\"core-js/modules/es.array.concat\"), t(\"core-js/modules/es.array.filter\"), t(\"core-js/modules/es.array.includes\"), t(\"core-js/modules/es.array.iterator\"), t(\"core-js/modules/es.object.get-own-property-descriptor\"), t(\"core-js/modules/es.object.to-string\"), t(\"core-js/modules/es.regexp.exec\"), t(\"core-js/modules/es.string.includes\"), t(\"core-js/modules/es.string.iterator\"), t(\"core-js/modules/es.string.search\"), t(\"core-js/modules/es.string.split\"), t(\"core-js/modules/es.weak-map\"), t(\"core-js/modules/web.dom-collections.iterator\"), t(\"core-js/modules/es.array.concat\"), t(\"core-js/modules/es.array.filter\"), t(\"core-js/modules/es.array.includes\"), t(\"core-js/modules/es.regexp.exec\"), t(\"core-js/modules/es.string.includes\"), t(\"core-js/modules/es.string.search\"), t(\"core-js/modules/es.string.split\"), Object.defineProperty(C, \"__esModule\", { value: !0 }), C.default = void 0;\n var u = (h = t(\"./main\")) && h.__esModule ? h : { default: h }, h = function(l) {\n if (l && l.__esModule)\n return l;\n if (l === null || y(l) !== \"object\" && typeof l != \"function\")\n return { default: l };\n var r = g();\n if (r && r.has(l))\n return r.get(l);\n var i, c = {}, p = Object.defineProperty && Object.getOwnPropertyDescriptor;\n for (i in l) {\n var j;\n Object.prototype.hasOwnProperty.call(l, i) && ((j = p ? Object.getOwnPropertyDescriptor(l, i) : null) && (j.get || j.set) ? Object.defineProperty(c, i, j) : c[i] = l[i]);\n }\n return c.default = l, r && r.set(l, c), c;\n }(t(\"./constants\"));\n function g() {\n var l;\n return typeof WeakMap != \"function\" ? null : (l = /* @__PURE__ */ new WeakMap(), g = function() {\n return l;\n }, l);\n }\n var f = [h.ARROW, h.CROSS, h.HAND, h.MOVE, h.TEXT, h.WAIT], n = (u.default.prototype._frameRate = 0, u.default.prototype._lastFrameTime = window.performance.now(), u.default.prototype._targetFrameRate = 60, window.print), s = !1;\n function o() {\n return window.innerWidth || document.documentElement && document.documentElement.clientWidth || document.body && document.body.clientWidth || 0;\n }\n function a() {\n return window.innerHeight || document.documentElement && document.documentElement.clientHeight || document.body && document.body.clientHeight || 0;\n }\n u.default.prototype.print = function() {\n var l;\n arguments.length ? (l = console).log.apply(l, arguments) : s || (n(), window.confirm(\"You just tried to print the webpage. Do you want to prevent this from running again?\") && (s = !0));\n }, u.default.prototype.frameCount = 0, u.default.prototype.deltaTime = 0, u.default.prototype.focused = document.hasFocus(), u.default.prototype.cursor = function(l, r, i) {\n var c, p = \"auto\", j = this._curElement.elt;\n f.includes(l) ? p = l : typeof l == \"string\" && (c = \"\", r && i && typeof r == \"number\" && typeof i == \"number\" && (c = \"\".concat(r, \" \").concat(i)), p = l.substring(0, 7) === \"http://\" || l.substring(0, 8) === \"https://\" || /\\.(cur|jpg|jpeg|gif|png|CUR|JPG|JPEG|GIF|PNG)$/.test(l) ? \"url(\".concat(l, \") \").concat(c, \", auto\") : l), j.style.cursor = p;\n }, u.default.prototype.frameRate = function(l) {\n return u.default._validateParameters(\"frameRate\", arguments), typeof l != \"number\" || l < 0 ? this._frameRate : (this._setProperty(\"_targetFrameRate\", l), l === 0 && this._setProperty(\"_frameRate\", l), this);\n }, u.default.prototype.getFrameRate = function() {\n return this.frameRate();\n }, u.default.prototype.setFrameRate = function(l) {\n return this.frameRate(l);\n }, u.default.prototype.getTargetFrameRate = function() {\n return this._targetFrameRate;\n }, u.default.prototype.noCursor = function() {\n this._curElement.elt.style.cursor = \"none\";\n }, u.default.prototype.webglVersion = h.P2D, u.default.prototype.displayWidth = screen.width, u.default.prototype.displayHeight = screen.height, u.default.prototype.windowWidth = o(), u.default.prototype.windowHeight = a(), u.default.prototype._onresize = function(l) {\n this._setProperty(\"windowWidth\", o()), this._setProperty(\"windowHeight\", a());\n var r = this._isGlobal ? window : this;\n typeof r.windowResized != \"function\" || (r = r.windowResized(l)) === void 0 || r || l.preventDefault();\n }, u.default.prototype.width = 0, u.default.prototype.height = 0, u.default.prototype.fullscreen = function(l) {\n if (u.default._validateParameters(\"fullscreen\", arguments), l === void 0)\n return document.fullscreenElement || document.webkitFullscreenElement || document.mozFullScreenElement || document.msFullscreenElement;\n if (l) {\n if (l = document.documentElement, !(document.fullscreenEnabled || document.webkitFullscreenEnabled || document.mozFullScreenEnabled || document.msFullscreenEnabled))\n throw new Error(\"Fullscreen not enabled in this browser.\");\n l.requestFullscreen ? l.requestFullscreen() : l.mozRequestFullScreen ? l.mozRequestFullScreen() : l.webkitRequestFullscreen ? l.webkitRequestFullscreen() : l.msRequestFullscreen && l.msRequestFullscreen();\n } else\n document.exitFullscreen ? document.exitFullscreen() : document.mozCancelFullScreen ? document.mozCancelFullScreen() : document.webkitExitFullscreen ? document.webkitExitFullscreen() : document.msExitFullscreen && document.msExitFullscreen();\n }, u.default.prototype.pixelDensity = function(l) {\n var r;\n return u.default._validateParameters(\"pixelDensity\", arguments), typeof l == \"number\" ? (l !== this._pixelDensity && (this._pixelDensity = this._maxAllowedPixelDimensions = l), (r = this).resizeCanvas(this.width, this.height, !0)) : r = this._pixelDensity, r;\n }, u.default.prototype.displayDensity = function() {\n return window.devicePixelRatio;\n }, u.default.prototype.getURL = function() {\n return location.href;\n }, u.default.prototype.getURLPath = function() {\n return location.pathname.split(\"/\").filter(function(l) {\n return l !== \"\";\n });\n }, u.default.prototype.getURLParams = function() {\n for (var l, r = /[?&]([^&=]+)(?:[&=])([^&=]+)/gim, i = {}; (l = r.exec(location.search)) != null; )\n l.index === r.lastIndex && r.lastIndex++, i[l[1]] = l[2];\n return i;\n }, t = u.default, C.default = t;\n }, { \"./constants\": 269, \"./main\": 280, \"core-js/modules/es.array.concat\": 152, \"core-js/modules/es.array.filter\": 156, \"core-js/modules/es.array.includes\": 162, \"core-js/modules/es.array.iterator\": 164, \"core-js/modules/es.object.get-own-property-descriptor\": 183, \"core-js/modules/es.object.to-string\": 187, \"core-js/modules/es.regexp.exec\": 192, \"core-js/modules/es.string.includes\": 196, \"core-js/modules/es.string.iterator\": 197, \"core-js/modules/es.string.search\": 202, \"core-js/modules/es.string.split\": 203, \"core-js/modules/es.symbol\": 209, \"core-js/modules/es.symbol.description\": 207, \"core-js/modules/es.symbol.iterator\": 208, \"core-js/modules/es.weak-map\": 241, \"core-js/modules/web.dom-collections.iterator\": 243 }], 271: [function(t, H, C) {\n t(\"core-js/modules/es.symbol\"), t(\"core-js/modules/es.symbol.description\"), t(\"core-js/modules/es.symbol.iterator\"), t(\"core-js/modules/es.array.concat\"), t(\"core-js/modules/es.array.filter\"), t(\"core-js/modules/es.array.for-each\"), t(\"core-js/modules/es.array.includes\"), t(\"core-js/modules/es.array.iterator\"), t(\"core-js/modules/es.array.join\"), t(\"core-js/modules/es.array.map\"), t(\"core-js/modules/es.array.slice\"), t(\"core-js/modules/es.array.some\"), t(\"core-js/modules/es.function.name\"), t(\"core-js/modules/es.object.assign\"), t(\"core-js/modules/es.object.get-own-property-names\"), t(\"core-js/modules/es.object.keys\"), t(\"core-js/modules/es.object.to-string\"), t(\"core-js/modules/es.regexp.constructor\"), t(\"core-js/modules/es.regexp.exec\"), t(\"core-js/modules/es.regexp.to-string\"), t(\"core-js/modules/es.string.iterator\"), t(\"core-js/modules/es.string.match\"), t(\"core-js/modules/es.string.replace\"), t(\"core-js/modules/es.string.split\"), t(\"core-js/modules/es.string.starts-with\"), t(\"core-js/modules/web.dom-collections.for-each\"), t(\"core-js/modules/web.dom-collections.iterator\"), t(\"core-js/modules/es.symbol\"), t(\"core-js/modules/es.symbol.description\"), t(\"core-js/modules/es.symbol.iterator\"), t(\"core-js/modules/es.array.concat\"), t(\"core-js/modules/es.array.filter\"), t(\"core-js/modules/es.array.for-each\"), t(\"core-js/modules/es.array.includes\"), t(\"core-js/modules/es.array.iterator\"), t(\"core-js/modules/es.array.join\"), t(\"core-js/modules/es.array.map\"), t(\"core-js/modules/es.array.slice\"), t(\"core-js/modules/es.array.some\"), t(\"core-js/modules/es.function.name\"), t(\"core-js/modules/es.object.assign\"), t(\"core-js/modules/es.object.get-own-property-names\"), t(\"core-js/modules/es.object.keys\"), t(\"core-js/modules/es.object.to-string\"), t(\"core-js/modules/es.regexp.constructor\"), t(\"core-js/modules/es.regexp.exec\"), t(\"core-js/modules/es.regexp.to-string\"), t(\"core-js/modules/es.string.iterator\"), t(\"core-js/modules/es.string.match\"), t(\"core-js/modules/es.string.replace\"), t(\"core-js/modules/es.string.split\"), t(\"core-js/modules/es.string.starts-with\"), t(\"core-js/modules/web.dom-collections.for-each\"), t(\"core-js/modules/web.dom-collections.iterator\"), Object.defineProperty(C, \"__esModule\", { value: !0 }), C.default = void 0;\n var m = (f = t(\"../main\")) && f.__esModule ? f : { default: f };\n t(\"../internationalization\");\n function y(n, s) {\n s = s || console.log.bind(console), u || g(), u.some(function(o) {\n var a;\n if (n.message && n.message.match(\"\\\\W?\".concat(o.name, \"\\\\W\")) !== null)\n return a = o.type === \"function\" ? \"\".concat(o.name, \"()\") : o.name, s(\"Did you just try to use p5.js's \".concat(a, \" \").concat(o.type, `? If so, you may want to move it into your sketch's setup() function.\n\nFor more details, see: `).concat(h)), !0;\n });\n }\n var u = null, g = null, h = (m.default._friendlyError = m.default._checkForUserDefinedFunctions = m.default._fesErrorMonitor = function() {\n }, u = null, \"https://github.com/processing/p5.js/wiki/p5.js-overview#why-cant-i-assign-variables-using-p5-functions-and-variables-before-setup\"), g = function() {\n function n(o) {\n return Object.getOwnPropertyNames(o).filter(function(a) {\n return a[0] !== \"_\" && !(a in s) && (s[a] = !0);\n }).map(function(a) {\n var l = typeof o[a] == \"function\" ? \"function\" : a === a.toUpperCase() ? \"constant\" : \"variable\";\n return { name: a, type: l };\n });\n }\n var s = {};\n (u = [].concat(n(m.default.prototype), n(t(\"../constants\")))).sort(function(o, a) {\n return a.name.length - o.name.length;\n });\n }, f = (m.default.prototype._helpForMisusedAtTopLevelCode = y, document.readyState !== \"complete\" && (window.addEventListener(\"error\", y, !1), window.addEventListener(\"load\", function() {\n window.removeEventListener(\"error\", y, !1);\n })), m.default);\n C.default = f;\n }, { \"../constants\": 269, \"../internationalization\": 278, \"../main\": 280, \"./browser_errors\": void 0, \"core-js/modules/es.array.concat\": 152, \"core-js/modules/es.array.filter\": 156, \"core-js/modules/es.array.for-each\": 160, \"core-js/modules/es.array.includes\": 162, \"core-js/modules/es.array.iterator\": 164, \"core-js/modules/es.array.join\": 165, \"core-js/modules/es.array.map\": 167, \"core-js/modules/es.array.slice\": 168, \"core-js/modules/es.array.some\": 169, \"core-js/modules/es.function.name\": 173, \"core-js/modules/es.object.assign\": 181, \"core-js/modules/es.object.get-own-property-names\": 184, \"core-js/modules/es.object.keys\": 186, \"core-js/modules/es.object.to-string\": 187, \"core-js/modules/es.regexp.constructor\": 191, \"core-js/modules/es.regexp.exec\": 192, \"core-js/modules/es.regexp.to-string\": 193, \"core-js/modules/es.string.iterator\": 197, \"core-js/modules/es.string.match\": 198, \"core-js/modules/es.string.replace\": 201, \"core-js/modules/es.string.split\": 203, \"core-js/modules/es.string.starts-with\": 204, \"core-js/modules/es.symbol\": 209, \"core-js/modules/es.symbol.description\": 207, \"core-js/modules/es.symbol.iterator\": 208, \"core-js/modules/web.dom-collections.for-each\": 242, \"core-js/modules/web.dom-collections.iterator\": 243 }], 272: [function(t, H, C) {\n Object.defineProperty(C, \"__esModule\", { value: !0 }), C.default = void 0;\n var m = (m = t(\"../main\")) && m.__esModule ? m : { default: m };\n t(\"../internationalization\"), m.default._friendlyFileLoadError = function() {\n }, t = m.default, C.default = t;\n }, { \"../internationalization\": 278, \"../main\": 280 }], 273: [function(t, H, C) {\n function m(s) {\n return (m = typeof Symbol == \"function\" && typeof Symbol.iterator == \"symbol\" ? function(o) {\n return typeof o;\n } : function(o) {\n return o && typeof Symbol == \"function\" && o.constructor === Symbol && o !== Symbol.prototype ? \"symbol\" : typeof o;\n })(s);\n }\n function y(s) {\n return (y = typeof Symbol == \"function\" && m(Symbol.iterator) === \"symbol\" ? function(o) {\n return m(o);\n } : function(o) {\n return o && typeof Symbol == \"function\" && o.constructor === Symbol && o !== Symbol.prototype ? \"symbol\" : m(o);\n })(s);\n }\n t(\"core-js/modules/es.symbol\"), t(\"core-js/modules/es.symbol.description\"), t(\"core-js/modules/es.symbol.iterator\"), t(\"core-js/modules/es.array.filter\"), t(\"core-js/modules/es.array.for-each\"), t(\"core-js/modules/es.array.from\"), t(\"core-js/modules/es.array.includes\"), t(\"core-js/modules/es.array.index-of\"), t(\"core-js/modules/es.array.iterator\"), t(\"core-js/modules/es.array.join\"), t(\"core-js/modules/es.array.map\"), t(\"core-js/modules/es.array.slice\"), t(\"core-js/modules/es.object.get-own-property-descriptor\"), t(\"core-js/modules/es.object.keys\"), t(\"core-js/modules/es.object.to-string\"), t(\"core-js/modules/es.regexp.constructor\"), t(\"core-js/modules/es.regexp.exec\"), t(\"core-js/modules/es.regexp.to-string\"), t(\"core-js/modules/es.string.includes\"), t(\"core-js/modules/es.string.iterator\"), t(\"core-js/modules/es.string.match\"), t(\"core-js/modules/es.string.split\"), t(\"core-js/modules/es.string.trim\"), t(\"core-js/modules/es.weak-map\"), t(\"core-js/modules/web.dom-collections.for-each\"), t(\"core-js/modules/web.dom-collections.iterator\"), t(\"core-js/modules/es.array.filter\"), t(\"core-js/modules/es.array.for-each\"), t(\"core-js/modules/es.array.includes\"), t(\"core-js/modules/es.array.index-of\"), t(\"core-js/modules/es.array.join\"), t(\"core-js/modules/es.array.map\"), t(\"core-js/modules/es.array.slice\"), t(\"core-js/modules/es.object.keys\"), t(\"core-js/modules/es.regexp.constructor\"), t(\"core-js/modules/es.regexp.exec\"), t(\"core-js/modules/es.regexp.to-string\"), t(\"core-js/modules/es.string.includes\"), t(\"core-js/modules/es.string.match\"), t(\"core-js/modules/es.string.split\"), t(\"core-js/modules/es.string.trim\"), t(\"core-js/modules/web.dom-collections.for-each\"), Object.defineProperty(C, \"__esModule\", { value: !0 }), C.default = void 0;\n var u = f(t(\"../main\"));\n t(\"../internationalization\"), g(t(\"../constants\"));\n function h() {\n var s;\n return typeof WeakMap != \"function\" ? null : (s = /* @__PURE__ */ new WeakMap(), h = function() {\n return s;\n }, s);\n }\n function g(s) {\n if (s && s.__esModule)\n return s;\n if (s === null || y(s) !== \"object\" && typeof s != \"function\")\n return { default: s };\n var o = h();\n if (o && o.has(s))\n return o.get(s);\n var a, l, r = {}, i = Object.defineProperty && Object.getOwnPropertyDescriptor;\n for (a in s)\n Object.prototype.hasOwnProperty.call(s, a) && ((l = i ? Object.getOwnPropertyDescriptor(s, a) : null) && (l.get || l.set) ? Object.defineProperty(r, a, l) : r[a] = s[a]);\n return r.default = s, o && o.set(s, r), r;\n }\n function f(s) {\n return s && s.__esModule ? s : { default: s };\n }\n u.default._fesCodeReader = function() {\n };\n var n = u.default;\n C.default = n;\n }, { \"../constants\": 269, \"../internationalization\": 278, \"../main\": 280, \"core-js/modules/es.array.filter\": 156, \"core-js/modules/es.array.for-each\": 160, \"core-js/modules/es.array.from\": 161, \"core-js/modules/es.array.includes\": 162, \"core-js/modules/es.array.index-of\": 163, \"core-js/modules/es.array.iterator\": 164, \"core-js/modules/es.array.join\": 165, \"core-js/modules/es.array.map\": 167, \"core-js/modules/es.array.slice\": 168, \"core-js/modules/es.object.get-own-property-descriptor\": 183, \"core-js/modules/es.object.keys\": 186, \"core-js/modules/es.object.to-string\": 187, \"core-js/modules/es.regexp.constructor\": 191, \"core-js/modules/es.regexp.exec\": 192, \"core-js/modules/es.regexp.to-string\": 193, \"core-js/modules/es.string.includes\": 196, \"core-js/modules/es.string.iterator\": 197, \"core-js/modules/es.string.match\": 198, \"core-js/modules/es.string.split\": 203, \"core-js/modules/es.string.trim\": 206, \"core-js/modules/es.symbol\": 209, \"core-js/modules/es.symbol.description\": 207, \"core-js/modules/es.symbol.iterator\": 208, \"core-js/modules/es.weak-map\": 241, \"core-js/modules/web.dom-collections.for-each\": 242, \"core-js/modules/web.dom-collections.iterator\": 243 }], 274: [function(t, H, C) {\n t(\"core-js/modules/es.array.filter\"), t(\"core-js/modules/es.array.index-of\"), t(\"core-js/modules/es.array.join\"), t(\"core-js/modules/es.array.map\"), t(\"core-js/modules/es.array.slice\"), t(\"core-js/modules/es.regexp.exec\"), t(\"core-js/modules/es.string.match\"), t(\"core-js/modules/es.string.replace\"), t(\"core-js/modules/es.string.split\"), t(\"core-js/modules/es.array.filter\"), t(\"core-js/modules/es.array.index-of\"), t(\"core-js/modules/es.array.join\"), t(\"core-js/modules/es.array.map\"), t(\"core-js/modules/es.array.slice\"), t(\"core-js/modules/es.regexp.exec\"), t(\"core-js/modules/es.string.match\"), t(\"core-js/modules/es.string.replace\"), t(\"core-js/modules/es.string.split\"), Object.defineProperty(C, \"__esModule\", { value: !0 }), C.default = void 0, t = (t = t(\"../main\")) && t.__esModule ? t : { default: t };\n function m() {\n var y = /(^|@)\\S+:\\d+/, u = /^\\s*at .*(\\S+:\\d+|\\(native\\))/m, h = /^(eval@)?(\\[native code])?$/;\n return { parse: function(g) {\n return g.stacktrace !== void 0 || g[\"opera#sourceloc\"] !== void 0 ? this.parseOpera(g) : g.stack && g.stack.match(u) ? this.parseV8OrIE(g) : g.stack ? this.parseFFOrSafari(g) : void 0;\n }, extractLocation: function(g) {\n return g.indexOf(\":\") === -1 ? [g] : [(g = /(.+?)(?::(\\d+))?(?::(\\d+))?$/.exec(g.replace(/[()]/g, \"\")))[1], g[2] || void 0, g[3] || void 0];\n }, parseV8OrIE: function(g) {\n return g.stack.split(`\n`).filter(function(f) {\n return !!f.match(u);\n }, this).map(function(f) {\n var n = (f = -1 < f.indexOf(\"(eval \") ? f.replace(/eval code/g, \"eval\").replace(/(\\(eval at [^()]*)|(\\),.*$)/g, \"\") : f).replace(/^\\s+/, \"\").replace(/\\(eval code/g, \"(\"), s = n.match(/ (\\((.+):(\\d+):(\\d+)\\)$)/), n = (n = s ? n.replace(s[0], \"\") : n).split(/\\s+/).slice(1), s = this.extractLocation(s ? s[1] : n.pop());\n return { functionName: n.join(\" \") || void 0, fileName: -1 < [\"eval\", \"\"].indexOf(s[0]) ? void 0 : s[0], lineNumber: s[1], columnNumber: s[2], source: f };\n }, this);\n }, parseFFOrSafari: function(g) {\n return g.stack.split(`\n`).filter(function(f) {\n return !f.match(h);\n }, this).map(function(f) {\n var n, s;\n return (f = -1 < f.indexOf(\" > eval\") ? f.replace(/ line (\\d+)(?: > eval line \\d+)* > eval:\\d+:\\d+/g, \":$1\") : f).indexOf(\"@\") === -1 && f.indexOf(\":\") === -1 ? { functionName: f } : { functionName: (s = f.match(n = /((.*\".+\"[^@]*)?[^@]*)(?:@)/)) && s[1] ? s[1] : void 0, fileName: (s = this.extractLocation(f.replace(n, \"\")))[0], lineNumber: s[1], columnNumber: s[2], source: f };\n }, this);\n }, parseOpera: function(g) {\n return !g.stacktrace || -1 < g.message.indexOf(`\n`) && g.message.split(`\n`).length > g.stacktrace.split(`\n`).length ? this.parseOpera9(g) : g.stack ? this.parseOpera11(g) : this.parseOpera10(g);\n }, parseOpera9: function(g) {\n for (var f = /Line (\\d+).*script (?:in )?(\\S+)/i, n = g.message.split(`\n`), s = [], o = 2, a = n.length; o < a; o += 2) {\n var l = f.exec(n[o]);\n l && s.push({ fileName: l[2], lineNumber: l[1], source: n[o] });\n }\n return s;\n }, parseOpera10: function(g) {\n for (var f = /Line (\\d+).*script (?:in )?(\\S+)(?:: In function (\\S+))?$/i, n = g.stacktrace.split(`\n`), s = [], o = 0, a = n.length; o < a; o += 2) {\n var l = f.exec(n[o]);\n l && s.push({ functionName: l[3] || void 0, fileName: l[2], lineNumber: l[1], source: n[o] });\n }\n return s;\n }, parseOpera11: function(g) {\n return g.stack.split(`\n`).filter(function(f) {\n return !!f.match(y) && !f.match(/^Error created at/);\n }, this).map(function(f) {\n var n, o = f.split(\"@\"), s = this.extractLocation(o.pop()), o = o.shift() || \"\";\n return { functionName: o.replace(//, \"$2\").replace(/\\([^)]*\\)/g, \"\") || void 0, args: (n = o.match(/\\(([^)]*)\\)/) ? o.replace(/^[^(]+\\(([^)]*)\\)$/, \"$1\") : n) === void 0 || n === \"[arguments not available]\" ? void 0 : n.split(\",\"), fileName: s[0], lineNumber: s[1], columnNumber: s[2], source: f };\n }, this);\n } };\n }\n t.default._getErrorStackParser = function() {\n return new m();\n }, t = t.default, C.default = t;\n }, { \"../main\": 280, \"core-js/modules/es.array.filter\": 156, \"core-js/modules/es.array.index-of\": 163, \"core-js/modules/es.array.join\": 165, \"core-js/modules/es.array.map\": 167, \"core-js/modules/es.array.slice\": 168, \"core-js/modules/es.regexp.exec\": 192, \"core-js/modules/es.string.match\": 198, \"core-js/modules/es.string.replace\": 201, \"core-js/modules/es.string.split\": 203 }], 275: [function(t, H, C) {\n function m(g) {\n return (m = typeof Symbol == \"function\" && typeof Symbol.iterator == \"symbol\" ? function(f) {\n return typeof f;\n } : function(f) {\n return f && typeof Symbol == \"function\" && f.constructor === Symbol && f !== Symbol.prototype ? \"symbol\" : typeof f;\n })(g);\n }\n t(\"core-js/modules/es.symbol\"), t(\"core-js/modules/es.symbol.description\"), t(\"core-js/modules/es.symbol.iterator\"), t(\"core-js/modules/es.array.concat\"), t(\"core-js/modules/es.array.for-each\"), t(\"core-js/modules/es.array.includes\"), t(\"core-js/modules/es.array.index-of\"), t(\"core-js/modules/es.array.iterator\"), t(\"core-js/modules/es.array.join\"), t(\"core-js/modules/es.array.last-index-of\"), t(\"core-js/modules/es.array.map\"), t(\"core-js/modules/es.array.slice\"), t(\"core-js/modules/es.function.name\"), t(\"core-js/modules/es.map\"), t(\"core-js/modules/es.number.constructor\"), t(\"core-js/modules/es.object.get-own-property-descriptor\"), t(\"core-js/modules/es.object.get-prototype-of\"), t(\"core-js/modules/es.object.keys\"), t(\"core-js/modules/es.object.to-string\"), t(\"core-js/modules/es.reflect.construct\"), t(\"core-js/modules/es.regexp.exec\"), t(\"core-js/modules/es.regexp.to-string\"), t(\"core-js/modules/es.set\"), t(\"core-js/modules/es.string.includes\"), t(\"core-js/modules/es.string.iterator\"), t(\"core-js/modules/es.string.split\"), t(\"core-js/modules/es.weak-map\"), t(\"core-js/modules/web.dom-collections.for-each\"), t(\"core-js/modules/web.dom-collections.iterator\"), t(\"core-js/modules/es.symbol\"), t(\"core-js/modules/es.symbol.description\"), t(\"core-js/modules/es.symbol.iterator\"), t(\"core-js/modules/es.array.concat\"), t(\"core-js/modules/es.array.for-each\"), t(\"core-js/modules/es.array.includes\"), t(\"core-js/modules/es.array.iterator\"), t(\"core-js/modules/es.array.join\"), t(\"core-js/modules/es.array.last-index-of\"), t(\"core-js/modules/es.array.map\"), t(\"core-js/modules/es.array.slice\"), t(\"core-js/modules/es.function.name\"), t(\"core-js/modules/es.number.constructor\"), t(\"core-js/modules/es.object.keys\"), t(\"core-js/modules/es.object.to-string\"), t(\"core-js/modules/es.regexp.exec\"), t(\"core-js/modules/es.regexp.to-string\"), t(\"core-js/modules/es.set\"), t(\"core-js/modules/es.string.includes\"), t(\"core-js/modules/es.string.iterator\"), t(\"core-js/modules/es.string.split\"), t(\"core-js/modules/web.dom-collections.for-each\"), t(\"core-js/modules/web.dom-collections.iterator\"), Object.defineProperty(C, \"__esModule\", { value: !0 }), C.default = void 0;\n var y = (y = t(\"../main\")) && y.__esModule ? y : { default: y };\n (function(g) {\n if (!(g && g.__esModule) && !(g === null || h(g) !== \"object\" && typeof g != \"function\")) {\n var f = u();\n if (f && f.has(g))\n return f.get(g);\n var n, s = {}, o = Object.defineProperty && Object.getOwnPropertyDescriptor;\n for (n in g) {\n var a;\n Object.prototype.hasOwnProperty.call(g, n) && ((a = o ? Object.getOwnPropertyDescriptor(g, n) : null) && (a.get || a.set) ? Object.defineProperty(s, n, a) : s[n] = g[n]);\n }\n s.default = g, f && f.set(g, s);\n }\n })(t(\"../constants\")), t(\"../internationalization\");\n function u() {\n var g;\n return typeof WeakMap != \"function\" ? null : (g = /* @__PURE__ */ new WeakMap(), u = function() {\n return g;\n }, g);\n }\n function h(g) {\n return (h = typeof Symbol == \"function\" && m(Symbol.iterator) === \"symbol\" ? function(f) {\n return m(f);\n } : function(f) {\n return f && typeof Symbol == \"function\" && f.constructor === Symbol && f !== Symbol.prototype ? \"symbol\" : m(f);\n })(g);\n }\n y.default._validateParameters = y.default._clearValidateParamsCache = function() {\n }, t = y.default, C.default = t;\n }, { \"../../../docs/parameterData.json\": void 0, \"../constants\": 269, \"../internationalization\": 278, \"../main\": 280, \"core-js/modules/es.array.concat\": 152, \"core-js/modules/es.array.for-each\": 160, \"core-js/modules/es.array.includes\": 162, \"core-js/modules/es.array.index-of\": 163, \"core-js/modules/es.array.iterator\": 164, \"core-js/modules/es.array.join\": 165, \"core-js/modules/es.array.last-index-of\": 166, \"core-js/modules/es.array.map\": 167, \"core-js/modules/es.array.slice\": 168, \"core-js/modules/es.function.name\": 173, \"core-js/modules/es.map\": 174, \"core-js/modules/es.number.constructor\": 178, \"core-js/modules/es.object.get-own-property-descriptor\": 183, \"core-js/modules/es.object.get-prototype-of\": 185, \"core-js/modules/es.object.keys\": 186, \"core-js/modules/es.object.to-string\": 187, \"core-js/modules/es.reflect.construct\": 189, \"core-js/modules/es.regexp.exec\": 192, \"core-js/modules/es.regexp.to-string\": 193, \"core-js/modules/es.set\": 194, \"core-js/modules/es.string.includes\": 196, \"core-js/modules/es.string.iterator\": 197, \"core-js/modules/es.string.split\": 203, \"core-js/modules/es.symbol\": 209, \"core-js/modules/es.symbol.description\": 207, \"core-js/modules/es.symbol.iterator\": 208, \"core-js/modules/es.weak-map\": 241, \"core-js/modules/web.dom-collections.for-each\": 242, \"core-js/modules/web.dom-collections.iterator\": 243 }], 276: [function(t, H, C) {\n function m(g) {\n return (m = typeof Symbol == \"function\" && typeof Symbol.iterator == \"symbol\" ? function(f) {\n return typeof f;\n } : function(f) {\n return f && typeof Symbol == \"function\" && f.constructor === Symbol && f !== Symbol.prototype ? \"symbol\" : typeof f;\n })(g);\n }\n function y(g) {\n return (y = typeof Symbol == \"function\" && m(Symbol.iterator) === \"symbol\" ? function(f) {\n return m(f);\n } : function(f) {\n return f && typeof Symbol == \"function\" && f.constructor === Symbol && f !== Symbol.prototype ? \"symbol\" : m(f);\n })(g);\n }\n t(\"core-js/modules/es.symbol\"), t(\"core-js/modules/es.symbol.description\"), t(\"core-js/modules/es.symbol.iterator\"), t(\"core-js/modules/es.array.iterator\"), t(\"core-js/modules/es.object.get-own-property-descriptor\"), t(\"core-js/modules/es.object.to-string\"), t(\"core-js/modules/es.string.iterator\"), t(\"core-js/modules/es.weak-map\"), t(\"core-js/modules/web.dom-collections.iterator\"), Object.defineProperty(C, \"__esModule\", { value: !0 }), C.default = void 0;\n var u = function(g) {\n if (g && g.__esModule)\n return g;\n if (g === null || y(g) !== \"object\" && typeof g != \"function\")\n return { default: g };\n var f = h();\n if (f && f.has(g))\n return f.get(g);\n var n, s = {}, o = Object.defineProperty && Object.getOwnPropertyDescriptor;\n for (n in g) {\n var a;\n Object.prototype.hasOwnProperty.call(g, n) && ((a = o ? Object.getOwnPropertyDescriptor(g, n) : null) && (a.get || a.set) ? Object.defineProperty(s, n, a) : s[n] = g[n]);\n }\n return s.default = g, f && f.set(g, s), s;\n }(t(\"./constants\"));\n function h() {\n var g;\n return typeof WeakMap != \"function\" ? null : (g = /* @__PURE__ */ new WeakMap(), h = function() {\n return g;\n }, g);\n }\n C.default = { modeAdjust: function(g, f, n, s, o) {\n return o === u.CORNER ? { x: g, y: f, w: n, h: s } : o === u.CORNERS ? { x: g, y: f, w: n - g, h: s - f } : o === u.RADIUS ? { x: g - n, y: f - s, w: 2 * n, h: 2 * s } : o === u.CENTER ? { x: g - 0.5 * n, y: f - 0.5 * s, w: n, h: s } : void 0;\n } };\n }, { \"./constants\": 269, \"core-js/modules/es.array.iterator\": 164, \"core-js/modules/es.object.get-own-property-descriptor\": 183, \"core-js/modules/es.object.to-string\": 187, \"core-js/modules/es.string.iterator\": 197, \"core-js/modules/es.symbol\": 209, \"core-js/modules/es.symbol.description\": 207, \"core-js/modules/es.symbol.iterator\": 208, \"core-js/modules/es.weak-map\": 241, \"core-js/modules/web.dom-collections.iterator\": 243 }], 277: [function(t, H, C) {\n t(\"core-js/modules/es.array.iterator\"), t(\"core-js/modules/es.object.to-string\"), t(\"core-js/modules/es.promise\"), t(\"core-js/modules/es.string.iterator\"), t(\"core-js/modules/web.dom-collections.iterator\"), t(\"core-js/modules/es.array.iterator\"), t(\"core-js/modules/es.object.to-string\"), t(\"core-js/modules/es.promise\"), t(\"core-js/modules/es.string.iterator\"), t(\"core-js/modules/web.dom-collections.iterator\");\n var m = (y = t(\"../core/main\")) && y.__esModule ? y : { default: y };\n t(\"./internationalization\");\n var y = Promise.resolve();\n Promise.all([new Promise(function(u, h) {\n document.readyState === \"complete\" ? u() : window.addEventListener(\"load\", u, !1);\n }), y]).then(function() {\n window._setupDone !== void 0 ? console.warn(\"p5.js seems to have been imported multiple times. Please remove the duplicate import\") : window.mocha || (window.setup && typeof window.setup == \"function\" || window.draw && typeof window.draw == \"function\") && !m.default.instance && new m.default();\n });\n }, { \"../core/main\": 280, \"./internationalization\": 278, \"core-js/modules/es.array.iterator\": 164, \"core-js/modules/es.object.to-string\": 187, \"core-js/modules/es.promise\": 188, \"core-js/modules/es.string.iterator\": 197, \"core-js/modules/web.dom-collections.iterator\": 243 }], 278: [function(t, H, C) {\n t(\"core-js/modules/es.array.includes\"), t(\"core-js/modules/es.array.iterator\"), t(\"core-js/modules/es.array.join\"), t(\"core-js/modules/es.array.slice\"), t(\"core-js/modules/es.object.keys\"), t(\"core-js/modules/es.object.to-string\"), t(\"core-js/modules/es.promise\"), t(\"core-js/modules/es.regexp.exec\"), t(\"core-js/modules/es.string.includes\"), t(\"core-js/modules/es.string.iterator\"), t(\"core-js/modules/es.string.split\"), t(\"core-js/modules/web.dom-collections.iterator\"), t(\"core-js/modules/es.array.includes\"), t(\"core-js/modules/es.array.iterator\"), t(\"core-js/modules/es.array.join\"), t(\"core-js/modules/es.array.slice\"), t(\"core-js/modules/es.object.keys\"), t(\"core-js/modules/es.object.to-string\"), t(\"core-js/modules/es.promise\"), t(\"core-js/modules/es.regexp.exec\"), t(\"core-js/modules/es.string.includes\"), t(\"core-js/modules/es.string.iterator\"), t(\"core-js/modules/es.string.split\"), t(\"core-js/modules/web.dom-collections.iterator\"), Object.defineProperty(C, \"__esModule\", { value: !0 }), C.setTranslatorLanguage = C.currentTranslatorLanguage = C.availableTranslatorLanguages = C.initialize = C.translator = void 0;\n var m, y, u = g(t(\"i18next\")), h = g(t(\"i18next-browser-languagedetector\"));\n function g(s) {\n return s && s.__esModule ? s : { default: s };\n }\n function f(s, o) {\n for (var a = 0; a < o.length; a++) {\n var l = o[a];\n l.enumerable = l.enumerable || !1, l.configurable = !0, \"value\" in l && (l.writable = !0), Object.defineProperty(s, l.key, l);\n }\n }\n var n = function() {\n function s(l, r) {\n if (!(this instanceof s))\n throw new TypeError(\"Cannot call a class as a function\");\n this.init(l, r);\n }\n var o, a;\n return o = s, (a = [{ key: \"fetchWithTimeout\", value: function(l, r) {\n var i = 2 < arguments.length && arguments[2] !== void 0 ? arguments[2] : 2e3;\n return Promise.race([fetch(l, r), new Promise(function(c, p) {\n return setTimeout(function() {\n return p(new Error(\"timeout\"));\n }, i);\n })]);\n } }, { key: \"init\", value: function(l) {\n var r = 1 < arguments.length && arguments[1] !== void 0 ? arguments[1] : {};\n this.services = l, this.options = r;\n } }, { key: \"read\", value: function(l, r, i) {\n var c = this.options.loadPath;\n l === this.options.fallback ? i(null, m[l][r]) : y.includes(l) ? (c = this.services.interpolator.interpolate(c, { lng: l, ns: r }), this.loadUrl(c, i)) : i(\"Not found\", !1);\n } }, { key: \"loadUrl\", value: function(l, r) {\n this.fetchWithTimeout(l).then(function(i) {\n if (i.ok)\n return i.json();\n throw new Error(\"failed loading \".concat(l));\n }, function() {\n throw new Error(\"failed loading \".concat(l));\n }).then(function(i) {\n return r(null, i);\n }).catch(r);\n } }]) && f(o.prototype, a), s;\n }();\n n.type = \"backend\", C.translator = function(s, o) {\n console.debug(\"p5.js translator called before translations were loaded\"), u.default.t(s, o);\n }, C.initialize = function() {\n return u.default.use(h.default).use(n).init({ fallbackLng: \"en\", nestingPrefix: \"$tr(\", nestingSuffix: \")\", defaultNS: \"translation\", returnEmptyString: !1, interpolation: { escapeValue: !1 }, detection: { checkWhitelist: !1, order: [\"querystring\", \"navigator\", \"htmlTag\", \"path\", \"subdomain\"], caches: [] }, backend: { fallback: \"en\", loadPath: \"https://cdn.jsdelivr.net/npm/p5/translations/{{lng}}/{{ns}}.json\" }, partialBundledLanguages: !0, resources: m }).then(function(s) {\n C.translator = s;\n }, function(s) {\n return console.debug(\"Translations failed to load (\".concat(s, \")\"));\n });\n }, C.availableTranslatorLanguages = function() {\n return u.default.languages;\n }, C.currentTranslatorLanguage = function(s) {\n return u.default.language;\n }, C.setTranslatorLanguage = function(s) {\n return u.default.changeLanguage(s || void 0, function(o) {\n return console.debug(\"Translations failed to load (\".concat(o, \")\"));\n });\n };\n }, { \"../../translations\": void 0, \"../../translations/dev\": void 0, \"core-js/modules/es.array.includes\": 162, \"core-js/modules/es.array.iterator\": 164, \"core-js/modules/es.array.join\": 165, \"core-js/modules/es.array.slice\": 168, \"core-js/modules/es.object.keys\": 186, \"core-js/modules/es.object.to-string\": 187, \"core-js/modules/es.promise\": 188, \"core-js/modules/es.regexp.exec\": 192, \"core-js/modules/es.string.includes\": 196, \"core-js/modules/es.string.iterator\": 197, \"core-js/modules/es.string.split\": 203, \"core-js/modules/web.dom-collections.iterator\": 243, i18next: 3, \"i18next-browser-languagedetector\": 3 }], 279: [function(t, H, C) {\n Object.defineProperty(C, \"__esModule\", { value: !0 }), C.default = void 0, t = (t = t(\"./main\")) && t.__esModule ? t : { default: t }, t.default.prototype.pushStyle = function() {\n throw new Error(\"pushStyle() not used, see push()\");\n }, t.default.prototype.popStyle = function() {\n throw new Error(\"popStyle() not used, see pop()\");\n }, t.default.prototype.popMatrix = function() {\n throw new Error(\"popMatrix() not used, see pop()\");\n }, t.default.prototype.pushMatrix = function() {\n throw new Error(\"pushMatrix() not used, see push()\");\n }, t = t.default, C.default = t;\n }, { \"./main\": 280 }], 280: [function(t, H, C) {\n function m(s) {\n return (m = typeof Symbol == \"function\" && typeof Symbol.iterator == \"symbol\" ? function(o) {\n return typeof o;\n } : function(o) {\n return o && typeof Symbol == \"function\" && o.constructor === Symbol && o !== Symbol.prototype ? \"symbol\" : typeof o;\n })(s);\n }\n function y(s) {\n return (y = typeof Symbol == \"function\" && m(Symbol.iterator) === \"symbol\" ? function(o) {\n return m(o);\n } : function(o) {\n return o && typeof Symbol == \"function\" && o.constructor === Symbol && o !== Symbol.prototype ? \"symbol\" : m(o);\n })(s);\n }\n t(\"core-js/modules/es.symbol\"), t(\"core-js/modules/es.symbol.description\"), t(\"core-js/modules/es.symbol.iterator\"), t(\"core-js/modules/es.array.for-each\"), t(\"core-js/modules/es.array.iterator\"), t(\"core-js/modules/es.array.slice\"), t(\"core-js/modules/es.array.splice\"), t(\"core-js/modules/es.object.get-own-property-descriptor\"), t(\"core-js/modules/es.object.get-own-property-names\"), t(\"core-js/modules/es.object.to-string\"), t(\"core-js/modules/es.string.iterator\"), t(\"core-js/modules/es.weak-map\"), t(\"core-js/modules/web.dom-collections.for-each\"), t(\"core-js/modules/web.dom-collections.iterator\"), t(\"core-js/modules/es.symbol\"), t(\"core-js/modules/es.symbol.description\"), t(\"core-js/modules/es.symbol.iterator\"), t(\"core-js/modules/es.array.for-each\"), t(\"core-js/modules/es.array.iterator\"), t(\"core-js/modules/es.array.slice\"), t(\"core-js/modules/es.array.splice\"), t(\"core-js/modules/es.object.get-own-property-names\"), t(\"core-js/modules/es.object.to-string\"), t(\"core-js/modules/es.string.iterator\"), t(\"core-js/modules/web.dom-collections.for-each\"), t(\"core-js/modules/web.dom-collections.iterator\"), Object.defineProperty(C, \"__esModule\", { value: !0 }), C.default = void 0, t(\"./shim\");\n var u = function(s) {\n if (s && s.__esModule)\n return s;\n if (s === null || y(s) !== \"object\" && typeof s != \"function\")\n return { default: s };\n var o = h();\n if (o && o.has(s))\n return o.get(s);\n var a, l = {}, r = Object.defineProperty && Object.getOwnPropertyDescriptor;\n for (a in s) {\n var i;\n Object.prototype.hasOwnProperty.call(s, a) && ((i = r ? Object.getOwnPropertyDescriptor(s, a) : null) && (i.get || i.set) ? Object.defineProperty(l, a, i) : l[a] = s[a]);\n }\n return l.default = s, o && o.set(s, l), l;\n }(t(\"./constants\"));\n function h() {\n var s;\n return typeof WeakMap != \"function\" ? null : (s = /* @__PURE__ */ new WeakMap(), h = function() {\n return s;\n }, s);\n }\n function g(s, o) {\n for (var a = 0; a < o.length; a++) {\n var l = o[a];\n l.enumerable = l.enumerable || !1, l.configurable = !0, \"value\" in l && (l.writable = !0), Object.defineProperty(s, l.key, l);\n }\n }\n var f, n = function() {\n function s(l, c) {\n var i = this;\n if (!(this instanceof s))\n throw new TypeError(\"Cannot call a class as a function\");\n this._setupDone = !1, this._preloadDone = !1, this._pixelDensity = Math.ceil(window.devicePixelRatio) || 1, this._maxAllowedPixelDimensions = 0, this._userNode = c, this._curElement = null, this._elements = [], this._glAttributes = null, this._requestAnimId = 0, this._preloadCount = 0, this._isGlobal = !1, this._loop = !0, this._startListener = null, this._initializeInstanceVariables(), this._defaultCanvasSize = { width: 100, height: 100 }, this._events = { mousemove: null, mousedown: null, mouseup: null, dragend: null, dragover: null, click: null, dblclick: null, mouseover: null, mouseout: null, keydown: null, keyup: null, keypress: null, touchstart: null, touchmove: null, touchend: null, resize: null, blur: null }, this._millisStart = -1, this._recording = !1, this.touchstart = !1, this.touchend = !1, this._lcg_random_state = null, this._gaussian_previous = !1, this._events.wheel = null, this._loadingScreenId = \"p5_loading\", this._registeredMethods = {};\n var c = Object.getOwnPropertyNames(s.prototype._registeredMethods), p = !0, j = !1, T = void 0;\n try {\n for (var _, S = c[Symbol.iterator](); !(p = (_ = S.next()).done); p = !0) {\n var E = _.value;\n this._registeredMethods[E] = s.prototype._registeredMethods[E].slice();\n }\n } catch (G) {\n j = !0, T = G;\n } finally {\n try {\n p || S.return == null || S.return();\n } finally {\n if (j)\n throw T;\n }\n }\n window.DeviceOrientationEvent && (this._events.deviceorientation = null), window.DeviceMotionEvent && !window._isNodeWebkit && (this._events.devicemotion = null), s.prototype.callRegisteredHooksFor = function(G) {\n var U = this || s.prototype, W = this._isGlobal ? window : this;\n if (U._registeredMethods.hasOwnProperty(G)) {\n var U = U._registeredMethods[G], X = !0, G = !1, ne = void 0;\n try {\n for (var b, O = U[Symbol.iterator](); !(X = (b = O.next()).done); X = !0) {\n var D = b.value;\n typeof D == \"function\" && D.call(W);\n }\n } catch (K) {\n G = !0, ne = K;\n } finally {\n try {\n X || O.return == null || O.return();\n } finally {\n if (G)\n throw ne;\n }\n }\n }\n }, this._start = function() {\n i._userNode && typeof i._userNode == \"string\" && (i._userNode = document.getElementById(i._userNode));\n var G = i._isGlobal ? window : i;\n if (G.preload) {\n i.callRegisteredHooksFor(\"beforePreload\");\n var U, W = document.getElementById(i._loadingScreenId), X = (W || ((W = document.createElement(\"div\")).innerHTML = \"Loading...\", W.style.position = \"absolute\", W.id = i._loadingScreenId, (i._userNode || document.body).appendChild(W)), i._preloadMethods);\n for (U in X) {\n X[U] = X[U] || s;\n var ne = X[U];\n ne !== s.prototype && ne !== s || (i._isGlobal && (window[U] = i._wrapPreload(i, U)), ne = i), i._registeredPreloadMethods[U] = ne[U], ne[U] = i._wrapPreload(ne, U);\n }\n G.preload(), i._runIfPreloadsAreDone();\n } else\n i._setup(), i._recording || i._draw();\n }, this._runIfPreloadsAreDone = function() {\n var G, U = this._isGlobal ? window : this;\n U._preloadCount === 0 && ((G = document.getElementById(U._loadingScreenId)) && G.parentNode.removeChild(G), this.callRegisteredHooksFor(\"afterPreload\"), this._setupDone || (this._lastTargetFrameTime = window.performance.now(), this._lastRealFrameTime = window.performance.now(), U._setup(), this._recording || U._draw()));\n }, this._decrementPreload = function() {\n var G = this._isGlobal ? window : this;\n G._preloadDone || typeof G.preload != \"function\" || (G._setProperty(\"_preloadCount\", G._preloadCount - 1), G._runIfPreloadsAreDone());\n }, this._wrapPreload = function(G, U) {\n var W = this;\n return function() {\n W._incrementPreload();\n for (var X = arguments.length, ne = new Array(X), b = 0; b < X; b++)\n ne[b] = arguments[b];\n return W._registeredPreloadMethods[U].apply(G, ne);\n };\n }, this._incrementPreload = function() {\n var G = this._isGlobal ? window : this;\n G._preloadDone || G._setProperty(\"_preloadCount\", G._preloadCount + 1);\n }, this._setup = function() {\n i.callRegisteredHooksFor(\"beforeSetup\"), i.createCanvas(i._defaultCanvasSize.width, i._defaultCanvasSize.height, \"p2d\");\n var G = i._isGlobal ? window : i;\n if (typeof G.preload == \"function\")\n for (var U in i._preloadMethods)\n G[U] = i._preloadMethods[U][U], G[U] && i && (G[U] = G[U].bind(i));\n i._millisStart = window.performance.now(), G._preloadDone = !0, typeof G.setup == \"function\" && G.setup();\n var W = document.getElementsByTagName(\"canvas\"), X = !0, ne = !1, b = void 0;\n try {\n for (var O, D = W[Symbol.iterator](); !(X = (O = D.next()).done); X = !0) {\n var B = O.value;\n B.dataset.hidden === \"true\" && (B.style.visibility = \"\", delete B.dataset.hidden);\n }\n } catch (Y) {\n ne = !0, b = Y;\n } finally {\n try {\n X || D.return == null || D.return();\n } finally {\n if (ne)\n throw b;\n }\n }\n i._lastTargetFrameTime = window.performance.now(), i._lastRealFrameTime = window.performance.now(), i._setupDone = !0, (i._accessibleOutputs.grid || i._accessibleOutputs.text) && i._updateAccsOutput(), i.callRegisteredHooksFor(\"afterSetup\");\n }, this._draw = function() {\n var G = window.performance.now(), U = G - i._lastTargetFrameTime, W = 1e3 / i._targetFrameRate;\n (!i._loop || W - 5 <= U) && (i.deltaTime = G - i._lastRealFrameTime, i._setProperty(\"deltaTime\", i.deltaTime), i._frameRate = 1e3 / i.deltaTime, i.redraw(), i._lastTargetFrameTime = Math.max(i._lastTargetFrameTime + W, G), i._lastRealFrameTime = G, i._updateMouseCoords !== void 0 && (i._updateMouseCoords(), i._setProperty(\"movedX\", 0), i._setProperty(\"movedY\", 0))), i._loop && (i._requestAnimId = window.requestAnimationFrame(i._draw));\n }, this._setProperty = function(G, U) {\n i[G] = U, i._isGlobal && (window[G] = U);\n }, this.remove = function() {\n i._startListener && window.removeEventListener(\"load\", i._startListener, !1);\n var G = document.getElementById(i._loadingScreenId);\n if (G && (G.parentNode.removeChild(G), i._incrementPreload()), i._curElement) {\n for (var U in i._loop = !1, i._requestAnimId && window.cancelAnimationFrame(i._requestAnimId), i._events)\n window.removeEventListener(U, i._events[U]);\n var W = !0, G = !1, X = void 0;\n try {\n for (var ne, b = i._elements[Symbol.iterator](); !(W = (ne = b.next()).done); W = !0) {\n var O, D = ne.value;\n for (O in D.elt && D.elt.parentNode && D.elt.parentNode.removeChild(D.elt), D._events)\n D.elt.removeEventListener(O, D._events[O]);\n }\n } catch (ce) {\n G = !0, X = ce;\n } finally {\n try {\n W || b.return == null || b.return();\n } finally {\n if (G)\n throw X;\n }\n }\n var B = i;\n i._registeredMethods.remove.forEach(function(ce) {\n ce !== void 0 && ce.call(B);\n });\n }\n if (i._isGlobal) {\n for (var Y in s.prototype)\n try {\n delete window[Y];\n } catch {\n window[Y] = void 0;\n }\n for (var K in i)\n if (i.hasOwnProperty(K))\n try {\n delete window[K];\n } catch {\n window[K] = void 0;\n }\n s.instance = null;\n }\n }, this._registeredMethods.init.forEach(function(G) {\n G !== void 0 && G.call(this);\n }, this), this._setupPromisePreloads();\n var P, x, A = this._createFriendlyGlobalFunctionBinder();\n if (l)\n l(this), s._checkForUserDefinedFunctions(this);\n else {\n for (var M in this._isGlobal = !0, s.instance = this, s.prototype)\n typeof s.prototype[M] == \"function\" ? (P = M.substring(2), this._events.hasOwnProperty(P) || (Math.hasOwnProperty(M) && Math[M] === s.prototype[M] ? A(M, s.prototype[M]) : A(M, s.prototype[M].bind(this)))) : A(M, s.prototype[M]);\n for (var R in this)\n this.hasOwnProperty(R) && A(R, this[R]);\n }\n for (x in this._events) {\n var L = this[\"_on\".concat(x)];\n L && (L = L.bind(this), window.addEventListener(x, L, { passive: !1 }), this._events[x] = L);\n }\n function F() {\n i._setProperty(\"focused\", !0);\n }\n function V() {\n i._setProperty(\"focused\", !1);\n }\n window.addEventListener(\"focus\", F), window.addEventListener(\"blur\", V), this.registerMethod(\"remove\", function() {\n window.removeEventListener(\"focus\", F), window.removeEventListener(\"blur\", V);\n }), document.readyState === \"complete\" ? this._start() : (this._startListener = this._start.bind(this), window.addEventListener(\"load\", this._startListener, !1));\n }\n var o, a;\n return o = s, (a = [{ key: \"_initializeInstanceVariables\", value: function() {\n this._accessibleOutputs = { text: !1, grid: !1, textLabel: !1, gridLabel: !1 }, this._styles = [], this._bezierDetail = 20, this._curveDetail = 20, this._colorMode = u.RGB, this._colorMaxes = { rgb: [255, 255, 255, 255], hsb: [360, 100, 100, 1], hsl: [360, 100, 100, 1] }, this._downKeys = {};\n } }, { key: \"registerPreloadMethod\", value: function(l, r) {\n s.prototype._preloadMethods.hasOwnProperty(l) || (s.prototype._preloadMethods[l] = r);\n } }, { key: \"registerMethod\", value: function(l, r) {\n var i = this || s.prototype;\n i._registeredMethods.hasOwnProperty(l) || (i._registeredMethods[l] = []), i._registeredMethods[l].push(r);\n } }, { key: \"unregisterMethod\", value: function(l, r) {\n var i = this || s.prototype;\n if (i._registeredMethods.hasOwnProperty(l)) {\n for (var c = i._registeredMethods[l], p = [], j = 0; j < c.length; j++)\n c[j] === r && p.push(j);\n for (var T = p.length - 1; 0 <= T; T--)\n c.splice(p[T], 1);\n }\n } }, { key: \"_createFriendlyGlobalFunctionBinder\", value: function() {\n var l = 0 < arguments.length && arguments[0] !== void 0 ? arguments[0] : {}, r = l.globalObject || window;\n return l.log || console.log.bind(console), function(i, c) {\n s.disableFriendlyErrors, r[i] = c;\n };\n } }]) && g(o.prototype, a), s;\n }();\n for (f in n.instance = null, n.disableFriendlyErrors = !1, u)\n n.prototype[f] = u[f];\n n.VERSION = u.VERSION, n.prototype._preloadMethods = { loadJSON: n.prototype, loadImage: n.prototype, loadStrings: n.prototype, loadXML: n.prototype, loadBytes: n.prototype, loadTable: n.prototype, loadFont: n.prototype, loadModel: n.prototype, loadShader: n.prototype }, n.prototype._registeredMethods = { init: [], pre: [], post: [], remove: [] }, n.prototype._registeredPreloadMethods = {}, C.default = n;\n }, { \"./constants\": 269, \"./shim\": 291, \"core-js/modules/es.array.for-each\": 160, \"core-js/modules/es.array.iterator\": 164, \"core-js/modules/es.array.slice\": 168, \"core-js/modules/es.array.splice\": 170, \"core-js/modules/es.object.get-own-property-descriptor\": 183, \"core-js/modules/es.object.get-own-property-names\": 184, \"core-js/modules/es.object.to-string\": 187, \"core-js/modules/es.string.iterator\": 197, \"core-js/modules/es.symbol\": 209, \"core-js/modules/es.symbol.description\": 207, \"core-js/modules/es.symbol.iterator\": 208, \"core-js/modules/es.weak-map\": 241, \"core-js/modules/web.dom-collections.for-each\": 242, \"core-js/modules/web.dom-collections.iterator\": 243 }], 281: [function(t, H, C) {\n Object.defineProperty(C, \"__esModule\", { value: !0 }), C.default = void 0;\n var m = (t = t(\"./main\")) && t.__esModule ? t : { default: t };\n function y(u, h) {\n for (var g = 0; g < h.length; g++) {\n var f = h[g];\n f.enumerable = f.enumerable || !1, f.configurable = !0, \"value\" in f && (f.writable = !0), Object.defineProperty(u, f.key, f);\n }\n }\n m.default.Element = function() {\n function u(n, s) {\n if (!(this instanceof u))\n throw new TypeError(\"Cannot call a class as a function\");\n this.elt = n, this._pInst = this._pixelsState = s, this._events = {}, this.width = this.elt.offsetWidth, this.height = this.elt.offsetHeight;\n }\n var h, g, f;\n return h = u, f = [{ key: \"_adjustListener\", value: function(n, s, o) {\n return s === !1 ? m.default.Element._detachListener(n, o) : m.default.Element._attachListener(n, s, o), this;\n } }, { key: \"_attachListener\", value: function(n, s, o) {\n o._events[n] && m.default.Element._detachListener(n, o), s = s.bind(o), o.elt.addEventListener(n, s, !1), o._events[n] = s;\n } }, { key: \"_detachListener\", value: function(n, s) {\n var o = s._events[n];\n s.elt.removeEventListener(n, o, !1), s._events[n] = null;\n } }], (g = [{ key: \"parent\", value: function(n) {\n return n === void 0 ? this.elt.parentNode : (typeof n == \"string\" ? (n[0] === \"#\" && (n = n.substring(1)), n = document.getElementById(n)) : n instanceof m.default.Element && (n = n.elt), n.appendChild(this.elt), this);\n } }, { key: \"id\", value: function(n) {\n return n === void 0 ? this.elt.id : (this.elt.id = n, this.width = this.elt.offsetWidth, this.height = this.elt.offsetHeight, this);\n } }, { key: \"class\", value: function(n) {\n return n === void 0 ? this.elt.className : (this.elt.className = n, this);\n } }, { key: \"mousePressed\", value: function(n) {\n return m.default.Element._adjustListener(\"mousedown\", function(s) {\n return this._pInst._setProperty(\"mouseIsPressed\", !0), this._pInst._setMouseButton(s), n.call(this, s);\n }, this), this;\n } }, { key: \"doubleClicked\", value: function(n) {\n return m.default.Element._adjustListener(\"dblclick\", n, this), this;\n } }, { key: \"mouseWheel\", value: function(n) {\n return m.default.Element._adjustListener(\"wheel\", n, this), this;\n } }, { key: \"mouseReleased\", value: function(n) {\n return m.default.Element._adjustListener(\"mouseup\", n, this), this;\n } }, { key: \"mouseClicked\", value: function(n) {\n return m.default.Element._adjustListener(\"click\", n, this), this;\n } }, { key: \"mouseMoved\", value: function(n) {\n return m.default.Element._adjustListener(\"mousemove\", n, this), this;\n } }, { key: \"mouseOver\", value: function(n) {\n return m.default.Element._adjustListener(\"mouseover\", n, this), this;\n } }, { key: \"mouseOut\", value: function(n) {\n return m.default.Element._adjustListener(\"mouseout\", n, this), this;\n } }, { key: \"touchStarted\", value: function(n) {\n return m.default.Element._adjustListener(\"touchstart\", n, this), this;\n } }, { key: \"touchMoved\", value: function(n) {\n return m.default.Element._adjustListener(\"touchmove\", n, this), this;\n } }, { key: \"touchEnded\", value: function(n) {\n return m.default.Element._adjustListener(\"touchend\", n, this), this;\n } }, { key: \"dragOver\", value: function(n) {\n return m.default.Element._adjustListener(\"dragover\", n, this), this;\n } }, { key: \"dragLeave\", value: function(n) {\n return m.default.Element._adjustListener(\"dragleave\", n, this), this;\n } }, { key: \"_setProperty\", value: function(n, s) {\n this[n] = s;\n } }]) && y(h.prototype, g), f && y(h, f), u;\n }(), t = m.default.Element, C.default = t;\n }, { \"./main\": 280 }], 282: [function(t, H, C) {\n function m(i) {\n return (m = typeof Symbol == \"function\" && typeof Symbol.iterator == \"symbol\" ? function(c) {\n return typeof c;\n } : function(c) {\n return c && typeof Symbol == \"function\" && c.constructor === Symbol && c !== Symbol.prototype ? \"symbol\" : typeof c;\n })(i);\n }\n function y(i) {\n return (y = typeof Symbol == \"function\" && m(Symbol.iterator) === \"symbol\" ? function(c) {\n return m(c);\n } : function(c) {\n return c && typeof Symbol == \"function\" && c.constructor === Symbol && c !== Symbol.prototype ? \"symbol\" : m(c);\n })(i);\n }\n t(\"core-js/modules/es.symbol\"), t(\"core-js/modules/es.symbol.description\"), t(\"core-js/modules/es.symbol.iterator\"), t(\"core-js/modules/es.array.index-of\"), t(\"core-js/modules/es.array.iterator\"), t(\"core-js/modules/es.array.splice\"), t(\"core-js/modules/es.object.get-own-property-descriptor\"), t(\"core-js/modules/es.object.get-prototype-of\"), t(\"core-js/modules/es.object.to-string\"), t(\"core-js/modules/es.reflect.construct\"), t(\"core-js/modules/es.regexp.to-string\"), t(\"core-js/modules/es.string.iterator\"), t(\"core-js/modules/es.weak-map\"), t(\"core-js/modules/web.dom-collections.iterator\"), t(\"core-js/modules/es.array.index-of\"), t(\"core-js/modules/es.array.splice\"), t(\"core-js/modules/es.object.get-prototype-of\"), Object.defineProperty(C, \"__esModule\", { value: !0 }), C.default = void 0;\n var u = (r = t(\"./main\")) && r.__esModule ? r : { default: r }, h = function(i) {\n if (i && i.__esModule)\n return i;\n if (i === null || y(i) !== \"object\" && typeof i != \"function\")\n return { default: i };\n var c = g();\n if (c && c.has(i))\n return c.get(i);\n var p, j = {}, T = Object.defineProperty && Object.getOwnPropertyDescriptor;\n for (p in i) {\n var _;\n Object.prototype.hasOwnProperty.call(i, p) && ((_ = T ? Object.getOwnPropertyDescriptor(i, p) : null) && (_.get || _.set) ? Object.defineProperty(j, p, _) : j[p] = i[p]);\n }\n return j.default = i, c && c.set(i, j), j;\n }(t(\"./constants\"));\n function g() {\n var i;\n return typeof WeakMap != \"function\" ? null : (i = /* @__PURE__ */ new WeakMap(), g = function() {\n return i;\n }, i);\n }\n function f(i, c) {\n for (var p = 0; p < c.length; p++) {\n var j = c[p];\n j.enumerable = j.enumerable || !1, j.configurable = !0, \"value\" in j && (j.writable = !0), Object.defineProperty(i, j.key, j);\n }\n }\n function n(i, c) {\n return (n = Object.setPrototypeOf || function(p, j) {\n return p.__proto__ = j, p;\n })(i, c);\n }\n function s(i) {\n return function() {\n var c, p = l(i);\n return o(this, function() {\n if (typeof Reflect < \"u\" && Reflect.construct && !Reflect.construct.sham) {\n if (typeof Proxy == \"function\")\n return 1;\n try {\n return Date.prototype.toString.call(Reflect.construct(Date, [], function() {\n })), 1;\n } catch {\n }\n }\n }() ? (c = l(this).constructor, Reflect.construct(p, arguments, c)) : p.apply(this, arguments));\n };\n }\n function o(i, c) {\n return !c || y(c) !== \"object\" && typeof c != \"function\" ? a(i) : c;\n }\n function a(i) {\n if (i === void 0)\n throw new ReferenceError(\"this hasn't been initialised - super() hasn't been called\");\n return i;\n }\n function l(i) {\n return (l = Object.setPrototypeOf ? Object.getPrototypeOf : function(c) {\n return c.__proto__ || Object.getPrototypeOf(c);\n })(i);\n }\n u.default.Graphics = function(i) {\n var c = j;\n if (typeof i != \"function\" && i !== null)\n throw new TypeError(\"Super expression must either be null or a function\");\n c.prototype = Object.create(i && i.prototype, { constructor: { value: c, writable: !0, configurable: !0 } }), i && n(c, i);\n var p = s(j);\n function j(T, _, R, E, P) {\n var x;\n if (!(this instanceof j))\n throw new TypeError(\"Cannot call a class as a function\");\n M = P || document.createElement(\"canvas\"), (x = p.call(this, M, E)).canvas = M;\n var A, M = R || h.P2D, R = E._userNode || document.body;\n for (A in P || R.appendChild(x.canvas), u.default.prototype)\n x[A] || (typeof u.default.prototype[A] == \"function\" ? x[A] = u.default.prototype[A].bind(a(x)) : x[A] = u.default.prototype[A]);\n return u.default.prototype._initializeInstanceVariables.apply(a(x)), x.width = T, x.height = _, x._pixelDensity = E._pixelDensity, M === h.WEBGL ? (x._renderer = new u.default.RendererGL(x.canvas, a(x), !1), T = (P = x._renderer._adjustDimensions(T, _)).adjustedWidth, _ = P.adjustedHeight) : x._renderer = new u.default.Renderer2D(x.canvas, a(x), !1), E._elements.push(a(x)), Object.defineProperty(a(x), \"deltaTime\", { get: function() {\n return this._pInst.deltaTime;\n } }), x._renderer.resize(T, _), x._renderer._applyDefaults(), o(x, a(x));\n }\n return c = j, (i = [{ key: \"reset\", value: function() {\n this._renderer.resetMatrix(), this._renderer.isP3D && this._renderer._update();\n } }, { key: \"remove\", value: function() {\n this.elt.parentNode && this.elt.parentNode.removeChild(this.elt);\n var T, _ = this._pInst._elements.indexOf(this);\n for (T in _ !== -1 && this._pInst._elements.splice(_, 1), this._events)\n this.elt.removeEventListener(T, this._events[T]);\n } }, { key: \"createFramebuffer\", value: function(T) {\n return new u.default.Framebuffer(this, T);\n } }]) && f(c.prototype, i), j;\n }(u.default.Element);\n var r = u.default.Graphics;\n C.default = r;\n }, { \"./constants\": 269, \"./main\": 280, \"core-js/modules/es.array.index-of\": 163, \"core-js/modules/es.array.iterator\": 164, \"core-js/modules/es.array.splice\": 170, \"core-js/modules/es.object.get-own-property-descriptor\": 183, \"core-js/modules/es.object.get-prototype-of\": 185, \"core-js/modules/es.object.to-string\": 187, \"core-js/modules/es.reflect.construct\": 189, \"core-js/modules/es.regexp.to-string\": 193, \"core-js/modules/es.string.iterator\": 197, \"core-js/modules/es.symbol\": 209, \"core-js/modules/es.symbol.description\": 207, \"core-js/modules/es.symbol.iterator\": 208, \"core-js/modules/es.weak-map\": 241, \"core-js/modules/web.dom-collections.iterator\": 243 }], 283: [function(t, H, C) {\n function m(i) {\n return (m = typeof Symbol == \"function\" && typeof Symbol.iterator == \"symbol\" ? function(c) {\n return typeof c;\n } : function(c) {\n return c && typeof Symbol == \"function\" && c.constructor === Symbol && c !== Symbol.prototype ? \"symbol\" : typeof c;\n })(i);\n }\n t(\"core-js/modules/es.symbol\"), t(\"core-js/modules/es.symbol.description\"), t(\"core-js/modules/es.symbol.iterator\"), t(\"core-js/modules/es.array.iterator\"), t(\"core-js/modules/es.number.constructor\"), t(\"core-js/modules/es.object.assign\"), t(\"core-js/modules/es.object.get-own-property-descriptor\"), t(\"core-js/modules/es.object.get-prototype-of\"), t(\"core-js/modules/es.object.to-string\"), t(\"core-js/modules/es.reflect.construct\"), t(\"core-js/modules/es.regexp.exec\"), t(\"core-js/modules/es.regexp.to-string\"), t(\"core-js/modules/es.string.iterator\"), t(\"core-js/modules/es.string.replace\"), t(\"core-js/modules/es.string.split\"), t(\"core-js/modules/es.string.trim\"), t(\"core-js/modules/es.weak-map\"), t(\"core-js/modules/web.dom-collections.iterator\"), t(\"core-js/modules/es.number.constructor\"), t(\"core-js/modules/es.object.assign\"), t(\"core-js/modules/es.object.get-prototype-of\"), t(\"core-js/modules/es.object.to-string\"), t(\"core-js/modules/es.regexp.exec\"), t(\"core-js/modules/es.regexp.to-string\"), t(\"core-js/modules/es.string.replace\"), t(\"core-js/modules/es.string.split\"), t(\"core-js/modules/es.string.trim\"), Object.defineProperty(C, \"__esModule\", { value: !0 }), C.default = void 0;\n var y = (l = t(\"./main\")) && l.__esModule ? l : { default: l }, u = function(i) {\n if (i && i.__esModule)\n return i;\n if (i === null || g(i) !== \"object\" && typeof i != \"function\")\n return { default: i };\n var c = h();\n if (c && c.has(i))\n return c.get(i);\n var p, j = {}, T = Object.defineProperty && Object.getOwnPropertyDescriptor;\n for (p in i) {\n var _;\n Object.prototype.hasOwnProperty.call(i, p) && ((_ = T ? Object.getOwnPropertyDescriptor(i, p) : null) && (_.get || _.set) ? Object.defineProperty(j, p, _) : j[p] = i[p]);\n }\n return j.default = i, c && c.set(i, j), j;\n }(t(\"../core/constants\"));\n function h() {\n var i;\n return typeof WeakMap != \"function\" ? null : (i = /* @__PURE__ */ new WeakMap(), h = function() {\n return i;\n }, i);\n }\n function g(i) {\n return (g = typeof Symbol == \"function\" && m(Symbol.iterator) === \"symbol\" ? function(c) {\n return m(c);\n } : function(c) {\n return c && typeof Symbol == \"function\" && c.constructor === Symbol && c !== Symbol.prototype ? \"symbol\" : m(c);\n })(i);\n }\n function f(i, c) {\n for (var p = 0; p < c.length; p++) {\n var j = c[p];\n j.enumerable = j.enumerable || !1, j.configurable = !0, \"value\" in j && (j.writable = !0), Object.defineProperty(i, j.key, j);\n }\n }\n function n(i, c) {\n return (n = Object.setPrototypeOf || function(p, j) {\n return p.__proto__ = j, p;\n })(i, c);\n }\n function s(i) {\n return function() {\n var c, p, j = a(i);\n return c = function() {\n if (typeof Reflect < \"u\" && Reflect.construct && !Reflect.construct.sham) {\n if (typeof Proxy == \"function\")\n return 1;\n try {\n return Date.prototype.toString.call(Reflect.construct(Date, [], function() {\n })), 1;\n } catch {\n }\n }\n }() ? (c = a(this).constructor, Reflect.construct(j, arguments, c)) : j.apply(this, arguments), j = this, !(p = c) || g(p) !== \"object\" && typeof p != \"function\" ? o(j) : p;\n };\n }\n function o(i) {\n if (i === void 0)\n throw new ReferenceError(\"this hasn't been initialised - super() hasn't been called\");\n return i;\n }\n function a(i) {\n return (a = Object.setPrototypeOf ? Object.getPrototypeOf : function(c) {\n return c.__proto__ || Object.getPrototypeOf(c);\n })(i);\n }\n var l = function(i) {\n var c = j;\n if (typeof i != \"function\" && i !== null)\n throw new TypeError(\"Super expression must either be null or a function\");\n c.prototype = Object.create(i && i.prototype, { constructor: { value: c, writable: !0, configurable: !0 } }), i && n(c, i);\n var p = s(j);\n function j(T, _, S) {\n var E;\n if (this instanceof j)\n return (E = p.call(this, T, _)).canvas = T, E._pixelsState = _, S ? (E._isMainCanvas = !0, E._pInst._setProperty(\"_curElement\", o(E)), E._pInst._setProperty(\"canvas\", E.canvas), E._pInst._setProperty(\"width\", E.width), E._pInst._setProperty(\"height\", E.height)) : (E.canvas.style.display = \"none\", E._styles = []), E._clipping = !1, E._clipInvert = !1, E._textSize = 12, E._textLeading = 15, E._textFont = \"sans-serif\", E._textStyle = u.NORMAL, E._textAscent = null, E._textDescent = null, E._textAlign = u.LEFT, E._textBaseline = u.BASELINE, E._textWrap = u.WORD, E._rectMode = u.CORNER, E._ellipseMode = u.CENTER, E._curveTightness = 0, E._imageMode = u.CORNER, E._tint = null, E._doStroke = !0, E._doFill = !0, E._strokeSet = !1, E._fillSet = !1, E._leadingSet = !1, E._pushPopDepth = 0, E;\n throw new TypeError(\"Cannot call a class as a function\");\n }\n return c = j, (i = [{ key: \"push\", value: function() {\n return this._pushPopDepth++, { properties: { _doStroke: this._doStroke, _strokeSet: this._strokeSet, _doFill: this._doFill, _fillSet: this._fillSet, _tint: this._tint, _imageMode: this._imageMode, _rectMode: this._rectMode, _ellipseMode: this._ellipseMode, _textFont: this._textFont, _textLeading: this._textLeading, _leadingSet: this._leadingSet, _textSize: this._textSize, _textAlign: this._textAlign, _textBaseline: this._textBaseline, _textStyle: this._textStyle, _textWrap: this._textWrap } };\n } }, { key: \"pop\", value: function(T) {\n this._pushPopDepth--, T.properties && Object.assign(this, T.properties);\n } }, { key: \"beginClip\", value: function() {\n var T = 0 < arguments.length && arguments[0] !== void 0 ? arguments[0] : {};\n if (this._clipping)\n throw new Error(\"It looks like you're trying to clip while already in the middle of clipping. Did you forget to endClip()?\");\n this._clipping = !0, this._clipInvert = T.invert;\n } }, { key: \"endClip\", value: function() {\n if (!this._clipping)\n throw new Error(\"It looks like you've called endClip() without beginClip(). Did you forget to call beginClip() first?\");\n this._clipping = !1;\n } }, { key: \"resize\", value: function(T, _) {\n this.width = T, this.height = _, this.elt.width = T * this._pInst._pixelDensity, this.elt.height = _ * this._pInst._pixelDensity, this.elt.style.width = \"\".concat(T, \"px\"), this.elt.style.height = \"\".concat(_, \"px\"), this._isMainCanvas && (this._pInst._setProperty(\"width\", this.width), this._pInst._setProperty(\"height\", this.height));\n } }, { key: \"get\", value: function(T, _, S, E) {\n var P = this._pixelsState, x = P._pixelDensity, A = this.canvas;\n if (T === void 0 && _ === void 0)\n T = _ = 0, S = P.width, E = P.height;\n else if (T *= x, _ *= x, S === void 0 && E === void 0)\n return T < 0 || _ < 0 || T >= A.width || _ >= A.height ? [0, 0, 0, 0] : this._getPixel(T, _);\n return P = new y.default.Image(S * x, E * x), P.pixelDensity(x), P.canvas.getContext(\"2d\").drawImage(A, T, _, S * x, E * x, 0, 0, S * x, E * x), P;\n } }, { key: \"textLeading\", value: function(T) {\n return typeof T == \"number\" ? (this._setProperty(\"_leadingSet\", !0), this._setProperty(\"_textLeading\", T), this._pInst) : this._textLeading;\n } }, { key: \"textStyle\", value: function(T) {\n return T ? (T !== u.NORMAL && T !== u.ITALIC && T !== u.BOLD && T !== u.BOLDITALIC || this._setProperty(\"_textStyle\", T), this._applyTextProperties()) : this._textStyle;\n } }, { key: \"textAscent\", value: function() {\n return this._textAscent === null && this._updateTextMetrics(), this._textAscent;\n } }, { key: \"textDescent\", value: function() {\n return this._textDescent === null && this._updateTextMetrics(), this._textDescent;\n } }, { key: \"textAlign\", value: function(T, _) {\n return T !== void 0 ? (this._setProperty(\"_textAlign\", T), _ !== void 0 && this._setProperty(\"_textBaseline\", _), this._applyTextProperties()) : { horizontal: this._textAlign, vertical: this._textBaseline };\n } }, { key: \"textWrap\", value: function(T) {\n return this._setProperty(\"_textWrap\", T), this._textWrap;\n } }, { key: \"text\", value: function(T, _, S, E, P) {\n var x, A, M, R, L = this._pInst, F = this._textWrap, V = Number.MAX_VALUE, G = S;\n if ((this._doFill || this._doStroke) && T !== void 0) {\n if (x = (T = (T = typeof T != \"string\" ? T.toString() : T).replace(/(\\t)/g, \" \")).split(`\n`), E !== void 0) {\n switch (this._rectMode === u.CENTER && (_ -= E / 2), this._textAlign) {\n case u.CENTER:\n _ += E / 2;\n break;\n case u.RIGHT:\n _ += E;\n }\n if (P !== void 0) {\n this._rectMode === u.CENTER && (S -= P / 2, G -= P / 2);\n var T = S, U = L.textAscent();\n switch (this._textBaseline) {\n case u.BOTTOM:\n R = S + P, S = Math.max(R, S), G += U;\n break;\n case u.CENTER:\n R = S + P / 2, S = Math.max(R, S), G += U / 2;\n }\n V = S + P - U, this._textBaseline === u.CENTER && (V = T + P - U / 2);\n } else\n this._textBaseline !== u.BOTTOM && this._textBaseline !== u.CENTER || (G = S - (T = L.textSize() * this._textLeading) / 2, V = S + T / 2);\n if (F === u.WORD) {\n for (var W = [], X = 0; X < x.length; X++) {\n for (var ne = \"\", b = x[X].split(\" \"), O = 0; O < b.length; O++)\n A = \"\".concat(ne + b[O]) + \" \", ne = E < (M = this.textWidth(A)) && 0 < ne.length ? (W.push(ne), \"\".concat(b[O]) + \" \") : A;\n W.push(ne);\n }\n var D = 0;\n this._textBaseline === u.CENTER ? D = (W.length - 1) * L.textLeading() / 2 : this._textBaseline === u.BOTTOM && (D = (W.length - 1) * L.textLeading());\n for (var B = 0; B < x.length; B++) {\n ne = \"\", b = x[B].split(\" \");\n for (var Y = 0; Y < b.length; Y++)\n A = \"\".concat(ne + b[Y]) + \" \", E < (M = this.textWidth(A)) && 0 < ne.length ? (this._renderText(L, ne.trim(), _, S - D, V, G), ne = \"\".concat(b[Y]) + \" \", S += L.textLeading()) : ne = A;\n this._renderText(L, ne.trim(), _, S - D, V, G), S += L.textLeading();\n }\n } else {\n for (var K = [], te = 0; te < x.length; te++)\n for (var ce = x[te].split(ne = \"\"), re = 0; re < ce.length; re++)\n A = \"\".concat(ne + ce[re]), (M = this.textWidth(A)) <= E ? ne += ce[re] : E < M && 0 < ne.length && (K.push(ne), ne = \"\".concat(ce[re]));\n K.push(ne);\n var ue = 0;\n this._textBaseline === u.CENTER ? ue = (K.length - 1) * L.textLeading() / 2 : this._textBaseline === u.BOTTOM && (ue = (K.length - 1) * L.textLeading());\n for (var le = 0; le < x.length; le++) {\n ce = x[le].split(ne = \"\");\n for (var J = 0; J < ce.length; J++)\n A = \"\".concat(ne + ce[J]), (M = this.textWidth(A)) <= E ? ne += ce[J] : E < M && 0 < ne.length && (this._renderText(L, ne.trim(), _, S - ue, V, G), S += L.textLeading(), ne = \"\".concat(ce[J]));\n }\n this._renderText(L, ne.trim(), _, S - ue, V, G), S += L.textLeading();\n }\n } else {\n var ae = 0;\n this._textBaseline === u.CENTER ? ae = (x.length - 1) * L.textLeading() / 2 : this._textBaseline === u.BOTTOM && (ae = (x.length - 1) * L.textLeading());\n for (var he = 0; he < x.length; he++)\n this._renderText(L, x[he], _, S - ae, V, G - ae), S += L.textLeading();\n }\n return L;\n }\n } }, { key: \"_applyDefaults\", value: function() {\n return this;\n } }, { key: \"_isOpenType\", value: function() {\n var T = 0 < arguments.length && arguments[0] !== void 0 ? arguments[0] : this._textFont;\n return g(T) === \"object\" && T.font && T.font.supported;\n } }, { key: \"_updateTextMetrics\", value: function() {\n var T, _, S, E, P, x;\n return this._isOpenType() ? (this._setProperty(\"_textAscent\", this._textFont._textAscent()), this._setProperty(\"_textDescent\", this._textFont._textDescent())) : ((T = document.createElement(\"span\")).style.fontFamily = this._textFont, T.style.fontSize = \"\".concat(this._textSize, \"px\"), T.innerHTML = \"ABCjgq|\", (x = document.createElement(\"div\")).style.display = \"inline-block\", x.style.width = \"1px\", x.style.height = \"0px\", E = ((_ = document.createElement(\"div\")).appendChild(T), _.appendChild(x), _.style.height = \"0px\", _.style.overflow = \"hidden\", document.body.appendChild(_), x.style.verticalAlign = \"baseline\", r(x)), P = r(T), S = E[1] - P[1], E = (x.style.verticalAlign = \"bottom\", r(x)), P = r(T), x = E[1] - P[1] - S, document.body.removeChild(_), this._setProperty(\"_textAscent\", S), this._setProperty(\"_textDescent\", x)), this;\n } }]) && f(c.prototype, i), j;\n }(y.default.Element);\n function r(i) {\n var c = 0, p = 0;\n if (i.offsetParent)\n for (; c += i.offsetLeft, p += i.offsetTop, i = i.offsetParent; )\n ;\n else\n c += i.offsetLeft, p += i.offsetTop;\n return [c, p];\n }\n l.prototype.textSize = function(i) {\n return typeof i == \"number\" ? (this._setProperty(\"_textSize\", i), this._leadingSet || this._setProperty(\"_textLeading\", i * u._DEFAULT_LEADMULT), this._applyTextProperties()) : this._textSize;\n }, y.default.Renderer = l, t = y.default.Renderer, C.default = t;\n }, { \"../core/constants\": 269, \"./main\": 280, \"core-js/modules/es.array.iterator\": 164, \"core-js/modules/es.number.constructor\": 178, \"core-js/modules/es.object.assign\": 181, \"core-js/modules/es.object.get-own-property-descriptor\": 183, \"core-js/modules/es.object.get-prototype-of\": 185, \"core-js/modules/es.object.to-string\": 187, \"core-js/modules/es.reflect.construct\": 189, \"core-js/modules/es.regexp.exec\": 192, \"core-js/modules/es.regexp.to-string\": 193, \"core-js/modules/es.string.iterator\": 197, \"core-js/modules/es.string.replace\": 201, \"core-js/modules/es.string.split\": 203, \"core-js/modules/es.string.trim\": 206, \"core-js/modules/es.symbol\": 209, \"core-js/modules/es.symbol.description\": 207, \"core-js/modules/es.symbol.iterator\": 208, \"core-js/modules/es.weak-map\": 241, \"core-js/modules/web.dom-collections.iterator\": 243 }], 284: [function(i, H, C) {\n function m(c) {\n return (m = typeof Symbol == \"function\" && typeof Symbol.iterator == \"symbol\" ? function(p) {\n return typeof p;\n } : function(p) {\n return p && typeof Symbol == \"function\" && p.constructor === Symbol && p !== Symbol.prototype ? \"symbol\" : typeof p;\n })(c);\n }\n function y(c) {\n return (y = typeof Symbol == \"function\" && m(Symbol.iterator) === \"symbol\" ? function(p) {\n return m(p);\n } : function(p) {\n return p && typeof Symbol == \"function\" && p.constructor === Symbol && p !== Symbol.prototype ? \"symbol\" : m(p);\n })(c);\n }\n i(\"core-js/modules/es.symbol\"), i(\"core-js/modules/es.symbol.description\"), i(\"core-js/modules/es.symbol.iterator\"), i(\"core-js/modules/es.array.concat\"), i(\"core-js/modules/es.array.fill\"), i(\"core-js/modules/es.array.for-each\"), i(\"core-js/modules/es.array.iterator\"), i(\"core-js/modules/es.array.join\"), i(\"core-js/modules/es.array.slice\"), i(\"core-js/modules/es.function.name\"), i(\"core-js/modules/es.number.to-fixed\"), i(\"core-js/modules/es.object.get-own-property-descriptor\"), i(\"core-js/modules/es.object.get-prototype-of\"), i(\"core-js/modules/es.object.to-string\"), i(\"core-js/modules/es.reflect.construct\"), i(\"core-js/modules/es.reflect.get\"), i(\"core-js/modules/es.regexp.exec\"), i(\"core-js/modules/es.regexp.to-string\"), i(\"core-js/modules/es.string.iterator\"), i(\"core-js/modules/es.weak-map\"), i(\"core-js/modules/web.dom-collections.iterator\"), i(\"core-js/modules/es.array.concat\"), i(\"core-js/modules/es.array.fill\"), i(\"core-js/modules/es.array.for-each\"), i(\"core-js/modules/es.array.join\"), i(\"core-js/modules/es.array.slice\"), i(\"core-js/modules/es.function.name\"), i(\"core-js/modules/es.number.to-fixed\"), i(\"core-js/modules/es.object.get-prototype-of\"), i(\"core-js/modules/es.object.to-string\"), i(\"core-js/modules/es.regexp.exec\"), i(\"core-js/modules/es.regexp.to-string\"), Object.defineProperty(C, \"__esModule\", { value: !0 }), C.default = void 0;\n var u = (r = i(\"./main\")) && r.__esModule ? r : { default: r }, h = function(c) {\n if (c && c.__esModule)\n return c;\n if (c === null || y(c) !== \"object\" && typeof c != \"function\")\n return { default: c };\n var p = g();\n if (p && p.has(c))\n return p.get(c);\n var j, T = {}, _ = Object.defineProperty && Object.getOwnPropertyDescriptor;\n for (j in c) {\n var S;\n Object.prototype.hasOwnProperty.call(c, j) && ((S = _ ? Object.getOwnPropertyDescriptor(c, j) : null) && (S.get || S.set) ? Object.defineProperty(T, j, S) : T[j] = c[j]);\n }\n return T.default = c, p && p.set(c, T), T;\n }(i(\"./constants\"));\n function g() {\n var c;\n return typeof WeakMap != \"function\" ? null : (c = /* @__PURE__ */ new WeakMap(), g = function() {\n return c;\n }, c);\n }\n function f(c, p) {\n for (var j = 0; j < p.length; j++) {\n var T = p[j];\n T.enumerable = T.enumerable || !1, T.configurable = !0, \"value\" in T && (T.writable = !0), Object.defineProperty(c, T.key, T);\n }\n }\n function n(c, p, j) {\n return (n = typeof Reflect < \"u\" && Reflect.get ? Reflect.get : function(E, _, S) {\n var E = function(P, x) {\n for (; !Object.prototype.hasOwnProperty.call(P, x) && (P = a(P)) !== null; )\n ;\n return P;\n }(E, _);\n if (E)\n return (E = Object.getOwnPropertyDescriptor(E, _)).get ? E.get.call(S) : E.value;\n })(c, p, j || c);\n }\n function s(c, p) {\n return (s = Object.setPrototypeOf || function(j, T) {\n return j.__proto__ = T, j;\n })(c, p);\n }\n function o(c) {\n return function() {\n var p, j = a(c), j = (p = function() {\n if (typeof Reflect < \"u\" && Reflect.construct && !Reflect.construct.sham) {\n if (typeof Proxy == \"function\")\n return 1;\n try {\n return Date.prototype.toString.call(Reflect.construct(Date, [], function() {\n })), 1;\n } catch {\n }\n }\n }() ? (p = a(this).constructor, Reflect.construct(j, arguments, p)) : j.apply(this, arguments), this);\n if (!p || y(p) !== \"object\" && typeof p != \"function\") {\n if (j !== void 0)\n return j;\n throw new ReferenceError(\"this hasn't been initialised - super() hasn't been called\");\n }\n return p;\n };\n }\n function a(c) {\n return (a = Object.setPrototypeOf ? Object.getPrototypeOf : function(p) {\n return p.__proto__ || Object.getPrototypeOf(p);\n })(c);\n }\n i(\"./p5.Renderer\");\n var l = \"rgba(0,0,0,0)\", r = function(c) {\n var p = T;\n if (typeof c != \"function\" && c !== null)\n throw new TypeError(\"Super expression must either be null or a function\");\n p.prototype = Object.create(c && c.prototype, { constructor: { value: p, writable: !0, configurable: !0 } }), c && s(p, c);\n var j = o(T);\n function T(_, S, E) {\n if (this instanceof T)\n return (_ = j.call(this, _, S, E)).drawingContext = _.canvas.getContext(\"2d\"), _._pInst._setProperty(\"drawingContext\", _.drawingContext), _;\n throw new TypeError(\"Cannot call a class as a function\");\n }\n return p = T, (c = [{ key: \"getFilterGraphicsLayer\", value: function() {\n var _;\n return this.filterGraphicsLayer || (_ = (this._pInst instanceof u.default.Graphics ? this._pInst : this)._pInst, this.filterGraphicsLayer = new u.default.Graphics(this.width, this.height, h.WEBGL, _)), this.filterGraphicsLayer.width === this.width && this.filterGraphicsLayer.height === this.height || this.filterGraphicsLayer.resizeCanvas(this.width, this.height), this.filterGraphicsLayer.pixelDensity() !== this._pInst.pixelDensity() && this.filterGraphicsLayer.pixelDensity(this._pInst.pixelDensity()), this.filterGraphicsLayer;\n } }, { key: \"_applyDefaults\", value: function() {\n this._cachedFillStyle = this._cachedStrokeStyle = void 0, this._cachedBlendMode = h.BLEND, this._setFill(h._DEFAULT_FILL), this._setStroke(h._DEFAULT_STROKE), this.drawingContext.lineCap = h.ROUND, this.drawingContext.font = \"normal 12px sans-serif\";\n } }, { key: \"resize\", value: function(_, S) {\n n(a(T.prototype), \"resize\", this).call(this, _, S), this.drawingContext.scale(this._pInst._pixelDensity, this._pInst._pixelDensity);\n } }, { key: \"background\", value: function() {\n var _, S;\n this.drawingContext.save(), this.resetMatrix(), (arguments.length <= 0 ? void 0 : arguments[0]) instanceof u.default.Image ? 0 <= (arguments.length <= 1 ? void 0 : arguments[1]) ? (_ = arguments.length <= 0 ? void 0 : arguments[0], this.drawingContext.globalAlpha = (arguments.length <= 1 ? void 0 : arguments[1]) / 255, this._pInst.image(_, 0, 0, this.width, this.height)) : this._pInst.image(arguments.length <= 0 ? void 0 : arguments[0], 0, 0, this.width, this.height) : (_ = this._getFill(), S = (S = this._pInst).color.apply(S, arguments), this._pInst._addAccsOutput() && this._pInst._accsBackground(S.levels), S = S.toString(), this._setFill(S), this._isErasing && this.blendMode(this._cachedBlendMode), this.drawingContext.fillRect(0, 0, this.width, this.height), this._setFill(_), this._isErasing && this._pInst.erase()), this.drawingContext.restore();\n } }, { key: \"clear\", value: function() {\n this.drawingContext.save(), this.resetMatrix(), this.drawingContext.clearRect(0, 0, this.width, this.height), this.drawingContext.restore();\n } }, { key: \"fill\", value: function() {\n var _ = (_ = this._pInst).color.apply(_, arguments);\n this._setFill(_.toString()), this._pInst._addAccsOutput() && this._pInst._accsCanvasColors(\"fill\", _.levels);\n } }, { key: \"stroke\", value: function() {\n var _ = (_ = this._pInst).color.apply(_, arguments);\n this._setStroke(_.toString()), this._pInst._addAccsOutput() && this._pInst._accsCanvasColors(\"stroke\", _.levels);\n } }, { key: \"erase\", value: function(_, S) {\n this._isErasing || (this._cachedFillStyle = this.drawingContext.fillStyle, _ = this._pInst.color(255, _).toString(), this.drawingContext.fillStyle = _, this._cachedStrokeStyle = this.drawingContext.strokeStyle, _ = this._pInst.color(255, S).toString(), this.drawingContext.strokeStyle = _, S = this._cachedBlendMode, this.blendMode(h.REMOVE), this._cachedBlendMode = S, this._isErasing = !0);\n } }, { key: \"noErase\", value: function() {\n this._isErasing && (this.drawingContext.fillStyle = this._cachedFillStyle, this.drawingContext.strokeStyle = this._cachedStrokeStyle, this.blendMode(this._cachedBlendMode), this._isErasing = !1);\n } }, { key: \"beginClip\", value: function() {\n var _ = 0 < arguments.length && arguments[0] !== void 0 ? arguments[0] : {}, _ = (n(a(T.prototype), \"beginClip\", this).call(this, _), this._cachedFillStyle = this.drawingContext.fillStyle, this._pInst.color(255, 0).toString()), _ = (this.drawingContext.fillStyle = _, this._cachedStrokeStyle = this.drawingContext.strokeStyle, this._pInst.color(255, 0).toString()), _ = (this.drawingContext.strokeStyle = _, this._cachedBlendMode);\n this.blendMode(h.BLEND), this._cachedBlendMode = _, this.drawingContext.beginPath(), this._clipInvert && (this.drawingContext.moveTo(-2 * this.width, -2 * this.height), this.drawingContext.lineTo(-2 * this.width, 2 * this.height), this.drawingContext.lineTo(2 * this.width, 2 * this.height), this.drawingContext.lineTo(2 * this.width, -2 * this.height), this.drawingContext.closePath());\n } }, { key: \"endClip\", value: function() {\n this._doFillStrokeClose(), this.drawingContext.clip(), n(a(T.prototype), \"endClip\", this).call(this), this.drawingContext.fillStyle = this._cachedFillStyle, this.drawingContext.strokeStyle = this._cachedStrokeStyle, this.blendMode(this._cachedBlendMode);\n } }, { key: \"image\", value: function(_, S, E, P, x, A, M, R, L) {\n _.gifProperties && _._animateGif(this._pInst);\n try {\n u.default.MediaElement && _ instanceof u.default.MediaElement && _._ensureCanvas();\n var F = (F = this._tint && _.canvas ? this._getTintedImageCanvas(_) : F) || _.canvas || _.elt, V = 1;\n _.width && 0 < _.width && (V = F.width / _.width), this._isErasing && this.blendMode(this._cachedBlendMode), this.drawingContext.drawImage(F, V * S, V * E, V * P, V * x, A, M, R, L), this._isErasing && this._pInst.erase();\n } catch (G) {\n if (G.name !== \"NS_ERROR_NOT_AVAILABLE\")\n throw G;\n }\n } }, { key: \"_getTintedImageCanvas\", value: function(_) {\n if (!_.canvas)\n return _;\n _.tintCanvas || (_.tintCanvas = document.createElement(\"canvas\")), _.tintCanvas.width !== _.canvas.width && (_.tintCanvas.width = _.canvas.width), _.tintCanvas.height !== _.canvas.height && (_.tintCanvas.height = _.canvas.height);\n var S = _.tintCanvas.getContext(\"2d\");\n return S.save(), S.clearRect(0, 0, _.canvas.width, _.canvas.height), (this._tint[0] < 255 || this._tint[1] < 255 || this._tint[2] < 255) && (S.drawImage(_.canvas, 0, 0), S.globalCompositeOperation = \"luminosity\", S.drawImage(_.canvas, 0, 0), S.globalCompositeOperation = \"color\", S.drawImage(_.canvas, 0, 0), S.globalCompositeOperation = \"multiply\", S.fillStyle = \"rgb(\".concat(this._tint.slice(0, 3).join(\", \"), \")\"), S.fillRect(0, 0, _.canvas.width, _.canvas.height), S.globalCompositeOperation = \"destination-in\"), S.globalAlpha = this._tint[3] / 255, S.drawImage(_.canvas, 0, 0), S.restore(), _.tintCanvas;\n } }, { key: \"blendMode\", value: function(_) {\n if (_ === h.SUBTRACT)\n console.warn(\"blendMode(SUBTRACT) only works in WEBGL mode.\");\n else {\n if (_ !== h.BLEND && _ !== h.REMOVE && _ !== h.DARKEST && _ !== h.LIGHTEST && _ !== h.DIFFERENCE && _ !== h.MULTIPLY && _ !== h.EXCLUSION && _ !== h.SCREEN && _ !== h.REPLACE && _ !== h.OVERLAY && _ !== h.HARD_LIGHT && _ !== h.SOFT_LIGHT && _ !== h.DODGE && _ !== h.BURN && _ !== h.ADD)\n throw new Error(\"Mode \".concat(_, \" not recognized.\"));\n this._cachedBlendMode = _, this.drawingContext.globalCompositeOperation = _;\n }\n } }, { key: \"blend\", value: function() {\n for (var _ = this.drawingContext.globalCompositeOperation, S = arguments.length, E = new Array(S), P = 0; P < S; P++)\n E[P] = arguments[P];\n var x = E[E.length - 1], A = Array.prototype.slice.call(E, 0, E.length - 1);\n this.drawingContext.globalCompositeOperation = x, u.default.prototype.copy.apply(this, A), this.drawingContext.globalCompositeOperation = _;\n } }, { key: \"_getPixel\", value: function(_, S) {\n return _ = this.drawingContext.getImageData(_, S, 1, 1).data, [_[0], _[1], _[2], _[3]];\n } }, { key: \"loadPixels\", value: function() {\n var _ = this._pixelsState, S = _._pixelDensity, E = this.width * S, S = this.height * S, E = this.drawingContext.getImageData(0, 0, E, S);\n _._setProperty(\"imageData\", E), _._setProperty(\"pixels\", E.data);\n } }, { key: \"set\", value: function(_, S, E) {\n _ = Math.floor(_), S = Math.floor(S);\n var P = this._pixelsState;\n if (E instanceof u.default.Image)\n this.drawingContext.save(), this.drawingContext.setTransform(1, 0, 0, 1, 0, 0), this.drawingContext.scale(P._pixelDensity, P._pixelDensity), this.drawingContext.clearRect(_, S, E.width, E.height), this.drawingContext.drawImage(E.canvas, _, S), this.drawingContext.restore();\n else {\n var x = 0, A = 0, M = 0, R = 0, L = 4 * (S * P._pixelDensity * (this.width * P._pixelDensity) + _ * P._pixelDensity);\n if (P.imageData || P.loadPixels(), typeof E == \"number\")\n L < P.pixels.length && (M = A = x = E, R = 255);\n else if (Array.isArray(E)) {\n if (E.length < 4)\n throw new Error(\"pixel array must be of the form [R, G, B, A]\");\n L < P.pixels.length && (x = E[0], A = E[1], M = E[2], R = E[3]);\n } else\n E instanceof u.default.Color && L < P.pixels.length && (x = E.levels[0], A = E.levels[1], M = E.levels[2], R = E.levels[3]);\n for (var F = 0; F < P._pixelDensity; F++)\n for (var V = 0; V < P._pixelDensity; V++)\n L = 4 * ((S * P._pixelDensity + V) * this.width * P._pixelDensity + (_ * P._pixelDensity + F)), P.pixels[L] = x, P.pixels[L + 1] = A, P.pixels[L + 2] = M, P.pixels[L + 3] = R;\n }\n } }, { key: \"updatePixels\", value: function(_, S, E, P) {\n var x = this._pixelsState, A = x._pixelDensity;\n _ === void 0 && S === void 0 && E === void 0 && P === void 0 && (S = _ = 0, E = this.width, P = this.height), _ *= A, S *= A, E *= A, P *= A, this.gifProperties && (this.gifProperties.frames[this.gifProperties.displayIndex].image = x.imageData), this.drawingContext.putImageData(x.imageData, _, S, 0, 0, E, P);\n } }, { key: \"_acuteArcToBezier\", value: function(_, S) {\n var A = S / 2, E = Math.cos(A), R = Math.sin(A), P = 1 / Math.tan(A), A = _ + A, x = Math.cos(A), A = Math.sin(A), M = (4 - E) / 3, R = R + (E - M) * P;\n return { ax: Math.cos(_).toFixed(7), ay: Math.sin(_).toFixed(7), bx: (M * x + R * A).toFixed(7), by: (M * A - R * x).toFixed(7), cx: (M * x - R * A).toFixed(7), cy: (M * A + R * x).toFixed(7), dx: Math.cos(_ + S).toFixed(7), dy: Math.sin(_ + S).toFixed(7) };\n } }, { key: \"arc\", value: function(_, S, E, P, x, A, M) {\n var R, L = this.drawingContext, F = E / 2, V = P / 2, G = [];\n for (_ += F, S += V; 1e-5 <= A - x; )\n R = Math.min(A - x, h.HALF_PI), G.push(this._acuteArcToBezier(x, R)), x += R;\n return this._doFill && (this._clipping || L.beginPath(), G.forEach(function(U, W) {\n W === 0 && L.moveTo(_ + U.ax * F, S + U.ay * V), L.bezierCurveTo(_ + U.bx * F, S + U.by * V, _ + U.cx * F, S + U.cy * V, _ + U.dx * F, S + U.dy * V);\n }), M !== h.PIE && M != null || L.lineTo(_, S), L.closePath(), this._clipping || L.fill()), this._doStroke && (this._clipping || L.beginPath(), G.forEach(function(U, W) {\n W === 0 && L.moveTo(_ + U.ax * F, S + U.ay * V), L.bezierCurveTo(_ + U.bx * F, S + U.by * V, _ + U.cx * F, S + U.cy * V, _ + U.dx * F, S + U.dy * V);\n }), M === h.PIE ? (L.lineTo(_, S), L.closePath()) : M === h.CHORD && L.closePath(), this._clipping || L.stroke()), this;\n } }, { key: \"ellipse\", value: function(R) {\n var S = this.drawingContext, E = this._doFill, P = this._doStroke, x = parseFloat(R[0]), A = parseFloat(R[1]), M = parseFloat(R[2]), R = parseFloat(R[3]);\n if (E && !P) {\n if (this._getFill() === l)\n return this;\n } else if (!E && P && this._getStroke() === l)\n return this;\n x += M / 2, A += R / 2, M /= 2, R /= 2, this._clipping || S.beginPath(), S.ellipse(x, A, M, R, 0, 0, 2 * Math.PI), !this._clipping && E && S.fill(), !this._clipping && P && S.stroke();\n } }, { key: \"line\", value: function(_, S, E, P) {\n var x = this.drawingContext;\n return this._doStroke && this._getStroke() !== l && (this._clipping || x.beginPath(), x.moveTo(_, S), x.lineTo(E, P), x.stroke()), this;\n } }, { key: \"point\", value: function(_, S) {\n var E, P, x = this.drawingContext;\n return !this._doStroke || this._getStroke() === l ? this : (E = this._getStroke(), P = this._getFill(), this._clipping || this._setFill(E), this._clipping || x.beginPath(), x.arc(_, S, x.lineWidth / 2, 0, h.TWO_PI, !1), void (this._clipping || (x.fill(), this._setFill(P))));\n } }, { key: \"quad\", value: function(_, S, E, P, x, A, M, R) {\n var L = this.drawingContext, F = this._doFill, V = this._doStroke;\n if (F && !V) {\n if (this._getFill() === l)\n return this;\n } else if (!F && V && this._getStroke() === l)\n return this;\n return this._clipping || L.beginPath(), L.moveTo(_, S), L.lineTo(E, P), L.lineTo(x, A), L.lineTo(M, R), L.closePath(), !this._clipping && F && L.fill(), !this._clipping && V && L.stroke(), this;\n } }, { key: \"rect\", value: function(V) {\n var S, E, P = V[0], x = V[1], A = V[2], M = V[3], R = V[4], L = V[5], F = V[6], V = V[7], G = this.drawingContext, U = this._doFill, W = this._doStroke;\n if (U && !W) {\n if (this._getFill() === l)\n return this;\n } else if (!U && W && this._getStroke() === l)\n return this;\n return this._clipping || G.beginPath(), R === void 0 ? G.rect(P, x, A, M) : (L === void 0 && (L = R), F === void 0 && (F = L), V === void 0 && (V = F), W = (U = Math.abs(A)) / 2, E = (S = Math.abs(M)) / 2, S < 2 * (R = U < 2 * R ? W : R) && (R = E), S < 2 * (L = U < 2 * L ? W : L) && (L = E), S < 2 * (F = U < 2 * F ? W : F) && (F = E), S < 2 * (V = U < 2 * V ? W : V) && (V = E), this._clipping || G.beginPath(), G.moveTo(P + R, x), G.arcTo(P + A, x, P + A, x + M, L), G.arcTo(P + A, x + M, P, x + M, F), G.arcTo(P, x + M, P, x, V), G.arcTo(P, x, P + A, x, R), G.closePath()), !this._clipping && this._doFill && G.fill(), !this._clipping && this._doStroke && G.stroke(), this;\n } }, { key: \"triangle\", value: function(F) {\n var S = this.drawingContext, E = this._doFill, P = this._doStroke, x = F[0], A = F[1], M = F[2], R = F[3], L = F[4], F = F[5];\n if (E && !P) {\n if (this._getFill() === l)\n return this;\n } else if (!E && P && this._getStroke() === l)\n return this;\n this._clipping || S.beginPath(), S.moveTo(x, A), S.lineTo(M, R), S.lineTo(L, F), S.closePath(), !this._clipping && E && S.fill(), !this._clipping && P && S.stroke();\n } }, { key: \"endShape\", value: function(_, S, E, P, x, A, M) {\n if (S.length !== 0 && (this._doStroke || this._doFill)) {\n var R, L, F, V = _ === h.CLOSE, G = (V && !A && S.push(S[0]), S.length);\n if (E && M === null) {\n if (3 < G) {\n var U = [], W = 1 - this._curveTightness;\n for (this._clipping || this.drawingContext.beginPath(), this.drawingContext.moveTo(S[1][0], S[1][1]), L = 1; L + 2 < G; L++)\n R = S[L], U[0] = [R[0], R[1]], U[1] = [R[0] + (W * S[L + 1][0] - W * S[L - 1][0]) / 6, R[1] + (W * S[L + 1][1] - W * S[L - 1][1]) / 6], U[2] = [S[L + 1][0] + (W * S[L][0] - W * S[L + 2][0]) / 6, S[L + 1][1] + (W * S[L][1] - W * S[L + 2][1]) / 6], U[3] = [S[L + 1][0], S[L + 1][1]], this.drawingContext.bezierCurveTo(U[1][0], U[1][1], U[2][0], U[2][1], U[3][0], U[3][1]);\n V && this.drawingContext.lineTo(S[L + 1][0], S[L + 1][1]), this._doFillStrokeClose(V);\n }\n } else if (P && M === null) {\n for (this._clipping || this.drawingContext.beginPath(), L = 0; L < G; L++)\n S[L].isVert ? S[L].moveTo ? this.drawingContext.moveTo(S[L][0], S[L][1]) : this.drawingContext.lineTo(S[L][0], S[L][1]) : this.drawingContext.bezierCurveTo(S[L][0], S[L][1], S[L][2], S[L][3], S[L][4], S[L][5]);\n this._doFillStrokeClose(V);\n } else if (x && M === null) {\n for (this._clipping || this.drawingContext.beginPath(), L = 0; L < G; L++)\n S[L].isVert ? S[L].moveTo ? this.drawingContext.moveTo(S[L][0], S[L][1]) : this.drawingContext.lineTo(S[L][0], S[L][1]) : this.drawingContext.quadraticCurveTo(S[L][0], S[L][1], S[L][2], S[L][3]);\n this._doFillStrokeClose(V);\n } else if (M === h.POINTS)\n for (L = 0; L < G; L++)\n R = S[L], this._doStroke && this._pInst.stroke(R[6]), this._pInst.point(R[0], R[1]);\n else if (M === h.LINES)\n for (L = 0; L + 1 < G; L += 2)\n R = S[L], this._doStroke && this._pInst.stroke(S[L + 1][6]), this._pInst.line(R[0], R[1], S[L + 1][0], S[L + 1][1]);\n else if (M === h.TRIANGLES)\n for (L = 0; L + 2 < G; L += 3)\n R = S[L], this._clipping || this.drawingContext.beginPath(), this.drawingContext.moveTo(R[0], R[1]), this.drawingContext.lineTo(S[L + 1][0], S[L + 1][1]), this.drawingContext.lineTo(S[L + 2][0], S[L + 2][1]), this.drawingContext.closePath(), !this._clipping && this._doFill && (this._pInst.fill(S[L + 2][5]), this.drawingContext.fill()), !this._clipping && this._doStroke && (this._pInst.stroke(S[L + 2][6]), this.drawingContext.stroke());\n else if (M === h.TRIANGLE_STRIP)\n for (L = 0; L + 1 < G; L++)\n R = S[L], this._clipping || this.drawingContext.beginPath(), this.drawingContext.moveTo(S[L + 1][0], S[L + 1][1]), this.drawingContext.lineTo(R[0], R[1]), !this._clipping && this._doStroke && this._pInst.stroke(S[L + 1][6]), !this._clipping && this._doFill && this._pInst.fill(S[L + 1][5]), L + 2 < G && (this.drawingContext.lineTo(S[L + 2][0], S[L + 2][1]), !this._clipping && this._doStroke && this._pInst.stroke(S[L + 2][6]), !this._clipping && this._doFill && this._pInst.fill(S[L + 2][5])), this._doFillStrokeClose(V);\n else if (M === h.TRIANGLE_FAN) {\n if (2 < G) {\n for (this._clipping || this.drawingContext.beginPath(), L = 2; L < G; L++)\n R = S[L], this.drawingContext.moveTo(S[0][0], S[0][1]), this.drawingContext.lineTo(S[L - 1][0], S[L - 1][1]), this.drawingContext.lineTo(R[0], R[1]), this.drawingContext.lineTo(S[0][0], S[0][1]), L < G - 1 && (this._doFill && R[5] !== S[L + 1][5] || this._doStroke && R[6] !== S[L + 1][6]) && (!this._clipping && this._doFill && (this._pInst.fill(R[5]), this.drawingContext.fill(), this._pInst.fill(S[L + 1][5])), !this._clipping && this._doStroke && (this._pInst.stroke(R[6]), this.drawingContext.stroke(), this._pInst.stroke(S[L + 1][6])), this.drawingContext.closePath(), this._clipping || this.drawingContext.beginPath());\n this._doFillStrokeClose(V);\n }\n } else if (M === h.QUADS)\n for (L = 0; L + 3 < G; L += 4) {\n for (R = S[L], this._clipping || this.drawingContext.beginPath(), this.drawingContext.moveTo(R[0], R[1]), F = 1; F < 4; F++)\n this.drawingContext.lineTo(S[L + F][0], S[L + F][1]);\n this.drawingContext.lineTo(R[0], R[1]), !this._clipping && this._doFill && this._pInst.fill(S[L + 3][5]), !this._clipping && this._doStroke && this._pInst.stroke(S[L + 3][6]), this._doFillStrokeClose(V);\n }\n else if (M === h.QUAD_STRIP) {\n if (3 < G)\n for (L = 0; L + 1 < G; L += 2)\n R = S[L], this._clipping || this.drawingContext.beginPath(), L + 3 < G ? (this.drawingContext.moveTo(S[L + 2][0], S[L + 2][1]), this.drawingContext.lineTo(R[0], R[1]), this.drawingContext.lineTo(S[L + 1][0], S[L + 1][1]), this.drawingContext.lineTo(S[L + 3][0], S[L + 3][1]), !this._clipping && this._doFill && this._pInst.fill(S[L + 3][5]), !this._clipping && this._doStroke && this._pInst.stroke(S[L + 3][6])) : (this.drawingContext.moveTo(R[0], R[1]), this.drawingContext.lineTo(S[L + 1][0], S[L + 1][1])), this._doFillStrokeClose(V);\n } else {\n for (this._clipping || this.drawingContext.beginPath(), this.drawingContext.moveTo(S[0][0], S[0][1]), L = 1; L < G; L++)\n (R = S[L]).isVert && (R.moveTo ? (V && this.drawingContext.closePath(), this.drawingContext.moveTo(R[0], R[1])) : this.drawingContext.lineTo(R[0], R[1]));\n this._doFillStrokeClose(V);\n }\n A = x = P = E = !1, V && S.pop();\n }\n return this;\n } }, { key: \"strokeCap\", value: function(_) {\n return _ !== h.ROUND && _ !== h.SQUARE && _ !== h.PROJECT || (this.drawingContext.lineCap = _), this;\n } }, { key: \"strokeJoin\", value: function(_) {\n return _ !== h.ROUND && _ !== h.BEVEL && _ !== h.MITER || (this.drawingContext.lineJoin = _), this;\n } }, { key: \"strokeWeight\", value: function(_) {\n return this.drawingContext.lineWidth = _ === void 0 || _ === 0 ? 1e-4 : _, this;\n } }, { key: \"_getFill\", value: function() {\n return this._cachedFillStyle || (this._cachedFillStyle = this.drawingContext.fillStyle), this._cachedFillStyle;\n } }, { key: \"_setFill\", value: function(_) {\n _ !== this._cachedFillStyle && (this.drawingContext.fillStyle = _, this._cachedFillStyle = _);\n } }, { key: \"_getStroke\", value: function() {\n return this._cachedStrokeStyle || (this._cachedStrokeStyle = this.drawingContext.strokeStyle), this._cachedStrokeStyle;\n } }, { key: \"_setStroke\", value: function(_) {\n _ !== this._cachedStrokeStyle && (this.drawingContext.strokeStyle = _, this._cachedStrokeStyle = _);\n } }, { key: \"bezier\", value: function(_, S, E, P, x, A, M, R) {\n return this._pInst.beginShape(), this._pInst.vertex(_, S), this._pInst.bezierVertex(E, P, x, A, M, R), this._pInst.endShape(), this;\n } }, { key: \"curve\", value: function(_, S, E, P, x, A, M, R) {\n return this._pInst.beginShape(), this._pInst.curveVertex(_, S), this._pInst.curveVertex(E, P), this._pInst.curveVertex(x, A), this._pInst.curveVertex(M, R), this._pInst.endShape(), this;\n } }, { key: \"_doFillStrokeClose\", value: function(_) {\n _ && this.drawingContext.closePath(), !this._clipping && this._doFill && this.drawingContext.fill(), !this._clipping && this._doStroke && this.drawingContext.stroke();\n } }, { key: \"applyMatrix\", value: function(_, S, E, P, x, A) {\n this.drawingContext.transform(_, S, E, P, x, A);\n } }, { key: \"resetMatrix\", value: function() {\n return this.drawingContext.setTransform(1, 0, 0, 1, 0, 0), this.drawingContext.scale(this._pInst._pixelDensity, this._pInst._pixelDensity), this;\n } }, { key: \"rotate\", value: function(_) {\n this.drawingContext.rotate(_);\n } }, { key: \"scale\", value: function(_, S) {\n return this.drawingContext.scale(_, S), this;\n } }, { key: \"translate\", value: function(_, S) {\n return _ instanceof u.default.Vector && (S = _.y, _ = _.x), this.drawingContext.translate(_, S), this;\n } }, { key: \"_renderText\", value: function(_, S, E, P, x, A) {\n if (!(P < A || x <= P))\n return _.push(), this._isOpenType() ? this._textFont._renderPath(S, E, P, { renderer: this }) : (this._doStroke && this._strokeSet && this.drawingContext.strokeText(S, E, P), !this._clipping && this._doFill && (this._fillSet || this._setFill(h._DEFAULT_TEXT_FILL), this.drawingContext.fillText(S, E, P))), _.pop(), _;\n } }, { key: \"textWidth\", value: function(_) {\n return this._isOpenType() ? this._textFont._textWidth(_, this._textSize) : this.drawingContext.measureText(_).width;\n } }, { key: \"_applyTextProperties\", value: function() {\n var _ = this._pInst, S = (this._setProperty(\"_textAscent\", null), this._setProperty(\"_textDescent\", null), S = this._textFont, this._isOpenType() && (S = this._textFont.font.familyName, this._setProperty(\"_textStyle\", this._textFont.font.styleName)), S || \"sans-serif\");\n return /\\s/.exec(S) && (S = '\"'.concat(S, '\"')), this.drawingContext.font = \"\".concat(this._textStyle || \"normal\", \" \").concat(this._textSize || 12, \"px \").concat(S), this.drawingContext.textAlign = this._textAlign, this._textBaseline === h.CENTER ? this.drawingContext.textBaseline = h._CTX_MIDDLE : this.drawingContext.textBaseline = this._textBaseline, _;\n } }, { key: \"push\", value: function() {\n return this.drawingContext.save(), n(a(T.prototype), \"push\", this).call(this);\n } }, { key: \"pop\", value: function(_) {\n this.drawingContext.restore(), this._cachedFillStyle = this.drawingContext.fillStyle, this._cachedStrokeStyle = this.drawingContext.strokeStyle, n(a(T.prototype), \"pop\", this).call(this, _);\n } }]) && f(p.prototype, c), T;\n }(u.default.Renderer), i = (r.prototype.text = function(c, p, j, E, _) {\n E !== void 0 && this.drawingContext.textBaseline === h.BASELINE && (S = !0, this.drawingContext.textBaseline = h.TOP);\n var S, E = u.default.Renderer.prototype.text.apply(this, arguments);\n return S && (this.drawingContext.textBaseline = h.BASELINE), E;\n }, u.default.Renderer2D = r, u.default.Renderer2D);\n C.default = i;\n }, { \"./constants\": 269, \"./main\": 280, \"./p5.Renderer\": 283, \"core-js/modules/es.array.concat\": 152, \"core-js/modules/es.array.fill\": 155, \"core-js/modules/es.array.for-each\": 160, \"core-js/modules/es.array.iterator\": 164, \"core-js/modules/es.array.join\": 165, \"core-js/modules/es.array.slice\": 168, \"core-js/modules/es.function.name\": 173, \"core-js/modules/es.number.to-fixed\": 180, \"core-js/modules/es.object.get-own-property-descriptor\": 183, \"core-js/modules/es.object.get-prototype-of\": 185, \"core-js/modules/es.object.to-string\": 187, \"core-js/modules/es.reflect.construct\": 189, \"core-js/modules/es.reflect.get\": 190, \"core-js/modules/es.regexp.exec\": 192, \"core-js/modules/es.regexp.to-string\": 193, \"core-js/modules/es.string.iterator\": 197, \"core-js/modules/es.symbol\": 209, \"core-js/modules/es.symbol.description\": 207, \"core-js/modules/es.symbol.iterator\": 208, \"core-js/modules/es.weak-map\": 241, \"core-js/modules/web.dom-collections.iterator\": 243 }], 285: [function(t, H, C) {\n t(\"core-js/modules/es.symbol\"), t(\"core-js/modules/es.symbol.description\"), t(\"core-js/modules/es.symbol.iterator\"), t(\"core-js/modules/es.array.iterator\"), t(\"core-js/modules/es.object.assign\"), t(\"core-js/modules/es.object.to-string\"), t(\"core-js/modules/es.promise\"), t(\"core-js/modules/es.string.iterator\"), t(\"core-js/modules/web.dom-collections.iterator\"), t(\"core-js/modules/es.symbol\"), t(\"core-js/modules/es.symbol.description\"), t(\"core-js/modules/es.symbol.iterator\"), t(\"core-js/modules/es.array.iterator\"), t(\"core-js/modules/es.object.assign\"), t(\"core-js/modules/es.object.to-string\"), t(\"core-js/modules/es.promise\"), t(\"core-js/modules/es.string.iterator\"), t(\"core-js/modules/web.dom-collections.iterator\");\n var m = (t = t(\"./main\")) && t.__esModule ? t : { default: t };\n m.default.prototype._promisePreloads = [];\n function y() {\n return {};\n }\n var u = !(m.default.prototype.registerPromisePreload = function(h) {\n m.default.prototype._promisePreloads.push(h);\n });\n m.default.prototype._setupPromisePreloads = function() {\n var h = !0, g = !1, f = void 0;\n try {\n for (var n, s = this._promisePreloads[Symbol.iterator](); !(h = (n = s.next()).done); h = !0) {\n var o = n.value, a = this, l = o.method, r = o.addCallbacks, i = o.legacyPreloadSetup, c = o.target || this, p = c[l].bind(c);\n if (c === m.default.prototype) {\n if (u)\n continue;\n a = null, p = c[l];\n }\n c[l] = this._wrapPromisePreload(a, p, r), i && (c[i.method] = this._legacyPreloadGenerator(a, i, c[l]));\n }\n } catch (j) {\n g = !0, f = j;\n } finally {\n try {\n h || s.return == null || s.return();\n } finally {\n if (g)\n throw f;\n }\n }\n u = !0;\n }, m.default.prototype._wrapPromisePreload = function(h, g, f) {\n var n = function() {\n for (var s = this, o = (this._incrementPreload(), null), a = null, l = arguments.length, r = new Array(l), i = 0; i < l; i++)\n r[i] = arguments[i];\n if (f)\n for (var c = r.length - 1; 0 <= c && !a && typeof r[c] == \"function\"; c--)\n a = o, o = r.pop();\n var p = Promise.resolve(g.apply(this, r));\n return o && p.then(o), a && p.catch(a), p.then(function() {\n return s._decrementPreload();\n }), p;\n };\n return n = h ? n.bind(h) : n;\n }, m.default.prototype._legacyPreloadGenerator = function(h, s, f) {\n var n = s.createBaseObject || y, s = function() {\n var o = this;\n this._incrementPreload();\n for (var a = arguments.length, l = new Array(a), r = 0; r < a; r++)\n l[r] = arguments[r];\n var i = n.apply(this, l);\n return f.apply(this, l).then(function(c) {\n Object.assign(i, c), o._decrementPreload();\n }), i;\n };\n return s = h ? s.bind(h) : s;\n };\n }, { \"./main\": 280, \"core-js/modules/es.array.iterator\": 164, \"core-js/modules/es.object.assign\": 181, \"core-js/modules/es.object.to-string\": 187, \"core-js/modules/es.promise\": 188, \"core-js/modules/es.string.iterator\": 197, \"core-js/modules/es.symbol\": 209, \"core-js/modules/es.symbol.description\": 207, \"core-js/modules/es.symbol.iterator\": 208, \"core-js/modules/web.dom-collections.iterator\": 243 }], 286: [function(t, H, C) {\n function m(s) {\n return (m = typeof Symbol == \"function\" && typeof Symbol.iterator == \"symbol\" ? function(o) {\n return typeof o;\n } : function(o) {\n return o && typeof Symbol == \"function\" && o.constructor === Symbol && o !== Symbol.prototype ? \"symbol\" : typeof o;\n })(s);\n }\n t(\"core-js/modules/es.symbol\"), t(\"core-js/modules/es.symbol.description\"), t(\"core-js/modules/es.symbol.iterator\"), t(\"core-js/modules/es.array.filter\"), t(\"core-js/modules/es.array.iterator\"), t(\"core-js/modules/es.object.get-own-property-descriptor\"), t(\"core-js/modules/es.object.to-string\"), t(\"core-js/modules/es.string.iterator\"), t(\"core-js/modules/es.weak-map\"), t(\"core-js/modules/web.dom-collections.iterator\"), t(\"core-js/modules/es.symbol\"), t(\"core-js/modules/es.symbol.description\"), t(\"core-js/modules/es.symbol.iterator\"), t(\"core-js/modules/es.array.filter\"), t(\"core-js/modules/es.array.iterator\"), t(\"core-js/modules/es.object.to-string\"), t(\"core-js/modules/es.string.iterator\"), t(\"core-js/modules/web.dom-collections.iterator\"), Object.defineProperty(C, \"__esModule\", { value: !0 }), C.default = void 0;\n var y = (n = t(\"./main\")) && n.__esModule ? n : { default: n }, u = function(s) {\n if (s && s.__esModule)\n return s;\n if (s === null || g(s) !== \"object\" && typeof s != \"function\")\n return { default: s };\n var o = h();\n if (o && o.has(s))\n return o.get(s);\n var a, l = {}, r = Object.defineProperty && Object.getOwnPropertyDescriptor;\n for (a in s) {\n var i;\n Object.prototype.hasOwnProperty.call(s, a) && ((i = r ? Object.getOwnPropertyDescriptor(s, a) : null) && (i.get || i.set) ? Object.defineProperty(l, a, i) : l[a] = s[a]);\n }\n return l.default = s, o && o.set(s, l), l;\n }(t(\"./constants\"));\n function h() {\n var s;\n return typeof WeakMap != \"function\" ? null : (s = /* @__PURE__ */ new WeakMap(), h = function() {\n return s;\n }, s);\n }\n function g(s) {\n return (g = typeof Symbol == \"function\" && m(Symbol.iterator) === \"symbol\" ? function(o) {\n return m(o);\n } : function(o) {\n return o && typeof Symbol == \"function\" && o.constructor === Symbol && o !== Symbol.prototype ? \"symbol\" : m(o);\n })(s);\n }\n t(\"./p5.Graphics\"), t(\"./p5.Renderer2D\"), t(\"../webgl/p5.RendererGL\");\n var f = \"defaultCanvas0\", n = (y.default.prototype.createCanvas = function(s, o, a, l) {\n var r, i, c;\n if (y.default._validateParameters(\"createCanvas\", arguments), arguments[2] instanceof HTMLCanvasElement ? (a = u.P2D, l = arguments[2]) : r = a || u.P2D, l)\n (c = document.getElementById(f)) && c.parentNode.removeChild(c), c = l, this._defaultGraphicsCreated = !1;\n else {\n if (r === u.WEBGL)\n (c = document.getElementById(f)) && (c.parentNode.removeChild(c), i = this._renderer, this._elements = this._elements.filter(function(j) {\n return j !== i;\n })), (c = document.createElement(\"canvas\")).id = f, c.classList.add(\"p5Canvas\");\n else if (this._defaultGraphicsCreated)\n c = this.canvas;\n else {\n c = l || document.createElement(\"canvas\");\n for (var p = 0; document.getElementById(\"defaultCanvas\".concat(p)); )\n p++;\n f = \"defaultCanvas\".concat(p), c.id = f, c.classList.add(\"p5Canvas\");\n }\n this._setupDone || (c.dataset.hidden = !0, c.style.visibility = \"hidden\"), (this._userNode || (document.getElementsByTagName(\"main\").length === 0 && (a = document.createElement(\"main\"), document.body.appendChild(a)), document.getElementsByTagName(\"main\")[0])).appendChild(c);\n }\n return r === u.WEBGL ? (this._setProperty(\"_renderer\", new y.default.RendererGL(c, this, !0)), this._elements.push(this._renderer), s = (l = this._renderer._adjustDimensions(s, o)).adjustedWidth, o = l.adjustedHeight) : this._defaultGraphicsCreated || (this._setProperty(\"_renderer\", new y.default.Renderer2D(c, this, !0)), this._defaultGraphicsCreated = !0, this._elements.push(this._renderer)), this._renderer.resize(s, o), this._renderer._applyDefaults(), this._renderer;\n }, y.default.prototype.resizeCanvas = function(s, o, a) {\n if (y.default._validateParameters(\"resizeCanvas\", arguments), this._renderer) {\n var l, r, i, c = {};\n for (l in this.drawingContext) {\n var p = this.drawingContext[l];\n g(p) !== \"object\" && typeof p != \"function\" && (c[l] = p);\n }\n for (i in this._renderer instanceof y.default.RendererGL && (s = (r = this._renderer._adjustDimensions(s, o)).adjustedWidth, o = r.adjustedHeight), this.width = s, this.height = o, this._renderer.resize(s, o), c)\n try {\n this.drawingContext[i] = c[i];\n } catch {\n }\n a || this.redraw();\n }\n this._addAccsOutput() && this._updateAccsOutput();\n }, y.default.prototype.noCanvas = function() {\n this.canvas && this.canvas.parentNode.removeChild(this.canvas);\n }, y.default.prototype.createGraphics = function(s, o) {\n for (var a = arguments.length, l = new Array(2 < a ? a - 2 : 0), r = 2; r < a; r++)\n l[r - 2] = arguments[r];\n return l[0] instanceof HTMLCanvasElement && (l[1] = l[0], l[0] = u.P2D), y.default._validateParameters(\"createGraphics\", arguments), new y.default.Graphics(s, o, l[0], this, l[1]);\n }, y.default.prototype.createFramebuffer = function(s) {\n return new y.default.Framebuffer(this, s);\n }, y.default.prototype.clearDepth = function(s) {\n this._assert3d(\"clearDepth\"), this._renderer.clearDepth(s);\n }, y.default.prototype.blendMode = function(s) {\n y.default._validateParameters(\"blendMode\", arguments), s === u.NORMAL && (console.warn(\"NORMAL has been deprecated for use in blendMode. defaulting to BLEND instead.\"), s = u.BLEND), this._renderer.blendMode(s);\n }, y.default);\n C.default = n;\n }, { \"../webgl/p5.RendererGL\": 337, \"./constants\": 269, \"./main\": 280, \"./p5.Graphics\": 282, \"./p5.Renderer2D\": 284, \"core-js/modules/es.array.filter\": 156, \"core-js/modules/es.array.iterator\": 164, \"core-js/modules/es.object.get-own-property-descriptor\": 183, \"core-js/modules/es.object.to-string\": 187, \"core-js/modules/es.string.iterator\": 197, \"core-js/modules/es.symbol\": 209, \"core-js/modules/es.symbol.description\": 207, \"core-js/modules/es.symbol.iterator\": 208, \"core-js/modules/es.weak-map\": 241, \"core-js/modules/web.dom-collections.iterator\": 243 }], 287: [function(t, H, C) {\n function m(o) {\n return (m = typeof Symbol == \"function\" && typeof Symbol.iterator == \"symbol\" ? function(a) {\n return typeof a;\n } : function(a) {\n return a && typeof Symbol == \"function\" && a.constructor === Symbol && a !== Symbol.prototype ? \"symbol\" : typeof a;\n })(o);\n }\n function y(o) {\n return (y = typeof Symbol == \"function\" && m(Symbol.iterator) === \"symbol\" ? function(a) {\n return m(a);\n } : function(a) {\n return a && typeof Symbol == \"function\" && a.constructor === Symbol && a !== Symbol.prototype ? \"symbol\" : m(a);\n })(o);\n }\n t(\"core-js/modules/es.symbol\"), t(\"core-js/modules/es.symbol.description\"), t(\"core-js/modules/es.symbol.iterator\"), t(\"core-js/modules/es.array.from\"), t(\"core-js/modules/es.array.iterator\"), t(\"core-js/modules/es.array.slice\"), t(\"core-js/modules/es.object.get-own-property-descriptor\"), t(\"core-js/modules/es.object.to-string\"), t(\"core-js/modules/es.regexp.to-string\"), t(\"core-js/modules/es.string.iterator\"), t(\"core-js/modules/es.weak-map\"), t(\"core-js/modules/web.dom-collections.iterator\"), t(\"core-js/modules/es.array.slice\"), Object.defineProperty(C, \"__esModule\", { value: !0 }), C.default = void 0;\n var u = n(t(\"../main\")), h = function(o) {\n if (o && o.__esModule)\n return o;\n if (o === null || y(o) !== \"object\" && typeof o != \"function\")\n return { default: o };\n var a = f();\n if (a && a.has(o))\n return a.get(o);\n var l, r = {}, i = Object.defineProperty && Object.getOwnPropertyDescriptor;\n for (l in o) {\n var c;\n Object.prototype.hasOwnProperty.call(o, l) && ((c = i ? Object.getOwnPropertyDescriptor(o, l) : null) && (c.get || c.set) ? Object.defineProperty(r, l, c) : r[l] = o[l]);\n }\n return r.default = o, a && a.set(o, r), r;\n }(t(\"../constants\")), g = n(t(\"../helpers\"));\n function f() {\n var o;\n return typeof WeakMap != \"function\" ? null : (o = /* @__PURE__ */ new WeakMap(), f = function() {\n return o;\n }, o);\n }\n function n(o) {\n return o && o.__esModule ? o : { default: o };\n }\n function s(o) {\n return function(a) {\n if (Array.isArray(a)) {\n for (var l = 0, r = new Array(a.length); l < a.length; l++)\n r[l] = a[l];\n return r;\n }\n }(o) || function(a) {\n if (Symbol.iterator in Object(a) || Object.prototype.toString.call(a) === \"[object Arguments]\")\n return Array.from(a);\n }(o) || function() {\n throw new TypeError(\"Invalid attempt to spread non-iterable instance\");\n }();\n }\n t(\"../friendly_errors/fes_core\"), t(\"../friendly_errors/file_errors\"), t(\"../friendly_errors/validate_params\"), u.default.prototype._normalizeArcAngles = function(o, a, l, r, i) {\n var c;\n return o -= h.TWO_PI * Math.floor(o / h.TWO_PI), a -= h.TWO_PI * Math.floor(a / h.TWO_PI), c = Math.min(Math.abs(o - a), h.TWO_PI - Math.abs(o - a)), i && (o = o <= h.HALF_PI ? Math.atan(l / r * Math.tan(o)) : o > h.HALF_PI && o <= 3 * h.HALF_PI ? Math.atan(l / r * Math.tan(o)) + h.PI : Math.atan(l / r * Math.tan(o)) + h.TWO_PI, a = a <= h.HALF_PI ? Math.atan(l / r * Math.tan(a)) : a > h.HALF_PI && a <= 3 * h.HALF_PI ? Math.atan(l / r * Math.tan(a)) + h.PI : Math.atan(l / r * Math.tan(a)) + h.TWO_PI), a < o && (a += h.TWO_PI), { start: o, stop: a, correspondToSamePoint: c < 1e-5 };\n }, u.default.prototype.arc = function(o, a, l, r, i, c, p, j) {\n return u.default._validateParameters(\"arc\", arguments), (this._renderer._doStroke || this._renderer._doFill) && i !== c && (i = this._toRadians(i), c = this._toRadians(c), l = Math.abs(l), r = Math.abs(r), o = g.default.modeAdjust(o, a, l, r, this._renderer._ellipseMode), (a = this._normalizeArcAngles(i, c, o.w, o.h, !0)).correspondToSamePoint ? this._renderer.ellipse([o.x, o.y, o.w, o.h, j]) : (this._renderer.arc(o.x, o.y, o.w, o.h, a.start, a.stop, p, j), (this._accessibleOutputs.grid || this._accessibleOutputs.text) && this._accsOutput(\"arc\", [o.x, o.y, o.w, o.h, a.start, a.stop, p]))), this;\n }, u.default.prototype.ellipse = function(o, a, l, r, i) {\n return u.default._validateParameters(\"ellipse\", arguments), this._renderEllipse.apply(this, arguments);\n }, u.default.prototype.circle = function() {\n for (var o = arguments.length, a = new Array(o), l = 0; l < o; l++)\n a[l] = arguments[l];\n u.default._validateParameters(\"circle\", a);\n var r = a.slice(0, 2);\n return r.push(a[2], a[2]), this._renderEllipse.apply(this, s(r));\n }, u.default.prototype._renderEllipse = function(o, a, l, r, i) {\n return (this._renderer._doStroke || this._renderer._doFill) && (l < 0 && (l = Math.abs(l)), r === void 0 ? r = l : r < 0 && (r = Math.abs(r)), o = g.default.modeAdjust(o, a, l, r, this._renderer._ellipseMode), this._renderer.ellipse([o.x, o.y, o.w, o.h, i]), (this._accessibleOutputs.grid || this._accessibleOutputs.text) && this._accsOutput(\"ellipse\", [o.x, o.y, o.w, o.h])), this;\n }, u.default.prototype.line = function() {\n for (var o, a = arguments.length, l = new Array(a), r = 0; r < a; r++)\n l[r] = arguments[r];\n return u.default._validateParameters(\"line\", l), this._renderer._doStroke && (o = this._renderer).line.apply(o, l), (this._accessibleOutputs.grid || this._accessibleOutputs.text) && this._accsOutput(\"line\", l), this;\n }, u.default.prototype.point = function() {\n for (var o, a = arguments.length, l = new Array(a), r = 0; r < a; r++)\n l[r] = arguments[r];\n return u.default._validateParameters(\"point\", l), this._renderer._doStroke && (l.length === 1 && l[0] instanceof u.default.Vector ? this._renderer.point.call(this._renderer, l[0].x, l[0].y, l[0].z) : ((o = this._renderer).point.apply(o, l), (this._accessibleOutputs.grid || this._accessibleOutputs.text) && this._accsOutput(\"point\", l))), this;\n }, u.default.prototype.quad = function() {\n for (var o, a = arguments.length, l = new Array(a), r = 0; r < a; r++)\n l[r] = arguments[r];\n return u.default._validateParameters(\"quad\", l), (this._renderer._doStroke || this._renderer._doFill) && (this._renderer.isP3D && l.length < 12 ? this._renderer.quad.call(this._renderer, l[0], l[1], 0, l[2], l[3], 0, l[4], l[5], 0, l[6], l[7], 0, l[8], l[9]) : ((o = this._renderer).quad.apply(o, l), (this._accessibleOutputs.grid || this._accessibleOutputs.text) && this._accsOutput(\"quadrilateral\", l))), this;\n }, u.default.prototype.rect = function() {\n for (var o = arguments.length, a = new Array(o), l = 0; l < o; l++)\n a[l] = arguments[l];\n return u.default._validateParameters(\"rect\", a), this._renderRect.apply(this, a);\n }, u.default.prototype.square = function(o, a, l, r, i, c, p) {\n return u.default._validateParameters(\"square\", arguments), this._renderRect.call(this, o, a, l, l, r, i, c, p);\n }, u.default.prototype._renderRect = function() {\n if (this._renderer._doStroke || this._renderer._doFill) {\n arguments.length === 3 && (arguments[3] = arguments[2]);\n for (var o = g.default.modeAdjust(arguments[0], arguments[1], arguments[2], arguments[3], this._renderer._rectMode), a = [o.x, o.y, o.w, o.h], l = 4; l < arguments.length; l++)\n a[l] = arguments[l];\n this._renderer.rect(a), (this._accessibleOutputs.grid || this._accessibleOutputs.text) && this._accsOutput(\"rectangle\", [o.x, o.y, o.w, o.h]);\n }\n return this;\n }, u.default.prototype.triangle = function() {\n for (var o = arguments.length, a = new Array(o), l = 0; l < o; l++)\n a[l] = arguments[l];\n return u.default._validateParameters(\"triangle\", a), (this._renderer._doStroke || this._renderer._doFill) && this._renderer.triangle(a), (this._accessibleOutputs.grid || this._accessibleOutputs.text) && this._accsOutput(\"triangle\", a), this;\n }, t = u.default, C.default = t;\n }, { \"../constants\": 269, \"../friendly_errors/fes_core\": 271, \"../friendly_errors/file_errors\": 272, \"../friendly_errors/validate_params\": 275, \"../helpers\": 276, \"../main\": 280, \"core-js/modules/es.array.from\": 161, \"core-js/modules/es.array.iterator\": 164, \"core-js/modules/es.array.slice\": 168, \"core-js/modules/es.object.get-own-property-descriptor\": 183, \"core-js/modules/es.object.to-string\": 187, \"core-js/modules/es.regexp.to-string\": 193, \"core-js/modules/es.string.iterator\": 197, \"core-js/modules/es.symbol\": 209, \"core-js/modules/es.symbol.description\": 207, \"core-js/modules/es.symbol.iterator\": 208, \"core-js/modules/es.weak-map\": 241, \"core-js/modules/web.dom-collections.iterator\": 243 }], 288: [function(t, H, C) {\n function m(n) {\n return (m = typeof Symbol == \"function\" && typeof Symbol.iterator == \"symbol\" ? function(s) {\n return typeof s;\n } : function(s) {\n return s && typeof Symbol == \"function\" && s.constructor === Symbol && s !== Symbol.prototype ? \"symbol\" : typeof s;\n })(n);\n }\n function y(n) {\n return (y = typeof Symbol == \"function\" && m(Symbol.iterator) === \"symbol\" ? function(s) {\n return m(s);\n } : function(s) {\n return s && typeof Symbol == \"function\" && s.constructor === Symbol && s !== Symbol.prototype ? \"symbol\" : m(s);\n })(n);\n }\n t(\"core-js/modules/es.symbol\"), t(\"core-js/modules/es.symbol.description\"), t(\"core-js/modules/es.symbol.iterator\"), t(\"core-js/modules/es.array.iterator\"), t(\"core-js/modules/es.object.get-own-property-descriptor\"), t(\"core-js/modules/es.object.to-string\"), t(\"core-js/modules/es.string.iterator\"), t(\"core-js/modules/es.weak-map\"), t(\"core-js/modules/web.dom-collections.iterator\"), Object.defineProperty(C, \"__esModule\", { value: !0 }), C.default = void 0;\n var u = (f = t(\"../main\")) && f.__esModule ? f : { default: f }, h = function(n) {\n if (n && n.__esModule)\n return n;\n if (n === null || y(n) !== \"object\" && typeof n != \"function\")\n return { default: n };\n var s = g();\n if (s && s.has(n))\n return s.get(n);\n var o, a = {}, l = Object.defineProperty && Object.getOwnPropertyDescriptor;\n for (o in n) {\n var r;\n Object.prototype.hasOwnProperty.call(n, o) && ((r = l ? Object.getOwnPropertyDescriptor(n, o) : null) && (r.get || r.set) ? Object.defineProperty(a, o, r) : a[o] = n[o]);\n }\n return a.default = n, s && s.set(n, a), a;\n }(t(\"../constants\"));\n function g() {\n var n;\n return typeof WeakMap != \"function\" ? null : (n = /* @__PURE__ */ new WeakMap(), g = function() {\n return n;\n }, n);\n }\n u.default.prototype.ellipseMode = function(n) {\n return u.default._validateParameters(\"ellipseMode\", arguments), n !== h.CORNER && n !== h.CORNERS && n !== h.RADIUS && n !== h.CENTER || (this._renderer._ellipseMode = n), this;\n }, u.default.prototype.noSmooth = function() {\n return this._renderer.isP3D ? this.setAttributes(\"antialias\", !1) : \"imageSmoothingEnabled\" in this.drawingContext && (this.drawingContext.imageSmoothingEnabled = !1), this;\n }, u.default.prototype.rectMode = function(n) {\n return u.default._validateParameters(\"rectMode\", arguments), n !== h.CORNER && n !== h.CORNERS && n !== h.RADIUS && n !== h.CENTER || (this._renderer._rectMode = n), this;\n }, u.default.prototype.smooth = function() {\n return this.setAttributes(\"antialias\", !0), this._renderer.isP3D || \"imageSmoothingEnabled\" in this.drawingContext && (this.drawingContext.imageSmoothingEnabled = !0), this;\n }, u.default.prototype.strokeCap = function(n) {\n return u.default._validateParameters(\"strokeCap\", arguments), n !== h.ROUND && n !== h.SQUARE && n !== h.PROJECT || this._renderer.strokeCap(n), this;\n }, u.default.prototype.strokeJoin = function(n) {\n return u.default._validateParameters(\"strokeJoin\", arguments), n !== h.ROUND && n !== h.BEVEL && n !== h.MITER || this._renderer.strokeJoin(n), this;\n }, u.default.prototype.strokeWeight = function(n) {\n return u.default._validateParameters(\"strokeWeight\", arguments), this._renderer.strokeWeight(n), this;\n };\n var f = u.default;\n C.default = f;\n }, { \"../constants\": 269, \"../main\": 280, \"core-js/modules/es.array.iterator\": 164, \"core-js/modules/es.object.get-own-property-descriptor\": 183, \"core-js/modules/es.object.to-string\": 187, \"core-js/modules/es.string.iterator\": 197, \"core-js/modules/es.symbol\": 209, \"core-js/modules/es.symbol.description\": 207, \"core-js/modules/es.symbol.iterator\": 208, \"core-js/modules/es.weak-map\": 241, \"core-js/modules/web.dom-collections.iterator\": 243 }], 289: [function(t, H, C) {\n Object.defineProperty(C, \"__esModule\", { value: !0 }), C.default = void 0;\n var m = (y = t(\"../main\")) && y.__esModule ? y : { default: y };\n t(\"../friendly_errors/fes_core\"), t(\"../friendly_errors/file_errors\"), t(\"../friendly_errors/validate_params\"), m.default.prototype.bezier = function() {\n for (var u, h = arguments.length, g = new Array(h), f = 0; f < h; f++)\n g[f] = arguments[f];\n return m.default._validateParameters(\"bezier\", g), (this._renderer._doStroke || this._renderer._doFill) && (u = this._renderer).bezier.apply(u, g), this;\n }, m.default.prototype.bezierDetail = function(u) {\n return m.default._validateParameters(\"bezierDetail\", arguments), this._bezierDetail = u, this;\n }, m.default.prototype.bezierPoint = function(u, h, g, f, n) {\n m.default._validateParameters(\"bezierPoint\", arguments);\n var s = 1 - n;\n return Math.pow(s, 3) * u + 3 * Math.pow(s, 2) * n * h + 3 * s * Math.pow(n, 2) * g + Math.pow(n, 3) * f;\n }, m.default.prototype.bezierTangent = function(u, h, g, f, n) {\n m.default._validateParameters(\"bezierTangent\", arguments);\n var s = 1 - n;\n return 3 * f * Math.pow(n, 2) - 3 * g * Math.pow(n, 2) + 6 * g * s * n - 6 * h * s * n + 3 * h * Math.pow(s, 2) - 3 * u * Math.pow(s, 2);\n }, m.default.prototype.curve = function() {\n for (var u, h = arguments.length, g = new Array(h), f = 0; f < h; f++)\n g[f] = arguments[f];\n return m.default._validateParameters(\"curve\", g), this._renderer._doStroke && (u = this._renderer).curve.apply(u, g), this;\n }, m.default.prototype.curveDetail = function(u) {\n return m.default._validateParameters(\"curveDetail\", arguments), this._curveDetail = u < 3 ? 3 : u, this;\n }, m.default.prototype.curveTightness = function(u) {\n return m.default._validateParameters(\"curveTightness\", arguments), this._renderer._curveTightness = u, this;\n }, m.default.prototype.curvePoint = function(u, h, g, f, n) {\n m.default._validateParameters(\"curvePoint\", arguments);\n var s = this._renderer._curveTightness, o = n * n * n, a = n * n;\n return u * ((s - 1) / 2 * o + (1 - s) * a + (s - 1) / 2 * n) + h * ((s + 3) / 2 * o + (-5 - s) / 2 * a + 1) + g * ((-3 - s) / 2 * o + (s + 2) * a + (1 - s) / 2 * n) + f * ((1 - s) / 2 * o + (s - 1) / 2 * a);\n }, m.default.prototype.curveTangent = function(u, h, g, f, a) {\n m.default._validateParameters(\"curveTangent\", arguments);\n var s = this._renderer._curveTightness, o = a * a * 3, a = 2 * a;\n return u * ((s - 1) / 2 * o + (1 - s) * a + (s - 1) / 2) + h * ((s + 3) / 2 * o + (-5 - s) / 2 * a) + g * ((-3 - s) / 2 * o + (s + 2) * a + (1 - s) / 2) + f * ((1 - s) / 2 * o + (s - 1) / 2 * a);\n };\n var y = m.default;\n C.default = y;\n }, { \"../friendly_errors/fes_core\": 271, \"../friendly_errors/file_errors\": 272, \"../friendly_errors/validate_params\": 275, \"../main\": 280 }], 290: [function(t, H, C) {\n function m(p) {\n return (m = typeof Symbol == \"function\" && typeof Symbol.iterator == \"symbol\" ? function(j) {\n return typeof j;\n } : function(j) {\n return j && typeof Symbol == \"function\" && j.constructor === Symbol && j !== Symbol.prototype ? \"symbol\" : typeof j;\n })(p);\n }\n function y(p) {\n return (y = typeof Symbol == \"function\" && m(Symbol.iterator) === \"symbol\" ? function(j) {\n return m(j);\n } : function(j) {\n return j && typeof Symbol == \"function\" && j.constructor === Symbol && j !== Symbol.prototype ? \"symbol\" : m(j);\n })(p);\n }\n t(\"core-js/modules/es.symbol\"), t(\"core-js/modules/es.symbol.description\"), t(\"core-js/modules/es.symbol.iterator\"), t(\"core-js/modules/es.array.iterator\"), t(\"core-js/modules/es.array.slice\"), t(\"core-js/modules/es.object.get-own-property-descriptor\"), t(\"core-js/modules/es.object.to-string\"), t(\"core-js/modules/es.string.iterator\"), t(\"core-js/modules/es.weak-map\"), t(\"core-js/modules/web.dom-collections.iterator\"), t(\"core-js/modules/es.array.slice\"), Object.defineProperty(C, \"__esModule\", { value: !0 }), C.default = void 0;\n var u = (c = t(\"../main\")) && c.__esModule ? c : { default: c }, h = function(p) {\n if (p && p.__esModule)\n return p;\n if (p === null || y(p) !== \"object\" && typeof p != \"function\")\n return { default: p };\n var j = g();\n if (j && j.has(p))\n return j.get(p);\n var T, _ = {}, S = Object.defineProperty && Object.getOwnPropertyDescriptor;\n for (T in p) {\n var E;\n Object.prototype.hasOwnProperty.call(p, T) && ((E = S ? Object.getOwnPropertyDescriptor(p, T) : null) && (E.get || E.set) ? Object.defineProperty(_, T, E) : _[T] = p[T]);\n }\n return _.default = p, j && j.set(p, _), _;\n }(t(\"../constants\"));\n function g() {\n var p;\n return typeof WeakMap != \"function\" ? null : (p = /* @__PURE__ */ new WeakMap(), g = function() {\n return p;\n }, p);\n }\n var f = null, n = [], s = [], o = !1, a = !1, l = !1, r = !1, i = !0, c = (u.default.prototype.beginContour = function() {\n return this._renderer.isP3D ? this._renderer.beginContour() : (s = [], r = !0), this;\n }, u.default.prototype.beginShape = function(p) {\n var j;\n return u.default._validateParameters(\"beginShape\", arguments), this._renderer.isP3D ? (j = this._renderer).beginShape.apply(j, arguments) : (f = p === h.POINTS || p === h.LINES || p === h.TRIANGLES || p === h.TRIANGLE_FAN || p === h.TRIANGLE_STRIP || p === h.QUADS || p === h.QUAD_STRIP ? p : null, n = [], s = []), this;\n }, u.default.prototype.bezierVertex = function() {\n for (var p, j = arguments.length, T = new Array(j), _ = 0; _ < j; _++)\n T[_] = arguments[_];\n if (u.default._validateParameters(\"bezierVertex\", T), this._renderer.isP3D)\n (p = this._renderer).bezierVertex.apply(p, T);\n else if (n.length === 0)\n u.default._friendlyError(\"vertex() must be used once before calling bezierVertex()\", \"bezierVertex\");\n else {\n o = !0;\n for (var S = [], E = 0; E < T.length; E++)\n S[E] = T[E];\n S.isVert = !1, (r ? s : n).push(S);\n }\n return this;\n }, u.default.prototype.curveVertex = function() {\n for (var p, j = arguments.length, T = new Array(j), _ = 0; _ < j; _++)\n T[_] = arguments[_];\n return u.default._validateParameters(\"curveVertex\", T), this._renderer.isP3D ? (p = this._renderer).curveVertex.apply(p, T) : (a = !0, this.vertex(T[0], T[1])), this;\n }, u.default.prototype.endContour = function() {\n if (!this._renderer.isP3D) {\n var p = s[0].slice();\n p.isVert = s[0].isVert, p.moveTo = !1, s.push(p), i && (n.push(n[0]), i = !1);\n for (var j = 0; j < s.length; j++)\n n.push(s[j]);\n }\n return this;\n }, u.default.prototype.endShape = function(p) {\n var j = 1 < arguments.length && arguments[1] !== void 0 ? arguments[1] : 1;\n if (u.default._validateParameters(\"endShape\", arguments), j < 1 && (console.log(\"🌸 p5.js says: You can not have less than one instance\"), j = 1), this._renderer.isP3D)\n this._renderer.endShape(p, a, o, l, r, f, j);\n else {\n if (j !== 1 && console.log(\"🌸 p5.js says: Instancing is only supported in WebGL2 mode\"), n.length === 0)\n return this;\n if (!this._renderer._doStroke && !this._renderer._doFill)\n return this;\n j = p === h.CLOSE, j && !r && n.push(n[0]), this._renderer.endShape(p, n, a, o, l, r, f), i = !(r = l = o = a = !1), j && n.pop();\n }\n return this;\n }, u.default.prototype.quadraticVertex = function() {\n for (var p, j = arguments.length, T = new Array(j), _ = 0; _ < j; _++)\n T[_] = arguments[_];\n if (u.default._validateParameters(\"quadraticVertex\", T), this._renderer.isP3D)\n (p = this._renderer).quadraticVertex.apply(p, T);\n else {\n if (this._contourInited)\n return (p = {}).x = T[0], p.y = T[1], p.x3 = T[2], p.y3 = T[3], p.type = h.QUADRATIC, this._contourVertices.push(p), this;\n if (0 < n.length) {\n l = !0;\n for (var S = [], E = 0; E < T.length; E++)\n S[E] = T[E];\n S.isVert = !1, (r ? s : n).push(S);\n } else\n u.default._friendlyError(\"vertex() must be used once before calling quadraticVertex()\", \"quadraticVertex\");\n }\n return this;\n }, u.default.prototype.vertex = function(p, j, T, _, S) {\n var E;\n return this._renderer.isP3D ? (E = this._renderer).vertex.apply(E, arguments) : ((E = []).isVert = !0, E[0] = p, E[1] = j, E[2] = 0, E[3] = 0, E[4] = 0, E[5] = this._renderer._getFill(), E[6] = this._renderer._getStroke(), T && (E.moveTo = T), (r ? (s.length === 0 && (E.moveTo = !0), s) : n).push(E)), this;\n }, u.default.prototype.normal = function(p, j, T) {\n var _;\n return this._assert3d(\"normal\"), u.default._validateParameters(\"normal\", arguments), (_ = this._renderer).normal.apply(_, arguments), this;\n }, u.default);\n C.default = c;\n }, { \"../constants\": 269, \"../main\": 280, \"core-js/modules/es.array.iterator\": 164, \"core-js/modules/es.array.slice\": 168, \"core-js/modules/es.object.get-own-property-descriptor\": 183, \"core-js/modules/es.object.to-string\": 187, \"core-js/modules/es.string.iterator\": 197, \"core-js/modules/es.symbol\": 209, \"core-js/modules/es.symbol.description\": 207, \"core-js/modules/es.symbol.iterator\": 208, \"core-js/modules/es.weak-map\": 241, \"core-js/modules/web.dom-collections.iterator\": 243 }], 291: [function(t, H, C) {\n }, {}], 292: [function(t, H, C) {\n t(\"core-js/modules/es.object.assign\"), t(\"core-js/modules/es.object.assign\"), Object.defineProperty(C, \"__esModule\", { value: !0 }), C.default = void 0, t = (t = t(\"./main\")) && t.__esModule ? t : { default: t }, t.default.prototype.noLoop = function() {\n this._loop = !1;\n }, t.default.prototype.loop = function() {\n this._loop || (this._loop = !0, this._setupDone && this._draw());\n }, t.default.prototype.isLooping = function() {\n return this._loop;\n }, t.default.prototype.push = function() {\n this._styles.push({ props: { _colorMode: this._colorMode }, renderer: this._renderer.push() });\n }, t.default.prototype.pop = function() {\n var m = this._styles.pop();\n m ? (this._renderer.pop(m.renderer), Object.assign(this, m.props)) : console.warn(\"pop() was called without matching push()\");\n }, t.default.prototype.redraw = function(m) {\n if (!this._inUserDraw && this._setupDone) {\n var y = parseInt(m), u = ((isNaN(y) || y < 1) && (y = 1), this._isGlobal ? window : this);\n if (typeof u.draw == \"function\") {\n u.setup === void 0 && u.scale(u._pixelDensity, u._pixelDensity);\n for (var h = 0; h < y; h++) {\n u.resetMatrix(), (this._accessibleOutputs.grid || this._accessibleOutputs.text) && this._updateAccsOutput(), u._renderer.isP3D && u._renderer._update(), u._setProperty(\"frameCount\", u.frameCount + 1), this.callRegisteredHooksFor(\"pre\"), this._inUserDraw = !0;\n try {\n u.draw();\n } finally {\n this._inUserDraw = !1;\n }\n this.callRegisteredHooksFor(\"post\");\n }\n }\n }\n }, t = t.default, C.default = t;\n }, { \"./main\": 280, \"core-js/modules/es.object.assign\": 181 }], 293: [function(t, H, C) {\n t(\"core-js/modules/es.symbol\"), t(\"core-js/modules/es.symbol.description\"), t(\"core-js/modules/es.symbol.iterator\"), t(\"core-js/modules/es.array.from\"), t(\"core-js/modules/es.array.iterator\"), t(\"core-js/modules/es.object.get-prototype-of\"), t(\"core-js/modules/es.object.to-string\"), t(\"core-js/modules/es.regexp.to-string\"), t(\"core-js/modules/es.string.iterator\"), t(\"core-js/modules/es.typed-array.uint8-array\"), t(\"core-js/modules/es.typed-array.copy-within\"), t(\"core-js/modules/es.typed-array.every\"), t(\"core-js/modules/es.typed-array.fill\"), t(\"core-js/modules/es.typed-array.filter\"), t(\"core-js/modules/es.typed-array.find\"), t(\"core-js/modules/es.typed-array.find-index\"), t(\"core-js/modules/es.typed-array.for-each\"), t(\"core-js/modules/es.typed-array.includes\"), t(\"core-js/modules/es.typed-array.index-of\"), t(\"core-js/modules/es.typed-array.iterator\"), t(\"core-js/modules/es.typed-array.join\"), t(\"core-js/modules/es.typed-array.last-index-of\"), t(\"core-js/modules/es.typed-array.map\"), t(\"core-js/modules/es.typed-array.reduce\"), t(\"core-js/modules/es.typed-array.reduce-right\"), t(\"core-js/modules/es.typed-array.reverse\"), t(\"core-js/modules/es.typed-array.set\"), t(\"core-js/modules/es.typed-array.slice\"), t(\"core-js/modules/es.typed-array.some\"), t(\"core-js/modules/es.typed-array.sort\"), t(\"core-js/modules/es.typed-array.subarray\"), t(\"core-js/modules/es.typed-array.to-locale-string\"), t(\"core-js/modules/es.typed-array.to-string\"), t(\"core-js/modules/web.dom-collections.iterator\"), t(\"core-js/modules/es.array.iterator\"), t(\"core-js/modules/es.object.get-prototype-of\"), t(\"core-js/modules/es.object.to-string\"), t(\"core-js/modules/es.typed-array.uint8-array\"), t(\"core-js/modules/es.typed-array.copy-within\"), t(\"core-js/modules/es.typed-array.every\"), t(\"core-js/modules/es.typed-array.fill\"), t(\"core-js/modules/es.typed-array.filter\"), t(\"core-js/modules/es.typed-array.find\"), t(\"core-js/modules/es.typed-array.find-index\"), t(\"core-js/modules/es.typed-array.for-each\"), t(\"core-js/modules/es.typed-array.includes\"), t(\"core-js/modules/es.typed-array.index-of\"), t(\"core-js/modules/es.typed-array.iterator\"), t(\"core-js/modules/es.typed-array.join\"), t(\"core-js/modules/es.typed-array.last-index-of\"), t(\"core-js/modules/es.typed-array.map\"), t(\"core-js/modules/es.typed-array.reduce\"), t(\"core-js/modules/es.typed-array.reduce-right\"), t(\"core-js/modules/es.typed-array.reverse\"), t(\"core-js/modules/es.typed-array.set\"), t(\"core-js/modules/es.typed-array.slice\"), t(\"core-js/modules/es.typed-array.some\"), t(\"core-js/modules/es.typed-array.sort\"), t(\"core-js/modules/es.typed-array.subarray\"), t(\"core-js/modules/es.typed-array.to-locale-string\"), t(\"core-js/modules/es.typed-array.to-string\"), Object.defineProperty(C, \"__esModule\", { value: !0 }), C.default = void 0;\n var m = (t = t(\"./main\")) && t.__esModule ? t : { default: t };\n function y(u) {\n return function(h) {\n if (Array.isArray(h)) {\n for (var g = 0, f = new Array(h.length); g < h.length; g++)\n f[g] = h[g];\n return f;\n }\n }(u) || function(h) {\n if (Symbol.iterator in Object(h) || Object.prototype.toString.call(h) === \"[object Arguments]\")\n return Array.from(h);\n }(u) || function() {\n throw new TypeError(\"Invalid attempt to spread non-iterable instance\");\n }();\n }\n m.default.prototype.applyMatrix = function() {\n var u = (arguments.length <= 0 ? void 0 : arguments[0]) instanceof Object.getPrototypeOf(Uint8Array);\n return Array.isArray(arguments.length <= 0 ? void 0 : arguments[0]) || u ? (u = this._renderer).applyMatrix.apply(u, y(arguments.length <= 0 ? void 0 : arguments[0])) : (u = this._renderer).applyMatrix.apply(u, arguments), this;\n }, m.default.prototype.resetMatrix = function() {\n return this._renderer.resetMatrix(), this;\n }, m.default.prototype.rotate = function(u, h) {\n return m.default._validateParameters(\"rotate\", arguments), this._renderer.rotate(this._toRadians(u), h), this;\n }, m.default.prototype.rotateX = function(u) {\n return this._assert3d(\"rotateX\"), m.default._validateParameters(\"rotateX\", arguments), this._renderer.rotateX(this._toRadians(u)), this;\n }, m.default.prototype.rotateY = function(u) {\n return this._assert3d(\"rotateY\"), m.default._validateParameters(\"rotateY\", arguments), this._renderer.rotateY(this._toRadians(u)), this;\n }, m.default.prototype.rotateZ = function(u) {\n return this._assert3d(\"rotateZ\"), m.default._validateParameters(\"rotateZ\", arguments), this._renderer.rotateZ(this._toRadians(u)), this;\n }, m.default.prototype.scale = function(u, h, g) {\n var f;\n return m.default._validateParameters(\"scale\", arguments), u instanceof m.default.Vector ? (u = (f = u).x, h = f.y, g = f.z) : Array.isArray(u) && (u = (f = u)[0], h = f[1], g = f[2] || 1), isNaN(h) ? h = g = u : isNaN(g) && (g = 1), this._renderer.scale(u, h, g), this;\n }, m.default.prototype.shearX = function(u) {\n return m.default._validateParameters(\"shearX\", arguments), u = this._toRadians(u), this._renderer.applyMatrix(1, 0, Math.tan(u), 1, 0, 0), this;\n }, m.default.prototype.shearY = function(u) {\n return m.default._validateParameters(\"shearY\", arguments), u = this._toRadians(u), this._renderer.applyMatrix(1, Math.tan(u), 0, 1, 0, 0), this;\n }, m.default.prototype.translate = function(u, h, g) {\n return m.default._validateParameters(\"translate\", arguments), this._renderer.isP3D ? this._renderer.translate(u, h, g) : this._renderer.translate(u, h), this;\n }, t = m.default, C.default = t;\n }, { \"./main\": 280, \"core-js/modules/es.array.from\": 161, \"core-js/modules/es.array.iterator\": 164, \"core-js/modules/es.object.get-prototype-of\": 185, \"core-js/modules/es.object.to-string\": 187, \"core-js/modules/es.regexp.to-string\": 193, \"core-js/modules/es.string.iterator\": 197, \"core-js/modules/es.symbol\": 209, \"core-js/modules/es.symbol.description\": 207, \"core-js/modules/es.symbol.iterator\": 208, \"core-js/modules/es.typed-array.copy-within\": 210, \"core-js/modules/es.typed-array.every\": 211, \"core-js/modules/es.typed-array.fill\": 212, \"core-js/modules/es.typed-array.filter\": 213, \"core-js/modules/es.typed-array.find\": 215, \"core-js/modules/es.typed-array.find-index\": 214, \"core-js/modules/es.typed-array.for-each\": 218, \"core-js/modules/es.typed-array.includes\": 219, \"core-js/modules/es.typed-array.index-of\": 220, \"core-js/modules/es.typed-array.iterator\": 223, \"core-js/modules/es.typed-array.join\": 224, \"core-js/modules/es.typed-array.last-index-of\": 225, \"core-js/modules/es.typed-array.map\": 226, \"core-js/modules/es.typed-array.reduce\": 228, \"core-js/modules/es.typed-array.reduce-right\": 227, \"core-js/modules/es.typed-array.reverse\": 229, \"core-js/modules/es.typed-array.set\": 230, \"core-js/modules/es.typed-array.slice\": 231, \"core-js/modules/es.typed-array.some\": 232, \"core-js/modules/es.typed-array.sort\": 233, \"core-js/modules/es.typed-array.subarray\": 234, \"core-js/modules/es.typed-array.to-locale-string\": 235, \"core-js/modules/es.typed-array.to-string\": 236, \"core-js/modules/es.typed-array.uint8-array\": 239, \"core-js/modules/web.dom-collections.iterator\": 243 }], 294: [function(t, H, C) {\n function m(g) {\n return (m = typeof Symbol == \"function\" && typeof Symbol.iterator == \"symbol\" ? function(f) {\n return typeof f;\n } : function(f) {\n return f && typeof Symbol == \"function\" && f.constructor === Symbol && f !== Symbol.prototype ? \"symbol\" : typeof f;\n })(g);\n }\n t(\"core-js/modules/es.symbol\"), t(\"core-js/modules/es.symbol.description\"), t(\"core-js/modules/es.symbol.iterator\"), t(\"core-js/modules/es.array.from\"), t(\"core-js/modules/es.array.iterator\"), t(\"core-js/modules/es.object.to-string\"), t(\"core-js/modules/es.regexp.to-string\"), t(\"core-js/modules/es.string.ends-with\"), t(\"core-js/modules/es.string.iterator\"), t(\"core-js/modules/web.dom-collections.iterator\"), t(\"core-js/modules/es.symbol\"), t(\"core-js/modules/es.symbol.description\"), t(\"core-js/modules/es.symbol.iterator\"), t(\"core-js/modules/es.array.iterator\"), t(\"core-js/modules/es.object.to-string\"), t(\"core-js/modules/es.regexp.to-string\"), t(\"core-js/modules/es.string.ends-with\"), t(\"core-js/modules/es.string.iterator\"), t(\"core-js/modules/web.dom-collections.iterator\");\n var y = (t = t(\"../core/main\")) && t.__esModule ? t : { default: t };\n function u(g) {\n return function(f) {\n if (Array.isArray(f)) {\n for (var n = 0, s = new Array(f.length); n < f.length; n++)\n s[n] = f[n];\n return s;\n }\n }(g) || function(f) {\n if (Symbol.iterator in Object(f) || Object.prototype.toString.call(f) === \"[object Arguments]\")\n return Array.from(f);\n }(g) || function() {\n throw new TypeError(\"Invalid attempt to spread non-iterable instance\");\n }();\n }\n function h(g) {\n return (h = typeof Symbol == \"function\" && m(Symbol.iterator) === \"symbol\" ? function(f) {\n return m(f);\n } : function(f) {\n return f && typeof Symbol == \"function\" && f.constructor === Symbol && f !== Symbol.prototype ? \"symbol\" : m(f);\n })(g);\n }\n y.default.prototype.storeItem = function(g, f) {\n typeof g != \"string\" && console.log(\"The argument that you passed to storeItem() - \".concat(g, \" is not a string.\")), g.endsWith(\"p5TypeID\") && console.log(\"The argument that you passed to storeItem() - \".concat(g, \" must not end with 'p5TypeID'.\")), f === void 0 && console.log(\"You cannot store undefined variables using storeItem().\");\n var n = h(f);\n switch (n) {\n case \"number\":\n case \"boolean\":\n f = f.toString();\n break;\n case \"object\":\n f instanceof y.default.Color ? n = \"p5.Color\" : f instanceof y.default.Vector && (n = \"p5.Vector\", f = [f.x, f.y, f.z]), f = JSON.stringify(f);\n }\n localStorage.setItem(g, f), g = \"\".concat(g, \"p5TypeID\"), localStorage.setItem(g, n);\n }, y.default.prototype.getItem = function(g) {\n var f = localStorage.getItem(g), n = localStorage.getItem(\"\".concat(g, \"p5TypeID\"));\n if (n === void 0)\n console.log(\"Unable to determine type of item stored under \".concat(g, \"in local storage. Did you save the item with something other than setItem()?\"));\n else if (f !== null)\n switch (n) {\n case \"number\":\n f = parseFloat(f);\n break;\n case \"boolean\":\n f = f === \"true\";\n break;\n case \"object\":\n f = JSON.parse(f);\n break;\n case \"p5.Color\":\n f = JSON.parse(f), f = this.color.apply(this, u(f.levels));\n break;\n case \"p5.Vector\":\n f = JSON.parse(f), f = this.createVector.apply(this, u(f));\n }\n return f;\n }, y.default.prototype.clearStorage = function() {\n localStorage.clear();\n }, y.default.prototype.removeItem = function(g) {\n typeof g != \"string\" && console.log(\"The argument that you passed to removeItem() - \".concat(g, \" is not a string.\")), localStorage.removeItem(g), localStorage.removeItem(\"\".concat(g, \"p5TypeID\"));\n };\n }, { \"../core/main\": 280, \"core-js/modules/es.array.from\": 161, \"core-js/modules/es.array.iterator\": 164, \"core-js/modules/es.object.to-string\": 187, \"core-js/modules/es.regexp.to-string\": 193, \"core-js/modules/es.string.ends-with\": 195, \"core-js/modules/es.string.iterator\": 197, \"core-js/modules/es.symbol\": 209, \"core-js/modules/es.symbol.description\": 207, \"core-js/modules/es.symbol.iterator\": 208, \"core-js/modules/web.dom-collections.iterator\": 243 }], 295: [function(t, H, C) {\n function m(l) {\n return (m = typeof Symbol == \"function\" && typeof Symbol.iterator == \"symbol\" ? function(r) {\n return typeof r;\n } : function(r) {\n return r && typeof Symbol == \"function\" && r.constructor === Symbol && r !== Symbol.prototype ? \"symbol\" : typeof r;\n })(l);\n }\n function y(l) {\n return (y = typeof Symbol == \"function\" && m(Symbol.iterator) === \"symbol\" ? function(r) {\n return m(r);\n } : function(r) {\n return r && typeof Symbol == \"function\" && r.constructor === Symbol && r !== Symbol.prototype ? \"symbol\" : m(r);\n })(l);\n }\n t(\"core-js/modules/es.symbol\"), t(\"core-js/modules/es.symbol.description\"), t(\"core-js/modules/es.symbol.iterator\"), t(\"core-js/modules/es.array.concat\"), t(\"core-js/modules/es.array.iterator\"), t(\"core-js/modules/es.object.get-prototype-of\"), t(\"core-js/modules/es.object.keys\"), t(\"core-js/modules/es.object.to-string\"), t(\"core-js/modules/es.reflect.construct\"), t(\"core-js/modules/es.regexp.to-string\"), t(\"core-js/modules/es.string.iterator\"), t(\"core-js/modules/web.dom-collections.iterator\"), t(\"core-js/modules/es.array.concat\"), t(\"core-js/modules/es.object.keys\"), Object.defineProperty(C, \"__esModule\", { value: !0 }), C.default = void 0;\n var u = (t = t(\"../core/main\")) && t.__esModule ? t : { default: t };\n function h(l, r) {\n if (typeof r != \"function\" && r !== null)\n throw new TypeError(\"Super expression must either be null or a function\");\n l.prototype = Object.create(r && r.prototype, { constructor: { value: l, writable: !0, configurable: !0 } }), r && g(l, r);\n }\n function g(l, r) {\n return (g = Object.setPrototypeOf || function(i, c) {\n return i.__proto__ = c, i;\n })(l, r);\n }\n function f(l) {\n return function() {\n var r, i = n(l), i = (r = function() {\n if (typeof Reflect < \"u\" && Reflect.construct && !Reflect.construct.sham) {\n if (typeof Proxy == \"function\")\n return 1;\n try {\n return Date.prototype.toString.call(Reflect.construct(Date, [], function() {\n })), 1;\n } catch {\n }\n }\n }() ? (r = n(this).constructor, Reflect.construct(i, arguments, r)) : i.apply(this, arguments), this);\n if (!r || y(r) !== \"object\" && typeof r != \"function\") {\n if (i !== void 0)\n return i;\n throw new ReferenceError(\"this hasn't been initialised - super() hasn't been called\");\n }\n return r;\n };\n }\n function n(l) {\n return (n = Object.setPrototypeOf ? Object.getPrototypeOf : function(r) {\n return r.__proto__ || Object.getPrototypeOf(r);\n })(l);\n }\n function s(l, r) {\n if (!(l instanceof r))\n throw new TypeError(\"Cannot call a class as a function\");\n }\n function o(l, r) {\n for (var i = 0; i < r.length; i++) {\n var c = r[i];\n c.enumerable = c.enumerable || !1, c.configurable = !0, \"value\" in c && (c.writable = !0), Object.defineProperty(l, c.key, c);\n }\n }\n function a(l, r, i) {\n r && o(l.prototype, r), i && o(l, i);\n }\n u.default.prototype.createStringDict = function(l, r) {\n return u.default._validateParameters(\"createStringDict\", arguments), new u.default.StringDict(l, r);\n }, u.default.prototype.createNumberDict = function(l, r) {\n return u.default._validateParameters(\"createNumberDict\", arguments), new u.default.NumberDict(l, r);\n }, u.default.TypedDict = function() {\n function l(r, i) {\n return s(this, l), r instanceof Object ? this.data = r : (this.data = {}, this.data[r] = i), this;\n }\n return a(l, [{ key: \"size\", value: function() {\n return Object.keys(this.data).length;\n } }, { key: \"hasKey\", value: function(r) {\n return this.data.hasOwnProperty(r);\n } }, { key: \"get\", value: function(r) {\n if (this.data.hasOwnProperty(r))\n return this.data[r];\n console.log(\"\".concat(r, \" does not exist in this Dictionary\"));\n } }, { key: \"set\", value: function(r, i) {\n this._validate(i) ? this.data[r] = i : console.log(\"Those values dont work for this dictionary type.\");\n } }, { key: \"_addObj\", value: function(r) {\n for (var i in r)\n this.set(i, r[i]);\n } }, { key: \"create\", value: function(r, i) {\n r instanceof Object && i === void 0 ? this._addObj(r) : r !== void 0 ? this.set(r, i) : console.log(\"In order to create a new Dictionary entry you must pass an object or a key, value pair\");\n } }, { key: \"clear\", value: function() {\n this.data = {};\n } }, { key: \"remove\", value: function(r) {\n if (!this.data.hasOwnProperty(r))\n throw new Error(\"\".concat(r, \" does not exist in this Dictionary\"));\n delete this.data[r];\n } }, { key: \"print\", value: function() {\n for (var r in this.data)\n console.log(\"key:\".concat(r, \" value:\").concat(this.data[r]));\n } }, { key: \"saveTable\", value: function(r) {\n var i, c = \"\";\n for (i in this.data)\n c += \"\".concat(i, \",\").concat(this.data[i], `\n`);\n var p = new Blob([c], { type: \"text/csv\" });\n u.default.prototype.downloadFile(p, r || \"mycsv\", \"csv\");\n } }, { key: \"saveJSON\", value: function(r, i) {\n u.default.prototype.saveJSON(this.data, r, i);\n } }, { key: \"_validate\", value: function(r) {\n return !0;\n } }]), l;\n }(), u.default.StringDict = function() {\n h(r, u.default.TypedDict);\n var l = f(r);\n function r() {\n s(this, r);\n for (var i = arguments.length, c = new Array(i), p = 0; p < i; p++)\n c[p] = arguments[p];\n return l.call.apply(l, [this].concat(c));\n }\n return a(r, [{ key: \"_validate\", value: function(i) {\n return typeof i == \"string\";\n } }]), r;\n }(), u.default.NumberDict = function() {\n h(r, u.default.TypedDict);\n var l = f(r);\n function r() {\n s(this, r);\n for (var i = arguments.length, c = new Array(i), p = 0; p < i; p++)\n c[p] = arguments[p];\n return l.call.apply(l, [this].concat(c));\n }\n return a(r, [{ key: \"_validate\", value: function(i) {\n return typeof i == \"number\";\n } }, { key: \"add\", value: function(i, c) {\n this.data.hasOwnProperty(i) ? this.data[i] += c : console.log(\"The key - \".concat(i, \" does not exist in this dictionary.\"));\n } }, { key: \"sub\", value: function(i, c) {\n this.add(i, -c);\n } }, { key: \"mult\", value: function(i, c) {\n this.data.hasOwnProperty(i) ? this.data[i] *= c : console.log(\"The key - \".concat(i, \" does not exist in this dictionary.\"));\n } }, { key: \"div\", value: function(i, c) {\n this.data.hasOwnProperty(i) ? this.data[i] /= c : console.log(\"The key - \".concat(i, \" does not exist in this dictionary.\"));\n } }, { key: \"_valueTest\", value: function(i) {\n if (Object.keys(this.data).length === 0)\n throw new Error(\"Unable to search for a minimum or maximum value on an empty NumberDict\");\n if (Object.keys(this.data).length === 1)\n return this.data[Object.keys(this.data)[0]];\n var c, p = this.data[Object.keys(this.data)[0]];\n for (c in this.data)\n this.data[c] * i < p * i && (p = this.data[c]);\n return p;\n } }, { key: \"minValue\", value: function() {\n return this._valueTest(1);\n } }, { key: \"maxValue\", value: function() {\n return this._valueTest(-1);\n } }, { key: \"_keyTest\", value: function(i) {\n if (Object.keys(this.data).length === 0)\n throw new Error(\"Unable to use minValue on an empty NumberDict\");\n if (Object.keys(this.data).length === 1)\n return Object.keys(this.data)[0];\n for (var c = Object.keys(this.data)[0], p = 1; p < Object.keys(this.data).length; p++)\n Object.keys(this.data)[p] * i < c * i && (c = Object.keys(this.data)[p]);\n return c;\n } }, { key: \"minKey\", value: function() {\n return this._keyTest(1);\n } }, { key: \"maxKey\", value: function() {\n return this._keyTest(-1);\n } }]), r;\n }(), t = u.default.TypedDict, C.default = t;\n }, { \"../core/main\": 280, \"core-js/modules/es.array.concat\": 152, \"core-js/modules/es.array.iterator\": 164, \"core-js/modules/es.object.get-prototype-of\": 185, \"core-js/modules/es.object.keys\": 186, \"core-js/modules/es.object.to-string\": 187, \"core-js/modules/es.reflect.construct\": 189, \"core-js/modules/es.regexp.to-string\": 193, \"core-js/modules/es.string.iterator\": 197, \"core-js/modules/es.symbol\": 209, \"core-js/modules/es.symbol.description\": 207, \"core-js/modules/es.symbol.iterator\": 208, \"core-js/modules/web.dom-collections.iterator\": 243 }], 296: [function(t, H, C) {\n function m(c) {\n return (m = typeof Symbol == \"function\" && typeof Symbol.iterator == \"symbol\" ? function(p) {\n return typeof p;\n } : function(p) {\n return p && typeof Symbol == \"function\" && p.constructor === Symbol && p !== Symbol.prototype ? \"symbol\" : typeof p;\n })(c);\n }\n t(\"core-js/modules/es.symbol\"), t(\"core-js/modules/es.symbol.description\"), t(\"core-js/modules/es.symbol.iterator\"), t(\"core-js/modules/es.array.every\"), t(\"core-js/modules/es.array.filter\"), t(\"core-js/modules/es.array.for-each\"), t(\"core-js/modules/es.array.from\"), t(\"core-js/modules/es.array.index-of\"), t(\"core-js/modules/es.array.iterator\"), t(\"core-js/modules/es.array.map\"), t(\"core-js/modules/es.array.slice\"), t(\"core-js/modules/es.array.splice\"), t(\"core-js/modules/es.function.name\"), t(\"core-js/modules/es.object.assign\"), t(\"core-js/modules/es.object.get-prototype-of\"), t(\"core-js/modules/es.object.to-string\"), t(\"core-js/modules/es.promise\"), t(\"core-js/modules/es.reflect.construct\"), t(\"core-js/modules/es.regexp.exec\"), t(\"core-js/modules/es.regexp.to-string\"), t(\"core-js/modules/es.string.iterator\"), t(\"core-js/modules/es.string.replace\"), t(\"core-js/modules/es.string.split\"), t(\"core-js/modules/es.string.trim\"), t(\"core-js/modules/web.dom-collections.for-each\"), t(\"core-js/modules/web.dom-collections.iterator\"), t(\"core-js/modules/web.url\"), t(\"core-js/modules/es.symbol\"), t(\"core-js/modules/es.symbol.description\"), t(\"core-js/modules/es.symbol.iterator\"), t(\"core-js/modules/es.array.every\"), t(\"core-js/modules/es.array.filter\"), t(\"core-js/modules/es.array.for-each\"), t(\"core-js/modules/es.array.from\"), t(\"core-js/modules/es.array.index-of\"), t(\"core-js/modules/es.array.iterator\"), t(\"core-js/modules/es.array.map\"), t(\"core-js/modules/es.array.slice\"), t(\"core-js/modules/es.array.splice\"), t(\"core-js/modules/es.function.name\"), t(\"core-js/modules/es.object.assign\"), t(\"core-js/modules/es.object.to-string\"), t(\"core-js/modules/es.promise\"), t(\"core-js/modules/es.regexp.exec\"), t(\"core-js/modules/es.regexp.to-string\"), t(\"core-js/modules/es.string.iterator\"), t(\"core-js/modules/es.string.replace\"), t(\"core-js/modules/es.string.split\"), t(\"core-js/modules/es.string.trim\"), t(\"core-js/modules/web.dom-collections.for-each\"), t(\"core-js/modules/web.dom-collections.iterator\"), t(\"core-js/modules/web.url\"), Object.defineProperty(C, \"__esModule\", { value: !0 }), C.default = void 0;\n var y = (t = t(\"../core/main\")) && t.__esModule ? t : { default: t };\n function u(c, p) {\n for (var j = 0; j < p.length; j++) {\n var T = p[j];\n T.enumerable = T.enumerable || !1, T.configurable = !0, \"value\" in T && (T.writable = !0), Object.defineProperty(c, T.key, T);\n }\n }\n function h(c, p, j) {\n p && u(c.prototype, p), j && u(c, j);\n }\n function g(c, p) {\n return (g = Object.setPrototypeOf || function(j, T) {\n return j.__proto__ = T, j;\n })(c, p);\n }\n function f(c) {\n return function() {\n var p, j, T = s(c);\n return p = function() {\n if (typeof Reflect < \"u\" && Reflect.construct && !Reflect.construct.sham) {\n if (typeof Proxy == \"function\")\n return 1;\n try {\n return Date.prototype.toString.call(Reflect.construct(Date, [], function() {\n })), 1;\n } catch {\n }\n }\n }() ? (p = s(this).constructor, Reflect.construct(T, arguments, p)) : T.apply(this, arguments), T = this, !(j = p) || a(j) !== \"object\" && typeof j != \"function\" ? n(T) : j;\n };\n }\n function n(c) {\n if (c === void 0)\n throw new ReferenceError(\"this hasn't been initialised - super() hasn't been called\");\n return c;\n }\n function s(c) {\n return (s = Object.setPrototypeOf ? Object.getPrototypeOf : function(p) {\n return p.__proto__ || Object.getPrototypeOf(p);\n })(c);\n }\n function o(c, p) {\n if (!(c instanceof p))\n throw new TypeError(\"Cannot call a class as a function\");\n }\n function a(c) {\n return (a = typeof Symbol == \"function\" && m(Symbol.iterator) === \"symbol\" ? function(p) {\n return m(p);\n } : function(p) {\n return p && typeof Symbol == \"function\" && p.constructor === Symbol && p !== Symbol.prototype ? \"symbol\" : m(p);\n })(c);\n }\n function l(c, p, j) {\n return (p._userNode || document.body).appendChild(c), j = new (j ? y.default.MediaElement : y.default.Element)(c, p), p._elements.push(j), j;\n }\n function r(c, E, j, T) {\n var _ = document.createElement(E), S = (typeof (j = j || \"\") == \"string\" && (j = [j]), !0), E = !1, P = void 0;\n try {\n for (var x, A = j[Symbol.iterator](); !(S = (x = A.next()).done); S = !0) {\n var M = x.value, R = document.createElement(\"source\");\n R.setAttribute(\"src\", M), _.appendChild(R);\n }\n } catch (F) {\n E = !0, P = F;\n } finally {\n try {\n S || A.return == null || A.return();\n } finally {\n if (E)\n throw P;\n }\n }\n typeof T == \"function\" && _.addEventListener(\"canplaythrough\", function F() {\n T(), _.removeEventListener(\"canplaythrough\", F);\n });\n var L = l(_, c, !0);\n return L.loadedmetadata = !1, _.addEventListener(\"loadedmetadata\", function() {\n L.width = _.videoWidth, L.height = _.videoHeight, L.elt.width === 0 && (L.elt.width = _.videoWidth), L.elt.height === 0 && (L.elt.height = _.videoHeight), L.presetPlaybackRate && (L.elt.playbackRate = L.presetPlaybackRate, delete L.presetPlaybackRate), L.loadedmetadata = !0;\n }), L;\n }\n y.default.prototype.select = function(c, p) {\n return y.default._validateParameters(\"select\", arguments), p = this._getContainer(p).querySelector(c), p ? this._wrapElement(p) : null;\n }, y.default.prototype.selectAll = function(c, p) {\n y.default._validateParameters(\"selectAll\", arguments);\n var j = [], T = this._getContainer(p).querySelectorAll(c);\n if (T)\n for (var _ = 0; _ < T.length; _++) {\n var S = this._wrapElement(T[_]);\n j.push(S);\n }\n return j;\n }, y.default.prototype._getContainer = function(c) {\n var p = document;\n return typeof c == \"string\" ? p = document.querySelector(c) || document : c instanceof y.default.Element ? p = c.elt : c instanceof HTMLElement && (p = c), p;\n }, y.default.prototype._wrapElement = function(c) {\n var p, j = Array.prototype.slice.call(c.children);\n return c.tagName === \"INPUT\" && c.type === \"checkbox\" ? ((p = new y.default.Element(c, this)).checked = function() {\n return arguments.length === 0 ? this.elt.checked : (this.elt.checked = !(arguments.length <= 0 || !arguments[0]), this);\n }, p) : c.tagName === \"VIDEO\" || c.tagName === \"AUDIO\" ? new y.default.MediaElement(c, this) : c.tagName === \"SELECT\" ? this.createSelect(new y.default.Element(c, this)) : 0 < j.length && j.every(function(T) {\n return T.tagName === \"INPUT\" || T.tagName === \"LABEL\";\n }) ? this.createRadio(new y.default.Element(c, this)) : new y.default.Element(c, this);\n }, y.default.prototype.removeElements = function(c) {\n y.default._validateParameters(\"removeElements\", arguments), this._elements.filter(function(p) {\n return !(p.elt instanceof HTMLCanvasElement);\n }).map(function(p) {\n return p.remove();\n });\n }, y.default.Element.prototype.changed = function(c) {\n return y.default.Element._adjustListener(\"change\", c, this), this;\n }, y.default.Element.prototype.input = function(c) {\n return y.default.Element._adjustListener(\"input\", c, this), this;\n }, y.default.prototype.createDiv = function() {\n var c = 0 < arguments.length && arguments[0] !== void 0 ? arguments[0] : \"\", p = document.createElement(\"div\");\n return p.innerHTML = c, l(p, this);\n }, y.default.prototype.createP = function() {\n var c = 0 < arguments.length && arguments[0] !== void 0 ? arguments[0] : \"\", p = document.createElement(\"p\");\n return p.innerHTML = c, l(p, this);\n }, y.default.prototype.createSpan = function() {\n var c = 0 < arguments.length && arguments[0] !== void 0 ? arguments[0] : \"\", p = document.createElement(\"span\");\n return p.innerHTML = c, l(p, this);\n }, y.default.prototype.createImg = function() {\n y.default._validateParameters(\"createImg\", arguments);\n var c, p = document.createElement(\"img\"), j = arguments;\n return 1 < j.length && typeof j[1] == \"string\" && (p.alt = j[1]), 2 < j.length && typeof j[2] == \"string\" && (p.crossOrigin = j[2]), p.src = j[0], c = l(p, this), p.addEventListener(\"load\", function() {\n c.width = p.offsetWidth || p.width, c.height = p.offsetHeight || p.height;\n var T = j[j.length - 1];\n typeof T == \"function\" && T(c);\n }), c;\n }, y.default.prototype.createA = function(c, p, j) {\n y.default._validateParameters(\"createA\", arguments);\n var T = document.createElement(\"a\");\n return T.href = c, T.innerHTML = p, j && (T.target = j), l(T, this);\n }, y.default.prototype.createSlider = function(c, p, j, T) {\n y.default._validateParameters(\"createSlider\", arguments);\n var _ = document.createElement(\"input\");\n return _.type = \"range\", _.min = c, _.max = p, T === 0 ? _.step = 1e-18 : T && (_.step = T), typeof j == \"number\" && (_.value = j), l(_, this);\n }, y.default.prototype.createButton = function(c, p) {\n y.default._validateParameters(\"createButton\", arguments);\n var j = document.createElement(\"button\");\n return j.innerHTML = c, p && (j.value = p), l(j, this);\n }, y.default.prototype.createCheckbox = function() {\n for (var c = arguments.length, p = new Array(c), j = 0; j < c; j++)\n p[j] = arguments[j];\n y.default._validateParameters(\"createCheckbox\", p);\n var T = document.createElement(\"div\"), _ = document.createElement(\"input\"), S = (_.type = \"checkbox\", document.createElement(\"label\")), E = (S.appendChild(_), T.appendChild(S), l(T, this));\n return E.checked = function() {\n var P = E.elt.firstElementChild.getElementsByTagName(\"input\")[0];\n if (P) {\n if (arguments.length === 0)\n return P.checked;\n P.checked = !(arguments.length <= 0 || !arguments[0]);\n }\n return E;\n }, this.value = function(P) {\n return E.value = P, this;\n }, p[0] && (E.value(p[0]), (T = document.createElement(\"span\")).innerHTML = p[0], S.appendChild(T)), p[1] && (_.checked = !0), E;\n }, y.default.prototype.createSelect = function() {\n for (var c, p = arguments.length, j = new Array(p), T = 0; T < p; T++)\n j[T] = arguments[T];\n y.default._validateParameters(\"createSelect\", j);\n var _, S = j[0];\n return S instanceof y.default.Element && S.elt instanceof HTMLSelectElement ? this.elt = (c = S).elt : S instanceof HTMLSelectElement ? (c = l(S, this), this.elt = S) : (_ = document.createElement(\"select\"), S && typeof S == \"boolean\" && _.setAttribute(\"multiple\", \"true\"), c = l(_, this), this.elt = _), c.option = function(E, P) {\n var x;\n if (E !== void 0) {\n for (var A, M = 0; M < this.elt.length; M += 1)\n if (this.elt[M].textContent === E) {\n x = M;\n break;\n }\n x !== void 0 ? P === !1 ? this.elt.remove(x) : this.elt[x].value = P : ((A = document.createElement(\"option\")).textContent = E, A.value = P === void 0 ? E : P, this.elt.appendChild(A), this._pInst._elements.push(A));\n }\n }, c.selected = function(E) {\n if (E !== void 0) {\n for (var P = 0; P < this.elt.length; P += 1)\n this.elt[P].value.toString() === E.toString() && (this.elt.selectedIndex = P);\n return this;\n }\n if (this.elt.getAttribute(\"multiple\")) {\n var x = [], A = !0, M = !1, R = void 0;\n try {\n for (var L, F = this.elt.selectedOptions[Symbol.iterator](); !(A = (L = F.next()).done); A = !0) {\n var V = L.value;\n x.push(V.value);\n }\n } catch (G) {\n M = !0, R = G;\n } finally {\n try {\n A || F.return == null || F.return();\n } finally {\n if (M)\n throw R;\n }\n }\n return x;\n }\n return this.elt.value;\n }, c.disable = function(E) {\n if (typeof E == \"string\")\n for (var P = 0; P < this.elt.length; P++)\n this.elt[P].value.toString() === E && (this.elt[P].disabled = !0, this.elt[P].selected = !1);\n else\n this.elt.disabled = !0;\n return this;\n }, c.enable = function(E) {\n if (typeof E == \"string\")\n for (var P = 0; P < this.elt.length; P++)\n this.elt[P].value.toString() === E && (this.elt[P].disabled = !1, this.elt[P].selected = !1);\n else {\n this.elt.disabled = !1;\n for (var x = 0; x < this.elt.length; x++)\n this.elt[x].disabled = !1, this.elt[x].selected = !1;\n }\n return this;\n }, c;\n }, y.default.prototype.createRadio = function() {\n function c(E) {\n return E instanceof HTMLInputElement && E.type === \"radio\";\n }\n function p(E) {\n return E instanceof HTMLLabelElement;\n }\n var j, T, _, S = arguments.length <= 0 ? void 0 : arguments[0];\n return S instanceof y.default.Element && (S.elt instanceof HTMLDivElement || S.elt instanceof HTMLSpanElement) ? (j = S, this.elt = S.elt) : S instanceof HTMLDivElement || S instanceof HTMLSpanElement ? (j = l(S, this), T = this.elt = S, typeof (arguments.length <= 1 ? void 0 : arguments[1]) == \"string\" && (_ = arguments.length <= 1 ? void 0 : arguments[1])) : (typeof S == \"string\" && (_ = S), T = document.createElement(\"div\"), j = l(T, this), this.elt = T), j._name = _ || \"radioOption\", j._getOptionsArray = function() {\n return Array.from(this.elt.children).filter(function(E) {\n return c(E) || p(E) && c(E.firstElementChild);\n }).map(function(E) {\n return c(E) ? E : E.firstElementChild;\n });\n }, j.option = function(E, P) {\n var x, A, M, R = !0, L = !1, F = void 0;\n try {\n for (var V, G = j._getOptionsArray()[Symbol.iterator](); !(R = (V = G.next()).done); R = !0) {\n var U = V.value;\n if (U.value === E) {\n x = U;\n break;\n }\n }\n } catch (W) {\n L = !0, F = W;\n } finally {\n try {\n R || G.return == null || G.return();\n } finally {\n if (L)\n throw F;\n }\n }\n return x === void 0 && ((x = document.createElement(\"input\")).setAttribute(\"type\", \"radio\"), x.setAttribute(\"value\", E)), x.setAttribute(\"name\", j._name), p(x.parentElement) ? A = x.parentElement : (A = document.createElement(\"label\")).insertAdjacentElement(\"afterbegin\", x), A.lastElementChild instanceof HTMLSpanElement ? M = A.lastElementChild : (M = document.createElement(\"span\"), x.insertAdjacentElement(\"afterend\", M)), M.innerHTML = P === void 0 ? E : P, this.elt.appendChild(A), x;\n }, j.remove = function(E) {\n var P = !0, x = !1, A = void 0;\n try {\n for (var M, R = j._getOptionsArray()[Symbol.iterator](); !(P = (M = R.next()).done); P = !0) {\n var L = M.value;\n if (L.value === E)\n return void (p(L.parentElement) ? L.parentElement : L).remove();\n }\n } catch (F) {\n x = !0, A = F;\n } finally {\n try {\n P || R.return == null || R.return();\n } finally {\n if (x)\n throw A;\n }\n }\n }, j.value = function() {\n var E = \"\", P = !0, x = !1, A = void 0;\n try {\n for (var M, R = j._getOptionsArray()[Symbol.iterator](); !(P = (M = R.next()).done); P = !0) {\n var L = M.value;\n if (L.checked) {\n E = L.value;\n break;\n }\n }\n } catch (F) {\n x = !0, A = F;\n } finally {\n try {\n P || R.return == null || R.return();\n } finally {\n if (x)\n throw A;\n }\n }\n return E;\n }, j.selected = function(E) {\n var P = null;\n if (E === void 0) {\n var x = !0, A = !1, M = void 0;\n try {\n for (var R, L = j._getOptionsArray()[Symbol.iterator](); !(x = (R = L.next()).done); x = !0) {\n var F = R.value;\n if (F.checked) {\n P = F;\n break;\n }\n }\n } catch (X) {\n A = !0, M = X;\n } finally {\n try {\n x || L.return == null || L.return();\n } finally {\n if (A)\n throw M;\n }\n }\n } else {\n j._getOptionsArray().forEach(function(b) {\n b.checked = !1, b.removeAttribute(\"checked\");\n });\n var V = !0, A = !1, M = void 0;\n try {\n for (var G, U = j._getOptionsArray()[Symbol.iterator](); !(V = (G = U.next()).done); V = !0) {\n var W = G.value;\n W.value === E && (W.setAttribute(\"checked\", !0), W.checked = !0, P = W);\n }\n } catch (b) {\n A = !0, M = b;\n } finally {\n try {\n V || U.return == null || U.return();\n } finally {\n if (A)\n throw M;\n }\n }\n }\n return P;\n }, j.disable = function() {\n var E = !(0 < arguments.length && arguments[0] !== void 0) || arguments[0], P = !0, x = !1, A = void 0;\n try {\n for (var M, R = j._getOptionsArray()[Symbol.iterator](); !(P = (M = R.next()).done); P = !0)\n M.value.setAttribute(\"disabled\", E);\n } catch (L) {\n x = !0, A = L;\n } finally {\n try {\n P || R.return == null || R.return();\n } finally {\n if (x)\n throw A;\n }\n }\n }, j;\n }, y.default.prototype.createColorPicker = function(c) {\n y.default._validateParameters(\"createColorPicker\", arguments);\n var p = document.createElement(\"input\");\n return p.type = \"color\", c ? c instanceof y.default.Color ? p.value = c.toString(\"#rrggbb\") : (y.default.prototype._colorMode = \"rgb\", y.default.prototype._colorMaxes = { rgb: [255, 255, 255, 255], hsb: [360, 100, 100, 1], hsl: [360, 100, 100, 1] }, p.value = y.default.prototype.color(c).toString(\"#rrggbb\")) : p.value = \"#000000\", (p = l(p, this)).color = function() {\n return c && (c.mode && (y.default.prototype._colorMode = c.mode), c.maxes && (y.default.prototype._colorMaxes = c.maxes)), y.default.prototype.color(this.elt.value);\n }, p;\n }, y.default.prototype.createInput = function() {\n var c = 0 < arguments.length && arguments[0] !== void 0 ? arguments[0] : \"\", p = 1 < arguments.length && arguments[1] !== void 0 ? arguments[1] : \"text\", j = (y.default._validateParameters(\"createInput\", arguments), document.createElement(\"input\"));\n return j.setAttribute(\"value\", c), j.setAttribute(\"type\", p), l(j, this);\n }, y.default.prototype.createFileInput = function(c) {\n var p, j = 1 < arguments.length && arguments[1] !== void 0 && arguments[1];\n if (y.default._validateParameters(\"createFileInput\", arguments), window.File && window.FileReader && window.FileList && window.Blob)\n return (p = document.createElement(\"input\")).setAttribute(\"type\", \"file\"), j && p.setAttribute(\"multiple\", !0), p.addEventListener(\"change\", function(T) {\n var _ = !0, S = !1, E = void 0;\n try {\n for (var P, x = T.target.files[Symbol.iterator](); !(_ = (P = x.next()).done); _ = !0) {\n var A = P.value;\n y.default.File._load(A, c);\n }\n } catch (M) {\n S = !0, E = M;\n } finally {\n try {\n _ || x.return == null || x.return();\n } finally {\n if (S)\n throw E;\n }\n }\n }, !1), l(p, this);\n console.log(\"The File APIs are not fully supported in this browser. Cannot create element.\");\n }, y.default.prototype.createVideo = function(c, p) {\n return y.default._validateParameters(\"createVideo\", arguments), r(this, \"video\", c, p);\n }, y.default.prototype.createAudio = function(c, p) {\n return y.default._validateParameters(\"createAudio\", arguments), r(this, \"audio\", c, p);\n }, y.default.prototype.VIDEO = \"video\", y.default.prototype.AUDIO = \"audio\", navigator.mediaDevices === void 0 && (navigator.mediaDevices = {}), navigator.mediaDevices.getUserMedia === void 0 && (navigator.mediaDevices.getUserMedia = function(c) {\n var p = navigator.webkitGetUserMedia || navigator.mozGetUserMedia;\n return p ? new Promise(function(j, T) {\n p.call(navigator, c, j, T);\n }) : Promise.reject(new Error(\"getUserMedia is not implemented in this browser\"));\n }), y.default.prototype.createCapture = function() {\n for (var c = arguments.length, p = new Array(c), j = 0; j < c; j++)\n p[j] = arguments[j];\n if (y.default._validateParameters(\"createCapture\", p), !navigator.mediaDevices || !navigator.mediaDevices.getUserMedia)\n throw new DOMException(\"getUserMedia not supported in this browser\");\n for (var T, _ = !0, S = !0, E = !1, P = 0, x = p; P < x.length; P++) {\n var A = x[P];\n A === y.default.prototype.VIDEO ? S = !1 : A === y.default.prototype.AUDIO ? _ = !1 : a(A) === \"object\" ? (A.flipped !== void 0 && (E = A.flipped, delete A.flipped), M = Object.assign({}, M, A)) : typeof A == \"function\" && (T = A);\n }\n var M = Object.assign({}, { video: _, audio: S }, M), R = document.createElement(\"video\"), L = (R.setAttribute(\"playsinline\", \"\"), navigator.mediaDevices.getUserMedia(M).then(function(F) {\n try {\n \"srcObject\" in R ? R.srcObject = F : R.src = window.URL.createObjectURL(F);\n } catch {\n R.src = F;\n }\n }, console.error), l(R, this, !0));\n return L.loadedmetadata = !1, R.addEventListener(\"loadedmetadata\", function() {\n R.play(), R.width ? (L.width = R.width, L.height = R.height, E && (L.elt.style.transform = \"scaleX(-1)\")) : (L.width = L.elt.width = R.videoWidth, L.height = L.elt.height = R.videoHeight), L.loadedmetadata = !0, T && T(R.srcObject);\n }), L.flipped = E, L;\n }, y.default.prototype.createElement = function(c, p) {\n return y.default._validateParameters(\"createElement\", arguments), c = document.createElement(c), p !== void 0 && (c.innerHTML = p), l(c, this);\n }, y.default.Element.prototype.addClass = function(c) {\n return this.elt.className ? this.hasClass(c) || (this.elt.className = this.elt.className + \" \" + c) : this.elt.className = c, this;\n }, y.default.Element.prototype.removeClass = function(c) {\n return this.elt.classList.remove(c), this;\n }, y.default.Element.prototype.hasClass = function(c) {\n return this.elt.classList.contains(c);\n }, y.default.Element.prototype.toggleClass = function(c) {\n return this.elt.classList.contains(c) ? this.elt.classList.remove(c) : this.elt.classList.add(c), this;\n }, y.default.Element.prototype.child = function(c) {\n return c === void 0 ? this.elt.childNodes : (typeof c == \"string\" ? (c[0] === \"#\" && (c = c.substring(1)), c = document.getElementById(c)) : c instanceof y.default.Element && (c = c.elt), c instanceof HTMLElement && this.elt.appendChild(c), this);\n }, y.default.Element.prototype.center = function(c) {\n var p = this.elt.style.display, j = this.elt.style.display === \"none\", T = this.parent().style.display === \"none\", _ = { x: this.elt.offsetLeft, y: this.elt.offsetTop }, S = (j && this.show(), T && this.parent().show(), this.elt.style.display = \"block\", this.position(0, 0), Math.abs(this.parent().offsetWidth - this.elt.offsetWidth)), E = Math.abs(this.parent().offsetHeight - this.elt.offsetHeight);\n return c === \"both\" || c === void 0 ? this.position(S / 2 + this.parent().offsetLeft, E / 2 + this.parent().offsetTop) : c === \"horizontal\" ? this.position(S / 2 + this.parent().offsetLeft, _.y) : c === \"vertical\" && this.position(_.x, E / 2 + this.parent().offsetTop), this.style(\"display\", p), j && this.hide(), T && this.parent().hide(), this;\n }, y.default.Element.prototype.html = function() {\n return arguments.length === 0 ? this.elt.innerHTML : (arguments.length <= 1 || !arguments[1] ? this.elt.innerHTML = arguments.length <= 0 ? void 0 : arguments[0] : this.elt.insertAdjacentHTML(\"beforeend\", arguments.length <= 0 ? void 0 : arguments[0]), this);\n }, y.default.Element.prototype.position = function() {\n return arguments.length === 0 ? { x: this.elt.offsetLeft, y: this.elt.offsetTop } : (this.elt.style.position = (arguments.length <= 2 ? void 0 : arguments[2]) !== \"static\" && (arguments.length <= 2 ? void 0 : arguments[2]) !== \"fixed\" && (arguments.length <= 2 ? void 0 : arguments[2]) !== \"relative\" && (arguments.length <= 2 ? void 0 : arguments[2]) !== \"sticky\" && (arguments.length <= 2 ? void 0 : arguments[2]) !== \"initial\" && (arguments.length <= 2 ? void 0 : arguments[2]) !== \"inherit\" ? \"absolute\" : arguments.length <= 2 ? void 0 : arguments[2], this.elt.style.left = (arguments.length <= 0 ? void 0 : arguments[0]) + \"px\", this.elt.style.top = (arguments.length <= 1 ? void 0 : arguments[1]) + \"px\", this.x = arguments.length <= 0 ? void 0 : arguments[0], this.y = arguments.length <= 1 ? void 0 : arguments[1], this);\n }, y.default.Element.prototype._translate = function() {\n this.elt.style.position = \"absolute\";\n var c = \"\";\n return this.elt.style.transform && (c = (c = this.elt.style.transform.replace(/translate3d\\(.*\\)/g, \"\")).replace(/translate[X-Z]?\\(.*\\)/g, \"\")), arguments.length === 2 ? this.elt.style.transform = \"translate(\" + (arguments.length <= 0 ? void 0 : arguments[0]) + \"px, \" + (arguments.length <= 1 ? void 0 : arguments[1]) + \"px)\" : 2 < arguments.length && (this.elt.style.transform = \"translate3d(\" + (arguments.length <= 0 ? void 0 : arguments[0]) + \"px,\" + (arguments.length <= 1 ? void 0 : arguments[1]) + \"px,\" + (arguments.length <= 2 ? void 0 : arguments[2]) + \"px)\", this.elt.parentElement.style.perspective = arguments.length === 3 ? \"1000px\" : (arguments.length <= 3 ? void 0 : arguments[3]) + \"px\"), this.elt.style.transform += c, this;\n }, y.default.Element.prototype._rotate = function() {\n var c = \"\";\n return this.elt.style.transform && (c = (c = this.elt.style.transform.replace(/rotate3d\\(.*\\)/g, \"\")).replace(/rotate[X-Z]?\\(.*\\)/g, \"\")), arguments.length === 1 ? this.elt.style.transform = \"rotate(\" + (arguments.length <= 0 ? void 0 : arguments[0]) + \"deg)\" : arguments.length === 2 ? this.elt.style.transform = \"rotate(\" + (arguments.length <= 0 ? void 0 : arguments[0]) + \"deg, \" + (arguments.length <= 1 ? void 0 : arguments[1]) + \"deg)\" : arguments.length === 3 && (this.elt.style.transform = \"rotateX(\" + (arguments.length <= 0 ? void 0 : arguments[0]) + \"deg)\", this.elt.style.transform += \"rotateY(\" + (arguments.length <= 1 ? void 0 : arguments[1]) + \"deg)\", this.elt.style.transform += \"rotateZ(\" + (arguments.length <= 2 ? void 0 : arguments[2]) + \"deg)\"), this.elt.style.transform += c, this;\n }, y.default.Element.prototype.style = function(c, p) {\n if ((p = p instanceof y.default.Color ? \"rgba(\" + p.levels[0] + \",\" + p.levels[1] + \",\" + p.levels[2] + \",\" + p.levels[3] / 255 + \")\" : p) === void 0) {\n if (c.indexOf(\":\") === -1)\n return window.getComputedStyle(this.elt).getPropertyValue(c);\n for (var j = c.split(\";\"), T = 0; T < j.length; T++) {\n var _ = j[T].split(\":\");\n _[0] && _[1] && (this.elt.style[_[0].trim()] = _[1].trim());\n }\n } else\n this.elt.style[c] = p, c !== \"width\" && c !== \"height\" && c !== \"left\" && c !== \"top\" || (p = window.getComputedStyle(this.elt).getPropertyValue(c).replace(/[^\\d.]/g, \"\"), this[c] = Math.round(parseFloat(p, 10)));\n return this;\n }, y.default.Element.prototype.attribute = function(c, p) {\n if (this.elt.firstChild == null || this.elt.firstChild.type !== \"checkbox\" && this.elt.firstChild.type !== \"radio\")\n return p === void 0 ? this.elt.getAttribute(c) : (this.elt.setAttribute(c, p), this);\n if (p === void 0)\n return this.elt.firstChild.getAttribute(c);\n for (var j = 0; j < this.elt.childNodes.length; j++)\n this.elt.childNodes[j].setAttribute(c, p);\n }, y.default.Element.prototype.removeAttribute = function(c) {\n if (this.elt.firstChild != null && (this.elt.firstChild.type === \"checkbox\" || this.elt.firstChild.type === \"radio\"))\n for (var p = 0; p < this.elt.childNodes.length; p++)\n this.elt.childNodes[p].removeAttribute(c);\n return this.elt.removeAttribute(c), this;\n }, y.default.Element.prototype.value = function() {\n return 0 < arguments.length ? (this.elt.value = arguments.length <= 0 ? void 0 : arguments[0], this) : this.elt.type === \"range\" ? parseFloat(this.elt.value) : this.elt.value;\n }, y.default.Element.prototype.show = function() {\n return this.elt.style.display = \"block\", this;\n }, y.default.Element.prototype.hide = function() {\n return this.elt.style.display = \"none\", this;\n }, y.default.Element.prototype.size = function(c, p) {\n if (arguments.length === 0)\n return { width: this.elt.offsetWidth, height: this.elt.offsetHeight };\n var j = c, T = p, _ = y.default.prototype.AUTO;\n if (j !== _ || T !== _) {\n if (j === _ ? j = p * this.width / this.height : T === _ && (T = c * this.height / this.width), this.elt instanceof HTMLCanvasElement) {\n var S, E = {}, P = this.elt.getContext(\"2d\");\n for (S in P)\n E[S] = P[S];\n for (S in this.elt.setAttribute(\"width\", j * this._pInst._pixelDensity), this.elt.setAttribute(\"height\", T * this._pInst._pixelDensity), this.elt.style.width = j + \"px\", this.elt.style.height = T + \"px\", this._pInst.scale(this._pInst._pixelDensity, this._pInst._pixelDensity), E)\n this.elt.getContext(\"2d\")[S] = E[S];\n } else\n this.elt.style.width = j + \"px\", this.elt.style.height = T + \"px\", this.elt.width = j, this.elt.height = T;\n this.width = j, this.height = T, this._pInst && this._pInst._curElement && this._pInst._curElement.elt === this.elt && (this._pInst._setProperty(\"width\", j), this._pInst._setProperty(\"height\", T));\n }\n return this;\n }, y.default.Element.prototype.remove = function() {\n this instanceof y.default.MediaElement && (this.stop(), (p = this.elt.srcObject) !== null && p.getTracks().forEach(function(j) {\n j.stop();\n }));\n var c, p = this._pInst._elements.indexOf(this);\n for (c in p !== -1 && this._pInst._elements.splice(p, 1), this._events)\n this.elt.removeEventListener(c, this._events[c]);\n this.elt && this.elt.parentNode && this.elt.parentNode.removeChild(this.elt);\n }, y.default.Element.prototype.drop = function(c, p) {\n var j;\n return window.File && window.FileReader && window.FileList && window.Blob ? (this._dragDisabled || (this._dragDisabled = !0, this.elt.addEventListener(\"dragover\", j = function(T) {\n T.preventDefault();\n }), this.elt.addEventListener(\"dragleave\", j)), y.default.Element._attachListener(\"drop\", function(_) {\n _.preventDefault(), typeof p == \"function\" && p.call(this, _);\n var _ = _.dataTransfer.files, S = !0, E = !1, P = void 0;\n try {\n for (var x, A = _[Symbol.iterator](); !(S = (x = A.next()).done); S = !0) {\n var M = x.value;\n y.default.File._load(M, c);\n }\n } catch (R) {\n E = !0, P = R;\n } finally {\n try {\n S || A.return == null || A.return();\n } finally {\n if (E)\n throw P;\n }\n }\n }, this)) : console.log(\"The File APIs are not fully supported in this browser.\"), this;\n }, y.default.Element.prototype.draggable = function(c) {\n var p, j = \"ontouchstart\" in window, T = 0, _ = 0, S = 0, E = 0, P = j ? \"touchend\" : \"mouseup\", x = j ? \"touchmove\" : \"mousemove\";\n function A(R) {\n var L;\n R = R || window.event, E = j ? (L = R.changedTouches, T = S - parseInt(L[0].clientX), _ = E - parseInt(L[0].clientY), S = parseInt(L[0].clientX), parseInt(L[0].clientY)) : (T = S - parseInt(R.clientX), _ = E - parseInt(R.clientY), S = parseInt(R.clientX), parseInt(R.clientY)), c.style.left = c.offsetLeft - T + \"px\", c.style.top = c.offsetTop - _ + \"px\";\n }\n function M() {\n document.removeEventListener(P, M, !1), document.removeEventListener(x, A, !1);\n }\n return c === void 0 ? p = c = this.elt : c !== this.elt && c.elt !== this.elt && (c = c.elt, p = this.elt), p.addEventListener(j ? \"touchstart\" : \"mousedown\", function(R) {\n {\n var L;\n R = R || window.event, E = j ? (L = R.changedTouches, S = parseInt(L[0].clientX), parseInt(L[0].clientY)) : (S = parseInt(R.clientX), parseInt(R.clientY));\n }\n return document.addEventListener(P, M, !1), document.addEventListener(x, A, !1), !1;\n }, !1), p.style.cursor = \"move\", this;\n };\n function i(c, p, j, T) {\n o(this, i), this.callback = c, this.time = p, this.id = j, this.val = T;\n }\n t = function(c) {\n var p = T;\n if (typeof c != \"function\" && c !== null)\n throw new TypeError(\"Super expression must either be null or a function\");\n p.prototype = Object.create(c && c.prototype, { constructor: { value: p, writable: !0, configurable: !0 } }), c && g(p, c);\n var j = f(T);\n function T(_, S) {\n o(this, T);\n var E = n(S = j.call(this, _, S));\n return S.elt.crossOrigin = \"anonymous\", S._prevTime = 0, S._cueIDCounter = 0, S._cues = [], S.pixels = [], S._pixelsState = n(S), S._pixelDensity = 1, S._modified = !1, S._frameOnCanvas = -1, Object.defineProperty(E, \"src\", { get: function() {\n var P = E.elt.children[0].src, x = E.elt.src === window.location.href ? \"\" : E.elt.src;\n return P === window.location.href ? x : P;\n }, set: function(P) {\n for (var x = 0; x < E.elt.children.length; x++)\n E.elt.removeChild(E.elt.children[x]);\n var A = document.createElement(\"source\");\n A.src = P, _.appendChild(A), E.elt.src = P, E.modified = !0;\n } }), E._onended = function() {\n }, E.elt.onended = function() {\n E._onended(E);\n }, S;\n }\n return h(T, [{ key: \"play\", value: function() {\n var _;\n return this.elt.currentTime === this.elt.duration && (this.elt.currentTime = 0), 1 < this.elt.readyState || this.elt.load(), (_ = this.elt.play()) && _.catch && _.catch(function(S) {\n S.name === \"NotAllowedError\" ? console.error(S) : console.error(\"Media play method encountered an unexpected error\", S);\n }), this;\n } }, { key: \"stop\", value: function() {\n return this.elt.pause(), this.elt.currentTime = 0, this;\n } }, { key: \"pause\", value: function() {\n return this.elt.pause(), this;\n } }, { key: \"loop\", value: function() {\n return this.elt.setAttribute(\"loop\", !0), this.play(), this;\n } }, { key: \"noLoop\", value: function() {\n return this.elt.removeAttribute(\"loop\"), this;\n } }, { key: \"_setupAutoplayFailDetection\", value: function() {\n var _ = setTimeout(function() {\n console.error(e);\n }, 500);\n this.elt.addEventListener(\"play\", function() {\n return clearTimeout(_);\n }, { passive: !0, once: !0 });\n } }, { key: \"autoplay\", value: function(_) {\n var S = this, E = this.elt.getAttribute(\"autoplay\");\n return this.elt.setAttribute(\"autoplay\", _), _ && !E && (_ = function() {\n return S._setupAutoplayFailDetection();\n }, this.elt.readyState === 4 ? _() : this.elt.addEventListener(\"canplay\", _, { passive: !0, once: !0 })), this;\n } }, { key: \"volume\", value: function(_) {\n if (_ === void 0)\n return this.elt.volume;\n this.elt.volume = _;\n } }, { key: \"speed\", value: function(_) {\n if (_ === void 0)\n return this.presetPlaybackRate || this.elt.playbackRate;\n this.loadedmetadata ? this.elt.playbackRate = _ : this.presetPlaybackRate = _;\n } }, { key: \"time\", value: function(_) {\n return _ === void 0 ? this.elt.currentTime : (this.elt.currentTime = _, this);\n } }, { key: \"duration\", value: function() {\n return this.elt.duration;\n } }, { key: \"_ensureCanvas\", value: function() {\n this.canvas || (this.canvas = document.createElement(\"canvas\"), this.drawingContext = this.canvas.getContext(\"2d\"), this.setModified(!0));\n var _ = this._frameOnCanvas !== this._pInst.frameCount;\n this.loadedmetadata && _ && (this.canvas.width !== this.elt.width && (this.canvas.width = this.elt.width, this.canvas.height = this.elt.height, this.width = this.canvas.width, this.height = this.canvas.height), this.drawingContext.clearRect(0, 0, this.canvas.width, this.canvas.height), this.flipped === !0 && (this.drawingContext.save(), this.drawingContext.scale(-1, 1), this.drawingContext.translate(-this.canvas.width, 0)), this.drawingContext.drawImage(this.elt, 0, 0, this.canvas.width, this.canvas.height), this.flipped === !0 && this.drawingContext.restore(), this.setModified(!0), this._frameOnCanvas = this._pInst.frameCount);\n } }, { key: \"loadPixels\", value: function() {\n this._ensureCanvas();\n for (var _ = arguments.length, S = new Array(_), E = 0; E < _; E++)\n S[E] = arguments[E];\n return y.default.Renderer2D.prototype.loadPixels.apply(this, S);\n } }, { key: \"updatePixels\", value: function(_, S, E, P) {\n return this.loadedmetadata && (this._ensureCanvas(), y.default.Renderer2D.prototype.updatePixels.call(this, _, S, E, P)), this.setModified(!0), this;\n } }, { key: \"get\", value: function() {\n this._ensureCanvas();\n for (var _ = arguments.length, S = new Array(_), E = 0; E < _; E++)\n S[E] = arguments[E];\n return y.default.Renderer2D.prototype.get.apply(this, S);\n } }, { key: \"_getPixel\", value: function() {\n this.loadPixels();\n for (var _ = arguments.length, S = new Array(_), E = 0; E < _; E++)\n S[E] = arguments[E];\n return y.default.Renderer2D.prototype._getPixel.apply(this, S);\n } }, { key: \"set\", value: function(_, S, E) {\n this.loadedmetadata && (this._ensureCanvas(), y.default.Renderer2D.prototype.set.call(this, _, S, E), this.setModified(!0));\n } }, { key: \"copy\", value: function() {\n this._ensureCanvas();\n for (var _ = arguments.length, S = new Array(_), E = 0; E < _; E++)\n S[E] = arguments[E];\n y.default.prototype.copy.apply(this, S);\n } }, { key: \"mask\", value: function() {\n this.loadPixels(), this.setModified(!0);\n for (var _ = arguments.length, S = new Array(_), E = 0; E < _; E++)\n S[E] = arguments[E];\n y.default.Image.prototype.mask.apply(this, S);\n } }, { key: \"isModified\", value: function() {\n return this._modified;\n } }, { key: \"setModified\", value: function(_) {\n this._modified = _;\n } }, { key: \"onended\", value: function(_) {\n return this._onended = _, this;\n } }, { key: \"connect\", value: function(_) {\n var S, E;\n if (typeof y.default.prototype.getAudioContext == \"function\")\n S = y.default.prototype.getAudioContext(), E = y.default.soundOut.input;\n else\n try {\n E = (S = _.context).destination;\n } catch {\n throw \"connect() is meant to be used with Web Audio API or p5.sound.js\";\n }\n this.audioSourceNode || (this.audioSourceNode = S.createMediaElementSource(this.elt), this.audioSourceNode.connect(E)), _ ? _.input ? this.audioSourceNode.connect(_.input) : this.audioSourceNode.connect(_) : this.audioSourceNode.connect(E);\n } }, { key: \"disconnect\", value: function() {\n if (!this.audioSourceNode)\n throw \"nothing to disconnect\";\n this.audioSourceNode.disconnect();\n } }, { key: \"showControls\", value: function() {\n this.elt.style[\"text-align\"] = \"inherit\", this.elt.controls = !0;\n } }, { key: \"hideControls\", value: function() {\n this.elt.controls = !1;\n } }, { key: \"addCue\", value: function(_, x, E) {\n var P = this._cueIDCounter++, x = new i(x, _, P, E);\n return this._cues.push(x), this.elt.ontimeupdate || (this.elt.ontimeupdate = this._onTimeUpdate.bind(this)), P;\n } }, { key: \"removeCue\", value: function(_) {\n for (var S = 0; S < this._cues.length; S++)\n this._cues[S].id === _ && (console.log(_), this._cues.splice(S, 1));\n this._cues.length === 0 && (this.elt.ontimeupdate = null);\n } }, { key: \"clearCues\", value: function() {\n this._cues = [], this.elt.ontimeupdate = null;\n } }, { key: \"_onTimeUpdate\", value: function() {\n for (var _ = this.time(), S = 0; S < this._cues.length; S++) {\n var E = this._cues[S].time, P = this._cues[S].val;\n this._prevTime < E && E <= _ && this._cues[S].callback(P);\n }\n this._prevTime = _;\n } }]), T;\n }(y.default.Element), y.default.MediaElement = t, t = function() {\n function c(p, j) {\n o(this, c), this.file = p, this._pInst = j, j = p.type.split(\"/\"), this.type = j[0], this.subtype = j[1], this.name = p.name, this.size = p.size, this.data = void 0;\n }\n return h(c, null, [{ key: \"_createLoader\", value: function(p, j) {\n var T = new FileReader();\n return T.onload = function(_) {\n var S, E = new y.default.File(p);\n E.file.type === \"application/json\" ? E.data = JSON.parse(_.target.result) : E.file.type === \"text/xml\" ? (S = new DOMParser().parseFromString(_.target.result, \"text/xml\"), E.data = new y.default.XML(S.documentElement)) : E.data = _.target.result, j(E);\n }, T;\n } }, { key: \"_load\", value: function(p, j) {\n var T;\n /^text\\//.test(p.type) || p.type === \"application/json\" ? y.default.File._createLoader(p, j).readAsText(p) : /^(video|audio)\\//.test(p.type) ? ((T = new y.default.File(p)).data = URL.createObjectURL(p), j(T)) : y.default.File._createLoader(p, j).readAsDataURL(p);\n } }]), c;\n }(), y.default.File = t, t = y.default, C.default = t;\n }, { \"../core/main\": 280, \"core-js/modules/es.array.every\": 154, \"core-js/modules/es.array.filter\": 156, \"core-js/modules/es.array.for-each\": 160, \"core-js/modules/es.array.from\": 161, \"core-js/modules/es.array.index-of\": 163, \"core-js/modules/es.array.iterator\": 164, \"core-js/modules/es.array.map\": 167, \"core-js/modules/es.array.slice\": 168, \"core-js/modules/es.array.splice\": 170, \"core-js/modules/es.function.name\": 173, \"core-js/modules/es.object.assign\": 181, \"core-js/modules/es.object.get-prototype-of\": 185, \"core-js/modules/es.object.to-string\": 187, \"core-js/modules/es.promise\": 188, \"core-js/modules/es.reflect.construct\": 189, \"core-js/modules/es.regexp.exec\": 192, \"core-js/modules/es.regexp.to-string\": 193, \"core-js/modules/es.string.iterator\": 197, \"core-js/modules/es.string.replace\": 201, \"core-js/modules/es.string.split\": 203, \"core-js/modules/es.string.trim\": 206, \"core-js/modules/es.symbol\": 209, \"core-js/modules/es.symbol.description\": 207, \"core-js/modules/es.symbol.iterator\": 208, \"core-js/modules/web.dom-collections.for-each\": 242, \"core-js/modules/web.dom-collections.iterator\": 243, \"core-js/modules/web.url\": 245 }], 297: [function(a, H, C) {\n Object.defineProperty(C, \"__esModule\", { value: !0 }), C.default = void 0;\n var m = (a = a(\"../core/main\")) && a.__esModule ? a : { default: a };\n m.default.prototype.deviceOrientation = 1 < window.innerWidth / window.innerHeight ? \"landscape\" : \"portrait\", m.default.prototype.accelerationX = 0, m.default.prototype.accelerationY = 0, m.default.prototype.accelerationZ = 0, m.default.prototype.pAccelerationX = 0, m.default.prototype.pAccelerationY = 0, m.default.prototype.pAccelerationZ = 0, m.default.prototype._updatePAccelerations = function() {\n this._setProperty(\"pAccelerationX\", this.accelerationX), this._setProperty(\"pAccelerationY\", this.accelerationY), this._setProperty(\"pAccelerationZ\", this.accelerationZ);\n }, m.default.prototype.rotationX = 0, m.default.prototype.rotationY = 0, m.default.prototype.rotationZ = 0, m.default.prototype.pRotationX = 0, m.default.prototype.pRotationY = 0;\n var y = m.default.prototype.pRotationZ = 0, u = 0, h = 0, g = \"clockwise\", f = \"clockwise\", n = \"clockwise\", s = (m.default.prototype.pRotateDirectionX = void 0, m.default.prototype.pRotateDirectionY = void 0, m.default.prototype.pRotateDirectionZ = void 0, m.default.prototype._updatePRotations = function() {\n this._setProperty(\"pRotationX\", this.rotationX), this._setProperty(\"pRotationY\", this.rotationY), this._setProperty(\"pRotationZ\", this.rotationZ);\n }, m.default.prototype.turnAxis = void 0, 0.5), o = 30, a = (m.default.prototype.setMoveThreshold = function(l) {\n m.default._validateParameters(\"setMoveThreshold\", arguments), s = l;\n }, m.default.prototype.setShakeThreshold = function(l) {\n m.default._validateParameters(\"setShakeThreshold\", arguments), o = l;\n }, m.default.prototype._ondeviceorientation = function(l) {\n this._updatePRotations(), this._setProperty(\"rotationX\", this._fromDegrees(l.beta)), this._setProperty(\"rotationY\", this._fromDegrees(l.gamma)), this._setProperty(\"rotationZ\", this._fromDegrees(l.alpha)), this._handleMotion();\n }, m.default.prototype._ondevicemotion = function(l) {\n this._updatePAccelerations(), this._setProperty(\"accelerationX\", 2 * l.acceleration.x), this._setProperty(\"accelerationY\", 2 * l.acceleration.y), this._setProperty(\"accelerationZ\", 2 * l.acceleration.z), this._handleMotion();\n }, m.default.prototype._handleMotion = function() {\n window.orientation === 90 || window.orientation === -90 ? this._setProperty(\"deviceOrientation\", \"landscape\") : window.orientation === 0 ? this._setProperty(\"deviceOrientation\", \"portrait\") : window.orientation === void 0 && this._setProperty(\"deviceOrientation\", \"undefined\");\n var l, r, i, c, p, j = this._isGlobal ? window : this;\n typeof j.deviceMoved == \"function\" && (Math.abs(this.accelerationX - this.pAccelerationX) > s || Math.abs(this.accelerationY - this.pAccelerationY) > s || Math.abs(this.accelerationZ - this.pAccelerationZ) > s) && j.deviceMoved(), typeof j.deviceTurned == \"function\" && (r = this._toDegrees(this.rotationX) + 180, i = this._toDegrees(this.pRotationX) + 180, l = y + 180, 0 < r - i && r - i < 270 || r - i < -270 ? g = \"clockwise\" : (r - i < 0 || 270 < r - i) && (g = \"counter-clockwise\"), g !== this.pRotateDirectionX && (l = r), 90 < Math.abs(r - l) && Math.abs(r - l) < 270 && (l = r, this._setProperty(\"turnAxis\", \"X\"), j.deviceTurned()), this.pRotateDirectionX = g, y = l - 180, i = this._toDegrees(this.rotationY) + 180, r = this._toDegrees(this.pRotationY) + 180, l = u + 180, 0 < i - r && i - r < 270 || i - r < -270 ? f = \"clockwise\" : (i - r < 0 || 270 < i - this.pRotationY) && (f = \"counter-clockwise\"), f !== this.pRotateDirectionY && (l = i), 90 < Math.abs(i - l) && Math.abs(i - l) < 270 && (l = i, this._setProperty(\"turnAxis\", \"Y\"), j.deviceTurned()), this.pRotateDirectionY = f, u = l - 180, 0 < (r = this._toDegrees(this.rotationZ)) - (i = this._toDegrees(this.pRotationZ)) && r - i < 270 || r - i < -270 ? n = \"clockwise\" : (r - i < 0 || 270 < r - i) && (n = \"counter-clockwise\"), n !== this.pRotateDirectionZ && (h = r), 90 < Math.abs(r - h) && Math.abs(r - h) < 270 && (h = r, this._setProperty(\"turnAxis\", \"Z\"), j.deviceTurned()), this.pRotateDirectionZ = n, this._setProperty(\"turnAxis\", void 0)), typeof j.deviceShaken == \"function\" && (this.pAccelerationX !== null && (c = Math.abs(this.accelerationX - this.pAccelerationX), p = Math.abs(this.accelerationY - this.pAccelerationY)), o < c + p && j.deviceShaken());\n }, m.default);\n C.default = a;\n }, { \"../core/main\": 280 }], 298: [function(t, H, C) {\n Object.defineProperty(C, \"__esModule\", { value: !0 }), C.default = void 0;\n var m = (t = t(\"../core/main\")) && t.__esModule ? t : { default: t };\n m.default.prototype.isKeyPressed = !1, m.default.prototype.keyIsPressed = !1, m.default.prototype.key = \"\", m.default.prototype.keyCode = 0, m.default.prototype._onkeydown = function(y) {\n var u;\n this._downKeys[y.which] || (this._setProperty(\"isKeyPressed\", !0), this._setProperty(\"keyIsPressed\", !0), this._setProperty(\"keyCode\", y.which), this._downKeys[y.which] = !0, this._setProperty(\"key\", y.key || String.fromCharCode(y.which) || y.which), typeof (u = this._isGlobal ? window : this).keyPressed != \"function\" || y.charCode || u.keyPressed(y) === !1 && y.preventDefault());\n }, m.default.prototype._onkeyup = function(y) {\n this._downKeys[y.which] = !1, this._areDownKeys() || (this._setProperty(\"isKeyPressed\", !1), this._setProperty(\"keyIsPressed\", !1)), this._setProperty(\"_lastKeyCodeTyped\", null), this._setProperty(\"key\", y.key || String.fromCharCode(y.which) || y.which), this._setProperty(\"keyCode\", y.which);\n var u = this._isGlobal ? window : this;\n typeof u.keyReleased == \"function\" && u.keyReleased(y) === !1 && y.preventDefault();\n }, m.default.prototype._onkeypress = function(y) {\n var u;\n y.which !== this._lastKeyCodeTyped && (this._setProperty(\"_lastKeyCodeTyped\", y.which), this._setProperty(\"key\", y.key || String.fromCharCode(y.which) || y.which), typeof (u = this._isGlobal ? window : this).keyTyped == \"function\" && u.keyTyped(y) === !1 && y.preventDefault());\n }, m.default.prototype._onblur = function(y) {\n this._downKeys = {};\n }, m.default.prototype.keyIsDown = function(y) {\n return m.default._validateParameters(\"keyIsDown\", arguments), this._downKeys[y] || !1;\n }, m.default.prototype._areDownKeys = function() {\n for (var y in this._downKeys)\n if (this._downKeys.hasOwnProperty(y) && this._downKeys[y] === !0)\n return !0;\n return !1;\n }, t = m.default, C.default = t;\n }, { \"../core/main\": 280 }], 299: [function(t, H, C) {\n function m(f) {\n return (m = typeof Symbol == \"function\" && typeof Symbol.iterator == \"symbol\" ? function(n) {\n return typeof n;\n } : function(n) {\n return n && typeof Symbol == \"function\" && n.constructor === Symbol && n !== Symbol.prototype ? \"symbol\" : typeof n;\n })(f);\n }\n function y(f) {\n return (y = typeof Symbol == \"function\" && m(Symbol.iterator) === \"symbol\" ? function(n) {\n return m(n);\n } : function(n) {\n return n && typeof Symbol == \"function\" && n.constructor === Symbol && n !== Symbol.prototype ? \"symbol\" : m(n);\n })(f);\n }\n t(\"core-js/modules/es.symbol\"), t(\"core-js/modules/es.symbol.description\"), t(\"core-js/modules/es.symbol.iterator\"), t(\"core-js/modules/es.array.iterator\"), t(\"core-js/modules/es.object.get-own-property-descriptor\"), t(\"core-js/modules/es.object.to-string\"), t(\"core-js/modules/es.string.iterator\"), t(\"core-js/modules/es.weak-map\"), t(\"core-js/modules/web.dom-collections.iterator\"), Object.defineProperty(C, \"__esModule\", { value: !0 }), C.default = void 0;\n var u = (u = t(\"../core/main\")) && u.__esModule ? u : { default: u }, h = function(f) {\n if (f && f.__esModule)\n return f;\n if (f === null || y(f) !== \"object\" && typeof f != \"function\")\n return { default: f };\n var n = g();\n if (n && n.has(f))\n return n.get(f);\n var s, o = {}, a = Object.defineProperty && Object.getOwnPropertyDescriptor;\n for (s in f) {\n var l;\n Object.prototype.hasOwnProperty.call(f, s) && ((l = a ? Object.getOwnPropertyDescriptor(f, s) : null) && (l.get || l.set) ? Object.defineProperty(o, s, l) : o[s] = f[s]);\n }\n return o.default = f, n && n.set(f, o), o;\n }(t(\"../core/constants\"));\n function g() {\n var f;\n return typeof WeakMap != \"function\" ? null : (f = /* @__PURE__ */ new WeakMap(), g = function() {\n return f;\n }, f);\n }\n u.default.prototype.movedX = 0, u.default.prototype.movedY = 0, u.default.prototype._hasMouseInteracted = !1, u.default.prototype.mouseX = 0, u.default.prototype.mouseY = 0, u.default.prototype.pmouseX = 0, u.default.prototype.pmouseY = 0, u.default.prototype.winMouseX = 0, u.default.prototype.winMouseY = 0, u.default.prototype.pwinMouseX = 0, u.default.prototype.pwinMouseY = 0, u.default.prototype.mouseButton = 0, u.default.prototype.mouseIsPressed = !1, u.default.prototype._updateNextMouseCoords = function(f) {\n var n, s, o, a, l;\n this._curElement !== null && (!f.touches || 0 < f.touches.length) && (n = this._curElement.elt, s = this.width, o = this.height, (a = f) && !a.clientX && (a.touches ? a = a.touches[0] : a.changedTouches && (a = a.changedTouches[0])), l = n.getBoundingClientRect(), s = n.scrollWidth / s || 1, n = n.scrollHeight / o || 1, o = { x: (a.clientX - l.left) / s, y: (a.clientY - l.top) / n, winX: a.clientX, winY: a.clientY, id: a.identifier }, this._setProperty(\"movedX\", f.movementX), this._setProperty(\"movedY\", f.movementY), this._setProperty(\"mouseX\", o.x), this._setProperty(\"mouseY\", o.y), this._setProperty(\"winMouseX\", o.winX), this._setProperty(\"winMouseY\", o.winY)), this._hasMouseInteracted || (this._updateMouseCoords(), this._setProperty(\"_hasMouseInteracted\", !0));\n }, u.default.prototype._updateMouseCoords = function() {\n this._setProperty(\"pmouseX\", this.mouseX), this._setProperty(\"pmouseY\", this.mouseY), this._setProperty(\"pwinMouseX\", this.winMouseX), this._setProperty(\"pwinMouseY\", this.winMouseY), this._setProperty(\"_pmouseWheelDeltaY\", this._mouseWheelDeltaY);\n }, u.default.prototype._setMouseButton = function(f) {\n f.button === 1 ? this._setProperty(\"mouseButton\", h.CENTER) : f.button === 2 ? this._setProperty(\"mouseButton\", h.RIGHT) : this._setProperty(\"mouseButton\", h.LEFT);\n }, u.default.prototype._onmousemove = function(f) {\n var n = this._isGlobal ? window : this;\n this._updateNextMouseCoords(f), this.mouseIsPressed ? typeof n.mouseDragged == \"function\" ? n.mouseDragged(f) === !1 && f.preventDefault() : typeof n.touchMoved == \"function\" && n.touchMoved(f) === !1 && f.preventDefault() : typeof n.mouseMoved == \"function\" && n.mouseMoved(f) === !1 && f.preventDefault();\n }, u.default.prototype._onmousedown = function(f) {\n var n = this._isGlobal ? window : this;\n this._setProperty(\"mouseIsPressed\", !0), this._setMouseButton(f), this._updateNextMouseCoords(f), this.touchstart || (typeof n.mousePressed == \"function\" ? n.mousePressed(f) === !1 && f.preventDefault() : typeof n.touchStarted == \"function\" && n.touchStarted(f) === !1 && f.preventDefault(), this.touchstart = !1);\n }, u.default.prototype._onmouseup = function(f) {\n var n = this._isGlobal ? window : this;\n this._setProperty(\"mouseIsPressed\", !1), this.touchend || (typeof n.mouseReleased == \"function\" ? n.mouseReleased(f) === !1 && f.preventDefault() : typeof n.touchEnded == \"function\" && n.touchEnded(f) === !1 && f.preventDefault(), this.touchend = !1);\n }, u.default.prototype._ondragend = u.default.prototype._onmouseup, u.default.prototype._ondragover = u.default.prototype._onmousemove, u.default.prototype._onclick = function(f) {\n var n = this._isGlobal ? window : this;\n typeof n.mouseClicked == \"function\" && n.mouseClicked(f) === !1 && f.preventDefault();\n }, u.default.prototype._ondblclick = function(f) {\n var n = this._isGlobal ? window : this;\n typeof n.doubleClicked == \"function\" && n.doubleClicked(f) === !1 && f.preventDefault();\n }, u.default.prototype._mouseWheelDeltaY = 0, u.default.prototype._pmouseWheelDeltaY = 0, u.default.prototype._onwheel = function(f) {\n var n = this._isGlobal ? window : this;\n this._setProperty(\"_mouseWheelDeltaY\", f.deltaY), typeof n.mouseWheel == \"function\" && (f.delta = f.deltaY, n.mouseWheel(f) === !1 && f.preventDefault());\n }, u.default.prototype.requestPointerLock = function() {\n var f = this._curElement.elt;\n return f.requestPointerLock = f.requestPointerLock || f.mozRequestPointerLock, f.requestPointerLock ? (f.requestPointerLock(), !0) : (console.log(\"requestPointerLock is not implemented in this browser\"), !1);\n }, u.default.prototype.exitPointerLock = function() {\n document.exitPointerLock();\n }, t = u.default, C.default = t;\n }, { \"../core/constants\": 269, \"../core/main\": 280, \"core-js/modules/es.array.iterator\": 164, \"core-js/modules/es.object.get-own-property-descriptor\": 183, \"core-js/modules/es.object.to-string\": 187, \"core-js/modules/es.string.iterator\": 197, \"core-js/modules/es.symbol\": 209, \"core-js/modules/es.symbol.description\": 207, \"core-js/modules/es.symbol.iterator\": 208, \"core-js/modules/es.weak-map\": 241, \"core-js/modules/web.dom-collections.iterator\": 243 }], 300: [function(t, H, C) {\n Object.defineProperty(C, \"__esModule\", { value: !0 }), C.default = void 0, t = (t = t(\"../core/main\")) && t.__esModule ? t : { default: t }, t.default.prototype.touches = [], t.default.prototype._updateTouchCoords = function(m) {\n if (this._curElement !== null) {\n for (var y = [], u = 0; u < m.touches.length; u++)\n y[u] = function(l, a, r, n) {\n var s = 4 < arguments.length && arguments[4] !== void 0 ? arguments[4] : 0, o = l.getBoundingClientRect(), a = l.scrollWidth / a || 1, l = l.scrollHeight / r || 1, r = n.touches[s] || n.changedTouches[s];\n return { x: (r.clientX - o.left) / a, y: (r.clientY - o.top) / l, winX: r.clientX, winY: r.clientY, id: r.identifier };\n }(this._curElement.elt, this.width, this.height, m, u);\n this._setProperty(\"touches\", y);\n }\n }, t.default.prototype._ontouchstart = function(m) {\n var y = this._isGlobal ? window : this;\n this._setProperty(\"mouseIsPressed\", !0), this._updateTouchCoords(m), this._updateNextMouseCoords(m), this._updateMouseCoords(), typeof y.touchStarted == \"function\" && (y.touchStarted(m) === !1 && m.preventDefault(), this.touchstart = !0);\n }, t.default.prototype._ontouchmove = function(m) {\n var y = this._isGlobal ? window : this;\n this._updateTouchCoords(m), this._updateNextMouseCoords(m), typeof y.touchMoved == \"function\" ? y.touchMoved(m) === !1 && m.preventDefault() : typeof y.mouseDragged == \"function\" && y.mouseDragged(m) === !1 && m.preventDefault();\n }, t.default.prototype._ontouchend = function(m) {\n this._setProperty(\"mouseIsPressed\", !1), this._updateTouchCoords(m), this._updateNextMouseCoords(m);\n var y = this._isGlobal ? window : this;\n typeof y.touchEnded == \"function\" && (y.touchEnded(m) === !1 && m.preventDefault(), this.touchend = !0);\n }, t = t.default, C.default = t;\n }, { \"../core/main\": 280 }], 301: [function(t, H, C) {\n t(\"core-js/modules/es.array.iterator\"), t(\"core-js/modules/es.object.to-string\"), t(\"core-js/modules/es.typed-array.int32-array\"), t(\"core-js/modules/es.typed-array.uint8-array\"), t(\"core-js/modules/es.typed-array.copy-within\"), t(\"core-js/modules/es.typed-array.every\"), t(\"core-js/modules/es.typed-array.fill\"), t(\"core-js/modules/es.typed-array.filter\"), t(\"core-js/modules/es.typed-array.find\"), t(\"core-js/modules/es.typed-array.find-index\"), t(\"core-js/modules/es.typed-array.for-each\"), t(\"core-js/modules/es.typed-array.includes\"), t(\"core-js/modules/es.typed-array.index-of\"), t(\"core-js/modules/es.typed-array.iterator\"), t(\"core-js/modules/es.typed-array.join\"), t(\"core-js/modules/es.typed-array.last-index-of\"), t(\"core-js/modules/es.typed-array.map\"), t(\"core-js/modules/es.typed-array.reduce\"), t(\"core-js/modules/es.typed-array.reduce-right\"), t(\"core-js/modules/es.typed-array.reverse\"), t(\"core-js/modules/es.typed-array.set\"), t(\"core-js/modules/es.typed-array.slice\"), t(\"core-js/modules/es.typed-array.some\"), t(\"core-js/modules/es.typed-array.sort\"), t(\"core-js/modules/es.typed-array.subarray\"), t(\"core-js/modules/es.typed-array.to-locale-string\"), t(\"core-js/modules/es.typed-array.to-string\"), t(\"core-js/modules/es.array.iterator\"), t(\"core-js/modules/es.object.to-string\"), t(\"core-js/modules/es.typed-array.int32-array\"), t(\"core-js/modules/es.typed-array.uint8-array\"), t(\"core-js/modules/es.typed-array.copy-within\"), t(\"core-js/modules/es.typed-array.every\"), t(\"core-js/modules/es.typed-array.fill\"), t(\"core-js/modules/es.typed-array.filter\"), t(\"core-js/modules/es.typed-array.find\"), t(\"core-js/modules/es.typed-array.find-index\"), t(\"core-js/modules/es.typed-array.for-each\"), t(\"core-js/modules/es.typed-array.includes\"), t(\"core-js/modules/es.typed-array.index-of\"), t(\"core-js/modules/es.typed-array.iterator\"), t(\"core-js/modules/es.typed-array.join\"), t(\"core-js/modules/es.typed-array.last-index-of\"), t(\"core-js/modules/es.typed-array.map\"), t(\"core-js/modules/es.typed-array.reduce\"), t(\"core-js/modules/es.typed-array.reduce-right\"), t(\"core-js/modules/es.typed-array.reverse\"), t(\"core-js/modules/es.typed-array.set\"), t(\"core-js/modules/es.typed-array.slice\"), t(\"core-js/modules/es.typed-array.some\"), t(\"core-js/modules/es.typed-array.sort\"), t(\"core-js/modules/es.typed-array.subarray\"), t(\"core-js/modules/es.typed-array.to-locale-string\"), t(\"core-js/modules/es.typed-array.to-string\"), Object.defineProperty(C, \"__esModule\", { value: !0 }), C.default = void 0;\n var m, y, u, h, g = { _toPixels: function(f) {\n var n, s;\n return f instanceof ImageData ? f.data : f.getContext(\"2d\") ? f.getContext(\"2d\").getImageData(0, 0, f.width, f.height).data : f.getContext(\"webgl\") ? (s = (n = f.getContext(\"webgl\")).drawingBufferWidth * n.drawingBufferHeight * 4, s = new Uint8Array(s), n.readPixels(0, 0, f.width, f.height, n.RGBA, n.UNSIGNED_BYTE, s), s) : void 0;\n }, _getARGB: function(f, n) {\n return n *= 4, f[3 + n] << 24 & 4278190080 | f[n] << 16 & 16711680 | f[1 + n] << 8 & 65280 | 255 & f[2 + n];\n }, _setPixels: function(f, n) {\n for (var s, o = 0, a = f.length; o < a; o++)\n f[0 + (s = 4 * o)] = (16711680 & n[o]) >>> 16, f[1 + s] = (65280 & n[o]) >>> 8, f[2 + s] = 255 & n[o], f[3 + s] = (4278190080 & n[o]) >>> 24;\n }, _toImageData: function(f) {\n return f instanceof ImageData ? f : f.getContext(\"2d\").getImageData(0, 0, f.width, f.height);\n }, _createImageData: function(f, n) {\n return g._tmpCanvas = document.createElement(\"canvas\"), g._tmpCtx = g._tmpCanvas.getContext(\"2d\"), this._tmpCtx.createImageData(f, n);\n }, apply: function(f, l, s) {\n var o = f.getContext(\"2d\"), a = o.getImageData(0, 0, f.width, f.height), l = l(a, s);\n l instanceof ImageData ? o.putImageData(l, 0, 0, 0, 0, f.width, f.height) : o.putImageData(a, 0, 0, 0, 0, f.width, f.height);\n }, threshold: function(f) {\n for (var n = 1 < arguments.length && arguments[1] !== void 0 ? arguments[1] : 0.5, s = g._toPixels(f), o = Math.floor(255 * n), a = 0; a < s.length; a += 4) {\n var l = void 0, l = o <= 0.2126 * s[a] + 0.7152 * s[a + 1] + 0.0722 * s[a + 2] ? 255 : 0;\n s[a] = s[a + 1] = s[a + 2] = l;\n }\n }, gray: function(f) {\n for (var n = g._toPixels(f), s = 0; s < n.length; s += 4) {\n var o = n[s], a = n[s + 1], l = n[s + 2];\n n[s] = n[s + 1] = n[s + 2] = 0.2126 * o + 0.7152 * a + 0.0722 * l;\n }\n }, opaque: function(f) {\n for (var n = g._toPixels(f), s = 0; s < n.length; s += 4)\n n[s + 3] = 255;\n return n;\n }, invert: function(f) {\n for (var n = g._toPixels(f), s = 0; s < n.length; s += 4)\n n[s] = 255 - n[s], n[s + 1] = 255 - n[s + 1], n[s + 2] = 255 - n[s + 2];\n }, posterize: function(f) {\n var n = 1 < arguments.length && arguments[1] !== void 0 ? arguments[1] : 4, s = g._toPixels(f);\n if (n < 2 || 255 < n)\n throw new Error(\"Level must be greater than 2 and less than 255 for posterize\");\n for (var o = n - 1, a = 0; a < s.length; a += 4) {\n var l = s[a], r = s[a + 1], i = s[a + 2];\n s[a] = 255 * (l * n >> 8) / o, s[a + 1] = 255 * (r * n >> 8) / o, s[a + 2] = 255 * (i * n >> 8) / o;\n }\n }, dilate: function(f) {\n for (var n, s, o, a, l, r, i, c, p, j = g._toPixels(f), T = 0, _ = j.length ? j.length / 4 : 0, S = new Int32Array(_); T < _; )\n for (s = (n = T) + f.width; T < s; )\n a = o = g._getARGB(j, T), (p = T - 1) < n && (p = T), s <= (c = T + 1) && (c = T), (l = T - f.width) < 0 && (l = 0), _ <= (r = T + f.width) && (r = T), l = g._getARGB(j, l), p = g._getARGB(j, p), r = g._getARGB(j, r), (a = 77 * (a >> 16 & 255) + 151 * (a >> 8 & 255) + 28 * (255 & a)) < (i = 77 * (p >> 16 & 255) + 151 * (p >> 8 & 255) + 28 * (255 & p)) && (o = p, a = i), a < (i = 77 * ((p = g._getARGB(j, c)) >> 16 & 255) + 151 * (p >> 8 & 255) + 28 * (255 & p)) && (o = p, a = i), a < (c = 77 * (l >> 16 & 255) + 151 * (l >> 8 & 255) + 28 * (255 & l)) && (o = l, a = c), a < (p = 77 * (r >> 16 & 255) + 151 * (r >> 8 & 255) + 28 * (255 & r)) && (o = r, a = p), S[T++] = o;\n g._setPixels(j, S);\n }, erode: function(f) {\n for (var n, s, o, a, l, r, i, c, p, j = g._toPixels(f), T = 0, _ = j.length ? j.length / 4 : 0, S = new Int32Array(_); T < _; )\n for (s = (n = T) + f.width; T < s; )\n a = o = g._getARGB(j, T), (p = T - 1) < n && (p = T), s <= (c = T + 1) && (c = T), (l = T - f.width) < 0 && (l = 0), _ <= (r = T + f.width) && (r = T), l = g._getARGB(j, l), p = g._getARGB(j, p), r = g._getARGB(j, r), (i = 77 * (p >> 16 & 255) + 151 * (p >> 8 & 255) + 28 * (255 & p)) < (a = 77 * (a >> 16 & 255) + 151 * (a >> 8 & 255) + 28 * (255 & a)) && (o = p, a = i), (i = 77 * ((p = g._getARGB(j, c)) >> 16 & 255) + 151 * (p >> 8 & 255) + 28 * (255 & p)) < a && (o = p, a = i), (c = 77 * (l >> 16 & 255) + 151 * (l >> 8 & 255) + 28 * (255 & l)) < a && (o = l, a = c), (p = 77 * (r >> 16 & 255) + 151 * (r >> 8 & 255) + 28 * (255 & r)) < a && (o = r, a = p), S[T++] = o;\n g._setPixels(j, S);\n }, blur: function(f, n) {\n for (var s, o, a, l, r, i, c, p, j, T, _ = g._toPixels(f), S = f.width, E = f.height, P = S * E, x = new Int32Array(P), A = 0; A < P; A++)\n x[A] = g._getARGB(_, A);\n var M, R, L, F, V, G, U, W, X = new Int32Array(P), ne = new Int32Array(P), b = new Int32Array(P), O = new Int32Array(P), D = 0, B = 3.5 * n | 0;\n if (m !== (B = B < 1 ? 1 : B < 248 ? B : 248)) {\n y = 1 + (m = B) << 1, u = new Int32Array(y), h = new Array(y);\n for (var Y = 0; Y < y; Y++)\n h[Y] = new Int32Array(256);\n for (var K = 1, te = B - 1; K < B; K++) {\n u[B + K] = u[te] = G = te * te, U = h[B + K], W = h[te--];\n for (var ce = 0; ce < 256; ce++)\n U[ce] = W[ce] = G * ce;\n }\n V = u[B] = B * B, U = h[B];\n for (var re = 0; re < 256; re++)\n U[re] = V * re;\n }\n for (R = 0; R < E; R++) {\n for (M = 0; M < S; M++) {\n if (l = a = o = r = s = 0, (i = M - m) < 0)\n T = -i, i = 0;\n else {\n if (S <= i)\n break;\n T = 0;\n }\n for (L = T; L < y && !(S <= i); L++) {\n var ue = x[i + D];\n F = h[L], r += F[(-16777216 & ue) >>> 24], o += F[(16711680 & ue) >> 16], a += F[(65280 & ue) >> 8], l += F[255 & ue], s += u[L], i++;\n }\n X[c = D + M] = r / s, ne[c] = o / s, b[c] = a / s, O[c] = l / s;\n }\n D += S;\n }\n for (j = (p = -m) * S, R = D = 0; R < E; R++) {\n for (M = 0; M < S; M++) {\n if (l = a = o = r = s = 0, p < 0)\n T = c = -p, i = M;\n else {\n if (E <= p)\n break;\n T = 0, c = p, i = M + j;\n }\n for (L = T; L < y && !(E <= c); L++)\n F = h[L], r += F[X[i]], o += F[ne[i]], a += F[b[i]], l += F[O[i]], s += u[L], c++, i += S;\n x[M + D] = r / s << 24 | o / s << 16 | a / s << 8 | l / s;\n }\n D += S, j += S, p++;\n }\n g._setPixels(_, x);\n } };\n C.default = g;\n }, { \"core-js/modules/es.array.iterator\": 164, \"core-js/modules/es.object.to-string\": 187, \"core-js/modules/es.typed-array.copy-within\": 210, \"core-js/modules/es.typed-array.every\": 211, \"core-js/modules/es.typed-array.fill\": 212, \"core-js/modules/es.typed-array.filter\": 213, \"core-js/modules/es.typed-array.find\": 215, \"core-js/modules/es.typed-array.find-index\": 214, \"core-js/modules/es.typed-array.for-each\": 218, \"core-js/modules/es.typed-array.includes\": 219, \"core-js/modules/es.typed-array.index-of\": 220, \"core-js/modules/es.typed-array.int32-array\": 222, \"core-js/modules/es.typed-array.iterator\": 223, \"core-js/modules/es.typed-array.join\": 224, \"core-js/modules/es.typed-array.last-index-of\": 225, \"core-js/modules/es.typed-array.map\": 226, \"core-js/modules/es.typed-array.reduce\": 228, \"core-js/modules/es.typed-array.reduce-right\": 227, \"core-js/modules/es.typed-array.reverse\": 229, \"core-js/modules/es.typed-array.set\": 230, \"core-js/modules/es.typed-array.slice\": 231, \"core-js/modules/es.typed-array.some\": 232, \"core-js/modules/es.typed-array.sort\": 233, \"core-js/modules/es.typed-array.subarray\": 234, \"core-js/modules/es.typed-array.to-locale-string\": 235, \"core-js/modules/es.typed-array.to-string\": 236, \"core-js/modules/es.typed-array.uint8-array\": 239 }], 302: [function(t, H, C) {\n t(\"core-js/modules/es.symbol\"), t(\"core-js/modules/es.symbol.description\"), t(\"core-js/modules/es.symbol.iterator\"), t(\"core-js/modules/es.array.concat\"), t(\"core-js/modules/es.array.filter\"), t(\"core-js/modules/es.array.for-each\"), t(\"core-js/modules/es.array.from\"), t(\"core-js/modules/es.array.iterator\"), t(\"core-js/modules/es.array.map\"), t(\"core-js/modules/es.array.slice\"), t(\"core-js/modules/es.object.keys\"), t(\"core-js/modules/es.object.to-string\"), t(\"core-js/modules/es.regexp.exec\"), t(\"core-js/modules/es.regexp.to-string\"), t(\"core-js/modules/es.set\"), t(\"core-js/modules/es.string.iterator\"), t(\"core-js/modules/es.string.replace\"), t(\"core-js/modules/es.string.split\"), t(\"core-js/modules/es.typed-array.uint8-array\"), t(\"core-js/modules/es.typed-array.uint32-array\"), t(\"core-js/modules/es.typed-array.copy-within\"), t(\"core-js/modules/es.typed-array.every\"), t(\"core-js/modules/es.typed-array.fill\"), t(\"core-js/modules/es.typed-array.filter\"), t(\"core-js/modules/es.typed-array.find\"), t(\"core-js/modules/es.typed-array.find-index\"), t(\"core-js/modules/es.typed-array.for-each\"), t(\"core-js/modules/es.typed-array.includes\"), t(\"core-js/modules/es.typed-array.index-of\"), t(\"core-js/modules/es.typed-array.iterator\"), t(\"core-js/modules/es.typed-array.join\"), t(\"core-js/modules/es.typed-array.last-index-of\"), t(\"core-js/modules/es.typed-array.map\"), t(\"core-js/modules/es.typed-array.reduce\"), t(\"core-js/modules/es.typed-array.reduce-right\"), t(\"core-js/modules/es.typed-array.reverse\"), t(\"core-js/modules/es.typed-array.set\"), t(\"core-js/modules/es.typed-array.slice\"), t(\"core-js/modules/es.typed-array.some\"), t(\"core-js/modules/es.typed-array.sort\"), t(\"core-js/modules/es.typed-array.subarray\"), t(\"core-js/modules/es.typed-array.to-locale-string\"), t(\"core-js/modules/es.typed-array.to-string\"), t(\"core-js/modules/web.dom-collections.for-each\"), t(\"core-js/modules/web.dom-collections.iterator\"), t(\"core-js/modules/es.array.concat\"), t(\"core-js/modules/es.array.filter\"), t(\"core-js/modules/es.array.for-each\"), t(\"core-js/modules/es.array.iterator\"), t(\"core-js/modules/es.array.map\"), t(\"core-js/modules/es.array.slice\"), t(\"core-js/modules/es.object.keys\"), t(\"core-js/modules/es.object.to-string\"), t(\"core-js/modules/es.regexp.exec\"), t(\"core-js/modules/es.regexp.to-string\"), t(\"core-js/modules/es.set\"), t(\"core-js/modules/es.string.iterator\"), t(\"core-js/modules/es.string.replace\"), t(\"core-js/modules/es.string.split\"), t(\"core-js/modules/es.typed-array.uint8-array\"), t(\"core-js/modules/es.typed-array.uint32-array\"), t(\"core-js/modules/es.typed-array.copy-within\"), t(\"core-js/modules/es.typed-array.every\"), t(\"core-js/modules/es.typed-array.fill\"), t(\"core-js/modules/es.typed-array.filter\"), t(\"core-js/modules/es.typed-array.find\"), t(\"core-js/modules/es.typed-array.find-index\"), t(\"core-js/modules/es.typed-array.for-each\"), t(\"core-js/modules/es.typed-array.includes\"), t(\"core-js/modules/es.typed-array.index-of\"), t(\"core-js/modules/es.typed-array.iterator\"), t(\"core-js/modules/es.typed-array.join\"), t(\"core-js/modules/es.typed-array.last-index-of\"), t(\"core-js/modules/es.typed-array.map\"), t(\"core-js/modules/es.typed-array.reduce\"), t(\"core-js/modules/es.typed-array.reduce-right\"), t(\"core-js/modules/es.typed-array.reverse\"), t(\"core-js/modules/es.typed-array.set\"), t(\"core-js/modules/es.typed-array.slice\"), t(\"core-js/modules/es.typed-array.some\"), t(\"core-js/modules/es.typed-array.sort\"), t(\"core-js/modules/es.typed-array.subarray\"), t(\"core-js/modules/es.typed-array.to-locale-string\"), t(\"core-js/modules/es.typed-array.to-string\"), t(\"core-js/modules/web.dom-collections.for-each\"), t(\"core-js/modules/web.dom-collections.iterator\"), Object.defineProperty(C, \"__esModule\", { value: !0 }), C.default = void 0;\n var m = u(t(\"../core/main\")), y = u(t(\"omggif\"));\n function u(g) {\n return g && g.__esModule ? g : { default: g };\n }\n function h(g) {\n return function(f) {\n if (Array.isArray(f)) {\n for (var n = 0, s = new Array(f.length); n < f.length; n++)\n s[n] = f[n];\n return s;\n }\n }(g) || function(f) {\n if (Symbol.iterator in Object(f) || Object.prototype.toString.call(f) === \"[object Arguments]\")\n return Array.from(f);\n }(g) || function() {\n throw new TypeError(\"Invalid attempt to spread non-iterable instance\");\n }();\n }\n m.default.prototype.createImage = function(g, f) {\n return m.default._validateParameters(\"createImage\", arguments), new m.default.Image(g, f);\n }, m.default.prototype.saveCanvas = function() {\n for (var g, f, n, s, o, a, l = arguments.length, r = new Array(l), i = 0; i < l; i++)\n r[i] = arguments[i];\n switch (m.default._validateParameters(\"saveCanvas\", r), r[0] instanceof HTMLCanvasElement ? (g = r[0], r.shift()) : r[0] instanceof m.default.Element ? (g = r[0].elt, r.shift()) : r[0] instanceof m.default.Framebuffer ? (s = r[0], (o = this.createGraphics(s.width, s.height)).pixelDensity(pixelDensity()), s.loadPixels(), o.loadPixels(), o.pixels.set(s.pixels), o.updatePixels(), g = o.elt, r.shift()) : g = this._curElement && this._curElement.elt, 1 <= r.length && (f = r[0]), n = (n = 2 <= r.length ? r[1] : n) || m.default.prototype._checkFileExtension(f, n)[1] || \"png\") {\n default:\n a = \"image/png\";\n break;\n case \"jpeg\":\n case \"jpg\":\n a = \"image/jpeg\";\n }\n g.toBlob(function(c) {\n m.default.prototype.downloadFile(c, f, n), o && o.remove();\n }, a);\n }, m.default.prototype.encodeAndDownloadGif = function(g, f) {\n for (var n = g.gifProperties, s = n.loopLimit, o = (s === 1 ? s = null : s === null && (s = 0), new Uint8Array(g.width * g.height * n.numFrames)), a = [], l = {}, r = 0; r < n.numFrames; r++) {\n for (var i = /* @__PURE__ */ new Set(), c = n.frames[r].image.data, p = c.length, j = new Uint32Array(g.width * g.height), T = 0, _ = 0; T < p; T += 4, _++) {\n var S = c[T + 0] << 16 | c[T + 1] << 8 | c[T + 2] << 0;\n i.add(S), j[_] = S;\n }\n var E = h(i).sort().toString();\n l[E] === void 0 ? l[E] = { freq: 1, frames: [r] } : (l[E].freq += 1, l[E].frames.push(r)), a.push(j);\n }\n for (var A = [], P = Object.keys(l).sort(function(b, O) {\n return l[O].freq - l[b].freq;\n }), x = P[0].split(\",\").map(function(b) {\n return parseInt(b);\n }), A = A.concat(l[x].frames), M = new Set(x), R = 1; R < P.length; R++) {\n var L = P[R].split(\",\").map(function(b) {\n return parseInt(b);\n }).filter(function(b) {\n return !M.has(b);\n });\n if (x.length + L.length <= 256) {\n for (var F = 0; F < L.length; F++)\n x.push(L[F]), M.add(L[F]);\n A = A.concat(l[P[R]].frames);\n }\n }\n A = new Set(A);\n for (var V = {}, G = 0; G < x.length; G++)\n V[x[G]] || (V[x[G]] = G);\n for (var U = 1; U < x.length; )\n U <<= 1;\n x.length = U;\n for (var s = { loop: s, palette: new Uint32Array(x) }, W = new y.default.GifWriter(o, g.width, g.height, s), X = {}, ne = 0; ne < n.numFrames; ne++)\n (function(O) {\n var D = !A.has(O), B = D ? [] : x, Y = new Uint8Array(g.width * g.height), K = {}, te = /* @__PURE__ */ new Set(), ce = (a[O].forEach(function(ae, he) {\n D ? (K[ae] === void 0 && (K[ae] = B.length, B.push(ae)), Y[he] = K[ae]) : Y[he] = V[ae], 0 < O && a[O - 1][he] !== ae && te.add(ae);\n }), {}), re = B.filter(function(ae) {\n return !te.has(ae);\n });\n if (0 < re.length) {\n var re = re[0], ue = (D ? K : V)[re];\n if (0 < O) {\n for (var le = 0; le < a[O].length; le++)\n a[O - 1][le] === a[O][le] && (Y[le] = ue);\n ce.transparent = ue, X.frameOpts.disposal = 1;\n }\n }\n if (ce.delay = n.frames[O].delay / 10, D) {\n for (var J = 1; J < B.length; )\n J <<= 1;\n B.length = J, ce.palette = new Uint32Array(B);\n }\n 0 < O && W.addFrame(0, 0, g.width, g.height, X.pixelPaletteIndex, X.frameOpts), X = { pixelPaletteIndex: Y, frameOpts: ce };\n })(ne);\n X.frameOpts.disposal = 1, W.addFrame(0, 0, g.width, g.height, X.pixelPaletteIndex, X.frameOpts), s = new Blob([o.slice(0, W.end())], { type: \"image/gif\" }), m.default.prototype.downloadFile(s, f, \"gif\");\n }, m.default.prototype.saveFrames = function(g, f, n, a, o) {\n m.default._validateParameters(\"saveFrames\", arguments), n = m.default.prototype.constrain(n = n || 3, 0, 15), n *= 1e3;\n var a = m.default.prototype.constrain(a || 15, 0, 22), l = 0, r = m.default.prototype._makeFrame, i = this._curElement.elt, c = [], p = setInterval(function() {\n c.push(r(g + l, f, i)), l++;\n }, 1e3 / a);\n setTimeout(function() {\n if (clearInterval(p), o)\n o(c);\n else\n for (var j = 0, T = c; j < T.length; j++) {\n var _ = T[j];\n m.default.prototype.downloadFile(_.imageData, _.filename, _.ext);\n }\n c = [];\n }, 0.01 + n);\n }, m.default.prototype._makeFrame = function(g, f, o) {\n var s, o = this ? this._curElement.elt : o;\n if (f)\n switch (f.toLowerCase()) {\n case \"png\":\n s = \"image/png\";\n break;\n case \"jpeg\":\n case \"jpg\":\n s = \"image/jpeg\";\n break;\n default:\n s = \"image/png\";\n }\n else\n f = \"png\", s = \"image/png\";\n var o = (o = o.toDataURL(s)).replace(s, \"image/octet-stream\"), a = {};\n return a.imageData = o, a.filename = g, a.ext = f, a;\n }, t = m.default, C.default = t;\n }, { \"../core/main\": 280, \"core-js/modules/es.array.concat\": 152, \"core-js/modules/es.array.filter\": 156, \"core-js/modules/es.array.for-each\": 160, \"core-js/modules/es.array.from\": 161, \"core-js/modules/es.array.iterator\": 164, \"core-js/modules/es.array.map\": 167, \"core-js/modules/es.array.slice\": 168, \"core-js/modules/es.object.keys\": 186, \"core-js/modules/es.object.to-string\": 187, \"core-js/modules/es.regexp.exec\": 192, \"core-js/modules/es.regexp.to-string\": 193, \"core-js/modules/es.set\": 194, \"core-js/modules/es.string.iterator\": 197, \"core-js/modules/es.string.replace\": 201, \"core-js/modules/es.string.split\": 203, \"core-js/modules/es.symbol\": 209, \"core-js/modules/es.symbol.description\": 207, \"core-js/modules/es.symbol.iterator\": 208, \"core-js/modules/es.typed-array.copy-within\": 210, \"core-js/modules/es.typed-array.every\": 211, \"core-js/modules/es.typed-array.fill\": 212, \"core-js/modules/es.typed-array.filter\": 213, \"core-js/modules/es.typed-array.find\": 215, \"core-js/modules/es.typed-array.find-index\": 214, \"core-js/modules/es.typed-array.for-each\": 218, \"core-js/modules/es.typed-array.includes\": 219, \"core-js/modules/es.typed-array.index-of\": 220, \"core-js/modules/es.typed-array.iterator\": 223, \"core-js/modules/es.typed-array.join\": 224, \"core-js/modules/es.typed-array.last-index-of\": 225, \"core-js/modules/es.typed-array.map\": 226, \"core-js/modules/es.typed-array.reduce\": 228, \"core-js/modules/es.typed-array.reduce-right\": 227, \"core-js/modules/es.typed-array.reverse\": 229, \"core-js/modules/es.typed-array.set\": 230, \"core-js/modules/es.typed-array.slice\": 231, \"core-js/modules/es.typed-array.some\": 232, \"core-js/modules/es.typed-array.sort\": 233, \"core-js/modules/es.typed-array.subarray\": 234, \"core-js/modules/es.typed-array.to-locale-string\": 235, \"core-js/modules/es.typed-array.to-string\": 236, \"core-js/modules/es.typed-array.uint32-array\": 238, \"core-js/modules/es.typed-array.uint8-array\": 239, \"core-js/modules/web.dom-collections.for-each\": 242, \"core-js/modules/web.dom-collections.iterator\": 243, omggif: 253 }], 303: [function(t, H, C) {\n function m(i) {\n return (m = typeof Symbol == \"function\" && typeof Symbol.iterator == \"symbol\" ? function(c) {\n return typeof c;\n } : function(c) {\n return c && typeof Symbol == \"function\" && c.constructor === Symbol && c !== Symbol.prototype ? \"symbol\" : typeof c;\n })(i);\n }\n function y(i) {\n return (y = typeof Symbol == \"function\" && m(Symbol.iterator) === \"symbol\" ? function(c) {\n return m(c);\n } : function(c) {\n return c && typeof Symbol == \"function\" && c.constructor === Symbol && c !== Symbol.prototype ? \"symbol\" : m(c);\n })(i);\n }\n t(\"core-js/modules/es.symbol\"), t(\"core-js/modules/es.symbol.description\"), t(\"core-js/modules/es.symbol.iterator\"), t(\"core-js/modules/es.array.copy-within\"), t(\"core-js/modules/es.array.includes\"), t(\"core-js/modules/es.array.index-of\"), t(\"core-js/modules/es.array.iterator\"), t(\"core-js/modules/es.array.slice\"), t(\"core-js/modules/es.object.get-own-property-descriptor\"), t(\"core-js/modules/es.object.to-string\"), t(\"core-js/modules/es.promise\"), t(\"core-js/modules/es.regexp.to-string\"), t(\"core-js/modules/es.string.includes\"), t(\"core-js/modules/es.string.iterator\"), t(\"core-js/modules/es.typed-array.uint8-array\"), t(\"core-js/modules/es.typed-array.uint8-clamped-array\"), t(\"core-js/modules/es.typed-array.copy-within\"), t(\"core-js/modules/es.typed-array.every\"), t(\"core-js/modules/es.typed-array.fill\"), t(\"core-js/modules/es.typed-array.filter\"), t(\"core-js/modules/es.typed-array.find\"), t(\"core-js/modules/es.typed-array.find-index\"), t(\"core-js/modules/es.typed-array.for-each\"), t(\"core-js/modules/es.typed-array.includes\"), t(\"core-js/modules/es.typed-array.index-of\"), t(\"core-js/modules/es.typed-array.iterator\"), t(\"core-js/modules/es.typed-array.join\"), t(\"core-js/modules/es.typed-array.last-index-of\"), t(\"core-js/modules/es.typed-array.map\"), t(\"core-js/modules/es.typed-array.reduce\"), t(\"core-js/modules/es.typed-array.reduce-right\"), t(\"core-js/modules/es.typed-array.reverse\"), t(\"core-js/modules/es.typed-array.set\"), t(\"core-js/modules/es.typed-array.slice\"), t(\"core-js/modules/es.typed-array.some\"), t(\"core-js/modules/es.typed-array.sort\"), t(\"core-js/modules/es.typed-array.subarray\"), t(\"core-js/modules/es.typed-array.to-locale-string\"), t(\"core-js/modules/es.typed-array.to-string\"), t(\"core-js/modules/es.weak-map\"), t(\"core-js/modules/web.dom-collections.iterator\"), t(\"core-js/modules/es.array.copy-within\"), t(\"core-js/modules/es.array.includes\"), t(\"core-js/modules/es.array.index-of\"), t(\"core-js/modules/es.array.iterator\"), t(\"core-js/modules/es.array.slice\"), t(\"core-js/modules/es.object.to-string\"), t(\"core-js/modules/es.promise\"), t(\"core-js/modules/es.regexp.to-string\"), t(\"core-js/modules/es.string.includes\"), t(\"core-js/modules/es.typed-array.uint8-array\"), t(\"core-js/modules/es.typed-array.uint8-clamped-array\"), t(\"core-js/modules/es.typed-array.copy-within\"), t(\"core-js/modules/es.typed-array.every\"), t(\"core-js/modules/es.typed-array.fill\"), t(\"core-js/modules/es.typed-array.filter\"), t(\"core-js/modules/es.typed-array.find\"), t(\"core-js/modules/es.typed-array.find-index\"), t(\"core-js/modules/es.typed-array.for-each\"), t(\"core-js/modules/es.typed-array.includes\"), t(\"core-js/modules/es.typed-array.index-of\"), t(\"core-js/modules/es.typed-array.iterator\"), t(\"core-js/modules/es.typed-array.join\"), t(\"core-js/modules/es.typed-array.last-index-of\"), t(\"core-js/modules/es.typed-array.map\"), t(\"core-js/modules/es.typed-array.reduce\"), t(\"core-js/modules/es.typed-array.reduce-right\"), t(\"core-js/modules/es.typed-array.reverse\"), t(\"core-js/modules/es.typed-array.set\"), t(\"core-js/modules/es.typed-array.slice\"), t(\"core-js/modules/es.typed-array.some\"), t(\"core-js/modules/es.typed-array.sort\"), t(\"core-js/modules/es.typed-array.subarray\"), t(\"core-js/modules/es.typed-array.to-locale-string\"), t(\"core-js/modules/es.typed-array.to-string\"), Object.defineProperty(C, \"__esModule\", { value: !0 }), C.default = void 0, t(\"regenerator-runtime/runtime\");\n var u = o(t(\"../core/main\")), h = o(t(\"../core/helpers\")), g = function(i) {\n if (i && i.__esModule)\n return i;\n if (i === null || y(i) !== \"object\" && typeof i != \"function\")\n return { default: i };\n var c = s();\n if (c && c.has(i))\n return c.get(i);\n var p, j = {}, T = Object.defineProperty && Object.getOwnPropertyDescriptor;\n for (p in i) {\n var _;\n Object.prototype.hasOwnProperty.call(i, p) && ((_ = T ? Object.getOwnPropertyDescriptor(i, p) : null) && (_.get || _.set) ? Object.defineProperty(j, p, _) : j[p] = i[p]);\n }\n return j.default = i, c && c.set(i, j), j;\n }(t(\"../core/constants\")), f = o(t(\"omggif\")), n = t(\"gifenc\");\n function s() {\n var i;\n return typeof WeakMap != \"function\" ? null : (i = /* @__PURE__ */ new WeakMap(), s = function() {\n return i;\n }, i);\n }\n function o(i) {\n return i && i.__esModule ? i : { default: i };\n }\n function a(i, c, p, j, T, _, S) {\n try {\n var E = i[_](S), P = E.value;\n } catch (x) {\n return void p(x);\n }\n E.done ? c(P) : Promise.resolve(P).then(j, T);\n }\n function l(i, c, p, j, T, _, S, E, P, x, A) {\n var M, R, L, F, V, G, U, W, X;\n return i === g.COVER && (M = c, L = p, U = _, W = S, G = E, X = P, R = x, F = A, V = Math.max(U / R, W / F), U /= V, W /= V, V = G, G = X, M === g.CENTER ? V += (R - U) / 2 : M === g.RIGHT && (V += R - U), L === g.CENTER ? G += (F - W) / 2 : L === g.BOTTOM && (G += F - W), E = (X = { x: V, y: G, w: U, h: W }).x, P = X.y, x = X.w, A = X.h), i === g.CONTAIN && (M = c, R = p, L = j, F = T, V = _, G = S, U = x, W = A, X = Math.max(U / V, W / G), U /= X, W /= X, X = L, L = F, M === g.CENTER ? X += (V - U) / 2 : M === g.RIGHT && (X += V - U), R === g.CENTER ? L += (G - W) / 2 : R === g.BOTTOM && (L += G - W), j = (i = { x: X, y: L, w: U, h: W }).x, T = i.y, _ = i.w, S = i.h), { sx: E, sy: P, sw: x, sh: A, dx: j, dy: T, dw: _, dh: S };\n }\n function r(i, c) {\n return 0 < i && i < c ? i : c;\n }\n t(\"../core/friendly_errors/validate_params\"), t(\"../core/friendly_errors/file_errors\"), t(\"../core/friendly_errors/fes_core\"), u.default.prototype.loadImage = function(i, c, p) {\n u.default._validateParameters(\"loadImage\", arguments);\n var j = new u.default.Image(1, 1, this), T = this, _ = new Request(i, { method: \"GET\", mode: \"cors\" });\n return fetch(i, _).then(function(S) {\n var E, P = S.headers.get(\"content-type\");\n P === null && console.warn(\"The image you loaded does not have a Content-Type header. If you are using the online editor consider reuploading the asset.\"), P && P.includes(\"image/gif\") ? S.arrayBuffer().then(function(x) {\n if (x) {\n for (var x = new Uint8Array(x), A = j, M = c, R = p, L = (function(D) {\n T._decrementPreload();\n }).bind(T), F = new f.default.GifReader(x), V = (A.width = A.canvas.width = F.width, A.height = A.canvas.height = F.height, []), G = F.numFrames(), U = new Uint8ClampedArray(A.width * A.height * 4), W = 0; W < G; W++) {\n var X = F.frameInfo(W), ne = A.drawingContext.getImageData(0, 0, A.width, A.height), b = (U = ne.data.slice(), function(D, B) {\n try {\n B.decodeAndBlitFrameRGBA(D, U);\n } catch (Y) {\n u.default._friendlyFileLoadError(8, A.src), typeof R == \"function\" ? R(Y) : console.error(Y);\n }\n }(W, F), new ImageData(U, A.width, A.height)), b = (A.drawingContext.putImageData(b, 0, 0), X.delay);\n b === 0 && (b = 10), V.push({ image: A.drawingContext.getImageData(0, 0, A.width, A.height), delay: 10 * b }), X.disposal === 2 ? A.drawingContext.clearRect(X.x, X.y, X.width, X.height) : X.disposal === 3 && A.drawingContext.putImageData(ne, 0, 0, X.x, X.y, X.width, X.height);\n }\n (x = F.loopCount()) === null ? x = 1 : x === 0 && (x = null), A.drawingContext.putImageData(V[0].image, 0, 0), 1 < V.length && (A.gifProperties = { displayIndex: 0, loopLimit: x, loopCount: 0, frames: V, numFrames: G, playing: !0, timeDisplayed: 0, lastChangeTime: 0 }), typeof M == \"function\" && M(A), L();\n }\n }, function(x) {\n typeof p == \"function\" ? (p(x), T._decrementPreload()) : console.error(x);\n }) : ((E = new Image()).onload = function() {\n j.width = j.canvas.width = E.width, j.height = j.canvas.height = E.height, j.drawingContext.drawImage(E, 0, 0), j.modified = !0, typeof c == \"function\" && c(j), T._decrementPreload();\n }, E.onerror = function(x) {\n u.default._friendlyFileLoadError(0, E.src), typeof p == \"function\" ? (p(x), T._decrementPreload()) : console.error(x);\n }, i.indexOf(\"data:image/\") !== 0 && (E.crossOrigin = \"Anonymous\"), E.src = i), j.modified = !0;\n }).catch(function(S) {\n u.default._friendlyFileLoadError(0, i), typeof p == \"function\" ? (p(S), T._decrementPreload()) : console.error(S);\n }), j;\n }, u.default.prototype.saveGif = function() {\n i = regeneratorRuntime.mark(function p(j, T) {\n var _, S, E, P, x, A, M, R, L, F, V, G, U, W, X, ne, b, O, D, B, Y, K, te, ce, re, ue, le = arguments;\n return regeneratorRuntime.wrap(function(J) {\n for (; ; )\n switch (J.prev = J.next) {\n case 0:\n if (_ = 2 < le.length && le[2] !== void 0 ? le[2] : { delay: 0, units: \"seconds\", silent: !1, notificationDuration: 0, notificationID: \"progressBar\" }, typeof j != \"string\")\n throw TypeError(\"fileName parameter must be a string\");\n J.next = 3;\n break;\n case 3:\n if (typeof T != \"number\")\n throw TypeError(\"Duration parameter must be a number\");\n J.next = 5;\n break;\n case 5:\n if (S = _ && _.delay || 0, E = _ && _.units || \"seconds\", P = _ && _.silent || !1, x = _ && _.notificationDuration || 0, A = _ && _.notificationID || \"progressBar\", typeof S != \"number\")\n throw TypeError(\"Delay parameter must be a number\");\n J.next = 12;\n break;\n case 12:\n if (E !== \"seconds\" && E !== \"frames\")\n throw TypeError('Units parameter must be either \"frames\" or \"seconds\"');\n J.next = 14;\n break;\n case 14:\n if (typeof P != \"boolean\")\n throw TypeError(\"Silent parameter must be a boolean\");\n J.next = 16;\n break;\n case 16:\n if (typeof x != \"number\")\n throw TypeError(\"Notification duration parameter must be a number\");\n J.next = 18;\n break;\n case 18:\n if (typeof A != \"string\")\n throw TypeError(\"Notification ID parameter must be a string\");\n J.next = 20;\n break;\n case 20:\n return this._recording = !0, F = this._targetFrameRate, M = (M = 1 / (F = F !== 1 / 0 && F !== void 0 && F !== 0 ? F : 60) * 1e3) < 20 ? 20 : M, L = (R = E === \"seconds\" ? T * F : T) + (F = E === \"seconds\" ? S * F : S), F = F, this.frameCount = F, V = this._pixelDensity, this.pixelDensity(1), G = [], document.getElementById(A) !== null && document.getElementById(A).remove(), P || ((U = this.createP(\"\")).id(A), U.style(\"font-size\", \"16px\"), U.style(\"font-family\", \"Montserrat\"), U.style(\"background-color\", \"#ffffffa0\"), U.style(\"padding\", \"8px\"), U.style(\"border-radius\", \"10px\"), U.position(0, 0)), this._renderer instanceof u.default.RendererGL && (X = this.drawingContext, W = new Uint8Array(X.drawingBufferWidth * X.drawingBufferHeight * 4)), this.noLoop(), J.next = 39, Promise.resolve();\n case 39:\n if (F < L)\n return this.redraw(), ce = void 0, ce = this._renderer instanceof u.default.RendererGL ? (W = new Uint8Array(X.drawingBufferWidth * X.drawingBufferHeight * 4), X.readPixels(0, 0, X.drawingBufferWidth, X.drawingBufferHeight, X.RGBA, X.UNSIGNED_BYTE, W), function(ae, he, _e) {\n for (var fe = parseInt(_e / 2), ge = 4 * he, xe = new Uint8Array(4 * he), De = 0; De < fe; ++De) {\n var Me = De * ge, Qe = (_e - De - 1) * ge;\n xe.set(ae.subarray(Me, Me + ge)), ae.copyWithin(Me, Qe, Qe + ge), ae.set(xe, Qe);\n }\n return ae;\n }(W, this.width, this.height)) : this.drawingContext.getImageData(0, 0, this.width, this.height).data, G.push(ce), F++, P || U.html(\"Saved frame \" + G.length.toString() + \" out of \" + R.toString()), J.next = 48, new Promise(function(ae) {\n return setTimeout(ae, 0);\n });\n J.next = 50;\n break;\n case 48:\n J.next = 39;\n break;\n case 50:\n P || U.html(\"Frames processed, generating color palette...\"), this.loop(), this.pixelDensity(V), ne = (0, n.GIFEncoder)(), b = function(ae) {\n for (var he = new Uint8Array(ae.length * ae[0].length), _e = 0; _e < ae.length; _e++)\n he.set(ae[_e], _e * ae[0].length);\n var fe = (0, n.quantize)(he, 256, { format: \"rgba4444\", oneBitAlpha: !0 });\n return fe.length === 256 ? fe[fe.length - 1] = [255 * Math.random(), 255 * Math.random(), 255 * Math.random(), 0] : fe.push([255 * Math.random(), 255 * Math.random(), 255 * Math.random(), 0]), fe;\n }(G), O = {}, D = function(ae) {\n for (var he = ae.length / 4, _e = new Uint8Array(he), fe = 0; fe < he; fe++) {\n var ge = ae[4 * fe] << 24 | ae[4 * fe + 1] << 16 | ae[4 * fe + 2] << 8 | ae[4 * fe + 3];\n O[ge] === void 0 && (O[ge] = (0, n.nearestColorIndex)(b, ae.slice(4 * fe, 4 * (fe + 1)))), _e[fe] = O[ge];\n }\n return _e;\n }, B = b.length - 1, Y = [], K = 0;\n case 60:\n if (!(K < G.length)) {\n J.next = 71;\n break;\n }\n if (te = D(G[K]), ce = te.slice(), K === 0)\n ne.writeFrame(te, this.width, this.height, { palette: b, delay: M, dispose: 1 });\n else {\n for (re = 0; re < te.length; re++)\n te[re] === Y[re] && (te[re] = B);\n ne.writeFrame(te, this.width, this.height, { delay: M, transparent: !0, transparentIndex: B, dispose: 1 });\n }\n return Y = ce, P || U.html(\"Rendered frame \" + K.toString() + \" out of \" + R.toString()), J.next = 68, new Promise(function(ae) {\n return setTimeout(ae, 0);\n });\n case 68:\n K++, J.next = 60;\n break;\n case 71:\n ne.finish(), ue = ne.bytesView(), ue = new Blob([ue], { type: \"image/gif\" }), G = [], this._recording = !1, this.loop(), P || (U.html(\"Done. Downloading your gif!🌸\"), 0 < x && setTimeout(function() {\n return U.remove();\n }, 1e3 * x)), u.default.prototype.downloadFile(ue, j, \"gif\");\n case 80:\n case \"end\":\n return J.stop();\n }\n }, p, this);\n });\n var i, c = function() {\n var p = this, j = arguments;\n return new Promise(function(T, _) {\n var S = i.apply(p, j);\n function E(x) {\n a(S, T, _, E, P, \"next\", x);\n }\n function P(x) {\n a(S, T, _, E, P, \"throw\", x);\n }\n E(void 0);\n });\n };\n return function(p, j) {\n return c.apply(this, arguments);\n };\n }(), u.default.prototype.image = function(i, c, p, j, F, V, G, U, X, x, A, M) {\n u.default._validateParameters(\"image\", arguments);\n var W = i.width, R = i.height, L = (M = M || g.CENTER, A = A || g.CENTER, i.elt && (W = W !== void 0 ? W : i.elt.width, R = R !== void 0 ? R : i.elt.height), i.elt && i.elt.videoWidth && !i.canvas && (W = W !== void 0 ? W : i.elt.videoWidth, R = R !== void 0 ? R : i.elt.videoHeight), j || W), F = F || R, V = V || 0, G = G || 0, U = r(U !== void 0 ? U : W, W), W = r(X !== void 0 ? X : R, R), X = 1;\n i.elt && !i.canvas && i.elt.style.width && (X = i.elt.videoWidth && !j ? i.elt.videoWidth : i.elt.width, X /= parseInt(i.elt.style.width, 10)), V *= X, G *= X, W *= X, U *= X, R = l(x, A, M, (R = h.default.modeAdjust(c, p, L, F, this._renderer._imageMode)).x, R.y, R.w, R.h, V, G, U, W), this._renderer.image(i, R.sx, R.sy, R.sw, R.sh, R.dx, R.dy, R.dw, R.dh);\n }, u.default.prototype.tint = function() {\n for (var i = arguments.length, c = new Array(i), p = 0; p < i; p++)\n c[p] = arguments[p];\n u.default._validateParameters(\"tint\", c);\n var j = this.color.apply(this, c);\n this._renderer._tint = j.levels;\n }, u.default.prototype.noTint = function() {\n this._renderer._tint = null;\n }, u.default.prototype._getTintedImageCanvas = u.default.Renderer2D.prototype._getTintedImageCanvas, u.default.prototype.imageMode = function(i) {\n u.default._validateParameters(\"imageMode\", arguments), i !== g.CORNER && i !== g.CORNERS && i !== g.CENTER || (this._renderer._imageMode = i);\n }, t = u.default, C.default = t;\n }, { \"../core/constants\": 269, \"../core/friendly_errors/fes_core\": 271, \"../core/friendly_errors/file_errors\": 272, \"../core/friendly_errors/validate_params\": 275, \"../core/helpers\": 276, \"../core/main\": 280, \"core-js/modules/es.array.copy-within\": 153, \"core-js/modules/es.array.includes\": 162, \"core-js/modules/es.array.index-of\": 163, \"core-js/modules/es.array.iterator\": 164, \"core-js/modules/es.array.slice\": 168, \"core-js/modules/es.object.get-own-property-descriptor\": 183, \"core-js/modules/es.object.to-string\": 187, \"core-js/modules/es.promise\": 188, \"core-js/modules/es.regexp.to-string\": 193, \"core-js/modules/es.string.includes\": 196, \"core-js/modules/es.string.iterator\": 197, \"core-js/modules/es.symbol\": 209, \"core-js/modules/es.symbol.description\": 207, \"core-js/modules/es.symbol.iterator\": 208, \"core-js/modules/es.typed-array.copy-within\": 210, \"core-js/modules/es.typed-array.every\": 211, \"core-js/modules/es.typed-array.fill\": 212, \"core-js/modules/es.typed-array.filter\": 213, \"core-js/modules/es.typed-array.find\": 215, \"core-js/modules/es.typed-array.find-index\": 214, \"core-js/modules/es.typed-array.for-each\": 218, \"core-js/modules/es.typed-array.includes\": 219, \"core-js/modules/es.typed-array.index-of\": 220, \"core-js/modules/es.typed-array.iterator\": 223, \"core-js/modules/es.typed-array.join\": 224, \"core-js/modules/es.typed-array.last-index-of\": 225, \"core-js/modules/es.typed-array.map\": 226, \"core-js/modules/es.typed-array.reduce\": 228, \"core-js/modules/es.typed-array.reduce-right\": 227, \"core-js/modules/es.typed-array.reverse\": 229, \"core-js/modules/es.typed-array.set\": 230, \"core-js/modules/es.typed-array.slice\": 231, \"core-js/modules/es.typed-array.some\": 232, \"core-js/modules/es.typed-array.sort\": 233, \"core-js/modules/es.typed-array.subarray\": 234, \"core-js/modules/es.typed-array.to-locale-string\": 235, \"core-js/modules/es.typed-array.to-string\": 236, \"core-js/modules/es.typed-array.uint8-array\": 239, \"core-js/modules/es.typed-array.uint8-clamped-array\": 240, \"core-js/modules/es.weak-map\": 241, \"core-js/modules/web.dom-collections.iterator\": 243, gifenc: 250, omggif: 253, \"regenerator-runtime/runtime\": 257 }], 304: [function(t, H, C) {\n t(\"core-js/modules/es.symbol\"), t(\"core-js/modules/es.symbol.description\"), t(\"core-js/modules/es.symbol.iterator\"), t(\"core-js/modules/es.array.iterator\"), t(\"core-js/modules/es.object.to-string\"), t(\"core-js/modules/es.string.iterator\"), t(\"core-js/modules/web.dom-collections.iterator\"), t(\"core-js/modules/es.symbol\"), t(\"core-js/modules/es.symbol.description\"), t(\"core-js/modules/es.symbol.iterator\"), t(\"core-js/modules/es.array.iterator\"), t(\"core-js/modules/es.object.to-string\"), t(\"core-js/modules/es.string.iterator\"), t(\"core-js/modules/web.dom-collections.iterator\"), Object.defineProperty(C, \"__esModule\", { value: !0 }), C.default = void 0;\n var m = u(t(\"../core/main\")), y = u(t(\"./filters\"));\n function u(g) {\n return g && g.__esModule ? g : { default: g };\n }\n function h(g, f) {\n for (var n = 0; n < f.length; n++) {\n var s = f[n];\n s.enumerable = s.enumerable || !1, s.configurable = !0, \"value\" in s && (s.writable = !0), Object.defineProperty(g, s.key, s);\n }\n }\n m.default.Image = function() {\n function g(s, o) {\n if (!(this instanceof g))\n throw new TypeError(\"Cannot call a class as a function\");\n this.width = s, this.height = o, this.canvas = document.createElement(\"canvas\"), this.canvas.width = this.width, this.canvas.height = this.height, this.drawingContext = this.canvas.getContext(\"2d\"), (this._pixelsState = this)._pixelDensity = 1, this.gifProperties = null, this._modified = !1, this.pixels = [];\n }\n var f, n;\n return f = g, (n = [{ key: \"pixelDensity\", value: function(s) {\n return s !== void 0 ? (s <= 0 && (m.default._friendlyParamError({ type: \"INVALID_VALUE\", format: { types: [\"Number\"] }, position: 1 }, \"pixelDensity\"), s = 1), this._pixelDensity = s, this.width /= s, this.height /= s, this) : this._pixelDensity;\n } }, { key: \"_animateGif\", value: function(l) {\n var o, a = this.gifProperties, l = l._lastRealFrameTime;\n a.lastChangeTime === 0 && (a.lastChangeTime = l), a.playing && (a.timeDisplayed = l - a.lastChangeTime, o = a.frames[a.displayIndex].delay, a.timeDisplayed >= o && (o = Math.floor(a.timeDisplayed / o), a.timeDisplayed = 0, a.lastChangeTime = l, a.displayIndex += o, a.loopCount = Math.floor(a.displayIndex / a.numFrames), a.loopLimit !== null && a.loopCount >= a.loopLimit ? a.playing = !1 : (l = a.displayIndex % a.numFrames, this.drawingContext.putImageData(a.frames[l].image, 0, 0), a.displayIndex = l, this.setModified(!0))));\n } }, { key: \"_setProperty\", value: function(s, o) {\n this[s] = o, this.setModified(!0);\n } }, { key: \"loadPixels\", value: function() {\n m.default.Renderer2D.prototype.loadPixels.call(this), this.setModified(!0);\n } }, { key: \"updatePixels\", value: function(s, o, a, l) {\n m.default.Renderer2D.prototype.updatePixels.call(this, s, o, a, l), this.setModified(!0);\n } }, { key: \"get\", value: function(s, o, a, l) {\n return m.default._validateParameters(\"p5.Image.get\", arguments), m.default.Renderer2D.prototype.get.apply(this, arguments);\n } }, { key: \"_getPixel\", value: function() {\n for (var s = arguments.length, o = new Array(s), a = 0; a < s; a++)\n o[a] = arguments[a];\n return m.default.Renderer2D.prototype._getPixel.apply(this, o);\n } }, { key: \"set\", value: function(s, o, a) {\n m.default.Renderer2D.prototype.set.call(this, s, o, a), this.setModified(!0);\n } }, { key: \"resize\", value: function(s, o) {\n s === 0 && o === 0 ? (s = this.canvas.width, o = this.canvas.height) : s === 0 ? s = this.canvas.width * o / this.canvas.height : o === 0 && (o = this.canvas.height * s / this.canvas.width), s = Math.floor(s), o = Math.floor(o);\n var a = document.createElement(\"canvas\");\n if (a.width = s, a.height = o, this.gifProperties)\n for (var l = this.gifProperties, r = 0; r < l.numFrames; r++) {\n for (var i = this.drawingContext.createImageData(s, o), c = (S = S = _ = T = j = void 0, l.frames[r].image), p = i, j = 0, T = 0; T < p.height; T++)\n for (var _ = 0; _ < p.width; _++) {\n var S = Math.floor(_ * c.width / p.width), S = 4 * (Math.floor(T * c.height / p.height) * c.width + S);\n p.data[j++] = c.data[S++], p.data[j++] = c.data[S++], p.data[j++] = c.data[S++], p.data[j++] = c.data[+S];\n }\n l.frames[r].image = i;\n }\n a.getContext(\"2d\").drawImage(this.canvas, 0, 0, this.canvas.width, this.canvas.height, 0, 0, a.width, a.height), this.canvas.width = this.width = s, this.canvas.height = this.height = o, this.drawingContext.drawImage(a, 0, 0, s, o, 0, 0, s, o), 0 < this.pixels.length && this.loadPixels(), this.setModified(!0);\n } }, { key: \"copy\", value: function() {\n for (var s = arguments.length, o = new Array(s), a = 0; a < s; a++)\n o[a] = arguments[a];\n m.default.prototype.copy.apply(this, o);\n } }, { key: \"mask\", value: function(s) {\n var o = this.drawingContext.globalCompositeOperation, a = 1, l = [s = s === void 0 ? this : s, 0, 0, (a = s instanceof m.default.Renderer ? s._pInst._pixelDensity : a) * s.width, a * s.height, 0, 0, this.width, this.height];\n if (this.drawingContext.globalCompositeOperation = \"destination-in\", this.gifProperties) {\n for (var r = 0; r < this.gifProperties.frames.length; r++)\n this.drawingContext.putImageData(this.gifProperties.frames[r].image, 0, 0), this.copy.apply(this, l), this.gifProperties.frames[r].image = this.drawingContext.getImageData(0, 0, this.width, this.height);\n this.drawingContext.putImageData(this.gifProperties.frames[this.gifProperties.displayIndex].image, 0, 0);\n } else\n this.copy.apply(this, l);\n this.drawingContext.globalCompositeOperation = o, this.setModified(!0);\n } }, { key: \"filter\", value: function(s, o) {\n y.default.apply(this.canvas, y.default[s], o), this.setModified(!0);\n } }, { key: \"blend\", value: function() {\n for (var s = arguments.length, o = new Array(s), a = 0; a < s; a++)\n o[a] = arguments[a];\n m.default._validateParameters(\"p5.Image.blend\", arguments), m.default.prototype.blend.apply(this, o), this.setModified(!0);\n } }, { key: \"setModified\", value: function(s) {\n this._modified = s;\n } }, { key: \"isModified\", value: function() {\n return this._modified;\n } }, { key: \"save\", value: function(s, o) {\n this.gifProperties ? m.default.prototype.encodeAndDownloadGif(this, s) : m.default.prototype.saveCanvas(this.canvas, s, o);\n } }, { key: \"reset\", value: function() {\n var s;\n this.gifProperties && ((s = this.gifProperties).playing = !0, s.timeSinceStart = 0, s.timeDisplayed = 0, s.lastChangeTime = 0, s.loopCount = 0, s.displayIndex = 0, this.drawingContext.putImageData(s.frames[0].image, 0, 0));\n } }, { key: \"getCurrentFrame\", value: function() {\n var s;\n if (this.gifProperties)\n return (s = this.gifProperties).displayIndex % s.numFrames;\n } }, { key: \"setFrame\", value: function(s) {\n var o;\n this.gifProperties && (s < (o = this.gifProperties).numFrames && 0 <= s ? (o.timeDisplayed = 0, o.lastChangeTime = 0, o.displayIndex = s, this.drawingContext.putImageData(o.frames[s].image, 0, 0)) : console.log(\"Cannot set GIF to a frame number that is higher than total number of frames or below zero.\"));\n } }, { key: \"numFrames\", value: function() {\n if (this.gifProperties)\n return this.gifProperties.numFrames;\n } }, { key: \"play\", value: function() {\n this.gifProperties && (this.gifProperties.playing = !0);\n } }, { key: \"pause\", value: function() {\n this.gifProperties && (this.gifProperties.playing = !1);\n } }, { key: \"delay\", value: function(s, o) {\n if (this.gifProperties) {\n var a = this.gifProperties;\n if (o < a.numFrames && 0 <= o)\n a.frames[o].delay = s;\n else {\n var l = !0, o = !1, r = void 0;\n try {\n for (var i, c = a.frames[Symbol.iterator](); !(l = (i = c.next()).done); l = !0)\n i.value.delay = s;\n } catch (j) {\n o = !0, r = j;\n } finally {\n try {\n l || c.return == null || c.return();\n } finally {\n if (o)\n throw r;\n }\n }\n }\n }\n } }]) && h(f.prototype, n), g;\n }(), t = m.default.Image, C.default = t;\n }, { \"../core/main\": 280, \"./filters\": 301, \"core-js/modules/es.array.iterator\": 164, \"core-js/modules/es.object.to-string\": 187, \"core-js/modules/es.string.iterator\": 197, \"core-js/modules/es.symbol\": 209, \"core-js/modules/es.symbol.description\": 207, \"core-js/modules/es.symbol.iterator\": 208, \"core-js/modules/web.dom-collections.iterator\": 243 }], 305: [function(t, H, C) {\n t(\"core-js/modules/es.array.filter\"), t(\"core-js/modules/es.array.filter\"), Object.defineProperty(C, \"__esModule\", { value: !0 }), C.default = void 0;\n var m = u(t(\"../core/main\")), y = u(t(\"./filters\"));\n function u(h) {\n return h && h.__esModule ? h : { default: h };\n }\n t(\"../color/p5.Color\"), m.default.prototype.pixels = [], m.default.prototype.blend = function() {\n for (var h, g = arguments.length, f = new Array(g), n = 0; n < g; n++)\n f[n] = arguments[n];\n m.default._validateParameters(\"blend\", f), this._renderer ? (h = this._renderer).blend.apply(h, f) : m.default.Renderer2D.prototype.blend.apply(this, f);\n }, m.default.prototype.copy = function() {\n for (var h, g, f, n, s, o, a, l, r, i = arguments.length, c = new Array(i), p = 0; p < i; p++)\n c[p] = arguments[p];\n if (m.default._validateParameters(\"copy\", c), c.length === 9)\n h = c[0], g = c[1], f = c[2], n = c[3], s = c[4], o = c[5], a = c[6], l = c[7], r = c[8];\n else {\n if (c.length !== 8)\n throw new Error(\"Signature not supported\");\n h = this, g = c[0], f = c[1], n = c[2], s = c[3], o = c[4], a = c[5], l = c[6], r = c[7];\n }\n m.default.prototype._copyHelper(this, h, g, f, n, s, o, a, l, r);\n }, m.default.prototype._copyHelper = function(h, g, f, n, s, o, a, l, r, i) {\n var c = g.canvas.width / g.width, p = 0, j = 0;\n g._renderer && g._renderer.isP3D && (p = g.width / 2, j = g.height / 2), h._renderer && h._renderer.isP3D ? (h.push(), h.resetMatrix(), h.noLights(), h.blendMode(h.BLEND), h.imageMode(h.CORNER), m.default.RendererGL.prototype.image.call(h._renderer, g, f + p, n + j, s, o, a, l, r, i), h.pop()) : h.drawingContext.drawImage(g.canvas, c * (f + p), c * (n + j), c * s, c * o, a, l, r, i);\n }, m.default.prototype.getFilterGraphicsLayer = function() {\n return this._renderer.getFilterGraphicsLayer();\n }, m.default.prototype.filter = function() {\n for (var h = arguments.length, g = new Array(h), f = 0; f < h; f++)\n g[f] = arguments[f];\n m.default._validateParameters(\"filter\", g);\n var a = (function() {\n var l, r = { shader: void 0, operation: void 0, value: void 0, useWebGL: !0 };\n return (arguments.length <= 0 ? void 0 : arguments[0]) instanceof m.default.Shader ? r.shader = arguments.length <= 0 ? void 0 : arguments[0] : (r.operation = arguments.length <= 0 ? void 0 : arguments[0], 1 < arguments.length && typeof (arguments.length <= 1 ? void 0 : arguments[1]) == \"number\" && (r.value = arguments.length <= 1 ? void 0 : arguments[1]), ((l = arguments.length - 1) < 0 || arguments.length <= l ? void 0 : arguments[l]) === !1 && (r.useWebGL = !1)), r;\n }).apply(void 0, g), n = a.shader, s = a.operation, o = a.value, a = a.useWebGL;\n this._renderer.isP3D && n ? m.default.RendererGL.prototype.filter.call(this._renderer, n) : a || this._renderer.isP3D ? (!a && this._renderer.isP3D && console.warn(\"filter() with useWebGL=false is not supported in WEBGL\"), this._renderer.isP3D ? m.default.RendererGL.prototype.filter.call(this._renderer, s, o) : ((n = this.getFilterGraphicsLayer()).copy(this._renderer, 0, 0, this.width, this.height, -this.width / 2, -this.height / 2, this.width, this.height), this._renderer.clear(), this._renderer.resetMatrix(), n.filter.apply(n, g), this.copy(n._renderer, 0, 0, this.width, this.height, 0, 0, this.width, this.height), n.clear())) : this.canvas !== void 0 ? y.default.apply(this.canvas, y.default[s], o) : y.default.apply(this.elt, y.default[s], o);\n }, m.default.prototype.get = function(h, g, f, n) {\n var s;\n return m.default._validateParameters(\"get\", arguments), (s = this._renderer).get.apply(s, arguments);\n }, m.default.prototype.loadPixels = function() {\n for (var h = arguments.length, g = new Array(h), f = 0; f < h; f++)\n g[f] = arguments[f];\n m.default._validateParameters(\"loadPixels\", g), this._renderer.loadPixels();\n }, m.default.prototype.set = function(h, g, f) {\n this._renderer.set(h, g, f);\n }, m.default.prototype.updatePixels = function(h, g, f, n) {\n m.default._validateParameters(\"updatePixels\", arguments), this.pixels.length !== 0 && this._renderer.updatePixels(h, g, f, n);\n }, t = m.default, C.default = t;\n }, { \"../color/p5.Color\": 267, \"../core/main\": 280, \"./filters\": 301, \"core-js/modules/es.array.filter\": 156 }], 306: [function(t, H, C) {\n function m(o) {\n return (m = typeof Symbol == \"function\" && typeof Symbol.iterator == \"symbol\" ? function(a) {\n return typeof a;\n } : function(a) {\n return a && typeof Symbol == \"function\" && a.constructor === Symbol && a !== Symbol.prototype ? \"symbol\" : typeof a;\n })(o);\n }\n t(\"core-js/modules/es.symbol\"), t(\"core-js/modules/es.symbol.description\"), t(\"core-js/modules/es.symbol.iterator\"), t(\"core-js/modules/es.array.concat\"), t(\"core-js/modules/es.array.includes\"), t(\"core-js/modules/es.array.iterator\"), t(\"core-js/modules/es.array.last-index-of\"), t(\"core-js/modules/es.array.map\"), t(\"core-js/modules/es.array.slice\"), t(\"core-js/modules/es.array.splice\"), t(\"core-js/modules/es.function.name\"), t(\"core-js/modules/es.object.from-entries\"), t(\"core-js/modules/es.object.to-string\"), t(\"core-js/modules/es.promise\"), t(\"core-js/modules/es.regexp.exec\"), t(\"core-js/modules/es.regexp.to-string\"), t(\"core-js/modules/es.string.includes\"), t(\"core-js/modules/es.string.iterator\"), t(\"core-js/modules/es.string.replace\"), t(\"core-js/modules/es.string.split\"), t(\"core-js/modules/es.typed-array.uint8-array\"), t(\"core-js/modules/es.typed-array.copy-within\"), t(\"core-js/modules/es.typed-array.every\"), t(\"core-js/modules/es.typed-array.fill\"), t(\"core-js/modules/es.typed-array.filter\"), t(\"core-js/modules/es.typed-array.find\"), t(\"core-js/modules/es.typed-array.find-index\"), t(\"core-js/modules/es.typed-array.for-each\"), t(\"core-js/modules/es.typed-array.includes\"), t(\"core-js/modules/es.typed-array.index-of\"), t(\"core-js/modules/es.typed-array.iterator\"), t(\"core-js/modules/es.typed-array.join\"), t(\"core-js/modules/es.typed-array.last-index-of\"), t(\"core-js/modules/es.typed-array.map\"), t(\"core-js/modules/es.typed-array.reduce\"), t(\"core-js/modules/es.typed-array.reduce-right\"), t(\"core-js/modules/es.typed-array.reverse\"), t(\"core-js/modules/es.typed-array.set\"), t(\"core-js/modules/es.typed-array.slice\"), t(\"core-js/modules/es.typed-array.some\"), t(\"core-js/modules/es.typed-array.sort\"), t(\"core-js/modules/es.typed-array.subarray\"), t(\"core-js/modules/es.typed-array.to-locale-string\"), t(\"core-js/modules/es.typed-array.to-string\"), t(\"core-js/modules/web.dom-collections.iterator\"), t(\"core-js/modules/web.url\"), t(\"core-js/modules/es.symbol\"), t(\"core-js/modules/es.symbol.description\"), t(\"core-js/modules/es.symbol.iterator\"), t(\"core-js/modules/es.array.concat\"), t(\"core-js/modules/es.array.includes\"), t(\"core-js/modules/es.array.iterator\"), t(\"core-js/modules/es.array.last-index-of\"), t(\"core-js/modules/es.array.map\"), t(\"core-js/modules/es.array.slice\"), t(\"core-js/modules/es.array.splice\"), t(\"core-js/modules/es.function.name\"), t(\"core-js/modules/es.object.from-entries\"), t(\"core-js/modules/es.object.to-string\"), t(\"core-js/modules/es.promise\"), t(\"core-js/modules/es.regexp.exec\"), t(\"core-js/modules/es.regexp.to-string\"), t(\"core-js/modules/es.string.includes\"), t(\"core-js/modules/es.string.iterator\"), t(\"core-js/modules/es.string.replace\"), t(\"core-js/modules/es.string.split\"), t(\"core-js/modules/es.typed-array.uint8-array\"), t(\"core-js/modules/es.typed-array.copy-within\"), t(\"core-js/modules/es.typed-array.every\"), t(\"core-js/modules/es.typed-array.fill\"), t(\"core-js/modules/es.typed-array.filter\"), t(\"core-js/modules/es.typed-array.find\"), t(\"core-js/modules/es.typed-array.find-index\"), t(\"core-js/modules/es.typed-array.for-each\"), t(\"core-js/modules/es.typed-array.includes\"), t(\"core-js/modules/es.typed-array.index-of\"), t(\"core-js/modules/es.typed-array.iterator\"), t(\"core-js/modules/es.typed-array.join\"), t(\"core-js/modules/es.typed-array.last-index-of\"), t(\"core-js/modules/es.typed-array.map\"), t(\"core-js/modules/es.typed-array.reduce\"), t(\"core-js/modules/es.typed-array.reduce-right\"), t(\"core-js/modules/es.typed-array.reverse\"), t(\"core-js/modules/es.typed-array.set\"), t(\"core-js/modules/es.typed-array.slice\"), t(\"core-js/modules/es.typed-array.some\"), t(\"core-js/modules/es.typed-array.sort\"), t(\"core-js/modules/es.typed-array.subarray\"), t(\"core-js/modules/es.typed-array.to-locale-string\"), t(\"core-js/modules/es.typed-array.to-string\"), t(\"core-js/modules/web.dom-collections.iterator\"), t(\"core-js/modules/web.url\"), Object.defineProperty(C, \"__esModule\", { value: !0 }), C.default = void 0;\n var y = g(t(\"../core/main\")), u = (t(\"whatwg-fetch\"), t(\"es6-promise/auto\"), g(t(\"fetch-jsonp\"))), h = g(t(\"file-saver\"));\n function g(o) {\n return o && o.__esModule ? o : { default: o };\n }\n function f(o) {\n return (f = typeof Symbol == \"function\" && m(Symbol.iterator) === \"symbol\" ? function(a) {\n return m(a);\n } : function(a) {\n return a && typeof Symbol == \"function\" && a.constructor === Symbol && a !== Symbol.prototype ? \"symbol\" : m(a);\n })(o);\n }\n function n(o) {\n return o.replace(/&/g, \"&\").replace(//g, \">\").replace(/\"/g, \""\").replace(/'/g, \"'\");\n }\n function s(o, a) {\n a && a !== !0 && a !== \"true\" || (a = \"\");\n var l = \"\";\n return (o = o || \"untitled\") && o.includes(\".\") && (l = o.split(\".\").pop()), a && l !== a && (l = a, o = \"\".concat(o, \".\").concat(l)), [o, l];\n }\n t(\"../core/friendly_errors/validate_params\"), t(\"../core/friendly_errors/file_errors\"), t(\"../core/friendly_errors/fes_core\"), y.default.prototype.loadJSON = function() {\n for (var o = arguments.length, a = new Array(o), l = 0; l < o; l++)\n a[l] = arguments[l];\n y.default._validateParameters(\"loadJSON\", a);\n for (var r, i, c, p = a[0], j = {}, T = \"json\", _ = 1; _ < a.length; _++) {\n var S = a[_];\n typeof S == \"string\" ? S !== \"jsonp\" && S !== \"json\" || (T = S) : typeof S == \"function\" ? r ? i = S : r = S : f(S) === \"object\" && (S.hasOwnProperty(\"jsonpCallback\") || S.hasOwnProperty(\"jsonpCallbackFunction\")) && (T = \"jsonp\", c = S);\n }\n var E = this;\n return this.httpDo(p, \"GET\", c, T, function(P) {\n for (var x in P)\n j[x] = P[x];\n r !== void 0 && r(P), E._decrementPreload();\n }, function(P) {\n if (y.default._friendlyFileLoadError(5, p), !i)\n throw P;\n i(P);\n }), j;\n }, y.default.prototype.loadStrings = function() {\n for (var o = arguments.length, a = new Array(o), l = 0; l < o; l++)\n a[l] = arguments[l];\n y.default._validateParameters(\"loadStrings\", a);\n for (var r, i, c = [], p = 1; p < a.length; p++) {\n var j = a[p];\n typeof j == \"function\" && (r === void 0 ? r = j : i === void 0 && (i = j));\n }\n var T = this;\n return y.default.prototype.httpDo.call(this, a[0], \"GET\", \"text\", function(_) {\n for (var S = _.replace(/\\r\\n/g, \"\\r\").replace(/\\n/g, \"\\r\").split(/\\r/), E = 0, P = S.length; E < P; E += 32768)\n Array.prototype.push.apply(c, S.slice(E, Math.min(E + 32768, P)));\n r !== void 0 && r(c), T._decrementPreload();\n }, function(_) {\n if (y.default._friendlyFileLoadError(3, _), !i)\n throw _;\n i(_);\n }), c;\n }, y.default.prototype.loadTable = function(o) {\n var a, l, r, i = !1, c = o.substring(o.lastIndexOf(\".\") + 1, o.length);\n c === \"csv\" ? r = \",\" : c === \"ssv\" ? r = \";\" : c === \"tsv\" && (r = \"\t\");\n for (var p = 1; p < arguments.length; p++)\n typeof arguments[p] == \"function\" ? a === void 0 ? a = arguments[p] : l === void 0 && (l = arguments[p]) : typeof arguments[p] == \"string\" && (arguments[p] === \"header\" && (i = !0), arguments[p] === \"csv\" ? r = \",\" : arguments[p] === \"ssv\" ? r = \";\" : arguments[p] === \"tsv\" && (r = \"\t\"));\n var j = new y.default.Table(), T = this;\n return this.httpDo(o, \"GET\", \"table\", function(_) {\n for (var S, E, P = {}, x = 0, A = [], M = 0, R = null, L = function() {\n P.currentState = x, P.token = \"\";\n }, F = function() {\n R.push(P.token), L();\n }, V = function() {\n P.currentState = 4, A.push(R), R = null;\n }; ; ) {\n if ((S = _[M++]) == null) {\n if (P.escaped)\n throw new Error(\"Unclosed quote in file.\");\n if (R) {\n F(), V();\n break;\n }\n }\n if (R === null && (P.escaped = !1, R = [], L()), P.currentState === x) {\n if (S === '\"') {\n P.escaped = !0, P.currentState = 1;\n continue;\n }\n P.currentState = 1;\n }\n if (P.currentState === 1 && P.escaped)\n if (S === '\"')\n _[M] === '\"' ? (P.token += '\"', M++) : (P.escaped = !1, P.currentState = 2);\n else {\n if (S === \"\\r\")\n continue;\n P.token += S;\n }\n else\n S === \"\\r\" ? (_[M] === `\n` && M++, F(), V()) : S === `\n` ? (F(), V()) : S === r ? F() : P.currentState === 1 && (P.token += S);\n }\n if (i)\n j.columns = A.shift();\n else\n for (var G = 0; G < A[0].length; G++)\n j.columns[G] = \"null\";\n for (var U = 0; U < A.length; U++)\n (A[U].length !== 1 || A[U][0] !== \"undefined\" && A[U][0] !== \"\") && ((E = new y.default.TableRow()).arr = A[U], E.obj = function(W, X) {\n if ((X = X || []) === void 0)\n for (var ne = 0; ne < W.length; ne++)\n X[ne.toString()] = ne;\n return Object.fromEntries(X.map(function(b, O) {\n return [b, W[O]];\n }));\n }(A[U], j.columns), j.addRow(E));\n typeof a == \"function\" && a(j), T._decrementPreload();\n }, function(_) {\n y.default._friendlyFileLoadError(2, o), l ? l(_) : console.error(_);\n }), j;\n }, y.default.prototype.loadXML = function() {\n for (var o = arguments.length, a = new Array(o), l = 0; l < o; l++)\n a[l] = arguments[l];\n for (var r, i, c = new y.default.XML(), p = 1; p < a.length; p++) {\n var j = a[p];\n typeof j == \"function\" && (r === void 0 ? r = j : i === void 0 && (i = j));\n }\n var T = this;\n return this.httpDo(a[0], \"GET\", \"xml\", function(_) {\n for (var S in _)\n c[S] = _[S];\n r !== void 0 && r(c), T._decrementPreload();\n }, function(_) {\n if (y.default._friendlyFileLoadError(1, _), !i)\n throw _;\n i(_);\n }), c;\n }, y.default.prototype.loadBytes = function(o, a, l) {\n var r = {}, i = this;\n return this.httpDo(o, \"GET\", \"arrayBuffer\", function(c) {\n r.bytes = new Uint8Array(c), typeof a == \"function\" && a(r), i._decrementPreload();\n }, function(c) {\n if (y.default._friendlyFileLoadError(6, o), !l)\n throw c;\n l(c);\n }), r;\n }, y.default.prototype.httpGet = function() {\n for (var o = arguments.length, a = new Array(o), l = 0; l < o; l++)\n a[l] = arguments[l];\n return y.default._validateParameters(\"httpGet\", a), a.splice(1, 0, \"GET\"), y.default.prototype.httpDo.apply(this, a);\n }, y.default.prototype.httpPost = function() {\n for (var o = arguments.length, a = new Array(o), l = 0; l < o; l++)\n a[l] = arguments[l];\n return y.default._validateParameters(\"httpPost\", a), a.splice(1, 0, \"POST\"), y.default.prototype.httpDo.apply(this, a);\n }, y.default.prototype.httpDo = function() {\n for (var o, a, l, r = {}, i = 0, c = \"text/plain\", p = arguments.length - 1; 0 < p && typeof (p < 0 || arguments.length <= p ? void 0 : arguments[p]) == \"function\"; p--)\n i++;\n var j = arguments.length - i, T = arguments.length <= 0 ? void 0 : arguments[0];\n if (j == 2 && typeof T == \"string\" && f(arguments.length <= 1 ? void 0 : arguments[1]) === \"object\")\n A = new Request(T, arguments.length <= 1 ? void 0 : arguments[1]), a = arguments.length <= 2 ? void 0 : arguments[2], l = arguments.length <= 3 ? void 0 : arguments[3];\n else {\n for (var _, S = \"GET\", E = 1; E < arguments.length; E++) {\n var P = E < 0 || arguments.length <= E ? void 0 : arguments[E];\n if (typeof P == \"string\")\n P === \"GET\" || P === \"POST\" || P === \"PUT\" || P === \"DELETE\" ? S = P : P === \"json\" || P === \"jsonp\" || P === \"binary\" || P === \"arrayBuffer\" || P === \"xml\" || P === \"text\" || P === \"table\" ? o = P : _ = P;\n else if (typeof P == \"number\")\n _ = P.toString();\n else if (f(P) === \"object\")\n if (P.hasOwnProperty(\"jsonpCallback\") || P.hasOwnProperty(\"jsonpCallbackFunction\"))\n for (var x in P)\n r[x] = P[x];\n else\n c = P instanceof y.default.XML ? (_ = P.serialize(), \"application/xml\") : (_ = JSON.stringify(P), \"application/json\");\n else\n typeof P == \"function\" && (a ? l = P : a = P);\n }\n var j = S === \"GET\" ? new Headers() : new Headers({ \"Content-Type\": c }), A = new Request(T, { method: S, mode: \"cors\", body: _, headers: j });\n }\n return (j = (j = (o = o || (T.includes(\"json\") ? \"json\" : T.includes(\"xml\") ? \"xml\" : \"text\")) === \"jsonp\" ? (0, u.default)(T, r) : fetch(A)).then(function(M) {\n if (!M.ok)\n throw (R = new Error(M.body)).status = M.status, R.ok = !1, R;\n var R = 0;\n switch ((R = o !== \"jsonp\" ? M.headers.get(\"content-length\") : R) && 64e6 < R && y.default._friendlyFileLoadError(7, T), o) {\n case \"json\":\n case \"jsonp\":\n return M.json();\n case \"binary\":\n return M.blob();\n case \"arrayBuffer\":\n return M.arrayBuffer();\n case \"xml\":\n return M.text().then(function(L) {\n return L = new DOMParser().parseFromString(L, \"text/xml\"), new y.default.XML(L.documentElement);\n });\n default:\n return M.text();\n }\n })).then(a || function() {\n }), j.catch(l || console.error), j;\n }, window.URL = window.URL || window.webkitURL, y.default.prototype._pWriters = [], y.default.prototype.createWriter = function(o, a) {\n var l, r;\n for (r in y.default.prototype._pWriters)\n if (y.default.prototype._pWriters[r].name === o)\n return l = new y.default.PrintWriter(o + this.millis(), a), y.default.prototype._pWriters.push(l), l;\n return l = new y.default.PrintWriter(o, a), y.default.prototype._pWriters.push(l), l;\n }, y.default.PrintWriter = function(o, a) {\n var l = this;\n this.name = o, this.content = \"\", this.write = function(r) {\n this.content += r;\n }, this.print = function(r) {\n this.content += \"\".concat(r, `\n`);\n }, this.clear = function() {\n this.content = \"\";\n }, this.close = function() {\n var r, i = [];\n for (r in i.push(this.content), y.default.prototype.writeFile(i, o, a), y.default.prototype._pWriters)\n y.default.prototype._pWriters[r].name === this.name && y.default.prototype._pWriters.splice(r, 1);\n l.clear(), l = {};\n };\n }, y.default.prototype.save = function(o, a, l) {\n var r = arguments, i = (this._curElement || this).elt;\n if (r.length === 0)\n y.default.prototype.saveCanvas(i);\n else if (r[0] instanceof y.default.Renderer || r[0] instanceof y.default.Graphics)\n y.default.prototype.saveCanvas(r[0].elt, r[1], r[2]);\n else if (r.length === 1 && typeof r[0] == \"string\")\n y.default.prototype.saveCanvas(i, r[0]);\n else\n switch (s(r[1], r[2])[1]) {\n case \"json\":\n return void y.default.prototype.saveJSON(r[0], r[1], r[2]);\n case \"txt\":\n return void y.default.prototype.saveStrings(r[0], r[1], r[2]);\n default:\n r[0] instanceof Array ? y.default.prototype.saveStrings(r[0], r[1], r[2]) : r[0] instanceof y.default.Table ? y.default.prototype.saveTable(r[0], r[1], r[2]) : r[0] instanceof y.default.Image ? y.default.prototype.saveCanvas(r[0].canvas, r[1]) : r[0] instanceof y.default.SoundFile && y.default.prototype.saveSound(r[0], r[1], r[2], r[3]);\n }\n }, y.default.prototype.saveJSON = function(o, a, l) {\n y.default._validateParameters(\"saveJSON\", arguments), l = l ? JSON.stringify(o) : JSON.stringify(o, void 0, 2), this.saveStrings(l.split(`\n`), a, \"json\");\n }, y.default.prototype.saveJSONObject = y.default.prototype.saveJSON, y.default.prototype.saveJSONArray = y.default.prototype.saveJSON, y.default.prototype.saveStrings = function(o, a, l, r) {\n y.default._validateParameters(\"saveStrings\", arguments);\n for (var i = this.createWriter(a, l || \"txt\"), c = 0; c < o.length; c++)\n r ? i.write(o[c] + `\\r\n`) : i.write(o[c] + `\n`);\n i.close(), i.clear();\n }, y.default.prototype.saveTable = function(o, a, l) {\n y.default._validateParameters(\"saveTable\", arguments), r = l === void 0 ? a.substring(a.lastIndexOf(\".\") + 1, a.length) : l;\n var r, i = this.createWriter(a, r), c = o.columns, p = r === \"tsv\" ? \"\t\" : \",\";\n if (r !== \"html\") {\n if (c[0] !== \"0\") {\n for (var j = 0; j < c.length; j++)\n j < c.length - 1 ? i.write(c[j] + p) : i.write(c[j]);\n i.write(`\n`);\n }\n for (var T = 0; T < o.rows.length; T++) {\n for (var _ = void 0, _ = 0; _ < o.rows[T].arr.length; _++)\n _ < o.rows[T].arr.length - 1 ? r === \"csv\" && String(o.rows[T].arr[_]).includes(\",\") ? i.write('\"' + o.rows[T].arr[_] + '\"' + p) : i.write(o.rows[T].arr[_] + p) : r === \"csv\" && String(o.rows[T].arr[_]).includes(\",\") ? i.write('\"' + o.rows[T].arr[_] + '\"') : i.write(o.rows[T].arr[_]);\n i.write(`\n`);\n }\n } else {\n if (i.print(\"\"), i.print(\"\"), i.print(' '), i.print(\"\"), i.print(\"\"), i.print(\" \"), c[0] !== \"0\") {\n i.print(\" \");\n for (var S = 0; S < c.length; S++) {\n var E = n(c[S]);\n i.print(\" \");\n }\n i.print(\" \");\n }\n for (var P = 0; P < o.rows.length; P++) {\n i.print(\" \");\n for (var x = 0; x < o.columns.length; x++) {\n var A = n(o.rows[P].getString(x));\n i.print(\" \");\n }\n i.print(\" \");\n }\n i.print(\"
        \".concat(E)), i.print(\"
        \".concat(A)), i.print(\"
        \"), i.print(\"\"), i.print(\"\");\n }\n i.close(), i.clear();\n }, y.default.prototype.writeFile = function(i, a, l) {\n var r = \"application/octet-stream\", i = (y.default.prototype._isSafari() && (r = \"text/plain\"), new Blob(i, { type: r }));\n y.default.prototype.downloadFile(i, a, l);\n }, y.default.prototype.downloadFile = function(o, i, c) {\n var r, i = s(i, c), c = i[0];\n o instanceof Blob ? h.default.saveAs(o, c) : ((r = document.createElement(\"a\")).href = o, r.download = c, r.onclick = function(p) {\n document.body.removeChild(p.target), p.stopPropagation();\n }, r.style.display = \"none\", document.body.appendChild(r), y.default.prototype._isSafari() && (o = (o = `Hello, Safari user! To download this file...\n1. Go to File --> Save As.\n2. Choose \"Page Source\" as the Format.\n`) + '3. Name it with this extension: .\"'.concat(i[1], '\"'), alert(o)), r.click());\n }, y.default.prototype._checkFileExtension = s, y.default.prototype._isSafari = function() {\n return window.HTMLElement.toString().includes(\"Constructor\");\n }, t = y.default, C.default = t;\n }, { \"../core/friendly_errors/fes_core\": 271, \"../core/friendly_errors/file_errors\": 272, \"../core/friendly_errors/validate_params\": 275, \"../core/main\": 280, \"core-js/modules/es.array.concat\": 152, \"core-js/modules/es.array.includes\": 162, \"core-js/modules/es.array.iterator\": 164, \"core-js/modules/es.array.last-index-of\": 166, \"core-js/modules/es.array.map\": 167, \"core-js/modules/es.array.slice\": 168, \"core-js/modules/es.array.splice\": 170, \"core-js/modules/es.function.name\": 173, \"core-js/modules/es.object.from-entries\": 182, \"core-js/modules/es.object.to-string\": 187, \"core-js/modules/es.promise\": 188, \"core-js/modules/es.regexp.exec\": 192, \"core-js/modules/es.regexp.to-string\": 193, \"core-js/modules/es.string.includes\": 196, \"core-js/modules/es.string.iterator\": 197, \"core-js/modules/es.string.replace\": 201, \"core-js/modules/es.string.split\": 203, \"core-js/modules/es.symbol\": 209, \"core-js/modules/es.symbol.description\": 207, \"core-js/modules/es.symbol.iterator\": 208, \"core-js/modules/es.typed-array.copy-within\": 210, \"core-js/modules/es.typed-array.every\": 211, \"core-js/modules/es.typed-array.fill\": 212, \"core-js/modules/es.typed-array.filter\": 213, \"core-js/modules/es.typed-array.find\": 215, \"core-js/modules/es.typed-array.find-index\": 214, \"core-js/modules/es.typed-array.for-each\": 218, \"core-js/modules/es.typed-array.includes\": 219, \"core-js/modules/es.typed-array.index-of\": 220, \"core-js/modules/es.typed-array.iterator\": 223, \"core-js/modules/es.typed-array.join\": 224, \"core-js/modules/es.typed-array.last-index-of\": 225, \"core-js/modules/es.typed-array.map\": 226, \"core-js/modules/es.typed-array.reduce\": 228, \"core-js/modules/es.typed-array.reduce-right\": 227, \"core-js/modules/es.typed-array.reverse\": 229, \"core-js/modules/es.typed-array.set\": 230, \"core-js/modules/es.typed-array.slice\": 231, \"core-js/modules/es.typed-array.some\": 232, \"core-js/modules/es.typed-array.sort\": 233, \"core-js/modules/es.typed-array.subarray\": 234, \"core-js/modules/es.typed-array.to-locale-string\": 235, \"core-js/modules/es.typed-array.to-string\": 236, \"core-js/modules/es.typed-array.uint8-array\": 239, \"core-js/modules/web.dom-collections.iterator\": 243, \"core-js/modules/web.url\": 245, \"es6-promise/auto\": 246, \"fetch-jsonp\": 248, \"file-saver\": 249, \"whatwg-fetch\": 258 }], 307: [function(t, H, C) {\n t(\"core-js/modules/es.array.concat\"), t(\"core-js/modules/es.array.index-of\"), t(\"core-js/modules/es.array.join\"), t(\"core-js/modules/es.array.splice\"), t(\"core-js/modules/es.regexp.constructor\"), t(\"core-js/modules/es.regexp.exec\"), t(\"core-js/modules/es.regexp.to-string\"), t(\"core-js/modules/es.string.match\"), t(\"core-js/modules/es.string.replace\"), t(\"core-js/modules/es.array.concat\"), t(\"core-js/modules/es.array.index-of\"), t(\"core-js/modules/es.array.join\"), t(\"core-js/modules/es.array.splice\"), t(\"core-js/modules/es.regexp.constructor\"), t(\"core-js/modules/es.regexp.exec\"), t(\"core-js/modules/es.regexp.to-string\"), t(\"core-js/modules/es.string.match\"), t(\"core-js/modules/es.string.replace\"), Object.defineProperty(C, \"__esModule\", { value: !0 }), C.default = void 0;\n var m = (t = t(\"../core/main\")) && t.__esModule ? t : { default: t };\n function y(u, h) {\n for (var g = 0; g < h.length; g++) {\n var f = h[g];\n f.enumerable = f.enumerable || !1, f.configurable = !0, \"value\" in f && (f.writable = !0), Object.defineProperty(u, f.key, f);\n }\n }\n m.default.Table = function() {\n function u(f) {\n if (!(this instanceof u))\n throw new TypeError(\"Cannot call a class as a function\");\n this.columns = [], this.rows = [];\n }\n var h, g;\n return h = u, (g = [{ key: \"addRow\", value: function(f) {\n if (f = f || new m.default.TableRow(), f.arr === void 0 || f.obj === void 0)\n throw new Error(\"invalid TableRow: \".concat(f));\n return (f.table = this).rows.push(f), f;\n } }, { key: \"removeRow\", value: function(f) {\n this.rows[f].table = null, f = this.rows.splice(f + 1, this.rows.length), this.rows.pop(), this.rows = this.rows.concat(f);\n } }, { key: \"getRow\", value: function(f) {\n return this.rows[f];\n } }, { key: \"getRows\", value: function() {\n return this.rows;\n } }, { key: \"findRow\", value: function(f, n) {\n if (typeof n == \"string\") {\n for (var s = 0; s < this.rows.length; s++)\n if (this.rows[s].obj[n] === f)\n return this.rows[s];\n } else\n for (var o = 0; o < this.rows.length; o++)\n if (this.rows[o].arr[n] === f)\n return this.rows[o];\n return null;\n } }, { key: \"findRows\", value: function(f, n) {\n var s = [];\n if (typeof n == \"string\")\n for (var o = 0; o < this.rows.length; o++)\n this.rows[o].obj[n] === f && s.push(this.rows[o]);\n else\n for (var a = 0; a < this.rows.length; a++)\n this.rows[a].arr[n] === f && s.push(this.rows[a]);\n return s;\n } }, { key: \"matchRow\", value: function(f, n) {\n if (typeof n == \"number\") {\n for (var s = 0; s < this.rows.length; s++)\n if (this.rows[s].arr[n].match(f))\n return this.rows[s];\n } else\n for (var o = 0; o < this.rows.length; o++)\n if (this.rows[o].obj[n].match(f))\n return this.rows[o];\n return null;\n } }, { key: \"matchRows\", value: function(f, n) {\n var s = [];\n if (typeof n == \"number\")\n for (var o = 0; o < this.rows.length; o++)\n this.rows[o].arr[n].match(f) && s.push(this.rows[o]);\n else\n for (var a = 0; a < this.rows.length; a++)\n this.rows[a].obj[n].match(f) && s.push(this.rows[a]);\n return s;\n } }, { key: \"getColumn\", value: function(f) {\n var n = [];\n if (typeof f == \"string\")\n for (var s = 0; s < this.rows.length; s++)\n n.push(this.rows[s].obj[f]);\n else\n for (var o = 0; o < this.rows.length; o++)\n n.push(this.rows[o].arr[f]);\n return n;\n } }, { key: \"clearRows\", value: function() {\n delete this.rows, this.rows = [];\n } }, { key: \"addColumn\", value: function(f) {\n this.columns.push(f || null);\n } }, { key: \"getColumnCount\", value: function() {\n return this.columns.length;\n } }, { key: \"getRowCount\", value: function() {\n return this.rows.length;\n } }, { key: \"removeTokens\", value: function(f, n) {\n for (var s = [], o = 0; o < f.length; o++)\n s.push(f.charAt(o).replace(/[-/\\\\^$*+?.()|[\\]{}]/g, \"\\\\$&\"));\n var a = new RegExp(s.join(\"|\"), \"g\");\n if (n === void 0)\n for (var l = 0; l < this.columns.length; l++)\n for (var r = 0; r < this.rows.length; r++) {\n var i = (i = this.rows[r].arr[l]).replace(a, \"\");\n this.rows[r].arr[l] = i, this.rows[r].obj[this.columns[l]] = i;\n }\n else if (typeof n == \"string\")\n for (var c = 0; c < this.rows.length; c++) {\n var p = (p = this.rows[c].obj[n]).replace(a, \"\"), j = (this.rows[c].obj[n] = p, this.columns.indexOf(n));\n this.rows[c].arr[j] = p;\n }\n else\n for (var T = 0; T < this.rows.length; T++) {\n var _ = (_ = this.rows[T].arr[n]).replace(a, \"\");\n this.rows[T].arr[n] = _, this.rows[T].obj[this.columns[n]] = _;\n }\n } }, { key: \"trim\", value: function(f) {\n var n = new RegExp(\" \", \"g\");\n if (f === void 0)\n for (var s = 0; s < this.columns.length; s++)\n for (var o = 0; o < this.rows.length; o++) {\n var a = (a = this.rows[o].arr[s]).replace(n, \"\");\n this.rows[o].arr[s] = a, this.rows[o].obj[this.columns[s]] = a;\n }\n else if (typeof f == \"string\")\n for (var l = 0; l < this.rows.length; l++) {\n var r = (r = this.rows[l].obj[f]).replace(n, \"\"), i = (this.rows[l].obj[f] = r, this.columns.indexOf(f));\n this.rows[l].arr[i] = r;\n }\n else\n for (var c = 0; c < this.rows.length; c++) {\n var p = (p = this.rows[c].arr[f]).replace(n, \"\");\n this.rows[c].arr[f] = p, this.rows[c].obj[this.columns[f]] = p;\n }\n } }, { key: \"removeColumn\", value: function(o) {\n typeof o == \"string\" ? s = this.columns.indexOf(n = o) : n = this.columns[s = o];\n var n, s, o = this.columns.splice(s + 1, this.columns.length);\n this.columns.pop(), this.columns = this.columns.concat(o);\n for (var a = 0; a < this.rows.length; a++) {\n var l = this.rows[a].arr, r = l.splice(s + 1, l.length);\n l.pop(), this.rows[a].arr = l.concat(r), delete this.rows[a].obj[n];\n }\n } }, { key: \"set\", value: function(f, n, s) {\n this.rows[f].set(n, s);\n } }, { key: \"setNum\", value: function(f, n, s) {\n this.rows[f].setNum(n, s);\n } }, { key: \"setString\", value: function(f, n, s) {\n this.rows[f].setString(n, s);\n } }, { key: \"get\", value: function(f, n) {\n return this.rows[f].get(n);\n } }, { key: \"getNum\", value: function(f, n) {\n return this.rows[f].getNum(n);\n } }, { key: \"getString\", value: function(f, n) {\n return this.rows[f].getString(n);\n } }, { key: \"getObject\", value: function(f) {\n for (var n, s = {}, o = 0; o < this.rows.length; o++)\n if (n = this.rows[o].obj, typeof f == \"string\") {\n if (!(0 <= this.columns.indexOf(f)))\n throw new Error('This table has no column named \"'.concat(f, '\"'));\n s[n[f]] = n;\n } else\n s[o] = this.rows[o].obj;\n return s;\n } }, { key: \"getArray\", value: function() {\n for (var f = [], n = 0; n < this.rows.length; n++)\n f.push(this.rows[n].arr);\n return f;\n } }]) && y(h.prototype, g), u;\n }(), t = m.default, C.default = t;\n }, { \"../core/main\": 280, \"core-js/modules/es.array.concat\": 152, \"core-js/modules/es.array.index-of\": 163, \"core-js/modules/es.array.join\": 165, \"core-js/modules/es.array.splice\": 170, \"core-js/modules/es.regexp.constructor\": 191, \"core-js/modules/es.regexp.exec\": 192, \"core-js/modules/es.regexp.to-string\": 193, \"core-js/modules/es.string.match\": 198, \"core-js/modules/es.string.replace\": 201 }], 308: [function(t, H, C) {\n t(\"core-js/modules/es.array.index-of\"), t(\"core-js/modules/es.array.iterator\"), t(\"core-js/modules/es.object.from-entries\"), t(\"core-js/modules/es.object.to-string\"), t(\"core-js/modules/es.regexp.exec\"), t(\"core-js/modules/es.regexp.to-string\"), t(\"core-js/modules/es.string.split\"), t(\"core-js/modules/web.dom-collections.iterator\"), t(\"core-js/modules/es.array.index-of\"), t(\"core-js/modules/es.array.iterator\"), t(\"core-js/modules/es.object.from-entries\"), t(\"core-js/modules/es.object.to-string\"), t(\"core-js/modules/es.regexp.exec\"), t(\"core-js/modules/es.regexp.to-string\"), t(\"core-js/modules/es.string.split\"), t(\"core-js/modules/web.dom-collections.iterator\"), Object.defineProperty(C, \"__esModule\", { value: !0 }), C.default = void 0, t = (t = t(\"../core/main\")) && t.__esModule ? t : { default: t };\n function m(y, u) {\n for (var h = 0; h < u.length; h++) {\n var g = u[h];\n g.enumerable = g.enumerable || !1, g.configurable = !0, \"value\" in g && (g.writable = !0), Object.defineProperty(y, g.key, g);\n }\n }\n t.default.TableRow = function() {\n function y(g, f) {\n if (!(this instanceof y))\n throw new TypeError(\"Cannot call a class as a function\");\n var n = [];\n g && (n = g.split(f = f || \",\")), this.arr = n, this.obj = Object.fromEntries(n.entries()), this.table = null;\n }\n var u, h;\n return u = y, (h = [{ key: \"set\", value: function(g, f) {\n if (typeof g == \"string\") {\n var n = this.table.columns.indexOf(g);\n if (!(0 <= n))\n throw new Error('This table has no column named \"'.concat(g, '\"'));\n this.obj[g] = f, this.arr[n] = f;\n } else {\n if (!(g < this.table.columns.length))\n throw new Error(\"Column #\".concat(g, \" is out of the range of this table\"));\n this.arr[g] = f, n = this.table.columns[g], this.obj[n] = f;\n }\n } }, { key: \"setNum\", value: function(g, f) {\n f = parseFloat(f), this.set(g, f);\n } }, { key: \"setString\", value: function(g, f) {\n f = f.toString(), this.set(g, f);\n } }, { key: \"get\", value: function(g) {\n return (typeof g == \"string\" ? this.obj : this.arr)[g];\n } }, { key: \"getNum\", value: function(g) {\n var f = parseFloat(typeof g == \"string\" ? this.obj[g] : this.arr[g]);\n if (f.toString() === \"NaN\")\n throw \"Error: \".concat(this.obj[g], \" is NaN (Not a Number)\");\n return f;\n } }, { key: \"getString\", value: function(g) {\n return (typeof g == \"string\" ? this.obj : this.arr)[g].toString();\n } }]) && m(u.prototype, h), y;\n }(), t = t.default, C.default = t;\n }, { \"../core/main\": 280, \"core-js/modules/es.array.index-of\": 163, \"core-js/modules/es.array.iterator\": 164, \"core-js/modules/es.object.from-entries\": 182, \"core-js/modules/es.object.to-string\": 187, \"core-js/modules/es.regexp.exec\": 192, \"core-js/modules/es.regexp.to-string\": 193, \"core-js/modules/es.string.split\": 203, \"core-js/modules/web.dom-collections.iterator\": 243 }], 309: [function(t, H, C) {\n t(\"core-js/modules/es.symbol\"), t(\"core-js/modules/es.symbol.description\"), t(\"core-js/modules/es.symbol.iterator\"), t(\"core-js/modules/es.array.iterator\"), t(\"core-js/modules/es.number.constructor\"), t(\"core-js/modules/es.object.to-string\"), t(\"core-js/modules/es.regexp.exec\"), t(\"core-js/modules/es.string.iterator\"), t(\"core-js/modules/es.string.replace\"), t(\"core-js/modules/web.dom-collections.iterator\"), t(\"core-js/modules/es.symbol\"), t(\"core-js/modules/es.symbol.description\"), t(\"core-js/modules/es.symbol.iterator\"), t(\"core-js/modules/es.array.iterator\"), t(\"core-js/modules/es.number.constructor\"), t(\"core-js/modules/es.object.to-string\"), t(\"core-js/modules/es.regexp.exec\"), t(\"core-js/modules/es.string.iterator\"), t(\"core-js/modules/es.string.replace\"), t(\"core-js/modules/web.dom-collections.iterator\"), Object.defineProperty(C, \"__esModule\", { value: !0 }), C.default = void 0;\n var m = (t = t(\"../core/main\")) && t.__esModule ? t : { default: t };\n function y(h, g) {\n for (var f = 0; f < g.length; f++) {\n var n = g[f];\n n.enumerable = n.enumerable || !1, n.configurable = !0, \"value\" in n && (n.writable = !0), Object.defineProperty(h, n.key, n);\n }\n }\n function u(h) {\n for (var g = [], f = 0; f < h.length; f++)\n g.push(new m.default.XML(h[f]));\n return g;\n }\n m.default.XML = function() {\n function h(n) {\n if (!(this instanceof h))\n throw new TypeError(\"Cannot call a class as a function\");\n n ? this.DOM = n : (n = document.implementation.createDocument(null, \"doc\"), this.DOM = n.createElement(\"root\"));\n }\n var g, f;\n return g = h, (f = [{ key: \"getParent\", value: function() {\n return new m.default.XML(this.DOM.parentElement);\n } }, { key: \"getName\", value: function() {\n return this.DOM.tagName;\n } }, { key: \"setName\", value: function(n) {\n var s = this.DOM.innerHTML, o = this.DOM.attributes, a = document.implementation.createDocument(null, \"default\").createElement(n);\n a.innerHTML = s;\n for (var l = 0; l < o.length; l++)\n a.setAttribute(o[l].nodeName, o.nodeValue);\n this.DOM = a;\n } }, { key: \"hasChildren\", value: function() {\n return 0 < this.DOM.children.length;\n } }, { key: \"listChildren\", value: function() {\n for (var n = [], s = 0; s < this.DOM.childNodes.length; s++)\n n.push(this.DOM.childNodes[s].nodeName);\n return n;\n } }, { key: \"getChildren\", value: function(n) {\n return u(n ? this.DOM.getElementsByTagName(n) : this.DOM.children);\n } }, { key: \"getChild\", value: function(n) {\n if (typeof n != \"string\")\n return new m.default.XML(this.DOM.children[n]);\n var s = !0, o = !1, a = void 0;\n try {\n for (var l, r = this.DOM.children[Symbol.iterator](); !(s = (l = r.next()).done); s = !0) {\n var i = l.value;\n if (i.tagName === n)\n return new m.default.XML(i);\n }\n } catch (c) {\n o = !0, a = c;\n } finally {\n try {\n s || r.return == null || r.return();\n } finally {\n if (o)\n throw a;\n }\n }\n } }, { key: \"addChild\", value: function(n) {\n n instanceof m.default.XML && this.DOM.appendChild(n.DOM);\n } }, { key: \"removeChild\", value: function(n) {\n var s = -1;\n if (typeof n == \"string\") {\n for (var o = 0; o < this.DOM.children.length; o++)\n if (this.DOM.children[o].tagName === n) {\n s = o;\n break;\n }\n } else\n s = n;\n s !== -1 && this.DOM.removeChild(this.DOM.children[s]);\n } }, { key: \"getAttributeCount\", value: function() {\n return this.DOM.attributes.length;\n } }, { key: \"listAttributes\", value: function() {\n var n = [], s = !0, o = !1, a = void 0;\n try {\n for (var l, r = this.DOM.attributes[Symbol.iterator](); !(s = (l = r.next()).done); s = !0) {\n var i = l.value;\n n.push(i.nodeName);\n }\n } catch (c) {\n o = !0, a = c;\n } finally {\n try {\n s || r.return == null || r.return();\n } finally {\n if (o)\n throw a;\n }\n }\n return n;\n } }, { key: \"hasAttribute\", value: function(n) {\n var s = {}, o = !0, a = !1, l = void 0;\n try {\n for (var r, i = this.DOM.attributes[Symbol.iterator](); !(o = (r = i.next()).done); o = !0) {\n var c = r.value;\n s[c.nodeName] = c.nodeValue;\n }\n } catch (p) {\n a = !0, l = p;\n } finally {\n try {\n o || i.return == null || i.return();\n } finally {\n if (a)\n throw l;\n }\n }\n return !!s[n];\n } }, { key: \"getNum\", value: function(n, s) {\n var o = {}, a = !0, l = !1, r = void 0;\n try {\n for (var i, c = this.DOM.attributes[Symbol.iterator](); !(a = (i = c.next()).done); a = !0) {\n var p = i.value;\n o[p.nodeName] = p.nodeValue;\n }\n } catch (j) {\n l = !0, r = j;\n } finally {\n try {\n a || c.return == null || c.return();\n } finally {\n if (l)\n throw r;\n }\n }\n return Number(o[n]) || s || 0;\n } }, { key: \"getString\", value: function(n, s) {\n var o = {}, a = !0, l = !1, r = void 0;\n try {\n for (var i, c = this.DOM.attributes[Symbol.iterator](); !(a = (i = c.next()).done); a = !0) {\n var p = i.value;\n o[p.nodeName] = p.nodeValue;\n }\n } catch (j) {\n l = !0, r = j;\n } finally {\n try {\n a || c.return == null || c.return();\n } finally {\n if (l)\n throw r;\n }\n }\n return o[n] ? String(o[n]) : s || null;\n } }, { key: \"setAttribute\", value: function(n, s) {\n this.DOM.setAttribute(n, s);\n } }, { key: \"getContent\", value: function(n) {\n var s = this.DOM.textContent;\n return (s = s.replace(/\\s\\s+/g, \",\")) || n || null;\n } }, { key: \"setContent\", value: function(n) {\n this.DOM.children.length || (this.DOM.textContent = n);\n } }, { key: \"serialize\", value: function() {\n return new XMLSerializer().serializeToString(this.DOM);\n } }]) && y(g.prototype, f), h;\n }(), t = m.default, C.default = t;\n }, { \"../core/main\": 280, \"core-js/modules/es.array.iterator\": 164, \"core-js/modules/es.number.constructor\": 178, \"core-js/modules/es.object.to-string\": 187, \"core-js/modules/es.regexp.exec\": 192, \"core-js/modules/es.string.iterator\": 197, \"core-js/modules/es.string.replace\": 201, \"core-js/modules/es.symbol\": 209, \"core-js/modules/es.symbol.description\": 207, \"core-js/modules/es.symbol.iterator\": 208, \"core-js/modules/web.dom-collections.iterator\": 243 }], 310: [function(t, H, C) {\n t(\"core-js/modules/es.symbol\"), t(\"core-js/modules/es.symbol.description\"), t(\"core-js/modules/es.symbol.iterator\"), t(\"core-js/modules/es.array.from\"), t(\"core-js/modules/es.array.includes\"), t(\"core-js/modules/es.array.index-of\"), t(\"core-js/modules/es.array.iterator\"), t(\"core-js/modules/es.array.map\"), t(\"core-js/modules/es.array.slice\"), t(\"core-js/modules/es.math.hypot\"), t(\"core-js/modules/es.number.constructor\"), t(\"core-js/modules/es.object.to-string\"), t(\"core-js/modules/es.regexp.to-string\"), t(\"core-js/modules/es.string.includes\"), t(\"core-js/modules/es.string.iterator\"), t(\"core-js/modules/web.dom-collections.iterator\"), t(\"core-js/modules/es.array.includes\"), t(\"core-js/modules/es.array.index-of\"), t(\"core-js/modules/es.array.map\"), t(\"core-js/modules/es.array.slice\"), t(\"core-js/modules/es.math.hypot\"), t(\"core-js/modules/es.number.constructor\"), t(\"core-js/modules/es.string.includes\"), Object.defineProperty(C, \"__esModule\", { value: !0 }), C.default = void 0;\n var m = (t = t(\"../core/main\")) && t.__esModule ? t : { default: t };\n function y(u) {\n return function(h) {\n if (Array.isArray(h)) {\n for (var g = 0, f = new Array(h.length); g < h.length; g++)\n f[g] = h[g];\n return f;\n }\n }(u) || function(h) {\n if (Symbol.iterator in Object(h) || Object.prototype.toString.call(h) === \"[object Arguments]\")\n return Array.from(h);\n }(u) || function() {\n throw new TypeError(\"Invalid attempt to spread non-iterable instance\");\n }();\n }\n m.default.prototype.abs = Math.abs, m.default.prototype.ceil = Math.ceil, m.default.prototype.constrain = function(u, h, g) {\n return m.default._validateParameters(\"constrain\", arguments), Math.max(Math.min(u, g), h);\n }, m.default.prototype.dist = function() {\n for (var u = arguments.length, h = new Array(u), g = 0; g < u; g++)\n h[g] = arguments[g];\n return m.default._validateParameters(\"dist\", h), h.length === 4 ? Math.hypot(h[2] - h[0], h[3] - h[1]) : h.length === 6 ? Math.hypot(h[3] - h[0], h[4] - h[1], h[5] - h[2]) : void 0;\n }, m.default.prototype.exp = Math.exp, m.default.prototype.floor = Math.floor, m.default.prototype.lerp = function(u, h, g) {\n return m.default._validateParameters(\"lerp\", arguments), g * (h - u) + u;\n }, m.default.prototype.log = Math.log, m.default.prototype.mag = function(u, h) {\n return m.default._validateParameters(\"mag\", arguments), Math.hypot(u, h);\n }, m.default.prototype.map = function(u, h, g, f, n, s) {\n return m.default._validateParameters(\"map\", arguments), u = (u - h) / (g - h) * (n - f) + f, s ? f < n ? this.constrain(u, f, n) : this.constrain(u, n, f) : u;\n }, m.default.prototype.max = function() {\n for (var u = function(n) {\n return Math.max.apply(Math, y(n));\n }, h = arguments.length, g = new Array(h), f = 0; f < h; f++)\n g[f] = arguments[f];\n return Array.isArray(g[0]) ? u(g[0]) : u(g);\n }, m.default.prototype.min = function() {\n for (var u = function(n) {\n return Math.min.apply(Math, y(n));\n }, h = arguments.length, g = new Array(h), f = 0; f < h; f++)\n g[f] = arguments[f];\n return Array.isArray(g[0]) ? u(g[0]) : u(g);\n }, m.default.prototype.norm = function(u, h, g) {\n return m.default._validateParameters(\"norm\", arguments), this.map(u, h, g, 0, 1);\n }, m.default.prototype.pow = Math.pow, m.default.prototype.round = function(u, h) {\n return h ? (h = Math.pow(10, h), Math.round(u * h) / h) : Math.round(u);\n }, m.default.prototype.sq = function(u) {\n return u * u;\n }, m.default.prototype.sqrt = Math.sqrt, m.default.prototype.fract = function(f) {\n m.default._validateParameters(\"fract\", arguments);\n var h, g = 0, f = Number(f);\n return isNaN(f) || Math.abs(f) === 1 / 0 ? f : (f < 0 && (f = -f, g = 1), String(f).includes(\".\") && !String(f).includes(\"e\") ? (h = String(f), h = +(\"0\" + h.slice(h.indexOf(\".\"))), Math.abs(g - h)) : f < 1 ? Math.abs(g - f) : 0);\n }, t = m.default, C.default = t;\n }, { \"../core/main\": 280, \"core-js/modules/es.array.from\": 161, \"core-js/modules/es.array.includes\": 162, \"core-js/modules/es.array.index-of\": 163, \"core-js/modules/es.array.iterator\": 164, \"core-js/modules/es.array.map\": 167, \"core-js/modules/es.array.slice\": 168, \"core-js/modules/es.math.hypot\": 175, \"core-js/modules/es.number.constructor\": 178, \"core-js/modules/es.object.to-string\": 187, \"core-js/modules/es.regexp.to-string\": 193, \"core-js/modules/es.string.includes\": 196, \"core-js/modules/es.string.iterator\": 197, \"core-js/modules/es.symbol\": 209, \"core-js/modules/es.symbol.description\": 207, \"core-js/modules/es.symbol.iterator\": 208, \"core-js/modules/web.dom-collections.iterator\": 243 }], 311: [function(t, H, C) {\n t(\"core-js/modules/es.array.concat\"), t(\"core-js/modules/es.array.slice\"), t(\"core-js/modules/es.object.to-string\"), t(\"core-js/modules/es.reflect.construct\"), t(\"core-js/modules/es.regexp.to-string\"), t(\"core-js/modules/es.array.concat\"), t(\"core-js/modules/es.array.slice\"), Object.defineProperty(C, \"__esModule\", { value: !0 }), C.default = void 0;\n var m = (t = t(\"../core/main\")) && t.__esModule ? t : { default: t };\n function y(h, g, f) {\n return (y = function() {\n if (typeof Reflect < \"u\" && Reflect.construct && !Reflect.construct.sham) {\n if (typeof Proxy == \"function\")\n return 1;\n try {\n return Date.prototype.toString.call(Reflect.construct(Date, [], function() {\n })), 1;\n } catch {\n }\n }\n }() ? Reflect.construct : function(n, s, o) {\n var a = [null];\n return a.push.apply(a, s), s = new (Function.bind.apply(n, a))(), o && u(s, o.prototype), s;\n }).apply(null, arguments);\n }\n function u(h, g) {\n return (u = Object.setPrototypeOf || function(f, n) {\n return f.__proto__ = n, f;\n })(h, g);\n }\n m.default.prototype.createVector = function(h, g, f) {\n return this instanceof m.default ? y(m.default.Vector, [this._fromRadians.bind(this), this._toRadians.bind(this)].concat(Array.prototype.slice.call(arguments))) : new m.default.Vector(h, g, f);\n }, t = m.default, C.default = t;\n }, { \"../core/main\": 280, \"core-js/modules/es.array.concat\": 152, \"core-js/modules/es.array.slice\": 168, \"core-js/modules/es.object.to-string\": 187, \"core-js/modules/es.reflect.construct\": 189, \"core-js/modules/es.regexp.to-string\": 193 }], 312: [function(f, H, C) {\n Object.defineProperty(C, \"__esModule\", { value: !0 }), C.default = void 0, f = (f = f(\"../core/main\")) && f.__esModule ? f : { default: f };\n function m(n) {\n return 0.5 * (1 - Math.cos(n * Math.PI));\n }\n var y, u = 4095, h = 4, g = 0.5, f = (f.default.prototype.noise = function(n) {\n var s = 1 < arguments.length && arguments[1] !== void 0 ? arguments[1] : 0, o = 2 < arguments.length && arguments[2] !== void 0 ? arguments[2] : 0;\n if (y == null) {\n y = new Array(4096);\n for (var a = 0; a < 4096; a++)\n y[a] = Math.random();\n }\n n < 0 && (n = -n), s < 0 && (s = -s), o < 0 && (o = -o);\n for (var l, r, i = Math.floor(n), c = Math.floor(s), p = Math.floor(o), j = n - i, T = s - c, _ = o - p, S = 0, E = 0.5, P = 0; P < h; P++) {\n var x = i + (c << 4) + (p << 8), A = m(j), M = m(T), R = y[x & u];\n R += A * (y[x + 1 & u] - R), l = y[x + 16 & u], R += M * ((l += A * (y[x + 16 + 1 & u] - l)) - R), l = y[(x += 256) & u], l += A * (y[x + 1 & u] - l), r = y[x + 16 & u], l += M * ((r += A * (y[x + 16 + 1 & u] - r)) - l), S += (R += m(_) * (l - R)) * E, E *= g, i <<= 1, c <<= 1, p <<= 1, 1 <= (j *= 2) && (i++, j--), 1 <= (T *= 2) && (c++, T--), 1 <= (_ *= 2) && (p++, _--);\n }\n return S;\n }, f.default.prototype.noiseDetail = function(n, s) {\n 0 < n && (h = n), 0 < s && (g = s);\n }, f.default.prototype.noiseSeed = function(n) {\n a = 4294967296;\n var s, o, a, l = { setSeed: function(i) {\n o = s = (i ?? Math.random() * a) >>> 0;\n }, getSeed: function() {\n return s;\n }, rand: function() {\n return (o = (1664525 * o + 1013904223) % a) / a;\n } };\n l.setSeed(n), y = new Array(4096);\n for (var r = 0; r < 4096; r++)\n y[r] = l.rand();\n }, f.default);\n C.default = f;\n }, { \"../core/main\": 280 }], 313: [function(t, H, C) {\n function m(s) {\n return (m = typeof Symbol == \"function\" && typeof Symbol.iterator == \"symbol\" ? function(o) {\n return typeof o;\n } : function(o) {\n return o && typeof Symbol == \"function\" && o.constructor === Symbol && o !== Symbol.prototype ? \"symbol\" : typeof o;\n })(s);\n }\n function y(s) {\n return (y = typeof Symbol == \"function\" && m(Symbol.iterator) === \"symbol\" ? function(o) {\n return m(o);\n } : function(o) {\n return o && typeof Symbol == \"function\" && o.constructor === Symbol && o !== Symbol.prototype ? \"symbol\" : m(o);\n })(s);\n }\n t(\"core-js/modules/es.symbol\"), t(\"core-js/modules/es.symbol.description\"), t(\"core-js/modules/es.symbol.iterator\"), t(\"core-js/modules/es.array.concat\"), t(\"core-js/modules/es.array.every\"), t(\"core-js/modules/es.array.iterator\"), t(\"core-js/modules/es.array.slice\"), t(\"core-js/modules/es.array.some\"), t(\"core-js/modules/es.math.sign\"), t(\"core-js/modules/es.number.constructor\"), t(\"core-js/modules/es.number.is-finite\"), t(\"core-js/modules/es.object.get-own-property-descriptor\"), t(\"core-js/modules/es.object.to-string\"), t(\"core-js/modules/es.string.iterator\"), t(\"core-js/modules/es.string.sub\"), t(\"core-js/modules/es.weak-map\"), t(\"core-js/modules/web.dom-collections.iterator\"), t(\"core-js/modules/es.array.concat\"), t(\"core-js/modules/es.array.every\"), t(\"core-js/modules/es.array.slice\"), t(\"core-js/modules/es.array.some\"), t(\"core-js/modules/es.math.sign\"), t(\"core-js/modules/es.number.constructor\"), t(\"core-js/modules/es.number.is-finite\"), t(\"core-js/modules/es.string.sub\"), Object.defineProperty(C, \"__esModule\", { value: !0 }), C.default = void 0;\n var u = (n = t(\"../core/main\")) && n.__esModule ? n : { default: n }, h = function(s) {\n if (s && s.__esModule)\n return s;\n if (s === null || y(s) !== \"object\" && typeof s != \"function\")\n return { default: s };\n var o = g();\n if (o && o.has(s))\n return o.get(s);\n var a, l = {}, r = Object.defineProperty && Object.getOwnPropertyDescriptor;\n for (a in s) {\n var i;\n Object.prototype.hasOwnProperty.call(s, a) && ((i = r ? Object.getOwnPropertyDescriptor(s, a) : null) && (i.get || i.set) ? Object.defineProperty(l, a, i) : l[a] = s[a]);\n }\n return l.default = s, o && o.set(s, l), l;\n }(t(\"../core/constants\"));\n function g() {\n var s;\n return typeof WeakMap != \"function\" ? null : (s = /* @__PURE__ */ new WeakMap(), g = function() {\n return s;\n }, s);\n }\n function f(s, o) {\n for (var a = 0; a < o.length; a++) {\n var l = o[a];\n l.enumerable = l.enumerable || !1, l.configurable = !0, \"value\" in l && (l.writable = !0), Object.defineProperty(s, l.key, l);\n }\n }\n u.default.Vector = function() {\n function s() {\n var p = this, r = s;\n if (!(p instanceof r))\n throw new TypeError(\"Cannot call a class as a function\");\n var i, c, p = typeof (arguments.length <= 0 ? void 0 : arguments[0]) == \"function\" ? (this.isPInst = !0, this._fromRadians = arguments.length <= 0 ? void 0 : arguments[0], this._toRadians = arguments.length <= 1 ? void 0 : arguments[1], i = (arguments.length <= 2 ? void 0 : arguments[2]) || 0, c = (arguments.length <= 3 ? void 0 : arguments[3]) || 0, (arguments.length <= 4 ? void 0 : arguments[4]) || 0) : (i = (arguments.length <= 0 ? void 0 : arguments[0]) || 0, c = (arguments.length <= 1 ? void 0 : arguments[1]) || 0, (arguments.length <= 2 ? void 0 : arguments[2]) || 0);\n this.x = i, this.y = c, this.z = p;\n }\n var o, a, l;\n return o = s, l = [{ key: \"fromAngle\", value: function(r, i) {\n return new u.default.Vector((i = i === void 0 ? 1 : i) * Math.cos(r), i * Math.sin(r), 0);\n } }, { key: \"fromAngles\", value: function(_, j, c) {\n c === void 0 && (c = 1);\n var p = Math.cos(j), j = Math.sin(j), T = Math.cos(_), _ = Math.sin(_);\n return new u.default.Vector(c * _ * j, -c * T, c * _ * p);\n } }, { key: \"random2D\", value: function() {\n return this.fromAngle(Math.random() * h.TWO_PI);\n } }, { key: \"random3D\", value: function() {\n var r = Math.random() * h.TWO_PI, i = 2 * Math.random() - 1, p = Math.sqrt(1 - i * i), c = p * Math.cos(r), p = p * Math.sin(r);\n return new u.default.Vector(c, p, i);\n } }, { key: \"copy\", value: function(r) {\n return r.copy(r);\n } }, { key: \"add\", value: function(r, i, c) {\n return c ? c.set(r) : (c = r.copy(), arguments.length === 3 && u.default._friendlyError(\"The target parameter is undefined, it should be of type p5.Vector\", \"p5.Vector.add\")), c.add(i), c;\n } }, { key: \"rem\", value: function(r, i) {\n if (r instanceof u.default.Vector && i instanceof u.default.Vector)\n return (r = r.copy()).rem(i), r;\n } }, { key: \"sub\", value: function(r, i, c) {\n return c ? c.set(r) : (c = r.copy(), arguments.length === 3 && u.default._friendlyError(\"The target parameter is undefined, it should be of type p5.Vector\", \"p5.Vector.sub\")), c.sub(i), c;\n } }, { key: \"mult\", value: function(r, i, c) {\n return c ? c.set(r) : (c = r.copy(), arguments.length === 3 && u.default._friendlyError(\"The target parameter is undefined, it should be of type p5.Vector\", \"p5.Vector.mult\")), c.mult(i), c;\n } }, { key: \"rotate\", value: function(r, i, c) {\n return arguments.length === 2 ? c = r.copy() : (c instanceof u.default.Vector || u.default._friendlyError(\"The target parameter should be of type p5.Vector\", \"p5.Vector.rotate\"), c.set(r)), c.rotate(i), c;\n } }, { key: \"div\", value: function(r, i, c) {\n return c ? c.set(r) : (c = r.copy(), arguments.length === 3 && u.default._friendlyError(\"The target parameter is undefined, it should be of type p5.Vector\", \"p5.Vector.div\")), c.div(i), c;\n } }, { key: \"dot\", value: function(r, i) {\n return r.dot(i);\n } }, { key: \"cross\", value: function(r, i) {\n return r.cross(i);\n } }, { key: \"dist\", value: function(r, i) {\n return r.dist(i);\n } }, { key: \"lerp\", value: function(r, i, c, p) {\n return p ? p.set(r) : (p = r.copy(), arguments.length === 4 && u.default._friendlyError(\"The target parameter is undefined, it should be of type p5.Vector\", \"p5.Vector.lerp\")), p.lerp(i, c), p;\n } }, { key: \"slerp\", value: function(r, i, c, p) {\n return p ? p.set(r) : (p = r.copy(), arguments.length === 4 && u.default._friendlyError(\"The target parameter is undefined, it should be of type p5.Vector\", \"p5.Vector.slerp\")), p.slerp(i, c), p;\n } }, { key: \"mag\", value: function(r) {\n return r.mag();\n } }, { key: \"magSq\", value: function(r) {\n return r.magSq();\n } }, { key: \"normalize\", value: function(r, i) {\n return arguments.length < 2 ? i = r.copy() : (i instanceof u.default.Vector || u.default._friendlyError(\"The target parameter should be of type p5.Vector\", \"p5.Vector.normalize\"), i.set(r)), i.normalize();\n } }, { key: \"limit\", value: function(r, i, c) {\n return arguments.length < 3 ? c = r.copy() : (c instanceof u.default.Vector || u.default._friendlyError(\"The target parameter should be of type p5.Vector\", \"p5.Vector.limit\"), c.set(r)), c.limit(i);\n } }, { key: \"setMag\", value: function(r, i, c) {\n return arguments.length < 3 ? c = r.copy() : (c instanceof u.default.Vector || u.default._friendlyError(\"The target parameter should be of type p5.Vector\", \"p5.Vector.setMag\"), c.set(r)), c.setMag(i);\n } }, { key: \"heading\", value: function(r) {\n return r.heading();\n } }, { key: \"angleBetween\", value: function(r, i) {\n return r.angleBetween(i);\n } }, { key: \"reflect\", value: function(r, i, c) {\n return arguments.length < 3 ? c = r.copy() : (c instanceof u.default.Vector || u.default._friendlyError(\"The target parameter should be of type p5.Vector\", \"p5.Vector.reflect\"), c.set(r)), c.reflect(i);\n } }, { key: \"array\", value: function(r) {\n return r.array();\n } }, { key: \"equals\", value: function(r, i) {\n var c;\n return r instanceof u.default.Vector ? c = r : Array.isArray(r) ? c = new u.default.Vector().set(r) : u.default._friendlyError(\"The v1 parameter should be of type Array or p5.Vector\", \"p5.Vector.equals\"), c.equals(i);\n } }], (a = [{ key: \"toString\", value: function() {\n return \"p5.Vector Object : [\".concat(this.x, \", \").concat(this.y, \", \").concat(this.z, \"]\");\n } }, { key: \"set\", value: function(r, i, c) {\n return r instanceof u.default.Vector ? (this.x = r.x || 0, this.y = r.y || 0, this.z = r.z || 0) : Array.isArray(r) ? (this.x = r[0] || 0, this.y = r[1] || 0, this.z = r[2] || 0) : (this.x = r || 0, this.y = i || 0, this.z = c || 0), this;\n } }, { key: \"copy\", value: function() {\n return this.isPInst ? new u.default.Vector(this._fromRadians, this._toRadians, this.x, this.y, this.z) : new u.default.Vector(this.x, this.y, this.z);\n } }, { key: \"add\", value: function(r, i, c) {\n return r instanceof u.default.Vector ? (this.x += r.x || 0, this.y += r.y || 0, this.z += r.z || 0) : Array.isArray(r) ? (this.x += r[0] || 0, this.y += r[1] || 0, this.z += r[2] || 0) : (this.x += r || 0, this.y += i || 0, this.z += c || 0), this;\n } }, { key: \"calculateRemainder2D\", value: function(r, i) {\n return r !== 0 && (this.x = this.x % r), i !== 0 && (this.y = this.y % i), this;\n } }, { key: \"calculateRemainder3D\", value: function(r, i, c) {\n return r !== 0 && (this.x = this.x % r), i !== 0 && (this.y = this.y % i), c !== 0 && (this.z = this.z % c), this;\n } }, { key: \"rem\", value: function(r, i, c) {\n var p;\n if (r instanceof u.default.Vector) {\n if ([r.x, r.y, r.z].every(Number.isFinite))\n return j = parseFloat(r.x), T = parseFloat(r.y), p = parseFloat(r.z), this.calculateRemainder3D(j, T, p);\n } else if (Array.isArray(r)) {\n if (r.every(function(_) {\n return Number.isFinite(_);\n }))\n return r.length === 2 ? this.calculateRemainder2D(r[0], r[1]) : r.length === 3 ? this.calculateRemainder3D(r[0], r[1], r[2]) : void 0;\n } else if (arguments.length === 1) {\n if (Number.isFinite(r) && r !== 0)\n return this.x = this.x % r, this.y = this.y % r, this.z = this.z % r, this;\n } else if (arguments.length === 2) {\n var j = Array.prototype.slice.call(arguments);\n if (j.every(function(_) {\n return Number.isFinite(_);\n }) && j.length === 2)\n return this.calculateRemainder2D(j[0], j[1]);\n } else if (arguments.length === 3) {\n var T = Array.prototype.slice.call(arguments);\n if (T.every(function(_) {\n return Number.isFinite(_);\n }) && T.length === 3)\n return this.calculateRemainder3D(T[0], T[1], T[2]);\n }\n } }, { key: \"sub\", value: function(r, i, c) {\n return r instanceof u.default.Vector ? (this.x -= r.x || 0, this.y -= r.y || 0, this.z -= r.z || 0) : Array.isArray(r) ? (this.x -= r[0] || 0, this.y -= r[1] || 0, this.z -= r[2] || 0) : (this.x -= r || 0, this.y -= i || 0, this.z -= c || 0), this;\n } }, { key: \"mult\", value: function(r, i, c) {\n var p;\n return r instanceof u.default.Vector ? Number.isFinite(r.x) && Number.isFinite(r.y) && Number.isFinite(r.z) && typeof r.x == \"number\" && typeof r.y == \"number\" && typeof r.z == \"number\" ? (this.x *= r.x, this.y *= r.y, this.z *= r.z) : console.warn(\"p5.Vector.prototype.mult:\", \"x contains components that are either undefined or not finite numbers\") : Array.isArray(r) ? r.every(function(j) {\n return Number.isFinite(j);\n }) && r.every(function(j) {\n return typeof j == \"number\";\n }) ? r.length === 1 ? (this.x *= r[0], this.y *= r[0], this.z *= r[0]) : r.length === 2 ? (this.x *= r[0], this.y *= r[1]) : r.length === 3 && (this.x *= r[0], this.y *= r[1], this.z *= r[2]) : console.warn(\"p5.Vector.prototype.mult:\", \"x contains elements that are either undefined or not finite numbers\") : (p = Array.prototype.slice.call(arguments)).every(function(j) {\n return Number.isFinite(j);\n }) && p.every(function(j) {\n return typeof j == \"number\";\n }) ? (arguments.length === 1 && (this.x *= r, this.y *= r, this.z *= r), arguments.length === 2 && (this.x *= r, this.y *= i), arguments.length === 3 && (this.x *= r, this.y *= i, this.z *= c)) : console.warn(\"p5.Vector.prototype.mult:\", \"x, y, or z arguments are either undefined or not a finite number\"), this;\n } }, { key: \"div\", value: function(r, i, c) {\n if (r instanceof u.default.Vector)\n if (Number.isFinite(r.x) && Number.isFinite(r.y) && Number.isFinite(r.z) && typeof r.x == \"number\" && typeof r.y == \"number\" && typeof r.z == \"number\") {\n var p = r.z === 0 && this.z === 0;\n if (r.x === 0 || r.y === 0 || !p && r.z === 0)\n return console.warn(\"p5.Vector.prototype.div:\", \"divide by 0\"), this;\n this.x /= r.x, this.y /= r.y, p || (this.z /= r.z);\n } else\n console.warn(\"p5.Vector.prototype.div:\", \"x contains components that are either undefined or not finite numbers\");\n else if (Array.isArray(r))\n if (r.every(function(j) {\n return Number.isFinite(j);\n }) && r.every(function(j) {\n return typeof j == \"number\";\n })) {\n if (r.some(function(j) {\n return j === 0;\n }))\n return console.warn(\"p5.Vector.prototype.div:\", \"divide by 0\"), this;\n r.length === 1 ? (this.x /= r[0], this.y /= r[0], this.z /= r[0]) : r.length === 2 ? (this.x /= r[0], this.y /= r[1]) : r.length === 3 && (this.x /= r[0], this.y /= r[1], this.z /= r[2]);\n } else\n console.warn(\"p5.Vector.prototype.div:\", \"x contains components that are either undefined or not finite numbers\");\n else if (p = Array.prototype.slice.call(arguments), p.every(function(j) {\n return Number.isFinite(j);\n }) && p.every(function(j) {\n return typeof j == \"number\";\n })) {\n if (p.some(function(j) {\n return j === 0;\n }))\n return console.warn(\"p5.Vector.prototype.div:\", \"divide by 0\"), this;\n arguments.length === 1 && (this.x /= r, this.y /= r, this.z /= r), arguments.length === 2 && (this.x /= r, this.y /= i), arguments.length === 3 && (this.x /= r, this.y /= i, this.z /= c);\n } else\n console.warn(\"p5.Vector.prototype.div:\", \"x, y, or z arguments are either undefined or not a finite number\");\n return this;\n } }, { key: \"mag\", value: function() {\n return Math.sqrt(this.magSq());\n } }, { key: \"magSq\", value: function() {\n var r = this.x, i = this.y, c = this.z;\n return r * r + i * i + c * c;\n } }, { key: \"dot\", value: function(r, i, c) {\n return r instanceof u.default.Vector ? this.dot(r.x, r.y, r.z) : this.x * (r || 0) + this.y * (i || 0) + this.z * (c || 0);\n } }, { key: \"cross\", value: function(p) {\n var i = this.y * p.z - this.z * p.y, c = this.z * p.x - this.x * p.z, p = this.x * p.y - this.y * p.x;\n return this.isPInst ? new u.default.Vector(this._fromRadians, this._toRadians, i, c, p) : new u.default.Vector(i, c, p);\n } }, { key: \"dist\", value: function(r) {\n return r.copy().sub(this).mag();\n } }, { key: \"normalize\", value: function() {\n var r = this.mag();\n return r !== 0 && this.mult(1 / r), this;\n } }, { key: \"limit\", value: function(r) {\n var i = this.magSq();\n return r * r < i && this.div(Math.sqrt(i)).mult(r), this;\n } }, { key: \"setMag\", value: function(r) {\n return this.normalize().mult(r);\n } }, { key: \"heading\", value: function() {\n var r = Math.atan2(this.y, this.x);\n return this.isPInst ? this._fromRadians(r) : r;\n } }, { key: \"setHeading\", value: function(r) {\n this.isPInst && (r = this._toRadians(r));\n var i = this.mag();\n return this.x = i * Math.cos(r), this.y = i * Math.sin(r), this;\n } }, { key: \"rotate\", value: function(i) {\n var i = this.heading() + i, c = (this.isPInst && (i = this._toRadians(i)), this.mag());\n return this.x = Math.cos(i) * c, this.y = Math.sin(i) * c, this;\n } }, { key: \"angleBetween\", value: function(r) {\n var i;\n return this.magSq() * r.magSq() == 0 ? NaN : (i = this.cross(r), r = Math.atan2(i.mag(), this.dot(r)) * Math.sign(i.z || 1), this.isPInst ? this._fromRadians(r) : r);\n } }, { key: \"lerp\", value: function(r, i, c, p) {\n return r instanceof u.default.Vector ? this.lerp(r.x, r.y, r.z, i) : (this.x += (r - this.x) * p || 0, this.y += (i - this.y) * p || 0, this.z += (c - this.z) * p || 0, this);\n } }, { key: \"slerp\", value: function(r, i) {\n if (i !== 0) {\n if (i === 1)\n return this.set(r);\n var c = this.mag(), p = r.mag();\n if (c * p == 0)\n this.mult(1 - i).add(r.x * i, r.y * i, r.z * i);\n else {\n var j = this.cross(r), T = j.mag(), _ = Math.atan2(T, this.dot(r));\n if (0 < T)\n j.x /= T, j.y /= T, j.z /= T;\n else {\n if (_ < 0.5 * Math.PI)\n return this.mult(1 - i).add(r.x * i, r.y * i, r.z * i), this;\n this.z === 0 && r.z === 0 ? j.set(0, 0, 1) : this.x !== 0 ? j.set(this.y, -this.x, 0).normalize() : j.set(1, 0, 0);\n }\n T = j.cross(this), r = 1 - i + i * p / c, j = r * Math.cos(i * _), p = r * Math.sin(i * _), this.x = this.x * j + T.x * p, this.y = this.y * j + T.y * p, this.z = this.z * j + T.z * p;\n }\n }\n return this;\n } }, { key: \"reflect\", value: function(r) {\n return r.normalize(), this.sub(r.mult(2 * this.dot(r)));\n } }, { key: \"array\", value: function() {\n return [this.x || 0, this.y || 0, this.z || 0];\n } }, { key: \"equals\", value: function(T, i, c) {\n var p, j, T = T instanceof u.default.Vector ? (p = T.x || 0, j = T.y || 0, T.z || 0) : Array.isArray(T) ? (p = T[0] || 0, j = T[1] || 0, T[2] || 0) : (p = T || 0, j = i || 0, c || 0);\n return this.x === p && this.y === j && this.z === T;\n } }]) && f(o.prototype, a), l && f(o, l), s;\n }();\n var n = u.default.Vector;\n C.default = n;\n }, { \"../core/constants\": 269, \"../core/main\": 280, \"core-js/modules/es.array.concat\": 152, \"core-js/modules/es.array.every\": 154, \"core-js/modules/es.array.iterator\": 164, \"core-js/modules/es.array.slice\": 168, \"core-js/modules/es.array.some\": 169, \"core-js/modules/es.math.sign\": 177, \"core-js/modules/es.number.constructor\": 178, \"core-js/modules/es.number.is-finite\": 179, \"core-js/modules/es.object.get-own-property-descriptor\": 183, \"core-js/modules/es.object.to-string\": 187, \"core-js/modules/es.string.iterator\": 197, \"core-js/modules/es.string.sub\": 205, \"core-js/modules/es.symbol\": 209, \"core-js/modules/es.symbol.description\": 207, \"core-js/modules/es.symbol.iterator\": 208, \"core-js/modules/es.weak-map\": 241, \"core-js/modules/web.dom-collections.iterator\": 243 }], 314: [function(g, H, C) {\n Object.defineProperty(C, \"__esModule\", { value: !0 }), C.default = void 0;\n var m = (g = g(\"../core/main\")) && g.__esModule ? g : { default: g }, y = \"_lcg_random_state\", u = 4294967296, h = 0, g = (m.default.prototype._lcg = function(f) {\n return this[f] = (1664525 * this[f] + 1013904223) % u, this[f] / u;\n }, m.default.prototype._lcgSetSeed = function(f, n) {\n this[f] = (n ?? Math.random() * u) >>> 0;\n }, m.default.prototype.randomSeed = function(f) {\n this._lcgSetSeed(y, f), this._gaussian_previous = !1;\n }, m.default.prototype.random = function(f, n) {\n var s, o;\n return m.default._validateParameters(\"random\", arguments), s = this[y] != null ? this._lcg(y) : Math.random(), f === void 0 ? s : n === void 0 ? Array.isArray(f) ? f[Math.floor(s * f.length)] : s * f : (n < f && (o = f, f = n, n = o), s * (n - f) + f);\n }, m.default.prototype.randomGaussian = function(f) {\n var n, s, o, a, l = 1 < arguments.length && arguments[1] !== void 0 ? arguments[1] : 1;\n if (this._gaussian_previous)\n n = h, this._gaussian_previous = !1;\n else {\n for (; 1 <= (a = (s = this.random(2) - 1) * s + (o = this.random(2) - 1) * o); )\n ;\n n = s * (a = Math.sqrt(-2 * Math.log(a) / a)), h = o * a, this._gaussian_previous = !0;\n }\n return n * l + (f || 0);\n }, m.default);\n C.default = g;\n }, { \"../core/main\": 280 }], 315: [function(t, H, C) {\n function m(n) {\n return (m = typeof Symbol == \"function\" && typeof Symbol.iterator == \"symbol\" ? function(s) {\n return typeof s;\n } : function(s) {\n return s && typeof Symbol == \"function\" && s.constructor === Symbol && s !== Symbol.prototype ? \"symbol\" : typeof s;\n })(n);\n }\n function y(n) {\n return (y = typeof Symbol == \"function\" && m(Symbol.iterator) === \"symbol\" ? function(s) {\n return m(s);\n } : function(s) {\n return s && typeof Symbol == \"function\" && s.constructor === Symbol && s !== Symbol.prototype ? \"symbol\" : m(s);\n })(n);\n }\n t(\"core-js/modules/es.symbol\"), t(\"core-js/modules/es.symbol.description\"), t(\"core-js/modules/es.symbol.iterator\"), t(\"core-js/modules/es.array.iterator\"), t(\"core-js/modules/es.object.get-own-property-descriptor\"), t(\"core-js/modules/es.object.to-string\"), t(\"core-js/modules/es.string.iterator\"), t(\"core-js/modules/es.weak-map\"), t(\"core-js/modules/web.dom-collections.iterator\"), Object.defineProperty(C, \"__esModule\", { value: !0 }), C.default = void 0;\n var u = (f = t(\"../core/main\")) && f.__esModule ? f : { default: f }, h = function(n) {\n if (n && n.__esModule)\n return n;\n if (n === null || y(n) !== \"object\" && typeof n != \"function\")\n return { default: n };\n var s = g();\n if (s && s.has(n))\n return s.get(n);\n var o, a = {}, l = Object.defineProperty && Object.getOwnPropertyDescriptor;\n for (o in n) {\n var r;\n Object.prototype.hasOwnProperty.call(n, o) && ((r = l ? Object.getOwnPropertyDescriptor(n, o) : null) && (r.get || r.set) ? Object.defineProperty(a, o, r) : a[o] = n[o]);\n }\n return a.default = n, s && s.set(n, a), a;\n }(t(\"../core/constants\"));\n function g() {\n var n;\n return typeof WeakMap != \"function\" ? null : (n = /* @__PURE__ */ new WeakMap(), g = function() {\n return n;\n }, n);\n }\n u.default.prototype._angleMode = h.RADIANS, u.default.prototype.acos = function(n) {\n return this._fromRadians(Math.acos(n));\n }, u.default.prototype.asin = function(n) {\n return this._fromRadians(Math.asin(n));\n }, u.default.prototype.atan = function(n) {\n return this._fromRadians(Math.atan(n));\n }, u.default.prototype.atan2 = function(n, s) {\n return this._fromRadians(Math.atan2(n, s));\n }, u.default.prototype.cos = function(n) {\n return Math.cos(this._toRadians(n));\n }, u.default.prototype.sin = function(n) {\n return Math.sin(this._toRadians(n));\n }, u.default.prototype.tan = function(n) {\n return Math.tan(this._toRadians(n));\n }, u.default.prototype.degrees = function(n) {\n return n * h.RAD_TO_DEG;\n }, u.default.prototype.radians = function(n) {\n return n * h.DEG_TO_RAD;\n }, u.default.prototype.angleMode = function(n) {\n if (u.default._validateParameters(\"angleMode\", arguments), n === void 0)\n return this._angleMode;\n n !== h.DEGREES && n !== h.RADIANS || n !== this._angleMode && (n === h.RADIANS ? (this._setProperty(\"pRotationX\", this.pRotationX * h.DEG_TO_RAD), this._setProperty(\"pRotationY\", this.pRotationY * h.DEG_TO_RAD), this._setProperty(\"pRotationZ\", this.pRotationZ * h.DEG_TO_RAD)) : (this._setProperty(\"pRotationX\", this.pRotationX * h.RAD_TO_DEG), this._setProperty(\"pRotationY\", this.pRotationY * h.RAD_TO_DEG), this._setProperty(\"pRotationZ\", this.pRotationZ * h.RAD_TO_DEG)), this._angleMode = n);\n }, u.default.prototype._toRadians = function(n) {\n return this._angleMode === h.DEGREES ? n * h.DEG_TO_RAD : n;\n }, u.default.prototype._toDegrees = function(n) {\n return this._angleMode === h.RADIANS ? n * h.RAD_TO_DEG : n;\n }, u.default.prototype._fromRadians = function(n) {\n return this._angleMode === h.DEGREES ? n * h.RAD_TO_DEG : n;\n }, u.default.prototype._fromDegrees = function(n) {\n return this._angleMode === h.RADIANS ? n * h.DEG_TO_RAD : n;\n };\n var f = u.default;\n C.default = f;\n }, { \"../core/constants\": 269, \"../core/main\": 280, \"core-js/modules/es.array.iterator\": 164, \"core-js/modules/es.object.get-own-property-descriptor\": 183, \"core-js/modules/es.object.to-string\": 187, \"core-js/modules/es.string.iterator\": 197, \"core-js/modules/es.symbol\": 209, \"core-js/modules/es.symbol.description\": 207, \"core-js/modules/es.symbol.iterator\": 208, \"core-js/modules/es.weak-map\": 241, \"core-js/modules/web.dom-collections.iterator\": 243 }], 316: [function(t, H, C) {\n t(\"core-js/modules/es.regexp.exec\"), t(\"core-js/modules/es.string.replace\"), t(\"core-js/modules/es.string.split\"), t(\"core-js/modules/es.regexp.exec\"), t(\"core-js/modules/es.string.replace\"), t(\"core-js/modules/es.string.split\"), Object.defineProperty(C, \"__esModule\", { value: !0 }), C.default = void 0;\n var m = (t = t(\"../core/main\")) && t.__esModule ? t : { default: t };\n m.default.prototype.textAlign = function(y, u) {\n var h;\n return m.default._validateParameters(\"textAlign\", arguments), (h = this._renderer).textAlign.apply(h, arguments);\n }, m.default.prototype.textLeading = function(y) {\n var u;\n return m.default._validateParameters(\"textLeading\", arguments), (u = this._renderer).textLeading.apply(u, arguments);\n }, m.default.prototype.textSize = function(y) {\n var u;\n return m.default._validateParameters(\"textSize\", arguments), (u = this._renderer).textSize.apply(u, arguments);\n }, m.default.prototype.textStyle = function(y) {\n var u;\n return m.default._validateParameters(\"textStyle\", arguments), (u = this._renderer).textStyle.apply(u, arguments);\n }, m.default.prototype.textWidth = function() {\n for (var y = arguments.length, u = new Array(y), h = 0; h < y; h++)\n u[h] = arguments[h];\n if (u[0] += \"\", m.default._validateParameters(\"textWidth\", u), u[0].length === 0)\n return 0;\n for (var g = u[0].replace(/\\t/g, \" \").split(/\\r?\\n|\\r|\\n/g), f = [], n = 0; n < g.length; n++)\n f.push(this._renderer.textWidth(g[n]));\n return Math.max.apply(Math, f);\n }, m.default.prototype.textAscent = function() {\n for (var y = arguments.length, u = new Array(y), h = 0; h < y; h++)\n u[h] = arguments[h];\n return m.default._validateParameters(\"textAscent\", u), this._renderer.textAscent();\n }, m.default.prototype.textDescent = function() {\n for (var y = arguments.length, u = new Array(y), h = 0; h < y; h++)\n u[h] = arguments[h];\n return m.default._validateParameters(\"textDescent\", u), this._renderer.textDescent();\n }, m.default.prototype._updateTextMetrics = function() {\n return this._renderer._updateTextMetrics();\n }, m.default.prototype.textWrap = function(y) {\n if (y !== \"WORD\" && y !== \"CHAR\")\n throw \"Error: textWrap accepts only WORD or CHAR\";\n return this._renderer.textWrap(y);\n }, t = m.default, C.default = t;\n }, { \"../core/main\": 280, \"core-js/modules/es.regexp.exec\": 192, \"core-js/modules/es.string.replace\": 201, \"core-js/modules/es.string.split\": 203 }], 317: [function(t, H, C) {\n function m(o) {\n return (m = typeof Symbol == \"function\" && typeof Symbol.iterator == \"symbol\" ? function(a) {\n return typeof a;\n } : function(a) {\n return a && typeof Symbol == \"function\" && a.constructor === Symbol && a !== Symbol.prototype ? \"symbol\" : typeof a;\n })(o);\n }\n function y(o) {\n return (y = typeof Symbol == \"function\" && m(Symbol.iterator) === \"symbol\" ? function(a) {\n return m(a);\n } : function(a) {\n return a && typeof Symbol == \"function\" && a.constructor === Symbol && a !== Symbol.prototype ? \"symbol\" : m(a);\n })(o);\n }\n t(\"core-js/modules/es.symbol\"), t(\"core-js/modules/es.symbol.description\"), t(\"core-js/modules/es.symbol.iterator\"), t(\"core-js/modules/es.array.concat\"), t(\"core-js/modules/es.array.includes\"), t(\"core-js/modules/es.array.iterator\"), t(\"core-js/modules/es.array.last-index-of\"), t(\"core-js/modules/es.array.slice\"), t(\"core-js/modules/es.object.get-own-property-descriptor\"), t(\"core-js/modules/es.object.to-string\"), t(\"core-js/modules/es.regexp.exec\"), t(\"core-js/modules/es.string.iterator\"), t(\"core-js/modules/es.string.split\"), t(\"core-js/modules/es.weak-map\"), t(\"core-js/modules/web.dom-collections.iterator\"), t(\"core-js/modules/es.array.concat\"), t(\"core-js/modules/es.array.includes\"), t(\"core-js/modules/es.array.last-index-of\"), t(\"core-js/modules/es.array.slice\"), t(\"core-js/modules/es.regexp.exec\"), t(\"core-js/modules/es.string.split\"), Object.defineProperty(C, \"__esModule\", { value: !0 }), C.default = void 0;\n var u = (s = t(\"../core/main\")) && s.__esModule ? s : { default: s }, h = n(t(\"../core/constants\")), g = n(t(\"opentype.js\"));\n function f() {\n var o;\n return typeof WeakMap != \"function\" ? null : (o = /* @__PURE__ */ new WeakMap(), f = function() {\n return o;\n }, o);\n }\n function n(o) {\n if (o && o.__esModule)\n return o;\n if (o === null || y(o) !== \"object\" && typeof o != \"function\")\n return { default: o };\n var a = f();\n if (a && a.has(o))\n return a.get(o);\n var l, r, i = {}, c = Object.defineProperty && Object.getOwnPropertyDescriptor;\n for (l in o)\n Object.prototype.hasOwnProperty.call(o, l) && ((r = c ? Object.getOwnPropertyDescriptor(o, l) : null) && (r.get || r.set) ? Object.defineProperty(i, l, r) : i[l] = o[l]);\n return i.default = o, a && a.set(o, i), i;\n }\n t(\"../core/friendly_errors/validate_params\"), t(\"../core/friendly_errors/file_errors\"), t(\"../core/friendly_errors/fes_core\"), u.default.prototype.loadFont = function(o, a, l) {\n u.default._validateParameters(\"loadFont\", arguments);\n var r = new u.default.Font(this), i = this;\n return g.load(o, function(j, T) {\n if (j)\n return u.default._friendlyFileLoadError(4, o), l !== void 0 ? l(j) : void console.error(j, o);\n r.font = T, a !== void 0 && a(r), i._decrementPreload();\n var j = o.split(\"\\\\\").pop().split(\"/\").pop(), T = j.lastIndexOf(\".\"), _ = T < 1 ? null : j.slice(T + 1);\n [\"ttf\", \"otf\", \"woff\", \"woff2\"].includes(_) && (_ = j.slice(0, T !== -1 ? T : 0), (j = document.createElement(\"style\")).appendChild(document.createTextNode(`\n@font-face {\nfont-family: `.concat(_, `;\nsrc: url(`).concat(o, `);\n}\n`))), document.head.appendChild(j));\n }), r;\n }, u.default.prototype.text = function(o, a, l, r, i) {\n var c;\n return u.default._validateParameters(\"text\", arguments), this._renderer._doFill || this._renderer._doStroke ? (c = this._renderer).text.apply(c, arguments) : this;\n }, u.default.prototype.textFont = function(o, a) {\n if (u.default._validateParameters(\"textFont\", arguments), arguments.length) {\n if (o)\n return this._renderer._setProperty(\"_textFont\", o), a && (this._renderer._setProperty(\"_textSize\", a), this._renderer._leadingSet || this._renderer._setProperty(\"_textLeading\", a * h._DEFAULT_LEADMULT)), this._renderer._applyTextProperties();\n throw new Error(\"null font passed to textFont\");\n }\n return this._renderer._textFont;\n };\n var s = u.default;\n C.default = s;\n }, { \"../core/constants\": 269, \"../core/friendly_errors/fes_core\": 271, \"../core/friendly_errors/file_errors\": 272, \"../core/friendly_errors/validate_params\": 275, \"../core/main\": 280, \"core-js/modules/es.array.concat\": 152, \"core-js/modules/es.array.includes\": 162, \"core-js/modules/es.array.iterator\": 164, \"core-js/modules/es.array.last-index-of\": 166, \"core-js/modules/es.array.slice\": 168, \"core-js/modules/es.object.get-own-property-descriptor\": 183, \"core-js/modules/es.object.to-string\": 187, \"core-js/modules/es.regexp.exec\": 192, \"core-js/modules/es.string.iterator\": 197, \"core-js/modules/es.string.split\": 203, \"core-js/modules/es.symbol\": 209, \"core-js/modules/es.symbol.description\": 207, \"core-js/modules/es.symbol.iterator\": 208, \"core-js/modules/es.weak-map\": 241, \"core-js/modules/web.dom-collections.iterator\": 243, \"opentype.js\": 254 }], 318: [function(t, H, C) {\n function m(S) {\n return (m = typeof Symbol == \"function\" && typeof Symbol.iterator == \"symbol\" ? function(E) {\n return typeof E;\n } : function(E) {\n return E && typeof Symbol == \"function\" && E.constructor === Symbol && E !== Symbol.prototype ? \"symbol\" : typeof E;\n })(S);\n }\n t(\"core-js/modules/es.symbol\"), t(\"core-js/modules/es.symbol.description\"), t(\"core-js/modules/es.symbol.iterator\"), t(\"core-js/modules/es.array.concat\"), t(\"core-js/modules/es.array.fill\"), t(\"core-js/modules/es.array.iterator\"), t(\"core-js/modules/es.array.join\"), t(\"core-js/modules/es.array.slice\"), t(\"core-js/modules/es.array.splice\"), t(\"core-js/modules/es.function.name\"), t(\"core-js/modules/es.number.to-fixed\"), t(\"core-js/modules/es.object.get-own-property-descriptor\"), t(\"core-js/modules/es.object.to-string\"), t(\"core-js/modules/es.regexp.exec\"), t(\"core-js/modules/es.string.iterator\"), t(\"core-js/modules/es.string.replace\"), t(\"core-js/modules/es.string.split\"), t(\"core-js/modules/es.weak-map\"), t(\"core-js/modules/web.dom-collections.iterator\"), t(\"core-js/modules/es.symbol\"), t(\"core-js/modules/es.symbol.description\"), t(\"core-js/modules/es.symbol.iterator\"), t(\"core-js/modules/es.array.concat\"), t(\"core-js/modules/es.array.fill\"), t(\"core-js/modules/es.array.iterator\"), t(\"core-js/modules/es.array.join\"), t(\"core-js/modules/es.array.slice\"), t(\"core-js/modules/es.array.splice\"), t(\"core-js/modules/es.function.name\"), t(\"core-js/modules/es.number.to-fixed\"), t(\"core-js/modules/es.object.to-string\"), t(\"core-js/modules/es.regexp.exec\"), t(\"core-js/modules/es.string.iterator\"), t(\"core-js/modules/es.string.replace\"), t(\"core-js/modules/es.string.split\"), t(\"core-js/modules/web.dom-collections.iterator\"), Object.defineProperty(C, \"__esModule\", { value: !0 }), C.default = void 0;\n var y = (y = t(\"../core/main\")) && y.__esModule ? y : { default: y }, u = function(S) {\n if (S && S.__esModule)\n return S;\n if (S === null || g(S) !== \"object\" && typeof S != \"function\")\n return { default: S };\n var E = h();\n if (E && E.has(S))\n return E.get(S);\n var P, x = {}, A = Object.defineProperty && Object.getOwnPropertyDescriptor;\n for (P in S) {\n var M;\n Object.prototype.hasOwnProperty.call(S, P) && ((M = A ? Object.getOwnPropertyDescriptor(S, P) : null) && (M.get || M.set) ? Object.defineProperty(x, P, M) : x[P] = S[P]);\n }\n return x.default = S, E && E.set(S, x), x;\n }(t(\"../core/constants\"));\n function h() {\n var S;\n return typeof WeakMap != \"function\" ? null : (S = /* @__PURE__ */ new WeakMap(), h = function() {\n return S;\n }, S);\n }\n function g(S) {\n return (g = typeof Symbol == \"function\" && m(Symbol.iterator) === \"symbol\" ? function(E) {\n return m(E);\n } : function(E) {\n return E && typeof Symbol == \"function\" && E.constructor === Symbol && E !== Symbol.prototype ? \"symbol\" : m(E);\n })(S);\n }\n function f(S, E) {\n for (var P = 0; P < E.length; P++) {\n var x = E[P];\n x.enumerable = x.enumerable || !1, x.configurable = !0, \"value\" in x && (x.writable = !0), Object.defineProperty(S, x.key, x);\n }\n }\n function n(S, E) {\n var P = S.length;\n return S[E < 0 ? E % P + P : E % P];\n }\n function s(S, E, P, x) {\n var A, M, R;\n return x ? (s.tmpPoint1 === void 0 && (s.tmpPoint1 = [], s.tmpPoint2 = []), M = s.tmpPoint1, R = s.tmpPoint2, M.x = E.x - S.x, M.y = E.y - S.y, R.x = P.x - E.x, R.y = P.y - E.y, A = M.x * R.x + M.y * R.y, M = Math.sqrt(M.x * M.x + M.y * M.y), R = Math.sqrt(R.x * R.x + R.y * R.y), Math.acos(A / (M * R)) < x) : (E[0] - S[0]) * (P[1] - S[1]) - (P[0] - S[0]) * (E[1] - S[1]) == 0;\n }\n function o(O, B, D, Y, K, M, R, L, F) {\n var V = 1 - F, U = Math.pow(V, 3), W = Math.pow(V, 2), b = F * F, X = b * F, G = U * O + 3 * W * F * D + 3 * V * F * F * K + X * R, U = U * B + 3 * W * F * Y + 3 * V * F * F * M + X * L, W = O + 2 * F * (D - O) + b * (K - 2 * D + O), X = B + 2 * F * (Y - B) + b * (M - 2 * Y + B), ne = D + 2 * F * (K - D) + b * (R - 2 * K + D), b = Y + 2 * F * (M - Y) + b * (L - 2 * M + Y), O = V * O + F * D, D = V * B + F * Y, B = V * K + F * R, Y = V * M + F * L, K = 90 - 180 * Math.atan2(W - ne, X - b) / Math.PI;\n return (ne < W || X < b) && (K += 180), { x: G, y: U, m: { x: W, y: X }, n: { x: ne, y: b }, start: { x: O, y: D }, end: { x: B, y: Y }, alpha: K };\n }\n function a(S, E, P, x, A, M, R, L, F) {\n return F == null ? T(S, E, P, x, A, M, R, L) : o(S, E, P, x, A, M, R, L, function(V, G, U, W, X, ne, b, O, D) {\n if (!(D < 0 || T(V, G, U, W, X, ne, b, O) < D)) {\n var B, Y = 0.5, K = 1 - Y;\n for (B = T(V, G, U, W, X, ne, b, O, K); 0.01 < Math.abs(B - D); )\n B = T(V, G, U, W, X, ne, b, O, K += (B < D ? 1 : -1) * (Y /= 2));\n return K;\n }\n }(S, E, P, x, A, M, R, L, F));\n }\n function l(S, E, P) {\n for (var x, A, M, R, L, F = 0, V = 0, G = (S = function(U, W) {\n function X(fe, ge, xe) {\n var De, Me;\n if (!fe)\n return [\"C\", ge.x, ge.y, ge.x, ge.y, ge.x, ge.y];\n switch (fe[0] in { T: 1, Q: 1 } || (ge.qx = ge.qy = null), fe[0]) {\n case \"M\":\n ge.X = fe[1], ge.Y = fe[2];\n break;\n case \"A\":\n fe = [\"C\"].concat(i.apply(0, [ge.x, ge.y].concat(fe.slice(1))));\n break;\n case \"S\":\n Me = xe === \"C\" || xe === \"S\" ? (De = 2 * ge.x - ge.bx, 2 * ge.y - ge.by) : (De = ge.x, ge.y), fe = [\"C\", De, Me].concat(fe.slice(1));\n break;\n case \"T\":\n xe === \"Q\" || xe === \"T\" ? (ge.qx = 2 * ge.x - ge.qx, ge.qy = 2 * ge.y - ge.qy) : (ge.qx = ge.x, ge.qy = ge.y), fe = [\"C\"].concat(j(ge.x, ge.y, ge.qx, ge.qy, fe[1], fe[2]));\n break;\n case \"Q\":\n ge.qx = fe[1], ge.qy = fe[2], fe = [\"C\"].concat(j(ge.x, ge.y, fe[1], fe[2], fe[3], fe[4]));\n break;\n case \"L\":\n fe = [\"C\"].concat(p(ge.x, ge.y, fe[1], fe[2]));\n break;\n case \"H\":\n fe = [\"C\"].concat(p(ge.x, ge.y, fe[1], ge.y));\n break;\n case \"V\":\n fe = [\"C\"].concat(p(ge.x, ge.y, ge.x, fe[1]));\n break;\n case \"Z\":\n fe = [\"C\"].concat(p(ge.x, ge.y, ge.X, ge.Y));\n }\n return fe;\n }\n function ne(fe, ge) {\n if (7 < fe[ge].length) {\n fe[ge].shift();\n for (var xe = fe[ge]; xe.length; )\n te[ge] = \"A\", B && (ce[ge] = \"A\"), fe.splice(ge++, 0, [\"C\"].concat(xe.splice(0, 6)));\n fe.splice(ge, 1), O = Math.max(D.length, B && B.length || 0);\n }\n }\n function b(fe, ge, xe, De, Me) {\n fe && ge && fe[Me][0] === \"M\" && ge[Me][0] !== \"M\" && (ge.splice(Me, 0, [\"M\", De.x, De.y]), xe.bx = 0, xe.by = 0, xe.x = fe[Me][1], xe.y = fe[Me][2], O = Math.max(D.length, B && B.length || 0));\n }\n var O, D = r(U), B = W && r(W), Y = { x: 0, y: 0, bx: 0, by: 0, X: 0, Y: 0, qx: null, qy: null }, K = { x: 0, y: 0, bx: 0, by: 0, X: 0, Y: 0, qx: null, qy: null }, te = [], ce = [], re = \"\", ue = \"\";\n O = Math.max(D.length, B && B.length || 0);\n for (var le = 0; le < O; le++) {\n (re = D[le] ? D[le][0] : re) !== \"C\" && (te[le] = re, le && (ue = te[le - 1])), D[le] = X(D[le], Y, ue), te[le] !== \"A\" && re === \"C\" && (te[le] = \"C\"), ne(D, le), B && ((re = B[le] ? B[le][0] : re) !== \"C\" && (ce[le] = re, le && (ue = ce[le - 1])), B[le] = X(B[le], K, ue), ce[le] !== \"A\" && re === \"C\" && (ce[le] = \"C\"), ne(B, le)), b(D, B, Y, K, le), b(B, D, K, Y, le);\n var J = D[le], ae = B && B[le], he = J.length, _e = B && ae.length;\n Y.x = J[he - 2], Y.y = J[he - 1], Y.bx = parseFloat(J[he - 4]) || Y.x, Y.by = parseFloat(J[he - 3]) || Y.y, K.bx = B && (parseFloat(ae[_e - 4]) || K.x), K.by = B && (parseFloat(ae[_e - 3]) || K.y), K.x = B && ae[_e - 2], K.y = B && ae[_e - 1];\n }\n return B ? [D, B] : D;\n }(S)).length; V < G; V++) {\n if ((M = S[V])[0] === \"M\")\n x = +M[1], A = +M[2];\n else {\n if (E < F + (R = a(x, A, M[1], M[2], M[3], M[4], M[5], M[6])) && !P)\n return { x: (L = a(x, A, M[1], M[2], M[3], M[4], M[5], M[6], E - F)).x, y: L.y, alpha: L.alpha };\n F += R, x = +M[5], A = +M[6];\n }\n M.shift();\n }\n return L = (L = P ? F : o(x, A, M[0], M[1], M[2], M[3], M[4], M[5], 1)).alpha ? { x: L.x, y: L.y, alpha: L.alpha } : L;\n }\n function r(S) {\n var E = [], P = 0, x = 0, A = 0, M = 0, R = 0;\n if (S) {\n S[0][0] === \"M\" && (A = P = +S[0][1], M = x = +S[0][2], R++, E[0] = [\"M\", P, x]);\n for (var L, F, V = S.length === 3 && S[0][0] === \"M\" && S[1][0].toUpperCase() === \"R\" && S[2][0].toUpperCase() === \"Z\", G = R, U = S.length; G < U; G++) {\n if (E.push(L = []), (F = S[G])[0] !== F[0].toUpperCase())\n switch (L[0] = F[0].toUpperCase(), L[0]) {\n case \"A\":\n L[1] = F[1], L[2] = F[2], L[3] = F[3], L[4] = F[4], L[5] = F[5], L[6] = +(F[6] + P), L[7] = +(F[7] + x);\n break;\n case \"V\":\n L[1] = +F[1] + x;\n break;\n case \"H\":\n L[1] = +F[1] + P;\n break;\n case \"R\":\n for (var W, X = 2, ne = (W = [P, x].concat(F.slice(1))).length; X < ne; X++)\n W[X] = +W[X] + P, W[++X] = +W[X] + x;\n E.pop(), E = E.concat(c(W, V));\n break;\n case \"M\":\n A = +F[1] + P, M = +F[2] + x;\n break;\n default:\n for (var b = 1, O = F.length; b < O; b++)\n L[b] = +F[b] + (b % 2 ? P : x);\n }\n else if (F[0] === \"R\")\n W = [P, x].concat(F.slice(1)), E.pop(), E = E.concat(c(W, V)), L = [\"R\"].concat(F.slice(-2));\n else\n for (var D = 0, B = F.length; D < B; D++)\n L[D] = F[D];\n switch (L[0]) {\n case \"Z\":\n P = A, x = M;\n break;\n case \"H\":\n P = L[1];\n break;\n case \"V\":\n x = L[1];\n break;\n case \"M\":\n A = L[L.length - 2], M = L[L.length - 1];\n break;\n default:\n P = L[L.length - 2], x = L[L.length - 1];\n }\n }\n }\n return E;\n }\n function i(S, E, P, x, B, te, Y, L, F, V) {\n function G(_e, fe, ge) {\n return { x: _e * Math.cos(ge) - fe * Math.sin(ge), y: _e * Math.sin(ge) + fe * Math.cos(ge) };\n }\n var U, O = Math.PI, D = 120 * O / 180, W = O / 180 * (+B || 0), X = [], ne = (V ? (le = V[0], U = V[1], re = V[2], ue = V[3]) : (S = (K = G(S, E, -W)).x, E = K.y, 1 < (ne = (b = (S - (L = (K = G(L, F, -W)).x)) / 2) * b / (P * P) + (K = (E - (F = K.y)) / 2) * K / (x * x)) && (P *= ne = Math.sqrt(ne), x *= ne), ne = P * P, ce = x * x, re = (te = (te === Y ? -1 : 1) * Math.sqrt(Math.abs((ne * ce - ne * K * K - ce * b * b) / (ne * K * K + ce * b * b)))) * P * K / x + (S + L) / 2, ue = te * -x * b / P + (E + F) / 2, le = Math.asin(((E - ue) / x).toFixed(9)), U = Math.asin(((F - ue) / x).toFixed(9)), (le = S < re ? O - le : le) < 0 && (le = 2 * O + le), (U = L < re ? O - U : U) < 0 && (U = 2 * O + U), Y && U < le && (le -= 2 * O), !Y && le < U && (U -= 2 * O)), U - le), b = (Math.abs(ne) > D && (ce = U, K = L, te = F, U = le + D * (Y && le < U ? 1 : -1), X = i(L = re + P * Math.cos(U), F = ue + x * Math.sin(U), P, x, B, 0, Y, K, te, [U, ce, re, ue])), ne = U - le, Math.cos(le)), O = Math.sin(le), D = Math.cos(U), B = Math.sin(U), Y = Math.tan(ne / 4), K = 4 / 3 * P * Y, te = 4 / 3 * x * Y, ce = [S, E], re = [S + K * O, E - te * b], ue = [L + K * B, F - te * D], le = [L, F];\n if (re[0] = 2 * ce[0] - re[0], re[1] = 2 * ce[1] - re[1], V)\n return [re, ue, le].concat(X);\n for (var J = [], ae = 0, he = (X = [re, ue, le].concat(X).join().split(\",\")).length; ae < he; ae++)\n J[ae] = ae % 2 ? G(X[ae - 1], X[ae], W).y : G(X[ae], X[ae + 1], W).x;\n return J;\n }\n function c(S, E) {\n for (var P = [], x = 0, A = S.length; x < A - 2 * !E; x += 2) {\n var M = [{ x: +S[x - 2], y: +S[x - 1] }, { x: +S[x], y: +S[x + 1] }, { x: +S[x + 2], y: +S[x + 3] }, { x: +S[x + 4], y: +S[x + 5] }];\n E ? x ? A - 4 === x ? M[3] = { x: +S[0], y: +S[1] } : A - 2 === x && (M[2] = { x: +S[0], y: +S[1] }, M[3] = { x: +S[2], y: +S[3] }) : M[0] = { x: +S[A - 2], y: +S[A - 1] } : A - 4 === x ? M[3] = M[2] : x || (M[0] = { x: +S[x], y: +S[x + 1] }), P.push([\"C\", (-M[0].x + 6 * M[1].x + M[2].x) / 6, (-M[0].y + 6 * M[1].y + M[2].y) / 6, (M[1].x + 6 * M[2].x - M[3].x) / 6, (M[1].y + 6 * M[2].y - M[3].y) / 6, M[2].x, M[2].y]);\n }\n return P;\n }\n function p(S, E, P, x) {\n return [S, E, P, x, P, x];\n }\n function j(S, E, P, x, A, M) {\n return [1 / 3 * S + 2 / 3 * P, 1 / 3 * E + 2 / 3 * x, 1 / 3 * A + 2 / 3 * P, 1 / 3 * M + 2 / 3 * x, A, M];\n }\n function T(S, E, P, x, A, M, R, L, F) {\n for (var V = (F = 1 < (F = F ?? 1) ? 1 : F < 0 ? 0 : F) / 2, G = [-0.1252, 0.1252, -0.3678, 0.3678, -0.5873, 0.5873, -0.7699, 0.7699, -0.9041, 0.9041, -0.9816, 0.9816], U = 0, W = [0.2491, 0.2491, 0.2335, 0.2335, 0.2032, 0.2032, 0.1601, 0.1601, 0.1069, 0.1069, 0.0472, 0.0472], X = 0; X < 12; X++) {\n var b = V * G[X] + V, ne = _(b, S, P, A, R), b = _(b, E, x, M, L);\n U += W[X] * Math.sqrt(ne * ne + b * b);\n }\n return V * U;\n }\n function _(S, E, P, x, A) {\n return S * (S * (-3 * E + 9 * P - 9 * x + 3 * A) + 6 * E - 12 * P + 6 * x) - 3 * E + 3 * P;\n }\n y.default.Font = function() {\n function S(x) {\n if (!(this instanceof S))\n throw new TypeError(\"Cannot call a class as a function\");\n this.parent = x, this.cache = {}, this.font = void 0;\n }\n var E, P;\n return E = S, (P = [{ key: \"textBounds\", value: function(x) {\n var A = 1 < arguments.length && arguments[1] !== void 0 ? arguments[1] : 0, M = 2 < arguments.length && arguments[2] !== void 0 ? arguments[2] : 0, V = 3 < arguments.length ? arguments[3] : void 0, R = 4 < arguments.length ? arguments[4] : void 0, L = R && R.renderer && R.renderer._pInst || this.parent, F = L._renderer.drawingContext, V = (F.textAlign || u.LEFT, F.textBaseline || u.BASELINE, V || L._renderer._textSize);\n if (!K) {\n for (var G = [], U = [], W = [], X = (W[0] = [], []), ne = this._scale(V), b = L._renderer.textLeading(), O = 0, D = (this.font.forEachGlyph(x, A, M, V, R, function(re, ue, le, J) {\n var ae = re.getMetrics();\n re.index === 0 ? W[O += 1] = [] : (W[O].push(ue + ae.xMin * ne), W[O].push(ue + ae.xMax * ne), X.push(le + O * b + -ae.yMin * ne), X.push(le + O * b + -ae.yMax * ne));\n }), 0 < W[O].length && (G[O] = Math.min.apply(null, W[O]), U[O] = Math.max.apply(null, W[O])), 0), B = 0; B <= O; B++) {\n G[B] = Math.min.apply(null, W[B]), U[B] = Math.max.apply(null, W[B]);\n var Y = U[B] - G[B];\n D < Y && (D = Y);\n }\n var F = Math.min.apply(null, G), K = { x: F, y: M = Math.min.apply(null, X), h: Math.max.apply(null, X) - M, w: D, advance: F - A }, V = this._handleAlignment(L._renderer, x, K.x, K.y, K.w + K.advance);\n K.x = V.x, K.y = V.y;\n }\n return K;\n } }, { key: \"textToPoints\", value: function(x, A, M, R, L) {\n var F = A, V = [], G = x.split(/\\r?\\n|\\r|\\n/g);\n R = R || this.parent._renderer._textSize;\n for (var U, W, X, ne = 0; ne < G.length; ne++) {\n var b = 0;\n A = F;\n for (var O = (O = G[ne]).replace(\"\t\", \" \"), D = this._getGlyphs(O), B = 0; B < D.length; B++) {\n if (W = O, !((X = D)[U = B].name && X[U].name === \"space\" || W.length === X.length && W[U] === \" \"))\n for (var Y = function(re) {\n for (var ue, le = [], J = 0; J < re.length; J++)\n re[J].type === \"M\" && (ue && le.push(ue), ue = []), ue.push(function(ae) {\n var he = [ae.type];\n return ae.type === \"M\" || ae.type === \"L\" ? he.push(ae.x, ae.y) : ae.type === \"C\" ? he.push(ae.x1, ae.y1, ae.x2, ae.y2, ae.x, ae.y) : ae.type === \"Q\" && he.push(ae.x1, ae.y1, ae.x, ae.y), he;\n }(re[J]));\n return le.push(ue), le;\n }(D[B].getPath(A, M, R).commands), K = 0; K < Y.length; K++)\n for (var te = function(re, ue) {\n for (var ue = function(fe, ge) {\n if (g(fe) !== \"object\")\n fe = ge;\n else\n for (var xe in ge)\n fe[xe] === void 0 && (fe[xe] = ge[xe]);\n return fe;\n }(ue, { sampleFactor: 0.1, simplifyThreshold: 0 }), le = l(re, 0, 1), J = le / (le * ue.sampleFactor), ae = [], he = 0; he < le; he += J)\n ae.push(l(re, he));\n return ue.simplifyThreshold && function(_e) {\n for (var fe = 1 < arguments.length && arguments[1] !== void 0 ? arguments[1] : 0, ge = 0, xe = _e.length - 1; 3 < _e.length && 0 <= xe; --xe)\n s(n(_e, xe - 1), n(_e, xe), n(_e, xe + 1), fe) && (_e.splice(xe % _e.length, 1), ge++);\n }(ae, ue.simplifyThreshold), ae;\n }(Y[K], L), ce = 0; ce < te.length; ce++)\n te[ce].x += b, V.push(te[ce]);\n b += D[B].advanceWidth * this._scale(R);\n }\n M += this.parent._renderer._textLeading;\n }\n return V;\n } }, { key: \"_getGlyphs\", value: function(x) {\n return this.font.stringToGlyphs(x);\n } }, { key: \"_getPath\", value: function(x, F, M, R) {\n var L = (R && R.renderer && R.renderer._pInst || this.parent)._renderer, F = this._handleAlignment(L, x, F, M);\n return this.font.getPath(x, F.x, F.y, L._textSize, R);\n } }, { key: \"_getPathData\", value: function(x, A, M, R) {\n var L = 3;\n return typeof x == \"string\" && 2 < arguments.length ? x = this._getPath(x, A, M, R) : g(A) === \"object\" && (R = A), R && typeof R.decimals == \"number\" && (L = R.decimals), x.toPathData(L);\n } }, { key: \"_getSVG\", value: function(x, A, M, R) {\n var L = 3;\n return typeof x == \"string\" && 2 < arguments.length ? x = this._getPath(x, A, M, R) : g(A) === \"object\" && (R = A), R && (typeof R.decimals == \"number\" && (L = R.decimals), typeof R.strokeWidth == \"number\" && (x.strokeWidth = R.strokeWidth), R.fill !== void 0 && (x.fill = R.fill), R.stroke !== void 0 && (x.stroke = R.stroke)), x.toSVG(L);\n } }, { key: \"_renderPath\", value: function(V, U, W, R) {\n var L = R && R.renderer || this.parent._renderer, F = L.drawingContext, V = (g(V) === \"object\" && V.commands ? V : this._getPath(V, U, W, R)).commands, G = (F.beginPath(), !0), U = !1, W = void 0;\n try {\n for (var X, ne = V[Symbol.iterator](); !(G = (X = ne.next()).done); G = !0) {\n var b = X.value;\n b.type === \"M\" ? F.moveTo(b.x, b.y) : b.type === \"L\" ? F.lineTo(b.x, b.y) : b.type === \"C\" ? F.bezierCurveTo(b.x1, b.y1, b.x2, b.y2, b.x, b.y) : b.type === \"Q\" ? F.quadraticCurveTo(b.x1, b.y1, b.x, b.y) : b.type === \"Z\" && F.closePath();\n }\n } catch (O) {\n U = !0, W = O;\n } finally {\n try {\n G || ne.return == null || ne.return();\n } finally {\n if (U)\n throw W;\n }\n }\n return L._doStroke && L._strokeSet && !L._clipping && F.stroke(), L._doFill && !L._clipping && (L._fillSet || L._setFill(u._DEFAULT_TEXT_FILL), F.fill()), this;\n } }, { key: \"_textWidth\", value: function(x, A) {\n return this.font.getAdvanceWidth(x, A);\n } }, { key: \"_textAscent\", value: function(x) {\n return this.font.ascender * this._scale(x);\n } }, { key: \"_textDescent\", value: function(x) {\n return -this.font.descender * this._scale(x);\n } }, { key: \"_scale\", value: function(x) {\n return 1 / this.font.unitsPerEm * (x || this.parent._renderer._textSize);\n } }, { key: \"_handleAlignment\", value: function(x, A, M, R, L) {\n var F = x._textSize;\n switch (L === void 0 && (L = this._textWidth(A, F)), x._textAlign) {\n case u.CENTER:\n M -= L / 2;\n break;\n case u.RIGHT:\n M -= L;\n }\n switch (x._textBaseline) {\n case u.TOP:\n R += this._textAscent(F);\n break;\n case u.CENTER:\n R += this._textAscent(F) / 2;\n break;\n case u.BOTTOM:\n R -= this._textDescent(F);\n }\n return { x: M, y: R };\n } }]) && f(E.prototype, P), S;\n }(), t = y.default, C.default = t;\n }, { \"../core/constants\": 269, \"../core/main\": 280, \"core-js/modules/es.array.concat\": 152, \"core-js/modules/es.array.fill\": 155, \"core-js/modules/es.array.iterator\": 164, \"core-js/modules/es.array.join\": 165, \"core-js/modules/es.array.slice\": 168, \"core-js/modules/es.array.splice\": 170, \"core-js/modules/es.function.name\": 173, \"core-js/modules/es.number.to-fixed\": 180, \"core-js/modules/es.object.get-own-property-descriptor\": 183, \"core-js/modules/es.object.to-string\": 187, \"core-js/modules/es.regexp.exec\": 192, \"core-js/modules/es.string.iterator\": 197, \"core-js/modules/es.string.replace\": 201, \"core-js/modules/es.string.split\": 203, \"core-js/modules/es.symbol\": 209, \"core-js/modules/es.symbol.description\": 207, \"core-js/modules/es.symbol.iterator\": 208, \"core-js/modules/es.weak-map\": 241, \"core-js/modules/web.dom-collections.iterator\": 243 }], 319: [function(t, H, C) {\n t(\"core-js/modules/es.array.concat\"), t(\"core-js/modules/es.array.slice\"), t(\"core-js/modules/es.array.splice\"), t(\"core-js/modules/es.array-buffer.constructor\"), t(\"core-js/modules/es.object.to-string\"), t(\"core-js/modules/es.array.concat\"), t(\"core-js/modules/es.array.slice\"), t(\"core-js/modules/es.array.splice\"), t(\"core-js/modules/es.array-buffer.constructor\"), t(\"core-js/modules/es.object.to-string\"), Object.defineProperty(C, \"__esModule\", { value: !0 }), C.default = void 0, t = (t = t(\"../core/main\")) && t.__esModule ? t : { default: t }, t.default.prototype.append = function(m, y) {\n return m.push(y), m;\n }, t.default.prototype.arrayCopy = function(m, y, u, h, g) {\n var f, n;\n m = g !== void 0 ? (n = Math.min(g, m.length), f = h, m.slice(y, n + y)) : (n = u !== void 0 ? (n = u, Math.min(n, m.length)) : m.length, u = y, m.slice(f = 0, n)), Array.prototype.splice.apply(u, [f, n].concat(m));\n }, t.default.prototype.concat = function(m, y) {\n return m.concat(y);\n }, t.default.prototype.reverse = function(m) {\n return m.reverse();\n }, t.default.prototype.shorten = function(m) {\n return m.pop(), m;\n }, t.default.prototype.shuffle = function(m, y) {\n for (var u, h, g = ArrayBuffer && ArrayBuffer.isView && ArrayBuffer.isView(m), f = (m = y || g ? m : m.slice()).length; 1 < f; )\n u = this.random(0, 1) * f | 0, h = m[--f], m[f] = m[u], m[u] = h;\n return m;\n }, t.default.prototype.sort = function(m, h) {\n var u = h ? m.slice(0, Math.min(h, m.length)) : m, h = h ? m.slice(Math.min(h, m.length)) : [];\n return (u = typeof u[0] == \"string\" ? u.sort() : u.sort(function(g, f) {\n return g - f;\n })).concat(h);\n }, t.default.prototype.splice = function(m, y, u) {\n return Array.prototype.splice.apply(m, [u, 0].concat(y)), m;\n }, t.default.prototype.subset = function(m, y, u) {\n return u !== void 0 ? m.slice(y, y + u) : m.slice(y, m.length);\n }, t = t.default, C.default = t;\n }, { \"../core/main\": 280, \"core-js/modules/es.array-buffer.constructor\": 151, \"core-js/modules/es.array.concat\": 152, \"core-js/modules/es.array.slice\": 168, \"core-js/modules/es.array.splice\": 170, \"core-js/modules/es.object.to-string\": 187 }], 320: [function(t, H, C) {\n t(\"core-js/modules/es.array.map\"), t(\"core-js/modules/es.number.constructor\"), t(\"core-js/modules/es.object.to-string\"), t(\"core-js/modules/es.regexp.to-string\"), t(\"core-js/modules/es.string.repeat\"), t(\"core-js/modules/es.array.map\"), t(\"core-js/modules/es.number.constructor\"), t(\"core-js/modules/es.object.to-string\"), t(\"core-js/modules/es.regexp.to-string\"), t(\"core-js/modules/es.string.repeat\"), Object.defineProperty(C, \"__esModule\", { value: !0 }), C.default = void 0;\n var m = (t = t(\"../core/main\")) && t.__esModule ? t : { default: t };\n m.default.prototype.float = function(y) {\n return y instanceof Array ? y.map(parseFloat) : parseFloat(y);\n }, m.default.prototype.int = function(y) {\n var u = 1 < arguments.length && arguments[1] !== void 0 ? arguments[1] : 10;\n return y === 1 / 0 || y === \"Infinity\" ? 1 / 0 : y === -1 / 0 || y === \"-Infinity\" ? -1 / 0 : typeof y == \"string\" ? parseInt(y, u) : typeof y == \"number\" ? 0 | y : typeof y == \"boolean\" ? y ? 1 : 0 : y instanceof Array ? y.map(function(h) {\n return m.default.prototype.int(h, u);\n }) : void 0;\n }, m.default.prototype.str = function(y) {\n return y instanceof Array ? y.map(m.default.prototype.str) : String(y);\n }, m.default.prototype.boolean = function(y) {\n return typeof y == \"number\" ? y !== 0 : typeof y == \"string\" ? y.toLowerCase() === \"true\" : typeof y == \"boolean\" ? y : y instanceof Array ? y.map(m.default.prototype.boolean) : void 0;\n }, m.default.prototype.byte = function(y) {\n return y = m.default.prototype.int(y, 10), typeof y == \"number\" ? (y + 128) % 256 - 128 : y instanceof Array ? y.map(m.default.prototype.byte) : void 0;\n }, m.default.prototype.char = function(y) {\n return typeof y != \"number\" || isNaN(y) ? y instanceof Array ? y.map(m.default.prototype.char) : typeof y == \"string\" ? m.default.prototype.char(parseInt(y, 10)) : void 0 : String.fromCharCode(y);\n }, m.default.prototype.unchar = function(y) {\n return typeof y == \"string\" && y.length === 1 ? y.charCodeAt(0) : y instanceof Array ? y.map(m.default.prototype.unchar) : void 0;\n }, m.default.prototype.hex = function(y, u) {\n if (u = u ?? 8, y instanceof Array)\n return y.map(function(g) {\n return m.default.prototype.hex(g, u);\n });\n if (y === 1 / 0 || y === -1 / 0)\n return (y === 1 / 0 ? \"F\" : \"0\").repeat(u);\n if (typeof y == \"number\") {\n y < 0 && (y = 4294967295 + y + 1);\n for (var h = Number(y).toString(16).toUpperCase(); h.length < u; )\n h = \"0\".concat(h);\n return h = h.length >= u ? h.substring(h.length - u, h.length) : h;\n }\n }, m.default.prototype.unhex = function(y) {\n return y instanceof Array ? y.map(m.default.prototype.unhex) : parseInt(\"0x\".concat(y), 16);\n }, t = m.default, C.default = t;\n }, { \"../core/main\": 280, \"core-js/modules/es.array.map\": 167, \"core-js/modules/es.number.constructor\": 178, \"core-js/modules/es.object.to-string\": 187, \"core-js/modules/es.regexp.to-string\": 193, \"core-js/modules/es.string.repeat\": 200 }], 321: [function(t, H, C) {\n t(\"core-js/modules/es.symbol\"), t(\"core-js/modules/es.symbol.description\"), t(\"core-js/modules/es.symbol.iterator\"), t(\"core-js/modules/es.array.filter\"), t(\"core-js/modules/es.array.index-of\"), t(\"core-js/modules/es.array.iterator\"), t(\"core-js/modules/es.array.join\"), t(\"core-js/modules/es.array.map\"), t(\"core-js/modules/es.array.slice\"), t(\"core-js/modules/es.number.to-fixed\"), t(\"core-js/modules/es.object.to-string\"), t(\"core-js/modules/es.regexp.constructor\"), t(\"core-js/modules/es.regexp.exec\"), t(\"core-js/modules/es.regexp.to-string\"), t(\"core-js/modules/es.string.iterator\"), t(\"core-js/modules/es.string.match\"), t(\"core-js/modules/es.string.pad-start\"), t(\"core-js/modules/es.string.replace\"), t(\"core-js/modules/es.string.split\"), t(\"core-js/modules/es.string.trim\"), t(\"core-js/modules/web.dom-collections.iterator\"), t(\"core-js/modules/es.array.filter\"), t(\"core-js/modules/es.array.index-of\"), t(\"core-js/modules/es.array.join\"), t(\"core-js/modules/es.array.map\"), t(\"core-js/modules/es.array.slice\"), t(\"core-js/modules/es.number.to-fixed\"), t(\"core-js/modules/es.object.to-string\"), t(\"core-js/modules/es.regexp.constructor\"), t(\"core-js/modules/es.regexp.exec\"), t(\"core-js/modules/es.regexp.to-string\"), t(\"core-js/modules/es.string.match\"), t(\"core-js/modules/es.string.pad-start\"), t(\"core-js/modules/es.string.replace\"), t(\"core-js/modules/es.string.split\"), t(\"core-js/modules/es.string.trim\"), Object.defineProperty(C, \"__esModule\", { value: !0 }), C.default = void 0;\n var m = (n = t(\"../core/main\")) && n.__esModule ? n : { default: n };\n function y(s, o) {\n return function(a) {\n if (Array.isArray(a))\n return a;\n }(s) || function(a, l) {\n if (Symbol.iterator in Object(a) || Object.prototype.toString.call(a) === \"[object Arguments]\") {\n var r = [], i = !0, c = !1, p = void 0;\n try {\n for (var j, T = a[Symbol.iterator](); !(i = (j = T.next()).done) && (r.push(j.value), !l || r.length !== l); i = !0)\n ;\n } catch (_) {\n c = !0, p = _;\n } finally {\n try {\n i || T.return == null || T.return();\n } finally {\n if (c)\n throw p;\n }\n }\n return r;\n }\n }(s, o) || function() {\n throw new TypeError(\"Invalid attempt to destructure non-iterable instance\");\n }();\n }\n function u(s, o, a) {\n var r = y(s.toString().split(\".\"), 2), l = r[0], r = r[1];\n return a === void 0 ? (l = l.padStart(o, \"0\"), r ? l + \".\" + r : l) : (l = (s = y(s.toFixed(a).toString().split(\".\"), 2))[0], r = s[1], l = l.padStart(o, \"0\"), r === void 0 ? l : l + \".\" + r);\n }\n function h(r, o) {\n var a = (r = r.toString()).indexOf(\".\"), l = a !== -1 ? r.substring(a) : \"\", r = (r = a !== -1 ? r.substring(0, a) : r).toString().replace(/\\B(?=(\\d{3})+(?!\\d))/g, \",\");\n if (o === 0)\n l = \"\";\n else if (o !== void 0)\n if (o > l.length)\n for (var i = o - (l += a === -1 ? \".\" : \"\").length + 1, c = 0; c < i; c++)\n l += \"0\";\n else\n l = l.substring(0, o + 1);\n return r + l;\n }\n function g(s) {\n return 0 < parseFloat(s) ? \"+\".concat(s.toString()) : s.toString();\n }\n function f(s) {\n return 0 <= parseFloat(s) ? \" \".concat(s.toString()) : s.toString();\n }\n t(\"../core/friendly_errors/validate_params\"), t(\"../core/friendly_errors/file_errors\"), t(\"../core/friendly_errors/fes_core\"), m.default.prototype.join = function(s, o) {\n return m.default._validateParameters(\"join\", arguments), s.join(o);\n }, m.default.prototype.match = function(s, o) {\n return m.default._validateParameters(\"match\", arguments), s.match(o);\n }, m.default.prototype.matchAll = function(s, o) {\n m.default._validateParameters(\"matchAll\", arguments);\n for (var a = new RegExp(o, \"g\"), l = a.exec(s), r = []; l !== null; )\n r.push(l), l = a.exec(s);\n return r;\n }, m.default.prototype.nf = function(s, o, a) {\n return m.default._validateParameters(\"nf\", arguments), s instanceof Array ? s.map(function(l) {\n return u(l, o, a);\n }) : Object.prototype.toString.call(s) === \"[object Arguments]\" ? s.length === 3 ? this.nf(s[0], s[1], s[2]) : s.length === 2 ? this.nf(s[0], s[1]) : this.nf(s[0]) : u(s, o, a);\n }, m.default.prototype.nfc = function(s, o) {\n return m.default._validateParameters(\"nfc\", arguments), s instanceof Array ? s.map(function(a) {\n return h(a, o);\n }) : h(s, o);\n }, m.default.prototype.nfp = function() {\n for (var s = arguments.length, o = new Array(s), a = 0; a < s; a++)\n o[a] = arguments[a];\n m.default._validateParameters(\"nfp\", o);\n var l = m.default.prototype.nf.apply(this, o);\n return l instanceof Array ? l.map(g) : g(l);\n }, m.default.prototype.nfs = function() {\n for (var s = arguments.length, o = new Array(s), a = 0; a < s; a++)\n o[a] = arguments[a];\n m.default._validateParameters(\"nfs\", o);\n var l = m.default.prototype.nf.apply(this, o);\n return l instanceof Array ? l.map(f) : f(l);\n }, m.default.prototype.split = function(s, o) {\n return m.default._validateParameters(\"split\", arguments), s.split(o);\n }, m.default.prototype.splitTokens = function(s, o) {\n var a, l;\n return m.default._validateParameters(\"splitTokens\", arguments), l = o !== void 0 ? (l = /\\]/g.exec(o = o), (a = /\\[/g.exec(o)) && l ? (o = o.slice(0, l.index) + o.slice(l.index + 1), a = /\\[/g.exec(o), o = o.slice(0, a.index) + o.slice(a.index + 1), new RegExp(\"[\\\\[\".concat(o, \"\\\\]]\"), \"g\")) : l ? (o = o.slice(0, l.index) + o.slice(l.index + 1), new RegExp(\"[\".concat(o, \"\\\\]]\"), \"g\")) : a ? (o = o.slice(0, a.index) + o.slice(a.index + 1), new RegExp(\"[\".concat(o, \"\\\\[]\"), \"g\")) : new RegExp(\"[\".concat(o, \"]\"), \"g\")) : /\\s/g, s.split(l).filter(function(r) {\n return r;\n });\n }, m.default.prototype.trim = function(s) {\n return m.default._validateParameters(\"trim\", arguments), s instanceof Array ? s.map(this.trim) : s.trim();\n };\n var n = m.default;\n C.default = n;\n }, { \"../core/friendly_errors/fes_core\": 271, \"../core/friendly_errors/file_errors\": 272, \"../core/friendly_errors/validate_params\": 275, \"../core/main\": 280, \"core-js/modules/es.array.filter\": 156, \"core-js/modules/es.array.index-of\": 163, \"core-js/modules/es.array.iterator\": 164, \"core-js/modules/es.array.join\": 165, \"core-js/modules/es.array.map\": 167, \"core-js/modules/es.array.slice\": 168, \"core-js/modules/es.number.to-fixed\": 180, \"core-js/modules/es.object.to-string\": 187, \"core-js/modules/es.regexp.constructor\": 191, \"core-js/modules/es.regexp.exec\": 192, \"core-js/modules/es.regexp.to-string\": 193, \"core-js/modules/es.string.iterator\": 197, \"core-js/modules/es.string.match\": 198, \"core-js/modules/es.string.pad-start\": 199, \"core-js/modules/es.string.replace\": 201, \"core-js/modules/es.string.split\": 203, \"core-js/modules/es.string.trim\": 206, \"core-js/modules/es.symbol\": 209, \"core-js/modules/es.symbol.description\": 207, \"core-js/modules/es.symbol.iterator\": 208, \"core-js/modules/web.dom-collections.iterator\": 243 }], 322: [function(t, H, C) {\n Object.defineProperty(C, \"__esModule\", { value: !0 }), C.default = void 0, t = (t = t(\"../core/main\")) && t.__esModule ? t : { default: t }, t.default.prototype.day = function() {\n return (/* @__PURE__ */ new Date()).getDate();\n }, t.default.prototype.hour = function() {\n return (/* @__PURE__ */ new Date()).getHours();\n }, t.default.prototype.minute = function() {\n return (/* @__PURE__ */ new Date()).getMinutes();\n }, t.default.prototype.millis = function() {\n return this._millisStart === -1 ? 0 : window.performance.now() - this._millisStart;\n }, t.default.prototype.month = function() {\n return (/* @__PURE__ */ new Date()).getMonth() + 1;\n }, t.default.prototype.second = function() {\n return (/* @__PURE__ */ new Date()).getSeconds();\n }, t.default.prototype.year = function() {\n return (/* @__PURE__ */ new Date()).getFullYear();\n }, t = t.default, C.default = t;\n }, { \"../core/main\": 280 }], 323: [function(t, H, C) {\n function m(s) {\n return (m = typeof Symbol == \"function\" && typeof Symbol.iterator == \"symbol\" ? function(o) {\n return typeof o;\n } : function(o) {\n return o && typeof Symbol == \"function\" && o.constructor === Symbol && o !== Symbol.prototype ? \"symbol\" : typeof o;\n })(s);\n }\n function y(s) {\n return (y = typeof Symbol == \"function\" && m(Symbol.iterator) === \"symbol\" ? function(o) {\n return m(o);\n } : function(o) {\n return o && typeof Symbol == \"function\" && o.constructor === Symbol && o !== Symbol.prototype ? \"symbol\" : m(o);\n })(s);\n }\n t(\"core-js/modules/es.symbol\"), t(\"core-js/modules/es.symbol.description\"), t(\"core-js/modules/es.symbol.iterator\"), t(\"core-js/modules/es.array.concat\"), t(\"core-js/modules/es.array.for-each\"), t(\"core-js/modules/es.array.iterator\"), t(\"core-js/modules/es.array.slice\"), t(\"core-js/modules/es.math.hypot\"), t(\"core-js/modules/es.math.sign\"), t(\"core-js/modules/es.number.to-fixed\"), t(\"core-js/modules/es.object.get-own-property-descriptor\"), t(\"core-js/modules/es.object.to-string\"), t(\"core-js/modules/es.string.iterator\"), t(\"core-js/modules/es.weak-map\"), t(\"core-js/modules/web.dom-collections.iterator\"), t(\"core-js/modules/es.symbol\"), t(\"core-js/modules/es.symbol.description\"), t(\"core-js/modules/es.symbol.iterator\"), t(\"core-js/modules/es.array.concat\"), t(\"core-js/modules/es.array.for-each\"), t(\"core-js/modules/es.array.iterator\"), t(\"core-js/modules/es.array.slice\"), t(\"core-js/modules/es.math.hypot\"), t(\"core-js/modules/es.math.sign\"), t(\"core-js/modules/es.number.to-fixed\"), t(\"core-js/modules/es.object.to-string\"), t(\"core-js/modules/es.string.iterator\"), t(\"core-js/modules/web.dom-collections.iterator\"), Object.defineProperty(C, \"__esModule\", { value: !0 }), C.default = void 0;\n var u = (n = t(\"../core/main\")) && n.__esModule ? n : { default: n }, h = (t(\"./p5.Geometry\"), function(s) {\n if (s && s.__esModule)\n return s;\n if (s === null || y(s) !== \"object\" && typeof s != \"function\")\n return { default: s };\n var o = g();\n if (o && o.has(s))\n return o.get(s);\n var a, l = {}, r = Object.defineProperty && Object.getOwnPropertyDescriptor;\n for (a in s) {\n var i;\n Object.prototype.hasOwnProperty.call(s, a) && ((i = r ? Object.getOwnPropertyDescriptor(s, a) : null) && (i.get || i.set) ? Object.defineProperty(l, a, i) : l[a] = s[a]);\n }\n return l.default = s, o && o.set(s, l), l;\n }(t(\"../core/constants\")));\n function g() {\n var s;\n return typeof WeakMap != \"function\" ? null : (s = /* @__PURE__ */ new WeakMap(), g = function() {\n return s;\n }, s);\n }\n u.default.prototype.beginGeometry = function() {\n return this._renderer.beginGeometry();\n }, u.default.prototype.endGeometry = function() {\n return this._renderer.endGeometry();\n }, u.default.prototype.buildGeometry = function(s) {\n return this._renderer.buildGeometry(s);\n }, u.default.prototype.freeGeometry = function(s) {\n this._renderer._freeBuffers(s.gid);\n }, u.default.prototype.plane = function() {\n var s, o = 0 < arguments.length && arguments[0] !== void 0 ? arguments[0] : 50, a = 1 < arguments.length && arguments[1] !== void 0 ? arguments[1] : o, l = 2 < arguments.length && arguments[2] !== void 0 ? arguments[2] : 1, r = 3 < arguments.length && arguments[3] !== void 0 ? arguments[3] : 1, i = (this._assert3d(\"plane\"), u.default._validateParameters(\"plane\", arguments), \"plane|\".concat(l, \"|\").concat(r));\n return this._renderer.geometryInHash(i) || ((s = new u.default.Geometry(l, r, function() {\n for (var c, p, j = 0; j <= this.detailY; j++)\n for (var T = j / this.detailY, _ = 0; _ <= this.detailX; _++)\n c = _ / this.detailX, p = new u.default.Vector(c - 0.5, T - 0.5, 0), this.vertices.push(p), this.uvs.push(c, T);\n })).computeFaces().computeNormals(), l <= 1 && r <= 1 ? s._makeTriangleEdges()._edgesToVertices() : this._renderer._doStroke && console.log(\"Cannot draw stroke on plane objects with more than 1 detailX or 1 detailY\"), this._renderer.createBuffers(i, s)), this._renderer.drawBuffersScaled(i, o, a, 1), this;\n }, u.default.prototype.box = function(s, o, a, l, r) {\n this._assert3d(\"box\"), u.default._validateParameters(\"box\", arguments), s === void 0 && (s = 50), o === void 0 && (o = s), a === void 0 && (a = o);\n var i, c = this._renderer.attributes && this._renderer.attributes.perPixelLighting, c = (r === void 0 && (r = c ? 1 : 4), \"box|\".concat(l = l === void 0 ? c ? 1 : 4 : l, \"|\").concat(r));\n return this._renderer.geometryInHash(c) || ((i = new u.default.Geometry(l, r, function() {\n var p = this;\n this.edges = [[0, 1], [1, 3], [3, 2], [6, 7], [8, 9], [9, 11], [14, 15], [16, 17], [17, 19], [18, 19], [20, 21], [22, 23]], [[0, 4, 2, 6], [1, 3, 5, 7], [0, 1, 4, 5], [2, 6, 3, 7], [0, 2, 1, 3], [4, 5, 6, 7]].forEach(function(j, T) {\n for (var T = 4 * T, _ = 0; _ < 4; _++) {\n var S = j[_], S = new u.default.Vector((2 * (1 & S) - 1) / 2, ((2 & S) - 1) / 2, ((4 & S) / 2 - 1) / 2);\n p.vertices.push(S), p.uvs.push(1 & _, (2 & _) / 2);\n }\n p.faces.push([T, 1 + T, 2 + T]), p.faces.push([2 + T, 1 + T, 3 + T]);\n });\n })).computeNormals(), l <= 4 && r <= 4 ? i._edgesToVertices() : this._renderer._doStroke && console.log(\"Cannot draw stroke on box objects with more than 4 detailX or 4 detailY\"), this._renderer.createBuffers(c, i)), this._renderer.drawBuffersScaled(c, s, o, a), this;\n }, u.default.prototype.sphere = function() {\n var s = 0 < arguments.length && arguments[0] !== void 0 ? arguments[0] : 50, o = 1 < arguments.length && arguments[1] !== void 0 ? arguments[1] : 24, a = 2 < arguments.length && arguments[2] !== void 0 ? arguments[2] : 16;\n return this._assert3d(\"sphere\"), u.default._validateParameters(\"sphere\", arguments), this.ellipsoid(s, s, s, o, a), this;\n };\n function f(s, o, a, l, r, i, c) {\n s = s <= 0 ? 1 : s, o = o < 0 ? 0 : o, a = a <= 0 ? s : a, l = l < 3 ? 3 : l;\n for (var p, j, T = (i = i === void 0 || i) ? -2 : 0, _ = (r = r < 1 ? 1 : r) + ((c = c === void 0 ? o !== 0 : c) ? 2 : 0), S = Math.atan2(s - o, a), E = Math.sin(S), P = Math.cos(S), x = T; x <= _; ++x) {\n var A = x / r, M = a * A, R = void 0, R = x < 0 ? (A = M = 0, s) : r < x ? (M = a, A = 1, o) : s + (o - s) * A;\n for (x !== -2 && x !== r + 2 || (R = 0), M -= a / 2, p = 0; p < l; ++p) {\n var L = p / (l - 1), V = 2 * Math.PI * L, F = Math.sin(V), V = Math.cos(V), G = (this.vertices.push(new u.default.Vector(F * R, M, V * R)), void 0), G = x < 0 ? new u.default.Vector(0, -1, 0) : r < x && o ? new u.default.Vector(0, 1, 0) : new u.default.Vector(F * P, E, V * P);\n this.vertexNormals.push(G), this.uvs.push(L, A);\n }\n }\n var U = 0;\n if (i) {\n for (j = 0; j < l; ++j)\n this.faces.push([U + j, U + l + (j + 1) % l, U + l + j]);\n U += 2 * l;\n }\n for (x = 0; x < r; ++x) {\n for (p = 0; p < l; ++p) {\n var W = (p + 1) % l;\n this.faces.push([U + p, U + W, U + l + W]), this.faces.push([U + p, U + l + W, U + l + p]);\n }\n U += l;\n }\n if (c)\n for (U += l, p = 0; p < l; ++p)\n this.faces.push([U + p, U + (p + 1) % l, U + l]);\n }\n u.default.prototype.cylinder = function() {\n var s, o = 0 < arguments.length && arguments[0] !== void 0 ? arguments[0] : 50, a = 1 < arguments.length && arguments[1] !== void 0 ? arguments[1] : o, l = 2 < arguments.length && arguments[2] !== void 0 ? arguments[2] : 24, r = 3 < arguments.length && arguments[3] !== void 0 ? arguments[3] : 1, i = !(4 < arguments.length && arguments[4] !== void 0) || arguments[4], c = !(5 < arguments.length && arguments[5] !== void 0) || arguments[5], p = (this._assert3d(\"cylinder\"), u.default._validateParameters(\"cylinder\", arguments), \"cylinder|\".concat(l, \"|\").concat(r, \"|\").concat(i, \"|\").concat(c));\n return this._renderer.geometryInHash(p) || (s = new u.default.Geometry(l, r), f.call(s, 1, 1, 1, l, r, i, c), l <= 24 && r <= 16 ? s._makeTriangleEdges()._edgesToVertices() : this._renderer._doStroke && console.log(\"Cannot draw stroke on cylinder objects with more than 24 detailX or 16 detailY\"), this._renderer.createBuffers(p, s)), this._renderer.drawBuffersScaled(p, o, a, o), this;\n }, u.default.prototype.cone = function() {\n var s, o = 0 < arguments.length && arguments[0] !== void 0 ? arguments[0] : 50, a = 1 < arguments.length && arguments[1] !== void 0 ? arguments[1] : o, l = 2 < arguments.length && arguments[2] !== void 0 ? arguments[2] : 24, r = 3 < arguments.length && arguments[3] !== void 0 ? arguments[3] : 1, i = !(4 < arguments.length && arguments[4] !== void 0) || arguments[4], c = (this._assert3d(\"cone\"), u.default._validateParameters(\"cone\", arguments), \"cone|\".concat(l, \"|\").concat(r, \"|\").concat(i));\n return this._renderer.geometryInHash(c) || (s = new u.default.Geometry(l, r), f.call(s, 1, 0, 1, l, r, i, !1), l <= 24 && r <= 16 ? s._makeTriangleEdges()._edgesToVertices() : this._renderer._doStroke && console.log(\"Cannot draw stroke on cone objects with more than 24 detailX or 16 detailY\"), this._renderer.createBuffers(c, s)), this._renderer.drawBuffersScaled(c, o, a, o), this;\n }, u.default.prototype.ellipsoid = function() {\n var s, o = 0 < arguments.length && arguments[0] !== void 0 ? arguments[0] : 50, a = 1 < arguments.length && arguments[1] !== void 0 ? arguments[1] : o, l = 2 < arguments.length && arguments[2] !== void 0 ? arguments[2] : o, r = 3 < arguments.length && arguments[3] !== void 0 ? arguments[3] : 24, i = 4 < arguments.length && arguments[4] !== void 0 ? arguments[4] : 16, c = (this._assert3d(\"ellipsoid\"), u.default._validateParameters(\"ellipsoid\", arguments), \"ellipsoid|\".concat(r, \"|\").concat(i));\n return this._renderer.geometryInHash(c) || ((s = new u.default.Geometry(r, i, function() {\n for (var p = 0; p <= this.detailY; p++)\n for (var j = p / this.detailY, T = Math.PI * j - Math.PI / 2, _ = Math.cos(T), S = Math.sin(T), E = 0; E <= this.detailX; E++) {\n var P = E / this.detailX, A = 2 * Math.PI * P, x = Math.cos(A), A = Math.sin(A), A = new u.default.Vector(_ * A, S, _ * x);\n this.vertices.push(A), this.vertexNormals.push(A), this.uvs.push(P, j);\n }\n })).computeFaces(), r <= 24 && i <= 24 ? s._makeTriangleEdges()._edgesToVertices() : this._renderer._doStroke && console.log(\"Cannot draw stroke on ellipsoids with more than 24 detailX or 24 detailY\"), this._renderer.createBuffers(c, s)), this._renderer.drawBuffersScaled(c, o, a, l), this;\n }, u.default.prototype.torus = function(s, c, a, l) {\n if (this._assert3d(\"torus\"), u.default._validateParameters(\"torus\", arguments), s === void 0)\n s = 50;\n else if (!s)\n return;\n if (c === void 0)\n c = 10;\n else if (!c)\n return;\n a === void 0 && (a = 24), l === void 0 && (l = 16);\n var r, i = (c / s).toPrecision(4), c = \"torus|\".concat(i, \"|\").concat(a, \"|\").concat(l);\n return this._renderer.geometryInHash(c) || ((r = new u.default.Geometry(a, l, function() {\n for (var p = 0; p <= this.detailY; p++)\n for (var j = p / this.detailY, T = 2 * Math.PI * j, _ = Math.cos(T), S = Math.sin(T), E = 1 + i * _, P = 0; P <= this.detailX; P++) {\n var x = P / this.detailX, A = 2 * Math.PI * x, R = Math.cos(A), A = Math.sin(A), M = new u.default.Vector(E * R, E * A, i * S), R = new u.default.Vector(_ * R, _ * A, S);\n this.vertices.push(M), this.vertexNormals.push(R), this.uvs.push(x, j);\n }\n })).computeFaces(), a <= 24 && l <= 16 ? r._makeTriangleEdges()._edgesToVertices() : this._renderer._doStroke && console.log(\"Cannot draw strokes on torus object with more than 24 detailX or 16 detailY\"), this._renderer.createBuffers(c, r)), this._renderer.drawBuffersScaled(c, s, s, s), this;\n }, u.default.RendererGL.prototype.point = function(s, o) {\n var a = [];\n return a.push(new u.default.Vector(s, o, 2 < arguments.length && arguments[2] !== void 0 ? arguments[2] : 0)), this._drawPoints(a, this.immediateMode.buffers.point), this;\n }, u.default.RendererGL.prototype.triangle = function(c) {\n var o = c[0], a = c[1], l = c[2], r = c[3], i = c[4], c = c[5], p = (this.geometryInHash(\"tri\") || ((p = new u.default.Geometry(1, 1, function() {\n var _ = [];\n _.push(new u.default.Vector(0, 0, 0)), _.push(new u.default.Vector(1, 0, 0)), _.push(new u.default.Vector(0, 1, 0)), this.edges = [[0, 1], [1, 2], [2, 0]], this.vertices = _, this.faces = [[0, 1, 2]], this.uvs = [0, 0, 1, 0, 1, 1];\n }))._edgesToVertices(), p.computeNormals(), this.createBuffers(\"tri\", p)), this.uMVMatrix.copy());\n try {\n var j = Math.sign(o * r - l * a + l * c - i * r + i * a - o * c), T = new u.default.Matrix([l - o, r - a, 0, 0, i - o, c - a, 0, 0, 0, 0, j, 0, o, a, 0, 1]).mult(this.uMVMatrix);\n this.uMVMatrix = T, this.drawBuffers(\"tri\");\n } finally {\n this.uMVMatrix = p;\n }\n return this;\n }, u.default.RendererGL.prototype.ellipse = function(s) {\n this.arc(s[0], s[1], s[2], s[3], 0, h.TWO_PI, h.OPEN, s[4]);\n }, u.default.RendererGL.prototype.arc = function() {\n var s, o = arguments.length <= 0 ? void 0 : arguments[0], a = arguments.length <= 1 ? void 0 : arguments[1], l = arguments.length <= 2 ? void 0 : arguments[2], r = arguments.length <= 3 ? void 0 : arguments[3], i = arguments.length <= 4 ? void 0 : arguments[4], c = arguments.length <= 5 ? void 0 : arguments[5], p = arguments.length <= 6 ? void 0 : arguments[6], j = (arguments.length <= 7 ? void 0 : arguments[7]) || 25, T = (Math.abs(c - i) >= h.TWO_PI ? \"\".concat(_ = \"ellipse\", \"|\") : \"\".concat(_ = \"arc\", \"|\").concat(i, \"|\").concat(c, \"|\").concat(p, \"|\")).concat(j, \"|\"), _ = (this.geometryInHash(T) || ((s = new u.default.Geometry(j, 1, function() {\n if (i.toFixed(10) !== c.toFixed(10)) {\n p !== h.PIE && p !== void 0 || (this.vertices.push(new u.default.Vector(0.5, 0.5, 0)), this.uvs.push([0.5, 0.5]));\n for (var S = 0; S <= j; S++) {\n var P = (c - i) * (S / j) + i, E = 0.5 + Math.cos(P) / 2, P = 0.5 + Math.sin(P) / 2;\n this.vertices.push(new u.default.Vector(E, P, 0)), this.uvs.push([E, P]), S < j - 1 && (this.faces.push([0, S + 1, S + 2]), this.edges.push([S + 1, S + 2]));\n }\n switch (p) {\n case h.PIE:\n this.faces.push([0, this.vertices.length - 2, this.vertices.length - 1]), this.edges.push([0, 1]), this.edges.push([this.vertices.length - 2, this.vertices.length - 1]), this.edges.push([0, this.vertices.length - 1]);\n break;\n case h.CHORD:\n this.edges.push([0, 1]), this.edges.push([0, this.vertices.length - 1]);\n break;\n case h.OPEN:\n this.edges.push([0, 1]);\n break;\n default:\n this.faces.push([0, this.vertices.length - 2, this.vertices.length - 1]), this.edges.push([this.vertices.length - 2, this.vertices.length - 1]);\n }\n }\n })).computeNormals(), j <= 50 ? s._edgesToVertices(s) : this._doStroke && console.log(\"Cannot apply a stroke to an \".concat(_, \" with more than 50 detail\")), this.createBuffers(T, s)), this.uMVMatrix.copy());\n try {\n this.uMVMatrix.translate([o, a, 0]), this.uMVMatrix.scale(l, r, 1), this.drawBuffers(T);\n } finally {\n this.uMVMatrix = _;\n }\n return this;\n }, u.default.RendererGL.prototype.rect = function(s) {\n var o = s[0], a = s[1], l = s[2], r = s[3];\n if (s[4] === void 0) {\n var p = this._pInst._glAttributes.perPixelLighting, i = s[4] || (p ? 1 : 24), c = s[5] || (p ? 1 : 16), p = \"rect|\".concat(i, \"|\").concat(c), j = (this.geometryInHash(p) || ((j = new u.default.Geometry(i, c, function() {\n for (var G = 0; G <= this.detailY; G++)\n for (var U = G / this.detailY, W = 0; W <= this.detailX; W++) {\n var X = W / this.detailX, ne = new u.default.Vector(X, U, 0);\n this.vertices.push(ne), this.uvs.push(X, U);\n }\n 0 < i && 0 < c && (this.edges = [[0, i], [i, (i + 1) * (c + 1) - 1], [(i + 1) * (c + 1) - 1, (i + 1) * c], [(i + 1) * c, 0]]);\n })).computeFaces().computeNormals()._edgesToVertices(), this.createBuffers(p, j)), this.uMVMatrix.copy());\n try {\n this.uMVMatrix.translate([o, a, 0]), this.uMVMatrix.scale(l, r, 1), this.drawBuffers(p);\n } finally {\n this.uMVMatrix = j;\n }\n } else {\n var p = s[4], j = s[5] === void 0 ? p : s[5], T = s[6] === void 0 ? j : s[6], s = s[7] === void 0 ? T : s[7], A = l, _ = r, P = ((A += o) < o && (P = o, o = A, A = P), (_ += a) < a && (P = a, a = _, _ = P), Math.min((A - o) / 2, (_ - a) / 2)), S = (P < p && (p = P), P < j && (j = P), P < T && (T = P), P < s && (s = P), o), E = a, P = A, o = _, x = (this.beginShape(), j !== 0 ? (this.vertex(P - j, E), this.quadraticVertex(P, E, P, E + j)) : this.vertex(P, E), T !== 0 ? (this.vertex(P, o - T), this.quadraticVertex(P, o, P - T, o)) : this.vertex(P, o), s !== 0 ? (this.vertex(S + s, o), this.quadraticVertex(S, o, S, o - s)) : this.vertex(S, o), p !== 0 ? (this.vertex(S, E + p), this.quadraticVertex(S, E, S + p, E)) : this.vertex(S, E), !(this.immediateMode.geometry.uvs.length = 0)), a = !1, A = void 0;\n try {\n for (var M, R = this.immediateMode.geometry.vertices[Symbol.iterator](); !(x = (M = R.next()).done); x = !0) {\n var L = M.value, F = (L.x - S) / l, V = (L.y - E) / r;\n this.immediateMode.geometry.uvs.push(F, V);\n }\n } catch (b) {\n a = !0, A = b;\n } finally {\n try {\n x || R.return == null || R.return();\n } finally {\n if (a)\n throw A;\n }\n }\n this.endShape(h.CLOSE);\n }\n return this;\n }, u.default.RendererGL.prototype.quad = function(s, o, a, l, r, i, c, p, j, T, _, S) {\n var E = 12 < arguments.length && arguments[12] !== void 0 ? arguments[12] : 2, P = 13 < arguments.length && arguments[13] !== void 0 ? arguments[13] : 2, x = \"quad|\".concat(s, \"|\").concat(o, \"|\").concat(a, \"|\").concat(l, \"|\").concat(r, \"|\").concat(i, \"|\").concat(c, \"|\").concat(p, \"|\").concat(j, \"|\").concat(T, \"|\").concat(_, \"|\").concat(S, \"|\").concat(E, \"|\").concat(P);\n if (!this.geometryInHash(x)) {\n var A = new u.default.Geometry(E, P, function() {\n for (var W = 1 / (this.detailX - 1), X = 1 / (this.detailY - 1), ne = 0; ne < this.detailY; ne++)\n for (var b = 0; b < this.detailX; b++) {\n var O = b * W, D = ne * X;\n this.vertices.push(new u.default.Vector((1 - O) * ((1 - D) * s + D * T) + O * ((1 - D) * l + D * c), (1 - O) * ((1 - D) * o + D * _) + O * ((1 - D) * r + D * p), (1 - O) * ((1 - D) * a + D * S) + O * ((1 - D) * i + D * j))), this.uvs.push([O, D]);\n }\n });\n A.faces = [];\n for (var M = 0; M < P - 1; M++)\n for (var R = 0; R < E - 1; R++) {\n var L = R + M * E, F = R + 1 + (M + 1) * E, V = R + (M + 1) * E;\n A.faces.push([L, R + 1 + M * E, F]), A.faces.push([L, F, V]);\n }\n A.computeNormals();\n for (var G = [A.edges.length = 0, 2, 3, 1], U = 0; U < G.length; U++)\n A.edges.push([G[U], G[(U + 1) % G.length]]);\n A._edgesToVertices(), this.createBuffers(x, A);\n }\n return this.drawBuffers(x), this;\n }, u.default.RendererGL.prototype.bezier = function(s, o, a, l, r, i, c, p, j, T, _, S) {\n arguments.length === 8 && (_ = p, T = c, p = i, c = r, r = l, l = a, a = i = j = S = 0);\n var E = this._pInst._bezierDetail || 20;\n this.beginShape();\n for (var P = 0; P <= E; P++) {\n var x = Math.pow(1 - P / E, 3), A = P / E * 3 * Math.pow(1 - P / E, 2), M = 3 * Math.pow(P / E, 2) * (1 - P / E), R = Math.pow(P / E, 3);\n this.vertex(s * x + l * A + c * M + T * R, o * x + r * A + p * M + _ * R, a * x + i * A + j * M + S * R);\n }\n return this.endShape(), this;\n }, u.default.RendererGL.prototype.curve = function(s, o, a, l, r, i, c, p, j, T, _, S) {\n arguments.length === 8 && (T = c, _ = p, c = r, p = l, r = l = a, a = i = j = S = 0);\n var E = this._pInst._curveDetail;\n this.beginShape();\n for (var P = 0; P <= E; P++) {\n var x = 0.5 * Math.pow(P / E, 3), A = 0.5 * Math.pow(P / E, 2), M = P / E * 0.5;\n this.vertex(x * (3 * l - s - 3 * c + T) + A * (2 * s - 5 * l + 4 * c - T) + M * (-s + c) + 2 * l * 0.5, x * (3 * r - o - 3 * p + _) + A * (2 * o - 5 * r + 4 * p - _) + M * (-o + p) + 2 * r * 0.5, x * (3 * i - a - 3 * j + S) + A * (2 * a - 5 * i + 4 * j - S) + M * (-a + j) + 2 * i * 0.5);\n }\n return this.endShape(), this;\n }, u.default.RendererGL.prototype.line = function() {\n return arguments.length === 6 ? (this.beginShape(h.LINES), this.vertex(arguments.length <= 0 ? void 0 : arguments[0], arguments.length <= 1 ? void 0 : arguments[1], arguments.length <= 2 ? void 0 : arguments[2]), this.vertex(arguments.length <= 3 ? void 0 : arguments[3], arguments.length <= 4 ? void 0 : arguments[4], arguments.length <= 5 ? void 0 : arguments[5]), this.endShape()) : arguments.length === 4 && (this.beginShape(h.LINES), this.vertex(arguments.length <= 0 ? void 0 : arguments[0], arguments.length <= 1 ? void 0 : arguments[1], 0), this.vertex(arguments.length <= 2 ? void 0 : arguments[2], arguments.length <= 3 ? void 0 : arguments[3], 0), this.endShape()), this;\n }, u.default.RendererGL.prototype.bezierVertex = function() {\n if (this.immediateMode._bezierVertex.length === 0)\n throw Error(\"vertex() must be used once before calling bezierVertex()\");\n var s, o, a, l, r, i, c = [], p = [], j = arguments.length;\n if (this._lookUpTableBezier.length === 0 || this._lutBezierDetail !== this._pInst._curveDetail) {\n this._lookUpTableBezier = [], this._lutBezierDetail = this._pInst._curveDetail;\n for (var T = 1 / this._lutBezierDetail, _ = 0, S = 1, E = 0; _ < 1; ) {\n if (i = parseFloat(_.toFixed(6)), this._lookUpTableBezier[E] = this._bezierCoefficients(i), S.toFixed(6) === T.toFixed(6)) {\n i = parseFloat(S.toFixed(6)) + parseFloat(_.toFixed(6)), ++E, this._lookUpTableBezier[E] = this._bezierCoefficients(i);\n break;\n }\n _ += T, S -= T, ++E;\n }\n }\n for (var P = this._lookUpTableBezier.length, x = [], A = 0; A < 4; A++)\n x.push([]);\n x[0] = this.immediateMode.geometry.vertexColors.slice(-4), x[3] = this.curFillColor.slice();\n var M = [];\n for (A = 0; A < 4; A++)\n M.push([]);\n if (M[0] = this.immediateMode.geometry.vertexStrokeColors.slice(-4), M[3] = this.curStrokeColor.slice(), j === 6) {\n this.isBezier = !0;\n var c = [this.immediateMode._bezierVertex[0], arguments.length <= 0 ? void 0 : arguments[0], arguments.length <= 2 ? void 0 : arguments[2], arguments.length <= 4 ? void 0 : arguments[4]], p = [this.immediateMode._bezierVertex[1], arguments.length <= 1 ? void 0 : arguments[1], arguments.length <= 3 ? void 0 : arguments[3], arguments.length <= 5 ? void 0 : arguments[5]], R = Math.hypot(c[0] - c[1], p[0] - p[1]), F = Math.hypot(c[1] - c[2], p[1] - p[2]), L = Math.hypot(c[2] - c[3], p[2] - p[3]), F = R + F + L;\n for (R /= F, L /= F, r = 0; r < 4; r++)\n x[1].push(x[0][r] * (1 - R) + x[3][r] * R), x[2].push(x[0][r] * L + x[3][r] * (1 - L)), M[1].push(M[0][r] * (1 - R) + M[3][r] * R), M[2].push(M[0][r] * L + M[3][r] * (1 - L));\n for (l = 0; l < P; l++) {\n for (this.curFillColor = [0, 0, 0, 0], this.curStrokeColor = [0, 0, 0, 0], A = s = o = 0; A < 4; A++) {\n for (r = 0; r < 4; r++)\n this.curFillColor[r] += this._lookUpTableBezier[l][A] * x[A][r], this.curStrokeColor[r] += this._lookUpTableBezier[l][A] * M[A][r];\n s += c[A] * this._lookUpTableBezier[l][A], o += p[A] * this._lookUpTableBezier[l][A];\n }\n this.vertex(s, o);\n }\n this.curFillColor = x[3], this.curStrokeColor = M[3], this.immediateMode._bezierVertex[0] = arguments.length <= 4 ? void 0 : arguments[4], this.immediateMode._bezierVertex[1] = arguments.length <= 5 ? void 0 : arguments[5];\n } else if (j === 9) {\n this.isBezier = !0, c = [this.immediateMode._bezierVertex[0], arguments.length <= 0 ? void 0 : arguments[0], arguments.length <= 3 ? void 0 : arguments[3], arguments.length <= 6 ? void 0 : arguments[6]], p = [this.immediateMode._bezierVertex[1], arguments.length <= 1 ? void 0 : arguments[1], arguments.length <= 4 ? void 0 : arguments[4], arguments.length <= 7 ? void 0 : arguments[7]];\n var V = [this.immediateMode._bezierVertex[2], arguments.length <= 2 ? void 0 : arguments[2], arguments.length <= 5 ? void 0 : arguments[5], arguments.length <= 8 ? void 0 : arguments[8]], G = Math.hypot(c[0] - c[1], p[0] - p[1], V[0] - V[1]), F = Math.hypot(c[1] - c[2], p[1] - p[2], V[1] - V[2]), U = Math.hypot(c[2] - c[3], p[2] - p[3], V[2] - V[3]), j = G + F + U;\n for (G /= j, U /= j, r = 0; r < 4; r++)\n x[1].push(x[0][r] * (1 - G) + x[3][r] * G), x[2].push(x[0][r] * U + x[3][r] * (1 - U)), M[1].push(M[0][r] * (1 - G) + M[3][r] * G), M[2].push(M[0][r] * U + M[3][r] * (1 - U));\n for (l = 0; l < P; l++) {\n for (this.curFillColor = [0, 0, 0, 0], this.curStrokeColor = [0, 0, 0, 0], A = s = o = a = 0; A < 4; A++) {\n for (r = 0; r < 4; r++)\n this.curFillColor[r] += this._lookUpTableBezier[l][A] * x[A][r], this.curStrokeColor[r] += this._lookUpTableBezier[l][A] * M[A][r];\n s += c[A] * this._lookUpTableBezier[l][A], o += p[A] * this._lookUpTableBezier[l][A], a += V[A] * this._lookUpTableBezier[l][A];\n }\n this.vertex(s, o, a);\n }\n this.curFillColor = x[3], this.curStrokeColor = M[3], this.immediateMode._bezierVertex[0] = arguments.length <= 6 ? void 0 : arguments[6], this.immediateMode._bezierVertex[1] = arguments.length <= 7 ? void 0 : arguments[7], this.immediateMode._bezierVertex[2] = arguments.length <= 8 ? void 0 : arguments[8];\n }\n }, u.default.RendererGL.prototype.quadraticVertex = function() {\n if (this.immediateMode._quadraticVertex.length === 0)\n throw Error(\"vertex() must be used once before calling quadraticVertex()\");\n var s, o, a, l, r, i, c = [], p = [], j = arguments.length;\n if (this._lookUpTableQuadratic.length === 0 || this._lutQuadraticDetail !== this._pInst._curveDetail) {\n this._lookUpTableQuadratic = [], this._lutQuadraticDetail = this._pInst._curveDetail;\n for (var T = 1 / this._lutQuadraticDetail, _ = 0, S = 1, E = 0; _ < 1; ) {\n if (i = parseFloat(_.toFixed(6)), this._lookUpTableQuadratic[E] = this._quadraticCoefficients(i), S.toFixed(6) === T.toFixed(6)) {\n i = parseFloat(S.toFixed(6)) + parseFloat(_.toFixed(6)), ++E, this._lookUpTableQuadratic[E] = this._quadraticCoefficients(i);\n break;\n }\n _ += T, S -= T, ++E;\n }\n }\n for (var P = this._lookUpTableQuadratic.length, x = [], A = 0; A < 3; A++)\n x.push([]);\n x[0] = this.immediateMode.geometry.vertexColors.slice(-4), x[2] = this.curFillColor.slice();\n var M = [];\n for (A = 0; A < 3; A++)\n M.push([]);\n if (M[0] = this.immediateMode.geometry.vertexStrokeColors.slice(-4), M[2] = this.curStrokeColor.slice(), j === 4) {\n this.isQuadratic = !0;\n var c = [this.immediateMode._quadraticVertex[0], arguments.length <= 0 ? void 0 : arguments[0], arguments.length <= 2 ? void 0 : arguments[2]], p = [this.immediateMode._quadraticVertex[1], arguments.length <= 1 ? void 0 : arguments[1], arguments.length <= 3 ? void 0 : arguments[3]], R = Math.hypot(c[0] - c[1], p[0] - p[1]);\n for (R /= R + Math.hypot(c[1] - c[2], p[1] - p[2]), r = 0; r < 4; r++)\n x[1].push(x[0][r] * (1 - R) + x[2][r] * R), M[1].push(M[0][r] * (1 - R) + M[2][r] * R);\n for (l = 0; l < P; l++) {\n for (this.curFillColor = [0, 0, 0, 0], this.curStrokeColor = [0, 0, 0, 0], A = s = o = 0; A < 3; A++) {\n for (r = 0; r < 4; r++)\n this.curFillColor[r] += this._lookUpTableQuadratic[l][A] * x[A][r], this.curStrokeColor[r] += this._lookUpTableQuadratic[l][A] * M[A][r];\n s += c[A] * this._lookUpTableQuadratic[l][A], o += p[A] * this._lookUpTableQuadratic[l][A];\n }\n this.vertex(s, o);\n }\n this.curFillColor = x[2], this.curStrokeColor = M[2], this.immediateMode._quadraticVertex[0] = arguments.length <= 2 ? void 0 : arguments[2], this.immediateMode._quadraticVertex[1] = arguments.length <= 3 ? void 0 : arguments[3];\n } else if (j === 6) {\n this.isQuadratic = !0, c = [this.immediateMode._quadraticVertex[0], arguments.length <= 0 ? void 0 : arguments[0], arguments.length <= 3 ? void 0 : arguments[3]], p = [this.immediateMode._quadraticVertex[1], arguments.length <= 1 ? void 0 : arguments[1], arguments.length <= 4 ? void 0 : arguments[4]];\n var L = [this.immediateMode._quadraticVertex[2], arguments.length <= 2 ? void 0 : arguments[2], arguments.length <= 5 ? void 0 : arguments[5]], F = Math.hypot(c[0] - c[1], p[0] - p[1], L[0] - L[1]);\n for (F /= F + Math.hypot(c[1] - c[2], p[1] - p[2], L[1] - L[2]), r = 0; r < 4; r++)\n x[1].push(x[0][r] * (1 - F) + x[2][r] * F), M[1].push(M[0][r] * (1 - F) + M[2][r] * F);\n for (l = 0; l < P; l++) {\n for (this.curFillColor = [0, 0, 0, 0], this.curStrokeColor = [0, 0, 0, 0], A = s = o = a = 0; A < 3; A++) {\n for (r = 0; r < 4; r++)\n this.curFillColor[r] += this._lookUpTableQuadratic[l][A] * x[A][r], this.curStrokeColor[r] += this._lookUpTableQuadratic[l][A] * M[A][r];\n s += c[A] * this._lookUpTableQuadratic[l][A], o += p[A] * this._lookUpTableQuadratic[l][A], a += L[A] * this._lookUpTableQuadratic[l][A];\n }\n this.vertex(s, o, a);\n }\n this.curFillColor = x[2], this.curStrokeColor = M[2], this.immediateMode._quadraticVertex[0] = arguments.length <= 3 ? void 0 : arguments[3], this.immediateMode._quadraticVertex[1] = arguments.length <= 4 ? void 0 : arguments[4], this.immediateMode._quadraticVertex[2] = arguments.length <= 5 ? void 0 : arguments[5];\n }\n }, u.default.RendererGL.prototype.curveVertex = function() {\n var s, o, a, l, r, i, c = [], p = [], j = arguments.length;\n if (this._lookUpTableBezier.length === 0 || this._lutBezierDetail !== this._pInst._curveDetail) {\n this._lookUpTableBezier = [], this._lutBezierDetail = this._pInst._curveDetail;\n for (var T = 1 / this._lutBezierDetail, _ = 0, S = 1, E = 0; _ < 1; ) {\n if (i = parseFloat(_.toFixed(6)), this._lookUpTableBezier[E] = this._bezierCoefficients(i), S.toFixed(6) === T.toFixed(6)) {\n i = parseFloat(S.toFixed(6)) + parseFloat(_.toFixed(6)), ++E, this._lookUpTableBezier[E] = this._bezierCoefficients(i);\n break;\n }\n _ += T, S -= T, ++E;\n }\n }\n var P = this._lookUpTableBezier.length;\n if (j === 2) {\n if (this.immediateMode._curveVertex.push(arguments.length <= 0 ? void 0 : arguments[0]), this.immediateMode._curveVertex.push(arguments.length <= 1 ? void 0 : arguments[1]), this.immediateMode._curveVertex.length === 8) {\n for (this.isCurve = !0, c = this._bezierToCatmull([this.immediateMode._curveVertex[0], this.immediateMode._curveVertex[2], this.immediateMode._curveVertex[4], this.immediateMode._curveVertex[6]]), p = this._bezierToCatmull([this.immediateMode._curveVertex[1], this.immediateMode._curveVertex[3], this.immediateMode._curveVertex[5], this.immediateMode._curveVertex[7]]), r = 0; r < P; r++)\n o = c[0] * this._lookUpTableBezier[r][0] + c[1] * this._lookUpTableBezier[r][1] + c[2] * this._lookUpTableBezier[r][2] + c[3] * this._lookUpTableBezier[r][3], a = p[0] * this._lookUpTableBezier[r][0] + p[1] * this._lookUpTableBezier[r][1] + p[2] * this._lookUpTableBezier[r][2] + p[3] * this._lookUpTableBezier[r][3], this.vertex(o, a);\n for (r = 0; r < j; r++)\n this.immediateMode._curveVertex.shift();\n }\n } else if (j === 3 && (this.immediateMode._curveVertex.push(arguments.length <= 0 ? void 0 : arguments[0]), this.immediateMode._curveVertex.push(arguments.length <= 1 ? void 0 : arguments[1]), this.immediateMode._curveVertex.push(arguments.length <= 2 ? void 0 : arguments[2]), this.immediateMode._curveVertex.length === 12)) {\n for (this.isCurve = !0, c = this._bezierToCatmull([this.immediateMode._curveVertex[0], this.immediateMode._curveVertex[3], this.immediateMode._curveVertex[6], this.immediateMode._curveVertex[9]]), p = this._bezierToCatmull([this.immediateMode._curveVertex[1], this.immediateMode._curveVertex[4], this.immediateMode._curveVertex[7], this.immediateMode._curveVertex[10]]), s = this._bezierToCatmull([this.immediateMode._curveVertex[2], this.immediateMode._curveVertex[5], this.immediateMode._curveVertex[8], this.immediateMode._curveVertex[11]]), r = 0; r < P; r++)\n o = c[0] * this._lookUpTableBezier[r][0] + c[1] * this._lookUpTableBezier[r][1] + c[2] * this._lookUpTableBezier[r][2] + c[3] * this._lookUpTableBezier[r][3], a = p[0] * this._lookUpTableBezier[r][0] + p[1] * this._lookUpTableBezier[r][1] + p[2] * this._lookUpTableBezier[r][2] + p[3] * this._lookUpTableBezier[r][3], l = s[0] * this._lookUpTableBezier[r][0] + s[1] * this._lookUpTableBezier[r][1] + s[2] * this._lookUpTableBezier[r][2] + s[3] * this._lookUpTableBezier[r][3], this.vertex(o, a, l);\n for (r = 0; r < j; r++)\n this.immediateMode._curveVertex.shift();\n }\n }, u.default.RendererGL.prototype.image = function(s, S, a, E, r, i, c, p, j) {\n this._isErasing && this.blendMode(this._cachedBlendMode), this._pInst.push(), this._pInst.noLights(), this._pInst.noStroke(), this._pInst.texture(s), this._pInst.textureMode(h.NORMAL);\n var T = 0, _ = (S <= s.width && (T = S / s.width), 1), S = (S + E <= s.width && (_ = (S + E) / s.width), 0), E = (a <= s.height && (S = a / s.height), 1);\n a + r <= s.height && (E = (a + r) / s.height), this.beginShape(), this.vertex(i, c, 0, T, S), this.vertex(i + p, c, 0, _, S), this.vertex(i + p, c + j, 0, _, E), this.vertex(i, c + j, 0, T, E), this.endShape(h.CLOSE), this._pInst.pop(), this._isErasing && this.blendMode(h.REMOVE);\n };\n var n = u.default;\n C.default = n;\n }, { \"../core/constants\": 269, \"../core/main\": 280, \"./p5.Geometry\": 332, \"core-js/modules/es.array.concat\": 152, \"core-js/modules/es.array.for-each\": 160, \"core-js/modules/es.array.iterator\": 164, \"core-js/modules/es.array.slice\": 168, \"core-js/modules/es.math.hypot\": 175, \"core-js/modules/es.math.sign\": 177, \"core-js/modules/es.number.to-fixed\": 180, \"core-js/modules/es.object.get-own-property-descriptor\": 183, \"core-js/modules/es.object.to-string\": 187, \"core-js/modules/es.string.iterator\": 197, \"core-js/modules/es.symbol\": 209, \"core-js/modules/es.symbol.description\": 207, \"core-js/modules/es.symbol.iterator\": 208, \"core-js/modules/es.weak-map\": 241, \"core-js/modules/web.dom-collections.iterator\": 243 }], 324: [function(t, H, C) {\n function m(o) {\n return (m = typeof Symbol == \"function\" && typeof Symbol.iterator == \"symbol\" ? function(a) {\n return typeof a;\n } : function(a) {\n return a && typeof Symbol == \"function\" && a.constructor === Symbol && a !== Symbol.prototype ? \"symbol\" : typeof a;\n })(o);\n }\n function y(o) {\n return (y = typeof Symbol == \"function\" && m(Symbol.iterator) === \"symbol\" ? function(a) {\n return m(a);\n } : function(a) {\n return a && typeof Symbol == \"function\" && a.constructor === Symbol && a !== Symbol.prototype ? \"symbol\" : m(a);\n })(o);\n }\n t(\"core-js/modules/es.symbol\"), t(\"core-js/modules/es.symbol.description\"), t(\"core-js/modules/es.symbol.iterator\"), t(\"core-js/modules/es.array.every\"), t(\"core-js/modules/es.array.from\"), t(\"core-js/modules/es.array.iterator\"), t(\"core-js/modules/es.array.map\"), t(\"core-js/modules/es.object.assign\"), t(\"core-js/modules/es.object.get-own-property-descriptor\"), t(\"core-js/modules/es.object.to-string\"), t(\"core-js/modules/es.regexp.to-string\"), t(\"core-js/modules/es.string.iterator\"), t(\"core-js/modules/es.weak-map\"), t(\"core-js/modules/web.dom-collections.iterator\"), t(\"core-js/modules/es.array.every\"), t(\"core-js/modules/es.array.map\"), t(\"core-js/modules/es.object.assign\"), Object.defineProperty(C, \"__esModule\", { value: !0 }), C.default = void 0;\n var u = (s = t(\"../core/main\")) && s.__esModule ? s : { default: s }, h = function(o) {\n if (o && o.__esModule)\n return o;\n if (o === null || y(o) !== \"object\" && typeof o != \"function\")\n return { default: o };\n var a = g();\n if (a && a.has(o))\n return a.get(o);\n var l, r = {}, i = Object.defineProperty && Object.getOwnPropertyDescriptor;\n for (l in o) {\n var c;\n Object.prototype.hasOwnProperty.call(o, l) && ((c = i ? Object.getOwnPropertyDescriptor(o, l) : null) && (c.get || c.set) ? Object.defineProperty(r, l, c) : r[l] = o[l]);\n }\n return r.default = o, a && a.set(o, r), r;\n }(t(\"../core/constants\"));\n function g() {\n var o;\n return typeof WeakMap != \"function\" ? null : (o = /* @__PURE__ */ new WeakMap(), g = function() {\n return o;\n }, o);\n }\n function f(o) {\n return function(a) {\n if (Array.isArray(a)) {\n for (var l = 0, r = new Array(a.length); l < a.length; l++)\n r[l] = a[l];\n return r;\n }\n }(o) || function(a) {\n if (Symbol.iterator in Object(a) || Object.prototype.toString.call(a) === \"[object Arguments]\")\n return Array.from(a);\n }(o) || function() {\n throw new TypeError(\"Invalid attempt to spread non-iterable instance\");\n }();\n }\n function n(o, a) {\n for (var l = 0; l < a.length; l++) {\n var r = a[l];\n r.enumerable = r.enumerable || !1, r.configurable = !0, \"value\" in r && (r.writable = !0), Object.defineProperty(o, r.key, r);\n }\n }\n var s = function() {\n function o(r) {\n if (!(this instanceof o))\n throw new TypeError(\"Cannot call a class as a function\");\n (this.renderer = r)._pInst.push(), this.identityMatrix = new u.default.Matrix(), r.uMVMatrix = new u.default.Matrix(), this.geometry = new u.default.Geometry(), this.geometry.gid = \"_p5_GeometryBuilder_\".concat(o.nextGeometryId), o.nextGeometryId++, this.hasTransform = !1;\n }\n var a, l;\n return a = o, (l = [{ key: \"transformVertices\", value: function(r) {\n var i = this;\n return this.hasTransform ? r.map(function(c) {\n return i.renderer.uMVMatrix.multiplyPoint(c);\n }) : r;\n } }, { key: \"transformNormals\", value: function(r) {\n var i = this;\n return this.hasTransform ? r.map(function(c) {\n return i.renderer.uNMatrix.multiplyVec3(c);\n }) : r;\n } }, { key: \"addGeometry\", value: function(r) {\n for (var i, c = this, p = (this.hasTransform = !this.renderer.uMVMatrix.mat4.every(function(T, _) {\n return T === c.identityMatrix.mat4[_];\n }), this.hasTransform && this.renderer.uNMatrix.inverseTranspose(this.renderer.uMVMatrix), this.geometry.vertices.length), j = ((i = this.geometry.vertices).push.apply(i, f(this.transformVertices(r.vertices))), (i = this.geometry.vertexNormals).push.apply(i, f(this.transformNormals(r.vertexNormals))), (i = this.geometry.uvs).push.apply(i, f(r.uvs)), this.renderer._doFill && (i = this.geometry.faces).push.apply(i, f(r.faces.map(function(T) {\n return T.map(function(_) {\n return _ + p;\n });\n }))), this.renderer._doStroke && (i = this.geometry.edges).push.apply(i, f(r.edges.map(function(T) {\n return T.map(function(_) {\n return _ + p;\n });\n }))), f(r.vertexColors)); j.length < 4 * r.vertices.length; )\n j.push.apply(j, f(this.renderer.curFillColor));\n (i = this.geometry.vertexColors).push.apply(i, f(j));\n } }, { key: \"addImmediate\", value: function() {\n var r = this.renderer.immediateMode.geometry, i = this.renderer.immediateMode.shapeMode, c = [];\n if (this.renderer._doFill)\n if (i === h.TRIANGLE_STRIP || i === h.QUAD_STRIP)\n for (var p = 2; p < r.vertices.length; p++)\n p % 2 == 0 ? c.push([p, p - 1, p - 2]) : c.push([p, p - 2, p - 1]);\n else if (i === h.TRIANGLE_FAN)\n for (var j = 2; j < r.vertices.length; j++)\n c.push([0, j - 1, j]);\n else\n for (var T = 0; T < r.vertices.length; T += 3)\n c.push([T, T + 1, T + 2]);\n this.addGeometry(Object.assign({}, r, { faces: c }));\n } }, { key: \"addRetained\", value: function(r) {\n this.addGeometry(r.model);\n } }, { key: \"finish\", value: function() {\n return this.renderer._pInst.pop(), this.geometry;\n } }]) && n(a.prototype, l), o;\n }();\n s.nextGeometryId = 0, C.default = s;\n }, { \"../core/constants\": 269, \"../core/main\": 280, \"core-js/modules/es.array.every\": 154, \"core-js/modules/es.array.from\": 161, \"core-js/modules/es.array.iterator\": 164, \"core-js/modules/es.array.map\": 167, \"core-js/modules/es.object.assign\": 181, \"core-js/modules/es.object.get-own-property-descriptor\": 183, \"core-js/modules/es.object.to-string\": 187, \"core-js/modules/es.regexp.to-string\": 193, \"core-js/modules/es.string.iterator\": 197, \"core-js/modules/es.symbol\": 209, \"core-js/modules/es.symbol.description\": 207, \"core-js/modules/es.symbol.iterator\": 208, \"core-js/modules/es.weak-map\": 241, \"core-js/modules/web.dom-collections.iterator\": 243 }], 325: [function(t, H, C) {\n function m(n) {\n return (m = typeof Symbol == \"function\" && typeof Symbol.iterator == \"symbol\" ? function(s) {\n return typeof s;\n } : function(s) {\n return s && typeof Symbol == \"function\" && s.constructor === Symbol && s !== Symbol.prototype ? \"symbol\" : typeof s;\n })(n);\n }\n t(\"core-js/modules/es.symbol\"), t(\"core-js/modules/es.symbol.description\"), t(\"core-js/modules/es.symbol.iterator\"), t(\"core-js/modules/es.array.for-each\"), t(\"core-js/modules/es.array.iterator\"), t(\"core-js/modules/es.array.splice\"), t(\"core-js/modules/es.math.hypot\"), t(\"core-js/modules/es.math.sign\"), t(\"core-js/modules/es.object.get-own-property-descriptor\"), t(\"core-js/modules/es.object.to-string\"), t(\"core-js/modules/es.regexp.to-string\"), t(\"core-js/modules/es.string.iterator\"), t(\"core-js/modules/es.weak-map\"), t(\"core-js/modules/web.dom-collections.for-each\"), t(\"core-js/modules/web.dom-collections.iterator\"), t(\"core-js/modules/es.symbol\"), t(\"core-js/modules/es.symbol.description\"), t(\"core-js/modules/es.symbol.iterator\"), t(\"core-js/modules/es.array.for-each\"), t(\"core-js/modules/es.array.iterator\"), t(\"core-js/modules/es.array.splice\"), t(\"core-js/modules/es.math.hypot\"), t(\"core-js/modules/es.math.sign\"), t(\"core-js/modules/es.object.to-string\"), t(\"core-js/modules/es.regexp.to-string\"), t(\"core-js/modules/es.string.iterator\"), t(\"core-js/modules/web.dom-collections.for-each\"), t(\"core-js/modules/web.dom-collections.iterator\"), Object.defineProperty(C, \"__esModule\", { value: !0 }), C.default = void 0;\n var y = (f = t(\"../core/main\")) && f.__esModule ? f : { default: f }, u = function(n) {\n if (n && n.__esModule)\n return n;\n if (n === null || g(n) !== \"object\" && typeof n != \"function\")\n return { default: n };\n var s = h();\n if (s && s.has(n))\n return s.get(n);\n var o, a = {}, l = Object.defineProperty && Object.getOwnPropertyDescriptor;\n for (o in n) {\n var r;\n Object.prototype.hasOwnProperty.call(n, o) && ((r = l ? Object.getOwnPropertyDescriptor(n, o) : null) && (r.get || r.set) ? Object.defineProperty(a, o, r) : a[o] = n[o]);\n }\n return a.default = n, s && s.set(n, a), a;\n }(t(\"../core/constants\"));\n function h() {\n var n;\n return typeof WeakMap != \"function\" ? null : (n = /* @__PURE__ */ new WeakMap(), h = function() {\n return n;\n }, n);\n }\n function g(n) {\n return (g = typeof Symbol == \"function\" && m(Symbol.iterator) === \"symbol\" ? function(s) {\n return m(s);\n } : function(s) {\n return s && typeof Symbol == \"function\" && s.constructor === Symbol && s !== Symbol.prototype ? \"symbol\" : m(s);\n })(n);\n }\n y.default.prototype.orbitControl = function(n, s, o, j) {\n var l = this, r = (this._assert3d(\"orbitControl\"), y.default._validateParameters(\"orbitControl\", arguments), this._renderer._curCamera);\n n === void 0 && (n = 1), s === void 0 && (s = n), o === void 0 && (o = 1), g(j) !== \"object\" && (j = {}), this.contextMenuDisabled !== !0 && (this.canvas.oncontextmenu = function() {\n return !1;\n }, this._setProperty(\"contextMenuDisabled\", !0)), this.wheelDefaultDisabled !== !0 && (this.canvas.onwheel = function() {\n return !1;\n }, this._setProperty(\"wheelDefaultDisabled\", !0));\n var _ = j.disableTouchActions;\n this.touchActionsDisabled === !0 || _ !== void 0 && !_ || (this.canvas.style[\"touch-action\"] = \"none\", this._setProperty(\"touchActionsDisabled\", !0));\n var i, c, p, _ = j.freeRotation, j = _ !== void 0 && _, T = [], _ = (this.touches.forEach(function(R) {\n l._renderer.prevTouches.forEach(function(L) {\n R.id === L.id && (L = { x: R.x, y: R.y, px: L.x, py: L.y }, T.push(L));\n });\n }), this._renderer.prevTouches = this.touches, 0), S = 0, E = 0, P = 0, x = 0, A = this.height < this.width ? this.height : this.width, M = !1;\n return 0 < T.length ? (M = 0 < T[0].x && T[0].x < this.width && 0 < T[0].y && T[0].y < this.height, T.length === 1 ? (S = -n * ((i = T[0]).x - i.px) / A, E = s * (i.y - i.py) / A) : (i = T[0], c = T[1], _ = -(Math.hypot(i.x - c.x, i.y - c.y) - Math.hypot(i.px - c.px, i.py - c.py)) * o * 4e-4, P = 0.5 * (i.x + c.x) - 0.5 * (i.px + c.px), x = 0.5 * (i.y + c.y) - 0.5 * (i.py + c.py)), 0 < this.touches.length ? M && (this._renderer.executeRotateAndMove = !0, this._renderer.executeZoom = !0) : (this._renderer.executeRotateAndMove = !1, this._renderer.executeZoom = !1)) : (M = 0 < this.mouseX && this.mouseX < this.width && 0 < this.mouseY && this.mouseY < this.height, this._mouseWheelDeltaY !== 0 ? (_ = Math.sign(this._mouseWheelDeltaY) * o, _ *= 0.01, this._mouseWheelDeltaY = 0, M && (this._renderer.executeZoom = !0)) : this._renderer.executeZoom = !1, this.mouseIsPressed ? (this.mouseButton === this.LEFT ? (S = -n * this.movedX / A, E = s * this.movedY / A) : this.mouseButton === this.RIGHT && (P = this.movedX, x = this.movedY * r.yScale), M && (this._renderer.executeRotateAndMove = !0)) : this._renderer.executeRotateAndMove = !1), _ !== 0 && this._renderer.executeZoom && (this._renderer.zoomVelocity += _), 1e-3 < Math.abs(this._renderer.zoomVelocity) ? (j ? r._orbitFree(0, 0, this._renderer.zoomVelocity) : r._orbit(0, 0, this._renderer.zoomVelocity), r.projMatrix.mat4[15] !== 0 && (r.projMatrix.mat4[0] *= Math.pow(10, -this._renderer.zoomVelocity), r.projMatrix.mat4[5] *= Math.pow(10, -this._renderer.zoomVelocity), this._renderer.uPMatrix.mat4[0] = r.projMatrix.mat4[0], this._renderer.uPMatrix.mat4[5] = r.projMatrix.mat4[5]), this._renderer.zoomVelocity *= 0.85) : this._renderer.zoomVelocity = 0, S === 0 && E === 0 || !this._renderer.executeRotateAndMove || this._renderer.rotateVelocity.add(0.6 * S, 0.6 * E), 1e-6 < this._renderer.rotateVelocity.magSq() ? (j ? r._orbitFree(-this._renderer.rotateVelocity.x, this._renderer.rotateVelocity.y, 0) : r._orbit(this._renderer.rotateVelocity.x, this._renderer.rotateVelocity.y, 0), this._renderer.rotateVelocity.mult(0.85)) : this._renderer.rotateVelocity.set(0, 0), P === 0 && x === 0 || !this._renderer.executeRotateAndMove || (i = 2 * P / this.width, c = 2 * -x / this.height, this._renderer.moveVelocity.add(0.15 * i, 0.15 * c)), 1e-6 < this._renderer.moveVelocity.magSq() ? (o = r._getLocalAxes(), n = r.eyeX - r.centerX, s = r.eyeY - r.centerY, A = r.eyeZ - r.centerZ, M = Math.sqrt(n * n + s * s + A * A), _ = new y.default.Vector(r.centerX, r.centerY, r.centerZ), _ = r.cameraMatrix.multiplyPoint(_), (_ = this._renderer.uPMatrix.multiplyAndNormalizePoint(_)).x -= this._renderer.moveVelocity.x, _.y -= this._renderer.moveVelocity.y, E = (S = this._renderer.uPMatrix.mat4)[15] === 0 ? (p = (S[8] + _.x) / S[0] * M, (S[9] + _.y) / S[5] * M) : (p = (_.x - S[12]) / S[0], (_.y - S[13]) / S[5]), r.setPosition(r.eyeX + p * o.x[0] + E * o.y[0], r.eyeY + p * o.x[1] + E * o.y[1], r.eyeZ + p * o.x[2] + E * o.y[2]), this._renderer.moveVelocity.mult(0.85)) : this._renderer.moveVelocity.set(0, 0), this;\n }, y.default.prototype.debugMode = function() {\n this._assert3d(\"debugMode\");\n for (var n = arguments.length, s = new Array(n), o = 0; o < n; o++)\n s[o] = arguments[o];\n y.default._validateParameters(\"debugMode\", s);\n for (var a = this._registeredMethods.post.length - 1; 0 <= a; a--)\n this._registeredMethods.post[a].toString() !== this._grid().toString() && this._registeredMethods.post[a].toString() !== this._axesIcon().toString() || this._registeredMethods.post.splice(a, 1);\n s[0] === u.GRID ? this.registerMethod(\"post\", this._grid(s[1], s[2], s[3], s[4], s[5])) : s[0] === u.AXES ? this.registerMethod(\"post\", this._axesIcon(s[1], s[2], s[3], s[4])) : (this.registerMethod(\"post\", this._grid(s[0], s[1], s[2], s[3], s[4])), this.registerMethod(\"post\", this._axesIcon(s[5], s[6], s[7], s[8])));\n }, y.default.prototype.noDebugMode = function() {\n this._assert3d(\"noDebugMode\");\n for (var n = this._registeredMethods.post.length - 1; 0 <= n; n--)\n this._registeredMethods.post[n].toString() !== this._grid().toString() && this._registeredMethods.post[n].toString() !== this._axesIcon().toString() || this._registeredMethods.post.splice(n, 1);\n }, y.default.prototype._grid = function(n, s, o, a, l) {\n n === void 0 && (n = this.width / 2), s === void 0 && (s = Math.round(n / 30) < 4 ? 4 : Math.round(n / 30)), o === void 0 && (o = 0), a === void 0 && (a = 0), l === void 0 && (l = 0);\n var r = n / s, i = n / 2;\n return function() {\n this.push(), this.stroke(255 * this._renderer.curStrokeColor[0], 255 * this._renderer.curStrokeColor[1], 255 * this._renderer.curStrokeColor[2]), this._renderer.uMVMatrix.set(this._renderer._curCamera.cameraMatrix);\n for (var c = 0; c <= s; c++)\n this.beginShape(this.LINES), this.vertex(-i + o, a, c * r - i + l), this.vertex(i + o, a, c * r - i + l), this.endShape();\n for (var p = 0; p <= s; p++)\n this.beginShape(this.LINES), this.vertex(p * r - i + o, a, -i + l), this.vertex(p * r - i + o, a, i + l), this.endShape();\n this.pop();\n };\n }, y.default.prototype._axesIcon = function(n, s, o, a) {\n return n === void 0 && (n = 40 < this.width / 20 ? this.width / 20 : 40), s === void 0 && (s = -this.width / 4), o === void 0 && (o = s), a === void 0 && (a = s), function() {\n this.push(), this._renderer.uMVMatrix.set(this._renderer._curCamera.cameraMatrix), this.strokeWeight(2), this.stroke(255, 0, 0), this.beginShape(this.LINES), this.vertex(s, o, a), this.vertex(s + n, o, a), this.endShape(), this.stroke(0, 255, 0), this.beginShape(this.LINES), this.vertex(s, o, a), this.vertex(s, o + n, a), this.endShape(), this.stroke(0, 0, 255), this.beginShape(this.LINES), this.vertex(s, o, a), this.vertex(s, o, a + n), this.endShape(), this.pop();\n };\n };\n var f = y.default;\n C.default = f;\n }, { \"../core/constants\": 269, \"../core/main\": 280, \"core-js/modules/es.array.for-each\": 160, \"core-js/modules/es.array.iterator\": 164, \"core-js/modules/es.array.splice\": 170, \"core-js/modules/es.math.hypot\": 175, \"core-js/modules/es.math.sign\": 177, \"core-js/modules/es.object.get-own-property-descriptor\": 183, \"core-js/modules/es.object.to-string\": 187, \"core-js/modules/es.regexp.to-string\": 193, \"core-js/modules/es.string.iterator\": 197, \"core-js/modules/es.symbol\": 209, \"core-js/modules/es.symbol.description\": 207, \"core-js/modules/es.symbol.iterator\": 208, \"core-js/modules/es.weak-map\": 241, \"core-js/modules/web.dom-collections.for-each\": 242, \"core-js/modules/web.dom-collections.iterator\": 243 }], 326: [function(t, H, C) {\n t(\"core-js/modules/es.array.filter\"), t(\"core-js/modules/es.array.filter\"), Object.defineProperty(C, \"__esModule\", { value: !0 }), C.default = void 0;\n var m = (t = t(\"../core/main\")) && t.__esModule ? t : { default: t };\n m.default.prototype.ambientLight = function(y, u, h, g) {\n this._assert3d(\"ambientLight\"), m.default._validateParameters(\"ambientLight\", arguments);\n var f = this.color.apply(this, arguments);\n return this._renderer.ambientLightColors.push(f._array[0], f._array[1], f._array[2]), this._renderer._enableLighting = !0, this;\n }, m.default.prototype.specularColor = function(y, u, h) {\n this._assert3d(\"specularColor\"), m.default._validateParameters(\"specularColor\", arguments);\n var g = this.color.apply(this, arguments);\n return this._renderer.specularColors = [g._array[0], g._array[1], g._array[2]], this;\n }, m.default.prototype.directionalLight = function(y, l, a, g, f, n) {\n this._assert3d(\"directionalLight\"), m.default._validateParameters(\"directionalLight\", arguments), y = y instanceof m.default.Color ? y : this.color(y, l, a);\n var s, o, l = arguments[arguments.length - 1], a = typeof l == \"number\" ? (s = arguments[arguments.length - 3], o = arguments[arguments.length - 2], arguments[arguments.length - 1]) : (s = l.x, o = l.y, l.z), l = Math.sqrt(s * s + o * o + a * a);\n return this._renderer.directionalLightDirections.push(s / l, o / l, a / l), this._renderer.directionalLightDiffuseColors.push(y._array[0], y._array[1], y._array[2]), Array.prototype.push.apply(this._renderer.directionalLightSpecularColors, this._renderer.specularColors), this._renderer._enableLighting = !0, this;\n }, m.default.prototype.pointLight = function(y, a, l, g, f, n) {\n this._assert3d(\"pointLight\"), m.default._validateParameters(\"pointLight\", arguments), y = y instanceof m.default.Color ? y : this.color(y, a, l);\n var s, o, a = arguments[arguments.length - 1], l = typeof a == \"number\" ? (s = arguments[arguments.length - 3], o = arguments[arguments.length - 2], arguments[arguments.length - 1]) : (s = a.x, o = a.y, a.z);\n return this._renderer.pointLightPositions.push(s, o, l), this._renderer.pointLightDiffuseColors.push(y._array[0], y._array[1], y._array[2]), Array.prototype.push.apply(this._renderer.pointLightSpecularColors, this._renderer.specularColors), this._renderer._enableLighting = !0, this;\n }, m.default.prototype.imageLight = function(y) {\n this._renderer.activeImageLight = y, this._renderer._enableLighting = !0;\n }, m.default.prototype.panorama = function(y) {\n this.filter(this._renderer._getSphereMapping(y));\n }, m.default.prototype.lights = function() {\n this._assert3d(\"lights\");\n var y = this.color(\"rgb(128,128,128)\");\n return this.ambientLight(y), this.directionalLight(y, 0, 0, -1), this;\n }, m.default.prototype.lightFalloff = function(y, u, h) {\n return this._assert3d(\"lightFalloff\"), m.default._validateParameters(\"lightFalloff\", arguments), y < 0 && (y = 0, console.warn(\"Value of constant argument in lightFalloff() should be never be negative. Set to 0.\")), u < 0 && (u = 0, console.warn(\"Value of linear argument in lightFalloff() should be never be negative. Set to 0.\")), h < 0 && (h = 0, console.warn(\"Value of quadratic argument in lightFalloff() should be never be negative. Set to 0.\")), y === 0 && u === 0 && h === 0 && (y = 1, console.warn(\"Either one of the three arguments in lightFalloff() should be greater than zero. Set constant argument to 1.\")), this._renderer.constantAttenuation = y, this._renderer.linearAttenuation = u, this._renderer.quadraticAttenuation = h, this;\n }, m.default.prototype.spotLight = function(y, u, h, g, f, n, s, o, a, l, r) {\n this._assert3d(\"spotLight\"), m.default._validateParameters(\"spotLight\", arguments);\n var i, c, p, j = arguments.length;\n switch (j) {\n case 11:\n case 10:\n i = this.color(y, u, h), c = new m.default.Vector(g, f, n), p = new m.default.Vector(s, o, a);\n break;\n case 9:\n y instanceof m.default.Color ? (i = y, c = new m.default.Vector(u, h, g), p = new m.default.Vector(f, n, s), l = o, r = a) : g instanceof m.default.Vector ? (i = this.color(y, u, h), c = g, p = new m.default.Vector(f, n, s), l = o, r = a) : s instanceof m.default.Vector ? (i = this.color(y, u, h), c = new m.default.Vector(g, f, n), p = s, l = o, r = a) : (i = this.color(y, u, h), c = new m.default.Vector(g, f, n), p = new m.default.Vector(s, o, a));\n break;\n case 8:\n l = (p = y instanceof m.default.Color ? (i = y, c = new m.default.Vector(u, h, g), new m.default.Vector(f, n, s)) : g instanceof m.default.Vector ? (i = this.color(y, u, h), c = g, new m.default.Vector(f, n, s)) : (i = this.color(y, u, h), c = new m.default.Vector(g, f, n), s), o);\n break;\n case 7:\n y instanceof m.default.Color && u instanceof m.default.Vector ? (i = y, c = u, p = new m.default.Vector(h, g, f), l = n, r = s) : y instanceof m.default.Color && f instanceof m.default.Vector ? (i = y, c = new m.default.Vector(u, h, g), p = f, l = n, r = s) : g instanceof m.default.Vector && f instanceof m.default.Vector ? (i = this.color(y, u, h), c = g, p = f, l = n, r = s) : p = y instanceof m.default.Color ? (i = y, c = new m.default.Vector(u, h, g), new m.default.Vector(f, n, s)) : g instanceof m.default.Vector ? (i = this.color(y, u, h), c = g, new m.default.Vector(f, n, s)) : (i = this.color(y, u, h), c = new m.default.Vector(g, f, n), s);\n break;\n case 6:\n g instanceof m.default.Vector && f instanceof m.default.Vector ? (i = this.color(y, u, h), c = g, p = f, l = n) : y instanceof m.default.Color && f instanceof m.default.Vector ? (i = y, c = new m.default.Vector(u, h, g), p = f, l = n) : y instanceof m.default.Color && u instanceof m.default.Vector && (i = y, c = u, p = new m.default.Vector(h, g, f), l = n);\n break;\n case 5:\n y instanceof m.default.Color && u instanceof m.default.Vector && h instanceof m.default.Vector ? (i = y, c = u, p = h, l = g, r = f) : g instanceof m.default.Vector && f instanceof m.default.Vector ? (i = this.color(y, u, h), c = g, p = f) : y instanceof m.default.Color && f instanceof m.default.Vector ? (i = y, c = new m.default.Vector(u, h, g), p = f) : y instanceof m.default.Color && u instanceof m.default.Vector && (i = y, c = u, p = new m.default.Vector(h, g, f));\n break;\n case 4:\n i = y, c = u, p = h, l = g;\n break;\n case 3:\n i = y, c = u, p = h;\n break;\n default:\n return console.warn(\"Sorry, input for spotlight() is not in prescribed format. Too \".concat(j < 3 ? \"few\" : \"many\", \" arguments were provided\")), this;\n }\n return this._renderer.spotLightDiffuseColors.push(i._array[0], i._array[1], i._array[2]), Array.prototype.push.apply(this._renderer.spotLightSpecularColors, this._renderer.specularColors), this._renderer.spotLightPositions.push(c.x, c.y, c.z), p.normalize(), this._renderer.spotLightDirections.push(p.x, p.y, p.z), l === void 0 && (l = Math.PI / 3), r !== void 0 && r < 1 ? (r = 1, console.warn(\"Value of concentration needs to be greater than 1. Setting it to 1\")) : r === void 0 && (r = 100), l = this._renderer._pInst._toRadians(l), this._renderer.spotLightAngle.push(Math.cos(l)), this._renderer.spotLightConc.push(r), this._renderer._enableLighting = !0, this;\n }, m.default.prototype.noLights = function() {\n this._assert3d(\"noLights\");\n for (var y = arguments.length, u = new Array(y), h = 0; h < y; h++)\n u[h] = arguments[h];\n return m.default._validateParameters(\"noLights\", u), this._renderer.activeImageLight = null, this._renderer._enableLighting = !1, this._renderer.ambientLightColors.length = 0, this._renderer.specularColors = [1, 1, 1], this._renderer.directionalLightDirections.length = 0, this._renderer.directionalLightDiffuseColors.length = 0, this._renderer.directionalLightSpecularColors.length = 0, this._renderer.pointLightPositions.length = 0, this._renderer.pointLightDiffuseColors.length = 0, this._renderer.pointLightSpecularColors.length = 0, this._renderer.spotLightPositions.length = 0, this._renderer.spotLightDirections.length = 0, this._renderer.spotLightDiffuseColors.length = 0, this._renderer.spotLightSpecularColors.length = 0, this._renderer.spotLightAngle.length = 0, this._renderer.spotLightConc.length = 0, this._renderer.constantAttenuation = 1, this._renderer.linearAttenuation = 0, this._renderer.quadraticAttenuation = 0, this._renderer._useShininess = 1, this._renderer._useMetalness = 0, this;\n }, t = m.default, C.default = t;\n }, { \"../core/main\": 280, \"core-js/modules/es.array.filter\": 156 }], 327: [function(t, H, C) {\n function m(s) {\n return (m = typeof Symbol == \"function\" && typeof Symbol.iterator == \"symbol\" ? function(o) {\n return typeof o;\n } : function(o) {\n return o && typeof Symbol == \"function\" && o.constructor === Symbol && o !== Symbol.prototype ? \"symbol\" : typeof o;\n })(s);\n }\n t(\"core-js/modules/es.symbol\"), t(\"core-js/modules/es.symbol.description\"), t(\"core-js/modules/es.symbol.iterator\"), t(\"core-js/modules/es.array.concat\"), t(\"core-js/modules/es.array.from\"), t(\"core-js/modules/es.array.index-of\"), t(\"core-js/modules/es.array.iterator\"), t(\"core-js/modules/es.array.join\"), t(\"core-js/modules/es.array.slice\"), t(\"core-js/modules/es.array.splice\"), t(\"core-js/modules/es.object.assign\"), t(\"core-js/modules/es.object.to-string\"), t(\"core-js/modules/es.promise\"), t(\"core-js/modules/es.regexp.exec\"), t(\"core-js/modules/es.regexp.to-string\"), t(\"core-js/modules/es.set\"), t(\"core-js/modules/es.string.iterator\"), t(\"core-js/modules/es.string.match\"), t(\"core-js/modules/es.string.split\"), t(\"core-js/modules/es.string.trim\"), t(\"core-js/modules/web.dom-collections.iterator\"), t(\"core-js/modules/es.symbol\"), t(\"core-js/modules/es.symbol.description\"), t(\"core-js/modules/es.symbol.iterator\"), t(\"core-js/modules/es.array.concat\"), t(\"core-js/modules/es.array.index-of\"), t(\"core-js/modules/es.array.iterator\"), t(\"core-js/modules/es.array.join\"), t(\"core-js/modules/es.array.slice\"), t(\"core-js/modules/es.array.splice\"), t(\"core-js/modules/es.object.assign\"), t(\"core-js/modules/es.object.to-string\"), t(\"core-js/modules/es.promise\"), t(\"core-js/modules/es.regexp.exec\"), t(\"core-js/modules/es.set\"), t(\"core-js/modules/es.string.iterator\"), t(\"core-js/modules/es.string.match\"), t(\"core-js/modules/es.string.split\"), t(\"core-js/modules/es.string.trim\"), t(\"core-js/modules/web.dom-collections.iterator\"), Object.defineProperty(C, \"__esModule\", { value: !0 }), C.default = void 0, t(\"regenerator-runtime/runtime\");\n var y = (n = t(\"../core/main\")) && n.__esModule ? n : { default: n };\n function u(s) {\n return function(o) {\n if (Array.isArray(o)) {\n for (var a = 0, l = new Array(o.length); a < o.length; a++)\n l[a] = o[a];\n return l;\n }\n }(s) || function(o) {\n if (Symbol.iterator in Object(o) || Object.prototype.toString.call(o) === \"[object Arguments]\")\n return Array.from(o);\n }(s) || function() {\n throw new TypeError(\"Invalid attempt to spread non-iterable instance\");\n }();\n }\n function h(s, o, a, l, r, i, c) {\n try {\n var p = s[i](c), j = p.value;\n } catch (T) {\n return void a(T);\n }\n p.done ? o(j) : Promise.resolve(j).then(l, r);\n }\n function g(s) {\n return function() {\n var o = this, a = arguments;\n return new Promise(function(l, r) {\n var i = s.apply(o, a);\n function c(j) {\n h(i, l, r, c, p, \"next\", j);\n }\n function p(j) {\n h(i, l, r, c, p, \"throw\", j);\n }\n c(void 0);\n });\n };\n }\n function f(s) {\n return (f = typeof Symbol == \"function\" && m(Symbol.iterator) === \"symbol\" ? function(o) {\n return m(o);\n } : function(o) {\n return o && typeof Symbol == \"function\" && o.constructor === Symbol && o !== Symbol.prototype ? \"symbol\" : m(o);\n })(s);\n }\n t(\"./p5.Geometry\"), y.default.prototype.loadModel = function(s, o) {\n y.default._validateParameters(\"loadModel\", arguments);\n var a, l, r = !1, i = !1, c = !1, p = s.slice(-4), j = (o && f(o) === \"object\" ? (r = o.normalize || !1, a = o.successCallback, l = o.failureCallback, p = o.fileType || p, i = o.flipU || !1, c = o.flipV || !1) : typeof o == \"boolean\" ? (r = o, a = arguments[2], l = arguments[3], arguments[4] !== void 0 && (p = arguments[4])) : (a = typeof o == \"function\" ? o : void 0, l = arguments[2], arguments[3] !== void 0 && (p = arguments[3])), new y.default.Geometry()), T = (j.gid = \"\".concat(s, \"|\").concat(r), this);\n function _() {\n return (_ = g(regeneratorRuntime.mark(function E(P) {\n var x, A, M, R;\n return regeneratorRuntime.wrap(function(L) {\n for (; ; )\n switch (L.prev = L.next) {\n case 0:\n for (x = [], A = 0; A < P.length; A++)\n (M = P[A].match(/^mtllib (.+)/)) && function() {\n var F = \"\", V = M[1], G = s.split(\"/\");\n F = 1 < G.length ? (G.pop(), G.join(\"/\") + \"/\" + V) : V, x.push(function() {\n return S.apply(this, arguments);\n }(F).then(function(U) {\n return U ? (W = T, X = F, new Promise(function(ne, b) {\n var O = null, D = {};\n W.loadStrings(X, function(B) {\n for (var Y = 0; Y < B.length; ++Y) {\n var K, te = B[Y].trim().split(/\\s+/);\n te[0] === \"newmtl\" ? (K = te[1], D[O = K] = {}) : te[0] === \"Kd\" ? D[O].diffuseColor = [parseFloat(te[1]), parseFloat(te[2]), parseFloat(te[3])] : te[0] === \"Ka\" ? D[O].ambientColor = [parseFloat(te[1]), parseFloat(te[2]), parseFloat(te[3])] : te[0] === \"Ks\" ? D[O].specularColor = [parseFloat(te[1]), parseFloat(te[2]), parseFloat(te[3])] : te[0] === \"map_Kd\" && (D[O].texturePath = te[1]);\n }\n ne(D);\n }, b);\n })) : (console.warn(\"MTL file not found or error in parsing; proceeding without materials: \".concat(F)), {});\n var W, X;\n }).catch(function(U) {\n return console.warn(\"Error loading MTL file: \".concat(F), U), {};\n }));\n }();\n return L.prev = 2, L.next = 5, Promise.all(x);\n case 5:\n return R = L.sent, R = Object.assign.apply(Object, [{}].concat(u(R))), L.abrupt(\"return\", R);\n case 10:\n return L.prev = 10, L.t0 = L.catch(2), L.abrupt(\"return\", {});\n case 13:\n case \"end\":\n return L.stop();\n }\n }, E, null, [[2, 10]]);\n }))).apply(this, arguments);\n }\n function S() {\n return (S = g(regeneratorRuntime.mark(function E(P) {\n var x;\n return regeneratorRuntime.wrap(function(A) {\n for (; ; )\n switch (A.prev = A.next) {\n case 0:\n return A.prev = 0, A.next = 3, fetch(P, { method: \"HEAD\" });\n case 3:\n return x = A.sent, A.abrupt(\"return\", x.ok);\n case 7:\n return A.prev = 7, A.t0 = A.catch(0), A.abrupt(\"return\", !1);\n case 10:\n case \"end\":\n return A.stop();\n }\n }, E, null, [[0, 7]]);\n }))).apply(this, arguments);\n }\n return p.match(/\\.stl$/i) ? this.httpDo(s, \"GET\", \"arrayBuffer\", function(E) {\n (function(P, x) {\n if (function(A) {\n for (var M = new DataView(A), R = [115, 111, 108, 105, 100], L = 0; L < 5; L++)\n if (function(F, V, G) {\n for (var U = 0, W = F.length; U < W; U++)\n if (F[U] !== V.getUint8(G + U, !1))\n return;\n return 1;\n }(R, M, L))\n return;\n return 1;\n }(x))\n (function(A, M) {\n for (var R, L, F, V, G, U, W, X = new DataView(M), ne = X.getUint32(80, !0), b = !1, O = 0; O < 70; O++)\n X.getUint32(O, !1) === 1129270351 && X.getUint8(O + 4) === 82 && X.getUint8(O + 5) === 61 && (b = !0, V = [], G = X.getUint8(O + 6) / 255, U = X.getUint8(O + 7) / 255, W = X.getUint8(O + 8) / 255);\n for (var D = 0; D < ne; D++) {\n for (var B, Y = 84 + 50 * D, K = X.getFloat32(Y, !0), te = X.getFloat32(4 + Y, !0), ce = X.getFloat32(8 + Y, !0), re = (b && (B = X.getUint16(48 + Y, !0), F = 32768 & B ? (R = G, L = U, W) : (R = (31 & B) / 31, L = (B >> 5 & 31) / 31, (B >> 10 & 31) / 31)), new y.default.Vector(K, te, ce)), ue = 1; ue <= 3; ue++) {\n var le = Y + 12 * ue, le = new y.default.Vector(X.getFloat32(le, !0), X.getFloat32(4 + le, !0), X.getFloat32(8 + le, !0));\n A.vertices.push(le), A.vertexNormals.push(re), b && V.push(R, L, F);\n }\n A.faces.push([3 * D, 3 * D + 1, 3 * D + 2]), A.uvs.push([0, 0], [0, 0], [0, 0]);\n }\n })(P, x);\n else {\n if (x = new DataView(x), !(\"TextDecoder\" in window))\n return console.warn(\"Sorry, ASCII STL loading only works in browsers that support TextDecoder (https://caniuse.com/#feat=textencoder)\");\n x = new TextDecoder(\"utf-8\").decode(x).split(`\n`), function(A, M) {\n for (var R, L, F = \"\", V = [], G = 0; G < M.length; ++G) {\n for (var U = M[G].trim(), W = U.split(\" \"), X = 0; X < W.length; ++X)\n W[X] === \"\" && W.splice(X, 1);\n if (W.length !== 0)\n switch (F) {\n case \"\":\n if (W[0] !== \"solid\")\n return console.error(U), console.error('Invalid state \"'.concat(W[0], '\", should be \"solid\"'));\n F = \"solid\";\n break;\n case \"solid\":\n if (W[0] !== \"facet\" || W[1] !== \"normal\")\n return console.error(U), console.error('Invalid state \"'.concat(W[0], '\", should be \"facet normal\"'));\n R = new y.default.Vector(parseFloat(W[2]), parseFloat(W[3]), parseFloat(W[4])), A.vertexNormals.push(R, R, R), F = \"facet normal\";\n break;\n case \"facet normal\":\n if (W[0] !== \"outer\" || W[1] !== \"loop\")\n return console.error(U), console.error('Invalid state \"'.concat(W[0], '\", should be \"outer loop\"'));\n F = \"vertex\";\n break;\n case \"vertex\":\n if (W[0] === \"vertex\")\n L = new y.default.Vector(parseFloat(W[1]), parseFloat(W[2]), parseFloat(W[3])), A.vertices.push(L), A.uvs.push([0, 0]), V.push(A.vertices.indexOf(L));\n else {\n if (W[0] !== \"endloop\")\n return console.error(U), console.error('Invalid state \"'.concat(W[0], '\", should be \"vertex\" or \"endloop\"'));\n A.faces.push(V), V = [], F = \"endloop\";\n }\n break;\n case \"endloop\":\n if (W[0] !== \"endfacet\")\n return console.error(U), console.error('Invalid state \"'.concat(W[0], '\", should be \"endfacet\"'));\n F = \"endfacet\";\n break;\n case \"endfacet\":\n if (W[0] !== \"endsolid\") {\n if (W[0] !== \"facet\" || W[1] !== \"normal\")\n return console.error(U), console.error('Invalid state \"'.concat(W[0], '\", should be \"endsolid\" or \"facet normal\"'));\n R = new y.default.Vector(parseFloat(W[2]), parseFloat(W[3]), parseFloat(W[4])), A.vertexNormals.push(R, R, R), F = \"facet normal\";\n }\n break;\n default:\n console.error('Invalid state \"'.concat(F, '\"'));\n }\n }\n }(P, x);\n }\n })(j, E), r && j.normalize(), i && j.flipU(), c && j.flipV(), T._decrementPreload(), typeof a == \"function\" && a(j);\n }, l) : p.match(/\\.obj$/i) ? this.loadStrings(s, function() {\n var E = g(regeneratorRuntime.mark(function P(x) {\n var A;\n return regeneratorRuntime.wrap(function(M) {\n for (; ; )\n switch (M.prev = M.next) {\n case 0:\n return M.prev = 0, M.next = 3, function() {\n return _.apply(this, arguments);\n }(x);\n case 3:\n A = M.sent, function(R, L) {\n for (var F = 2 < arguments.length && arguments[2] !== void 0 ? arguments[2] : {}, V = { v: [], vt: [], vn: [] }, G = {}, U = null, W = /* @__PURE__ */ new Set(), X = !1, ne = !1, b = 0; b < L.length; ++b) {\n var O = L[b].trim().split(/\\b\\s+/);\n if (0 < O.length) {\n if (O[0] === \"usemtl\")\n U = O[1];\n else if (O[0] === \"v\" || O[0] === \"vn\") {\n var D = new y.default.Vector(parseFloat(O[1]), parseFloat(O[2]), parseFloat(O[3]));\n V[O[0]].push(D);\n } else if (O[0] === \"vt\")\n D = [parseFloat(O[1]), 1 - parseFloat(O[2])], V[O[0]].push(D);\n else if (O[0] === \"f\")\n for (var B = 3; B < O.length; ++B) {\n for (var Y = [], K = [1, B - 1, B], te = 0; te < K.length; ++te) {\n for (var ce, re = O[K[te]].split(\"/\"), ue = 0; ue < re.length; ue++)\n re[ue] = parseInt(re[ue]) - 1;\n G[re[0]] || (G[re[0]] = {}), G[re[0]][U] === void 0 ? (ce = R.vertices.length, R.vertices.push(V.v[re[0]].copy()), R.uvs.push(V.vt[re[1]] ? V.vt[re[1]].slice() : [0, 0]), R.vertexNormals.push(V.vn[re[2]] ? V.vn[re[2]].copy() : new y.default.Vector()), G[re[0]][U] = ce, Y.push(ce), U && F[U] && F[U].diffuseColor && W.add(V.v[re[0]])) : Y.push(G[re[0]][U]);\n }\n if (Y[0] !== Y[1] && Y[0] !== Y[2] && Y[1] !== Y[2])\n if (R.faces.push(Y), U && F[U] && F[U].diffuseColor) {\n X = X = !0;\n for (var le = F[U].diffuseColor, J = 0; J < Y.length; J++)\n R.vertexColors.push(le[0]), R.vertexColors.push(le[1]), R.vertexColors.push(le[2]);\n } else\n ne = !0;\n }\n }\n }\n if (R.vertexNormals.length === 0 && R.computeNormals(), X === ne)\n throw new Error(\"Model coloring is inconsistent. Either all vertices should have colors or none should.\");\n }(j, x, A), M.next = 11;\n break;\n case 7:\n return M.prev = 7, M.t0 = M.catch(0), l ? l(M.t0) : y.default._friendlyError(\"Error during parsing: \" + M.t0.message), M.abrupt(\"return\");\n case 11:\n return M.prev = 11, r && j.normalize(), i && j.flipU(), c && j.flipV(), T._decrementPreload(), typeof a == \"function\" && a(j), M.finish(11);\n case 18:\n case \"end\":\n return M.stop();\n }\n }, P, null, [[0, 7, 11, 18]]);\n }));\n return function(P) {\n return E.apply(this, arguments);\n };\n }(), l) : (y.default._friendlyFileLoadError(3, s), l ? l() : y.default._friendlyError(\"Sorry, the file type is invalid. Only OBJ and STL files are supported.\")), j;\n }, y.default.prototype.model = function(s) {\n this._assert3d(\"model\"), y.default._validateParameters(\"model\", arguments), 0 < s.vertices.length && (this._renderer.geometryInHash(s.gid) || (s.edges.length === 0 && s._makeTriangleEdges(), s._edgesToVertices(), this._renderer.createBuffers(s.gid, s)), this._renderer.drawBuffers(s.gid));\n };\n var n = y.default;\n C.default = n;\n }, { \"../core/main\": 280, \"./p5.Geometry\": 332, \"core-js/modules/es.array.concat\": 152, \"core-js/modules/es.array.from\": 161, \"core-js/modules/es.array.index-of\": 163, \"core-js/modules/es.array.iterator\": 164, \"core-js/modules/es.array.join\": 165, \"core-js/modules/es.array.slice\": 168, \"core-js/modules/es.array.splice\": 170, \"core-js/modules/es.object.assign\": 181, \"core-js/modules/es.object.to-string\": 187, \"core-js/modules/es.promise\": 188, \"core-js/modules/es.regexp.exec\": 192, \"core-js/modules/es.regexp.to-string\": 193, \"core-js/modules/es.set\": 194, \"core-js/modules/es.string.iterator\": 197, \"core-js/modules/es.string.match\": 198, \"core-js/modules/es.string.split\": 203, \"core-js/modules/es.string.trim\": 206, \"core-js/modules/es.symbol\": 209, \"core-js/modules/es.symbol.description\": 207, \"core-js/modules/es.symbol.iterator\": 208, \"core-js/modules/web.dom-collections.iterator\": 243, \"regenerator-runtime/runtime\": 257 }], 328: [function(t, H, C) {\n function m(n) {\n return (m = typeof Symbol == \"function\" && typeof Symbol.iterator == \"symbol\" ? function(s) {\n return typeof s;\n } : function(s) {\n return s && typeof Symbol == \"function\" && s.constructor === Symbol && s !== Symbol.prototype ? \"symbol\" : typeof s;\n })(n);\n }\n function y(n) {\n return (y = typeof Symbol == \"function\" && m(Symbol.iterator) === \"symbol\" ? function(s) {\n return m(s);\n } : function(s) {\n return s && typeof Symbol == \"function\" && s.constructor === Symbol && s !== Symbol.prototype ? \"symbol\" : m(s);\n })(n);\n }\n t(\"core-js/modules/es.symbol\"), t(\"core-js/modules/es.symbol.description\"), t(\"core-js/modules/es.symbol.iterator\"), t(\"core-js/modules/es.array.includes\"), t(\"core-js/modules/es.array.iterator\"), t(\"core-js/modules/es.array.join\"), t(\"core-js/modules/es.object.get-own-property-descriptor\"), t(\"core-js/modules/es.object.to-string\"), t(\"core-js/modules/es.string.includes\"), t(\"core-js/modules/es.string.iterator\"), t(\"core-js/modules/es.weak-map\"), t(\"core-js/modules/web.dom-collections.iterator\"), t(\"core-js/modules/es.symbol\"), t(\"core-js/modules/es.symbol.description\"), t(\"core-js/modules/es.symbol.iterator\"), t(\"core-js/modules/es.array.includes\"), t(\"core-js/modules/es.array.iterator\"), t(\"core-js/modules/es.array.join\"), t(\"core-js/modules/es.object.to-string\"), t(\"core-js/modules/es.string.includes\"), t(\"core-js/modules/es.string.iterator\"), t(\"core-js/modules/web.dom-collections.iterator\"), Object.defineProperty(C, \"__esModule\", { value: !0 }), C.default = void 0;\n var u = (f = t(\"../core/main\")) && f.__esModule ? f : { default: f }, h = function(n) {\n if (n && n.__esModule)\n return n;\n if (n === null || y(n) !== \"object\" && typeof n != \"function\")\n return { default: n };\n var s = g();\n if (s && s.has(n))\n return s.get(n);\n var o, a = {}, l = Object.defineProperty && Object.getOwnPropertyDescriptor;\n for (o in n) {\n var r;\n Object.prototype.hasOwnProperty.call(n, o) && ((r = l ? Object.getOwnPropertyDescriptor(n, o) : null) && (r.get || r.set) ? Object.defineProperty(a, o, r) : a[o] = n[o]);\n }\n return a.default = n, s && s.set(n, a), a;\n }(t(\"../core/constants\"));\n function g() {\n var n;\n return typeof WeakMap != \"function\" ? null : (n = /* @__PURE__ */ new WeakMap(), g = function() {\n return n;\n }, n);\n }\n t(\"./p5.Texture\"), u.default.prototype.loadShader = function(n, s, o, a) {\n u.default._validateParameters(\"loadShader\", arguments), a = a || console.error;\n function l() {\n i._decrementPreload(), o && o(r);\n }\n var r = new u.default.Shader(), i = this, c = !1, p = !1;\n return this.loadStrings(n, function(j) {\n r._vertSrc = j.join(`\n`), p = !0, c && l();\n }, a), this.loadStrings(s, function(j) {\n r._fragSrc = j.join(`\n`), c = !0, p && l();\n }, a), r;\n }, u.default.prototype.createShader = function(n, s) {\n return u.default._validateParameters(\"createShader\", arguments), new u.default.Shader(this._renderer, n, s);\n }, u.default.prototype.createFilterShader = function(n) {\n u.default._validateParameters(\"createFilterShader\", arguments);\n var s = n.includes(\"#version 300 es\") ? `#version 300 es\n uniform mat4 uModelViewMatrix;\n uniform mat4 uProjectionMatrix;\n\n in vec3 aPosition;\n in vec2 aTexCoord;\n out vec2 vTexCoord;\n\n void main() {\n // transferring texcoords for the frag shader\n vTexCoord = aTexCoord;\n\n // copy position with a fourth coordinate for projection (1.0 is normal)\n vec4 positionVec4 = vec4(aPosition, 1.0);\n\n // project to 3D space\n gl_Position = uProjectionMatrix * uModelViewMatrix * positionVec4;\n }\n ` : `\n uniform mat4 uModelViewMatrix;\n uniform mat4 uProjectionMatrix;\n\n attribute vec3 aPosition;\n // texcoords only come from p5 to vertex shader\n // so pass texcoords on to the fragment shader in a varying variable\n attribute vec2 aTexCoord;\n varying vec2 vTexCoord;\n\n void main() {\n // transferring texcoords for the frag shader\n vTexCoord = aTexCoord;\n\n // copy position with a fourth coordinate for projection (1.0 is normal)\n vec4 positionVec4 = vec4(aPosition, 1.0);\n\n // project to 3D space\n gl_Position = uProjectionMatrix * uModelViewMatrix * positionVec4;\n }\n `, s = new u.default.Shader(this._renderer, s, n);\n return this._renderer.GL ? s.ensureCompiledOnContext(this) : s.ensureCompiledOnContext(this._renderer.getFilterGraphicsLayer()), s;\n }, u.default.prototype.shader = function(n) {\n return this._assert3d(\"shader\"), u.default._validateParameters(\"shader\", arguments), n.ensureCompiledOnContext(this), n.isStrokeShader() ? this._renderer.userStrokeShader = n : (this._renderer.userFillShader = n, this._renderer._useNormalMaterial = !1), this;\n }, u.default.prototype.resetShader = function() {\n return this._renderer.userFillShader = this._renderer.userStrokeShader = null, this;\n }, u.default.prototype.texture = function(n) {\n return this._assert3d(\"texture\"), u.default._validateParameters(\"texture\", arguments), n.gifProperties && n._animateGif(this), this._renderer.drawMode = h.TEXTURE, this._renderer._useNormalMaterial = !1, this._renderer._tex = n, this._renderer._setProperty(\"_doFill\", !0), this;\n }, u.default.prototype.textureMode = function(n) {\n n !== h.IMAGE && n !== h.NORMAL ? console.warn(\"You tried to set \".concat(n, \" textureMode only supports IMAGE & NORMAL \")) : this._renderer.textureMode = n;\n }, u.default.prototype.textureWrap = function(n) {\n var s = 1 < arguments.length && arguments[1] !== void 0 ? arguments[1] : n, o = (this._renderer.textureWrapX = n, this._renderer.textureWrapY = s, !0), a = !1, l = void 0;\n try {\n for (var r, i = this._renderer.textures.values()[Symbol.iterator](); !(o = (r = i.next()).done); o = !0)\n r.value.setWrapMode(n, s);\n } catch (c) {\n a = !0, l = c;\n } finally {\n try {\n o || i.return == null || i.return();\n } finally {\n if (a)\n throw l;\n }\n }\n }, u.default.prototype.normalMaterial = function() {\n this._assert3d(\"normalMaterial\");\n for (var n = arguments.length, s = new Array(n), o = 0; o < n; o++)\n s[o] = arguments[o];\n return u.default._validateParameters(\"normalMaterial\", s), this._renderer.drawMode = h.FILL, this._renderer._useSpecularMaterial = !1, this._renderer._useEmissiveMaterial = !1, this._renderer._useNormalMaterial = !0, this._renderer.curFillColor = [1, 1, 1, 1], this._renderer._setProperty(\"_doFill\", !0), this.noStroke(), this;\n }, u.default.prototype.ambientMaterial = function(n, s, o) {\n this._assert3d(\"ambientMaterial\"), u.default._validateParameters(\"ambientMaterial\", arguments);\n var a = u.default.prototype.color.apply(this, arguments);\n return this._renderer._hasSetAmbient = !0, this._renderer.curAmbientColor = a._array, this._renderer._useNormalMaterial = !1, this._renderer._enableLighting = !0, this._renderer._setProperty(\"_doFill\", !0), this;\n }, u.default.prototype.emissiveMaterial = function(n, s, o, a) {\n this._assert3d(\"emissiveMaterial\"), u.default._validateParameters(\"emissiveMaterial\", arguments);\n var l = u.default.prototype.color.apply(this, arguments);\n return this._renderer.curEmissiveColor = l._array, this._renderer._useEmissiveMaterial = !0, this._renderer._useNormalMaterial = !1, this._renderer._enableLighting = !0, this;\n }, u.default.prototype.specularMaterial = function(n, s, o, a) {\n this._assert3d(\"specularMaterial\"), u.default._validateParameters(\"specularMaterial\", arguments);\n var l = u.default.prototype.color.apply(this, arguments);\n return this._renderer.curSpecularColor = l._array, this._renderer._useSpecularMaterial = !0, this._renderer._useNormalMaterial = !1, this._renderer._enableLighting = !0, this;\n }, u.default.prototype.shininess = function(n) {\n return this._assert3d(\"shininess\"), u.default._validateParameters(\"shininess\", arguments), this._renderer._useShininess = n = n < 1 ? 1 : n, this;\n }, u.default.prototype.metalness = function(n) {\n return this._assert3d(\"metalness\"), n = 1 - Math.exp(-n / 100), this._renderer._useMetalness = n, this;\n }, u.default.RendererGL.prototype._applyColorBlend = function(n, l) {\n var o = this.GL, a = this.drawMode === h.TEXTURE, l = l || this.userFillShader || this.userStrokeShader || this.userPointShader || a || this.curBlendMode !== h.BLEND || n[n.length - 1] < 1 || this._isErasing;\n return l !== this._isBlending && (l || this.curBlendMode !== h.BLEND && this.curBlendMode !== h.ADD ? o.enable(o.BLEND) : o.disable(o.BLEND), o.depthMask(!0), this._isBlending = l), this._applyBlendMode(), n;\n }, u.default.RendererGL.prototype._applyBlendMode = function() {\n if (this._cachedBlendMode !== this.curBlendMode) {\n var n = this.GL;\n switch (this.curBlendMode) {\n case h.BLEND:\n n.blendEquation(n.FUNC_ADD), n.blendFunc(n.ONE, n.ONE_MINUS_SRC_ALPHA);\n break;\n case h.ADD:\n n.blendEquation(n.FUNC_ADD), n.blendFunc(n.ONE, n.ONE);\n break;\n case h.REMOVE:\n n.blendEquation(n.FUNC_ADD), n.blendFunc(n.ZERO, n.ONE_MINUS_SRC_ALPHA);\n break;\n case h.MULTIPLY:\n n.blendEquation(n.FUNC_ADD), n.blendFunc(n.DST_COLOR, n.ONE_MINUS_SRC_ALPHA);\n break;\n case h.SCREEN:\n n.blendEquation(n.FUNC_ADD), n.blendFunc(n.ONE, n.ONE_MINUS_SRC_COLOR);\n break;\n case h.EXCLUSION:\n n.blendEquationSeparate(n.FUNC_ADD, n.FUNC_ADD), n.blendFuncSeparate(n.ONE_MINUS_DST_COLOR, n.ONE_MINUS_SRC_COLOR, n.ONE, n.ONE);\n break;\n case h.REPLACE:\n n.blendEquation(n.FUNC_ADD), n.blendFunc(n.ONE, n.ZERO);\n break;\n case h.SUBTRACT:\n n.blendEquationSeparate(n.FUNC_REVERSE_SUBTRACT, n.FUNC_ADD), n.blendFuncSeparate(n.ONE, n.ONE, n.ONE, n.ONE_MINUS_SRC_ALPHA);\n break;\n case h.DARKEST:\n this.blendExt ? (n.blendEquationSeparate(this.blendExt.MIN || this.blendExt.MIN_EXT, n.FUNC_ADD), n.blendFuncSeparate(n.ONE, n.ONE, n.ONE, n.ONE)) : console.warn(\"blendMode(DARKEST) does not work in your browser in WEBGL mode.\");\n break;\n case h.LIGHTEST:\n this.blendExt ? (n.blendEquationSeparate(this.blendExt.MAX || this.blendExt.MAX_EXT, n.FUNC_ADD), n.blendFuncSeparate(n.ONE, n.ONE, n.ONE, n.ONE)) : console.warn(\"blendMode(LIGHTEST) does not work in your browser in WEBGL mode.\");\n break;\n default:\n console.error(\"Oops! Somehow RendererGL set curBlendMode to an unsupported mode.\");\n }\n this._isErasing || (this._cachedBlendMode = this.curBlendMode);\n }\n };\n var f = u.default;\n C.default = f;\n }, { \"../core/constants\": 269, \"../core/main\": 280, \"./p5.Texture\": 339, \"core-js/modules/es.array.includes\": 162, \"core-js/modules/es.array.iterator\": 164, \"core-js/modules/es.array.join\": 165, \"core-js/modules/es.object.get-own-property-descriptor\": 183, \"core-js/modules/es.object.to-string\": 187, \"core-js/modules/es.string.includes\": 196, \"core-js/modules/es.string.iterator\": 197, \"core-js/modules/es.symbol\": 209, \"core-js/modules/es.symbol.description\": 207, \"core-js/modules/es.symbol.iterator\": 208, \"core-js/modules/es.weak-map\": 241, \"core-js/modules/web.dom-collections.iterator\": 243 }], 329: [function(t, H, C) {\n t(\"core-js/modules/es.array.slice\"), t(\"core-js/modules/es.math.hypot\"), t(\"core-js/modules/es.string.sub\"), t(\"core-js/modules/es.array.slice\"), t(\"core-js/modules/es.math.hypot\"), t(\"core-js/modules/es.string.sub\"), Object.defineProperty(C, \"__esModule\", { value: !0 }), C.default = void 0;\n var m = (t = t(\"../core/main\")) && t.__esModule ? t : { default: t };\n function y(u, h) {\n for (var g = 0; g < h.length; g++) {\n var f = h[g];\n f.enumerable = f.enumerable || !1, f.configurable = !0, \"value\" in f && (f.writable = !0), Object.defineProperty(u, f.key, f);\n }\n }\n m.default.prototype.camera = function() {\n var u;\n this._assert3d(\"camera\");\n for (var h = arguments.length, g = new Array(h), f = 0; f < h; f++)\n g[f] = arguments[f];\n return m.default._validateParameters(\"camera\", g), (u = this._renderer._curCamera).camera.apply(u, g), this;\n }, m.default.prototype.perspective = function() {\n var u;\n this._assert3d(\"perspective\");\n for (var h = arguments.length, g = new Array(h), f = 0; f < h; f++)\n g[f] = arguments[f];\n return m.default._validateParameters(\"perspective\", g), (u = this._renderer._curCamera).perspective.apply(u, g), this;\n }, m.default.prototype.linePerspective = function(u) {\n if (m.default._validateParameters(\"linePerspective\", arguments), !(this._renderer instanceof m.default.RendererGL))\n throw new Error(\"linePerspective() must be called in WebGL mode.\");\n if (u === void 0)\n return this._renderer._curCamera.useLinePerspective;\n this._renderer._curCamera.useLinePerspective = u;\n }, m.default.prototype.ortho = function() {\n var u;\n this._assert3d(\"ortho\");\n for (var h = arguments.length, g = new Array(h), f = 0; f < h; f++)\n g[f] = arguments[f];\n return m.default._validateParameters(\"ortho\", g), (u = this._renderer._curCamera).ortho.apply(u, g), this;\n }, m.default.prototype.frustum = function() {\n var u;\n this._assert3d(\"frustum\");\n for (var h = arguments.length, g = new Array(h), f = 0; f < h; f++)\n g[f] = arguments[f];\n return m.default._validateParameters(\"frustum\", g), (u = this._renderer._curCamera).frustum.apply(u, g), this;\n }, m.default.prototype.createCamera = function() {\n this._assert3d(\"createCamera\");\n var u = new m.default.Camera(this._renderer);\n return u._computeCameraDefaultSettings(), u._setDefaultCamera(), this._renderer._curCamera = u;\n }, m.default.Camera = function() {\n function u(f) {\n if (!(this instanceof u))\n throw new TypeError(\"Cannot call a class as a function\");\n this._renderer = f, this.cameraType = \"default\", this.useLinePerspective = !0, this.cameraMatrix = new m.default.Matrix(), this.projMatrix = new m.default.Matrix(), this.yScale = 1;\n }\n var h, g;\n return h = u, (g = [{ key: \"perspective\", value: function(a, n, s, o) {\n this.cameraType = 0 < arguments.length ? \"custom\" : \"default\", a === void 0 ? (a = this.defaultCameraFOV, this.cameraFOV = a) : this.cameraFOV = this._renderer._pInst._toRadians(a), n === void 0 && (n = this.defaultAspectRatio), s === void 0 && (s = this.defaultCameraNear), o === void 0 && (o = this.defaultCameraFar), s <= 1e-4 && (s = 0.01, console.log(\"Avoid perspective near plane values close to or below 0. Setting value to 0.01.\")), o < s && console.log(\"Perspective far plane value is less than near plane value. Nothing will be shown.\"), this.aspectRatio = n, this.cameraNear = s, this.cameraFar = o, this.projMatrix = m.default.Matrix.identity();\n var a = 1 / Math.tan(this.cameraFOV / 2), l = 1 / (this.cameraNear - this.cameraFar);\n this.projMatrix.set(a / n, 0, 0, 0, 0, -a * this.yScale, 0, 0, 0, 0, (o + s) * l, -1, 0, 0, 2 * o * s * l, 0), this._isActive() && this._renderer.uPMatrix.set(this.projMatrix);\n } }, { key: \"ortho\", value: function(_, T, s, o, a, l) {\n _ === void 0 && (_ = -this._renderer.width / 2), T === void 0 && (T = +this._renderer.width / 2), s === void 0 && (s = -this._renderer.height / 2), o === void 0 && (o = +this._renderer.height / 2), a === void 0 && (a = 0), l === void 0 && (l = Math.max(this._renderer.width, this._renderer.height) + 800), this.cameraNear = a;\n var S = T - _, r = o - s, i = (this.cameraFar = l) - a, c = 2 / S, p = 2 / r * this.yScale, j = -2 / i, T = -(T + _) / S, _ = -(o + s) / r, S = -(l + a) / i;\n this.projMatrix = m.default.Matrix.identity(), this.projMatrix.set(c, 0, 0, 0, 0, -p, 0, 0, 0, 0, j, 0, T, _, S, 1), this._isActive() && this._renderer.uPMatrix.set(this.projMatrix), this.cameraType = \"custom\";\n } }, { key: \"frustum\", value: function(_, T, s, o, a, l) {\n _ === void 0 && (_ = 0.05 * -this._renderer.width), T === void 0 && (T = 0.05 * +this._renderer.width), s === void 0 && (s = 0.05 * +this._renderer.height), o === void 0 && (o = 0.05 * -this._renderer.height), a === void 0 && (a = this.defaultCameraNear), l === void 0 && (l = this.defaultCameraFar), this.cameraNear = a;\n var S = T - _, r = o - s, i = (this.cameraFar = l) - a, c = 2 * a / S, p = 2 * a / r * this.yScale, j = -2 * l * a / i, T = (T + _) / S, _ = (o + s) / r, S = -(l + a) / i;\n this.projMatrix = m.default.Matrix.identity(), this.projMatrix.set(c, 0, 0, 0, 0, -p, 0, 0, T, _, S, -1, 0, 0, j, 0), this._isActive() && this._renderer.uPMatrix.set(this.projMatrix), this.cameraType = \"custom\";\n } }, { key: \"_rotateView\", value: function(c, n, s, o) {\n var a = this.centerX, l = this.centerY, r = this.centerZ, i = (a -= this.eyeX, l -= this.eyeY, r -= this.eyeZ, m.default.Matrix.identity(this._renderer._pInst)), c = (i.rotate(this._renderer._pInst._toRadians(c), n, s, o), [a * i.mat4[0] + l * i.mat4[4] + r * i.mat4[8], a * i.mat4[1] + l * i.mat4[5] + r * i.mat4[9], a * i.mat4[2] + l * i.mat4[6] + r * i.mat4[10]]);\n c[0] += this.eyeX, c[1] += this.eyeY, c[2] += this.eyeZ, this.camera(this.eyeX, this.eyeY, this.eyeZ, c[0], c[1], c[2], this.upX, this.upY, this.upZ);\n } }, { key: \"pan\", value: function(f) {\n var n = this._getLocalAxes();\n this._rotateView(f, n.y[0], n.y[1], n.y[2]);\n } }, { key: \"tilt\", value: function(f) {\n var n = this._getLocalAxes();\n this._rotateView(f, n.x[0], n.x[1], n.x[2]);\n } }, { key: \"lookAt\", value: function(f, n, s) {\n this.camera(this.eyeX, this.eyeY, this.eyeZ, f, n, s, this.upX, this.upY, this.upZ);\n } }, { key: \"camera\", value: function(f, n, s, o, a, l, r, i, c) {\n return f === void 0 && (f = this.defaultEyeX, n = this.defaultEyeY, s = this.defaultEyeZ, o = f, a = n, i = 1, c = r = l = 0), this.eyeX = f, this.eyeY = n, this.eyeZ = s, o !== void 0 && (this.centerX = o, this.centerY = a, this.centerZ = l), r !== void 0 && (this.upX = r, this.upY = i, this.upZ = c), o = this._getLocalAxes(), this.cameraMatrix.set(o.x[0], o.y[0], o.z[0], 0, o.x[1], o.y[1], o.z[1], 0, o.x[2], o.y[2], o.z[2], 0, 0, 0, 0, 1), a = -f, this.cameraMatrix.translate([a, -n, -s]), this._isActive() && this._renderer.uMVMatrix.set(this.cameraMatrix), this;\n } }, { key: \"move\", value: function(o, a, s) {\n var l = this._getLocalAxes(), o = [l.x[0] * o, l.x[1] * o, l.x[2] * o], a = [l.y[0] * a, l.y[1] * a, l.y[2] * a], l = [l.z[0] * s, l.z[1] * s, l.z[2] * s];\n this.camera(this.eyeX + o[0] + a[0] + l[0], this.eyeY + o[1] + a[1] + l[1], this.eyeZ + o[2] + a[2] + l[2], this.centerX + o[0] + a[0] + l[0], this.centerY + o[1] + a[1] + l[1], this.centerZ + o[2] + a[2] + l[2], this.upX, this.upY, this.upZ);\n } }, { key: \"setPosition\", value: function(f, n, s) {\n var o = f - this.eyeX, a = n - this.eyeY, l = s - this.eyeZ;\n this.camera(f, n, s, this.centerX + o, this.centerY + a, this.centerZ + l, this.upX, this.upY, this.upZ);\n } }, { key: \"set\", value: function(f) {\n for (var n = 0, s = [\"eyeX\", \"eyeY\", \"eyeZ\", \"centerX\", \"centerY\", \"centerZ\", \"upX\", \"upY\", \"upZ\", \"cameraFOV\", \"aspectRatio\", \"cameraNear\", \"cameraFar\", \"cameraType\", \"yScale\"]; n < s.length; n++) {\n var o = s[n];\n this[o] = f[o];\n }\n this.cameraMatrix = f.cameraMatrix.copy(), this.projMatrix = f.projMatrix.copy(), this._isActive() && (this._renderer.uMVMatrix.mat4 = this.cameraMatrix.mat4.slice(), this._renderer.uPMatrix.mat4 = this.projMatrix.mat4.slice());\n } }, { key: \"slerp\", value: function(f, n, s) {\n var o, a, l, r, i, c, p, j, T, _, S, E, P, x, A, M, R, L;\n s === 0 ? this.set(f) : s === 1 ? this.set(n) : (this.projMatrix.mat4[15] !== 0 && (this.projMatrix.mat4[0] = f.projMatrix.mat4[0] * Math.pow(n.projMatrix.mat4[0] / f.projMatrix.mat4[0], s), this.projMatrix.mat4[5] = f.projMatrix.mat4[5] * Math.pow(n.projMatrix.mat4[5] / f.projMatrix.mat4[5], s), this._isActive() && (this._renderer.uPMatrix.mat4 = this.projMatrix.mat4.slice())), r = new m.default.Vector(f.eyeX, f.eyeY, f.eyeZ), i = new m.default.Vector(n.eyeX, n.eyeY, n.eyeZ), M = new m.default.Vector(f.centerX, f.centerY, f.centerZ), L = new m.default.Vector(n.centerX, n.centerY, n.centerZ), l = m.default.Vector.dist(r, M), o = m.default.Vector.dist(i, L), o = l * Math.pow(o / l, s), l = m.default.Vector.sub(r, i), a = 1, 1e-6 < (R = (x = r.copy().sub(i).sub(M).add(L)).magSq()) && (a = m.default.Vector.dot(l, x) / R, a = Math.max(0, Math.min(a, 1))), l = m.default.Vector.lerp(m.default.Vector.lerp(r, M, a), m.default.Vector.lerp(i, L, a), s), x = f.cameraMatrix.createSubMatrix3x3(), R = n.cameraMatrix.createSubMatrix3x3(), r = x.row(2), M = R.row(2), i = x.row(1), L = R.row(1), f = new m.default.Vector(), n = new m.default.Vector(), c = new m.default.Vector(), p = new m.default.Vector(), 1 - (j = 0.5 * ((x = (R = R.mult3x3(x.copy().transpose3x3())).diagonal())[0] + x[1] + x[2] - 1)) < 1e-7 ? (f.set(m.default.Vector.lerp(r, M, s)).normalize(), c.set(f).mult(a * o).add(l), p.set(f).mult((a - 1) * o).add(l), n.set(m.default.Vector.lerp(i, L, s)).normalize()) : (M = 1 / (1 - j), L = Math.max(x[0], x[1], x[2]), E = R.mat3[1] + R.mat3[3], P = R.mat3[2] + R.mat3[6], A = R.mat3[5] + R.mat3[7], L = L === x[0] ? (_ = 0.5 * E * (M /= T = Math.sqrt((x[0] - j) * M)), S = 0.5 * P * M, 0.5 * (R.mat3[7] - R.mat3[5]) / T) : L === x[1] ? (S = 0.5 * A * (M /= _ = Math.sqrt((x[1] - j) * M)), T = 0.5 * E * M, 0.5 * (R.mat3[2] - R.mat3[6]) / _) : (T = 0.5 * P * (M /= S = Math.sqrt((x[2] - j) * M)), _ = 0.5 * A * M, 0.5 * (R.mat3[3] - R.mat3[1]) / S), E = s * Math.atan2(L, j), P = Math.cos(E), x = Math.sin(E), (L = new m.default.Matrix(\"mat3\", [P + (A = 1 - P) * T * T, A * (M = T * _) + x * S, A * (R = S * T) - x * _, A * M - x * S, P + A * _ * _, A * (s = _ * S) + x * T, A * R + x * _, A * s - x * T, P + A * S * S])).multiplyVec3(r, f), c.set(f).mult(a * o).add(l), p.set(f).mult((a - 1) * o).add(l), L.multiplyVec3(i, n)), this.camera(c.x, c.y, c.z, p.x, p.y, p.z, n.x, n.y, n.z));\n } }, { key: \"_computeCameraDefaultSettings\", value: function() {\n this.defaultAspectRatio = this._renderer.width / this._renderer.height, this.defaultEyeX = 0, this.defaultEyeY = 0, this.defaultEyeZ = 800, this.defaultCameraFOV = 2 * Math.atan(this._renderer.height / 2 / this.defaultEyeZ), this.defaultCenterX = 0, this.defaultCenterY = 0, this.defaultCenterZ = 0, this.defaultCameraNear = 0.1 * this.defaultEyeZ, this.defaultCameraFar = 10 * this.defaultEyeZ;\n } }, { key: \"_setDefaultCamera\", value: function() {\n this.cameraFOV = this.defaultCameraFOV, this.aspectRatio = this.defaultAspectRatio, this.eyeX = this.defaultEyeX, this.eyeY = this.defaultEyeY, this.eyeZ = this.defaultEyeZ, this.centerX = this.defaultCenterX, this.centerY = this.defaultCenterY, this.centerZ = this.defaultCenterZ, this.upX = 0, this.upY = 1, this.upZ = 0, this.cameraNear = this.defaultCameraNear, this.cameraFar = this.defaultCameraFar, this.perspective(), this.camera(), this.cameraType = \"default\";\n } }, { key: \"_resize\", value: function() {\n this.cameraType === \"default\" && (this._computeCameraDefaultSettings(), this.cameraFOV = this.defaultCameraFOV, this.aspectRatio = this.defaultAspectRatio, this.perspective());\n } }, { key: \"copy\", value: function() {\n var f = new m.default.Camera(this._renderer);\n return f.cameraFOV = this.cameraFOV, f.aspectRatio = this.aspectRatio, f.eyeX = this.eyeX, f.eyeY = this.eyeY, f.eyeZ = this.eyeZ, f.centerX = this.centerX, f.centerY = this.centerY, f.centerZ = this.centerZ, f.upX = this.upX, f.upY = this.upY, f.upZ = this.upZ, f.cameraNear = this.cameraNear, f.cameraFar = this.cameraFar, f.cameraType = this.cameraType, f.cameraMatrix = this.cameraMatrix.copy(), f.projMatrix = this.projMatrix.copy(), f.yScale = this.yScale, f;\n } }, { key: \"_getLocalAxes\", value: function() {\n var f = this.eyeX - this.centerX, n = this.eyeY - this.centerY, s = this.eyeZ - this.centerZ, r = Math.sqrt(f * f + n * n + s * s), r = (r !== 0 && (f /= r, n /= r, s /= r), this.upX), o = (i = this.upY) * s - (c = this.upZ) * n, a = -r * s + c * f, l = r * n - i * f, r = n * l - s * a, i = -f * l + s * o, c = f * a - n * o, p = Math.sqrt(o * o + a * a + l * l), p = (p !== 0 && (o /= p, a /= p, l /= p), Math.sqrt(r * r + i * i + c * c));\n return p !== 0 && (r /= p, i /= p, c /= p), { x: [o, a, l], y: [r, i, c], z: [f, n, s] };\n } }, { key: \"_orbit\", value: function(f, p, c) {\n var a = this.eyeX - this.centerX, l = this.eyeY - this.centerY, r = this.eyeZ - this.centerZ, o = Math.hypot(a, l, r), a = new m.default.Vector(a, l, r).normalize(), l = new m.default.Vector(this.upX, this.upY, this.upZ).normalize(), r = m.default.Vector.cross(l, a).normalize(), i = m.default.Vector.cross(r, l), c = ((o = (o *= Math.pow(10, c)) < this.cameraNear ? this.cameraNear : o) > this.cameraFar && (o = this.cameraFar), Math.acos(Math.max(-1, Math.min(1, m.default.Vector.dot(a, l)))) + p), p = f;\n (c <= 0 || c >= Math.PI) && (this.upX *= -1, this.upY *= -1, this.upZ *= -1), l.mult(Math.cos(c)), i.mult(Math.cos(p) * Math.sin(c)), r.mult(Math.sin(p) * Math.sin(c)), a.set(l).add(i).add(r), this.eyeX = o * a.x + this.centerX, this.eyeY = o * a.y + this.centerY, this.eyeZ = o * a.z + this.centerZ, this.camera(this.eyeX, this.eyeY, this.eyeZ, this.centerX, this.centerY, this.centerZ, this.upX, this.upY, this.upZ);\n } }, { key: \"_orbitFree\", value: function(c, p, T) {\n var a = this.eyeX - this.centerX, l = this.eyeY - this.centerY, r = this.eyeZ - this.centerZ, o = Math.hypot(a, l, r), a = new m.default.Vector(a, l, r).normalize(), l = new m.default.Vector(this.upX, this.upY, this.upZ), r = m.default.Vector.cross(l, a).normalize(), i = m.default.Vector.cross(a, r), _ = Math.atan2(p, c), _ = (i.mult(Math.sin(_)), r.mult(Math.cos(_)).add(i), Math.sqrt(c * c + p * p)), i = m.default.Vector.cross(a, r), c = ((o = (o *= Math.pow(10, T)) < this.cameraNear ? this.cameraNear : o) > this.cameraFar && (o = this.cameraFar), Math.cos(_)), p = Math.sin(_), T = l.dot(a), _ = l.dot(r), j = T * c + _ * p, T = -T * p + _ * c, _ = l.dot(i);\n l.x = j * a.x + T * r.x + _ * i.x, l.y = j * a.y + T * r.y + _ * i.y, l.z = j * a.z + T * r.z + _ * i.z, r.mult(-p), a.mult(c).add(r).mult(o), this.camera(a.x + this.centerX, a.y + this.centerY, a.z + this.centerZ, this.centerX, this.centerY, this.centerZ, l.x, l.y, l.z);\n } }, { key: \"_isActive\", value: function() {\n return this === this._renderer._curCamera;\n } }]) && y(h.prototype, g), u;\n }(), m.default.prototype.setCamera = function(u) {\n this._renderer._curCamera = u, this._renderer.uPMatrix.set(u.projMatrix);\n }, t = m.default.Camera, C.default = t;\n }, { \"../core/main\": 280, \"core-js/modules/es.array.slice\": 168, \"core-js/modules/es.math.hypot\": 175, \"core-js/modules/es.string.sub\": 205 }], 330: [function(t, H, C) {\n t(\"core-js/modules/es.array.iterator\"), t(\"core-js/modules/es.array.slice\"), t(\"core-js/modules/es.math.log2\"), t(\"core-js/modules/es.object.to-string\"), t(\"core-js/modules/es.typed-array.float32-array\"), t(\"core-js/modules/es.typed-array.copy-within\"), t(\"core-js/modules/es.typed-array.every\"), t(\"core-js/modules/es.typed-array.fill\"), t(\"core-js/modules/es.typed-array.filter\"), t(\"core-js/modules/es.typed-array.find\"), t(\"core-js/modules/es.typed-array.find-index\"), t(\"core-js/modules/es.typed-array.for-each\"), t(\"core-js/modules/es.typed-array.includes\"), t(\"core-js/modules/es.typed-array.index-of\"), t(\"core-js/modules/es.typed-array.iterator\"), t(\"core-js/modules/es.typed-array.join\"), t(\"core-js/modules/es.typed-array.last-index-of\"), t(\"core-js/modules/es.typed-array.map\"), t(\"core-js/modules/es.typed-array.reduce\"), t(\"core-js/modules/es.typed-array.reduce-right\"), t(\"core-js/modules/es.typed-array.reverse\"), t(\"core-js/modules/es.typed-array.set\"), t(\"core-js/modules/es.typed-array.slice\"), t(\"core-js/modules/es.typed-array.some\"), t(\"core-js/modules/es.typed-array.sort\"), t(\"core-js/modules/es.typed-array.subarray\"), t(\"core-js/modules/es.typed-array.to-locale-string\"), t(\"core-js/modules/es.typed-array.to-string\"), t(\"core-js/modules/es.array.iterator\"), t(\"core-js/modules/es.array.slice\"), t(\"core-js/modules/es.math.log2\"), t(\"core-js/modules/es.object.to-string\"), t(\"core-js/modules/es.typed-array.float32-array\"), t(\"core-js/modules/es.typed-array.copy-within\"), t(\"core-js/modules/es.typed-array.every\"), t(\"core-js/modules/es.typed-array.fill\"), t(\"core-js/modules/es.typed-array.filter\"), t(\"core-js/modules/es.typed-array.find\"), t(\"core-js/modules/es.typed-array.find-index\"), t(\"core-js/modules/es.typed-array.for-each\"), t(\"core-js/modules/es.typed-array.includes\"), t(\"core-js/modules/es.typed-array.index-of\"), t(\"core-js/modules/es.typed-array.iterator\"), t(\"core-js/modules/es.typed-array.join\"), t(\"core-js/modules/es.typed-array.last-index-of\"), t(\"core-js/modules/es.typed-array.map\"), t(\"core-js/modules/es.typed-array.reduce\"), t(\"core-js/modules/es.typed-array.reduce-right\"), t(\"core-js/modules/es.typed-array.reverse\"), t(\"core-js/modules/es.typed-array.set\"), t(\"core-js/modules/es.typed-array.slice\"), t(\"core-js/modules/es.typed-array.some\"), t(\"core-js/modules/es.typed-array.sort\"), t(\"core-js/modules/es.typed-array.subarray\"), t(\"core-js/modules/es.typed-array.to-locale-string\"), t(\"core-js/modules/es.typed-array.to-string\"), Object.defineProperty(C, \"__esModule\", { value: !0 }), C.default = void 0, t = (t = t(\"../core/main\")) && t.__esModule ? t : { default: t };\n function m(y, u) {\n for (var h = 0; h < u.length; h++) {\n var g = u[h];\n g.enumerable = g.enumerable || !1, g.configurable = !0, \"value\" in g && (g.writable = !0), Object.defineProperty(y, g.key, g);\n }\n }\n t.default.DataArray = function() {\n function y() {\n var g = 0 < arguments.length && arguments[0] !== void 0 ? arguments[0] : 128, f = this, n = y;\n if (!(f instanceof n))\n throw new TypeError(\"Cannot call a class as a function\");\n this.length = 0, this.data = new Float32Array(g), this.initialLength = g;\n }\n var u, h;\n return u = y, (h = [{ key: \"dataArray\", value: function() {\n return this.subArray(0, this.length);\n } }, { key: \"clear\", value: function() {\n this.length = 0;\n } }, { key: \"rescale\", value: function() {\n var g;\n this.length < this.data.length / 2 && (g = 1 << Math.ceil(Math.log2(this.length)), (g = new Float32Array(g)).set(this.data.subarray(0, this.length), 0), this.data = g);\n } }, { key: \"reset\", value: function() {\n this.clear(), this.data = new Float32Array(this.initialLength);\n } }, { key: \"push\", value: function() {\n for (var g = arguments.length, f = new Array(g), n = 0; n < g; n++)\n f[n] = arguments[n];\n this.ensureLength(this.length + f.length), this.data.set(f, this.length), this.length += f.length;\n } }, { key: \"slice\", value: function(g, f) {\n return this.data.slice(g, Math.min(f, this.length));\n } }, { key: \"subArray\", value: function(g, f) {\n return this.data.subarray(g, Math.min(f, this.length));\n } }, { key: \"ensureLength\", value: function(g) {\n for (; this.data.length < g; ) {\n var f = new Float32Array(2 * this.data.length);\n f.set(this.data, 0), this.data = f;\n }\n } }]) && m(u.prototype, h), y;\n }(), t = t.default.DataArray, C.default = t;\n }, { \"../core/main\": 280, \"core-js/modules/es.array.iterator\": 164, \"core-js/modules/es.array.slice\": 168, \"core-js/modules/es.math.log2\": 176, \"core-js/modules/es.object.to-string\": 187, \"core-js/modules/es.typed-array.copy-within\": 210, \"core-js/modules/es.typed-array.every\": 211, \"core-js/modules/es.typed-array.fill\": 212, \"core-js/modules/es.typed-array.filter\": 213, \"core-js/modules/es.typed-array.find\": 215, \"core-js/modules/es.typed-array.find-index\": 214, \"core-js/modules/es.typed-array.float32-array\": 216, \"core-js/modules/es.typed-array.for-each\": 218, \"core-js/modules/es.typed-array.includes\": 219, \"core-js/modules/es.typed-array.index-of\": 220, \"core-js/modules/es.typed-array.iterator\": 223, \"core-js/modules/es.typed-array.join\": 224, \"core-js/modules/es.typed-array.last-index-of\": 225, \"core-js/modules/es.typed-array.map\": 226, \"core-js/modules/es.typed-array.reduce\": 228, \"core-js/modules/es.typed-array.reduce-right\": 227, \"core-js/modules/es.typed-array.reverse\": 229, \"core-js/modules/es.typed-array.set\": 230, \"core-js/modules/es.typed-array.slice\": 231, \"core-js/modules/es.typed-array.some\": 232, \"core-js/modules/es.typed-array.sort\": 233, \"core-js/modules/es.typed-array.subarray\": 234, \"core-js/modules/es.typed-array.to-locale-string\": 235, \"core-js/modules/es.typed-array.to-string\": 236 }], 331: [function(E, H, C) {\n function m(P) {\n return (m = typeof Symbol == \"function\" && typeof Symbol.iterator == \"symbol\" ? function(x) {\n return typeof x;\n } : function(x) {\n return x && typeof Symbol == \"function\" && x.constructor === Symbol && x !== Symbol.prototype ? \"symbol\" : typeof x;\n })(P);\n }\n function y(P) {\n return (y = typeof Symbol == \"function\" && m(Symbol.iterator) === \"symbol\" ? function(x) {\n return m(x);\n } : function(x) {\n return x && typeof Symbol == \"function\" && x.constructor === Symbol && x !== Symbol.prototype ? \"symbol\" : m(x);\n })(P);\n }\n E(\"core-js/modules/es.symbol\"), E(\"core-js/modules/es.symbol.description\"), E(\"core-js/modules/es.symbol.iterator\"), E(\"core-js/modules/es.array.fill\"), E(\"core-js/modules/es.array.includes\"), E(\"core-js/modules/es.array.iterator\"), E(\"core-js/modules/es.object.get-own-property-descriptor\"), E(\"core-js/modules/es.object.get-prototype-of\"), E(\"core-js/modules/es.object.to-string\"), E(\"core-js/modules/es.reflect.construct\"), E(\"core-js/modules/es.reflect.get\"), E(\"core-js/modules/es.regexp.to-string\"), E(\"core-js/modules/es.string.includes\"), E(\"core-js/modules/es.string.iterator\"), E(\"core-js/modules/es.typed-array.float32-array\"), E(\"core-js/modules/es.typed-array.uint8-array\"), E(\"core-js/modules/es.typed-array.uint8-clamped-array\"), E(\"core-js/modules/es.typed-array.copy-within\"), E(\"core-js/modules/es.typed-array.every\"), E(\"core-js/modules/es.typed-array.fill\"), E(\"core-js/modules/es.typed-array.filter\"), E(\"core-js/modules/es.typed-array.find\"), E(\"core-js/modules/es.typed-array.find-index\"), E(\"core-js/modules/es.typed-array.for-each\"), E(\"core-js/modules/es.typed-array.includes\"), E(\"core-js/modules/es.typed-array.index-of\"), E(\"core-js/modules/es.typed-array.iterator\"), E(\"core-js/modules/es.typed-array.join\"), E(\"core-js/modules/es.typed-array.last-index-of\"), E(\"core-js/modules/es.typed-array.map\"), E(\"core-js/modules/es.typed-array.reduce\"), E(\"core-js/modules/es.typed-array.reduce-right\"), E(\"core-js/modules/es.typed-array.reverse\"), E(\"core-js/modules/es.typed-array.set\"), E(\"core-js/modules/es.typed-array.slice\"), E(\"core-js/modules/es.typed-array.some\"), E(\"core-js/modules/es.typed-array.sort\"), E(\"core-js/modules/es.typed-array.subarray\"), E(\"core-js/modules/es.typed-array.to-locale-string\"), E(\"core-js/modules/es.typed-array.to-string\"), E(\"core-js/modules/es.weak-map\"), E(\"core-js/modules/web.dom-collections.iterator\"), E(\"core-js/modules/es.array.fill\"), E(\"core-js/modules/es.array.includes\"), E(\"core-js/modules/es.array.iterator\"), E(\"core-js/modules/es.object.get-prototype-of\"), E(\"core-js/modules/es.object.to-string\"), E(\"core-js/modules/es.string.includes\"), E(\"core-js/modules/es.typed-array.float32-array\"), E(\"core-js/modules/es.typed-array.uint8-array\"), E(\"core-js/modules/es.typed-array.uint8-clamped-array\"), E(\"core-js/modules/es.typed-array.copy-within\"), E(\"core-js/modules/es.typed-array.every\"), E(\"core-js/modules/es.typed-array.fill\"), E(\"core-js/modules/es.typed-array.filter\"), E(\"core-js/modules/es.typed-array.find\"), E(\"core-js/modules/es.typed-array.find-index\"), E(\"core-js/modules/es.typed-array.for-each\"), E(\"core-js/modules/es.typed-array.includes\"), E(\"core-js/modules/es.typed-array.index-of\"), E(\"core-js/modules/es.typed-array.iterator\"), E(\"core-js/modules/es.typed-array.join\"), E(\"core-js/modules/es.typed-array.last-index-of\"), E(\"core-js/modules/es.typed-array.map\"), E(\"core-js/modules/es.typed-array.reduce\"), E(\"core-js/modules/es.typed-array.reduce-right\"), E(\"core-js/modules/es.typed-array.reverse\"), E(\"core-js/modules/es.typed-array.set\"), E(\"core-js/modules/es.typed-array.slice\"), E(\"core-js/modules/es.typed-array.some\"), E(\"core-js/modules/es.typed-array.sort\"), E(\"core-js/modules/es.typed-array.subarray\"), E(\"core-js/modules/es.typed-array.to-locale-string\"), E(\"core-js/modules/es.typed-array.to-string\"), Object.defineProperty(C, \"__esModule\", { value: !0 }), C.default = void 0;\n var u = (S = E(\"../core/main\")) && S.__esModule ? S : { default: S }, h = function(P) {\n if (P && P.__esModule)\n return P;\n if (P === null || y(P) !== \"object\" && typeof P != \"function\")\n return { default: P };\n var x = n();\n if (x && x.has(P))\n return x.get(P);\n var A, M = {}, R = Object.defineProperty && Object.getOwnPropertyDescriptor;\n for (A in P) {\n var L;\n Object.prototype.hasOwnProperty.call(P, A) && ((L = R ? Object.getOwnPropertyDescriptor(P, A) : null) && (L.get || L.set) ? Object.defineProperty(M, A, L) : M[A] = P[A]);\n }\n return M.default = P, x && x.set(P, M), M;\n }(E(\"../core/constants\")), g = E(\"./p5.Texture\"), f = E(\"./p5.RendererGL\");\n function n() {\n var P;\n return typeof WeakMap != \"function\" ? null : (P = /* @__PURE__ */ new WeakMap(), n = function() {\n return P;\n }, P);\n }\n function s(P, x) {\n return function(A) {\n if (Array.isArray(A))\n return A;\n }(P) || function(A, M) {\n if (Symbol.iterator in Object(A) || Object.prototype.toString.call(A) === \"[object Arguments]\") {\n var R = [], L = !0, F = !1, V = void 0;\n try {\n for (var G, U = A[Symbol.iterator](); !(L = (G = U.next()).done) && (R.push(G.value), !M || R.length !== M); L = !0)\n ;\n } catch (W) {\n F = !0, V = W;\n } finally {\n try {\n L || U.return == null || U.return();\n } finally {\n if (F)\n throw V;\n }\n }\n return R;\n }\n }(P, x) || function() {\n throw new TypeError(\"Invalid attempt to destructure non-iterable instance\");\n }();\n }\n function o(P, x, A) {\n return x in P ? Object.defineProperty(P, x, { value: A, enumerable: !0, configurable: !0, writable: !0 }) : P[x] = A, P;\n }\n function a(P, x) {\n if (!(P instanceof x))\n throw new TypeError(\"Cannot call a class as a function\");\n }\n function l(P, x) {\n for (var A = 0; A < x.length; A++) {\n var M = x[A];\n M.enumerable = M.enumerable || !1, M.configurable = !0, \"value\" in M && (M.writable = !0), Object.defineProperty(P, M.key, M);\n }\n }\n function r(P, x, A) {\n x && l(P.prototype, x), A && l(P, A);\n }\n function i(P, x, A) {\n return (i = typeof Reflect < \"u\" && Reflect.get ? Reflect.get : function(F, R, L) {\n var F = function(V, G) {\n for (; !Object.prototype.hasOwnProperty.call(V, G) && (V = j(V)) !== null; )\n ;\n return V;\n }(F, R);\n if (F)\n return (F = Object.getOwnPropertyDescriptor(F, R)).get ? F.get.call(L) : F.value;\n })(P, x, A || P);\n }\n function c(P, x) {\n return (c = Object.setPrototypeOf || function(A, M) {\n return A.__proto__ = M, A;\n })(P, x);\n }\n function p(P) {\n return function() {\n var x, A = j(P), A = (x = function() {\n if (typeof Reflect < \"u\" && Reflect.construct && !Reflect.construct.sham) {\n if (typeof Proxy == \"function\")\n return 1;\n try {\n return Date.prototype.toString.call(Reflect.construct(Date, [], function() {\n })), 1;\n } catch {\n }\n }\n }() ? (x = j(this).constructor, Reflect.construct(A, arguments, x)) : A.apply(this, arguments), this);\n if (!x || y(x) !== \"object\" && typeof x != \"function\") {\n if (A !== void 0)\n return A;\n throw new ReferenceError(\"this hasn't been initialised - super() hasn't been called\");\n }\n return x;\n };\n }\n function j(P) {\n return (j = Object.setPrototypeOf ? Object.getPrototypeOf : function(x) {\n return x.__proto__ || Object.getPrototypeOf(x);\n })(P);\n }\n var T = function(P) {\n var x = M;\n if (typeof P != \"function\" && P !== null)\n throw new TypeError(\"Super expression must either be null or a function\");\n x.prototype = Object.create(P && P.prototype, { constructor: { value: x, writable: !0, configurable: !0 } }), P && c(x, P);\n var A = p(M);\n function M(R) {\n var L;\n return a(this, M), (L = A.call(this, R.target._renderer)).fbo = R, L.yScale = -1, L;\n }\n return r(M, [{ key: \"_computeCameraDefaultSettings\", value: function() {\n i(j(M.prototype), \"_computeCameraDefaultSettings\", this).call(this), this.defaultAspectRatio = this.fbo.width / this.fbo.height, this.defaultCameraFOV = 2 * Math.atan(this.fbo.height / 2 / this.defaultEyeZ);\n } }]), M;\n }(u.default.Camera), _ = (u.default.FramebufferCamera = T, function() {\n function P(x, A) {\n a(this, P), this.framebuffer = x, this.property = A;\n }\n return r(P, [{ key: \"rawTexture\", value: function() {\n return this.framebuffer[this.property];\n } }, { key: \"width\", get: function() {\n return this.framebuffer.width * this.framebuffer.density;\n } }, { key: \"height\", get: function() {\n return this.framebuffer.height * this.framebuffer.density;\n } }]), P;\n }()), S = (u.default.FramebufferTexture = _, function() {\n function P(x) {\n var A = this, M = 1 < arguments.length && arguments[1] !== void 0 ? arguments[1] : {}, R = (a(this, P), this.target = x, this.target._renderer.framebuffers.add(this), this._isClipApplied = !1, this.pixels = [], this.format = M.format || h.UNSIGNED_BYTE, this.channels = M.channels || (x._renderer._pInst._glAttributes.alpha ? h.RGBA : h.RGB), this.useDepth = M.depth === void 0 || M.depth, this.depthFormat = M.depthFormat || h.FLOAT, this.textureFiltering = M.textureFiltering || h.LINEAR, M.antialias === void 0 ? this.antialiasSamples = x._renderer._pInst._glAttributes.antialias ? 2 : 0 : typeof M.antialias == \"number\" ? this.antialiasSamples = M.antialias : this.antialiasSamples = M.antialias ? 2 : 0, this.antialias = 0 < this.antialiasSamples, this.antialias && x.webglVersion !== h.WEBGL2 && (console.warn(\"Antialiasing is unsupported in a WebGL 1 context\"), this.antialias = !1), this.density = M.density || x.pixelDensity(), x._renderer.GL);\n if (this.gl = R, M.width && M.height ? (L = x._renderer._adjustDimensions(M.width, M.height), this.width = L.adjustedWidth, this.height = L.adjustedHeight, this.autoSized = !1) : (M.width === void 0 != (M.height === void 0) && console.warn(\"Please supply both width and height for a framebuffer to give it a size. Only one was given, so the framebuffer will match the size of its canvas.\"), this.width = x.width, this.height = x.height, this.autoSized = !0), this._checkIfFormatsAvailable(), M.stencil && !this.useDepth && console.warn(\"A stencil buffer can only be used if also using depth. Since the framebuffer has no depth buffer, the stencil buffer will be ignored.\"), this.useStencil = this.useDepth && (M.stencil === void 0 || M.stencil), this.framebuffer = R.createFramebuffer(), !this.framebuffer)\n throw new Error(\"Unable to create a framebuffer\");\n if (this.antialias && (this.aaFramebuffer = R.createFramebuffer(), !this.aaFramebuffer))\n throw new Error(\"Unable to create a framebuffer for antialiasing\");\n this._recreateTextures();\n var L = this.target._renderer._curCamera;\n this.defaultCamera = this.createCamera(), this.filterCamera = this.createCamera(), this.target._renderer._curCamera = L, this.draw(function() {\n return A.target.clear();\n });\n }\n return r(P, [{ key: \"resize\", value: function(x, A) {\n this.autoSized = !1;\n var M = this.target._renderer._adjustDimensions(x, A);\n x = M.adjustedWidth, A = M.adjustedHeight, this.width = x, this.height = A, this._handleResize();\n } }, { key: \"pixelDensity\", value: function(x) {\n if (!x)\n return this.density;\n this.autoSized = !1, this.density = x, this._handleResize();\n } }, { key: \"autoSized\", value: function(x) {\n if (x === void 0)\n return this.autoSized;\n this.autoSized = x, this._handleResize();\n } }, { key: \"_checkIfFormatsAvailable\", value: function() {\n var x = this.gl, x = (this.useDepth && this.target.webglVersion === h.WEBGL && !x.getExtension(\"WEBGL_depth_texture\") && (console.warn(\"Unable to create depth textures in this environment. Falling back to a framebuffer without depth.\"), this.useDepth = !1), this.useDepth && this.target.webglVersion === h.WEBGL && this.depthFormat === h.FLOAT && (console.warn(\"FLOAT depth format is unavailable in WebGL 1. Defaulting to UNSIGNED_INT.\"), this.depthFormat = h.UNSIGNED_INT), [h.UNSIGNED_BYTE, h.FLOAT, h.HALF_FLOAT].includes(this.format) || (console.warn(\"Unknown Framebuffer format. Please use UNSIGNED_BYTE, FLOAT, or HALF_FLOAT. Defaulting to UNSIGNED_BYTE.\"), this.format = h.UNSIGNED_BYTE), this.useDepth && ![h.UNSIGNED_INT, h.FLOAT].includes(this.depthFormat) && (console.warn(\"Unknown Framebuffer depth format. Please use UNSIGNED_INT or FLOAT. Defaulting to FLOAT.\"), this.depthFormat = h.FLOAT), (0, g.checkWebGLCapabilities)(this.target._renderer));\n x.float || this.format !== h.FLOAT || (console.warn(\"This environment does not support FLOAT textures. Falling back to UNSIGNED_BYTE.\"), this.format = h.UNSIGNED_BYTE), this.useDepth && !x.float && this.depthFormat === h.FLOAT && (console.warn(\"This environment does not support FLOAT depth textures. Falling back to UNSIGNED_INT.\"), this.depthFormat = h.UNSIGNED_INT), x.halfFloat || this.format !== h.HALF_FLOAT || (console.warn(\"This environment does not support HALF_FLOAT textures. Falling back to UNSIGNED_BYTE.\"), this.format = h.UNSIGNED_BYTE), this.channels === h.RGB && [h.FLOAT, h.HALF_FLOAT].includes(this.format) && (console.warn(\"FLOAT and HALF_FLOAT formats do not work cross-platform with only RGB channels. Falling back to RGBA.\"), this.channels = h.RGBA);\n } }, { key: \"_recreateTextures\", value: function() {\n var x = this.gl, A = (this._updateSize(), x.getParameter(x.TEXTURE_BINDING_2D)), M = x.getParameter(x.FRAMEBUFFER_BINDING), R = x.createTexture();\n if (!R)\n throw new Error(\"Unable to create color texture\");\n x.bindTexture(x.TEXTURE_2D, R);\n var L = this._glColorFormat();\n if (x.texImage2D(x.TEXTURE_2D, 0, L.internalFormat, this.width * this.density, this.height * this.density, 0, L.format, L.type, null), this.colorTexture = R, x.bindFramebuffer(x.FRAMEBUFFER, this.framebuffer), x.framebufferTexture2D(x.FRAMEBUFFER, x.COLOR_ATTACHMENT0, x.TEXTURE_2D, R, 0), this.useDepth) {\n var R = x.createTexture();\n if (!R)\n throw new Error(\"Unable to create depth texture\");\n var F = this._glDepthFormat();\n x.bindTexture(x.TEXTURE_2D, R), x.texImage2D(x.TEXTURE_2D, 0, F.internalFormat, this.width * this.density, this.height * this.density, 0, F.format, F.type, null), x.framebufferTexture2D(x.FRAMEBUFFER, this.useStencil ? x.DEPTH_STENCIL_ATTACHMENT : x.DEPTH_ATTACHMENT, x.TEXTURE_2D, R, 0), this.depthTexture = R;\n }\n this.antialias && (this.colorRenderbuffer = x.createRenderbuffer(), x.bindRenderbuffer(x.RENDERBUFFER, this.colorRenderbuffer), x.renderbufferStorageMultisample(x.RENDERBUFFER, Math.max(0, Math.min(this.antialiasSamples, x.getParameter(x.MAX_SAMPLES))), L.internalFormat, this.width * this.density, this.height * this.density), this.useDepth && (F = this._glDepthFormat(), this.depthRenderbuffer = x.createRenderbuffer(), x.bindRenderbuffer(x.RENDERBUFFER, this.depthRenderbuffer), x.renderbufferStorageMultisample(x.RENDERBUFFER, Math.max(0, Math.min(this.antialiasSamples, x.getParameter(x.MAX_SAMPLES))), F.internalFormat, this.width * this.density, this.height * this.density)), x.bindFramebuffer(x.FRAMEBUFFER, this.aaFramebuffer), x.framebufferRenderbuffer(x.FRAMEBUFFER, x.COLOR_ATTACHMENT0, x.RENDERBUFFER, this.colorRenderbuffer), this.useDepth && x.framebufferRenderbuffer(x.FRAMEBUFFER, this.useStencil ? x.DEPTH_STENCIL_ATTACHMENT : x.DEPTH_ATTACHMENT, x.RENDERBUFFER, this.depthRenderbuffer)), this.useDepth && (this.depth = new _(this, \"depthTexture\"), R = x.NEAREST, this.depthP5Texture = new u.default.Texture(this.target._renderer, this.depth, { minFilter: R, magFilter: R }), this.target._renderer.textures.set(this.depth, this.depthP5Texture)), this.color = new _(this, \"colorTexture\"), L = this.textureFiltering === h.LINEAR ? x.LINEAR : x.NEAREST, this.colorP5Texture = new u.default.Texture(this.target._renderer, this.color, { minFilter: L, magFilter: L }), this.target._renderer.textures.set(this.color, this.colorP5Texture), x.bindTexture(x.TEXTURE_2D, A), x.bindFramebuffer(x.FRAMEBUFFER, M);\n } }, { key: \"_glColorFormat\", value: function() {\n var x, A, M = this.gl, R = this.format === h.FLOAT ? M.FLOAT : this.format === h.HALF_FLOAT ? this.target.webglVersion === h.WEBGL2 ? M.HALF_FLOAT : M.getExtension(\"OES_texture_half_float\").HALF_FLOAT_OES : M.UNSIGNED_BYTE, L = this.channels === h.RGBA ? M.RGBA : M.RGB;\n return { internalFormat: this.target.webglVersion === h.WEBGL2 ? (o(A = {}, M.FLOAT, o({}, M.RGBA, M.RGBA32F)), o(A, M.HALF_FLOAT, o({}, M.RGBA, M.RGBA16F)), o(A, M.UNSIGNED_BYTE, (o(x = {}, M.RGBA, M.RGBA8), o(x, M.RGB, M.RGB8), x)), A[R][L]) : this.format === h.HALF_FLOAT ? M.RGBA : L, format: L, type: R };\n } }, { key: \"_glDepthFormat\", value: function() {\n var M = this.gl, x = this.useStencil ? this.depthFormat === h.FLOAT ? M.FLOAT_32_UNSIGNED_INT_24_8_REV : this.target.webglVersion === h.WEBGL2 ? M.UNSIGNED_INT_24_8 : M.getExtension(\"WEBGL_depth_texture\").UNSIGNED_INT_24_8_WEBGL : this.depthFormat === h.FLOAT ? M.FLOAT : M.UNSIGNED_INT, A = this.useStencil ? M.DEPTH_STENCIL : M.DEPTH_COMPONENT, M = this.useStencil ? this.depthFormat === h.FLOAT ? M.DEPTH32F_STENCIL8 : this.target.webglVersion === h.WEBGL2 ? M.DEPTH24_STENCIL8 : M.DEPTH_STENCIL : this.target.webglVersion === h.WEBGL2 ? this.depthFormat === h.FLOAT ? M.DEPTH_COMPONENT32F : M.DEPTH_COMPONENT24 : M.DEPTH_COMPONENT;\n return { internalFormat: M, format: A, type: x };\n } }, { key: \"_updateSize\", value: function() {\n this.autoSized && (this.width = this.target.width, this.height = this.target.height, this.density = this.target.pixelDensity());\n } }, { key: \"_canvasSizeChanged\", value: function() {\n this.autoSized && this._handleResize();\n } }, { key: \"_handleResize\", value: function() {\n var R = this.color, x = this.depth, A = this.colorRenderbuffer, M = this.depthRenderbuffer, R = (this._deleteTexture(R), x && this._deleteTexture(x), this.gl);\n A && R.deleteRenderbuffer(A), M && R.deleteRenderbuffer(M), this._recreateTextures(), this.defaultCamera._resize();\n } }, { key: \"createCamera\", value: function() {\n var x = new T(this);\n return x._computeCameraDefaultSettings(), x._setDefaultCamera(), this.target._renderer._curCamera = x;\n } }, { key: \"_deleteTexture\", value: function(x) {\n this.gl.deleteTexture(x.rawTexture()), this.target._renderer.textures.delete(x);\n } }, { key: \"remove\", value: function() {\n var x = this.gl;\n this._deleteTexture(this.color), this.depth && this._deleteTexture(this.depth), x.deleteFramebuffer(this.framebuffer), this.aaFramebuffer && x.deleteFramebuffer(this.aaFramebuffer), this.depthRenderbuffer && x.deleteRenderbuffer(this.depthRenderbuffer), this.colorRenderbuffer && x.deleteRenderbuffer(this.colorRenderbuffer), this.target._renderer.framebuffers.delete(this);\n } }, { key: \"begin\", value: function() {\n this.prevFramebuffer = this.target._renderer.activeFramebuffer(), this.prevFramebuffer && this.prevFramebuffer._beforeEnd(), this.target._renderer.activeFramebuffers.push(this), this._beforeBegin(), this.target.push(), this.target.setCamera(this.defaultCamera), this.target._renderer.uMVMatrix.set(this.target._renderer._curCamera.cameraMatrix);\n } }, { key: \"_framebufferToBind\", value: function() {\n return this.antialias ? this.aaFramebuffer : this.framebuffer;\n } }, { key: \"_beforeBegin\", value: function() {\n var x = this.gl;\n x.bindFramebuffer(x.FRAMEBUFFER, this._framebufferToBind()), this.target._renderer.viewport(this.width * this.density, this.height * this.density);\n } }, { key: \"_beforeEnd\", value: function() {\n if (this.antialias) {\n var x = this.gl, A = (x.bindFramebuffer(x.READ_FRAMEBUFFER, this.aaFramebuffer), x.bindFramebuffer(x.DRAW_FRAMEBUFFER, this.framebuffer), [[x.COLOR_BUFFER_BIT, this.colorP5Texture.glMagFilter]]);\n this.useDepth && A.push([x.DEPTH_BUFFER_BIT, this.depthP5Texture.glMagFilter]);\n for (var M = 0, R = A; M < R.length; M++) {\n var F = s(R[M], 2), L = F[0], F = F[1];\n x.blitFramebuffer(0, 0, this.width * this.density, this.height * this.density, 0, 0, this.width * this.density, this.height * this.density, L, F);\n }\n }\n } }, { key: \"end\", value: function() {\n var x = this.gl;\n if (this.target.pop(), this.target._renderer.activeFramebuffers.pop() !== this)\n throw new Error(\"It looks like you've called end() while another Framebuffer is active.\");\n this._beforeEnd(), this.prevFramebuffer ? this.prevFramebuffer._beforeBegin() : (x.bindFramebuffer(x.FRAMEBUFFER, null), this.target._renderer.viewport(this.target._renderer._origViewport.width, this.target._renderer._origViewport.height)), this.target._renderer._applyStencilTestIfClipping();\n } }, { key: \"draw\", value: function(x) {\n this.begin(), x(), this.end();\n } }, { key: \"loadPixels\", value: function() {\n var x = this.gl, A = this.target._renderer.activeFramebuffer(), M = (x.bindFramebuffer(x.FRAMEBUFFER, this.framebuffer), this._glColorFormat());\n this.pixels = (0, f.readPixelsWebGL)(this.pixels, x, this.framebuffer, 0, 0, this.width * this.density, this.height * this.density, M.format, M.type), A ? x.bindFramebuffer(x.FRAMEBUFFER, A._framebufferToBind()) : x.bindFramebuffer(x.FRAMEBUFFER, null);\n } }, { key: \"get\", value: function(x, A, M, R) {\n u.default._validateParameters(\"p5.Framebuffer.get\", arguments);\n var L = this._glColorFormat();\n if (x === void 0 && A === void 0)\n A = x = 0, M = this.width, R = this.height;\n else if (M === void 0 && R === void 0)\n return (x < 0 || A < 0 || x >= this.width || A >= this.height) && (console.warn(\"The x and y values passed to p5.Framebuffer.get are outside of its range and will be clamped.\"), x = this.target.constrain(x, 0, this.width - 1), A = this.target.constrain(A, 0, this.height - 1)), (0, f.readPixelWebGL)(this.gl, this.framebuffer, x * this.density, A * this.density, L.format, L.type);\n x = this.target.constrain(x, 0, this.width - 1), A = this.target.constrain(A, 0, this.height - 1), M = this.target.constrain(M, 1, this.width - x), R = this.target.constrain(R, 1, this.height - A);\n for (var F = (0, f.readPixelsWebGL)(void 0, this.gl, this.framebuffer, x * this.density, A * this.density, M * this.density, R * this.density, L.format, L.type), V = new Uint8ClampedArray(M * R * this.density * this.density * 4), G = (V.fill(255), L.type === this.gl.RGB ? 3 : 4), U = 0; U < R * this.density; U++)\n for (var W = 0; W < M * this.density; W++)\n for (var X = 0; X < 4; X++) {\n var ne, b = 4 * (U * M * this.density + W) + X;\n X < G && (ne = G == 4 ? b : (U * M * this.density + W) * G + X, V[b] = F[ne]);\n }\n return x = new u.default.Image(M * this.density, R * this.density), x.imageData = x.canvas.getContext(\"2d\").createImageData(x.width, x.height), x.imageData.data.set(V), x.pixels = x.imageData.data, x.updatePixels(), this.density !== 1 && x.resize(M, R), x;\n } }, { key: \"updatePixels\", value: function() {\n var x = this.gl, A = (this.colorP5Texture.bindTexture(), this._glColorFormat()), M = A.format === x.RGBA ? 4 : 3, M = this.width * this.height * this.density * this.density * M, R = A.type === x.UNSIGNED_BYTE ? Uint8Array : Float32Array;\n if (!(this.pixels instanceof R) || this.pixels.length !== M)\n throw new Error(\"The pixels array has not been set correctly. Please call loadPixels() before updatePixels().\");\n x.texImage2D(x.TEXTURE_2D, 0, A.internalFormat, this.width * this.density, this.height * this.density, 0, A.format, A.type, this.pixels), this.colorP5Texture.unbindTexture(), R = this.target._renderer.activeFramebuffer(), this.antialias ? (this.begin(), this.target.push(), this.target.imageMode(this.target.CENTER), this.target.resetMatrix(), this.target.noStroke(), this.target.clear(), this.target.image(this, 0, 0), this.target.pop(), this.useDepth && (x.clearDepth(1), x.clear(x.DEPTH_BUFFER_BIT)), this.end()) : (x.bindFramebuffer(x.FRAMEBUFFER, this.framebuffer), this.useDepth && (x.clearDepth(1), x.clear(x.DEPTH_BUFFER_BIT)), R ? x.bindFramebuffer(x.FRAMEBUFFER, R._framebufferToBind()) : x.bindFramebuffer(x.FRAMEBUFFER, null));\n } }]), P;\n }()), E = u.default.Framebuffer = S;\n C.default = E;\n }, { \"../core/constants\": 269, \"../core/main\": 280, \"./p5.RendererGL\": 337, \"./p5.Texture\": 339, \"core-js/modules/es.array.fill\": 155, \"core-js/modules/es.array.includes\": 162, \"core-js/modules/es.array.iterator\": 164, \"core-js/modules/es.object.get-own-property-descriptor\": 183, \"core-js/modules/es.object.get-prototype-of\": 185, \"core-js/modules/es.object.to-string\": 187, \"core-js/modules/es.reflect.construct\": 189, \"core-js/modules/es.reflect.get\": 190, \"core-js/modules/es.regexp.to-string\": 193, \"core-js/modules/es.string.includes\": 196, \"core-js/modules/es.string.iterator\": 197, \"core-js/modules/es.symbol\": 209, \"core-js/modules/es.symbol.description\": 207, \"core-js/modules/es.symbol.iterator\": 208, \"core-js/modules/es.typed-array.copy-within\": 210, \"core-js/modules/es.typed-array.every\": 211, \"core-js/modules/es.typed-array.fill\": 212, \"core-js/modules/es.typed-array.filter\": 213, \"core-js/modules/es.typed-array.find\": 215, \"core-js/modules/es.typed-array.find-index\": 214, \"core-js/modules/es.typed-array.float32-array\": 216, \"core-js/modules/es.typed-array.for-each\": 218, \"core-js/modules/es.typed-array.includes\": 219, \"core-js/modules/es.typed-array.index-of\": 220, \"core-js/modules/es.typed-array.iterator\": 223, \"core-js/modules/es.typed-array.join\": 224, \"core-js/modules/es.typed-array.last-index-of\": 225, \"core-js/modules/es.typed-array.map\": 226, \"core-js/modules/es.typed-array.reduce\": 228, \"core-js/modules/es.typed-array.reduce-right\": 227, \"core-js/modules/es.typed-array.reverse\": 229, \"core-js/modules/es.typed-array.set\": 230, \"core-js/modules/es.typed-array.slice\": 231, \"core-js/modules/es.typed-array.some\": 232, \"core-js/modules/es.typed-array.sort\": 233, \"core-js/modules/es.typed-array.subarray\": 234, \"core-js/modules/es.typed-array.to-locale-string\": 235, \"core-js/modules/es.typed-array.to-string\": 236, \"core-js/modules/es.typed-array.uint8-array\": 239, \"core-js/modules/es.typed-array.uint8-clamped-array\": 240, \"core-js/modules/es.weak-map\": 241, \"core-js/modules/web.dom-collections.iterator\": 243 }], 332: [function(t, H, C) {\n function m(o) {\n return (m = typeof Symbol == \"function\" && typeof Symbol.iterator == \"symbol\" ? function(a) {\n return typeof a;\n } : function(a) {\n return a && typeof Symbol == \"function\" && a.constructor === Symbol && a !== Symbol.prototype ? \"symbol\" : typeof a;\n })(o);\n }\n function y(o) {\n return (y = typeof Symbol == \"function\" && m(Symbol.iterator) === \"symbol\" ? function(a) {\n return m(a);\n } : function(a) {\n return a && typeof Symbol == \"function\" && a.constructor === Symbol && a !== Symbol.prototype ? \"symbol\" : m(a);\n })(o);\n }\n t(\"core-js/modules/es.symbol\"), t(\"core-js/modules/es.symbol.description\"), t(\"core-js/modules/es.symbol.iterator\"), t(\"core-js/modules/es.array.concat\"), t(\"core-js/modules/es.array.flat\"), t(\"core-js/modules/es.array.for-each\"), t(\"core-js/modules/es.array.from\"), t(\"core-js/modules/es.array.iterator\"), t(\"core-js/modules/es.array.map\"), t(\"core-js/modules/es.array.slice\"), t(\"core-js/modules/es.array.unscopables.flat\"), t(\"core-js/modules/es.map\"), t(\"core-js/modules/es.number.constructor\"), t(\"core-js/modules/es.object.get-own-property-descriptor\"), t(\"core-js/modules/es.object.to-string\"), t(\"core-js/modules/es.regexp.to-string\"), t(\"core-js/modules/es.set\"), t(\"core-js/modules/es.string.iterator\"), t(\"core-js/modules/es.string.sub\"), t(\"core-js/modules/es.weak-map\"), t(\"core-js/modules/web.dom-collections.for-each\"), t(\"core-js/modules/web.dom-collections.iterator\"), t(\"core-js/modules/es.symbol\"), t(\"core-js/modules/es.symbol.description\"), t(\"core-js/modules/es.symbol.iterator\"), t(\"core-js/modules/es.array.concat\"), t(\"core-js/modules/es.array.flat\"), t(\"core-js/modules/es.array.for-each\"), t(\"core-js/modules/es.array.iterator\"), t(\"core-js/modules/es.array.map\"), t(\"core-js/modules/es.array.slice\"), t(\"core-js/modules/es.array.unscopables.flat\"), t(\"core-js/modules/es.map\"), t(\"core-js/modules/es.number.constructor\"), t(\"core-js/modules/es.object.to-string\"), t(\"core-js/modules/es.set\"), t(\"core-js/modules/es.string.iterator\"), t(\"core-js/modules/es.string.sub\"), t(\"core-js/modules/web.dom-collections.for-each\"), t(\"core-js/modules/web.dom-collections.iterator\"), Object.defineProperty(C, \"__esModule\", { value: !0 }), C.default = void 0;\n var u = (s = t(\"../core/main\")) && s.__esModule ? s : { default: s }, h = function(o) {\n if (o && o.__esModule)\n return o;\n if (o === null || y(o) !== \"object\" && typeof o != \"function\")\n return { default: o };\n var a = g();\n if (a && a.has(o))\n return a.get(o);\n var l, r = {}, i = Object.defineProperty && Object.getOwnPropertyDescriptor;\n for (l in o) {\n var c;\n Object.prototype.hasOwnProperty.call(o, l) && ((c = i ? Object.getOwnPropertyDescriptor(o, l) : null) && (c.get || c.set) ? Object.defineProperty(r, l, c) : r[l] = o[l]);\n }\n return r.default = o, a && a.set(o, r), r;\n }(t(\"../core/constants\"));\n function g() {\n var o;\n return typeof WeakMap != \"function\" ? null : (o = /* @__PURE__ */ new WeakMap(), g = function() {\n return o;\n }, o);\n }\n function f(o) {\n return function(a) {\n if (Array.isArray(a)) {\n for (var l = 0, r = new Array(a.length); l < a.length; l++)\n r[l] = a[l];\n return r;\n }\n }(o) || function(a) {\n if (Symbol.iterator in Object(a) || Object.prototype.toString.call(a) === \"[object Arguments]\")\n return Array.from(a);\n }(o) || function() {\n throw new TypeError(\"Invalid attempt to spread non-iterable instance\");\n }();\n }\n function n(o, a) {\n for (var l = 0; l < a.length; l++) {\n var r = a[l];\n r.enumerable = r.enumerable || !1, r.configurable = !0, \"value\" in r && (r.writable = !0), Object.defineProperty(o, r.key, r);\n }\n }\n u.default.Geometry = function() {\n function o(r, i, c) {\n if (!(this instanceof o))\n throw new TypeError(\"Cannot call a class as a function\");\n this.vertices = [], this.boundingBoxCache = null, this.lineVertices = new u.default.DataArray(), this.lineTangentsIn = new u.default.DataArray(), this.lineTangentsOut = new u.default.DataArray(), this.lineSides = new u.default.DataArray(), this.vertexNormals = [], this.faces = [], this.uvs = [], this.edges = [], this.vertexColors = [], this.vertexStrokeColors = [], this.lineVertexColors = new u.default.DataArray(), this.detailX = r !== void 0 ? r : 1, this.detailY = i !== void 0 ? i : 1, this.dirtyFlags = {}, this._hasFillTransparency = void 0, this._hasStrokeTransparency = void 0, c instanceof Function && c.call(this);\n }\n var a, l;\n return a = o, (l = [{ key: \"calculateBoundingBox\", value: function() {\n if (!this.boundingBoxCache) {\n for (var r = new u.default.Vector(Number.MAX_VALUE, Number.MAX_VALUE, Number.MAX_VALUE), i = new u.default.Vector(Number.MIN_VALUE, Number.MIN_VALUE, Number.MIN_VALUE), c = 0; c < this.vertices.length; c++) {\n var p = this.vertices[c];\n r.x = Math.min(r.x, p.x), r.y = Math.min(r.y, p.y), r.z = Math.min(r.z, p.z), i.x = Math.max(i.x, p.x), i.y = Math.max(i.y, p.y), i.z = Math.max(i.z, p.z);\n }\n var j = new u.default.Vector(i.x - r.x, i.y - r.y, i.z - r.z), T = new u.default.Vector((r.x + i.x) / 2, (r.y + i.y) / 2, (r.z + i.z) / 2);\n this.boundingBoxCache = { min: r, max: i, size: j, offset: T };\n }\n return this.boundingBoxCache;\n } }, { key: \"reset\", value: function() {\n this._hasFillTransparency = void 0, this._hasStrokeTransparency = void 0, this.lineVertices.clear(), this.lineTangentsIn.clear(), this.lineTangentsOut.clear(), this.lineSides.clear(), this.vertices.length = 0, this.edges.length = 0, this.vertexColors.length = 0, this.vertexStrokeColors.length = 0, this.lineVertexColors.clear(), this.vertexNormals.length = 0, this.uvs.length = 0, this.dirtyFlags = {};\n } }, { key: \"hasFillTransparency\", value: function() {\n if (this._hasFillTransparency === void 0) {\n this._hasFillTransparency = !1;\n for (var r = 0; r < this.vertexColors.length; r += 4)\n if (this.vertexColors[r + 3] < 1) {\n this._hasFillTransparency = !0;\n break;\n }\n }\n return this._hasFillTransparency;\n } }, { key: \"hasStrokeTransparency\", value: function() {\n if (this._hasStrokeTransparency === void 0) {\n this._hasStrokeTransparency = !1;\n for (var r = 0; r < this.lineVertexColors.length; r += 4)\n if (this.lineVertexColors[r + 3] < 1) {\n this._hasStrokeTransparency = !0;\n break;\n }\n }\n return this._hasStrokeTransparency;\n } }, { key: \"clearColors\", value: function() {\n return this.vertexColors = [], this;\n } }, { key: \"flipU\", value: function() {\n this.uvs = this.uvs.flat().map(function(r, i) {\n return i % 2 == 0 ? 1 - r : r;\n });\n } }, { key: \"flipV\", value: function() {\n this.uvs = this.uvs.flat().map(function(r, i) {\n return i % 2 == 0 ? r : 1 - r;\n });\n } }, { key: \"computeFaces\", value: function() {\n this.faces.length = 0;\n for (var r, i, c, p = this.detailX + 1, j = 0; j < this.detailY; j++)\n for (var T = 0; T < this.detailX; T++)\n i = (j + 1) * p + T + 1, this.faces.push([j * p + T, r = j * p + T + 1, c = (j + 1) * p + T]), this.faces.push([c, r, i]);\n return this;\n } }, { key: \"_getFaceNormal\", value: function(i) {\n var i = this.faces[i], c = this.vertices[i[0]], j = this.vertices[i[1]], i = this.vertices[i[2]], j = u.default.Vector.sub(j, c), i = u.default.Vector.sub(i, c), c = u.default.Vector.cross(j, i), p = u.default.Vector.mag(c), j = p / (u.default.Vector.mag(j) * u.default.Vector.mag(i));\n return j === 0 || isNaN(j) ? (console.warn(\"p5.Geometry.prototype._getFaceNormal:\", \"face has colinear sides or a repeated vertex\"), c) : (1 < j && (j = 1), c.mult(Math.asin(j) / p));\n } }, { key: \"computeNormals\", value: function() {\n var r, i = this, c = 0 < arguments.length && arguments[0] !== void 0 ? arguments[0] : h.FLAT, p = (1 < arguments.length && arguments[1] !== void 0 ? arguments[1] : {}).roundToPrecision, j = this.vertexNormals, T = this.vertices, _ = this.faces;\n if (c === h.SMOOTH) {\n for (var S = {}, E = [], P = Math.pow(10, p === void 0 ? 3 : p), x = function(F) {\n return Math.round(F * P) / P;\n }, A = function(F) {\n return \"\".concat(x(F.x), \",\").concat(x(F.y), \",\").concat(x(F.z));\n }, M = 0; M < T.length; M++) {\n var R = T[M], L = A(R);\n S[L] === void 0 && (S[L] = E.length, E.push(R));\n }\n _.forEach(function(F) {\n for (var V = 0; V < 3; ++V) {\n var G = F[V], G = T[G], G = A(G);\n F[V] = S[G];\n }\n }), this.edges.forEach(function(F) {\n for (var V = 0; V < 2; ++V) {\n var G = F[V], G = T[G], G = A(G);\n F[V] = S[G];\n }\n }), this.vertices = T = E;\n }\n for (r = j.length = 0; r < T.length; ++r)\n j.push(new u.default.Vector());\n for (_.forEach(function(F, V) {\n for (var G = i._getFaceNormal(V), U = 0; U < 3; ++U) {\n var W = F[U];\n j[W].add(G);\n }\n }), r = 0; r < T.length; ++r)\n j[r].normalize();\n return this;\n } }, { key: \"averageNormals\", value: function() {\n for (var r = 0; r <= this.detailY; r++) {\n var i = this.detailX + 1, c = u.default.Vector.add(this.vertexNormals[r * i], this.vertexNormals[r * i + this.detailX]), c = u.default.Vector.div(c, 2);\n this.vertexNormals[r * i] = c, this.vertexNormals[r * i + this.detailX] = c;\n }\n return this;\n } }, { key: \"averagePoleNormals\", value: function() {\n for (var r = new u.default.Vector(0, 0, 0), i = 0; i < this.detailX; i++)\n r.add(this.vertexNormals[i]);\n for (var r = u.default.Vector.div(r, this.detailX), c = 0; c < this.detailX; c++)\n this.vertexNormals[c] = r;\n r = new u.default.Vector(0, 0, 0);\n for (var p = this.vertices.length - 1; p > this.vertices.length - 1 - this.detailX; p--)\n r.add(this.vertexNormals[p]);\n r = u.default.Vector.div(r, this.detailX);\n for (var j = this.vertices.length - 1; j > this.vertices.length - 1 - this.detailX; j--)\n this.vertexNormals[j] = r;\n return this;\n } }, { key: \"_makeTriangleEdges\", value: function() {\n for (var r = this.edges.length = 0; r < this.faces.length; r++)\n this.edges.push([this.faces[r][0], this.faces[r][1]]), this.edges.push([this.faces[r][1], this.faces[r][2]]), this.edges.push([this.faces[r][2], this.faces[r][0]]);\n return this;\n } }, { key: \"_edgesToVertices\", value: function() {\n this.lineVertices.clear(), this.lineTangentsIn.clear(), this.lineTangentsOut.clear(), this.lineSides.clear();\n for (var r, i = /* @__PURE__ */ new Map(), c = /* @__PURE__ */ new Set(), p = 0; p < this.edges.length; p++) {\n var j, T = this.edges[p - 1], _ = this.edges[p], S = this.vertices[_[0]], E = this.vertices[_[1]], P = 0 < this.vertexStrokeColors.length ? this.vertexStrokeColors.slice(4 * _[0], 4 * (_[0] + 1)) : [0, 0, 0, 0], x = 0 < this.vertexStrokeColors.length ? this.vertexStrokeColors.slice(4 * _[1], 4 * (_[1] + 1)) : [0, 0, 0, 0], A = E.copy().sub(S).normalize(), M = 0 < A.magSq();\n M && this._addSegment(S, E, P, x, A), 0 < p && T[1] === _[0] ? c.has(_[0]) || (c.add(_[0]), i.delete(_[0]), r && M && A.dot(r) < 1 - 1e-8 && this._addJoin(S, r, A, P)) : (M && !c.has(_[0]) && ((j = i.get(_[0])) ? (this._addJoin(S, j.dir, A, P), i.delete(_[0]), c.add(_[0])) : i.set(_[0], { point: S, dir: A.copy().mult(-1), color: P })), r && !c.has(T[1]) && ((j = i.get(T[1])) ? (this._addJoin(this.vertices[T[1]], r, j.dir.copy().mult(-1), P), i.delete(T[1]), c.add(T[1])) : i.set(T[1], { point: this.vertices[T[1]], dir: r, color: P }), r = void 0)), p !== this.edges.length - 1 || c.has(_[1]) || ((S = i.get(_[1])) ? (this._addJoin(E, A, S.dir.copy().mult(-1), x), i.delete(_[1]), c.add(_[1])) : i.set(_[1], { point: E, dir: A, color: x })), M && (r = A);\n }\n var R = !0, L = !1, F = void 0;\n try {\n for (var V, G = i.values()[Symbol.iterator](); !(R = (V = G.next()).done); R = !0) {\n var U = V.value, W = U.point, X = U.dir, ne = U.color;\n this._addCap(W, X, ne);\n }\n } catch (b) {\n L = !0, F = b;\n } finally {\n try {\n R || G.return == null || G.return();\n } finally {\n if (L)\n throw F;\n }\n }\n return this;\n } }, { key: \"_addSegment\", value: function(T, _, c, p, j) {\n var T = T.array(), _ = _.array(), S = j.array();\n this.lineSides.push(1, 1, -1, 1, -1, -1);\n for (var E = 0, P = [this.lineTangentsIn, this.lineTangentsOut]; E < P.length; E++)\n for (var x = P[E], A = 0; A < 6; A++)\n x.push.apply(x, f(S));\n return (j = this.lineVertices).push.apply(j, f(T).concat(f(_), f(T), f(_), f(_), f(T))), (j = this.lineVertexColors).push.apply(j, f(c).concat(f(p), f(c), f(p), f(p), f(c))), this;\n } }, { key: \"_addCap\", value: function(r, i, c) {\n for (var p, j = r.array(), T = i.array(), _ = [0, 0, 0], S = 0; S < 6; S++)\n (p = this.lineVertices).push.apply(p, f(j)), (p = this.lineTangentsIn).push.apply(p, f(T)), (p = this.lineTangentsOut).push.apply(p, _), (p = this.lineVertexColors).push.apply(p, f(c));\n return this.lineSides.push(-1, 2, -2, 1, 2, -1), this;\n } }, { key: \"_addJoin\", value: function(r, i, c, p) {\n for (var j, T = r.array(), _ = i.array(), S = c.array(), E = 0; E < 12; E++)\n (j = this.lineVertices).push.apply(j, f(T)), (j = this.lineTangentsIn).push.apply(j, f(_)), (j = this.lineTangentsOut).push.apply(j, f(S)), (j = this.lineVertexColors).push.apply(j, f(p));\n return this.lineSides.push(-1, -3, -2, -1, 0, -3), this.lineSides.push(3, 1, 2, 3, 0, 1), this;\n } }, { key: \"normalize\", value: function() {\n if (0 < this.vertices.length) {\n for (var r = this.vertices[0].copy(), i = this.vertices[0].copy(), c = 0; c < this.vertices.length; c++)\n r.x = Math.max(r.x, this.vertices[c].x), i.x = Math.min(i.x, this.vertices[c].x), r.y = Math.max(r.y, this.vertices[c].y), i.y = Math.min(i.y, this.vertices[c].y), r.z = Math.max(r.z, this.vertices[c].z), i.z = Math.min(i.z, this.vertices[c].z);\n for (var p = u.default.Vector.lerp(r, i, 0.5), j = u.default.Vector.sub(r, i), T = 200 / Math.max(Math.max(j.x, j.y), j.z), _ = 0; _ < this.vertices.length; _++)\n this.vertices[_].sub(p), this.vertices[_].mult(T);\n }\n return this;\n } }]) && n(a.prototype, l), o;\n }();\n var s = u.default.Geometry;\n C.default = s;\n }, { \"../core/constants\": 269, \"../core/main\": 280, \"core-js/modules/es.array.concat\": 152, \"core-js/modules/es.array.flat\": 159, \"core-js/modules/es.array.for-each\": 160, \"core-js/modules/es.array.from\": 161, \"core-js/modules/es.array.iterator\": 164, \"core-js/modules/es.array.map\": 167, \"core-js/modules/es.array.slice\": 168, \"core-js/modules/es.array.unscopables.flat\": 172, \"core-js/modules/es.map\": 174, \"core-js/modules/es.number.constructor\": 178, \"core-js/modules/es.object.get-own-property-descriptor\": 183, \"core-js/modules/es.object.to-string\": 187, \"core-js/modules/es.regexp.to-string\": 193, \"core-js/modules/es.set\": 194, \"core-js/modules/es.string.iterator\": 197, \"core-js/modules/es.string.sub\": 205, \"core-js/modules/es.symbol\": 209, \"core-js/modules/es.symbol.description\": 207, \"core-js/modules/es.symbol.iterator\": 208, \"core-js/modules/es.weak-map\": 241, \"core-js/modules/web.dom-collections.for-each\": 242, \"core-js/modules/web.dom-collections.iterator\": 243 }], 333: [function(g, H, C) {\n g(\"core-js/modules/es.array.iterator\"), g(\"core-js/modules/es.object.to-string\"), g(\"core-js/modules/es.typed-array.float32-array\"), g(\"core-js/modules/es.typed-array.copy-within\"), g(\"core-js/modules/es.typed-array.every\"), g(\"core-js/modules/es.typed-array.fill\"), g(\"core-js/modules/es.typed-array.filter\"), g(\"core-js/modules/es.typed-array.find\"), g(\"core-js/modules/es.typed-array.find-index\"), g(\"core-js/modules/es.typed-array.for-each\"), g(\"core-js/modules/es.typed-array.includes\"), g(\"core-js/modules/es.typed-array.index-of\"), g(\"core-js/modules/es.typed-array.iterator\"), g(\"core-js/modules/es.typed-array.join\"), g(\"core-js/modules/es.typed-array.last-index-of\"), g(\"core-js/modules/es.typed-array.map\"), g(\"core-js/modules/es.typed-array.reduce\"), g(\"core-js/modules/es.typed-array.reduce-right\"), g(\"core-js/modules/es.typed-array.reverse\"), g(\"core-js/modules/es.typed-array.set\"), g(\"core-js/modules/es.typed-array.slice\"), g(\"core-js/modules/es.typed-array.some\"), g(\"core-js/modules/es.typed-array.sort\"), g(\"core-js/modules/es.typed-array.subarray\"), g(\"core-js/modules/es.typed-array.to-locale-string\"), g(\"core-js/modules/es.typed-array.to-string\"), g(\"core-js/modules/es.array.iterator\"), g(\"core-js/modules/es.object.to-string\"), g(\"core-js/modules/es.typed-array.float32-array\"), g(\"core-js/modules/es.typed-array.copy-within\"), g(\"core-js/modules/es.typed-array.every\"), g(\"core-js/modules/es.typed-array.fill\"), g(\"core-js/modules/es.typed-array.filter\"), g(\"core-js/modules/es.typed-array.find\"), g(\"core-js/modules/es.typed-array.find-index\"), g(\"core-js/modules/es.typed-array.for-each\"), g(\"core-js/modules/es.typed-array.includes\"), g(\"core-js/modules/es.typed-array.index-of\"), g(\"core-js/modules/es.typed-array.iterator\"), g(\"core-js/modules/es.typed-array.join\"), g(\"core-js/modules/es.typed-array.last-index-of\"), g(\"core-js/modules/es.typed-array.map\"), g(\"core-js/modules/es.typed-array.reduce\"), g(\"core-js/modules/es.typed-array.reduce-right\"), g(\"core-js/modules/es.typed-array.reverse\"), g(\"core-js/modules/es.typed-array.set\"), g(\"core-js/modules/es.typed-array.slice\"), g(\"core-js/modules/es.typed-array.some\"), g(\"core-js/modules/es.typed-array.sort\"), g(\"core-js/modules/es.typed-array.subarray\"), g(\"core-js/modules/es.typed-array.to-locale-string\"), g(\"core-js/modules/es.typed-array.to-string\"), Object.defineProperty(C, \"__esModule\", { value: !0 }), C.default = void 0;\n var m = (g = g(\"../core/main\")) && g.__esModule ? g : { default: g };\n function y(f, n) {\n for (var s = 0; s < n.length; s++) {\n var o = n[s];\n o.enumerable = o.enumerable || !1, o.configurable = !0, \"value\" in o && (o.writable = !0), Object.defineProperty(f, o.key, o);\n }\n }\n var u = Array, h = function(f) {\n return Array.isArray(f);\n }, g = (typeof Float32Array < \"u\" && (u = Float32Array, h = function(f) {\n return Array.isArray(f) || f instanceof Float32Array;\n }), m.default.Matrix = function() {\n function f() {\n var a = this, l = f;\n if (a instanceof l)\n return arguments.length && ((a = arguments.length - 1) < 0 || arguments.length <= a ? void 0 : arguments[a]) instanceof m.default && (this.p5 = (l = arguments.length - 1) < 0 || arguments.length <= l ? void 0 : arguments[l]), (arguments.length <= 0 ? void 0 : arguments[0]) === \"mat3\" ? this.mat3 = Array.isArray(arguments.length <= 1 ? void 0 : arguments[1]) ? arguments.length <= 1 ? void 0 : arguments[1] : new u([1, 0, 0, 0, 1, 0, 0, 0, 1]) : this.mat4 = Array.isArray(arguments.length <= 0 ? void 0 : arguments[0]) ? arguments.length <= 0 ? void 0 : arguments[0] : new u([1, 0, 0, 0, 0, 1, 0, 0, 0, 0, 1, 0, 0, 0, 0, 1]), this;\n throw new TypeError(\"Cannot call a class as a function\");\n }\n var n, s, o;\n return n = f, o = [{ key: \"identity\", value: function(a) {\n return new m.default.Matrix(a);\n } }], (s = [{ key: \"set\", value: function(a) {\n var l = arguments;\n if (a instanceof m.default.Matrix ? l = a.mat4 : h(a) && (l = a), l.length !== 16)\n m.default._friendlyError(\"Expected 16 values but received \".concat(l.length, \".\"), \"p5.Matrix.set\");\n else\n for (var r = 0; r < 16; r++)\n this.mat4[r] = l[r];\n return this;\n } }, { key: \"get\", value: function() {\n return new m.default.Matrix(this.mat4, this.p5);\n } }, { key: \"copy\", value: function() {\n var a;\n return this.mat3 !== void 0 ? ((a = new m.default.Matrix(\"mat3\", this.p5)).mat3[0] = this.mat3[0], a.mat3[1] = this.mat3[1], a.mat3[2] = this.mat3[2], a.mat3[3] = this.mat3[3], a.mat3[4] = this.mat3[4], a.mat3[5] = this.mat3[5], a.mat3[6] = this.mat3[6], a.mat3[7] = this.mat3[7], a.mat3[8] = this.mat3[8]) : ((a = new m.default.Matrix(this.p5)).mat4[0] = this.mat4[0], a.mat4[1] = this.mat4[1], a.mat4[2] = this.mat4[2], a.mat4[3] = this.mat4[3], a.mat4[4] = this.mat4[4], a.mat4[5] = this.mat4[5], a.mat4[6] = this.mat4[6], a.mat4[7] = this.mat4[7], a.mat4[8] = this.mat4[8], a.mat4[9] = this.mat4[9], a.mat4[10] = this.mat4[10], a.mat4[11] = this.mat4[11], a.mat4[12] = this.mat4[12], a.mat4[13] = this.mat4[13], a.mat4[14] = this.mat4[14], a.mat4[15] = this.mat4[15]), a;\n } }, { key: \"transpose\", value: function(a) {\n var l, r, i, c, p, j;\n return a instanceof m.default.Matrix ? (l = a.mat4[1], r = a.mat4[2], i = a.mat4[3], c = a.mat4[6], p = a.mat4[7], j = a.mat4[11], this.mat4[0] = a.mat4[0], this.mat4[1] = a.mat4[4], this.mat4[2] = a.mat4[8], this.mat4[3] = a.mat4[12], this.mat4[4] = l, this.mat4[5] = a.mat4[5], this.mat4[6] = a.mat4[9], this.mat4[7] = a.mat4[13], this.mat4[8] = r, this.mat4[9] = c, this.mat4[10] = a.mat4[10], this.mat4[11] = a.mat4[14], this.mat4[12] = i, this.mat4[13] = p, this.mat4[14] = j, this.mat4[15] = a.mat4[15]) : h(a) && (l = a[1], r = a[2], i = a[3], c = a[6], p = a[7], j = a[11], this.mat4[0] = a[0], this.mat4[1] = a[4], this.mat4[2] = a[8], this.mat4[3] = a[12], this.mat4[4] = l, this.mat4[5] = a[5], this.mat4[6] = a[9], this.mat4[7] = a[13], this.mat4[8] = r, this.mat4[9] = c, this.mat4[10] = a[10], this.mat4[11] = a[14], this.mat4[12] = i, this.mat4[13] = p, this.mat4[14] = j, this.mat4[15] = a[15]), this;\n } }, { key: \"invert\", value: function(F) {\n F instanceof m.default.Matrix ? (l = F.mat4[0], r = F.mat4[1], i = F.mat4[2], c = F.mat4[3], p = F.mat4[4], j = F.mat4[5], T = F.mat4[6], _ = F.mat4[7], S = F.mat4[8], E = F.mat4[9], P = F.mat4[10], x = F.mat4[11], A = F.mat4[12], M = F.mat4[13], R = F.mat4[14], L = F.mat4[15]) : h(F) && (l = F[0], r = F[1], i = F[2], c = F[3], p = F[4], j = F[5], T = F[6], _ = F[7], S = F[8], E = F[9], P = F[10], x = F[11], A = F[12], M = F[13], R = F[14], L = F[15]);\n var l, r, i, c, p, j, T, _, S, E, P, x, A, M, R, L, F = l * j - r * p, V = l * T - i * p, G = l * _ - c * p, U = r * T - i * j, W = r * _ - c * j, X = i * _ - c * T, ne = S * M - E * A, b = S * R - P * A, O = S * L - x * A, D = E * R - P * M, B = E * L - x * M, Y = P * L - x * R, K = F * Y - V * B + G * D + U * O - W * b + X * ne;\n return K ? (this.mat4[0] = (j * Y - T * B + _ * D) * (K = 1 / K), this.mat4[1] = (i * B - r * Y - c * D) * K, this.mat4[2] = (M * X - R * W + L * U) * K, this.mat4[3] = (P * W - E * X - x * U) * K, this.mat4[4] = (T * O - p * Y - _ * b) * K, this.mat4[5] = (l * Y - i * O + c * b) * K, this.mat4[6] = (R * G - A * X - L * V) * K, this.mat4[7] = (S * X - P * G + x * V) * K, this.mat4[8] = (p * B - j * O + _ * ne) * K, this.mat4[9] = (r * O - l * B - c * ne) * K, this.mat4[10] = (A * W - M * G + L * F) * K, this.mat4[11] = (E * G - S * W - x * F) * K, this.mat4[12] = (j * b - p * D - T * ne) * K, this.mat4[13] = (l * D - r * b + i * ne) * K, this.mat4[14] = (M * V - A * U - R * F) * K, this.mat4[15] = (S * U - E * V + P * F) * K, this) : null;\n } }, { key: \"invert3x3\", value: function() {\n var a = this.mat3[0], l = this.mat3[1], r = this.mat3[2], i = this.mat3[3], c = this.mat3[4], p = this.mat3[5], j = this.mat3[6], T = this.mat3[7], _ = this.mat3[8], S = _ * c - p * T, E = -_ * i + p * j, P = T * i - c * j, x = a * S + l * E + r * P;\n return x ? (this.mat3[0] = S * (x = 1 / x), this.mat3[1] = (-_ * l + r * T) * x, this.mat3[2] = (p * l - r * c) * x, this.mat3[3] = E * x, this.mat3[4] = (_ * a - r * j) * x, this.mat3[5] = (-p * a + r * i) * x, this.mat3[6] = P * x, this.mat3[7] = (-T * a + l * j) * x, this.mat3[8] = (c * a - l * i) * x, this) : null;\n } }, { key: \"transpose3x3\", value: function(a) {\n var l = (a = a === void 0 ? this.mat3 : a)[1], r = a[2], i = a[5];\n return this.mat3[0] = a[0], this.mat3[1] = a[3], this.mat3[2] = a[6], this.mat3[3] = l, this.mat3[4] = a[4], this.mat3[5] = a[7], this.mat3[6] = r, this.mat3[7] = i, this.mat3[8] = a[8], this;\n } }, { key: \"inverseTranspose\", value: function(a) {\n if (a = a.mat4, this.mat3 === void 0 ? m.default._friendlyError(\"sorry, this function only works with mat3\") : (this.mat3[0] = a[0], this.mat3[1] = a[1], this.mat3[2] = a[2], this.mat3[3] = a[4], this.mat3[4] = a[5], this.mat3[5] = a[6], this.mat3[6] = a[8], this.mat3[7] = a[9], this.mat3[8] = a[10]), a = this.invert3x3(), a)\n a.transpose3x3(this.mat3);\n else\n for (var l = 0; l < 9; l++)\n this.mat3[l] = 0;\n return this;\n } }, { key: \"determinant\", value: function() {\n var a = this.mat4[0] * this.mat4[5] - this.mat4[1] * this.mat4[4], l = this.mat4[0] * this.mat4[6] - this.mat4[2] * this.mat4[4], r = this.mat4[0] * this.mat4[7] - this.mat4[3] * this.mat4[4], i = this.mat4[1] * this.mat4[6] - this.mat4[2] * this.mat4[5], c = this.mat4[1] * this.mat4[7] - this.mat4[3] * this.mat4[5], p = this.mat4[2] * this.mat4[7] - this.mat4[3] * this.mat4[6], j = this.mat4[8] * this.mat4[13] - this.mat4[9] * this.mat4[12], T = this.mat4[8] * this.mat4[14] - this.mat4[10] * this.mat4[12], _ = this.mat4[8] * this.mat4[15] - this.mat4[11] * this.mat4[12], S = this.mat4[9] * this.mat4[14] - this.mat4[10] * this.mat4[13], E = this.mat4[9] * this.mat4[15] - this.mat4[11] * this.mat4[13];\n return a * (this.mat4[10] * this.mat4[15] - this.mat4[11] * this.mat4[14]) - l * E + r * S + i * _ - c * T + p * j;\n } }, { key: \"mult\", value: function(r) {\n var l;\n if (r === this || r === this.mat4)\n l = this.copy().mat4;\n else if (r instanceof m.default.Matrix)\n l = r.mat4;\n else if (h(r))\n l = r;\n else {\n if (arguments.length !== 16)\n return;\n l = arguments;\n }\n var r = this.mat4[0], i = this.mat4[1], c = this.mat4[2], p = this.mat4[3];\n return this.mat4[0] = r * l[0] + i * l[4] + c * l[8] + p * l[12], this.mat4[1] = r * l[1] + i * l[5] + c * l[9] + p * l[13], this.mat4[2] = r * l[2] + i * l[6] + c * l[10] + p * l[14], this.mat4[3] = r * l[3] + i * l[7] + c * l[11] + p * l[15], r = this.mat4[4], i = this.mat4[5], c = this.mat4[6], p = this.mat4[7], this.mat4[4] = r * l[0] + i * l[4] + c * l[8] + p * l[12], this.mat4[5] = r * l[1] + i * l[5] + c * l[9] + p * l[13], this.mat4[6] = r * l[2] + i * l[6] + c * l[10] + p * l[14], this.mat4[7] = r * l[3] + i * l[7] + c * l[11] + p * l[15], r = this.mat4[8], i = this.mat4[9], c = this.mat4[10], p = this.mat4[11], this.mat4[8] = r * l[0] + i * l[4] + c * l[8] + p * l[12], this.mat4[9] = r * l[1] + i * l[5] + c * l[9] + p * l[13], this.mat4[10] = r * l[2] + i * l[6] + c * l[10] + p * l[14], this.mat4[11] = r * l[3] + i * l[7] + c * l[11] + p * l[15], r = this.mat4[12], i = this.mat4[13], c = this.mat4[14], p = this.mat4[15], this.mat4[12] = r * l[0] + i * l[4] + c * l[8] + p * l[12], this.mat4[13] = r * l[1] + i * l[5] + c * l[9] + p * l[13], this.mat4[14] = r * l[2] + i * l[6] + c * l[10] + p * l[14], this.mat4[15] = r * l[3] + i * l[7] + c * l[11] + p * l[15], this;\n } }, { key: \"apply\", value: function(r) {\n var l;\n if (r === this || r === this.mat4)\n l = this.copy().mat4;\n else if (r instanceof m.default.Matrix)\n l = r.mat4;\n else if (h(r))\n l = r;\n else {\n if (arguments.length !== 16)\n return;\n l = arguments;\n }\n var r = this.mat4, i = r[0], c = r[4], p = r[8], j = r[12], i = (r[0] = l[0] * i + l[1] * c + l[2] * p + l[3] * j, r[4] = l[4] * i + l[5] * c + l[6] * p + l[7] * j, r[8] = l[8] * i + l[9] * c + l[10] * p + l[11] * j, r[12] = l[12] * i + l[13] * c + l[14] * p + l[15] * j, r[1]), c = r[5], p = r[9], j = r[13], i = (r[1] = l[0] * i + l[1] * c + l[2] * p + l[3] * j, r[5] = l[4] * i + l[5] * c + l[6] * p + l[7] * j, r[9] = l[8] * i + l[9] * c + l[10] * p + l[11] * j, r[13] = l[12] * i + l[13] * c + l[14] * p + l[15] * j, r[2]), c = r[6], p = r[10], j = r[14], i = (r[2] = l[0] * i + l[1] * c + l[2] * p + l[3] * j, r[6] = l[4] * i + l[5] * c + l[6] * p + l[7] * j, r[10] = l[8] * i + l[9] * c + l[10] * p + l[11] * j, r[14] = l[12] * i + l[13] * c + l[14] * p + l[15] * j, r[3]), c = r[7], p = r[11], j = r[15];\n return r[3] = l[0] * i + l[1] * c + l[2] * p + l[3] * j, r[7] = l[4] * i + l[5] * c + l[6] * p + l[7] * j, r[11] = l[8] * i + l[9] * c + l[10] * p + l[11] * j, r[15] = l[12] * i + l[13] * c + l[14] * p + l[15] * j, this;\n } }, { key: \"scale\", value: function(a, l, r) {\n return a instanceof m.default.Vector ? (l = a.y, r = a.z, a = a.x) : a instanceof Array && (l = a[1], r = a[2], a = a[0]), this.mat4[0] *= a, this.mat4[1] *= a, this.mat4[2] *= a, this.mat4[3] *= a, this.mat4[4] *= l, this.mat4[5] *= l, this.mat4[6] *= l, this.mat4[7] *= l, this.mat4[8] *= r, this.mat4[9] *= r, this.mat4[10] *= r, this.mat4[11] *= r, this;\n } }, { key: \"rotate\", value: function(F, B, D, i) {\n B instanceof m.default.Vector ? (D = B.y, i = B.z, B = B.x) : B instanceof Array && (D = B[1], i = B[2], B = B[0]);\n var c = Math.sqrt(B * B + D * D + i * i), c = (B *= 1 / c, D *= 1 / c, i *= 1 / c, this.mat4[0]), p = this.mat4[1], j = this.mat4[2], T = this.mat4[3], _ = this.mat4[4], S = this.mat4[5], E = this.mat4[6], P = this.mat4[7], x = this.mat4[8], A = this.mat4[9], M = this.mat4[10], R = this.mat4[11], L = Math.sin(F), F = Math.cos(F), V = 1 - F, G = B * B * V + F, U = D * B * V + i * L, W = i * B * V - D * L, X = B * D * V - i * L, ne = D * D * V + F, b = i * D * V + B * L, O = B * i * V + D * L, D = D * i * V - B * L, B = i * i * V + F;\n return this.mat4[0] = c * G + _ * U + x * W, this.mat4[1] = p * G + S * U + A * W, this.mat4[2] = j * G + E * U + M * W, this.mat4[3] = T * G + P * U + R * W, this.mat4[4] = c * X + _ * ne + x * b, this.mat4[5] = p * X + S * ne + A * b, this.mat4[6] = j * X + E * ne + M * b, this.mat4[7] = T * X + P * ne + R * b, this.mat4[8] = c * O + _ * D + x * B, this.mat4[9] = p * O + S * D + A * B, this.mat4[10] = j * O + E * D + M * B, this.mat4[11] = T * O + P * D + R * B, this;\n } }, { key: \"translate\", value: function(i) {\n var l = i[0], r = i[1], i = i[2] || 0;\n this.mat4[12] += this.mat4[0] * l + this.mat4[4] * r + this.mat4[8] * i, this.mat4[13] += this.mat4[1] * l + this.mat4[5] * r + this.mat4[9] * i, this.mat4[14] += this.mat4[2] * l + this.mat4[6] * r + this.mat4[10] * i, this.mat4[15] += this.mat4[3] * l + this.mat4[7] * r + this.mat4[11] * i;\n } }, { key: \"rotateX\", value: function(a) {\n this.rotate(a, 1, 0, 0);\n } }, { key: \"rotateY\", value: function(a) {\n this.rotate(a, 0, 1, 0);\n } }, { key: \"rotateZ\", value: function(a) {\n this.rotate(a, 0, 0, 1);\n } }, { key: \"perspective\", value: function(c, l, r, i) {\n var c = 1 / Math.tan(c / 2), p = 1 / (r - i);\n return this.mat4[0] = c / l, this.mat4[1] = 0, this.mat4[2] = 0, this.mat4[3] = 0, this.mat4[4] = 0, this.mat4[5] = c, this.mat4[6] = 0, this.mat4[7] = 0, this.mat4[8] = 0, this.mat4[9] = 0, this.mat4[10] = (i + r) * p, this.mat4[11] = -1, this.mat4[12] = 0, this.mat4[13] = 0, this.mat4[14] = 2 * i * r * p, this.mat4[15] = 0, this;\n } }, { key: \"ortho\", value: function(a, l, r, i, c, p) {\n var j = 1 / (a - l), T = 1 / (r - i), _ = 1 / (c - p);\n return this.mat4[0] = -2 * j, this.mat4[1] = 0, this.mat4[2] = 0, this.mat4[3] = 0, this.mat4[4] = 0, this.mat4[5] = -2 * T, this.mat4[6] = 0, this.mat4[7] = 0, this.mat4[8] = 0, this.mat4[9] = 0, this.mat4[10] = 2 * _, this.mat4[11] = 0, this.mat4[12] = (a + l) * j, this.mat4[13] = (i + r) * T, this.mat4[14] = (p + c) * _, this.mat4[15] = 1, this;\n } }, { key: \"multiplyVec4\", value: function(a, l, r, i) {\n var c = new Array(4), p = this.mat4;\n return c[0] = p[0] * a + p[4] * l + p[8] * r + p[12] * i, c[1] = p[1] * a + p[5] * l + p[9] * r + p[13] * i, c[2] = p[2] * a + p[6] * l + p[10] * r + p[14] * i, c[3] = p[3] * a + p[7] * l + p[11] * r + p[15] * i, c;\n } }, { key: \"multiplyPoint\", value: function(r) {\n var i = r.x, l = r.y, r = r.z, i = this.multiplyVec4(i, l, r, 1);\n return new m.default.Vector(i[0], i[1], i[2]);\n } }, { key: \"multiplyAndNormalizePoint\", value: function(r) {\n var i = r.x, l = r.y, r = r.z, i = this.multiplyVec4(i, l, r, 1);\n return i[0] /= i[3], i[1] /= i[3], i[2] /= i[3], new m.default.Vector(i[0], i[1], i[2]);\n } }, { key: \"multiplyDirection\", value: function(r) {\n var i = r.x, l = r.y, r = r.z, i = this.multiplyVec4(i, l, r, 0);\n return new m.default.Vector(i[0], i[1], i[2]);\n } }, { key: \"mult3x3\", value: function(r) {\n var l;\n if (r === this || r === this.mat3)\n l = this.copy().mat3;\n else if (r instanceof m.default.Matrix)\n l = r.mat3;\n else if (h(r))\n l = r;\n else {\n if (arguments.length !== 9)\n return;\n l = arguments;\n }\n var r = this.mat3[0], i = this.mat3[1], c = this.mat3[2];\n return this.mat3[0] = r * l[0] + i * l[3] + c * l[6], this.mat3[1] = r * l[1] + i * l[4] + c * l[7], this.mat3[2] = r * l[2] + i * l[5] + c * l[8], r = this.mat3[3], i = this.mat3[4], c = this.mat3[5], this.mat3[3] = r * l[0] + i * l[3] + c * l[6], this.mat3[4] = r * l[1] + i * l[4] + c * l[7], this.mat3[5] = r * l[2] + i * l[5] + c * l[8], r = this.mat3[6], i = this.mat3[7], c = this.mat3[8], this.mat3[6] = r * l[0] + i * l[3] + c * l[6], this.mat3[7] = r * l[1] + i * l[4] + c * l[7], this.mat3[8] = r * l[2] + i * l[5] + c * l[8], this;\n } }, { key: \"column\", value: function(a) {\n return new m.default.Vector(this.mat3[3 * a], this.mat3[3 * a + 1], this.mat3[3 * a + 2]);\n } }, { key: \"row\", value: function(a) {\n return new m.default.Vector(this.mat3[a], this.mat3[a + 3], this.mat3[a + 6]);\n } }, { key: \"diagonal\", value: function() {\n return this.mat3 !== void 0 ? [this.mat3[0], this.mat3[4], this.mat3[8]] : [this.mat4[0], this.mat4[5], this.mat4[10], this.mat4[15]];\n } }, { key: \"multiplyVec3\", value: function(a, l) {\n return (l = l === void 0 ? a.copy() : l).x = this.row(0).dot(a), l.y = this.row(1).dot(a), l.z = this.row(2).dot(a), l;\n } }, { key: \"createSubMatrix3x3\", value: function() {\n var a = new m.default.Matrix(\"mat3\");\n return a.mat3[0] = this.mat4[0], a.mat3[1] = this.mat4[1], a.mat3[2] = this.mat4[2], a.mat3[3] = this.mat4[4], a.mat3[4] = this.mat4[5], a.mat3[5] = this.mat4[6], a.mat3[6] = this.mat4[8], a.mat3[7] = this.mat4[9], a.mat3[8] = this.mat4[10], a;\n } }]) && y(n.prototype, s), o && y(n, o), f;\n }(), m.default.Matrix);\n C.default = g;\n }, { \"../core/main\": 280, \"core-js/modules/es.array.iterator\": 164, \"core-js/modules/es.object.to-string\": 187, \"core-js/modules/es.typed-array.copy-within\": 210, \"core-js/modules/es.typed-array.every\": 211, \"core-js/modules/es.typed-array.fill\": 212, \"core-js/modules/es.typed-array.filter\": 213, \"core-js/modules/es.typed-array.find\": 215, \"core-js/modules/es.typed-array.find-index\": 214, \"core-js/modules/es.typed-array.float32-array\": 216, \"core-js/modules/es.typed-array.for-each\": 218, \"core-js/modules/es.typed-array.includes\": 219, \"core-js/modules/es.typed-array.index-of\": 220, \"core-js/modules/es.typed-array.iterator\": 223, \"core-js/modules/es.typed-array.join\": 224, \"core-js/modules/es.typed-array.last-index-of\": 225, \"core-js/modules/es.typed-array.map\": 226, \"core-js/modules/es.typed-array.reduce\": 228, \"core-js/modules/es.typed-array.reduce-right\": 227, \"core-js/modules/es.typed-array.reverse\": 229, \"core-js/modules/es.typed-array.set\": 230, \"core-js/modules/es.typed-array.slice\": 231, \"core-js/modules/es.typed-array.some\": 232, \"core-js/modules/es.typed-array.sort\": 233, \"core-js/modules/es.typed-array.subarray\": 234, \"core-js/modules/es.typed-array.to-locale-string\": 235, \"core-js/modules/es.typed-array.to-string\": 236 }], 334: [function(t, H, C) {\n t(\"core-js/modules/es.array.map\"), t(\"core-js/modules/es.array.map\"), Object.defineProperty(C, \"__esModule\", { value: !0 }), C.default = void 0, t = (t = t(\"../core/main\")) && t.__esModule ? t : { default: t };\n function m(y, u) {\n for (var h = 0; h < u.length; h++) {\n var g = u[h];\n g.enumerable = g.enumerable || !1, g.configurable = !0, \"value\" in g && (g.writable = !0), Object.defineProperty(y, g.key, g);\n }\n }\n t.default.RenderBuffer = function() {\n function y(g, f, n, s, o, a) {\n if (!(this instanceof y))\n throw new TypeError(\"Cannot call a class as a function\");\n this.size = g, this.src = f, this.dst = n, this.attr = s, this._renderer = o, this.map = a;\n }\n var u, h;\n return u = y, (h = [{ key: \"_prepareBuffer\", value: function(g, f) {\n var n, s, o, r = f.attributes, a = this._renderer.GL, l = g.model || g, r = r[this.attr];\n r && (n = g[this.dst], 0 < (s = l[this.src]).length ? ((o = !n) && (g[this.dst] = n = a.createBuffer()), a.bindBuffer(a.ARRAY_BUFFER, n), !o && l.dirtyFlags[this.src] === !1 || (o = (g = this.map) ? g(s) : s, this._renderer._bindBuffer(n, a.ARRAY_BUFFER, o), l.dirtyFlags[this.src] = !1), f.enableAttrib(r, this.size)) : (g = r.location) !== -1 && this._renderer.registerEnabled.has(g) && (a.disableVertexAttribArray(g), this._renderer.registerEnabled.delete(g)));\n } }]) && m(u.prototype, h), y;\n }(), t = t.default.RenderBuffer, C.default = t;\n }, { \"../core/main\": 280, \"core-js/modules/es.array.map\": 167 }], 335: [function(t, H, C) {\n function m(o) {\n return (m = typeof Symbol == \"function\" && typeof Symbol.iterator == \"symbol\" ? function(a) {\n return typeof a;\n } : function(a) {\n return a && typeof Symbol == \"function\" && a.constructor === Symbol && a !== Symbol.prototype ? \"symbol\" : typeof a;\n })(o);\n }\n function y(o) {\n return (y = typeof Symbol == \"function\" && m(Symbol.iterator) === \"symbol\" ? function(a) {\n return m(a);\n } : function(a) {\n return a && typeof Symbol == \"function\" && a.constructor === Symbol && a !== Symbol.prototype ? \"symbol\" : m(a);\n })(o);\n }\n t(\"core-js/modules/es.symbol\"), t(\"core-js/modules/es.symbol.description\"), t(\"core-js/modules/es.symbol.iterator\"), t(\"core-js/modules/es.array.concat\"), t(\"core-js/modules/es.array.fill\"), t(\"core-js/modules/es.array.find-index\"), t(\"core-js/modules/es.array.from\"), t(\"core-js/modules/es.array.iterator\"), t(\"core-js/modules/es.array.map\"), t(\"core-js/modules/es.array.slice\"), t(\"core-js/modules/es.map\"), t(\"core-js/modules/es.object.get-own-property-descriptor\"), t(\"core-js/modules/es.object.to-string\"), t(\"core-js/modules/es.regexp.to-string\"), t(\"core-js/modules/es.string.iterator\"), t(\"core-js/modules/es.weak-map\"), t(\"core-js/modules/web.dom-collections.iterator\"), t(\"core-js/modules/es.symbol\"), t(\"core-js/modules/es.symbol.description\"), t(\"core-js/modules/es.symbol.iterator\"), t(\"core-js/modules/es.array.concat\"), t(\"core-js/modules/es.array.fill\"), t(\"core-js/modules/es.array.find-index\"), t(\"core-js/modules/es.array.iterator\"), t(\"core-js/modules/es.array.map\"), t(\"core-js/modules/es.array.slice\"), t(\"core-js/modules/es.map\"), t(\"core-js/modules/es.object.to-string\"), t(\"core-js/modules/es.string.iterator\"), t(\"core-js/modules/web.dom-collections.iterator\"), Object.defineProperty(C, \"__esModule\", { value: !0 }), C.default = void 0;\n var u = (s = t(\"../core/main\")) && s.__esModule ? s : { default: s }, h = function(o) {\n if (o && o.__esModule)\n return o;\n if (o === null || y(o) !== \"object\" && typeof o != \"function\")\n return { default: o };\n var a = g();\n if (a && a.has(o))\n return a.get(o);\n var l, r = {}, i = Object.defineProperty && Object.getOwnPropertyDescriptor;\n for (l in o) {\n var c;\n Object.prototype.hasOwnProperty.call(o, l) && ((c = i ? Object.getOwnPropertyDescriptor(o, l) : null) && (c.get || c.set) ? Object.defineProperty(r, l, c) : r[l] = o[l]);\n }\n return r.default = o, a && a.set(o, r), r;\n }(t(\"../core/constants\"));\n function g() {\n var o;\n return typeof WeakMap != \"function\" ? null : (o = /* @__PURE__ */ new WeakMap(), g = function() {\n return o;\n }, o);\n }\n function f(o) {\n return function(a) {\n if (Array.isArray(a)) {\n for (var l = 0, r = new Array(a.length); l < a.length; l++)\n r[l] = a[l];\n return r;\n }\n }(o) || function(a) {\n if (Symbol.iterator in Object(a) || Object.prototype.toString.call(a) === \"[object Arguments]\")\n return Array.from(a);\n }(o) || function() {\n throw new TypeError(\"Invalid attempt to spread non-iterable instance\");\n }();\n }\n t(\"./p5.RenderBuffer\"), u.default.RendererGL.prototype.beginShape = function(o) {\n return this.immediateMode.shapeMode = o !== void 0 ? o : h.TESS, this.immediateMode.geometry.reset(), this.immediateMode.contourIndices = [], this;\n };\n var n = { vertices: 1, vertexNormals: 1, vertexColors: 4, vertexStrokeColors: 4, uvs: 2 }, s = (u.default.RendererGL.prototype.beginContour = function() {\n if (this.immediateMode.shapeMode !== h.TESS)\n throw new Error(\"WebGL mode can only use contours with beginShape(TESS).\");\n this.immediateMode.contourIndices.push(this.immediateMode.geometry.vertices.length);\n }, u.default.RendererGL.prototype.vertex = function(o, a) {\n if (this.immediateMode.shapeMode === h.QUADS && this.immediateMode.geometry.vertices.length % 6 == 3)\n for (var l in n) {\n var r = n[l], l = this.immediateMode.geometry[l];\n l.push.apply(l, f(l.slice(l.length - 3 * r, l.length - 2 * r)).concat(f(l.slice(l.length - r, l.length))));\n }\n var i, c, p = i = c = 0, j = (arguments.length === 3 ? p = arguments[2] : arguments.length === 4 ? (i = arguments[2], c = arguments[3]) : arguments.length === 5 && (p = arguments[2], i = arguments[3], c = arguments[4]), new u.default.Vector(o, a, p)), j = (this.immediateMode.geometry.vertices.push(j), this.immediateMode.geometry.vertexNormals.push(this._currentNormal), this.curFillColor || [0.5, 0.5, 0.5, 1]), j = (this.immediateMode.geometry.vertexColors.push(j[0], j[1], j[2], j[3]), this.curStrokeColor || [0.5, 0.5, 0.5, 1]);\n return this.immediateMode.geometry.vertexStrokeColors.push(j[0], j[1], j[2], j[3]), this.textureMode !== h.IMAGE || this.isProcessingVertices || (this._tex !== null ? 0 < this._tex.width && 0 < this._tex.height && (i /= this._tex.width, c /= this._tex.height) : this.userFillShader === void 0 && this.userStrokeShader === void 0 && this.userPointShader === void 0 && this._tex === null && 4 <= arguments.length && console.warn(\"You must first call texture() before using vertex() with image based u and v coordinates\")), this.immediateMode.geometry.uvs.push(i, c), this.immediateMode._bezierVertex[0] = o, this.immediateMode._bezierVertex[1] = a, this.immediateMode._bezierVertex[2] = p, this.immediateMode._quadraticVertex[0] = o, this.immediateMode._quadraticVertex[1] = a, this.immediateMode._quadraticVertex[2] = p, this;\n }, u.default.RendererGL.prototype.normal = function(o, a, l) {\n return o instanceof u.default.Vector ? this._currentNormal = o : this._currentNormal = new u.default.Vector(o, a, l), this;\n }, u.default.RendererGL.prototype.endShape = function(o, a, l, r, i, c) {\n var p, j = 6 < arguments.length && arguments[6] !== void 0 ? arguments[6] : 1;\n return this.immediateMode.shapeMode === h.POINTS ? this._drawPoints(this.immediateMode.geometry.vertices, this.immediateMode.buffers.point) : (this.immediateMode.geometry.vertices.length === 3 && this.immediateMode.shapeMode === h.TESS && (this.immediateMode.shapeMode, h.TRIANGLES), this.isProcessingVertices = !0, this._processVertices.apply(this, arguments), p = this.isProcessingVertices = !1, this.immediateMode.shapeMode !== h.LINE_STRIP && this.immediateMode.shapeMode !== h.LINES || (this.immediateMode.shapeMode = h.TRIANGLE_FAN, p = !0), this.immediateMode.shapeMode === h.QUADS ? this.immediateMode.shapeMode = h.TRIANGLES : this.immediateMode.shapeMode === h.QUAD_STRIP && (this.immediateMode.shapeMode = h.TRIANGLE_STRIP), this._doFill && !p && !this.geometryBuilder && 3 <= this.immediateMode.geometry.vertices.length && this._drawImmediateFill(j), this._doStroke && !this.geometryBuilder && 1 <= this.immediateMode.geometry.lineVertices.length && this._drawImmediateStroke(), this.geometryBuilder && this.geometryBuilder.addImmediate(), this.isBezier = !1, this.isQuadratic = !1, this.isCurve = !1, this.immediateMode._bezierVertex.length = 0, this.immediateMode._quadraticVertex.length = 0, this.immediateMode._curveVertex.length = 0), this;\n }, u.default.RendererGL.prototype._processVertices = function(o) {\n var a;\n this.immediateMode.geometry.vertices.length !== 0 && (a = this._doStroke, o = o === h.CLOSE, a && (this.immediateMode.geometry.edges = this._calculateEdges(this.immediateMode.shapeMode, this.immediateMode.geometry.vertices, o), this.geometryBuilder || this.immediateMode.geometry._edgesToVertices()), a = this.immediateMode.shapeMode === h.TESS, o = 0 < this.immediateMode.contourIndices.length, this._doFill && (this.isBezier || this.isQuadratic || this.isCurve || a || o) && this.immediateMode.shapeMode !== h.LINES && this._tesselateShape());\n }, u.default.RendererGL.prototype._calculateEdges = function(o, a, l) {\n var r = [], i = 0, c = this.immediateMode.contourIndices.slice(), p = 0;\n switch (o) {\n case h.TRIANGLE_STRIP:\n for (i = 0; i < a.length - 2; i++)\n r.push([i, i + 1]), r.push([i, i + 2]);\n r.push([i, i + 1]);\n break;\n case h.TRIANGLE_FAN:\n for (i = 1; i < a.length - 1; i++)\n r.push([0, i]), r.push([i, i + 1]);\n r.push([0, a.length - 1]);\n break;\n case h.TRIANGLES:\n for (i = 0; i < a.length - 2; i += 3)\n r.push([i, i + 1]), r.push([i + 1, i + 2]), r.push([i + 2, i]);\n break;\n case h.LINES:\n for (i = 0; i < a.length - 1; i += 2)\n r.push([i, i + 1]);\n break;\n case h.QUADS:\n for (i = 0; i < a.length - 5; i += 6)\n r.push([i, i + 1]), r.push([i + 1, i + 2]), r.push([i + 3, i + 5]), r.push([i + 4, i + 5]);\n break;\n case h.QUAD_STRIP:\n for (i = 0; i < a.length - 2; i += 2)\n r.push([i, i + 1]), r.push([i, i + 2]), r.push([i + 1, i + 3]);\n r.push([i, i + 1]);\n break;\n default:\n for (i = 0; i < a.length; i++)\n i + 1 < a.length && i + 1 !== c[0] ? r.push([i, i + 1]) : ((l || p) && r.push([i, p]), 0 < c.length && (p = c.shift()));\n }\n return o !== h.TESS && l && r.push([a.length - 1, 0]), r;\n }, u.default.RendererGL.prototype._tesselateShape = function() {\n for (var o = this, a = (this.immediateMode.shapeMode = h.TRIANGLES, [[]]), l = 0; l < this.immediateMode.geometry.vertices.length; l++)\n 0 < this.immediateMode.contourIndices.length && this.immediateMode.contourIndices[0] === l && (this.immediateMode.contourIndices.shift(), a.push([])), a[a.length - 1].push(this.immediateMode.geometry.vertices[l].x, this.immediateMode.geometry.vertices[l].y, this.immediateMode.geometry.vertices[l].z, this.immediateMode.geometry.uvs[2 * l], this.immediateMode.geometry.uvs[2 * l + 1], this.immediateMode.geometry.vertexColors[4 * l], this.immediateMode.geometry.vertexColors[4 * l + 1], this.immediateMode.geometry.vertexColors[4 * l + 2], this.immediateMode.geometry.vertexColors[4 * l + 3], this.immediateMode.geometry.vertexNormals[l].x, this.immediateMode.geometry.vertexNormals[l].y, this.immediateMode.geometry.vertexNormals[l].z);\n for (var r, i = this._triangulate(a), c = this.immediateMode.geometry.vertices, p = (this.immediateMode.geometry.vertices = [], this.immediateMode.geometry.vertexNormals = [], this.immediateMode.geometry.uvs = [], []), j = 0, T = i.length; j < T; j += u.default.RendererGL.prototype.tessyVertexSize)\n p.push.apply(p, f(i.slice(j + 5, j + 9))), this.normal.apply(this, f(i.slice(j + 9, j + 12))), this.vertex.apply(this, f(i.slice(j, j + 5)));\n this.geometryBuilder && (r = /* @__PURE__ */ new Map(), this.immediateMode.geometry.edges = this.immediateMode.geometry.edges.map(function(_) {\n return _.map(function(S) {\n if (!r.has(S)) {\n var E = c[S], P = o.immediateMode.geometry.vertices.findIndex(function(V) {\n return E.x === V.x && E.y === V.y && E.z === V.z;\n });\n if (P === -1) {\n for (var x = 1 / 0, A = 0, M = 0; M < o.immediateMode.geometry.vertices.length; M++) {\n var L = o.immediateMode.geometry.vertices[M], F = E.x - L.x, R = E.y - L.y, L = E.z - L.z, F = F * F + R * R + L * L;\n F < x && (x = F, A = M);\n }\n P = A;\n }\n r.set(S, P);\n }\n return r.get(S);\n });\n })), this.immediateMode.geometry.vertexColors = p;\n }, u.default.RendererGL.prototype._drawImmediateFill = function() {\n var o, a = 0 < arguments.length && arguments[0] !== void 0 ? arguments[0] : 1, l = this.GL, r = (this._useVertexColor = 0 < this.immediateMode.geometry.vertexColors.length, o = this._getImmediateFillShader(), this._setFillUniforms(o), !0), i = !1, c = void 0;\n try {\n for (var p, j = this.immediateMode.buffers.fill[Symbol.iterator](); !(r = (p = j.next()).done); r = !0)\n p.value._prepareBuffer(this.immediateMode.geometry, o);\n } catch (T) {\n i = !0, c = T;\n } finally {\n try {\n r || j.return == null || j.return();\n } finally {\n if (i)\n throw c;\n }\n }\n if (o.disableRemainingAttributes(), this._applyColorBlend(this.curFillColor, this.immediateMode.geometry.hasFillTransparency()), a === 1)\n l.drawArrays(this.immediateMode.shapeMode, 0, this.immediateMode.geometry.vertices.length);\n else\n try {\n l.drawArraysInstanced(this.immediateMode.shapeMode, 0, this.immediateMode.geometry.vertices.length, a);\n } catch {\n console.log(\"🌸 p5.js says: Instancing is only supported in WebGL2 mode\");\n }\n o.unbindShader();\n }, u.default.RendererGL.prototype._drawImmediateStroke = function() {\n var o = this.GL, a = (this._useLineColor = 0 < this.immediateMode.geometry.vertexStrokeColors.length, this._getImmediateStrokeShader()), l = (this._setStrokeUniforms(a), !0), r = !1, i = void 0;\n try {\n for (var c, p = this.immediateMode.buffers.stroke[Symbol.iterator](); !(l = (c = p.next()).done); l = !0)\n c.value._prepareBuffer(this.immediateMode.geometry, a);\n } catch (j) {\n r = !0, i = j;\n } finally {\n try {\n l || p.return == null || p.return();\n } finally {\n if (r)\n throw i;\n }\n }\n a.disableRemainingAttributes(), this._applyColorBlend(this.curStrokeColor, this.immediateMode.geometry.hasFillTransparency()), o.drawArrays(o.TRIANGLES, 0, this.immediateMode.geometry.lineVertices.length / 3), a.unbindShader();\n }, u.default.RendererGL);\n C.default = s;\n }, { \"../core/constants\": 269, \"../core/main\": 280, \"./p5.RenderBuffer\": 334, \"core-js/modules/es.array.concat\": 152, \"core-js/modules/es.array.fill\": 155, \"core-js/modules/es.array.find-index\": 157, \"core-js/modules/es.array.from\": 161, \"core-js/modules/es.array.iterator\": 164, \"core-js/modules/es.array.map\": 167, \"core-js/modules/es.array.slice\": 168, \"core-js/modules/es.map\": 174, \"core-js/modules/es.object.get-own-property-descriptor\": 183, \"core-js/modules/es.object.to-string\": 187, \"core-js/modules/es.regexp.to-string\": 193, \"core-js/modules/es.string.iterator\": 197, \"core-js/modules/es.symbol\": 209, \"core-js/modules/es.symbol.description\": 207, \"core-js/modules/es.symbol.iterator\": 208, \"core-js/modules/es.weak-map\": 241, \"core-js/modules/web.dom-collections.iterator\": 243 }], 336: [function(t, H, C) {\n function m(n) {\n return (m = typeof Symbol == \"function\" && typeof Symbol.iterator == \"symbol\" ? function(s) {\n return typeof s;\n } : function(s) {\n return s && typeof Symbol == \"function\" && s.constructor === Symbol && s !== Symbol.prototype ? \"symbol\" : typeof s;\n })(n);\n }\n function y(n) {\n return (y = typeof Symbol == \"function\" && m(Symbol.iterator) === \"symbol\" ? function(s) {\n return m(s);\n } : function(s) {\n return s && typeof Symbol == \"function\" && s.constructor === Symbol && s !== Symbol.prototype ? \"symbol\" : m(s);\n })(n);\n }\n t(\"core-js/modules/es.symbol\"), t(\"core-js/modules/es.symbol.description\"), t(\"core-js/modules/es.symbol.iterator\"), t(\"core-js/modules/es.array.fill\"), t(\"core-js/modules/es.array.iterator\"), t(\"core-js/modules/es.array.some\"), t(\"core-js/modules/es.object.get-own-property-descriptor\"), t(\"core-js/modules/es.object.keys\"), t(\"core-js/modules/es.object.to-string\"), t(\"core-js/modules/es.string.iterator\"), t(\"core-js/modules/es.typed-array.float32-array\"), t(\"core-js/modules/es.typed-array.uint16-array\"), t(\"core-js/modules/es.typed-array.uint32-array\"), t(\"core-js/modules/es.typed-array.copy-within\"), t(\"core-js/modules/es.typed-array.every\"), t(\"core-js/modules/es.typed-array.fill\"), t(\"core-js/modules/es.typed-array.filter\"), t(\"core-js/modules/es.typed-array.find\"), t(\"core-js/modules/es.typed-array.find-index\"), t(\"core-js/modules/es.typed-array.for-each\"), t(\"core-js/modules/es.typed-array.includes\"), t(\"core-js/modules/es.typed-array.index-of\"), t(\"core-js/modules/es.typed-array.iterator\"), t(\"core-js/modules/es.typed-array.join\"), t(\"core-js/modules/es.typed-array.last-index-of\"), t(\"core-js/modules/es.typed-array.map\"), t(\"core-js/modules/es.typed-array.reduce\"), t(\"core-js/modules/es.typed-array.reduce-right\"), t(\"core-js/modules/es.typed-array.reverse\"), t(\"core-js/modules/es.typed-array.set\"), t(\"core-js/modules/es.typed-array.slice\"), t(\"core-js/modules/es.typed-array.some\"), t(\"core-js/modules/es.typed-array.sort\"), t(\"core-js/modules/es.typed-array.subarray\"), t(\"core-js/modules/es.typed-array.to-locale-string\"), t(\"core-js/modules/es.typed-array.to-string\"), t(\"core-js/modules/es.weak-map\"), t(\"core-js/modules/web.dom-collections.iterator\"), t(\"core-js/modules/es.symbol\"), t(\"core-js/modules/es.symbol.description\"), t(\"core-js/modules/es.symbol.iterator\"), t(\"core-js/modules/es.array.fill\"), t(\"core-js/modules/es.array.iterator\"), t(\"core-js/modules/es.array.some\"), t(\"core-js/modules/es.object.keys\"), t(\"core-js/modules/es.object.to-string\"), t(\"core-js/modules/es.string.iterator\"), t(\"core-js/modules/es.typed-array.float32-array\"), t(\"core-js/modules/es.typed-array.uint16-array\"), t(\"core-js/modules/es.typed-array.uint32-array\"), t(\"core-js/modules/es.typed-array.copy-within\"), t(\"core-js/modules/es.typed-array.every\"), t(\"core-js/modules/es.typed-array.fill\"), t(\"core-js/modules/es.typed-array.filter\"), t(\"core-js/modules/es.typed-array.find\"), t(\"core-js/modules/es.typed-array.find-index\"), t(\"core-js/modules/es.typed-array.for-each\"), t(\"core-js/modules/es.typed-array.includes\"), t(\"core-js/modules/es.typed-array.index-of\"), t(\"core-js/modules/es.typed-array.iterator\"), t(\"core-js/modules/es.typed-array.join\"), t(\"core-js/modules/es.typed-array.last-index-of\"), t(\"core-js/modules/es.typed-array.map\"), t(\"core-js/modules/es.typed-array.reduce\"), t(\"core-js/modules/es.typed-array.reduce-right\"), t(\"core-js/modules/es.typed-array.reverse\"), t(\"core-js/modules/es.typed-array.set\"), t(\"core-js/modules/es.typed-array.slice\"), t(\"core-js/modules/es.typed-array.some\"), t(\"core-js/modules/es.typed-array.sort\"), t(\"core-js/modules/es.typed-array.subarray\"), t(\"core-js/modules/es.typed-array.to-locale-string\"), t(\"core-js/modules/es.typed-array.to-string\"), t(\"core-js/modules/web.dom-collections.iterator\"), Object.defineProperty(C, \"__esModule\", { value: !0 }), C.default = void 0;\n var u = (f = t(\"../core/main\")) && f.__esModule ? f : { default: f }, h = (t(\"./p5.RendererGL\"), t(\"./p5.RenderBuffer\"), function(n) {\n if (n && n.__esModule)\n return n;\n if (n === null || y(n) !== \"object\" && typeof n != \"function\")\n return { default: n };\n var s = g();\n if (s && s.has(n))\n return s.get(n);\n var o, a = {}, l = Object.defineProperty && Object.getOwnPropertyDescriptor;\n for (o in n) {\n var r;\n Object.prototype.hasOwnProperty.call(n, o) && ((r = l ? Object.getOwnPropertyDescriptor(n, o) : null) && (r.get || r.set) ? Object.defineProperty(a, o, r) : a[o] = n[o]);\n }\n return a.default = n, s && s.set(n, a), a;\n }(t(\"../core/constants\")));\n function g() {\n var n;\n return typeof WeakMap != \"function\" ? null : (n = /* @__PURE__ */ new WeakMap(), g = function() {\n return n;\n }, n);\n }\n u.default.RendererGL.prototype.freeGeometry = function(n) {\n n.gid ? this._freeBuffers(n.gid) : console.warn(\"The model you passed to freeGeometry does not have an id!\");\n }, u.default.RendererGL.prototype._initBufferDefaults = function(n) {\n var s;\n return this._freeBuffers(n), 1e3 < Object.keys(this.retainedMode.geometry).length && (s = Object.keys(this.retainedMode.geometry)[0], this._freeBuffers(s)), this.retainedMode.geometry[n] = {};\n }, u.default.RendererGL.prototype._freeBuffers = function(n) {\n var s, o = this.retainedMode.geometry[n];\n function a(l) {\n var r = !0, i = !1, c = void 0;\n try {\n for (var p, j = l[Symbol.iterator](); !(r = (p = j.next()).done); r = !0) {\n var T = p.value;\n o[T.dst] && (s.deleteBuffer(o[T.dst]), o[T.dst] = null);\n }\n } catch (_) {\n i = !0, c = _;\n } finally {\n try {\n r || j.return == null || j.return();\n } finally {\n if (i)\n throw c;\n }\n }\n }\n o && (delete this.retainedMode.geometry[n], s = this.GL, o.indexBuffer && s.deleteBuffer(o.indexBuffer), a(this.retainedMode.buffers.stroke), a(this.retainedMode.buffers.fill));\n }, u.default.RendererGL.prototype.createBuffers = function(i, s) {\n var o, a, l, r = this.GL, i = this._initBufferDefaults(i), c = (i.model = s, i.indexBuffer);\n return s.faces.length ? (c = c || (i.indexBuffer = r.createBuffer()), l = (a = (o = u.default.RendererGL.prototype._flatten(s.faces)).some(function(p) {\n return 65535 < p;\n })) ? Uint32Array : Uint16Array, this._bindBuffer(c, r.ELEMENT_ARRAY_BUFFER, o, l), i.indexBufferType = a ? r.UNSIGNED_INT : r.UNSIGNED_SHORT, i.vertexCount = 3 * s.faces.length) : (c && (r.deleteBuffer(c), i.indexBuffer = null), i.vertexCount = s.vertices ? s.vertices.length : 0), i.lineVertexCount = s.lineVertices ? s.lineVertices.length / 3 : 0, i;\n }, u.default.RendererGL.prototype.drawBuffers = function(n) {\n var s = this.GL, o = this.retainedMode.geometry[n];\n if (!this.geometryBuilder && this._doFill && 0 < this.retainedMode.geometry[n].vertexCount) {\n this._useVertexColor = 0 < o.model.vertexColors.length;\n var a = this._getRetainedFillShader(), l = (this._setFillUniforms(a), !0), r = !1, i = void 0;\n try {\n for (var c, p = this.retainedMode.buffers.fill[Symbol.iterator](); !(l = (c = p.next()).done); l = !0)\n c.value._prepareBuffer(o, a);\n } catch (E) {\n r = !0, i = E;\n } finally {\n try {\n l || p.return == null || p.return();\n } finally {\n if (r)\n throw i;\n }\n }\n a.disableRemainingAttributes(), o.indexBuffer && this._bindBuffer(o.indexBuffer, s.ELEMENT_ARRAY_BUFFER), this._applyColorBlend(this.curFillColor, o.model.hasFillTransparency()), this._drawElements(s.TRIANGLES, n), a.unbindShader();\n }\n if (!this.geometryBuilder && this._doStroke && 0 < o.lineVertexCount) {\n this._useLineColor = 0 < o.model.vertexStrokeColors.length;\n var j = this._getRetainedStrokeShader(), T = (this._setStrokeUniforms(j), !0), r = !1, i = void 0;\n try {\n for (var _, S = this.retainedMode.buffers.stroke[Symbol.iterator](); !(T = (_ = S.next()).done); T = !0)\n _.value._prepareBuffer(o, j);\n } catch (x) {\n r = !0, i = x;\n } finally {\n try {\n T || S.return == null || S.return();\n } finally {\n if (r)\n throw i;\n }\n }\n j.disableRemainingAttributes(), this._applyColorBlend(this.curStrokeColor, o.model.hasStrokeTransparency()), this._drawArrays(s.TRIANGLES, n), j.unbindShader();\n }\n return this.geometryBuilder && this.geometryBuilder.addRetained(o), this;\n }, u.default.RendererGL.prototype.drawBuffersScaled = function(n, s, o, a) {\n var l = this.uMVMatrix.copy();\n try {\n this.uMVMatrix.scale(s, o, a), this.drawBuffers(n);\n } finally {\n this.uMVMatrix = l;\n }\n }, u.default.RendererGL.prototype._drawArrays = function(n, s) {\n return this.GL.drawArrays(n, 0, this.retainedMode.geometry[s].lineVertexCount), this;\n }, u.default.RendererGL.prototype._drawElements = function(n, o) {\n var o = this.retainedMode.geometry[o], a = this.GL;\n if (o.indexBuffer) {\n if (this._pInst.webglVersion !== h.WEBGL2 && o.indexBufferType === a.UNSIGNED_INT && !a.getExtension(\"OES_element_index_uint\"))\n throw new Error(\"Unable to render a 3d model with > 65535 triangles. Your web browser does not support the WebGL Extension OES_element_index_uint.\");\n a.drawElements(a.TRIANGLES, o.vertexCount, o.indexBufferType, 0);\n } else\n a.drawArrays(n || a.TRIANGLES, 0, o.vertexCount);\n }, u.default.RendererGL.prototype._drawPoints = function(n, s) {\n var o = this.GL, a = this._getImmediatePointShader();\n this._setPointUniforms(a), this._bindBuffer(s, o.ARRAY_BUFFER, this._vToNArray(n), Float32Array, o.STATIC_DRAW), a.enableAttrib(a.attributes.aPosition, 3), this._applyColorBlend(this.curStrokeColor), o.drawArrays(o.Points, 0, n.length), a.unbindShader();\n };\n var f = u.default.RendererGL;\n C.default = f;\n }, { \"../core/constants\": 269, \"../core/main\": 280, \"./p5.RenderBuffer\": 334, \"./p5.RendererGL\": 337, \"core-js/modules/es.array.fill\": 155, \"core-js/modules/es.array.iterator\": 164, \"core-js/modules/es.array.some\": 169, \"core-js/modules/es.object.get-own-property-descriptor\": 183, \"core-js/modules/es.object.keys\": 186, \"core-js/modules/es.object.to-string\": 187, \"core-js/modules/es.string.iterator\": 197, \"core-js/modules/es.symbol\": 209, \"core-js/modules/es.symbol.description\": 207, \"core-js/modules/es.symbol.iterator\": 208, \"core-js/modules/es.typed-array.copy-within\": 210, \"core-js/modules/es.typed-array.every\": 211, \"core-js/modules/es.typed-array.fill\": 212, \"core-js/modules/es.typed-array.filter\": 213, \"core-js/modules/es.typed-array.find\": 215, \"core-js/modules/es.typed-array.find-index\": 214, \"core-js/modules/es.typed-array.float32-array\": 216, \"core-js/modules/es.typed-array.for-each\": 218, \"core-js/modules/es.typed-array.includes\": 219, \"core-js/modules/es.typed-array.index-of\": 220, \"core-js/modules/es.typed-array.iterator\": 223, \"core-js/modules/es.typed-array.join\": 224, \"core-js/modules/es.typed-array.last-index-of\": 225, \"core-js/modules/es.typed-array.map\": 226, \"core-js/modules/es.typed-array.reduce\": 228, \"core-js/modules/es.typed-array.reduce-right\": 227, \"core-js/modules/es.typed-array.reverse\": 229, \"core-js/modules/es.typed-array.set\": 230, \"core-js/modules/es.typed-array.slice\": 231, \"core-js/modules/es.typed-array.some\": 232, \"core-js/modules/es.typed-array.sort\": 233, \"core-js/modules/es.typed-array.subarray\": 234, \"core-js/modules/es.typed-array.to-locale-string\": 235, \"core-js/modules/es.typed-array.to-string\": 236, \"core-js/modules/es.typed-array.uint16-array\": 237, \"core-js/modules/es.typed-array.uint32-array\": 238, \"core-js/modules/es.weak-map\": 241, \"core-js/modules/web.dom-collections.iterator\": 243 }], 337: [function(M, H, C) {\n function m(U) {\n return (m = typeof Symbol == \"function\" && typeof Symbol.iterator == \"symbol\" ? function(W) {\n return typeof W;\n } : function(W) {\n return W && typeof Symbol == \"function\" && W.constructor === Symbol && W !== Symbol.prototype ? \"symbol\" : typeof W;\n })(U);\n }\n function y(U) {\n return (y = typeof Symbol == \"function\" && m(Symbol.iterator) === \"symbol\" ? function(W) {\n return m(W);\n } : function(W) {\n return W && typeof Symbol == \"function\" && W.constructor === Symbol && W !== Symbol.prototype ? \"symbol\" : m(W);\n })(U);\n }\n M(\"core-js/modules/es.symbol\"), M(\"core-js/modules/es.symbol.description\"), M(\"core-js/modules/es.symbol.iterator\"), M(\"core-js/modules/es.array.concat\"), M(\"core-js/modules/es.array.copy-within\"), M(\"core-js/modules/es.array.every\"), M(\"core-js/modules/es.array.fill\"), M(\"core-js/modules/es.array.flat\"), M(\"core-js/modules/es.array.flat-map\"), M(\"core-js/modules/es.array.from\"), M(\"core-js/modules/es.array.includes\"), M(\"core-js/modules/es.array.iterator\"), M(\"core-js/modules/es.array.map\"), M(\"core-js/modules/es.array.slice\"), M(\"core-js/modules/es.array.some\"), M(\"core-js/modules/es.array.unscopables.flat\"), M(\"core-js/modules/es.array.unscopables.flat-map\"), M(\"core-js/modules/es.map\"), M(\"core-js/modules/es.object.assign\"), M(\"core-js/modules/es.object.get-own-property-descriptor\"), M(\"core-js/modules/es.object.get-prototype-of\"), M(\"core-js/modules/es.object.to-string\"), M(\"core-js/modules/es.reflect.construct\"), M(\"core-js/modules/es.reflect.get\"), M(\"core-js/modules/es.regexp.to-string\"), M(\"core-js/modules/es.set\"), M(\"core-js/modules/es.string.includes\"), M(\"core-js/modules/es.string.iterator\"), M(\"core-js/modules/es.typed-array.float32-array\"), M(\"core-js/modules/es.typed-array.float64-array\"), M(\"core-js/modules/es.typed-array.int16-array\"), M(\"core-js/modules/es.typed-array.uint8-array\"), M(\"core-js/modules/es.typed-array.uint16-array\"), M(\"core-js/modules/es.typed-array.uint32-array\"), M(\"core-js/modules/es.typed-array.copy-within\"), M(\"core-js/modules/es.typed-array.every\"), M(\"core-js/modules/es.typed-array.fill\"), M(\"core-js/modules/es.typed-array.filter\"), M(\"core-js/modules/es.typed-array.find\"), M(\"core-js/modules/es.typed-array.find-index\"), M(\"core-js/modules/es.typed-array.for-each\"), M(\"core-js/modules/es.typed-array.includes\"), M(\"core-js/modules/es.typed-array.index-of\"), M(\"core-js/modules/es.typed-array.iterator\"), M(\"core-js/modules/es.typed-array.join\"), M(\"core-js/modules/es.typed-array.last-index-of\"), M(\"core-js/modules/es.typed-array.map\"), M(\"core-js/modules/es.typed-array.reduce\"), M(\"core-js/modules/es.typed-array.reduce-right\"), M(\"core-js/modules/es.typed-array.reverse\"), M(\"core-js/modules/es.typed-array.set\"), M(\"core-js/modules/es.typed-array.slice\"), M(\"core-js/modules/es.typed-array.some\"), M(\"core-js/modules/es.typed-array.sort\"), M(\"core-js/modules/es.typed-array.subarray\"), M(\"core-js/modules/es.typed-array.to-locale-string\"), M(\"core-js/modules/es.typed-array.to-string\"), M(\"core-js/modules/es.weak-map\"), M(\"core-js/modules/web.dom-collections.iterator\"), M(\"core-js/modules/es.symbol\"), M(\"core-js/modules/es.symbol.description\"), M(\"core-js/modules/es.symbol.iterator\"), M(\"core-js/modules/es.array.concat\"), M(\"core-js/modules/es.array.copy-within\"), M(\"core-js/modules/es.array.every\"), M(\"core-js/modules/es.array.fill\"), M(\"core-js/modules/es.array.flat\"), M(\"core-js/modules/es.array.flat-map\"), M(\"core-js/modules/es.array.from\"), M(\"core-js/modules/es.array.includes\"), M(\"core-js/modules/es.array.iterator\"), M(\"core-js/modules/es.array.map\"), M(\"core-js/modules/es.array.slice\"), M(\"core-js/modules/es.array.some\"), M(\"core-js/modules/es.array.unscopables.flat\"), M(\"core-js/modules/es.array.unscopables.flat-map\"), M(\"core-js/modules/es.map\"), M(\"core-js/modules/es.object.assign\"), M(\"core-js/modules/es.object.to-string\"), M(\"core-js/modules/es.set\"), M(\"core-js/modules/es.string.includes\"), M(\"core-js/modules/es.string.iterator\"), M(\"core-js/modules/es.typed-array.float32-array\"), M(\"core-js/modules/es.typed-array.float64-array\"), M(\"core-js/modules/es.typed-array.int16-array\"), M(\"core-js/modules/es.typed-array.uint8-array\"), M(\"core-js/modules/es.typed-array.uint16-array\"), M(\"core-js/modules/es.typed-array.uint32-array\"), M(\"core-js/modules/es.typed-array.copy-within\"), M(\"core-js/modules/es.typed-array.every\"), M(\"core-js/modules/es.typed-array.fill\"), M(\"core-js/modules/es.typed-array.filter\"), M(\"core-js/modules/es.typed-array.find\"), M(\"core-js/modules/es.typed-array.find-index\"), M(\"core-js/modules/es.typed-array.for-each\"), M(\"core-js/modules/es.typed-array.includes\"), M(\"core-js/modules/es.typed-array.index-of\"), M(\"core-js/modules/es.typed-array.iterator\"), M(\"core-js/modules/es.typed-array.join\"), M(\"core-js/modules/es.typed-array.last-index-of\"), M(\"core-js/modules/es.typed-array.map\"), M(\"core-js/modules/es.typed-array.reduce\"), M(\"core-js/modules/es.typed-array.reduce-right\"), M(\"core-js/modules/es.typed-array.reverse\"), M(\"core-js/modules/es.typed-array.set\"), M(\"core-js/modules/es.typed-array.slice\"), M(\"core-js/modules/es.typed-array.some\"), M(\"core-js/modules/es.typed-array.sort\"), M(\"core-js/modules/es.typed-array.subarray\"), M(\"core-js/modules/es.typed-array.to-locale-string\"), M(\"core-js/modules/es.typed-array.to-string\"), M(\"core-js/modules/web.dom-collections.iterator\"), Object.defineProperty(C, \"__esModule\", { value: !0 }), C.readPixelsWebGL = V, C.readPixelWebGL = G, C.default = void 0;\n var u = o(M(\"../core/main\")), h = function(U) {\n if (U && U.__esModule)\n return U;\n if (U === null || y(U) !== \"object\" && typeof U != \"function\")\n return { default: U };\n var W = s();\n if (W && W.has(U))\n return W.get(U);\n var X, ne = {}, b = Object.defineProperty && Object.getOwnPropertyDescriptor;\n for (X in U) {\n var O;\n Object.prototype.hasOwnProperty.call(U, X) && ((O = b ? Object.getOwnPropertyDescriptor(U, X) : null) && (O.get || O.set) ? Object.defineProperty(ne, X, O) : ne[X] = U[X]);\n }\n return ne.default = U, W && W.set(U, ne), ne;\n }(M(\"../core/constants\")), g = o(M(\"./GeometryBuilder\")), f = o(M(\"libtess\")), n = (M(\"./p5.Shader\"), M(\"./p5.Camera\"), M(\"../core/p5.Renderer\"), M(\"./p5.Matrix\"), M(\"./p5.Framebuffer\"), M(\"path\"), M(\"./p5.Texture\"));\n function s() {\n var U;\n return typeof WeakMap != \"function\" ? null : (U = /* @__PURE__ */ new WeakMap(), s = function() {\n return U;\n }, U);\n }\n function o(U) {\n return U && U.__esModule ? U : { default: U };\n }\n function a(U) {\n return function(W) {\n if (Array.isArray(W)) {\n for (var X = 0, ne = new Array(W.length); X < W.length; X++)\n ne[X] = W[X];\n return ne;\n }\n }(U) || function(W) {\n if (Symbol.iterator in Object(W) || Object.prototype.toString.call(W) === \"[object Arguments]\")\n return Array.from(W);\n }(U) || function() {\n throw new TypeError(\"Invalid attempt to spread non-iterable instance\");\n }();\n }\n function l(U, W) {\n for (var X = 0; X < W.length; X++) {\n var ne = W[X];\n ne.enumerable = ne.enumerable || !1, ne.configurable = !0, \"value\" in ne && (ne.writable = !0), Object.defineProperty(U, ne.key, ne);\n }\n }\n function r(U, W, X) {\n return (r = typeof Reflect < \"u\" && Reflect.get ? Reflect.get : function(D, b, O) {\n var D = function(B, Y) {\n for (; !Object.prototype.hasOwnProperty.call(B, Y) && (B = j(B)) !== null; )\n ;\n return B;\n }(D, b);\n if (D)\n return (D = Object.getOwnPropertyDescriptor(D, b)).get ? D.get.call(O) : D.value;\n })(U, W, X || U);\n }\n function i(U, W) {\n return (i = Object.setPrototypeOf || function(X, ne) {\n return X.__proto__ = ne, X;\n })(U, W);\n }\n function c(U) {\n return function() {\n var W, X, ne = j(U);\n return W = function() {\n if (typeof Reflect < \"u\" && Reflect.construct && !Reflect.construct.sham) {\n if (typeof Proxy == \"function\")\n return 1;\n try {\n return Date.prototype.toString.call(Reflect.construct(Date, [], function() {\n })), 1;\n } catch {\n }\n }\n }() ? (W = j(this).constructor, Reflect.construct(ne, arguments, W)) : ne.apply(this, arguments), ne = this, !(X = W) || y(X) !== \"object\" && typeof X != \"function\" ? p(ne) : X;\n };\n }\n function p(U) {\n if (U === void 0)\n throw new ReferenceError(\"this hasn't been initialised - super() hasn't been called\");\n return U;\n }\n function j(U) {\n return (j = Object.setPrototypeOf ? Object.getPrototypeOf : function(W) {\n return W.__proto__ || Object.getPrototypeOf(W);\n })(U);\n }\n function T(U, W, X) {\n W in U ? Object.defineProperty(U, W, { value: X, enumerable: !0, configurable: !0, writable: !0 }) : U[W] = X;\n }\n function _(U, W) {\n A += \"#define STROKE_CAP_\".concat(U, \" \").concat(W, `\n`), P[h[U]] = W;\n }\n function S(U, W) {\n A += \"#define STROKE_JOIN_\".concat(U, \" \").concat(W, `\n`), x[h[U]] = W;\n }\n var E, P = {}, x = {}, A = \"\", M = (_(\"ROUND\", 0), _(\"PROJECT\", 1), _(\"SQUARE\", 2), S(\"ROUND\", 0), S(\"MITER\", 1), S(\"BEVEL\", 2), `#define PI 3.141592\n\nprecision highp float;\nprecision highp int;\n\nuniform mat4 uViewMatrix;\n\nuniform bool uUseLighting;\n\nuniform int uAmbientLightCount;\nuniform vec3 uAmbientColor[5];\nuniform mat3 uCameraRotation;\nuniform int uDirectionalLightCount;\nuniform vec3 uLightingDirection[5];\nuniform vec3 uDirectionalDiffuseColors[5];\nuniform vec3 uDirectionalSpecularColors[5];\n\nuniform int uPointLightCount;\nuniform vec3 uPointLightLocation[5];\nuniform vec3 uPointLightDiffuseColors[5];\t\nuniform vec3 uPointLightSpecularColors[5];\n\nuniform int uSpotLightCount;\nuniform float uSpotLightAngle[5];\nuniform float uSpotLightConc[5];\nuniform vec3 uSpotLightDiffuseColors[5];\nuniform vec3 uSpotLightSpecularColors[5];\nuniform vec3 uSpotLightLocation[5];\nuniform vec3 uSpotLightDirection[5];\n\nuniform bool uSpecular;\nuniform float uShininess;\nuniform float metallic;\n\nuniform float uConstantAttenuation;\nuniform float uLinearAttenuation;\nuniform float uQuadraticAttenuation;\n\n// setting from _setImageLightUniforms()\n// boolean to initiate the calculateImageDiffuse and calculateImageSpecular\nuniform bool uUseImageLight;\n// texture for use in calculateImageDiffuse\nuniform sampler2D environmentMapDiffused;\n// texture for use in calculateImageSpecular\nuniform sampler2D environmentMapSpecular;\n// roughness for use in calculateImageSpecular\nuniform float levelOfDetail;\n\nconst float specularFactor = 2.0;\nconst float diffuseFactor = 0.73;\n\nstruct LightResult {\n float specular;\n float diffuse;\n};\n\nfloat _phongSpecular(\n vec3 lightDirection,\n vec3 viewDirection,\n vec3 surfaceNormal,\n float shininess) {\n\n vec3 R = reflect(lightDirection, surfaceNormal);\n return pow(max(0.0, dot(R, viewDirection)), shininess);\n}\n\nfloat _lambertDiffuse(vec3 lightDirection, vec3 surfaceNormal) {\n return max(0.0, dot(-lightDirection, surfaceNormal));\n}\n\nLightResult _light(vec3 viewDirection, vec3 normal, vec3 lightVector) {\n\n vec3 lightDir = normalize(lightVector);\n\n //compute our diffuse & specular terms\n LightResult lr;\n float specularIntensity = mix(1.0, 0.4, metallic);\n float diffuseIntensity = mix(1.0, 0.1, metallic);\n if (uSpecular)\n lr.specular = (_phongSpecular(lightDir, viewDirection, normal, uShininess)) * specularIntensity;\n lr.diffuse = _lambertDiffuse(lightDir, normal) * diffuseIntensity;\n return lr;\n}\n\n// converts the range of \"value\" from [min1 to max1] to [min2 to max2]\nfloat map(float value, float min1, float max1, float min2, float max2) {\n return min2 + (value - min1) * (max2 - min2) / (max1 - min1);\n}\n\nvec2 mapTextureToNormal( vec3 v ){\n // x = r sin(phi) cos(theta) \n // y = r cos(phi) \n // z = r sin(phi) sin(theta)\n float phi = acos( v.y );\n // if phi is 0, then there are no x, z components\n float theta = 0.0;\n // else \n theta = acos(v.x / sin(phi));\n float sinTheta = v.z / sin(phi);\n if (sinTheta < 0.0) {\n // Turn it into -theta, but in the 0-2PI range\n theta = 2.0 * PI - theta;\n }\n theta = theta / (2.0 * 3.14159);\n phi = phi / 3.14159 ;\n \n vec2 angles = vec2( fract(theta + 0.25), 1.0 - phi );\n return angles;\n}\n\n\nvec3 calculateImageDiffuse( vec3 vNormal, vec3 vViewPosition ){\n // make 2 seperate builds \n vec3 worldCameraPosition = vec3(0.0, 0.0, 0.0); // hardcoded world camera position\n vec3 worldNormal = normalize(vNormal * uCameraRotation);\n vec2 newTexCoor = mapTextureToNormal( worldNormal );\n vec4 texture = TEXTURE( environmentMapDiffused, newTexCoor );\n // this is to make the darker sections more dark\n // png and jpg usually flatten the brightness so it is to reverse that\n return mix(smoothstep(vec3(0.0), vec3(1.0), texture.xyz), vec3(0.0), metallic);\n}\n\nvec3 calculateImageSpecular( vec3 vNormal, vec3 vViewPosition ){\n vec3 worldCameraPosition = vec3(0.0, 0.0, 0.0);\n vec3 worldNormal = normalize(vNormal);\n vec3 lightDirection = normalize( vViewPosition - worldCameraPosition );\n vec3 R = reflect(lightDirection, worldNormal) * uCameraRotation;\n vec2 newTexCoor = mapTextureToNormal( R );\n#ifdef WEBGL2\n vec4 outColor = textureLod(environmentMapSpecular, newTexCoor, levelOfDetail);\n#else\n vec4 outColor = TEXTURE(environmentMapSpecular, newTexCoor);\n#endif\n // this is to make the darker sections more dark\n // png and jpg usually flatten the brightness so it is to reverse that\n return mix(\n pow(outColor.xyz, vec3(10)),\n pow(outColor.xyz, vec3(1.2)),\n metallic \n );\n}\n\nvoid totalLight(\n vec3 modelPosition,\n vec3 normal,\n out vec3 totalDiffuse,\n out vec3 totalSpecular\n) {\n\n totalSpecular = vec3(0.0);\n\n if (!uUseLighting) {\n totalDiffuse = vec3(1.0);\n return;\n }\n\n totalDiffuse = vec3(0.0);\n\n vec3 viewDirection = normalize(-modelPosition);\n\n for (int j = 0; j < 5; j++) {\n if (j < uDirectionalLightCount) {\n vec3 lightVector = (uViewMatrix * vec4(uLightingDirection[j], 0.0)).xyz;\n vec3 lightColor = uDirectionalDiffuseColors[j];\n vec3 specularColor = uDirectionalSpecularColors[j];\n LightResult result = _light(viewDirection, normal, lightVector);\n totalDiffuse += result.diffuse * lightColor;\n totalSpecular += result.specular * lightColor * specularColor;\n }\n\n if (j < uPointLightCount) {\n vec3 lightPosition = (uViewMatrix * vec4(uPointLightLocation[j], 1.0)).xyz;\n vec3 lightVector = modelPosition - lightPosition;\n //calculate attenuation\n float lightDistance = length(lightVector);\n float lightFalloff = 1.0 / (uConstantAttenuation + lightDistance * uLinearAttenuation + (lightDistance * lightDistance) * uQuadraticAttenuation);\n vec3 lightColor = lightFalloff * uPointLightDiffuseColors[j];\n vec3 specularColor = lightFalloff * uPointLightSpecularColors[j];\n\n LightResult result = _light(viewDirection, normal, lightVector);\n totalDiffuse += result.diffuse * lightColor;\n totalSpecular += result.specular * lightColor * specularColor;\n }\n\n if(j < uSpotLightCount) {\n vec3 lightPosition = (uViewMatrix * vec4(uSpotLightLocation[j], 1.0)).xyz;\n vec3 lightVector = modelPosition - lightPosition;\n \n float lightDistance = length(lightVector);\n float lightFalloff = 1.0 / (uConstantAttenuation + lightDistance * uLinearAttenuation + (lightDistance * lightDistance) * uQuadraticAttenuation);\n\n vec3 lightDirection = (uViewMatrix * vec4(uSpotLightDirection[j], 0.0)).xyz;\n float spotDot = dot(normalize(lightVector), normalize(lightDirection));\n float spotFalloff;\n if(spotDot < uSpotLightAngle[j]) {\n spotFalloff = 0.0;\n }\n else {\n spotFalloff = pow(spotDot, uSpotLightConc[j]);\n }\n lightFalloff *= spotFalloff;\n\n vec3 lightColor = uSpotLightDiffuseColors[j];\n vec3 specularColor = uSpotLightSpecularColors[j];\n \n LightResult result = _light(viewDirection, normal, lightVector);\n \n totalDiffuse += result.diffuse * lightColor * lightFalloff;\n totalSpecular += result.specular * lightColor * specularColor * lightFalloff;\n }\n }\n\n if( uUseImageLight ){\n totalDiffuse += calculateImageDiffuse(normal, modelPosition);\n totalSpecular += calculateImageSpecular(normal, modelPosition);\n }\n\n totalDiffuse *= diffuseFactor;\n totalSpecular *= specularFactor;\n}\n`), R = { sphereMappingFrag: `#define PI 3.141592\n\nprecision highp float;\n \nuniform sampler2D uSampler;\nuniform mat3 uNewNormalMatrix;\nuniform float uFovY;\nuniform float uAspect;\n\nvarying vec2 vTexCoord;\n \nvoid main() {\n float uFovX = uFovY * uAspect; \n vec4 newTexColor = texture2D(uSampler, vTexCoord);\n float angleY = mix(uFovY/2.0, -uFovY/2.0, vTexCoord.y);\n float angleX = mix(uFovX/2.0, -uFovX/2.0, vTexCoord.x);\n vec3 rotatedNormal = vec3( angleX, angleY, 1.0 );\n rotatedNormal = uNewNormalMatrix * normalize(rotatedNormal);\n vec2 suv;\n suv.y = 0.5 + 0.5 * (-rotatedNormal.y);\n suv.x = atan(rotatedNormal.z, rotatedNormal.x) / (2.0 * PI) + 0.5;\n newTexColor = texture2D(uSampler, suv.xy);\n gl_FragColor = newTexColor;\n}\n`, immediateVert: `IN vec3 aPosition;\nIN vec4 aVertexColor;\n\nuniform mat4 uModelViewMatrix;\nuniform mat4 uProjectionMatrix;\nuniform float uResolution;\nuniform float uPointSize;\n\nOUT vec4 vColor;\nvoid main(void) {\n vec4 positionVec4 = vec4(aPosition, 1.0);\n gl_Position = uProjectionMatrix * uModelViewMatrix * positionVec4;\n vColor = aVertexColor;\n gl_PointSize = uPointSize;\n}\n`, vertexColorVert: `IN vec3 aPosition;\nIN vec4 aVertexColor;\n\nuniform mat4 uModelViewMatrix;\nuniform mat4 uProjectionMatrix;\n\nOUT vec4 vColor;\n\nvoid main(void) {\n vec4 positionVec4 = vec4(aPosition, 1.0);\n gl_Position = uProjectionMatrix * uModelViewMatrix * positionVec4;\n vColor = aVertexColor;\n}\n`, vertexColorFrag: `IN vec4 vColor;\nvoid main(void) {\n OUT_COLOR = vec4(vColor.rgb, 1.) * vColor.a;\n}\n`, normalVert: `IN vec3 aPosition;\nIN vec3 aNormal;\nIN vec2 aTexCoord;\nIN vec4 aVertexColor;\n\nuniform mat4 uModelViewMatrix;\nuniform mat4 uProjectionMatrix;\nuniform mat3 uNormalMatrix;\n\nuniform vec4 uMaterialColor;\nuniform bool uUseVertexColor;\n\nOUT vec3 vVertexNormal;\nOUT highp vec2 vVertTexCoord;\nOUT vec4 vColor;\n\nvoid main(void) {\n vec4 positionVec4 = vec4(aPosition, 1.0);\n gl_Position = uProjectionMatrix * uModelViewMatrix * positionVec4;\n vVertexNormal = normalize(vec3( uNormalMatrix * aNormal ));\n vVertTexCoord = aTexCoord;\n vColor = (uUseVertexColor ? aVertexColor : uMaterialColor);\n}\n`, normalFrag: `IN vec3 vVertexNormal;\nvoid main(void) {\n OUT_COLOR = vec4(vVertexNormal, 1.0);\n}\n`, basicFrag: `IN vec4 vColor;\nvoid main(void) {\n OUT_COLOR = vec4(vColor.rgb, 1.) * vColor.a;\n}\n`, lightVert: M + `// include lighting.glgl\n\nIN vec3 aPosition;\nIN vec3 aNormal;\nIN vec2 aTexCoord;\nIN vec4 aVertexColor;\n\nuniform mat4 uModelViewMatrix;\nuniform mat4 uProjectionMatrix;\nuniform mat3 uNormalMatrix;\n\nuniform bool uUseVertexColor;\nuniform vec4 uMaterialColor;\n\nOUT highp vec2 vVertTexCoord;\nOUT vec3 vDiffuseColor;\nOUT vec3 vSpecularColor;\nOUT vec4 vColor;\n\nvoid main(void) {\n\n vec4 viewModelPosition = uModelViewMatrix * vec4(aPosition, 1.0);\n gl_Position = uProjectionMatrix * viewModelPosition;\n\n vec3 vertexNormal = normalize(uNormalMatrix * aNormal);\n vVertTexCoord = aTexCoord;\n\n totalLight(viewModelPosition.xyz, vertexNormal, vDiffuseColor, vSpecularColor);\n\n for (int i = 0; i < 8; i++) {\n if (i < uAmbientLightCount) {\n vDiffuseColor += uAmbientColor[i];\n }\n }\n \n vColor = (uUseVertexColor ? aVertexColor : uMaterialColor);\n}\n`, lightTextureFrag: `uniform vec4 uTint;\nuniform sampler2D uSampler;\nuniform bool isTexture;\nuniform bool uEmissive;\n\nIN highp vec2 vVertTexCoord;\nIN vec3 vDiffuseColor;\nIN vec3 vSpecularColor;\nIN vec4 vColor;\n\nvoid main(void) {\n if(uEmissive && !isTexture) {\n OUT_COLOR = vColor;\n }\n else {\n vec4 baseColor = isTexture\n // Textures come in with premultiplied alpha. To apply tint and still have\n // premultiplied alpha output, we need to multiply the RGB channels by the\n // tint RGB, and all channels by the tint alpha.\n ? TEXTURE(uSampler, vVertTexCoord) * vec4(uTint.rgb/255., 1.) * (uTint.a/255.)\n // Colors come in with unmultiplied alpha, so we need to multiply the RGB\n // channels by alpha to convert it to premultiplied alpha.\n : vec4(vColor.rgb * vColor.a, vColor.a);\n OUT_COLOR = vec4(baseColor.rgb * vDiffuseColor + vSpecularColor, baseColor.a);\n }\n}\n`, phongVert: `precision highp int;\n\nIN vec3 aPosition;\nIN vec3 aNormal;\nIN vec2 aTexCoord;\nIN vec4 aVertexColor;\n\nuniform vec3 uAmbientColor[5];\n\nuniform mat4 uModelViewMatrix;\nuniform mat4 uProjectionMatrix;\nuniform mat3 uNormalMatrix;\nuniform int uAmbientLightCount;\n\nuniform bool uUseVertexColor;\nuniform vec4 uMaterialColor;\n\nOUT vec3 vNormal;\nOUT vec2 vTexCoord;\nOUT vec3 vViewPosition;\nOUT vec3 vAmbientColor;\nOUT vec4 vColor;\n\nvoid main(void) {\n\n vec4 viewModelPosition = uModelViewMatrix * vec4(aPosition, 1.0);\n\n // Pass varyings to fragment shader\n vViewPosition = viewModelPosition.xyz;\n gl_Position = uProjectionMatrix * viewModelPosition; \n\n vNormal = uNormalMatrix * aNormal;\n vTexCoord = aTexCoord;\n\n // TODO: this should be a uniform\n vAmbientColor = vec3(0.0);\n for (int i = 0; i < 5; i++) {\n if (i < uAmbientLightCount) {\n vAmbientColor += uAmbientColor[i];\n }\n }\n \n vColor = (uUseVertexColor ? aVertexColor : uMaterialColor);\n}\n`, phongFrag: M + `// include lighting.glsl\nprecision highp int;\n\nuniform bool uHasSetAmbient;\nuniform vec4 uSpecularMatColor;\nuniform vec4 uAmbientMatColor;\nuniform vec4 uEmissiveMatColor;\n\nuniform vec4 uTint;\nuniform sampler2D uSampler;\nuniform bool isTexture;\n\nIN vec3 vNormal;\nIN vec2 vTexCoord;\nIN vec3 vViewPosition;\nIN vec3 vAmbientColor;\nIN vec4 vColor;\n\nvoid main(void) {\n\n vec3 diffuse;\n vec3 specular;\n totalLight(vViewPosition, normalize(vNormal), diffuse, specular);\n\n // Calculating final color as result of all lights (plus emissive term).\n\n vec4 baseColor = isTexture\n // Textures come in with premultiplied alpha. To apply tint and still have\n // premultiplied alpha output, we need to multiply the RGB channels by the\n // tint RGB, and all channels by the tint alpha.\n ? TEXTURE(uSampler, vTexCoord) * vec4(uTint.rgb/255., 1.) * (uTint.a/255.)\n // Colors come in with unmultiplied alpha, so we need to multiply the RGB\n // channels by alpha to convert it to premultiplied alpha.\n : vec4(vColor.rgb * vColor.a, vColor.a);\n OUT_COLOR = vec4(diffuse * baseColor.rgb + \n vAmbientColor * (\n uHasSetAmbient ? uAmbientMatColor.rgb : baseColor.rgb\n ) + \n specular * uSpecularMatColor.rgb + \n uEmissiveMatColor.rgb, baseColor.a);\n}\n`, fontVert: `IN vec3 aPosition;\nIN vec2 aTexCoord;\nuniform mat4 uModelViewMatrix;\nuniform mat4 uProjectionMatrix;\n\nuniform vec4 uGlyphRect;\nuniform float uGlyphOffset;\n\nOUT vec2 vTexCoord;\nOUT float w;\n\nvoid main() {\n vec4 positionVec4 = vec4(aPosition, 1.0);\n\n // scale by the size of the glyph's rectangle\n positionVec4.xy *= uGlyphRect.zw - uGlyphRect.xy;\n\n // Expand glyph bounding boxes by 1px on each side to give a bit of room\n // for antialiasing\n vec3 newOrigin = (uModelViewMatrix * vec4(0., 0., 0., 1.)).xyz;\n vec3 newDX = (uModelViewMatrix * vec4(1., 0., 0., 1.)).xyz;\n vec3 newDY = (uModelViewMatrix * vec4(0., 1., 0., 1.)).xyz;\n vec2 pixelScale = vec2(\n 1. / length(newOrigin - newDX),\n 1. / length(newOrigin - newDY)\n );\n vec2 offset = pixelScale * normalize(aTexCoord - vec2(0.5, 0.5)) * vec2(1., -1.);\n vec2 textureOffset = offset * (1. / vec2(\n uGlyphRect.z - uGlyphRect.x,\n uGlyphRect.w - uGlyphRect.y\n ));\n\n // move to the corner of the glyph\n positionVec4.xy += uGlyphRect.xy;\n\n // move to the letter's line offset\n positionVec4.x += uGlyphOffset;\n\n positionVec4.xy += offset;\n \n gl_Position = uProjectionMatrix * uModelViewMatrix * positionVec4;\n vTexCoord = aTexCoord + textureOffset;\n w = gl_Position.w;\n}\n`, fontFrag: `#ifndef WEBGL2\n#extension GL_OES_standard_derivatives : enable\n#endif\n\n#if 0\n // simulate integer math using floats\n\t#define int float\n\t#define ivec2 vec2\n\t#define INT(x) float(x)\n\n\tint ifloor(float v) { return floor(v); }\n\tivec2 ifloor(vec2 v) { return floor(v); }\n\n#else\n // use native integer math\n\tprecision highp int;\n\t#define INT(x) x\n\n\tint ifloor(float v) { return int(v); }\n\tint ifloor(int v) { return v; }\n\tivec2 ifloor(vec2 v) { return ivec2(v); }\n\n#endif\n\nuniform sampler2D uSamplerStrokes;\nuniform sampler2D uSamplerRowStrokes;\nuniform sampler2D uSamplerRows;\nuniform sampler2D uSamplerColStrokes;\nuniform sampler2D uSamplerCols;\n\nuniform ivec2 uStrokeImageSize;\nuniform ivec2 uCellsImageSize;\nuniform ivec2 uGridImageSize;\n\nuniform ivec2 uGridOffset;\nuniform ivec2 uGridSize;\nuniform vec4 uMaterialColor;\n\nIN vec2 vTexCoord;\n\n// some helper functions\nint ROUND(float v) { return ifloor(v + 0.5); }\nivec2 ROUND(vec2 v) { return ifloor(v + 0.5); }\nfloat saturate(float v) { return clamp(v, 0.0, 1.0); }\nvec2 saturate(vec2 v) { return clamp(v, 0.0, 1.0); }\n\nint mul(float v1, int v2) {\n return ifloor(v1 * float(v2));\n}\n\nivec2 mul(vec2 v1, ivec2 v2) {\n return ifloor(v1 * vec2(v2) + 0.5);\n}\n\n// unpack a 16-bit integer from a float vec2\nint getInt16(vec2 v) {\n ivec2 iv = ROUND(v * 255.0);\n return iv.x * INT(128) + iv.y;\n}\n\nvec2 pixelScale;\nvec2 coverage = vec2(0.0);\nvec2 weight = vec2(0.5);\nconst float minDistance = 1.0/8192.0;\nconst float hardness = 1.05; // amount of antialias\n\n// the maximum number of curves in a glyph\nconst int N = INT(250);\n\n// retrieves an indexed pixel from a sampler\nvec4 getTexel(sampler2D sampler, int pos, ivec2 size) {\n int width = size.x;\n int y = ifloor(pos / width);\n int x = pos - y * width; // pos % width\n\n return TEXTURE(sampler, (vec2(x, y) + 0.5) / vec2(size));\n}\n\nvoid calulateCrossings(vec2 p0, vec2 p1, vec2 p2, out vec2 C1, out vec2 C2) {\n\n // get the coefficients of the quadratic in t\n vec2 a = p0 - p1 * 2.0 + p2;\n vec2 b = p0 - p1;\n vec2 c = p0 - vTexCoord;\n\n // found out which values of 't' it crosses the axes\n vec2 surd = sqrt(max(vec2(0.0), b * b - a * c));\n vec2 t1 = ((b - surd) / a).yx;\n vec2 t2 = ((b + surd) / a).yx;\n\n // approximate straight lines to avoid rounding errors\n if (abs(a.y) < 0.001)\n t1.x = t2.x = c.y / (2.0 * b.y);\n\n if (abs(a.x) < 0.001)\n t1.y = t2.y = c.x / (2.0 * b.x);\n\n // plug into quadratic formula to find the corrdinates of the crossings\n C1 = ((a * t1 - b * 2.0) * t1 + c) * pixelScale;\n C2 = ((a * t2 - b * 2.0) * t2 + c) * pixelScale;\n}\n\nvoid coverageX(vec2 p0, vec2 p1, vec2 p2) {\n\n vec2 C1, C2;\n calulateCrossings(p0, p1, p2, C1, C2);\n\n // determine on which side of the x-axis the points lie\n bool y0 = p0.y > vTexCoord.y;\n bool y1 = p1.y > vTexCoord.y;\n bool y2 = p2.y > vTexCoord.y;\n\n // could web be under the curve (after t1)?\n if (y1 ? !y2 : y0) {\n // add the coverage for t1\n coverage.x += saturate(C1.x + 0.5);\n // calculate the anti-aliasing for t1\n weight.x = min(weight.x, abs(C1.x));\n }\n\n // are we outside the curve (after t2)?\n if (y1 ? !y0 : y2) {\n // subtract the coverage for t2\n coverage.x -= saturate(C2.x + 0.5);\n // calculate the anti-aliasing for t2\n weight.x = min(weight.x, abs(C2.x));\n }\n}\n\n// this is essentially the same as coverageX, but with the axes swapped\nvoid coverageY(vec2 p0, vec2 p1, vec2 p2) {\n\n vec2 C1, C2;\n calulateCrossings(p0, p1, p2, C1, C2);\n\n bool x0 = p0.x > vTexCoord.x;\n bool x1 = p1.x > vTexCoord.x;\n bool x2 = p2.x > vTexCoord.x;\n\n if (x1 ? !x2 : x0) {\n coverage.y -= saturate(C1.y + 0.5);\n weight.y = min(weight.y, abs(C1.y));\n }\n\n if (x1 ? !x0 : x2) {\n coverage.y += saturate(C2.y + 0.5);\n weight.y = min(weight.y, abs(C2.y));\n }\n}\n\nvoid main() {\n\n // calculate the pixel scale based on screen-coordinates\n pixelScale = hardness / fwidth(vTexCoord);\n\n // which grid cell is this pixel in?\n ivec2 gridCoord = ifloor(vTexCoord * vec2(uGridSize));\n\n // intersect curves in this row\n {\n // the index into the row info bitmap\n int rowIndex = gridCoord.y + uGridOffset.y;\n // fetch the info texel\n vec4 rowInfo = getTexel(uSamplerRows, rowIndex, uGridImageSize);\n // unpack the rowInfo\n int rowStrokeIndex = getInt16(rowInfo.xy);\n int rowStrokeCount = getInt16(rowInfo.zw);\n\n for (int iRowStroke = INT(0); iRowStroke < N; iRowStroke++) {\n if (iRowStroke >= rowStrokeCount)\n break;\n\n // each stroke is made up of 3 points: the start and control point\n // and the start of the next curve.\n // fetch the indices of this pair of strokes:\n vec4 strokeIndices = getTexel(uSamplerRowStrokes, rowStrokeIndex++, uCellsImageSize);\n\n // unpack the stroke index\n int strokePos = getInt16(strokeIndices.xy);\n\n // fetch the two strokes\n vec4 stroke0 = getTexel(uSamplerStrokes, strokePos + INT(0), uStrokeImageSize);\n vec4 stroke1 = getTexel(uSamplerStrokes, strokePos + INT(1), uStrokeImageSize);\n\n // calculate the coverage\n coverageX(stroke0.xy, stroke0.zw, stroke1.xy);\n }\n }\n\n // intersect curves in this column\n {\n int colIndex = gridCoord.x + uGridOffset.x;\n vec4 colInfo = getTexel(uSamplerCols, colIndex, uGridImageSize);\n int colStrokeIndex = getInt16(colInfo.xy);\n int colStrokeCount = getInt16(colInfo.zw);\n \n for (int iColStroke = INT(0); iColStroke < N; iColStroke++) {\n if (iColStroke >= colStrokeCount)\n break;\n\n vec4 strokeIndices = getTexel(uSamplerColStrokes, colStrokeIndex++, uCellsImageSize);\n\n int strokePos = getInt16(strokeIndices.xy);\n vec4 stroke0 = getTexel(uSamplerStrokes, strokePos + INT(0), uStrokeImageSize);\n vec4 stroke1 = getTexel(uSamplerStrokes, strokePos + INT(1), uStrokeImageSize);\n coverageY(stroke0.xy, stroke0.zw, stroke1.xy);\n }\n }\n\n weight = saturate(1.0 - weight * 2.0);\n float distance = max(weight.x + weight.y, minDistance); // manhattan approx.\n float antialias = abs(dot(coverage, weight) / distance);\n float cover = min(abs(coverage.x), abs(coverage.y));\n OUT_COLOR = vec4(uMaterialColor.rgb, 1.) * uMaterialColor.a;\n OUT_COLOR *= saturate(max(antialias, cover));\n}\n`, lineVert: A + `/*\n Part of the Processing project - http://processing.org\n Copyright (c) 2012-15 The Processing Foundation\n Copyright (c) 2004-12 Ben Fry and Casey Reas\n Copyright (c) 2001-04 Massachusetts Institute of Technology\n This library is free software; you can redistribute it and/or\n modify it under the terms of the GNU Lesser General Public\n License as published by the Free Software Foundation, version 2.1.\n This library is distributed in the hope that it will be useful,\n but WITHOUT ANY WARRANTY; without even the implied warranty of\n MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU\n Lesser General Public License for more details.\n You should have received a copy of the GNU Lesser General\n Public License along with this library; if not, write to the\n Free Software Foundation, Inc., 59 Temple Place, Suite 330,\n Boston, MA 02111-1307 USA\n*/\n\n#define PROCESSING_LINE_SHADER\n\nprecision mediump int;\n\nuniform mat4 uModelViewMatrix;\nuniform mat4 uProjectionMatrix;\nuniform float uStrokeWeight;\n\nuniform bool uUseLineColor;\nuniform vec4 uMaterialColor;\n\nuniform vec4 uViewport;\nuniform int uPerspective;\nuniform int uStrokeJoin;\n\nIN vec4 aPosition;\nIN vec3 aTangentIn;\nIN vec3 aTangentOut;\nIN float aSide;\nIN vec4 aVertexColor;\n\nOUT vec4 vColor;\nOUT vec2 vTangent;\nOUT vec2 vCenter;\nOUT vec2 vPosition;\nOUT float vMaxDist;\nOUT float vCap;\nOUT float vJoin;\n\nvec2 lineIntersection(vec2 aPoint, vec2 aDir, vec2 bPoint, vec2 bDir) {\n // Rotate and translate so a starts at the origin and goes out to the right\n bPoint -= aPoint;\n vec2 rotatedBFrom = vec2(\n bPoint.x*aDir.x + bPoint.y*aDir.y,\n bPoint.y*aDir.x - bPoint.x*aDir.y\n );\n vec2 bTo = bPoint + bDir;\n vec2 rotatedBTo = vec2(\n bTo.x*aDir.x + bTo.y*aDir.y,\n bTo.y*aDir.x - bTo.x*aDir.y\n );\n float intersectionDistance =\n rotatedBTo.x + (rotatedBFrom.x - rotatedBTo.x) * rotatedBTo.y /\n (rotatedBTo.y - rotatedBFrom.y);\n return aPoint + aDir * intersectionDistance;\n}\n\nvoid main() {\n // Caps have one of either the in or out tangent set to 0\n vCap = (aTangentIn == vec3(0.)) != (aTangentOut == (vec3(0.)))\n ? 1. : 0.;\n\n // Joins have two unique, defined tangents\n vJoin = (\n aTangentIn != vec3(0.) &&\n aTangentOut != vec3(0.) &&\n aTangentIn != aTangentOut\n ) ? 1. : 0.;\n\n vec4 posp = uModelViewMatrix * aPosition;\n vec4 posqIn = uModelViewMatrix * (aPosition + vec4(aTangentIn, 0));\n vec4 posqOut = uModelViewMatrix * (aPosition + vec4(aTangentOut, 0));\n\n float facingCamera = pow(\n // The word space tangent's z value is 0 if it's facing the camera\n abs(normalize(posqIn-posp).z),\n\n // Using pow() here to ramp \\`facingCamera\\` up from 0 to 1 really quickly\n // so most lines get scaled and don't get clipped\n 0.25\n );\n\n // using a scale <1 moves the lines towards the camera\n // in order to prevent popping effects due to half of\n // the line disappearing behind the geometry faces.\n float scale = mix(1., 0.995, facingCamera);\n\n // Moving vertices slightly toward the camera\n // to avoid depth-fighting with the fill triangles.\n // Discussed here:\n // http://www.opengl.org/discussion_boards/ubbthreads.php?ubb=showflat&Number=252848 \n posp.xyz = posp.xyz * scale;\n posqIn.xyz = posqIn.xyz * scale;\n posqOut.xyz = posqOut.xyz * scale;\n\n vec4 p = uProjectionMatrix * posp;\n vec4 qIn = uProjectionMatrix * posqIn;\n vec4 qOut = uProjectionMatrix * posqOut;\n vCenter = p.xy;\n\n // formula to convert from clip space (range -1..1) to screen space (range 0..[width or height])\n // screen_p = (p.xy/p.w + <1,1>) * 0.5 * uViewport.zw\n\n // prevent division by W by transforming the tangent formula (div by 0 causes\n // the line to disappear, see https://github.com/processing/processing/issues/5183)\n // t = screen_q - screen_p\n //\n // tangent is normalized and we don't care which aDirection it points to (+-)\n // t = +- normalize( screen_q - screen_p )\n // t = +- normalize( (q.xy/q.w+<1,1>)*0.5*uViewport.zw - (p.xy/p.w+<1,1>)*0.5*uViewport.zw )\n //\n // extract common factor, <1,1> - <1,1> cancels out\n // t = +- normalize( (q.xy/q.w - p.xy/p.w) * 0.5 * uViewport.zw )\n //\n // convert to common divisor\n // t = +- normalize( ((q.xy*p.w - p.xy*q.w) / (p.w*q.w)) * 0.5 * uViewport.zw )\n //\n // remove the common scalar divisor/factor, not needed due to normalize and +-\n // (keep uViewport - can't remove because it has different components for x and y\n // and corrects for aspect ratio, see https://github.com/processing/processing/issues/5181)\n // t = +- normalize( (q.xy*p.w - p.xy*q.w) * uViewport.zw )\n\n vec2 tangentIn = normalize((qIn.xy*p.w - p.xy*qIn.w) * uViewport.zw);\n vec2 tangentOut = normalize((qOut.xy*p.w - p.xy*qOut.w) * uViewport.zw);\n\n vec2 curPerspScale;\n if(uPerspective == 1) {\n // Perspective ---\n // convert from world to clip by multiplying with projection scaling factor\n // to get the right thickness (see https://github.com/processing/processing/issues/5182)\n\n // The y value of the projection matrix may be flipped if rendering to a Framebuffer.\n // Multiplying again by its sign here negates the flip to get just the scale.\n curPerspScale = (uProjectionMatrix * vec4(1, sign(uProjectionMatrix[1][1]), 0, 0)).xy;\n } else {\n // No Perspective ---\n // multiply by W (to cancel out division by W later in the pipeline) and\n // convert from screen to clip (derived from clip to screen above)\n curPerspScale = p.w / (0.5 * uViewport.zw);\n }\n\n vec2 offset;\n if (vJoin == 1.) {\n vTangent = normalize(tangentIn + tangentOut);\n vec2 normalIn = vec2(-tangentIn.y, tangentIn.x);\n vec2 normalOut = vec2(-tangentOut.y, tangentOut.x);\n float side = sign(aSide);\n float sideEnum = abs(aSide);\n\n // We generate vertices for joins on either side of the centerline, but\n // the \"elbow\" side is the only one needing a join. By not setting the\n // offset for the other side, all its vertices will end up in the same\n // spot and not render, effectively discarding it.\n if (sign(dot(tangentOut, vec2(-tangentIn.y, tangentIn.x))) != side) {\n // Side enums:\n // 1: the side going into the join\n // 2: the middle of the join\n // 3: the side going out of the join\n if (sideEnum == 2.) {\n // Calculate the position + tangent on either side of the join, and\n // find where the lines intersect to find the elbow of the join\n vec2 c = (posp.xy/posp.w + vec2(1.,1.)) * 0.5 * uViewport.zw;\n vec2 intersection = lineIntersection(\n c + (side * normalIn * uStrokeWeight / 2.),\n tangentIn,\n c + (side * normalOut * uStrokeWeight / 2.),\n tangentOut\n );\n offset = (intersection - c);\n\n // When lines are thick and the angle of the join approaches 180, the\n // elbow might be really far from the center. We'll apply a limit to\n // the magnitude to avoid lines going across the whole screen when this\n // happens.\n float mag = length(offset);\n float maxMag = 3. * uStrokeWeight;\n if (mag > maxMag) {\n offset *= maxMag / mag;\n }\n } else if (sideEnum == 1.) {\n offset = side * normalIn * uStrokeWeight / 2.;\n } else if (sideEnum == 3.) {\n offset = side * normalOut * uStrokeWeight / 2.;\n }\n }\n if (uStrokeJoin == STROKE_JOIN_BEVEL) {\n vec2 avgNormal = vec2(-vTangent.y, vTangent.x);\n vMaxDist = abs(dot(avgNormal, normalIn * uStrokeWeight / 2.));\n } else {\n vMaxDist = uStrokeWeight / 2.;\n }\n } else {\n vec2 tangent = aTangentIn == vec3(0.) ? tangentOut : tangentIn;\n vTangent = tangent;\n vec2 normal = vec2(-tangent.y, tangent.x);\n\n float normalOffset = sign(aSide);\n // Caps will have side values of -2 or 2 on the edge of the cap that\n // extends out from the line\n float tangentOffset = abs(aSide) - 1.;\n offset = (normal * normalOffset + tangent * tangentOffset) *\n uStrokeWeight * 0.5;\n vMaxDist = uStrokeWeight / 2.;\n }\n vPosition = vCenter + offset;\n\n gl_Position.xy = p.xy + offset.xy * curPerspScale;\n gl_Position.zw = p.zw;\n \n vColor = (uUseLineColor ? aVertexColor : uMaterialColor);\n}\n`, lineFrag: A + `precision mediump int;\n\nuniform vec4 uMaterialColor;\nuniform int uStrokeCap;\nuniform int uStrokeJoin;\nuniform float uStrokeWeight;\n\nIN vec4 vColor;\nIN vec2 vTangent;\nIN vec2 vCenter;\nIN vec2 vPosition;\nIN float vMaxDist;\nIN float vCap;\nIN float vJoin;\n\nfloat distSquared(vec2 a, vec2 b) {\n vec2 aToB = b - a;\n return dot(aToB, aToB);\n}\n\nvoid main() {\n if (vCap > 0.) {\n if (\n uStrokeCap == STROKE_CAP_ROUND &&\n distSquared(vPosition, vCenter) > uStrokeWeight * uStrokeWeight * 0.25\n ) {\n discard;\n } else if (\n uStrokeCap == STROKE_CAP_SQUARE &&\n dot(vPosition - vCenter, vTangent) > 0.\n ) {\n discard;\n }\n // Use full area for PROJECT\n } else if (vJoin > 0.) {\n if (\n uStrokeJoin == STROKE_JOIN_ROUND &&\n distSquared(vPosition, vCenter) > uStrokeWeight * uStrokeWeight * 0.25\n ) {\n discard;\n } else if (uStrokeJoin == STROKE_JOIN_BEVEL) {\n vec2 normal = vec2(-vTangent.y, vTangent.x);\n if (abs(dot(vPosition - vCenter, normal)) > vMaxDist) {\n discard;\n }\n }\n // Use full area for MITER\n }\n OUT_COLOR = vec4(vColor.rgb, 1.) * vColor.a;\n}\n`, pointVert: `IN vec3 aPosition;\nuniform float uPointSize;\nOUT float vStrokeWeight;\nuniform mat4 uModelViewMatrix;\nuniform mat4 uProjectionMatrix;\nvoid main() {\n\tvec4 positionVec4 = vec4(aPosition, 1.0);\n\tgl_Position = uProjectionMatrix * uModelViewMatrix * positionVec4;\n\tgl_PointSize = uPointSize;\n\tvStrokeWeight = uPointSize;\n}\n`, pointFrag: `precision mediump int;\nuniform vec4 uMaterialColor;\nIN float vStrokeWeight;\n\nvoid main(){\n float mask = 0.0;\n\n // make a circular mask using the gl_PointCoord (goes from 0 - 1 on a point)\n // might be able to get a nicer edge on big strokeweights with smoothstep but slightly less performant\n\n mask = step(0.98, length(gl_PointCoord * 2.0 - 1.0));\n\n // if strokeWeight is 1 or less lets just draw a square\n // this prevents weird artifacting from carving circles when our points are really small\n // if strokeWeight is larger than 1, we just use it as is\n\n mask = mix(0.0, mask, clamp(floor(vStrokeWeight - 0.5),0.0,1.0));\n\n // throw away the borders of the mask\n // otherwise we get weird alpha blending issues\n\n if(mask > 0.98){\n discard;\n }\n\n OUT_COLOR = vec4(uMaterialColor.rgb, 1.) * uMaterialColor.a;\n}\n`, imageLightVert: `precision highp float;\nattribute vec3 aPosition;\nattribute vec3 aNormal;\nattribute vec2 aTexCoord;\n\nvarying vec3 localPos;\nvarying vec3 vWorldNormal;\nvarying vec3 vWorldPosition;\nvarying vec2 vTexCoord;\n\nuniform mat4 uModelViewMatrix;\nuniform mat4 uProjectionMatrix;\nuniform mat3 uNormalMatrix;\n\nvoid main() {\n // Multiply the position by the matrix.\n vec4 viewModelPosition = uModelViewMatrix * vec4(aPosition, 1.0);\n gl_Position = uProjectionMatrix * viewModelPosition; \n \n // orient the normals and pass to the fragment shader\n vWorldNormal = uNormalMatrix * aNormal;\n \n // send the view position to the fragment shader\n vWorldPosition = (uModelViewMatrix * vec4(aPosition, 1.0)).xyz;\n \n localPos = vWorldPosition;\n vTexCoord = aTexCoord;\n}\n\n\n/*\nin the vertex shader we'll compute the world position and world oriented normal of the vertices and pass those to the fragment shader as varyings.\n*/\n`, imageLightDiffusedFrag: `precision highp float;\nvarying vec3 localPos;\n\n// the HDR cubemap converted (can be from an equirectangular environment map.)\nuniform sampler2D environmentMap;\nvarying vec2 vTexCoord;\n\nconst float PI = 3.14159265359;\n\nvec2 nTOE( vec3 v ){\n // x = r sin(phi) cos(theta) \n // y = r cos(phi) \n // z = r sin(phi) sin(theta)\n float phi = acos( v.y );\n // if phi is 0, then there are no x, z components\n float theta = 0.0;\n // else \n theta = acos(v.x / sin(phi));\n float sinTheta = v.z / sin(phi);\n if (sinTheta < 0.0) {\n // Turn it into -theta, but in the 0-2PI range\n theta = 2.0 * PI - theta;\n }\n theta = theta / (2.0 * 3.14159);\n phi = phi / 3.14159 ;\n \n vec2 angles = vec2( phi, theta );\n return angles;\n}\n\nfloat random(vec2 p) {\n vec3 p3 = fract(vec3(p.xyx) * .1031);\n p3 += dot(p3, p3.yzx + 33.33);\n return fract((p3.x + p3.y) * p3.z);\n}\n\nvoid main()\n{ \t \n\t// the sample direction equals the hemisphere's orientation\n float phi = vTexCoord.x * 2.0 * PI;\n float theta = vTexCoord.y * PI;\n float x = sin(theta) * cos(phi);\n float y = sin(theta) * sin(phi);\n float z = cos(theta);\n vec3 normal = vec3( x, y, z);\n\n\t// Discretely sampling the hemisphere given the integral's\n // spherical coordinates translates to the following fragment code:\n\tvec3 irradiance = vec3(0.0); \n\tvec3 up\t= vec3(0.0, 1.0, 0.0);\n\tvec3 right = normalize(cross(up, normal));\n\tup = normalize(cross(normal, right));\n\n\t// We specify a fixed sampleDelta delta value to traverse\n // the hemisphere; decreasing or increasing the sample delta\n // will increase or decrease the accuracy respectively.\n\tconst float sampleDelta = 0.100;\n\tfloat nrSamples = 0.0;\n float randomOffset = random(gl_FragCoord.xy) * sampleDelta;\n\tfor(float rawPhi = 0.0; rawPhi < 2.0 * PI; rawPhi += sampleDelta)\n\t{\n float phi = rawPhi + randomOffset;\n for(float rawTheta = 0.0; rawTheta < ( 0.5 ) * PI; rawTheta += sampleDelta)\n {\n float theta = rawTheta + randomOffset;\n // spherical to cartesian (in tangent space) // tangent space to world // add each sample result to irradiance\n float x = sin(theta) * cos(phi);\n float y = sin(theta) * sin(phi);\n float z = cos(theta);\n vec3 tangentSample = vec3( x, y, z);\n \n vec3 sampleVec = tangentSample.x * right + tangentSample.y * up + tangentSample.z * normal;\n irradiance += (texture2D(environmentMap, nTOE(sampleVec)).xyz) * cos(theta) * sin(theta);\n nrSamples++;\n }\n\t}\n\t// divide by the total number of samples taken, giving us the average sampled irradiance.\n\tirradiance = PI * irradiance * (1.0 / float(nrSamples )) ;\n \n \n\tgl_FragColor = vec4(irradiance, 1.0);\n}`, imageLightSpecularFrag: `precision highp float;\\r\nvarying vec3 localPos;\\r\nvarying vec2 vTexCoord;\\r\n\\r\n// our texture\\r\nuniform sampler2D environmentMap;\\r\nuniform float roughness;\\r\n\\r\nconst float PI = 3.14159265359;\\r\n\\r\nfloat VanDerCorput(int bits);\\r\nvec2 HammersleyNoBitOps(int i, int N);\\r\nvec3 ImportanceSampleGGX(vec2 Xi, vec3 N, float roughness);\\r\n\\r\n\\r\nvec2 nTOE( vec3 v ){\\r\n // x = r sin(phi) cos(theta) \\r\n // y = r cos(phi) \\r\n // z = r sin(phi) sin(theta)\\r\n float phi = acos( v.y );\\r\n // if phi is 0, then there are no x, z components\\r\n float theta = 0.0;\\r\n // else \\r\n theta = acos(v.x / sin(phi));\\r\n float sinTheta = v.z / sin(phi);\\r\n if (sinTheta < 0.0) {\\r\n // Turn it into -theta, but in the 0-2PI range\\r\n theta = 2.0 * PI - theta;\\r\n }\\r\n theta = theta / (2.0 * 3.14159);\\r\n phi = phi / 3.14159 ;\\r\n \\r\n vec2 angles = vec2( phi, theta );\\r\n return angles;\\r\n}\\r\n\\r\n\\r\nvoid main(){\\r\n const int SAMPLE_COUNT = 400; // 4096\\r\n int lowRoughnessLimit = int(pow(2.0,(roughness+0.1)*20.0));\\r\n float totalWeight = 0.0;\\r\n vec3 prefilteredColor = vec3(0.0);\\r\n float phi = vTexCoord.x * 2.0 * PI;\\r\n float theta = vTexCoord.y * PI;\\r\n float x = sin(theta) * cos(phi);\\r\n float y = sin(theta) * sin(phi);\\r\n float z = cos(theta);\\r\n vec3 N = vec3(x,y,z);\\r\n vec3 V = N;\\r\n for (int i = 0; i < SAMPLE_COUNT; ++i)\\r\n {\\r\n // break at smaller sample numbers for low roughness levels\\r\n if(i == lowRoughnessLimit)\\r\n {\\r\n break;\\r\n }\\r\n vec2 Xi = HammersleyNoBitOps(i, SAMPLE_COUNT);\\r\n vec3 H = ImportanceSampleGGX(Xi, N, roughness);\\r\n vec3 L = normalize(2.0 * dot(V, H) * H - V);\\r\n\\r\n float NdotL = max(dot(N, L), 0.0);\\r\n if (NdotL > 0.0)\\r\n {\\r\n prefilteredColor += texture2D(environmentMap, nTOE(L)).xyz * NdotL;\\r\n totalWeight += NdotL;\\r\n }\\r\n }\\r\n prefilteredColor = prefilteredColor / totalWeight;\\r\n\\r\n gl_FragColor = vec4(prefilteredColor, 1.0);\\r\n}\\r\n\\r\nvec3 ImportanceSampleGGX(vec2 Xi, vec3 N, float roughness){\\r\n float a = roughness * roughness;\\r\n\\r\n float phi = 2.0 * PI * Xi.x;\\r\n float cosTheta = sqrt((1.0 - Xi.y) / (1.0 + (a * a - 1.0) * Xi.y));\\r\n float sinTheta = sqrt(1.0 - cosTheta * cosTheta);\\r\n // from spherical coordinates to cartesian coordinates\\r\n vec3 H;\\r\n H.x = cos(phi) * sinTheta;\\r\n H.y = sin(phi) * sinTheta;\\r\n H.z = cosTheta;\\r\n\\r\n // from tangent-space vector to world-space sample vector\\r\n vec3 up = abs(N.z) < 0.999 ? vec3(0.0, 0.0, 1.0) : vec3(1.0, 0.0, 0.0);\\r\n vec3 tangent = normalize(cross(up, N));\\r\n vec3 bitangent = cross(N, tangent);\\r\n\\r\n vec3 sampleVec = tangent * H.x + bitangent * H.y + N * H.z;\\r\n return normalize(sampleVec);\\r\n}\\r\n\\r\n\\r\nfloat VanDerCorput(int n, int base)\\r\n{\\r\n#ifdef WEBGL2\\r\n\\r\n uint bits = uint(n);\\r\n bits = (bits << 16u) | (bits >> 16u);\\r\n bits = ((bits & 0x55555555u) << 1u) | ((bits & 0xAAAAAAAAu) >> 1u);\\r\n bits = ((bits & 0x33333333u) << 2u) | ((bits & 0xCCCCCCCCu) >> 2u);\\r\n bits = ((bits & 0x0F0F0F0Fu) << 4u) | ((bits & 0xF0F0F0F0u) >> 4u);\\r\n bits = ((bits & 0x00FF00FFu) << 8u) | ((bits & 0xFF00FF00u) >> 8u);\\r\n return float(bits) * 2.3283064365386963e-10; // / 0x100000000\\r\n\\r\n#else\\r\n\\r\n float invBase = 1.0 / float(base);\\r\n float denom = 1.0;\\r\n float result = 0.0;\\r\n\\r\n\\r\n for (int i = 0; i < 32; ++i)\\r\n {\\r\n if (n > 0)\\r\n {\\r\n denom = mod(float(n), 2.0);\\r\n result += denom * invBase;\\r\n invBase = invBase / 2.0;\\r\n n = int(float(n) / 2.0);\\r\n }\\r\n }\\r\n\\r\n\\r\n return result;\\r\n\\r\n#endif\\r\n}\\r\n\\r\nvec2 HammersleyNoBitOps(int i, int N)\\r\n{\\r\n return vec2(float(i) / float(N), VanDerCorput(i, 2));\\r\n}\\r\n` }, L = R.sphereMappingFrag;\n for (E in R)\n R[E] = `#ifdef WEBGL2\n\n#define IN in\n#define OUT out\n\n#ifdef FRAGMENT_SHADER\nout vec4 outColor;\n#define OUT_COLOR outColor\n#endif\n#define TEXTURE texture\n\n#else\n\n#ifdef FRAGMENT_SHADER\n#define IN varying\n#else\n#define IN attribute\n#endif\n#define OUT varying\n#define TEXTURE texture2D\n\n#ifdef FRAGMENT_SHADER\n#define OUT_COLOR gl_FragColor\n#endif\n\n#endif\n` + R[E];\n T(M = {}, h.GRAY, `precision highp float;\n\nvarying vec2 vTexCoord;\n\nuniform sampler2D tex0;\n\nfloat luma(vec3 color) {\n // weighted grayscale with luminance values\n return dot(color, vec3(0.2126, 0.7152, 0.0722));\n}\n\nvoid main() {\n vec4 tex = texture2D(tex0, vTexCoord);\n float gray = luma(tex.rgb);\n gl_FragColor = vec4(gray, gray, gray, tex.a);\n}\n`), T(M, h.ERODE, `// Reduces the bright areas in an image\n\nprecision highp float;\n\nvarying vec2 vTexCoord;\n\nuniform sampler2D tex0;\nuniform vec2 texelSize;\n\nfloat luma(vec3 color) {\n // weighted grayscale with luminance values\n // weights 77, 151, 28 taken from src/image/filters.js\n return dot(color, vec3(0.300781, 0.589844, 0.109375));\n}\n\nvoid main() {\n vec4 color = texture2D(tex0, vTexCoord);\n float lum = luma(color.rgb);\n\n // set current color as the darkest neighbor color\n\n vec4 neighbors[4];\n neighbors[0] = texture2D(tex0, vTexCoord + vec2( texelSize.x, 0.0));\n neighbors[1] = texture2D(tex0, vTexCoord + vec2(-texelSize.x, 0.0));\n neighbors[2] = texture2D(tex0, vTexCoord + vec2(0.0, texelSize.y));\n neighbors[3] = texture2D(tex0, vTexCoord + vec2(0.0, -texelSize.y));\n\n for (int i = 0; i < 4; i++) {\n vec4 neighborColor = neighbors[i];\n float neighborLum = luma(neighborColor.rgb);\n\n if (neighborLum < lum) {\n color = neighborColor;\n lum = neighborLum;\n }\n }\n\n gl_FragColor = color;\n}\n`), T(M, h.DILATE, `// Increase the bright areas in an image\n\nprecision highp float;\n\nvarying vec2 vTexCoord;\n\nuniform sampler2D tex0;\nuniform vec2 texelSize;\n\nfloat luma(vec3 color) {\n // weighted grayscale with luminance values\n // weights 77, 151, 28 taken from src/image/filters.js\n return dot(color, vec3(0.300781, 0.589844, 0.109375));\n}\n\nvoid main() {\n vec4 color = texture2D(tex0, vTexCoord);\n float lum = luma(color.rgb);\n\n // set current color as the brightest neighbor color\n\n vec4 neighbors[4];\n neighbors[0] = texture2D(tex0, vTexCoord + vec2( texelSize.x, 0.0));\n neighbors[1] = texture2D(tex0, vTexCoord + vec2(-texelSize.x, 0.0));\n neighbors[2] = texture2D(tex0, vTexCoord + vec2(0.0, texelSize.y));\n neighbors[3] = texture2D(tex0, vTexCoord + vec2(0.0, -texelSize.y));\n\n for (int i = 0; i < 4; i++) {\n vec4 neighborColor = neighbors[i];\n float neighborLum = luma(neighborColor.rgb);\n\n if (neighborLum > lum) {\n color = neighborColor;\n lum = neighborLum;\n }\n }\n\n gl_FragColor = color;\n}\n`), T(M, h.BLUR, `precision highp float;\n\n// Two-pass blur filter, unweighted kernel.\n// See also a similar blur at Adam Ferriss' repo of shader examples:\n// https://github.com/aferriss/p5jsShaderExamples/blob/gh-pages/4_image-effects/4-9_single-pass-blur/effect.frag\n\n\nuniform sampler2D tex0;\nvarying vec2 vTexCoord;\nuniform vec2 direction;\nuniform vec2 canvasSize;\nuniform float radius;\n\nfloat random(vec2 p) {\n vec3 p3 = fract(vec3(p.xyx) * .1031);\n p3 += dot(p3, p3.yzx + 33.33);\n return fract((p3.x + p3.y) * p3.z);\n}\n\n// This isn't a real Gaussian weight, it's a quadratic weight. It's what the\n// CPU mode's blur uses though, so we also use it here to match.\nfloat quadWeight(float x, float e) {\n return pow(e-abs(x), 2.);\n}\n\nvoid main(){\n vec2 uv = vTexCoord;\n\n // A reasonable maximum number of samples\n const float maxSamples = 64.0;\n\n float numSamples = floor(7. * radius);\n if (fract(numSamples / 2.) == 0.) {\n numSamples++;\n }\n vec4 avg = vec4(0.0);\n float total = 0.0;\n\n // Calculate the spacing to avoid skewing if numSamples > maxSamples\n float spacing = 1.0;\n if (numSamples > maxSamples) {\n spacing = numSamples / maxSamples;\n numSamples = maxSamples;\n }\n\n float randomOffset = (spacing - 1.0) * mix(-0.5, 0.5, random(gl_FragCoord.xy));\n for (float i = 0.0; i < maxSamples; i++) {\n if (i >= numSamples) break;\n\n float sample = i * spacing - (numSamples - 1.0) * 0.5 * spacing + randomOffset;\n vec2 sampleCoord = uv + vec2(sample, sample) / canvasSize * direction;\n float weight = quadWeight(sample, (numSamples - 1.0) * 0.5 * spacing);\n\n avg += weight * texture2D(tex0, sampleCoord);\n total += weight;\n }\n\n avg /= total;\n gl_FragColor = avg;\n}\n`), T(M, h.POSTERIZE, `// Limit color space for a stylized cartoon / poster effect\n\nprecision highp float;\n\nvarying vec2 vTexCoord;\n\nuniform sampler2D tex0;\nuniform float filterParameter;\n\nvec3 quantize(vec3 color, float n) {\n // restrict values to N options/bins\n // and floor each channel to nearest value\n //\n // eg. when N = 5, values = 0.0, 0.25, 0.50, 0.75, 1.0\n // then quantize (0.1, 0.7, 0.9) -> (0.0, 0.5, 1.0)\n\n color = color * n;\n color = floor(color);\n color = color / (n - 1.0);\n return color;\n}\n\nvoid main() {\n vec4 color = texture2D(tex0, vTexCoord);\n\n vec3 restrictedColor = quantize(color.rgb / color.a, filterParameter);\n\n gl_FragColor = vec4(restrictedColor.rgb * color.a, color.a);\n}\n`), T(M, h.OPAQUE, `// Set alpha channel to entirely opaque\n\nprecision highp float;\n\nvarying vec2 vTexCoord;\n\nuniform sampler2D tex0;\n\nvoid main() {\n vec4 color = texture2D(tex0, vTexCoord);\n gl_FragColor = vec4(color.rgb / color.a, 1.0);\n}\n`), T(M, h.INVERT, `// Set each pixel to inverse value\n// Note that original INVERT does not change the opacity, so this follows suit\n\nprecision highp float;\n\nvarying vec2 vTexCoord;\n\nuniform sampler2D tex0;\n\nvoid main() {\nvec4 color = texture2D(tex0, vTexCoord);\nvec3 origColor = color.rgb / color.a;\nvec3 invertedColor = vec3(1.0) - origColor;\ngl_FragColor = vec4(invertedColor * color.a, color.a);\n}\n`), T(M, h.THRESHOLD, `// Convert pixels to either white or black, \n// depending on if their luma is above or below filterParameter\n\nprecision highp float;\n\nvarying vec2 vTexCoord;\n\nuniform sampler2D tex0;\nuniform float filterParameter;\n\nfloat luma(vec3 color) {\n // weighted grayscale with luminance values\n return dot(color, vec3(0.2126, 0.7152, 0.0722));\n}\n\nvoid main() {\n vec4 color = texture2D(tex0, vTexCoord);\n float gray = luma(color.rgb / color.a);\n // floor() used to match src/image/filters.js\n float threshold = floor(filterParameter * 255.0) / 255.0;\n float blackOrWhite = step(threshold, gray);\n gl_FragColor = vec4(vec3(blackOrWhite) * color.a, color.a);\n}\n`);\n var F = M;\n function V(U, W, ce, ne, b, O, D, B, Y, K) {\n var te = W.getParameter(W.FRAMEBUFFER_BINDING), ce = (W.bindFramebuffer(W.FRAMEBUFFER, ce), B === W.RGBA ? 4 : 3), re = O * D * ce, ue = Y === W.UNSIGNED_BYTE ? Uint8Array : Float32Array;\n if (U instanceof ue && U.length === re || (U = new ue(re)), W.readPixels(ne, K ? K - b - D : b, O, D, B, Y, U), W.bindFramebuffer(W.FRAMEBUFFER, te), K)\n for (var le = Math.floor(D / 2), J = new ue(O * ce), ae = 0; ae < le; ae++) {\n var he = ae * O * 4, _e = (D - ae - 1) * O * 4;\n J.set(U.subarray(he, he + 4 * O)), U.copyWithin(he, _e, _e + 4 * O), U.set(J, _e);\n }\n return U;\n }\n function G(U, Y, X, ne, b, O, D) {\n var B = U.getParameter(U.FRAMEBUFFER_BINDING), Y = (U.bindFramebuffer(U.FRAMEBUFFER, Y), b === U.RGBA ? 4 : 3), Y = new (O === U.UNSIGNED_BYTE ? Uint8Array : Float32Array)(Y);\n return U.readPixels(X, D ? D - ne - 1 : ne, 1, 1, b, O, Y), U.bindFramebuffer(U.FRAMEBUFFER, B), Array.from(Y);\n }\n u.default.prototype.setAttributes = function(U, W) {\n if (this._glAttributes === void 0)\n console.log(\"You are trying to use setAttributes on a p5.Graphics object that does not use a WEBGL renderer.\");\n else {\n var X = !0;\n if (W !== void 0 ? (this._glAttributes === null && (this._glAttributes = {}), this._glAttributes[U] !== W && (this._glAttributes[U] = W, X = !1)) : U instanceof Object && this._glAttributes !== U && (this._glAttributes = U, X = !1), this._renderer.isP3D && !X) {\n if (!this._setupDone) {\n for (var ne in this._renderer.retainedMode.geometry)\n if (this._renderer.retainedMode.geometry.hasOwnProperty(ne))\n return void u.default._friendlyError(\"Sorry, Could not set the attributes, you need to call setAttributes() before calling the other drawing methods in setup()\");\n }\n this.push(), this._renderer._resetContext(), this.pop(), this._renderer._curCamera && (this._renderer._curCamera._renderer = this._renderer);\n }\n }\n }, u.default.RendererGL = function(U) {\n var W = ne;\n if (typeof U != \"function\" && U !== null)\n throw new TypeError(\"Super expression must either be null or a function\");\n W.prototype = Object.create(U && U.prototype, { constructor: { value: W, writable: !0, configurable: !0 } }), U && i(W, U);\n var X = c(ne);\n function ne(b, O, D, B) {\n if (this instanceof ne)\n return (b = X.call(this, b, O, D))._setAttributeDefaults(O), b._initContext(), b.isP3D = !0, b.geometryBuilder = void 0, b.GL = b.drawingContext, b._pInst._setProperty(\"drawingContext\", b.drawingContext), b._isErasing = !1, b._clipDepths = [], b._isClipApplied = !1, b._stencilTestOn = !1, b._enableLighting = !1, b.ambientLightColors = [], b.mixedAmbientLight = [], b.mixedSpecularColor = [], b.specularColors = [1, 1, 1], b.directionalLightDirections = [], b.directionalLightDiffuseColors = [], b.directionalLightSpecularColors = [], b.pointLightPositions = [], b.pointLightDiffuseColors = [], b.pointLightSpecularColors = [], b.spotLightPositions = [], b.spotLightDirections = [], b.spotLightDiffuseColors = [], b.spotLightSpecularColors = [], b.spotLightAngle = [], b.spotLightConc = [], b.activeImageLight = null, b.diffusedTextures = /* @__PURE__ */ new Map(), b.specularTextures = /* @__PURE__ */ new Map(), b.drawMode = h.FILL, b.curFillColor = b._cachedFillStyle = [1, 1, 1, 1], b.curAmbientColor = b._cachedFillStyle = [1, 1, 1, 1], b.curSpecularColor = b._cachedFillStyle = [0, 0, 0, 0], b.curEmissiveColor = b._cachedFillStyle = [0, 0, 0, 0], b.curStrokeColor = b._cachedStrokeStyle = [0, 0, 0, 1], b.curBlendMode = h.BLEND, b.preEraseBlend = void 0, b._cachedBlendMode = void 0, b.webglVersion === h.WEBGL2 ? b.blendExt = b.GL : b.blendExt = b.GL.getExtension(\"EXT_blend_minmax\"), b._isBlending = !1, b._hasSetAmbient = !1, b._useSpecularMaterial = !1, b._useEmissiveMaterial = !1, b._useNormalMaterial = !1, b._useShininess = 1, b._useMetalness = 0, b._useLineColor = !1, b._useVertexColor = !1, b.registerEnabled = /* @__PURE__ */ new Set(), b._tint = [255, 255, 255, 255], b.constantAttenuation = 1, b.linearAttenuation = 0, b.quadraticAttenuation = 0, b.uMVMatrix = new u.default.Matrix(), b.uPMatrix = new u.default.Matrix(), b.uNMatrix = new u.default.Matrix(\"mat3\"), b.curMatrix = new u.default.Matrix(\"mat3\"), b._currentNormal = new u.default.Vector(0, 0, 1), b._curCamera = new u.default.Camera(p(b)), b._curCamera._computeCameraDefaultSettings(), b._curCamera._setDefaultCamera(), b.filterCamera = new u.default.Camera(p(b)), b.filterCamera._computeCameraDefaultSettings(), b.filterCamera._setDefaultCamera(), b.prevTouches = [], b.zoomVelocity = 0, b.rotateVelocity = new u.default.Vector(0, 0), b.moveVelocity = new u.default.Vector(0, 0), b.executeZoom = !1, b.executeRotateAndMove = !1, b.specularShader = void 0, b.sphereMapping = void 0, b.diffusedShader = void 0, b._defaultLightShader = void 0, b._defaultImmediateModeShader = void 0, b._defaultNormalShader = void 0, b._defaultColorShader = void 0, b._defaultPointShader = void 0, b.userFillShader = void 0, b.userStrokeShader = void 0, b.userPointShader = void 0, b.retainedMode = { geometry: {}, buffers: { stroke: [new u.default.RenderBuffer(4, \"lineVertexColors\", \"lineColorBuffer\", \"aVertexColor\", p(b)), new u.default.RenderBuffer(3, \"lineVertices\", \"lineVerticesBuffer\", \"aPosition\", p(b)), new u.default.RenderBuffer(3, \"lineTangentsIn\", \"lineTangentsInBuffer\", \"aTangentIn\", p(b)), new u.default.RenderBuffer(3, \"lineTangentsOut\", \"lineTangentsOutBuffer\", \"aTangentOut\", p(b)), new u.default.RenderBuffer(1, \"lineSides\", \"lineSidesBuffer\", \"aSide\", p(b))], fill: [new u.default.RenderBuffer(3, \"vertices\", \"vertexBuffer\", \"aPosition\", p(b), b._vToNArray), new u.default.RenderBuffer(3, \"vertexNormals\", \"normalBuffer\", \"aNormal\", p(b), b._vToNArray), new u.default.RenderBuffer(4, \"vertexColors\", \"colorBuffer\", \"aVertexColor\", p(b)), new u.default.RenderBuffer(3, \"vertexAmbients\", \"ambientBuffer\", \"aAmbientColor\", p(b)), new u.default.RenderBuffer(2, \"uvs\", \"uvBuffer\", \"aTexCoord\", p(b), b._flatten)], text: [new u.default.RenderBuffer(3, \"vertices\", \"vertexBuffer\", \"aPosition\", p(b), b._vToNArray), new u.default.RenderBuffer(2, \"uvs\", \"uvBuffer\", \"aTexCoord\", p(b), b._flatten)] } }, b.immediateMode = { geometry: new u.default.Geometry(), shapeMode: h.TRIANGLE_FAN, contourIndices: [], _bezierVertex: [], _quadraticVertex: [], _curveVertex: [], buffers: { fill: [new u.default.RenderBuffer(3, \"vertices\", \"vertexBuffer\", \"aPosition\", p(b), b._vToNArray), new u.default.RenderBuffer(3, \"vertexNormals\", \"normalBuffer\", \"aNormal\", p(b), b._vToNArray), new u.default.RenderBuffer(4, \"vertexColors\", \"colorBuffer\", \"aVertexColor\", p(b)), new u.default.RenderBuffer(3, \"vertexAmbients\", \"ambientBuffer\", \"aAmbientColor\", p(b)), new u.default.RenderBuffer(2, \"uvs\", \"uvBuffer\", \"aTexCoord\", p(b), b._flatten)], stroke: [new u.default.RenderBuffer(4, \"lineVertexColors\", \"lineColorBuffer\", \"aVertexColor\", p(b)), new u.default.RenderBuffer(3, \"lineVertices\", \"lineVerticesBuffer\", \"aPosition\", p(b)), new u.default.RenderBuffer(3, \"lineTangentsIn\", \"lineTangentsInBuffer\", \"aTangentIn\", p(b)), new u.default.RenderBuffer(3, \"lineTangentsOut\", \"lineTangentsOutBuffer\", \"aTangentOut\", p(b)), new u.default.RenderBuffer(1, \"lineSides\", \"lineSidesBuffer\", \"aSide\", p(b))], point: b.GL.createBuffer() } }, b.pointSize = 5, b.curStrokeWeight = 1, b.curStrokeCap = h.ROUND, b.curStrokeJoin = h.ROUND, b.textures = /* @__PURE__ */ new Map(), b.framebuffers = /* @__PURE__ */ new Set(), b.activeFramebuffers = [], b.filterShader = void 0, b.filterLayer = void 0, b.filterLayerTemp = void 0, b.defaultFilterShaders = {}, b.textureMode = h.IMAGE, b.textureWrapX = h.CLAMP, b.textureWrapY = h.CLAMP, b._tex = null, b._curveTightness = 6, b._lookUpTableBezier = [], b._lookUpTableQuadratic = [], b._lutBezierDetail = 0, b._lutQuadraticDetail = 0, b.isProcessingVertices = !1, b._tessy = b._initTessy(), b.fontInfos = {}, b._curShader = void 0, b;\n throw new TypeError(\"Cannot call a class as a function\");\n }\n return W = ne, (U = [{ key: \"beginGeometry\", value: function() {\n if (this.geometryBuilder)\n throw new Error(\"It looks like `beginGeometry()` is being called while another p5.Geometry is already being build.\");\n this.geometryBuilder = new g.default(this);\n } }, { key: \"endGeometry\", value: function() {\n var b;\n if (this.geometryBuilder)\n return b = this.geometryBuilder.finish(), this.geometryBuilder = void 0, b;\n throw new Error(\"Make sure you call beginGeometry() before endGeometry()!\");\n } }, { key: \"buildGeometry\", value: function(b) {\n return this.beginGeometry(), b(), this.endGeometry();\n } }, { key: \"_setAttributeDefaults\", value: function(b) {\n var O = { alpha: !0, depth: !0, stencil: !0, antialias: navigator.userAgent.toLowerCase().includes(\"safari\"), premultipliedAlpha: !0, preserveDrawingBuffer: !0, perPixelLighting: !0, version: 2 };\n b._glAttributes === null ? b._glAttributes = O : b._glAttributes = Object.assign(O, b._glAttributes);\n } }, { key: \"_initContext\", value: function() {\n if (this._pInst._glAttributes.version !== 1 && (this.drawingContext = this.canvas.getContext(\"webgl2\", this._pInst._glAttributes)), this.webglVersion = this.drawingContext ? h.WEBGL2 : h.WEBGL, this._pInst._setProperty(\"webglVersion\", this.webglVersion), this.drawingContext || (this.drawingContext = this.canvas.getContext(\"webgl\", this._pInst._glAttributes) || this.canvas.getContext(\"experimental-webgl\", this._pInst._glAttributes)), this.drawingContext === null)\n throw new Error(\"Error creating webgl context\");\n var b = this.drawingContext;\n b.enable(b.DEPTH_TEST), b.depthFunc(b.LEQUAL), b.viewport(0, 0, b.drawingBufferWidth, b.drawingBufferHeight), b.pixelStorei(b.UNPACK_PREMULTIPLY_ALPHA_WEBGL, !0), this._viewport = this.drawingContext.getParameter(this.drawingContext.VIEWPORT);\n } }, { key: \"_getParam\", value: function() {\n var b = this.drawingContext;\n return b.getParameter(b.MAX_TEXTURE_SIZE);\n } }, { key: \"_adjustDimensions\", value: function(b, O) {\n this._maxTextureSize || (this._maxTextureSize = this._getParam());\n var B = this._maxTextureSize, B = (u.default.prototype._maxAllowedPixelDimensions, Math.floor(B / this.pixelDensity())), D = Math.min(b, B), B = Math.min(O, B);\n return D === b && B === O || console.warn(\"Warning: The requested width/height exceeds hardware limits. \" + \"Adjusting dimensions to width: \".concat(D, \", height: \").concat(B, \".\")), { adjustedWidth: D, adjustedHeight: B };\n } }, { key: \"_resetContext\", value: function(b, O) {\n var D, B = this.width, Y = this.height, te = this.canvas.id, K = this._pInst instanceof u.default.Graphics, te = (K ? ((D = this._pInst).canvas.parentNode.removeChild(D.canvas), D.canvas = document.createElement(\"canvas\"), (D._pInst._userNode || document.body).appendChild(D.canvas), u.default.Element.call(D, D.canvas, D._pInst), D.width = B, D.height = Y) : ((D = this.canvas) && D.parentNode.removeChild(D), (D = document.createElement(\"canvas\")).id = te, (this._pInst._userNode || document.body).appendChild(D), this._pInst.canvas = D, this.canvas = D), new u.default.RendererGL(this._pInst.canvas, this._pInst, !K));\n this._pInst._setProperty(\"_renderer\", te), te.resize(B, Y), te._applyDefaults(), K || this._pInst._elements.push(te), typeof O == \"function\" && setTimeout(function() {\n O.apply(window._renderer, b);\n }, 0);\n } }, { key: \"_update\", value: function() {\n this.uMVMatrix.set(this._curCamera.cameraMatrix), this.ambientLightColors.length = 0, this.specularColors = [1, 1, 1], this.directionalLightDirections.length = 0, this.directionalLightDiffuseColors.length = 0, this.directionalLightSpecularColors.length = 0, this.pointLightPositions.length = 0, this.pointLightDiffuseColors.length = 0, this.pointLightSpecularColors.length = 0, this.spotLightPositions.length = 0, this.spotLightDirections.length = 0, this.spotLightDiffuseColors.length = 0, this.spotLightSpecularColors.length = 0, this.spotLightAngle.length = 0, this.spotLightConc.length = 0, this._enableLighting = !1, this._tint = [255, 255, 255, 255], this.GL.clearStencil(0), this.GL.clear(this.GL.DEPTH_BUFFER_BIT | this.GL.STENCIL_BUFFER_BIT), this.GL.disable(this.GL.STENCIL_TEST);\n } }, { key: \"background\", value: function() {\n var B = (B = this._pInst).color.apply(B, arguments), b = B.levels[0] / 255, O = B.levels[1] / 255, D = B.levels[2] / 255, B = B.levels[3] / 255;\n this.clear(b, O, D, B);\n } }, { key: \"fill\", value: function(b, O, D, B) {\n var Y = u.default.prototype.color.apply(this._pInst, arguments);\n this.curFillColor = Y._array, this.drawMode = h.FILL, this._useNormalMaterial = !1, this._tex = null;\n } }, { key: \"stroke\", value: function(b, O, D, B) {\n var Y = u.default.prototype.color.apply(this._pInst, arguments);\n this.curStrokeColor = Y._array;\n } }, { key: \"strokeCap\", value: function(b) {\n this.curStrokeCap = b;\n } }, { key: \"strokeJoin\", value: function(b) {\n this.curStrokeJoin = b;\n } }, { key: \"getFilterLayer\", value: function() {\n return this.filterLayer || (this.filterLayer = this._pInst.createFramebuffer()), this.filterLayer;\n } }, { key: \"getFilterLayerTemp\", value: function() {\n return this.filterLayerTemp || (this.filterLayerTemp = this._pInst.createFramebuffer()), this.filterLayerTemp;\n } }, { key: \"matchSize\", value: function(b, O) {\n b.width === O.width && b.height === O.height || b.resize(O.width, O.height), b.pixelDensity() !== O.pixelDensity() && b.pixelDensity(O.pixelDensity());\n } }, { key: \"filter\", value: function() {\n var b, O, D = this, B = this.getFilterLayer(), Y = void 0, K = void 0, te = (typeof (arguments.length <= 0 ? void 0 : arguments[0]) == \"string\" ? (K = arguments.length <= 0 ? void 0 : arguments[0], T(b = {}, h.BLUR, 3), T(b, h.POSTERIZE, 4), T(b, h.THRESHOLD, 0.5), Y = K in (b = b) && (arguments.length <= 1 ? void 0 : arguments[1]) === void 0 ? b[K] : arguments.length <= 1 ? void 0 : arguments[1], K in this.defaultFilterShaders || (this.defaultFilterShaders[K] = new u.default.Shader(B._renderer, `uniform mat4 uModelViewMatrix;\nuniform mat4 uProjectionMatrix;\n\nattribute vec3 aPosition;\n// texcoords only come from p5 to vertex shader\n// so pass texcoords on to the fragment shader in a varying variable\nattribute vec2 aTexCoord;\nvarying vec2 vTexCoord;\n\nvoid main() {\n // transferring texcoords for the frag shader\n vTexCoord = aTexCoord;\n\n // copy position with a fourth coordinate for projection (1.0 is normal)\n vec4 positionVec4 = vec4(aPosition, 1.0);\n\n gl_Position = uProjectionMatrix * uModelViewMatrix * positionVec4;\n}\n`, F[K])), this.filterShader = this.defaultFilterShaders[K]) : this.filterShader = arguments.length <= 0 ? void 0 : arguments[0], this.activeFramebuffer() || this), ce = (this.matchSize(B, te), B.draw(function() {\n return D._pInst.clear();\n }), [1 / (te.width * te.pixelDensity()), 1 / (te.height * te.pixelDensity())]);\n K === h.BLUR ? (O = this.getFilterLayerTemp(), this.matchSize(O, te), this._pInst.push(), this._pInst.noStroke(), this._pInst.blendMode(h.BLEND), this._pInst.shader(this.filterShader), this.filterShader.setUniform(\"texelSize\", ce), this.filterShader.setUniform(\"canvasSize\", [te.width, te.height]), this.filterShader.setUniform(\"radius\", Math.max(1, Y)), O.draw(function() {\n D.filterShader.setUniform(\"direction\", [1, 0]), D.filterShader.setUniform(\"tex0\", te), D._pInst.clear(), D._pInst.shader(D.filterShader), D._pInst.noLights(), D._pInst.plane(te.width, te.height);\n }), B.draw(function() {\n D.filterShader.setUniform(\"direction\", [0, 1]), D.filterShader.setUniform(\"tex0\", O), D._pInst.clear(), D._pInst.shader(D.filterShader), D._pInst.noLights(), D._pInst.plane(te.width, te.height);\n }), this._pInst.pop()) : B.draw(function() {\n D._pInst.noStroke(), D._pInst.blendMode(h.BLEND), D._pInst.shader(D.filterShader), D.filterShader.setUniform(\"tex0\", te), D.filterShader.setUniform(\"texelSize\", ce), D.filterShader.setUniform(\"canvasSize\", [te.width, te.height]), D.filterShader.setUniform(\"filterParameter\", Y), D._pInst.noLights(), D._pInst.plane(te.width, te.height);\n }), this._pInst.push(), this._pInst.noStroke(), this.clear(), this._pInst.push(), this._pInst.imageMode(h.CORNER), this._pInst.blendMode(h.BLEND), te.filterCamera._resize(), this._pInst.setCamera(te.filterCamera), this._pInst.resetMatrix(), this._pInst.image(B, -te.width / 2, -te.height / 2, te.width, te.height), this._pInst.clearDepth(), this._pInst.pop(), this._pInst.pop();\n } }, { key: \"pixelDensity\", value: function(b) {\n return b ? this._pInst.pixelDensity(b) : this._pInst.pixelDensity();\n } }, { key: \"blendMode\", value: function(b) {\n b === h.DARKEST || b === h.LIGHTEST || b === h.ADD || b === h.BLEND || b === h.SUBTRACT || b === h.SCREEN || b === h.EXCLUSION || b === h.REPLACE || b === h.MULTIPLY || b === h.REMOVE ? this.curBlendMode = b : b !== h.BURN && b !== h.OVERLAY && b !== h.HARD_LIGHT && b !== h.SOFT_LIGHT && b !== h.DODGE || console.warn(\"BURN, OVERLAY, HARD_LIGHT, SOFT_LIGHT, and DODGE only work for blendMode in 2D mode.\");\n } }, { key: \"erase\", value: function(b, O) {\n this._isErasing || (this.preEraseBlend = this.curBlendMode, this._isErasing = !0, this.blendMode(h.REMOVE), this._cachedFillStyle = this.curFillColor.slice(), this.curFillColor = [1, 1, 1, b / 255], this._cachedStrokeStyle = this.curStrokeColor.slice(), this.curStrokeColor = [1, 1, 1, O / 255]);\n } }, { key: \"noErase\", value: function() {\n this._isErasing && (this.curFillColor = this._cachedFillStyle.slice(), this.curStrokeColor = this._cachedStrokeStyle.slice(), this.curBlendMode = this.preEraseBlend, this.blendMode(this.preEraseBlend), this._isErasing = !1, this._applyBlendMode());\n } }, { key: \"drawTarget\", value: function() {\n return this.activeFramebuffers[this.activeFramebuffers.length - 1] || this;\n } }, { key: \"beginClip\", value: function() {\n var b = 0 < arguments.length && arguments[0] !== void 0 ? arguments[0] : {}, b = (r(j(ne.prototype), \"beginClip\", this).call(this, b), this.drawTarget()._isClipApplied = !0, this.GL);\n b.clearStencil(0), b.clear(b.STENCIL_BUFFER_BIT), b.enable(b.STENCIL_TEST), this._stencilTestOn = !0, b.stencilFunc(b.ALWAYS, 1, 255), b.stencilOp(b.KEEP, b.KEEP, b.REPLACE), b.disable(b.DEPTH_TEST), this._pInst.push(), this._pInst.resetShader(), this._doFill && this._pInst.fill(0, 0), this._doStroke && this._pInst.stroke(0, 0);\n } }, { key: \"endClip\", value: function() {\n this._pInst.pop();\n var b = this.GL;\n b.stencilOp(b.KEEP, b.KEEP, b.KEEP), b.stencilFunc(this._clipInvert ? b.EQUAL : b.NOTEQUAL, 0, 255), b.enable(b.DEPTH_TEST), this._clipDepths.push(this._pushPopDepth), r(j(ne.prototype), \"endClip\", this).call(this);\n } }, { key: \"_clearClip\", value: function() {\n this.GL.clearStencil(1), this.GL.clear(this.GL.STENCIL_BUFFER_BIT), 0 < this._clipDepths.length && this._clipDepths.pop(), this.drawTarget()._isClipApplied = !1;\n } }, { key: \"strokeWeight\", value: function(b) {\n this.curStrokeWeight !== b && (this.pointSize = b, this.curStrokeWeight = b);\n } }, { key: \"_getPixel\", value: function(b, O) {\n var D = this.GL;\n return G(D, null, b, O, D.RGBA, D.UNSIGNED_BYTE, this._pInst.height * this._pInst.pixelDensity());\n } }, { key: \"loadPixels\", value: function() {\n var b, O, D = this._pixelsState;\n this._pInst._glAttributes.preserveDrawingBuffer !== !0 ? console.log(\"loadPixels only works in WebGL when preserveDrawingBuffer is true.\") : (b = this._pInst._pixelDensity, O = this.GL, D._setProperty(\"pixels\", V(D.pixels, O, null, 0, 0, this.width * b, this.height * b, O.RGBA, O.UNSIGNED_BYTE, this.height * b)));\n } }, { key: \"updatePixels\", value: function() {\n var b = this._getTempFramebuffer();\n b.pixels = this._pixelsState.pixels, b.updatePixels(), this._pInst.push(), this._pInst.resetMatrix(), this._pInst.clear(), this._pInst.imageMode(h.CENTER), this._pInst.image(b, 0, 0), this._pInst.pop(), this.GL.clearDepth(1), this.GL.clear(this.GL.DEPTH_BUFFER_BIT);\n } }, { key: \"_getTempFramebuffer\", value: function() {\n return this._tempFramebuffer || (this._tempFramebuffer = this._pInst.createFramebuffer({ format: h.UNSIGNED_BYTE, useDepth: this._pInst._glAttributes.depth, depthFormat: h.UNSIGNED_INT, antialias: this._pInst._glAttributes.antialias })), this._tempFramebuffer;\n } }, { key: \"geometryInHash\", value: function(b) {\n return this.retainedMode.geometry[b] !== void 0;\n } }, { key: \"viewport\", value: function(b, O) {\n this._viewport = [0, 0, b, O], this.GL.viewport(0, 0, b, O);\n } }, { key: \"resize\", value: function(Y, B) {\n u.default.Renderer.prototype.resize.call(this, Y, B), this._origViewport = { width: this.GL.drawingBufferWidth, height: this.GL.drawingBufferHeight }, this.viewport(this._origViewport.width, this._origViewport.height), this._curCamera._resize();\n var Y = this._pixelsState, D = (Y.pixels !== void 0 && Y._setProperty(\"pixels\", new Uint8Array(this.GL.drawingBufferWidth * this.GL.drawingBufferHeight * 4)), !0), B = !1, Y = void 0;\n try {\n for (var K, te = this.framebuffers[Symbol.iterator](); !(D = (K = te.next()).done); D = !0)\n K.value._canvasSizeChanged();\n } catch (ce) {\n B = !0, Y = ce;\n } finally {\n try {\n D || te.return == null || te.return();\n } finally {\n if (B)\n throw Y;\n }\n }\n } }, { key: \"clear\", value: function() {\n var b = (arguments.length <= 0 ? void 0 : arguments[0]) || 0, O = (arguments.length <= 1 ? void 0 : arguments[1]) || 0, D = (arguments.length <= 2 ? void 0 : arguments[2]) || 0, B = (arguments.length <= 3 ? void 0 : arguments[3]) || 0, Y = this.activeFramebuffer();\n Y && Y.format === h.UNSIGNED_BYTE && !Y.antialias && B === 0 && (B = 1e-10), this.GL.clearColor(b * B, O * B, D * B, B), this.GL.clearDepth(1), this.GL.clear(this.GL.COLOR_BUFFER_BIT | this.GL.DEPTH_BUFFER_BIT);\n } }, { key: \"clearDepth\", value: function() {\n this.GL.clearDepth(0 < arguments.length && arguments[0] !== void 0 ? arguments[0] : 1), this.GL.clear(this.GL.DEPTH_BUFFER_BIT);\n } }, { key: \"applyMatrix\", value: function(b, O, D, B, Y, K) {\n arguments.length === 16 ? u.default.Matrix.prototype.apply.apply(this.uMVMatrix, arguments) : this.uMVMatrix.apply([b, O, 0, 0, D, B, 0, 0, 0, 0, 1, 0, Y, K, 0, 1]);\n } }, { key: \"translate\", value: function(b, O, D) {\n return b instanceof u.default.Vector && (D = b.z, O = b.y, b = b.x), this.uMVMatrix.translate([b, O, D]), this;\n } }, { key: \"scale\", value: function(b, O, D) {\n return this.uMVMatrix.scale(b, O, D), this;\n } }, { key: \"rotate\", value: function(b, O) {\n return O === void 0 ? this.rotateZ(b) : (u.default.Matrix.prototype.rotate.apply(this.uMVMatrix, arguments), this);\n } }, { key: \"rotateX\", value: function(b) {\n return this.rotate(b, 1, 0, 0), this;\n } }, { key: \"rotateY\", value: function(b) {\n return this.rotate(b, 0, 1, 0), this;\n } }, { key: \"rotateZ\", value: function(b) {\n return this.rotate(b, 0, 0, 1), this;\n } }, { key: \"push\", value: function() {\n var b = u.default.Renderer.prototype.push.apply(this), O = b.properties;\n return O.uMVMatrix = this.uMVMatrix.copy(), O.uPMatrix = this.uPMatrix.copy(), O._curCamera = this._curCamera, this._curCamera = this._curCamera.copy(), O.ambientLightColors = this.ambientLightColors.slice(), O.specularColors = this.specularColors.slice(), O.directionalLightDirections = this.directionalLightDirections.slice(), O.directionalLightDiffuseColors = this.directionalLightDiffuseColors.slice(), O.directionalLightSpecularColors = this.directionalLightSpecularColors.slice(), O.pointLightPositions = this.pointLightPositions.slice(), O.pointLightDiffuseColors = this.pointLightDiffuseColors.slice(), O.pointLightSpecularColors = this.pointLightSpecularColors.slice(), O.spotLightPositions = this.spotLightPositions.slice(), O.spotLightDirections = this.spotLightDirections.slice(), O.spotLightDiffuseColors = this.spotLightDiffuseColors.slice(), O.spotLightSpecularColors = this.spotLightSpecularColors.slice(), O.spotLightAngle = this.spotLightAngle.slice(), O.spotLightConc = this.spotLightConc.slice(), O.userFillShader = this.userFillShader, O.userStrokeShader = this.userStrokeShader, O.userPointShader = this.userPointShader, O.pointSize = this.pointSize, O.curStrokeWeight = this.curStrokeWeight, O.curStrokeColor = this.curStrokeColor, O.curFillColor = this.curFillColor, O.curAmbientColor = this.curAmbientColor, O.curSpecularColor = this.curSpecularColor, O.curEmissiveColor = this.curEmissiveColor, O._hasSetAmbient = this._hasSetAmbient, O._useSpecularMaterial = this._useSpecularMaterial, O._useEmissiveMaterial = this._useEmissiveMaterial, O._useShininess = this._useShininess, O._useMetalness = this._useMetalness, O.constantAttenuation = this.constantAttenuation, O.linearAttenuation = this.linearAttenuation, O.quadraticAttenuation = this.quadraticAttenuation, O._enableLighting = this._enableLighting, O._useNormalMaterial = this._useNormalMaterial, O._tex = this._tex, O.drawMode = this.drawMode, O._currentNormal = this._currentNormal, O.curBlendMode = this.curBlendMode, O.activeImageLight = this.activeImageLight, b;\n } }, { key: \"pop\", value: function() {\n var b;\n 0 < this._clipDepths.length && this._pushPopDepth === this._clipDepths[this._clipDepths.length - 1] && this._clearClip();\n for (var O = arguments.length, D = new Array(O), B = 0; B < O; B++)\n D[B] = arguments[B];\n (b = r(j(ne.prototype), \"pop\", this)).call.apply(b, [this].concat(D)), this._applyStencilTestIfClipping();\n } }, { key: \"_applyStencilTestIfClipping\", value: function() {\n var b = this.drawTarget();\n b._isClipApplied !== this._stencilTestOn && (b._isClipApplied ? (this.GL.enable(this.GL.STENCIL_TEST), this._stencilTestOn = !0) : (this.GL.disable(this.GL.STENCIL_TEST), this._stencilTestOn = !1));\n } }, { key: \"resetMatrix\", value: function() {\n return this.uMVMatrix.set(this._curCamera.cameraMatrix), this;\n } }, { key: \"_getImmediateStrokeShader\", value: function() {\n var b = this.userStrokeShader;\n return b && b.isStrokeShader() ? b : this._getLineShader();\n } }, { key: \"_getRetainedStrokeShader\", value: function() {\n return this._getImmediateStrokeShader();\n } }, { key: \"_getSphereMapping\", value: function(b) {\n return this.sphereMapping || (this.sphereMapping = this._pInst.createFilterShader(L)), this.uNMatrix.inverseTranspose(this.uMVMatrix), this.uNMatrix.invert3x3(this.uNMatrix), this.sphereMapping.setUniform(\"uFovY\", this._curCamera.cameraFOV), this.sphereMapping.setUniform(\"uAspect\", this._curCamera.aspectRatio), this.sphereMapping.setUniform(\"uNewNormalMatrix\", this.uNMatrix.mat3), this.sphereMapping.setUniform(\"uSampler\", b), this.sphereMapping;\n } }, { key: \"_getImmediateFillShader\", value: function() {\n var b = this.userFillShader;\n if (this._useNormalMaterial && (!b || !b.isNormalShader()))\n return this._getNormalShader();\n if (this._enableLighting) {\n if (!b || !b.isLightShader())\n return this._getLightShader();\n } else if (this._tex) {\n if (!b || !b.isTextureShader())\n return this._getLightShader();\n } else if (!b)\n return this._getImmediateModeShader();\n return b;\n } }, { key: \"_getRetainedFillShader\", value: function() {\n if (this._useNormalMaterial)\n return this._getNormalShader();\n var b = this.userFillShader;\n if (this._enableLighting) {\n if (!b || !b.isLightShader())\n return this._getLightShader();\n } else if (this._tex) {\n if (!b || !b.isTextureShader())\n return this._getLightShader();\n } else if (!b)\n return this._getColorShader();\n return b;\n } }, { key: \"_getImmediatePointShader\", value: function() {\n var b = this.userPointShader;\n return b && b.isPointShader() ? b : this._getPointShader();\n } }, { key: \"_getRetainedLineShader\", value: function() {\n return this._getImmediateLineShader();\n } }, { key: \"_getLightShader\", value: function() {\n return this._defaultLightShader || (this._pInst._glAttributes.perPixelLighting ? this._defaultLightShader = new u.default.Shader(this, this._webGL2CompatibilityPrefix(\"vert\", \"highp\") + R.phongVert, this._webGL2CompatibilityPrefix(\"frag\", \"highp\") + R.phongFrag) : this._defaultLightShader = new u.default.Shader(this, this._webGL2CompatibilityPrefix(\"vert\", \"highp\") + R.lightVert, this._webGL2CompatibilityPrefix(\"frag\", \"highp\") + R.lightTextureFrag)), this._defaultLightShader;\n } }, { key: \"_getImmediateModeShader\", value: function() {\n return this._defaultImmediateModeShader || (this._defaultImmediateModeShader = new u.default.Shader(this, this._webGL2CompatibilityPrefix(\"vert\", \"mediump\") + R.immediateVert, this._webGL2CompatibilityPrefix(\"frag\", \"mediump\") + R.vertexColorFrag)), this._defaultImmediateModeShader;\n } }, { key: \"_getNormalShader\", value: function() {\n return this._defaultNormalShader || (this._defaultNormalShader = new u.default.Shader(this, this._webGL2CompatibilityPrefix(\"vert\", \"mediump\") + R.normalVert, this._webGL2CompatibilityPrefix(\"frag\", \"mediump\") + R.normalFrag)), this._defaultNormalShader;\n } }, { key: \"_getColorShader\", value: function() {\n return this._defaultColorShader || (this._defaultColorShader = new u.default.Shader(this, this._webGL2CompatibilityPrefix(\"vert\", \"mediump\") + R.normalVert, this._webGL2CompatibilityPrefix(\"frag\", \"mediump\") + R.basicFrag)), this._defaultColorShader;\n } }, { key: \"_getPointShader\", value: function() {\n return this._defaultPointShader || (this._defaultPointShader = new u.default.Shader(this, this._webGL2CompatibilityPrefix(\"vert\", \"mediump\") + R.pointVert, this._webGL2CompatibilityPrefix(\"frag\", \"mediump\") + R.pointFrag)), this._defaultPointShader;\n } }, { key: \"_getLineShader\", value: function() {\n return this._defaultLineShader || (this._defaultLineShader = new u.default.Shader(this, this._webGL2CompatibilityPrefix(\"vert\", \"mediump\") + R.lineVert, this._webGL2CompatibilityPrefix(\"frag\", \"mediump\") + R.lineFrag)), this._defaultLineShader;\n } }, { key: \"_getFontShader\", value: function() {\n return this._defaultFontShader || (this.webglVersion === h.WEBGL && this.GL.getExtension(\"OES_standard_derivatives\"), this._defaultFontShader = new u.default.Shader(this, this._webGL2CompatibilityPrefix(\"vert\", \"mediump\") + R.fontVert, this._webGL2CompatibilityPrefix(\"frag\", \"mediump\") + R.fontFrag)), this._defaultFontShader;\n } }, { key: \"_webGL2CompatibilityPrefix\", value: function(b, O) {\n var D = \"\";\n return this.webglVersion === h.WEBGL2 && (D += `#version 300 es\n#define WEBGL2\n`), b === \"vert\" ? D += `#define VERTEX_SHADER\n` : b === \"frag\" && (D += `#define FRAGMENT_SHADER\n`), O && (D += \"precision \".concat(O, ` float;\n`)), D;\n } }, { key: \"_getEmptyTexture\", value: function() {\n var b;\n return this._emptyTexture || ((b = new u.default.Image(1, 1)).set(0, 0, 255), this._emptyTexture = new u.default.Texture(this, b)), this._emptyTexture;\n } }, { key: \"getTexture\", value: function(b) {\n b instanceof u.default.Framebuffer && (b = b.color);\n var O = this.textures.get(b);\n return O || (O = new u.default.Texture(this, b), this.textures.set(b, O), O);\n } }, { key: \"getDiffusedTexture\", value: function(b) {\n var O, D, B = this;\n return this.diffusedTextures.get(b) != null ? this.diffusedTextures.get(b) : (O = Math.floor(b.height / b.width * 200), D = this._pInst.createFramebuffer({ width: 200, height: O, density: 1 }), this.diffusedShader || (this.diffusedShader = this._pInst.createShader(R.imageLightVert, R.imageLightDiffusedFrag)), D.draw(function() {\n B._pInst.shader(B.diffusedShader), B.diffusedShader.setUniform(\"environmentMap\", b), B._pInst.noStroke(), B._pInst.rectMode(h.CENTER), B._pInst.noLights(), B._pInst.rect(0, 0, 200, O);\n }), this.diffusedTextures.set(b, D), D);\n } }, { key: \"getSpecularTexture\", value: function(b) {\n var O = this;\n if (this.specularTextures.get(b) != null)\n return this.specularTextures.get(b);\n for (var D, B = [], Y = this._pInst.createFramebuffer({ width: 512, height: 512, density: 1 }), K = Math.log(512) / Math.log(2), te = (this.specularShader || (this.specularShader = this._pInst.createShader(R.imageLightVert, R.imageLightSpecularFrag)), 512); 1 <= te; te /= 2)\n (function(ce) {\n Y.resize(ce, ce);\n var re = 1 - Math.log(ce) / Math.log(2) / K;\n Y.draw(function() {\n O._pInst.shader(O.specularShader), O._pInst.clear(), O.specularShader.setUniform(\"environmentMap\", b), O.specularShader.setUniform(\"roughness\", re), O._pInst.noStroke(), O._pInst.noLights(), O._pInst.plane(ce, ce);\n }), B.push(Y.get().drawingContext.getImageData(0, 0, ce, ce));\n })(te);\n return Y.remove(), D = new n.MipmapTexture(this, B, {}), this.specularTextures.set(b, D), D;\n } }, { key: \"activeFramebuffer\", value: function() {\n return this.activeFramebuffers[this.activeFramebuffers.length - 1] || null;\n } }, { key: \"createFramebuffer\", value: function(b) {\n return new u.default.Framebuffer(this, b);\n } }, { key: \"_setStrokeUniforms\", value: function(b) {\n b.bindShader(), b.setUniform(\"uUseLineColor\", this._useLineColor), b.setUniform(\"uMaterialColor\", this.curStrokeColor), b.setUniform(\"uStrokeWeight\", this.curStrokeWeight), b.setUniform(\"uStrokeCap\", P[this.curStrokeCap]), b.setUniform(\"uStrokeJoin\", x[this.curStrokeJoin]);\n } }, { key: \"_setFillUniforms\", value: function(b) {\n var O = this, D = (b.bindShader(), this.mixedSpecularColor = a(this.curSpecularColor), 0 < this._useMetalness && (this.mixedSpecularColor = this.mixedSpecularColor.map(function(B, Y) {\n return O.curFillColor[Y] * O._useMetalness + B * (1 - O._useMetalness);\n })), b.setUniform(\"uUseVertexColor\", this._useVertexColor), b.setUniform(\"uMaterialColor\", this.curFillColor), b.setUniform(\"isTexture\", !!this._tex), this._tex && b.setUniform(\"uSampler\", this._tex), b.setUniform(\"uTint\", this._tint), b.setUniform(\"uHasSetAmbient\", this._hasSetAmbient), b.setUniform(\"uAmbientMatColor\", this.curAmbientColor), b.setUniform(\"uSpecularMatColor\", this.mixedSpecularColor), b.setUniform(\"uEmissiveMatColor\", this.curEmissiveColor), b.setUniform(\"uSpecular\", this._useSpecularMaterial), b.setUniform(\"uEmissive\", this._useEmissiveMaterial), b.setUniform(\"uShininess\", this._useShininess), b.setUniform(\"metallic\", this._useMetalness), this._setImageLightUniforms(b), b.setUniform(\"uUseLighting\", this._enableLighting), this.pointLightDiffuseColors.length / 3), D = (b.setUniform(\"uPointLightCount\", D), b.setUniform(\"uPointLightLocation\", this.pointLightPositions), b.setUniform(\"uPointLightDiffuseColors\", this.pointLightDiffuseColors), b.setUniform(\"uPointLightSpecularColors\", this.pointLightSpecularColors), this.directionalLightDiffuseColors.length / 3), D = (b.setUniform(\"uDirectionalLightCount\", D), b.setUniform(\"uLightingDirection\", this.directionalLightDirections), b.setUniform(\"uDirectionalDiffuseColors\", this.directionalLightDiffuseColors), b.setUniform(\"uDirectionalSpecularColors\", this.directionalLightSpecularColors), this.ambientLightColors.length / 3), D = (this.mixedAmbientLight = a(this.ambientLightColors), 0 < this._useMetalness && (this.mixedAmbientLight = this.mixedAmbientLight.map(function(B) {\n return B -= O._useMetalness, Math.max(0, B);\n })), b.setUniform(\"uAmbientLightCount\", D), b.setUniform(\"uAmbientColor\", this.mixedAmbientLight), this.spotLightDiffuseColors.length / 3);\n b.setUniform(\"uSpotLightCount\", D), b.setUniform(\"uSpotLightAngle\", this.spotLightAngle), b.setUniform(\"uSpotLightConc\", this.spotLightConc), b.setUniform(\"uSpotLightDiffuseColors\", this.spotLightDiffuseColors), b.setUniform(\"uSpotLightSpecularColors\", this.spotLightSpecularColors), b.setUniform(\"uSpotLightLocation\", this.spotLightPositions), b.setUniform(\"uSpotLightDirection\", this.spotLightDirections), b.setUniform(\"uConstantAttenuation\", this.constantAttenuation), b.setUniform(\"uLinearAttenuation\", this.linearAttenuation), b.setUniform(\"uQuadraticAttenuation\", this.quadraticAttenuation), b.bindTextures();\n } }, { key: \"_setImageLightUniforms\", value: function(b) {\n var O, D;\n b.setUniform(\"uUseImageLight\", this.activeImageLight != null), this.activeImageLight && (O = this.getDiffusedTexture(this.activeImageLight), b.setUniform(\"environmentMapDiffused\", O), O = this.getSpecularTexture(this.activeImageLight), D = 20 / this._useShininess, b.setUniform(\"levelOfDetail\", 8 * D), b.setUniform(\"environmentMapSpecular\", O));\n } }, { key: \"_setPointUniforms\", value: function(b) {\n b.bindShader(), b.setUniform(\"uMaterialColor\", this.curStrokeColor), b.setUniform(\"uPointSize\", this.pointSize * this._pInst._pixelDensity);\n } }, { key: \"_bindBuffer\", value: function(b, O, D, B, Y) {\n O = O || this.GL.ARRAY_BUFFER, this.GL.bindBuffer(O, b), D !== void 0 && ((b = D) instanceof u.default.DataArray ? b = D.dataArray() : b instanceof (B || Float32Array) || (b = new (B || Float32Array)(b)), this.GL.bufferData(O, b, Y || this.GL.STATIC_DRAW));\n } }, { key: \"_arraysEqual\", value: function(b, O) {\n return b.length === O.length && b.every(function(D, B) {\n return D === O[B];\n });\n } }, { key: \"_isTypedArray\", value: function(b) {\n return [Float32Array, Float64Array, Int16Array, Uint16Array, Uint32Array].some(function(O) {\n return b instanceof O;\n });\n } }, { key: \"_flatten\", value: function(b) {\n return b.flat();\n } }, { key: \"_vToNArray\", value: function(b) {\n return b.flatMap(function(O) {\n return [O.x, O.y, O.z];\n });\n } }, { key: \"_bezierCoefficients\", value: function(b) {\n var O = b * b, D = 1 - b, B = D * D;\n return [B * D, 3 * B * b, 3 * D * O, O * b];\n } }, { key: \"_quadraticCoefficients\", value: function(b) {\n var O = 1 - b;\n return [O * O, 2 * O * b, b * b];\n } }, { key: \"_bezierToCatmull\", value: function(b) {\n return [b[1], b[1] + (b[2] - b[0]) / this._curveTightness, b[2] - (b[3] - b[1]) / this._curveTightness, b[2]];\n } }, { key: \"_initTessy\", value: function() {\n var b = new f.default.GluTesselator();\n return b.gluTessCallback(f.default.gluEnum.GLU_TESS_VERTEX_DATA, function(O, D) {\n var B = !0, Y = !1, K = void 0;\n try {\n for (var te, ce = O[Symbol.iterator](); !(B = (te = ce.next()).done); B = !0) {\n var re = te.value;\n D.push(re);\n }\n } catch (ue) {\n Y = !0, K = ue;\n } finally {\n try {\n B || ce.return == null || ce.return();\n } finally {\n if (Y)\n throw K;\n }\n }\n }), b.gluTessCallback(f.default.gluEnum.GLU_TESS_BEGIN, function(O) {\n O !== f.default.primitiveType.GL_TRIANGLES && console.log(\"expected TRIANGLES but got type: \".concat(O));\n }), b.gluTessCallback(f.default.gluEnum.GLU_TESS_ERROR, function(O) {\n console.log(\"error callback\"), console.log(\"error number: \".concat(O));\n }), b.gluTessCallback(f.default.gluEnum.GLU_TESS_COMBINE, function(O, D, B) {\n for (var Y = new Array(u.default.RendererGL.prototype.tessyVertexSize).fill(0), K = 0; K < B.length; K++)\n for (var te = 0; te < Y.length; te++)\n B[K] !== 0 && D[K] && (Y[te] += D[K][te] * B[K]);\n return Y;\n }), b.gluTessCallback(f.default.gluEnum.GLU_TESS_EDGE_FLAG, function(O) {\n }), b.gluTessProperty(f.default.gluEnum.GLU_TESS_WINDING_RULE, f.default.windingRule.GLU_TESS_WINDING_NONZERO), b;\n } }, { key: \"_triangulate\", value: function(b) {\n var O = b[0] ? b[0][2] : void 0, D = !0, B = !0, re = !1, le = void 0;\n try {\n for (var Y, K = b[Symbol.iterator](); !(B = (Y = K.next()).done); B = !0)\n for (var te = Y.value, ce = 0; ce < te.length; ce += u.default.RendererGL.prototype.tessyVertexSize)\n if (te[ce + 2] !== O) {\n D = !1;\n break;\n }\n } catch (xe) {\n re = !0, le = xe;\n } finally {\n try {\n B || K.return == null || K.return();\n } finally {\n if (re)\n throw le;\n }\n }\n D ? this._tessy.gluTessNormal(0, 0, 1) : this._tessy.gluTessNormal(0, 0, 0);\n var re = [], ue = (this._tessy.gluTessBeginPolygon(re), !0), le = !1, J = void 0;\n try {\n for (var ae, he = b[Symbol.iterator](); !(ue = (ae = he.next()).done); ue = !0) {\n var _e = ae.value;\n this._tessy.gluTessBeginContour();\n for (var fe = 0; fe < _e.length; fe += u.default.RendererGL.prototype.tessyVertexSize) {\n var ge = _e.slice(fe, fe + u.default.RendererGL.prototype.tessyVertexSize);\n this._tessy.gluTessVertex(ge, ge);\n }\n this._tessy.gluTessEndContour();\n }\n } catch (xe) {\n le = !0, J = xe;\n } finally {\n try {\n ue || he.return == null || he.return();\n } finally {\n if (le)\n throw J;\n }\n }\n return this._tessy.gluTessEndPolygon(), re;\n } }]) && l(W.prototype, U), ne;\n }(u.default.Renderer), u.default.prototype._assert3d = function(U) {\n if (!this._renderer.isP3D)\n throw new Error(\"\".concat(U, \"() is only supported in WEBGL mode. If you'd like to use 3D graphics and WebGL, see https://p5js.org/examples/form-3d-primitives.html for more information.\"));\n }, u.default.RendererGL.prototype.tessyVertexSize = 12, M = u.default.RendererGL, C.default = M;\n }, { \"../core/constants\": 269, \"../core/main\": 280, \"../core/p5.Renderer\": 283, \"./GeometryBuilder\": 324, \"./p5.Camera\": 329, \"./p5.Framebuffer\": 331, \"./p5.Matrix\": 333, \"./p5.Shader\": 338, \"./p5.Texture\": 339, \"core-js/modules/es.array.concat\": 152, \"core-js/modules/es.array.copy-within\": 153, \"core-js/modules/es.array.every\": 154, \"core-js/modules/es.array.fill\": 155, \"core-js/modules/es.array.flat\": 159, \"core-js/modules/es.array.flat-map\": 158, \"core-js/modules/es.array.from\": 161, \"core-js/modules/es.array.includes\": 162, \"core-js/modules/es.array.iterator\": 164, \"core-js/modules/es.array.map\": 167, \"core-js/modules/es.array.slice\": 168, \"core-js/modules/es.array.some\": 169, \"core-js/modules/es.array.unscopables.flat\": 172, \"core-js/modules/es.array.unscopables.flat-map\": 171, \"core-js/modules/es.map\": 174, \"core-js/modules/es.object.assign\": 181, \"core-js/modules/es.object.get-own-property-descriptor\": 183, \"core-js/modules/es.object.get-prototype-of\": 185, \"core-js/modules/es.object.to-string\": 187, \"core-js/modules/es.reflect.construct\": 189, \"core-js/modules/es.reflect.get\": 190, \"core-js/modules/es.regexp.to-string\": 193, \"core-js/modules/es.set\": 194, \"core-js/modules/es.string.includes\": 196, \"core-js/modules/es.string.iterator\": 197, \"core-js/modules/es.symbol\": 209, \"core-js/modules/es.symbol.description\": 207, \"core-js/modules/es.symbol.iterator\": 208, \"core-js/modules/es.typed-array.copy-within\": 210, \"core-js/modules/es.typed-array.every\": 211, \"core-js/modules/es.typed-array.fill\": 212, \"core-js/modules/es.typed-array.filter\": 213, \"core-js/modules/es.typed-array.find\": 215, \"core-js/modules/es.typed-array.find-index\": 214, \"core-js/modules/es.typed-array.float32-array\": 216, \"core-js/modules/es.typed-array.float64-array\": 217, \"core-js/modules/es.typed-array.for-each\": 218, \"core-js/modules/es.typed-array.includes\": 219, \"core-js/modules/es.typed-array.index-of\": 220, \"core-js/modules/es.typed-array.int16-array\": 221, \"core-js/modules/es.typed-array.iterator\": 223, \"core-js/modules/es.typed-array.join\": 224, \"core-js/modules/es.typed-array.last-index-of\": 225, \"core-js/modules/es.typed-array.map\": 226, \"core-js/modules/es.typed-array.reduce\": 228, \"core-js/modules/es.typed-array.reduce-right\": 227, \"core-js/modules/es.typed-array.reverse\": 229, \"core-js/modules/es.typed-array.set\": 230, \"core-js/modules/es.typed-array.slice\": 231, \"core-js/modules/es.typed-array.some\": 232, \"core-js/modules/es.typed-array.sort\": 233, \"core-js/modules/es.typed-array.subarray\": 234, \"core-js/modules/es.typed-array.to-locale-string\": 235, \"core-js/modules/es.typed-array.to-string\": 236, \"core-js/modules/es.typed-array.uint16-array\": 237, \"core-js/modules/es.typed-array.uint32-array\": 238, \"core-js/modules/es.typed-array.uint8-array\": 239, \"core-js/modules/es.weak-map\": 241, \"core-js/modules/web.dom-collections.iterator\": 243, libtess: 252, path: 255 }], 338: [function(t, H, C) {\n t(\"core-js/modules/es.symbol\"), t(\"core-js/modules/es.symbol.description\"), t(\"core-js/modules/es.symbol.iterator\"), t(\"core-js/modules/es.array.index-of\"), t(\"core-js/modules/es.array.iterator\"), t(\"core-js/modules/es.array.slice\"), t(\"core-js/modules/es.array.some\"), t(\"core-js/modules/es.function.name\"), t(\"core-js/modules/es.object.keys\"), t(\"core-js/modules/es.object.to-string\"), t(\"core-js/modules/es.string.iterator\"), t(\"core-js/modules/web.dom-collections.iterator\"), t(\"core-js/modules/es.symbol\"), t(\"core-js/modules/es.symbol.description\"), t(\"core-js/modules/es.symbol.iterator\"), t(\"core-js/modules/es.array.index-of\"), t(\"core-js/modules/es.array.iterator\"), t(\"core-js/modules/es.array.slice\"), t(\"core-js/modules/es.array.some\"), t(\"core-js/modules/es.function.name\"), t(\"core-js/modules/es.object.keys\"), t(\"core-js/modules/es.object.to-string\"), t(\"core-js/modules/es.string.iterator\"), t(\"core-js/modules/web.dom-collections.iterator\"), Object.defineProperty(C, \"__esModule\", { value: !0 }), C.default = void 0;\n var m = (t = t(\"../core/main\")) && t.__esModule ? t : { default: t };\n function y(u, h) {\n for (var g = 0; g < h.length; g++) {\n var f = h[g];\n f.enumerable = f.enumerable || !1, f.configurable = !0, \"value\" in f && (f.writable = !0), Object.defineProperty(u, f.key, f);\n }\n }\n m.default.Shader = function() {\n function u(f, n, s) {\n if (!(this instanceof u))\n throw new TypeError(\"Cannot call a class as a function\");\n this._renderer = f, this._vertSrc = n, this._fragSrc = s, this._vertShader = -1, this._fragShader = -1, this._glProgram = 0, this._loadedAttributes = !1, this.attributes = {}, this._loadedUniforms = !1, this.uniforms = {}, this._bound = !1, this.samplers = [];\n }\n var h, g;\n return h = u, (g = [{ key: \"init\", value: function() {\n if (this._glProgram === 0) {\n var f = this._renderer.GL;\n if (this._vertShader = f.createShader(f.VERTEX_SHADER), f.shaderSource(this._vertShader, this._vertSrc), f.compileShader(this._vertShader), !f.getShaderParameter(this._vertShader, f.COMPILE_STATUS))\n return m.default._friendlyError(\"Yikes! An error occurred compiling the vertex shader:\".concat(f.getShaderInfoLog(this._vertShader))), null;\n if (this._fragShader = f.createShader(f.FRAGMENT_SHADER), f.shaderSource(this._fragShader, this._fragSrc), f.compileShader(this._fragShader), !f.getShaderParameter(this._fragShader, f.COMPILE_STATUS))\n return m.default._friendlyError(\"Darn! An error occurred compiling the fragment shader:\".concat(f.getShaderInfoLog(this._fragShader))), null;\n this._glProgram = f.createProgram(), f.attachShader(this._glProgram, this._vertShader), f.attachShader(this._glProgram, this._fragShader), f.linkProgram(this._glProgram), f.getProgramParameter(this._glProgram, f.LINK_STATUS) || m.default._friendlyError(\"Snap! Error linking shader program: \".concat(f.getProgramInfoLog(this._glProgram))), this._loadAttributes(), this._loadUniforms();\n }\n return this;\n } }, { key: \"copyToContext\", value: function(f) {\n var n = new m.default.Shader(f._renderer, this._vertSrc, this._fragSrc);\n return n.ensureCompiledOnContext(f), n;\n } }, { key: \"ensureCompiledOnContext\", value: function(f) {\n if (this._glProgram !== 0 && this._renderer !== f._renderer)\n throw new Error(\"The shader being run is attached to a different context. Do you need to copy it to this context first with .copyToContext()?\");\n this._glProgram === 0 && (this._renderer = f._renderer, this.init());\n } }, { key: \"_loadAttributes\", value: function() {\n if (!this._loadedAttributes) {\n this.attributes = {};\n for (var f = this._renderer.GL, n = f.getProgramParameter(this._glProgram, f.ACTIVE_ATTRIBUTES), s = 0; s < n; ++s) {\n var o = f.getActiveAttrib(this._glProgram, s), a = o.name, l = f.getAttribLocation(this._glProgram, a), r = {};\n r.name = a, r.location = l, r.index = s, r.type = o.type, r.size = o.size, this.attributes[a] = r;\n }\n this._loadedAttributes = !0;\n }\n } }, { key: \"_loadUniforms\", value: function() {\n if (!this._loadedUniforms) {\n for (var f = this._renderer.GL, n = f.getProgramParameter(this._glProgram, f.ACTIVE_UNIFORMS), s = 0, o = 0; o < n; ++o) {\n var a = f.getActiveUniform(this._glProgram, o), l = {}, r = (l.location = f.getUniformLocation(this._glProgram, a.name), l.size = a.size, a.name);\n 1 < a.size && (r = r.substring(0, r.indexOf(\"[0]\"))), l.name = r, l.type = a.type, l._cachedData = void 0, l.type === f.SAMPLER_2D && (l.samplerIndex = s, s++, this.samplers.push(l)), l.isArray = 1 < a.size || l.type === f.FLOAT_MAT3 || l.type === f.FLOAT_MAT4 || l.type === f.FLOAT_VEC2 || l.type === f.FLOAT_VEC3 || l.type === f.FLOAT_VEC4 || l.type === f.INT_VEC2 || l.type === f.INT_VEC4 || l.type === f.INT_VEC3, this.uniforms[r] = l;\n }\n this._loadedUniforms = !0;\n }\n } }, { key: \"compile\", value: function() {\n } }, { key: \"bindShader\", value: function() {\n this.init(), this._bound || (this.useProgram(), this._bound = !0, this._setMatrixUniforms(), this.setUniform(\"uViewport\", this._renderer._viewport));\n } }, { key: \"unbindShader\", value: function() {\n return this._bound && (this.unbindTextures(), this._bound = !1), this;\n } }, { key: \"bindTextures\", value: function() {\n var f = this._renderer.GL, n = !0, s = !1, o = void 0;\n try {\n for (var a, l = this.samplers[Symbol.iterator](); !(n = (a = l.next()).done); n = !0) {\n var r = a.value, i = r.texture;\n i === void 0 && (i = this._renderer._getEmptyTexture()), f.activeTexture(f.TEXTURE0 + r.samplerIndex), i.bindTexture(), i.update(), f.uniform1i(r.location, r.samplerIndex);\n }\n } catch (c) {\n s = !0, o = c;\n } finally {\n try {\n n || l.return == null || l.return();\n } finally {\n if (s)\n throw o;\n }\n }\n } }, { key: \"updateTextures\", value: function() {\n var f = !0, n = !1, s = void 0;\n try {\n for (var o, a = this.samplers[Symbol.iterator](); !(f = (o = a.next()).done); f = !0) {\n var l = o.value.texture;\n l && l.update();\n }\n } catch (r) {\n n = !0, s = r;\n } finally {\n try {\n f || a.return == null || a.return();\n } finally {\n if (n)\n throw s;\n }\n }\n } }, { key: \"unbindTextures\", value: function() {\n var f = !0, n = !1, s = void 0;\n try {\n for (var o, a = this.samplers[Symbol.iterator](); !(f = (o = a.next()).done); f = !0) {\n var l = o.value;\n this.setUniform(l.name, this._renderer._getEmptyTexture());\n }\n } catch (r) {\n n = !0, s = r;\n } finally {\n try {\n f || a.return == null || a.return();\n } finally {\n if (n)\n throw s;\n }\n }\n } }, { key: \"_setMatrixUniforms\", value: function() {\n var f = this._renderer._curCamera.cameraMatrix, n = this._renderer.uPMatrix, s = this._renderer.uMVMatrix, o = s.copy();\n o.mult(n), this.isStrokeShader() && this.setUniform(\"uPerspective\", this._renderer._curCamera.useLinePerspective ? 1 : 0), this.setUniform(\"uViewMatrix\", f.mat4), this.setUniform(\"uProjectionMatrix\", n.mat4), this.setUniform(\"uModelViewMatrix\", s.mat4), this.setUniform(\"uModelViewProjectionMatrix\", o.mat4), this.uniforms.uNormalMatrix && (this._renderer.uNMatrix.inverseTranspose(this._renderer.uMVMatrix), this.setUniform(\"uNormalMatrix\", this._renderer.uNMatrix.mat3)), this.uniforms.uCameraRotation && (this._renderer.curMatrix.inverseTranspose(this._renderer._curCamera.cameraMatrix), this.setUniform(\"uCameraRotation\", this._renderer.curMatrix.mat3));\n } }, { key: \"useProgram\", value: function() {\n var f = this._renderer.GL;\n return this._renderer._curShader !== this && (f.useProgram(this._glProgram), this._renderer._curShader = this), this;\n } }, { key: \"setUniform\", value: function(f, n) {\n var s = this.uniforms[f];\n if (s) {\n var o = this._renderer.GL;\n if (s.isArray) {\n if (s._cachedData && this._renderer._arraysEqual(s._cachedData, n))\n return;\n s._cachedData = n.slice(0);\n } else {\n if (s._cachedData && s._cachedData === n)\n return;\n Array.isArray(n) ? s._cachedData = n.slice(0) : s._cachedData = n;\n }\n var a = s.location;\n switch (this.useProgram(), s.type) {\n case o.BOOL:\n n === !0 ? o.uniform1i(a, 1) : o.uniform1i(a, 0);\n break;\n case o.INT:\n 1 < s.size ? n.length && o.uniform1iv(a, n) : o.uniform1i(a, n);\n break;\n case o.FLOAT:\n 1 < s.size ? n.length && o.uniform1fv(a, n) : o.uniform1f(a, n);\n break;\n case o.FLOAT_MAT3:\n o.uniformMatrix3fv(a, !1, n);\n break;\n case o.FLOAT_MAT4:\n o.uniformMatrix4fv(a, !1, n);\n break;\n case o.FLOAT_VEC2:\n 1 < s.size ? n.length && o.uniform2fv(a, n) : o.uniform2f(a, n[0], n[1]);\n break;\n case o.FLOAT_VEC3:\n 1 < s.size ? n.length && o.uniform3fv(a, n) : o.uniform3f(a, n[0], n[1], n[2]);\n break;\n case o.FLOAT_VEC4:\n 1 < s.size ? n.length && o.uniform4fv(a, n) : o.uniform4f(a, n[0], n[1], n[2], n[3]);\n break;\n case o.INT_VEC2:\n 1 < s.size ? n.length && o.uniform2iv(a, n) : o.uniform2i(a, n[0], n[1]);\n break;\n case o.INT_VEC3:\n 1 < s.size ? n.length && o.uniform3iv(a, n) : o.uniform3i(a, n[0], n[1], n[2]);\n break;\n case o.INT_VEC4:\n 1 < s.size ? n.length && o.uniform4iv(a, n) : o.uniform4i(a, n[0], n[1], n[2], n[3]);\n break;\n case o.SAMPLER_2D:\n o.activeTexture(o.TEXTURE0 + s.samplerIndex), s.texture = n instanceof m.default.Texture ? n : this._renderer.getTexture(n), o.uniform1i(a, s.samplerIndex), s.texture.src.gifProperties && s.texture.src._animateGif(this._renderer._pInst);\n }\n return this;\n }\n } }, { key: \"isLightShader\", value: function() {\n return [this.attributes.aNormal, this.uniforms.uUseLighting, this.uniforms.uAmbientLightCount, this.uniforms.uDirectionalLightCount, this.uniforms.uPointLightCount, this.uniforms.uAmbientColor, this.uniforms.uDirectionalDiffuseColors, this.uniforms.uDirectionalSpecularColors, this.uniforms.uPointLightLocation, this.uniforms.uPointLightDiffuseColors, this.uniforms.uPointLightSpecularColors, this.uniforms.uLightingDirection, this.uniforms.uSpecular].some(function(f) {\n return f !== void 0;\n });\n } }, { key: \"isNormalShader\", value: function() {\n return this.attributes.aNormal !== void 0;\n } }, { key: \"isTextureShader\", value: function() {\n return 0 < this.samplers.length;\n } }, { key: \"isColorShader\", value: function() {\n return this.attributes.aVertexColor !== void 0 || this.uniforms.uMaterialColor !== void 0;\n } }, { key: \"isTexLightShader\", value: function() {\n return this.isLightShader() && this.isTextureShader();\n } }, { key: \"isStrokeShader\", value: function() {\n return this.uniforms.uStrokeWeight !== void 0;\n } }, { key: \"enableAttrib\", value: function(f, n, s, o, a, l) {\n var r;\n return f && (f = f.location) !== -1 && (r = this._renderer.GL, this._renderer.registerEnabled.has(f) || (r.enableVertexAttribArray(f), this._renderer.registerEnabled.add(f)), this._renderer.GL.vertexAttribPointer(f, n, s || r.FLOAT, o || !1, a || 0, l || 0)), this;\n } }, { key: \"disableRemainingAttributes\", value: function() {\n var f = this, n = !0, s = !1, o = void 0;\n try {\n for (var a, l = this._renderer.registerEnabled.values()[Symbol.iterator](); !(n = (a = l.next()).done); n = !0)\n (function() {\n var r = a.value;\n Object.keys(f.attributes).some(function(i) {\n return f.attributes[i].location === r;\n }) || (f._renderer.GL.disableVertexAttribArray(r), f._renderer.registerEnabled.delete(r));\n })();\n } catch (r) {\n s = !0, o = r;\n } finally {\n try {\n n || l.return == null || l.return();\n } finally {\n if (s)\n throw o;\n }\n }\n } }]) && y(h.prototype, g), u;\n }(), t = m.default.Shader, C.default = t;\n }, { \"../core/main\": 280, \"core-js/modules/es.array.index-of\": 163, \"core-js/modules/es.array.iterator\": 164, \"core-js/modules/es.array.slice\": 168, \"core-js/modules/es.array.some\": 169, \"core-js/modules/es.function.name\": 173, \"core-js/modules/es.object.keys\": 186, \"core-js/modules/es.object.to-string\": 187, \"core-js/modules/es.string.iterator\": 197, \"core-js/modules/es.symbol\": 209, \"core-js/modules/es.symbol.description\": 207, \"core-js/modules/es.symbol.iterator\": 208, \"core-js/modules/web.dom-collections.iterator\": 243 }], 339: [function(t, H, C) {\n function m(c) {\n return (m = typeof Symbol == \"function\" && typeof Symbol.iterator == \"symbol\" ? function(p) {\n return typeof p;\n } : function(p) {\n return p && typeof Symbol == \"function\" && p.constructor === Symbol && p !== Symbol.prototype ? \"symbol\" : typeof p;\n })(c);\n }\n function y(c) {\n return (y = typeof Symbol == \"function\" && m(Symbol.iterator) === \"symbol\" ? function(p) {\n return m(p);\n } : function(p) {\n return p && typeof Symbol == \"function\" && p.constructor === Symbol && p !== Symbol.prototype ? \"symbol\" : m(p);\n })(c);\n }\n t(\"core-js/modules/es.symbol\"), t(\"core-js/modules/es.symbol.description\"), t(\"core-js/modules/es.symbol.iterator\"), t(\"core-js/modules/es.array.iterator\"), t(\"core-js/modules/es.object.get-own-property-descriptor\"), t(\"core-js/modules/es.object.get-prototype-of\"), t(\"core-js/modules/es.object.to-string\"), t(\"core-js/modules/es.reflect.construct\"), t(\"core-js/modules/es.regexp.to-string\"), t(\"core-js/modules/es.string.iterator\"), t(\"core-js/modules/es.typed-array.uint8-array\"), t(\"core-js/modules/es.typed-array.copy-within\"), t(\"core-js/modules/es.typed-array.every\"), t(\"core-js/modules/es.typed-array.fill\"), t(\"core-js/modules/es.typed-array.filter\"), t(\"core-js/modules/es.typed-array.find\"), t(\"core-js/modules/es.typed-array.find-index\"), t(\"core-js/modules/es.typed-array.for-each\"), t(\"core-js/modules/es.typed-array.includes\"), t(\"core-js/modules/es.typed-array.index-of\"), t(\"core-js/modules/es.typed-array.iterator\"), t(\"core-js/modules/es.typed-array.join\"), t(\"core-js/modules/es.typed-array.last-index-of\"), t(\"core-js/modules/es.typed-array.map\"), t(\"core-js/modules/es.typed-array.reduce\"), t(\"core-js/modules/es.typed-array.reduce-right\"), t(\"core-js/modules/es.typed-array.reverse\"), t(\"core-js/modules/es.typed-array.set\"), t(\"core-js/modules/es.typed-array.slice\"), t(\"core-js/modules/es.typed-array.some\"), t(\"core-js/modules/es.typed-array.sort\"), t(\"core-js/modules/es.typed-array.subarray\"), t(\"core-js/modules/es.typed-array.to-locale-string\"), t(\"core-js/modules/es.typed-array.to-string\"), t(\"core-js/modules/es.weak-map\"), t(\"core-js/modules/web.dom-collections.iterator\"), t(\"core-js/modules/es.array.iterator\"), t(\"core-js/modules/es.object.to-string\"), t(\"core-js/modules/es.typed-array.uint8-array\"), t(\"core-js/modules/es.typed-array.copy-within\"), t(\"core-js/modules/es.typed-array.every\"), t(\"core-js/modules/es.typed-array.fill\"), t(\"core-js/modules/es.typed-array.filter\"), t(\"core-js/modules/es.typed-array.find\"), t(\"core-js/modules/es.typed-array.find-index\"), t(\"core-js/modules/es.typed-array.for-each\"), t(\"core-js/modules/es.typed-array.includes\"), t(\"core-js/modules/es.typed-array.index-of\"), t(\"core-js/modules/es.typed-array.iterator\"), t(\"core-js/modules/es.typed-array.join\"), t(\"core-js/modules/es.typed-array.last-index-of\"), t(\"core-js/modules/es.typed-array.map\"), t(\"core-js/modules/es.typed-array.reduce\"), t(\"core-js/modules/es.typed-array.reduce-right\"), t(\"core-js/modules/es.typed-array.reverse\"), t(\"core-js/modules/es.typed-array.set\"), t(\"core-js/modules/es.typed-array.slice\"), t(\"core-js/modules/es.typed-array.some\"), t(\"core-js/modules/es.typed-array.sort\"), t(\"core-js/modules/es.typed-array.subarray\"), t(\"core-js/modules/es.typed-array.to-locale-string\"), t(\"core-js/modules/es.typed-array.to-string\"), Object.defineProperty(C, \"__esModule\", { value: !0 }), C.checkWebGLCapabilities = i, C.default = C.MipmapTexture = void 0;\n var u = (r = t(\"../core/main\")) && r.__esModule ? r : { default: r }, h = function(c) {\n if (c && c.__esModule)\n return c;\n if (c === null || y(c) !== \"object\" && typeof c != \"function\")\n return { default: c };\n var p = g();\n if (p && p.has(c))\n return p.get(c);\n var j, T = {}, _ = Object.defineProperty && Object.getOwnPropertyDescriptor;\n for (j in c) {\n var S;\n Object.prototype.hasOwnProperty.call(c, j) && ((S = _ ? Object.getOwnPropertyDescriptor(c, j) : null) && (S.get || S.set) ? Object.defineProperty(T, j, S) : T[j] = c[j]);\n }\n return T.default = c, p && p.set(c, T), T;\n }(t(\"../core/constants\"));\n function g() {\n var c;\n return typeof WeakMap != \"function\" ? null : (c = /* @__PURE__ */ new WeakMap(), g = function() {\n return c;\n }, c);\n }\n function f(c, p) {\n return (f = Object.setPrototypeOf || function(j, T) {\n return j.__proto__ = T, j;\n })(c, p);\n }\n function n(c) {\n return function() {\n var p, j = s(c), j = (p = function() {\n if (typeof Reflect < \"u\" && Reflect.construct && !Reflect.construct.sham) {\n if (typeof Proxy == \"function\")\n return 1;\n try {\n return Date.prototype.toString.call(Reflect.construct(Date, [], function() {\n })), 1;\n } catch {\n }\n }\n }() ? (p = s(this).constructor, Reflect.construct(j, arguments, p)) : j.apply(this, arguments), this);\n if (!p || y(p) !== \"object\" && typeof p != \"function\") {\n if (j !== void 0)\n return j;\n throw new ReferenceError(\"this hasn't been initialised - super() hasn't been called\");\n }\n return p;\n };\n }\n function s(c) {\n return (s = Object.setPrototypeOf ? Object.getPrototypeOf : function(p) {\n return p.__proto__ || Object.getPrototypeOf(p);\n })(c);\n }\n function o(c, p) {\n if (!(c instanceof p))\n throw new TypeError(\"Cannot call a class as a function\");\n }\n function a(c, p) {\n for (var j = 0; j < p.length; j++) {\n var T = p[j];\n T.enumerable = T.enumerable || !1, T.configurable = !0, \"value\" in T && (T.writable = !0), Object.defineProperty(c, T.key, T);\n }\n }\n function l(c, p, j) {\n p && a(c.prototype, p), j && a(c, j);\n }\n u.default.Texture = function() {\n function c(E, j, S) {\n o(this, c), this._renderer = E;\n var _ = this._renderer.GL, S = (S = S || {}, this.src = j, this.glTex = void 0, this.glTarget = _.TEXTURE_2D, this.glFormat = S.format || _.RGBA, this.mipmaps = !1, this.glMinFilter = S.minFilter || _.LINEAR, this.glMagFilter = S.magFilter || _.LINEAR, this.glWrapS = S.wrapS || _.CLAMP_TO_EDGE, this.glWrapT = S.wrapT || _.CLAMP_TO_EDGE, this.glDataType = S.dataType || _.UNSIGNED_BYTE, i(E)), E = (this.glFormat !== _.HALF_FLOAT || S.halfFloat || (console.log(\"This device does not support dataType HALF_FLOAT. Falling back to FLOAT.\"), this.glDataType = _.FLOAT), this.glFormat !== _.HALF_FLOAT || this.glMinFilter !== _.LINEAR && this.glMagFilter !== _.LINEAR || S.halfFloatLinear || (console.log(\"This device does not support linear filtering for dataType FLOAT. Falling back to NEAREST.\"), this.glMinFilter === _.LINEAR && (this.glMinFilter = _.NEAREST), this.glMagFilter === _.LINEAR && (this.glMagFilter = _.NEAREST)), this.glFormat !== _.FLOAT || S.float || (console.log(\"This device does not support dataType FLOAT. Falling back to UNSIGNED_BYTE.\"), this.glDataType = _.UNSIGNED_BYTE), this.glFormat !== _.FLOAT || this.glMinFilter !== _.LINEAR && this.glMagFilter !== _.LINEAR || S.floatLinear || (console.log(\"This device does not support linear filtering for dataType FLOAT. Falling back to NEAREST.\"), this.glMinFilter === _.LINEAR && (this.glMinFilter = _.NEAREST), this.glMagFilter === _.LINEAR && (this.glMagFilter = _.NEAREST)), this.isSrcMediaElement = u.default.MediaElement !== void 0 && j instanceof u.default.MediaElement, this._videoPrevUpdateTime = 0, this.isSrcHTMLElement = u.default.Element !== void 0 && j instanceof u.default.Element && !(j instanceof u.default.Graphics) && !(j instanceof u.default.Renderer), this.isSrcP5Image = j instanceof u.default.Image, this.isSrcP5Graphics = j instanceof u.default.Graphics, this.isSrcP5Renderer = j instanceof u.default.Renderer, this.isImageData = typeof ImageData < \"u\" && j instanceof ImageData, this.isFramebufferTexture = j instanceof u.default.FramebufferTexture, this._getTextureDataFromSource());\n return this.width = E.width, this.height = E.height, this.init(E), this;\n }\n return l(c, [{ key: \"_getTextureDataFromSource\", value: function() {\n var p;\n return this.isFramebufferTexture ? p = this.src.rawTexture() : this.isSrcP5Image ? p = this.src.canvas : this.isSrcMediaElement || this.isSrcP5Graphics || this.isSrcP5Renderer || this.isSrcHTMLElement ? p = this.src.elt : this.isImageData && (p = this.src), p;\n } }, { key: \"init\", value: function(p) {\n var j, T = this._renderer.GL;\n this.isFramebufferTexture || (this.glTex = T.createTexture()), this.glWrapS = this._renderer.textureWrapX, this.glWrapT = this._renderer.textureWrapY, this.setWrapMode(this.glWrapS, this.glWrapT), this.bindTexture(), T.texParameteri(T.TEXTURE_2D, T.TEXTURE_MAG_FILTER, this.glMagFilter), T.texParameteri(T.TEXTURE_2D, T.TEXTURE_MIN_FILTER, this.glMinFilter), this.isFramebufferTexture || (this.width === 0 || this.height === 0 || this.isSrcMediaElement && !this.src.loadedmetadata ? (j = new Uint8Array([1, 1, 1, 1]), T.texImage2D(this.glTarget, 0, T.RGBA, 1, 1, 0, this.glFormat, this.glDataType, j)) : T.texImage2D(this.glTarget, 0, this.glFormat, this.glFormat, this.glDataType, p));\n } }, { key: \"update\", value: function() {\n var p, j, T, _ = this.src;\n return _.width !== 0 && _.height !== 0 && !this.isFramebufferTexture && (p = this._getTextureDataFromSource(), j = !1, T = this._renderer.GL, p.width !== this.width || p.height !== this.height ? (j = !0, this.width = p.width || _.width, this.height = p.height || _.height, this.isSrcP5Image ? _.setModified(!1) : (this.isSrcMediaElement || this.isSrcHTMLElement) && _.setModified(!0)) : this.isSrcP5Image ? _.isModified() && _.setModified(!(j = !0)) : this.isSrcMediaElement ? _.isModified() ? _.setModified(!(j = !0)) : _.loadedmetadata && this._videoPrevUpdateTime !== _.time() && (this._videoPrevUpdateTime = _.time(), j = !0) : this.isImageData ? _._dirty && (j = !(_._dirty = !1)) : j = !0, j && (this.bindTexture(), T.texImage2D(this.glTarget, 0, this.glFormat, this.glFormat, this.glDataType, p)), j);\n } }, { key: \"bindTexture\", value: function() {\n return this._renderer.GL.bindTexture(this.glTarget, this.getTexture()), this;\n } }, { key: \"unbindTexture\", value: function() {\n this._renderer.GL.bindTexture(this.glTarget, null);\n } }, { key: \"getTexture\", value: function() {\n return this.isFramebufferTexture ? this.src.rawTexture() : this.glTex;\n } }, { key: \"setInterpolation\", value: function(p, j) {\n var T = this._renderer.GL;\n this.glMinFilter = this.glFilter(p), this.glMagFilter = this.glFilter(j), this.bindTexture(), T.texParameteri(T.TEXTURE_2D, T.TEXTURE_MIN_FILTER, this.glMinFilter), T.texParameteri(T.TEXTURE_2D, T.TEXTURE_MAG_FILTER, this.glMagFilter), this.unbindTexture();\n } }, { key: \"glFilter\", value: function(p) {\n var j = this._renderer.GL;\n return p === h.NEAREST ? j.NEAREST : j.LINEAR;\n } }, { key: \"setWrapMode\", value: function(p, j) {\n function T(P) {\n return (P & P - 1) == 0;\n }\n var _ = this._renderer.GL, E = this._getTextureDataFromSource(), E = E.naturalWidth && E.naturalHeight ? (S = E.naturalWidth, E.naturalHeight) : (S = this.width, this.height), S = T(S), E = T(E);\n p === h.REPEAT ? this._renderer.webglVersion === h.WEBGL2 || S && E ? this.glWrapS = _.REPEAT : (console.warn(\"You tried to set the wrap mode to REPEAT but the texture size is not a power of two. Setting to CLAMP instead\"), this.glWrapS = _.CLAMP_TO_EDGE) : p === h.MIRROR ? this._renderer.webglVersion === h.WEBGL2 || S && E ? this.glWrapS = _.MIRRORED_REPEAT : (console.warn(\"You tried to set the wrap mode to MIRROR but the texture size is not a power of two. Setting to CLAMP instead\"), this.glWrapS = _.CLAMP_TO_EDGE) : this.glWrapS = _.CLAMP_TO_EDGE, j === h.REPEAT ? this._renderer.webglVersion === h.WEBGL2 || S && E ? this.glWrapT = _.REPEAT : (console.warn(\"You tried to set the wrap mode to REPEAT but the texture size is not a power of two. Setting to CLAMP instead\"), this.glWrapT = _.CLAMP_TO_EDGE) : j === h.MIRROR ? this._renderer.webglVersion === h.WEBGL2 || S && E ? this.glWrapT = _.MIRRORED_REPEAT : (console.warn(\"You tried to set the wrap mode to MIRROR but the texture size is not a power of two. Setting to CLAMP instead\"), this.glWrapT = _.CLAMP_TO_EDGE) : this.glWrapT = _.CLAMP_TO_EDGE, this.bindTexture(), _.texParameteri(_.TEXTURE_2D, _.TEXTURE_WRAP_S, this.glWrapS), _.texParameteri(_.TEXTURE_2D, _.TEXTURE_WRAP_T, this.glWrapT), this.unbindTexture();\n } }]), c;\n }();\n var r = function(c) {\n var p = T;\n if (typeof c != \"function\" && c !== null)\n throw new TypeError(\"Super expression must either be null or a function\");\n p.prototype = Object.create(c && c.prototype, { constructor: { value: p, writable: !0, configurable: !0 } }), c && f(p, c);\n var j = n(T);\n function T(_, S, E) {\n return o(this, T), S = (_ = j.call(this, _, S, E))._renderer.GL, _.glMinFilter === S.LINEAR && (_.glMinFilter = S.LINEAR_MIPMAP_LINEAR), _;\n }\n return l(T, [{ key: \"glFilter\", value: function(_) {\n return this._renderer.GL.LINEAR_MIPMAP_LINEAR;\n } }, { key: \"_getTextureDataFromSource\", value: function() {\n return this.src;\n } }, { key: \"init\", value: function(_) {\n var S = this._renderer.GL;\n this.glTex = S.createTexture(), this.bindTexture();\n for (var E = 0; E < _.length; E++)\n S.texImage2D(this.glTarget, E, this.glFormat, this.glFormat, this.glDataType, _[E]);\n this.glMinFilter = S.LINEAR_MIPMAP_LINEAR, S.texParameteri(S.TEXTURE_2D, S.TEXTURE_MAG_FILTER, this.glMagFilter), S.texParameteri(S.TEXTURE_2D, S.TEXTURE_MIN_FILTER, this.glMinFilter), this.unbindTexture();\n } }, { key: \"update\", value: function() {\n } }]), T;\n }(u.default.Texture);\n function i(_) {\n var p = _.GL, _ = _.webglVersion, j = _ === h.WEBGL2 ? p.getExtension(\"EXT_color_buffer_float\") && p.getExtension(\"EXT_float_blend\") : p.getExtension(\"OES_texture_float\"), T = j && p.getExtension(\"OES_texture_float_linear\"), _ = _ === h.WEBGL2 ? p.getExtension(\"EXT_color_buffer_float\") : p.getExtension(\"OES_texture_half_float\");\n return { float: j, floatLinear: T, halfFloat: _, halfFloatLinear: _ && p.getExtension(\"OES_texture_half_float_linear\") };\n }\n C.MipmapTexture = r, t = u.default.Texture, C.default = t;\n }, { \"../core/constants\": 269, \"../core/main\": 280, \"core-js/modules/es.array.iterator\": 164, \"core-js/modules/es.object.get-own-property-descriptor\": 183, \"core-js/modules/es.object.get-prototype-of\": 185, \"core-js/modules/es.object.to-string\": 187, \"core-js/modules/es.reflect.construct\": 189, \"core-js/modules/es.regexp.to-string\": 193, \"core-js/modules/es.string.iterator\": 197, \"core-js/modules/es.symbol\": 209, \"core-js/modules/es.symbol.description\": 207, \"core-js/modules/es.symbol.iterator\": 208, \"core-js/modules/es.typed-array.copy-within\": 210, \"core-js/modules/es.typed-array.every\": 211, \"core-js/modules/es.typed-array.fill\": 212, \"core-js/modules/es.typed-array.filter\": 213, \"core-js/modules/es.typed-array.find\": 215, \"core-js/modules/es.typed-array.find-index\": 214, \"core-js/modules/es.typed-array.for-each\": 218, \"core-js/modules/es.typed-array.includes\": 219, \"core-js/modules/es.typed-array.index-of\": 220, \"core-js/modules/es.typed-array.iterator\": 223, \"core-js/modules/es.typed-array.join\": 224, \"core-js/modules/es.typed-array.last-index-of\": 225, \"core-js/modules/es.typed-array.map\": 226, \"core-js/modules/es.typed-array.reduce\": 228, \"core-js/modules/es.typed-array.reduce-right\": 227, \"core-js/modules/es.typed-array.reverse\": 229, \"core-js/modules/es.typed-array.set\": 230, \"core-js/modules/es.typed-array.slice\": 231, \"core-js/modules/es.typed-array.some\": 232, \"core-js/modules/es.typed-array.sort\": 233, \"core-js/modules/es.typed-array.subarray\": 234, \"core-js/modules/es.typed-array.to-locale-string\": 235, \"core-js/modules/es.typed-array.to-string\": 236, \"core-js/modules/es.typed-array.uint8-array\": 239, \"core-js/modules/es.weak-map\": 241, \"core-js/modules/web.dom-collections.iterator\": 243 }], 340: [function(t, H, C) {\n function m(c) {\n return (m = typeof Symbol == \"function\" && typeof Symbol.iterator == \"symbol\" ? function(p) {\n return typeof p;\n } : function(p) {\n return p && typeof Symbol == \"function\" && p.constructor === Symbol && p !== Symbol.prototype ? \"symbol\" : typeof p;\n })(c);\n }\n function y(c) {\n return (y = typeof Symbol == \"function\" && m(Symbol.iterator) === \"symbol\" ? function(p) {\n return m(p);\n } : function(p) {\n return p && typeof Symbol == \"function\" && p.constructor === Symbol && p !== Symbol.prototype ? \"symbol\" : m(p);\n })(c);\n }\n t(\"core-js/modules/es.symbol\"), t(\"core-js/modules/es.symbol.description\"), t(\"core-js/modules/es.symbol.iterator\"), t(\"core-js/modules/es.array.iterator\"), t(\"core-js/modules/es.object.get-own-property-descriptor\"), t(\"core-js/modules/es.object.to-string\"), t(\"core-js/modules/es.regexp.exec\"), t(\"core-js/modules/es.string.iterator\"), t(\"core-js/modules/es.string.split\"), t(\"core-js/modules/es.string.sub\"), t(\"core-js/modules/es.weak-map\"), t(\"core-js/modules/web.dom-collections.iterator\"), t(\"core-js/modules/es.symbol\"), t(\"core-js/modules/es.symbol.description\"), t(\"core-js/modules/es.symbol.iterator\"), t(\"core-js/modules/es.array.iterator\"), t(\"core-js/modules/es.object.to-string\"), t(\"core-js/modules/es.regexp.exec\"), t(\"core-js/modules/es.string.iterator\"), t(\"core-js/modules/es.string.split\"), t(\"core-js/modules/es.string.sub\"), t(\"core-js/modules/web.dom-collections.iterator\");\n var u, h = (u = t(\"../core/main\")) && u.__esModule ? u : { default: u }, g = function(c) {\n if (c && c.__esModule)\n return c;\n if (c === null || y(c) !== \"object\" && typeof c != \"function\")\n return { default: c };\n var p = f();\n if (p && p.has(c))\n return p.get(c);\n var j, T = {}, _ = Object.defineProperty && Object.getOwnPropertyDescriptor;\n for (j in c) {\n var S;\n Object.prototype.hasOwnProperty.call(c, j) && ((S = _ ? Object.getOwnPropertyDescriptor(c, j) : null) && (S.get || S.set) ? Object.defineProperty(T, j, S) : T[j] = c[j]);\n }\n return T.default = c, p && p.set(c, T), T;\n }(t(\"../core/constants\"));\n function f() {\n var c;\n return typeof WeakMap != \"function\" ? null : (c = /* @__PURE__ */ new WeakMap(), f = function() {\n return c;\n }, c);\n }\n function n(c, p) {\n if (!(c instanceof p))\n throw new TypeError(\"Cannot call a class as a function\");\n }\n function s(c, p) {\n for (var j = 0; j < p.length; j++) {\n var T = p[j];\n T.enumerable = T.enumerable || !1, T.configurable = !0, \"value\" in T && (T.writable = !0), Object.defineProperty(c, T.key, T);\n }\n }\n function o(c, p, j) {\n p && s(c.prototype, p), j && s(c, j);\n }\n t(\"./p5.Shader\"), t(\"./p5.RendererGL.Retained\"), h.default.RendererGL.prototype._applyTextProperties = function() {\n }, h.default.RendererGL.prototype.textWidth = function(c) {\n return this._isOpenType() ? this._textFont._textWidth(c, this._textSize) : 0;\n };\n var a = function() {\n function c(p, j) {\n n(this, c), this.width = p, this.height = j, this.infos = [];\n }\n return o(c, [{ key: \"findImage\", value: function(p) {\n var j, T, _ = this.width * this.height;\n if (_ < p)\n throw new Error(\"font is too complex to render in 3D\");\n for (var S = this.infos.length - 1; 0 <= S; --S) {\n var E = this.infos[S];\n if (E.index + p < _) {\n T = (j = E).imageData;\n break;\n }\n }\n if (!j) {\n try {\n T = new ImageData(this.width, this.height);\n } catch {\n var P = document.getElementsByTagName(\"canvas\")[0], x = !P, A = (P || ((P = document.createElement(\"canvas\")).style.display = \"none\", document.body.appendChild(P)), P.getContext(\"2d\"));\n A && (T = A.createImageData(this.width, this.height)), x && document.body.removeChild(P);\n }\n this.infos.push(j = { index: 0, imageData: T });\n }\n return A = j.index, j.index += p, T._dirty = !0, { imageData: T, index: A };\n } }]), c;\n }();\n function l(E, p, j, T, _) {\n var S = E.imageData.data, E = 4 * E.index++;\n S[E++] = p, S[E++] = j, S[E++] = T, S[+E] = _;\n }\n var r = Math.sqrt(3), i = function() {\n function c(p) {\n n(this, c), this.font = p, this.strokeImageInfos = new a(64, 64), this.colDimImageInfos = new a(64, 64), this.rowDimImageInfos = new a(64, 64), this.colCellImageInfos = new a(64, 64), this.rowCellImageInfos = new a(64, 64), this.glyphInfos = {};\n }\n return o(c, [{ key: \"getGlyphInfo\", value: function(p) {\n var j = this.glyphInfos[p.index];\n if (!j) {\n var T = p.getBoundingBox(), _ = T.x1, S = T.y1, E = T.x2 - _, P = T.y2 - S, x = p.path.commands;\n if (E == 0 || P == 0 || !x.length)\n return this.glyphInfos[p.index] = {};\n for (var A = [], M = [], R = [], L = 8; 0 <= L; --L)\n R.push([]);\n for (L = 8; 0 <= L; --L)\n M.push([]);\n var F, V, G, U, W = function() {\n function ze(Ve, Xe, He, ve) {\n n(this, ze), this.p0 = Ve, this.c0 = Xe, this.c1 = He, this.p1 = ve;\n }\n return o(ze, [{ key: \"toQuadratic\", value: function() {\n return { x: this.p0.x, y: this.p0.y, x1: this.p1.x, y1: this.p1.y, cx: (3 * (this.c0.x + this.c1.x) - (this.p0.x + this.p1.x)) / 4, cy: (3 * (this.c0.y + this.c1.y) - (this.p0.y + this.p1.y)) / 4 };\n } }, { key: \"quadError\", value: function() {\n return h.default.Vector.sub(h.default.Vector.sub(this.p1, this.p0), h.default.Vector.mult(h.default.Vector.sub(this.c1, this.c0), 3)).mag() / 2;\n } }, { key: \"split\", value: function(Re) {\n var Xe = h.default.Vector.lerp(this.p0, this.c0, Re), ve = h.default.Vector.lerp(this.c0, this.c1, Re), He = h.default.Vector.lerp(Xe, ve, Re), ve = (this.c1 = h.default.Vector.lerp(this.c1, this.p1, Re), this.c0 = h.default.Vector.lerp(ve, this.c1, Re), h.default.Vector.lerp(He, this.c0, Re)), Re = new ze(this.p0, Xe, He, ve);\n return this.p0 = ve, Re;\n } }, { key: \"splitInflections\", value: function() {\n var Ve = h.default.Vector.sub(this.c0, this.p0), Xe = h.default.Vector.sub(h.default.Vector.sub(this.c1, this.c0), Ve), He = h.default.Vector.sub(h.default.Vector.sub(h.default.Vector.sub(this.p1, this.c1), Ve), h.default.Vector.mult(Xe, 2)), ve = [], Re = Xe.x * He.y - Xe.y * He.x;\n return Re !== 0 && 0 <= (Ve = (He = Ve.x * He.y - Ve.y * He.x) * He - 4 * Re * (Ve.x * Xe.y - Ve.y * Xe.x)) && (Re < 0 && (Re = -Re, He = -He), Ve = (-He + (Xe = Math.sqrt(Ve))) / (2 * Re), 0 < (He = (-He - Xe) / (2 * Re)) && He < 1 && (ve.push(this.split(He)), Ve = 1 - (1 - Ve) / (1 - He)), 0 < Ve && Ve < 1 && ve.push(this.split(Ve))), ve.push(this), ve;\n } }]), ze;\n }(), X = !0, ne = !1, b = void 0;\n try {\n for (var O, D = x[Symbol.iterator](); !(X = (O = D.next()).done); X = !0) {\n var B = O.value, Y = (B.x - _) / E, K = (B.y - S) / P;\n if (!Me(F, V, Y, K)) {\n switch (B.type) {\n case \"M\":\n G = Y, U = K;\n break;\n case \"L\":\n De(F, V, Y, K);\n break;\n case \"Q\":\n var te = (B.x1 - _) / E, ce = (B.y1 - S) / P;\n ge([F, Y, te], [V, K, ce], { x: F, y: V, cx: te, cy: ce });\n break;\n case \"Z\":\n Me(F, V, G, U) ? A.push({ x: F, y: V }) : (De(F, V, G, U), A.push({ x: G, y: U }));\n break;\n case \"C\":\n for (var re = function($, je, Ce, He, ve, Re, we, Z) {\n var $ = new W(new h.default.Vector($, je), new h.default.Vector(Ce, He), new h.default.Vector(ve, Re), new h.default.Vector(we, Z)).splitInflections(), q = [], ee = 30 / r, pe = !0, je = !1, Ce = void 0;\n try {\n for (var Fe, Ne = $[Symbol.iterator](); !(pe = (Fe = Ne.next()).done); pe = !0) {\n for (var Be = Fe.value, We = [], st = void 0; !(0.125 <= (st = ee / Be.quadError())); ) {\n var nt = Math.pow(st, 0.3333333333333333), Ke = Be.split(nt), at = Be.split(1 - nt / (1 - nt));\n q.push(Ke), We.push(Be), Be = at;\n }\n st < 1 && q.push(Be.split(0.5)), q.push(Be), Array.prototype.push.apply(q, We.reverse());\n }\n } catch (ot) {\n je = !0, Ce = ot;\n } finally {\n try {\n pe || Ne.return == null || Ne.return();\n } finally {\n if (je)\n throw Ce;\n }\n }\n return q;\n }(F, V, (B.x1 - _) / E, (B.y1 - S) / P, (B.x2 - _) / E, (B.y2 - S) / P, Y, K), ue = 0; ue < re.length; ue++) {\n var le = re[ue].toQuadratic();\n ge([le.x, le.x1, le.cx], [le.y, le.y1, le.cy], le);\n }\n break;\n default:\n throw new Error(\"unknown command type: \".concat(B.type));\n }\n F = Y, V = K;\n }\n }\n } catch (ze) {\n ne = !0, b = ze;\n } finally {\n try {\n X || D.return == null || D.return();\n } finally {\n if (ne)\n throw b;\n }\n }\n for (var J = A.length, ae = this.strokeImageInfos.findImage(J), he = ae.index, _e = 0; _e < J; ++_e) {\n var fe = A[_e];\n l(ae, xe(fe.x), xe(fe.y), xe(fe.cx), xe(fe.cy));\n }\n (j = this.glyphInfos[p.index] = { glyph: p, uGlyphRect: [T.x1, -T.y1, T.x2, -T.y2], strokeImageInfo: ae, strokes: A, colInfo: Qe(R, this.colDimImageInfos, this.colCellImageInfos), rowInfo: Qe(M, this.rowDimImageInfos, this.rowCellImageInfos) }).uGridOffset = [j.colInfo.dimOffset, j.rowInfo.dimOffset];\n }\n return j;\n function ge(ze, Ve, Xe) {\n var He = A.length;\n function ve(q, ee, pe) {\n for (var je = q.length; 0 < je--; ) {\n var Ce = q[je];\n Ce < ee && (ee = Ce), pe < Ce && (pe = Ce);\n }\n return { min: ee, max: pe };\n }\n A.push(Xe);\n for (var Xe = ve(ze, 1, 0), ze = Math.max(Math.floor(9 * Xe.min - 0.5), 0), Re = Math.min(Math.ceil(9 * Xe.max + 0.5), 9), we = ze; we < Re; ++we)\n R[we].push(He);\n for (var Xe = ve(Ve, 1, 0), ze = Math.max(Math.floor(9 * Xe.min - 0.5), 0), Z = Math.min(Math.ceil(9 * Xe.max + 0.5), 9), $ = ze; $ < Z; ++$)\n M[$].push(He);\n }\n function xe(ze) {\n return (ze = (Xe = 255) * ze) < (Ve = 0) ? Ve : Xe < ze ? Xe : ze;\n var Ve, Xe;\n }\n function De(ze, Ve, Xe, He) {\n ge([ze, Xe], [Ve, He], { x: ze, y: Ve, cx: (ze + Xe) / 2, cy: (Ve + He) / 2 });\n }\n function Me(ze, Ve, Xe, He) {\n return Math.abs(Xe - ze) < 1e-5 && Math.abs(He - Ve) < 1e-5;\n }\n function Qe(ze, Ve, Xe) {\n for (var He = ze.length, ve = Ve.findImage(He), Ve = ve.index, Re = 0, we = 0; we < He; ++we)\n Re += ze[we].length;\n for (var Z = Xe.findImage(Re), $ = 0; $ < He; ++$) {\n var q = ze[$], ee = q.length, pe = Z.index;\n l(ve, pe >> 7, 127 & pe, ee >> 7, 127 & ee);\n for (var je = 0; je < ee; ++je) {\n var Ce = q[je] + he;\n l(Z, Ce >> 7, 127 & Ce, 0, 0);\n }\n }\n return { cellImageInfo: Z, dimOffset: Ve, dimImageInfo: ve };\n }\n } }]), c;\n }();\n h.default.RendererGL.prototype._renderText = function(c, p, j, T, _) {\n if (this._textFont && typeof this._textFont != \"string\") {\n if (!(_ <= T) && this._doFill) {\n if (this._isOpenType()) {\n c.push();\n var _ = this._doStroke, S = this.drawMode, E = (this._doStroke = !1, this.drawMode = g.TEXTURE, this._textFont.font), P = (P = this._textFont._fontInfo) || (this._textFont._fontInfo = new i(E)), j = this._textFont._handleAlignment(this, p, j, T), T = this._textSize / E.unitsPerEm, x = (this.translate(j.x, j.y, 0), this.scale(T, T, 1), this.GL), j = !this._defaultFontShader, A = this._getFontShader(), M = (A.init(), A.bindShader(), j && (A.setUniform(\"uGridImageSize\", [64, 64]), A.setUniform(\"uCellsImageSize\", [64, 64]), A.setUniform(\"uStrokeImageSize\", [64, 64]), A.setUniform(\"uGridSize\", [9, 9])), this._applyColorBlend(this.curFillColor), this.retainedMode.geometry.glyph), R = (M || ((T = this._textGeom = new h.default.Geometry(1, 1, function() {\n for (var ue = 0; ue <= 1; ue++)\n for (var le = 0; le <= 1; le++)\n this.vertices.push(new h.default.Vector(le, ue, 0)), this.uvs.push(le, ue);\n })).computeFaces().computeNormals(), M = this.createBuffers(\"glyph\", T)), !0), j = !1, T = void 0;\n try {\n for (var L, F = this.retainedMode.buffers.text[Symbol.iterator](); !(R = (L = F.next()).done); R = !0)\n L.value._prepareBuffer(M, A);\n } catch (ue) {\n j = !0, T = ue;\n } finally {\n try {\n R || F.return == null || F.return();\n } finally {\n if (j)\n throw T;\n }\n }\n this._bindBuffer(M.indexBuffer, x.ELEMENT_ARRAY_BUFFER), A.setUniform(\"uMaterialColor\", this.curFillColor), x.pixelStorei(x.UNPACK_PREMULTIPLY_ALPHA_WEBGL, !1);\n try {\n var V = 0, G = null, U = E.stringToGlyphs(p), W = !0, X = !1, ne = void 0;\n try {\n for (var b, O = U[Symbol.iterator](); !(W = (b = O.next()).done); W = !0) {\n var D, B, Y = b.value, K = (G && (V += E.getKerningValue(G, Y)), P.getGlyphInfo(Y));\n K.uGlyphRect && (D = K.rowInfo, B = K.colInfo, A.setUniform(\"uSamplerStrokes\", K.strokeImageInfo.imageData), A.setUniform(\"uSamplerRowStrokes\", D.cellImageInfo.imageData), A.setUniform(\"uSamplerRows\", D.dimImageInfo.imageData), A.setUniform(\"uSamplerColStrokes\", B.cellImageInfo.imageData), A.setUniform(\"uSamplerCols\", B.dimImageInfo.imageData), A.setUniform(\"uGridOffset\", K.uGridOffset), A.setUniform(\"uGlyphRect\", K.uGlyphRect), A.setUniform(\"uGlyphOffset\", V), A.bindTextures(), x.drawElements(x.TRIANGLES, 6, this.GL.UNSIGNED_SHORT, 0)), V += Y.advanceWidth, G = Y;\n }\n } catch (ue) {\n X = !0, ne = ue;\n } finally {\n try {\n W || O.return == null || O.return();\n } finally {\n if (X)\n throw ne;\n }\n }\n } finally {\n A.unbindShader(), this._doStroke = _, this.drawMode = S, x.pixelStorei(x.UNPACK_PREMULTIPLY_ALPHA_WEBGL, !0), c.pop();\n }\n } else\n console.log(\"WEBGL: only Opentype (.otf) and Truetype (.ttf) fonts are supported\");\n return c;\n }\n } else\n console.log(\"WEBGL: you must load and set a font before drawing text. See `loadFont` and `textFont` for more details.\");\n };\n }, { \"../core/constants\": 269, \"../core/main\": 280, \"./p5.RendererGL.Retained\": 336, \"./p5.Shader\": 338, \"core-js/modules/es.array.iterator\": 164, \"core-js/modules/es.object.get-own-property-descriptor\": 183, \"core-js/modules/es.object.to-string\": 187, \"core-js/modules/es.regexp.exec\": 192, \"core-js/modules/es.string.iterator\": 197, \"core-js/modules/es.string.split\": 203, \"core-js/modules/es.string.sub\": 205, \"core-js/modules/es.symbol\": 209, \"core-js/modules/es.symbol.description\": 207, \"core-js/modules/es.symbol.iterator\": 208, \"core-js/modules/es.weak-map\": 241, \"core-js/modules/web.dom-collections.iterator\": 243 }] }, {}, [264])(264);\n });\n})(wn);\nvar Qn = wn.exports;\nconst Kn = /* @__PURE__ */ qn(Qn);\nfunction Jn(yt, Et) {\n return new Kn(yt, Et);\n}\nfunction jn(yt) {\n var Et;\n (Et = yt.current) == null || Et.remove(), yt.current = null;\n}\nfunction $n(yt) {\n const { sketch: Et, children: Vt, ...t } = yt, H = gn(null), C = gn(null);\n return Pr(() => {\n H.current !== null && (jn(C), C.current = Jn(\n Et,\n H.current\n ));\n }, [Et]), Pr(() => {\n var m, y;\n (y = (m = C.current) == null ? void 0 : m.updateWithProps) == null || y.call(m, t);\n }, [t, H]), Pr(() => () => jn(C), []), /* @__PURE__ */ wr.jsx(\"div\", { ref: H, className: Zn, children: Vt });\n}\nfunction eo(yt) {\n const { sketch: Et, fallback: Vt } = yt;\n return Et === void 0 ? (console.error(\"[ReactP5Wrapper] The `sketch` prop is required.\"), Vt !== void 0 ? /* @__PURE__ */ wr.jsx(wr.Fragment, { children: Vt }) : null) : /* @__PURE__ */ wr.jsx(\n $n,\n {\n ...yt\n }\n );\n}\nconst ro = zn(eo, Wn);\nexport {\n Zn as P5WrapperClassName,\n ro as ReactP5Wrapper\n};\n","import { Bodies, World } from \"matter-js\";\n\nexport default function Circle(x, y, r, world, p5) {\n this.body = Bodies.circle(x, y, r, { restitution: 0.3 });\n this.r = r * 2;\n World.add(world, this.body);\n\n this.show = function () {\n let pos = this.body.position;\n let angle = this.body.angle;\n\n p5.push();\n p5.translate(pos.x - p5.width / 2, pos.y - p5.height / 2);\n p5.rotate(angle);\n p5.circle(0, 0, this.r);\n p5.pop();\n };\n}\n","import { Bodies, World } from \"matter-js\";\n\nexport default class Rectangle {\n constructor(x, y, w, h, world, p5, options = {}) {\n this.body = Bodies.rectangle(x, y, w, h, options);\n this.w = w;\n this.h = h;\n World.add(world, this.body);\n this.p5 = p5;\n this.options = options;\n }\n\n show() {\n const pos = this.body.position;\n const angle = this.body.angle;\n const p5 = this.p5;\n\n p5.push();\n p5.translate(pos.x - p5.width / 2, pos.y - p5.height / 2);\n p5.rotate(angle);\n p5.rectMode(p5.CENTER);\n p5.noStroke();\n p5.fill(this.options.fillStyle || \"white\");\n p5.rect(0, 0, this.w, this.h);\n p5.pop();\n }\n}\n","import Rectangle from \"./Rectangle.js\";\n\nexport default class Ground extends Rectangle {\n constructor(x, y, w, h, world, p5) {\n const options = {\n isStatic: true,\n };\n\n super(x, y, w, h, world, p5, options);\n }\n\n show() {\n const pos = this.body.position;\n const angle = this.body.angle;\n const p5 = this.p5;\n\n p5.push();\n p5.translate(pos.x - p5.width / 2, pos.y - p5.height / 2);\n p5.rotate(angle);\n p5.rectMode(p5.CENTER);\n p5.noStroke();\n p5.fill(\"black\");\n p5.rect(0, 0, this.w, this.h);\n p5.pop();\n }\n}\n","import { Engine, Runner, Mouse, MouseConstraint, World } from \"matter-js\";\nimport Circle from \"./Shapes/Circle.js\";\nimport Ground from \"./Shapes/Ground.js\";\n\nexport function sketch(p5) {\n let engine, world, canvas, ground, wallL, wallR, roof;\n\n let objects = [];\n\n p5.setup = () => {\n // Setting canvas\n let w = 650;\n let h = 400;\n canvas = p5.createCanvas(w, h, p5.WEBGL);\n\n // World and engine setup\n engine = Engine.create();\n world = engine.world;\n\n // Make the circles random\n for (let i = 0; i < 7; i++) {\n objects.push(new Circle(50 + i * 100, 100, Math.random() * 40 + 40, world, p5));\n }\n\n // Making the ground, floor, and walls\n ground = new Ground(0, 448, w * 2, 100, world, p5);\n wallL = new Ground(-48, 0, 100, h * 2, world, p5);\n wallR = new Ground(698, 48, 100, h * 2, world, p5);\n roof = new Ground(0, -48, w * 2, 100, world, p5);\n\n const mouse = Mouse.create(canvas.elt);\n mouse.pixelRatio = p5.pixelDensity();\n const mouseConstraint = MouseConstraint.create(engine, {\n mouse: mouse,\n });\n World.add(world, mouseConstraint);\n\n Runner.run(engine);\n };\n\n p5.draw = () => {\n p5.background(255);\n for (let i = 0; i < objects.length; i++) {\n objects[i].show();\n }\n ground.show();\n wallL.show();\n wallR.show();\n roof.show();\n };\n}\n","import React, { useState, useEffect } from \"react\";\nimport { ReactP5Wrapper } from \"@p5-wrapper/react\";\nimport \"./intro.css\";\nimport * as box from \"./sketch.js\";\n\nexport default function Me() {\n const [isLargeScreen, setIsLargeScreen] = useState(window.innerWidth >= 1200);\n\n useEffect(() => {\n const handleResize = () => {\n setIsLargeScreen(window.innerWidth >= 1200);\n };\n\n window.addEventListener(\"resize\", handleResize);\n\n return () => {\n window.removeEventListener(\"resize\", handleResize);\n };\n }, []);\n\n return (\n
        \n
        \n hello, 👋\n

        \n Let me introduce myself, my name is Ghifari Arsa and I am a\n computer science student graduating in November 2024. Allow me to\n share my journey and the projects I've worked on.\n

        \n

        \n I am fluent in various programming languages and frameworks, with\n interest in full-stack development. Whether it's crafting a sleek user\n interface or optimizing backend processes, I love turning ideas into\n reality through code.\n

        \n
        \n {isLargeScreen && (\n
        \n \n built with matter-js and rendered with p5 (through React p5 wrapper) - drag the balls around\n \n \n
        \n )}\n
        \n );\n}\n","export default function TopHeader() {\n return (\n
        \n
        \n ghifari\n arsa\n
        \n
        \n \n \n linkedin\n \n \n \n \n github\n \n \n
        \n
        \n \n reach\n out\n \n
        \n
        \n );\n}\n","export const javascriptSVG = (\n \n \n Created by potrace 1.10, written by Peter Selinger 2001-2011\n \n \n \n \n \n \n);\n\nexport const pythonSVG = (\n \n \n \n);\n\nexport const javaSVG = (\n \n \n \n \n \n \n);\n\nexport const reactSVG = (\n \n ionicons-v5_logos\n \n \n \n);\n\nexport const nodejsSVG = (\n \n \n \n \n \n);\n\nexport const expressjsSVG = (\n \n \n \n\n \n \n \n);\n\nexport const sqlSVG = (\n \n \n \n \n \n \n \n \n);\n\nexport const tailwindSVG = (\n \n \n \n \n);\n","import gof from \"./projects_image/gameoflife.gif\";\nimport todo from \"./projects_image/todo.gif\";\nimport movie from \"./projects_image/movie.png\";\nimport minecraft from \"./projects_image/minecraft.gif\";\nimport homeless from \"./projects_image/homeless.gif\";\n\nexport const gameOfLife = {\n title: \"Game Of Life\",\n description:\n 'A simple implementation of John Conway\\'s \"Game Of Life\" with Chakra UI and React. Project was bootstrapped with npx create-react-app',\n image: gof,\n link: \"https://github.com/GhifariArsa/game-of-life\",\n skills: [\"React\", \"NodeJS\", \"ChakraUI\", \"Javascript\", \"HTML\", \"CSS\"],\n};\n\nexport const TodoApp = {\n title: \"React Todo App\",\n description:\n \"This is a quick and simple implementation of a Todo app created with React and Tailwind CSS. The app implements local storage, thus saving the tasks even when user refreshes the page.\",\n image: todo,\n link: \"https://github.com/GhifariArsa/todo-app-react\",\n skills: [\"React\", \"NodeJS\", \"Javascript\", \"HTML\", \"CSS\"],\n};\n\nexport const movieApp = {\n title: \"React Movie App\",\n description:\n 'This is a full-stack movie application, featuring a catalog of movies, a \"coming soon\" section, user reviews, account creation, and an admin dashboard. Users can browse through detailed movie listings, stay updated on upcoming releases, and read and write reviews. Administrators have access to manage movie listings and reviews through a dedicated dashboard.',\n image: movie,\n skills: [\n \"React\",\n \"NodeJS\",\n \"Bootstrap\",\n \"ExpressJS\",\n \"SQL\",\n \"Postgres\",\n \"Javascript\",\n \"HTML\",\n \"CSS\",\n ],\n link: \"https://github.com/GhifariArsa/school-projects\",\n};\n\nexport const minecraftVil = {\n title: \"Minecraft Procedurally Generated Village\",\n description:\n \"This is a procedurally generated minecraft village, implemented using Python through the MCPI-API. It features, terrain smoothing, randomly generated houses and rooms, all powered by algorithms I designed.\",\n image: minecraft,\n skills: [\"Python\", \"Networking\", \"Algorithms\"],\n link: \"https://github.com/GhifariArsa/school-projects\",\n};\n\nexport const homeless_java = {\n title: \"WebApp built with Java, with Javalin and Thymeleaf\",\n description:\n \"This full-stack web app aims to raise awareness about homelessness in Australia through an interactive data dashboard. The dashboard fetches data on various aspects of homelessness, allowing users to explore it visually with filters based on region, demographics, and other relevant criteria.\",\n image: homeless,\n skills: [\"Java\", \"Javalin\", \"Thymeleaf\", \"HTML\", \"CSS\", \"Javascript\", \"SQL\"],\n link: \"https://github.com/GhifariArsa/school-projects\",\n};\n\nexport const scooter_hiring_app = {\n title: \"Scooter Hiring App, and Integration with with Raspberry PI\",\n description:\n \"This full-stack web application that simulates the functionality and architecture of an electric scooter hiring application. It integrates seamlessly with Raspberry Pi devices via WebSockets and leverages cloud databases for real-time booking and registration management.\",\n image: homeless,\n skills: [\n \"NextJS\",\n \"React\",\n \"TypeScript\",\n \"Python\",\n \"Flask\",\n \"Linux\",\n \"Websockets\",\n \"Google Cloud\",\n \"SQL\",\n ],\n link: \"https://github.com/GhifariArsa/school-projects\",\n};","import { useState } from \"react\";\nimport \"./experience.css\";\n\nexport default function Experience({ title, company, experience, date }) {\n const [isVisible, setIsVisible] = useState(false);\n const handleClick = () => {\n setIsVisible(!isVisible);\n };\n\n return (\n
        \n \n
        \n
        \n

        {title}

        \n {company}\n
        \n
        \n

        {date}

        \n
        \n
        \n
        \n
          \n {experience.map((exp, index) => (\n
        • {exp}
        • \n ))}\n
        \n
        \n \n
        \n );\n}\n","export const kss = {\n company: \"PT.Kreasi Sentra Solusindo\",\n title: \"Software Engineer Intern\",\n experience: [\n \"Successfully gained proficiency in Java programming language, demonstrating the ability to design, develop, and troubleshoot code for various software applications\",\n \"Proficiently employed JasperSoft Studio to design and personalize reports, significantly enhancing the efficiency of report generation.\",\n \"Developed an algorithm for converting numerical values to Indonesian words.\",\n \"Implemented an automated invoicing system, increasing invoicing process speed and efficiency by 100%.\"\n ],\n date: \"Jul 2021 - Nov 2021\",\n};\n\nexport const iff = {\n company: \"Indonesian Film Festival | PPIA University of Melbourne\",\n title: \"Liaison Vice-Coordinator\",\n experience: [\n \"Directed a team of dedicated members in executing liaison tasks for events. Provided guidance, set goals, and ensured effective collaboration among team members.\",\n \"Orchestrated liaison activities for various events, including communication with external stakeholders, sponsors, and partners. Facilitated seamless interactions between different teams to enhance overall event success.\",\n \"Proactively addressed challenges related to liaison activities, demonstrating quick and effective problem-solving skills. Mitigated potential issues to ensure the smooth progress of events.\",\n \"Fostered a culture of collaboration within the liaison team and across different departments. Coordinated efforts to streamline communication channels and enhance efficiency in liaising with external entities.\",\n ],\n date: \"Sep 2023 - Apr 2024\",\n};\n\nexport const soundse = {\n company: \"Soundsekerta | PPIA Monash\",\n title: \"Event Staff\",\n experience: [\n \"Orchestrated and executed all aspects of concert planning, including logistics, scheduling, and coordination of resources to ensure a seamless and successful event.\",\n \"Oversaw the setup, operation, and breakdown of the concert stage. Coordinated with technical teams, performers, and venue staff to guarantee smooth transitions between acts.\",\n \"Led a team of event staff, ensuring clear communication, assigning tasks, and maintaining a cohesive working environment. Managed volunteers effectively during the event.\",\n \"Established effective communication channels with performers, crew, and venue personnel, facilitating a collaborative and efficient work environment.\",\n ],\n date: \"Mar 2023 - Nov 2023\",\n};\n\nexport const woolies = {\n company: \"Woolworths\",\n title: \"Team Member\",\n experience: [\n \"Contribute to the efficient functioning of the store by maintaining neat and organised shelves, monitoring stock levels, and assisting in restocking activities.\",\n \"Provide exceptional customer service by assisting shoppers with inquiries, locating products, and ensuring a positive shopping experience.\",\n \"Work seamlessly with team members to achieve common goals, foster a positive work environment, and contribute to the overall success of the team.\",\n ],\n date: \"Oct 2022 - Present\",\n};\n\n\nexport const reyts = {\n company: \"Reyts Fintech\",\n title: \"Software Developer\",\n experience: [\n \"Tasked to revamp the existing admin dashboard, improving user experience and functionality.\",\n \"Utilized Vue.js to implement a modern, responsive interface while enhancing performance.\",\n \"Gained proficiency in TypeScript during the development process, applying it to optimize code quality and maintainability.\",\n \"Delivered a polished product, receiving positive feedback for improving usability and efficiency.\"\n ],\n date: \"Jun 2024 - Nov 2024\",\n};\n\nexport const kecilin = {\n company: \"AssistX Enterprise\",\n title: \"Full Stack Software Developer\",\n experience: [\n \"Collaborated with generative AI teams to architect and deliver AI-driven solutions for multiple enterprise clients\",\n \"Worked on front-end development efforts using React and Umi.js, creating intuitive and responsive user interfaces\",\n \"Drove the creation of a Copilot product, leveraging AI to streamline and automate key business processes\",\n ],\n date: \"Jan 2025 - Present\",\n};\n","import \"./smallbuttons.css\"\n\nexport default function SmallButtons({ list }) {\n return (\n
        \n {list.map((item) => {\n return ;\n })}\n
        \n );\n}\n","import SmallButtons from \"../small_buttons/SmallButtons\";\nimport \"./projects.css\";\n\nexport default function Projects({ title, description, link, img, skills }) {\n const handleClick = () => {\n window.open(link, \"_blank\");\n };\n return (\n
        \n
        \n

        {title}

        \n

        {description}

        \n {skills ? : <>}\n
        \n
        \n {img ? \"\" : <>}\n {link ? (\n \n ) : (\n <>\n )}\n
        \n
        \n );\n}\n","import \"./App.css\";\nimport Skills from \"./Components/Skills/Skills.js\";\nimport Me from \"./Components/Intro/Me.js\";\nimport TopHeader from \"./Components/TopHeader/TopHeader.js\";\nimport {\n javascriptSVG,\n pythonSVG,\n javaSVG,\n reactSVG,\n nodejsSVG,\n expressjsSVG,\n sqlSVG,\n tailwindSVG,\n} from \"./assets/skillsSVG.js\";\nimport {\n gameOfLife,\n TodoApp,\n movieApp,\n minecraftVil,\n homeless_java,\n scooter_hiring_app,\n} from \"./assets/projectsList.js\";\nimport Experience from \"./Components/Experience/Experience.js\";\nimport {\n kss,\n iff,\n soundse,\n woolies,\n reyts,\n kecilin,\n} from \"./assets/experienceList.js\";\nimport Projects from \"./Components/Projects/Projects.js\";\nimport { useEffect, useState } from \"react\";\n\nfunction App() {\n const projectsList = [\n minecraftVil,\n homeless_java,\n movieApp,\n gameOfLife,\n TodoApp,\n ];\n\n const [isLargeScreen, setIsLargeScreen] = useState(window.innerWidth >= 1200);\n\n useEffect(() => {\n const handleResize = () => {\n setIsLargeScreen(window.innerWidth >= 1200);\n };\n\n window.addEventListener(\"resize\", handleResize);\n\n return () => {\n window.removeEventListener(\"resize\", handleResize);\n };\n }, []);\n return (\n
        \n \n \n
        \n {isLargeScreen ? (\n <>\n
        \n \n \n
        \n
        \n \n

        Technical Skills

        \n
        \n

        \n I am proficient in JavaScript, TypeScript, Python, and Java,\n along with their associated technologies such as Node.js, React,\n NextJS, NestJS and more.\n

        \n

        \n In addition, I have experience with modern cloud technologies,\n particularly AWS and its services, including Lambda and EC2,\n which I have used to build full-stack applications.\n

        \n
        \n \n ) : (\n <>\n
        \n \n

        Technical Skills

        \n
        \n
        \n
        \n \n \n
        \n \n )}\n
        \n
        \n \n

        Experience

        \n

        click to learn more

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

        Volunteering

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

        Projects

        \n
        \n
        \n {projectsList.map((item) => {\n return (\n \n );\n })}\n
        \n
        \n
        \n
        \n Designed in figma, built using React, deployed with AWS.\n
        \n
        thank you for visiting :)
        \n
        \n
        \n );\n}\n\nexport default App;\n","import React from \"react\";\nimport ReactDOM from \"react-dom/client\";\nimport App from \"./App\";\n\nconst root = ReactDOM.createRoot(document.getElementById(\"root\"));\nroot.render(\n \n \n \n);\n"],"names":["factory","modules","installedModules","__webpack_require__","moduleId","exports","module","i","l","call","m","c","d","name","getter","o","Object","defineProperty","enumerable","get","r","Symbol","toStringTag","value","t","mode","__esModule","ns","create","key","bind","n","object","property","prototype","hasOwnProperty","p","s","Common","_baseDelta","_nextId","_seed","_nowStartTime","Date","_warnedOnce","_decomp","extend","obj","deep","argsStart","deepClone","arguments","length","source","prop","constructor","clone","keys","push","values","path","begin","end","split","slice","set","val","parts","shuffle","array","j","Math","floor","random","temp","choose","choices","isElement","HTMLElement","nodeType","nodeName","isArray","toString","isFunction","isPlainObject","isString","clamp","min","max","sign","now","window","performance","webkitNow","_seededRandom","colorToNumber","colorString","replace","charAt","parseInt","logLevel","log","console","apply","concat","Array","info","warn","warnOnce","message","join","deprecated","warning","chain","nextId","indexOf","haystack","needle","map","list","func","mapped","topologicalSort","graph","result","visited","node","_topologicalSort","neighbors","neighbor","funcs","_chained","lastResult","args","chainPathBefore","base","chainPathAfter","setDecomp","decomp","getDecomp","global","e","Bounds","vertices","bounds","x","y","update","velocity","Infinity","vertex","contains","point","overlaps","boundsA","boundsB","translate","vector","shift","position","deltaX","deltaY","Vector","magnitude","sqrt","magnitudeSquared","rotate","angle","output","cos","sin","rotateAbout","normalise","dot","vectorA","vectorB","cross","cross3","vectorC","add","sub","mult","scalar","div","perp","negate","neg","atan2","_temp","Vertices","points","body","index","isInternal","fromPath","match","parseFloat","centre","area","mean","average","signed","abs","inertia","mass","numerator","denominator","v","verticesLength","translateX","translateY","dx","dy","pointX","pointY","nextVertex","scale","scaleX","scaleY","delta","chamfer","radius","quality","qualityMin","qualityMax","newVertices","prevVertex","currentRadius","prevNormal","nextNormal","diagonalRadius","pow","radiusVector","midNormal","scaledVertex","precision","theta","acos","clockwiseSort","sort","vertexA","vertexB","isConvex","k","z","flag","hull","upper","lower","pop","Body","Sleeping","Axes","_timeCorrection","_inertiaScale","_nextCollidingGroupId","_nextNonCollidingGroupId","_nextCategory","options","defaults","id","type","label","plugin","force","torque","positionImpulse","constraintImpulse","totalContacts","speed","angularSpeed","angularVelocity","isSensor","isStatic","isSleeping","motion","sleepThreshold","density","restitution","friction","frictionStatic","frictionAir","collisionFilter","category","mask","group","slop","timeScale","render","visible","opacity","strokeStyle","fillStyle","lineWidth","sprite","xScale","yScale","xOffset","yOffset","events","circleRadius","positionPrev","anglePrev","parent","axes","deltaTime","_original","_initProperties","nextGroup","isNonColliding","nextCategory","defaultFillStyle","defaultStrokeStyle","defaultLineWidth","settings","setStatic","setMass","setDensity","setInertia","setVertices","setPosition","setAngle","setVelocity","setAngularVelocity","setSpeed","setAngularSpeed","setParts","setCentre","part","inverseMass","inverseInertia","moment","fromVertices","autoHull","hullCentre","total","_totalProperties","relative","updateVelocity","getVelocity","getSpeed","getAngularVelocity","getAngularSpeed","translation","rotation","totalArea","totalInertia","deltaTimeSquared","correction","velocityPrevX","velocityPrevY","updateVelocities","bodyVelocity","applyForce","offset","properties","Events","on","eventNames","callback","names","off","callbacks","newCallbacks","trigger","event","eventClone","Composite","isModified","bodies","constraints","composites","cache","allBodies","allConstraints","allComposites","setModified","composite","updateParents","updateChildren","childComposite","objects","addBody","addConstraint","addComposite","constraint","remove","removeBody","removeConstraint","removeComposite","compositeA","compositeB","removeCompositeAt","splice","removeBodyAt","removeConstraintAt","clear","keepStatic","filter","move","rebase","recursive","_motionWakeThreshold","_motionSleepThreshold","_minBias","motionSleepThreshold","minMotion","maxMotion","sleepCounter","afterCollisions","pairs","pair","isActive","collision","bodyA","bodyB","sleepingBody","movingBody","wasSleeping","Collision","Pair","_supports","_overlapAB","overlap","axis","_overlapBA","collided","parentA","parentB","depth","normal","tangent","penetration","supports","collides","_overlapAxes","minOverlap","table","minAxis","minAxisX","minAxisY","supportsB","_findSupports","supportCount","supportsA","verticesA","verticesB","overlapAB","overlapBA","verticesALength","verticesBLength","verticesAX","verticesAY","verticesBX","verticesBY","axesLength","overlapMin","Number","MAX_VALUE","overlapAxisNumber","axisX","axisY","minA","minB","maxA","maxB","_projectToAxis","projection","direction","vertexC","distance","bodyAPositionX","bodyAPositionY","normalX","normalY","nearestDistance","Contact","timestamp","contacts","activeContacts","separation","confirmedActive","timeCreated","timeUpdated","parentAVerticesLength","support","contactId","contact","setActive","Constraint","_warming","_torqueDampen","_minLength","pointA","pointB","initialPointA","initialPointB","stiffness","damping","angularStiffness","angleA","angleB","anchors","preSolveAll","impulse","solveAll","fixedA","fixedB","solve","pointAWorld","pointBWorld","currentLength","share","normalVelocity","relativeVelocity","difference","massTotal","resistanceTotal","zero","postSolveAll","gradient","toFixed","xx","Bodies","rectangle","width","height","trapezoid","slope","verticesPath","x1","x2","x3","circle","maxSides","sides","ceil","polygon","PI","yy","vertexSets","flagInternal","removeCollinear","minimumArea","removeDuplicatePoints","canDecomp","Boolean","quickDecomp","concave","makeCCW","removeCollinearPoints","decomposed","chunkVertices","partA","partB","pav","pbv","da","db","Detector","setBodies","detector","collisions","bodiesLength","canCollide","_compareBoundsX","boundXMax","boundYMax","boundYMin","bodyAStatic","partsALength","partsASingle","partsBLength","partsBStart","filterA","filterB","Mouse","element","mouse","document","absolute","mousedownPosition","mouseupPosition","wheelDelta","button","pixelRatio","getAttribute","sourceEvents","mousemove","mousedown","mouseup","mousewheel","_getRelativeMousePosition","changedTouches","preventDefault","detail","setElement","addEventListener","clearSourceEvents","setOffset","setScale","elementBounds","getBoundingClientRect","rootNode","documentElement","parentNode","scrollX","undefined","pageXOffset","scrollLeft","scrollY","pageYOffset","scrollTop","touches","pageX","left","pageY","top","clientWidth","clientHeight","Plugin","_registry","register","isPlugin","registered","pluginVersion","versionParse","version","number","registeredVersion","resolve","dependency","dependencyParse","range","install","isUsed","used","isFor","parsed","for","versionSatisfies","use","plugins","uses","dependencies","sortedDependencies","status","_warned","tracked","parsedBase","resolved","test","pattern","exec","major","minor","patch","isRange","operator","prerelease","normalImpulse","tangentImpulse","Engine","Resolver","Pairs","engine","positionIterations","velocityIterations","constraintIterations","enableSleeping","gravity","timing","lastDelta","lastElapsed","world","grid","buckets","broadphase","metrics","startTime","_bodiesApplyGravity","_bodiesUpdate","collisionStart","positionDamping","preSolvePosition","solvePosition","postSolvePosition","preSolveVelocity","solveVelocity","_bodiesUpdateVelocities","collisionActive","collisionEnd","_bodiesClearForces","merge","engineA","engineB","gravityScale","_restingThresh","_restingThreshTangent","_positionDampen","_positionWarming","_frictionNormalMultiplier","_frictionMaxStatic","activeCount","pairsLength","contactShare","positionDampen","slopDampen","positionWarming","verticesTranslate","boundsUpdate","positionImpulseX","positionImpulseY","contactsLength","contactVertex","impulseX","impulseY","maxFriction","timeScaleCubed","restingThresh","restingThreshTangent","frictionNormalMultiplier","frictionMaxStatic","bodyAVelocity","bodyBVelocity","tangentX","tangentY","inverseMassTotal","offsetAX","offsetAY","offsetBX","offsetBY","velocityPointAX","velocityPointAY","relativeVelocityX","relativeVelocityY","tangentVelocity","normalOverlap","normalForce","frictionLimit","oAcN","oBcN","contactNormalImpulse","contactTangentImpulse","pairIndex","pairsList","pairsListLength","pairsTable","collisionsLength","removePairIndex","Matter","Composites","Grid","MouseConstraint","Query","Render","Runner","SAT","Svg","World","run","before","after","stack","columns","rows","columnGap","rowGap","lastBody","row","maxHeight","column","bodyHeight","bodyWidth","xOffsetA","yOffsetA","xOffsetB","yOffsetB","bodyAHeight","bodyAWidth","bodyBHeight","mesh","crossBrace","col","bodyC","pyramid","actualRows","lastBodyWidth","newtonsCradle","size","car","wheelSize","wheelAOffset","wheelBOffset","wheelA","wheelB","axelA","axelB","softBody","particleRadius","particleOptions","constraintOptions","bucketWidth","bucketHeight","forceUpdate","bucket","bucketId","gridChanged","newRegion","_getRegion","region","union","_regionUnion","startCol","endCol","startRow","endRow","_getBucketId","isInsideNewRegion","isInsideOldRegion","_bucketRemoveBody","_createBucket","_bucketAddBody","_createActivePairsList","regionA","regionB","_createRegion","gridPairs","pairId","bucketLength","pairKeys","pairKeysLength","canvas","mouseConstraint","_triggerEvents","mouseEvents","partsAStart","ray","startPoint","endPoint","rayWidth","rayAngle","rayLength","rayX","rayY","outside","_requestAnimationFrame","_cancelAnimationFrame","requestAnimationFrame","webkitRequestAnimationFrame","mozRequestAnimationFrame","msRequestAnimationFrame","setTimeout","cancelAnimationFrame","mozCancelAnimationFrame","webkitCancelAnimationFrame","msCancelAnimationFrame","_goodFps","_goodDelta","frameRequestId","historySize","deltaHistory","lastTime","lastTimestamp","timestampElapsed","timestampElapsedHistory","engineDeltaHistory","engineElapsedHistory","elapsedHistory","background","wireframeBackground","hasBounds","enabled","wireframes","showSleeping","showDebug","showStats","showPerformance","showBounds","showVelocity","showCollisions","showSeparations","showAxes","showPositions","showAngleIndicator","showIds","showVertexNumbers","showConvexHulls","showInternalEdges","showMousePosition","_createCanvas","context","getContext","textures","controller","showBroadphase","setPixelRatio","appendChild","loop","time","_updateTiming","stats","stop","_getPixelRatio","setAttribute","style","lookAt","padding","center","viewHeight","outerRatio","innerRatio","startViewTransform","boundsWidth","boundsHeight","boundsScaleX","boundsScaleY","setTransform","endViewTransform","currentBackground","_applyBackground","globalCompositeOperation","fillRect","bodyConvexHulls","bodyWireframes","bodyBounds","bodyAxes","bodyPositions","bodyIds","separations","vertexNumbers","mousePosition","sections","font","textBaseline","textAlign","section","fillText","lastEngineDelta","deltaMean","_mean","elapsedMean","engineDeltaMean","engineElapsedMean","rateMean","fps","gap","round","count","indicator","plotY","beginPath","moveTo","lineTo","stroke","start","arc","closePath","coils","fill","globalAlpha","texture","_getTexture","drawImage","rect","normalPosX","normalPosY","inspector","selected","item","data","setLineDash","selectStart","selectBounds","unshift","createElement","oncontextmenu","onselectstart","devicePixelRatio","webkitBackingStorePixelRatio","mozBackingStorePixelRatio","msBackingStorePixelRatio","oBackingStorePixelRatio","backingStorePixelRatio","imagePath","image","Image","src","cssBackground","backgroundSize","_frameTimeout","clearTimeout","runner","deltaSampleSize","counterTimestamp","frameCounter","timePrev","isFixed","deltaMin","deltaMax","tick","pathToVertices","sampleLength","il","segment","segments","segmentsQueue","lastSegment","lastPoint","lx","ly","addPoint","px","py","pathSegType","isRelative","addSegmentPoint","segType","pathSegTypeAsLetter","toUpperCase","_svgPathToAbsolute","getTotalLength","pathSegList","numberOfItems","getItem","getPathSegAtLength","getPointAtLength","x0","y0","y1","y2","segs","len","seg","replaceItem","createSVGPathSegMovetoAbs","createSVGPathSegLinetoAbs","createSVGPathSegLinetoHorizontalAbs","createSVGPathSegLinetoVerticalAbs","createSVGPathSegCurvetoCubicAbs","createSVGPathSegCurvetoCubicSmoothAbs","createSVGPathSegCurvetoQuadraticAbs","createSVGPathSegCurvetoQuadraticSmoothAbs","createSVGPathSegArcAbs","r1","r2","largeArcFlag","sweepFlag","aa","require","ca","a","b","encodeURIComponent","Set","ea","fa","ha","ia","ja","ka","la","ma","f","g","this","acceptsBooleans","attributeName","attributeNamespace","mustUseProperty","propertyName","sanitizeURL","removeEmptyString","forEach","toLowerCase","ra","sa","ta","pa","isNaN","qa","oa","removeAttribute","setAttributeNS","xlinkHref","ua","__SECRET_INTERNALS_DO_NOT_USE_OR_YOU_WILL_BE_FIRED","va","wa","ya","za","Aa","Ba","Ca","Da","Ea","Fa","Ga","Ha","Ia","Ja","iterator","Ka","La","A","assign","Ma","Error","trim","Na","Oa","prepareStackTrace","Reflect","construct","h","displayName","includes","Pa","tag","Qa","$$typeof","_context","_payload","_init","Ra","Sa","Ta","Va","_valueTracker","getOwnPropertyDescriptor","configurable","getValue","setValue","stopTracking","Ua","Wa","checked","Xa","activeElement","Ya","defaultChecked","defaultValue","_wrapperState","initialChecked","Za","initialValue","controlled","ab","bb","cb","ownerDocument","eb","fb","defaultSelected","disabled","gb","dangerouslySetInnerHTML","children","hb","ib","jb","textContent","kb","lb","mb","nb","namespaceURI","innerHTML","valueOf","firstChild","removeChild","MSApp","execUnsafeLocalFunction","ob","lastChild","nodeValue","pb","animationIterationCount","aspectRatio","borderImageOutset","borderImageSlice","borderImageWidth","boxFlex","boxFlexGroup","boxOrdinalGroup","columnCount","flex","flexGrow","flexPositive","flexShrink","flexNegative","flexOrder","gridArea","gridRow","gridRowEnd","gridRowSpan","gridRowStart","gridColumn","gridColumnEnd","gridColumnSpan","gridColumnStart","fontWeight","lineClamp","lineHeight","order","orphans","tabSize","widows","zIndex","zoom","fillOpacity","floodOpacity","stopOpacity","strokeDasharray","strokeDashoffset","strokeMiterlimit","strokeOpacity","strokeWidth","qb","rb","sb","setProperty","substring","tb","menuitem","br","embed","hr","img","input","keygen","link","meta","param","track","wbr","ub","vb","is","wb","xb","target","srcElement","correspondingUseElement","yb","zb","Ab","Bb","Cb","stateNode","Db","Eb","Fb","Gb","Hb","Ib","Jb","Kb","Lb","Mb","removeEventListener","Nb","onError","Ob","Pb","Qb","Rb","Sb","Tb","Vb","alternate","return","flags","Wb","memoizedState","dehydrated","Xb","Zb","child","sibling","current","Yb","$b","ac","unstable_scheduleCallback","bc","unstable_cancelCallback","cc","unstable_shouldYield","dc","unstable_requestPaint","B","unstable_now","ec","unstable_getCurrentPriorityLevel","fc","unstable_ImmediatePriority","gc","unstable_UserBlockingPriority","hc","unstable_NormalPriority","ic","unstable_LowPriority","jc","unstable_IdlePriority","kc","lc","oc","clz32","pc","qc","LN2","rc","sc","tc","uc","pendingLanes","suspendedLanes","pingedLanes","entangledLanes","entanglements","vc","xc","yc","zc","Ac","eventTimes","Cc","C","Dc","Ec","Fc","Gc","Hc","Ic","Jc","Kc","Lc","Mc","Nc","Oc","Map","Pc","Qc","Rc","Sc","delete","pointerId","Tc","nativeEvent","blockedOn","domEventName","eventSystemFlags","targetContainers","Vc","Wc","priority","isDehydrated","containerInfo","Xc","Yc","dispatchEvent","Zc","$c","ad","bd","cd","ReactCurrentBatchConfig","dd","ed","transition","fd","gd","hd","Uc","stopPropagation","jd","kd","ld","md","nd","od","keyCode","charCode","pd","qd","rd","_reactName","_targetInst","currentTarget","isDefaultPrevented","defaultPrevented","returnValue","isPropagationStopped","cancelBubble","persist","isPersistent","wd","xd","yd","sd","eventPhase","bubbles","cancelable","timeStamp","isTrusted","td","ud","view","vd","Ad","screenX","screenY","clientX","clientY","ctrlKey","shiftKey","altKey","metaKey","getModifierState","zd","buttons","relatedTarget","fromElement","toElement","movementX","movementY","Bd","Dd","dataTransfer","Fd","Hd","animationName","elapsedTime","pseudoElement","Id","clipboardData","Jd","Ld","Md","Esc","Spacebar","Left","Up","Right","Down","Del","Win","Menu","Apps","Scroll","MozPrintableKey","Nd","Od","Alt","Control","Meta","Shift","Pd","Qd","String","fromCharCode","code","location","repeat","locale","which","Rd","Td","pressure","tangentialPressure","tiltX","tiltY","twist","pointerType","isPrimary","Vd","targetTouches","Xd","Yd","wheelDeltaX","wheelDeltaY","deltaZ","deltaMode","Zd","$d","ae","be","documentMode","ce","de","ee","fe","ge","he","ie","le","color","date","datetime","email","month","password","search","tel","text","url","week","me","ne","oe","listeners","pe","qe","re","se","te","ue","ve","we","xe","ye","ze","oninput","Ae","detachEvent","Be","Ce","attachEvent","De","Ee","Fe","He","Ie","Je","Ke","nextSibling","Le","compareDocumentPosition","Me","HTMLIFrameElement","contentWindow","href","Ne","contentEditable","Oe","focusedElem","selectionRange","selectionStart","selectionEnd","defaultView","getSelection","rangeCount","anchorNode","anchorOffset","focusNode","focusOffset","createRange","setStart","removeAllRanges","addRange","setEnd","focus","Pe","Qe","Re","Se","Te","Ue","Ve","We","animationend","animationiteration","animationstart","transitionend","Xe","Ye","Ze","animation","$e","af","bf","cf","df","ef","ff","gf","hf","lf","mf","nf","Ub","instance","listener","D","of","has","pf","qf","rf","sf","capture","passive","J","u","w","F","tf","uf","parentWindow","vf","wf","na","xa","$a","ba","je","char","ke","xf","yf","zf","Af","Bf","Cf","Df","Ef","__html","Ff","Gf","Hf","Promise","Jf","queueMicrotask","then","catch","If","Kf","Lf","Mf","previousSibling","Nf","Of","Pf","Qf","Rf","Sf","Tf","Uf","E","G","Vf","H","Wf","Xf","Yf","contextTypes","__reactInternalMemoizedUnmaskedChildContext","__reactInternalMemoizedMaskedChildContext","Zf","childContextTypes","$f","ag","bg","getChildContext","cg","__reactInternalMemoizedMergedChildContext","dg","eg","fg","gg","hg","jg","kg","lg","mg","ng","og","pg","qg","rg","sg","tg","ug","vg","wg","xg","yg","I","zg","Ag","Bg","elementType","deletions","Cg","pendingProps","overflow","treeContext","retryLane","Dg","Eg","Fg","Gg","memoizedProps","Hg","Ig","Jg","Kg","Lg","ref","_owner","_stringRef","refs","Mg","Ng","Og","Pg","Qg","props","Rg","implementation","Sg","Tg","q","next","done","Ug","Vg","Wg","Xg","Yg","Zg","$g","ah","_currentValue","bh","childLanes","ch","firstContext","lanes","dh","eh","memoizedValue","fh","gh","hh","interleaved","ih","jh","kh","updateQueue","baseState","firstBaseUpdate","lastBaseUpdate","shared","pending","effects","lh","mh","eventTime","lane","payload","nh","K","oh","ph","qh","rh","sh","th","uh","vh","wh","xh","yh","tagName","zh","Ah","Bh","L","Ch","revealOrder","Dh","Eh","_workInProgressVersionPrimary","Fh","ReactCurrentDispatcher","Gh","Hh","M","N","O","Ih","Jh","Kh","Lh","P","Mh","Nh","Oh","Ph","Qh","Rh","Sh","Th","baseQueue","queue","Uh","Vh","Wh","lastRenderedReducer","action","hasEagerState","eagerState","lastRenderedState","dispatch","Xh","Yh","Zh","$h","ai","getSnapshot","bi","ci","Q","di","lastEffect","stores","ei","fi","gi","hi","ii","destroy","deps","ji","ki","li","mi","ni","oi","pi","qi","ri","si","ti","ui","vi","wi","xi","yi","zi","Ai","R","Bi","readContext","useCallback","useContext","useEffect","useImperativeHandle","useInsertionEffect","useLayoutEffect","useMemo","useReducer","useRef","useState","useDebugValue","useDeferredValue","useTransition","useMutableSource","useSyncExternalStore","useId","unstable_isNewReconciler","identifierPrefix","Ci","defaultProps","Di","Ei","isMounted","_reactInternals","enqueueSetState","enqueueReplaceState","enqueueForceUpdate","Fi","shouldComponentUpdate","isPureReactComponent","Gi","contextType","state","updater","Hi","componentWillReceiveProps","UNSAFE_componentWillReceiveProps","Ii","getDerivedStateFromProps","getSnapshotBeforeUpdate","UNSAFE_componentWillMount","componentWillMount","componentDidMount","Ji","digest","Ki","Li","error","Mi","WeakMap","Ni","Oi","Pi","Qi","getDerivedStateFromError","componentDidCatch","Ri","componentStack","Si","pingCache","Ti","Ui","Vi","Wi","ReactCurrentOwner","Xi","Yi","Zi","$i","aj","compare","bj","cj","dj","baseLanes","cachePool","transitions","ej","fj","gj","hj","ij","UNSAFE_componentWillUpdate","componentWillUpdate","componentDidUpdate","jj","kj","pendingContext","lj","zj","Aj","Bj","Cj","mj","nj","oj","fallback","pj","qj","sj","dataset","dgst","tj","uj","_reactRetry","rj","subtreeFlags","vj","wj","isBackwards","rendering","renderingStartTime","last","tail","tailMode","xj","Dj","S","Ej","Fj","wasMultiple","multiple","suppressHydrationWarning","onClick","onclick","createElementNS","autoFocus","createTextNode","T","Gj","Hj","Ij","Jj","U","Kj","WeakSet","V","Lj","W","Mj","Nj","Pj","Qj","Rj","Sj","Tj","Uj","Vj","insertBefore","_reactRootContainer","Wj","X","Xj","Yj","Zj","onCommitFiberUnmount","componentWillUnmount","ak","bk","ck","dk","ek","isHidden","fk","gk","display","hk","ik","jk","kk","__reactInternalSnapshotBeforeUpdate","Vk","lk","mk","nk","ok","Y","Z","pk","qk","rk","sk","tk","uk","vk","wk","xk","yk","zk","Ak","Bk","Ck","Dk","callbackNode","expirationTimes","expiredLanes","wc","callbackPriority","ig","Ek","Fk","Gk","Hk","Ik","Jk","Kk","Lk","Mk","Nk","Ok","finishedWork","finishedLanes","Pk","timeoutHandle","Qk","Rk","Sk","Tk","Uk","mutableReadLanes","Bc","Oj","onCommitFiberRoot","mc","onRecoverableError","Wk","onPostCommitFiberRoot","Xk","Yk","$k","isReactComponent","pendingChildren","al","mutableSourceEagerHydrationData","bl","pendingSuspenseBoundaries","dl","el","fl","gl","hl","yj","Zk","kl","reportError","ll","_internalRoot","ml","nl","ol","pl","rl","ql","unmount","unstable_scheduleHydration","querySelectorAll","JSON","stringify","form","sl","usingClientEntryPoint","tl","findFiberByHostInstance","bundleType","rendererPackageName","ul","rendererConfig","overrideHookState","overrideHookStateDeletePath","overrideHookStateRenamePath","overrideProps","overridePropsDeletePath","overridePropsRenamePath","setErrorHandler","setSuspenseHandler","scheduleUpdate","currentDispatcherRef","findHostInstanceByFiber","findHostInstancesForRefresh","scheduleRefresh","scheduleRoot","setRefreshHandler","getCurrentFiber","reconcilerVersion","__REACT_DEVTOOLS_GLOBAL_HOOK__","vl","isDisabled","supportsFiber","inject","createPortal","cl","createRoot","unstable_strictMode","findDOMNode","flushSync","hydrate","hydrateRoot","hydratedSources","_getVersion","_source","unmountComponentAtNode","unstable_batchedUpdates","unstable_renderSubtreeIntoContainer","checkDCE","err","__self","__source","Fragment","jsx","jsxs","setState","escape","_status","_result","default","Children","toArray","only","Component","Profiler","PureComponent","StrictMode","Suspense","act","cloneElement","createContext","_currentValue2","_threadCount","Provider","Consumer","_defaultValue","_globalName","createFactory","createRef","forwardRef","isValidElement","lazy","memo","startTransition","unstable_act","sortIndex","setImmediate","expirationTime","priorityLevel","navigator","scheduling","isInputPending","MessageChannel","port2","port1","onmessage","postMessage","unstable_Profiling","unstable_continueExecution","unstable_forceFrameRate","unstable_getFirstCallbackNode","unstable_next","unstable_pauseExecution","unstable_runWithPriority","delay","unstable_wrapCallback","_typeof","_regeneratorRuntime","asyncIterator","define","writable","wrap","Generator","Context","makeInvokeMethod","tryCatch","arg","GeneratorFunction","GeneratorFunctionPrototype","getPrototypeOf","defineIteratorMethods","_invoke","AsyncIterator","invoke","__await","callInvokeWithMethodAndArg","method","delegate","maybeInvokeDelegate","sent","_sent","dispatchException","abrupt","TypeError","resultName","nextLoc","pushTryEntry","tryLoc","catchLoc","finallyLoc","afterLoc","tryEntries","resetTryEntry","completion","reset","isGeneratorFunction","mark","setPrototypeOf","__proto__","awrap","async","reverse","prev","rval","handle","complete","finish","delegateYield","runtime","regeneratorRuntime","accidentalStrictMode","globalThis","Function","__webpack_module_cache__","cachedModule","__webpack_modules__","Skills","_ref","skills","_jsxs","className","_jsx","Hn","RegExp","xn","yt","Et","Vt","cyclesFix","oldValue","_r","self","qn","vn","Ar","pr","_n","Xn","wr","Zn","xr","wn","byteLength","toByteArray","charCodeAt","fromByteArray","_","Uint8Array","Buffer","SlowBuffer","alloc","INSPECT_MAX_BYTES","RangeError","isEncoding","write","ArrayBuffer","isView","buffer","from","isBuffer","copy","toPrimitive","_e","lastIndexOf","readUInt16BE","kMaxLength","TYPED_ARRAY_SUPPORT","foo","byteOffset","species","poolSize","allocUnsafe","allocUnsafeSlow","_isBuffer","swap16","swap32","swap64","toLocaleString","equals","inspect","isFinite","substr","toJSON","_arr","subarray","readUIntLE","readUIntBE","readUInt8","readUInt16LE","readUInt32LE","readUInt32BE","readIntLE","readIntBE","readInt8","readInt16LE","readInt16BE","readInt32LE","readInt32BE","readFloatLE","read","readFloatBE","readDoubleLE","readDoubleBE","writeUIntLE","writeUIntBE","writeUInt8","writeUInt16LE","writeUInt16BE","writeUInt32LE","writeUInt32BE","writeIntLE","writeIntBE","writeInt8","writeInt16LE","writeInt16BE","writeInt32LE","writeInt32BE","writeFloatLE","writeFloatBE","writeDoubleLE","writeDoubleBE","copyWithin","ieee754","DataView","Int8Array","Uint8ClampedArray","isPrototypeOf","opera","Int16Array","Uint16Array","Int32Array","Uint32Array","Float32Array","Float64Array","NATIVE_ARRAY_BUFFER_VIEWS","TYPED_ARRAY_TAG","aTypedArray","aTypedArrayConstructor","exportTypedArrayMethod","exportTypedArrayStaticMethod","isTypedArray","TypedArray","TypedArrayPrototype","bytes","pack","unpack","NaN","setInt8","getInt8","setUint8","unsafe","getUint8","getInt16","getUint16","getInt32","getUint32","getFloat32","getFloat64","setInt16","setUint16","setInt32","setUint32","setFloat32","setFloat64","some","every","find","findIndex","ACCESSORS","right","callee","fastKey","getterFor","getConstructor","previous","removed","first","setStrong","kind","frozen","entries","getWeakData","REQUIRED","forced","IteratorPrototype","BUGGY_SAFARI_ITERATORS","proto","CSSRuleList","CSSStyleDeclaration","CSSValueList","ClientRectList","DOMRectList","DOMStringList","DOMTokenList","DataTransferItemList","FileList","HTMLAllCollection","HTMLCollection","HTMLFormElement","HTMLSelectElement","MediaList","MimeTypeArray","NamedNodeMap","NodeList","PaintRequestList","PluginArray","SVGLengthList","SVGNumberList","SVGPathSegList","SVGPointList","SVGStringList","SVGTransformList","SourceBufferList","StyleSheetList","TextTrackCueList","TextTrackList","TouchList","process","versions","v8","stat","noTargetGet","sham","groups","REPLACE_KEEPS_$0","REGEXP_REPLACE_SUBSTITUTES_UNDEFINED_CAPTURE","isExtensible","preventExtensions","propertyIsEnumerable","inspectSource","objectID","weakData","onFreeze","enforce","normalize","NATIVE","POLYFILL","stopped","MutationObserver","WebKitMutationObserver","domain","exit","fn","enter","nextTick","observe","characterData","getOwnPropertySymbols","URL","searchParams","pathname","URLSearchParams","username","host","hash","promise","reject","ActiveXObject","close","open","defineProperties","getOwnPropertyNames","lastIndex","UNSUPPORTED_Y","BROKEN_CARET","sticky","multiline","ignoreCase","dotAll","unicode","copyright","codeAt","protocol","clearImmediate","Dispatch","importScripts","$","withoutSetter","flatMap","flat","Arguments","hypot","log2","fromEntries","createEvent","PromiseRejectionEvent","finally","all","notified","reactions","st","fail","nt","at","rejection","ot","bt","emit","reason","initEvent","fetch","race","endsWith","string","padStart","startsWith","description","QObject","findChild","keyFor","useSetter","useSimple","BYTES_PER_ELEMENT","decodeURIComponent","updateURL","updateSearchParams","append","getAll","headers","getState","Ge","rt","cannotBeABaseURL","scheme","ct","ut","Pt","Ut","Ct","port","query","fragment","Mt","It","Nt","Kt","Xt","Jt","jt","origin","ft","Dt","At","gt","Ft","hostname","it","ht","pt","mt","Bt","ftp","file","http","https","ws","wss","createObjectURL","revokeObjectURL","polyfill","runOnLoop","runOnContext","_state","_label","_onerror","_subscribers","_enumerate","_eachEntry","_instanceConstructor","_settledAt","_remaining","_willSettleAt","_setScheduler","_setAsap","_asap","cast","ES6Promise","_process","getElementById","getElementsByTagName","timeout","jsonpCallback","jsonpCallbackFunction","json","charset","onerror","fetchJsonp","userAgent","webkitURL","safari","Blob","readyState","INIT","download","MouseEvent","DONE","FileReader","onloadend","readAsDataURL","msSaveOrOpenBlob","abort","WRITING","onwritestart","onprogress","onwrite","onabort","onwriteend","content","saveAs","GIFEncoder","applyPalette","nearestColor","nearestColorIndex","nearestColorIndexWithDistance","prequantize","roundRGB","roundAlpha","oneBitAlpha","quantize","format","clearAlpha","clearAlphaColor","clearAlphaThreshold","useSqrt","cnt","fw","tm","mtm","nn","snapColorsToPalette","signature","trailer","extensionIntroducer","applicationExtensionLabel","graphicControlExtensionLabel","imageSeparator","signatureSize","versionSize","globalColorTableFlagMask","colorResolutionMask","sortFlagMask","globalColorTableSizeMask","applicationIdentifierSize","applicationAuthCodeSize","disposalMethodMask","userInputFlagMask","transparentColorFlagMask","localColorTableFlagMask","interlaceFlagMask","idSortFlagMask","localColorTableSizeMask","bytesView","writeByte","writeBytes","writeBytesView","initialCapacity","auto","stream","writeHeader","writeFrame","transparent","transparentIndex","palette","colorDepth","dispose","libtess","GluTesselator","windingRule","GLU_TESS_WINDING_ODD","GLU_TESS_WINDING_NONZERO","GLU_TESS_WINDING_POSITIVE","GLU_TESS_WINDING_NEGATIVE","GLU_TESS_WINDING_ABS_GEQ_TWO","primitiveType","GL_LINE_LOOP","GL_TRIANGLES","GL_TRIANGLE_STRIP","GL_TRIANGLE_FAN","errorType","GLU_TESS_MISSING_BEGIN_POLYGON","GLU_TESS_MISSING_END_POLYGON","GLU_TESS_MISSING_BEGIN_CONTOUR","GLU_TESS_MISSING_END_CONTOUR","GLU_TESS_COORD_TOO_LARGE","GLU_TESS_NEED_COMBINE_CALLBACK","gluEnum","GLU_TESS_MESH","GLU_TESS_TOLERANCE","GLU_TESS_WINDING_RULE","GLU_TESS_BOUNDARY_ONLY","GLU_INVALID_ENUM","GLU_INVALID_VALUE","GLU_TESS_BEGIN","GLU_TESS_VERTEX","GLU_TESS_END","GLU_TESS_ERROR","GLU_TESS_EDGE_FLAG","GLU_TESS_COMBINE","GLU_TESS_BEGIN_DATA","GLU_TESS_VERTEX_DATA","GLU_TESS_END_DATA","GLU_TESS_ERROR_DATA","GLU_TESS_EDGE_FLAG_DATA","GLU_TESS_COMBINE_DATA","gluDeleteTess","gluTessProperty","gluGetTessProperty","gluTessNormal","gluTessCallback","gluTessVertex","gluTessBeginPolygon","gluTessBeginContour","gluTessEndContour","gluTessEndPolygon","addFrame","disposal","getOutputBuffer","setOutputBuffer","getOutputBufferPosition","setOutputBufferPosition","GifWriter","GifReader","has_local_palette","palette_offset","palette_size","data_offset","data_length","transparent_index","interlaced","numFrames","loopCount","frameInfo","decodeAndBlitFrameBGRA","decodeAndBlitFrameRGBA","codePointAt","trans","sourceIndex","bitcount","dest","destLen","ltree","dtree","lt","commands","isEmpty","addX","addY","addBezier","addQuad","curveTo","bezierCurveTo","quadTo","quadraticCurveTo","getBoundingBox","draw","toPathData","toSVG","toDOMElement","argument","assert","BYTE","CHAR","CHARARRAY","USHORT","SHORT","UINT24","ULONG","LONG","FIXED","FWORD","UFWORD","LONGDATETIME","TAG","Card8","Card16","OffSize","SID","NUMBER","NUMBER16","NUMBER32","REAL","NAME","STRING","UTF8","UTF16","macintosh","MACSTRING","VARDELTAS","INDEX","OBJECT","DICT","OPERAND","OPERATOR","OP","tableName","fields","glyphs","script","defaultLangSys","reqFeatureIndex","featureIndexes","langSysRecords","langSys","feature","featureParams","lookupListIndexes","lookupType","lookupFlag","subtables","CHARSTRING","TABLE","RECORD","LITERAL","encode","sizeOf","Table","Record","Coverage","ScriptList","FeatureList","LookupList","ushortList","tableList","recordList","byte","uShort","short","uLong","fixed","longDateTime","relativeOffset","parseByte","parseChar","parseCard8","parseCard16","parseUShort","parseSID","parseOffset16","parseShort","parseF2Dot14","parseOffset32","parseULong","parseFixed","parseString","parseTag","parseLongDateTime","parseVersion","skip","parseULongList","parseOffset16List","parseUShortList","parseShortList","parseByteList","parseList","parseList32","parseRecordList","parseRecordList32","parseStruct","parseValueRecord","xPlacement","yPlacement","xAdvance","yAdvance","xPlaDevice","yPlaDevice","xAdvDevice","yAdvDevice","parseValueRecordList","parsePointer","parsePointer32","parseListOfLists","parseCoverage","ranges","parseClassDef","startGlyph","classes","classId","list32","recordList32","pointer","pointer32","offset16","uShortList","offset32","uLongList","struct","coverage","classDef","reserved","parseScriptList","parseFeatureList","parseLookupList","markFilteringSet","parseFeatureVariationsList","conditionSetOffset","featureTableSubstitutionOffset","getByte","getCard8","getUShort","getCard16","getShort","getULong","getFixed","getTag","getOffset","getBytes","bytesToString","Parser","parse","numTables","language","groupCount","glyphIndexMap","segCount","et","tt","dt","wt","Ot","Rt","Ht","Wt","Qt","xt","St","vt","make","unicodes","glyphIndex","glyphId","segCountX2","searchRange","entrySelector","rangeShift","cmap4Length","cmap12Offset","cmap","encoding","numberOfGlyphs","glyphNameIndex","charToGlyphIndex","nameToGlyphIndex","glyphIndexToName","line","bindConstructorValues","xMin","yMin","xMax","yMax","advanceWidth","addUnicode","getPath","hinting","getCommands","unitsPerEm","getContours","lastPointOfContour","getMetrics","leftSideBearing","rightSideBearing","drawPoints","drawMetrics","GlyphSet","glyphLoader","ttfGlyphLoader","cffGlyphLoader","startOffset","endOffset","op","_subrs","_subrsBias","private","_defaultWidthX","defaultWidthX","_nominalWidthX","nominalWidthX","subrs","_privateDict","isCIDFont","tables","cff","topDict","_fdSelect","_fdArray","qt","kt","zt","Tt","Gt","gsubrsBias","gsubrs","dict","topDicts","charStrings","formatMajor","formatMinor","offsetSize","ros","fdArray","fdSelect","numGlyphs","subrsBias","nGlyphs","cffEncoding","fullName","familyName","weight","weightName","fontBBox","fontMatrix","header","nameIndex","postScriptName","topDictIndex","globalSubrIndex","charsets","charStringsIndex","privateDict","stringIndex","strings","fontRevision","checkSumAdjustment","magicNumber","created","modified","macStyle","lowestRecPPEM","fontDirectionHint","indexToLocFormat","glyphDataFormat","getTime","createdTimestamp","ascender","descender","lineGap","advanceWidthMax","minLeftSideBearing","minRightSideBearing","xMaxExtent","caretSlopeRise","caretSlopeRun","caretOffset","metricDataFormat","numberOfHMetrics","maxPoints","maxContours","maxCompositePoints","maxCompositeContours","maxZones","maxTwilightPoints","maxStorage","maxFunctionDefs","maxInstructionDefs","maxStackElements","maxSizeOfInstructions","maxComponentElements","maxComponentDepth","platformID","encodingID","languageID","nameID","xAvgCharWidth","usWeightClass","usWidthClass","fsType","ySubscriptXSize","ySubscriptYSize","ySubscriptXOffset","ySubscriptYOffset","ySuperscriptXSize","ySuperscriptYSize","ySuperscriptXOffset","ySuperscriptYOffset","yStrikeoutSize","yStrikeoutPosition","sFamilyClass","panose","ulUnicodeRange1","ulUnicodeRange2","ulUnicodeRange3","ulUnicodeRange4","achVendID","fsSelection","usFirstCharIndex","usLastCharIndex","sTypoAscender","sTypoDescender","sTypoLineGap","usWinAscent","usWinDescent","ulCodePageRange1","ulCodePageRange2","sxHeight","sCapHeight","usDefaultChar","usBreakChar","usMaxContent","unicodeRanges","getUnicodeRange","Lr","italicAngle","underlinePosition","underlineThickness","isFixedPitch","minMemType42","maxMemType42","minMemType1","maxMemType1","Yt","ar","substFormat","deltaGlyphId","substitute","sequences","alternateSets","ligatureSets","ligGlyph","components","sequenceIndex","lookupListIndex","ruleSets","lookupRecords","classSets","coverages","chainRuleSets","backtrack","lookahead","backtrackClassDef","inputClassDef","lookaheadClassDef","chainClassSet","backtrackCoverage","inputCoverage","lookaheadCoverage","extension","substitutes","yr","Rr","scripts","features","lookups","variations","Ir","Dr","Sr","Fr","Ur","Nr","Sn","fontToTable","advanceWidthAvg","fr","ur","maxLeftSideBearing","os2","hasChar","getEnglishName","uniqueID","en","preferredFamily","fontFamily","preferredSubfamily","fontSubfamily","metas","gsub","computeCheckSum","Tr","Br","Gr","gr","vr","$t","Vr","zr","ir","Hr","Tn","numberOfContours","_xMin","_yMin","_xMax","_yMax","endPointIndices","instructionLength","instructions","onCurve","isComposite","scale01","scale10","matchedPoints","Er","Wr","En","searchTag","binSearch","getTable","createDefaultTable","getScriptNames","getDefaultScriptName","getScriptTable","getLangSysTable","getFeatureTable","params","getLookupTables","getGlyphClass","getCoverageIndex","expandCoverage","init","defaultKerningTables","getKerningTables","getKerningValue","posFormat","pairSets","secondGlyph","value1","classDef1","classDef2","classRecords","gpos","getSingle","by","getAlternates","getLigatures","addSingle","addAlternate","addLigature","getFeature","qr","Xr","_fpgmState","_prepState","_errorState","Mn","Yr","kn","Cn","On","Pn","Zr","srPeriod","srPhase","srThreshold","trunc","er","xo","interpolate","setRelative","normalSlope","NEGATIVE_INFINITY","yo","touch","xTouched","touched","untouch","tr","POSITIVE_INFINITY","yTouched","cr","freeze","dr","rr","prevPointOnContour","nextPointOnContour","nextTouched","prevTouched","An","cvCutIn","deltaBase","deltaShift","minDis","autoFlip","nr","env","prog","zp0","zp1","zp2","rp0","rp1","rp2","fv","pv","dpv","tZone","gZone","Qr","ip","Kr","DEBUG","step","Jr","$r","z2","z1","tn","Mr","rn","z0","sn","contours","an","ln","un","cvt","cn","dn","kr","ppem","jr","Cr","hn","or","sr","fpgm","lr","prep","Ln","inhibitGridFit","Rn","store","ignoreCvt","In","_t","empty","styleName","designer","designerURL","manufacturer","manufacturerURL","license","licenseURL","trademark","weightClass","usWeightClasses","MEDIUM","widthClass","usWidthClasses","fsSelectionValues","REGULAR","supported","substitution","_hinting","outlinesFormat","pn","charToGlyph","stringToGlyphs","defaultRenderOptions","liga","rlig","glyphNames","nameToGlyph","kerningPairs","kerning","forEachGlyph","letterSpacing","tracking","getPaths","getAdvanceWidth","validate","toTables","toBuffer","toArrayBuffer","requestFileSystem","webkitRequestFileSystem","TEMPORARY","root","getFile","createWriter","toURL","writeFileSync","ITALIC","UNDERSCORE","NEGATIVE","OUTLINED","STRIKEOUT","BOLD","USER_TYPO_METRICS","WWS","OBLIQUE","ULTRA_CONDENSED","EXTRA_CONDENSED","CONDENSED","SEMI_CONDENSED","SEMI_EXPANDED","EXPANDED","EXTRA_EXPANDED","ULTRA_EXPANDED","THIN","EXTRA_LIGHT","LIGHT","NORMAL","SEMI_BOLD","EXTRA_BOLD","BLACK","Dn","instances","offsetToData","minValue","maxValue","coordinates","Zt","valueFormat1","valueFormat2","value2","class1Count","class2Count","Fn","Un","Nn","Bn","Gn","readFile","Vn","XMLHttpRequest","responseType","onload","response","statusText","send","mn","checksum","compression","Lt","compressedLength","Or","yn","head","hhea","maxp","post","fvar","Font","Glyph","Path","BoundingBox","_parse","load","loadSync","readFileSync","opentype","fs","cwd","isAbsolute","sep","delimiter","dirname","basename","extname","fun","title","browser","argv","addListener","once","removeListener","removeAllListeners","prependListener","prependOnceListener","binding","chdir","umask","bodyUsed","readAsArrayBuffer","_initBody","_bodyInit","_bodyText","_bodyBlob","FormData","_bodyFormData","_bodyArrayBuffer","blob","arrayBuffer","readAsText","formData","credentials","referrer","redirect","Headers","Request","Response","getAllResponseHeaders","responseURL","responseText","ontimeout","withCredentials","setRequestHeader","_rgbColorName","_rgbaToHSBA","describe","_validateParameters","dummyDOM","descriptions","_describeHTML","LABEL","describeElement","fallbackElements","_describeElementHTML","labelElements","querySelector","insertAdjacentHTML","_updateGridOutput","_accessibleOutputs","pos","numShapes","details","ingredients","shapes","colors","loc","locY","locX","summary","shapeDetails","textOutput","_createOutput","textLabel","gridOutput","gridLabel","_addAccsOutput","pShapes","pBackground","_updateAccsOutput","_updateTextOutput","_accsBackground","backgroundRGBA","_accsCanvasColors","fillRGBA","strokeRGBA","_accsOutput","dist","_getPos","_getArea","DOMPointReadOnly","_renderer","isP3D","DOMMatrix","uMVMatrix","mat4","drawingContext","getTransform","matrixTransform","_pixelDensity","DOMPoint","inverse","listShapes","ColorConversion","_hsbaToHSLA","_hsbaToRGBA","_hslaToHSBA","_hslaToRGBA","_rgbaToHSLA","alpha","_getAlpha","blue","_getBlue","brightness","_getBrightness","Color","green","_getGreen","hue","_getHue","lerpColor","_colorMode","_colorMaxes","RGB","levels","HSB","hsba","HSL","_getLightness","hsla","lerp","lightness","red","_getRed","saturation","_getSaturation","aliceblue","antiquewhite","aqua","aquamarine","azure","beige","bisque","black","blanchedalmond","blueviolet","brown","burlywood","cadetblue","chartreuse","chocolate","coral","cornflowerblue","cornsilk","crimson","cyan","darkblue","darkcyan","darkgoldenrod","darkgray","darkgreen","darkgrey","darkkhaki","darkmagenta","darkolivegreen","darkorange","darkorchid","darkred","darksalmon","darkseagreen","darkslateblue","darkslategray","darkslategrey","darkturquoise","darkviolet","deeppink","deepskyblue","dimgray","dimgrey","dodgerblue","firebrick","floralwhite","forestgreen","fuchsia","gainsboro","ghostwhite","gold","goldenrod","gray","greenyellow","grey","honeydew","hotpink","indianred","indigo","ivory","khaki","lavender","lavenderblush","lawngreen","lemonchiffon","lightblue","lightcoral","lightcyan","lightgoldenrodyellow","lightgray","lightgreen","lightgrey","lightpink","lightsalmon","lightseagreen","lightskyblue","lightslategray","lightslategrey","lightsteelblue","lightyellow","lime","limegreen","linen","magenta","maroon","mediumaquamarine","mediumblue","mediumorchid","mediumpurple","mediumseagreen","mediumslateblue","mediumspringgreen","mediumturquoise","mediumvioletred","midnightblue","mintcream","mistyrose","moccasin","navajowhite","navy","oldlace","olive","olivedrab","orange","orangered","orchid","palegoldenrod","palegreen","paleturquoise","palevioletred","papayawhip","peachpuff","peru","pink","plum","powderblue","purple","rebeccapurple","rosybrown","royalblue","saddlebrown","salmon","sandybrown","seagreen","seashell","sienna","silver","skyblue","slateblue","slategray","slategrey","snow","springgreen","steelblue","tan","teal","thistle","tomato","turquoise","violet","wheat","white","whitesmoke","yellow","yellowgreen","HEX3","HEX4","HEX6","HEX8","RGB_PERCENT","RGBA","RGBA_PERCENT","HSLA","HSBA","_storeModeAndMaxes","_array","_parseInputs","_calculateLevels","maxes","toPrecision","beginClip","endClip","clip","colorMode","_setProperty","noFill","noStroke","erase","noErase","QUADRATIC","LINEAR","_CTX_MIDDLE","_DEFAULT_LEADMULT","_DEFAULT_TEXT_FILL","WORD","BOLDITALIC","BLUR","ERODE","DILATE","POSTERIZE","INVERT","OPAQUE","GRAY","THRESHOLD","BURN","DODGE","SOFT_LIGHT","HARD_LIGHT","OVERLAY","REPLACE","SCREEN","MULTIPLY","EXCLUSION","SUBTRACT","DIFFERENCE","LIGHTEST","DARKEST","ADD","REMOVE","BLEND","UP_ARROW","TAB","SHIFT","RIGHT_ARROW","RETURN","OPTION","LEFT_ARROW","ESCAPE","ENTER","DOWN_ARROW","DELETE","CONTROL","BACKSPACE","ALT","AUTO","MITER","BEVEL","ROUND","SQUARE","PROJECT","PIE","CHORD","OPEN","CLOSE","TESS","QUAD_STRIP","QUADS","TRIANGLE_STRIP","TRIANGLE_FAN","TRIANGLES","LINE_LOOP","LINE_STRIP","LINES","POINTS","BASELINE","BOTTOM","TOP","CENTER","LEFT","RIGHT","RADIUS","CORNERS","CORNER","RAD_TO_DEG","DEG_TO_RAD","RADIANS","DEGREES","TWO_PI","TAU","QUARTER_PI","HALF_PI","WAIT","TEXT","MOVE","HAND","CROSS","ARROW","WEBGL2","WEBGL","P2D","VERSION","HALF_FLOAT","FLOAT","UNSIGNED_INT","UNSIGNED_BYTE","COVER","CONTAIN","FALLBACK","AXES","GRID","_DEFAULT_FILL","_DEFAULT_STROKE","PORTRAIT","LANDSCAPE","SMOOTH","FLAT","MIRROR","CLAMP","REPEAT","NEAREST","IMAGE","IMMEDIATE","TEXTURE","FILL","STROKE","CURVE","BEZIER","_frameRate","_lastFrameTime","_targetFrameRate","print","innerWidth","innerHeight","confirm","frameCount","focused","hasFocus","cursor","_curElement","elt","frameRate","getFrameRate","setFrameRate","getTargetFrameRate","noCursor","webglVersion","displayWidth","screen","displayHeight","windowWidth","windowHeight","_onresize","_isGlobal","windowResized","fullscreen","fullscreenElement","webkitFullscreenElement","mozFullScreenElement","msFullscreenElement","fullscreenEnabled","webkitFullscreenEnabled","mozFullScreenEnabled","msFullscreenEnabled","requestFullscreen","mozRequestFullScreen","webkitRequestFullscreen","msRequestFullscreen","exitFullscreen","mozCancelFullScreen","webkitExitFullscreen","msExitFullscreen","pixelDensity","_maxAllowedPixelDimensions","resizeCanvas","displayDensity","getURL","getURLPath","getURLParams","_friendlyError","_checkForUserDefinedFunctions","_fesErrorMonitor","_helpForMisusedAtTopLevelCode","_friendlyFileLoadError","_fesCodeReader","stacktrace","parseOpera","parseV8OrIE","parseFFOrSafari","extractLocation","functionName","fileName","lineNumber","columnNumber","parseOpera9","parseOpera11","parseOpera10","_getErrorStackParser","_clearValidateParamsCache","modeAdjust","_setupDone","mocha","setup","setTranslatorLanguage","currentTranslatorLanguage","availableTranslatorLanguages","initialize","translator","services","loadPath","interpolator","lng","loadUrl","fetchWithTimeout","debug","fallbackLng","nestingPrefix","nestingSuffix","defaultNS","returnEmptyString","interpolation","escapeValue","detection","checkWhitelist","caches","backend","partialBundledLanguages","resources","languages","changeLanguage","i18next","pushStyle","popStyle","popMatrix","pushMatrix","_preloadDone","_userNode","_elements","_glAttributes","_requestAnimId","_preloadCount","_loop","_startListener","_initializeInstanceVariables","_defaultCanvasSize","_events","dragend","dragover","click","dblclick","mouseover","mouseout","keydown","keyup","keypress","touchstart","touchmove","touchend","resize","blur","_millisStart","_recording","_lcg_random_state","_gaussian_previous","wheel","_loadingScreenId","_registeredMethods","DeviceOrientationEvent","deviceorientation","DeviceMotionEvent","_isNodeWebkit","devicemotion","callRegisteredHooksFor","_start","preload","_preloadMethods","_wrapPreload","_registeredPreloadMethods","_runIfPreloadsAreDone","_setup","_draw","_lastTargetFrameTime","_lastRealFrameTime","_decrementPreload","_incrementPreload","createCanvas","hidden","visibility","redraw","_updateMouseCoords","_setupPromisePreloads","_createFriendlyGlobalFunctionBinder","registerMethod","_styles","_bezierDetail","_curveDetail","rgb","hsb","hsl","_downKeys","globalObject","disableFriendlyErrors","loadJSON","loadImage","loadStrings","loadXML","loadBytes","loadTable","loadFont","loadModel","loadShader","pre","Element","_pInst","_pixelsState","offsetWidth","offsetHeight","_detachListener","_attachListener","_adjustListener","_setMouseButton","Proxy","ReferenceError","Graphics","RendererGL","_adjustDimensions","adjustedWidth","adjustedHeight","Renderer2D","_applyDefaults","resetMatrix","_update","Framebuffer","_isMainCanvas","_clipping","_clipInvert","_textSize","_textLeading","_textFont","_textStyle","_textAscent","_textDescent","_textAlign","_textBaseline","_textWrap","_rectMode","_ellipseMode","_curveTightness","_imageMode","_tint","_doStroke","_doFill","_strokeSet","_fillSet","_leadingSet","_pushPopDepth","invert","_getPixel","_applyTextProperties","_updateTextMetrics","horizontal","vertical","textAscent","textSize","textWidth","textLeading","_renderText","_isOpenType","fontSize","verticalAlign","offsetParent","offsetLeft","offsetTop","Renderer","filterGraphicsLayer","_cachedFillStyle","_cachedStrokeStyle","_cachedBlendMode","_setFill","_setStroke","lineCap","save","_getFill","_isErasing","blendMode","restore","clearRect","_doFillStrokeClose","gifProperties","_animateGif","MediaElement","_ensureCanvas","_getTintedImageCanvas","tintCanvas","getImageData","imageData","loadPixels","pixels","frames","displayIndex","putImageData","ax","ay","bx","cx","cy","_acuteArcToBezier","_getStroke","ellipse","arcTo","isVert","lineJoin","beginShape","bezierVertex","endShape","curveVertex","transform","_renderPath","renderer","strokeText","_textWidth","measureText","_promisePreloads","registerPromisePreload","addCallbacks","legacyPreloadSetup","_wrapPromisePreload","_legacyPreloadGenerator","createBaseObject","HTMLCanvasElement","_defaultGraphicsCreated","classList","noCanvas","createGraphics","createFramebuffer","clearDepth","_assert3d","_normalizeArcAngles","atan","correspondToSamePoint","_toRadians","_renderEllipse","quad","_renderRect","square","triangle","ellipseMode","noSmooth","setAttributes","imageSmoothingEnabled","rectMode","smooth","strokeCap","strokeJoin","strokeWeight","bezier","bezierDetail","bezierPoint","bezierTangent","curve","curveDetail","curveTightness","curvePoint","curveTangent","beginContour","endContour","quadraticVertex","_contourInited","y3","_contourVertices","noLoop","isLooping","_inUserDraw","applyMatrix","rotateX","rotateY","rotateZ","shearX","shearY","storeItem","localStorage","setItem","createVector","clearStorage","removeItem","createStringDict","StringDict","createNumberDict","NumberDict","TypedDict","_validate","_addObj","downloadFile","saveJSON","_valueTest","_keyTest","loadedmetadata","videoWidth","videoHeight","presetPlaybackRate","playbackRate","select","_getContainer","_wrapElement","selectAll","createSelect","createRadio","removeElements","changed","createDiv","createP","createSpan","createImg","alt","crossOrigin","createA","createSlider","createButton","createCheckbox","firstElementChild","option","selectedIndex","selectedOptions","disable","enable","HTMLInputElement","HTMLLabelElement","HTMLDivElement","HTMLSpanElement","_name","_getOptionsArray","parentElement","insertAdjacentElement","lastElementChild","createColorPicker","createInput","createFileInput","File","files","_load","createVideo","createAudio","VIDEO","AUDIO","mediaDevices","getUserMedia","webkitGetUserMedia","mozGetUserMedia","createCapture","DOMException","flipped","video","audio","srcObject","play","addClass","hasClass","removeClass","toggleClass","childNodes","show","hide","html","_translate","perspective","_rotate","getComputedStyle","getPropertyValue","attribute","getTracks","drop","_dragDisabled","draggable","_prevTime","_cueIDCounter","_cues","_modified","_frameOnCanvas","_onended","onended","currentTime","duration","pause","_setupAutoplayFailDetection","volume","updatePixels","getAudioContext","soundOut","destination","audioSourceNode","createMediaElementSource","connect","disconnect","controls","ontimeupdate","_onTimeUpdate","subtype","DOMParser","parseFromString","XML","_createLoader","deviceOrientation","accelerationX","accelerationY","accelerationZ","pAccelerationX","pAccelerationY","pAccelerationZ","_updatePAccelerations","rotationX","rotationY","rotationZ","pRotationX","pRotationY","pRotationZ","pRotateDirectionX","pRotateDirectionY","pRotateDirectionZ","_updatePRotations","turnAxis","setMoveThreshold","setShakeThreshold","_ondeviceorientation","_fromDegrees","beta","gamma","_handleMotion","_ondevicemotion","acceleration","orientation","deviceMoved","deviceTurned","_toDegrees","deviceShaken","isKeyPressed","keyIsPressed","_onkeydown","keyPressed","_onkeyup","_areDownKeys","keyReleased","_onkeypress","_lastKeyCodeTyped","keyTyped","_onblur","keyIsDown","movedX","movedY","_hasMouseInteracted","mouseX","mouseY","pmouseX","pmouseY","winMouseX","winMouseY","pwinMouseX","pwinMouseY","mouseButton","mouseIsPressed","_updateNextMouseCoords","scrollWidth","scrollHeight","winX","winY","identifier","_mouseWheelDeltaY","_onmousemove","mouseDragged","touchMoved","mouseMoved","_onmousedown","mousePressed","touchStarted","_onmouseup","mouseReleased","touchEnded","_ondragend","_ondragover","_onclick","mouseClicked","_ondblclick","doubleClicked","_pmouseWheelDeltaY","_onwheel","mouseWheel","requestPointerLock","mozRequestPointerLock","exitPointerLock","_updateTouchCoords","_ontouchstart","_ontouchmove","_ontouchend","_toPixels","ImageData","drawingBufferWidth","drawingBufferHeight","readPixels","_getARGB","_setPixels","_toImageData","_createImageData","_tmpCanvas","_tmpCtx","createImageData","threshold","opaque","posterize","dilate","erode","createImage","saveCanvas","_checkFileExtension","toBlob","encodeAndDownloadGif","loopLimit","freq","frameOpts","pixelPaletteIndex","saveFrames","constrain","_makeFrame","setInterval","clearInterval","filename","ext","toDataURL","omggif","sx","sy","sw","dw","playing","timeDisplayed","lastChangeTime","saveGif","units","silent","notificationDuration","notificationID","tint","noTint","imageMode","gifenc","_friendlyParamError","types","blend","timeSinceStart","_copyHelper","noLights","getFilterGraphicsLayer","shader","operation","useWebGL","Shader","httpDo","currentState","token","escaped","TableRow","arr","addRow","httpGet","httpPost","serialize","_pWriters","PrintWriter","millis","writeFile","saveStrings","saveTable","SoundFile","saveSound","saveJSONObject","saveJSONArray","getString","_isSafari","alert","setNum","setString","getNum","DOM","createDocument","attributes","XMLSerializer","serializeToString","exp","mag","norm","sq","fract","_fromRadians","noise","noiseDetail","noiseSeed","setSeed","getSeed","rand","isPInst","fromAngle","rem","slerp","magSq","limit","setMag","heading","angleBetween","reflect","calculateRemainder3D","calculateRemainder2D","_lcg","_lcgSetSeed","randomSeed","randomGaussian","_angleMode","asin","degrees","radians","angleMode","textStyle","textDescent","textWrap","textFont","tmpPoint1","tmpPoint2","qx","qy","_F","_scale","advance","_handleAlignment","_getGlyphs","sampleFactor","simplifyThreshold","_getPath","decimals","arrayCopy","shorten","subset","float","int","str","boolean","unchar","hex","_u","unhex","matchAll","nfc","nfp","nfs","splitTokens","day","getDate","hour","getHours","minute","getMinutes","getMonth","second","getSeconds","year","getFullYear","vertexNormals","uvs","faces","beginGeometry","endGeometry","buildGeometry","freeGeometry","_freeBuffers","gid","plane","geometryInHash","Geometry","detailY","detailX","computeFaces","computeNormals","_makeTriangleEdges","_edgesToVertices","createBuffers","drawBuffersScaled","box","perPixelLighting","edges","sphere","ellipsoid","cylinder","cone","torus","_drawPoints","immediateMode","buffers","Matrix","drawBuffers","geometry","_bezierVertex","_lookUpTableBezier","_lutBezierDetail","_bezierCoefficients","vertexColors","curFillColor","vertexStrokeColors","curStrokeColor","isBezier","_quadraticVertex","_lookUpTableQuadratic","_lutQuadraticDetail","_quadraticCoefficients","isQuadratic","_curveVertex","isCurve","_bezierToCatmull","textureMode","identityMatrix","nextGeometryId","hasTransform","multiplyPoint","uNMatrix","multiplyVec3","inverseTranspose","transformVertices","transformNormals","shapeMode","addGeometry","model","orbitControl","_curCamera","contextMenuDisabled","wheelDefaultDisabled","onwheel","disableTouchActions","touchActionsDisabled","freeRotation","prevTouches","executeRotateAndMove","executeZoom","zoomVelocity","_orbitFree","_orbit","projMatrix","uPMatrix","rotateVelocity","moveVelocity","_getLocalAxes","eyeX","centerX","eyeY","centerY","eyeZ","centerZ","cameraMatrix","multiplyAndNormalizePoint","debugMode","_grid","_axesIcon","noDebugMode","ambientLight","ambientLightColors","_enableLighting","specularColor","specularColors","directionalLight","directionalLightDirections","directionalLightDiffuseColors","directionalLightSpecularColors","pointLight","pointLightPositions","pointLightDiffuseColors","pointLightSpecularColors","imageLight","activeImageLight","panorama","_getSphereMapping","lights","lightFalloff","constantAttenuation","linearAttenuation","quadraticAttenuation","spotLight","spotLightDiffuseColors","spotLightSpecularColors","spotLightPositions","spotLightDirections","spotLightAngle","spotLightConc","_useShininess","_useMetalness","successCallback","failureCallback","fileType","flipU","flipV","diffuseColor","ambientColor","texturePath","t0","TextDecoder","decode","_vertSrc","_fragSrc","createShader","createFilterShader","GL","ensureCompiledOnContext","isStrokeShader","userStrokeShader","userFillShader","_useNormalMaterial","resetShader","drawMode","_tex","textureWrap","textureWrapX","textureWrapY","setWrapMode","normalMaterial","_useSpecularMaterial","_useEmissiveMaterial","ambientMaterial","_hasSetAmbient","curAmbientColor","emissiveMaterial","curEmissiveColor","specularMaterial","curSpecularColor","shininess","metalness","_applyColorBlend","userPointShader","curBlendMode","_isBlending","depthMask","_applyBlendMode","blendEquation","FUNC_ADD","blendFunc","ONE","ONE_MINUS_SRC_ALPHA","ZERO","DST_COLOR","ONE_MINUS_SRC_COLOR","blendEquationSeparate","blendFuncSeparate","ONE_MINUS_DST_COLOR","FUNC_REVERSE_SUBTRACT","blendExt","MIN","MIN_EXT","MAX","MAX_EXT","camera","linePerspective","useLinePerspective","ortho","frustum","createCamera","Camera","_computeCameraDefaultSettings","_setDefaultCamera","cameraType","defaultCameraFOV","cameraFOV","defaultAspectRatio","defaultCameraNear","defaultCameraFar","cameraNear","cameraFar","identity","_isActive","upX","upY","upZ","_rotateView","defaultEyeX","defaultEyeY","defaultEyeZ","createSubMatrix3x3","mult3x3","transpose3x3","diagonal","mat3","defaultCenterX","defaultCenterY","defaultCenterZ","setCamera","DataArray","initialLength","subArray","ensureLength","fbo","FramebufferCamera","framebuffer","FramebufferTexture","framebuffers","_isClipApplied","channels","useDepth","depthFormat","textureFiltering","antialias","antialiasSamples","autoSized","_checkIfFormatsAvailable","stencil","useStencil","aaFramebuffer","_recreateTextures","defaultCamera","filterCamera","_handleResize","getExtension","checkWebGLCapabilities","halfFloat","_updateSize","getParameter","TEXTURE_BINDING_2D","FRAMEBUFFER_BINDING","createTexture","bindTexture","TEXTURE_2D","_glColorFormat","texImage2D","internalFormat","colorTexture","bindFramebuffer","FRAMEBUFFER","framebufferTexture2D","COLOR_ATTACHMENT0","_glDepthFormat","DEPTH_STENCIL_ATTACHMENT","DEPTH_ATTACHMENT","depthTexture","colorRenderbuffer","createRenderbuffer","bindRenderbuffer","RENDERBUFFER","renderbufferStorageMultisample","MAX_SAMPLES","depthRenderbuffer","framebufferRenderbuffer","depthP5Texture","Texture","minFilter","magFilter","colorP5Texture","HALF_FLOAT_OES","RGBA32F","RGBA16F","RGBA8","RGB8","FLOAT_32_UNSIGNED_INT_24_8_REV","UNSIGNED_INT_24_8","UNSIGNED_INT_24_8_WEBGL","DEPTH_STENCIL","DEPTH_COMPONENT","DEPTH32F_STENCIL8","DEPTH24_STENCIL8","DEPTH_COMPONENT32F","DEPTH_COMPONENT24","_deleteTexture","deleteRenderbuffer","_resize","deleteTexture","rawTexture","deleteFramebuffer","prevFramebuffer","activeFramebuffer","_beforeEnd","activeFramebuffers","_beforeBegin","_framebufferToBind","viewport","READ_FRAMEBUFFER","DRAW_FRAMEBUFFER","COLOR_BUFFER_BIT","glMagFilter","DEPTH_BUFFER_BIT","blitFramebuffer","_origViewport","_applyStencilTestIfClipping","readPixelsWebGL","readPixelWebGL","unbindTexture","boundingBoxCache","lineVertices","lineTangentsIn","lineTangentsOut","lineSides","lineVertexColors","dirtyFlags","_hasFillTransparency","_hasStrokeTransparency","MIN_VALUE","roundToPrecision","_getFaceNormal","_addSegment","_addJoin","dir","_addCap","p5","invert3x3","multiplyVec4","RenderBuffer","dst","attr","createBuffer","bindBuffer","ARRAY_BUFFER","_bindBuffer","enableAttrib","registerEnabled","disableVertexAttribArray","contourIndices","_currentNormal","isProcessingVertices","_processVertices","geometryBuilder","_drawImmediateFill","_drawImmediateStroke","addImmediate","_calculateEdges","_tesselateShape","_triangulate","tessyVertexSize","_useVertexColor","_getImmediateFillShader","_setFillUniforms","_prepareBuffer","disableRemainingAttributes","hasFillTransparency","drawArrays","drawArraysInstanced","unbindShader","_useLineColor","_getImmediateStrokeShader","_setStrokeUniforms","_initBufferDefaults","retainedMode","deleteBuffer","indexBuffer","_flatten","ELEMENT_ARRAY_BUFFER","indexBufferType","UNSIGNED_SHORT","vertexCount","lineVertexCount","_getRetainedFillShader","_drawElements","_getRetainedStrokeShader","hasStrokeTransparency","_drawArrays","addRetained","drawElements","_getImmediatePointShader","_setPointUniforms","_vToNArray","STATIC_DRAW","aPosition","Points","sphereMappingFrag","immediateVert","vertexColorVert","vertexColorFrag","normalVert","normalFrag","basicFrag","lightVert","lightTextureFrag","phongVert","phongFrag","fontVert","fontFrag","lineVert","lineFrag","pointVert","pointFrag","imageLightVert","imageLightDiffusedFrag","imageLightSpecularFrag","_resetContext","_setAttributeDefaults","_initContext","_clipDepths","_stencilTestOn","mixedAmbientLight","mixedSpecularColor","diffusedTextures","specularTextures","preEraseBlend","curMatrix","specularShader","sphereMapping","diffusedShader","_defaultLightShader","_defaultImmediateModeShader","_defaultNormalShader","_defaultColorShader","_defaultPointShader","pointSize","curStrokeWeight","curStrokeCap","curStrokeJoin","filterShader","filterLayer","filterLayerTemp","defaultFilterShaders","_tessy","_initTessy","fontInfos","_curShader","premultipliedAlpha","preserveDrawingBuffer","DEPTH_TEST","depthFunc","LEQUAL","pixelStorei","UNPACK_PREMULTIPLY_ALPHA_WEBGL","_viewport","VIEWPORT","MAX_TEXTURE_SIZE","_maxTextureSize","_getParam","clearStencil","STENCIL_BUFFER_BIT","STENCIL_TEST","getFilterLayer","matchSize","getFilterLayerTemp","setUniform","drawTarget","stencilFunc","ALWAYS","stencilOp","KEEP","EQUAL","NOTEQUAL","_getTempFramebuffer","_tempFramebuffer","_canvasSizeChanged","clearColor","_clearClip","_getLineShader","isNormalShader","_getNormalShader","isLightShader","_getLightShader","isTextureShader","_getImmediateModeShader","_getColorShader","isPointShader","_getPointShader","_getImmediateLineShader","_webGL2CompatibilityPrefix","_defaultLineShader","_defaultFontShader","_emptyTexture","MipmapTexture","bindShader","_setImageLightUniforms","bindTextures","getDiffusedTexture","getSpecularTexture","dataArray","bufferData","_vertShader","_fragShader","_glProgram","_loadedAttributes","_loadedUniforms","uniforms","_bound","samplers","VERTEX_SHADER","shaderSource","compileShader","getShaderParameter","COMPILE_STATUS","getShaderInfoLog","FRAGMENT_SHADER","createProgram","attachShader","linkProgram","getProgramParameter","LINK_STATUS","getProgramInfoLog","_loadAttributes","_loadUniforms","ACTIVE_ATTRIBUTES","getActiveAttrib","getAttribLocation","ACTIVE_UNIFORMS","getActiveUniform","getUniformLocation","_cachedData","SAMPLER_2D","samplerIndex","FLOAT_MAT3","FLOAT_MAT4","FLOAT_VEC2","FLOAT_VEC3","FLOAT_VEC4","INT_VEC2","INT_VEC4","INT_VEC3","useProgram","_setMatrixUniforms","unbindTextures","_getEmptyTexture","activeTexture","TEXTURE0","uniform1i","uNormalMatrix","uCameraRotation","_arraysEqual","BOOL","INT","uniform1iv","uniform1fv","uniform1f","uniformMatrix3fv","uniformMatrix4fv","uniform2fv","uniform2f","uniform3fv","uniform3f","uniform4fv","uniform4f","uniform2iv","uniform2i","uniform3iv","uniform3i","uniform4iv","uniform4i","getTexture","aNormal","uUseLighting","uAmbientLightCount","uDirectionalLightCount","uPointLightCount","uAmbientColor","uDirectionalDiffuseColors","uDirectionalSpecularColors","uPointLightLocation","uPointLightDiffuseColors","uPointLightSpecularColors","uLightingDirection","uSpecular","aVertexColor","uMaterialColor","uStrokeWeight","enableVertexAttribArray","vertexAttribPointer","glTex","glTarget","glFormat","mipmaps","glMinFilter","glWrapS","wrapS","CLAMP_TO_EDGE","glWrapT","wrapT","glDataType","dataType","halfFloatLinear","floatLinear","isSrcMediaElement","_videoPrevUpdateTime","isSrcHTMLElement","isSrcP5Image","isSrcP5Graphics","isSrcP5Renderer","isImageData","isFramebufferTexture","_getTextureDataFromSource","texParameteri","TEXTURE_MAG_FILTER","TEXTURE_MIN_FILTER","_dirty","glFilter","naturalWidth","naturalHeight","MIRRORED_REPEAT","TEXTURE_WRAP_S","TEXTURE_WRAP_T","LINEAR_MIPMAP_LINEAR","infos","strokeImageInfos","colDimImageInfos","rowDimImageInfos","colCellImageInfos","rowCellImageInfos","glyphInfos","p0","c0","c1","p1","splitInflections","quadError","toQuadratic","findImage","glyph","uGlyphRect","strokeImageInfo","strokes","colInfo","rowInfo","uGridOffset","dimOffset","cellImageInfo","dimImageInfo","_fontInfo","_getFontShader","_textGeom","getGlyphInfo","Kn","jn","$n","sketch","gn","Pr","Jn","updateWithProps","ro","zn","Circle","Rectangle","Ground","super","ground","wallL","wallR","roof","isLargeScreen","setIsLargeScreen","handleResize","ReactP5Wrapper","TopHeader","rel","flexDirection","javascriptSVG","xmlns","viewBox","preserveAspectRatio","pythonSVG","role","focusable","javaSVG","xmlnsXlink","enableBackground","xmlSpace","reactSVG","nodejsSVG","expressjsSVG","sqlSVG","tailwindSVG","gameOfLife","gof","TodoApp","todo","movieApp","movie","minecraftVil","minecraft","homeless_java","homeless","Experience","company","experience","isVisible","setIsVisible","handleClick","marginBottom","marginTop","kss","iff","soundse","woolies","reyts","kecilin","SmallButtons","Projects","_Fragment","projectsList","class","ReactDOM","React","App"],"sourceRoot":""}