@ifc-lite/parser 2.1.8 → 2.1.9

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (38) hide show
  1. package/dist/classification-extractor.d.ts +1 -1
  2. package/dist/classification-extractor.d.ts.map +1 -1
  3. package/dist/classification-resolver.d.ts +18 -0
  4. package/dist/classification-resolver.d.ts.map +1 -0
  5. package/dist/classification-resolver.js +126 -0
  6. package/dist/classification-resolver.js.map +1 -0
  7. package/dist/columnar-parser-attributes.d.ts +39 -0
  8. package/dist/columnar-parser-attributes.d.ts.map +1 -0
  9. package/dist/columnar-parser-attributes.js +225 -0
  10. package/dist/columnar-parser-attributes.js.map +1 -0
  11. package/dist/columnar-parser-indexes.d.ts +42 -0
  12. package/dist/columnar-parser-indexes.d.ts.map +1 -0
  13. package/dist/columnar-parser-indexes.js +102 -0
  14. package/dist/columnar-parser-indexes.js.map +1 -0
  15. package/dist/columnar-parser-relationships.d.ts +17 -0
  16. package/dist/columnar-parser-relationships.d.ts.map +1 -0
  17. package/dist/columnar-parser-relationships.js +95 -0
  18. package/dist/columnar-parser-relationships.js.map +1 -0
  19. package/dist/columnar-parser.d.ts +2 -21
  20. package/dist/columnar-parser.d.ts.map +1 -1
  21. package/dist/columnar-parser.js +3 -409
  22. package/dist/columnar-parser.js.map +1 -1
  23. package/dist/georef-extractor.d.ts +7 -1
  24. package/dist/georef-extractor.d.ts.map +1 -1
  25. package/dist/georef-extractor.js +29 -5
  26. package/dist/georef-extractor.js.map +1 -1
  27. package/dist/material-extractor.d.ts +1 -1
  28. package/dist/material-extractor.d.ts.map +1 -1
  29. package/dist/material-resolver.d.ts +37 -0
  30. package/dist/material-resolver.d.ts.map +1 -0
  31. package/dist/material-resolver.js +230 -0
  32. package/dist/material-resolver.js.map +1 -0
  33. package/dist/on-demand-extractors.d.ts +4 -51
  34. package/dist/on-demand-extractors.d.ts.map +1 -1
  35. package/dist/on-demand-extractors.js +17 -341
  36. package/dist/on-demand-extractors.js.map +1 -1
  37. package/dist/style-extractor.js.map +1 -1
  38. package/package.json +3 -3
@@ -1 +1 @@
1
- {"version":3,"file":"columnar-parser.js","sourceRoot":"","sources":["../src/columnar-parser.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"columnar-parser.js","sourceRoot":"","sources":["../src/columnar-parser.ts"],"names":[],"mappings":"AAAA;;+DAE+D;AAU/D,OAAO,EAAE,uBAAuB,EAAE,MAAM,gCAAgC,CAAC;AACzE,OAAO,EAAE,eAAe,EAAE,MAAM,uBAAuB,CAAC;AACxD,OAAO,EAAE,sBAAsB,EAAE,MAAM,qBAAqB,CAAC;AAC7D,OAAO,EAAE,iBAAiB,EAAE,mBAAmB,EAAE,MAAM,iBAAiB,CAAC;AACzE,OAAO,EAAE,kBAAkB,EAAE,MAAM,2BAA2B,CAAC;AAC/D,OAAO,EAAE,4BAA4B,EAAE,MAAM,2BAA2B,CAAC;AACzE,OAAO,EACH,WAAW,EACX,kBAAkB,EAClB,oBAAoB,EACpB,oBAAoB,EACpB,wBAAwB,EACxB,gBAAgB,EAChB,YAAY,GACf,MAAM,gBAAgB,CAAC;AAExB,OAAO,EAAE,2BAA2B,EAAE,MAAM,iCAAiC,CAAC;AAC9E,OAAO,EACH,cAAc,EACd,YAAY,EACZ,iBAAiB,EACjB,aAAa,EACb,mBAAmB,EACnB,kBAAkB,EAClB,qBAAqB,EACrB,kBAAkB,EAClB,qBAAqB,EACrB,wBAAwB,EACxB,mBAAmB,GACtB,MAAM,8BAA8B,CAAC;AACtC,OAAO,EAAE,cAAc,EAAE,sBAAsB,EAAE,MAAM,oCAAoC,CAAC;AA6D5F,SAAS,mBAAmB,CAAC,MAAkB;IAC3C,MAAM,SAAS,GAAG,IAAI,CAAC,GAAG,CAAC,MAAM,CAAC,MAAM,EAAE,IAAI,CAAC,CAAC;IAChD,MAAM,UAAU,GAAG,IAAI,WAAW,EAAE,CAAC,MAAM,CAAC,MAAM,CAAC,QAAQ,CAAC,CAAC,EAAE,SAAS,CAAC,CAAC,CAAC,WAAW,EAAE,CAAC;IAEzF,IAAI,UAAU,CAAC,QAAQ,CAAC,MAAM,CAAC;QAAE,OAAO,MAAM,CAAC;IAC/C,IAAI,UAAU,CAAC,QAAQ,CAAC,QAAQ,CAAC;QAAE,OAAO,QAAQ,CAAC;IACnD,IAAI,UAAU,CAAC,QAAQ,CAAC,MAAM,CAAC;QAAE,OAAO,MAAM,CAAC;IAC/C,IAAI,UAAU,CAAC,QAAQ,CAAC,QAAQ,CAAC;QAAE,OAAO,QAAQ,CAAC;IAEnD,OAAO,MAAM,CAAC,CAAC,mBAAmB;AACtC,CAAC;AAED,SAAS,gBAAgB;IACrB,MAAM,cAAc,GAAI,UAEtB,CAAC,SAAS,CAAC;IACb,IAAI,OAAO,cAAc,EAAE,KAAK,KAAK,UAAU,EAAE,CAAC;QAC9C,OAAO,cAAc,CAAC,KAAK,EAAE,CAAC;IAClC,CAAC;IACD,OAAO,IAAI,OAAO,CAAO,CAAC,OAAO,EAAE,EAAE;QACjC,MAAM,OAAO,GAAG,IAAI,cAAc,EAAE,CAAC;QACrC,OAAO,CAAC,KAAK,CAAC,SAAS,GAAG,GAAG,EAAE,CAAC,OAAO,EAAE,CAAC;QAC1C,OAAO,CAAC,KAAK,CAAC,WAAW,CAAC,IAAI,CAAC,CAAC;IACpC,CAAC,CAAC,CAAC;AACP,CAAC;AAED,MAAM,OAAO,cAAc;IACvB;;;;;;OAMG;IACH,KAAK,CAAC,SAAS,CACX,MAAmB,EACnB,UAAuB,EACvB,UAMI,EAAE;QAEN,MAAM,SAAS,GAAG,WAAW,CAAC,GAAG,EAAE,CAAC;QACpC,MAAM,WAAW,GAAG,IAAI,UAAU,CAAC,MAAM,CAAC,CAAC;QAC3C,MAAM,aAAa,GAAG,UAAU,CAAC,MAAM,CAAC;QAExC,yCAAyC;QACzC,IAAI,UAAU,GAAG,SAAS,CAAC;QAC3B,MAAM,cAAc,GAAG,CAAC,OAAe,EAAE,EAAE;YACvC,OAAO,CAAC,YAAY,EAAE,CAAC,OAAO,CAAC,CAAC;QACpC,CAAC,CAAC;QACF,MAAM,QAAQ,GAAG,CAAC,IAAY,EAAE,EAAE;YAC9B,MAAM,GAAG,GAAG,WAAW,CAAC,GAAG,EAAE,CAAC;YAC9B,MAAM,OAAO,GAAG,IAAI,CAAC,KAAK,CAAC,GAAG,GAAG,UAAU,CAAC,CAAC;YAC7C,OAAO,CAAC,GAAG,CAAC,eAAe,IAAI,KAAK,OAAO,IAAI,CAAC,CAAC;YACjD,cAAc,CAAC,GAAG,IAAI,KAAK,OAAO,IAAI,CAAC,CAAC;YACxC,UAAU,GAAG,GAAG,CAAC;QACrB,CAAC,CAAC;QAEF,OAAO,CAAC,UAAU,EAAE,CAAC,EAAE,KAAK,EAAE,UAAU,EAAE,OAAO,EAAE,CAAC,EAAE,CAAC,CAAC;QAExD,gDAAgD;QAChD,MAAM,aAAa,GAAG,mBAAmB,CAAC,WAAW,CAAC,CAAC;QAEvD,6EAA6E;QAC7E,MAAM,OAAO,GAAG,IAAI,WAAW,EAAE,CAAC;QAClC,MAAM,oBAAoB,GAAG,IAAI,oBAAoB,CAAC,OAAO,CAAC,CAAC;QAC/D,MAAM,oBAAoB,GAAG,IAAI,oBAAoB,CAAC,OAAO,CAAC,CAAC;QAC/D,MAAM,wBAAwB,GAAG,IAAI,wBAAwB,EAAE,CAAC;QAEhE,QAAQ,CAAC,eAAe,CAAC,CAAC;QAE1B,0EAA0E;QAC1E,sEAAsE;QACtE,yCAAyC;QACzC,MAAM,MAAM,GAAG,IAAI,GAAG,EAAoB,CAAC;QAC3C,MAAM,sBAAsB,GAAG,OAAO,CAAC,sBAAsB,KAAK,IAAI,CAAC;QACvE,MAAM,cAAc,GAAG,IAAI,GAAG,EAAkB,CAAC;QACjD,MAAM,YAAY,GAAG,CAAC,IAAY,EAAE,EAAE;YAClC,IAAI,KAAK,GAAG,cAAc,CAAC,GAAG,CAAC,IAAI,CAAC,CAAC;YACrC,IAAI,KAAK,KAAK,SAAS,EAAE,CAAC;gBACtB,KAAK,GAAG,IAAI,CAAC,WAAW,EAAE,CAAC;gBAC3B,cAAc,CAAC,GAAG,CAAC,IAAI,EAAE,KAAK,CAAC,CAAC;YACpC,CAAC;YACD,OAAO,KAAK,CAAC;QACjB,CAAC,CAAC;QAEF,MAAM,wBAAwB,GAAG,IAAI,GAAG,CAAC;YACrC,SAAS,EAAE,SAAS,EAAE,SAAS,EAAE,WAAW,EAAE,UAAU,EAAE,SAAS,EAAE,WAAW;YAChF,SAAS,EAAE,UAAU,EAAE,YAAY,EAAE,SAAS,EAAE,YAAY,EAAE,SAAS;YACvE,WAAW,EAAE,gBAAgB,EAAE,yBAAyB,EAAE,sBAAsB;YAChF,gBAAgB,EAAE,iBAAiB,EAAE,mBAAmB,EAAE,gBAAgB;YAC1E,UAAU,EAAE,mBAAmB,EAAE,SAAS,EAAE,aAAa,EAAE,mBAAmB;YAC9E,YAAY,EAAE,aAAa,EAAE,eAAe,EAAE,SAAS;YACvD,2EAA2E;YAC3E,qEAAqE;YACrE,uEAAuE;YACvE,mCAAmC,EAAE,sCAAsC;YAC3E,mBAAmB,EAAE,WAAW,EAAE,wBAAwB;YAC1D,gBAAgB,EAAE,uBAAuB,EAAE,oBAAoB;YAC/D,yBAAyB;YACzB,kBAAkB,EAAE,iBAAiB;YACrC,kBAAkB,EAAE,qBAAqB,EAAE,0BAA0B;YACrE,2BAA2B,EAAE,wBAAwB;YACrD,uBAAuB,EAAE,oBAAoB,EAAE,aAAa;YAC5D,mBAAmB,EAAE,4BAA4B;YACjD,wBAAwB,EAAE,sBAAsB;SACnD,CAAC,CAAC;QAEH,0CAA0C;QAC1C,MAAM,QAAQ,GAAG,CAAC,EAAE,WAAW,GAAG,CAAC,EAAE,YAAY,GAAG,CAAC,EAAE,iBAAiB,GAAG,CAAC,EACtE,gBAAgB,GAAG,CAAC,EAAE,mBAAmB,GAAG,CAAC,EAAE,mBAAmB,GAAG,CAAC,EACtE,eAAe,GAAG,CAAC,EAAE,YAAY,GAAG,CAAC,CAAC;QAG5C,sFAAsF;QACtF,SAAS,cAAc,CAAC,KAAa,EAAE,GAAgB;YACnD,MAAM,KAAK,GAAG,mBAAmB,CAAC,KAAK,CAAC,CAAC;YACzC,OAAO,KAAK,CAAC,IAAI,CAAC,QAAQ,CAAC,EAAE,CAAC,GAAG,CAAC,GAAG,CAAC,QAAQ,CAAC,WAAW,EAAE,CAAC,CAAC,CAAC;QACnE,CAAC;QAED,iEAAiE;QACjE,MAAM,iBAAiB,GAAG,IAAI,GAAG,EAAkB,CAAC;QACpD,SAAS,WAAW,CAAC,IAAY;YAC7B,IAAI,GAAG,GAAG,iBAAiB,CAAC,GAAG,CAAC,IAAI,CAAC,CAAC;YACtC,IAAI,GAAG,KAAK,SAAS;gBAAE,OAAO,GAAG,CAAC;YAClC,MAAM,KAAK,GAAG,YAAY,CAAC,IAAI,CAAC,CAAC;YACjC,IAAI,aAAa,CAAC,GAAG,CAAC,KAAK,CAAC,IAAI,cAAc,CAAC,KAAK,EAAE,aAAa,CAAC;gBAAE,GAAG,GAAG,WAAW,CAAC;iBACnF,IAAI,cAAc,CAAC,GAAG,CAAC,KAAK,CAAC,IAAI,cAAc,CAAC,KAAK,EAAE,cAAc,CAAC;gBAAE,GAAG,GAAG,YAAY,CAAC;iBAC3F,IAAI,mBAAmB,CAAC,GAAG,CAAC,KAAK,CAAC;gBAAE,GAAG,GAAG,iBAAiB,CAAC;iBAC5D,IAAI,kBAAkB,CAAC,GAAG,CAAC,KAAK,CAAC;gBAAE,GAAG,GAAG,gBAAgB,CAAC;iBAC1D,IAAI,qBAAqB,CAAC,GAAG,CAAC,KAAK,CAAC;gBAAE,GAAG,GAAG,mBAAmB,CAAC;iBAChE,IAAI,qBAAqB,CAAC,GAAG,CAAC,KAAK,CAAC;gBAAE,GAAG,GAAG,mBAAmB,CAAC;iBAChE,IAAI,mBAAmB,CAAC,KAAK,CAAC;gBAAE,GAAG,GAAG,eAAe,CAAC;iBACtD,IAAI,wBAAwB,CAAC,GAAG,CAAC,KAAK,CAAC,IAAI,KAAK,CAAC,UAAU,CAAC,QAAQ,CAAC;gBAAE,GAAG,GAAG,YAAY,CAAC;;gBAC1F,GAAG,GAAG,QAAQ,CAAC;YACpB,iBAAiB,CAAC,GAAG,CAAC,IAAI,EAAE,GAAG,CAAC,CAAC;YACjC,OAAO,GAAG,CAAC;QACf,CAAC;QAED,wEAAwE;QACxE,0EAA0E;QAC1E,+EAA+E;QAC/E,iDAAiD;QACjD,MAAM,iBAAiB,GAAG,IAAI,CAAC,GAAG,CAAC,EAAE,EAAE,OAAO,CAAC,eAAe,IAAI,EAAE,CAAC,CAAC;QACtE,IAAI,aAAa,GAAG,WAAW,CAAC,GAAG,EAAE,CAAC;QACtC,MAAM,aAAa,GAAG,KAAK,IAAI,EAAE;YAC7B,MAAM,GAAG,GAAG,WAAW,CAAC,GAAG,EAAE,CAAC;YAC9B,IAAI,GAAG,GAAG,aAAa,IAAI,iBAAiB,EAAE,CAAC;gBAC3C,MAAM,gBAAgB,EAAE,CAAC;gBACzB,aAAa,GAAG,WAAW,CAAC,GAAG,EAAE,CAAC;YACtC,CAAC;QACL,CAAC,CAAC;QAEF,cAAc,CAAC,kCAAkC,aAAa,kBAAkB,iBAAiB,IAAI,CAAC,CAAC;QAEvG,MAAM,WAAW,GAAgB,EAAE,CAAC;QACpC,MAAM,YAAY,GAAgB,EAAE,CAAC;QACrC,MAAM,gBAAgB,GAAgB,EAAE,CAAC;QACzC,MAAM,eAAe,GAAgB,EAAE,CAAC;QACxC,MAAM,qBAAqB,GAAgB,EAAE,CAAC;QAC9C,MAAM,gBAAgB,GAAgB,EAAE,CAAC;QACzC,MAAM,kBAAkB,GAAgB,EAAE,CAAC;QAC3C,MAAM,cAAc,GAAgB,EAAE,CAAC;QACvC,MAAM,iBAAiB,GAAgB,EAAE,CAAC;QAE1C,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,UAAU,CAAC,MAAM,EAAE,CAAC,EAAE,EAAE,CAAC;YACzC,IAAI,CAAC,CAAC,GAAG,KAAK,CAAC,KAAK,CAAC;gBAAE,MAAM,aAAa,EAAE,CAAC;YAC7C,MAAM,GAAG,GAAG,UAAU,CAAC,CAAC,CAAC,CAAC;YAC1B,mEAAmE;YACnE,MAAM,GAAG,GAAG,WAAW,CAAC,GAAG,CAAC,IAAI,CAAC,CAAC;YAClC,MAAM,SAAS,GAAG,GAAG,KAAK,mBAAmB,CAAC,CAAC,CAAC,YAAY,CAAC,GAAG,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC;YAC5E,kEAAkE;YAClE,yEAAyE;YACzE,0EAA0E;YAC1E,MAAM,qBAAqB,GACvB,CAAC,sBAAsB,IAAI,GAAG,KAAK,mBAAmB,IAAI,wBAAwB,CAAC,GAAG,CAAC,SAAS,CAAC,CAAC;YACtG,IAAI,qBAAqB,EAAE,CAAC;gBACxB,IAAI,QAAQ,GAAG,MAAM,CAAC,GAAG,CAAC,GAAG,CAAC,IAAI,CAAC,CAAC;gBACpC,IAAI,CAAC,QAAQ,EAAE,CAAC;oBAAC,QAAQ,GAAG,EAAE,CAAC;oBAAC,MAAM,CAAC,GAAG,CAAC,GAAG,CAAC,IAAI,EAAE,QAAQ,CAAC,CAAC;gBAAC,CAAC;gBACjE,QAAQ,CAAC,IAAI,CAAC,GAAG,CAAC,SAAS,CAAC,CAAC;YACjC,CAAC;YACD,IAAI,GAAG,KAAK,WAAW;gBAAE,WAAW,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC;iBAC1C,IAAI,GAAG,KAAK,YAAY;gBAAE,YAAY,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC;iBACjD,IAAI,GAAG,KAAK,iBAAiB;gBAAE,gBAAgB,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC;iBAC1D,IAAI,GAAG,KAAK,gBAAgB;gBAAE,eAAe,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC;iBACxD,IAAI,GAAG,KAAK,mBAAmB,EAAE,CAAC;gBACnC,IAAI,wBAAwB,CAAC,GAAG,CAAC,SAAS,CAAC;oBAAE,qBAAqB,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC;;oBACxE,gBAAgB,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC;YACpC,CAAC;iBACI,IAAI,GAAG,KAAK,mBAAmB;gBAAE,kBAAkB,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC;iBAC9D,IAAI,GAAG,KAAK,eAAe;gBAAE,cAAc,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC;iBACtD,IAAI,GAAG,KAAK,YAAY;gBAAE,iBAAiB,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC;QAC/D,CAAC;QAED,QAAQ,CAAC,cAAc,aAAa,cAAc,WAAW,CAAC,MAAM,SAAS,YAAY,CAAC,MAAM,QAAQ,gBAAgB,CAAC,MAAM,YAAY,eAAe,CAAC,MAAM,mBAAmB,qBAAqB,CAAC,MAAM,cAAc,gBAAgB,CAAC,MAAM,aAAa,kBAAkB,CAAC,MAAM,SAAS,cAAc,CAAC,MAAM,UAAU,iBAAiB,CAAC,MAAM,EAAE,CAAC,CAAC;QAE/V,qEAAqE;QACrE,yEAAyE;QACzE,wEAAwE;QACxE,oEAAoE;QACpE,MAAM,oBAAoB,GAAG,IAAI,GAAG,EAAU,CAAC;QAC/C,KAAK,MAAM,GAAG,IAAI,kBAAkB,EAAE,CAAC;YACnC,MAAM,MAAM,GAAG,sBAAsB,CAAC,WAAW,EAAE,GAAG,CAAC,UAAU,EAAE,GAAG,CAAC,UAAU,CAAC,CAAC;YACnF,IAAI,MAAM;gBAAE,oBAAoB,CAAC,GAAG,CAAC,MAAM,CAAC,WAAW,CAAC,CAAC;QAC7D,CAAC;QAED,8EAA8E;QAC9E,0EAA0E;QAC1E,MAAM,iBAAiB,GAAG,IAAI,GAAG,EAAU,CAAC;QAC5C,KAAK,MAAM,GAAG,IAAI,CAAC,WAAW,EAAE,YAAY,EAAE,gBAAgB,EAAE,eAAe;YAC3E,qBAAqB,EAAE,kBAAkB,EAAE,cAAc,EAAE,iBAAiB;YAC5E,GAAG,CAAC,sBAAsB,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC,gBAAgB,CAAC,CAAC,CAAC,EAAE,CAAC;YACzD,KAAK,MAAM,CAAC,IAAI,GAAG;gBAAE,iBAAiB,CAAC,GAAG,CAAC,CAAC,CAAC,SAAS,CAAC,CAAC;QAC5D,CAAC;QACD,MAAM,cAAc,GAAgB,EAAE,CAAC;QACvC,KAAK,MAAM,GAAG,IAAI,UAAU,EAAE,CAAC;YAC3B,IAAI,oBAAoB,CAAC,GAAG,CAAC,GAAG,CAAC,SAAS,CAAC,IAAI,CAAC,iBAAiB,CAAC,GAAG,CAAC,GAAG,CAAC,SAAS,CAAC,EAAE,CAAC;gBACnF,cAAc,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC;YAC7B,CAAC;QACL,CAAC;QACD,QAAQ,CAAC,gCAAgC,oBAAoB,CAAC,IAAI,aAAa,cAAc,CAAC,MAAM,aAAa,CAAC,CAAC;QAEnH,uEAAuE;QACvE,+DAA+D;QAC/D,0EAA0E;QAC1E,0EAA0E;QAC1E,MAAM,WAAW,GAAG,sBAAsB;YACtC,CAAC,CAAC,UAAU,CAAC,MAAM,CAAC,GAAG,CAAC,EAAE;gBACtB,MAAM,GAAG,GAAG,WAAW,CAAC,GAAG,CAAC,IAAI,CAAC,CAAC;gBAClC,OAAO,GAAG,KAAK,mBAAmB,IAAI,wBAAwB,CAAC,GAAG,CAAC,YAAY,CAAC,GAAG,CAAC,IAAI,CAAC,CAAC,CAAC;YAC7F,CAAC,CAAC;YACJ,CAAC,CAAC,UAAU,CAAC;QACjB,cAAc,CACV,4BAA4B,WAAW,CAAC,MAAM,0BAA0B,sBAAsB,CAAC,CAAC,CAAC,gBAAgB,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC,sBAAsB,cAAc,CAAC,MAAM,EAAE,CAC5K,CAAC;QAEF,2EAA2E;QAC3E,2EAA2E;QAC3E,gEAAgE;QAChE,MAAM,gBAAgB,GAAG,MAAM,4BAA4B,CAAC,WAAW,CAAC,CAAC;QACzE,QAAQ,CAAC,sBAAsB,CAAC,CAAC;QAEjC,2EAA2E;QAC3E,yEAAyE;QACzE,uEAAuE;QACvE,MAAM,aAAa,GAAG,WAAW,CAAC,MAAM,GAAG,YAAY,CAAC,MAAM,GAAG,cAAc,CAAC,MAAM;cAChF,gBAAgB,CAAC,MAAM,GAAG,iBAAiB,CAAC,MAAM,CAAC;QACzD,MAAM,kBAAkB,GAAG,IAAI,kBAAkB,CAAC,aAAa,EAAE,OAAO,CAAC,CAAC;QAE1E,MAAM,WAAW,GAAG;YAChB,IAAI,EAAE,gBAAmC;YACzC,MAAM;SACT,CAAC;QAEF,6DAA6D;QAC7D,yEAAyE;QACzE,2EAA2E;QAC3E,OAAO,CAAC,UAAU,EAAE,CAAC,EAAE,KAAK,EAAE,kBAAkB,EAAE,OAAO,EAAE,EAAE,EAAE,CAAC,CAAC;QAEjE,MAAM,SAAS,GAAG,IAAI,eAAe,CAAC,WAAW,CAAC,CAAC;QAEnD,qEAAqE;QACrE,MAAM,gBAAgB,GAAG,IAAI,GAAG,EAA8C,CAAC;QAC/E,KAAK,MAAM,GAAG,IAAI,WAAW,EAAE,CAAC;YAC5B,MAAM,MAAM,GAAG,SAAS,CAAC,aAAa,CAAC,GAAG,CAAC,CAAC;YAC5C,IAAI,MAAM,EAAE,CAAC;gBACT,MAAM,KAAK,GAAG,MAAM,CAAC,UAAU,IAAI,EAAE,CAAC;gBACtC,gBAAgB,CAAC,GAAG,CAAC,GAAG,CAAC,SAAS,EAAE;oBAChC,QAAQ,EAAE,OAAO,KAAK,CAAC,CAAC,CAAC,KAAK,QAAQ,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,EAAE;oBACtD,IAAI,EAAE,OAAO,KAAK,CAAC,CAAC,CAAC,KAAK,QAAQ,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,EAAE;iBACrD,CAAC,CAAC;YACP,CAAC;QACL,CAAC;QACD,QAAQ,CAAC,kBAAkB,CAAC,CAAC;QAE7B,MAAM,aAAa,EAAE,CAAC;QAEtB,wFAAwF;QACxF,OAAO,CAAC,UAAU,EAAE,CAAC,EAAE,KAAK,EAAE,wBAAwB,EAAE,OAAO,EAAE,EAAE,EAAE,CAAC,CAAC;QACvE,MAAM,QAAQ,GAAG,MAAM,2BAA2B,CAAC,WAAW,EAAE,YAAY,EAAE,aAAa,CAAC,CAAC;QAC7F,KAAK,MAAM,CAAC,EAAE,EAAE,IAAI,CAAC,IAAI,QAAQ;YAAE,gBAAgB,CAAC,GAAG,CAAC,EAAE,EAAE,IAAI,CAAC,CAAC;QAElE,MAAM,aAAa,EAAE,CAAC;QAEtB,MAAM,QAAQ,GAAG,MAAM,2BAA2B,CAAC,WAAW,EAAE,cAAc,EAAE,aAAa,CAAC,CAAC;QAC/F,KAAK,MAAM,CAAC,EAAE,EAAE,IAAI,CAAC,IAAI,QAAQ;YAAE,gBAAgB,CAAC,GAAG,CAAC,EAAE,EAAE,IAAI,CAAC,CAAC;QAClE,QAAQ,CAAC,0BAA0B,CAAC,CAAC;QAErC,MAAM,aAAa,EAAE,CAAC;QAEtB,oEAAoE;QACpE,OAAO,CAAC,UAAU,EAAE,CAAC,EAAE,KAAK,EAAE,uBAAuB,EAAE,OAAO,EAAE,EAAE,EAAE,CAAC,CAAC;QAEtE,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,gBAAgB,CAAC,MAAM,EAAE,CAAC,EAAE,EAAE,CAAC;YAC/C,IAAI,CAAC,CAAC,GAAG,KAAK,CAAC,KAAK,CAAC;gBAAE,MAAM,aAAa,EAAE,CAAC;YAC7C,MAAM,GAAG,GAAG,gBAAgB,CAAC,CAAC,CAAC,CAAC;YAChC,MAAM,SAAS,GAAG,YAAY,CAAC,GAAG,CAAC,IAAI,CAAC,CAAC;YACzC,MAAM,GAAG,GAAG,cAAc,CAAC,WAAW,EAAE,GAAG,CAAC,UAAU,EAAE,GAAG,CAAC,UAAU,EAAE,SAAS,CAAC,CAAC;YACnF,IAAI,GAAG,EAAE,CAAC;gBACN,MAAM,OAAO,GAAG,YAAY,CAAC,SAAS,CAAC,CAAC;gBACxC,IAAI,OAAO,EAAE,CAAC;oBACV,KAAK,MAAM,QAAQ,IAAI,GAAG,CAAC,cAAc,EAAE,CAAC;wBACxC,wBAAwB,CAAC,OAAO,CAAC,GAAG,CAAC,cAAc,EAAE,QAAQ,EAAE,OAAO,EAAE,GAAG,CAAC,SAAS,CAAC,CAAC;oBAC3F,CAAC;gBACL,CAAC;YACL,CAAC;QACL,CAAC;QAED,QAAQ,CAAC,0BAA0B,CAAC,CAAC;QAErC,qDAAqD;QACrD,4EAA4E;QAC5E,wEAAwE;QACxE,OAAO,CAAC,UAAU,EAAE,CAAC,EAAE,KAAK,EAAE,mBAAmB,EAAE,OAAO,EAAE,EAAE,EAAE,CAAC,CAAC;QAElE,8CAA8C;QAC9C,MAAM,cAAc,GAAG,CAAC,IAAiB,EAAE,WAAoB,EAAE,MAAe,EAAE,EAAE;YAChF,KAAK,MAAM,GAAG,IAAI,IAAI,EAAE,CAAC;gBACrB,MAAM,UAAU,GAAG,gBAAgB,CAAC,GAAG,CAAC,GAAG,CAAC,SAAS,CAAC,CAAC;gBACvD,kBAAkB,CAAC,GAAG,CAClB,GAAG,CAAC,SAAS,EACb,GAAG,CAAC,IAAI,EACR,UAAU,EAAE,QAAQ,IAAI,EAAE,EAC1B,UAAU,EAAE,IAAI,IAAI,EAAE,EACtB,EAAE,EAAE,cAAc;gBAClB,EAAE,EAAE,aAAa;gBACjB,WAAW,EACX,MAAM,CACT,CAAC;YACN,CAAC;QACL,CAAC,CAAC;QAEF,cAAc,CAAC,WAAW,EAAE,KAAK,EAAE,KAAK,CAAC,CAAC;QAC1C,cAAc,CAAC,YAAY,EAAE,IAAI,EAAE,KAAK,CAAC,CAAC;QAC1C,cAAc,CAAC,cAAc,EAAE,KAAK,EAAE,IAAI,CAAC,CAAC;QAC5C,cAAc,CAAC,gBAAgB,EAAE,KAAK,EAAE,KAAK,CAAC,CAAC;QAC/C,cAAc,CAAC,iBAAiB,EAAE,KAAK,EAAE,KAAK,CAAC,CAAC;QAChD,QAAQ,CAAC,oBAAoB,CAAC,CAAC;QAE/B,MAAM,WAAW,GAAG,kBAAkB,CAAC,KAAK,EAAE,CAAC;QAC/C,QAAQ,CAAC,sBAAsB,CAAC,CAAC;QAEjC,oEAAoE;QACpE,MAAM,aAAa,GAAG,oBAAoB,CAAC,KAAK,EAAE,CAAC;QACnD,MAAM,aAAa,GAAG,oBAAoB,CAAC,KAAK,EAAE,CAAC;QAEnD,wEAAwE;QACxE,iFAAiF;QACjF,MAAM,iBAAiB,GAAG,wBAAwB,CAAC,KAAK,EAAE,CAAC;QAC3D,QAAQ,CAAC,6BAA6B,CAAC,CAAC;QAExC,MAAM,aAAa,EAAE,CAAC;QAEtB,oCAAoC;QACpC,OAAO,CAAC,UAAU,EAAE,CAAC,EAAE,KAAK,EAAE,kBAAkB,EAAE,OAAO,EAAE,EAAE,EAAE,CAAC,CAAC;QACjE,MAAM,eAAe,GAAG,sBAAsB,CAAC,WAAW,EAAE,WAAW,CAAC,CAAC;QAEzE,kCAAkC;QAClC,OAAO,CAAC,UAAU,EAAE,CAAC,EAAE,KAAK,EAAE,oBAAoB,EAAE,OAAO,EAAE,EAAE,EAAE,CAAC,CAAC;QAEnE,IAAI,gBAA8C,CAAC;QACnD,IAAI,CAAC;YACD,MAAM,gBAAgB,GAAG,IAAI,uBAAuB,EAAE,CAAC;YACvD,gBAAgB,GAAG,gBAAgB,CAAC,KAAK,CACrC,WAAW,EACX,iBAAiB,EACjB,OAAO,EACP,WAAW,EACX,WAAW,EACX,eAAe,CAClB,CAAC;YACF,QAAQ,CAAC,mBAAmB,CAAC,CAAC;QAClC,CAAC;QAAC,OAAO,KAAK,EAAE,CAAC;YACb,OAAO,CAAC,IAAI,CAAC,qDAAqD,EAAE,KAAK,CAAC,CAAC;QAC/E,CAAC;QAED,uCAAuC;QACvC,wEAAwE;QACxE,oEAAoE;QACpE,gCAAgC;QAChC,MAAM,UAAU,GAAiB;YAC7B,QAAQ,EAAE,MAAM,CAAC,UAAU;YAC3B,aAAa;YACb,WAAW,EAAE,aAAa;YAC1B,SAAS,EAAE,WAAW,CAAC,GAAG,EAAE,GAAG,SAAS;YACxC,MAAM,EAAE,WAAW;YACnB,WAAW;YACX,OAAO;YACP,QAAQ,EAAE,WAAW;YACrB,UAAU,EAAE,aAAa;YACzB,UAAU,EAAE,aAAa;YACzB,aAAa,EAAE,iBAAiB;YAChC,gBAAgB;SACnB,CAAC;QACF,OAAO,CAAC,cAAc,EAAE,CAAC,UAAU,CAAC,CAAC;QAErC,MAAM,aAAa,EAAE,CAAC,CAAC,gDAAgD;QAEvE,iEAAiE;QACjE,wDAAwD;QACxD,OAAO,CAAC,UAAU,EAAE,CAAC,EAAE,KAAK,EAAE,uBAAuB,EAAE,OAAO,EAAE,EAAE,EAAE,CAAC,CAAC;QAEtE,MAAM,mBAAmB,GAAG,IAAI,GAAG,EAAoB,CAAC;QACxD,MAAM,mBAAmB,GAAG,IAAI,GAAG,EAAoB,CAAC;QAExD,mFAAmF;QACnF,4FAA4F;QAC5F,MAAM,cAAc,GAAG,IAAI,GAAG,EAAU,CAAC;QACzC,MAAM,cAAc,GAAG,IAAI,GAAG,EAAU,CAAC;QACzC,KAAK,MAAM,GAAG,IAAI,qBAAqB,EAAE,CAAC;YACtC,MAAM,EAAE,GAAG,YAAY,CAAC,GAAG,CAAC,IAAI,CAAC,CAAC;YAClC,IAAI,EAAE,KAAK,gBAAgB;gBAAE,cAAc,CAAC,GAAG,CAAC,GAAG,CAAC,SAAS,CAAC,CAAC;iBAC1D,IAAI,EAAE,KAAK,oBAAoB;gBAAE,cAAc,CAAC,GAAG,CAAC,GAAG,CAAC,SAAS,CAAC,CAAC;QAC5E,CAAC;QAED,4EAA4E;QAC5E,IAAI,mBAAmB,GAAG,CAAC,CAAC;QAC5B,KAAK,IAAI,EAAE,GAAG,CAAC,EAAE,EAAE,GAAG,eAAe,CAAC,MAAM,EAAE,EAAE,EAAE,EAAE,CAAC;YACjD,IAAI,CAAC,EAAE,GAAG,KAAK,CAAC,KAAK,CAAC;gBAAE,MAAM,aAAa,EAAE,CAAC;YAC9C,MAAM,GAAG,GAAG,eAAe,CAAC,EAAE,CAAC,CAAC;YAChC,MAAM,MAAM,GAAG,sBAAsB,CAAC,WAAW,EAAE,GAAG,CAAC,UAAU,EAAE,GAAG,CAAC,UAAU,CAAC,CAAC;YACnF,IAAI,MAAM,EAAE,CAAC;gBACT,MAAM,EAAE,cAAc,EAAE,WAAW,EAAE,GAAG,MAAM,CAAC;gBAC/C,mBAAmB,IAAI,cAAc,CAAC,MAAM,CAAC;gBAE7C,KAAK,MAAM,KAAK,IAAI,cAAc,EAAE,CAAC;oBACjC,wBAAwB,CAAC,OAAO,CAAC,WAAW,EAAE,KAAK,EAAE,gBAAgB,CAAC,mBAAmB,EAAE,GAAG,CAAC,SAAS,CAAC,CAAC;gBAC9G,CAAC;gBAED,sFAAsF;gBACtF,MAAM,SAAS,GAAG,cAAc,CAAC,GAAG,CAAC,WAAW,CAAC,CAAC;gBAClD,MAAM,QAAQ,GAAG,CAAC,SAAS,IAAI,cAAc,CAAC,GAAG,CAAC,WAAW,CAAC,CAAC;gBAE/D,IAAI,SAAS,IAAI,QAAQ,EAAE,CAAC;oBACxB,MAAM,SAAS,GAAG,SAAS,CAAC,CAAC,CAAC,mBAAmB,CAAC,CAAC,CAAC,mBAAmB,CAAC;oBACxE,KAAK,MAAM,KAAK,IAAI,cAAc,EAAE,CAAC;wBACjC,IAAI,IAAI,GAAG,SAAS,CAAC,GAAG,CAAC,KAAK,CAAC,CAAC;wBAChC,IAAI,CAAC,IAAI,EAAE,CAAC;4BAAC,IAAI,GAAG,EAAE,CAAC;4BAAC,SAAS,CAAC,GAAG,CAAC,KAAK,EAAE,IAAI,CAAC,CAAC;wBAAC,CAAC;wBACrD,IAAI,CAAC,IAAI,CAAC,WAAW,CAAC,CAAC;oBAC3B,CAAC;gBACL,CAAC;YACL,CAAC;QACL,CAAC;QACD,MAAM,aAAa,EAAE,CAAC;QAEtB,sFAAsF;QACtF,OAAO,CAAC,UAAU,EAAE,CAAC,EAAE,KAAK,EAAE,sBAAsB,EAAE,OAAO,EAAE,EAAE,EAAE,CAAC,CAAC;QAErE,MAAM,yBAAyB,GAAG,IAAI,GAAG,EAAoB,CAAC;QAC9D,MAAM,mBAAmB,GAAG,IAAI,GAAG,EAAkB,CAAC;QACtD,MAAM,mBAAmB,GAAG,IAAI,GAAG,EAAoB,CAAC;QAExD,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,kBAAkB,CAAC,MAAM,EAAE,CAAC,EAAE,EAAE,CAAC;YACjD,IAAI,CAAC,CAAC,GAAG,KAAK,CAAC,KAAK,CAAC;gBAAE,MAAM,aAAa,EAAE,CAAC;YAC7C,MAAM,GAAG,GAAG,kBAAkB,CAAC,CAAC,CAAC,CAAC;YAClC,MAAM,MAAM,GAAG,sBAAsB,CAAC,WAAW,EAAE,GAAG,CAAC,UAAU,EAAE,GAAG,CAAC,UAAU,CAAC,CAAC;YACnF,IAAI,MAAM,EAAE,CAAC;gBACT,MAAM,EAAE,cAAc,EAAE,WAAW,EAAE,WAAW,EAAE,GAAG,MAAM,CAAC;gBAC5D,MAAM,SAAS,GAAG,YAAY,CAAC,GAAG,CAAC,IAAI,CAAC,CAAC;gBAEzC,IAAI,SAAS,KAAK,gCAAgC,EAAE,CAAC;oBACjD,KAAK,MAAM,KAAK,IAAI,cAAc,EAAE,CAAC;wBACjC,IAAI,IAAI,GAAG,yBAAyB,CAAC,GAAG,CAAC,KAAK,CAAC,CAAC;wBAChD,IAAI,CAAC,IAAI,EAAE,CAAC;4BAAC,IAAI,GAAG,EAAE,CAAC;4BAAC,yBAAyB,CAAC,GAAG,CAAC,KAAK,EAAE,IAAI,CAAC,CAAC;wBAAC,CAAC;wBACrE,IAAI,CAAC,IAAI,CAAC,WAAW,CAAC,CAAC;wBACvB,wBAAwB,CAAC,OAAO,CAAC,WAAW,EAAE,KAAK,EAAE,gBAAgB,CAAC,wBAAwB,EAAE,GAAG,CAAC,SAAS,CAAC,CAAC;oBACnH,CAAC;gBACL,CAAC;qBAAM,IAAI,SAAS,KAAK,0BAA0B,EAAE,CAAC;oBAClD,KAAK,MAAM,KAAK,IAAI,cAAc,EAAE,CAAC;wBACjC,mBAAmB,CAAC,GAAG,CAAC,KAAK,EAAE,WAAW,CAAC,CAAC;wBAC5C,wBAAwB,CAAC,OAAO,CAAC,WAAW,EAAE,KAAK,EAAE,gBAAgB,CAAC,kBAAkB,EAAE,GAAG,CAAC,SAAS,CAAC,CAAC;oBAC7G,CAAC;gBACL,CAAC;qBAAM,IAAI,SAAS,KAAK,0BAA0B,EAAE,CAAC;oBAClD,KAAK,MAAM,KAAK,IAAI,cAAc,EAAE,CAAC;wBACjC,IAAI,IAAI,GAAG,mBAAmB,CAAC,GAAG,CAAC,KAAK,CAAC,CAAC;wBAC1C,IAAI,CAAC,IAAI,EAAE,CAAC;4BAAC,IAAI,GAAG,EAAE,CAAC;4BAAC,mBAAmB,CAAC,GAAG,CAAC,KAAK,EAAE,IAAI,CAAC,CAAC;wBAAC,CAAC;wBAC/D,IAAI,CAAC,IAAI,CAAC,WAAW,CAAC,CAAC;wBACvB,wBAAwB,CAAC,OAAO,CAAC,WAAW,EAAE,KAAK,EAAE,gBAAgB,CAAC,kBAAkB,EAAE,GAAG,CAAC,SAAS,CAAC,CAAC;oBAC7G,CAAC;gBACL,CAAC;YACL,CAAC;QACL,CAAC;QAED,QAAQ,CAAC,2BAA2B,CAAC,CAAC;QAEtC,iFAAiF;QACjF,MAAM,qBAAqB,GAAG,wBAAwB,CAAC,KAAK,EAAE,CAAC;QAC/D,QAAQ,CAAC,4BAA4B,CAAC,CAAC;QAEvC,IAAI,mBAAgD,CAAC;QACrD,IAAI,sBAAsB,IAAI,gBAAgB,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;YACxD,OAAO,CAAC,UAAU,EAAE,CAAC,EAAE,KAAK,EAAE,yBAAyB,EAAE,OAAO,EAAE,EAAE,EAAE,CAAC,CAAC;YACxE,mBAAmB,GAAG,MAAM,4BAA4B,CACpD,gBAAgB,EAChB,SAAS,EACT,IAAI,EACJ,CAAC,CACJ,CAAC;YACF,QAAQ,CAAC,8BAA8B,CAAC,CAAC;QAC7C,CAAC;QAED,MAAM,SAAS,GAAG,WAAW,CAAC,GAAG,EAAE,GAAG,SAAS,CAAC;QAChD,OAAO,CAAC,UAAU,EAAE,CAAC,EAAE,KAAK,EAAE,UAAU,EAAE,OAAO,EAAE,GAAG,EAAE,CAAC,CAAC;QAE1D,OAAO;YACH,GAAG,UAAU;YACb,SAAS;YACT,aAAa,EAAE,qBAAqB;YACpC,mBAAmB;YACnB,mBAAmB;YACnB,mBAAmB;YACnB,yBAAyB;YACzB,mBAAmB;YACnB,mBAAmB;SACtB,CAAC;IACN,CAAC;IAED;;;OAGG;IACH,yBAAyB,CACrB,KAAmB,EACnB,QAAgB;QAEhB,oFAAoF;QACpF,IAAI,CAAC,KAAK,CAAC,mBAAmB,IAAI,CAAC,KAAK,CAAC,MAAM,EAAE,MAAM,EAAE,CAAC;YACtD,qEAAqE;YACrE,OAAO,KAAK,CAAC,UAAU,CAAC,YAAY,CAAC,QAAQ,CAAC,CAAC;QACnD,CAAC;QAED,MAAM,OAAO,GAAG,KAAK,CAAC,mBAAmB,CAAC,GAAG,CAAC,QAAQ,CAAC,CAAC;QACxD,IAAI,CAAC,OAAO,IAAI,OAAO,CAAC,MAAM,KAAK,CAAC,EAAE,CAAC;YACnC,OAAO,EAAE,CAAC;QACd,CAAC;QAED,MAAM,SAAS,GAAG,IAAI,eAAe,CAAC,KAAK,CAAC,MAAM,CAAC,CAAC;QACpD,MAAM,MAAM,GAAwH,EAAE,CAAC;QAEvI,KAAK,MAAM,MAAM,IAAI,OAAO,EAAE,CAAC;YAC3B,MAAM,OAAO,GAAG,qBAAqB,CAAC,KAAK,EAAE,MAAM,CAAC,CAAC;YACrD,IAAI,CAAC,OAAO;gBAAE,SAAS;YAEvB,MAAM,UAAU,GAAG,SAAS,CAAC,aAAa,CAAC,OAAO,CAAC,CAAC;YACpD,IAAI,CAAC,UAAU;gBAAE,SAAS;YAE1B,MAAM,SAAS,GAAG,UAAU,CAAC,UAAU,IAAI,EAAE,CAAC;YAC9C,MAAM,YAAY,GAAG,OAAO,SAAS,CAAC,CAAC,CAAC,KAAK,QAAQ,CAAC,CAAC,CAAC,SAAS,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,SAAS,CAAC;YACjF,MAAM,QAAQ,GAAG,OAAO,SAAS,CAAC,CAAC,CAAC,KAAK,QAAQ,CAAC,CAAC,CAAC,SAAS,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,gBAAgB,MAAM,EAAE,CAAC;YAC5F,MAAM,aAAa,GAAG,SAAS,CAAC,CAAC,CAAC,CAAC;YAEnC,MAAM,UAAU,GAAgE,EAAE,CAAC;YAEnF,IAAI,KAAK,CAAC,OAAO,CAAC,aAAa,CAAC,EAAE,CAAC;gBAC/B,KAAK,MAAM,OAAO,IAAI,aAAa,EAAE,CAAC;oBAClC,IAAI,OAAO,OAAO,KAAK,QAAQ;wBAAE,SAAS;oBAE1C,MAAM,aAAa,GAAG,qBAAqB,CAAC,KAAK,EAAE,OAAO,CAAC,CAAC;oBAC5D,IAAI,CAAC,aAAa;wBAAE,SAAS;oBAE7B,MAAM,UAAU,GAAG,SAAS,CAAC,aAAa,CAAC,aAAa,CAAC,CAAC;oBAC1D,IAAI,CAAC,UAAU;wBAAE,SAAS;oBAE1B,MAAM,SAAS,GAAG,UAAU,CAAC,UAAU,IAAI,EAAE,CAAC;oBAC9C,MAAM,QAAQ,GAAG,OAAO,SAAS,CAAC,CAAC,CAAC,KAAK,QAAQ,CAAC,CAAC,CAAC,SAAS,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC;oBACtE,IAAI,CAAC,QAAQ;wBAAE,SAAS;oBAExB,MAAM,MAAM,GAAG,kBAAkB,CAAC,UAAU,CAAC,CAAC;oBAC9C,UAAU,CAAC,IAAI,CAAC,EAAE,IAAI,EAAE,QAAQ,EAAE,IAAI,EAAE,MAAM,CAAC,IAAI,EAAE,KAAK,EAAE,MAAM,CAAC,KAAK,EAAE,CAAC,CAAC;gBAChF,CAAC;YACL,CAAC;YAED,IAAI,UAAU,CAAC,MAAM,GAAG,CAAC,IAAI,QAAQ,EAAE,CAAC;gBACpC,MAAM,CAAC,IAAI,CAAC,EAAE,IAAI,EAAE,QAAQ,EAAE,QAAQ,EAAE,YAAY,EAAE,UAAU,EAAE,CAAC,CAAC;YACxE,CAAC;QACL,CAAC;QAED,OAAO,MAAM,CAAC;IAClB,CAAC;IAED;;;OAGG;IACH,yBAAyB,CACrB,KAAmB,EACnB,QAAgB;QAEhB,oFAAoF;QACpF,IAAI,CAAC,KAAK,CAAC,mBAAmB,IAAI,CAAC,KAAK,CAAC,MAAM,EAAE,MAAM,EAAE,CAAC;YACtD,qEAAqE;YACrE,OAAO,KAAK,CAAC,UAAU,CAAC,YAAY,CAAC,QAAQ,CAAC,CAAC;QACnD,CAAC;QAED,MAAM,OAAO,GAAG,KAAK,CAAC,mBAAmB,CAAC,GAAG,CAAC,QAAQ,CAAC,CAAC;QACxD,IAAI,CAAC,OAAO,IAAI,OAAO,CAAC,MAAM,KAAK,CAAC,EAAE,CAAC;YACnC,OAAO,EAAE,CAAC;QACd,CAAC;QAED,MAAM,SAAS,GAAG,IAAI,eAAe,CAAC,KAAK,CAAC,MAAM,CAAC,CAAC;QACpD,MAAM,MAAM,GAA8F,EAAE,CAAC;QAE7G,KAAK,MAAM,MAAM,IAAI,OAAO,EAAE,CAAC;YAC3B,MAAM,OAAO,GAAG,qBAAqB,CAAC,KAAK,EAAE,MAAM,CAAC,CAAC;YACrD,IAAI,CAAC,OAAO;gBAAE,SAAS;YAEvB,MAAM,UAAU,GAAG,SAAS,CAAC,aAAa,CAAC,OAAO,CAAC,CAAC;YACpD,IAAI,CAAC,UAAU;gBAAE,SAAS;YAE1B,MAAM,SAAS,GAAG,UAAU,CAAC,UAAU,IAAI,EAAE,CAAC;YAC9C,MAAM,QAAQ,GAAG,OAAO,SAAS,CAAC,CAAC,CAAC,KAAK,QAAQ,CAAC,CAAC,CAAC,SAAS,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,gBAAgB,MAAM,EAAE,CAAC;YAC5F,MAAM,aAAa,GAAG,SAAS,CAAC,CAAC,CAAC,CAAC;YAEnC,MAAM,UAAU,GAAyD,EAAE,CAAC;YAE5E,IAAI,KAAK,CAAC,OAAO,CAAC,aAAa,CAAC,EAAE,CAAC;gBAC/B,KAAK,MAAM,MAAM,IAAI,aAAa,EAAE,CAAC;oBACjC,IAAI,OAAO,MAAM,KAAK,QAAQ;wBAAE,SAAS;oBAEzC,MAAM,YAAY,GAAG,qBAAqB,CAAC,KAAK,EAAE,MAAM,CAAC,CAAC;oBAC1D,IAAI,CAAC,YAAY;wBAAE,SAAS;oBAE5B,MAAM,SAAS,GAAG,SAAS,CAAC,aAAa,CAAC,YAAY,CAAC,CAAC;oBACxD,IAAI,CAAC,SAAS;wBAAE,SAAS;oBAEzB,MAAM,QAAQ,GAAG,SAAS,CAAC,UAAU,IAAI,EAAE,CAAC;oBAC5C,MAAM,OAAO,GAAG,OAAO,QAAQ,CAAC,CAAC,CAAC,KAAK,QAAQ,CAAC,CAAC,CAAC,QAAQ,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC;oBACnE,IAAI,CAAC,OAAO;wBAAE,SAAS;oBAEvB,qCAAqC;oBACrC,MAAM,YAAY,GAAG,SAAS,CAAC,IAAI,CAAC,WAAW,EAAE,CAAC;oBAClD,MAAM,OAAO,GAAG,iBAAiB,CAAC,YAAY,CAAC,IAAI,YAAY,CAAC,KAAK,CAAC;oBAEtE,8CAA8C;oBAC9C,MAAM,KAAK,GAAG,OAAO,QAAQ,CAAC,CAAC,CAAC,KAAK,QAAQ,CAAC,CAAC,CAAC,QAAQ,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;oBAEhE,UAAU,CAAC,IAAI,CAAC,EAAE,IAAI,EAAE,OAAO,EAAE,IAAI,EAAE,OAAO,EAAE,KAAK,EAAE,CAAC,CAAC;gBAC7D,CAAC;YACL,CAAC;YAED,IAAI,UAAU,CAAC,MAAM,GAAG,CAAC,IAAI,QAAQ,EAAE,CAAC;gBACpC,MAAM,CAAC,IAAI,CAAC,EAAE,IAAI,EAAE,QAAQ,EAAE,UAAU,EAAE,CAAC,CAAC;YAChD,CAAC;QACL,CAAC;QAED,OAAO,MAAM,CAAC;IAClB,CAAC;CACJ;AAED;;;GAGG;AACH,MAAM,UAAU,yBAAyB,CACrC,KAAmB,EACnB,QAAgB;IAEhB,MAAM,MAAM,GAAG,IAAI,cAAc,EAAE,CAAC;IACpC,OAAO,MAAM,CAAC,yBAAyB,CAAC,KAAK,EAAE,QAAQ,CAAC,CAAC;AAC7D,CAAC;AAED;;;GAGG;AACH,MAAM,UAAU,yBAAyB,CACrC,KAAmB,EACnB,QAAgB;IAEhB,MAAM,MAAM,GAAG,IAAI,cAAc,EAAE,CAAC;IACpC,OAAO,MAAM,CAAC,yBAAyB,CAAC,KAAK,EAAE,QAAQ,CAAC,CAAC;AAC7D,CAAC;AAED,SAAS,qBAAqB,CAAC,KAAmB,EAAE,SAAiB;IACjE,OAAO,KAAK,CAAC,WAAW,CAAC,IAAI,CAAC,GAAG,CAAC,SAAS,CAAC,IAAI,KAAK,CAAC,mBAAmB,EAAE,GAAG,CAAC,SAAS,CAAC,CAAC;AAC9F,CAAC;AAED;;;;GAIG;AACH,MAAM,UAAU,+BAA+B,CAC3C,KAAmB,EACnB,QAAgB;IAEhB,MAAM,GAAG,GAAG,KAAK,CAAC,WAAW,CAAC,IAAI,CAAC,GAAG,CAAC,QAAQ,CAAC,CAAC;IACjD,IAAI,CAAC,GAAG,EAAE,CAAC;QACP,OAAO,EAAE,QAAQ,EAAE,EAAE,EAAE,IAAI,EAAE,EAAE,EAAE,WAAW,EAAE,EAAE,EAAE,UAAU,EAAE,EAAE,EAAE,GAAG,EAAE,EAAE,EAAE,CAAC;IAChF,CAAC;IAED,MAAM,SAAS,GAAG,IAAI,eAAe,CAAC,KAAK,CAAC,MAAM,CAAC,CAAC;IACpD,MAAM,MAAM,GAAG,SAAS,CAAC,aAAa,CAAC,GAAG,CAAC,CAAC;IAC5C,IAAI,CAAC,MAAM,EAAE,CAAC;QACV,OAAO,EAAE,QAAQ,EAAE,EAAE,EAAE,IAAI,EAAE,EAAE,EAAE,WAAW,EAAE,EAAE,EAAE,UAAU,EAAE,EAAE,EAAE,GAAG,EAAE,EAAE,EAAE,CAAC;IAChF,CAAC;IAED,MAAM,KAAK,GAAG,MAAM,CAAC,UAAU,IAAI,EAAE,CAAC;IACtC,kEAAkE;IAClE,0CAA0C;IAC1C,oEAAoE;IACpE,oCAAoC;IACpC,MAAM,QAAQ,GAAG,OAAO,KAAK,CAAC,CAAC,CAAC,KAAK,QAAQ,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC;IAC9D,MAAM,IAAI,GAAG,OAAO,KAAK,CAAC,CAAC,CAAC,KAAK,QAAQ,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC;IAC1D,MAAM,WAAW,GAAG,OAAO,KAAK,CAAC,CAAC,CAAC,KAAK,QAAQ,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC;IACjE,MAAM,UAAU,GAAG,OAAO,KAAK,CAAC,CAAC,CAAC,KAAK,QAAQ,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC;IAChE,MAAM,GAAG,GAAG,OAAO,KAAK,CAAC,CAAC,CAAC,KAAK,QAAQ,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC;IAEzD,OAAO,EAAE,QAAQ,EAAE,IAAI,EAAE,WAAW,EAAE,UAAU,EAAE,GAAG,EAAE,CAAC;AAC5D,CAAC;AAED;;;;GAIG;AACH,MAAM,UAAU,0BAA0B,CACtC,KAAmB,EACnB,QAAgB;IAEhB,MAAM,GAAG,GAAG,KAAK,CAAC,WAAW,CAAC,IAAI,CAAC,GAAG,CAAC,QAAQ,CAAC,CAAC;IACjD,IAAI,CAAC,GAAG;QAAE,OAAO,EAAE,CAAC;IAEpB,MAAM,SAAS,GAAG,IAAI,eAAe,CAAC,KAAK,CAAC,MAAM,CAAC,CAAC;IACpD,MAAM,MAAM,GAAG,SAAS,CAAC,aAAa,CAAC,GAAG,CAAC,CAAC;IAC5C,IAAI,CAAC,MAAM;QAAE,OAAO,EAAE,CAAC;IAEvB,MAAM,KAAK,GAAG,MAAM,CAAC,UAAU,IAAI,EAAE,CAAC;IACtC,uEAAuE;IACvE,+EAA+E;IAC/E,gEAAgE;IAChE,MAAM,QAAQ,GAAG,KAAK,CAAC,QAAQ,CAAC,WAAW,CAAC,QAAQ,CAAC,CAAC;IACtD,MAAM,SAAS,GAAG,iBAAiB,CAAC,QAAQ,IAAI,GAAG,CAAC,IAAI,CAAC,CAAC;IAE1D,MAAM,MAAM,GAA2C,EAAE,CAAC;IAC1D,MAAM,GAAG,GAAG,IAAI,CAAC,GAAG,CAAC,KAAK,CAAC,MAAM,EAAE,SAAS,CAAC,MAAM,CAAC,CAAC;IACrD,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,GAAG,EAAE,CAAC,EAAE,EAAE,CAAC;QAC3B,MAAM,QAAQ,GAAG,SAAS,CAAC,CAAC,CAAC,CAAC;QAC9B,IAAI,kBAAkB,CAAC,GAAG,CAAC,QAAQ,CAAC;YAAE,SAAS;QAE/C,MAAM,GAAG,GAAG,KAAK,CAAC,CAAC,CAAC,CAAC;QACrB,IAAI,OAAO,GAAG,KAAK,QAAQ,IAAI,GAAG,EAAE,CAAC;YACjC,gDAAgD;YAChD,MAAM,OAAO,GAAG,GAAG,CAAC,UAAU,CAAC,GAAG,CAAC,IAAI,GAAG,CAAC,QAAQ,CAAC,GAAG,CAAC;gBACpD,CAAC,CAAC,GAAG,CAAC,KAAK,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC;gBAClB,CAAC,CAAC,GAAG,CAAC;YACV,MAAM,CAAC,IAAI,CAAC,EAAE,IAAI,EAAE,QAAQ,EAAE,KAAK,EAAE,OAAO,EAAE,CAAC,CAAC;QACpD,CAAC;IACL,CAAC;IAED,OAAO,MAAM,CAAC;AAClB,CAAC;AAED,+DAA+D;AAC/D,OAAO,EACH,8BAA8B,EAC9B,wBAAwB,EACxB,6BAA6B,EAC7B,8BAA8B,EAC9B,wBAAwB,EACxB,4BAA4B,EAC5B,6BAA6B,EAC7B,kBAAkB,EAClB,mBAAmB,GACtB,MAAM,2BAA2B,CAAC"}
@@ -13,7 +13,7 @@
13
13
  * - Integration with GIS systems
14
14
  * - Multi-model coordination (ensuring models align in real-world space)
15
15
  */
16
- import type { IfcEntity } from './entity-extractor';
16
+ import type { IfcEntity } from './entity-extractor.js';
17
17
  export interface MapConversion {
18
18
  id: number;
19
19
  sourceCRS: number;
@@ -42,6 +42,12 @@ export interface ProjectedCRS {
42
42
  mapProjection?: string;
43
43
  mapZone?: string;
44
44
  mapUnit?: string;
45
+ /**
46
+ * Scale factor to convert MapConversion values to metres.
47
+ * Derived from IfcProjectedCRS.MapUnit (e.g. 0.001 for mm, 1 for m).
48
+ * If undefined, the project's length unit applies (IFC spec default).
49
+ */
50
+ mapUnitScale?: number;
45
51
  }
46
52
  export interface GeoreferenceInfo {
47
53
  hasGeoreference: boolean;
@@ -1 +1 @@
1
- {"version":3,"file":"georef-extractor.d.ts","sourceRoot":"","sources":["../src/georef-extractor.ts"],"names":[],"mappings":"AAIA;;;;;;;;;;;;;;GAcG;AAEH,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,oBAAoB,CAAC;AAGpD,MAAM,WAAW,aAAa;IAC5B,EAAE,EAAE,MAAM,CAAC;IACX,SAAS,EAAE,MAAM,CAAC;IAClB,SAAS,EAAE,MAAM,CAAC;IAClB,QAAQ,EAAE,MAAM,CAAC;IACjB,SAAS,EAAE,MAAM,CAAC;IAClB,gBAAgB,EAAE,MAAM,CAAC;IACzB,aAAa,CAAC,EAAE,MAAM,CAAC;IACvB,aAAa,CAAC,EAAE,MAAM,CAAC;IACvB,KAAK,CAAC,EAAE,MAAM,CAAC;CAChB;AAED;;;;;;GAMG;AACH,wBAAgB,uBAAuB,CACrC,aAAa,CAAC,EAAE,MAAM,EACtB,aAAa,CAAC,EAAE,MAAM,GACrB,MAAM,GAAG,IAAI,CAIf;AAED,MAAM,WAAW,YAAY;IAC3B,EAAE,EAAE,MAAM,CAAC;IACX,IAAI,EAAE,MAAM,CAAC;IACb,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB,aAAa,CAAC,EAAE,MAAM,CAAC;IACvB,aAAa,CAAC,EAAE,MAAM,CAAC;IACvB,aAAa,CAAC,EAAE,MAAM,CAAC;IACvB,OAAO,CAAC,EAAE,MAAM,CAAC;IACjB,OAAO,CAAC,EAAE,MAAM,CAAC;CAClB;AAED,MAAM,WAAW,gBAAgB;IAC/B,eAAe,EAAE,OAAO,CAAC;IACzB,aAAa,CAAC,EAAE,aAAa,CAAC;IAC9B,YAAY,CAAC,EAAE,YAAY,CAAC;IAE5B,eAAe,CAAC,EAAE,MAAM,EAAE,CAAC;CAC5B;AAED;;GAEG;AACH,wBAAgB,qBAAqB,CACnC,QAAQ,EAAE,GAAG,CAAC,MAAM,EAAE,SAAS,CAAC,EAChC,cAAc,EAAE,GAAG,CAAC,MAAM,EAAE,MAAM,EAAE,CAAC,GACpC,gBAAgB,CA+BlB;AAwFD;;GAEG;AACH,wBAAgB,gBAAgB,CAC9B,UAAU,EAAE,CAAC,MAAM,EAAE,MAAM,EAAE,MAAM,CAAC,EACpC,MAAM,EAAE,gBAAgB,GACvB,CAAC,MAAM,EAAE,MAAM,EAAE,MAAM,CAAC,GAAG,IAAI,CAcjC;AAED;;GAEG;AACH,wBAAgB,gBAAgB,CAC9B,UAAU,EAAE,CAAC,MAAM,EAAE,MAAM,EAAE,MAAM,CAAC,EACpC,MAAM,EAAE,gBAAgB,GACvB,CAAC,MAAM,EAAE,MAAM,EAAE,MAAM,CAAC,GAAG,IAAI,CA2BjC;AAED;;GAEG;AACH,wBAAgB,8BAA8B,CAAC,MAAM,EAAE,gBAAgB,GAAG,MAAM,CAuB/E"}
1
+ {"version":3,"file":"georef-extractor.d.ts","sourceRoot":"","sources":["../src/georef-extractor.ts"],"names":[],"mappings":"AAIA;;;;;;;;;;;;;;GAcG;AAEH,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,uBAAuB,CAAC;AAGvD,MAAM,WAAW,aAAa;IAC5B,EAAE,EAAE,MAAM,CAAC;IACX,SAAS,EAAE,MAAM,CAAC;IAClB,SAAS,EAAE,MAAM,CAAC;IAClB,QAAQ,EAAE,MAAM,CAAC;IACjB,SAAS,EAAE,MAAM,CAAC;IAClB,gBAAgB,EAAE,MAAM,CAAC;IACzB,aAAa,CAAC,EAAE,MAAM,CAAC;IACvB,aAAa,CAAC,EAAE,MAAM,CAAC;IACvB,KAAK,CAAC,EAAE,MAAM,CAAC;CAChB;AAED;;;;;;GAMG;AACH,wBAAgB,uBAAuB,CACrC,aAAa,CAAC,EAAE,MAAM,EACtB,aAAa,CAAC,EAAE,MAAM,GACrB,MAAM,GAAG,IAAI,CAIf;AAED,MAAM,WAAW,YAAY;IAC3B,EAAE,EAAE,MAAM,CAAC;IACX,IAAI,EAAE,MAAM,CAAC;IACb,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB,aAAa,CAAC,EAAE,MAAM,CAAC;IACvB,aAAa,CAAC,EAAE,MAAM,CAAC;IACvB,aAAa,CAAC,EAAE,MAAM,CAAC;IACvB,OAAO,CAAC,EAAE,MAAM,CAAC;IACjB,OAAO,CAAC,EAAE,MAAM,CAAC;IACjB;;;;OAIG;IACH,YAAY,CAAC,EAAE,MAAM,CAAC;CACvB;AAED,MAAM,WAAW,gBAAgB;IAC/B,eAAe,EAAE,OAAO,CAAC;IACzB,aAAa,CAAC,EAAE,aAAa,CAAC;IAC9B,YAAY,CAAC,EAAE,YAAY,CAAC;IAE5B,eAAe,CAAC,EAAE,MAAM,EAAE,CAAC;CAC5B;AAED;;GAEG;AACH,wBAAgB,qBAAqB,CACnC,QAAQ,EAAE,GAAG,CAAC,MAAM,EAAE,SAAS,CAAC,EAChC,cAAc,EAAE,GAAG,CAAC,MAAM,EAAE,MAAM,EAAE,CAAC,GACpC,gBAAgB,CA+BlB;AAoHD;;GAEG;AACH,wBAAgB,gBAAgB,CAC9B,UAAU,EAAE,CAAC,MAAM,EAAE,MAAM,EAAE,MAAM,CAAC,EACpC,MAAM,EAAE,gBAAgB,GACvB,CAAC,MAAM,EAAE,MAAM,EAAE,MAAM,CAAC,GAAG,IAAI,CAcjC;AAED;;GAEG;AACH,wBAAgB,gBAAgB,CAC9B,UAAU,EAAE,CAAC,MAAM,EAAE,MAAM,EAAE,MAAM,CAAC,EACpC,MAAM,EAAE,gBAAgB,GACvB,CAAC,MAAM,EAAE,MAAM,EAAE,MAAM,CAAC,GAAG,IAAI,CA2BjC;AAED;;GAEG;AACH,wBAAgB,8BAA8B,CAAC,MAAM,EAAE,gBAAgB,GAAG,MAAM,CAuB/E"}
@@ -36,7 +36,7 @@ export function extractGeoreferencing(entities, entitiesByType) {
36
36
  if (projectedCRSIds.length > 0) {
37
37
  const entity = entities.get(projectedCRSIds[0]);
38
38
  if (entity) {
39
- info.projectedCRS = extractProjectedCRS(entity);
39
+ info.projectedCRS = extractProjectedCRS(entity, (id) => entities.get(id));
40
40
  info.hasGeoreference = true;
41
41
  }
42
42
  }
@@ -68,7 +68,11 @@ function extractMapConversion(entity) {
68
68
  scale: getNumber(entity.attributes[7]),
69
69
  };
70
70
  }
71
- function extractProjectedCRS(entity) {
71
+ /** SI prefix → scale factor */
72
+ const SI_PREFIX_SCALE = {
73
+ 'MILLI': 0.001, 'CENTI': 0.01, 'DECI': 0.1, 'KILO': 1000,
74
+ };
75
+ function extractProjectedCRS(entity, resolveEntity) {
72
76
  // IfcProjectedCRS attributes (IFC4):
73
77
  // [0] Name (IfcLabel)
74
78
  // [1] Description (OPTIONAL IfcText)
@@ -77,13 +81,32 @@ function extractProjectedCRS(entity) {
77
81
  // [4] MapProjection (OPTIONAL IfcIdentifier)
78
82
  // [5] MapZone (OPTIONAL IfcIdentifier)
79
83
  // [6] MapUnit (OPTIONAL IfcNamedUnit)
80
- // Parse MapUnit if it's a reference
84
+ // Resolve MapUnit reference to determine actual unit + scale
81
85
  let mapUnit;
86
+ let mapUnitScale;
82
87
  const mapUnitRef = getReference(entity.attributes[6]);
83
88
  if (mapUnitRef) {
84
- // Would need to resolve the IfcNamedUnit entity
85
- mapUnit = 'METRE'; // Default assumption
89
+ mapUnit = 'METRE'; // default if we can't resolve
90
+ mapUnitScale = 1;
91
+ if (resolveEntity) {
92
+ const unitEntity = resolveEntity(mapUnitRef);
93
+ if (unitEntity) {
94
+ // IFCSIUNIT: [0] Dimensions, [1] UnitType, [2] Prefix, [3] Name
95
+ const prefix = unitEntity.attributes?.[2];
96
+ if (prefix != null && prefix !== '$' && typeof prefix === 'string') {
97
+ const prefixStr = prefix.replace(/\./g, '').toUpperCase();
98
+ const prefixScale = SI_PREFIX_SCALE[prefixStr];
99
+ if (prefixScale !== undefined) {
100
+ mapUnitScale = prefixScale;
101
+ mapUnit = prefixStr === 'MILLI' ? 'MILLIMETRE' : prefixStr + 'METRE';
102
+ }
103
+ }
104
+ // No prefix → base METRE → scale = 1
105
+ }
106
+ }
86
107
  }
108
+ // If mapUnitRef is absent → mapUnit stays undefined, mapUnitScale stays undefined
109
+ // → per IFC spec, MapConversion uses the project's length unit
87
110
  return {
88
111
  id: entity.expressId,
89
112
  name: getString(entity.attributes[0]) || '',
@@ -93,6 +116,7 @@ function extractProjectedCRS(entity) {
93
116
  mapProjection: getString(entity.attributes[4]),
94
117
  mapZone: getString(entity.attributes[5]),
95
118
  mapUnit,
119
+ mapUnitScale,
96
120
  };
97
121
  }
98
122
  /**
@@ -1 +1 @@
1
- {"version":3,"file":"georef-extractor.js","sourceRoot":"","sources":["../src/georef-extractor.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"georef-extractor.js","sourceRoot":"","sources":["../src/georef-extractor.ts"],"names":[],"mappings":"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"}
@@ -13,7 +13,7 @@
13
13
  * - IfcMaterialConstituentSet: Set of constituents
14
14
  * - IfcRelAssociatesMaterial: Associates materials with elements
15
15
  */
16
- import type { IfcEntity } from './entity-extractor';
16
+ import type { IfcEntity } from './entity-extractor.js';
17
17
  export interface Material {
18
18
  id: number;
19
19
  name: string;
@@ -1 +1 @@
1
- {"version":3,"file":"material-extractor.d.ts","sourceRoot":"","sources":["../src/material-extractor.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"material-extractor.d.ts","sourceRoot":"","sources":["../src/material-extractor.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,37 @@
1
+ import type { IfcDataStore } from './columnar-parser.js';
2
+ export interface MaterialInfo {
3
+ type: 'Material' | 'MaterialLayerSet' | 'MaterialProfileSet' | 'MaterialConstituentSet' | 'MaterialList';
4
+ name?: string;
5
+ description?: string;
6
+ layers?: MaterialLayerInfo[];
7
+ profiles?: MaterialProfileInfo[];
8
+ constituents?: MaterialConstituentInfo[];
9
+ materials?: string[];
10
+ }
11
+ export interface MaterialLayerInfo {
12
+ materialName?: string;
13
+ thickness?: number;
14
+ isVentilated?: boolean;
15
+ name?: string;
16
+ category?: string;
17
+ }
18
+ export interface MaterialProfileInfo {
19
+ materialName?: string;
20
+ name?: string;
21
+ category?: string;
22
+ }
23
+ export interface MaterialConstituentInfo {
24
+ materialName?: string;
25
+ name?: string;
26
+ fraction?: number;
27
+ category?: string;
28
+ }
29
+ /**
30
+ * Extract materials for a single entity ON-DEMAND.
31
+ * Uses the onDemandMaterialMap built during parsing.
32
+ * Falls back to relationship graph when on-demand map is not available (e.g., server-loaded models).
33
+ * Also checks type-level material assignments via IfcRelDefinesByType.
34
+ * Resolves the full material structure (layers, profiles, constituents, lists).
35
+ */
36
+ export declare function extractMaterialsOnDemand(store: IfcDataStore, entityId: number): MaterialInfo | null;
37
+ //# sourceMappingURL=material-resolver.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"material-resolver.d.ts","sourceRoot":"","sources":["../src/material-resolver.ts"],"names":[],"mappings":"AAYA,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,sBAAsB,CAAC;AAEzD,MAAM,WAAW,YAAY;IACzB,IAAI,EAAE,UAAU,GAAG,kBAAkB,GAAG,oBAAoB,GAAG,wBAAwB,GAAG,cAAc,CAAC;IACzG,IAAI,CAAC,EAAE,MAAM,CAAC;IACd,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB,MAAM,CAAC,EAAE,iBAAiB,EAAE,CAAC;IAC7B,QAAQ,CAAC,EAAE,mBAAmB,EAAE,CAAC;IACjC,YAAY,CAAC,EAAE,uBAAuB,EAAE,CAAC;IACzC,SAAS,CAAC,EAAE,MAAM,EAAE,CAAC;CACxB;AAED,MAAM,WAAW,iBAAiB;IAC9B,YAAY,CAAC,EAAE,MAAM,CAAC;IACtB,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,YAAY,CAAC,EAAE,OAAO,CAAC;IACvB,IAAI,CAAC,EAAE,MAAM,CAAC;IACd,QAAQ,CAAC,EAAE,MAAM,CAAC;CACrB;AAED,MAAM,WAAW,mBAAmB;IAChC,YAAY,CAAC,EAAE,MAAM,CAAC;IACtB,IAAI,CAAC,EAAE,MAAM,CAAC;IACd,QAAQ,CAAC,EAAE,MAAM,CAAC;CACrB;AAED,MAAM,WAAW,uBAAuB;IACpC,YAAY,CAAC,EAAE,MAAM,CAAC;IACtB,IAAI,CAAC,EAAE,MAAM,CAAC;IACd,QAAQ,CAAC,EAAE,MAAM,CAAC;IAClB,QAAQ,CAAC,EAAE,MAAM,CAAC;CACrB;AAED;;;;;;GAMG;AACH,wBAAgB,wBAAwB,CACpC,KAAK,EAAE,YAAY,EACnB,QAAQ,EAAE,MAAM,GACjB,YAAY,GAAG,IAAI,CA8BrB"}
@@ -0,0 +1,230 @@
1
+ /* This Source Code Form is subject to the terms of the Mozilla Public
2
+ * License, v. 2.0. If a copy of the MPL was not distributed with this
3
+ * file, You can obtain one at https://mozilla.org/MPL/2.0/. */
4
+ /**
5
+ * Material resolution — extracts and resolves IFC material assignments
6
+ * including layers, profiles, constituents, lists, and *Usage indirection.
7
+ * Includes cycle detection for recursive material references.
8
+ */
9
+ import { EntityExtractor } from './entity-extractor.js';
10
+ import { RelationshipType } from '@ifc-lite/data';
11
+ /**
12
+ * Extract materials for a single entity ON-DEMAND.
13
+ * Uses the onDemandMaterialMap built during parsing.
14
+ * Falls back to relationship graph when on-demand map is not available (e.g., server-loaded models).
15
+ * Also checks type-level material assignments via IfcRelDefinesByType.
16
+ * Resolves the full material structure (layers, profiles, constituents, lists).
17
+ */
18
+ export function extractMaterialsOnDemand(store, entityId) {
19
+ let materialId;
20
+ if (store.onDemandMaterialMap) {
21
+ materialId = store.onDemandMaterialMap.get(entityId);
22
+ }
23
+ else if (store.relationships) {
24
+ // Fallback: use relationship graph (server-loaded models)
25
+ const related = store.relationships.getRelated(entityId, RelationshipType.AssociatesMaterial, 'inverse');
26
+ if (related.length > 0)
27
+ materialId = related[0];
28
+ }
29
+ // Check type-level material if occurrence has none
30
+ if (materialId === undefined && store.relationships) {
31
+ const typeIds = store.relationships.getRelated(entityId, RelationshipType.DefinesByType, 'inverse');
32
+ for (const typeId of typeIds) {
33
+ if (store.onDemandMaterialMap) {
34
+ materialId = store.onDemandMaterialMap.get(typeId);
35
+ }
36
+ else {
37
+ const related = store.relationships.getRelated(typeId, RelationshipType.AssociatesMaterial, 'inverse');
38
+ if (related.length > 0)
39
+ materialId = related[0];
40
+ }
41
+ if (materialId !== undefined)
42
+ break;
43
+ }
44
+ }
45
+ if (materialId === undefined)
46
+ return null;
47
+ if (!store.source?.length)
48
+ return null;
49
+ const extractor = new EntityExtractor(store.source);
50
+ return resolveMaterial(store, extractor, materialId, new Set());
51
+ }
52
+ /**
53
+ * Resolve a material entity by ID, handling all IFC material types.
54
+ * Uses visited set to prevent infinite recursion on cyclic *Usage references.
55
+ */
56
+ function resolveMaterial(store, extractor, materialId, visited = new Set()) {
57
+ if (visited.has(materialId))
58
+ return null;
59
+ visited.add(materialId);
60
+ const ref = store.entityIndex.byId.get(materialId);
61
+ if (!ref)
62
+ return null;
63
+ const entity = extractor.extractEntity(ref);
64
+ if (!entity)
65
+ return null;
66
+ const typeUpper = entity.type.toUpperCase();
67
+ const attrs = entity.attributes || [];
68
+ switch (typeUpper) {
69
+ case 'IFCMATERIAL': {
70
+ // IfcMaterial: [Name, Description, Category]
71
+ return {
72
+ type: 'Material',
73
+ name: typeof attrs[0] === 'string' ? attrs[0] : undefined,
74
+ description: typeof attrs[1] === 'string' ? attrs[1] : undefined,
75
+ };
76
+ }
77
+ case 'IFCMATERIALLAYERSET': {
78
+ // IfcMaterialLayerSet: [MaterialLayers, LayerSetName, Description]
79
+ const layerIds = Array.isArray(attrs[0]) ? attrs[0].filter((id) => typeof id === 'number') : [];
80
+ const layers = [];
81
+ for (const layerId of layerIds) {
82
+ const layerRef = store.entityIndex.byId.get(layerId);
83
+ if (!layerRef)
84
+ continue;
85
+ const layerEntity = extractor.extractEntity(layerRef);
86
+ if (!layerEntity)
87
+ continue;
88
+ const la = layerEntity.attributes || [];
89
+ // IfcMaterialLayer: [Material, LayerThickness, IsVentilated, Name, Description, Category, Priority]
90
+ const matId = typeof la[0] === 'number' ? la[0] : undefined;
91
+ let materialName;
92
+ if (matId) {
93
+ const matRef = store.entityIndex.byId.get(matId);
94
+ if (matRef) {
95
+ const matEntity = extractor.extractEntity(matRef);
96
+ if (matEntity) {
97
+ materialName = typeof matEntity.attributes?.[0] === 'string' ? matEntity.attributes[0] : undefined;
98
+ }
99
+ }
100
+ }
101
+ layers.push({
102
+ materialName,
103
+ thickness: typeof la[1] === 'number' ? la[1] : undefined,
104
+ isVentilated: la[2] === true || la[2] === '.T.',
105
+ name: typeof la[3] === 'string' ? la[3] : undefined,
106
+ category: typeof la[5] === 'string' ? la[5] : undefined,
107
+ });
108
+ }
109
+ return {
110
+ type: 'MaterialLayerSet',
111
+ name: typeof attrs[1] === 'string' ? attrs[1] : undefined,
112
+ description: typeof attrs[2] === 'string' ? attrs[2] : undefined,
113
+ layers,
114
+ };
115
+ }
116
+ case 'IFCMATERIALPROFILESET': {
117
+ // IfcMaterialProfileSet: [Name, Description, MaterialProfiles, CompositeProfile]
118
+ const profileIds = Array.isArray(attrs[2]) ? attrs[2].filter((id) => typeof id === 'number') : [];
119
+ const profiles = [];
120
+ for (const profId of profileIds) {
121
+ const profRef = store.entityIndex.byId.get(profId);
122
+ if (!profRef)
123
+ continue;
124
+ const profEntity = extractor.extractEntity(profRef);
125
+ if (!profEntity)
126
+ continue;
127
+ const pa = profEntity.attributes || [];
128
+ // IfcMaterialProfile: [Name, Description, Material, Profile, Priority, Category]
129
+ const matId = typeof pa[2] === 'number' ? pa[2] : undefined;
130
+ let materialName;
131
+ if (matId) {
132
+ const matRef = store.entityIndex.byId.get(matId);
133
+ if (matRef) {
134
+ const matEntity = extractor.extractEntity(matRef);
135
+ if (matEntity) {
136
+ materialName = typeof matEntity.attributes?.[0] === 'string' ? matEntity.attributes[0] : undefined;
137
+ }
138
+ }
139
+ }
140
+ profiles.push({
141
+ materialName,
142
+ name: typeof pa[0] === 'string' ? pa[0] : undefined,
143
+ category: typeof pa[5] === 'string' ? pa[5] : undefined,
144
+ });
145
+ }
146
+ return {
147
+ type: 'MaterialProfileSet',
148
+ name: typeof attrs[0] === 'string' ? attrs[0] : undefined,
149
+ description: typeof attrs[1] === 'string' ? attrs[1] : undefined,
150
+ profiles,
151
+ };
152
+ }
153
+ case 'IFCMATERIALCONSTITUENTSET': {
154
+ // IfcMaterialConstituentSet: [Name, Description, MaterialConstituents]
155
+ const constituentIds = Array.isArray(attrs[2]) ? attrs[2].filter((id) => typeof id === 'number') : [];
156
+ const constituents = [];
157
+ for (const constId of constituentIds) {
158
+ const constRef = store.entityIndex.byId.get(constId);
159
+ if (!constRef)
160
+ continue;
161
+ const constEntity = extractor.extractEntity(constRef);
162
+ if (!constEntity)
163
+ continue;
164
+ const ca = constEntity.attributes || [];
165
+ // IfcMaterialConstituent: [Name, Description, Material, Fraction, Category]
166
+ const matId = typeof ca[2] === 'number' ? ca[2] : undefined;
167
+ let materialName;
168
+ if (matId) {
169
+ const matRef = store.entityIndex.byId.get(matId);
170
+ if (matRef) {
171
+ const matEntity = extractor.extractEntity(matRef);
172
+ if (matEntity) {
173
+ materialName = typeof matEntity.attributes?.[0] === 'string' ? matEntity.attributes[0] : undefined;
174
+ }
175
+ }
176
+ }
177
+ constituents.push({
178
+ materialName,
179
+ name: typeof ca[0] === 'string' ? ca[0] : undefined,
180
+ fraction: typeof ca[3] === 'number' ? ca[3] : undefined,
181
+ category: typeof ca[4] === 'string' ? ca[4] : undefined,
182
+ });
183
+ }
184
+ return {
185
+ type: 'MaterialConstituentSet',
186
+ name: typeof attrs[0] === 'string' ? attrs[0] : undefined,
187
+ description: typeof attrs[1] === 'string' ? attrs[1] : undefined,
188
+ constituents,
189
+ };
190
+ }
191
+ case 'IFCMATERIALLIST': {
192
+ // IfcMaterialList: [Materials]
193
+ const matIds = Array.isArray(attrs[0]) ? attrs[0].filter((id) => typeof id === 'number') : [];
194
+ const materials = [];
195
+ for (const matId of matIds) {
196
+ const matRef = store.entityIndex.byId.get(matId);
197
+ if (!matRef)
198
+ continue;
199
+ const matEntity = extractor.extractEntity(matRef);
200
+ if (matEntity) {
201
+ const name = typeof matEntity.attributes?.[0] === 'string' ? matEntity.attributes[0] : `Material #${matId}`;
202
+ materials.push(name);
203
+ }
204
+ }
205
+ return {
206
+ type: 'MaterialList',
207
+ materials,
208
+ };
209
+ }
210
+ case 'IFCMATERIALLAYERSETUSAGE': {
211
+ // IfcMaterialLayerSetUsage: [ForLayerSet, LayerSetDirection, DirectionSense, OffsetFromReferenceLine, ...]
212
+ const layerSetId = typeof attrs[0] === 'number' ? attrs[0] : undefined;
213
+ if (layerSetId) {
214
+ return resolveMaterial(store, extractor, layerSetId, visited);
215
+ }
216
+ return null;
217
+ }
218
+ case 'IFCMATERIALPROFILESETUSAGE': {
219
+ // IfcMaterialProfileSetUsage: [ForProfileSet, ...]
220
+ const profileSetId = typeof attrs[0] === 'number' ? attrs[0] : undefined;
221
+ if (profileSetId) {
222
+ return resolveMaterial(store, extractor, profileSetId, visited);
223
+ }
224
+ return null;
225
+ }
226
+ default:
227
+ return null;
228
+ }
229
+ }
230
+ //# sourceMappingURL=material-resolver.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"material-resolver.js","sourceRoot":"","sources":["../src/material-resolver.ts"],"names":[],"mappings":"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"}