{"version":3,"sources":["/home/runner/work/turf/turf/packages/turf-great-circle/dist/cjs/index.cjs","../../index.js","../../lib/arc.js"],"names":[],"mappings":"AAAA;ACAA,wCAA2B;AAC3B,4CAAyB;ADEzB;AACA;AEsBA,IAAI,IAAA,EAAM,IAAA,CAAK,GAAA,EAAK,GAAA;AACpB,IAAI,IAAA,EAAM,IAAA,EAAM,IAAA,CAAK,EAAA;AAErB,IAAI,MAAA,EAAQ,QAAA,CAAU,GAAA,EAAK,GAAA,EAAK;AAC9B,EAAA,IAAA,CAAK,IAAA,EAAM,GAAA;AACX,EAAA,IAAA,CAAK,IAAA,EAAM,GAAA;AACX,EAAA,IAAA,CAAK,EAAA,EAAI,IAAA,EAAM,GAAA;AACf,EAAA,IAAA,CAAK,EAAA,EAAI,IAAA,EAAM,GAAA;AACjB,CAAA;AAEA,KAAA,CAAM,SAAA,CAAU,KAAA,EAAO,QAAA,CAAA,EAAY;AACjC,EAAA,OAAO,MAAA,CAAO,IAAA,CAAK,GAAG,CAAA,CAAE,KAAA,CAAM,CAAA,EAAG,CAAC,EAAA,EAAI,IAAA,EAAM,MAAA,CAAO,IAAA,CAAK,GAAG,CAAA,CAAE,KAAA,CAAM,CAAA,EAAG,CAAC,CAAA;AACzE,CAAA;AAEA,KAAA,CAAM,SAAA,CAAU,SAAA,EAAW,QAAA,CAAA,EAAY;AACrC,EAAA,IAAI,SAAA,EAAW,CAAA,EAAA,EAAK,IAAA,CAAK,GAAA;AACzB,EAAA,IAAI,SAAA,EAAW,IAAA,CAAK,IAAA,EAAM,EAAA,EAAI,IAAA,EAAM,IAAA,CAAK,IAAA,EAAA,CAAO,IAAA,EAAM,IAAA,CAAK,GAAA,EAAA,EAAO,CAAA,CAAA;AAClE,EAAA,OAAO,IAAI,KAAA,CAAM,QAAA,EAAU,QAAQ,CAAA;AACrC,CAAA;AAEA,IAAI,WAAA,EAAa,QAAA,CAAA,EAAY;AAC3B,EAAA,IAAA,CAAK,OAAA,EAAS,CAAC,CAAA;AACf,EAAA,IAAA,CAAK,OAAA,EAAS,CAAA;AAChB,CAAA;AAEA,UAAA,CAAW,SAAA,CAAU,QAAA,EAAU,QAAA,CAAU,KAAA,EAAO;AAC9C,EAAA,IAAA,CAAK,MAAA,EAAA;AACL,EAAA,IAAA,CAAK,MAAA,CAAO,IAAA,CAAK,KAAK,CAAA;AACxB,CAAA;AAEA,IAAI,IAAA,EAAM,QAAA,CAAU,UAAA,EAAY;AAC9B,EAAA,IAAA,CAAK,WAAA,EAAa,WAAA,GAAc,CAAC,CAAA;AACjC,EAAA,IAAA,CAAK,WAAA,EAAa,CAAC,CAAA;AACrB,CAAA;AAEA,GAAA,CAAI,SAAA,CAAU,KAAA,EAAO,QAAA,CAAA,EAAY;AAC/B,EAAA,GAAA,CAAI,IAAA,CAAK,UAAA,CAAW,OAAA,GAAU,CAAA,EAAG;AAC/B,IAAA,OAAO;AAAA,MACL,QAAA,EAAU,EAAE,IAAA,EAAM,YAAA,EAAc,WAAA,EAAa,KAAK,CAAA;AAAA,MAClD,IAAA,EAAM,SAAA;AAAA,MACN,UAAA,EAAY,IAAA,CAAK;AAAA,IACnB,CAAA;AAAA,EACF,EAAA,KAAA,GAAA,CAAW,IAAA,CAAK,UAAA,CAAW,OAAA,IAAW,CAAA,EAAG;AACvC,IAAA,OAAO;AAAA,MACL,QAAA,EAAU,EAAE,IAAA,EAAM,YAAA,EAAc,WAAA,EAAa,IAAA,CAAK,UAAA,CAAW,CAAC,CAAA,CAAE,OAAO,CAAA;AAAA,MACvE,IAAA,EAAM,SAAA;AAAA,MACN,UAAA,EAAY,IAAA,CAAK;AAAA,IACnB,CAAA;AAAA,EACF,EAAA,KAAO;AACL,IAAA,IAAI,UAAA,EAAY,CAAC,CAAA;AACjB,IAAA,IAAA,CAAA,IAAS,EAAA,EAAI,CAAA,EAAG,EAAA,EAAI,IAAA,CAAK,UAAA,CAAW,MAAA,EAAQ,CAAA,EAAA,EAAK;AAC/C,MAAA,SAAA,CAAU,IAAA,CAAK,IAAA,CAAK,UAAA,CAAW,CAAC,CAAA,CAAE,MAAM,CAAA;AAAA,IAC1C;AACA,IAAA,OAAO;AAAA,MACL,QAAA,EAAU,EAAE,IAAA,EAAM,iBAAA,EAAmB,WAAA,EAAa,UAAU,CAAA;AAAA,MAC5D,IAAA,EAAM,SAAA;AAAA,MACN,UAAA,EAAY,IAAA,CAAK;AAAA,IACnB,CAAA;AAAA,EACF;AACF,CAAA;AAGA,GAAA,CAAI,SAAA,CAAU,IAAA,EAAM,QAAA,CAAA,EAAY;AAC9B,EAAA,IAAI,WAAA,EAAa,EAAA;AACjB,EAAA,IAAI,IAAA,EAAM,aAAA;AACV,EAAA,IAAI,QAAA,EAAU,QAAA,CAAU,CAAA,EAAG;AACzB,IAAA,IAAA,GAAO,CAAA,CAAE,CAAC,EAAA,EAAI,IAAA,EAAM,CAAA,CAAE,CAAC,EAAA,EAAI,GAAA;AAAA,EAC7B,CAAA;AACA,EAAA,IAAA,CAAA,IAAS,EAAA,EAAI,CAAA,EAAG,EAAA,EAAI,IAAA,CAAK,UAAA,CAAW,MAAA,EAAQ,CAAA,EAAA,EAAK;AAC/C,IAAA,GAAA,CAAI,IAAA,CAAK,UAAA,CAAW,CAAC,CAAA,CAAE,MAAA,CAAO,OAAA,IAAW,CAAA,EAAG;AAC1C,MAAA,OAAO,mBAAA;AAAA,IACT,EAAA,KAAO;AACL,MAAA,IAAI,OAAA,EAAS,IAAA,CAAK,UAAA,CAAW,CAAC,CAAA,CAAE,MAAA;AAChC,MAAA,MAAA,CAAO,OAAA,CAAQ,OAAO,CAAA;AACtB,MAAA,WAAA,GAAc,GAAA,CAAI,SAAA,CAAU,CAAA,EAAG,GAAA,CAAI,OAAA,EAAS,CAAC,EAAA,EAAI,GAAA;AAAA,IACnD;AAAA,EACF;AACA,EAAA,OAAO,UAAA;AACT,CAAA;AAMA,IAAI,YAAA,EAAc,QAAA,CAAU,KAAA,EAAO,GAAA,EAAK,UAAA,EAAY;AAClD,EAAA,GAAA,CAAI,CAAC,MAAA,GAAS,KAAA,CAAM,EAAA,IAAM,KAAA,EAAA,GAAa,KAAA,CAAM,EAAA,IAAM,KAAA,CAAA,EAAW;AAC5D,IAAA,MAAM,IAAI,KAAA;AAAA,MACR;AAAA,IACF,CAAA;AAAA,EACF;AACA,EAAA,GAAA,CAAI,CAAC,IAAA,GAAO,GAAA,CAAI,EAAA,IAAM,KAAA,EAAA,GAAa,GAAA,CAAI,EAAA,IAAM,KAAA,CAAA,EAAW;AACtD,IAAA,MAAM,IAAI,KAAA;AAAA,MACR;AAAA,IACF,CAAA;AAAA,EACF;AACA,EAAA,IAAA,CAAK,MAAA,EAAQ,IAAI,KAAA,CAAM,KAAA,CAAM,CAAA,EAAG,KAAA,CAAM,CAAC,CAAA;AACvC,EAAA,IAAA,CAAK,IAAA,EAAM,IAAI,KAAA,CAAM,GAAA,CAAI,CAAA,EAAG,GAAA,CAAI,CAAC,CAAA;AACjC,EAAA,IAAA,CAAK,WAAA,EAAa,WAAA,GAAc,CAAC,CAAA;AAEjC,EAAA,IAAI,EAAA,EAAI,IAAA,CAAK,KAAA,CAAM,EAAA,EAAI,IAAA,CAAK,GAAA,CAAI,CAAA;AAChC,EAAA,IAAI,EAAA,EAAI,IAAA,CAAK,KAAA,CAAM,EAAA,EAAI,IAAA,CAAK,GAAA,CAAI,CAAA;AAChC,EAAA,IAAI,EAAA,EACF,IAAA,CAAK,GAAA,CAAI,IAAA,CAAK,GAAA,CAAI,EAAA,EAAI,CAAG,CAAA,EAAG,CAAC,EAAA,EAC7B,IAAA,CAAK,GAAA,CAAI,IAAA,CAAK,KAAA,CAAM,CAAC,EAAA,EACnB,IAAA,CAAK,GAAA,CAAI,IAAA,CAAK,GAAA,CAAI,CAAC,EAAA,EACnB,IAAA,CAAK,GAAA,CAAI,IAAA,CAAK,GAAA,CAAI,EAAA,EAAI,CAAG,CAAA,EAAG,CAAC,CAAA;AACjC,EAAA,IAAA,CAAK,EAAA,EAAI,EAAA,EAAM,IAAA,CAAK,IAAA,CAAK,IAAA,CAAK,IAAA,CAAK,CAAC,CAAC,CAAA;AAErC,EAAA,GAAA,CAAI,IAAA,CAAK,EAAA,IAAM,IAAA,CAAK,EAAA,EAAI;AACtB,IAAA,MAAM,IAAI,KAAA;AAAA,MACR,cAAA,EACE,KAAA,CAAM,IAAA,CAAK,EAAA,EACX,QAAA,EACA,GAAA,CAAI,IAAA,CAAK,EAAA,EACT;AAAA,IACJ,CAAA;AAAA,EACF,EAAA,KAAA,GAAA,CAAW,KAAA,CAAM,IAAA,CAAK,CAAC,CAAA,EAAG;AACxB,IAAA,MAAM,IAAI,KAAA;AAAA,MACR,4CAAA,EAA8C,MAAA,EAAQ,QAAA,EAAU;AAAA,IAClE,CAAA;AAAA,EACF;AACF,CAAA;AAKA,WAAA,CAAY,SAAA,CAAU,YAAA,EAAc,QAAA,CAAU,CAAA,EAAG;AAC/C,EAAA,IAAI,EAAA,EAAI,IAAA,CAAK,GAAA,CAAA,CAAK,EAAA,EAAI,CAAA,EAAA,EAAK,IAAA,CAAK,CAAC,EAAA,EAAI,IAAA,CAAK,GAAA,CAAI,IAAA,CAAK,CAAC,CAAA;AACpD,EAAA,IAAI,EAAA,EAAI,IAAA,CAAK,GAAA,CAAI,EAAA,EAAI,IAAA,CAAK,CAAC,EAAA,EAAI,IAAA,CAAK,GAAA,CAAI,IAAA,CAAK,CAAC,CAAA;AAC9C,EAAA,IAAI,EAAA,EACF,EAAA,EAAI,IAAA,CAAK,GAAA,CAAI,IAAA,CAAK,KAAA,CAAM,CAAC,EAAA,EAAI,IAAA,CAAK,GAAA,CAAI,IAAA,CAAK,KAAA,CAAM,CAAC,EAAA,EAClD,EAAA,EAAI,IAAA,CAAK,GAAA,CAAI,IAAA,CAAK,GAAA,CAAI,CAAC,EAAA,EAAI,IAAA,CAAK,GAAA,CAAI,IAAA,CAAK,GAAA,CAAI,CAAC,CAAA;AAChD,EAAA,IAAI,EAAA,EACF,EAAA,EAAI,IAAA,CAAK,GAAA,CAAI,IAAA,CAAK,KAAA,CAAM,CAAC,EAAA,EAAI,IAAA,CAAK,GAAA,CAAI,IAAA,CAAK,KAAA,CAAM,CAAC,EAAA,EAClD,EAAA,EAAI,IAAA,CAAK,GAAA,CAAI,IAAA,CAAK,GAAA,CAAI,CAAC,EAAA,EAAI,IAAA,CAAK,GAAA,CAAI,IAAA,CAAK,GAAA,CAAI,CAAC,CAAA;AAChD,EAAA,IAAI,EAAA,EAAI,EAAA,EAAI,IAAA,CAAK,GAAA,CAAI,IAAA,CAAK,KAAA,CAAM,CAAC,EAAA,EAAI,EAAA,EAAI,IAAA,CAAK,GAAA,CAAI,IAAA,CAAK,GAAA,CAAI,CAAC,CAAA;AAC5D,EAAA,IAAI,IAAA,EAAM,IAAA,EAAM,IAAA,CAAK,KAAA,CAAM,CAAA,EAAG,IAAA,CAAK,IAAA,CAAK,IAAA,CAAK,GAAA,CAAI,CAAA,EAAG,CAAC,EAAA,EAAI,IAAA,CAAK,GAAA,CAAI,CAAA,EAAG,CAAC,CAAC,CAAC,CAAA;AACxE,EAAA,IAAI,IAAA,EAAM,IAAA,EAAM,IAAA,CAAK,KAAA,CAAM,CAAA,EAAG,CAAC,CAAA;AAC/B,EAAA,OAAO,CAAC,GAAA,EAAK,GAAG,CAAA;AAClB,CAAA;AAKA,WAAA,CAAY,SAAA,CAAU,IAAA,EAAM,QAAA,CAAU,OAAA,EAAS,OAAA,EAAS;AACtD,EAAA,IAAI,WAAA,EAAa,CAAC,CAAA;AAClB,EAAA,GAAA,CAAI,CAAC,QAAA,GAAW,QAAA,GAAW,CAAA,EAAG;AAC5B,IAAA,UAAA,CAAW,IAAA,CAAK,CAAC,IAAA,CAAK,KAAA,CAAM,GAAA,EAAK,IAAA,CAAK,KAAA,CAAM,GAAG,CAAC,CAAA;AAChD,IAAA,UAAA,CAAW,IAAA,CAAK,CAAC,IAAA,CAAK,GAAA,CAAI,GAAA,EAAK,IAAA,CAAK,GAAA,CAAI,GAAG,CAAC,CAAA;AAAA,EAC9C,EAAA,KAAO;AACL,IAAA,IAAI,MAAA,EAAQ,EAAA,EAAA,CAAO,QAAA,EAAU,CAAA,CAAA;AAC7B,IAAA,IAAA,CAAA,IAAS,EAAA,EAAI,CAAA,EAAG,EAAA,EAAI,OAAA,EAAS,EAAE,CAAA,EAAG;AAChC,MAAA,IAAI,KAAA,EAAO,MAAA,EAAQ,CAAA;AACnB,MAAA,IAAI,KAAA,EAAO,IAAA,CAAK,WAAA,CAAY,IAAI,CAAA;AAChC,MAAA,UAAA,CAAW,IAAA,CAAK,IAAI,CAAA;AAAA,IACtB;AAAA,EACF;AAMA,EAAA,IAAI,YAAA,EAAc,KAAA;AAClB,EAAA,IAAI,mBAAA,EAAqB,CAAA;AAIzB,EAAA,IAAI,iBAAA,EAAmB,QAAA,GAAW,OAAA,CAAQ,OAAA,EAAS,OAAA,CAAQ,OAAA,EAAS,EAAA;AACpE,EAAA,IAAI,cAAA,EAAgB,IAAA,EAAM,gBAAA;AAC1B,EAAA,IAAI,eAAA,EAAiB,CAAA,IAAA,EAAO,gBAAA;AAC5B,EAAA,IAAI,YAAA,EAAc,IAAA,EAAM,gBAAA;AAGxB,EAAA,IAAA,CAAA,IAAS,EAAA,EAAI,CAAA,EAAG,EAAA,EAAI,UAAA,CAAW,MAAA,EAAQ,EAAE,CAAA,EAAG;AAC1C,IAAA,IAAI,QAAA,EAAU,UAAA,CAAW,EAAA,EAAI,CAAC,CAAA,CAAE,CAAC,CAAA;AACjC,IAAA,IAAI,IAAA,EAAM,UAAA,CAAW,CAAC,CAAA,CAAE,CAAC,CAAA;AACzB,IAAA,IAAI,WAAA,EAAa,IAAA,CAAK,GAAA,CAAI,IAAA,EAAM,OAAO,CAAA;AACvC,IAAA,GAAA,CACE,WAAA,EAAa,YAAA,GAAA,CACX,IAAA,EAAM,cAAA,GAAiB,QAAA,EAAU,eAAA,GAChC,QAAA,EAAU,cAAA,GAAiB,IAAA,EAAM,cAAA,CAAA,EACpC;AACA,MAAA,YAAA,EAAc,IAAA;AAAA,IAChB,EAAA,KAAA,GAAA,CAAW,WAAA,EAAa,kBAAA,EAAoB;AAC1C,MAAA,mBAAA,EAAqB,UAAA;AAAA,IACvB;AAAA,EACF;AAEA,EAAA,IAAI,QAAA,EAAU,CAAC,CAAA;AACf,EAAA,GAAA,CAAI,YAAA,GAAe,mBAAA,EAAqB,gBAAA,EAAkB;AACxD,IAAA,IAAI,QAAA,EAAU,CAAC,CAAA;AACf,IAAA,OAAA,CAAQ,IAAA,CAAK,OAAO,CAAA;AACpB,IAAA,IAAA,CAAA,IAAS,EAAA,EAAI,CAAA,EAAG,EAAA,EAAI,UAAA,CAAW,MAAA,EAAQ,EAAE,CAAA,EAAG;AAC1C,MAAA,IAAI,KAAA,EAAO,UAAA,CAAW,UAAA,CAAW,CAAC,CAAA,CAAE,CAAC,CAAC,CAAA;AACtC,MAAA,GAAA,CAAI,EAAA,EAAI,EAAA,GAAK,IAAA,CAAK,GAAA,CAAI,KAAA,EAAO,UAAA,CAAW,EAAA,EAAI,CAAC,CAAA,CAAE,CAAC,CAAC,EAAA,EAAI,WAAA,EAAa;AAChE,QAAA,IAAI,KAAA,EAAO,UAAA,CAAW,UAAA,CAAW,EAAA,EAAI,CAAC,CAAA,CAAE,CAAC,CAAC,CAAA;AAC1C,QAAA,IAAI,KAAA,EAAO,UAAA,CAAW,UAAA,CAAW,EAAA,EAAI,CAAC,CAAA,CAAE,CAAC,CAAC,CAAA;AAC1C,QAAA,IAAI,KAAA,EAAO,UAAA,CAAW,UAAA,CAAW,CAAC,CAAA,CAAE,CAAC,CAAC,CAAA;AACtC,QAAA,IAAI,KAAA,EAAO,UAAA,CAAW,UAAA,CAAW,CAAC,CAAA,CAAE,CAAC,CAAC,CAAA;AACtC,QAAA,GAAA,CACE,KAAA,EAAO,CAAA,IAAA,GACP,KAAA,EAAO,eAAA,GACP,KAAA,IAAS,IAAA,GACT,EAAA,EAAI,EAAA,EAAI,UAAA,CAAW,OAAA,GACnB,UAAA,CAAW,EAAA,EAAI,CAAC,CAAA,CAAE,CAAC,EAAA,EAAI,CAAA,IAAA,GACvB,UAAA,CAAW,EAAA,EAAI,CAAC,CAAA,CAAE,CAAC,EAAA,EAAI,cAAA,EACvB;AACA,UAAA,OAAA,CAAQ,IAAA,CAAK,CAAC,CAAA,GAAA,EAAM,UAAA,CAAW,CAAC,CAAA,CAAE,CAAC,CAAC,CAAC,CAAA;AACrC,UAAA,CAAA,EAAA;AACA,UAAA,OAAA,CAAQ,IAAA,CAAK,CAAC,UAAA,CAAW,CAAC,CAAA,CAAE,CAAC,CAAA,EAAG,UAAA,CAAW,CAAC,CAAA,CAAE,CAAC,CAAC,CAAC,CAAA;AACjD,UAAA,QAAA;AAAA,QACF,EAAA,KAAA,GAAA,CACE,KAAA,EAAO,cAAA,GACP,KAAA,EAAO,IAAA,GACP,KAAA,IAAS,CAAA,IAAA,GACT,EAAA,EAAI,EAAA,EAAI,UAAA,CAAW,OAAA,GACnB,UAAA,CAAW,EAAA,EAAI,CAAC,CAAA,CAAE,CAAC,EAAA,EAAI,cAAA,GACvB,UAAA,CAAW,EAAA,EAAI,CAAC,CAAA,CAAE,CAAC,EAAA,EAAI,GAAA,EACvB;AACA,UAAA,OAAA,CAAQ,IAAA,CAAK,CAAC,GAAA,EAAK,UAAA,CAAW,CAAC,CAAA,CAAE,CAAC,CAAC,CAAC,CAAA;AACpC,UAAA,CAAA,EAAA;AACA,UAAA,OAAA,CAAQ,IAAA,CAAK,CAAC,UAAA,CAAW,CAAC,CAAA,CAAE,CAAC,CAAA,EAAG,UAAA,CAAW,CAAC,CAAA,CAAE,CAAC,CAAC,CAAC,CAAA;AACjD,UAAA,QAAA;AAAA,QACF;AAEA,QAAA,GAAA,CAAI,KAAA,EAAO,eAAA,GAAkB,KAAA,EAAO,aAAA,EAAe;AAEjD,UAAA,IAAI,KAAA,EAAO,IAAA;AACX,UAAA,KAAA,EAAO,IAAA;AACP,UAAA,KAAA,EAAO,IAAA;AAEP,UAAA,IAAI,KAAA,EAAO,IAAA;AACX,UAAA,KAAA,EAAO,IAAA;AACP,UAAA,KAAA,EAAO,IAAA;AAAA,QACT;AACA,QAAA,GAAA,CAAI,KAAA,EAAO,cAAA,GAAiB,KAAA,EAAO,cAAA,EAAgB;AACjD,UAAA,KAAA,GAAQ,GAAA;AAAA,QACV;AAEA,QAAA,GAAA,CAAI,KAAA,GAAQ,IAAA,GAAO,KAAA,GAAQ,IAAA,GAAO,KAAA,EAAO,IAAA,EAAM;AAC7C,UAAA,IAAI,QAAA,EAAA,CAAW,IAAA,EAAM,IAAA,EAAA,EAAA,CAAS,KAAA,EAAO,IAAA,CAAA;AACrC,UAAA,IAAI,IAAA,EAAM,QAAA,EAAU,KAAA,EAAA,CAAQ,EAAA,EAAI,OAAA,EAAA,EAAW,IAAA;AAC3C,UAAA,OAAA,CAAQ,IAAA,CAAK;AAAA,YACX,UAAA,CAAW,EAAA,EAAI,CAAC,CAAA,CAAE,CAAC,EAAA,EAAI,cAAA,EAAgB,IAAA,EAAM,CAAA,GAAA;AAAA,YAC7C;AAAA,UACF,CAAC,CAAA;AACD,UAAA,QAAA,EAAU,CAAC,CAAA;AACX,UAAA,OAAA,CAAQ,IAAA,CAAK;AAAA,YACX,UAAA,CAAW,EAAA,EAAI,CAAC,CAAA,CAAE,CAAC,EAAA,EAAI,cAAA,EAAgB,CAAA,IAAA,EAAO,GAAA;AAAA,YAC9C;AAAA,UACF,CAAC,CAAA;AACD,UAAA,OAAA,CAAQ,IAAA,CAAK,OAAO,CAAA;AAAA,QACtB,EAAA,KAAO;AACL,UAAA,QAAA,EAAU,CAAC,CAAA;AACX,UAAA,OAAA,CAAQ,IAAA,CAAK,OAAO,CAAA;AAAA,QACtB;AACA,QAAA,OAAA,CAAQ,IAAA,CAAK,CAAC,IAAA,EAAM,UAAA,CAAW,CAAC,CAAA,CAAE,CAAC,CAAC,CAAC,CAAA;AAAA,MACvC,EAAA,KAAO;AACL,QAAA,OAAA,CAAQ,IAAA,CAAK,CAAC,UAAA,CAAW,CAAC,CAAA,CAAE,CAAC,CAAA,EAAG,UAAA,CAAW,CAAC,CAAA,CAAE,CAAC,CAAC,CAAC,CAAA;AAAA,MACnD;AAAA,IACF;AAAA,EACF,EAAA,KAAO;AAEL,IAAA,IAAI,SAAA,EAAW,CAAC,CAAA;AAChB,IAAA,OAAA,CAAQ,IAAA,CAAK,QAAQ,CAAA;AACrB,IAAA,IAAA,CAAA,IAAS,EAAA,EAAI,CAAA,EAAG,EAAA,EAAI,UAAA,CAAW,MAAA,EAAQ,EAAE,CAAA,EAAG;AAC1C,MAAA,QAAA,CAAS,IAAA,CAAK,CAAC,UAAA,CAAW,CAAC,CAAA,CAAE,CAAC,CAAA,EAAG,UAAA,CAAW,CAAC,CAAA,CAAE,CAAC,CAAC,CAAC,CAAA;AAAA,IACpD;AAAA,EACF;AAEA,EAAA,IAAI,IAAA,EAAM,IAAI,GAAA,CAAI,IAAA,CAAK,UAAU,CAAA;AACjC,EAAA,IAAA,CAAA,IAAS,EAAA,EAAI,CAAA,EAAG,EAAA,EAAI,OAAA,CAAQ,MAAA,EAAQ,EAAE,CAAA,EAAG;AACvC,IAAA,IAAI,KAAA,EAAO,IAAI,UAAA,CAAW,CAAA;AAC1B,IAAA,GAAA,CAAI,UAAA,CAAW,IAAA,CAAK,IAAI,CAAA;AACxB,IAAA,IAAI,OAAA,EAAS,OAAA,CAAQ,CAAC,CAAA;AACtB,IAAA,IAAA,CAAA,IAAS,GAAA,EAAK,CAAA,EAAG,GAAA,EAAK,MAAA,CAAO,MAAA,EAAQ,EAAE,EAAA,EAAI;AACzC,MAAA,IAAA,CAAK,OAAA,CAAQ,MAAA,CAAO,EAAE,CAAC,CAAA;AAAA,IACzB;AAAA,EACF;AACA,EAAA,OAAO,GAAA;AACT,CAAA;AF3FA;AACA;AC5LA,SAAS,WAAA,CAAY,KAAA,EAAO,GAAA,EAAK,OAAA,EAAS;AAExC,EAAA,QAAA,EAAU,QAAA,GAAW,CAAC,CAAA;AACtB,EAAA,GAAA,CAAI,OAAO,QAAA,IAAY,QAAA,EAAU,MAAM,IAAI,KAAA,CAAM,oBAAoB,CAAA;AACrE,EAAA,IAAI,WAAA,EAAa,OAAA,CAAQ,UAAA;AACzB,EAAA,IAAI,QAAA,EAAU,OAAA,CAAQ,OAAA;AACtB,EAAA,IAAI,OAAA,EAAS,OAAA,CAAQ,MAAA;AAErB,EAAA,MAAA,EAAQ,iCAAA,KAAc,CAAA;AACtB,EAAA,IAAA,EAAM,iCAAA,GAAY,CAAA;AAElB,EAAA,WAAA,EAAa,WAAA,GAAc,CAAC,CAAA;AAC5B,EAAA,QAAA,EAAU,QAAA,GAAW,GAAA;AAErB,EAAA,GAAA,CAAI,KAAA,CAAM,CAAC,EAAA,IAAM,GAAA,CAAI,CAAC,EAAA,GAAK,KAAA,CAAM,CAAC,EAAA,IAAM,GAAA,CAAI,CAAC,CAAA,EAAG;AAC9C,IAAA,MAAM,IAAA,EAAM,KAAA,CAAM,OAAO,CAAA;AACzB,IAAA,GAAA,CAAI,IAAA,CAAK,CAAC,KAAA,CAAM,CAAC,CAAA,EAAG,KAAA,CAAM,CAAC,CAAC,CAAC,CAAA;AAC7B,IAAA,OAAO,iCAAA,GAAW,EAAK,UAAU,CAAA;AAAA,EACnC;AAEA,EAAA,OAAA,EAAS,OAAA,GAAU,EAAA;AAEnB,EAAA,IAAI,UAAA,EAAY,IAAI,WAAA;AAAA,IAClB,EAAE,CAAA,EAAG,KAAA,CAAM,CAAC,CAAA,EAAG,CAAA,EAAG,KAAA,CAAM,CAAC,EAAE,CAAA;AAAA,IAC3B,EAAE,CAAA,EAAG,GAAA,CAAI,CAAC,CAAA,EAAG,CAAA,EAAG,GAAA,CAAI,CAAC,EAAE,CAAA;AAAA,IACvB;AAAA,EACF,CAAA;AAEA,EAAA,IAAI,KAAA,EAAO,SAAA,CAAU,GAAA,CAAI,OAAA,EAAS,EAAE,OAAe,CAAC,CAAA;AAEpD,EAAA,OAAO,IAAA,CAAK,IAAA,CAAK,CAAA;AACnB;AAGA,IAAO,0BAAA,EAAQ,WAAA;ADoLf;AACE;AACA;AACF,+EAAC;AACD;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA","file":"/home/runner/work/turf/turf/packages/turf-great-circle/dist/cjs/index.cjs","sourcesContent":[null,"import { lineString } from \"@turf/helpers\";\nimport { getCoord } from \"@turf/invariant\";\nimport { GreatCircle } from \"./lib/arc.js\";\n\n/**\n * Calculate great circles routes as {@link LineString} or {@link MultiLineString}.\n * If the `start` and `end` points span the antimeridian, the resulting feature will\n * be split into a `MultiLineString`. If the `start` and `end` positions are the same\n * then a `LineString` will be returned with duplicate coordinates the length of the `npoints` option.\n *\n * @function\n * @param {Coord} start source point feature\n * @param {Coord} end destination point feature\n * @param {Object} [options={}] Optional parameters\n * @param {Object} [options.properties={}] line feature properties\n * @param {number} [options.npoints=100] number of points\n * @param {number} [options.offset=10] offset controls the likelyhood that lines will\n * be split which cross the dateline. The higher the number the more likely.\n * @returns {Feature<LineString | MultiLineString>} great circle line feature\n * @example\n * var start = turf.point([-122, 48]);\n * var end = turf.point([-77, 39]);\n *\n * var greatCircle = turf.greatCircle(start, end, {properties: {name: 'Seattle to DC'}});\n *\n * //addToMap\n * var addToMap = [start, end, greatCircle]\n */\nfunction greatCircle(start, end, options) {\n  // Optional parameters\n  options = options || {};\n  if (typeof options !== \"object\") throw new Error(\"options is invalid\");\n  var properties = options.properties;\n  var npoints = options.npoints;\n  var offset = options.offset;\n\n  start = getCoord(start);\n  end = getCoord(end);\n\n  properties = properties || {};\n  npoints = npoints || 100;\n\n  if (start[0] === end[0] && start[1] === end[1]) {\n    const arr = Array(npoints);\n    arr.fill([start[0], start[1]]);\n    return lineString(arr, properties);\n  }\n\n  offset = offset || 10;\n\n  var generator = new GreatCircle(\n    { x: start[0], y: start[1] },\n    { x: end[0], y: end[1] },\n    properties\n  );\n\n  var line = generator.Arc(npoints, { offset: offset });\n\n  return line.json();\n}\n\nexport { greatCircle };\nexport default greatCircle;\n","/*!\n * Copyright (c) 2019, Dane Springmeyer\n *\n * Redistribution and use in source and binary forms, with or without\n * modification, are permitted provided that the following conditions are\n * met:\n *\n *     * Redistributions of source code must retain the above copyright\n *       notice, this list of conditions and the following disclaimer.\n *     * Redistributions in binary form must reproduce the above copyright\n *       notice, this list of conditions and the following disclaimer in\n *       the documentation and/or other materials provided with the\n *       distribution.\n *\n * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS \"AS\n * IS\" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO,\n * THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR\n * PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR\n * CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL,\n * EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO,\n * PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR\n * PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF\n * LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING\n * NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS\n * SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.\n */\nvar D2R = Math.PI / 180;\nvar R2D = 180 / Math.PI;\n\nvar Coord = function (lon, lat) {\n  this.lon = lon;\n  this.lat = lat;\n  this.x = D2R * lon;\n  this.y = D2R * lat;\n};\n\nCoord.prototype.view = function () {\n  return String(this.lon).slice(0, 4) + \",\" + String(this.lat).slice(0, 4);\n};\n\nCoord.prototype.antipode = function () {\n  var anti_lat = -1 * this.lat;\n  var anti_lon = this.lon < 0 ? 180 + this.lon : (180 - this.lon) * -1;\n  return new Coord(anti_lon, anti_lat);\n};\n\nvar LineString = function () {\n  this.coords = [];\n  this.length = 0;\n};\n\nLineString.prototype.move_to = function (coord) {\n  this.length++;\n  this.coords.push(coord);\n};\n\nvar Arc = function (properties) {\n  this.properties = properties || {};\n  this.geometries = [];\n};\n\nArc.prototype.json = function () {\n  if (this.geometries.length <= 0) {\n    return {\n      geometry: { type: \"LineString\", coordinates: null },\n      type: \"Feature\",\n      properties: this.properties,\n    };\n  } else if (this.geometries.length === 1) {\n    return {\n      geometry: { type: \"LineString\", coordinates: this.geometries[0].coords },\n      type: \"Feature\",\n      properties: this.properties,\n    };\n  } else {\n    var multiline = [];\n    for (var i = 0; i < this.geometries.length; i++) {\n      multiline.push(this.geometries[i].coords);\n    }\n    return {\n      geometry: { type: \"MultiLineString\", coordinates: multiline },\n      type: \"Feature\",\n      properties: this.properties,\n    };\n  }\n};\n\n// TODO - output proper multilinestring\nArc.prototype.wkt = function () {\n  var wkt_string = \"\";\n  var wkt = \"LINESTRING(\";\n  var collect = function (c) {\n    wkt += c[0] + \" \" + c[1] + \",\";\n  };\n  for (var i = 0; i < this.geometries.length; i++) {\n    if (this.geometries[i].coords.length === 0) {\n      return \"LINESTRING(empty)\";\n    } else {\n      var coords = this.geometries[i].coords;\n      coords.forEach(collect);\n      wkt_string += wkt.substring(0, wkt.length - 1) + \")\";\n    }\n  }\n  return wkt_string;\n};\n\n/*\n * http://en.wikipedia.org/wiki/Great-circle_distance\n *\n */\nvar GreatCircle = function (start, end, properties) {\n  if (!start || start.x === undefined || start.y === undefined) {\n    throw new Error(\n      \"GreatCircle constructor expects two args: start and end objects with x and y properties\"\n    );\n  }\n  if (!end || end.x === undefined || end.y === undefined) {\n    throw new Error(\n      \"GreatCircle constructor expects two args: start and end objects with x and y properties\"\n    );\n  }\n  this.start = new Coord(start.x, start.y);\n  this.end = new Coord(end.x, end.y);\n  this.properties = properties || {};\n\n  var w = this.start.x - this.end.x;\n  var h = this.start.y - this.end.y;\n  var z =\n    Math.pow(Math.sin(h / 2.0), 2) +\n    Math.cos(this.start.y) *\n      Math.cos(this.end.y) *\n      Math.pow(Math.sin(w / 2.0), 2);\n  this.g = 2.0 * Math.asin(Math.sqrt(z));\n\n  if (this.g === Math.PI) {\n    throw new Error(\n      \"it appears \" +\n        start.view() +\n        \" and \" +\n        end.view() +\n        \" are 'antipodal', e.g diametrically opposite, thus there is no single route but rather infinite\"\n    );\n  } else if (isNaN(this.g)) {\n    throw new Error(\n      \"could not calculate great circle between \" + start + \" and \" + end\n    );\n  }\n};\n\n/*\n * http://williams.best.vwh.net/avform.htm#Intermediate\n */\nGreatCircle.prototype.interpolate = function (f) {\n  var A = Math.sin((1 - f) * this.g) / Math.sin(this.g);\n  var B = Math.sin(f * this.g) / Math.sin(this.g);\n  var x =\n    A * Math.cos(this.start.y) * Math.cos(this.start.x) +\n    B * Math.cos(this.end.y) * Math.cos(this.end.x);\n  var y =\n    A * Math.cos(this.start.y) * Math.sin(this.start.x) +\n    B * Math.cos(this.end.y) * Math.sin(this.end.x);\n  var z = A * Math.sin(this.start.y) + B * Math.sin(this.end.y);\n  var lat = R2D * Math.atan2(z, Math.sqrt(Math.pow(x, 2) + Math.pow(y, 2)));\n  var lon = R2D * Math.atan2(y, x);\n  return [lon, lat];\n};\n\n/*\n * Generate points along the great circle\n */\nGreatCircle.prototype.Arc = function (npoints, options) {\n  var first_pass = [];\n  if (!npoints || npoints <= 2) {\n    first_pass.push([this.start.lon, this.start.lat]);\n    first_pass.push([this.end.lon, this.end.lat]);\n  } else {\n    var delta = 1.0 / (npoints - 1);\n    for (var i = 0; i < npoints; ++i) {\n      var step = delta * i;\n      var pair = this.interpolate(step);\n      first_pass.push(pair);\n    }\n  }\n  /* partial port of dateline handling from:\n      gdal/ogr/ogrgeometryfactory.cpp\n\n      TODO - does not handle all wrapping scenarios yet\n    */\n  var bHasBigDiff = false;\n  var dfMaxSmallDiffLong = 0;\n  // from http://www.gdal.org/ogr2ogr.html\n  // -datelineoffset:\n  // (starting with GDAL 1.10) offset from dateline in degrees (default long. = +/- 10deg, geometries within 170deg to -170deg will be splited)\n  var dfDateLineOffset = options && options.offset ? options.offset : 10;\n  var dfLeftBorderX = 180 - dfDateLineOffset;\n  var dfRightBorderX = -180 + dfDateLineOffset;\n  var dfDiffSpace = 360 - dfDateLineOffset;\n\n  // https://github.com/OSGeo/gdal/blob/7bfb9c452a59aac958bff0c8386b891edf8154ca/gdal/ogr/ogrgeometryfactory.cpp#L2342\n  for (var j = 1; j < first_pass.length; ++j) {\n    var dfPrevX = first_pass[j - 1][0];\n    var dfX = first_pass[j][0];\n    var dfDiffLong = Math.abs(dfX - dfPrevX);\n    if (\n      dfDiffLong > dfDiffSpace &&\n      ((dfX > dfLeftBorderX && dfPrevX < dfRightBorderX) ||\n        (dfPrevX > dfLeftBorderX && dfX < dfRightBorderX))\n    ) {\n      bHasBigDiff = true;\n    } else if (dfDiffLong > dfMaxSmallDiffLong) {\n      dfMaxSmallDiffLong = dfDiffLong;\n    }\n  }\n\n  var poMulti = [];\n  if (bHasBigDiff && dfMaxSmallDiffLong < dfDateLineOffset) {\n    var poNewLS = [];\n    poMulti.push(poNewLS);\n    for (var k = 0; k < first_pass.length; ++k) {\n      var dfX0 = parseFloat(first_pass[k][0]);\n      if (k > 0 && Math.abs(dfX0 - first_pass[k - 1][0]) > dfDiffSpace) {\n        var dfX1 = parseFloat(first_pass[k - 1][0]);\n        var dfY1 = parseFloat(first_pass[k - 1][1]);\n        var dfX2 = parseFloat(first_pass[k][0]);\n        var dfY2 = parseFloat(first_pass[k][1]);\n        if (\n          dfX1 > -180 &&\n          dfX1 < dfRightBorderX &&\n          dfX2 === 180 &&\n          k + 1 < first_pass.length &&\n          first_pass[k - 1][0] > -180 &&\n          first_pass[k - 1][0] < dfRightBorderX\n        ) {\n          poNewLS.push([-180, first_pass[k][1]]);\n          k++;\n          poNewLS.push([first_pass[k][0], first_pass[k][1]]);\n          continue;\n        } else if (\n          dfX1 > dfLeftBorderX &&\n          dfX1 < 180 &&\n          dfX2 === -180 &&\n          k + 1 < first_pass.length &&\n          first_pass[k - 1][0] > dfLeftBorderX &&\n          first_pass[k - 1][0] < 180\n        ) {\n          poNewLS.push([180, first_pass[k][1]]);\n          k++;\n          poNewLS.push([first_pass[k][0], first_pass[k][1]]);\n          continue;\n        }\n\n        if (dfX1 < dfRightBorderX && dfX2 > dfLeftBorderX) {\n          // swap dfX1, dfX2\n          var tmpX = dfX1;\n          dfX1 = dfX2;\n          dfX2 = tmpX;\n          // swap dfY1, dfY2\n          var tmpY = dfY1;\n          dfY1 = dfY2;\n          dfY2 = tmpY;\n        }\n        if (dfX1 > dfLeftBorderX && dfX2 < dfRightBorderX) {\n          dfX2 += 360;\n        }\n\n        if (dfX1 <= 180 && dfX2 >= 180 && dfX1 < dfX2) {\n          var dfRatio = (180 - dfX1) / (dfX2 - dfX1);\n          var dfY = dfRatio * dfY2 + (1 - dfRatio) * dfY1;\n          poNewLS.push([\n            first_pass[k - 1][0] > dfLeftBorderX ? 180 : -180,\n            dfY,\n          ]);\n          poNewLS = [];\n          poNewLS.push([\n            first_pass[k - 1][0] > dfLeftBorderX ? -180 : 180,\n            dfY,\n          ]);\n          poMulti.push(poNewLS);\n        } else {\n          poNewLS = [];\n          poMulti.push(poNewLS);\n        }\n        poNewLS.push([dfX0, first_pass[k][1]]);\n      } else {\n        poNewLS.push([first_pass[k][0], first_pass[k][1]]);\n      }\n    }\n  } else {\n    // add normally\n    var poNewLS0 = [];\n    poMulti.push(poNewLS0);\n    for (var l = 0; l < first_pass.length; ++l) {\n      poNewLS0.push([first_pass[l][0], first_pass[l][1]]);\n    }\n  }\n\n  var arc = new Arc(this.properties);\n  for (var m = 0; m < poMulti.length; ++m) {\n    var line = new LineString();\n    arc.geometries.push(line);\n    var points = poMulti[m];\n    for (var j0 = 0; j0 < points.length; ++j0) {\n      line.move_to(points[j0]);\n    }\n  }\n  return arc;\n};\n\nexport { Coord, Arc, GreatCircle };\n\nexport default {\n  Coord,\n  Arc,\n  GreatCircle,\n};\n"]}